/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, sans-serif;
}

body{
    background:#f7f7f7;
    color:#222;
}

/* ==========================
   NAVBAR
========================== */

.navbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 8%;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.1);
    position:sticky;
    top:0;
    z-index:1000;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
}

.logo img{
    width:70px;
    height:70px;
    object-fit:contain;
}

.logo span{
    font-size:28px;
    font-weight:700;
    color:#222;
}

.navbar ul{
    display:flex;
    list-style:none;
    gap:35px;
}

.navbar ul li{
    list-style:none;
}

.navbar a{
    text-decoration:none;
    color:#222;
    font-weight:600;
    transition:.3s;
}

.navbar a:hover{
    color:#c59d5f;
}

/* ==========================
   HAMBURGER
========================== */

.menu-toggle,
.close-menu{
    display:none;
}

/* ==========================
   PAGE BANNER
========================== */

.page-banner{
    height:300px;
    background:#222;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:20px;
}

.page-banner h1{
    font-size:55px;
    margin-bottom:15px;
}

.page-banner p{
    font-size:18px;
}

/* ==========================
   GALLERY
========================== */

.gallery{
    padding:80px 8%;
}

.gallery h2{
    text-align:center;
    margin-bottom:40px;
    font-size:40px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.gallery-grid img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:12px;
    transition:.3s;
    cursor:pointer;
}

.gallery-grid img:hover{
    transform:scale(1.05);
}

/* ==========================
   VIDEOS
========================== */

.videos{
    padding:80px 8%;
    background:#fff;
}

.videos h2{
    text-align:center;
    margin-bottom:40px;
    font-size:40px;
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.video-grid video{
    width:100%;
    border-radius:12px;
}

/* ==========================
   FOOTER
========================== */

footer{
    background:#111;
    color:#fff;
    text-align:center;
    padding:30px;
}

/* ==========================
   TABLET
========================== */

@media(max-width:992px){

.gallery-grid{
    grid-template-columns:repeat(2,1fr);
}

.video-grid{
    grid-template-columns:repeat(2,1fr);
}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

.navbar{
    padding:18px 20px;
}

.logo img{
    width:55px;
    height:55px;
}

.logo span{
    font-size:20px;
}



/* Hamburger */

.menu-toggle{
    display:block;
    font-size:30px;
    cursor:pointer;
}

.nav-links{

    position:fixed;
    top:0;
    right:-280px;

    width:260px;
    height:100vh;

    background:#fff;

    display:flex;
    flex-direction:column;

    padding:20px;

    gap:20px;

    transition:.35s;

    box-shadow:-5px 0 20px rgba(0,0,0,.2);

    z-index:1001;
}

.nav-links.active{
    right:0;
}

.close-menu{
    display:flex;
    justify-content:flex-end;
    margin-bottom:20px;
}

.close-menu i{
    font-size:28px;
    cursor:pointer;
}

.nav-links li{
    list-style:none;
}

.nav-links a{
    font-size:20px;
}

.page-banner{
    height:220px;
}

.page-banner h1{
    font-size:38px;
}

.page-banner p{
    font-size:16px;
}

.gallery{
    padding:60px 20px;
}

.gallery h2{
    font-size:32px;
}

.gallery-grid{
    grid-template-columns:1fr;
}

.gallery-grid img{
    height:240px;
}

.videos{
    padding:60px 20px;
}

.videos h2{
    font-size:32px;
}

.video-grid{
    grid-template-columns:1fr;
}

}



/* ==========================
   LIGHTBOX
========================== */

.lightbox{

    position:fixed;
    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.9);

    display:none;

    justify-content:center;
    align-items:center;

    z-index:9999;

}

.lightbox img{

    max-width:90%;
    max-height:90%;

    border-radius:10px;

}

.close-lightbox{

    position:absolute;
    top:20px;
    right:35px;

    color:#fff;

    font-size:45px;

    cursor:pointer;

}