html.ub-motion-on [data-ub-reveal] {
  --ub-rise: 52px;
  --ub-delay: 0s;
  opacity: 0;
  transform: translate3d(0, var(--ub-rise), 0);
  transition:
    opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1) var(--ub-delay),
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1) var(--ub-delay);
  will-change: opacity, transform;
}

html.ub-motion-on [data-ub-reveal-child] {
  --ub-rise: 40px;
  --ub-delay: 0s;
  opacity: 0;
  transform: translate3d(0, var(--ub-rise), 0);
  transition:
    opacity 0.95s cubic-bezier(0.16, 1, 0.3, 1) var(--ub-delay),
    transform 0.95s cubic-bezier(0.16, 1, 0.3, 1) var(--ub-delay);
}

html.ub-motion-on [data-ub-reveal].ub-is-visible,
html.ub-motion-on [data-ub-reveal-child].ub-is-visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  html.ub-motion-on [data-ub-reveal],
  html.ub-motion-on [data-ub-reveal-child],
  html.ub-motion-on [data-ub-reveal].ub-is-visible,
  html.ub-motion-on [data-ub-reveal-child].ub-is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }
}
