* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,body {
    background: #000;
    padding: 10px;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    display: inline-block;
}

.gallery > div {
    display: flex;
    justify-content: center;
    align-items: center;
}

.gallery > div > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.gallery {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-auto-rows: 400px;
    grid-auto-flow: dense;
}

.gallery .wide {
    grid-column: span 2;
}

.gallery .tall {
    grid-row: span 2;
}

.gallery .big {
    grid-column: span 2;
    grid-row: span 2;
}
