/* Home */

#heroSlider .carousel-item img{
    aspect-ratio:1500 / 292;
    object-fit:cover;
}

@media (max-width:575px){
    #heroSlider .carousel-item img{
        aspect-ratio:auto;
        height:auto;
        object-fit:contain;
    }
}

.site-logo{
    width:auto;
    max-width:180px;
    height:65px;
    object-fit:contain;
}

.service-card{
    scroll-margin-top: 90px;

transition:.4s;
border-radius:15px;
}

.service-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,.15)!important;
}

.service-card i{
transition:.3s;
}

.service-card:hover i{
transform:scale(1.15);
}

.counter{
font-size:55px;
font-weight:700;
}

.bg-success{
background:#008A4B!important;
}

/* Process */

.process-box{
padding:30px;
border-radius:15px;
background:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
height:100%;
}

.process-box:hover{
transform:translateY(-8px);
}

.process-icon{
width:80px;
height:80px;
margin:auto;
background:#008A4B;
color:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
margin-bottom:20px;
}

/* Testimonials */

.testimonial-box{
max-width:800px;
margin:auto;
background:#fff;
padding:40px;
border-radius:15px;
box-shadow:0 15px 35px rgba(0,0,0,.1);
text-align:center;
}

/* CTA */

.cta-section{
background:#008A4B;
padding:70px 0;
}

/* Footer */

.footer{
background:#1d1d1d;
color:#fff;
padding:60px 0 20px;
}

.footer a{
color:#fff;
text-decoration:none;
}

.footer a:hover{
color:#008A4B;
}

/* WhatsApp */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
width:60px;
height:60px;
background:#25D366;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:30px;
text-decoration:none;
z-index:999;
}

/* Back To Top */

#topBtn{
position:fixed;
bottom:100px;
right:25px;
width:50px;
height:50px;
border:none;
border-radius:50%;
background:#008A4B;
color:#fff;
display:none;
cursor:pointer;
z-index:999;
}

/* About */

.page-banner{

background:#008A4B;

color:#fff;

padding:80px 0;

text-align:center;

}

.page-banner h1{

font-size:48px;

font-weight:700;

}

.mission-box{

background:#fff;

padding:30px;

text-align:center;

border-radius:15px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

height:100%;

}

.mission-box i{

font-size:45px;

color:#008A4B;

margin-bottom:20px;

}

/*=========================================
        HERO CAPTION ANIMATION
=========================================*/

.carousel-caption{
opacity:0;
transform:translateY(40px);
transition:all .8s ease;
}

.carousel-item.active .carousel-caption{
opacity:1;
transform:translateY(0);
}

.carousel-caption.animate{
opacity:1;
transform:translateY(0);
}

/*=============================
    Social Icons
==============================*/

.social-icons{
    display:flex;
    gap:15px;
    margin-top:15px;
}

.social-icons a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    border-radius:50%;
    text-decoration:none;
    transition:0.3s;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
}

.social-icons i{
    font-size:20px;
}

/* Official Brand Colors */

.social-icons a:nth-child(1) i{
    color:#1877F2; /* Facebook */
}

.social-icons a:nth-child(2) i{
    color:#E4405F; /* Instagram */
}

.social-icons a:nth-child(3) i{
    color:#000000; /* X (Twitter) */
}

.social-icons a:nth-child(4) i{
    color:#FF0000; /* YouTube */
}

/* Hover Effect */

.social-icons a:hover{
    transform:translateY(-4px);
    box-shadow:0 6px 15px rgba(0,0,0,0.25);
}

/*==============================
        Sitemap
==============================*/

.card{
border:none;
border-radius:15px;
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.card h4{
font-weight:700;
}

.card ul li{
margin-bottom:12px;
}

.card ul li a{
text-decoration:none;
color:#333;
transition:.3s;
}

.card ul li a:hover{
color:#008A4B;
padding-left:6px;
}

.card i{
margin-right:8px;
}

/*=========================================
                404 PAGE
=========================================*/

.error-section{
padding:80px 0;
text-align:center;
}

.error-section img{
max-width:350px;
margin-bottom:30px;
}

.error-section h2{
font-size:42px;
font-weight:700;
color:#008A4B;
margin-bottom:20px;
}

.error-section p{
font-size:18px;
color:#666;
max-width:650px;
margin:auto;
margin-bottom:35px;
}

.error-section .btn{
padding:12px 30px;
margin:5px;
border-radius:30px;
}

.error-actions{
display:flex;
justify-content:center;
gap:15px;
}

.error-actions .btn{
margin:0;
}

@media (max-width:575px){

    .error-actions{
        flex-direction:column;
        align-items:stretch;
        gap:12px;
        max-width:280px;
        margin:0 auto;
    }

}

/*=========================================
        MOBILE SECTION SPACING
=========================================*/

@media (max-width:991px){

    .row.align-items-center.g-5{
        margin-left:0;
        margin-right:0;
    }

    .why-section .row{
        row-gap:30px;
    }

    .who-section .row{
        row-gap:30px;
    }

}

/*=====================================
        FORM VALIDATION
=====================================*/

.was-validated .form-control:valid{
    border-color:#198754;
}

.was-validated .form-control:invalid{
    border-color:#dc3545;
}

.invalid-feedback{
    font-size:.9rem;
}

.form-control:focus{
    box-shadow:0 0 0 .2rem rgba(25,135,84,.25);
}

/*=========================================
        MOBILE NAVBAR BUTTON SPACING
=========================================*/

@media (max-width:991px){

    .navbar-nav .nav-item.ms-lg-3{
        margin-left:0 !important;
        margin-top:8px;
    }

    .navbar-nav .nav-item.ms-lg-3 + .nav-item.ms-lg-3{
        margin-top:10px;
    }

}