/* =====================================================
   FIRECRASH 2 — animations-core.css
   Core animations: transform, opacity, baseline
   Developer: ADAMMUKHRIZ
   Version: 0.10.1 BetaRelease
   ===================================================== */

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInLeft { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeInRight { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeInScale { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }
@keyframes fadeOutUp { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-20px); } }
@keyframes fadeOutDown { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(20px); } }

@keyframes slideInUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes slideInDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@keyframes slideInLeft { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes slideInRight { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes slideOutUp { from { transform: translateY(0); } to { transform: translateY(-100%); } }
@keyframes slideOutDown { from { transform: translateY(0); } to { transform: translateY(100%); } }
@keyframes slideOutLeft { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes slideOutRight { from { transform: translateX(0); } to { transform: translateX(100%); } }

@keyframes zoomIn { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes zoomOut { from { transform: scale(1); opacity: 1; } to { transform: scale(0); opacity: 0; } }
@keyframes zoomInSlow { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes zoomInFast { from { transform: scale(.85); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes popIn { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(1); } }
@keyframes popOut { 0% { transform: scale(1); opacity: 1; } 60% { transform: scale(1.1); opacity: .8; } 100% { transform: scale(0); opacity: 0; } }

@keyframes rotate360 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes rotate180 { from { transform: rotate(0deg); } to { transform: rotate(180deg); } }
@keyframes rotateNeg360 { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes spinReverse { 0% { transform: rotate(360deg); } 100% { transform: rotate(0deg); } }
@keyframes spinPulse { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.1); } 100% { transform: rotate(360deg) scale(1); } }

@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes pulseFast { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes pulseSlow { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }
@keyframes heartbeat { 0%, 100% { transform: scale(1); } 25% { transform: scale(1.15); } 50% { transform: scale(1); } 75% { transform: scale(1.1); } }
@keyframes pulseRing { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.6); opacity: 0; } }
@keyframes pulseShadow { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,107,53,.5); } 50% { box-shadow: 0 0 0 12px rgba(255,107,53,0); } }

@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }
@keyframes bounceSmall { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes bounceIn { 0% { transform: scale(.3); opacity: 0; } 50% { transform: scale(1.05); opacity: 1; } 70% { transform: scale(.95); } 100% { transform: scale(1); } }
@keyframes bounceInUp { 0% { transform: translateY(100%); opacity: 0; } 60% { transform: translateY(-10%); opacity: 1; } 100% { transform: translateY(0); } }
@keyframes bounceInDown { 0% { transform: translateY(-100%); opacity: 0; } 60% { transform: translateY(10%); opacity: 1; } 100% { transform: translateY(0); } }

@keyframes shakeX { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-8px); } 75% { transform: translateX(8px); } }
@keyframes shakeY { 0%, 100% { transform: translateY(0); } 25% { transform: translateY(-8px); } 75% { transform: translateY(8px); } }
@keyframes shake { 0%, 100% { transform: translate(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); } 20%, 40%, 60%, 80% { transform: translateX(4px); } }
@keyframes wobble { 0% { transform: translateX(0); } 15% { transform: translateX(-20%) rotate(-5deg); } 30% { transform: translateX(15%) rotate(3deg); } 45% { transform: translateX(-10%) rotate(-3deg); } 60% { transform: translateX(5%) rotate(2deg); } 75% { transform: translateX(-2%) rotate(-1deg); } 100% { transform: translateX(0); } }

@keyframes flipX { 0% { transform: perspective(400px) rotateX(0); } 100% { transform: perspective(400px) rotateX(360deg); } }
@keyframes flipY { 0% { transform: perspective(400px) rotateY(0); } 100% { transform: perspective(400px) rotateY(360deg); } }
@keyframes flipInX { 0% { transform: perspective(400px) rotateX(90deg); opacity: 0; } 100% { transform: perspective(400px) rotateX(0); opacity: 1; } }
@keyframes flipInY { 0% { transform: perspective(400px) rotateY(90deg); opacity: 0; } 100% { transform: perspective(400px) rotateY(0); opacity: 1; } }

@keyframes swing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0); } }
@keyframes tada { 0% { transform: scale(1); } 10%, 20% { transform: scale(.9) rotate(-3deg); } 30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes rubberBand { 0% { transform: scale(1); } 30% { transform: scaleX(1.25) scaleY(.75); } 40% { transform: scaleX(.75) scaleY(1.25); } 50% { transform: scaleX(1.15) scaleY(.85); } 65% { transform: scaleX(.95) scaleY(1.05); } 100% { transform: scale(1); } }
@keyframes jello { 0%, 100% { transform: skewX(0) skewY(0); } 30% { transform: skewX(15deg) skewY(-15deg); } 50% { transform: skewX(-10deg) skewY(10deg); } 70% { transform: skewX(5deg) skewY(-5deg); } }

@keyframes glow { 0%, 100% { filter: drop-shadow(0 0 4px rgba(255,107,53,.5)); } 50% { filter: drop-shadow(0 0 14px rgba(255,107,53,.9)); } }
@keyframes glowText { 0%, 100% { text-shadow: 0 0 4px rgba(255,107,53,.4); } 50% { text-shadow: 0 0 14px rgba(255,107,53,.9); } }
@keyframes glowBg { 0%, 100% { box-shadow: 0 0 0 rgba(255,107,53,0); } 50% { box-shadow: 0 0 24px rgba(255,107,53,.6); } }

@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes floatX { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(10px); } }
@keyframes floatXY { 0%, 100% { transform: translate(0, 0); } 25% { transform: translate(8px, -8px); } 50% { transform: translate(-4px, -12px); } 75% { transform: translate(-8px, 4px); } }

@keyframes fadeScaleIn { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }
@keyframes fadeBlur { from { opacity: 0; filter: blur(8px); } to { opacity: 1; filter: blur(0); } }
@keyframes blurIn { from { filter: blur(12px); } to { filter: blur(0); } }
@keyframes blurPulse { 0%, 100% { filter: blur(0); } 50% { filter: blur(2px); } }

@keyframes ripple { 0% { transform: scale(0); opacity: .8; } 100% { transform: scale(2.5); opacity: 0; } }
@keyframes rippleFast { 0% { transform: scale(0); opacity: 1; } 100% { transform: scale(3); opacity: 0; } }

@keyframes bounceSoft { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes bounceHard { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-25px); } }

@keyframes scaleUp { from { transform: scale(1); } to { transform: scale(1.15); } }
@keyframes scaleDown { from { transform: scale(1); } to { transform: scale(.85); } }

@keyframes swingSmall { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(3deg); } 75% { transform: rotate(-3deg); } }
@keyframes swingBig { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(15deg); } 75% { transform: rotate(-15deg); } }

@keyframes tilt { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(2deg); } 75% { transform: rotate(-2deg); } }
@keyframes tiltBig { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(8deg); } 75% { transform: rotate(-8deg); } }

@keyframes fadeSlideUpSlow { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeSlideDownSlow { from { opacity: 0; transform: translateY(-40px); } to { opacity: 1; transform: translateY(0); } }

@keyframes expandX { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
@keyframes expandY { 0% { transform: scaleY(0); } 100% { transform: scaleY(1); } }
@keyframes contractX { 0% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes contractY { 0% { transform: scaleY(1); } 100% { transform: scaleY(0); } }

@keyframes ring { 0% { transform: rotate(0); } 25% { transform: rotate(20deg); } 50% { transform: rotate(-15deg); } 75% { transform: rotate(10deg); } 100% { transform: rotate(0); } }
@keyframes wave { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(14deg); } 75% { transform: rotate(-14deg); } }

@keyframes roll { 0% { transform: rotate(0); } 100% { transform: rotate(360deg) translateX(20px); } }
@keyframes drift { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
@keyframes driftY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

@keyframes swingSlow { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes dangle { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }