.grid {
    display: grid;
    column-gap: 32px;
    row-gap: 32px;
    justify-content: center;
    grid-auto-flow: dense;
    grid-template-columns: repeat(1, 1fr);
}

.grid.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid.grid-5 {
    grid-template-columns: repeat(5, 1fr);
}

@media screen and (min-width: 600px) {
    .grid.grid-221,
    .grid.grid-321,
    .grid.grid-421,
    .grid.grid-521 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 900px) {
    .grid.grid-211 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid.grid-311,
    .grid.grid-321,
    .grid.grid-521 {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid.grid-411,
    .grid.grid-421 {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media screen and (min-width: 1200px) {
    .grid.grid-511,
    .grid.grid-521 {
        grid-template-columns: repeat(5, 1fr);
    }
}
