
.grid {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
    margin-top: -0.5rem;
}

.grid > .col,
.grid > [class*='col'] {
    box-sizing: border-box;
}

.grid-nogutter {
    margin-right: 0;
    margin-left: 0;
    margin-top: 0;
}

.grid-nogutter > .col,
.grid-nogutter > [class*='col-'] {
    padding: 0;
}

.col {
    flex-grow: 1;
    flex-basis: 0;
    padding: 0.5rem;
}

.col-fixed {
    flex: 0 0 auto;
    padding: 0.5rem;
}

.col-1 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 8.3333%;
}

.col-2 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 16.6667%;
}

.col-3 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 25%;
}

.col-4 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 33.3333%;
}

.col-5 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 41.6667%;
}

.col-6 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 50%;
}

.col-7 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 58.3333%;
}

.col-8 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 66.6667%;
}

.col-9 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 75%;
}

.col-10 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 83.3333%;
}

.col-11 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 91.6667%;
}

.col-12 {
    flex: 0 0 auto;
    padding: 0.5rem;
    width: 100%;
}

@media screen and (min-width: var(--breakpoint-xs)) {
    .xs\:col {
        flex-grow: 1;
        flex-basis: 0;
        padding: 0.5rem;
    }

    .xs\:col-fixed {
        flex: 0 0 auto;
        padding: 0.5rem;
    }

    .xs\:col-1 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 8.3333%;
    }

    .xs\:col-2 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 16.6667%;
    }

    .xs\:col-3 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 25%;
    }

    .xs\:col-4 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 33.3333%;
    }

    .xs\:col-5 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 41.6667%;
    }

    .xs\:col-6 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 50%;
    }

    .xs\:col-7 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 58.3333%;
    }

    .xs\:col-8 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 66.6667%;
    }

    .xs\:col-9 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 75%;
    }

    .xs\:col-10 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 83.3333%;
    }

    .xs\:col-11 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 91.6667%;
    }

    .xs\:col-12 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 100%;
    }
}

@media screen and (min-width: var(--breakpoint-sm)) {
    .sm\:col {
        flex-grow: 1;
        flex-basis: 0;
        padding: 0.5rem;
    }

    .sm\:col-fixed {
        flex: 0 0 auto;
        padding: 0.5rem;
    }

    .sm\:col-1 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 8.3333%;
    }

    .sm\:col-2 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 16.6667%;
    }

    .sm\:col-3 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 25%;
    }

    .sm\:col-4 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 33.3333%;
    }

    .sm\:col-5 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 41.6667%;
    }

    .sm\:col-6 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 50%;
    }

    .sm\:col-7 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 58.3333%;
    }

    .sm\:col-8 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 66.6667%;
    }

    .sm\:col-9 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 75%;
    }

    .sm\:col-10 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 83.3333%;
    }

    .sm\:col-11 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 91.6667%;
    }

    .sm\:col-12 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 100%;
    }
}

@media screen and (min-width: var(--breakpoint-md)) {
    .md\:col {
        flex-grow: 1;
        flex-basis: 0;
        padding: 0.5rem;
    }

    .md\:col-fixed {
        flex: 0 0 auto;
        padding: 0.5rem;
    }

    .md\:col-1 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 8.3333%;
    }

    .md\:col-2 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 16.6667%;
    }

    .md\:col-3 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 25%;
    }

    .md\:col-4 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 33.3333%;
    }

    .md\:col-5 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 41.6667%;
    }

    .md\:col-6 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 50%;
    }

    .md\:col-7 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 58.3333%;
    }

    .md\:col-8 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 66.6667%;
    }

    .md\:col-9 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 75%;
    }

    .md\:col-10 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 83.3333%;
    }

    .md\:col-11 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 91.6667%;
    }

    .md\:col-12 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 100%;
    }
}

@media screen and (min-width: var(--breakpoint-lg)) {
    .lg\:col {
        flex-grow: 1;
        flex-basis: 0;
        padding: 0.5rem;
    }

    .lg\:col-fixed {
        flex: 0 0 auto;
        padding: 0.5rem;
    }

    .lg\:col-1 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 8.3333%;
    }

    .lg\:col-2 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 16.6667%;
    }

    .lg\:col-3 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 25%;
    }

    .lg\:col-4 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 33.3333%;
    }

    .lg\:col-5 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 41.6667%;
    }

    .lg\:col-6 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 50%;
    }

    .lg\:col-7 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 58.3333%;
    }

    .lg\:col-8 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 66.6667%;
    }

    .lg\:col-9 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 75%;
    }

    .lg\:col-10 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 83.3333%;
    }

    .lg\:col-11 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 91.6667%;
    }

    .lg\:col-12 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 100%;
    }
}

@media screen and (min-width: var(--breakpoint-xl)) {
    .xl\:col {
        flex-grow: 1;
        flex-basis: 0;
        padding: 0.5rem;
    }

    .xl\:col-fixed {
        flex: 0 0 auto;
        padding: 0.5rem;
    }

    .xl\:col-1 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 8.3333%;
    }

    .xl\:col-2 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 16.6667%;
    }

    .xl\:col-3 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 25%;
    }

    .xl\:col-4 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 33.3333%;
    }

    .xl\:col-5 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 41.6667%;
    }

    .xl\:col-6 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 50%;
    }

    .xl\:col-7 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 58.3333%;
    }

    .xl\:col-8 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 66.6667%;
    }

    .xl\:col-9 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 75%;
    }

    .xl\:col-10 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 83.3333%;
    }

    .xl\:col-11 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 91.6667%;
    }

    .xl\:col-12 {
        flex: 0 0 auto;
        padding: 0.5rem;
        width: 100%;
    }
}

.col-offset-0 {
    margin-left: 0 !important;
}

.col-offset-1 {
    margin-left: 8.3333% !important;
}

.col-offset-2 {
    margin-left: 16.6667% !important;
}

.col-offset-3 {
    margin-left: 25% !important;
}

.col-offset-4 {
    margin-left: 33.3333% !important;
}

.col-offset-5 {
    margin-left: 41.6667% !important;
}

.col-offset-6 {
    margin-left: 50% !important;
}

.col-offset-7 {
    margin-left: 58.3333% !important;
}

.col-offset-8 {
    margin-left: 66.6667% !important;
}

.col-offset-9 {
    margin-left: 75% !important;
}

.col-offset-10 {
    margin-left: 83.3333% !important;
}

.col-offset-11 {
    margin-left: 91.6667% !important;
}

.col-offset-12 {
    margin-left: 100% !important;
}

// OFFSETS

@media screen and (min-width: var(--breakpoint-xs)) {
    .xs\:col-offset-0 {
        margin-left: 0 !important;
    }

    .xs\:col-offset-1 {
        margin-left: 8.3333% !important;
    }

    .xs\:col-offset-2 {
        margin-left: 16.6667% !important;
    }

    .xs\:col-offset-3 {
        margin-left: 25% !important;
    }

    .xs\:col-offset-4 {
        margin-left: 33.3333% !important;
    }

    .xs\:col-offset-5 {
        margin-left: 41.6667% !important;
    }

    .xs\:col-offset-6 {
        margin-left: 50% !important;
    }

    .xs\:col-offset-7 {
        margin-left: 58.3333% !important;
    }

    .xs\:col-offset-8 {
        margin-left: 66.6667% !important;
    }

    .xs\:col-offset-9 {
        margin-left: 75% !important;
    }

    .xs\:col-offset-10 {
        margin-left: 83.3333% !important;
    }

    .xs\:col-offset-11 {
        margin-left: 91.6667% !important;
    }

    .xs\:col-offset-12 {
        margin-left: 100% !important;
    }
}

@media screen and (min-width: var(--breakpoint-sm)) {
    .sm\:col-offset-0 {
        margin-left: 0 !important;
    }

    .sm\:col-offset-1 {
        margin-left: 8.3333% !important;
    }

    .sm\:col-offset-2 {
        margin-left: 16.6667% !important;
    }

    .sm\:col-offset-3 {
        margin-left: 25% !important;
    }

    .sm\:col-offset-4 {
        margin-left: 33.3333% !important;
    }

    .sm\:col-offset-5 {
        margin-left: 41.6667% !important;
    }

    .sm\:col-offset-6 {
        margin-left: 50% !important;
    }

    .sm\:col-offset-7 {
        margin-left: 58.3333% !important;
    }

    .sm\:col-offset-8 {
        margin-left: 66.6667% !important;
    }

    .sm\:col-offset-9 {
        margin-left: 75% !important;
    }

    .sm\:col-offset-10 {
        margin-left: 83.3333% !important;
    }

    .sm\:col-offset-11 {
        margin-left: 91.6667% !important;
    }

    .sm\:col-offset-12 {
        margin-left: 100% !important;
    }
}

@media screen and (min-width: var(--breakpoint-md)) {
    .md\:col-offset-0 {
        margin-left: 0 !important;
    }

    .md\:col-offset-1 {
        margin-left: 8.3333% !important;
    }

    .md\:col-offset-2 {
        margin-left: 16.6667% !important;
    }

    .md\:col-offset-3 {
        margin-left: 25% !important;
    }

    .md\:col-offset-4 {
        margin-left: 33.3333% !important;
    }

    .md\:col-offset-5 {
        margin-left: 41.6667% !important;
    }

    .md\:col-offset-6 {
        margin-left: 50% !important;
    }

    .md\:col-offset-7 {
        margin-left: 58.3333% !important;
    }

    .md\:col-offset-8 {
        margin-left: 66.6667% !important;
    }

    .md\:col-offset-9 {
        margin-left: 75% !important;
    }

    .md\:col-offset-10 {
        margin-left: 83.3333% !important;
    }

    .md\:col-offset-11 {
        margin-left: 91.6667% !important;
    }

    .md\:col-offset-12 {
        margin-left: 100% !important;
    }
}

@media screen and (min-width: var(--breakpoint-lg)) {
    .lg\:col-offset-0 {
        margin-left: 0 !important;
    }

    .lg\:col-offset-1 {
        margin-left: 8.3333% !important;
    }

    .lg\:col-offset-2 {
        margin-left: 16.6667% !important;
    }

    .lg\:col-offset-3 {
        margin-left: 25% !important;
    }

    .lg\:col-offset-4 {
        margin-left: 33.3333% !important;
    }

    .lg\:col-offset-5 {
        margin-left: 41.6667% !important;
    }

    .lg\:col-offset-6 {
        margin-left: 50% !important;
    }

    .lg\:col-offset-7 {
        margin-left: 58.3333% !important;
    }

    .lg\:col-offset-8 {
        margin-left: 66.6667% !important;
    }

    .lg\:col-offset-9 {
        margin-left: 75% !important;
    }

    .lg\:col-offset-10 {
        margin-left: 83.3333% !important;
    }

    .lg\:col-offset-11 {
        margin-left: 91.6667% !important;
    }

    .lg\:col-offset-12 {
        margin-left: 100% !important;
    }
}

@media screen and (min-width: var(--breakpoint-xl)) {
    .xl\:col-offset-0 {
        margin-left: 0 !important;
    }

    .xl\:col-offset-1 {
        margin-left: 8.3333% !important;
    }

    .xl\:col-offset-2 {
        margin-left: 16.6667% !important;
    }

    .xl\:col-offset-3 {
        margin-left: 25% !important;
    }

    .xl\:col-offset-4 {
        margin-left: 33.3333% !important;
    }

    .xl\:col-offset-5 {
        margin-left: 41.6667% !important;
    }

    .xl\:col-offset-6 {
        margin-left: 50% !important;
    }

    .xl\:col-offset-7 {
        margin-left: 58.3333% !important;
    }

    .xl\:col-offset-8 {
        margin-left: 66.6667% !important;
    }

    .xl\:col-offset-9 {
        margin-left: 75% !important;
    }

    .xl\:col-offset-10 {
        margin-left: 83.3333% !important;
    }

    .xl\:col-offset-11 {
        margin-left: 91.6667% !important;
    }

    .xl\:col-offset-12 {
        margin-left: 100% !important;
    }
}
