@charset "utf-8";

@font-face {
   font-family: 'Fredoka One';
   src: url('../fonts/FredokaOne-Regular.eot');
   src: local('Fredoka One Regular'), local('FredokaOne-Regular'),
      url('../fonts/FredokaOne-Regular.eot?#iefix') format("embedded-opentype"),
      url('../fonts/FredokaOne-Regular.woff') format("woff"),
      url('../fonts/FredokaOne-Regular.woff2') format("woff2"),
      url('../fonts/FredokaOne-Regular.ttf') format("truetype");
   font-weight: 400;
   font-style: normal;
   font-display: swap;
}

body {
   background: #000 url('../img/bg.webp') no-repeat top center / cover;
   font-family: 'Fredoka One', sans-serif;
   font-weight: 400;
   font-size: 16px;
   color: #fff;
   text-align: left;
   overflow-x: hidden;
   min-height: 100vh;
}

img {
   display: block;
}

.table {
   display: block;
   height: 464px;
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 5;
}

.table img {
   -o-object-fit: cover;
   object-fit: cover;
   -o-object-position: 50% 0%;
   object-position: 50% 0%;
   width: 100%;
   height: 100%;
}

.santas {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   overflow: hidden;
}

.santa {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 17.4vh;
   margin: auto;
   opacity: 0;
   max-width: 715px;
   width: 100%;
}

.santa.visible {
   opacity: 1;
}

.screen {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   min-height: 100vh;
   width: 100%;
   position: absolute;
   inset: 0;
   z-index: 10;
   overflow: hidden;
   -webkit-transform: scale(0);
   -ms-transform: scale(0);
   transform: scale(0);
}

.screen>* {
   line-height: 120%;
}

.first-screen {
   background-color: rgba(0, 0, 0, 0.9);
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-animation: firstScreenAnim 2.2s ease forwards;
   animation: firstScreenAnim 2.2s ease forwards;
}

.first-screen__img {
   max-width: 1049px;
   width: 100%;
}

.start-screen {
   -webkit-box-pack: end;
   -ms-flex-pack: end;
   justify-content: flex-end;
   padding-bottom: 9.2vh;
   -webkit-animation: startScreenAnim 0.8s ease 1.5s forwards;
   animation: startScreenAnim 0.8s ease 1.5s forwards;
}

.start-screen:before,
.popup:before {
   content: '';
   background: -o-radial-gradient(rgba(29, 23, 27, 0.71) 10%, rgba(29, 23, 27, 0) 70%);
   background: radial-gradient(rgba(29, 23, 27, 0.71) 10%, rgba(29, 23, 27, 0) 70%);
   border-radius: 50%;
   width: 714px;
   height: 713px;
   position: absolute;
   bottom: -30%;
   left: 19%;
}

.start-title {
   font-size: 48px;
   letter-spacing: -.6px;
   text-align: center;
   text-shadow: rgba(0, 0, 0, .5) 3px 0px 0px, rgba(0, 0, 0, .5) 2.83487px 0.981584px 0px,
      rgba(0, 0, 0, .5) 2.35766px 1.85511px 0px, rgba(0, 0, 0, .5) 1.62091px 2.52441px 0px,
      rgba(0, 0, 0, .5) 0.705713px 2.91581px 0px, rgba(0, 0, 0, .5) -0.287171px 2.98622px 0px,
      rgba(0, 0, 0, .5) -1.24844px 2.72789px 0px, rgba(0, 0, 0, .5) -2.07227px 2.16926px 0px,
      rgba(0, 0, 0, .5) -2.66798px 1.37182px 0px, rgba(0, 0, 0, .5) -2.96998px 0.42336px 0px,
      rgba(0, 0, 0, .5) -2.94502px -0.571704px 0px, rgba(0, 0, 0, .5) -2.59586px -1.50383px 0px,
      rgba(0, 0, 0, .5) -1.96093px -2.27041px 0px, rgba(0, 0, 0, .5) -1.11013px -2.78704px 0px,
      rgba(0, 0, 0, .5) -0.137119px -2.99686px 0px, rgba(0, 0, 0, .5) 0.850987px -2.87677px 0px,
      rgba(0, 0, 0, .5) 1.74541px -2.43999px 0px, rgba(0, 0, 0, .5) 2.44769px -1.73459px 0px,
      rgba(0, 0, 0, .5) 2.88051px -0.838247px 0px, 0px 4px 32px #8E0CB2;
   max-width: 766px;
   margin-bottom: 4.5vh;
   position: relative;
   z-index: 10;
}

.button {
   background: -o-linear-gradient(top, rgba(62, 228, 163, 0.6) 0%, rgba(43, 166, 236, 0.6) 100%);
   background: -webkit-gradient(linear, left top, left bottom, from(rgba(62, 228, 163, 0.6)), to(rgba(43, 166, 236, 0.6)));
   background: linear-gradient(180deg, rgba(62, 228, 163, 0.6) 0%, rgba(43, 166, 236, 0.6) 100%);
   border: 1px solid #fff;
   border-radius: 100px;
   -webkit-box-shadow: 0px 4px 17.6px 0px rgba(255, 255, 255, 0.25) inset;
   box-shadow: 0px 4px 17.6px 0px rgba(255, 255, 255, 0.25) inset;
   font-family: 'Fredoka One';
   font-size: 32px;
   color: #fff;
   text-transform: uppercase;
   text-align: center;
   text-shadow: rgb(18, 23, 23) 1px 0px 0px, rgb(18, 23, 23) 0.540302px 0.841471px 0px,
      rgb(18, 23, 23) -0.416147px 0.909297px 0px, rgb(18, 23, 23) -0.989992px 0.14112px 0px,
      rgb(18, 23, 23) -0.653644px -0.756802px 0px, rgb(18, 23, 23) 0.283662px -0.958924px 0px,
      rgb(18, 23, 23) 0.96017px -0.279415px 0px;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   height: 102px;
   width: 326px;
   position: relative;
   z-index: 10;
   -webkit-animation: btn 1.2s ease-in-out infinite alternate;
   animation: btn 1.2s ease-in-out infinite alternate;
}

.button:hover {
   -webkit-animation-play-state: paused;
   animation-play-state: paused
}

@-webkit-keyframes btn {
   100% {
      -webkit-transform: scale(1.2);
      transform: scale(1.2);
   }
}

@keyframes btn {
   100% {
      -webkit-transform: scale(1.2);
      transform: scale(1.2);
   }
}

.game-screen {
   padding: 1vh 0 19vh;
}

.game-screen.error {
   -webkit-animation: shake 0.5s;
   animation: shake 0.5s;
}

.level {
   font-size: 32px;
   letter-spacing: -.8px;
   text-shadow: rgb(18, 23, 23) 1px 0px 0px, rgb(18, 23, 23) 0.540302px 0.841471px 0px,
      rgb(18, 23, 23) -0.416147px 0.909297px 0px, rgb(18, 23, 23) -0.989992px 0.14112px 0px,
      rgb(18, 23, 23) -0.653644px -0.756802px 0px, rgb(18, 23, 23) 0.283662px -0.958924px 0px,
      rgb(18, 23, 23) 0.96017px -0.279415px 0px;
}

.timer {
   font-size: 72px;
   letter-spacing: 1px;
   text-shadow: rgb(18, 23, 23) 4px 0px 0px, rgb(18, 23, 23) 3.87565px 0.989616px 0px,
      rgb(18, 23, 23) 3.51033px 1.9177px 0px, rgb(18, 23, 23) 2.92676px 2.72656px 0px,
      rgb(18, 23, 23) 2.16121px 3.36588px 0px, rgb(18, 23, 23) 1.26129px 3.79594px 0px,
      rgb(18, 23, 23) 0.282949px 3.98998px 0px, rgb(18, 23, 23) -0.712984px 3.93594px 0px,
      rgb(18, 23, 23) -1.66459px 3.63719px 0px, rgb(18, 23, 23) -2.51269px 3.11229px 0px,
      rgb(18, 23, 23) -3.20457px 2.39389px 0px, rgb(18, 23, 23) -3.69721px 1.52664px 0px,
      rgb(18, 23, 23) -3.95997px 0.56448px 0px, rgb(18, 23, 23) -3.97652px -0.432781px 0px,
      rgb(18, 23, 23) -3.74583px -1.40313px 0px, rgb(18, 23, 23) -3.28224px -2.28625px 0px,
      rgb(18, 23, 23) -2.61457px -3.02721px 0px, rgb(18, 23, 23) -1.78435px -3.57996px 0px,
      rgb(18, 23, 23) -0.843183px -3.91012px 0px, rgb(18, 23, 23) 0.150409px -3.99717px 0px,
      rgb(18, 23, 23) 1.13465px -3.8357px 0px, rgb(18, 23, 23) 2.04834px -3.43574px 0px,
      rgb(18, 23, 23) 2.83468px -2.82216px 0px, rgb(18, 23, 23) 3.44477px -2.03312px 0px,
      rgb(18, 23, 23) 3.84068px -1.11766px 0px, rgb(18, 23, 23) 3.9978px -0.132717px 0px,
      0px 4px 24px #E7000B;
}

.error .timer {
   color: #E7000B;
}

.arrow {
   position: absolute;
   top: 14.5vh;
   left: 44.5%;
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   transform: translateX(-50%);
   height: 66px;
   max-width: 945px;
   width: 100%;
   opacity: 0;
}

.arrow.hidden {
   opacity: 0;
}

.arrow.visible {
   opacity: 1;
}

.arrow-bg {
   background: url('../img/arrow.webp') no-repeat center center / cover;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   width: 100%;
}

.arrow-ball {
   border: 1px solid #B5CCDB;
   border-radius: 50%;
   height: 24px;
   width: 24px;
   position: absolute;
   bottom: 0;
   left: 0;
   opacity: 0;
}

.arrow.visible .arrow-ball {
   -webkit-animation: show-ball 0.7s ease-out .2s forwards;
   animation: show-ball 0.7s ease-out .2s forwards;
}

@-webkit-keyframes show-ball {
   0% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 0;
   }

   10% {
      opacity: 1;
   }

   60% {
      -webkit-transform: translate(2000%, -190%);
      transform: translate(2000%, -190%);
      opacity: 1;
   }

   100% {
      -webkit-transform: translate(3846%, 29%);
      transform: translate(3846%, 29%);
      opacity: 0;
   }
}

@keyframes show-ball {
   0% {
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 0;
   }

   10% {
      opacity: 1;
   }

   60% {
      -webkit-transform: translate(2000%, -190%);
      transform: translate(2000%, -190%);
      opacity: 1;
   }

   100% {
      -webkit-transform: translate(3846%, 29%);
      transform: translate(3846%, 29%);
      opacity: 0;
   }
}

.arrow-ball.orange {
   background: #F08A27
}

.arrow-ball.yellow {
   background: #E6DE26
}

.arrow-ball.bluelight {
   background: #31DAB9
}

.arrow-ball.green {
   background: #3EF447
}

.arrow-ball.red {
   background: #F73133
}

.arrow-ball.pink {
   background: #F54BD3
}

.arrow-ball.purple {
   background: #8B23F4
}

.arrow-ball.blue {
   background: #2F3AF6
}

.game-wrap {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: start;
   -ms-flex-align: start;
   align-items: flex-start;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   margin-top: auto;
   width: 100%;
   padding: 0 10.3vw 0 4.3vw;
   position: relative;
   z-index: 1;
}

.flasks-list {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   gap: 12px;
   max-width: 343px;
   margin-top: 1.2vh;
}

.flasks-list.bigger {
   max-width: 414px;
}

.flask {
   max-width: 59px;
   position: relative;
   cursor: pointer;
}

.flask.hide {
   cursor: default;
}

.flask.hide:before {
   content: '';
   position: absolute;
   inset: 0;
   background: url('../img/empty.webp') no-repeat center center / cover;
}

.ref-wrap {
   position: relative;
}

.big-flask-list {
   height: 400px;
   width: 251px;
   position: relative;
}

.big-flask {
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
   height: 100%;
   width: 100%;
}

.big-flask.visible {
   opacity: 1;
}

.formula-wrap {
   background: -o-linear-gradient(top, rgba(255, 255, 255, 0.4) 0%, rgba(153, 153, 153, 0.4) 100%);
   background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.4)), to(rgba(153, 153, 153, 0.4)));
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(153, 153, 153, 0.4) 100%);
   border: 2px solid #121717;
   border-radius: 16px;
   padding: 23px 9px 16px;
   position: absolute;
   top: 42%;
   left: 50%;
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   transform: translateX(-50%);
   width: -webkit-max-content;
   width: -moz-max-content;
   width: max-content;
}

.formula-title {
   display: block;
   font-size: 32px;
   letter-spacing: -.5px;
   text-shadow: rgb(18, 23, 23) 1px 0px 0px, rgb(18, 23, 23) 0.540302px 0.841471px 0px,
      rgb(18, 23, 23) -0.416147px 0.909297px 0px, rgb(18, 23, 23) -0.989992px 0.14112px 0px,
      rgb(18, 23, 23) -0.653644px -0.756802px 0px, rgb(18, 23, 23) 0.283662px -0.958924px 0px,
      rgb(18, 23, 23) 0.96017px -0.279415px 0px;
   margin-bottom: 20px;
}

.formula-list {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
}

.formula-item {
   border: 1px solid #B5CCDB;
   border-radius: 50%;
   font-size: 32px;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   height: 48px;
   width: 48px;
}

.orange {
   background: -o-radial-gradient(50% 50%, 50% 50%, #F08A27 0%, #8A4F16 100%);
   background: radial-gradient(50% 50% at 50% 50%, #F08A27 0%, #8A4F16 100%);
}

.yellow {
   background: -o-radial-gradient(50% 50%, 50% 50%, #E6DE26 0%, #DBAB3F 100%);
   background: radial-gradient(50% 50% at 50% 50%, #E6DE26 0%, #DBAB3F 100%);
}

.bluelight {
   background: -o-radial-gradient(50% 50%, 50% 50%, #31DAB9 0%, #14A09A 100%);
   background: radial-gradient(50% 50% at 50% 50%, #31DAB9 0%, #14A09A 100%);
}

.green {
   background: -o-radial-gradient(50% 50%, 50% 50%, #3EF447 0%, #07AF00 100%);
   background: radial-gradient(50% 50% at 50% 50%, #3EF447 0%, #07AF00 100%);
}

.red {
   background: -o-radial-gradient(50% 50%, 50% 50%, #F73133 0%, #911D1E 100%);
   background: radial-gradient(50% 50% at 50% 50%, #F73133 0%, #911D1E 100%);
}

.pink {
   background: -o-radial-gradient(50% 50%, 50% 50%, #F54BD3 0%, #8F2C7B 100%);
   background: radial-gradient(50% 50% at 50% 50%, #F54BD3 0%, #8F2C7B 100%);
}

.purple {
   background: -o-radial-gradient(50% 50%, 50% 50%, #8B23F4 0%, #51148E 100%);
   background: radial-gradient(50% 50% at 50% 50%, #8B23F4 0%, #51148E 100%);
}

.blue {
   background: -o-radial-gradient(50% 50%, 50% 50%, #2F3AF6 0%, #1C2290 100%);
   background: radial-gradient(50% 50% at 50% 50%, #2F3AF6 0%, #1C2290 100%);
}

.popup {
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   padding: 5vh 0 9.3vh;
}

.popup-title {
   font-size: 72px;
   letter-spacing: 1px;
   text-shadow: rgb(18, 23, 23) 4px 0px 0px, rgb(18, 23, 23) 3.87565px 0.989616px 0px,
      rgb(18, 23, 23) 3.51033px 1.9177px 0px, rgb(18, 23, 23) 2.92676px 2.72656px 0px,
      rgb(18, 23, 23) 2.16121px 3.36588px 0px, rgb(18, 23, 23) 1.26129px 3.79594px 0px,
      rgb(18, 23, 23) 0.282949px 3.98998px 0px, rgb(18, 23, 23) -0.712984px 3.93594px 0px,
      rgb(18, 23, 23) -1.66459px 3.63719px 0px, rgb(18, 23, 23) -2.51269px 3.11229px 0px,
      rgb(18, 23, 23) -3.20457px 2.39389px 0px, rgb(18, 23, 23) -3.69721px 1.52664px 0px,
      rgb(18, 23, 23) -3.95997px 0.56448px 0px, rgb(18, 23, 23) -3.97652px -0.432781px 0px,
      rgb(18, 23, 23) -3.74583px -1.40313px 0px, rgb(18, 23, 23) -3.28224px -2.28625px 0px,
      rgb(18, 23, 23) -2.61457px -3.02721px 0px, rgb(18, 23, 23) -1.78435px -3.57996px 0px,
      rgb(18, 23, 23) -0.843183px -3.91012px 0px, rgb(18, 23, 23) 0.150409px -3.99717px 0px,
      rgb(18, 23, 23) 1.13465px -3.8357px 0px, rgb(18, 23, 23) 2.04834px -3.43574px 0px,
      rgb(18, 23, 23) 2.83468px -2.82216px 0px, rgb(18, 23, 23) 3.44477px -2.03312px 0px,
      rgb(18, 23, 23) 3.84068px -1.11766px 0px, rgb(18, 23, 23) 3.9978px -0.132717px 0px,
      0px 4px 24px #6FFFA5;

}

.win-button span {
   margin-left: 5px;
}

.final-text {
   font-size: 48px;
   letter-spacing: -.5px;
   text-shadow: rgba(0, 0, 0, .5) 3px 0px 0px, rgba(0, 0, 0, .5) 2.83487px 0.981584px 0px,
      rgba(0, 0, 0, .5) 2.35766px 1.85511px 0px, rgba(0, 0, 0, .5) 1.62091px 2.52441px 0px,
      rgba(0, 0, 0, .5) 0.705713px 2.91581px 0px, rgba(0, 0, 0, .5) -0.287171px 2.98622px 0px,
      rgba(0, 0, 0, .5) -1.24844px 2.72789px 0px, rgba(0, 0, 0, .5) -2.07227px 2.16926px 0px,
      rgba(0, 0, 0, .5) -2.66798px 1.37182px 0px, rgba(0, 0, 0, .5) -2.96998px 0.42336px 0px,
      rgba(0, 0, 0, .5) -2.94502px -0.571704px 0px, rgba(0, 0, 0, .5) -2.59586px -1.50383px 0px,
      rgba(0, 0, 0, .5) -1.96093px -2.27041px 0px, rgba(0, 0, 0, .5) -1.11013px -2.78704px 0px,
      rgba(0, 0, 0, .5) -0.137119px -2.99686px 0px, rgba(0, 0, 0, .5) 0.850987px -2.87677px 0px,
      rgba(0, 0, 0, .5) 1.74541px -2.43999px 0px, rgba(0, 0, 0, .5) 2.44769px -1.73459px 0px,
      rgba(0, 0, 0, .5) 2.88051px -0.838247px 0px, 0px 4px 32px #8E0CB2;
   text-align: center;
   max-width: 775px;
   margin: 0 auto;
   padding: 0 20px;
   position: relative;
}

@-webkit-keyframes firstScreenAnim {
   0% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }

   68% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }

   99% {
      -webkit-transform: scale(2);
      transform: scale(2);
      opacity: 0;
   }

   100% {
      display: none;
   }
}

@keyframes firstScreenAnim {
   0% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }

   68% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }

   99% {
      -webkit-transform: scale(2);
      transform: scale(2);
      opacity: 0;
   }

   100% {
      display: none;
   }
}

@-webkit-keyframes startScreenAnim {
   0% {
      opacity: 0;
   }

   100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }
}

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

   100% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 1;
   }
}

.screen.visible {
   -webkit-transform: scale(1);
   -ms-transform: scale(1);
   transform: scale(1);
   -webkit-transition: -webkit-transform .3s ease-in-out;
   transition: -webkit-transform .3s ease-in-out;
   -o-transition: transform .3s ease-in-out;
   transition: transform .3s ease-in-out;
   transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.screen.hidden {
   display: none;
}

@-webkit-keyframes shake {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }

   25% {
      -webkit-transform: translateX(-5px);
      transform: translateX(-5px);
   }

   50% {
      -webkit-transform: translateX(5px);
      transform: translateX(5px);
   }

   75% {
      -webkit-transform: translateX(-5px);
      transform: translateX(-5px);
   }

   100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
}

@keyframes shake {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }

   25% {
      -webkit-transform: translateX(-5px);
      transform: translateX(-5px);
   }

   50% {
      -webkit-transform: translateX(5px);
      transform: translateX(5px);
   }

   75% {
      -webkit-transform: translateX(-5px);
      transform: translateX(-5px);
   }

   100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
}