.gallery-grid{
    --gap:1em;
    --num-col:3;
    --row-height:20em;
    box-sizing: border-box;
    padding: var(--gap);
    display: grid;
    grid-template-columns: repeat(var(--num-col),1fr);
    grid-auto-rows: var(--row-height);
    gap: var(--gap);
    }
    .gallery-grid > img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .closebtn {
        position: absolute;
        top: 10px;
        right: 15px;
        color: white;
        font-size: 35px;
        cursor: pointer;
      }
      .photo{
        cursor: pointer;
        transition: 0.3s;
      }
      .photo:hover {opacity: 0.7;}
      .modal {
    display: none;
    position: fixed;
    z-index: 1;
       padding-top: 5em;
    left: 5vw;
    top: 19%;
    width: 90vw;
    height: 49vw;
    object-fit: cover;
    overflow: hidden;
    object-position: center;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.6);
}
.modal-content {
    animation-name: zoom;
    animation-duration: 0.6s;
    object-fit: contain;
    object-position: center;
    width: 90%;
    margin-left: 4em;
    height: 90%;
}
      @keyframes zoom {
        from {transform:scale(0)}
        to {transform:scale(1)}
      }
      .close {
        position: absolute;
        top: 15px;
        right: 35px;
        color: #f1f1f1;
        font-size: 40px;
        font-weight: bold;
        transition: 0.3s;
      }
      
      .close:hover,
      .close:focus {
        color: #bbb;
        text-decoration: none;
        cursor: pointer;
      }
      @media screen 
      and (min-width: 1920px) 
      and (max-width: 2560px) {
    
        #main-banner {
            margin-top: 0.5rem;
            height: 71em;
        }
    
     .modal {
    left: 0;
    top: 12%;
    width: 100vw;
    height: 60vw;
}
    .modal-content {
    width: auto;
    margin-left: 10vw;
    height: 90%;
}
}
@media only screen and (max-width: 1400px){
    
  .modal {
    padding-top: 3em;
    left: 0;
    top: 12.5%;
    width: 100%;
    height: 64em;
}
    .modal-content {
              width: 85%;
        margin-left: 4em;
        height: 80%;
    }
}
  @media only screen and (max-width: 1200px){
    .gallery-grid{
        --num-col:2;
        --row-height:15em;  
    }

}    
@media only screen and (max-width: 1000px){
    .gallery-grid{
        --num-col:2;
        --row-height:15em;  
    }
    .modal-content {
                width: 90%;
        margin-left: 4em;
        height: 90%;
    }
   .modal {
    height: 69em;
    width: 100%;
    left: 0;
}
}
@media only screen and (max-width: 610px){
    .gallery-grid{
        --num-col:2;
        --row-height:10em;  
    }

    .modal-content {

        width: 80%;
        margin-left: 2.5em;
        height: 80%;
    }
    .modal {

        height: 17em;
    }

}
@media only screen and (max-width: 480px){
    .gallery-grid{
        --num-col:1;
        --row-height:10em;  
    }
   .modal {
    height: 20em;
    padding-top: 3em;
    padding-right: 1em;
    width: 100%;
    left: 0;
}
	.close {
    position: absolute;
    top: 15px;
   }
}
@media only screen and (max-width: 390px){

       .modal {
        padding-top: 3em;
        padding-right: 1em;
        left: 0;
        top: 10%;
        width: 100%;
        height: 14em;
    }
 
}
