/*
See README for license.
*/
@font-face {
  font-family: museo-sans-rounded;
  src: url(https://use.typekit.net/af/096cfd/00000000000000000000f306/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3) format("woff2"), url(https://use.typekit.net/af/096cfd/00000000000000000000f306/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3) format("woff"), url(https://use.typekit.net/af/096cfd/00000000000000000000f306/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3) format("opentype");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  font-display: auto;
}
@font-face {
  font-family: museo-sans-rounded;
  src: url(https://use.typekit.net/af/cb7c34/00000000000000000000f308/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3) format("woff2"), url(https://use.typekit.net/af/cb7c34/00000000000000000000f308/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3) format("woff"), url(https://use.typekit.net/af/cb7c34/00000000000000000000f308/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3) format("opentype");
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  font-display: auto;
}
/*
See README for license.
*/
@keyframes AnswerButtonOutlineBlink {
  0% {
    border-color: rgba(67, 160, 71, 0);
  }
  28.6%, 57.1%, 85.7% {
    border-color: rgba(67, 160, 71, 0.1);
  }
  14.3%, 42.9%, 71.4%, 100% {
    border-color: #43a047;
  }
}
@keyframes MoveToNextRound {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(-100%);
  }
  50.0001% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes MoveToNextRoundLast {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-100%);
  }
}
/*
See README for license.
*/
html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

body {
  color: #333333;
  font-size: 1.2rem;
  user-select: none;
  font-family: museo-sans-rounded, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: linear-gradient(#f27272 0%, #fbd69e 100%);
}

button, #exit-btn {
  min-width: 8rem;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  padding: 10px 20px;
  border: none;
  border-radius: 25px;
  color: white;
  line-height: 20px;
  font-size: 100%;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

#exit-btn {
  min-width: unset;
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 300;
  background-color: #fc8900;
  text-decoration: none;
}

/*
See README for license.
*/
#info-container {
  max-width: 470px;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  padding: 20px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto;
  z-index: 100;
  background-color: #fef9f8;
  border-radius: 20px;
  color: #f07475;
  font-size: 1rem;
  text-align: center;
}
#info-container:not(.open) {
  display: none;
}
#info-container[data-section="1"] #info-section-2, #info-container[data-section="2"] #info-section-1 {
  display: none;
}
#info-container h1 {
  font-size: 1.4em;
}
#info-container #info-instructions {
  font-weight: bold;
  line-height: 150%;
}
#info-container #info-level-selector {
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px;
  justify-content: space-evenly;
  align-items: center;
  margin: 0 20px;
}
#info-container #info-level-selector button:nth-of-type(1) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="1"] button:nth-of-type(1) {
  color: white;
  background-color: #43a047;
}
#info-container #info-level-selector button:nth-of-type(2) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="2"] button:nth-of-type(2) {
  color: white;
  background-color: #f89406;
}
#info-container #info-level-selector button:nth-of-type(3) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="3"] button:nth-of-type(3) {
  color: white;
  background-color: #d93620;
}
#info-container #info-level-selector button:nth-of-type(4) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="4"] button:nth-of-type(4) {
  color: white;
  background-color: #792772;
}
#info-container #info-level-selector button:nth-of-type(5) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="5"] button:nth-of-type(5) {
  color: white;
  background-color: #522171;
}
#info-container #info-level-selector button:nth-of-type(6) {
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  color: black;
  background-color: #e0e0e0;
}
#info-container #info-level-selector[data-level="6"] button:nth-of-type(6) {
  color: white;
  background-color: #310e48;
}
#info-container #info-level-selector .info-level-selector-description {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333333;
}
#info-container button {
  padding: 10px 30px;
}
#info-container button:hover {
  filter: brightness(1.2);
}
#info-container button#info-next-btn, #info-container button#info-start-btn {
  background-color: #43a047;
}
#info-container button#info-back-btn {
  background-color: #f89406;
}
#info-container button#info-back-btn, #info-container button#info-start-btn {
  margin: 50px auto 0 auto;
}

/*
See README for license.
*/
#results-container {
  min-width: 310px;
  max-width: 470px;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto;
  padding: 20px;
  overflow: hidden;
  background-color: rgb(254, 249, 248);
  border-radius: 20px;
}
#results-container:not(.open) {
  display: none;
}
#results-container #results-header-section {
  width: calc(100% - 80px);
  margin: -20px;
  padding: 60px;
  background: linear-gradient(#fbd69e 0%, #f27272 100%);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  color: white;
  text-align: center;
}
#results-container #results-stats-grid {
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: auto auto;
}
#results-container #results-stats-grid .results-stats-item {
  line-height: 200%;
  padding-bottom: 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#results-container #results-stats-grid .results-stats-item:nth-child(even) {
  text-align: right;
}
#results-container #results-stats-grid .results-stats-item#results-stats-difficulty-label, #results-container #results-stats-grid .results-stats-item#results-stats-correct-label {
  background-repeat: no-repeat;
  background-size: 27px;
  padding-left: 35px;
  background-position-y: 4px;
}
#results-container #results-stats-grid .results-stats-item#results-stats-difficulty-label {
  background-image: url(https://www.muistipuisto.fi/foramen/assets/img/icon-vaikeustaso.svg);
}
#results-container #results-stats-grid .results-stats-item#results-stats-correct-label {
  background-image: url(https://www.muistipuisto.fi/foramen/assets/img/icon-oikein.svg);
}
#results-container #results-continue-btn {
  width: 100%;
  background-color: #43a047;
}
#results-container #results-continue-btn:hover {
  filter: brightness(1.2);
}

/*
See README for license.
*/
:root {
  --answer-btn-anim-duration: 1s;
  --next-round-anim-duration: 2s;
}

#game-board {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 30px;
  display: grid;
  grid-template-rows: auto auto auto;
}
#game-board:not(.visible) {
  display: none;
}
#game-board.next-round-anim:not(.last-round) {
  animation: MoveToNextRound var(--next-round-anim-duration) ease-in-out;
}
#game-board.last-round {
  transform: translateX(-100%);
}
#game-board.next-round-anim.last-round {
  animation: MoveToNextRoundLast calc(var(--next-round-anim-duration) / 2) ease-in;
}
#game-board #game-play-guide {
  max-width: min(980px, 85%);
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  padding: 15px;
  margin: 20px auto;
  background-color: #fff7f8;
  border-radius: 20px;
  color: #f07475;
  font-size: 85%;
  font-weight: bold;
  text-align: center;
  text-overflow: ellipsis;
}
#game-board #game-play-btn {
  display: block;
  margin: auto auto;
  width: 209px;
  height: 209px;
  border-radius: 100%;
  transition: filter 0.2s ease-in-out;
  text-align: center;
  line-height: 209px;
  color: white;
  background-color: #f27272;
}
#game-board #game-play-btn:not(.available) {
  cursor: not-allowed;
  filter: grayscale(0.4);
}
#game-board #game-play-btn.available:hover {
  cursor: pointer;
  filter: brightness(1.2);
}
#game-board #game-answer-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
#game-board #game-answer-container .game-answer-btn {
  padding: 10px 12px;
  margin: 10px 20px;
  background-color: #f27373;
  border: 4px solid transparent;
  border-radius: 10px;
  color: #fef9f8;
  transition: box-shadow 0.1s ease-in-out, border-color calc(var(--answer-btn-anim-duration) / 7) ease-in;
}
#game-board #game-answer-container .game-answer-btn.correct {
  animation: AnswerButtonOutlineBlink var(--answer-btn-anim-duration);
  border-color: #43a047;
}
#game-board #game-answer-container .game-answer-btn.incorrect {
  border-color: #d93620;
}
#game-board #game-answer-container.available .game-answer-btn:hover {
  box-shadow: 0px 1px 3px #333333;
  cursor: pointer;
}

#sound-container, audio {
  display: none;
}

/*
See README for license.
*/

/*# sourceMappingURL=style.css.map */
