/* ==========================================
   GLOBAL TRANSITIONS
========================================== */

a,
button,
.btn,
.card,
.service-card,
.product-card,
.blog-card,
.why-card,
.stat-card,
.testimonial-card,
img{

transition:all .35s ease;

}

/* ==========================================
   HOVER LIFT
========================================== */

.card:hover,
.service-card:hover,
.product-card:hover,
.blog-card:hover,
.why-card:hover,
.testimonial-card:hover{

transform:translateY(-10px);

}

/* ==========================================
   BUTTON EFFECT
========================================== */

.btn{

position:relative;

overflow:hidden;

}

.btn::before{

content:"";

position:absolute;

left:-120%;

top:0;

width:100%;

height:100%;

background:rgba(255,255,255,.18);

transform:skewX(-25deg);

transition:.6s;

}

.btn:hover::before{

left:130%;

}

/* ==========================================
   IMAGE ZOOM
========================================== */

.blog-card:hover img,
.product-card:hover img{

transform:scale(1.08);

}

/* ==========================================
   ICON ROTATE
========================================== */

.service-card:hover .service-icon,
.why-card:hover .why-icon{

transform:rotate(-8deg) scale(1.08);

}

/* ==========================================
   HERO FLOAT
========================================== */

.hero-right img{

animation:heroFloat 6s ease-in-out infinite;

}

@keyframes heroFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}

/* ==========================================
   WHATSAPP PULSE
========================================== */

.whatsapp-float{

animation:whatsappPulse 2s infinite;

}

@keyframes whatsappPulse{

0%{

box-shadow:0 0 0 0 rgba(37,211,102,.45);

}

70%{

box-shadow:0 0 0 18px rgba(37,211,102,0);

}

100%{

box-shadow:0 0 0 0 rgba(37,211,102,0);

}

}

/* ==========================================
   REVEAL
========================================== */

[data-reveal]{

opacity:0;

transition:all .8s ease;

}

[data-reveal="up"]{

transform:translateY(60px);

}

[data-reveal="left"]{

transform:translateX(-60px);

}

[data-reveal="right"]{

transform:translateX(60px);

}

[data-reveal="zoom"]{

transform:scale(.92);

}

.revealed{

opacity:1;

transform:none;

}

/* ==========================================
   PARTNER SLIDER
========================================== */

.partner-track{

animation:partnerSlider 28s linear infinite;

}

.partner-slider:hover .partner-track{

animation-play-state:paused;

}

@keyframes partnerSlider{

0%{

transform:translateX(0);

}

100%{

transform:translateX(-50%);

}

}

/* ==========================================
   FAQ
========================================== */

.faq-answer{

transition:max-height .35s ease;

}

.faq-item.active .faq-question i{

transform:rotate(45deg);

}

/* ==========================================
   BACK TO TOP
========================================== */

.back-to-top{

transition:.35s ease;

}

.back-to-top:hover{

transform:translateY(-5px);

}

/* ==========================================
   PAGE LOADER
========================================== */

.loader{

position:fixed;

inset:0;

display:flex;

justify-content:center;

align-items:center;

background:#fff;

z-index:99999;

transition:.5s;

}

.loader.hidden{

opacity:0;

visibility:hidden;

}

.loader-spinner{

width:70px;

height:70px;

border-radius:50%;

border:5px solid #E5E7EB;

border-top-color:var(--primary);

animation:spin 1s linear infinite;

}

@keyframes spin{

to{

transform:rotate(360deg);

}

}