/* Febzor entrance animations (Advanced → Motion Effects). Loaded only on pages that use them. */
.febzor-anim-ready [data-febzor-animation]:not(.febzor-animated){visibility:hidden}
.febzor-animated{animation-duration:1.25s;animation-fill-mode:both}
.febzor-animated[data-febzor-animation-duration="slow"]{animation-duration:2s}
.febzor-animated[data-febzor-animation-duration="fast"]{animation-duration:.75s}
@media (prefers-reduced-motion:reduce){.febzor-animated{animation:none!important}}

.febzor-anim-fadeIn{animation-name:fz-fadeIn}
.febzor-anim-fadeInDown{animation-name:fz-fadeInDown}
.febzor-anim-fadeInLeft{animation-name:fz-fadeInLeft}
.febzor-anim-fadeInRight{animation-name:fz-fadeInRight}
.febzor-anim-fadeInUp{animation-name:fz-fadeInUp}
.febzor-anim-zoomIn{animation-name:fz-zoomIn}
.febzor-anim-zoomInDown{animation-name:fz-zoomInDown}
.febzor-anim-zoomInLeft{animation-name:fz-zoomInLeft}
.febzor-anim-zoomInRight{animation-name:fz-zoomInRight}
.febzor-anim-zoomInUp{animation-name:fz-zoomInUp}
.febzor-anim-bounceIn{animation-name:fz-bounceIn}
.febzor-anim-bounceInDown{animation-name:fz-bounceInDown}
.febzor-anim-bounceInLeft{animation-name:fz-bounceInLeft}
.febzor-anim-bounceInRight{animation-name:fz-bounceInRight}
.febzor-anim-bounceInUp{animation-name:fz-bounceInUp}
.febzor-anim-slideInDown{animation-name:fz-slideInDown}
.febzor-anim-slideInLeft{animation-name:fz-slideInLeft}
.febzor-anim-slideInRight{animation-name:fz-slideInRight}
.febzor-anim-slideInUp{animation-name:fz-slideInUp}
.febzor-anim-rotateIn{animation-name:fz-rotateIn}
.febzor-anim-rotateInDownLeft{animation-name:fz-rotateInDownLeft}
.febzor-anim-rotateInDownRight{animation-name:fz-rotateInDownRight}
.febzor-anim-rotateInUpLeft{animation-name:fz-rotateInUpLeft}
.febzor-anim-rotateInUpRight{animation-name:fz-rotateInUpRight}
.febzor-anim-bounce{animation-name:fz-bounce;transform-origin:center bottom}
.febzor-anim-flash{animation-name:fz-flash}
.febzor-anim-pulse{animation-name:fz-pulse}
.febzor-anim-rubberBand{animation-name:fz-rubberBand}
.febzor-anim-shake{animation-name:fz-shake}
.febzor-anim-headShake{animation-name:fz-headShake;animation-timing-function:ease-in-out}
.febzor-anim-swing{animation-name:fz-swing;transform-origin:top center}
.febzor-anim-tada{animation-name:fz-tada}
.febzor-anim-wobble{animation-name:fz-wobble}
.febzor-anim-jello{animation-name:fz-jello;transform-origin:center}
.febzor-anim-lightSpeedIn{animation-name:fz-lightSpeedIn;animation-timing-function:ease-out}
.febzor-anim-rollIn{animation-name:fz-rollIn}

@keyframes fz-fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fz-fadeInDown{from{opacity:0;transform:translate3d(0,-60px,0)}to{opacity:1;transform:none}}
@keyframes fz-fadeInLeft{from{opacity:0;transform:translate3d(-60px,0,0)}to{opacity:1;transform:none}}
@keyframes fz-fadeInRight{from{opacity:0;transform:translate3d(60px,0,0)}to{opacity:1;transform:none}}
@keyframes fz-fadeInUp{from{opacity:0;transform:translate3d(0,60px,0)}to{opacity:1;transform:none}}
@keyframes fz-zoomIn{from{opacity:0;transform:scale3d(.4,.4,.4)}60%{opacity:1}}
@keyframes fz-zoomInDown{from{opacity:0;transform:scale3d(.2,.2,.2) translate3d(0,-800px,0)}60%{opacity:1;transform:scale3d(.5,.5,.5) translate3d(0,40px,0)}}
@keyframes fz-zoomInLeft{from{opacity:0;transform:scale3d(.2,.2,.2) translate3d(-800px,0,0)}60%{opacity:1;transform:scale3d(.5,.5,.5) translate3d(12px,0,0)}}
@keyframes fz-zoomInRight{from{opacity:0;transform:scale3d(.2,.2,.2) translate3d(800px,0,0)}60%{opacity:1;transform:scale3d(.5,.5,.5) translate3d(-12px,0,0)}}
@keyframes fz-zoomInUp{from{opacity:0;transform:scale3d(.2,.2,.2) translate3d(0,800px,0)}60%{opacity:1;transform:scale3d(.5,.5,.5) translate3d(0,-40px,0)}}
@keyframes fz-bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1)}0%{opacity:0;transform:scale3d(.4,.4,.4)}25%{transform:scale3d(1.08,1.08,1.08)}50%{transform:scale3d(.95,.95,.95)}70%{opacity:1;transform:scale3d(1.02,1.02,1.02)}to{opacity:1;transform:none}}
@keyframes fz-bounceInDown{0%,55%,75%,90%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1)}0%{opacity:0;transform:translate3d(0,-2000px,0)}55%{opacity:1;transform:translate3d(0,24px,0)}75%{transform:translate3d(0,-8px,0)}90%{transform:translate3d(0,4px,0)}to{transform:none}}
@keyframes fz-bounceInLeft{0%,55%,75%,90%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1)}0%{opacity:0;transform:translate3d(-2000px,0,0)}55%{opacity:1;transform:translate3d(24px,0,0)}75%{transform:translate3d(-8px,0,0)}90%{transform:translate3d(4px,0,0)}to{transform:none}}
@keyframes fz-bounceInRight{0%,55%,75%,90%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1)}0%{opacity:0;transform:translate3d(2000px,0,0)}55%{opacity:1;transform:translate3d(-24px,0,0)}75%{transform:translate3d(8px,0,0)}90%{transform:translate3d(-4px,0,0)}to{transform:none}}
@keyframes fz-bounceInUp{0%,55%,75%,90%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1)}0%{opacity:0;transform:translate3d(0,2000px,0)}55%{opacity:1;transform:translate3d(0,-24px,0)}75%{transform:translate3d(0,8px,0)}90%{transform:translate3d(0,-4px,0)}to{transform:none}}
@keyframes fz-slideInDown{from{visibility:visible;transform:translate3d(0,-100%,0)}to{transform:none}}
@keyframes fz-slideInLeft{from{visibility:visible;transform:translate3d(-100%,0,0)}to{transform:none}}
@keyframes fz-slideInRight{from{visibility:visible;transform:translate3d(100%,0,0)}to{transform:none}}
@keyframes fz-slideInUp{from{visibility:visible;transform:translate3d(0,100%,0)}to{transform:none}}
@keyframes fz-rotateIn{from{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:none}}
@keyframes fz-rotateInDownLeft{from{opacity:0;transform-origin:left bottom;transform:rotate(-45deg)}to{opacity:1;transform-origin:left bottom;transform:none}}
@keyframes fz-rotateInDownRight{from{opacity:0;transform-origin:right bottom;transform:rotate(45deg)}to{opacity:1;transform-origin:right bottom;transform:none}}
@keyframes fz-rotateInUpLeft{from{opacity:0;transform-origin:left bottom;transform:rotate(45deg)}to{opacity:1;transform-origin:left bottom;transform:none}}
@keyframes fz-rotateInUpRight{from{opacity:0;transform-origin:right bottom;transform:rotate(-90deg)}to{opacity:1;transform-origin:right bottom;transform:none}}
@keyframes fz-bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.2,.6,.3,1);transform:none}40%,43%{animation-timing-function:cubic-bezier(.75,.05,.85,.06);transform:translate3d(0,-28px,0) scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.75,.05,.85,.06);transform:translate3d(0,-14px,0) scaleY(1.05)}80%{transform:translate3d(0,0,0) scaleY(.95)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}
@keyframes fz-flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}
@keyframes fz-pulse{from{transform:none}50%{transform:scale3d(1.06,1.06,1.06)}to{transform:none}}
@keyframes fz-rubberBand{from{transform:none}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:none}}
@keyframes fz-shake{0%,to{transform:none}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}
@keyframes fz-headShake{0%{transform:none}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:none}}
@keyframes fz-swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:none}}
@keyframes fz-tada{from{transform:none}10%,20%{transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{transform:none}}
@keyframes fz-wobble{from{transform:none}15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}to{transform:none}}
@keyframes fz-jello{from,11.1%,to{transform:none}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-.78deg) skewY(-.78deg)}77.7%{transform:skewX(.39deg) skewY(.39deg)}88.8%{transform:skewX(-.2deg) skewY(-.2deg)}}
@keyframes fz-lightSpeedIn{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:none}}
@keyframes fz-rollIn{from{opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;transform:none}}
