* {
    padding: 0;
    margin: 0;
}

.gallery{
    padding: 10px;
    max-width: 2100px;
    margin: 0 auto;
    background: #000000;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-auto-rows: 250px;
    grid-auto-flow: dense;
}

.v-stretch{
    grid-row: span 2;
}

.h-stretch{
    grid-column: span 2;
}

.big-stretch{
    grid-column: span 2;
    grid-row: span 2;
}

.gallery div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 560px) {
    .v-stretch{
        grid-row: span 1;
    }

    .v-column{
        grid-column: span 1;
    }

    .big-stretch{
        grid-column: span 1;
        grid-row: span 1;
    }
}