html {
  scroll-behavior: smooth;
}

* {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  position: relative;
  /* overflow: hidden; */
  animation: scroll 2.2s linear;

}

img {
  display: block;
  width: 100%;
}

section {
  position: relative;

  width: 100%;
  display: flex;
  justify-content: center;
  height: 100svh;
  /* overflow: hidden; */
}



.container {
  width: 100%;
  max-width: 1140px;
  position: relative;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.content {
  /* overflow: hidden; */
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wavy {
  --mask:
    radial-gradient(60.47px at 50% 82.5px, #000 99%, #0000 101%) calc(50% - 60px) 0/120px 51% repeat-x,
    radial-gradient(60.47px at 50% -52.5px, #0000 99%, #000 101%) 50% 30px/120px calc(51% - 30px) repeat-x,
    radial-gradient(60.47px at 50% calc(100% - 82.5px), #000 99%, #0000 101%) 50% 100%/120px 51% repeat-x,
    radial-gradient(60.47px at 50% calc(100% + 52.5px), #0000 99%, #000 101%) calc(50% - 60px) calc(100% - 30px)/120px calc(51% - 30px) repeat-x;
  -webkit-mask: var(--mask);
  mask: var(--mask);
}


footer {}



.section1 {
  overflow: hidden;
  z-index: 5;

  .content {
    width: 100%;
    place-content: center;
    place-items: center;
  }

  .bg {
    background-image: url(img/bg-02.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-animation: kenburns-top 3s ease-out both;
    animation: kenburns-top 2s ease-out both;

    /* border-image: linear-gradient(hsla(263, 100%, 65%, 0.2), hsla(27, 100%, 69%, 0.2), hsla(308, 100%, 66%, 0.2)) fill 1; */

  }

  .filter {
    position: absolute;
    background-color: #ffffff;
    width: 100%;
    height: 100%;
    opacity: 0.9;
    filter: blur(10px);
    animation: opacity 1s linear forwards;
  }

  .logo {
    width: 100%;
    /* border: 1px solid yellow; */
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;

    span {
      margin-top: 60%;
      color: #fff;
      line-height: 1;
      letter-spacing: -4px;
      filter: drop-shadow(6px 6px 4px #000) !important;

      font-family: 'QUWEN KING', sans-serif;




      font-size: clamp(2rem, 5vw + 5rem, 10rem);
    }




    .logo-img {
      display: flex;
      width: 50%;
      max-width: 500px;

      /* max-width: 500px; */

      img {
        width: 100%;
        filter: drop-shadow(6px 6px 6px #000);
        animation: slide-in-elliptic-bottom-fwd 0.6s 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;

        /* animation: slide-in-fwd-bl 0.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; */
      }
    }

    .logo-text {
      padding-top: 32px;
      text-align: center;
      /* margin: 0 auto; */
      width: 50%;
      max-width: 500px;
      display: flex;
      flex-direction: column;

      & span:first-child {
        animation: slide-in-blurred-right 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000),
          wobble-ver-left 0.8s 1s;
      }

      & span:last-child {
        animation: slide-in-blurred-right 0.6s 0.3s cubic-bezier(0.230, 1.000, 0.320, 1.000) both,
          wobble-ver-left 0.8s 1s;
      }

      span {
        color: #eea886;
        background: -webkit-linear-gradient(#7057ff 10%, #ff735a 65%, #ffc37e 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        line-height: 1;
        letter-spacing: -4px;
        filter: drop-shadow(6px 6px 4px #000) !important;
        font-family: 'New Super Mario Font U', sans-serif;
        font-size: clamp(2rem, 5vw + 3rem, 10rem);


      }
    }

  }
}

#S {
  animation: bounce-in-top 2s both;
}


.skewed {
  background: #000;
  z-index: 0;
  /* transform: skewY(2deg); */
  transform-origin: top right;
}

.section2 {
  background-image: url(img/bg-4.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  height: auto;
  padding: 64px 0 124px 0;

  border-image: linear-gradient(hsl(240 100% 20% / 0.6), hsl(0 100% 20% / 0.6)) fill 1;


  p {
    font-family: 'Lexend', sans-serif;
    color: #fff;

    &:not(:last-child) {
      margin-bottom: 30px;
    }
  }
}


.section3,
.section4 {
  max-height: 48vh;
}

.section3 {
  max-height: 40vh;
  overflow: hidden;
  background-color: #fff;
  background-image: url(img/bg-03.jpg);
  z-index: 6;
  padding: 24px 0;
  box-shadow: inset 0px 12px 0px #000, inset 0px -12px 0px #000;

  border-image: linear-gradient(hsl(240 100% 20% / 0.6), hsl(0 100% 20% / 0.6)) fill 1;


  &>img {
    position: absolute;
    width: 20%;
    margin: auto -4% auto 0;
    top: 0;
    bottom: 0;
    right: 0;
    max-width: 300px;
  }
}

.section4 {
  padding: 2px 0;
  background-image: url(img/bg-07.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  /* max-height: 60vh; */

  &>img {
    width: 20%;
    position: absolute;
    margin: auto 0 auto 10%;
    top: 0;
    bottom: 0;
    left: 0;
    max-width: 300px;
    filter: drop-shadow(6px 6px 6px #000);

  }
}


.ca {
  color: #000;
  place-items: center;
}

.spikes {
  position: relative;
  background: #fff;
  height: 50vh;
}

.spikes::after {
  content: '';
  position: absolute;
  right: 0;
  left: -0%;
  top: 100%;
  z-index: 10;
  display: block;
  height: 50px;
  background-size: 50px 100%;
  background-image: linear-gradient(135deg, #fff 25%, transparent 25%), linear-gradient(225deg, #fff 25%, transparent 25%);
  background-position: 0 0;
}

div.buttons-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 48px;

}

a {
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 4.8rem;
  height: 4.8rem;
  text-decoration: none;
  transition: all 1s;

  &:hover img {
    width: 5.8rem;
  }

  &:hover .icon {
    font-size: 2.8rem;
  }

  &:hover #buy-btn {
    font-size: 2.8rem;
  }
}

.kick {
  animation: bounce-in-top 1.1s both;

}

.btn {
  width: 4em;
  height: 4em;
  margin: 0.5em;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: white;
  outline: none;
  border: none;
  border-radius: 9999px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
  z-index: 1;
  overflow: hidden;
}



button.reverse {
  color: black;
}

button.reverse:hover {
  color: white;
}

.ball {
  -webkit-transition: all 0.1s ease-in-out;
  position: absolute;
  filter: drop-shadow(0 6px 2px #000000c2);

}

.icon {
  margin-top: 40px;

  -webkit-transition: all 0.3s ease-in-out;
  position: relative;
  font-size: 1.6rem;
  color: #fff;
  pointer-events: none;
  text-shadow: 3px 3px 4px #000;

}

h2 {
  color: #fbc50d;
  text-shadow: 3px 3px 0px #000;

  text-wrap: nowrap;
  text-align: center;
  margin: 48px 0;
  font-family: 'DANSON', sans-serif;
  font-family: 'Denk One', sans-serif;

  font-size: clamp(2rem, 4vw + 1rem, 4rem);

  &#follow {
    color: #fff;
    text-shadow: 3px 3px 0px #000;

  }
}

p {
  font-family: 'Onest', sans-serif;
  font-size: clamp(0.875rem, 1vw + 1rem, 2rem);
  text-align: center;
  text-wrap: pretty;
}

#ca {
  color: #fff;
  font-family: 'Onest', sans-serif;
  font-size: clamp(0.675rem, 3vw, 2rem);
  text-align: center;
  text-wrap: nowrap;
  margin-bottom: 32px;

}

#buy-btn {
  margin-top: 40px;
  position: relative;
  color: #fff;

  font-size: 1.8rem;
  font-family: 'DANSON', sans-serif;
  text-shadow: 2px 2px 1px #000;
  -webkit-transition: all 0.3s ease-in-out;


}

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

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

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

  30% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(-1000px);
    transform: translateX(-1000px);
    display: none;
  }
}

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

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

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

  30% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(1000px);
    transform: translateX(1000px);
    display: none;
  }
}

@-webkit-keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }

  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }

  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }

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

@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }

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

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

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes puff-in-bottom {
  0% {
    filter: drop-shadow(0 0 15px #ff42bf);

    -webkit-transform: scale(2);
    transform: scale(2);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-filter: blur(4px);
    filter: blur(4px);
    opacity: 0;
  }

  100% {
    filter: drop-shadow(0 0 15px #ff42bf);
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

@keyframes puff-in-bottom {
  0% {
    -webkit-transform: scale(2);
    transform: scale(2);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-filter: blur(4px);
    filter: blur(4px) drop-shadow(0 0 15px #ff42bf);
    opacity: 0;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-filter: blur(0px);
    filter: blur(0px) drop-shadow(0 0 15px #ff42bf);
    opacity: 1;
  }
}

@keyframes flicker {

  0%,
  18%,
  22%,
  25%,
  53%,
  57%,
  100% {
    filter: drop-shadow(0 0 15px #ff42bf)
  }

  20%,
  24%,
  55% {
    filter: unset
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-18 21:37:40
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation bounce-in-top
 * ----------------------------------------
 */

@keyframes bounce-in-top {
  0% {
    transform: translateY(-500px);
    animation-timing-function: ease-in;
    opacity: 1;
  }

  38% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;
  }

  55% {
    transform: translateY(-65px);
    animation-timing-function: ease-in;
    opacity: 1;

  }

  72% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;

  }

  81% {
    transform: translateY(-28px);
    animation-timing-function: ease-in;
    opacity: 1;

  }

  90% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;

  }

  95% {
    transform: translateY(-8px);
    animation-timing-function: ease-in;
    opacity: 1;

  }

  100% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;

  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-20 5:8:42
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-elliptic-bottom-fwd
 * ----------------------------------------
 */
@keyframes slide-in-elliptic-bottom-fwd {
  0% {
    transform: translateY(600px) rotateX(30deg) scale(0);
    transform-origin: 50% 100%;
    opacity: 0;
  }

  100% {
    transform: translateY(0) rotateX(0) scale(1);
    transform-origin: 50% -1400px;
    opacity: 1;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-20 5:12:50
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-fwd-bl
 * ----------------------------------------
 */
@keyframes slide-in-fwd-bl {
  0% {
    transform: translateZ(-1400px) translateY(800px) translateX(-1000px);
    opacity: 0;
  }

  100% {
    transform: translateZ(0) translateY(0) translateX(0);
    opacity: 1;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-20 5:19:28
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation wobble-ver-left
 * ----------------------------------------
 */
@keyframes wobble-ver-left {

  0%,
  100% {
    transform: translateY(0) rotate(0);
    transform-origin: 50% 50%;
  }

  15% {
    transform: translateY(-30px) rotate(-6deg);
  }

  30% {
    transform: translateY(15px) rotate(6deg);
  }

  45% {
    transform: translateY(-15px) rotate(-3.6deg);
  }

  60% {
    transform: translateY(9px) rotate(2.4deg);
  }

  75% {
    transform: translateY(-6px) rotate(-1.2deg);
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-7-20 5:26:59
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-blurred-right
 * ----------------------------------------
 */
@keyframes slide-in-blurred-right {
  0% {
    transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
    transform-origin: 0% 50%;
    filter: blur(40px);
    opacity: 0;
  }

  100% {
    transform: translateX(0) scaleY(1) scaleX(1);
    transform-origin: 50% 50%;
    filter: blur(0);
    opacity: 1;
  }
}


.add-scrolling {
  overflow: initial;
}

@media (max-width: 768px) {

  .section1 {

    .logo {
      flex-direction: column;
      height: 100%;
      justify-content: flex-end;
      padding-bottom: 64px;

      .logo-img {
        order: 2;
        justify-content: center;
        width: 90%;

        img {
          max-width: 300px;
        }
      }

      .logo-text {
        width: 100%;

        span {
          font-size: clamp(3.8rem, 5vw + 4rem, 10rem);
        }
      }
    }

  }

  .section3,
  .section4 {
    height: 40vh;

    &>img {
      display: none;

    }
  }

  .section3 {
    h2 {
      margin: 32px 0;
    }
  }

  .section4 {
    max-height: 40vh;
    background-size: auto;
    background-position: 80% bottom;



    h2 {
      margin-bottom: 16px;
    }
  }

  div.buttons-container {
    justify-content: flex-start;
    height: 100%;
    display: flex;
    text-align: center;
    gap: 16px;


  }

  a {
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 3.8rem;
    height: 3.8rem;
    text-decoration: none;
    transition: all 1s;

    &:hover img {
      width: 4.8rem;
    }

    &:hover .icon {
      font-size: 2.4rem;
    }

    &:hover #buy-btn {
      font-size: 2.4rem;
    }
  }

  .icon {
    -webkit-transition: all 0.3s ease-in-out;
    position: relative;
    font-size: 1.4rem;
    color: #fff;
    pointer-events: none;
    text-shadow: 3px 3px 4px #000;

  }

  footer {
    height: 3svh;
    display: flex;
    justify-content: center;
    align-items: center;

    #footer-p {
      font-size: 12px !important;
    }
  }
}