/*
 * Animations
 *
 * Lightweight CSS utilities and states used by animations.js. All motion is
 * disabled for users who request reduced motion.
 */

@keyframes uec-fade-up {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes uec-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.4;
  }
}

@keyframes uec-ticket-button-gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@keyframes uec-match-orb-drift {
  0% {
    transform: translate3d(0, 0, 0) scale(1.04);
  }

  16% {
    transform: translate3d(-36px, 28px, 0) scale(1.06);
  }

  33% {
    transform: translate3d(-92px, 14px, 0) scale(1.02);
  }

  50% {
    transform: translate3d(-128px, 72px, 0) scale(1.07);
  }

  67% {
    transform: translate3d(-78px, 116px, 0) scale(1.03);
  }

  84% {
    transform: translate3d(-22px, 76px, 0) scale(1.06);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1.04);
  }
}

@keyframes uec-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes uec-news-loading-sheen {
  to {
    background-position: 220% 0, 0 0;
  }
}

.u-fade-up,
.uec-animate-fade-up {
  animation: uec-fade-up 800ms var(--ease-standard) both;
}

.uec-reveal {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 700ms var(--ease-standard), transform 700ms var(--ease-standard);
}

.uec-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.home-club-card--reveal {
  transform: translateY(3.25rem);
  transition: opacity 850ms var(--ease-emphasized), transform 850ms var(--ease-emphasized), box-shadow var(--transition-slow);
}

.home-club-card--reveal.is-visible {
  transform: translateY(0);
}

.uec-delay-1 {
  transition-delay: 120ms;
  animation-delay: 120ms;
}

.uec-delay-2 {
  transition-delay: 240ms;
  animation-delay: 240ms;
}

.uec-delay-3 {
  transition-delay: 360ms;
  animation-delay: 360ms;
}

.u-scale-on-hover,
.uec-scale-on-hover {
  transition: transform var(--transition-base);
}

.u-scale-on-hover:hover,
.uec-scale-on-hover:hover {
  transform: scale(1.02);
}

.u-transition,
.uec-transition {
  transition-duration: 240ms;
  transition-property: color, background-color, border-color, opacity, box-shadow, transform;
  transition-timing-function: var(--ease-standard);
}

.uec-parallax {
  --uec-parallax-y: 0px;
  transform: translate3d(0, var(--uec-parallax-y), 0);
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__bg {
    transform: none;
    will-change: auto;
  }

  .home-kicker,
  .home-hero__title,
  .home-hero__subtitle,
  .home-hero__actions {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .home-kicker__dot {
    animation: none;
  }

  .btk-bg,
  .home-section__link-bg,
  .uec-news-module__archive-bg,
  .uec-ticket-info__button,
  .uec-ticket-info__button::before,
  .mc::before,
  .uec-news-filter__button.is-loading::after,
  .uec-news-loading,
  .uec-news-archive-loading,
  .uec-news-loading__spinner {
    animation: none;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .u-fade-up,
  .uec-animate-fade-up,
  .uec-reveal {
    opacity: 1;
    animation: none;
    transform: none;
    transition: none;
  }

  .u-scale-on-hover,
  .u-scale-on-hover:hover,
  .uec-scale-on-hover,
  .uec-scale-on-hover:hover,
  .uec-news-panel,
  .uec-news-card,
  .uec-news-card__media img,
  .u-transition,
  .uec-transition,
  .uec-parallax {
    transform: none;
    transition: none;
    will-change: auto;
  }

  .uec-news-panel.is-active .uec-news-card {
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__menu a,
  .site-header__cta,
  .mobile-menu__overlay,
  .mobile-menu__panel,
  .mobile-menu__toggle-line,
  .home-button,
  .home-news-card,
  .home-team-card {
    transition: none;
  }
}
