/* Local Lightweight Bootstrap Grid & Utility Reset */
*,
::after,
::before {
    box-sizing: border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media(min-width:1200px) {
    h1 {
        font-size: 2.5rem
    }
}

h2 {
    font-size: calc(1.325rem + .9vw)
}

@media(min-width:1200px) {
    h2 {
        font-size: 2rem
    }
}

h3 {
    font-size: calc(1.3rem + .6vw)
}

@media(min-width:1200px) {
    h3 {
        font-size: 1.75rem
    }
}

h4 {
    font-size: calc(1.275rem + .3vw)
}

@media(min-width:1200px) {
    h4 {
        font-size: 1.5rem
    }
}

h5 {
    font-size: 1.25rem
}

h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

ul,
ol {
    padding-left: 2rem;
    margin-top: 0;
    margin-bottom: 1rem
}

a {
    color: #0d6efd;
    text-decoration: underline
}

a:hover {
    color: #0a58ca
}

img,
svg,
video {
    vertical-align: middle;
    max-width: 100%;
    height: auto
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

button:not(:disabled),
[type=button]:not(:disabled) {
    cursor: pointer
}

.container,
.container-fluid {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto
}

@media(min-width:576px) {
    .container {
        max-width: 540px
    }
}

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

@media(min-width:992px) {
    .container {
        max-width: 960px
    }
}

@media(min-width:1200px) {
    .container {
        max-width: 1140px
    }
}

@media(min-width:1400px) {
    .container {
        max-width: 1320px
    }
}

.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)
}

.col {
    flex: 1 0 0%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

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

@media(min-width:576px) {
    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }
}

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

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }
}

@media(min-width:992px) {
    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }
}

@media(min-width:1200px) {
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }
}

.g-2 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem
}

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

.g-4 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem
}

.g-5 {
    --bs-gutter-x: 3rem;
    --bs-gutter-y: 3rem
}

.d-block {
    display: block !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

@media(min-width:992px) {
    .d-lg-block {
        display: block !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-none {
        display: none !important
    }
}

.flex-column {
    flex-direction: column !important
}

.flex-row {
    flex-direction: row !important
}

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

.justify-content-start {
    justify-content: flex-start !important
}

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

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-between {
    justify-content: space-between !important
}

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

.align-items-start {
    align-items: flex-start !important
}

.align-items-stretch {
    align-items: stretch !important
}

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

.w-100 {
    width: 100% !important
}

.h-100 {
    height: 100% !important
}

.m-0 {
    margin: 0 !important
}

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

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

.me-2 {
    margin-right: .5rem !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
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !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
}

.px-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important
}

.px-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important
}

.text-start {
    text-align: left !important
}

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

.text-end {
    text-align: right !important
}

.text-uppercase {
    text-transform: uppercase !important
}