/* ===============================
   RESET
================================ */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --primary:#0c4b3e;
    --primary-dark:#07352d;
    --secondary:#d7a928;
    --light:#f7f9f8;
    --dark:#17201d;
    --text:#626b67;
    --white:#ffffff;
    --border:#e7ebe9;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    color:var(--dark);
    background:#fff;
    line-height:1.7;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    width:100%;
    display:block;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* ===============================
   HERO
================================ */

.page-hero{
    min-height:390px;
    position:relative;
    display:flex;
    align-items:center;
    background:
        linear-gradient(rgba(7,53,45,.35),rgba(7,53,45,.35)),
        url("../img/sch-building.jpg") center/cover;
}

.hero-content{
    position:relative;
    color:#fff;
    text-align:center;
}

.hero-small{
    color:var(--secondary);
    font-size:14px;
    font-weight:bold;
    letter-spacing:2px;
}

.hero-content h1{
    font-size:55px;
    margin:12px 0;
}

.hero-content p{
    max-width:700px;
    margin:auto;
    color:#e7eeee;
}

.breadcrumb{
    margin-top:25px;
    display:flex;
    justify-content:center;
    gap:10px;
    font-size:14px;
}

.breadcrumb a{
    color:var(--secondary);
}


/* ===============================
   NEWS SECTION
================================ */

.news-section{
    padding:90px 0;
    background:var(--light);
}

.section-heading{
    max-width:700px;
    text-align:center;
    margin:0 auto 55px;
}

.section-heading > span{
    color:var(--secondary);
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
}

.section-heading h2{
    font-size:40px;
    margin:8px 0 15px;
    color:var(--primary);
}

.section-heading p{
    color:var(--text);
}


/* ===============================
   NEWS LAYOUT
================================ */

.news-layout{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:40px;
}

.news-main{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.news-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 7px 25px rgba(0,0,0,.06);
    transition:.3s;
}

.news-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.1);
}

.news-image{
    height:230px;
    position:relative;
    overflow:hidden;
}

.news-image img{
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.news-card:hover .news-image img{
    transform:scale(1.06);
}

.news-date{
    position:absolute;
    top:15px;
    left:15px;
    background:var(--primary);
    color:#fff;
    width:58px;
    height:65px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    border-radius:4px;
}

.news-date strong{
    font-size:20px;
    line-height:1;
}

.news-date span{
    font-size:11px;
    margin-top:4px;
    color:var(--secondary);
    font-weight:bold;
}

.news-content{
    padding:25px;
}

.category{
    color:var(--secondary);
    font-size:12px;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:.7px;
}

.category i{
    margin-right:5px;
}

.news-content h3{
    color:var(--primary);
    font-size:21px;
    line-height:1.35;
    margin:12px 0;
}

.news-content p{
    color:var(--text);
    font-size:14px;
}

.read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-weight:bold;
    font-size:13px;
    margin-top:18px;
}

.read-more:hover{
    color:var(--secondary);
}


/* ===============================
   SIDEBAR
================================ */

.sidebar{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.sidebar-box{
    background:#fff;
    padding:28px;
    border:1px solid var(--border);
    border-radius:6px;
}

.sidebar-box h3{
    font-size:20px;
    color:var(--primary);
    padding-bottom:15px;
    margin-bottom:20px;
    border-bottom:2px solid var(--secondary);
}


/* SEARCH */

.search-box{
    display:flex;
}

.search-box input{
    width:100%;
    border:1px solid var(--border);
    padding:12px;
    outline:none;
}

.search-box button{
    width:50px;
    border:0;
    background:var(--primary);
    color:#fff;
    cursor:pointer;
}


/* CATEGORIES */

.categories{
    list-style:none;
}

.categories li{
    border-bottom:1px solid var(--border);
}

.categories li:last-child{
    border-bottom:0;
}

.categories a{
    display:flex;
    justify-content:space-between;
    padding:10px 0;
    color:var(--text);
    font-size:14px;
}

.categories a:hover{
    color:var(--primary);
}

.categories span{
    background:#eef3f1;
    padding:2px 8px;
    border-radius:15px;
    font-size:11px;
}


/* RECENT POSTS */

.recent-post{
    display:flex;
    gap:12px;
    margin-bottom:18px;
}

.recent-post:last-child{
    margin-bottom:0;
}

.recent-post img{
    width:75px;
    height:65px;
    object-fit:cover;
    border-radius:4px;
}

.recent-post h4{
    font-size:13px;
    line-height:1.4;
    color:var(--primary);
}

.recent-post small{
    font-size:11px;
    color:#89918d;
}


/* NEWSLETTER */

.newsletter{
    padding:30px;
    background:var(--primary);
    color:#fff;
    border-radius:6px;
    text-align:center;
}

.newsletter > i{
    font-size:35px;
    color:var(--secondary);
}

.newsletter h3{
    font-size:23px;
    margin:10px 0;
}

.newsletter p{
    font-size:13px;
    color:#dce7e3;
    margin-bottom:20px;
}

.newsletter input{
    width:100%;
    padding:12px;
    border:0;
    outline:none;
    margin-bottom:10px;
}

.newsletter button{
    width:100%;
    padding:12px;
    border:0;
    background:var(--secondary);
    color:#fff;
    font-weight:bold;
    cursor:pointer;
}


/* ===============================
   PAGINATION
================================ */

.pagination{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:60px;
}

.pagination a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--border);
    background:#fff;
    color:var(--primary);
    border-radius:4px;
}

.pagination a:hover,
.pagination .active{
    background:var(--primary);
    color:#fff;
}


/* ===============================
   CTA
================================ */

.cta{
    background:
        linear-gradient(100deg, rgba(5,48,98,.65), rgba(10,79,156,.65)),
        url("../img/gallery2.jpg") center/cover;
    padding:70px 0;
    color:#fff;
}

.cta-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.cta-content span{
    color:var(--secondary);
    font-size:13px;
    font-weight:bold;
    letter-spacing:2px;
}

.cta-content h2{
    font-size:34px;
    max-width:700px;
    line-height:1.3;
    margin:8px 0;
}

.cta-content p{
    color:#dce7e3;
    max-width:650px;
}

.cta-btn{
    background:var(--secondary);
    color:#fff;
    padding:15px 25px;
    white-space:nowrap;
    border-radius:4px;
    font-weight:bold;
}

.cta-btn:hover{
    background:#fff;
    color:var(--primary);
}


/* ===============================
   RESPONSIVE
================================ */

@media(max-width:1000px){

    .nav{
        gap:15px;
    }

    .news-layout{
        grid-template-columns:1fr;
    }

    .sidebar{
        display:grid;
        grid-template-columns:repeat(2,1fr);
    }

    .newsletter{
        grid-column:1/-1;
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media(max-width:800px){

    .top-content{
        justify-content:center;
        flex-direction:column;
        padding:8px 0;
        gap:3px;
    }

    .menu-toggle{
        display:block;
    }

    .nav{
        position:absolute;
        top:82px;
        left:0;
        width:100%;
        background:#fff;
        flex-direction:column;
        align-items:flex-start;
        padding:20px 5%;
        box-shadow:0 10px 20px rgba(0,0,0,.1);
        display:none;
    }

    .nav.show{
        display:flex;
    }

    .nav > a{
        width:100%;
        padding:8px 0;
    }

    .dropdown{
        width:100%;
    }

    .dropdown-menu{
        position:static;
        box-shadow:none;
        display:none;
        opacity:1;
        visibility:visible;
        transform:none;
        padding-left:15px;
    }

    .dropdown:hover .dropdown-menu{
        display:block;
    }

    .apply-btn{
        text-align:center;
    }

    .hero-content h1{
        font-size:42px;
    }

    .news-main{
        grid-template-columns:1fr;
    }

    .cta-content{
        flex-direction:column;
        align-items:flex-start;
    }

}


@media(max-width:600px){

    .hero-content h1{
        font-size:34px;
    }

    .page-hero{
        min-height:330px;
    }

    .news-section{
        padding:65px 0;
    }

    .section-heading h2{
        font-size:32px;
    }

    .sidebar{
        grid-template-columns:1fr;
    }

    .cta-content h2{
        font-size:27px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
    }

}