

@keyframes fadein {
  0% {
    opacity: 0;
  }
}

@keyframes incorrectLetter {
  0% {
    color: black;
  }
  60% {
    color: #aa0000;
    transform: scale(1.2);
  }
  100% {
    color: #aa0000;
    transform: scale(1);
  }
}
@keyframes correctLetter {
  0% {
    color: black;
  }
  60% {
    color: green;
  }
  100% {
    color: black;
  }
}
.advertisement {
  width: 912px;
  /*border: 10px solid #2677BC;*/
  box-sizing: border-box;
}
body {
  display: flex;
  justify-content: center;
  margin: 0px;
}
.header {
  display: flex;
}
.header>img {
  width: 243px;
  height: 110px;
  margin-right: 57px;
}
.titleContainer {
  flex: 1;
  display: flex;
  justify-content: center;
}
.titleAndDate {
  color: #2677BC;
  font-family: "Roboto Condensed", sans-serif;
  animation: fadein 1s ease;
}
.titleAndDate>h1 {
  text-align: center;
  margin-bottom: 0px;
  letter-spacing: -1px;
}
.titleAndDate>p {
  text-align: center;
  margin-top: 3px;
  font-size: 18px;
}
#puzzleContainer {
  display: inline-flex;
  position: relative;
  animation: fadein 1s ease;
}
#puzzleContainer.settingsOpened>div:not(#settings) {
  pointer-events: none;
}
#clues {
  width: 309px;
  height: 603px;
  display: flex;
  flex-direction: column;
  font-family: "Roboto", sans-serif;
}
.adsNotLoaded #clues {
  opacity: 0;
}
.adsNotLoaded #puzzle {
  opacity: 0;
}
.modalOpened #clues {
  pointer-events: none;
}
#clues>div {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#clues>div>div {
  flex: 1;
  overflow-y: scroll;
  overflow-x: hidden;
  position: relative;
  scroll-behavior: smooth;
  overscroll-behavior: contain;
}
#clues>div>div::-webkit-scrollbar-track {
  background: transparent;
}
#clues>div>div::-webkit-scrollbar {
  width: 11px;
}
#clues>div>div::-webkit-scrollbar-thumb {
  background-color: #2677BC;
  border-radius: 6px;
  border: 2px solid white;
}
.modalOpened #clues>div>div::-webkit-scrollbar-track {
  background: #333;
}
.modalOpened #clues>div>div::-webkit-scrollbar-thumb {
  background-color: #000;
  border-color: #333;
}
.clue {
  padding: 5px 10px;
  margin: 0px;
  margin-left: 9px;
  cursor: pointer;
  transition: background-color 0.1s ease;
  user-select: none;
}
.modalOpened .clue {
  background-color: #333;
}
.clue:nth-child(2n+1) {
  background-color: #eee;
}
.modalOpened .clue:nth-child(2n+1) {
  background-color: #282828;
}
.clue:hover {
  background-color: #f9c48d;
}
.clue.selected {
  background-color: #ffda26;
}
.modalOpened .selected {
  background-color: #332;
}
.clue.secondarySelected {
  background-color: #fff1be;
}
.modalOpened .secondarySelected {
  background-color: #36362c;
}
.clue>span {
  font-weight: bold;
  margin-right: 10px;
}

#clues>div>h3 {
  top: 0px;
  margin: 0px;
  padding: 10px 15px;
  background-color: #2677BC;
  width: calc(100% - 20px);
  cursor: default;
  user-select: none;
  color:white;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  border-radius: 9px 0px 0px 9px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.modalOpened #clues>div>h3 {
  background-color: #112231;
  color: #333;
}

#puzzle {
  width: 600px;
  height: 600px;
  display: flex;
  flex-direction: column;
  border: 1.5px solid black;
  animation: fadein 1s ease;
}
.modalOpened #puzzle {
  pointer-events: none;
}
.currentClueContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112px;
}
#currentClue {
  font-family: "Roboto", sans-serif;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  display: block;
  max-width: 600px;
  animation: fadein 1s ease;
}
.row {
  padding:0;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: row;
}

.tile {
  border: 1px solid black;
  flex: 1;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  cursor: pointer;
  font-weight: bold;
  padding-top:5px;
  padding-left:2px;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  transition: background-color 0.1s ease;
  position: relative;
}
.modalOpened .tile {
  background-color: #333;
}
.tile[cluenumber]::after {
  content: attr(cluenumber);
  font-family: "Roboto Condensed", sans-serif;
  font-size: 12px;
  position: absolute;
  left: 2px;
  top: 2px;
  color: black;
}

.tile.block {
  background-color: black;
  cursor: default;
}
.tile:not(.highlighted):not(.block):hover {
  background-color: #f9c48d;
}
.tile.highlighted {
  background-color: #ffda26;
}
.modalOpened .tile.highlighted {
  background-color: #332;
}
.tile.clueHighlighted {
  background-color: #fff1be;
}
.modalOpened .tile.clueHighlighted {
  background-color: #36362c;
}
.tile.incorrectLetter {
  color: #aa0000;
  animation: incorrectLetter 0.5s ease;
}
.tile.hinted {
  color: grey;
}
.modalOpened .tile.hinted {
  color: #222;
}
.tile.correctPulse {
  animation: correctLetter 0.5s ease;
}
.buttons {
  display: flex;
  justify-content: center;
}
.buttons>button {
  background-color: #2578BB;
  font-family: "Roboto Condensed", sans-serif;
  border: none;
  color: white;
  font-weight: bold;
  font-size: 18px;
  border-radius: 5px;
  padding: 15px;
  margin-right: 15px;
  transition: color 0.1s ease, background-color 0.1s ease;
  display: block;
  box-shadow: #2e4d66 1px 1px 10px -4px;
}
.buttons>button:hover {
  color: #d9d9d9;
  background-color: #21669f;
}
.buttons>button:active {
  color: #B3B3B3;
  background-color: #1C5483;
}
#settingsButton {
  padding: 5px 13px;
}
#settingsButton>svg {
  fill: white;
}
#settingsButton:hover>svg {
  fill: #d9d9d9;
}
#settingsButton:active {
  fill: #B3B3B3;
}
/* #checkLetters {
  background-image: url(/assets/POPCWrevealErrorsUp.png);
  background-size: contain;
  width: 177px;
  height: 70px;
}
#checkLetters:active {
  background-image: url(/assets/POPCWrevealErrorsDown.png);
} */
.modal {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 3px solid #2677BC;
  background-color: #fff;
  color: black;
  width: 240px;
  font-family: "Roboto Condensed", sans-serif;
  transition: opacity 0.25s ease;
  opacity: 0;
  pointer-events: none;
	border-radius: 8px;
	overflow: hidden;
}
.modal.opened {
  opacity: 1;
  pointer-events: all;
}
.modal .subtitle {
	font-size: 20px;
	font-weight: bold;
	margin: 5px 0px;
}
.modal .body {
	font-size: 19px;
}
.modal .hr {
	border-top: 2px solid #ccc;
	position: relative;
	left: -14px;
	width: 228px;
	height: 0px;
	padding: 0px;
}
.modal h2 {
	background-color: #2677BC;
	color: white;
	margin: 0px;
	padding: 5px 12px;
  /* Fixes a weird aliasing bug */
  border: 2px solid #2677BC;
}
.modal>div {
	  padding: 10px 15px;
}
.modal input {
	appearance: none;
	border: 2px solid #2677BC;
	width: 20px;
	height: 20px;
	vertical-align: middle;
  position: relative;
  top: -1px;
	margin-right: 6px;
}
.modal input:before {
	content: "✔";
	font-weight:bold;
	font-size: 16px;
	font-family: "Roboto";
	color: white;
	opacity: 0;
	position: absolute;
	top: -4px;
	left: 1px;
}
.modal input:checked {
	background-color: #2677BC;
}
.modal input:checked:before {
	opacity: 1;
}
#settings .skipFilledLabel {
	margin: 7px 0px 10px 0px;
}
.modal>div>p {
	margin: 12px 0px;
}
.modal a {
	color: #2677BC;
	font-weight: bold;
}
.modal button {
	background-color: #2677BC;
	border: 0;
	color: white;
	padding: 10px 25px;
	border-radius: 8px;
	font-size: 16px;
	font-family: "Roboto Condensed", sans-serif;
	font-weight: bold;
	margin-top: 3px;
	margin-bottom: 5px;
	border: 1px solid #2677BC;
	margin-right: 10px;
	height: 43px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.modal button:hover {
	color: #d9d9d9;
  background-color: #21669f;
}
.modal button:active {
	color: #B3B3B3;
  background-color: #1C5483;
}
.modal button.warn {
	border: 3px solid #d35d5d;
	color: #d35d5d;
	background-color: white;
	box-sizing: border-box;
	vertical-align: bottom;
}
.modal button.warn:hover {
	border-color: #d35d5d;
	color: white;
	background-color: #d35d5d;
}
.modal button.warn:active {
	color: #B3B3B3;
	border-color: #a74c4c;
  background-color: #a74c4c;
}
#reveal .body {
	margin-top: 5px;
}
.appPromotion {
  width: 900px;
  margin-top: 40px;
  position: relative;
}
.appPromotion>img:first-child {
  width: 900px;
}
.appStore.google {
  left: 40px;
}
.appStore.apple {
  left: 314px;
}
.appStore.amazon {
  left: 567px;
}
.appStore {
  position: absolute;
  top: 14px;
}
.appStore>img {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 67px;
}
.appStore>img:last-child {
  opacity: 0;
}
.appStore:active>img:last-child {
  opacity: 1;
}
