:root {
  --border-color: black;
  --mark-bg-color: lightgray;
  --base-color: white;
  --mark-font-color: darkslategrey;
  --base-font-color: darkslategrey;
  --font: "Comic Sans MS", "Comic Sans", arial;
*/
}
body {
  background-color: var(--base-color);
}

.box {
  border: 1px solid black;
}

/* caution:
 * overrides bootstrap gutters and offsets. use on specific targets
 * */
.div-center, .table-center {
  margin: auto;
}

.fake-valign {
  padding-top: 5px;
}

.game-mat {
  border: 3px solid var(--border-color);
  border-radius: 3px;
  overflow-y: hidden;
}

.base-font {
  color: var(--base-font-color);
  font-family: var(--font);
  font-size: 1.1em;
}

[class*="game-ctrl"] {
  border-radius: 3px;
  background-color: var(--mark-bg-color);
  border-color: var(--border-color);
}

.game-ctrl-btn {
  width: 8em;
}

.game-mat .mark-chooser-btn-disabled {
  cursor: not-allowed;
  color: var(--border-color);
}

[class*="square-"] {
  background-color: var(--mark-bg-color);
  border: 3px solid var(--border-color);
  border-radius: 3px;
}

.square-sm {
  height: 50px;
  width: 50px;
}

.square-lg {
  height: 100px;
  width: 100px;
  cursor: pointer;
}

[class*="mark-font"] {
  color: var(--mark-font-color);
  font-weight: bold;
}

.mark-font-sm {
  font-size: 1.5em;
}

.mark-font-lg {
  font-size: 4em;
}

.pad-bot {
  padding-bottom: 15px;
}

.game-board table {
  background-color: var(--border-color);
  border: 1px solid var(--border-color);
  border-collapse: separate;
  border-radius: 3px;
  border-spacing: 1px;
}

.score-board table {
  background-color: var(--border-color);
  border-collapse: separate;
  border-spacing: 2px;
}

.score-board th,
.score-board td {
  background-color: var(--mark-bg-color);
  color: var(--mark-font-color);
  width: 4em;
}

.game-title {
  color: var(--base-font-color);
  font-family: var(--font);
}
