:root {
  --c-r: 5px; /* corner radius */
  --s-w: 40%; /* santa width */
  --g-b-w: 60%; /* game board width */
  --font: "Roboto", sans-serif; /* font families */
}

html {
  min-height: 100vh;
  font-size: 16px;
  position: relative;
  font: var(--font);
}

html.show-modal {
  overflow: hidden;
}

body {
  /* background-color: darkblue; */
  background: #f1f4f6 url(../images/background.jpg) 0 100% repeat-x;
  min-height: 100vh;
  position: relative;
  font-size: 2rem;
  font-family: var(--font);
}

*:before,
*:after {
  font-family: var(--font);
}

#app {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  /* min-height: 100vh; */
  max-width: 990px;
  margin: 0 auto;
  align-items: center;
}

.buttons-holder {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
}

.button {
  transition: 0.4s all linear;
  display: inline-block;
  font: 700 1.4em/3em var(--font);
  padding: 0 2em;
  border: 0 none;
  border-radius: var(--c-r);
  /* box-shadow: 0 0 0px #00a0a0 inset; */
}

.button:hover {
  /* box-shadow: 0 0 10px #00a0a0 inset; */
  background-color: #00dbdb;
}

.popup-holder {
  z-index: 99;
}

.popup-holder:before {
  width: 100vw;
  height: 100vh;
  position: fixed;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.popup {
  /* , #game-version-select{ */
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50vw;
  height: 50vh;
  transform: translate(-50%, -50%);
  background: #0aa url("../images/popup-bg.png") 0 0 repeat;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  font-size: 1.2rem;
  border-radius: var(--c-r);
}

.popup-text-big {
  font-size: 2.5em;
  color: #fff;
  text-shadow: 1px 1px 2px #000;
}

.popup-text {
  font-size: 1em;
  color: #fff;
  text-shadow: 1px 1px 2px #000;
}

#top-bar {
  width: 100%;
  height: 60px;
  line-height: 60px;
  background-color: #b70000;
  display: flex;
  margin-bottom: 30px;
  color: #fff;
  font-weight: 700;
}

#scores-holder {
  width: var(--s-w);
  text-align: center;
}

#steps-holder {
  width: var(--g-b-w);
  text-align: center;
}

#santa {
  position: relative;
  width: var(--s-w);
  background: transparent url("../images/santa.png") 0 0 no-repeat;
  /* background-size: contain;s */
  min-height: 480px;
}

#question {
  position: absolute;
  top: 124px;
  max-width: 364px;
  width: 364px;
  margin: 0 auto;
  left: 17px;
  height: 155px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#question span {
  text-align: center;
}

#game-board {
  width: var(--g-b-w);
}

#answers-boxes-component {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  height: 500px;
  align-items: center;
}

.box-holder {
  width: 50%;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(circle at center, transparent, transparent);
}

.box-holder:hover {
  background: radial-gradient(circle at center, #fffee6, transparent);
}

.answer-box {
  background: transparent url("../images/gift.png") 50% 50% no-repeat;
  background-size: contain;
  color: #fff;
  height: 150px;
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;

  cursor: hand;
  cursor: pointer;
}

.answer-box.correct {
  background-image: url("../images/gift-correct.png");
}

.answer-box.incorrect {
  background-image: url("../images/gift-incorrect.png");
}

.answer-box span {
  padding-top: 40px;
  font: 900 30px/100px var(--font);
  text-shadow: 1px 1px 2px #000;

  user-select: none; /* supported by Chrome and Opera */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none;
}

.power {
  position: relative;
  height: 1em;
}

.power::after {
  content: "2";
  position: absolute;
  font-size: 0.6em;
  top: 0;
}

.root {
  display: inline-block;
  vertical-align: middle;
  border-top: 3px solid;
  border-left: 3px solid;
  transform: skew(-15deg);
  transform-origin: bottom left;
  margin: 0 10px;
  position: relative;
}

.root:before {
  content: "";
  position: absolute;
  bottom: 0;
  height: 40%;
  width: 5px;
  left: -5px;
  border-top: 3px solid;
  border-right: 3px solid;
  transform: skew(30deg);
  transform-origin: bottom right;
}

.radicand {
  display: inline-block;
  padding-left: 0.5em;
  transform: skew(15deg);
}

.high-scores-list {
  list-style-type: upper-roman;
}
