.grid {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    grid-template-columns: repeat(12, 1fr);
}

.gap--1 {
    gap: 4px;
}

.gap--2 {
    gap: 8px;
}

.gap--3 {
    gap: 12px;
}

.gap--4 {
    gap: 16px;
}

[class*=col--] {
    display: inline-block;
}

.col--1 {
    grid-column: span 1 / span 1
}

.col--2 {
    grid-column: span 2 / span 2
}

.col--3 {
    grid-column: span 3 / span 3
}

.col--4 {
    grid-column: span 4 / span 4
}

.col--5 {
    grid-column: span 5 / span 5
}

.col--6 {
    grid-column: span 6 / span 6
}

.col--7 {
    grid-column: span 7 / span 7
}

.col--8 {
    grid-column: span 8 / span 8
}

.col--9 {
    grid-column: span 9 / span 9
}

.col--10 {
    grid-column: span 10 / span 10
}

.col--11 {
    grid-column: span 11 / span 11
}

.col--12 {
    grid-column: span 12 / span 12
}

@media screen and (min-width: 480px) {
    .col--6\@sm {
        grid-column: span 6 / span 6
    }
}

@media screen and (min-width: 720px) {
    .col--1\@md {
        grid-column: span 1 / span 1
    }

    .col--2\@md {
        grid-column: span 2 / span 2
    }

    .col--3\@md {
        grid-column: span 3 / span 3
    }

    .col--4\@md {
        grid-column: span 4 / span 4
    }

    .col--9\@md {
        grid-column: span 9 / span 9
    }
}
