.page-subject-heading {
  text-align: center;
}

.hidden {
  visibility: hidden;
}

.center-content {
  text-align: center;
}

table {
  margin-left: auto;
  margin-right: auto;
}

#helpDiv {
  position: absolute;
  background-color: white;
  z-index: 2;
  top: 10%;
  left: 5%;
  width: 90%;
  border: 1px solid black;
  padding: 0px 4px 30px 4px;
}

#helpDiv>h1 {
  width: 100%;
  text-align: center;
}

#helpButtonDiv {
  position: absolute;
  bottom: 10px;
  width: 100%;
  display: grid;
  grid-template-columns: auto [button-start] 100px auto;
}

#closeHelpButton {
  grid-column-start: button-start;
}

.help-button {
  position: absolute;
  top: 100px;
  right: 20px;
  z-index: 1;
}

.card-container {
  font-size: 2rem;
  width: 18%;
  height: 150px;
  display: inline-block;
  margin: 0.25rem;
  cursor: pointer;
  box-shadow: 3px 3px 5px #888;
  perspective: 1000px;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 2s;
}

.card-container.flipped .card.front {
  transform: rotateY(180deg);
  transform: translateZ(2px);
}

.card {
  position: absolute;
  text-align: center;
  line-height: 4rem;
  border: 1px solid black;
  user-select: none;
  border-radius: 4px;
}

.card.front {
  background-color: white;
  transform: translateZ(1px);
  backface-visibility: hidden;
  width: 100%;
  height: 100%;
}

.red-card {
  color: red;
}

.black-card {
  color: black;
}

.card.back {
  background: radial-gradient(circle, #554499, #332255);
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

.card.back.flipped {
  transform: rotateY(180deg);
}

.card.back:not(.flipped) {
  transform: translateZ(2px);
}

.letter-tile-board {
  margin: 1rem auto auto auto;
  margin-top: 1rem;
  width: 45rem;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(20, 1fr);
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  /* border: 1px solid orange; */
}

.letter-tile {
  font-size: 2rem;
  width: 2rem;
  height: 3rem;
  display: inline-block;
  text-align: center;
  /* box-shadow: 3px 3px 5px #888; */
  border: 1px solid black;
  border-radius: 4px;
  line-height: 3rem;
  user-select: none;
  cursor: pointer;
}

.letter-tile.debug-tile {
  background-color: lightgray;
  ;
}

.letter-tile.cheated-tile {
  background-color: yellow;
}

.letter-tile.highlighted-tile {
  background-color: lightblue;
}

.letter-tile.start-tile {
  background-color: lightgreen;
}

.letter-tile.end-tile {
  background-color: orange;
}

.word-list {
  margin: 1rem auto auto auto;
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-column-gap: 20px;
}

.placed-word {
  cursor: pointer;
  user-select: none;
}

.placed-word.found-word {
  text-decoration: line-through;
}