body.no-scroll {
  overflow: hidden;
  height: 100vh;
  width: 100vw;
}

.main-container {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  transition: opacity 1s ease, visibility 1s ease;
  opacity: 1;
  visibility: visible;
  z-index: 99999;
  overflow: hidden;
  transition: opacity 0.8s ease;
}

.main-container.hide {
  opacity: 0;
  visibility: hidden;
}

.main-container.fade-out {
  opacity: 0;
}

/* Circles */
.circle {
  position: absolute;
  width: 230vh;
  height: 230vh;
  border-radius: 50%;
  animation-fill-mode: forwards;
}

.circle1 {
  background-color: #d5c7bb79;
  top: -155vh;
  right: -80vw;
  z-index: 1;
}

.circle2 {
  background-color: #efe6df6b;
  top: -121vh;
  right: -80vw;
  z-index: 2;
}

@keyframes moveCircle1 {
  0% {
    top: -155vh;
    right: -80vw;
    background-color: #d5c7bb79;
  }
  70% {
    top: 70vh;
    right: 80vw;
    background-color: #00ff4862;
  }
  100% {
    top: 120vh;
    right: 120vw;
    background-color: #00ff4880;
  }
}

@keyframes moveCircle2 {
  0% {
    top: -121vh;
    right: -80vw;
    background-color: #efe6df6b;
  }
  70% {
    top: 80vh;
    right: 80vw;
    background-color: #2e9dff56;
  }
  100% {
    top: 100vh;
    right: 120vw;
    background-color: #2e9dff77;
  }
}

/* Background Reveal */
.reveal-div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: linear-gradient(to top, #2e9eff, #ffffff);
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  z-index: 5;
}

.reveal-div.active {
  opacity: 1;
  visibility: visible;
}

/* Intro Text */
.intro-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: black;
  z-index: 6;
  transition: color 1s ease, opacity 0.5s ease;
  opacity: 1;
}

.intro-text.active {
  color: white;
}

.intro-text.fade-out {
  opacity: 0;
}

.intro-text.fade-in {
  opacity: 1;
}

.intro-text h2 {
  font-size: 3rem;
  margin-bottom: 0.5rem;
}

.intro-text p {
  font-size: 1.2rem;
  letter-spacing: 2px;
}

/* Animated spans */
.animate-span {
  display: inline-block;
  font-size: 60px;
  line-height: 70px;
  margin: 0 10px;
  opacity: 1;
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0);
  }
}

/* css wave  */
/* // best seen at 1500px or less */

.wave-section {
  overflow: hidden;
  padding-top: 30vh !important;
  position: relative;
}

figure.wp-block-kadence-image.wave-1 img {
  /* position: absolute; */
  /* top: -175px; */
  /* width: 200vw !important; */
  /* height: 100vh; */
  object-fit: cover;
}

figure.wp-block-kadence-image.wave-1,
figure.wp-block-kadence-image.wave-2 {
  position: absolute;
  top: -28vh;
  width: 5000px !important;
  height: 5000px;
  left: calc(50% - 2500px);
  margin-bottom: 0px;
  /* transform: translate(-50%, 0px); */
  animation: rotateAnim 17s linear infinite alternate;
}
figure.wp-block-kadence-image.wave-2 {
  animation: rotateAnimWave 20s linear infinite alternate !important;
}
figure.wp-block-kadence-image.wave-2 img {
  object-fit: cover;
}
figure.wp-block-kadence-image.wave-2 {
  top: -470px;
}

figure.wp-block-kadence-image.wave-1 {
  top: -291px;
}
img.home-logo {
  width: 330px;
  filter: brightness(0) invert(0);
  transition: all 0.3s linear;
}
.intro-text.active img.home-logo {
  filter: brightness(0) invert(1);
}
@keyframes rotateAnim {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotateAnimWave {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media only screen and (max-width: 1024px) {
  .circle {
    position: absolute;
    width: 200vh;
    height: 200vh;
    border-radius: 50%;
    animation-fill-mode: forwards;
  }
  img.home-logo {
    width: 250px;
  }
  .animate-span {
    display: inline-block;
    font-size: 40px;
    line-height: 50px;
    margin: 0 10px;
    opacity: 1;
  }
}
