:root {
    --bs-orange: #fd7e14;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-primary: #0d6efd;
    --bs-success: #198754;
    --bs-warning: #ffc107;
    --bs-danger: #458dcc;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --bs-gradient: linear-gradient(180deg,rgba(255,255,255,0.15),rgba(255,255,255,0))
}

*,::after,::before {
    box-sizing: border-box
}

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    margin: 0;
    font-family: var(--bs-font-sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-dark);
    background-color: var(--bs-white)
}

hr {
    margin: 1rem 0;
    color: inherit;
    background-color: currentColor;
    border: 0;
    opacity: .25
}

hr:not([size]) {
    height: 1px
}

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

.h1,h1 {
    font-size: calc(1.375rem + 1.5vw)
}

.h2,h2 {
    font-size: calc(1.325rem + .9vw)
}

.h3,h3 {
    font-size: calc(1.3rem + .6vw)
}

.h4,h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width: 1200px) {
    .h1,h1 {
        font-size:2.5rem
    }

    .h2,h2 {
        font-size: 2rem
    }

    .h3,h3 {
        font-size: 1.75rem
    }

    .h4,h4 {
        font-size: 1.5rem
    }
}

.h5,h5 {
    font-size: 1.25rem
}

.h6,h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[data-bs-original-title],abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,ul {
    padding-left: 2rem
}

dl,ol,ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,ol ul,ul ol,ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

b,strong {
    font-weight: bolder
}

.small,small {
    font-size: .875em
}

.mark,mark {
    padding: .2em;
    background-color: #fcf8e3
}

sub,sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: var(--bs-primary);
    text-decoration: underline
}

a:hover {
    color: var(--bs-primary)
}

a:not([href]):not([class]),a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

code,kbd,pre,samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
    direction: ltr;
    unicode-bidi: bidi-override
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: .875em;
    color: var(--bs-danger);
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .2rem .4rem;
    font-size: .875em;
    color: var(--bs-white);
    background-color: var(--bs-dark);
    border-radius: .2rem
}

kbd kbd {
    padding: 0;
    font-size: 1em;
    font-weight: 700
}

figure {
    margin: 0 0 1rem
}

img,svg {
    vertical-align: middle
}

table {
    caption-side: bottom;
    border-collapse: collapse
}

caption {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--bs-gray);
    text-align: left
}

th {
    text-align: inherit
}

tbody,td,tfoot,th,thead,tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

button,input,optgroup,select,textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    overflow-wrap: normal
}

select:disabled {
    opacity: 1
}

[list]::-webkit-calendar-picker-indicator {
    display: none
}

[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: calc(1.275rem + .3vw);
    line-height: inherit
}

@media (min-width: 1200px) {
    legend {
        font-size:1.5rem
    }
}

legend+* {
    clear: left
}

::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type="search"] {
    outline-offset: -2px
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::file-selector-button {
    font: inherit
}

::-webkit-file-upload-button {
    font: inherit
}

output {
    display: inline-block
}

iframe {
    border: 0
}

summary {
    display: list-item;
    cursor: pointer
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: .875em;
    text-transform: uppercase
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: var(--bs-white);
    border: 1px solid var(--bs-gray-primary);
    border-radius: .25rem;
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: .875em;
    color: var(--bs-gray)
}

.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl {
    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,.container-sm {
        max-width:540px
    }
}

@media (min-width: 768px) {
    .container,.container-md,.container-sm {
        max-width:720px
    }
}

@media (min-width: 992px) {
    .container,.container-lg,.container-md,.container-sm {
        max-width:1000px
    }
}

@media (min-width: 1200px) {
    .container,.container-lg,.container-md,.container-sm,.container-xl {
        max-width:1140px
    }
}

@media (min-width: 1400px) {
    .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl {
        max-width:1320px
    }
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -.5);
    margin-left: calc(var(--bs-gutter-x) * -.5)
}

.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
}

@media (min-width: 576px) {
    .col-sm {
        flex:1 0 0
    }
}

@media (min-width: 768px) {
    .col-md {
        flex:1 0 0
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex:1 0 0
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex:1 0 0
    }
}

@media (min-width: 1400px) {
    .col-xxl {
        flex:1 0 0
    }
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,.gx-0 {
    --bs-gutter-x: 0
}

.g-0,.gy-0 {
    --bs-gutter-y: 0
}

.g-1,.gx-1 {
    --bs-gutter-x: .25rem
}

.g-1,.gy-1 {
    --bs-gutter-y: .25rem
}

.g-2,.gx-2 {
    --bs-gutter-x: .5rem
}

.g-2,.gy-2 {
    --bs-gutter-y: .5rem
}

.g-3,.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,.gy-5 {
    --bs-gutter-y: 3rem
}

@media (min-width: 576px) {
    .col-sm-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }
}

@media (min-width: 768px) {
    .col-md-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .offset-md-2 {
        margin-left: 16.66666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.33333333%
    }

    .offset-md-5 {
        margin-left: 41.66666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.33333333%
    }

    .offset-md-8 {
        margin-left: 66.66666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.33333333%
    }

    .offset-md-11 {
        margin-left: 91.66666667%
    }
}

@media (min-width: 992px) {
    .col-lg-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }
}

@media (min-width: 1200px) {
    .col-xl-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }
}

@media (min-width: 1400px) {
    .col-xxl-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%
    }
}

.form-label {
    margin-bottom: .5rem
}

.form-text {
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-gray)
}

.form-control {
    display: block;
    line-height: 1.5;
    background-color: var(--bs-white);
    background-clip: padding-box;
    border: var(--bd-gray-border) solid 1px;
    appearance: none;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-control {
        transition: none
    }
}

.form-control[type=file] {
    overflow: hidden
}

.form-control[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    margin-inline-end:.75rem;color: var(--bs-dark);
    background-color: var(--bs-gray-dark-bg);
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width:1px;border-radius: 0;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-control::file-selector-button {
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button,.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: var(--bs-gray-primary)
}

.form-control::-webkit-file-upload-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    margin-inline-end:.75rem;color: var(--bs-dark);
    background-color: var(--bs-gray-dark-bg);
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width:1px;border-radius: 0;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {
        transition: none
    }
}

.form-floating {
    position: relative
}

.form-floating>.form-control {
    height: calc(3.5rem + 2px);
    line-height: 1.25;
    padding: 1rem .75rem
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 1rem .75rem;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out,transform .1s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-floating>label {
        transition: none
    }
}

.form-floating>.form-control::-moz-placeholder {
    color: transparent
}

.form-floating>.form-control::placeholder {
    color: transparent
}

.form-floating>.form-control:not(:-moz-placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:not(:-moz-placeholder-shown)~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:-webkit-autofill~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.input-group>.form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0
}

.input-group>.form-control:focus {
    z-index: 3
}

.input-group .btn {
    position: relative;
    z-index: 2
}

.input-group .btn:focus {
    z-index: 3
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-dark);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-gray-dark-bg);
    border: 1px solid var(--bs-service-gray);
    border-radius: .25rem
}

.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip {
    display: block
}

.form-control.is-valid,.was-validated .form-control:valid {
    border-color: var(--bs-success);
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)
}

.form-control.is-valid:focus,.was-validated .form-control:valid:focus {
    border-color: var(--bs-success);
    box-shadow: 0 0 0 .25rem rgba(25,135,84,.25)
}

.was-validated textarea.form-control:valid,textarea.form-control.is-valid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)
}

.input-group .form-control.is-valid,.was-validated .input-group .form-control:valid {
    z-index: 1
}

.input-group .form-control.is-valid:focus,.was-validated .input-group .form-control:valid:focus {
    z-index: 3
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-danger)
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: var(--bs-white);
    background-color: var(--bs-danger);
    border-radius: .25rem
}

.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip {
    display: block
}

.form-control.is-invalid,.was-validated .form-control:invalid {
    border-color: var(--bs-danger);
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)
}

.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus {
    border-color: var(--bs-danger);
    box-shadow: 0 0 0 .25rem var(--bs-danger)
}

.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)
}

.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus {
    z-index: 3
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-dark);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: transparent solid 1px;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .btn {
        transition: none
    }
}

.btn:hover {
    color: var(--bs-dark)
}

.btn:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25)
}

.btn.disabled,.btn:disabled,fieldset:disabled .btn {
    opacity: .65
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease
}

@media (prefers-reduced-motion:reduce) {
    .collapsing {
        transition: none
    }
}

.dropdown,.dropend,.dropup {
    position: relative
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: .5rem 1rem;
    color: var(--bs-primary);
    text-decoration: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .nav-link {
        transition: none
    }
}

.nav-link:focus,.nav-link:hover {
    color: var(--bs-primary)
}

.nav-link.disabled {
    color: var(--bs-gray);
    cursor: default
}

.nav-justified .nav-item,.nav-justified>.nav-link {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center
}

.navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding-top: .5rem;
    padding-bottom: .5rem
}

.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.badge {
    display: inline-block;
    padding: .35em .65em;
    font-size: .75em;
    font-weight: 700;
    line-height: 1;
    color: var(--bs-white);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem
}

.badge:empty {
    display: none
}

.btn .badge {
    position: relative;
    top: -1px
}

.alert {
    position: relative;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.ratio {
    position: relative;
    width: 100%
}

.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.overflow-hidden {
    overflow: hidden
}

.d-inline {
    display: inline
}

.d-inline-block {
    display: inline-block
}

.d-block {
    display: block
}

.d-grid {
    display: grid
}

.d-table {
    display: table
}

.d-table-row {
    display: table-row
}

.d-table-cell {
    display: table-cell
}

.d-flex {
    display: flex
}

.d-inline-flex {
    display: inline-flex
}

.d-none {
    display: none
}

.position-static {
    position: static
}

.position-relative {
    position: relative
}

.position-absolute {
    position: absolute
}

.position-fixed {
    position: fixed
}

.position-sticky {
    position: -webkit-sticky;
    position: sticky
}

.w-100 {
    width: 100%
}

.justify-content-center {
    justify-content: center
}

.justify-content-between {
    justify-content: space-between
}

.align-items-center {
    align-items: center
}

.m-0 {
    margin: 0
}

.m-1 {
    margin: .25rem
}

.m-2 {
    margin: .5rem
}

.m-3 {
    margin: 1rem
}

.m-4 {
    margin: 1.5rem
}

.m-5 {
    margin: 3rem
}

.m-auto {
    margin: auto
}

.mx-0 {
    margin-right: 0;
    margin-left: 0
}

.mx-1 {
    margin-right: .25rem;
    margin-left: .25rem
}

.mx-2 {
    margin-right: .5rem;
    margin-left: .5rem
}

.mx-3 {
    margin-right: 1rem;
    margin-left: 1rem
}

.mx-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem
}

.mx-5 {
    margin-right: 3rem;
    margin-left: 3rem
}

.mx-auto {
    margin-right: auto;
    margin-left: auto
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0
}

.my-1 {
    margin-top: .25rem;
    margin-bottom: .25rem
}

.my-2 {
    margin-top: .5rem;
    margin-bottom: .5rem
}

.my-3 {
    margin-top: 1rem;
    margin-bottom: 1rem
}

.my-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

.my-5 {
    margin-top: 3rem;
    margin-bottom: 3rem
}

.my-auto {
    margin-top: auto;
    margin-bottom: auto
}

.mt-0 {
    margin-top: 0
}

.mt-1 {
    margin-top: .25rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-3 {
    margin-top: 1rem
}

.mt-4 {
    margin-top: 1.5rem
}

.mt-5 {
    margin-top: 3rem
}

.mt-auto {
    margin-top: auto
}

.me-0 {
    margin-right: 0
}

.me-1 {
    margin-right: .25rem
}

.me-2 {
    margin-right: .5rem
}

.me-3 {
    margin-right: 1rem
}

.me-4 {
    margin-right: 1.5rem
}

.me-5 {
    margin-right: 3rem
}

.me-auto {
    margin-right: auto
}

.mb-0 {
    margin-bottom: 0
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-3 {
    margin-bottom: 1rem
}

.mb-4 {
    margin-bottom: 1.5rem
}

.mb-5 {
    margin-bottom: 3rem
}

.mb-auto {
    margin-bottom: auto
}

.ms-0 {
    margin-left: 0
}

.ms-1 {
    margin-left: .25rem
}

.ms-2 {
    margin-left: .5rem
}

.ms-3 {
    margin-left: 1rem
}

.ms-4 {
    margin-left: 1.5rem
}

.ms-5 {
    margin-left: 3rem
}

.ms-auto {
    margin-left: auto
}

.p-0 {
    padding: 0
}

.p-1 {
    padding: .25rem
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: 1rem
}

.p-4 {
    padding: 1.5rem
}

.p-5 {
    padding: 3rem
}

.px-0 {
    padding-right: 0;
    padding-left: 0
}

.px-1 {
    padding-right: .25rem;
    padding-left: .25rem
}

.px-2 {
    padding-right: .5rem;
    padding-left: .5rem
}

.px-3 {
    padding-right: 1rem;
    padding-left: 1rem
}

.px-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem
}

.px-5 {
    padding-right: 3rem;
    padding-left: 3rem
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-3 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

.py-5 {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.pt-0 {
    padding-top: 0
}

.pt-1 {
    padding-top: .25rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-3 {
    padding-top: 1rem
}

.pt-4 {
    padding-top: 1.5rem
}

.pt-5 {
    padding-top: 3rem
}

.pe-0 {
    padding-right: 0
}

.pe-1 {
    padding-right: .25rem
}

.pe-2 {
    padding-right: .5rem
}

.pe-3 {
    padding-right: 1rem
}

.pe-4 {
    padding-right: 1.5rem
}

.pe-5 {
    padding-right: 3rem
}

.pb-0 {
    padding-bottom: 0
}

.pb-1 {
    padding-bottom: .25rem
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-3 {
    padding-bottom: 1rem
}

.pb-4 {
    padding-bottom: 1.5rem
}

.pb-5 {
    padding-bottom: 3rem
}

.ps-0 {
    padding-left: 0
}

.ps-1 {
    padding-left: .25rem
}

.ps-2 {
    padding-left: .5rem
}

.ps-3 {
    padding-left: 1rem
}

.ps-4 {
    padding-left: 1.5rem
}

.ps-5 {
    padding-left: 3rem
}

.fst-italic {
    font-style: italic
}

.fst-normal {
    font-style: normal
}

.text-start {
    text-align: left
}

.text-end {
    text-align: right
}

.text-center {
    text-align: center
}

.text-justify {
    text-align: justify
}

.text-decoration-none {
    text-decoration: none
}

.text-decoration-underline {
    text-decoration: underline
}

.text-decoration-line-through {
    text-decoration: line-through
}

.text-lowercase {
    text-transform: lowercase
}

.text-uppercase {
    text-transform: uppercase
}

.text-capitalize {
    text-transform: capitalize
}

.text-wrap {
    white-space: normal
}

.text-nowrap {
    white-space: nowrap
}

.text-break {
    word-wrap: break-word;
    word-break: break-word
}

.text-primary {
    color: var(--bs-primary)
}

.text-secondary,.text-muted {
    color: var(--bs-gray)
}

.text-success {
    color: var(--bs-success)
}

.text-warning {
    color: var(--bs-warning)
}

.text-danger {
    color: var(--bs-danger)
}

.text-light {
    color: var(--bs-light)
}

.text-dark {
    color: var(--bs-dark)
}

.text-body {
    color: var(--bs-dark)
}

.text-black-50 {
    color: rgba(0,0,0,.5)
}

.text-white-50 {
    color: rgba(255,255,255,.5)
}

.text-reset {
    color: inherit
}

.bg-primary {
    background-color: var(--bs-primary)
}

.bg-secondary {
    background-color: var(--bs-gray)
}

.bg-success {
    background-color: var(--bs-success)
}

.bg-warning {
    background-color: var(--bs-warning)
}

.bg-danger {
    background-color: var(--bs-danger)
}

.bg-light {
    background-color: var(--bs-light)
}

.bg-dark {
    background-color: var(--bs-dark)
}

.bg-body,.bg-white {
    background-color: var(--bs-white)
}

.bg-transparent {
    background-color: transparent
}

.bg-gradient {
    background-image: var(--bs-gradient)
}

.rounded {
    border-radius: .25rem
}

.visible {
    visibility: visible
}

.invisible {
    visibility: hidden
}

@media (min-width: 576px) {
    .d-sm-flex {
        display:flex
    }

    .m-sm-0 {
        margin: 0
    }

    .m-sm-1 {
        margin: .25rem
    }

    .m-sm-2 {
        margin: .5rem
    }

    .m-sm-3 {
        margin: 1rem
    }

    .m-sm-4 {
        margin: 1.5rem
    }

    .m-sm-5 {
        margin: 3rem
    }

    .m-sm-auto {
        margin: auto
    }

    .mb-sm-2 {
        margin-bottom: .5rem
    }

    .text-sm-start {
        text-align: left
    }

    .text-sm-end {
        text-align: right
    }

    .text-sm-center {
        text-align: center
    }
}

@media (min-width: 768px) {
    .d-md-block {
        display:block
    }

    .d-md-flex {
        display: flex
    }

    .d-md-none {
        display: none
    }

    .mb-md-5 {
        margin-bottom: 3rem
    }

    .p-md-0 {
        padding: 0
    }

    .p-md-1 {
        padding: .25rem
    }

    .p-md-2 {
        padding: .5rem
    }

    .p-md-3 {
        padding: 1rem
    }

    .p-md-4 {
        padding: 1.5rem
    }

    .p-md-5 {
        padding: 3rem
    }

    .ps-sm-4 {
        padding-left: 1.5rem
    }

    .text-md-start {
        text-align: left
    }

    .text-md-end {
        text-align: right
    }

    .text-md-center {
        text-align: center
    }
}

@media (min-width: 992px) {
    .d-lg-flex {
        display:flex
    }

    .d-lg-block {
        display: block
    }

    .d-lg-none {
        display: none
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem
    }

    .pt-lg-5 {
        padding-top: 3rem
    }

    .pb-lg-5 {
        padding-bottom: 3rem
    }

    .text-lg-start {
        text-align: left
    }

    .text-lg-end {
        text-align: right
    }

    .text-lg-center {
        text-align: center
    }
}

@media (min-width: 1200px) {
    .d-xl-flex {
        display:flex
    }

    .d-xl-none {
        display: none
    }

    .d-xl-block {
        display: block
    }
}
