body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: linear-gradient(90deg, #05051e, #1e1e3f);
}


.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  grid-gap: 10px;
  grid-auto-rows: minmax(80px, auto);
  grid-auto-flow: dense;
}
.card {
  border: 5px solid #fff;
  min-height: 100px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.card::after {
  content: '';
  display: block;
  padding-top: 100%;
}
.lazy-img {
  width: 100%;
  height: 100%;
  object-fit:fit;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.lazy-img.loaded {
  opacity: 1;
}
.span-2 {
  grid-column-end: span 2;
  grid-row-end: span 2;
}
.span-3 {
  grid-column-end: span 3;
  grid-row-end: span 3;
}

/* Modal Styles */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal img {
  max-width: 90%;
  max-height: 90%;
  border: 5px solid white;
}
.modal.show {
  display: flex;
}

@media (max-width: 768px) {
 
.gallery_section
{
  padding: 150px 40px 20px;
}

}

@media (min-width: 768px) {
  
.gallery_section
{
  padding: 150px 100px 20px;
}

}