/* =========================
   GLOBAL
========================= */

body{
    font-family: Arial, sans-serif;
    overflow-x: hidden;
    background-color: #fff;
}

section{
    padding: 90px 0;
}

.container{
    max-width: 1320px;
}

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

.custom-navbar{
    background-color: #ffffff;
    padding: 16px 0;
    border-bottom: 1px solid #e9ecef;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.navbar-brand{
    font-size: 28px;
    font-weight: 700;
    color: #1f3b1f;
}

.navbar-brand:hover{
    color: #1f3b1f;
}

.nav-link{
    position: relative;
    font-weight: 500;
    color: #333;
    margin-left: 20px;
    transition: 0.3s;
}

.nav-link:hover{
    color: #198754;
}

/* Underline Animation */

.nav-link::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0%;
    height: 2px;
    background-color: #198754;
    transition: 0.3s;
}

.nav-link:hover::after{
    width: 100%;
}

.nav-link.active{
    color: #198754 !important;
}

.nav-link.active::after{
    width: 100%;
}

.navbar-toggler{
    border: none;
}

.navbar-toggler:focus{
    box-shadow: none;
}

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

.hero{
    background-color: #f8f9fa;
    overflow: hidden;
}

.hero .container{
    max-width: 1400px;
}

.hero h1{
    font-size: 62px;
    line-height: 1.15;
    font-weight: 700;
    color: #1f1f1f;
}

.hero p{
    font-size: 18px;
    color: #666;
    line-height: 1.8;
    max-width: 560px;
}

.hero .btn{
    padding: 14px 30px;
    border-radius: 8px;
}

/* HERO SLIDER */

#heroSlider img{
    width: 100%;
    height: 85vh;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

/* =========================
   WHAT WE DO
========================= */

.what-we-do{
    background-color: #ffffff;
}

.what-we-do h2{
    font-size: 42px;
    font-weight: 700;
}

.what-we-do h3{
    font-size: 28px;
    color: #1f3b1f;
    margin-bottom: 20px;
    font-weight: 700;
}

.what-we-do p{
    color: #555;
    line-height: 1.9;
    font-size: 16px;
}

.what-we-do .row{
    align-items: flex-start;
}

/* =========================
   FOCUS AREA CARDS
========================= */

.card{
    border: none;
    border-radius: 14px;
    overflow: hidden;
    transition: 0.3s;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.card:hover{
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.card img{
    height: 200px;
    object-fit: cover;
}

.card h5{
    margin-top: 15px;
    font-weight: 600;
}

/* =========================
   GRANT SECTION
========================= */

.grant-section img{
    border-radius: 14px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

/* =========================
   COMMUNITY SLIDER
========================= */

.carousel img{
    height: 500px;
    object-fit: cover;
    border-radius: 14px;
}

/* =========================
   CTA SECTION
========================= */

.cta-section{
    background-color: #198754;
}

.cta-section h2{
    font-size: 42px;
    font-weight: 700;
}

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

footer{
    background-color: #1f1f1f;
}

footer h3{
    font-size: 30px;
    margin-bottom: 20px;
}

footer p{
    color: #ccc;
    line-height: 1.8;
}

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

@media(max-width:768px){

    html,
    body{
        overflow-x: hidden;
    }

    section{
        padding: 70px 0;
    }

    .container{
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Navbar */

    .custom-navbar{
        padding: 12px 0;
    }

    .navbar-brand{
        font-size: 22px;
    }

    .navbar-collapse{
        background-color: #fff;
        margin-top: 10px;
    }

    .navbar-nav{
        width: 100%;
    }

    .nav-item{
        width: 100%;
    }

    .nav-link{
        display: block;
        width: 100%;
        margin-left: 0;
        padding: 14px 0;
        font-size: 15px;
        text-align: center;
        border-bottom: 1px solid #f1f1f1;
    }

    .nav-link::after{
        display: none;
    }

    /* Hero */

    .hero{
        padding: 70px 0;
        text-align: center;
    }

    .hero h1{
        font-size: 38px;
    }

    .hero p{
        font-size: 16px;
        max-width: 100%;
    }

    #heroSlider img{
        height: 320px;
        margin-top: 30px;
    }

    /* What We Do */

    .what-we-do{
        text-align: center;
    }

    .what-we-do h2{
        font-size: 34px;
    }

    .what-we-do h3{
        font-size: 24px;
        margin-bottom: 20px;
    }

    /* Cards */

    .card{
        margin-bottom: 20px;
    }

    /* Community Slider */

    .carousel img{
        height: 250px;
    }

    /* Footer */

    footer{
        text-align: center;
    }

    footer .text-md-end{
        text-align: center !important;
        margin-top: 20px;
    }

}