*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
background:#111;
color:white;
padding:40px;
}


.gallery-title{
text-align:center;
margin-bottom:40px;
font-size:34px;
letter-spacing:2px;
font-weight:600;
}


.gallery{
column-count:4;
column-gap:18px;
}

.gallery a{
display:block;
margin-bottom:18px;
position:relative;
overflow:hidden;
border-radius:12px;
}


.gallery img{
width:100%;
display:block;
border-radius:12px;
transition:transform .5s ease, filter .4s ease;
box-shadow:0 12px 30px rgba(0,0,0,0.5);
animation:fadeIn .8s ease;
}


.gallery a:hover img{
transform:scale(1.08);
filter:brightness(70%);
}


.gallery a::after{
content:"View Photo";
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
background:rgba(0,0,0,.65);
padding:10px 18px;
border-radius:30px;
font-size:16px;
font-weight:600;
opacity:0;
transition:.3s;
}

.gallery a:hover::after{
opacity:1;
}




.lb-data .lb-close{
position:fixed !important;
top:18px !important;
right:18px !important;
width:46px;
height:46px;
background:rgba(0,0,0,.75);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
color:white;
text-decoration:none;
opacity:1 !important;
z-index:9999;
}

.lb-data .lb-close:after{
content:"×";
}
.lb-outerContainer{
background:transparent !important;
}
.lb-outerContainer .lb-image{
border-radius:12px;
box-shadow:0 12px 30px rgba(0,0,0,0.5);
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}


.lightboxOverlay{
animation:overlayFade .35s ease;
}

.lightbox{
animation:zoomIn .35s ease;
}

@keyframes zoomIn{
from{
opacity:0;
transform:scale(.85);
}
to{
opacity:1;
transform:scale(1);
}
}

@keyframes overlayFade{
from{opacity:0;}
to{opacity:1;}
}
/* Responsive */

@media(max-width:1000px){

.gallery{
column-count:3;
}

}

@media(max-width:700px){

.gallery{
column-count:2;
}

}

@media(max-width:500px){

.gallery{
column-count:1;
}

}
