/* =========================================================
   Bootstrap 3.1.1 Compatibility Utilities
   Bootstrap 5-like Flex / Gap / Row-cols / Gutter Utilities
   Full version: base + sm + md + lg
   row-cols-* is FLEX mode for: .row + .col + row-cols-*
   ========================================================= */

/* ---------------------------------------------------------
   0. box-sizing safeguard
   --------------------------------------------------------- */
.row[class*="row-cols-"] > .col,
.row[class*=" row-cols-"] > .col,
.row[class*=" g-"] > [class^="col-"],
.row[class*=" g-"] > [class*=" col-"],
.row[class^="g-"] > [class^="col-"],
.row[class^="g-"] > [class*=" col-"],
.row[class*=" gx-"] > [class^="col-"],
.row[class*=" gx-"] > [class*=" col-"],
.row[class^="gx-"] > [class^="col-"],
.row[class^="gx-"] > [class*=" col-"],
.row[class*=" gy-"] > [class^="col-"],
.row[class*=" gy-"] > [class*=" col-"],
.row[class^="gy-"] > [class^="col-"],
.row[class^="gy-"] > [class*=" col-"] {
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   1. display
   --------------------------------------------------------- */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline-block { display: inline-block !important; }
.d-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
.d-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; }

/* ---------------------------------------------------------
   2. flex direction
   --------------------------------------------------------- */
.flex-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}
.flex-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}
.flex-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}
.flex-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
}

/* ---------------------------------------------------------
   3. flex wrap
   --------------------------------------------------------- */
.flex-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
.flex-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
.flex-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }

/* ---------------------------------------------------------
   4. justify content
   --------------------------------------------------------- */
.justify-content-start {
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}
.justify-content-end {
    -webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}
.justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}
.justify-content-between {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}
.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}
.justify-content-evenly {
    justify-content: space-evenly !important;
}

/* ---------------------------------------------------------
   5. align items
   --------------------------------------------------------- */
.align-items-start {
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}
.align-items-end {
    -webkit-box-align: end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important;
}
.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}
.align-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
}
.align-items-stretch {
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

/* ---------------------------------------------------------
   6. align self
   --------------------------------------------------------- */
.align-self-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
.align-self-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
.align-self-center { -ms-flex-item-align: center !important; align-self: center !important; }
.align-self-baseline { align-self: baseline !important; }
.align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; }

/* ---------------------------------------------------------
   7. align content
   --------------------------------------------------------- */
.align-content-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
.align-content-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
.align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; }
.align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
.align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
.align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }

/* ---------------------------------------------------------
   8. fill / grow / shrink
   --------------------------------------------------------- */
.flex-fill {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
}
.flex-grow-0 {
    -webkit-box-flex: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
}
.flex-grow-1 {
    -webkit-box-flex: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
}
.flex-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; }
.flex-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; }

/* ---------------------------------------------------------
   9. order
   --------------------------------------------------------- */
.order-first { -ms-flex-order: -1 !important; order: -1 !important; }
.order-0 { -ms-flex-order: 0 !important; order: 0 !important; }
.order-1 { -ms-flex-order: 1 !important; order: 1 !important; }
.order-2 { -ms-flex-order: 2 !important; order: 2 !important; }
.order-3 { -ms-flex-order: 3 !important; order: 3 !important; }
.order-4 { -ms-flex-order: 4 !important; order: 4 !important; }
.order-5 { -ms-flex-order: 5 !important; order: 5 !important; }
.order-last { -ms-flex-order: 999 !important; order: 999 !important; }

/* ---------------------------------------------------------
   10. gap
   --------------------------------------------------------- */
.gap-0 { gap: 0 !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }

.row-gap-0 { row-gap: 0 !important; }
.row-gap-1 { row-gap: .25rem !important; }
.row-gap-2 { row-gap: .5rem !important; }
.row-gap-3 { row-gap: 1rem !important; }
.row-gap-4 { row-gap: 1.5rem !important; }
.row-gap-5 { row-gap: 3rem !important; }

.column-gap-0 { column-gap: 0 !important; }
.column-gap-1 { column-gap: .25rem !important; }
.column-gap-2 { column-gap: .5rem !important; }
.column-gap-3 { column-gap: 1rem !important; }
.column-gap-4 { column-gap: 1.5rem !important; }
.column-gap-5 { column-gap: 3rem !important; }

/* ---------------------------------------------------------
   11. row-cols (FLEX mode, for .row + .col)
   - Use with: .row.row-cols-* > .col
   - Do NOT mix with .col-xs-* / .col-sm-* / .col-md-* / .col-lg-*
   --------------------------------------------------------- */
.row[class*="row-cols-"],
.row[class*=" row-cols-"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row[class*="row-cols-"] > .col,
.row[class*=" row-cols-"] > .col {
    position: relative;
    min-height: 1px;
    min-width: 0;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.row.row-cols-1 > .col {
    width: 100%;
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
.row.row-cols-2 > .col {
    width: 50%;
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}
.row.row-cols-3 > .col {
    width: 33.33333333%;
    max-width: 33.33333333%;
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
}
.row.row-cols-4 > .col {
    width: 25%;
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
}
.row.row-cols-5 > .col {
    width: 20%;
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
}
.row.row-cols-6 > .col {
    width: 16.66666667%;
    max-width: 16.66666667%;
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
}

/* ---------------------------------------------------------
   12. g / gx / gy for BS3 row only
   - Works for both .col and .col-*
   --------------------------------------------------------- */

/* 0 */
.row.g-0,
.row.gx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.row.g-0 > [class^="col"],
.row.g-0 > [class*=" col"],
.row.gx-0 > [class^="col"],
.row.gx-0 > [class*=" col"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.row.g-0 > [class^="col"],
.row.g-0 > [class*=" col"],
.row.gy-0 > [class^="col"],
.row.gy-0 > [class*=" col"] {
    margin-bottom: 0 !important;
}

/* 1 */
.row.g-1,
.row.gx-1 {
    margin-left: -.125rem !important;
    margin-right: -.125rem !important;
}
.row.g-1 > [class^="col"],
.row.g-1 > [class*=" col"],
.row.gx-1 > [class^="col"],
.row.gx-1 > [class*=" col"] {
    padding-left: .125rem !important;
    padding-right: .125rem !important;
}
.row.g-1 > [class^="col"],
.row.g-1 > [class*=" col"],
.row.gy-1 > [class^="col"],
.row.gy-1 > [class*=" col"] {
    margin-bottom: .25rem !important;
}

/* 2 */
.row.g-2,
.row.gx-2 {
    margin-left: -.25rem !important;
    margin-right: -.25rem !important;
}
.row.g-2 > [class^="col"],
.row.g-2 > [class*=" col"],
.row.gx-2 > [class^="col"],
.row.gx-2 > [class*=" col"] {
    padding-left: .25rem !important;
    padding-right: .25rem !important;
}
.row.g-2 > [class^="col"],
.row.g-2 > [class*=" col"],
.row.gy-2 > [class^="col"],
.row.gy-2 > [class*=" col"] {
    margin-bottom: .5rem !important;
}

/* 3 */
.row.g-3,
.row.gx-3 {
    margin-left: -.5rem !important;
    margin-right: -.5rem !important;
}
.row.g-3 > [class^="col"],
.row.g-3 > [class*=" col"],
.row.gx-3 > [class^="col"],
.row.gx-3 > [class*=" col"] {
    padding-left: .5rem !important;
    padding-right: .5rem !important;
}
.row.g-3 > [class^="col"],
.row.g-3 > [class*=" col"],
.row.gy-3 > [class^="col"],
.row.gy-3 > [class*=" col"] {
    margin-bottom: 1rem !important;
}

/* 4 */
.row.g-4,
.row.gx-4 {
    margin-left: -.75rem !important;
    margin-right: -.75rem !important;
}
.row.g-4 > [class^="col"],
.row.g-4 > [class*=" col"],
.row.gx-4 > [class^="col"],
.row.gx-4 > [class*=" col"] {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
}
.row.g-4 > [class^="col"],
.row.g-4 > [class*=" col"],
.row.gy-4 > [class^="col"],
.row.gy-4 > [class*=" col"] {
    margin-bottom: 1.5rem !important;
}

/* 5 */
.row.g-5,
.row.gx-5 {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
}
.row.g-5 > [class^="col"],
.row.g-5 > [class*=" col"],
.row.gx-5 > [class^="col"],
.row.gx-5 > [class*=" col"] {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}
.row.g-5 > [class^="col"],
.row.g-5 > [class*=" col"],
.row.gy-5 > [class^="col"],
.row.gy-5 > [class*=" col"] {
    margin-bottom: 3rem !important;
}

/* ---------------------------------------------------------
   13. responsive - sm (>=768px)
   --------------------------------------------------------- */
@media (min-width: 768px) {

    .d-sm-none { display: none !important; }
    .d-sm-block { display: block !important; }
    .d-sm-inline-block { display: inline-block !important; }
    .d-sm-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
    .d-sm-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; }

    .flex-sm-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-sm-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-sm-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-sm-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
    .flex-sm-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
    .flex-sm-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }

    .justify-content-sm-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-sm-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-sm-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-sm-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-sm-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .justify-content-sm-evenly { justify-content: space-evenly !important; }

    .align-items-sm-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-sm-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-sm-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-sm-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-sm-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-self-sm-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
    .align-self-sm-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
    .align-self-sm-center { -ms-flex-item-align: center !important; align-self: center !important; }
    .align-self-sm-baseline { align-self: baseline !important; }
    .align-self-sm-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; }

    .align-content-sm-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
    .align-content-sm-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
    .align-content-sm-center { -ms-flex-line-pack: center !important; align-content: center !important; }
    .align-content-sm-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
    .align-content-sm-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
    .align-content-sm-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }

    .flex-sm-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-sm-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-sm-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-sm-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; }
    .flex-sm-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; }

    .order-sm-first { -ms-flex-order: -1 !important; order: -1 !important; }
    .order-sm-0 { -ms-flex-order: 0 !important; order: 0 !important; }
    .order-sm-1 { -ms-flex-order: 1 !important; order: 1 !important; }
    .order-sm-2 { -ms-flex-order: 2 !important; order: 2 !important; }
    .order-sm-3 { -ms-flex-order: 3 !important; order: 3 !important; }
    .order-sm-4 { -ms-flex-order: 4 !important; order: 4 !important; }
    .order-sm-5 { -ms-flex-order: 5 !important; order: 5 !important; }
    .order-sm-last { -ms-flex-order: 999 !important; order: 999 !important; }

    .gap-sm-0 { gap: 0 !important; }
    .gap-sm-1 { gap: .25rem !important; }
    .gap-sm-2 { gap: .5rem !important; }
    .gap-sm-3 { gap: 1rem !important; }
    .gap-sm-4 { gap: 1.5rem !important; }
    .gap-sm-5 { gap: 3rem !important; }

    .row-gap-sm-0 { row-gap: 0 !important; }
    .row-gap-sm-1 { row-gap: .25rem !important; }
    .row-gap-sm-2 { row-gap: .5rem !important; }
    .row-gap-sm-3 { row-gap: 1rem !important; }
    .row-gap-sm-4 { row-gap: 1.5rem !important; }
    .row-gap-sm-5 { row-gap: 3rem !important; }

    .column-gap-sm-0 { column-gap: 0 !important; }
    .column-gap-sm-1 { column-gap: .25rem !important; }
    .column-gap-sm-2 { column-gap: .5rem !important; }
    .column-gap-sm-3 { column-gap: 1rem !important; }
    .column-gap-sm-4 { column-gap: 1.5rem !important; }
    .column-gap-sm-5 { column-gap: 3rem !important; }

    .row.row-cols-sm-1 > .col {
        width: 100%;
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    .row.row-cols-sm-2 > .col {
        width: 50%;
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
    .row.row-cols-sm-3 > .col {
        width: 33.33333333%;
        max-width: 33.33333333%;
        -ms-flex-preferred-size: 33.33333333%;
        flex-basis: 33.33333333%;
    }
    .row.row-cols-sm-4 > .col {
        width: 25%;
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    }
    .row.row-cols-sm-5 > .col {
        width: 20%;
        max-width: 20%;
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    }
    .row.row-cols-sm-6 > .col {
        width: 16.66666667%;
        max-width: 16.66666667%;
        -ms-flex-preferred-size: 16.66666667%;
        flex-basis: 16.66666667%;
    }

    .row.g-sm-0,
    .row.gx-sm-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .row.g-sm-0 > [class^="col"],
    .row.g-sm-0 > [class*=" col"],
    .row.gx-sm-0 > [class^="col"],
    .row.gx-sm-0 > [class*=" col"] { padding-left: 0 !important; padding-right: 0 !important; }
    .row.g-sm-0 > [class^="col"],
    .row.g-sm-0 > [class*=" col"],
    .row.gy-sm-0 > [class^="col"],
    .row.gy-sm-0 > [class*=" col"] { margin-bottom: 0 !important; }

    .row.g-sm-1,
    .row.gx-sm-1 { margin-left: -.125rem !important; margin-right: -.125rem !important; }
    .row.g-sm-1 > [class^="col"],
    .row.g-sm-1 > [class*=" col"],
    .row.gx-sm-1 > [class^="col"],
    .row.gx-sm-1 > [class*=" col"] { padding-left: .125rem !important; padding-right: .125rem !important; }
    .row.g-sm-1 > [class^="col"],
    .row.g-sm-1 > [class*=" col"],
    .row.gy-sm-1 > [class^="col"],
    .row.gy-sm-1 > [class*=" col"] { margin-bottom: .25rem !important; }

    .row.g-sm-2,
    .row.gx-sm-2 { margin-left: -.25rem !important; margin-right: -.25rem !important; }
    .row.g-sm-2 > [class^="col"],
    .row.g-sm-2 > [class*=" col"],
    .row.gx-sm-2 > [class^="col"],
    .row.gx-sm-2 > [class*=" col"] { padding-left: .25rem !important; padding-right: .25rem !important; }
    .row.g-sm-2 > [class^="col"],
    .row.g-sm-2 > [class*=" col"],
    .row.gy-sm-2 > [class^="col"],
    .row.gy-sm-2 > [class*=" col"] { margin-bottom: .5rem !important; }

    .row.g-sm-3,
    .row.gx-sm-3 { margin-left: -.5rem !important; margin-right: -.5rem !important; }
    .row.g-sm-3 > [class^="col"],
    .row.g-sm-3 > [class*=" col"],
    .row.gx-sm-3 > [class^="col"],
    .row.gx-sm-3 > [class*=" col"] { padding-left: .5rem !important; padding-right: .5rem !important; }
    .row.g-sm-3 > [class^="col"],
    .row.g-sm-3 > [class*=" col"],
    .row.gy-sm-3 > [class^="col"],
    .row.gy-sm-3 > [class*=" col"] { margin-bottom: 1rem !important; }

    .row.g-sm-4,
    .row.gx-sm-4 { margin-left: -.75rem !important; margin-right: -.75rem !important; }
    .row.g-sm-4 > [class^="col"],
    .row.g-sm-4 > [class*=" col"],
    .row.gx-sm-4 > [class^="col"],
    .row.gx-sm-4 > [class*=" col"] { padding-left: .75rem !important; padding-right: .75rem !important; }
    .row.g-sm-4 > [class^="col"],
    .row.g-sm-4 > [class*=" col"],
    .row.gy-sm-4 > [class^="col"],
    .row.gy-sm-4 > [class*=" col"] { margin-bottom: 1.5rem !important; }

    .row.g-sm-5,
    .row.gx-sm-5 { margin-left: -1.5rem !important; margin-right: -1.5rem !important; }
    .row.g-sm-5 > [class^="col"],
    .row.g-sm-5 > [class*=" col"],
    .row.gx-sm-5 > [class^="col"],
    .row.gx-sm-5 > [class*=" col"] { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .row.g-sm-5 > [class^="col"],
    .row.g-sm-5 > [class*=" col"],
    .row.gy-sm-5 > [class^="col"],
    .row.gy-sm-5 > [class*=" col"] { margin-bottom: 3rem !important; }
}

/* ---------------------------------------------------------
   14. responsive - md (>=992px)
   --------------------------------------------------------- */
@media (min-width: 992px) {

    .d-md-none { display: none !important; }
    .d-md-block { display: block !important; }
    .d-md-inline-block { display: inline-block !important; }
    .d-md-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
    .d-md-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; }

    .flex-md-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-md-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-md-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-md-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
    .flex-md-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
    .flex-md-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }

    .justify-content-md-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-md-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-md-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-md-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-md-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .justify-content-md-evenly { justify-content: space-evenly !important; }

    .align-items-md-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-md-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-md-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-md-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-md-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-self-md-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
    .align-self-md-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
    .align-self-md-center { -ms-flex-item-align: center !important; align-self: center !important; }
    .align-self-md-baseline { align-self: baseline !important; }
    .align-self-md-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; }

    .align-content-md-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
    .align-content-md-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
    .align-content-md-center { -ms-flex-line-pack: center !important; align-content: center !important; }
    .align-content-md-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
    .align-content-md-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
    .align-content-md-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }

    .flex-md-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-md-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-md-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-md-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; }
    .flex-md-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; }

    .order-md-first { -ms-flex-order: -1 !important; order: -1 !important; }
    .order-md-0 { -ms-flex-order: 0 !important; order: 0 !important; }
    .order-md-1 { -ms-flex-order: 1 !important; order: 1 !important; }
    .order-md-2 { -ms-flex-order: 2 !important; order: 2 !important; }
    .order-md-3 { -ms-flex-order: 3 !important; order: 3 !important; }
    .order-md-4 { -ms-flex-order: 4 !important; order: 4 !important; }
    .order-md-5 { -ms-flex-order: 5 !important; order: 5 !important; }
    .order-md-last { -ms-flex-order: 999 !important; order: 999 !important; }

    .gap-md-0 { gap: 0 !important; }
    .gap-md-1 { gap: .25rem !important; }
    .gap-md-2 { gap: .5rem !important; }
    .gap-md-3 { gap: 1rem !important; }
    .gap-md-4 { gap: 1.5rem !important; }
    .gap-md-5 { gap: 3rem !important; }

    .row-gap-md-0 { row-gap: 0 !important; }
    .row-gap-md-1 { row-gap: .25rem !important; }
    .row-gap-md-2 { row-gap: .5rem !important; }
    .row-gap-md-3 { row-gap: 1rem !important; }
    .row-gap-md-4 { row-gap: 1.5rem !important; }
    .row-gap-md-5 { row-gap: 3rem !important; }

    .column-gap-md-0 { column-gap: 0 !important; }
    .column-gap-md-1 { column-gap: .25rem !important; }
    .column-gap-md-2 { column-gap: .5rem !important; }
    .column-gap-md-3 { column-gap: 1rem !important; }
    .column-gap-md-4 { column-gap: 1.5rem !important; }
    .column-gap-md-5 { column-gap: 3rem !important; }

    .row.row-cols-md-1 > .col {
        width: 100%;
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    .row.row-cols-md-2 > .col {
        width: 50%;
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
    .row.row-cols-md-3 > .col {
        width: 33.33333333%;
        max-width: 33.33333333%;
        -ms-flex-preferred-size: 33.33333333%;
        flex-basis: 33.33333333%;
    }
    .row.row-cols-md-4 > .col {
        width: 25%;
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    }
    .row.row-cols-md-5 > .col {
        width: 20%;
        max-width: 20%;
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    }
    .row.row-cols-md-6 > .col {
        width: 16.66666667%;
        max-width: 16.66666667%;
        -ms-flex-preferred-size: 16.66666667%;
        flex-basis: 16.66666667%;
    }

    .row.g-md-0,
    .row.gx-md-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .row.g-md-0 > [class^="col"],
    .row.g-md-0 > [class*=" col"],
    .row.gx-md-0 > [class^="col"],
    .row.gx-md-0 > [class*=" col"] { padding-left: 0 !important; padding-right: 0 !important; }
    .row.g-md-0 > [class^="col"],
    .row.g-md-0 > [class*=" col"],
    .row.gy-md-0 > [class^="col"],
    .row.gy-md-0 > [class*=" col"] { margin-bottom: 0 !important; }

    .row.g-md-1,
    .row.gx-md-1 { margin-left: -.125rem !important; margin-right: -.125rem !important; }
    .row.g-md-1 > [class^="col"],
    .row.g-md-1 > [class*=" col"],
    .row.gx-md-1 > [class^="col"],
    .row.gx-md-1 > [class*=" col"] { padding-left: .125rem !important; padding-right: .125rem !important; }
    .row.g-md-1 > [class^="col"],
    .row.g-md-1 > [class*=" col"],
    .row.gy-md-1 > [class^="col"],
    .row.gy-md-1 > [class*=" col"] { margin-bottom: .25rem !important; }

    .row.g-md-2,
    .row.gx-md-2 { margin-left: -.25rem !important; margin-right: -.25rem !important; }
    .row.g-md-2 > [class^="col"],
    .row.g-md-2 > [class*=" col"],
    .row.gx-md-2 > [class^="col"],
    .row.gx-md-2 > [class*=" col"] { padding-left: .25rem !important; padding-right: .25rem !important; }
    .row.g-md-2 > [class^="col"],
    .row.g-md-2 > [class*=" col"],
    .row.gy-md-2 > [class^="col"],
    .row.gy-md-2 > [class*=" col"] { margin-bottom: .5rem !important; }

    .row.g-md-3,
    .row.gx-md-3 { margin-left: -.5rem !important; margin-right: -.5rem !important; }
    .row.g-md-3 > [class^="col"],
    .row.g-md-3 > [class*=" col"],
    .row.gx-md-3 > [class^="col"],
    .row.gx-md-3 > [class*=" col"] { padding-left: .5rem !important; padding-right: .5rem !important; }
    .row.g-md-3 > [class^="col"],
    .row.g-md-3 > [class*=" col"],
    .row.gy-md-3 > [class^="col"],
    .row.gy-md-3 > [class*=" col"] { margin-bottom: 1rem !important; }

    .row.g-md-4,
    .row.gx-md-4 { margin-left: -.75rem !important; margin-right: -.75rem !important; }
    .row.g-md-4 > [class^="col"],
    .row.g-md-4 > [class*=" col"],
    .row.gx-md-4 > [class^="col"],
    .row.gx-md-4 > [class*=" col"] { padding-left: .75rem !important; padding-right: .75rem !important; }
    .row.g-md-4 > [class^="col"],
    .row.g-md-4 > [class*=" col"],
    .row.gy-md-4 > [class^="col"],
    .row.gy-md-4 > [class*=" col"] { margin-bottom: 1.5rem !important; }

    .row.g-md-5,
    .row.gx-md-5 { margin-left: -1.5rem !important; margin-right: -1.5rem !important; }
    .row.g-md-5 > [class^="col"],
    .row.g-md-5 > [class*=" col"],
    .row.gx-md-5 > [class^="col"],
    .row.gx-md-5 > [class*=" col"] { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .row.g-md-5 > [class^="col"],
    .row.g-md-5 > [class*=" col"],
    .row.gy-md-5 > [class^="col"],
    .row.gy-md-5 > [class*=" col"] { margin-bottom: 3rem !important; }
}

/* ---------------------------------------------------------
   15. responsive - lg (>=1200px)
   --------------------------------------------------------- */
@media (min-width: 1200px) {

    .d-lg-none { display: none !important; }
    .d-lg-block { display: block !important; }
    .d-lg-inline-block { display: inline-block !important; }
    .d-lg-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
    .d-lg-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; }

    .flex-lg-row {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-lg-row-reverse {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-lg-column {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-lg-column-reverse {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
    .flex-lg-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
    .flex-lg-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }

    .justify-content-lg-start {
        -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-lg-end {
        -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-lg-center {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-lg-between {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-lg-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .justify-content-lg-evenly { justify-content: space-evenly !important; }

    .align-items-lg-start {
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-lg-end {
        -webkit-box-align: end !important;
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-lg-center {
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-lg-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-lg-stretch {
        -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }

    .align-self-lg-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
    .align-self-lg-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
    .align-self-lg-center { -ms-flex-item-align: center !important; align-self: center !important; }
    .align-self-lg-baseline { align-self: baseline !important; }
    .align-self-lg-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; }

    .align-content-lg-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
    .align-content-lg-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
    .align-content-lg-center { -ms-flex-line-pack: center !important; align-content: center !important; }
    .align-content-lg-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
    .align-content-lg-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
    .align-content-lg-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }

    .flex-lg-fill {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-lg-grow-0 {
        -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-lg-grow-1 {
        -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-lg-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; }
    .flex-lg-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; }

    .order-lg-first { -ms-flex-order: -1 !important; order: -1 !important; }
    .order-lg-0 { -ms-flex-order: 0 !important; order: 0 !important; }
    .order-lg-1 { -ms-flex-order: 1 !important; order: 1 !important; }
    .order-lg-2 { -ms-flex-order: 2 !important; order: 2 !important; }
    .order-lg-3 { -ms-flex-order: 3 !important; order: 3 !important; }
    .order-lg-4 { -ms-flex-order: 4 !important; order: 4 !important; }
    .order-lg-5 { -ms-flex-order: 5 !important; order: 5 !important; }
    .order-lg-last { -ms-flex-order: 999 !important; order: 999 !important; }

    .gap-lg-0 { gap: 0 !important; }
    .gap-lg-1 { gap: .25rem !important; }
    .gap-lg-2 { gap: .5rem !important; }
    .gap-lg-3 { gap: 1rem !important; }
    .gap-lg-4 { gap: 1.5rem !important; }
    .gap-lg-5 { gap: 3rem !important; }

    .row-gap-lg-0 { row-gap: 0 !important; }
    .row-gap-lg-1 { row-gap: .25rem !important; }
    .row-gap-lg-2 { row-gap: .5rem !important; }
    .row-gap-lg-3 { row-gap: 1rem !important; }
    .row-gap-lg-4 { row-gap: 1.5rem !important; }
    .row-gap-lg-5 { row-gap: 3rem !important; }

    .column-gap-lg-0 { column-gap: 0 !important; }
    .column-gap-lg-1 { column-gap: .25rem !important; }
    .column-gap-lg-2 { column-gap: .5rem !important; }
    .column-gap-lg-3 { column-gap: 1rem !important; }
    .column-gap-lg-4 { column-gap: 1.5rem !important; }
    .column-gap-lg-5 { column-gap: 3rem !important; }

    .row.row-cols-lg-1 > .col {
        width: 100%;
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    .row.row-cols-lg-2 > .col {
        width: 50%;
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
    .row.row-cols-lg-3 > .col {
        width: 33.33333333%;
        max-width: 33.33333333%;
        -ms-flex-preferred-size: 33.33333333%;
        flex-basis: 33.33333333%;
    }
    .row.row-cols-lg-4 > .col {
        width: 25%;
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    }
    .row.row-cols-lg-5 > .col {
        width: 20%;
        max-width: 20%;
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    }
    .row.row-cols-lg-6 > .col {
        width: 16.66666667%;
        max-width: 16.66666667%;
        -ms-flex-preferred-size: 16.66666667%;
        flex-basis: 16.66666667%;
    }

    .row.g-lg-0,
    .row.gx-lg-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .row.g-lg-0 > [class^="col"],
    .row.g-lg-0 > [class*=" col"],
    .row.gx-lg-0 > [class^="col"],
    .row.gx-lg-0 > [class*=" col"] { padding-left: 0 !important; padding-right: 0 !important; }
    .row.g-lg-0 > [class^="col"],
    .row.g-lg-0 > [class*=" col"],
    .row.gy-lg-0 > [class^="col"],
    .row.gy-lg-0 > [class*=" col"] { margin-bottom: 0 !important; }

    .row.g-lg-1,
    .row.gx-lg-1 { margin-left: -.125rem !important; margin-right: -.125rem !important; }
    .row.g-lg-1 > [class^="col"],
    .row.g-lg-1 > [class*=" col"],
    .row.gx-lg-1 > [class^="col"],
    .row.gx-lg-1 > [class*=" col"] { padding-left: .125rem !important; padding-right: .125rem !important; }
    .row.g-lg-1 > [class^="col"],
    .row.g-lg-1 > [class*=" col"],
    .row.gy-lg-1 > [class^="col"],
    .row.gy-lg-1 > [class*=" col"] { margin-bottom: .25rem !important; }

    .row.g-lg-2,
    .row.gx-lg-2 { margin-left: -.25rem !important; margin-right: -.25rem !important; }
    .row.g-lg-2 > [class^="col"],
    .row.g-lg-2 > [class*=" col"],
    .row.gx-lg-2 > [class^="col"],
    .row.gx-lg-2 > [class*=" col"] { padding-left: .25rem !important; padding-right: .25rem !important; }
    .row.g-lg-2 > [class^="col"],
    .row.g-lg-2 > [class*=" col"],
    .row.gy-lg-2 > [class^="col"],
    .row.gy-lg-2 > [class*=" col"] { margin-bottom: .5rem !important; }

    .row.g-lg-3,
    .row.gx-lg-3 { margin-left: -.5rem !important; margin-right: -.5rem !important; }
    .row.g-lg-3 > [class^="col"],
    .row.g-lg-3 > [class*=" col"],
    .row.gx-lg-3 > [class^="col"],
    .row.gx-lg-3 > [class*=" col"] { padding-left: .5rem !important; padding-right: .5rem !important; }
    .row.g-lg-3 > [class^="col"],
    .row.g-lg-3 > [class*=" col"],
    .row.gy-lg-3 > [class^="col"],
    .row.gy-lg-3 > [class*=" col"] { margin-bottom: 1rem !important; }

    .row.g-lg-4,
    .row.gx-lg-4 { margin-left: -.75rem !important; margin-right: -.75rem !important; }
    .row.g-lg-4 > [class^="col"],
    .row.g-lg-4 > [class*=" col"],
    .row.gx-lg-4 > [class^="col"],
    .row.gx-lg-4 > [class*=" col"] { padding-left: .75rem !important; padding-right: .75rem !important; }
    .row.g-lg-4 > [class^="col"],
    .row.g-lg-4 > [class*=" col"],
    .row.gy-lg-4 > [class^="col"],
    .row.gy-lg-4 > [class*=" col"] { margin-bottom: 1.5rem !important; }

    .row.g-lg-5,
    .row.gx-lg-5 { margin-left: -1.5rem !important; margin-right: -1.5rem !important; }
    .row.g-lg-5 > [class^="col"],
    .row.g-lg-5 > [class*=" col"],
    .row.gx-lg-5 > [class^="col"],
    .row.gx-lg-5 > [class*=" col"] { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .row.g-lg-5 > [class^="col"],
    .row.g-lg-5 > [class*=" col"],
    .row.gy-lg-5 > [class^="col"],
    .row.gy-lg-5 > [class*=" col"] { margin-bottom: 3rem !important; }
}
/* ---------------------------------------------------------
   16. width / height / min-max / opacity / z-index
   --------------------------------------------------------- */

/* width */
.w-auto { width: auto !important; }
.w-0 { width: 0 !important; }
.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }

/* width viewport */
.vw-100 { width: 100vw !important; }

/* min / max width */
.mw-100 { max-width: 100% !important; }
.min-w-0 { min-width: 0 !important; }
.min-w-100 { min-width: 100% !important; }

/* height */
.h-auto { height: auto !important; }
.h-0 { height: 0 !important; }
.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }

/* height viewport */
.vh-100 { height: 100vh !important; }

/* min / max height */
.mh-100 { max-height: 100% !important; }
.min-h-0 { min-height: 0 !important; }
.min-h-100 { min-height: 100% !important; }

/* opacity */
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: .25 !important; }
.opacity-50 { opacity: .5 !important; }
.opacity-75 { opacity: .75 !important; }
.opacity-100 { opacity: 1 !important; }

/* z-index */
.z-auto { z-index: auto !important; }
.z-0 { z-index: 0 !important; }
.z-1 { z-index: 1 !important; }
.z-10 { z-index: 10 !important; }
.z-100 { z-index: 100 !important; }
.z-1000 { z-index: 1000 !important; }

/* responsive - sm (>=768px) */
@media (min-width: 768px) {

    .w-sm-auto { width: auto !important; }
    .w-sm-0 { width: 0 !important; }
    .w-sm-25 { width: 25% !important; }
    .w-sm-50 { width: 50% !important; }
    .w-sm-75 { width: 75% !important; }
    .w-sm-100 { width: 100% !important; }

    .vw-sm-100 { width: 100vw !important; }

    .mw-sm-100 { max-width: 100% !important; }
    .min-w-sm-0 { min-width: 0 !important; }
    .min-w-sm-100 { min-width: 100% !important; }

    .h-sm-auto { height: auto !important; }
    .h-sm-0 { height: 0 !important; }
    .h-sm-25 { height: 25% !important; }
    .h-sm-50 { height: 50% !important; }
    .h-sm-75 { height: 75% !important; }
    .h-sm-100 { height: 100% !important; }

    .vh-sm-100 { height: 100vh !important; }

    .mh-sm-100 { max-height: 100% !important; }
    .min-h-sm-0 { min-height: 0 !important; }
    .min-h-sm-100 { min-height: 100% !important; }

    .opacity-sm-0 { opacity: 0 !important; }
    .opacity-sm-25 { opacity: .25 !important; }
    .opacity-sm-50 { opacity: .5 !important; }
    .opacity-sm-75 { opacity: .75 !important; }
    .opacity-sm-100 { opacity: 1 !important; }

    .z-sm-auto { z-index: auto !important; }
    .z-sm-0 { z-index: 0 !important; }
    .z-sm-1 { z-index: 1 !important; }
    .z-sm-10 { z-index: 10 !important; }
    .z-sm-100 { z-index: 100 !important; }
    .z-sm-1000 { z-index: 1000 !important; }
}

/* responsive - md (>=992px) */
@media (min-width: 992px) {

    .w-md-auto { width: auto !important; }
    .w-md-0 { width: 0 !important; }
    .w-md-25 { width: 25% !important; }
    .w-md-50 { width: 50% !important; }
    .w-md-75 { width: 75% !important; }
    .w-md-100 { width: 100% !important; }

    .vw-md-100 { width: 100vw !important; }

    .mw-md-100 { max-width: 100% !important; }
    .min-w-md-0 { min-width: 0 !important; }
    .min-w-md-100 { min-width: 100% !important; }

    .h-md-auto { height: auto !important; }
    .h-md-0 { height: 0 !important; }
    .h-md-25 { height: 25% !important; }
    .h-md-50 { height: 50% !important; }
    .h-md-75 { height: 75% !important; }
    .h-md-100 { height: 100% !important; }

    .vh-md-100 { height: 100vh !important; }

    .mh-md-100 { max-height: 100% !important; }
    .min-h-md-0 { min-height: 0 !important; }
    .min-h-md-100 { min-height: 100% !important; }

    .opacity-md-0 { opacity: 0 !important; }
    .opacity-md-25 { opacity: .25 !important; }
    .opacity-md-50 { opacity: .5 !important; }
    .opacity-md-75 { opacity: .75 !important; }
    .opacity-md-100 { opacity: 1 !important; }

    .z-md-auto { z-index: auto !important; }
    .z-md-0 { z-index: 0 !important; }
    .z-md-1 { z-index: 1 !important; }
    .z-md-10 { z-index: 10 !important; }
    .z-md-100 { z-index: 100 !important; }
    .z-md-1000 { z-index: 1000 !important; }
}

/* responsive - lg (>=1200px) */
@media (min-width: 1200px) {

    .w-lg-auto { width: auto !important; }
    .w-lg-0 { width: 0 !important; }
    .w-lg-25 { width: 25% !important; }
    .w-lg-50 { width: 50% !important; }
    .w-lg-75 { width: 75% !important; }
    .w-lg-100 { width: 100% !important; }

    .vw-lg-100 { width: 100vw !important; }

    .mw-lg-100 { max-width: 100% !important; }
    .min-w-lg-0 { min-width: 0 !important; }
    .min-w-lg-100 { min-width: 100% !important; }

    .h-lg-auto { height: auto !important; }
    .h-lg-0 { height: 0 !important; }
    .h-lg-25 { height: 25% !important; }
    .h-lg-50 { height: 50% !important; }
    .h-lg-75 { height: 75% !important; }
    .h-lg-100 { height: 100% !important; }

    .vh-lg-100 { height: 100vh !important; }

    .mh-lg-100 { max-height: 100% !important; }
    .min-h-lg-0 { min-height: 0 !important; }
    .min-h-lg-100 { min-height: 100% !important; }

    .opacity-lg-0 { opacity: 0 !important; }
    .opacity-lg-25 { opacity: .25 !important; }
    .opacity-lg-50 { opacity: .5 !important; }
    .opacity-lg-75 { opacity: .75 !important; }
    .opacity-lg-100 { opacity: 1 !important; }

    .z-lg-auto { z-index: auto !important; }
    .z-lg-0 { z-index: 0 !important; }
    .z-lg-1 { z-index: 1 !important; }
    .z-lg-10 { z-index: 10 !important; }
    .z-lg-100 { z-index: 100 !important; }
    .z-lg-1000 { z-index: 1000 !important; }
}

/* ---------------------------------------------------------
   17. spacing
   Bootstrap 5-like spacing utilities for BS3
   scale:
   0 = 0
   1 = .25rem
   2 = .5rem
   3 = 1rem
   4 = 1.5rem
   5 = 3rem
   --------------------------------------------------------- */

/* margin */
.m-0 { margin: 0 !important; }
.m-1 { margin: .25rem !important; }
.m-2 { margin: .5rem !important; }
.m-3 { margin: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.m-5 { margin: 3rem !important; }

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: .25rem !important; }
.mr-2 { margin-right: .5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: .25rem !important; }
.ml-2 { margin-left: .5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }

.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
.mx-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
.mx-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
.mx-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.mx-5 { margin-left: 3rem !important; margin-right: 3rem !important; }

.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.my-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

.m-auto { margin: auto !important; }
.mt-auto { margin-top: auto !important; }
.mr-auto { margin-right: auto !important; }
.mb-auto { margin-bottom: auto !important; }
.ml-auto { margin-left: auto !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }

/* padding */
.p-0 { padding: 0 !important; }
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 3rem !important; }

.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: .25rem !important; }
.pt-2 { padding-top: .5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: .25rem !important; }
.pr-2 { padding-right: .5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }

.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: .25rem !important; }
.pb-2 { padding-bottom: .5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: .25rem !important; }
.pl-2 { padding-left: .5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }

.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
.px-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
.px-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.px-5 { padding-left: 3rem !important; padding-right: 3rem !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

/* responsive - sm (>=768px) */
@media (min-width: 768px) {

    .m-sm-0 { margin: 0 !important; }
    .m-sm-1 { margin: .25rem !important; }
    .m-sm-2 { margin: .5rem !important; }
    .m-sm-3 { margin: 1rem !important; }
    .m-sm-4 { margin: 1.5rem !important; }
    .m-sm-5 { margin: 3rem !important; }

    .mt-sm-0 { margin-top: 0 !important; }
    .mt-sm-1 { margin-top: .25rem !important; }
    .mt-sm-2 { margin-top: .5rem !important; }
    .mt-sm-3 { margin-top: 1rem !important; }
    .mt-sm-4 { margin-top: 1.5rem !important; }
    .mt-sm-5 { margin-top: 3rem !important; }

    .mr-sm-0 { margin-right: 0 !important; }
    .mr-sm-1 { margin-right: .25rem !important; }
    .mr-sm-2 { margin-right: .5rem !important; }
    .mr-sm-3 { margin-right: 1rem !important; }
    .mr-sm-4 { margin-right: 1.5rem !important; }
    .mr-sm-5 { margin-right: 3rem !important; }

    .mb-sm-0 { margin-bottom: 0 !important; }
    .mb-sm-1 { margin-bottom: .25rem !important; }
    .mb-sm-2 { margin-bottom: .5rem !important; }
    .mb-sm-3 { margin-bottom: 1rem !important; }
    .mb-sm-4 { margin-bottom: 1.5rem !important; }
    .mb-sm-5 { margin-bottom: 3rem !important; }

    .ml-sm-0 { margin-left: 0 !important; }
    .ml-sm-1 { margin-left: .25rem !important; }
    .ml-sm-2 { margin-left: .5rem !important; }
    .ml-sm-3 { margin-left: 1rem !important; }
    .ml-sm-4 { margin-left: 1.5rem !important; }
    .ml-sm-5 { margin-left: 3rem !important; }

    .mx-sm-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .mx-sm-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
    .mx-sm-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
    .mx-sm-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
    .mx-sm-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
    .mx-sm-5 { margin-left: 3rem !important; margin-right: 3rem !important; }

    .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
    .my-sm-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
    .my-sm-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
    .my-sm-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
    .my-sm-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
    .my-sm-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

    .m-sm-auto { margin: auto !important; }
    .mt-sm-auto { margin-top: auto !important; }
    .mr-sm-auto { margin-right: auto !important; }
    .mb-sm-auto { margin-bottom: auto !important; }
    .ml-sm-auto { margin-left: auto !important; }
    .mx-sm-auto { margin-left: auto !important; margin-right: auto !important; }
    .my-sm-auto { margin-top: auto !important; margin-bottom: auto !important; }

    .p-sm-0 { padding: 0 !important; }
    .p-sm-1 { padding: .25rem !important; }
    .p-sm-2 { padding: .5rem !important; }
    .p-sm-3 { padding: 1rem !important; }
    .p-sm-4 { padding: 1.5rem !important; }
    .p-sm-5 { padding: 3rem !important; }

    .pt-sm-0 { padding-top: 0 !important; }
    .pt-sm-1 { padding-top: .25rem !important; }
    .pt-sm-2 { padding-top: .5rem !important; }
    .pt-sm-3 { padding-top: 1rem !important; }
    .pt-sm-4 { padding-top: 1.5rem !important; }
    .pt-sm-5 { padding-top: 3rem !important; }

    .pr-sm-0 { padding-right: 0 !important; }
    .pr-sm-1 { padding-right: .25rem !important; }
    .pr-sm-2 { padding-right: .5rem !important; }
    .pr-sm-3 { padding-right: 1rem !important; }
    .pr-sm-4 { padding-right: 1.5rem !important; }
    .pr-sm-5 { padding-right: 3rem !important; }

    .pb-sm-0 { padding-bottom: 0 !important; }
    .pb-sm-1 { padding-bottom: .25rem !important; }
    .pb-sm-2 { padding-bottom: .5rem !important; }
    .pb-sm-3 { padding-bottom: 1rem !important; }
    .pb-sm-4 { padding-bottom: 1.5rem !important; }
    .pb-sm-5 { padding-bottom: 3rem !important; }

    .pl-sm-0 { padding-left: 0 !important; }
    .pl-sm-1 { padding-left: .25rem !important; }
    .pl-sm-2 { padding-left: .5rem !important; }
    .pl-sm-3 { padding-left: 1rem !important; }
    .pl-sm-4 { padding-left: 1.5rem !important; }
    .pl-sm-5 { padding-left: 3rem !important; }

    .px-sm-0 { padding-left: 0 !important; padding-right: 0 !important; }
    .px-sm-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
    .px-sm-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
    .px-sm-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
    .px-sm-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .px-sm-5 { padding-left: 3rem !important; padding-right: 3rem !important; }

    .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
    .py-sm-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
    .py-sm-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
    .py-sm-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
    .py-sm-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .py-sm-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
}

/* responsive - md (>=992px) */
@media (min-width: 992px) {

    .m-md-0 { margin: 0 !important; }
    .m-md-1 { margin: .25rem !important; }
    .m-md-2 { margin: .5rem !important; }
    .m-md-3 { margin: 1rem !important; }
    .m-md-4 { margin: 1.5rem !important; }
    .m-md-5 { margin: 3rem !important; }

    .mt-md-0 { margin-top: 0 !important; }
    .mt-md-1 { margin-top: .25rem !important; }
    .mt-md-2 { margin-top: .5rem !important; }
    .mt-md-3 { margin-top: 1rem !important; }
    .mt-md-4 { margin-top: 1.5rem !important; }
    .mt-md-5 { margin-top: 3rem !important; }

    .mr-md-0 { margin-right: 0 !important; }
    .mr-md-1 { margin-right: .25rem !important; }
    .mr-md-2 { margin-right: .5rem !important; }
    .mr-md-3 { margin-right: 1rem !important; }
    .mr-md-4 { margin-right: 1.5rem !important; }
    .mr-md-5 { margin-right: 3rem !important; }

    .mb-md-0 { margin-bottom: 0 !important; }
    .mb-md-1 { margin-bottom: .25rem !important; }
    .mb-md-2 { margin-bottom: .5rem !important; }
    .mb-md-3 { margin-bottom: 1rem !important; }
    .mb-md-4 { margin-bottom: 1.5rem !important; }
    .mb-md-5 { margin-bottom: 3rem !important; }

    .ml-md-0 { margin-left: 0 !important; }
    .ml-md-1 { margin-left: .25rem !important; }
    .ml-md-2 { margin-left: .5rem !important; }
    .ml-md-3 { margin-left: 1rem !important; }
    .ml-md-4 { margin-left: 1.5rem !important; }
    .ml-md-5 { margin-left: 3rem !important; }

    .mx-md-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .mx-md-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
    .mx-md-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
    .mx-md-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
    .mx-md-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
    .mx-md-5 { margin-left: 3rem !important; margin-right: 3rem !important; }

    .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
    .my-md-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
    .my-md-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
    .my-md-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
    .my-md-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
    .my-md-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

    .m-md-auto { margin: auto !important; }
    .mt-md-auto { margin-top: auto !important; }
    .mr-md-auto { margin-right: auto !important; }
    .mb-md-auto { margin-bottom: auto !important; }
    .ml-md-auto { margin-left: auto !important; }
    .mx-md-auto { margin-left: auto !important; margin-right: auto !important; }
    .my-md-auto { margin-top: auto !important; margin-bottom: auto !important; }

    .p-md-0 { padding: 0 !important; }
    .p-md-1 { padding: .25rem !important; }
    .p-md-2 { padding: .5rem !important; }
    .p-md-3 { padding: 1rem !important; }
    .p-md-4 { padding: 1.5rem !important; }
    .p-md-5 { padding: 3rem !important; }

    .pt-md-0 { padding-top: 0 !important; }
    .pt-md-1 { padding-top: .25rem !important; }
    .pt-md-2 { padding-top: .5rem !important; }
    .pt-md-3 { padding-top: 1rem !important; }
    .pt-md-4 { padding-top: 1.5rem !important; }
    .pt-md-5 { padding-top: 3rem !important; }

    .pr-md-0 { padding-right: 0 !important; }
    .pr-md-1 { padding-right: .25rem !important; }
    .pr-md-2 { padding-right: .5rem !important; }
    .pr-md-3 { padding-right: 1rem !important; }
    .pr-md-4 { padding-right: 1.5rem !important; }
    .pr-md-5 { padding-right: 3rem !important; }

    .pb-md-0 { padding-bottom: 0 !important; }
    .pb-md-1 { padding-bottom: .25rem !important; }
    .pb-md-2 { padding-bottom: .5rem !important; }
    .pb-md-3 { padding-bottom: 1rem !important; }
    .pb-md-4 { padding-bottom: 1.5rem !important; }
    .pb-md-5 { padding-bottom: 3rem !important; }

    .pl-md-0 { padding-left: 0 !important; }
    .pl-md-1 { padding-left: .25rem !important; }
    .pl-md-2 { padding-left: .5rem !important; }
    .pl-md-3 { padding-left: 1rem !important; }
    .pl-md-4 { padding-left: 1.5rem !important; }
    .pl-md-5 { padding-left: 3rem !important; }

    .px-md-0 { padding-left: 0 !important; padding-right: 0 !important; }
    .px-md-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
    .px-md-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
    .px-md-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
    .px-md-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .px-md-5 { padding-left: 3rem !important; padding-right: 3rem !important; }

    .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
    .py-md-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
    .py-md-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
    .py-md-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
    .py-md-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .py-md-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
}

/* responsive - lg (>=1200px) */
@media (min-width: 1200px) {

    .m-lg-0 { margin: 0 !important; }
    .m-lg-1 { margin: .25rem !important; }
    .m-lg-2 { margin: .5rem !important; }
    .m-lg-3 { margin: 1rem !important; }
    .m-lg-4 { margin: 1.5rem !important; }
    .m-lg-5 { margin: 3rem !important; }

    .mt-lg-0 { margin-top: 0 !important; }
    .mt-lg-1 { margin-top: .25rem !important; }
    .mt-lg-2 { margin-top: .5rem !important; }
    .mt-lg-3 { margin-top: 1rem !important; }
    .mt-lg-4 { margin-top: 1.5rem !important; }
    .mt-lg-5 { margin-top: 3rem !important; }

    .mr-lg-0 { margin-right: 0 !important; }
    .mr-lg-1 { margin-right: .25rem !important; }
    .mr-lg-2 { margin-right: .5rem !important; }
    .mr-lg-3 { margin-right: 1rem !important; }
    .mr-lg-4 { margin-right: 1.5rem !important; }
    .mr-lg-5 { margin-right: 3rem !important; }

    .mb-lg-0 { margin-bottom: 0 !important; }
    .mb-lg-1 { margin-bottom: .25rem !important; }
    .mb-lg-2 { margin-bottom: .5rem !important; }
    .mb-lg-3 { margin-bottom: 1rem !important; }
    .mb-lg-4 { margin-bottom: 1.5rem !important; }
    .mb-lg-5 { margin-bottom: 3rem !important; }

    .ml-lg-0 { margin-left: 0 !important; }
    .ml-lg-1 { margin-left: .25rem !important; }
    .ml-lg-2 { margin-left: .5rem !important; }
    .ml-lg-3 { margin-left: 1rem !important; }
    .ml-lg-4 { margin-left: 1.5rem !important; }
    .ml-lg-5 { margin-left: 3rem !important; }

    .mx-lg-0 { margin-left: 0 !important; margin-right: 0 !important; }
    .mx-lg-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
    .mx-lg-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
    .mx-lg-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
    .mx-lg-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
    .mx-lg-5 { margin-left: 3rem !important; margin-right: 3rem !important; }

    .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
    .my-lg-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
    .my-lg-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
    .my-lg-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
    .my-lg-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
    .my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

    .m-lg-auto { margin: auto !important; }
    .mt-lg-auto { margin-top: auto !important; }
    .mr-lg-auto { margin-right: auto !important; }
    .mb-lg-auto { margin-bottom: auto !important; }
    .ml-lg-auto { margin-left: auto !important; }
    .mx-lg-auto { margin-left: auto !important; margin-right: auto !important; }
    .my-lg-auto { margin-top: auto !important; margin-bottom: auto !important; }

    .p-lg-0 { padding: 0 !important; }
    .p-lg-1 { padding: .25rem !important; }
    .p-lg-2 { padding: .5rem !important; }
    .p-lg-3 { padding: 1rem !important; }
    .p-lg-4 { padding: 1.5rem !important; }
    .p-lg-5 { padding: 3rem !important; }

    .pt-lg-0 { padding-top: 0 !important; }
    .pt-lg-1 { padding-top: .25rem !important; }
    .pt-lg-2 { padding-top: .5rem !important; }
    .pt-lg-3 { padding-top: 1rem !important; }
    .pt-lg-4 { padding-top: 1.5rem !important; }
    .pt-lg-5 { padding-top: 3rem !important; }

    .pr-lg-0 { padding-right: 0 !important; }
    .pr-lg-1 { padding-right: .25rem !important; }
    .pr-lg-2 { padding-right: .5rem !important; }
    .pr-lg-3 { padding-right: 1rem !important; }
    .pr-lg-4 { padding-right: 1.5rem !important; }
    .pr-lg-5 { padding-right: 3rem !important; }

    .pb-lg-0 { padding-bottom: 0 !important; }
    .pb-lg-1 { padding-bottom: .25rem !important; }
    .pb-lg-2 { padding-bottom: .5rem !important; }
    .pb-lg-3 { padding-bottom: 1rem !important; }
    .pb-lg-4 { padding-bottom: 1.5rem !important; }
    .pb-lg-5 { padding-bottom: 3rem !important; }

    .pl-lg-0 { padding-left: 0 !important; }
    .pl-lg-1 { padding-left: .25rem !important; }
    .pl-lg-2 { padding-left: .5rem !important; }
    .pl-lg-3 { padding-left: 1rem !important; }
    .pl-lg-4 { padding-left: 1.5rem !important; }
    .pl-lg-5 { padding-left: 3rem !important; }

    .px-lg-0 { padding-left: 0 !important; padding-right: 0 !important; }
    .px-lg-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
    .px-lg-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
    .px-lg-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
    .px-lg-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
    .px-lg-5 { padding-left: 3rem !important; padding-right: 3rem !important; }

    .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
    .py-lg-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
    .py-lg-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
    .py-lg-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
    .py-lg-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
    .py-lg-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
}

/* ---------------------------------------------------------
   18. border / radius / shadow / overflow / position
   --------------------------------------------------------- */

/* border base */
.border { border: 1px solid #ddd !important; }
.border-0 { border: 0 !important; }

.border-top { border-top: 1px solid #ddd !important; }
.border-top-0 { border-top: 0 !important; }

.border-right { border-right: 1px solid #ddd !important; }
.border-right-0 { border-right: 0 !important; }

.border-bottom { border-bottom: 1px solid #ddd !important; }
.border-bottom-0 { border-bottom: 0 !important; }

.border-left { border-left: 1px solid #ddd !important; }
.border-left-0 { border-left: 0 !important; }

/* border color */
.border-white { border-color: #fff !important; }
.border-light { border-color: #eee !important; }
.border-secondary { border-color: #ccc !important; }
.border-dark { border-color: #333 !important; }
.border-primary { border-color: #337ab7 !important; }
.border-success { border-color: #5cb85c !important; }
.border-info { border-color: #5bc0de !important; }
.border-warning { border-color: #f0ad4e !important; }
.border-danger { border-color: #d9534f !important; }

/* border width */
.border-1 { border-width: 1px !important; }
.border-2 { border-width: 2px !important; }
.border-3 { border-width: 3px !important; }

.border-top-1 { border-top-width: 1px !important; }
.border-top-2 { border-top-width: 2px !important; }
.border-top-3 { border-top-width: 3px !important; }

.border-right-1 { border-right-width: 1px !important; }
.border-right-2 { border-right-width: 2px !important; }
.border-right-3 { border-right-width: 3px !important; }

.border-bottom-1 { border-bottom-width: 1px !important; }
.border-bottom-2 { border-bottom-width: 2px !important; }
.border-bottom-3 { border-bottom-width: 3px !important; }

.border-left-1 { border-left-width: 1px !important; }
.border-left-2 { border-left-width: 2px !important; }
.border-left-3 { border-left-width: 3px !important; }

/* border style */
.border-solid { border-style: solid !important; }
.border-dashed { border-style: dashed !important; }
.border-dotted { border-style: dotted !important; }

/* rounded */
.rounded { border-radius: .25rem !important; }
.rounded-0 { border-radius: 0 !important; }
.rounded-sm { border-radius: .125rem !important; }
.rounded-lg { border-radius: .5rem !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: 50rem !important; }

.rounded-top {
    border-top-left-radius: .25rem !important;
    border-top-right-radius: .25rem !important;
}
.rounded-top-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}
.rounded-right {
    border-top-right-radius: .25rem !important;
    border-bottom-right-radius: .25rem !important;
}
.rounded-right-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.rounded-bottom {
    border-bottom-left-radius: .25rem !important;
    border-bottom-right-radius: .25rem !important;
}
.rounded-bottom-0 {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.rounded-left {
    border-top-left-radius: .25rem !important;
    border-bottom-left-radius: .25rem !important;
}
.rounded-left-0 {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* shadow */
.shadow-none { box-shadow: none !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }

/* overflow */
.overflow-auto { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.overflow-visible { overflow: visible !important; }
.overflow-scroll { overflow: scroll !important; }

.overflow-x-auto { overflow-x: auto !important; }
.overflow-x-hidden { overflow-x: hidden !important; }
.overflow-x-scroll { overflow-x: scroll !important; }

.overflow-y-auto { overflow-y: auto !important; }
.overflow-y-hidden { overflow-y: hidden !important; }
.overflow-y-scroll { overflow-y: scroll !important; }

/* position */
.position-static { position: static !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }

/* offsets */
.top-0 { top: 0 !important; }
.right-0 { right: 0 !important; }
.bottom-0 { bottom: 0 !important; }
.left-0 { left: 0 !important; }

.top-50 { top: 50% !important; }
.left-50 { left: 50% !important; }
.right-50 { right: 50% !important; }
.bottom-50 { bottom: 50% !important; }

/* visibility */
.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

/* cursor */
.cursor-pointer { cursor: pointer !important; }
.cursor-default { cursor: default !important; }
.cursor-move { cursor: move !important; }
.cursor-text { cursor: text !important; }

/* user select */
.user-select-none {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}
.user-select-all {
    -webkit-user-select: all !important;
    -moz-user-select: all !important;
    -ms-user-select: all !important;
    user-select: all !important;
}
.user-select-auto {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    -ms-user-select: auto !important;
    user-select: auto !important;
}

/* pointer events */
.pe-none { pointer-events: none !important; }
.pe-auto { pointer-events: auto !important; }

/* responsive - sm (>=768px) */
@media (min-width: 768px) {

    .border-sm { border: 1px solid #ddd !important; }
    .border-sm-0 { border: 0 !important; }

    .border-top-sm { border-top: 1px solid #ddd !important; }
    .border-top-sm-0 { border-top: 0 !important; }

    .border-right-sm { border-right: 1px solid #ddd !important; }
    .border-right-sm-0 { border-right: 0 !important; }

    .border-bottom-sm { border-bottom: 1px solid #ddd !important; }
    .border-bottom-sm-0 { border-bottom: 0 !important; }

    .border-left-sm { border-left: 1px solid #ddd !important; }
    .border-left-sm-0 { border-left: 0 !important; }

    .rounded-sm-none { border-radius: 0 !important; }
    .rounded-sm { border-radius: .25rem !important; }
    .shadow-sm-none { box-shadow: none !important; }
    .shadow-sm { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }

    .overflow-sm-auto { overflow: auto !important; }
    .overflow-sm-hidden { overflow: hidden !important; }

    .position-sm-static { position: static !important; }
    .position-sm-relative { position: relative !important; }
    .position-sm-absolute { position: absolute !important; }
}

/* responsive - md (>=992px) */
@media (min-width: 992px) {

    .border-md { border: 1px solid #ddd !important; }
    .border-md-0 { border: 0 !important; }

    .border-top-md { border-top: 1px solid #ddd !important; }
    .border-top-md-0 { border-top: 0 !important; }

    .border-right-md { border-right: 1px solid #ddd !important; }
    .border-right-md-0 { border-right: 0 !important; }

    .border-bottom-md { border-bottom: 1px solid #ddd !important; }
    .border-bottom-md-0 { border-bottom: 0 !important; }

    .border-left-md { border-left: 1px solid #ddd !important; }
    .border-left-md-0 { border-left: 0 !important; }

    .rounded-md-none { border-radius: 0 !important; }
    .rounded-md { border-radius: .25rem !important; }
    .shadow-md-none { box-shadow: none !important; }
    .shadow-md { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }

    .overflow-md-auto { overflow: auto !important; }
    .overflow-md-hidden { overflow: hidden !important; }

    .position-md-static { position: static !important; }
    .position-md-relative { position: relative !important; }
    .position-md-absolute { position: absolute !important; }
}

/* responsive - lg (>=1200px) */
@media (min-width: 1200px) {

    .border-lg { border: 1px solid #ddd !important; }
    .border-lg-0 { border: 0 !important; }

    .border-top-lg { border-top: 1px solid #ddd !important; }
    .border-top-lg-0 { border-top: 0 !important; }

    .border-right-lg { border-right: 1px solid #ddd !important; }
    .border-right-lg-0 { border-right: 0 !important; }

    .border-bottom-lg { border-bottom: 1px solid #ddd !important; }
    .border-bottom-lg-0 { border-bottom: 0 !important; }

    .border-left-lg { border-left: 1px solid #ddd !important; }
    .border-left-lg-0 { border-left: 0 !important; }

    .rounded-lg-none { border-radius: 0 !important; }
    .rounded-lg { border-radius: .25rem !important; }
    .shadow-lg-none { box-shadow: none !important; }
    .shadow-lg { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }

    .overflow-lg-auto { overflow: auto !important; }
    .overflow-lg-hidden { overflow: hidden !important; }

    .position-lg-static { position: static !important; }
    .position-lg-relative { position: relative !important; }
    .position-lg-absolute { position: absolute !important; }
}