
.tc-reveal,
.tc-reveal-up,
.tc-stagger > * {
  opacity: 0;
  will-change: transform, opacity;
  transition-property: opacity, transform;
  transition-duration: var(--tc-reveal-duration, 700ms);
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--tc-reveal-delay, 0ms);
  backface-visibility: hidden;
}

.tc-reveal,
.tc-stagger > * {
  transform: translate3d(0, 0, 0);
}

.tc-reveal-up {
  transform: translate3d(0, var(--tc-reveal-distance, 24px), 0);
}

.tc-reveal.is-visible,
.tc-reveal-up.is-visible,
.tc-stagger > *.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.tc-parallax {
  position: relative;
  overflow: hidden;
}

.tc-parallax .tc-parallax-media,
.tc-parallax .tc-parallax-media > img,
.tc-parallax > picture:first-child,
.tc-parallax > picture:first-child > img,
.tc-parallax > img:first-child {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
  transform: translate3d(0, 0, 0) scale(var(--tc-parallax-scale, 1.12));
  transform-origin: center center;
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .tc-reveal,
  .tc-reveal-up,
  .tc-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .tc-parallax .tc-parallax-media,
  .tc-parallax .tc-parallax-media > img,
  .tc-parallax > picture:first-child,
  .tc-parallax > picture:first-child > img,
  .tc-parallax > img:first-child {
    transform: none !important;
  }
}
