/* ==========================
GENERAL
========================== */

body{
/* font-family:'Roboto',sans-serif; */
font-family:'Poppins',sans-serif;
/* font-family:'Inter',sans-serif; */
background:#ffffff;
color:#222;
transition:.4s;

}

a{

text-decoration:none;

}

section{

overflow:hidden;

}


/* ==========================
NAVBAR
========================== */

.navbar{

padding:14px 0;

background:rgba(255,255,255,.95) !important;

backdrop-filter:blur(10px);

z-index:9999;

transition:.4s;

}

.navbar-brand{

font-size:30px;
font-weight:700;

}

.navbar-brand img{

object-fit:contain;

}

.nav-link{

font-weight:500;
margin:0 8px;
position:relative;

}

.nav-link.active{

color:#0d6efd !important;
font-weight:600;

}

.nav-link::after{

content:'';

position:absolute;

left:0;
bottom:-4px;

width:0;
height:2px;

background:#0d6efd;

transition:.3s;

}

.nav-link:hover::after,
.nav-link.active::after{

width:100%;

}


/* DROPDOWN */

.dropdown-menu{

border-radius:15px;
padding:10px;

}

.dropdown-item{

border-radius:10px;
padding:10px 15px;
transition:.3s;

}

.dropdown-item:hover{

background:#0d6efd;
color:#fff;

}


/* THEME BUTTON */

.theme-btn{

width:48px;
height:48px;

display:flex;
align-items:center;
justify-content:center;

padding:0;

}


/* MOBILE */

@media(max-width:991px){

.navbar-nav{

padding-top:20px;

}

.nav-link{

margin:8px 0;

}

}


/* ==========================
BUTTONS
========================== */

.btn{

border-radius:30px;
padding:10px 25px;

}

.btn-primary{

border-radius:30px;

}


/* ==========================
HERO SLIDER
========================== */

.hero{

background:#f8f9fa;
position:relative;

}

.hero .carousel{

position:relative;

}

.hero .carousel-item{

min-height:650px;
display:flex;
align-items:center;

padding:0px 0;

}

.hero .container{

position:relative;
z-index:2;

}

/* HERO IMAGE */

.hero-image{

width:100%;
max-width:650px;

height:auto;

object-fit:contain;

border-radius:25px;

animation:float 3s ease-in-out infinite;

box-shadow:
0px 15px 40px
rgba(0,0,0,.15);

}


/* INDICATORS */

.hero .carousel-indicators{

bottom:30px;
margin-bottom:0;
z-index:20;

}

.hero .carousel-indicators button{

width:14px !important;
height:14px !important;

border-radius:50%;

background:#0d6efd !important;

border:none;

margin:0 6px;

opacity:.5;

transition:.3s;

}

.hero .carousel-indicators .active{

opacity:1;

transform:scale(1.2);

}


/* ARROWS */

.hero .carousel-control-prev,
.hero .carousel-control-next{

width:6%;
opacity:.8;

}

.hero .carousel-control-prev-icon,
.hero .carousel-control-next-icon{

background-color:rgba(0,0,0,.1);

border-radius:50%;

padding:20px;

}


/* TEXT */

.hero h1{

line-height:1.1;

}

.hero .lead{

font-size:20px;

color:#555;

}


/* MOBILE */

@media(max-width:992px){

.hero .carousel-item{

min-height:auto;

padding:10px 0;

text-align:center;

}

.hero-image{

margin-top:40px;
max-width:100%;

}

.hero h1{

font-size:42px;

}

}


/* DARK MODE */

.dark-mode .hero{

background:#181818 !important;

}

.dark-mode .hero .lead{

color:#ccc;

}


/* ==========================
REMOVE OLD GLOBAL IMAGE CSS
========================== */

.carousel img{

width:100%;
height:auto;

object-fit:cover;

border-radius:20px;

}
  

/* ==========================
CARD
========================== */

.card{

border-radius:20px;
overflow:visible;
transition:.4s;
position:relative;

}

.card:hover{

transform:translateY(-5px);

}


/* ==========================
FORM
========================== */

.form-control{

border-radius:12px;
padding:12px;

}

.form-control:focus{

box-shadow:none;
border-color:#0d6efd;

}

/*=========================
testimonial
===========================*/
.testimonial-slider{

overflow:hidden;
position:relative;
width:100%;

}

.testimonial-track{

display:flex;
gap:20px;
width:max-content;
animation:scrollTestimonials 30s linear infinite;

}

.testimonial-card{

width:350px;
flex-shrink:0;

}

.testimonial-card .card{

border-radius:15px;

}

@keyframes scrollTestimonials{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}

/* Mobile */

@media(max-width:768px){

.testimonial-card{

width:280px;

}

}

/* ==========================
WHATSAPP
========================== */

.whatsapp{

position:fixed;
bottom:20px;
right:20px;

background:#25D366;

color:#fff;

width:60px;
height:60px;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

font-size:35px;

text-decoration:none;

z-index:999999;

box-shadow:0px 0px 20px rgba(0,0,0,.3);

transition:.4s;

}

.whatsapp:hover{

transform:scale(1.1);
color:#fff;

}




/* ==========================
ANIMATION
========================== */

@keyframes float{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0px);

}

}


/* ==========================
COUNTER SECTION
========================== */

.counter-card{

border-radius:20px;
transition:.4s;
cursor:pointer;

}

.counter-card:hover{

transform:translateY(-10px);

box-shadow:
0px 15px 30px
rgba(0,0,0,.15);

}

.counter{

font-size:45px;

color:#0d6efd;

margin-bottom:10px;

}

.dark-mode .counter-card{

background:#1f1f1f;

color:#fff;

}

.dark-mode .text-muted{

color:#ccc !important;

}

/* ==========================
PRICING
========================== */

.pricing-card{

border-radius:20px;
transition:.4s;

}

.pricing-card:hover{

transform:translateY(-10px);

box-shadow:
0px 15px 30px
rgba(0,0,0,.15);

}

.pricing-card h1{

font-size:45px;
font-weight:bold;
color:#0d6efd;

}

.dark-mode .pricing-card{

background:#1f1f1f;
color:#fff;

}

/* ==========================
PRICING
========================== */

.pricing-card{

border-radius:20px;
transition:.4s;
position:relative;

}

.pricing-card:hover{

transform:translateY(-10px);

box-shadow:
0px 15px 30px
rgba(0,0,0,.15);

}

.pricing-card .badge{

padding:8px 18px;
border-radius:20px;
font-size:12px;
z-index:10;

}

.pricing-card h1{

font-size:45px;
font-weight:bold;
color:#0d6efd;

}

/* ==================================
DARK MODE
================================== */

.dark-mode{

background:#121212;
color:#e4e4e4;

}


/* Navbar */

.dark-mode .navbar{

background:#1a1a1a !important;
border-bottom:1px solid #333;

}

.dark-mode .navbar-brand{

color:#fff !important;

}

.dark-mode .nav-link{

color:#ddd !important;

}

.dark-mode .nav-link:hover{

color:#0d6efd !important;

}


/* Cards */

.dark-mode .card{

background:#1f1f1f;
color:#fff;
border:1px solid #333;

}


/* Hero */

.dark-mode .hero{

background:#181818 !important;

}


/* Buttons */

.dark-mode .btn-outline-dark{

border-color:#ddd;
color:#ddd;

}

.dark-mode .btn-outline-dark:hover{

background:#fff;
color:#000;

}


/* Inputs */

.dark-mode .form-control{

background:#2a2a2a;
border:1px solid #444;
color:#fff;

}

.dark-mode .form-control::placeholder{

color:#bbb;

}

.dark-mode .form-control:focus{

background:#2a2a2a;
color:#fff;

}


/* Footer */

.dark-mode footer{

background:#111 !important;

}


/* Tables */

.dark-mode table{

color:#fff;

}

.dark-mode .table{

color:#fff;

}

.dark-mode .table td,
.dark-mode .table th{

background:#1e1e1e !important;
border-color:#444;

}


/* Light sections */

.dark-mode .bg-light{

background:#1a1a1a !important;

}


/* Badge */

.dark-mode .badge{

color:#fff;

}


.navbar{

position:sticky;
top:0;
z-index:999;
backdrop-filter:blur(10px);

}

.nav-link.active{

color:#0d6efd !important;
font-weight:bold;

}


#loader{

position:fixed;
left:0;
top:0;
width:100%;
height:100%;
background:#fff;

display:flex;
justify-content:center;
align-items:center;

z-index:99999;

}