.animated { animation-duration: 0.85s; animation-fill-mode: both; }
.infinity { animation-iteration-count: 1; }

@keyframes fadeInDown {
    from { opacity: 0; transform: translate3d(0, -18px, 0) scale(0.98); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
.fadeInDown { animation-name: fadeInDown; animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 22px, 0) scale(0.98); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
.fadeInUp { animation-name: fadeInUp; animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@keyframes unfoldDown {
    0% { transform: scaleY(0); transform-origin: top center; opacity: 0; }
    60% { transform: scaleY(1.03); opacity: 1; }
    100% { transform: scaleY(1); transform-origin: top center; opacity: 1; }
}
.flipInX { animation-name: unfoldDown; animation-duration: 0.7s; animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }

@keyframes zoomFadeIn {
    0% { opacity: 0; transform: scale(0.7); filter: blur(6px); }
    60% { opacity: 1; transform: scale(1.04); filter: blur(0); }
    100% { opacity: 1; transform: scale(1); }
}
.lightSpeedIn { animation-name: zoomFadeIn; animation-duration: 0.9s; animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
