@keyframes reveal-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes reveal-fade-bottom {
  from {
    opacity: 0;
    top: 20px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}
@keyframes reveal-scale {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.anim-fade.anim-self,
.anim-fade .anim-child {
  opacity: 0;
}
.anim-fade.anim-revealing.anim-self,
.anim-fade.anim-revealing .anim-child {
  animation: reveal-fade 500ms forwards ease-in-out;
  animation-delay: var(--anim-delay, 200ms);
}

.anim-scale.anim-self,
.anim-scale .anim-child {
  opacity: 0;
  position: relative;
}
.anim-scale.anim-revealing.anim-self,
.anim-scale.anim-revealing .anim-child {
  animation: reveal-scale 500ms forwards ease-in-out;
  animation-delay: var(--anim-delay, 200ms);
}

.anim-fade-bottom.anim-self,
.anim-fade-bottom .anim-child {
  opacity: 0;
  position: relative;
}
.anim-fade-bottom.anim-revealing.anim-self,
.anim-fade-bottom.anim-revealing .anim-child {
  animation: reveal-fade 500ms forwards ease-in-out;
  animation-delay: var(--anim-delay, 200ms);
}
@media (min-width: 1200px) {
  .anim-fade-bottom.anim-revealing.anim-self,
  .anim-fade-bottom.anim-revealing .anim-child {
    animation-name: reveal-fade-bottom;
  }
}
