html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.d-flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.d-flex-column {
    display: flex;
    flex-direction: column;
}

.grid-overflow-wrapper {
    display: grid;
    grid-auto-columns: minmax(1rem, auto);
    width: 100%;
    overflow-x: auto;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 calc(var(--base-gap) / 2 * -1);
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    padding: 0 calc(var(--base-gap) / 2);
    display: flex;
    flex-direction: column;
    position: relative;
}

.row.row-strait {
    margin-left: 0;
    margin-right: 0;
    flex-wrap: nowrap;
}

.row.row-strait > .col {
    padding-left: 0;
    padding-right: 0;
    flex-grow: 0;
}

.row.row-gap-sm {
    margin-left: -5px;
    margin-right: -5px;
}

.row.row-gap-sm > .col {
    padding-left: 5px;
    padding-right: 5px;
}

.row.row-col-v-gap {
    --row-col-v-gap-px: var(--base-gap);
    margin-bottom: calc(var(--row-col-v-gap-px) * -1);
}

.row.row-col-v-gap.row.row-col-v-gap-2 {
    --row-col-v-gap-px: calc(var(--base-gap) * 2);
}

.row.row-col-v-gap:not(.hidden) + .row.row-col-v-gap:not(.hidden) {
    margin-top: var(--row-col-v-gap-px);
}

.row.row-col-v-gap > .col {
    margin-bottom: var(--row-col-v-gap-px);
}

.col-20 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.col-25 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.col-33 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-50 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.col-100 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.ml-auto {
    margin-left: auto !important;
}

.mr-auto {
    margin-right: auto !important;
}

.w-100 {
    width: 100%;
}

.align-items-center {
    align-items: center !important;
}

.align-items-end {
    align-items: end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.mt-05 {
    margin-top: calc(var(--base-gap) / 2) !important;
}

.mt-1 {
    margin-top: var(--base-gap) !important;
}

.mb-1 {
    margin-bottom: var(--base-gap) !important;
}

.my-1 {
    margin-top: var(--base-gap) !important;
    margin-bottom: var(--base-gap) !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-05 {
    margin-bottom: calc(var(--base-gap) / 2) !important;
}

.mb-025 {
    margin-bottom: calc(var(--base-gap) / 4) !important;
}

.mt-2 {
    margin-top: calc(var(--base-gap) * 2) !important;
}

.mt-3 {
    margin-top: calc(var(--base-gap) * 3) !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mt-auto {
    margin-top: auto !important;
}

.position-relative {
    position: relative !important;
}

.text-center {
    text-align: center !important;
}

@media (min-width: 576px) {
    .col-sm-33 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-sm-50 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 768px) {
    .container, .container-sm, .container-md {
        max-width: 720px;
    }

    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-md-20 {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .col-md-25 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-33 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-md-50 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-40 {
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }

    .col-md-60 {
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }

    .col-md-65 {
        -ms-flex: 0 0 65%;
        flex: 0 0 65%;
        max-width: 65%;
    }
}

@media (min-width: 992px) {
    .container, .container-sm, .container-md, .container-lg {
        max-width: 960px;
    }

    .mt-lg-0 {
        margin-top: 0 !important;
    }

    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-lg-20 {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .col-lg-25 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-30 {
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
        max-width: 30%;
    }

    .col-lg-33 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-lg-35 {
        -ms-flex: 0 0 35%;
        flex: 0 0 35%;
        max-width: 35%;
    }

    .col-lg-40 {
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }

    .col-lg-50 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-60 {
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }

    .col-lg-66 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .col-lg-65 {
        -ms-flex: 0 0 65%;
        flex: 0 0 65%;
        max-width: 65%;
    }

    .col-lg-70 {
        -ms-flex: 0 0 70%;
        flex: 0 0 70%;
        max-width: 70%;
    }

    .col-lg-75 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-80 {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }

    .col-lg-100 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1440px;
    }

    .col-xl {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-xl-25 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-30 {
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
        max-width: 30%;
    }

    .col-xl-33 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .col-xl-35 {
        -ms-flex: 0 0 35%;
        flex: 0 0 35%;
        max-width: 35%;
    }

    .col-xl-40 {
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }

    .col-xl-50 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-60 {
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }

    .col-xl-65 {
        -ms-flex: 0 0 65%;
        flex: 0 0 65%;
        max-width: 65%;
    }

    .col-xl-75 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-80 {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }

    .col-xl-100 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}