* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.gallery {
    width: 100vw;
    padding: 40px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 10px;
    grid-auto-rows: 250px;
    grid-auto-flow: dense;
}

.gallery img {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    object-fit: cover;
}

@media (hover:hover) {
    .gallery img:hover {
        cursor: pointer;
        transform: scale(1.009);
        box-shadow: 5px 5px 20px 10px rgba(0, 0, 0, 0.4);
    }
}


/* @media not all and (hover: hover) {
    .gallery img:active, .gallery img:active {
        transform: scale(1.009);
        box-shadow: 5px 5px 20px 10px rgba(0, 0, 0, 0.4);
    }
}  */


.tall {
    grid-row: span 2;
}

.wide {
    grid-column: span 2;
}

.big {
    grid-column: span 2;
    grid-row: span 2;
} 

@media(max-width: 560px) {
    .tall {
        grid-row: span 1;
    }

    .wide {
        grid-column: span 1;
    }

    .big {
        grid-column: span 1;
        grid-row: span 1;
    } 
}

.lightbox {
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
}

.lightbox span {
    position: absolute;
    top: 5%;
    right: 5%;
    font-family: Arial;
    font-size: 30px;
    color: white;
    cursor: pointer;  
}

.lightbox img {
    width: fit-content;
    max-height: 80%;
    max-width: 80%;
    border: 10px solid white;
}

.left-arrow, .right-arrow {
    font-size: 30px;
    background: none;
    border: none;
    color: white;
    margin: 0 10px;
}

@media (hover:hover) {
    .left-arrow:hover, .right-arrow:hover {
        scale: 1.2;
        cursor: pointer;
    }
} 

@media not all and (hover: hover) {
    .left-arrow:active, .right-arrow:active {
        scale: 1.2;
    }
} 