.container {
    max-width: $grid-maxWidth;
    margin: 0 auto;
    width: 96%;
    padding: 0 calc(#{$grid-gutter} / 2);
}

.row {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin-left: calc(#{$grid-gutter} / -2);
    margin-right: calc(#{$grid-gutter} / -2);
}

.col {
    flex: 1;
}

.col,
[class*=' col-'],
[class^='col-'] {
    margin: 0 calc(#{$grid-gutter} / 2) calc(#{$grid-gutter} / 2);
}

@for $i from 1 through $grid-columns {
    .col-#{$i} {
        flex: 0 0 calc((100% / (#{$grid-columns} / #{$i})) - #{$grid-gutter});
        max-width: calc((100% / (#{$grid-columns} / #{$i})) - #{$grid-gutter});
    }
}

@media screen and (max-width: 768px) {
    .container {
        width: 100%;
    }

    .col,
    [class*=' col-'],
    [class^='col-'] {
        flex: 0 1 100%;
        max-width: 100%;
    }
}
