html{
    scroll-behavior:smooth;
}

/* ===============================
   SECTION TITLE
================================== */

/* ===============================
   BUTTONS
================================== */

.btn-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:16px 36px;

    background:var(--primary);

    color:var(--white);

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

    color:var(--white);

}

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 34px;

    border:2px solid var(--primary);

    color:var(--primary);

    border-radius:50px;

    transition:var(--transition);

    font-weight:600;

}

.btn-outline:hover{

    background:var(--primary);

    color:var(--white);

}

/* ===============================
   CARD
================================== */

.card{

    background:var(--white);

    border-radius:var(--radius-md);

    padding:30px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border:none;

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

/* ===============================
   IMAGE
================================== */

.img-fluid{

    width:100%;

    height:auto;

    object-fit:cover;

}

/* ===============================
   BADGE
================================== */

.badge-green{

    display:inline-block;

    padding:8px 18px;

    background:#E8F5E9;

    color:var(--primary);

    border-radius:50px;

    font-size:.85rem;

    font-weight:600;

}

/* ===============================
   DIVIDER
================================== */

.divider{

    width:80px;

    height:4px;

    background:var(--primary);

    border-radius:50px;

    margin:20px auto;

}

/* ==========================================
   NAVBAR
========================================== */

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    background:rgba(255,255,255,.85);

    backdrop-filter:blur(14px);

    border-bottom:1px solid rgba(0,0,0,.05);

}

.navbar{

    height:90px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{
    display:flex;
    align-items:center;
    font-family:"Poppins",sans-serif;
    font-size:2rem;
    font-weight:700;
    color:var(--dark);
    white-space:nowrap;
    flex:1;
}

.logo-green{

    color:var(--primary);

}

.nav-menu{

    display:flex;

    gap:40px;

    align-items:center;

}

.nav-menu li{

    list-style:none;

}

.nav-menu a{

    position:relative;

    font-weight:600;

    color:var(--dark);

    transition:.3s;

}

.nav-menu a:hover{

    color:var(--primary);

}

.nav-menu a.active{

    color:var(--primary);

}

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

.nav-menu a:hover::after,

.nav-menu a.active::after{

    width:100%;

}

.desktop-btn{

    margin-left:30px;

}

.menu-btn{

    display:none;

    border:none;

    background:none;

    font-size:1.8rem;

    color:var(--dark);

    cursor:pointer;

}

/* ==========================================
   MOBILE DRAWER
========================================== */

.overlay{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(4px);

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:999;
}

.overlay.active{
    opacity:1;
    visibility:visible;
}

.mobile-drawer{
    position:fixed;
    top:0;
    right:-100%;

    width:280px;
    max-width:80%;
    height:100vh;

    background:#fff;

    border-radius:20px 0 0 20px;

    box-shadow:-20px 0 50px rgba(0,0,0,.15);

    transition:right .35s ease;

    z-index:1000;

    display:flex;
    flex-direction:column;
}

.mobile-drawer.active{
    right:0;
}

.drawer-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:24px;
    border-bottom:1px solid #ececec;
}

.drawer-header .logo{
    font-size:2rem;
    font-weight:700;
}

.close-btn{

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:none;

    background:#F5F5F5;

    border-radius:50%;

    cursor:pointer;

    font-size:22px;

    color:var(--dark);

    transition:.3s;

    flex-shrink:0;

}

.close-btn:hover{

    background:var(--primary);

    color:#fff;

    transform:rotate(90deg);

}

.drawer-menu{
    display:flex;
    flex-direction:column;
    padding:30px 25px;
     flex:1;
    overflow-y:auto;
}

.drawer-menu a{

    padding:18px 15px;

    border-radius:12px;

    font-size:18px;

    font-weight:600;

    color:var(--dark);

    transition:.3s;
}

.drawer-menu a:hover{

    background:#E8F5E9;

    color:var(--primary);

    padding-left:22px;
}

.drawer-footer{

   margin-top:auto;
    padding:24px;
    border-top:1px solid #eee;
    background:#fff;
}

.drawer-btn{

     width:100%;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50px;
}

/* ==========================================
   HERO SECTION
========================================== */

.hero{
    min-height:calc(100vh - 80px);
    display:flex;
    align-items:center;
    background:
    linear-gradient(
    135deg,
  #FAFFF9 0%,
  #FFFFFF 55%,
  #F4FBF3 100%);
    padding-top:30px;
    padding-bottom:60px;
}

.hero-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:70px;
}

.hero-badge{
    display:inline-block;
    padding:10px 20px;
    background:#E8F5E9;
    color:var(--primary);
    border-radius:50px;
    font-weight:600;
    margin-bottom:25px;
}

.hero-text h1{
    font-size:4rem;
    line-height:1.15;
    font-weight:800;
    margin-bottom:25px;
    color:var(--dark);
}

.hero-text h1 span{
    display:block;
    color:var(--primary);
}

.hero-text p{
    font-size:1.1rem;
    color:var(--gray);
    margin-bottom:35px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    margin-bottom:45px;
}

.hero-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-image img{
        width: 100%;

    border-radius: 25px;

    box-shadow: var(--shadow-lg);

    position: relative;

    top: -45px;

    display: block;

    transition: .4s ease;

    object-fit: cover;
}

.hero-image img:hover{
    transform:scale(1.02);
}

/* ==========================================
   HERO HIGHLIGHTS
========================================== */

.hero-highlights{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:40px;
}

.highlight-item{
    display:flex;
    align-items:center;
    gap:10px;

    padding:14px 22px;

    background:#ffffff;

    border:1px solid #eef2ee;

    border-radius:50px;

    box-shadow:0 8px 20px rgba(0,0,0,.06);

    font-weight:600;

    transition:all .3s ease;
}

.highlight-item:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(46,125,50,.15);
    border-color:var(--primary);
}

/* ==========================================
   MOBILE MENU
========================================== */

.mobile-menu{

    position:fixed;

    top:80px;

    left:-100%;

    width:100%;

    background:#fff;

    display:flex;

    flex-direction:column;

    padding:30px;

    gap:20px;

    transition:.4s;

    box-shadow:var(--shadow-md);

    z-index:999;

}

.mobile-menu.active{

    left:0;

}

.mobile-menu a{

    font-size:18px;

    font-weight:600;

    color:var(--dark);

}

/*==========================================
            ABOUT SECTION
==========================================*/

.about{

    min-height:calc(100vh - 80px);

    display:flex;

    align-items:center;

    background:#fff;

    padding:40px 0;

}

.about-content{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    width:100%;

}

.about-image img{
    width:100%;
     position:relative;

    top:-20px;

    
    border-radius:28px;

    /* border:8px solid #fff; */

    box-shadow:0 25px 60px rgba(0,0,0,.15);

     
    height:560px;
    object-fit:cover;
   
}

.about-image{

    display:flex;

    align-items:center;

}

/*==============================
    SECTION TAG
==============================*/

.section-tag{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:12px 24px;

    background:#EDF8EC;

    color:var(--primary);

    border-radius:50px;

    font-size:18px;

    font-weight:600;

    letter-spacing:.5px;

    margin-bottom:24px;

}

.section-tag i{

    color:var(--primary);

    font-size:18px;

}

.about-text h2{

    font-family:"Poppins",sans-serif;

      font-size:48px;
    line-height:1.2;
    margin-bottom:24px;

    letter-spacing:-1px;

    color:#1f2937;

    margin-bottom:30px;

    max-width:650px;

}

.about-text h2 span{

    display:block;

    color:var(--primary);

}

.about-text p{

    max-width:620px;

    font-size:18px;
    line-height:1.7;
    margin:24px 0 30px;

    color:#667085;

    

}

.about-item{

    display:flex;

    align-items:center;

    gap:14px;

    font-size:22px;

    font-weight:500;

}

.about-item i{

    color:var(--primary);

    font-size:22px;

}

.about-text .btn-primary{

    display:inline-flex;

    align-items:center;

    gap:12px;

}

.about-text .btn-primary i{

    transition:.3s;

}

.about-text .btn-primary:hover i{

    transform:translateX(6px);

}

.about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px 25px;

    margin:35px 0 45px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:18px;

    font-weight:600;

}

.feature-item i{

    width:40px;

    height:40px;

    border-radius:50%;

    background:#EAF6E8;

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

}

/* ==========================================
   AWARDS SECTION
========================================== */

.awards{

    padding:100px 0;

    background:#F8FFF5;

}

.section-title{

    width:100%;

    max-width:800px;

    margin:0 auto 70px;

    text-align:center;

}

.section-title h2{

    font-size:52px;

    font-weight:800;

    color:#1F2937;

    margin:20px 0;

}

.section-title h2 span{

    color:var(--primary);

}

.section-title p{

    font-size:18px;

    color:#64748B;

    line-height:1.8;

}

.awards-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:35px;

}

.award-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    cursor:pointer;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.4s;
}

.award-overlay{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:25px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.45),
        transparent
    );

    color:#fff;

    transform:translateY(100%);

    transition:.4s;
}

.award-card:hover .award-overlay{

    transform:translateY(0);

}

.award-card:hover img{

    transform:scale(1.08);

}

.award-card:hover{

    transform:translateY(-10px);

}

.award-card.active img{

    transform:scale(1.08);

}

.award-card img{

    width:100%;
    height:420px;
    object-fit:cover;
   border-radius:24px;
    display:block;

    transition:.5s;
}

.award-info{

    padding:25px;

    text-align:center;

    flex:1;

}

.award-overlay h3{

    font-size:30px;
    font-weight:700;
    margin:15px 0 8px;
}

.award-overlay p{

    font-size:18px;
    opacity:.9;
}

.award-badge{

    display:inline-block;

    background:#fff;

    color:#2E7D32;

    padding:8px 18px;

    border-radius:50px;

    font-size:14px;

    font-weight:700;
}

/* ==========================================
   PRODUCTS SECTION
========================================== */

.products{

    padding:100px 0;

    background:#ffffff;

}

.products-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.product-image{

    overflow:hidden;

}

.product-image img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.5s;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}

.product-content{

    padding:28px;

}

.product-content h3{

    font-size:28px;

    font-weight:700;

    color:#1F2937;

    margin-bottom:15px;

}

.product-content p{

    color:#667085;

    line-height:1.8;

    margin-bottom:25px;

}

.product-content a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.product-content a i{

    transition:.3s;

}

.product-content a:hover{

    color:var(--primary-dark);

}

.product-content a:hover i{

    transform:translateX(8px);

}

.products-btn{

    text-align:center;

    margin-top:60px;

}

.product-card{

    border-top:4px solid transparent;

}

.product-card:hover{

    border-top-color:var(--primary);

}

/*=========================================
            GALLERY SECTION
=========================================*/

.gallery{
    padding:100px 0;
    background:#f8fcf6;
    overflow:hidden;
}

.gallery-slider{
    position:relative;
    width:100%;
    height:520px;
    margin-top:70px;
}

/* Cards */

.gallery-card{

    position:absolute;

    top:50%;
    left:50%;

    width:800px;
    height:500px;

    border-radius:24px;

    overflow:hidden;

      transition:
        transform .5s ease,
        opacity .5s ease;

    transform:translate(-50%,-50%);

    opacity:0;

    z-index:1;

    pointer-events:none;

    box-shadow:0 25px 70px rgba(0,0,0,.18);

}

.gallery-track{

    touch-action: pan-y;
    cursor: grab;

}

.gallery-track:active{

    cursor: grabbing;

}

/* Images */

/* Hover */

.gallery-card:hover{

    box-shadow:0 35px 70px rgba(46,125,50,.25);

}

.gallery-card:hover img{

    transform:scale(1.05);

}

.gallery-card img{

    transition:.5s;

}

/* Navigation */

.gallery-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    cursor:pointer;

    transition:.3s;

    z-index:20;

}

.gallery-btn:hover{

    background:var(--primary);

    color:#fff;

}

.gallery-btn.prev{

    left:20px;

}

.gallery-btn.next{

    right:20px;

}

/* Dots */

.gallery-dots{

    display:flex;

    justify-content:center;

    gap:12px;

    margin-top:40px;

}

.gallery-dots .dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#cfd8dc;

}

.gallery-dots .dot.active{

    width:38px;

    border-radius:20px;

    background:var(--primary);

}

/* Footer */

.gallery-footer{

    text-align:center;

    margin-top:50px;

}

/*==========================================
        TESTIMONIALS
==========================================*/

.testimonials{

    position:relative;

    overflow:hidden;

    padding:100px 0;

    background:#F8FCF7;
}


/* Background decoration */

.testimonials::before{

    content:"❝";

    position:absolute;

    top:30px;

    left:-30px;

    font-size:240px;

    color:#2E7D32;

    opacity:.04;

    font-family:serif;

    pointer-events:none;
}


.testimonials::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    right:-60px;

    bottom:-60px;

    background:rgba(46,125,50,.05);

    border-radius:50%;

    pointer-events:none;
}


/*==========================================
        CAROUSEL WRAPPER
==========================================*/

.testimonial-wrapper{

    position:relative;

    max-width:1200px;

    margin:0 auto;

    padding:0 55px;

}


/*==========================================
        REVIEW CONTAINER
==========================================*/

.testimonial-grid{

    display:flex !important;

    flex-wrap:nowrap;

    gap:35px;

    width:100%;

    margin-top:70px;

    overflow-x:hidden;

    overflow-y:visible;

    scroll-behavior:smooth;

    padding:10px 5px 30px;

    box-sizing:border-box;
}


/*==========================================
        REVIEW CARD
==========================================*/

.testimonial-card {

    position: relative;

    flex: 0 0 calc((100% - 70px) / 3);

    width: calc((100% - 70px) / 3);

    min-width: 0;

    min-height: 430px;

    height: auto;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    padding: 40px;

    border-radius: 24px;

    background: linear-gradient(
        180deg,
        #ffffff,
        #fcfffc
    );

    border: 1px solid #E4ECE5;

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);

    overflow: hidden;

    opacity: 1;

    transform: none;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/*==========================================
        CARD HOVER
==========================================*/

.testimonial-card:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px rgba(46,125,50,.18);

    border-color:#66BB6A;
}


/*==========================================
        GREEN TOP LINE
==========================================*/

.testimonial-card::after{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        #2E7D32,
        #66BB6A
    );

    z-index:3;
}


/*==========================================
        SHINE EFFECT
==========================================*/

.testimonial-card::before{

    content:"";

    position:absolute;

    top:0;

    left:-150%;

    width:80%;

    height:100%;

    background:linear-gradient(
        115deg,
        transparent 0%,
        rgba(46,125,50,.05) 35%,
        rgba(102,187,106,.18) 50%,
        rgba(46,125,50,.05) 65%,
        transparent 100%
    );

    transform:skewX(-25deg);

    transition:left 1s ease;

    z-index:1;

    pointer-events:none;
}


.testimonial-card:hover::before{

    left:170%;
}


.testimonial-card > *{

    position:relative;

    z-index:2;
}


/*==========================================
        QUOTE ICON
==========================================*/

.quote-icon{

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#EAF6E8;

    color:#2E7D32;

    border-radius:50%;

    font-size:28px;

    margin-bottom:25px;

    flex-shrink:0;
}


/*==========================================
        REVIEW TEXT
==========================================*/

.testimonial-card p {

    margin: 0;

    color: #555;

    font-size: 17px;

    line-height: 1.9;

    font-style: italic;

    overflow: visible;

    display: block;

    height: auto;

    max-height: none;

    -webkit-line-clamp: unset;

    -webkit-box-orient: unset;

    white-space: normal;

    word-break: normal;

    overflow-wrap: break-word;
}


/*==========================================
        VISITOR INFORMATION
==========================================*/

.visitor-info {

    margin-top: 30px;

    padding-top: 22px;

    border-top: 1px solid #ECECEC;

    flex-shrink: 0;
}


.visitor-info h4 {

    margin: 0;

    font-size: 21px;

    font-weight: 700;

    color: #1F2937;
}


.visitor-info span {

    display: block;

    margin-top: 7px;

    color: #777;

    font-size: 14px;

    line-height: 1.5;
}


/*==========================================
        PREVIOUS / NEXT BUTTONS
==========================================*/

.testimonial-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:#ffffff;

    color:#2E7D32;

    box-shadow:
        0 8px 25px rgba(0,0,0,.14);

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:10;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


.testimonial-btn:hover{

    background:#2E7D32;

    color:#ffffff;

    transform:
        translateY(-50%)
        scale(1.08);
}


.testimonial-prev{

    left:0;
}


.testimonial-next{

    right:0;
}


/*==========================================
        DOTS
==========================================*/

.testimonial-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    margin-top:15px;
}


.testimonial-dot{

    width:9px;

    height:9px;

    padding:0;

    border:none;

    border-radius:50%;

    background:#CFE8D1;

    cursor:pointer;

    transition:
        width .3s ease,
        background .3s ease;
}


.testimonial-dot.active{

    width:25px;

    border-radius:20px;

    background:#2E7D32;
}


/*==========================================
        TABLET
==========================================*/

@media(max-width:992px){

    .testimonial-wrapper{

        padding:0 50px;

    }


      .testimonial-card {

    flex: 0 0 100%;

    width: 100%;

    min-height: 400px;

    height: auto;

    padding: 32px;
}

}


/*==========================================
        MOBILE
==========================================*/

@media(max-width:576px){

    .testimonials{

        padding:80px 0;

    }


    .testimonial-wrapper{

        padding:0 45px;

    }


    .testimonial-grid{

        gap:0;

        margin-top:45px;

        padding:
            10px 0 25px;

    }


     .testimonial-card {

        flex: 0 0 100%;

        width: 100%;

        min-height: 380px;

        height: auto;

        padding: 28px;
    }


    .testimonial-card p {

        font-size: 16px;

        line-height: 1.8;

        height: auto;

        max-height: none;

        -webkit-line-clamp: unset;
    }


    .visitor-info {

        margin-top: 25px;

        padding-top: 18px;
    }


    .visitor-info h4 {

        font-size: 19px;
    }


    .quote-icon{

        width:58px;

        height:58px;

        font-size:24px;

        margin-bottom:20px;

    }


    

    .testimonial-btn{

        width:38px;

        height:38px;

        font-size:13px;

    }


    .testimonial-prev{

        left:0;

    }


    .testimonial-next{

        right:0;

    }

}

/*==========================================
        SECTION DIVIDER
==========================================*/

.section-divider{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
}

.section-divider span{
    width: 90px;
    height: 2px;
    background: #CFE8D1;
}

.section-divider i{
    font-size: 22px;
    color: #2E7D32;
}

/*==========================================
            CONTACT
==========================================*/

.contact{

    padding:100px 0;

    background:#ffffff;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1.1fr;

    gap:60px;

    align-items:center;

    margin-top:70px;

}

/* LEFT */

.contact-details{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.contact-card{

    display:flex;

    gap:20px;

    align-items:flex-start;

    padding:24px;

    border-radius:22px;

    background:#fff;

    border:1px solid #E8ECE8;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    transition:.4s;

    position:relative;

    overflow:hidden;

}

.contact-card::before{

    content:"";

    position:absolute;

    top:0;
    left:-100%;

    width:100%;
    height:100%;

    background:linear-gradient(
        135deg,
        rgba(46,125,50,.04),
        rgba(102,187,106,.12)
    );

    transition:left .7s ease;

}

.contact-card:hover::before{

    left:0;

}

.contact-card>*{

    position:relative;

    z-index:2;

}

.contact-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 50px rgba(46,125,50,.15);

}

.contact-icon{

    width:65px;
    height:65px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#EAF6E8;

    color:#2E7D32;

    font-size:24px;

    flex-shrink:0;

}

.contact-card h4{

    margin-bottom:8px;

    font-size:21px;

    color:#1F2937;

}

.contact-card p{

    color:#666;

    line-height:1.8;

}

.contact .btn-primary{

    width:max-content;

    margin-top:15px;

}

/* RIGHT */

.contact-map{

    border-radius:26px;

    overflow:hidden;

    box-shadow:0 20px 60px rgba(0,0,0,.12);

}

.contact-map iframe{

    width:100%;

    height:600px;

    border:0;

}

/*==========================================
            RESPONSIVE
==========================================*/

@media(max-width:992px){

.contact-wrapper{

    grid-template-columns:1fr;

}

.contact-map{

    order:-1;

}

.contact-map iframe{

    height:400px;

}

}

@media(max-width:576px){

.contact{

    padding:80px 0;

}

.contact-card{

    padding:20px;

}

.contact-icon{

    width:55px;
    height:55px;

    font-size:20px;

}

.contact-card h4{

    font-size:18px;

}

.contact .btn-primary{

    width:100%;

    justify-content:center;

}

.contact-map iframe{

    height:320px;

}

}

/*==========================================
                FOOTER
==========================================*/

.footer{

    background:linear-gradient(
        180deg,
        #143A1E,
        #1B5E20
    );

    color:#fff;

    position:relative;

    overflow:hidden;

}

/* Decorative Background */

.footer::before{

    content:"";

    position:absolute;

    width:320px;
    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    top:-120px;
    right:-120px;

}

.footer::after{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    bottom:-80px;
    left:-80px;

}

.footer-wave{

    width:100%;

    overflow:hidden;

    line-height:0;

}

.footer-wave svg{

    display:block;

    width:100%;

    height:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1.5fr;

    gap:60px;

    padding:80px 0 50px;

    position:relative;

    z-index:2;

}

.footer-brand h2{

    font-size:34px;

    margin-bottom:18px;

}

.footer-brand p{

    color:#D7E8D7;

    line-height:1.9;

}

.footer-links h3,
.footer-contact h3{

    margin-bottom:22px;

    font-size:24px;

}

.footer-links ul{

    list-style:none;

    padding:0;

}

.footer-links li{

    margin-bottom:15px;

}

.footer-links a{

    color:#D7E8D7;

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover{

    color:#81C784;

    padding-left:8px;

}

.footer-contact p{

    display:flex;

    gap:12px;

    align-items:flex-start;

    color:#D7E8D7;

    margin-bottom:18px;

    line-height:1.8;

}

.footer-contact i{

    color:#81C784;

    margin-top:4px;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.12);

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px 0;

    position:relative;

    z-index:2;

}

.footer-bottom p{

    color:#D7E8D7;

}

/* Back To Top */

#backToTop{

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:#2E7D32;

    color:#fff;

    font-size:18px;

    transition:.35s;

}

#backToTop:hover{

    background:#66BB6A;

    transform:translateY(-6px);

    box-shadow:0 12px 25px rgba(102,187,106,.4);

}

/* =====================================================
   TESTIMONIAL FINAL FIX
   2 CARDS ON DESKTOP
   1 CARD ON MOBILE
===================================================== */

.testimonial-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 35px !important;

    width: 100% !important;

    overflow-x: hidden !important;
    overflow-y: visible !important;

    transition: none !important;

    scroll-behavior: smooth !important;

    padding: 10px 5px 30px !important;

    box-sizing: border-box !important;
}


.testimonial-card {
    flex: 0 0 calc((100% - 35px) / 2) !important;

    width: calc((100% - 35px) / 2) !important;

    min-width: 0 !important;

    height: auto !important;

    min-height: 330px !important;

    box-sizing: border-box !important;
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 992px) {

    .testimonial-card {
        flex: 0 0 100% !important;

        width: 100% !important;

        min-height: 380px !important;
    }

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 576px) {

    .testimonial-card {
        flex: 0 0 100% !important;

        width: 100% !important;

        min-height: 380px !important;
    }

}