/* ==========================================================================
   Footer — entrance animation on scroll
   ========================================================================== */

.footer {
  --footer-enter-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --footer-item-duration: 0.35s;
  --footer-bottom-duration: 0.4s;
}

.footer__nav-link:not(.is-footer-revealed),
.footer__social-link:not(.is-footer-revealed) {
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
}

.footer__bottom:not(.is-footer-revealed) {
  opacity: 0;
  transform: translateY(32px);
}

.footer__nav-link.is-footer-revealed,
.footer__social-link.is-footer-revealed {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition:
    opacity var(--footer-item-duration) var(--footer-enter-ease),
    transform var(--footer-item-duration) var(--footer-enter-ease);
}

.footer__bottom.is-footer-revealed {
  opacity: 0.66;
  transform: translateY(0);
  transition:
    opacity var(--footer-bottom-duration) var(--footer-enter-ease),
    transform var(--footer-bottom-duration) var(--footer-enter-ease);
}

@media (prefers-reduced-motion: reduce) {
  .footer__nav-link:not(.is-footer-revealed),
  .footer__social-link:not(.is-footer-revealed),
  .footer__bottom:not(.is-footer-revealed) {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .footer__bottom:not(.is-footer-revealed) {
    opacity: 0.66;
  }

  .footer__nav-link.is-footer-revealed,
  .footer__social-link.is-footer-revealed,
  .footer__bottom.is-footer-revealed {
    transition: none;
  }
}
