.zoom-in {
  opacity: 0;
  transform: scale(.92);
  transition: opacity 1.1s ease, transform 1.1s ease;
}
.zoom-in.show {
  opacity: 1;
  transform: scale(1);
}

.drop-in {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}
.drop-in.show {
  opacity: 1;
  transform: translateY(0);
}

.slide-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}
.slide-left.show {
  opacity: 1;
  transform: translateX(0);
}

.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.25s ease, transform 1.25s ease;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

.blur-in {
  opacity: 0;
  filter: blur(10px);
  transition: opacity 1.2s ease, filter 1.2s ease;
}
.blur-in.show {
  opacity: 1;
  filter: blur(0);
}

.light-in {
  opacity: 0;
  transform: translateX(22px);
  filter: brightness(1.7);
  transition: opacity 1.2s ease, transform 1.2s ease, filter 1.2s ease;
}
.light-in.show {
  opacity: 1;
  transform: translateX(0);
  filter: brightness(1);
}

.skew-in {
  opacity: 0;
  transform: skewX(8deg) translateY(24px);
  transition: opacity 1s ease, transform 1s ease;
}
.skew-in.show {
  opacity: 1;
  transform: skewX(0) translateY(0);
}

.elastic-in {
  opacity: 0;
  transform: translateY(32px) scale(.94);
  transition: opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1);
}
.elastic-in.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.anim-delay-1 { transition-delay: .25s; }
.anim-delay-2 { transition-delay: .45s; }
.anim-delay-3 { transition-delay: .65s; }
.anim-delay-4 { transition-delay: .85s; }
