.reveal {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0);

  transition:
    opacity 0.7s
      cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s
      cubic-bezier(0.22, 1, 0.36, 1);

  transition-delay:
    var(--reveal-delay, 0ms);

  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.reveal.reveal-in {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

@media (max-width: 767px) {
  .reveal {
    transform:
      translate3d(0, 18px, 0);

    transition:
      opacity 0.6s
        cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.6s
        cubic-bezier(0.22, 1, 0.36, 1);

    transition-delay:
      var(--reveal-delay, 0ms);
  }

  .reveal.reveal-in {
    transform:
      translate3d(0, 0, 0);
  }
}