/*=====================================
            PAGE BANNER
======================================*/

.page-banner{

    position:relative;
    width: 100%;
    height:395px;

    background:url("../images/building2.jpeg") center/cover no-repeat;

    display:flex;

    justify-content:center;

    align-items:center;

}

.banner-overlay{

    position:absolute;

    inset:0;

    background:rgba(76,29,149,.75);

}

.banner-content{

    position:relative;

    z-index:2;

    text-align:center;

    color:#fff;

}

.banner-content h1{

    font-size:50px;

    margin-bottom:15px;

}

.banner-content p{

    font-size:18px;

}

.banner-content a{

    color:#FBBF24;

    text-decoration:none;

    font-weight:600;

}

.banner-content span{

    margin:0 10px;

}

/*=====================================
        COMMON HEADING
======================================*/

.gallery-section{

    padding:90px 8%;

    background:#F8F5FF;

}

.section-heading{

    text-align:center;

    margin-bottom:50px;

}

.section-heading h4{

    color:#6D28D9;

    letter-spacing:2px;

    text-transform:uppercase;

}

.section-heading h2{

    font-size:40px;

    color:#2E1065;

    margin:12px 0;

}

.title-line{

    width:90px;

    height:4px;

    background:#FBBF24;

    margin:auto;

    border-radius:30px;

}

/*=====================================
        FILTER BUTTONS
======================================*/

.gallery-filter{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:50px;

}

.filter-btn{

    padding:12px 28px;

    border:none;

    border-radius:30px;

    background:#fff;

    color:#4C1D95;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.filter-btn:hover,

.filter-btn.active{

    background:#4C1D95;

    color:#fff;

}

/*=====================================
        GALLERY GRID
======================================*/

.gallery-container{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:18px;

    cursor:pointer;

    box-shadow:0 8px 25px rgba(0,0,0,.12);

}

.gallery-item img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.5s;

    display:block;

}

/*=====================================
        OVERLAY
======================================*/

.gallery-overlay{

    position:absolute;

    inset:0;

    background:rgba(76,29,149,.75);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    opacity:0;

    transition:.4s;

    color:#fff;

}

.gallery-overlay i{

    font-size:40px;

    color:#FBBF24;

    margin-bottom:15px;

}

.gallery-overlay h3{

    font-size:22px;

    font-weight:600;

}

.gallery-item:hover img{

    transform:scale(1.12);

}

.gallery-item:hover .gallery-overlay{

    opacity:1;

}

/*=====================================
        LIGHTBOX
======================================*/

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.9);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.lightbox.active{

    display:flex;

}

#lightbox-img{

    max-width:90%;

    max-height:85%;

    border-radius:10px;

    box-shadow:0 10px 40px rgba(255,255,255,.15);

}

.close-lightbox{

    position:absolute;

    top:25px;

    right:40px;

    font-size:45px;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.close-lightbox:hover{

    color:#FBBF24;

}

.lightbox-prev,

.lightbox-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#4C1D95;

    color:#fff;

    font-size:28px;

    cursor:pointer;

    transition:.3s;

}

.lightbox-prev:hover,

.lightbox-next:hover{

    background:#FBBF24;

    color:#2E1065;

}

.lightbox-prev{

    left:40px;

}

.lightbox-next{

    right:40px;

}

/*=====================================
        FILTER ANIMATION
======================================*/

.gallery-item.hide{

    display:none;

}