:root {
    --swiper-theme-color: #007aff;
    --swiper-navigation-size: 44px;
    --body-color: #333;
    --body-font-size: 15px;
    --body-font-weight: 400;
    --body-line-height: 1.6;
    --body-bg: #fff;
    --link-color: #444;
    --link-hover-color: #0a58ca;
    --max-width: 1920px;
    --container-width: 1450px;
    --menu-level-ident: 16px;
    --input-checked-color: #0d6efd
}

*, *::before, *::after {
    box-sizing: border-box
}

@media(prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-text-size-adjust: 100%;
    background-color: var(--body-bg);
    color: var(--body-color);
    font-family: var(--body-font-family,system-ui,-apple-system,Arial,sans-serif);
    font-size: var(--body-font-size);
    font-weight: var(--body-font-weight);
    line-height: var(--body-line-height);
    margin: 0
}

hr {
    border: 0;
    border-top: 1px solid inherit;
    margin: 1rem 0;
    opacity: .25
}

h6, h5, h4, h3, h2, h1 {
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: .5rem;
    margin-top: 0
}

p {
    margin: 0 0 1rem
}

address {
    font-style: normal;
    line-height: inherit;
    margin-bottom: 1rem
}

ol, ul {
    padding-left: 2rem
}

ol, ul, dl {
    margin-bottom: 1rem;
    margin-top: 0
}

    ol ol, ul ul, ol ul, ul ol {
        margin-bottom: 0
    }

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b, strong {
    font-weight: bolder
}

sub, sup {
    font-size: .75em;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    text-decoration: none;
    color: var(--link-color)
}

    a:hover {
        color: var(--link-hover-color)
    }

figure {
    margin: 0 0 1rem
}

img, svg {
    display: inline-block;
    vertical-align: middle
}

table {
    border-collapse: collapse;
    caption-side: bottom
}

caption {
    padding-bottom: .5rem;
    padding-top: .5rem;
    text-align: left
}

th {
    text-align: inherit
}

thead, tbody, tfoot, tr, td, th {
    border: 0 solid inherit
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

    button:focus:not(:focus-visible) {
        outline: 0
    }

input, button, select, optgroup, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0
}

button, select {
    text-transform: none
}

select {
    word-wrap: normal
}

    select:disabled {
        opacity: 1
    }

[list]::-webkit-calendar-picker-indicator {
    display: none
}

button, [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button
}

    button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
        cursor: pointer
    }

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

textarea {
    resize: vertical
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::file-selector-button {
    font: inherit
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

iframe {
    border: 0;
    max-width: 100%
}

summary {
    cursor: pointer;
    display: list-item
}

progress {
    vertical-align: baseline
}

.list-unstyled {
    list-style: none;
    padding-left: 0
}

.img-fluid {
    height: auto;
    max-width: 100%
}

.container-fluid, .container-xl {
    --gutter-x: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--max-width);
    padding-left: calc(var(--gutter-x)*.5);
    padding-right: calc(var(--gutter-x)*.5);
    width: 100%
}

.container-xl {
    max-width: var(--container-width)
}

.row {
    --gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(-.5*var(--gutter-x));
    margin-right: calc(-.5*var(--gutter-x));
    margin-top: calc(-1*var(--gutter-y))
}

    .row > * {
        flex-shrink: 0;
        margin-top: var(--gutter-y);
        max-width: 100%;
        padding-left: calc(var(--gutter-x)*.5);
        padding-right: calc(var(--gutter-x)*.5);
        width: 100%
    }

.col {
    flex: 1 0 0%
}

.row-cols-1 > .col {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2 > .col {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3 > .col {
    flex: 0 0 auto;
    width: 33.3333333333%
}

.row-cols-4 > .col {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5 > .col {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6 > .col {
    flex: 0 0 auto;
    width: 16.6666666667%
}

.col-1 {
    flex: 0 0 auto;
    width: 8.3333333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.6666666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.3333333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.6666666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.3333333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.6666666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.3333333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.6666666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.3333333333%
}

.offset-2 {
    margin-left: 16.6666666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.3333333333%
}

.offset-5 {
    margin-left: 41.6666666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.3333333333%
}

.offset-8 {
    margin-left: 66.6666666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.3333333333%
}

.offset-11 {
    margin-left: 91.6666666667%
}

.g-0, .gx-0 {
    --gutter-x: 0
}

.g-0, .gy-0 {
    --gutter-y: 0
}

.g-1, .gx-1 {
    --gutter-x: .25rem
}

.g-1, .gy-1 {
    --gutter-y: .25rem
}

.g-2, .gx-2 {
    --gutter-x: .5rem
}

.g-2, .gy-2 {
    --gutter-y: .5rem
}

.g-3, .gx-3 {
    --gutter-x: 1rem
}

.g-3, .gy-3 {
    --gutter-y: 1rem
}

.g-4, .gx-4 {
    --gutter-x: 1.5rem
}

.g-4, .gy-4 {
    --gutter-y: 1.5rem
}

.g-5, .gx-5 {
    --gutter-x: 3rem
}

.g-5, .gy-5 {
    --gutter-y: 3rem
}

@media(min-width:576px) {
    .col-sm {
        flex: 1 0 0%
    }

    .row-cols-sm-1 > .col {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2 > .col {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3 > .col {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-sm-4 > .col {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5 > .col {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6 > .col {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.3333333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.6666666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.3333333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.6666666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.3333333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.6666666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%
    }

    .g-sm-0, .gx-sm-0 {
        --gutter-x: 0
    }

    .g-sm-0, .gy-sm-0 {
        --gutter-y: 0
    }

    .g-sm-1, .gx-sm-1 {
        --gutter-x: .25rem
    }

    .g-sm-1, .gy-sm-1 {
        --gutter-y: .25rem
    }

    .g-sm-2, .gx-sm-2 {
        --gutter-x: .5rem
    }

    .g-sm-2, .gy-sm-2 {
        --gutter-y: .5rem
    }

    .g-sm-3, .gx-sm-3 {
        --gutter-x: 1rem
    }

    .g-sm-3, .gy-sm-3 {
        --gutter-y: 1rem
    }

    .g-sm-4, .gx-sm-4 {
        --gutter-x: 1.5rem
    }

    .g-sm-4, .gy-sm-4 {
        --gutter-y: 1.5rem
    }

    .g-sm-5, .gx-sm-5 {
        --gutter-x: 3rem
    }

    .g-sm-5, .gy-sm-5 {
        --gutter-y: 3rem
    }
}

@media(min-width:768px) {
    .col-md {
        flex: 1 0 0%
    }

    .row-cols-md-1 > .col {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2 > .col {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3 > .col {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-md-4 > .col {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5 > .col {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6 > .col {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.3333333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.6666666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.3333333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.6666666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.3333333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.6666666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.3333333333%
    }

    .offset-md-2 {
        margin-left: 16.6666666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.3333333333%
    }

    .offset-md-5 {
        margin-left: 41.6666666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.3333333333%
    }

    .offset-md-8 {
        margin-left: 66.6666666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.3333333333%
    }

    .offset-md-11 {
        margin-left: 91.6666666667%
    }

    .g-md-0, .gx-md-0 {
        --gutter-x: 0
    }

    .g-md-0, .gy-md-0 {
        --gutter-y: 0
    }

    .g-md-1, .gx-md-1 {
        --gutter-x: .25rem
    }

    .g-md-1, .gy-md-1 {
        --gutter-y: .25rem
    }

    .g-md-2, .gx-md-2 {
        --gutter-x: .5rem
    }

    .g-md-2, .gy-md-2 {
        --gutter-y: .5rem
    }

    .g-md-3, .gx-md-3 {
        --gutter-x: 1rem
    }

    .g-md-3, .gy-md-3 {
        --gutter-y: 1rem
    }

    .g-md-4, .gx-md-4 {
        --gutter-x: 1.5rem
    }

    .g-md-4, .gy-md-4 {
        --gutter-y: 1.5rem
    }

    .g-md-5, .gx-md-5 {
        --gutter-x: 3rem
    }

    .g-md-5, .gy-md-5 {
        --gutter-y: 3rem
    }
}

@media(min-width:992px) {
    .col-lg {
        flex: 1 0 0%
    }

    .row-cols-lg-1 > .col {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2 > .col {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3 > .col {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-lg-4 > .col {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5 > .col {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6 > .col {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.3333333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.6666666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.3333333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.6666666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.3333333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.6666666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.3333333333%
    }

    .offset-lg-2 {
        margin-left: 16.6666666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.3333333333%
    }

    .offset-lg-5 {
        margin-left: 41.6666666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.3333333333%
    }

    .offset-lg-8 {
        margin-left: 66.6666666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.3333333333%
    }

    .offset-lg-11 {
        margin-left: 91.6666666667%
    }

    .g-lg-0, .gx-lg-0 {
        --gutter-x: 0
    }

    .g-lg-0, .gy-lg-0 {
        --gutter-y: 0
    }

    .g-lg-1, .gx-lg-1 {
        --gutter-x: .25rem
    }

    .g-lg-1, .gy-lg-1 {
        --gutter-y: .25rem
    }

    .g-lg-2, .gx-lg-2 {
        --gutter-x: .5rem
    }

    .g-lg-2, .gy-lg-2 {
        --gutter-y: .5rem
    }

    .g-lg-3, .gx-lg-3 {
        --gutter-x: 1rem
    }

    .g-lg-3, .gy-lg-3 {
        --gutter-y: 1rem
    }

    .g-lg-4, .gx-lg-4 {
        --gutter-x: 1.5rem
    }

    .g-lg-4, .gy-lg-4 {
        --gutter-y: 1.5rem
    }

    .g-lg-5, .gx-lg-5 {
        --gutter-x: 3rem
    }

    .g-lg-5, .gy-lg-5 {
        --gutter-y: 3rem
    }
}

@media(min-width:1200px) {
    .col-xl {
        flex: 1 0 0%
    }

    .row-cols-xl-1 > .col {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2 > .col {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3 > .col {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xl-4 > .col {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5 > .col {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6 > .col {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.3333333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.6666666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.3333333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.6666666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.3333333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.6666666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.3333333333%
    }

    .offset-xl-2 {
        margin-left: 16.6666666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.3333333333%
    }

    .offset-xl-5 {
        margin-left: 41.6666666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.3333333333%
    }

    .offset-xl-8 {
        margin-left: 66.6666666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.3333333333%
    }

    .offset-xl-11 {
        margin-left: 91.6666666667%
    }

    .g-xl-0, .gx-xl-0 {
        --gutter-x: 0
    }

    .g-xl-0, .gy-xl-0 {
        --gutter-y: 0
    }

    .g-xl-1, .gx-xl-1 {
        --gutter-x: .25rem
    }

    .g-xl-1, .gy-xl-1 {
        --gutter-y: .25rem
    }

    .g-xl-2, .gx-xl-2 {
        --gutter-x: .5rem
    }

    .g-xl-2, .gy-xl-2 {
        --gutter-y: .5rem
    }

    .g-xl-3, .gx-xl-3 {
        --gutter-x: 1rem
    }

    .g-xl-3, .gy-xl-3 {
        --gutter-y: 1rem
    }

    .g-xl-4, .gx-xl-4 {
        --gutter-x: 1.5rem
    }

    .g-xl-4, .gy-xl-4 {
        --gutter-y: 1.5rem
    }

    .g-xl-5, .gx-xl-5 {
        --gutter-x: 3rem
    }

    .g-xl-5, .gy-xl-5 {
        --gutter-y: 3rem
    }
}

.table {
    border-color: #dee2e6;
    vertical-align: top;
    width: 100%
}

    .table > tbody, .table > thead {
        vertical-align: middle
    }

.table-responsive {
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
    overflow-x: auto
}

.form-label {
    margin-bottom: .5rem
}

.col-form-label {
    font-size: inherit;
    line-height: 1.5;
    margin-bottom: 0;
    padding-bottom: calc(.375rem + 1px);
    padding-top: calc(.375rem + 1px)
}

.form-text {
    font-size: .875em;
    margin-top: .25rem
}

.form-control {
    appearance: none;
    background-clip: padding-box;
    background-color: var(--body-bg);
    border: 1px solid #ced4da;
    border-radius: var(--border-radius);
    color: inherit;
    display: block;
    line-height: 1.5;
    outline: 0;
    padding: .375rem .75rem;
    width: 100%
}

    .form-control::placeholder {
        color: #6c757d;
        opacity: 1
    }

.form-select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--body-bg);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-position: right .75rem center;
    background-repeat: no-repeat;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: var(--border-radius);
    color: var(--body-color);
    display: block;
    font-weight: 400;
    line-height: 1.5;
    padding: .375rem 2.25rem .375rem .75rem;
    width: 100%
}

    .form-select[multiple], .form-select[size]:not([size="1"]) {
        background-image: none;
        padding-right: .75rem
    }

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem
}

    .form-check .form-check-input {
        float: left;
        margin-left: -1.5em
    }

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .3em;
    vertical-align: top;
    background-color: var(--body-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact
}

    .form-check-input[type=checkbox] {
        border-radius: .25em
    }

    .form-check-input[type=radio] {
        border-radius: 50%
    }

    .form-check-input:active {
        filter: brightness(90%)
    }

    .form-check-input:checked {
        background-color: var(--input-checked-color);
        border-color: var(--input-checked-color)
    }

        .form-check-input:checked[type=checkbox] {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")
        }

        .form-check-input:checked[type=radio] {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")
        }

.btn-check {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none
}

.input-group {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%
}

    .input-group > .form-control, .input-group > .form-select {
        flex: 1 1 auto;
        min-width: 0;
        position: relative;
        width: 1%
    }

    .input-group .btn {
        position: relative;
        z-index: 2
    }

.input-group-text {
    align-items: center;
    border: 1px solid #ced4da;
    border-radius: var(--border-radius);
    display: flex;
    padding: .375rem .75rem;
    text-align: center;
    white-space: nowrap
}

.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group > .dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group > :not(:first-child) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.btn {
    -webkit-user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: var(--border-radius);
    color: var(--body-color);
    cursor: pointer;
    display: inline-block;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    padding: .375rem .75rem;
    text-align: center;
    text-decoration: none;
    user-select: none;
    vertical-align: middle
}

    .btn:disabled, fieldset:disabled .btn {
        opacity: .65;
        pointer-events: none
    }

.fade {
    transition: opacity .15s linear
}

    .fade:not(.show) {
        opacity: 0
    }

.collapse:not(.show) {
    display: none
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease
}

.dropend, .dropdown, .dropstart {
    position: relative
}

.dropdown-menu {
    background-clip: padding-box;
    background-color: var(--body-bg);
    display: none;
    list-style: none;
    margin: 0;
    min-width: 10rem;
    padding: 0;
    position: absolute;
    text-align: left;
    z-index: 1000
}

    .dropdown-menu[data-bs-popper] {
        left: 0;
        margin-top: 0;
        top: 100%
    }

.dropend .dropdown-menu[data-bs-popper] {
    left: 100%;
    margin-left: 0;
    margin-top: 0;
    right: auto;
    top: 0
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: .125rem
}

.dropdown-item {
    border: 0;
    display: block;
    padding: .5rem 1rem;
    text-decoration: none;
    white-space: nowrap;
    width: 100%
}

    .dropdown-item:hover, .dropdown-item:focus {
        background-color: #e9ecef
    }

.dropdown-menu.show {
    display: block
}

.nav {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0
}

.nav-link {
    display: block;
    padding: .5rem 1rem
}

    .nav-link:hover, .nav-link:focus {
        color: var(--link-hover-color)
    }

.nav-justified > .nav-link, .nav-justified .nav-item {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center
}

    .nav-justified .nav-item .nav-link {
        width: 100%
    }

.tab-content > .tab-pane {
    display: none
}

.tab-content > .active {
    display: block
}

.navbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 100
}

    .navbar > .container-fluid, .navbar > .container-xl {
        align-items: center;
        display: flex;
        flex-wrap: inherit;
        justify-content: space-between;
        position: relative
    }

.navbar-brand {
    font-size: 1.25rem;
    margin-right: 1rem;
    text-decoration: none;
    white-space: nowrap
}

.navbar-nav {
    align-items: center;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0
}

    .navbar-nav .dropdown-menu {
        position: static
    }

.navbar-collapse {
    align-items: center;
    align-self: stretch;
    flex-basis: 100%;
    flex-grow: 1
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height,75vh);
    overflow-y: auto
}

@media(min-width:992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

        .navbar-expand-lg .navbar-nav {
            flex-direction: row
        }

            .navbar-expand-lg .navbar-nav .dropdown-menu {
                position: absolute
            }

        .navbar-expand-lg .navbar-nav-scroll {
            overflow: visible
        }

        .navbar-expand-lg .navbar-collapse {
            display: flex !important;
            flex-basis: auto
        }

        .navbar-expand-lg .navbar-toggler {
            display: none
        }
}

@media(min-width:1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

        .navbar-expand-xl .navbar-nav {
            flex-direction: row
        }

            .navbar-expand-xl .navbar-nav .dropdown-menu {
                position: absolute
            }

        .navbar-expand-xl .navbar-nav-scroll {
            overflow: visible
        }

        .navbar-expand-xl .navbar-collapse {
            display: flex !important;
            flex-basis: auto
        }

        .navbar-expand-xl .navbar-toggler {
            display: none
        }
}

.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start
}

    .navbar-expand .navbar-nav {
        flex-direction: row
    }

        .navbar-expand .navbar-nav .dropdown-menu {
            position: absolute
        }

    .navbar-expand .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand .navbar-toggler {
        display: none
    }

.pagination {
    display: flex;
    list-style: none;
    padding: 0
}

.page-item {
    margin-right: 5px
}

    .page-item:last-child {
        margin-right: 0
    }

.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 5px 6px;
    border: 1px solid var(--pagination-bg,#dee2e6);
    background-color: #fff;
    color: var(--body-color);
    text-decoration: none;
    border-radius: 6px;
    transition: all ease .2s
}

    .page-link:hover {
        background-color: var(--pagination-hover-bg,#dee2e6);
        border-color: var(--pagination-hover-bg,#dee2e6);
        color: var(--pagination-hover-color)
    }

.page-item.active .page-link {
    background-color: var(--pagination-active-bg,#333);
    border-color: var(--pagination-active-bg,#333);
    color: var(--pagination-active-color,#fff)
}

.page-item.disabled .page-link {
    color: #6c757d;
    background-color: #fff;
    border-color: var(--pagination-bg,#dee2e6);
    cursor: not-allowed
}

.modal {
    display: none;
    height: 100%;
    left: 0;
    outline: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1060
}

.modal-dialog {
    margin: .5rem;
    pointer-events: none;
    position: relative;
    width: auto
}

.modal.fade .modal-dialog {
    transform: translate(0,-50px);
    transition: transform .3s ease-out
}

.modal.show .modal-dialog {
    transform: none
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02)
}

.modal-dialog-scrollable {
    height: calc(100% - 1rem)
}

    .modal-dialog-scrollable .modal-content {
        max-height: 100%;
        overflow: hidden
    }

    .modal-dialog-scrollable .modal-body {
        overflow-y: auto
    }

.modal-dialog-centered {
    align-items: center;
    display: flex;
    min-height: calc(100% - 1rem)
}

.modal-content {
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: .3rem;
    display: flex;
    flex-direction: column;
    outline: 0;
    pointer-events: auto;
    position: relative;
    width: 100%
}

.modal-backdrop {
    background-color: #000;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 1040
}

    .modal-backdrop.fade {
        opacity: 0
    }

    .modal-backdrop.show {
        opacity: .5
    }

.modal-header {
    align-items: center;
    border-bottom: 1px solid #dee2e6;
    border-radius: .3rem .3rem 0 0;
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    padding: 1rem 1rem
}

.modal-title {
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0
}

.modal-body {
    flex: 1 1 auto;
    padding: 1rem;
    position: relative
}

@media(min-width:576px) {
    .modal-dialog {
        margin: 1.75rem auto;
        max-width: 560px
    }

    .modal-dialog-scrollable {
        height: calc(100% - 3.5rem)
    }

    .modal-dialog-centered {
        min-height: calc(100% - 3.5rem)
    }

    .modal-sm {
        max-width: 300px
    }
}

@media(min-width:992px) {
    .modal-lg, .modal-xl {
        max-width: 800px
    }
}

@media(min-width:1200px) {
    .modal-xl {
        max-width: 1140px
    }
}

.offcanvas {
    background-clip: padding-box;
    background-color: var(--offcanvas-bg,#fff);
    bottom: 0;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    outline: 0;
    position: fixed;
    transition: transform .3s ease-in-out;
    visibility: hidden;
    z-index: 1045
}

    .offcanvas.showing, .offcanvas.show:not(.hiding) {
        transform: none
    }

    .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
        visibility: visible
    }

.offcanvas-backdrop {
    background-color: #000;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 1040
}

    .offcanvas-backdrop.fade {
        opacity: 0
    }

    .offcanvas-backdrop.show {
        opacity: .5
    }

.offcanvas-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 1rem
}

.offcanvas-title {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 0
}

.offcanvas-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 0 0 14px 0
}

.offcanvas-start {
    border-right: 1px solid rgba(0,0,0,.2);
    left: 0;
    top: 0;
    transform: translateX(-100%);
    width: 350px
}

.offcanvas-end {
    border-left: 1px solid rgba(0,0,0,.2);
    right: 0;
    top: 0;
    transform: translateX(100%);
    width: 350px
}

.offcanvas-bottom {
    border-top: 1px solid rgba(0,0,0,.2);
    height: 30vh;
    left: 0;
    max-height: 100%;
    right: 0;
    transform: translateY(100%)
}

.ratio {
    position: relative;
    width: 100%
}

    .ratio::before {
        content: "";
        display: block;
        padding-top: var(--aspect-ratio)
    }

    .ratio > .mejs__inner {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

.ratio-1x1 {
    --aspect-ratio: 100%
}

.ratio-4x3 {
    --aspect-ratio: calc(3/4*100%)
}

.ratio-16x9 {
    --aspect-ratio: calc(9/16*100%)
}

.ratio-21x9 {
    --aspect-ratio: calc(9/21*100%)
}

.fixed-top {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1030
}

.fixed-bottom {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    z-index: 1030
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: sticky !important
}

.w-100 {
    width: 100% !important
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    align-self: center !important
}

.align-self-stretch {
    align-self: stretch !important
}

.order-first {
    order: -1 !important
}

.order-last {
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-auto {
    margin: auto !important
}

.p-0 {
    padding: 0 !important
}

.text-start {
    text-align: left !important
}

.text-end {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

@media(min-width:576px) {
    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }

    .d-sm-none {
        display: none !important
    }

    .flex-sm-row {
        flex-direction: row !important
    }

    .flex-sm-column {
        flex-direction: column !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

    .align-items-sm-center {
        align-items: center !important
    }

    .align-items-sm-baseline {
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        align-items: stretch !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

    .align-content-sm-stretch {
        align-content: stretch !important
    }

    .align-self-sm-auto {
        align-self: auto !important
    }

    .align-self-sm-start {
        align-self: flex-start !important
    }

    .align-self-sm-end {
        align-self: flex-end !important
    }

    .align-self-sm-center {
        align-self: center !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }

    .order-sm-first {
        order: -1 !important
    }

    .order-sm-last {
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .text-sm-start {
        text-align: left !important
    }

    .text-sm-end {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media(min-width:768px) {
    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }

    .d-md-none {
        display: none !important
    }

    .flex-md-fill {
        flex: 1 1 auto !important
    }

    .flex-md-row {
        flex-direction: row !important
    }

    .flex-md-column {
        flex-direction: column !important
    }

    .justify-content-md-start {
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        justify-content: center !important
    }

    .justify-content-md-between {
        justify-content: space-between !important
    }

    .align-items-md-start {
        align-items: flex-start !important
    }

    .align-items-md-end {
        align-items: flex-end !important
    }

    .align-items-md-center {
        align-items: center !important
    }

    .align-items-md-stretch {
        align-items: stretch !important
    }

    .align-content-md-start {
        align-content: flex-start !important
    }

    .align-content-md-end {
        align-content: flex-end !important
    }

    .align-content-md-center {
        align-content: center !important
    }

    .align-content-md-between {
        align-content: space-between !important
    }

    .align-content-md-stretch {
        align-content: stretch !important
    }

    .align-self-md-auto {
        align-self: auto !important
    }

    .align-self-md-start {
        align-self: flex-start !important
    }

    .align-self-md-end {
        align-self: flex-end !important
    }

    .align-self-md-center {
        align-self: center !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }

    .order-md-first {
        order: -1 !important
    }

    .order-md-last {
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .text-md-start {
        text-align: left !important
    }

    .text-md-end {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

@media(min-width:992px) {
    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-flex {
        display: inline-flex !important
    }

    .d-lg-none {
        display: none !important
    }

    .flex-lg-row {
        flex-direction: row !important
    }

    .flex-lg-column {
        flex-direction: column !important
    }

    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        justify-content: center !important
    }

    .justify-content-lg-between {
        justify-content: space-between !important
    }

    .align-items-lg-start {
        align-items: flex-start !important
    }

    .align-items-lg-end {
        align-items: flex-end !important
    }

    .align-items-lg-center {
        align-items: center !important
    }

    .align-items-lg-stretch {
        align-items: stretch !important
    }

    .align-content-lg-start {
        align-content: flex-start !important
    }

    .align-content-lg-end {
        align-content: flex-end !important
    }

    .align-content-lg-center {
        align-content: center !important
    }

    .align-content-lg-between {
        align-content: space-between !important
    }

    .align-content-lg-stretch {
        align-content: stretch !important
    }

    .align-self-lg-auto {
        align-self: auto !important
    }

    .align-self-lg-start {
        align-self: flex-start !important
    }

    .align-self-lg-end {
        align-self: flex-end !important
    }

    .align-self-lg-center {
        align-self: center !important
    }

    .align-self-lg-stretch {
        align-self: stretch !important
    }

    .order-lg-first {
        order: -1 !important
    }

    .order-lg-last {
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-auto {
        margin: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .text-lg-start {
        text-align: left !important
    }

    .text-lg-end {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

@media(min-width:1200px) {
    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: flex !important
    }

    .d-xl-inline-flex {
        display: inline-flex !important
    }

    .d-xl-none {
        display: none !important
    }

    .flex-xl-row {
        flex-direction: row !important
    }

    .flex-xl-column {
        flex-direction: column !important
    }

    .justify-content-xl-start {
        justify-content: flex-start !important
    }

    .justify-content-xl-end {
        justify-content: flex-end !important
    }

    .justify-content-xl-center {
        justify-content: center !important
    }

    .justify-content-xl-between {
        justify-content: space-between !important
    }

    .align-items-xl-start {
        align-items: flex-start !important
    }

    .align-items-xl-end {
        align-items: flex-end !important
    }

    .align-items-xl-center {
        align-items: center !important
    }

    .align-items-xl-stretch {
        align-items: stretch !important
    }

    .align-content-xl-start {
        align-content: flex-start !important
    }

    .align-content-xl-end {
        align-content: flex-end !important
    }

    .align-content-xl-center {
        align-content: center !important
    }

    .align-content-xl-between {
        align-content: space-between !important
    }

    .align-content-xl-stretch {
        align-content: stretch !important
    }

    .align-self-xl-auto {
        align-self: auto !important
    }

    .align-self-xl-start {
        align-self: flex-start !important
    }

    .align-self-xl-end {
        align-self: flex-end !important
    }

    .align-self-xl-center {
        align-self: center !important
    }

    .align-self-xl-stretch {
        align-self: stretch !important
    }

    .order-xl-first {
        order: -1 !important
    }

    .order-xl-last {
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-auto {
        margin: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .text-xl-start {
        text-align: left !important
    }

    .text-xl-end {
        text-align: right !important
    }

    .text-xl-center {
        text-align: center !important
    }
}

@media(prefers-reduced-motion:reduce) {
    .form-control, .btn, .fade, .collapsing, .nav-link, .navbar-toggler, .page-link, .modal.fade .modal-dialog, .offcanvas {
        transition: none
    }
}

.navbar-nav .nav-item {
    display: flex;
    align-self: stretch;
    flex-direction: column
}

.navbar-nav .nav-link {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%
}

.dropdown[data-bs-desktop]:hover > .dropdown-menu, .dropend[data-bs-desktop]:hover > .dropdown-menu, .dropstart[data-bs-desktop]:hover > .dropdown-menu {
    display: block
}

@media(max-width:1200px) {
    .dropdown[data-bs-desktop] > .dropdown-menu, .dropend[data-bs-desktop] > .dropdown-menu, .dropstart[data-bs-desktop] > .dropdown-menu {
        width: 100%
    }
}

.dropdown.wide {
    position: static
}

.dropdown-menu.wide {
    border-width: 0;
    left: 0;
    top: 100%;
    width: 100%;
    overflow-y: auto
}

    .dropdown-menu.wide .container-xl, .dropdown-menu.wide .container-fluid {
        padding-top: var(--menu-container-padding-y,20px);
        padding-bottom: var(--menu-container-padding-y,20px)
    }

.nav-menu-thumb {
    max-width: var(--nav-menu-thumb-width,100%);
    border-radius: var(--nav-menu-thumb-radius,0)
}

.nav-menu-title {
    display: block;
    font-size: var(--nav-menu-title-size,24px)
}

.nav-menu-thumb-col {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    margin-bottom: 20px
}

    .nav-menu-thumb-col .nav-menu-thumb {
        margin-bottom: 6px
    }

    .nav-menu-thumb-col .nav-menu-title {
        --nav-menu-title-size: 14px;
        text-align: center
    }

.nav-menu-link {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 5px 0;
    border-bottom: 1px solid #f2f2f2
}

    .nav-menu-link::after {
        font-family: Cmsfont;
        content: ""
    }

.nav-menu-horizontal {
    display: flex;
    flex-direction: row;
    align-items: center;
    transition: all ease .3s;
    border-radius: 5px;
    margin-bottom: 10px;
    font-size: 12px
}

    .nav-menu-horizontal .nav-menu-thumb {
        margin-right: 10px;
        flex-basis: 120px;
        flex-shrink: 0
    }

    .nav-menu-horizontal .nav-menu-title {
        margin-bottom: 6px;
        --nav-menu-title-size: 15px
    }

    .nav-menu-horizontal p {
        margin-bottom: 0
    }

.nav-menu-col {
    margin-bottom: 20px
}

    .nav-menu-col .nav-menu-title {
        --nav-menu-title-size: 16px;
        padding-bottom: 5px;
        margin-bottom: 5px
    }

.nav-menu-list {
    list-style-type: none;
    margin: 0;
    padding: 0
}

    .nav-menu-list li {
        padding: 4px 0;
        display: flex;
        align-items: center
    }

.nav-menu-tab {
    flex-direction: column
}

    .nav-menu-tab .nav-link {
        display: flex;
        justify-content: space-between
    }

        .nav-menu-tab .nav-link::after {
            font-family: cmsfont;
            content: ""
        }

.icon {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: 'CmsFont' !important;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    text-transform: none
}

.icon-tiktok:before {
    content: ""
}

.icon-twitter:before {
    content: ""
}

.icon-linkedin:before {
    content: ""
}

.icon-youtube:before {
    content: ""
}

.icon-instagram:before {
    content: ""
}

.icon-qq:before {
    content: ""
}

.icon-weixin:before {
    content: ""
}

.icon-cc-visa:before {
    content: ""
}

.icon-cc-paypal:before {
    content: ""
}

.icon-pinterest:before {
    content: ""
}

.icon-whatsapp:before {
    content: ""
}

.icon-reddit:before {
    content: ""
}

.icon-facebook:before {
    content: ""
}

.icon-alipay:before {
    content: ""
}

.icon-home-alt:before {
    content: ""
}

.icon-search:before {
    content: ""
}

.icon-heart:before {
    content: ""
}

.icon-star:before {
    content: ""
}

.icon-user:before {
    content: ""
}

.icon-download:before {
    content: ""
}

.icon-qrcode:before {
    content: ""
}

.icon-tag:before {
    content: ""
}

.icon-tags:before {
    content: ""
}

.icon-calendar:before {
    content: ""
}

.icon-shopping-cart:before {
    content: ""
}

.icon-comments:before {
    content: ""
}

.icon-trophy:before {
    content: ""
}

.icon-globe:before {
    content: ""
}

.icon-filter-alt:before {
    content: ""
}

.icon-link:before {
    content: ""
}

.icon-bars:before {
    content: ""
}

.icon-list-ul:before {
    content: ""
}

.icon-list-ol:before {
    content: ""
}

.icon-envelope:before {
    content: ""
}

.icon-cloud-download:before {
    content: ""
}

.icon-thumbs-up:before {
    content: ""
}

.icon-fax:before {
    content: ""
}

.icon-file-pdf:before {
    content: ""
}

.icon-share:before {
    content: ""
}

.icon-cart-arrow-down:before {
    content: ""
}

.icon-user-circle:before {
    content: ""
}

.icon-usd-circle:before {
    content: ""
}

.icon-map-marker:before {
    content: ""
}

.icon-mobile:before {
    content: ""
}

.icon-comment-alt:before {
    content: ""
}

.icon-award:before {
    content: ""
}

.icon-globe-americas:before {
    content: ""
}

.icon-phone-office:before {
    content: ""
}

.icon-home:before {
    content: ""
}

.icon-phone:before {
    content: ""
}

.icon-check:before {
    content: ""
}

.icon-times:before {
    content: ""
}

.icon-chevron-left:before {
    content: ""
}

.icon-chevron-right:before {
    content: ""
}

.icon-check-circle:before {
    content: ""
}

.icon-arrow-left:before {
    content: ""
}

.icon-arrow-right:before {
    content: ""
}

.icon-arrow-up:before {
    content: ""
}

.icon-arrow-down:before {
    content: ""
}

.icon-chevron-up:before {
    content: ""
}

.icon-chevron-down:before {
    content: ""
}

.icon-arrow-circle-left:before {
    content: ""
}

.icon-arrow-circle-right:before {
    content: ""
}

.icon-arrow-circle-up:before {
    content: ""
}

.icon-arrow-circle-down:before {
    content: ""
}

.icon-caret-down:before {
    content: ""
}

.icon-caret-up:before {
    content: ""
}

.icon-caret-left:before {
    content: ""
}

.icon-caret-right:before {
    content: ""
}

.icon-angle-left:before {
    content: ""
}

.icon-angle-right:before {
    content: ""
}

.icon-angle-up:before {
    content: ""
}

.icon-angle-down:before {
    content: ""
}

.icon-long-arrow-left:before {
    content: ""
}

.icon-long-arrow-right:before {
    content: ""
}

.was-validated .form-control:valid {
    border-color: var(--form-valid-border-color,#198754);
    padding-right: calc(1.5em + .75rem)
}

.was-validated textarea.form-control:valid {
    background-position: top .5rem right .55rem;
    padding-right: calc(1.5em + .75rem)
}

.was-validated .form-select:valid {
    border-color: var(--form-valid-border-color,#198754)
}

.was-validated .form-control:invalid {
    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-position: right calc(.375em + .1875rem) center;
    background-repeat: no-repeat;
    background-size: 1.25em 1.25em;
    border-color: var(--form-invalid-border-color,#dc3545);
    padding-right: calc(1.5em + .75rem)
}

.was-validated textarea.form-control:invalid {
    background-position: top .5rem right .55rem;
    padding-right: calc(1.5em + .75rem)
}

.was-validated .form-select:invalid {
    border-color: var(--form-invalid-border-color,#dc3545)
}

    .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
        padding-right: 4.125rem;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),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-position: right .75rem center,center right 2.25rem;
        background-size: 16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)
    }

.was-validated .form-check-input:invalid {
    border-color: var(--form-invalid-border-color,#dc3545)
}

    .was-validated .form-check-input:invalid:checked {
        background-color: var(--form-invalid-border-color,#dc3545)
    }

    .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
        color: var(--form-invalid-border-color,#dc3545)
    }

.form-check-inline .form-check-input ~ .invalid-feedback {
    margin-left: .5em
}

.social {
    display: inline-flex;
    line-height: 1 !important;
    --social-icon-size: 14px;
    --social-icon-gutter: 8px;
    --social-icon-radius: 50%
}

    .social:empty {
        display: none !important
    }

.social-item {
    border-radius: var(--social-icon-radius);
    color: #fff !important;
    cursor: pointer;
    font-size: 0;
    margin: 0 6px 0 0;
    padding: var(--social-icon-gutter);
    text-align: center;
    transition: background .3s ease
}

    .social-item:last-child {
        margin-right: 0
    }

    .social-item::before {
        display: block;
        font-family: CmsFont;
        font-size: var(--social-icon-size) !important;
        position: relative;
        width: var(--social-icon-size) !important
    }

.social.transparent > .social-item, .social.transparent > .social-item:hover {
    background: transparent !important
}

.social-facebook {
    background: #3b5998 !important
}

    .social-facebook::before {
        content: ""
    }

.social-linkedin {
    background: #0077b5 !important
}

    .social-linkedin::before {
        content: ""
    }

.social-twitter {
    background: #1da1f2 !important
}

    .social-twitter::before {
        content: ""
    }

.social-whatsapp {
    background: #3bc04b !important
}

    .social-whatsapp::before {
        content: ""
    }

.social-youtube {
    background: #cd201f !important
}

    .social-youtube::before {
        content: ""
    }

.social-pinterest {
    background: #bd081c !important
}

    .social-pinterest::before {
        content: ""
    }

.social-instagram {
    background: #e54433 !important
}

    .social-instagram::before {
        content: ""
    }

.social-reddit {
    background: #ff4500
}

    .social-reddit::before {
        content: ""
    }

.side-share {
    bottom: 110px;
    display: flex;
    flex-direction: column;
    line-height: 1 !important;
    position: fixed;
    right: 0;
    z-index: 997
}

@media(max-width:768px) {
    .side-share {
        display: none
    }
}

.share-item {
    position: relative;
    z-index: 996
}

.share-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--side-bgcolor,#777);
    border-bottom: 1px solid var(--side-split-color,#888);
    color: var(--side-color,#fff);
    cursor: pointer;
    font-size: 0;
    justify-content: center;
    padding: 12px 14px;
    transition: background-color .3s ease;
    z-index: 995
}

    .share-link:hover {
        background: var(--side-active-bgcolor,#888);
        color: var(--side-active-color,#fff)
    }

.show-text .share-link {
    font-size: 12px;
    padding: 10px 6px;
    width: 72px
}

.share-ico::before {
    display: block;
    font-family: "CmsFont";
    font-size: 18px;
    margin: 0 auto;
    width: 20px
}

.show-text .share-ico::before {
    margin-bottom: 7px
}

.share-pop {
    align-items: center;
    background: var(--side-active-bgcolor,#888);
    bottom: 0;
    color: var(--side-active-color,#fff);
    display: flex;
    font-size: 16px;
    justify-content: center;
    padding: 5px 18px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    transform: translateX(100%);
    transition: all .3s ease;
    white-space: nowrap;
    width: auto;
    z-index: 994
}

.weixin-item > .share-pop, .image-item > .share-pop {
    border: 1px solid #f2f2f2;
    bottom: auto;
    padding: 0
}

.share-item:hover > .share-pop {
    transform: translateX(-48px)
}

.show-text .share-item:hover > .share-pop {
    transform: translateX(-72px)
}

.share-pop > .share-text {
    color: var(--side-active-color,#fff)
}

.share-pop > .share-img {
    max-width: 180px
}

.share-ico.weixin::before {
    content: ""
}

.share-ico.qq::before {
    content: ""
}

.share-ico.skype::before {
    content: ""
}

.share-ico.whatsapp::before {
    content: ""
}

.share-ico.phone::before {
    content: ""
}

.share-ico.store::before {
    content: ""
}

.share-ico.mail::before {
    content: ""
}

.share-ico.live::before {
    content: ""
}

.share-ico.message::before {
    content: ""
}

.share-ico.totop::before {
    content: ""
}

.swiper {
    margin: 0 auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    transition-timing-function: initial;
    box-sizing: content-box;
    display: flex;
    height: 100%;
    transition-property: transform;
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translate3d(0,0,0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-centered > .swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
    width: 42px;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    z-index: 10
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-button-prev, .swiper-button-next {
    align-items: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color));
    cursor: pointer;
    display: flex;
    justify-content: center;
    margin-top: calc(0px - (var(--swiper-navigation-size)/2));
    position: absolute;
    top: var(--swiper-navigation-top-offset,50%);
    z-index: 10
}

    .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
        cursor: auto;
        opacity: .35;
        pointer-events: none
    }

    .swiper-button-prev::after, .swiper-button-next::after {
        font-family: CmsFont;
        font-size: var(--swiper-navigation-size);
        font-variant: initial;
        letter-spacing: 0;
        line-height: 1;
        text-transform: none !important
    }

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset,2px);
    right: auto
}

    .swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {
        content: var(--swiper-button-prev-content,"")
    }

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    left: auto;
    right: var(--swiper-navigation-sides-offset,2px)
}

    .swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
        content: var(--swiper-button-next-content,"")
    }

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transform: translate3d(0,0,0);
    transition: 300ms opacity;
    z-index: 10
}

.swiper-pagination-fraction, .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom,8px);
    left: 0;
    width: 100%
}

.swiper-pagination-bullet {
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    border-radius: var(--swiper-pagination-bullet-border-radius,50%);
    display: inline-block;
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    opacity: var(--swiper-pagination-bullet-inactive-opacity,.2);
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-opacity,1)
}

.swiper-vertical > .swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets {
    left: var(--swiper-pagination-left,auto);
    right: var(--swiper-pagination-right,8px);
    top: 50%;
    transform: translate3d(0,-50%,0)
}

    .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
        display: block;
        margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0
    }

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color,inherit)
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-horizontal > .swiper-scrollbar {
    bottom: 3px;
    height: 5px;
    left: 1%;
    position: absolute;
    width: 98%;
    z-index: 50
}

.swiper-vertical > .swiper-scrollbar {
    height: 98%;
    position: absolute;
    right: 3px;
    top: 1%;
    width: 5px;
    z-index: 50
}

.swiper-scrollbar-drag {
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.mejs__offscreen {
    display: none
}

.mejs__container {
    background: var(--video-bg-color,#000);
    position: relative
}

    .mejs__container video::-webkit-media-controls, .mejs__container video::-webkit-media-controls-panel, .mejs__container video::-webkit-media-controls-panel-container, .mejs__container video::-webkit-media-controls-start-playback-button {
        -webkit-appearance: none;
        display: none !important
    }

.mejs__fill-container, .mejs__fill-container .mejs__container {
    height: 100%;
    width: 100%
}

.mejs__fill-container {
    background: transparent;
    margin: 0 auto;
    overflow: hidden;
    position: relative
}

.mejs__iframe-overlay {
    height: 100%;
    position: absolute;
    width: 100%
}

.mejs__embed, .mejs__embed body {
    background: var(--video-bg-color,#000);
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.mejs__fullscreen {
    overflow: hidden !important
}

.mejs__container-fullscreen {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000
}

.mejs__background {
    left: 0;
    position: absolute;
    top: 0
}

.mejs__mediaelement {
    display: flex;
    justify-content: center;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.mejs__poster {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 1
}

.mejs__overlay {
    align-items: center;
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0
}

.mejs__layer {
    z-index: 1
}

.mejs__overlay-play {
    cursor: pointer
}

.mejs__overlay-button {
    background: transparent;
    border: 0
}

.mejs__overlay:hover .mejs__overlay-button svg {
    opacity: 1
}

.mejs__overlay-button svg {
    opacity: .75
}

.mejs__overlay-button:focus svg {
    opacity: 1
}

.mejs__overlay-button, .mejs__overlay-button svg {
    height: 3.5rem;
    width: 3.5rem
}

.mejs__overlay-loading, .mejs__overlay-loading svg {
    height: 3.5rem;
    width: 3.5rem
}

.mejs__overlay-loading-bg-img {
    animation: mejs__loading-spinner 1s linear infinite;
    display: block;
    height: 3.5rem;
    width: 3.5rem;
    z-index: 1
}

@keyframes mejs__loading-spinner {
    100% {
        transform: rotate(360deg)
    }
}

.mejs__controls {
    bottom: 0;
    display: flex;
    height: 2.5rem;
    left: 0;
    list-style-type: none;
    margin: 0;
    padding: 0 .625rem;
    position: absolute;
    width: 100%;
    z-index: 3
}

.mejs__button, .mejs__time, .mejs__time-rail {
    font-size: .625rem;
    height: 2.5rem;
    line-height: .625rem;
    margin: 0;
    width: 2rem
}

    .mejs__button > button {
        background-color: transparent;
        border: 0;
        color: #fff;
        cursor: pointer;
        display: block;
        font-size: 0;
        height: 1.125rem;
        line-height: 0;
        margin: .625rem .375rem;
        overflow: hidden;
        padding: 0;
        position: absolute;
        text-decoration: none;
        width: 1.125rem
    }

    .mejs__button svg {
        fill: currentColor;
        height: 1.125rem;
        width: 1.125rem
    }

    .mejs__button > button:focus {
        outline: dotted .125rem #fff
    }

.mejs__playpause-button svg {
    display: none
}

.mejs__play svg.mejs__icon-play {
    display: block
}

.mejs__pause svg.mejs__icon-pause {
    display: block
}

.mejs__replay svg.mejs__icon-replay {
    display: block
}

.mejs__fullscreen-button svg.mejs__icon-unfullscreen {
    display: none
}

.mejs__fullscreen svg.mejs__icon-fullscreen {
    display: block
}

.mejs__fullscreen svg.mejs__icon-unfullscreen {
    display: none
}

.mejs__unfullscreen svg.mejs__icon-unfullscreen {
    display: block
}

.mejs__unfullscreen svg.mejs__icon-fullscreen {
    display: none
}

.mejs__time {
    box-sizing: content-box;
    color: #fff;
    font-size: .6875rem;
    font-weight: bold;
    height: 1.5rem;
    overflow: hidden;
    padding: 1rem .375rem 0;
    text-align: center;
    width: auto
}

.mejs__time-rail {
    direction: ltr;
    flex-grow: 1;
    height: 2.5rem;
    margin: 0 .625rem;
    padding-top: .625rem;
    position: relative
}

.mejs__time-total, .mejs__time-buffering, .mejs__time-loaded, .mejs__time-current, .mejs__time-float, .mejs__time-hovered, .mejs__time-float-current, .mejs__time-float-corner, .mejs__time-marker {
    border-radius: .125rem;
    cursor: pointer;
    display: block;
    height: .625rem;
    position: absolute
}

.mejs__time-total {
    background: rgba(255,255,255,.3);
    margin: .3125rem 0 0;
    width: 100%
}

.mejs__time-buffering {
    animation: buffering-stripes 2s linear infinite;
    background: linear-gradient(-45deg,rgba(255,255,255,.4) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.4) 75%,transparent 75%,transparent);
    background-size: .9375rem .9375rem;
    width: 100%
}

@keyframes buffering-stripes {
    from {
        background-position: 0 0
    }

    to {
        background-position: 1.875rem 0
    }
}

.mejs__time-loaded {
    background: rgba(255,255,255,.3)
}

.mejs__time-current, .mejs__time-handle-content {
    background: rgba(255,255,255,.9)
}

.mejs__time-hovered {
    background: rgba(255,255,255,.5);
    z-index: 10
}

    .mejs__time-hovered.negative {
        background: rgba(0,0,0,.2)
    }

.mejs__time-current, .mejs__time-buffering, .mejs__time-loaded, .mejs__time-hovered {
    left: 0;
    transform: scaleX(0);
    transform-origin: 0 0;
    transition: .15s ease-in all;
    width: 100%
}

.mejs__time-buffering {
    transform: scaleX(1)
}

.mejs__time-hovered {
    transition: height .1s cubic-bezier(.44,0,1,1)
}

    .mejs__time-hovered.no-hover {
        transform: scaleX(0) !important
    }

.mejs__time-handle, .mejs__time-handle-content {
    border: .25rem solid transparent;
    cursor: pointer;
    left: 0;
    position: absolute;
    transform: translateX(0);
    z-index: 11
}

.mejs__time-handle-content {
    border: .25rem solid rgba(255,255,255,.9);
    border-radius: 50%;
    height: .625rem;
    left: -.4375rem;
    top: -.25rem;
    transform: scale(0);
    width: .625rem
}

.mejs__time-float {
    background: #eee;
    border: solid 1px #333;
    bottom: 100%;
    color: #111;
    display: none;
    height: 1.0625rem;
    margin-bottom: .5625rem;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    width: 2.25rem
}

.mejs__time-float-current {
    display: block;
    left: 0;
    margin: .125rem;
    text-align: center;
    width: 1.875rem
}

.mejs__volume-button {
    position: relative
}

    .mejs__volume-button > .mejs__volume-slider {
        background: rgba(50,50,50,.7);
        border-radius: 0;
        bottom: 100%;
        display: none;
        height: 7.1875rem;
        left: 50%;
        margin: 0;
        position: absolute;
        transform: translateX(-50%);
        width: 1.5625rem;
        z-index: 1
    }

    .mejs__volume-button:hover {
        border-radius: 0 0 .25rem .25rem
    }

.mejs__volume-total {
    background: rgba(255,255,255,.5);
    border: .06rem solid #fff;
    height: 6.25rem;
    left: 50%;
    margin: 0;
    position: absolute;
    top: .5rem;
    transform: translateX(-50%);
    width: .125rem
}

.mejs__volume-current {
    background: rgba(255,255,255,.9);
    left: 0;
    margin: 0;
    position: absolute;
    width: 100%
}

.mejs__volume-handle {
    background: rgba(255,255,255,.9);
    border: 1px solid #fff;
    border-radius: 1px;
    cursor: ns-resize;
    height: .375rem;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 1rem
}

.mejs__horizontal-volume-slider {
    display: block;
    height: 2.25rem;
    position: relative;
    vertical-align: middle;
    width: 3.5rem
}

.mejs__horizontal-volume-total {
    background: rgba(50,50,50,.8);
    border: .06rem solid #fff;
    border-radius: .125rem;
    font-size: 1px;
    height: .5rem;
    left: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 1rem;
    width: 3.125rem
}

.mejs__horizontal-volume-current {
    background: rgba(255,255,255,.8);
    border-radius: .125rem;
    border-right: .06rem solid #fff;
    font-size: 1px;
    height: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.mejs__horizontal-volume-handle {
    display: none
}

.mejs__mute svg, .mejs__unmute svg {
    stroke: currentColor
}

.mejs__volume-button svg {
    display: none
}

.mejs__mute .mejs__icon-mute {
    display: block
}

.mejs__unmute .mejs__icon-unmute {
    display: block
}

.mejs__overlay-error {
    position: relative
}

    .mejs__overlay-error > img {
        left: 0;
        max-width: 100%;
        position: absolute;
        top: 0;
        z-index: -1
    }

.mejs__cannotplay, .mejs__cannotplay a {
    color: #fff;
    font-size: .8em
}

.mejs__cannotplay {
    position: relative
}

    .mejs__cannotplay p, .mejs__cannotplay a {
        display: inline-block;
        padding: 0 .9375rem;
        width: 100%
    }

.cms_copyright {
    position: fixed;
    width: 100%;
    background: #e3524f;
    color: #fff;
    font-size: .75rem;
    padding: 8px;
    text-align: center;
    z-index: 9999
}

.navbar-toggler {
    background-color: transparent;
    border-radius: .25rem;
    font-size: 1.25rem;
    line-height: 1;
    padding: .25rem .75rem;
    margin-left: 1rem;
    border: 1px solid var(--sub-color);
    color: var(--sub-color)
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 0;
    padding: 0
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: .5rem
}

    .breadcrumb-item + .breadcrumb-item::before {
        content: "/";
        float: left;
        padding-right: .5rem
    }

.btn-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: #666;
    display: flex;
    font-size: 20px;
    height: 1em;
    justify-content: center;
    outline: 0;
    width: 1em
}

    .btn-close::before {
        content: "";
        font-family: CmsFont
    }

.drop {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    display: flex;
    flex: 0 0 40px;
    justify-content: center
}

    .drop::after {
        font-family: CmsFont
    }

.dropdown-toggle {
    align-items: center;
    display: flex;
    justify-content: space-between;
    white-space: nowrap
}

    .dropdown-toggle::after {
        content: "";
        font-family: CmsFont;
        margin-left: 6px
    }

    .dropdown-toggle:empty::after {
        margin-left: 0
    }

.dropend .dropdown-toggle::after {
    content: ""
}

.canvas-menu {
    list-style-type: none;
    margin: 0;
    padding: 0
}

    .canvas-menu .nav-item {
        align-items: center;
        border-bottom: 1px solid #f2f2f2;
        display: flex;
        justify-content: space-between;
        padding: 0 6px 0 12px
    }

    .canvas-menu .nav-link {
        flex-grow: 1;
        padding: 10px 0
    }

    .canvas-menu .nav-item.active {
        background: #f2f2f2
    }

        .canvas-menu .nav-item.active .nav-link, {
            color: var(--link-color)
        }

    .canvas-menu .nav-item:hover .nav-link {
        color: var(--link-hover-color)
    }

    .canvas-menu .sub-menu .nav-link {
        padding-left: var(--menu-level-ident)
    }

    .canvas-menu .third-menu .nav-link {
        padding-left: calc(var(--menu-level-ident)*2)
    }

    .canvas-menu .drop::after {
        color: #666;
        content: "";
        font-size: 13px
    }

    .canvas-menu .drop.collapsed::after {
        content: ""
    }

.banner-simple {
    position: relative;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    min-height: 80px;
    overflow: hidden;
    z-index: 1
}

    .banner-simple > .container-xl, .swiper-slide > .container-xl {
        display: flex;
        align-items: center;
        position: absolute;
        bottom: 0;
        height: 100%;
        left: 0;
        right: 0;
        top: 0;
        z-index: 2
    }

    .banner-simple > video, .banner-simple .swiper-slide > video {
        height: 100%;
        object-fit: cover;
        width: 100%
    }

    .banner-simple > .img-fluid, .banner-simple .swiper-slide > .img-fluid {
        display: block;
        margin: auto;
        object-fit: cover;
        height: 100%;
        width: 100%
    }

.overlay {
    background: var(--overlay-color);
    display: flex;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

    .overlay > .link-text {
        font-size: 0
    }

.swiper-carousel .swiper-slide {
    width: var(--carousel-width,320px)
}

.swiper-3d {
    perspective: 1200px;
    padding: 45px 0
}

    .swiper-3d .swiper-wrapper {
        transform-style: preserve-3d
    }

.swiper-thumbs .swiper-slide {
    border: 1px solid #ddd;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px
}

.swiper-gallery {
    position: relative
}

    .swiper-gallery .swiper-slide {
        display: flex;
        height: auto
    }

.media, .media .more {
    align-items: center;
    display: flex
}

.bg-cover {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.widget-header {
    align-items: center;
    display: flex;
    justify-content: space-between
}

    .widget-header .drop::after {
        content: "";
        transition: transform .2s ease-in-out
    }

    .widget-header .drop.collapsed::after {
        transform: rotate(-180deg)
    }

.widget-collapse, .widget-collapse ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

    .widget-collapse .menu-item {
        display: flex;
        flex-direction: row;
        justify-content: space-between
    }

    .widget-collapse .menu-link {
        flex-grow: 1;
        z-index: 1
    }

    .widget-collapse .drop {
        z-index: 1
    }

.product-param {
    display: flex;
    align-items: center;
    flex-grow: 0;
    flex-wrap: wrap;
    margin: 0;
    padding: 0
}

    .product-param dt {
        flex-basis: var(--param-width,150px);
        padding: var(--param-padding-y,8px) 0
    }

    .product-param dd {
        color: var(--param-color,#666);
        flex-basis: calc(100% - var(--param-width,150px));
        margin: 0;
        padding-left: var(--param-padding-x,8px)
    }

.input-group-img {
    cursor: pointer
}

.form-label > span {
    color: #f5543f
}

.form-feedback .form-control, .form-feedback .form-select, .form-feedback .input-group-text {
    color: #555;
    padding: 10px
}

.form-feedback .btn {
    background: #888;
    color: #fff;
    display: block;
    padding: .75rem;
    transition: all .3s ease
}

    .form-feedback .btn:hover {
        opacity: .9
    }

.feedback-result {
    color: #198754;
    padding: .5rem;
    text-align: center
}

    .feedback-result.warning {
        color: #a52a2a
    }

    .feedback-result:empty {
        display: none
    }

.item-col {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    position: relative;
    width: 100%;
    word-wrap: break-word
}

.item-row > .row {
    --gutter-x: 0
}

.entry-wrapper {
    flex-grow: 1;
    margin: 0;
    position: relative
}

.entry-text, .entry-text > p, .entry-content {
    margin: 0
}

.thumbnail-wrapper {
    position: relative
}

.thumbnail {
    display: block;
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

    .thumbnail::before {
        background: #000;
        content: "";
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        transition: .5s;
        width: 100%;
        z-index: 1
    }

    .thumbnail > img {
        height: auto;
        position: relative;
        transition: all .2s linear;
        width: 100%
    }

    .thumbnail:hover > img {
        transform: scale(1.02)
    }

.content-wrapper ol {
    margin-left: 1em;
    padding-left: 1em
}

.widget-cart {
    position: relative;
    display: block;
    font-size: 18px;
    padding: 12px;
    --cart-size: 20px
}

.cart-counter {
    position: absolute;
    border-radius: 50%;
    background: var(--main-color);
    color: #fff;
    text-align: center;
    display: none;
    font-size: 10px;
    width: var(--cart-size);
    height: var(--cart-size);
    line-height: var(--cart-size);
    right: 0;
    top: 6px
}

#privacy-policy {
    position: fixed;
    z-index: 998;
    max-width: 450px;
    left: 25px;
    bottom: 5px;
    padding: 14px;
    border-radius: 8px;
    display: none;
    background: rgba(255,255,255,.8);
    backdrop-filter: blur(10px);
    box-shadow: 0 0 6px #999;
    --link-color: var(--main-color)
}

.privacy-wrapper {
    display: flex;
    flex-direction: column
}

    .privacy-wrapper h4, .privacy-wrapper h5, .privacy-wrapper h6 {
        font-size: 20px;
        font-weight: 500
    }

.privacy-inner {
    text-align: center
}

    .privacy-inner .btn {
        color: #fff;
        font-size: 14px
    }

.btn-accept {
    background: var(--main-color);
    margin-right: 15px
}

.btn-decline {
    background: #000
}

@media(max-width:768px) {
    #privacy-policy {
        max-width: 100%;
        left: 0;
        bottom: 0;
        border-radius: 0
    }
}

.swiper-video-slide video, .swiper-video-slide .mejs__container {
    height: 100% !important;
    width: 100% !important
}

.hg-product-gallery {
    display: flex
}

.hg-product-gallery-horizontal .product-video-slide {
    height: auto
}

.hg-product-gallery, .hg-product-gallery-horizontal {
    margin-bottom: var(--gallery-margin-bottom,20px)
}

.product-images-wrapper {
    --swiper-navigation-size: 18px;
    --swiper-navigation-color: #222;
    --swiper-button-size: 36px;
    border: 1px solid #f2f2f2
}

    .product-images-wrapper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fafafa;
        height: auto
    }

    .product-images-wrapper .swiper-button {
        width: var(--swiper-button-size);
        height: var(--swiper-button-size);
        margin-top: calc(0 - (var(--swiper-button-size)/2));
        background: rgba(255,255,255,.8);
        border: 1px solid #ccc;
        border-radius: 50%;
        display: none
    }

    .product-images-wrapper:hover .swiper-button {
        display: flex
    }

    .product-images-wrapper .swiper-button:hover {
        border: 1px solid #777
    }

.pagination-wrapper {
    display: flex;
    justify-content: end;
    padding-right: 5px;
    position: absolute;
    width: 100%;
    bottom: var(--swiper-pagination-bottom,30px)
}

    .pagination-wrapper .swiper-pagination-horizontal {
        position: relative;
        bottom: 0;
        background: rgba(51,51,51,.7);
        color: #fff;
        border-radius: 12px;
        padding: 0 15px;
        width: auto
    }

.product-thumb-video {
    pointer-events: none;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 26px;
    justify-content: center;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat
}

    .product-thumb-video::before {
        content: "";
        height: 100%;
        position: absolute;
        width: 100%;
        z-index: 1
    }

    .product-thumb-video .video-icon {
        color: #666;
        z-index: 2;
        pointer-events: none
    }

        .product-thumb-video .video-icon::after {
            content: "";
            font-family: CmsFont;
            font-style: normal
        }

.product-thumbs-horizontal {
    margin-top: var(--thumbs-wrapper-margin,12px);
    height: 80px;
    --swiper-navigation-size: 16px;
    --swiper-navigation-color: #fff;
    padding: 0 1px
}

    .product-thumbs-horizontal .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center
    }

        .product-thumbs-horizontal .swiper-slide .img-fluid {
            max-height: 100%;
            object-fit: cover;
            pointer-events: none
        }

    .product-thumbs-horizontal .swiper-slide-thumb-active {
        opacity: .6;
        border: 1px solid #000
    }

    .product-thumbs-horizontal .swiper-button {
        background: rgba(119,119,119,.6);
        padding: calc(var(--swiper-navigation-size)/2);
        margin-top: calc(0px - (var(--swiper-navigation-size)))
    }

.product-thumbs-vertical {
    flex-basis: 78px;
    flex-shrink: 0;
    margin-right: var(--thumbs-wrapper-margin,12px);
    --swiper-navigation-size: 16px;
    --swiper-navigation-color: #fff;
    padding: 1px 0
}

    .product-thumbs-vertical .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center
    }

        .product-thumbs-vertical .swiper-slide .img-fluid {
            max-height: 100%;
            object-fit: cover;
            pointer-events: none
        }

    .product-thumbs-vertical .swiper-slide-thumb-active {
        opacity: .6;
        border: 1px solid #000
    }

    .product-thumbs-vertical .swiper-button {
        margin: 0;
        background: rgba(119,119,119,.6);
        left: calc(50% - var(--swiper-navigation-size));
        width: calc(var(--swiper-navigation-size)*2);
        padding: 2px calc(var(--swiper-navigation-size)/2)
    }

        .product-thumbs-vertical .swiper-button::after {
            transform: rotate(90deg)
        }

    .product-thumbs-vertical .swiper-button-prev {
        top: 2px
    }

    .product-thumbs-vertical .swiper-button-next {
        bottom: 1px;
        top: auto
    }
