@keyframes rotation-loader {
  0% {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

@-webkit-keyframes spinTo1 {
  0% {
    -webkit-transform: rotate(-44deg);
    transform: rotate(-44deg)
  }

  to {
    transform: rotate(1080deg)
  }
}

@-webkit-keyframes spinTo2 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1396deg)
  }
}

@-webkit-keyframes spinTo3 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1351deg)
  }
}

@-webkit-keyframes spinTo4 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1305deg)
  }
}

@-webkit-keyframes spinTo5 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1261deg)
  }
}

@-webkit-keyframes spinTo6 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1217deg)
  }
}

@-webkit-keyframes spinTo7 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1531deg)
  }
}

@-webkit-keyframes spinTo8 {
  0% {
    transform: rotate(-4deg)
  }

  to {
    transform: rotate(1485deg)
  }
}

@-webkit-keyframes spinner-win {

  0%,
  to {
    transform: rotate(1080deg)
  }

  50% {
    transform: rotate(1085deg)
  }
}

@keyframes flip {
  0% {
    transform: perspective(800px) scale3d(.85, .85, .85) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg) scaleY(-1);
    animation-timing-function: ease-out
  }

  40% {
    transform: perspective(800px) scale3d(.85, .85, .85) translate3d(0, 0, 150px) scaleY(-1) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out
  }

  50% {
    transform: perspective(800px) scale3d(.85, .85, .85) translate3d(0, 0, 150px) scaleY(-1) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in
  }

  80% {
    transform: perspective(800px) scale3d(.8, .8, .8) translate3d(0, 0, 0) scaleY(-1) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in
  }

  to {
    transform: perspective(800px) scale3d(.85, .85, .85) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg) scaleY(-1);
    animation-timing-function: ease-in
  }
}

@keyframes logo {
  50% {
    transform: scale(1.1)
  }
}

@-webkit-keyframes scaleButton {

  0%,
  to {
    transform: scale(1)
  }

  50% {
    transform: scale(.98)
  }
}

@-webkit-keyframes spinner {

  0%,
  to {
    -webkit-transform: rotate(-40deg);
    transform: rotate(-40deg)
  }

  50% {
    -webkit-transform: rotate(-44deg);
    transform: rotate(-44deg)
  }
}

@keyframes zoomInDown {
  0% {
    opacity: 0;
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(.55, .055, .675, .19)
  }

  60% {
    opacity: 1;
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(.175, .885, .32, 1)
  }
}

@keyframes headShake {

  0%,
  50% {
    transform: translateX(0)
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg)
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg)
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg)
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg)
  }
}

@-webkit-keyframes personAnimation {

  0%,
  95% {
    transform: scale(1) translateY(0) rotate(0deg)
  }

  35%,
  45% {
    transform: scale(1.2) translateY(-40px) rotate(5deg)
  }

  70%,
  75% {
    transform: scale(1.25) translateY(-70px) rotate(5deg)
  }
}

@-webkit-keyframes personSteamAnimationLeft {

  0%,
  95%,
  to {
    opacity: 0;
    transform: scale(0) translate(0, 0)
  }

  35%,
  45% {
    opacity: 1;
    transform: scale(.3) translate(0, 0)
  }

  70%,
  75% {
    transform: scale(1) translate(-18px, -23px);
    opacity: 1
  }

  85% {
    opacity: .5;
    transform: scale(1) translate(-18px, -23px)
  }
}

@-webkit-keyframes personSteamAnimationRight {

  0%,
  95%,
  to {
    opacity: 0;
    transform: scale(0) translate(0, 0)
  }

  35%,
  45% {
    opacity: 1;
    transform: scale(.3) translate(0, 0)
  }

  70%,
  75% {
    transform: scale(1) translate(24px, -25px);
    opacity: 1
  }

  85% {
    opacity: .5;
    transform: scale(1) translate(24px, -25px)
  }
}

@-webkit-keyframes translateXY {

  0%,
  to {
    transform: translateX(0) translateY(0)
  }

  50% {
    transform: translateX(-15px) translateY(15px)
  }
}

@keyframes rotateLeft {

  0%,
  to {
    transform: rotate(0deg)
  }

  50% {
    transform: rotate(-7deg)
  }
}

@keyframes rotateRight {

  0%,
  to {
    transform: rotate(0deg)
  }

  50% {
    transform: rotate(7deg)
  }
}

@keyframes salute {

  0%,
  to {
    transform: scale(1)
  }

  50% {
    transform: scale(1.03)
  }
}

@keyframes show-hide {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes animateWin {
  0% {
    transform: scaleY(-1) scale(.9)
  }

  to {
    transform: scaleY(-1) scale(1)
  }
}

* {
  margin: 0;
  padding: 0
}

*,
::after,
::before {
  box-sizing: border-box
}

ol[role=list],
ul[role=list] {
  list-style: none
}

html:focus-within {
  scroll-behavior: smooth
}

a {
  text-decoration: none !important
}

a:not([class]) {
  text-decoration-skip-ink: auto
}

canvas,
img,
picture,
svg,
video {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover
}

button,
input,
select,
textarea {
  font: inherit
}

@media (prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto
  }

  *,
  ::after,
  ::before {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
    transition: none
  }
}

body,
html {
  height: 100%;
  scroll-behavior: smooth
}

.hidden {
  display: none !important
}

.visible {
  display: flex !important
}

body {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  width: 100vw;
  min-height: 100vh;
  padding: 0;
  background-size: cover;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  font-size: 16px;
  font-style: normal;
  overflow: hidden
}

.bottom__section-button {
  min-width: 50px
}

.bottom__section-button span {
  height: auto
}

.bottom__section-button .button-loader {
  display: none
}

.bottom__section-button.is--link {
  display: flex;
  align-items: center;
  justify-content: center
}

.bottom__section-button.is--disabled {
  pointer-events: none
}

.bottom__section-button.is--disabled span {
  opacity: .2
}

.bottom__section-button.is--disabled .button-loader,
body {
  display: flex
}

.button-loader {
  position: absolute;
  align-items: center;
  justify-content: center;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.button-loader span {
  width: 30px !important;
  height: 30px !important;
  border: 4px solid #fff;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation-loader 1s linear infinite;
  opacity: 1 !important;
  margin-left: 0 !important;
  margin-right: 0 !important
}

.wheel__spinner_win_1 {
  animation: 3s spinTo1 ease-in-out forwards !important
}

.wheel__spinner_win_2 {
  animation: 3s spinTo2 ease-in-out forwards
}

.wheel__spinner_win_3 {
  animation: 3s spinTo3 ease-in-out forwards
}

.wheel__spinner_win_4 {
  animation: 3s spinTo4 ease-in-out forwards
}

.wheel__spinner_win_5 {
  animation: 3s spinTo5 ease-in-out forwards
}

.wheel__spinner_win_6 {
  animation: 3s spinTo6 ease-in-out forwards
}

.wheel__spinner_win_7 {
  animation: 3s spinTo7 ease-in-out forwards
}

.wheel__spinner_win_8 {
  animation: 3s spinTo8 ease-in-out forwards
}

.wheel__texts-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-right: 1em !important;
  padding-left: 2em !important
}

.wheel__texts-block p {
  transform: rotate(-7deg)
}

.wheel__texts-block p:only-child {
  transform: rotate(0deg)
}

.wheel__texts-block p+p {
  margin-top: 10px;
  transform: rotate(7deg)
}

.effects,
.effects__block {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.effects {
  position: absolute;
  z-index: 997;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  mix-blend-mode: screen
}

.effects__block {
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center;
  position: fixed
}

.wheel__texts-1,
.wheel__texts-2 {
  transform: rotate(-137deg);
  position: absolute;
  left: 11%;
  top: 23%
}

.wheel__texts-2 {
  transform: rotate(-93deg);
  left: 32%;
  top: 14%
}

.wheel__texts-3,
.wheel__texts-4 {
  transform: rotate(-45deg);
  position: absolute;
  left: 54%;
  top: 23%
}

.wheel__texts-4 {
  transform: rotate(-2deg);
  left: 63%;
  top: 44%
}

.wheel__texts-5,
.wheel__texts-6 {
  transform: rotate(43deg);
  position: absolute;
  left: 54%;
  top: 65%
}

.wheel__texts-6 {
  transform: rotate(87deg);
  left: 33%;
  top: 74%
}

.wheel__texts-7,
.wheel__texts-8 {
  transform: rotate(133deg);
  position: absolute;
  left: 11%;
  top: 66%
}

.wheel__texts-8 {
  transform: rotate(177deg);
  left: 2%;
  top: 45%
}

.win-animation-svg {
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(45deg);
  opacity: 0;
  width: 100%
}

.win-animation-svg.is--active {
  opacity: 1
}

.is--win-spinner {
  animation: 2s spinner-win ease-in-out infinite !important
}

body.is--winner .bottom__section {
  opacity: 0
}

.body-wrapper {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start
}

@media (max-width:991px) {
  .body-wrapper {
    background-image: url("page-bg-mobile.webp")
  }
}

#reels,
.reel>.icons {
  position: relative
}

#slot.inverted .reel {
  transform: scaleY(-1)
}

#slot.inverted .reel>.icons>img {
  transform: scaleY(-1) scale(.8)
}

#reels {
  display: flex;
  width: 79vw;
  height: 47.4vw;
  max-height: 520px;
  max-width: 870px;
  z-index: 1
}

@media (max-width:991px) {
  #reels {
    width: 88vw;
    height: 89vw;
    max-height: 89vw
  }
}

#reels:before,
.background {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%)
}

.background {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 2;
  background-image: url("frame.webp")
}

@media (max-width:991px) {
  .background {
    background-image: url("frame-mobile.webp");
    background-size: 100%
  }
}

#reels:before {
  content: "";
  top: 50%;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: linear-gradient(180deg, #2e0800 0, #450c00 49.5%, #2e0800 97.5%);
  background: linear-gradient(180deg, #1c001c 0, #7b0065 52.5%, #1c001c 100%)
}

#slot,
.reel {
  position: relative
}

#slot {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 970px;
  margin: 0 auto;
  flex-direction: column
}

.reel {
  overflow: hidden;
  width: 20%;
  height: 100%
}

@media (max-width:991px) {
  .reel {
    width: 33.333%
  }
}

.reel>.icons>img {
  width: calc(100% + 6px);
  margin: -3px 0 0 -3px;
  height: auto;
  max-width: none;
  transform: translate3d(0, 0, 0) scale(.9)
}

.icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

.is--winner .reel .icons img:nth-child(2) {
  transform: scaleY(-1);
  background-image: url("");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 130%;
  animation: 2s animateWin ease-in-out infinite
}

.is--modal-open #slot {
  opacity: 0;
  transition: opacity .3s
}

.body-wrapper {
  background-image: url("page-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  min-height: 100%;
  overflow: hidden;
  font-size: 80%
}

@media (max-width:767px) {
  .body-wrapper {
    background-image: url("page-bg-mobile.webp")
  }
}

@media (min-width:991px) and (max-height:840px) {
  .body-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100vw;
    height: 100vh
  }

  .body-inner {
    transform: scale(.85)
  }
}

.logo {
  max-width: 400px;
  width: 100%;
  animation: logo 6s infinite both alternate ease-in-out;
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 7
}

@media (max-width:767px) {
  .logo.is--desktop {
    display: none
  }
}

.logo.is--mobile {
  display: none
}

@media (max-width:767px) {
  .logo.is--mobile {
    display: block;
    max-width: 200px;
    margin-bottom: -50px;
    margin-top: 0
  }
}

@media (max-width:1920px) {
  html {
    font-size: 10px
  }
}

@media (max-width:1680px) {
  html {
    font-size: 9.5px
  }
}

@media (max-width:1560px) {
  html {
    font-size: 9px
  }
}

@media (max-width:1380px) {
  html {
    font-size: 8.5px
  }
}

@media (max-width:1200px) {
  html {
    font-size: 8px
  }
}

@media (max-width:992px) {
  html {
    font-size: 7.5px
  }
}

@media (max-width:880px) {
  html {
    font-size: 7px
  }
}

@media (max-width:780px) {
  html {
    font-size: 6.5px
  }
}

@media (max-width:700px) {
  html {
    font-size: 6px
  }
}

@media (max-width:600px) {
  html {
    font-size: 7px
  }

  .container {
    padding-top: 20px
  }
}

@media (max-width:530px) {
  html {
    font-size: 6.5px
  }
}

@media (max-width:480px) {
  html {
    font-size: 6px
  }
}

@media (max-width:440px) {
  html {
    font-size: 5.5px
  }
}

@media (max-width:400px) {
  html {
    font-size: 5.25px
  }
}

@media (max-width:380px) {
  html {
    font-size: 5px
  }
}

@media (max-width:350px) {
  html {
    font-size: 4.5px
  }
}

.bottom__section {
  z-index: 8;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 40px
}

@media (max-width:991px) {
  .bottom__section {
    bottom: 70px;
    left: 0;
    position: fixed
  }
}

.bottom__section-button {
  background: url("middle.png") repeat-x center center;
  background-size: contain;
  padding: 0;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 45px;
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  position: relative
}

@media (max-width:640px) {
  .bottom__section-button {
    font-size: 34px;
    height: 80px
  }
}

.bottom__section-button span {
  position: relative;
  z-index: 3;
  margin-left: -120px;
  margin-right: -120px;
  color: #fff;
  background: #003317;
  -webkit-background-clip: text;
  -webkit-text-stroke: 10px transparent;
  padding: 0 8px
}

@media (max-width:640px) {
  .bottom__section-button span {
    margin-left: -100px;
    margin-right: -100px
  }
}

.bottom__section-button:after,
.bottom__section-button:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 148px;
  background-size: contain;
  background-repeat: no-repeat
}

@media (max-width:640px) {

  .bottom__section-button:after,
  .bottom__section-button:before {
    width: 148px
  }
}

.bottom__section-button:before {
  left: -146px;
  background-image: url("left.png")
}

@media (max-width:640px) {
  .bottom__section-button:before {
    left: -120px
  }
}

.bottom__section-button:after {
  right: -146px;
  background-image: url("right.png")
}

@media (max-width:640px) {
  .bottom__section-button:after {
    right: -146px
  }
}

.bottom__section-button:focus {
  animation: .5s scaleButton ease-in-out forwards
}

.bottom__section-button.pulse {
  animation: .5s scaleButton ease-in-out infinite
}

.bottom__section-button-next,
.bottom__section-button.is--win-button {
  display: none
}

.bottom__section-button.is--win-button.visible {
  animation: 1s headShake ease-in-out infinite
}

html {
  font-size: 12px;
  background: #250005
}

img {
  width: 100%
}

.coin-rain {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 7
}

.coin {
  position: absolute;
  width: 60px;
  height: 60px;
  z-index: 9
}

@media (max-width:1699px) {
  @-webkit-keyframes personAnimation {

    0%,
    95%,
    to {
      transform: scale(.5) translateY(0) rotate(0deg)
    }

    35%,
    45% {
      transform: scale(.7) translateY(-40px) rotate(5deg)
    }

    70%,
    75% {
      transform: scale(.75) translateY(-70px) rotate(5deg)
    }
  }
}

@media (max-width:767px) {
  @-webkit-keyframes personAnimation {

    0%,
    95%,
    to {
      transform: scale(.3) translateY(0) rotate(0deg)
    }

    35%,
    45% {
      transform: scale(.5) translateY(-40px) rotate(5deg)
    }

    70%,
    75% {
      transform: scale(.55) translateY(-70px) rotate(5deg)
    }
  }
}

.modal,
.modal__container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  z-index: 998;
  transform: scale(0)
}

.modal__container {
  height: auto;
  background-image: url("modal-background.webp");
  background-position: center 40%;
  background-repeat: no-repeat;
  background-size: 40%;
  padding: 50px;
  position: relative;
  z-index: 2
}

@media (max-width:991px) {
  .modal__container {
    padding: 0;
    background-size: 100%
  }
}

.modal__text,
.modal__title-image {
  max-width: 1000px;
  margin-bottom: 30px
}

.modal__text {
  text-align: center;
  font-size: 48px;
  font-style: normal;
  line-height: normal;
  text-transform: uppercase;
  padding: 2px;
  background: #621200;
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
  color: #f7c66b;
  margin-bottom: 10px
}

@media (max-width:991px) {
  .modal__text {
    font-size: 20px;
    max-width: 90%;
    margin-bottom: 20px
  }
}

.modal__title {
  text-align: center;
  font-size: 80px;
  font-style: normal;
  line-height: normal;
  text-transform: uppercase;
  background: #fed500;
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
  color: #ff0100;
  margin-top: -20px;
  margin-bottom: 50px;
  padding: 3px;
  max-width: 1000px
}

@media (max-width:991px) {
  .modal__title {
    margin-bottom: 20px;
    font-size: 26px
  }
}

.modal__logo {
  max-width: 550px;
  display: none
}

.modal.is--active {
  transform: scale(1);
  transition: all .3s ease-in-out
}

.is--modal-open .bottom__section,
.is--modal-open .wheel {
  opacity: 0
}

.is--modal-open .bottom__section-button {
  display: flex
}

.is--modal-open .modal__logo {
  display: block
}

.is--modal-open .logo {
  display: none
}

.background {
  height: 118%;
  width: 112%;
  top: 50%
}

@media (max-width:991px) {
  .background {
    background-size: contain;
    height: 100%;
    left: 50%;
    top: 50%
  }
}

.left__person {
  left: 0
}

@media (min-width:991px) and (max-height:840px) {
  .left__person {
    left: -40%
  }
}

@media (max-width:767px) {
  .left__person {
    left: 50%;
    transform: translateX(-50%);
    font-size: 80%
  }
}

.left__person,
.right__person {
  position: fixed;
  bottom: 0;
  width: 100%;
  max-width: 32em;
  z-index: 4
}

@media (max-width:767px) {

  .left__person,
  .right__person {
    max-width: 38em;
    bottom: -2%
  }
}

.left__person .fire,
.right__person .fire {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  width: 10em;
  z-index: -1
}

.right__person {
  right: 0
}

@media (min-width:991px) and (max-height:840px) {
  .right__person {
    right: -40%
  }
}

@media (max-width:767px) {
  .right__person {
    display: none
  }
}

.volcane-amination {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  animation: 1s show-hide 1s infinite
}

.volcane-amination.is--next {
  animation: 1.2s show-hide 1s infinite;
  animation-delay: 2s
}

.volcane-coins {
  display: none;
  position: absolute;
  left: -3.3333333333em;
  top: calc(100% - 50em);
  width: 40em;
  height: 100%;
  z-index: 9;
  mix-blend-mode: screen
}

@media (max-width:767px) {
  .volcane-coins {
    left: 55%;
    transform: translateX(-50%);
    top: calc(100% - 40em)
  }
}

.volcane-coins.is--right {
  left: auto;
  right: -13.3333333333em
}

@media (max-width:767px) {
  .volcane-coins.is--right {
    display: none !important
  }
}

.is--modal-open .modal .logo.is--desktop,
.is--modal-open .volcane-coins {
  display: flex
}

@media (max-width:767px) {
  .is--modal-open .left__person {
    width: 50em;
    bottom: -12em;
    max-width: 50em
  }
}

.is--modal-open .modal .logo {
  max-width: 335.805px
}

@media (max-width:767px) {
  .is--modal-open .modal .logo.is--desktop {
    display: none
  }
}

.is--modal-open .modal .logo.is--mobile {
  display: none
}

@media (max-width:767px) {
  .is--modal-open .modal .logo.is--mobile {
    display: flex;
    max-width: 200px;
    margin-bottom: 0
  }
}

.bonus-inline.is--active {
  background: linear-gradient(to left, #feda74, #ff6a00)
}

.bonus-inline.is--active p {
  background: linear-gradient(90deg, #1fc99e 0, #1fc99e 100%);
  -webkit-background-clip: text
}

.bonus-inline.is--active svg path {
  stroke: #1fc99e
}