@import url("fonts.css");

html,
body {
  height: 100%;
  width: 100%;
}

body {
  background: radial-gradient(
    27.03% 46.11% at 50% 53.89%,
    #020033 35.38%,
    #000000 100%
  );
  color: #fff;
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;

  @media (width < 541px) {
    background: radial-gradient(
        47.46% 47.46% at 50% 52.54%,
        rgba(59, 48, 105, 0.5) 20.78%,
        rgba(51, 49, 0, 0) 100%
      ),
      black;
  }
}

header {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
  display: flex;
  height: 0;
  user-select: none;

  & > div {
    display: flex;
    max-width: 1920px;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    margin: 0 auto;
    padding-top: calc(34px + (54 - 34) * ((100vw - 1440px) / (1920 - 1440)));
    padding-left: calc(
      140px + (381 - 140) * ((100vw - 1440px) / (1920 - 1440))
    );
    padding-right: calc(
      218px + (424 - 218) * ((100vw - 1440px) / (1920 - 1440))
    );

    @media (max-width: 1440px) {
      padding-left: 140px;
      padding-right: 218px;
      padding-top: 34px;
    }

    @media (min-width: 1920px) {
      padding-left: 381px;
      padding-right: 424px;
      padding-top: 54px;
    }

    @media (width <= 540px) {
      padding-left: 43px;
      padding-right: 10px;
      padding-top: 30px;
    }

    & > a {
      text-decoration: none;
      transition: 0.3s ease-in-out;
      -webkit-tap-highlight-color: transparent;

      &:active {
        transform: scale(1.3);
      }

      & > button {
        font-family: "MontserratSemiBold";
        font-weight: 600;
        font-size: 14px;
        line-height: 17.07px;
        border-radius: 36px;
        background-color: #fff;
        border: 2px solid #000000;
        outline: none;
        user-select: none;
        padding: 14px 20px;
        text-align: center;
        box-sizing: border-box;
        text-transform: uppercase;
        cursor: pointer;

        @media (width <= 540px) {
          margin-bottom: 15px;
          padding: 9px 20px;
          font-size: 10px;
          line-height: 12.19px;
        }
      }
    }
  }
}

.top {
  width: 100%;
  position: absolute;
}

.bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  z-index: 10;
  user-select: none;

  @media (width <= 540px) {
    display: none;
  }
}

#app {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
}

#app > .content {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  max-width: 1920px;
  margin: auto;
  position: relative;

  @media (width <= 540px) {
    overflow-y: auto;
    overflow-x: hidden;
  }
}

.content-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 27px;
  z-index: 4;
  justify-content: space-between;

  @media (width <= 540px) {
    flex-direction: column;
    gap: 17px;
    margin-top: 65px;
    height: unset;
  }
}

.fortune-wheel {
  width: 900px;
  height: 791px;
}

.result {
  width: 585px;
  display: flex;
  flex-direction: column;
  gap: 38px;
  z-index: 2;
  user-select: none;

  @media (width <= 540px) {
    gap: 15px;
    align-items: center;
  }
}

.result-top {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;

  @media (width <= 540px) {
    gap: 4px;
    max-width: 329px;
    align-items: center;
  }
}

.result-heading {
  font-family: "Dinpro";
  font-weight: 300;
  white-space: nowrap;
  font-size: 100px;
  line-height: 100px;
  letter-spacing: -5px;
  margin: 0;
  transform: scaleX(0.7);
  width: 100%;
  transform-origin: left center;
  text-align: left;

  @media (width <= 540px) {
    letter-spacing: -3px;
    font-size: 50px;
    line-height: 50px;
    text-align: unset;
    transform-origin: unset;
    width: unset;
  }
}

.result-text {
  font-family: "MontserratRegular";
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;

  @media (width <= 540px) {
    font-size: 12px;
    line-height: 14.63px;
    text-align: center;
  }
}

.levers {
  margin-left: 70px;
  margin-right: 47px;
  margin-top: 200px;

  @media (width < 1710px) {
    margin-top: 60px;
  }

  @media (width < 541px) {
    margin-top: 0;
    margin-bottom: -170px;
    z-index: 4;
  }

  &.disabled {
    pointer-events: none;
  }
}

.image-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 575px;
  height: 451px;
  border-radius: 10px;
  background-color: #fff;
  padding: 10px;
  gap: 26px;

  @media (width <= 1710px) {
    width: 550px;
  }

  @media (width <= 540px) {
    width: 267px;
    height: 230px;
    gap: 14px;
    padding: 5px;
  }

  & > .image {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    overflow: hidden;

    & > .meme-image2 {
      width: 100%;
      height: 100%;
      filter: blur(17.7px);
      position: absolute;
      z-index: 1;
    }

    & > .meme-image {
      width: 100%;
      height: 100%;
      object-fit: scale-down;
      position: absolute;
      z-index: 2;
    }
  }
}

.card-menu {
  display: flex;
  justify-content: flex-end;
  gap: 41px;

  @media (width <= 540px) {
    justify-content: space-between;
  }
}

.share {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;

  @media (width <= 540px) {
    justify-content: space-between;
  }
}

.share-text {
  font-family: "MontserratRegular";
  color: black;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;

  @media (width <= 540px) {
    font-size: 14px;
    line-height: 14px;
    text-align: right;
    max-width: 98px;
  }
}

.share__links {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}

.share-link {
  width: 20px;
  height: 20px;
}

.svg {
  fill: #160d35;
  transition: fill 0.2s ease-out;
}

.svg:hover {
  fill: #fcc51b;
}

.expand-button {
  background: url("expand.svg");
  border: none;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

h1 {
  margin: auto;
}

.snowflake {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

@media (max-height: 940px) and (min-width: 540px) {
  .result {
    gap: 14px;
  }

  .result-heading {
    font-size: 60px;
    line-height: 72px;
  }

  .result-text {
    line-height: 19.5px;
  }

  .image-card {
    height: 340px;
    flex-direction: row;
    gap: 15px;

    & > .image {
      height: 320px;
    }
  }

  .card-menu {
    flex-direction: column;
    justify-content: space-between;
  }

  .share {
    flex-direction: column;
  }

  .share-text {
    display: none;
  }

  .share__links {
    flex-direction: column;
  }
}

.mode {
  display: flex;
  gap: 7px;
  justify-content: center;
  align-items: center;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.lever-wrapper {
  width: 182px;
  height: 581px;
  border-radius: 97px;
  background: linear-gradient(180deg, #1b1535 0%, #0c0720 100%);
  z-index: 11;
}

.line {
  background: #571bfc6b;
  width: 18px;
  height: 398px;
  border-radius: 8px;
  z-index: 10;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%);
  transform: translate(-50%, 20%);
  position: absolute;
  left: -20px;
  z-index: 11;
}

.mode-text {
  font-family: "MontserratRegular";
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: #000000;
  width: fit-content;
}

.mode2-text {
  font-family: "MontserratRegular";
  font-size: 14px;
  font-weight: 400;
  line-height: 17.07px;
  color: #000000;
  width: fit-content;
}

.mode-lever {
  padding: 10px 0;
  transform: translate(-10%, -185%);
  position: absolute;
  left: -140px;
  z-index: 12;
  filter: drop-shadow(0px 0px 9.3px #120b5740);

  > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    width: 124px;
    height: 40px;
    border-radius: 30px;
  }
}

.mode-lever > div::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%);
  border-color: transparent transparent transparent white;
  border-width: 10px;
  border-style: solid;
}

.lever-text {
  font-family: "MontserratRegular";
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #9082ef;
  text-shadow: #1e06b6 0px -3px 9px;
  top: 7%;
  left: 50%;
  position: relative;
  transform: translate(-50%, -40%);
}

.lever-text span:last-child {
  font-family: "MontserratBold";
  font-weight: 700;
}

.lever {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 164px;
  height: 491px;
  border-radius: 88px;
  background: linear-gradient(180deg, #1b1535 0%, #0c0720 100%);
  z-index: 11;
  border: 5px solid #1b1434;
  position: relative;
  cursor: pointer;
  outline: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lever-2 {
  width: 124px;
  height: 217px;
  border-radius: 88px;
  background: linear-gradient(180deg, #080419 0%, #170f39 100%);
  z-index: 10;
  border: 5px solid #1b1434;
  position: relative;
}

.lever-3 {
  width: 96px;
  height: 169px;
  border-radius: 88px;
  border: 5px solid #1b1434;
  background: linear-gradient(180deg, #080419 0%, #170f39 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -41%);
  transition: transform 0.3s ease;
}

.lever-4 {
  width: 74px;
  height: 130px;
  border-radius: 88px;
  border: 5px solid #1b1434;
  background: linear-gradient(180deg, #080419 0%, #170f39 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -37%);
  transition: transform 0.3s ease;
}

.lever-5 {
  width: 28px;
  height: 28px;
  border-radius: 88px;
  border: 2px solid #443f5c;
  background: #000000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 80%);
  transition: transform 0.3s ease;
}

.lever-6 {
  width: 21px;
  height: 173px;
  position: absolute;
  transform: translate(-50%, -85%);
  top: 0%;
  left: 50%;
  background: linear-gradient(
    116.88deg,
    #7b7b88 16.7%,
    #ffffff 32.38%,
    #737373 78.41%
  );
  border-radius: 15px;
}

.circle-lever {
  width: 83px;
  height: 83px;
  background: #ff0000;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 0%;
  left: 50%;
  border-radius: 50%;
  overflow: hidden;
  z-index: 12;

  & > div {
    width: 41px;
    height: 41px;
    border-radius: 50%;
    background-color: #ff8989;
    position: absolute;
    top: 15px;
    left: 15px;
    transform: rotate(10.91deg);

    & > div {
      width: 69px;
      height: 69px;
      border-radius: 50%;
      background-color: #ff0000;
      position: absolute;
      top: 0px;
      left: 10px;
    }
  }

  &.drum {
    & > div {
      width: 18px;
      height: 18px;
      top: 6px;
      left: 6px;
      transform: rotate(30.91deg);

      & > div {
        width: 26px;
        height: 26px;
        left: 6px;
      }
    }
  }

  &.drum2 {
    & > div {
      width: 12px;
      height: 12px;
      top: 4px;
      left: 4px;
      transform: rotate(30.91deg);

      & > div {
        width: 16px;
        height: 16px;
        left: 4px;
      }
    }
  }

  &.drum3 {
    & > div {
      width: 7px;
      height: 7px;
      top: 3px;
      left: 3px;
      transform: rotate(48.29deg);

      & > div {
        width: 6px;
        height: 7px;
        left: 3px;
      }
    }
  }
}

.shadow-wpapper {
  width: 21px;
  height: 150px;
  overflow: hidden;
  position: relative;
  z-index: 9;
}

.shadow-1 {
  width: 21px;
  height: 24px;
  border-radius: 13px;
  background: #2121214d;
  position: absolute;
  top: 37%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.shadow-2 {
  width: 23px;
  height: 15px;
  border-radius: 13px;
  box-shadow: 0 8px 0 0 #2121214d;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 1710px) {
  .lever-wrapper {
    width: 134px;
    height: 450px;
  }

  .lever {
    width: 126px;
    height: 376px;
  }

  .lever-2 {
    width: 95px;
    height: 166px;
  }

  .lever-3 {
    width: 74px;
    height: 130px;
  }

  .lever-4 {
    width: 56px;
    height: 100px;
  }

  .lever-5 {
    width: 22px;
    height: 22px;
  }

  .lever-6 {
    height: 114px;
    width: 16px;
  }

  .shadow-1 {
    top: 38%;
    left: 38%;
    width: 18px;
    height: 12px;
  }

  .circle-lever {
    width: 63px;
    height: 63px;

    > div {
      width: 34px;
      height: 34px;

      > div {
        width: 53px;
        height: 53px;
      }
    }
  }

  .shadow-wpapper {
    width: 16px;
    height: 114px;
  }

  .line {
    height: 286px;
  }

  .mode-lever {
    padding: 1px 0;
  }

  .lever-text {
    font-size: 14px;
    line-height: 17px;
  }
}

/* анимка тени */
@keyframes moveUp-9 {
  0% {
    opacity: 1;
  }
  100% {
    top: 37%;
    opacity: 0;
  }
}

@keyframes moveUp-10 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 10%;
  }
}

.move-up-9 {
  animation: moveUp-9 0.3s forwards;
}
.move-up-10 {
  animation: moveUp-10 0.3s forwards;
}

@keyframes moveMiddleUp-9 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleUp-9 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      top: 38%;
      left: 47%;
    }
  }
}

@keyframes moveMiddleUp-10 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleUp-10 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      top: 88%;
    }
  }
}

.move-middle-up-9 {
  animation: moveMiddleUp-9 0.3s forwards;
}

.move-middle-up-10 {
  animation: moveMiddleUp-10 0.3s forwards;
}

@keyframes moveMiddleDown-9 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes moveMiddleDown-10 {
  0% {
    opacity: 1;
  }
  100% {
    box-shadow: 0 -8px 0 0 #2121214d;
    top: 5%;
    opacity: 0;
  }
}

.move-middle-down-9 {
  animation: moveMiddleDown-9 0.3s forwards;
}

.move-middle-down-10 {
  animation: moveMiddleDown-10 0.3s forwards;
}

@keyframes moveMiddleToFirst-9 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    top: 60%;
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleToFirst-9 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      top: 55%;
      left: 45%;
    }
  }
}

@keyframes moveMiddleToFirst-10 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
    box-shadow: 0 -8px 0 0 #2121214d;
    top: 5%;
  }
  100% {
    opacity: 1;
    box-shadow: 0 -8px 0 0 #2121214d;
    top: 10%;
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleToFirst-10 {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
      box-shadow: 0 -8px 0 0 #2121214d;
      top: 5%;
    }
    100% {
      opacity: 1;
      box-shadow: 0 -8px 0 0 #2121214d;
      top: 13%;
    }
  }
}

.move-middle-to-first-9 {
  animation: moveMiddleToFirst-9 0.3s forwards;
}

.move-middle-to-first-10 {
  animation: moveMiddleToFirst-10 0.3s forwards;
}

/* анимка вверх снизу */
@keyframes moveUp-3 {
  0% {
    transform: translate(-50%, -41%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveUp-4 {
  0% {
    transform: translate(-50%, -37%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveUp-5 {
  0% {
    transform: translate(-50%, 80%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveUp-6 {
  0% {
    top: 50%;
    height: 150px;
    transform: translate(-50%, 3%);
  }
  100% {
    top: 50%;
    height: 0px;
    transform: translate(-50%, -50%);
  }
}

@media (width < 1710px) {
  @keyframes moveUp-6 {
    0% {
      height: 114px;
      top: 50%;
      transform: translate(-50%, 3%);
    }
    100% {
      top: 50%;
      height: 0px;
      transform: translate(-50%, -50%);
    }
  }
}

@keyframes moveUp-7 {
  0% {
    transform: translate(-50%, 90%);
  }
  100% {
    transform: translate(-50%, -50%);
    top: 0%;
  }
}

@keyframes moveUp-8 {
  0% {
    transform: translate(-10%, 400%);
  }
  100% {
    transform: translate(-10%, 70%);
  }
}

.move-up-3 {
  animation: moveUp-3 0.3s forwards;
}

.move-up-4 {
  animation: moveUp-4 0.3s forwards;
}

.move-up-5 {
  animation: moveUp-5 0.3s forwards;
}

.move-up-6 {
  animation: moveUp-6 0.3s forwards;
}

.move-up-7 {
  animation: moveUp-7 0.3s forwards;
}

.move-up-8 {
  animation: moveUp-8 0.3s forwards;
}

/* анимка вверх с середины */

@keyframes moveMiddleUp-3 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -59%);
  }
}

@keyframes moveMiddleUp-4 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -63%);
  }
}

@keyframes moveMiddleUp-5 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -160%);
  }
}

@keyframes moveMiddleUp-6 {
  0% {
    top: 50%;
    height: 0px;
    transform: translate(-50%, -50%);
  }
  100% {
    top: 0%;
    height: 150px;
    transform: translate(-50%, -85%);
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleUp-6 {
    0% {
      top: 50%;
      height: 0px;
      transform: translate(-50%, -50%);
    }
    100% {
      top: 0%;
      height: 114px;
      transform: translate(-50%, -85%);
    }
  }
}

@keyframes moveMiddleUp-7 {
  0% {
    transform: translate(-50%, -50%);
    top: 0%;
  }
  100% {
    transform: translate(-50%, -30%);
  }
}

@keyframes moveMiddleUp-8 {
  0% {
    transform: translate(-10%, 70%);
  }
  100% {
    transform: translate(-10%, -185%);
  }
}

.move-middle-up-3 {
  animation: moveMiddleUp-3 0.3s forwards;
}

.move-middle-up-4 {
  animation: moveMiddleUp-4 0.3s forwards;
}

.move-middle-up-5 {
  animation: moveMiddleUp-5 0.3s forwards;
}

.move-middle-up-6 {
  animation: moveMiddleUp-6 0.3s forwards;
}

.move-middle-up-7 {
  animation: moveMiddleUp-7 0.3s forwards;
}

.move-middle-up-8 {
  animation: moveMiddleUp-8 0.3s forwards;
}

/* анимка сверху вниз на середину  */

@keyframes moveMiddleDown-3 {
  0% {
    transform: translate(-50%, -59%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveMiddleDown-4 {
  0% {
    transform: translate(-50%, -63%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveMiddleDown-5 {
  0% {
    transform: translate(-50%, -160%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveMiddleDown-6 {
  0% {
    top: 0%;
    height: 150px;
    transform: translate(-50%, -85%);
  }
  100% {
    top: 50%;
    height: 0px;
    transform: translate(-50%, -50%);
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleDown-6 {
    0% {
      top: 0%;
      height: 114px;
      transform: translate(-50%, -85%);
    }
    100% {
      top: 50%;
      height: 0px;
      transform: translate(-50%, -50%);
    }
  }
}

@keyframes moveMiddleDown-7 {
  0% {
    transform: translate(-50%, -30%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes moveMiddleDown-8 {
  0% {
    transform: translate(-10%, -185%);
  }
  100% {
    transform: translate(-10%, 70%);
  }
}

.move-middle-down-3 {
  animation: moveMiddleDown-3 0.3s forwards;
}

.move-middle-down-4 {
  animation: moveMiddleDown-4 0.3s forwards;
}

.move-middle-down-5 {
  animation: moveMiddleDown-5 0.3s forwards;
}

.move-middle-down-6 {
  animation: moveMiddleDown-6 0.3s forwards;
}

.move-middle-down-7 {
  animation: moveMiddleDown-7 0.3s forwards;
}

.move-middle-down-8 {
  animation: moveMiddleDown-8 0.3s forwards;
}

/* анимка с середины вниз */

@keyframes moveMiddleToFirst-3 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -41%);
  }
}

@keyframes moveMiddleToFirst-4 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, -37%);
  }
}

@keyframes moveMiddleToFirst-5 {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, 80%);
  }
}

@keyframes moveMiddleToFirst-6 {
  0% {
    top: 50%;
    height: 0px;
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(-50%, 3%);
    height: 150px;
  }
}

@media (width < 1710px) {
  @keyframes moveMiddleToFirst-6 {
    0% {
      height: 0px;
    }
    100% {
      transform: translate(-50%, 3%);
      height: 114px;
    }
  }
}

@keyframes moveMiddleToFirst-7 {
  0% {
    transform: translate(-50%, -50%);
    top: 0%;
  }
  100% {
    transform: translate(-50%, 100%);
  }
}

@keyframes moveMiddleToFirst-8 {
  0% {
    transform: translate(-10%, 70%);
  }
  100% {
    transform: translate(-10%, 400%);
  }
}

.move-middle-to-first-3 {
  animation: moveMiddleToFirst-3 0.3s forwards;
}

.move-middle-to-first-4 {
  animation: moveMiddleToFirst-4 0.3s forwards;
}

.move-middle-to-first-5 {
  animation: moveMiddleToFirst-5 0.3s forwards;
}

.move-middle-to-first-6 {
  animation: moveMiddleToFirst-6 0.3s forwards;
}

.move-middle-to-first-7 {
  animation: moveMiddleToFirst-7 0.3s forwards;
}

.move-middle-to-first-8 {
  animation: moveMiddleToFirst-8 0.3s forwards;
}

.mode-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 5px;
  width: 600px;
  position: relative;
}

.mode-2__text {
  font-family: "MontserratRegular";
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  width: fit-content;
  text-shadow: #1e06b6 0px -3px 9px;
  color: #9082ef;
}

.mode-2__text span:last-child {
  font-weight: 700;
}

.mode-2__line {
  display: flex;
  gap: 82px;
}

.mode-2__line > div {
  height: 8px;
  width: 1px;
  background-color: #9082efb2;
}

.mode-2__line > div:nth-child(2) {
  background: rgba(177, 165, 255, 1);
}

.slider {
  position: relative;
  width: 253px;
  height: 23px;
  background: linear-gradient(180deg, #080419 0%, #170f39 47.83%);
  border-radius: 88px;
  border: 1px solid #473977;
  box-shadow: 0px 1px 16.9px 0px #1e06b6de;
}

.slider-track {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px;
  transform: translateY(-50%);
  border-radius: 5px;
}

.slider-thumb {
  position: absolute;
  top: 50%;
  left: 0;
  width: 33px;
  height: 33px;
  background: linear-gradient(180deg, #ff5c5c 0%, #8c0303 100%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0px -3px 28.6px 0px #ff000096;
  transition: box-shadow 0.2s;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: left 0.3s ease;
}

.slider-thumb.no-transition {
  transition: none;
}

.slider-thumb__border {
  background: linear-gradient(180deg, #990000 0%, #ff0000 98%);
  width: 23px;
  height: 23px;
  border-radius: 50%;
}

.slider-thumb:hover {
  box-shadow: 0 0 15px rgba(255, 0, 0, 1);
}

.mode-2__mode {
  top: 14px;
  position: relative;
}

.mode-2__mode > div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  border-radius: 30px;
  transition: left 0.05s ease;
  padding: 6px 16px;
  box-sizing: border-box;
  margin-left: 2px;
}

.mode-2__mode.hidden {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.mode-2__mode.show {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.mode-2__mode > div::after {
  content: "";
  position: absolute;
  top: -15%;
  transform: translateY(-70%);
  border-color: transparent transparent white transparent;
  border-width: 10px;
  border-style: solid;
}

.drum {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  user-select: none;

  @media (width <= 540px) {
    order: 1;
    overflow: hidden;
    margin: auto;
  }

  & > .circle-drum {
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 30px;
    transform: rotate(-10.91deg);

    @media (width <= 540px) {
      width: 353px;
      height: 353px;
      right: 0;
      margin: auto;
      top: unset;
      bottom: -180px;
      transform: rotate(-18.29deg);
    }

    & > .drum-circles {
      display: flex;
      position: absolute;
      width: 100%;
      height: 100%;
      transform: rotate(-10.91deg);
      z-index: 3;

      & > .circle-lever {
        position: absolute;
        top: 50%;
        left: 50%;
      }
    }

    & > img {
      position: absolute;
      height: 100%;
      width: 100%;
      z-index: 1;

      &.drum {
        transition: transform 5s ease-out;
      }

      &.drum-border {
        z-index: 2;
      }
    }
  }
}

.arrow {
  position: absolute;
  top: 50%;
  max-width: 100px;
  max-height: 49px;
  width: 100%;
  height: 100%;
  z-index: 5;
  transition: 0.3s ease-in-out;

  @media (width < 541px) {
    transform: rotate(-40deg);
    max-width: 64px;
    max-height: 31px;
    right: 44px !important;
  }

  @media (width < 370px) {
    right: 37px !important;
  }
}

.btn {
  position: absolute;
  top: calc(50% - 55px);
  right: 0;
  left: 0;
  margin: auto;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(180deg, #ff5c5c 0%, #8c0303 100%);
  box-shadow: 0px -3px 28.6px 0px #ff000096;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  user-select: none;
  border: none;
  transition: 0.3s ease-in-out;
  -webkit-tap-highlight-color: transparent;

  @media (width < 1710px) {
    width: 130px;
    height: 130px;
    top: calc(50% - 36px);
    left: -80px;
  }

  @media (width < 541px) {
    width: 154px;
    height: 154px;
    top: 70%;
    left: 10px;
    font-size: 16px;
    line-height: 19.5px;
  }

  & > div {
    width: 158px;
    height: 158px;
    background: linear-gradient(0.75deg, #990000 -0.46%, #ff0000 95.82%);
    border-radius: 50%;
    align-content: center;

    @media (width < 1710px) {
      width: 118px;
      height: 118px;
    }

    @media (width < 541px) {
      width: 142px;
      height: 142px;
    }

    & > div {
      display: flex;
      flex-direction: column;
      gap: 3px;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;

      @media (width < 541px) {
        box-sizing: border-box;
        padding-bottom: 40px;
      }

      & > div {
        & > .icon {
          display: block;
          width: 36px;
          height: 35px;
          background-color: #fff;
          mask-repeat: no-repeat;
          mask-position: center;
          mask-size: 100%;
          mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzciIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjMzMTIgNy42MTIzNkMyNS43MjU3IDcuODczNjYgMjUuOTk3MyA4LjI3NjY1IDI2LjA4NjMgOC43MzI2N0MyNi4xNzUyIDkuMTg4NjkgMjYuMDc0MiA5LjY2MDM4IDI1LjgwNTUgMTAuMDQ0QzI1LjUzNjcgMTAuNDI3NiAyNS4xMjIyIDEwLjY5MTcgMjQuNjUzMSAxMC43NzgyQzI0LjE4NDEgMTAuODY0NiAyMy42OTg5IDEwLjc2NjQgMjMuMzA0MyAxMC41MDUxQzIxLjY0MjUgOS40MDY3OSAxOS42NTA1IDguODgwNzQgMTcuNjQ1NSA5LjAxMDc4QzE1LjY0MDUgOS4xNDA4MSAxMy43MzggOS45MTk0NSAxMi4yNDA5IDExLjIyMjZDMTAuNzQzOSAxMi41MjU4IDkuNzM4NTQgMTQuMjc4NiA5LjM4NDk3IDE2LjIwMThDOS4wMzEzOSAxOC4xMjQ5IDkuMzQ5OTcgMjAuMTA3NyAxMC4yODk5IDIxLjgzNDRDMTEuMjI5OSAyMy41NjExIDEyLjczNzIgMjQuOTMyMyAxNC41NzE3IDI1LjcyOTZDMTYuNDA2MiAyNi41MjY5IDE4LjQ2MjQgMjYuNzA0MyAyMC40MTI2IDI2LjIzMzdDMjIuMzYyOSAyNS43NjMxIDI0LjA5NSAyNC42NzE1IDI1LjMzMzIgMjMuMTMyN0MyNi41NzEzIDIxLjU5NCAyNy4yNDQyIDE5LjY5NjcgMjcuMjQ0NiAxNy43NDMxQzI3LjI0NDYgMTcuMjc5IDI3LjQzNDIgMTYuODMzOSAyNy43NzE4IDE2LjUwNTdDMjguMTA5MyAxNi4xNzc1IDI4LjU2NzIgMTUuOTkzMSAyOS4wNDQ2IDE1Ljk5MzFDMjkuNTIxOSAxNS45OTMxIDI5Ljk3OTggMTYuMTc3NSAzMC4zMTczIDE2LjUwNTdDMzAuNjU0OSAxNi44MzM5IDMwLjg0NDYgMTcuMjc5IDMwLjg0NDYgMTcuNzQzMUMzMC44NDQxIDIwLjQ3ODMgMjkuOTAyMSAyMy4xMzQ3IDI4LjE2ODYgMjUuMjg5MUMyNi40MzUyIDI3LjQ0MzQgMjQuMDEgMjguOTcxOCAyMS4yNzk0IDI5LjYzMDZDMTguNTQ4OSAzMC4yODk0IDE1LjY3MDEgMzAuMDQwOCAxMy4xMDE3IDI4LjkyNDRDMTAuNTMzMyAyNy44MDc5IDguNDIzMTcgMjUuODg3OSA3LjEwNzQyIDIzLjQ3MDNDNS43OTE2NiAyMS4wNTI2IDUuMzQ2MDIgMTguMjc2NCA1Ljg0MTQ4IDE1LjU4MzlDNi4zMzY5NSAxMi44OTE0IDcuNzQ1MDIgMTAuNDM3NiA5Ljg0MTM1IDguNjEzNEMxMS45Mzc3IDYuNzg5MjEgMTQuNjAxNyA1LjY5OTYxIDE3LjQwODggNS41MTgyQzIwLjIxNiA1LjMzNjc4IDIzLjAwNDkgNi4wNzM5OSAyNS4zMzEyIDcuNjEyMzZaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjQuNjE0MiAyMi4xMjg0QzI0LjQxNTEgMjIuMjUyMyAyNC4xOTI4IDIyLjMzNjggMjMuOTYwMSAyMi4zNzcyQzIzLjcyNzMgMjIuNDE3NSAyMy40ODg3IDIyLjQxMjkgMjMuMjU3OCAyMi4zNjM2QzIzLjAyNjggMjIuMzE0MyAyMi44MDgyIDIyLjIyMTIgMjIuNjE0MyAyMi4wODk3QzIyLjQyMDMgMjEuOTU4MiAyMi4yNTUgMjEuNzkwOSAyMi4xMjc1IDIxLjU5NzNDMjIuMDAwMSAyMS40MDM3IDIxLjkxMzIgMjEuMTg3NiAyMS44NzE3IDIwLjk2MTNDMjEuODMwMiAyMC43MzUgMjEuODM1IDIwLjUwMyAyMS44ODU3IDIwLjI3ODVDMjEuOTM2NCAyMC4wNTQgMjIuMDMyMSAxOS44NDE0IDIyLjE2NzQgMTkuNjUyOUMyMi4zMDI2IDE5LjQ2NDMgMjIuNDc0NyAxOS4zMDM2IDIyLjY3MzggMTkuMTc5N0wyOC45NDE0IDE1LjI4MjRDMjkuMzQzNSAxNS4wNDA1IDI5LjgyNzQgMTQuOTYyMSAzMC4yODg0IDE1LjA2NDJDMzAuNzQ5NSAxNS4xNjYzIDMxLjE1MDcgMTUuNDQwNyAzMS40MDUzIDE1LjgyOEMzMS42NiAxNi4yMTU0IDMxLjc0NzcgMTYuNjg0NiAzMS42NDk0IDE3LjEzNDNDMzEuNTUxMSAxNy41ODQgMzEuMjc0NyAxNy45NzggMzAuODggMTguMjMxMkwyNC42MTQyIDIyLjEyODRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzQuMjY5NyAyMS45NjA0QzM0LjQ1MzQgMjIuMzgyNCAzNC40NTk2IDIyLjg1NzYgMzQuMjg2OCAyMy4yODRDMzQuMTE0IDIzLjcxMDMgMzMuNzc2MSAyNC4wNTM4IDMzLjM0NTcgMjQuMjQwNkMzMi45MTUzIDI0LjQyNzQgMzIuNDI2NyAyNC40NDI1IDMxLjk4NDggMjQuMjgyOUMzMS41NDMgMjQuMTIzMiAzMS4xODMzIDIzLjgwMTQgMzAuOTgyOSAyMy4zODY2TDI4LjI2ODUgMTcuNDcxNkMyOC4xNjY3IDE3LjI2MSAyOC4xMDkyIDE3LjAzMjggMjguMDk5MiAxNi44MDA0QzI4LjA4OTMgMTYuNTY3OSAyOC4xMjcxIDE2LjMzNTggMjguMjEwNSAxNi4xMTc3QzI4LjI5MzkgMTUuODk5NyAyOC40MjExIDE1LjY5OTkgMjguNTg0OSAxNS41MzAyQzI4Ljc0ODYgMTUuMzYwNiAyOC45NDU1IDE1LjIyNDMgMjkuMTY0IDE1LjEyOTVDMjkuMzgyNiAxNS4wMzQ3IDI5LjYxODMgMTQuOTgzMiAyOS44NTc2IDE0Ljk3OEMzMC4wOTY4IDE0Ljk3MjggMzAuMzM0OCAxNS4wMTQxIDMwLjU1NzQgMTUuMDk5M0MzMC43ODAxIDE1LjE4NDYgMzAuOTgzIDE1LjMxMjIgMzEuMTU0MyAxNS40NzQ2QzMxLjMyNTcgMTUuNjM3MSAzMS40NjIgMTUuODMxMSAzMS41NTUzIDE2LjA0NTRMMzQuMjY5NyAyMS45NjA0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==");
          transition: 0.3s ease-in-out;
          box-shadow: 0px 0px 13px 0px #ffffff;

          @media (width < 1710px) {
            width: 27px;
            height: 27px;
          }

          @media (width < 541px) {
            width: 32px;
            height: 32px;
          }
        }
      }

      & > .text {
        max-width: 96px;
        text-transform: uppercase;
        color: #fff;
        font-family: "MontserratRegular";
        font-weight: 700;
        font-size: 16px;
        line-height: 19.5px;
        text-align: center;
        height: 40px;
        letter-spacing: 0.2px;

        @media (width < 1710px) {
          font-size: 14px;
          line-height: 17.07px;
        }

        @media (width < 541px) {
          letter-spacing: 0.5px;
        }
      }
    }
  }

  &.active {
    transform: scale(0.8);
    transition: 0.3s ease-in-out;

    & > div {
      transition: 0.3s ease-in-out;
    }
  }

  &:hover {
    background: linear-gradient(180deg, #ff8282 0%, #dc0505 100%);
    box-shadow: 0px -3px 28.6px 0px #ff4141;

    & > div {
      background: linear-gradient(0.75deg, #ff0000 -0.46%, #ff0000 95.82%);
    }
  }

  &.disabled {
    background: linear-gradient(180deg, #a23434 0%, #8c0303 100%);
    transition: 0.3s ease-in-out;
    pointer-events: none;

    & > div {
      transition: 0.3s ease-in-out;
      background: linear-gradient(180.39deg, #740101 1.93%, #ab0a0a 98.81%);

      & > div {
        & > div {
          filter: drop-shadow(0 0 13px #fff);

          & > .icon {
            animation: rotateAnime 1.8s linear infinite;
          }
        }
      }
    }
  }
}

@keyframes rotateAnime {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}

@keyframes arrowAnime {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(75deg);
  }
  20% {
    transform: rotate(55deg);
  }
  30% {
    transform: rotate(75deg);
  }
  40% {
    transform: rotate(55deg);
  }
  50% {
    transform: rotate(75deg);
  }
  60% {
    transform: rotate(55deg);
  }
  70% {
    transform: rotate(75deg);
  }
  80% {
    transform: rotate(55deg);
  }
  90% {
    transform: rotate(75deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes arrowAnimeMob {
  0% {
    transform: rotate(-40deg);
  }
  10% {
    transform: rotate(20deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(20deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(20deg);
  }
  60% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(20deg);
  }
  80% {
    transform: rotate(-10deg);
  }
  90% {
    transform: rotate(20deg);
  }
  100% {
    transform: rotate(-40deg);
  }
}

.mob-svet {
  position: absolute;
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(255, 212, 77, 0.3) 0%,
    rgba(51, 49, 0, 0) 100%
  );
  top: 200px;
  left: -150px;
  width: 310px;
  height: 310px;
}

.bubbles {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: contents;
  pointer-events: none;
  user-select: none;
}

.bubble {
  position: absolute;
  backdrop-filter: blur(10px);
  border-radius: 50%;
  animation: floatAndDrift 10s linear infinite;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.bubble:nth-child(1) {
  width: 336px;
  height: 336px;
  bottom: -336px;
  left: 10%;
  animation-duration: 8s;
  animation-delay: 0s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(
      30.14% 17.06% at 29.32% 11.9%,
      rgba(19, 12, 89, 1) 0%,
      rgba(0, 0, 1, 0.8) 100%
    );

  @media (width <= 540px) {
    width: 119.88px;
    height: 119.88px;
    bottom: -119.88px;
  }
}

.bubble:nth-child(2) {
  width: 336px;
  height: 336px;
  bottom: -336px;
  left: 20%;
  animation-duration: 9s;
  animation-delay: 2s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(
      30.14% 17.06% at 29.32% 11.9%,
      rgba(19, 12, 89, 1) 0%,
      rgba(0, 0, 1, 0.8) 100%
    );

  @media (width <= 540px) {
    width: 92px;
    height: 92px;
    bottom: -92px;
  }
}

.bubble:nth-child(3) {
  width: 212px;
  height: 212px;
  bottom: -212px;
  left: 30%;
  animation-duration: 7s;
  animation-delay: 4s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(159, 141, 35, 0.5) 96.91%
    ),
    radial-gradient(30.14% 17.06% at 29.32% 11.9%, #594f0c 0%, #000001 100%);

  @media (width <= 540px) {
    width: 92px;
    height: 92px;
    bottom: -92px;
  }
}

.bubble:nth-child(4) {
  width: 158px;
  height: 158px;
  bottom: -158px;
  left: 40%;
  animation-duration: 10s;
  animation-delay: 1s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(20.14% 40.06% at 80.32% 25.9%, #594f0c 0%, #000001 100%);

  @media (width <= 540px) {
    width: 119.88px;
    height: 119.88px;
    bottom: -119.88px;
  }
}

.bubble:nth-child(5) {
  width: 158px;
  height: 158px;
  bottom: -158px;
  left: 50%;
  animation-duration: 6s;
  animation-delay: 3s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(20.14% 40.06% at 80.32% 25.9%, #594f0c 0%, #000001 100%);

  @media (width <= 540px) {
    width: 119.88px;
    height: 119.88px;
    bottom: -119.88px;
  }
}

.bubble:nth-child(6) {
  width: 212px;
  height: 212px;
  bottom: -212px;
  left: 60%;
  animation-duration: 11s;
  animation-delay: 5s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(159, 141, 35, 0.5) 96.91%
    ),
    radial-gradient(30.14% 17.06% at 29.32% 11.9%, #594f0c 0%, #000001 100%);

  @media (width <= 540px) {
    width: 92px;
    height: 92px;
    bottom: -92px;
  }
}

.bubble:nth-child(7) {
  width: 336px;
  height: 336px;
  bottom: -336px;
  left: 70%;
  animation-duration: 8s;
  animation-delay: 6s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(
      30.14% 17.06% at 29.32% 11.9%,
      rgba(19, 12, 89, 1) 0%,
      rgba(0, 0, 1, 0.8) 100%
    );

  @media (width <= 540px) {
    width: 92px;
    height: 92px;
    bottom: -92px;
  }
}

.bubble:nth-child(8) {
  width: 336px;
  height: 336px;
  bottom: -336px;
  left: 80%;
  animation-duration: 9s;
  animation-delay: 7s;
  background: radial-gradient(
      50.08% 55.06% at 50% 44.94%,
      rgba(0, 0, 1, 0) 60.39%,
      rgba(46, 35, 159, 0.4) 96.91%
    ),
    radial-gradient(
      30.14% 17.06% at 29.32% 11.9%,
      rgba(19, 12, 89, 1) 0%,
      rgba(0, 0, 1, 0.8) 100%
    );

  @media (width <= 540px) {
    width: 119.88px;
    height: 119.88px;
    bottom: -119.88px;
  }
}

@keyframes floatAndDrift {
  0% {
    transform: translate(0, 0);
  }
  10% {
    opacity: 1;
  }
  25% {
    transform: translate(-20px, -30vh);
  }
  50% {
    transform: translate(20px, -60vh);
  }
  75% {
    transform: translate(-15px, -90vh);
  }
  100% {
    opacity: 1;
    transform: translate(0, -120vh);
  }
}
