/* =====================================
   PROJECTS PAGE
===================================== */


/* =====================================
   PROJECTS BANNER
===================================== */

.projects-banner{

    position:relative;

    min-height:420px;

    display:flex;

    align-items:center;

    background:
    url("../images/projects-banner.jpg")
    center center / cover no-repeat;

}

.projects-banner-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(6,58,89,.92),
        rgba(6,58,89,.65)
    );

}

.projects-banner .container{

    position:relative;

    z-index:2;

}

.projects-banner-content{

    max-width:750px;

    color:#fff;

}

.projects-banner-content .section-subtitle{

    color:#afc945;

}

.projects-banner-content h1{

    font-size:3.8rem;

    line-height:1.15;

    margin:15px 0 20px;

    color:#fff;

}

.projects-banner-content p{

    max-width:650px;

    font-size:1.15rem;

    line-height:1.8;

    color:rgba(255,255,255,.88);

}


/* =====================================
   PROJECTS INTRODUCTION
===================================== */

.projects-intro{

    padding:110px 0;

    background:#fff;

}

.projects-intro-content{

    max-width:850px;

    margin:auto;

    text-align:center;

}

.projects-intro-content h2{

    font-size:2.8rem;

    color:#063a59;

    margin:15px 0 25px;

}

.projects-intro-content p{

    color:#666;

    line-height:1.9;

    margin-bottom:18px;

}


/* =====================================
   PROJECT PORTFOLIO
===================================== */

.projects-portfolio{

    padding:110px 0;

    background:#f5f8f9;

}

.projects-heading{

    max-width:750px;

    margin:0 auto 50px;

    text-align:center;

}

.projects-heading h2{

    font-size:2.8rem;

    color:#063a59;

    margin:15px 0 20px;

}

.projects-heading p{

    color:#666;

    line-height:1.8;

}


/* =====================================
   YEAR FILTER
===================================== */

.project-filter{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:12px;

    margin-bottom:55px;

}

.filter-btn{

    border:none;

    background:#fff;

    color:#063a59;

    padding:13px 22px;

    font-size:.95rem;

    font-weight:600;

    cursor:pointer;

    border-radius:4px;

    box-shadow:
    0 4px 15px rgba(0,0,0,.06);

    transition:.3s ease;

}

.filter-btn:hover{

    background:#afc945;

    color:#063a59;

    transform:translateY(-2px);

}

.filter-btn.active{

    background:#063a59;

    color:#fff;

}


/* =====================================
   PROJECT YEAR CONTAINERS
===================================== */

.projects-year{

    display:none;

}

.projects-year.active{

    display:block;

    animation:projectFade .5s ease;

}

@keyframes projectFade{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* =====================================
   PROJECT TABLE
===================================== */

.projects-table{

    width:100%;

    background:#fff;

    border-radius:8px;

    overflow:hidden;

    box-shadow:
    0 10px 35px rgba(0,0,0,.06);

}

.project-table-header{

    display:grid;

    grid-template-columns:
    1.3fr
    2fr
    1fr
    .8fr;

    background:#063a59;

    color:#fff;

    padding:22px 30px;

    font-weight:600;

    font-size:.95rem;

}

.project-row{

    display:grid;

    grid-template-columns:
    1.3fr
    2fr
    1fr
    .8fr;

    align-items:center;

    padding:28px 30px;

    border-bottom:
    1px solid #edf0f2;

    transition:.3s ease;

}

.project-row:last-child{

    border-bottom:none;

}

.project-row:hover{

    background:#f8fafb;

}


/* =====================================
   PROJECT NAME
===================================== */

.project-name{

    display:flex;

    align-items:flex-start;

    gap:15px;

}

.project-number{

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:38px;

    height:38px;

    border-radius:50%;

    background:#afc945;

    color:#063a59;

    font-size:.8rem;

    font-weight:700;

}

.project-name h3{

    font-size:1rem;

    line-height:1.5;

    color:#063a59;

    margin:0;

}

.project-description{

    color:#666;

    font-size:.93rem;

    line-height:1.7;

    padding-right:20px;

}

.project-client{

    color:#063a59;

    font-size:.9rem;

    font-weight:600;

}

.project-duration{

    color:#77a438;

    font-size:.9rem;

    font-weight:700;

}


/* =====================================
   NO PROJECTS
===================================== */

.no-projects{

    padding:80px 30px;

    background:#fff;

    text-align:center;

    border-radius:8px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.05);

}

.no-projects i{

    font-size:3rem;

    color:#afc945;

    margin-bottom:20px;

}

.no-projects h3{

    font-size:1.5rem;

    color:#063a59;

    margin-bottom:12px;

}

.no-projects p{

    max-width:500px;

    margin:auto;

    color:#777;

    line-height:1.7;

}


/* =====================================
   PROJECT CTA
===================================== */

.projects-cta{

    position:relative;

    padding:120px 0;

    background:
    linear-gradient(
        135deg,
        #063a59,
        #0e7d9f
    );

    text-align:center;

    color:#fff;

    overflow:hidden;

}

.projects-cta::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    border:
    80px solid rgba(255,255,255,.03);

    top:-250px;

    left:-150px;

}

.projects-cta::after{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    border-radius:50%;

    border:
    60px solid rgba(255,255,255,.03);

    bottom:-200px;

    right:-100px;

}

.projects-cta .container{

    position:relative;

    z-index:2;

}

.projects-cta-content{

    max-width:750px;

    margin:auto;

}

.projects-cta-content > span{

    display:block;

    color:#afc945;

    font-size:.9rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.projects-cta h2{

    font-size:2.8rem;

    color:#fff;

    margin-bottom:20px;

}

.projects-cta p{

    max-width:650px;

    margin:0 auto 35px;

    color:rgba(255,255,255,.82);

    line-height:1.8;

    font-size:1.05rem;

}

.projects-cta .btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:#afc945;

    color:#063a59;

}

.projects-cta .btn-primary:hover{

    background:#fff;

    transform:translateY(-3px);

}