.grid-2,
.grid-2-2-4,
.grid-2-2-6,
.grid-2-4-6,
.grid-4 {
    display: grid;
    column-gap: 1rem;
    row-gap: 1rem;
    grid-auto-rows: min-content;
}

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

.grid-no_gap {column-gap: 0;}

@media only screen and (min-width: 768px) {
    .grid-2-4-6 {grid-template-columns: repeat(4, 1fr);}
}

@media only screen and (min-width: 1096px) {
    .grid-2-2-4 {grid-template-columns: repeat(4, 1fr);}
    .grid-2-2-6,
    .grid-2-4-6 {grid-template-columns: repeat(6, 1fr);}
}