/* ================================================== */
/* Grid styles                                        */
/* ================================================== */
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.g-3, .gx-3 {
    --bs-gutter-x: 1rem;
}

.g-3, .gy-3 {
    --bs-gutter-y: 1rem;
}

.grid {
    --columns: 12;
    --gutter: 3rem;
    display: grid;
    grid-gap: var(--gutter);
    grid-template-columns: 1fr;
}

.grid > .column {
    margin-bottom: var(--gutter);
    list-style: none;
}

.order-md-1 {
    order: 1;
}
.order-md-2 {
    order: 2;
}

/* -------------------------------------------------- */
/* RESPONSIVE                                         */
/* -------------------------------------------------- */
.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%;
}

@media (min-width: 576px) {
    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%;
    }
}

@media (min-width: 768px) {
    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .order-md-1 {
        order: 0;
    }
    .order-md-2 {
        order: 0;
    }
}

@media screen and (min-width: 60rem) {
    .grid {
        grid-template-columns: repeat(12, 1fr);
    }

    .grid > .column {
        grid-column: span var(--columns);
    }
}
