

html.ff-pt-enter-armed body > :not(.page-transition-overlay) {
  opacity: 0;
  visibility: hidden;
}

html.ff-pt-enter-armed.ff-pt-enter-show-page body > :not(.page-transition-overlay) {
  opacity: 1;
  visibility: visible;
}

html.ff-pt-enter-armed:not([data-ff-pageready]) .hero__content,
html.ff-pt-enter-armed:not([data-ff-pageready]) .hero__subfooter,
html.ff-pt-enter-armed:not([data-ff-pageready]) .subhero,
html.ff-pt-enter-armed:not([data-ff-pageready]) .about-lead,
html.ff-pt-enter-armed:not([data-ff-pageready]) .case-hero__inner,
html.ff-pt-enter-armed:not([data-ff-pageready]) .cases__title {
  visibility: hidden;
}

.page-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  pointer-events: none;
  visibility: hidden;
}

.page-transition-overlay.is-active {
  pointer-events: auto;
  visibility: visible;
}

.page-transition-overlay__panel {
  position: absolute;
  inset: 0;
  background-color: var(--color-black, #060607);
  transform: translate3d(0, 100%, 0);
  will-change: transform;
  transition: transform 720ms cubic-bezier(0.76, 0, 0.24, 1);
}

.page-transition-overlay--exit .page-transition-overlay__panel {
  transform: translate3d(0, 0, 0);
}

.page-transition-overlay--enter .page-transition-overlay__panel {
  transform: translate3d(0, 0, 0);
  transition: none;
}

body.ff-pt-exit > header,
body.ff-pt-exit > .nav-panel,
body.ff-pt-exit > main,
body.ff-pt-exit > footer {
  transform: translate3d(0, -5vh, 0);
  transition: transform 720ms cubic-bezier(0.76, 0, 0.24, 1);
}

body.ff-pt-enter-prep > header,
body.ff-pt-enter-prep > .nav-panel,
body.ff-pt-enter-prep > main,
body.ff-pt-enter-prep > footer {
  transform: translate3d(0, 5vh, 0);
  transition: none;
}

body.ff-pt-enter-prep.ff-pt-enter-go > header,
body.ff-pt-enter-prep.ff-pt-enter-go > .nav-panel,
body.ff-pt-enter-prep.ff-pt-enter-go > main,
body.ff-pt-enter-prep.ff-pt-enter-go > footer {
  transform: translate3d(0, 0, 0);
  transition: transform 720ms cubic-bezier(0.76, 0, 0.24, 1);
}

@media (prefers-reduced-motion: reduce) {
  .page-transition-overlay__panel {
    transition-duration: 0.01ms !important;
  }

  body.ff-pt-exit > header,
  body.ff-pt-exit > .nav-panel,
  body.ff-pt-exit > main,
  body.ff-pt-exit > footer,
  body.ff-pt-enter-prep > header,
  body.ff-pt-enter-prep > .nav-panel,
  body.ff-pt-enter-prep > main,
  body.ff-pt-enter-prep > footer,
  body.ff-pt-enter-prep.ff-pt-enter-go > header,
  body.ff-pt-enter-prep.ff-pt-enter-go > .nav-panel,
  body.ff-pt-enter-prep.ff-pt-enter-go > main,
  body.ff-pt-enter-prep.ff-pt-enter-go > footer {
    transition-duration: 0.01ms !important;
  }
}

html[data-ff-page-hidden] {
  overflow: hidden;
}

html[data-ff-page-hidden] body {
  overflow: hidden;
}
