/* EASE */

.ease {
  transition: all .2s ease-in-out;
}

.ease-more {
  transition: all .4s ease-in-out;
}

/* SHRINK */

.shrink {
  transition: transform 0.5s;
}

.shrink:hover {
  transform: scale(0.95);
}

/* SPIN */

.rotation-station {
  animation: spin 40s linear infinite;
}

@keyframes spin {
  100% {
    transform: rotate(-360deg);
  }
}

/* UNDERLINE */

.underline:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* SPIN ON SCROLL */

.turny {
  position: fixed;
  animation: rotate 1s linear infinite;
  animation-play-state: paused;
  animation-delay: calc(var(--scroll) * -1s);
}

/* OTHER STYLES */

#splash-container, #main-canvas {
  overflow: visible !important;
}

.position-sticky {
  position: sticky!important;
  max-width: 768px;
  top: 0!important;
}

.ignoreme {
  pointer-events: none;
}

/* FLOATING ANIMATION */

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.floating {
  animation: float 3s ease-in-out infinite;
}

/* CAROUSELS */

body:not(.finetune) .content-carousel-element {
  position: absolute!important;
  top: 0;
  left: 0;
  opacity: 0;
}

body:not(.finetune) .content-carousel-element:first-child {
  position: relative!important;
}

body:not(.finetune) .content-carousel-container {
  transition: 1s ease transform;
}

body:not(.finetune) .looping {
  margin-left: -33.333%;
}

.manual-carousel {
  counter-reset: section;
}

.disabled {
  opacity: 0.5;
  pointer-events: none;
}

.carousel-next-btn, .carousel-prev-btn, .manual-carousel-next-btn, .manual-carousel-prev-btn, .looping-buttons {
  transition: all 300ms ease-in-out;
}

@media screen and (max-width: 667px) {
  body:not(.finetune) .looping {
    margin-left: 0!important;
  }
}

/* OTHER ANIMATIONS */

.multiply {
  mix-blend-mode: multiply;
}

.floating-element {
  position: relative;
  animation-name: float;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.monotone {
  filter: grayscale(100%);
}

.spin {
  animation: spin 20s infinite linear;
}

/* SCALE-DOWN-CENTER ANIMATIONS */

.scale-down-center {
  animation: scale-down-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s both;
}

.scale-down-2 {
  animation: scale-down-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
}

.scale-down-3 {
  animation: scale-down-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s both;
}

.scale-down-4 {
  animation: scale-down-center 0.4s cubic
}