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

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


.row.v-center {
    align-items: center;
}

.row.h-center {
    justify-content: center;
}


@media (min-width: 300px) {

    .col-xs-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xs-12 {
        flex: 0 0 auto;
        width: 100%;
    }

}


@media (min-width: 540px) {

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }

}



@media (min-width: 768px) {

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .p-0 {
        padding: 0;
    }
}


@media (min-width: 1200px) {

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.333%;
    }
    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.666667%;
    }
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.333333%;
    }
    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    
    .offset-10 {
        flex: 0 0 10%;
    }
    .offset-20 {
        flex: 0 0 20%;
    }
    .offset-40 {
        flex: 0 0 40%;
    }

}


@media (min-width: 1910px) {

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

}