/*!
 * Bootstrap  v5.2.3 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
h6, .h6 {
    font-weight: 700 !important
}

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, 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));
    --bs-body-font-family: Roboto, sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #0d6efd;
    --bs-link-hover-color: #0a58ca;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd
}

*, *::before, *::after {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: 1px solid;
    opacity: .25
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    margin-top: 0;
    margin-bottom: 20px;
    font-family: "BaseneueWide", sans-serif;
    font-weight: 500;
    line-height: 1.2
}

h1, .h1 {
    font-size: calc(1.5375rem + 3.6416666667vw);
}

@media(min-width: 2400px) {
    h1, .h1 {
        font-size: 7rem
    }
}

h2, .h2 {
    font-size: calc(1.5rem + 3.1666666667vw)
}

@media(min-width: 2400px) {
    h2, .h2 {
        font-size: 6.25rem
    }
}

h3, .h3 {
    font-size: calc(1.4375rem + 2.375vw)
}

@media(min-width: 2400px) {
    h3, .h3 {
        font-size: 5rem
    }
}

h4, .h4 {
    font-size: calc(1.4275rem + 2.2483333333vw)
}

@media(min-width: 2400px) {
    h4, .h4 {
        font-size: 4.8rem
    }
}

h5, .h5 {
    font-size: calc(1.3375rem + 1.1083333333vw)
}

@media(min-width: 2400px) {
    h5, .h5 {
        font-size: 3rem
    }
}

h6, .h6 {
    font-size: calc(1.2525rem + 0.0316666667vw)
}

@media(min-width: 2400px) {
    h6, .h6 {
        font-size: 1.3rem
    }
}

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

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol, ul {
    padding-left: 2rem
}

ol, ul, dl {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol, ul ul, ol ul, ul ol {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b, strong {
    font-weight: bolder
}

small, .small {
    font-size: 0.875em
}

mark, .mark {
    padding: .1875em;
    background-color: var(--bs-highlight-bg)
}

sub, sup {
    position: relative;
    font-size: 0.75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

a {
    color: var(--bs-link-color);
    text-decoration: underline
}

a:hover {
    color: var(--bs-link-hover-color)
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

pre, code, kbd, samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: 0.875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: 0.875em;
    color: var(--bs-code-color);
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .1875rem .375rem;
    font-size: 0.875em;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: .25rem
}

kbd kbd {
    padding: 0;
    font-size: 1em
}

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: #6c757d;
    text-align: left
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

thead, tbody, tfoot, tr, td, th {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

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

button, select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important
}

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 {
    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.2625rem + 0.1583333333vw);
    line-height: inherit
}

@media(min-width: 2400px) {
    legend {
        font-size: 1.5rem
    }
}

legend+* {
    clear: left
}

::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: textfield
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

iframe {
    border: 0
}

summary {
    display: list-item;
    cursor: pointer
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none !important
}

.lead {
    font-size: calc(1.26875rem + 0.2375vw);
    font-weight: 300
}

@media(min-width: 2400px) {
    .lead {
        font-size: 1.625rem
    }
}

.display-1 {
    font-size: calc(1.4775rem + 2.8816666667vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-1 {
        font-size: 5.8rem
    }
}

.display-2 {
    font-size: calc(1.4125rem + 2.0583333333vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-size: calc(1.3875rem + 1.7416666667vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-size: calc(1.3625rem + 1.425vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-size: calc(1.3375rem + 1.1083333333vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-size: calc(1.3125rem + 0.7916666667vw);
    font-weight: 300;
    line-height: 1.2
}

@media(min-width: 2400px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.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: 0.875em;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: 0.875em;
    color: #6c757d
}

.blockquote-footer::before {
    content: "— "
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: .375rem;
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: 0.875em;
    color: #6c757d
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1*var(--bs-gutter-y));
    margin-right: calc(-0.5*var(--bs-gutter-x));
    margin-left: calc(-0.5*var(--bs-gutter-x))
}

.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x)*.5);
    padding-left: calc(var(--bs-gutter-x)*.5);
    margin-top: var(--bs-gutter-y)
}

.grid {
    display: grid;
    grid-template-rows: repeat(var(--bs-rows, 1), 1fr);
    grid-template-columns: repeat(var(--bs-columns, 12), 1fr);
    gap: var(--bs-gap, 1.5rem)
}

.grid .g-col-1 {
    grid-column: auto/span 1
}

.grid .g-col-2 {
    grid-column: auto/span 2
}

.grid .g-col-3 {
    grid-column: auto/span 3
}

.grid .g-col-4 {
    grid-column: auto/span 4
}

.grid .g-col-5 {
    grid-column: auto/span 5
}

.grid .g-col-6 {
    grid-column: auto/span 6
}

.grid .g-col-7 {
    grid-column: auto/span 7
}

.grid .g-col-8 {
    grid-column: auto/span 8
}

.grid .g-col-9 {
    grid-column: auto/span 9
}

.grid .g-col-10 {
    grid-column: auto/span 10
}

.grid .g-col-11 {
    grid-column: auto/span 11
}

.grid .g-col-12 {
    grid-column: auto/span 12
}

.grid .g-start-1 {
    grid-column-start: 1
}

.grid .g-start-2 {
    grid-column-start: 2
}

.grid .g-start-3 {
    grid-column-start: 3
}

.grid .g-start-4 {
    grid-column-start: 4
}

.grid .g-start-5 {
    grid-column-start: 5
}

.grid .g-start-6 {
    grid-column-start: 6
}

.grid .g-start-7 {
    grid-column-start: 7
}

.grid .g-start-8 {
    grid-column-start: 8
}

.grid .g-start-9 {
    grid-column-start: 9
}

.grid .g-start-10 {
    grid-column-start: 10
}

.grid .g-start-11 {
    grid-column-start: 11
}

@media(min-width: 576px) {
    .grid .g-col-sm-1 {
        grid-column: auto/span 1
    }

    .grid .g-col-sm-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-sm-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-sm-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-sm-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-sm-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-sm-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-sm-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-sm-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-sm-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-sm-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-sm-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-sm-1 {
        grid-column-start: 1
    }

    .grid .g-start-sm-2 {
        grid-column-start: 2
    }

    .grid .g-start-sm-3 {
        grid-column-start: 3
    }

    .grid .g-start-sm-4 {
        grid-column-start: 4
    }

    .grid .g-start-sm-5 {
        grid-column-start: 5
    }

    .grid .g-start-sm-6 {
        grid-column-start: 6
    }

    .grid .g-start-sm-7 {
        grid-column-start: 7
    }

    .grid .g-start-sm-8 {
        grid-column-start: 8
    }

    .grid .g-start-sm-9 {
        grid-column-start: 9
    }

    .grid .g-start-sm-10 {
        grid-column-start: 10
    }

    .grid .g-start-sm-11 {
        grid-column-start: 11
    }
}

@media(min-width: 768px) {
    .grid .g-col-md-1 {
        grid-column: auto/span 1
    }

    .grid .g-col-md-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-md-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-md-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-md-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-md-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-md-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-md-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-md-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-md-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-md-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-md-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-md-1 {
        grid-column-start: 1
    }

    .grid .g-start-md-2 {
        grid-column-start: 2
    }

    .grid .g-start-md-3 {
        grid-column-start: 3
    }

    .grid .g-start-md-4 {
        grid-column-start: 4
    }

    .grid .g-start-md-5 {
        grid-column-start: 5
    }

    .grid .g-start-md-6 {
        grid-column-start: 6
    }

    .grid .g-start-md-7 {
        grid-column-start: 7
    }

    .grid .g-start-md-8 {
        grid-column-start: 8
    }

    .grid .g-start-md-9 {
        grid-column-start: 9
    }

    .grid .g-start-md-10 {
        grid-column-start: 10
    }

    .grid .g-start-md-11 {
        grid-column-start: 11
    }
}

@media(min-width: 992px) {
    .grid .g-col-lg-1 {
        grid-column: auto/span 1
    }

    .grid .g-col-lg-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-lg-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-lg-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-lg-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-lg-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-lg-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-lg-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-lg-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-lg-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-lg-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-lg-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-lg-1 {
        grid-column-start: 1
    }

    .grid .g-start-lg-2 {
        grid-column-start: 2
    }

    .grid .g-start-lg-3 {
        grid-column-start: 3
    }

    .grid .g-start-lg-4 {
        grid-column-start: 4
    }

    .grid .g-start-lg-5 {
        grid-column-start: 5
    }

    .grid .g-start-lg-6 {
        grid-column-start: 6
    }

    .grid .g-start-lg-7 {
        grid-column-start: 7
    }

    .grid .g-start-lg-8 {
        grid-column-start: 8
    }

    .grid .g-start-lg-9 {
        grid-column-start: 9
    }

    .grid .g-start-lg-10 {
        grid-column-start: 10
    }

    .grid .g-start-lg-11 {
        grid-column-start: 11
    }
}

@media(min-width: 1200px) {
    .grid .g-col-xl-1 {
        grid-column: auto/span 1
    }

    .grid .g-col-xl-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-xl-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-xl-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-xl-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-xl-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-xl-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-xl-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-xl-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-xl-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-xl-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-xl-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-xl-1 {
        grid-column-start: 1
    }

    .grid .g-start-xl-2 {
        grid-column-start: 2
    }

    .grid .g-start-xl-3 {
        grid-column-start: 3
    }

    .grid .g-start-xl-4 {
        grid-column-start: 4
    }

    .grid .g-start-xl-5 {
        grid-column-start: 5
    }

    .grid .g-start-xl-6 {
        grid-column-start: 6
    }

    .grid .g-start-xl-7 {
        grid-column-start: 7
    }

    .grid .g-start-xl-8 {
        grid-column-start: 8
    }

    .grid .g-start-xl-9 {
        grid-column-start: 9
    }

    .grid .g-start-xl-10 {
        grid-column-start: 10
    }

    .grid .g-start-xl-11 {
        grid-column-start: 11
    }
}

@media(min-width: 1400px) {
    .grid .g-col-xxl-1 {
        grid-column: auto/span 1
    }

    .grid .g-col-xxl-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-xxl-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-xxl-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-xxl-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-xxl-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-xxl-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-xxl-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-xxl-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-xxl-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-xxl-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-xxl-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-xxl-1 {
        grid-column-start: 1
    }

    .grid .g-start-xxl-2 {
        grid-column-start: 2
    }

    .grid .g-start-xxl-3 {
        grid-column-start: 3
    }

    .grid .g-start-xxl-4 {
        grid-column-start: 4
    }

    .grid .g-start-xxl-5 {
        grid-column-start: 5
    }

    .grid .g-start-xxl-6 {
        grid-column-start: 6
    }

    .grid .g-start-xxl-7 {
        grid-column-start: 7
    }

    .grid .g-start-xxl-8 {
        grid-column-start: 8
    }

    .grid .g-start-xxl-9 {
        grid-column-start: 9
    }

    .grid .g-start-xxl-10 {
        grid-column-start: 10
    }

    .grid .g-start-xxl-11 {
        grid-column-start: 11
    }
}

.col {
    flex: 1 0 0%
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%
}

.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: 0.25rem
}

.g-1, .gy-1 {
    --bs-gutter-y: 0.25rem
}

.g-2, .gx-2 {
    --bs-gutter-x: 0.5rem
}

.g-2, .gy-2 {
    --bs-gutter-y: 0.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: 2rem
}

.g-5, .gy-5 {
    --bs-gutter-y: 2rem
}

@media(min-width: 576px) {
    .col-sm {
        flex: 1 0 0%
    }

    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

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

    .g-sm-0, .gx-sm-0 {
        --bs-gutter-x: 0
    }

    .g-sm-0, .gy-sm-0 {
        --bs-gutter-y: 0
    }

    .g-sm-1, .gx-sm-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-sm-1, .gy-sm-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-sm-2, .gx-sm-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-sm-2, .gy-sm-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-sm-3, .gx-sm-3 {
        --bs-gutter-x: 1rem
    }

    .g-sm-3, .gy-sm-3 {
        --bs-gutter-y: 1rem
    }

    .g-sm-4, .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-sm-4, .gy-sm-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-sm-5, .gx-sm-5 {
        --bs-gutter-x: 2rem
    }

    .g-sm-5, .gy-sm-5 {
        --bs-gutter-y: 2rem
    }
}

@media(min-width: 768px) {
    .col-md {
        flex: 1 0 0%
    }

    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

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

    .g-md-0, .gx-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0, .gy-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1, .gx-md-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-md-1, .gy-md-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-md-2, .gx-md-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-md-2, .gy-md-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-md-3, .gx-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3, .gy-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4, .gx-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4, .gy-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5, .gx-md-5 {
        --bs-gutter-x: 2rem
    }

    .g-md-5, .gy-md-5 {
        --bs-gutter-y: 2rem
    }
}

@media(min-width: 992px) {
    .col-lg {
        flex: 1 0 0%
    }

    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

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

    .g-lg-0, .gx-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0, .gy-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1, .gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-lg-1, .gy-lg-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-lg-2, .gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-lg-2, .gy-lg-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-lg-3, .gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3, .gy-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4, .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4, .gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5, .gx-lg-5 {
        --bs-gutter-x: 2rem
    }

    .g-lg-5, .gy-lg-5 {
        --bs-gutter-y: 2rem
    }
}

@media(min-width: 1200px) {
    .col-xl {
        flex: 1 0 0%
    }

    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

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

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.33333333%
    }

    .offset-xl-2 {
        margin-left: 16.66666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.33333333%
    }

    .offset-xl-5 {
        margin-left: 41.66666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.33333333%
    }

    .offset-xl-8 {
        margin-left: 66.66666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.33333333%
    }

    .offset-xl-11 {
        margin-left: 91.66666667%
    }

    .g-xl-0, .gx-xl-0 {
        --bs-gutter-x: 0
    }

    .g-xl-0, .gy-xl-0 {
        --bs-gutter-y: 0
    }

    .g-xl-1, .gx-xl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xl-1, .gy-xl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xl-2, .gx-xl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xl-2, .gy-xl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xl-3, .gx-xl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xl-3, .gy-xl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xl-4, .gx-xl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xl-4, .gy-xl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xl-5, .gx-xl-5 {
        --bs-gutter-x: 2rem
    }

    .g-xl-5, .gy-xl-5 {
        --bs-gutter-y: 2rem
    }
}

@media(min-width: 1400px) {
    .col-xxl {
        flex: 1 0 0%
    }

    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.3333333333%
    }

    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.6666666667%
    }

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

    .offset-xxl-0 {
        margin-left: 0
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%
    }

    .offset-xxl-3 {
        margin-left: 25%
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%
    }

    .offset-xxl-6 {
        margin-left: 50%
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%
    }

    .offset-xxl-9 {
        margin-left: 75%
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%
    }

    .g-xxl-0, .gx-xxl-0 {
        --bs-gutter-x: 0
    }

    .g-xxl-0, .gy-xxl-0 {
        --bs-gutter-y: 0
    }

    .g-xxl-1, .gx-xxl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xxl-1, .gy-xxl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xxl-2, .gx-xxl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xxl-2, .gy-xxl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xxl-3, .gx-xxl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xxl-3, .gy-xxl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xxl-4, .gx-xxl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xxl-4, .gy-xxl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xxl-5, .gx-xxl-5 {
        --bs-gutter-x: 2rem
    }

    .g-xxl-5, .gy-xxl-5 {
        --bs-gutter-y: 2rem
    }
}

.table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    width: 100%;
    margin-bottom: 1rem;
    color: var(--bs-table-color);
    vertical-align: top;
    border-color: var(--bs-table-border-color)
}

.table>:not(caption)>*>* {
    padding: .5rem .5rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg)
}

.table>tbody {
    vertical-align: inherit
}

.table>thead {
    vertical-align: bottom
}

.table-group-divider {
    border-top: 2px solid currentcolor
}

.caption-top {
    caption-side: top
}

.table-sm>:not(caption)>*>* {
    padding: .25rem .25rem
}

.table-bordered>:not(caption)>* {
    border-width: 1px 0
}

.table-bordered>:not(caption)>*>* {
    border-width: 0 1px
}

.table-borderless>:not(caption)>*>* {
    border-bottom-width: 0
}

.table-borderless>:not(:first-child) {
    border-top-width: 0
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color)
}

.table-striped-columns>:not(caption)>tr>:nth-child(even) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color)
}

.table-active {
    --bs-table-accent-bg: var(--bs-table-active-bg);
    color: var(--bs-table-active-color)
}

.table-hover>tbody>tr:hover>* {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color)
}

.table-primary {
    --bs-table-color: #000;
    --bs-table-bg: #cfe2ff;
    --bs-table-border-color: #bacbe6;
    --bs-table-striped-bg: #c5d7f2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bacbe6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfd1ec;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-secondary {
    --bs-table-color: #000;
    --bs-table-bg: #e2e3e5;
    --bs-table-border-color: #cbccce;
    --bs-table-striped-bg: #d7d8da;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #cbccce;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #d1d2d4;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-success {
    --bs-table-color: #000;
    --bs-table-bg: #d1e7dd;
    --bs-table-border-color: #bcd0c7;
    --bs-table-striped-bg: #c7dbd2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bcd0c7;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #c1d6cc;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-info {
    --bs-table-color: #000;
    --bs-table-bg: #cff4fc;
    --bs-table-border-color: #badce3;
    --bs-table-striped-bg: #c5e8ef;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #badce3;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfe2e9;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-warning {
    --bs-table-color: #000;
    --bs-table-bg: #fff3cd;
    --bs-table-border-color: #e6dbb9;
    --bs-table-striped-bg: #f2e7c3;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #e6dbb9;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ece1be;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-danger {
    --bs-table-color: #000;
    --bs-table-bg: #f8d7da;
    --bs-table-border-color: #dfc2c4;
    --bs-table-striped-bg: #eccccf;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfc2c4;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5c7ca;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-light {
    --bs-table-color: #000;
    --bs-table-bg: #f8f9fa;
    --bs-table-border-color: #dfe0e1;
    --bs-table-striped-bg: #ecedee;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfe0e1;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5e6e7;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-dark {
    --bs-table-color: #fff;
    --bs-table-bg: #212529;
    --bs-table-border-color: #373b3e;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3e;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #323539;
    --bs-table-hover-color: #fff;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

@media(max-width: 575.98px) {
    .table-responsive-sm {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media(max-width: 767.98px) {
    .table-responsive-md {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media(max-width: 991.98px) {
    .table-responsive-lg {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media(max-width: 1199.98px) {
    .table-responsive-xl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media(max-width: 1399.98px) {
    .table-responsive-xxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

.form-label {
    margin-bottom: .5rem
}

.col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

.col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem
}

.form-text {
    margin-top: .25rem;
    font-size: 0.875em;
    color: #6c757d
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .375rem;
    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:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-control::-webkit-date-and-time-value {
    height: 1.5em
}

.form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 1
}

.form-control:disabled {
    background-color: #e9ecef;
    opacity: 1
}

.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -0.375rem -0.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    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 {
    background-color: #dde0e3
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: .375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: #212529;
    background-color: rgba(0, 0, 0, 0);
    border: solid rgba(0, 0, 0, 0);
    border-width: 1px 0
}

.form-control-plaintext:focus {
    outline: 0
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm {
    min-height: calc(1.5em + 0.5rem + 2px);
    padding: .25rem .5rem;
    font-size: 0.875rem;
    border-radius: .25rem
}

.form-control-sm::file-selector-button {
    padding: .25rem .5rem;
    margin: -0.25rem -0.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .5rem
}

.form-control-lg::file-selector-button {
    padding: .5rem 1rem;
    margin: -0.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

textarea.form-control {
    min-height: calc(1.5em + 0.75rem + 2px)
}

textarea.form-control-sm {
    min-height: calc(1.5em + 0.5rem + 2px)
}

textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px)
}

.form-control-color {
    width: 3rem;
    height: calc(1.5em + 0.75rem + 2px);
    padding: .375rem
}

.form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: .375rem
}

.form-control-color::-webkit-color-swatch {
    border-radius: .375rem
}

.form-control-color.form-control-sm {
    height: calc(1.5em + 0.5rem + 2px)
}

.form-control-color.form-control-lg {
    height: calc(1.5em + 1rem + 2px)
}

.form-select {
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    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 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

@media(prefers-reduced-motion: reduce) {
    .form-select {
        transition: none
    }
}

.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-select[multiple], .form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none
}

.form-select:disabled {
    background-color: #e9ecef
}

.form-select:-moz-focusring {
    color: rgba(0, 0, 0, 0);
    text-shadow: 0 0 0 #212529
}

.form-select-sm {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: 0.875rem;
    border-radius: .25rem
}

.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
    border-radius: .5rem
}

.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-reverse {
    padding-right: 1.5em;
    padding-left: 0;
    text-align: right
}

.form-check-reverse .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    print-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:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd
}

.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 10 3 3 6-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")
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #0d6efd;
    border-color: #0d6efd;
    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 10h8'/%3e%3c/svg%3e")
}

.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5
}

.form-check-input[disabled]~.form-check-label, .form-check-input:disabled~.form-check-label {
    cursor: default;
    opacity: .5
}

.form-switch {
    padding-left: 2.5em
}

.form-switch .form-check-input {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position .15s ease-in-out
}

@media(prefers-reduced-motion: reduce) {
    .form-switch .form-check-input {
        transition: none
    }
}

.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")
}

.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}

.form-switch.form-check-reverse {
    padding-right: 2.5em;
    padding-left: 0
}

.form-switch.form-check-reverse .form-check-input {
    margin-right: -2.5em;
    margin-left: 0
}

.form-check-inline {
    display: inline-block;
    margin-right: 1rem
}

.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none
}

.btn-check[disabled]+.btn, .btn-check:disabled+.btn {
    pointer-events: none;
    filter: none;
    opacity: .65
}

.form-range {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.form-range:focus {
    outline: 0
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range::-moz-focus-outer {
    border: 0
}

.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    appearance: none
}

@media(prefers-reduced-motion: reduce) {
    .form-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none
    }
}

.form-range::-webkit-slider-thumb:active {
    background-color: #b6d4fe
}

.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: .5rem;
    color: rgba(0, 0, 0, 0);
    cursor: pointer;
    background-color: #dee2e6;
    border-color: rgba(0, 0, 0, 0);
    border-radius: 1rem
}

.form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -moz-appearance: none;
    appearance: none
}

@media(prefers-reduced-motion: reduce) {
    .form-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none
    }
}

.form-range::-moz-range-thumb:active {
    background-color: #b6d4fe
}

.form-range::-moz-range-track {
    width: 100%;
    height: .5rem;
    color: rgba(0, 0, 0, 0);
    cursor: pointer;
    background-color: #dee2e6;
    border-color: rgba(0, 0, 0, 0);
    border-radius: 1rem
}

.form-range:disabled {
    pointer-events: none
}

.form-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd
}

.form-range:disabled::-moz-range-thumb {
    background-color: #adb5bd
}

.form-floating {
    position: relative
}

.form-floating>.form-control, .form-floating>.form-control-plaintext, .form-floating>.form-select {
    height: calc(3.5rem + 2px);
    line-height: 1.25
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid rgba(0, 0, 0, 0);
    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, .form-floating>.form-control-plaintext {
    padding: 1rem .75rem
}

.form-floating>.form-control::-moz-placeholder, .form-floating>.form-control-plaintext::-moz-placeholder {
    color: rgba(0, 0, 0, 0)
}

.form-floating>.form-control::placeholder, .form-floating>.form-control-plaintext::placeholder {
    color: rgba(0, 0, 0, 0)
}

.form-floating>.form-control:not(:-moz-placeholder-shown), .form-floating>.form-control-plaintext:not(:-moz-placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown), .form-floating>.form-control-plaintext:focus, .form-floating>.form-control-plaintext:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:-webkit-autofill, .form-floating>.form-control-plaintext:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control:not(:-moz-placeholder-shown)~label {
    opacity: .65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem)
}

.form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-control-plaintext~label, .form-floating>.form-select~label {
    opacity: .65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem)
}

.form-floating>.form-control:-webkit-autofill~label {
    opacity: .65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem)
}

.form-floating>.form-control-plaintext~label {
    border-width: 1px 0
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.input-group>.form-control, .input-group>.form-select, .input-group>.form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0
}

.input-group>.form-control:focus, .input-group>.form-select:focus, .input-group>.form-floating:focus-within {
    z-index: 5
}

.input-group .btn {
    position: relative;
    z-index: 2
}

.input-group .btn:focus {
    z-index: 5
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    white-space: nowrap;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: .375rem
}

.input-group-lg>.form-control, .input-group-lg>.form-select, .input-group-lg>.input-group-text, .input-group-lg>.btn {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .5rem
}

.input-group-sm>.form-control, .input-group-sm>.form-select, .input-group-sm>.input-group-text, .input-group-sm>.btn {
    padding: .25rem .5rem;
    font-size: 0.875rem;
    border-radius: .25rem
}

.input-group-lg>.form-select, .input-group-sm>.form-select {
    padding-right: 3rem
}

.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control, .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4), .input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control, .input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.input-group>.form-floating:not(:first-child)>.form-control, .input-group>.form-floating:not(:first-child)>.form-select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 0.875em;
    color: #198754
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: 0.875rem;
    color: #fff;
    background-color: rgba(25, 135, 84, .9);
    border-radius: .375rem
}

.was-validated :valid~.valid-feedback, .was-validated :valid~.valid-tooltip, .is-valid~.valid-feedback, .is-valid~.valid-tooltip {
    display: block
}

.was-validated .form-control:valid, .form-control.is-valid {
    border-color: #198754;
    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.73.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)
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #198754;
    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)
}

.was-validated .form-select:valid, .form-select.is-valid {
    border-color: #198754
}

.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid: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 5 6 6 6-6'/%3e%3c/svg%3e"), 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.73.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-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)
}

.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
    border-color: #198754;
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
    width: calc(3rem + calc(1.5em + 0.75rem))
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
    border-color: #198754
}

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
    background-color: #198754
}

.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, .25)
}

.was-validated .form-check-input:valid~.form-check-label, .form-check-input.is-valid~.form-check-label {
    color: #198754
}

.form-check-inline .form-check-input~.valid-feedback {
    margin-left: .5em
}

.was-validated .input-group>.form-control:not(:focus):valid, .input-group>.form-control:not(:focus).is-valid, .was-validated .input-group>.form-select:not(:focus):valid, .input-group>.form-select:not(:focus).is-valid, .was-validated .input-group>.form-floating:not(:focus-within):valid, .input-group>.form-floating:not(:focus-within).is-valid {
    z-index: 3
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 0.875em;
    color: #dc3545
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: 0.875rem;
    color: #fff;
    background-color: rgba(220, 53, 69, .9);
    border-radius: .375rem
}

.was-validated :invalid~.invalid-feedback, .was-validated :invalid~.invalid-tooltip, .is-invalid~.invalid-feedback, .is-invalid~.invalid-tooltip {
    display: block
}

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: #dc3545;
    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)
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

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

.was-validated .form-select:invalid, .form-select.is-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 5 6 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(0.75em + 0.375rem) calc(0.75em + 0.375rem)
}

.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
    width: calc(3rem + calc(1.5em + 0.75rem))
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
    border-color: #dc3545
}

.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
    background-color: #dc3545
}

.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
}

.was-validated .form-check-input:invalid~.form-check-label, .form-check-input.is-invalid~.form-check-label {
    color: #dc3545
}

.form-check-inline .form-check-input~.invalid-feedback {
    margin-left: .5em
}

.was-validated .input-group>.form-control:not(:focus):invalid, .input-group>.form-control:not(:focus).is-invalid, .was-validated .input-group>.form-select:not(:focus):invalid, .input-group>.form-select:not(:focus).is-invalid, .was-validated .input-group>.form-floating:not(:focus-within):invalid, .input-group>.form-floating:not(:focus-within).is-invalid {
    z-index: 4
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important
}

.text-bg-info {
    color: #000 !important;
    background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important
}

.text-bg-warning {
    color: #000 !important;
    background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important
}

.text-bg-light {
    color: #000 !important;
    background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important
}

.link-primary {
    color: #0d6efd !important
}

.link-primary:hover, .link-primary:focus {
    color: #0a58ca !important
}

.link-secondary {
    color: #6c757d !important
}

.link-secondary:hover, .link-secondary:focus {
    color: #565e64 !important
}

.link-success {
    color: #198754 !important
}

.link-success:hover, .link-success:focus {
    color: #146c43 !important
}

.link-info {
    color: #0dcaf0 !important
}

.link-info:hover, .link-info:focus {
    color: #3dd5f3 !important
}

.link-warning {
    color: #ffc107 !important
}

.link-warning:hover, .link-warning:focus {
    color: #ffcd39 !important
}

.link-danger {
    color: #dc3545 !important
}

.link-danger:hover, .link-danger:focus {
    color: #b02a37 !important
}

.link-light {
    color: #f8f9fa !important
}

.link-light:hover, .link-light:focus {
    color: #f9fafb !important
}

.link-dark {
    color: #212529 !important
}

.link-dark:hover, .link-dark:focus {
    color: #1a1e21 !important
}

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

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%
}

.ratio-16x9 {
    --bs-aspect-ratio: 56.25%
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.8571428571%
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020
}

.sticky-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020
}

@media(min-width: 576px) {
    .sticky-sm-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-sm-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width: 768px) {
    .sticky-md-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-md-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width: 992px) {
    .sticky-lg-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-lg-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width: 1200px) {
    .sticky-xl-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width: 1400px) {
    .sticky-xxl-top {
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xxl-bottom {
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch
}

.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: ""
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vr {
    display: inline-block;
    align-self: stretch;
    width: 1px;
    min-height: 1em;
    background-color: currentcolor;
    opacity: .25
}

.align-baseline {
    vertical-align: baseline !important
}

.align-top {
    vertical-align: top !important
}

.align-middle {
    vertical-align: middle !important
}

.align-bottom {
    vertical-align: bottom !important
}

.align-text-bottom {
    vertical-align: text-bottom !important
}

.align-text-top {
    vertical-align: text-top !important
}

.float-start {
    float: left !important
}

.float-end {
    float: right !important
}

.float-none {
    float: none !important
}

.opacity-0 {
    opacity: 0 !important
}

.opacity-25 {
    opacity: .25 !important
}

.opacity-50 {
    opacity: .5 !important
}

.opacity-75 {
    opacity: .75 !important
}

.opacity-100 {
    opacity: 1 !important
}

.overflow-auto {
    overflow: auto !important
}

.overflow-hidden {
    overflow: hidden !important
}

.overflow-visible {
    overflow: visible !important
}

.overflow-scroll {
    overflow: scroll !important
}

.d-inline {
    display: inline !important
}

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

.d-block {
    display: block !important
}

.d-grid {
    display: grid !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !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
}

.shadow {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important
}

.shadow-sm {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important
}

.shadow-none {
    box-shadow: 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
}

.top-0 {
    top: 0 !important
}

.top-50 {
    top: 50% !important
}

.top-100 {
    top: 100% !important
}

.bottom-0 {
    bottom: 0 !important
}

.bottom-50 {
    bottom: 50% !important
}

.bottom-100 {
    bottom: 100% !important
}

.start-0 {
    left: 0 !important
}

.start-50 {
    left: 50% !important
}

.start-100 {
    left: 100% !important
}

.end-0 {
    right: 0 !important
}

.end-50 {
    right: 50% !important
}

.end-100 {
    right: 100% !important
}

.translate-middle {
    transform: translate(-50%, -50%) !important
}

.translate-middle-x {
    transform: translateX(-50%) !important
}

.translate-middle-y {
    transform: translateY(-50%) !important
}

.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-0 {
    border: 0 !important
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-top-0 {
    border-top: 0 !important
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-end-0 {
    border-right: 0 !important
}

.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-bottom-0 {
    border-bottom: 0 !important
}

.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-start-0 {
    border-left: 0 !important
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important
}

.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important
}

.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important
}

.border-1 {
    --bs-border-width: 1px
}

.border-2 {
    --bs-border-width: 2px
}

.border-3 {
    --bs-border-width: 3px
}

.border-4 {
    --bs-border-width: 4px
}

.border-5 {
    --bs-border-width: 5px
}

.border-opacity-10 {
    --bs-border-opacity: 0.1
}

.border-opacity-25 {
    --bs-border-opacity: 0.25
}

.border-opacity-50 {
    --bs-border-opacity: 0.5
}

.border-opacity-75 {
    --bs-border-opacity: 0.75
}

.border-opacity-100 {
    --bs-border-opacity: 1
}

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

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

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

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

.w-auto {
    width: auto !important
}

.mw-100 {
    max-width: 100% !important
}

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

.min-vw-100 {
    min-width: 100vw !important
}

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

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

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

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

.h-auto {
    height: auto !important
}

.mh-100 {
    max-height: 100% !important
}

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

.min-vh-100 {
    min-height: 100vh !important
}

.flex-fill {
    flex: 1 1 auto !important
}

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

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

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

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

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

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

.flex-shrink-0 {
    flex-shrink: 0 !important
}

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

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

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

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !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
}

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

.justify-content-evenly {
    justify-content: space-evenly !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-baseline {
    align-items: baseline !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-around {
    align-content: space-around !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-baseline {
    align-self: baseline !important
}

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

.order-first {
    order: -1 !important
}

.order-0 {
    order: 0 !important
}

.order-1 {
    order: 1 !important
}

.order-2 {
    order: 2 !important
}

.order-3 {
    order: 3 !important
}

.order-4 {
    order: 4 !important
}

.order-5 {
    order: 5 !important
}

.order-last {
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 2rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

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

.my-1 {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important
}

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

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

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

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

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

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

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

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

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 2rem !important
}

.me-auto {
    margin-right: auto !important
}

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

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 2rem !important
}

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

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 2rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

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

.p-2 {
    padding: .5rem !important
}

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

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

.p-5 {
    padding: 2rem !important
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

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

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

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

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

.px-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 2rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 2rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 2rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 2rem !important
}

.gap-0 {
    gap: 0 !important
}

.gap-1 {
    gap: .25rem !important
}

.gap-2 {
    gap: .5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.gap-4 {
    gap: 1.5rem !important
}

.gap-5 {
    gap: 2rem !important
}

.font-monospace {
    font-family: var(--bs-font-monospace) !important
}

.fs-1 {
    font-size: calc(1.3125rem + 0.7916666667vw) !important
}

.fs-2 {
    font-size: calc(1.2875rem + 0.475vw) !important
}

.fs-3 {
    font-size: calc(1.275rem + 0.3166666667vw) !important
}

.fs-4 {
    font-size: calc(1.2625rem + 0.1583333333vw) !important
}

.fs-5 {
    font-size: 1.25rem !important
}

.fs-6 {
    font-size: 1rem !important
}

.fst-italic {
    font-style: italic !important
}

.fst-normal {
    font-style: normal !important
}

.fw-light {
    font-weight: 300 !important
}

.fw-lighter {
    font-weight: lighter !important
}

.fw-normal {
    font-weight: 400 !important
}

.fw-bold {
    font-weight: 700 !important
}

.fw-semibold {
    font-weight: 600 !important
}

.fw-bolder {
    font-weight: bolder !important
}

.lh-1 {
    line-height: 1 !important
}

.lh-sm {
    line-height: 1.25 !important
}

.lh-base {
    line-height: 1.5 !important
}

.lh-lg {
    line-height: 2 !important
}

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

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

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

.text-decoration-none {
    text-decoration: none !important
}

.text-decoration-underline {
    text-decoration: underline !important
}

.text-decoration-line-through {
    text-decoration: line-through !important
}

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

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

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

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important
}

.text-muted {
    --bs-text-opacity: 1;
    color: #6c757d !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, .5) !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, .5) !important
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important
}

.text-opacity-25 {
    --bs-text-opacity: 0.25
}

.text-opacity-50 {
    --bs-text-opacity: 0.5
}

.text-opacity-75 {
    --bs-text-opacity: 0.75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: rgba(0, 0, 0, 0) !important
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-gradient {
    background-image: var(--bs-gradient) !important
}

.user-select-all {
    -webkit-user-select: all !important;
    -moz-user-select: all !important;
    user-select: all !important
}

.user-select-auto {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    user-select: auto !important
}

.user-select-none {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    user-select: none !important
}

.pe-none {
    pointer-events: none !important
}

.pe-auto {
    pointer-events: auto !important
}

.rounded {
    border-radius: var(--bs-border-radius) !important
}

.rounded-0 {
    border-radius: 0 !important
}

.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important
}

.rounded-2 {
    border-radius: var(--bs-border-radius) !important
}

.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important
}

.rounded-5 {
    border-radius: var(--bs-border-radius-2xl) !important
}

.rounded-circle {
    border-radius: 50% !important
}

.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

@media(min-width: 576px) {
    .float-sm-start {
        float: left !important
    }

    .float-sm-end {
        float: right !important
    }

    .float-sm-none {
        float: none !important
    }

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

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-grid {
        display: grid !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !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-fill {
        flex: 1 1 auto !important
    }

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

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

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

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

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

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

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }

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

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

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !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
    }

    .justify-content-sm-around {
        justify-content: space-around !important
    }

    .justify-content-sm-evenly {
        justify-content: space-evenly !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-around {
        align-content: space-around !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-baseline {
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }

    .order-sm-first {
        order: -1 !important
    }

    .order-sm-0 {
        order: 0 !important
    }

    .order-sm-1 {
        order: 1 !important
    }

    .order-sm-2 {
        order: 2 !important
    }

    .order-sm-3 {
        order: 3 !important
    }

    .order-sm-4 {
        order: 4 !important
    }

    .order-sm-5 {
        order: 5 !important
    }

    .order-sm-last {
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .m-sm-1 {
        margin: .25rem !important
    }

    .m-sm-2 {
        margin: .5rem !important
    }

    .m-sm-3 {
        margin: 1rem !important
    }

    .m-sm-4 {
        margin: 1.5rem !important
    }

    .m-sm-5 {
        margin: 2rem !important
    }

    .m-sm-auto {
        margin: auto !important
    }

    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-sm-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-sm-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-sm-5 {
        margin-right: 2rem !important;
        margin-left: 2rem !important
    }

    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

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

    .my-sm-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-sm-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-sm-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

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

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

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

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

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

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

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

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

    .me-sm-0 {
        margin-right: 0 !important
    }

    .me-sm-1 {
        margin-right: .25rem !important
    }

    .me-sm-2 {
        margin-right: .5rem !important
    }

    .me-sm-3 {
        margin-right: 1rem !important
    }

    .me-sm-4 {
        margin-right: 1.5rem !important
    }

    .me-sm-5 {
        margin-right: 2rem !important
    }

    .me-sm-auto {
        margin-right: auto !important
    }

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

    .mb-sm-1 {
        margin-bottom: .25rem !important
    }

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-sm-5 {
        margin-bottom: 2rem !important
    }

    .mb-sm-auto {
        margin-bottom: auto !important
    }

    .ms-sm-0 {
        margin-left: 0 !important
    }

    .ms-sm-1 {
        margin-left: .25rem !important
    }

    .ms-sm-2 {
        margin-left: .5rem !important
    }

    .ms-sm-3 {
        margin-left: 1rem !important
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important
    }

    .ms-sm-5 {
        margin-left: 2rem !important
    }

    .ms-sm-auto {
        margin-left: auto !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

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

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

    .p-sm-5 {
        padding: 2rem !important
    }

    .px-sm-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

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

    .px-sm-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

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

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

    .px-sm-5 {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-sm-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-sm-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-sm-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 2rem !important
    }

    .pe-sm-0 {
        padding-right: 0 !important
    }

    .pe-sm-1 {
        padding-right: .25rem !important
    }

    .pe-sm-2 {
        padding-right: .5rem !important
    }

    .pe-sm-3 {
        padding-right: 1rem !important
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important
    }

    .pe-sm-5 {
        padding-right: 2rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 2rem !important
    }

    .ps-sm-0 {
        padding-left: 0 !important
    }

    .ps-sm-1 {
        padding-left: .25rem !important
    }

    .ps-sm-2 {
        padding-left: .5rem !important
    }

    .ps-sm-3 {
        padding-left: 1rem !important
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important
    }

    .ps-sm-5 {
        padding-left: 2rem !important
    }

    .gap-sm-0 {
        gap: 0 !important
    }

    .gap-sm-1 {
        gap: .25rem !important
    }

    .gap-sm-2 {
        gap: .5rem !important
    }

    .gap-sm-3 {
        gap: 1rem !important
    }

    .gap-sm-4 {
        gap: 1.5rem !important
    }

    .gap-sm-5 {
        gap: 2rem !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) {
    .float-md-start {
        float: left !important
    }

    .float-md-end {
        float: right !important
    }

    .float-md-none {
        float: none !important
    }

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

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-grid {
        display: grid !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !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
    }

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

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

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

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

    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }

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

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

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !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
    }

    .justify-content-md-around {
        justify-content: space-around !important
    }

    .justify-content-md-evenly {
        justify-content: space-evenly !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-baseline {
        align-items: baseline !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-around {
        align-content: space-around !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-baseline {
        align-self: baseline !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }

    .order-md-first {
        order: -1 !important
    }

    .order-md-0 {
        order: 0 !important
    }

    .order-md-1 {
        order: 1 !important
    }

    .order-md-2 {
        order: 2 !important
    }

    .order-md-3 {
        order: 3 !important
    }

    .order-md-4 {
        order: 4 !important
    }

    .order-md-5 {
        order: 5 !important
    }

    .order-md-last {
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-1 {
        margin: .25rem !important
    }

    .m-md-2 {
        margin: .5rem !important
    }

    .m-md-3 {
        margin: 1rem !important
    }

    .m-md-4 {
        margin: 1.5rem !important
    }

    .m-md-5 {
        margin: 2rem !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-md-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-md-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-md-5 {
        margin-right: 2rem !important;
        margin-left: 2rem !important
    }

    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

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

    .my-md-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-md-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-md-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

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

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

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

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

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

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

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

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

    .me-md-0 {
        margin-right: 0 !important
    }

    .me-md-1 {
        margin-right: .25rem !important
    }

    .me-md-2 {
        margin-right: .5rem !important
    }

    .me-md-3 {
        margin-right: 1rem !important
    }

    .me-md-4 {
        margin-right: 1.5rem !important
    }

    .me-md-5 {
        margin-right: 2rem !important
    }

    .me-md-auto {
        margin-right: auto !important
    }

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

    .mb-md-1 {
        margin-bottom: .25rem !important
    }

    .mb-md-2 {
        margin-bottom: .5rem !important
    }

    .mb-md-3 {
        margin-bottom: 1rem !important
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-md-5 {
        margin-bottom: 2rem !important
    }

    .mb-md-auto {
        margin-bottom: auto !important
    }

    .ms-md-0 {
        margin-left: 0 !important
    }

    .ms-md-1 {
        margin-left: .25rem !important
    }

    .ms-md-2 {
        margin-left: .5rem !important
    }

    .ms-md-3 {
        margin-left: 1rem !important
    }

    .ms-md-4 {
        margin-left: 1.5rem !important
    }

    .ms-md-5 {
        margin-left: 2rem !important
    }

    .ms-md-auto {
        margin-left: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .p-md-1 {
        padding: .25rem !important
    }

    .p-md-2 {
        padding: .5rem !important
    }

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

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

    .p-md-5 {
        padding: 2rem !important
    }

    .px-md-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

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

    .px-md-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

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

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

    .px-md-5 {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-md-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-md-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-md-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 2rem !important
    }

    .pe-md-0 {
        padding-right: 0 !important
    }

    .pe-md-1 {
        padding-right: .25rem !important
    }

    .pe-md-2 {
        padding-right: .5rem !important
    }

    .pe-md-3 {
        padding-right: 1rem !important
    }

    .pe-md-4 {
        padding-right: 1.5rem !important
    }

    .pe-md-5 {
        padding-right: 2rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 2rem !important
    }

    .ps-md-0 {
        padding-left: 0 !important
    }

    .ps-md-1 {
        padding-left: .25rem !important
    }

    .ps-md-2 {
        padding-left: .5rem !important
    }

    .ps-md-3 {
        padding-left: 1rem !important
    }

    .ps-md-4 {
        padding-left: 1.5rem !important
    }

    .ps-md-5 {
        padding-left: 2rem !important
    }

    .gap-md-0 {
        gap: 0 !important
    }

    .gap-md-1 {
        gap: .25rem !important
    }

    .gap-md-2 {
        gap: .5rem !important
    }

    .gap-md-3 {
        gap: 1rem !important
    }

    .gap-md-4 {
        gap: 1.5rem !important
    }

    .gap-md-5 {
        gap: 2rem !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) {
    .float-lg-start {
        float: left !important
    }

    .float-lg-end {
        float: right !important
    }

    .float-lg-none {
        float: none !important
    }

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

    .d-lg-inline-block {
        display: inline-block !important
    }

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

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

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

    .d-lg-table-row {
        display: table-row !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-fill {
        flex: 1 1 auto !important
    }

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

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

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

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

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

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

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important
    }

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

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

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !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
    }

    .justify-content-lg-around {
        justify-content: space-around !important
    }

    .justify-content-lg-evenly {
        justify-content: space-evenly !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-baseline {
        align-items: baseline !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-around {
        align-content: space-around !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-baseline {
        align-self: baseline !important
    }

    .align-self-lg-stretch {
        align-self: stretch !important
    }

    .order-lg-first {
        order: -1 !important
    }

    .order-lg-0 {
        order: 0 !important
    }

    .order-lg-1 {
        order: 1 !important
    }

    .order-lg-2 {
        order: 2 !important
    }

    .order-lg-3 {
        order: 3 !important
    }

    .order-lg-4 {
        order: 4 !important
    }

    .order-lg-5 {
        order: 5 !important
    }

    .order-lg-last {
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-1 {
        margin: .25rem !important
    }

    .m-lg-2 {
        margin: .5rem !important
    }

    .m-lg-3 {
        margin: 1rem !important
    }

    .m-lg-4 {
        margin: 1.5rem !important
    }

    .m-lg-5 {
        margin: 2rem !important
    }

    .m-lg-auto {
        margin: auto !important
    }

    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-lg-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-lg-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-lg-5 {
        margin-right: 2rem !important;
        margin-left: 2rem !important
    }

    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

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

    .my-lg-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-lg-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-lg-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

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

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

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

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

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

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

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

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

    .me-lg-0 {
        margin-right: 0 !important
    }

    .me-lg-1 {
        margin-right: .25rem !important
    }

    .me-lg-2 {
        margin-right: .5rem !important
    }

    .me-lg-3 {
        margin-right: 1rem !important
    }

    .me-lg-4 {
        margin-right: 1.5rem !important
    }

    .me-lg-5 {
        margin-right: 2rem !important
    }

    .me-lg-auto {
        margin-right: auto !important
    }

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

    .mb-lg-1 {
        margin-bottom: .25rem !important
    }

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-lg-5 {
        margin-bottom: 2rem !important
    }

    .mb-lg-auto {
        margin-bottom: auto !important
    }

    .ms-lg-0 {
        margin-left: 0 !important
    }

    .ms-lg-1 {
        margin-left: .25rem !important
    }

    .ms-lg-2 {
        margin-left: .5rem !important
    }

    .ms-lg-3 {
        margin-left: 1rem !important
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important
    }

    .ms-lg-5 {
        margin-left: 2rem !important
    }

    .ms-lg-auto {
        margin-left: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

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

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

    .p-lg-5 {
        padding: 2rem !important
    }

    .px-lg-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

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

    .px-lg-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

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

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

    .px-lg-5 {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-lg-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-lg-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-lg-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 2rem !important
    }

    .pe-lg-0 {
        padding-right: 0 !important
    }

    .pe-lg-1 {
        padding-right: .25rem !important
    }

    .pe-lg-2 {
        padding-right: .5rem !important
    }

    .pe-lg-3 {
        padding-right: 1rem !important
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important
    }

    .pe-lg-5 {
        padding-right: 2rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 2rem !important
    }

    .ps-lg-0 {
        padding-left: 0 !important
    }

    .ps-lg-1 {
        padding-left: .25rem !important
    }

    .ps-lg-2 {
        padding-left: .5rem !important
    }

    .ps-lg-3 {
        padding-left: 1rem !important
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important
    }

    .ps-lg-5 {
        padding-left: 2rem !important
    }

    .gap-lg-0 {
        gap: 0 !important
    }

    .gap-lg-1 {
        gap: .25rem !important
    }

    .gap-lg-2 {
        gap: .5rem !important
    }

    .gap-lg-3 {
        gap: 1rem !important
    }

    .gap-lg-4 {
        gap: 1.5rem !important
    }

    .gap-lg-5 {
        gap: 2rem !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) {
    .float-xl-start {
        float: left !important
    }

    .float-xl-end {
        float: right !important
    }

    .float-xl-none {
        float: none !important
    }

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

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-grid {
        display: grid !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !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-fill {
        flex: 1 1 auto !important
    }

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

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

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

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

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

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

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important
    }

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

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

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !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
    }

    .justify-content-xl-around {
        justify-content: space-around !important
    }

    .justify-content-xl-evenly {
        justify-content: space-evenly !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-baseline {
        align-items: baseline !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-around {
        align-content: space-around !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-baseline {
        align-self: baseline !important
    }

    .align-self-xl-stretch {
        align-self: stretch !important
    }

    .order-xl-first {
        order: -1 !important
    }

    .order-xl-0 {
        order: 0 !important
    }

    .order-xl-1 {
        order: 1 !important
    }

    .order-xl-2 {
        order: 2 !important
    }

    .order-xl-3 {
        order: 3 !important
    }

    .order-xl-4 {
        order: 4 !important
    }

    .order-xl-5 {
        order: 5 !important
    }

    .order-xl-last {
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-1 {
        margin: .25rem !important
    }

    .m-xl-2 {
        margin: .5rem !important
    }

    .m-xl-3 {
        margin: 1rem !important
    }

    .m-xl-4 {
        margin: 1.5rem !important
    }

    .m-xl-5 {
        margin: 2rem !important
    }

    .m-xl-auto {
        margin: auto !important
    }

    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xl-5 {
        margin-right: 2rem !important;
        margin-left: 2rem !important
    }

    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

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

    .my-xl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xl-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

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

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

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

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

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

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

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

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

    .me-xl-0 {
        margin-right: 0 !important
    }

    .me-xl-1 {
        margin-right: .25rem !important
    }

    .me-xl-2 {
        margin-right: .5rem !important
    }

    .me-xl-3 {
        margin-right: 1rem !important
    }

    .me-xl-4 {
        margin-right: 1.5rem !important
    }

    .me-xl-5 {
        margin-right: 2rem !important
    }

    .me-xl-auto {
        margin-right: auto !important
    }

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

    .mb-xl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xl-5 {
        margin-bottom: 2rem !important
    }

    .mb-xl-auto {
        margin-bottom: auto !important
    }

    .ms-xl-0 {
        margin-left: 0 !important
    }

    .ms-xl-1 {
        margin-left: .25rem !important
    }

    .ms-xl-2 {
        margin-left: .5rem !important
    }

    .ms-xl-3 {
        margin-left: 1rem !important
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xl-5 {
        margin-left: 2rem !important
    }

    .ms-xl-auto {
        margin-left: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .p-xl-1 {
        padding: .25rem !important
    }

    .p-xl-2 {
        padding: .5rem !important
    }

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

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

    .p-xl-5 {
        padding: 2rem !important
    }

    .px-xl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

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

    .px-xl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

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

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

    .px-xl-5 {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xl-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-xl-0 {
        padding-top: 0 !important
    }

    .pt-xl-1 {
        padding-top: .25rem !important
    }

    .pt-xl-2 {
        padding-top: .5rem !important
    }

    .pt-xl-3 {
        padding-top: 1rem !important
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xl-5 {
        padding-top: 2rem !important
    }

    .pe-xl-0 {
        padding-right: 0 !important
    }

    .pe-xl-1 {
        padding-right: .25rem !important
    }

    .pe-xl-2 {
        padding-right: .5rem !important
    }

    .pe-xl-3 {
        padding-right: 1rem !important
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xl-5 {
        padding-right: 2rem !important
    }

    .pb-xl-0 {
        padding-bottom: 0 !important
    }

    .pb-xl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xl-5 {
        padding-bottom: 2rem !important
    }

    .ps-xl-0 {
        padding-left: 0 !important
    }

    .ps-xl-1 {
        padding-left: .25rem !important
    }

    .ps-xl-2 {
        padding-left: .5rem !important
    }

    .ps-xl-3 {
        padding-left: 1rem !important
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xl-5 {
        padding-left: 2rem !important
    }

    .gap-xl-0 {
        gap: 0 !important
    }

    .gap-xl-1 {
        gap: .25rem !important
    }

    .gap-xl-2 {
        gap: .5rem !important
    }

    .gap-xl-3 {
        gap: 1rem !important
    }

    .gap-xl-4 {
        gap: 1.5rem !important
    }

    .gap-xl-5 {
        gap: 2rem !important
    }

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

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

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

@media(min-width: 1400px) {
    .float-xxl-start {
        float: left !important
    }

    .float-xxl-end {
        float: right !important
    }

    .float-xxl-none {
        float: none !important
    }

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

    .d-xxl-inline-block {
        display: inline-block !important
    }

    .d-xxl-block {
        display: block !important
    }

    .d-xxl-grid {
        display: grid !important
    }

    .d-xxl-table {
        display: table !important
    }

    .d-xxl-table-row {
        display: table-row !important
    }

    .d-xxl-table-cell {
        display: table-cell !important
    }

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

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

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

    .flex-xxl-fill {
        flex: 1 1 auto !important
    }

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

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

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

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

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

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

    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important
    }

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

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

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

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

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

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

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

    .justify-content-xxl-around {
        justify-content: space-around !important
    }

    .justify-content-xxl-evenly {
        justify-content: space-evenly !important
    }

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

    .align-items-xxl-end {
        align-items: flex-end !important
    }

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

    .align-items-xxl-baseline {
        align-items: baseline !important
    }

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

    .align-content-xxl-start {
        align-content: flex-start !important
    }

    .align-content-xxl-end {
        align-content: flex-end !important
    }

    .align-content-xxl-center {
        align-content: center !important
    }

    .align-content-xxl-between {
        align-content: space-between !important
    }

    .align-content-xxl-around {
        align-content: space-around !important
    }

    .align-content-xxl-stretch {
        align-content: stretch !important
    }

    .align-self-xxl-auto {
        align-self: auto !important
    }

    .align-self-xxl-start {
        align-self: flex-start !important
    }

    .align-self-xxl-end {
        align-self: flex-end !important
    }

    .align-self-xxl-center {
        align-self: center !important
    }

    .align-self-xxl-baseline {
        align-self: baseline !important
    }

    .align-self-xxl-stretch {
        align-self: stretch !important
    }

    .order-xxl-first {
        order: -1 !important
    }

    .order-xxl-0 {
        order: 0 !important
    }

    .order-xxl-1 {
        order: 1 !important
    }

    .order-xxl-2 {
        order: 2 !important
    }

    .order-xxl-3 {
        order: 3 !important
    }

    .order-xxl-4 {
        order: 4 !important
    }

    .order-xxl-5 {
        order: 5 !important
    }

    .order-xxl-last {
        order: 6 !important
    }

    .m-xxl-0 {
        margin: 0 !important
    }

    .m-xxl-1 {
        margin: .25rem !important
    }

    .m-xxl-2 {
        margin: .5rem !important
    }

    .m-xxl-3 {
        margin: 1rem !important
    }

    .m-xxl-4 {
        margin: 1.5rem !important
    }

    .m-xxl-5 {
        margin: 2rem !important
    }

    .m-xxl-auto {
        margin: auto !important
    }

    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xxl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xxl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xxl-5 {
        margin-right: 2rem !important;
        margin-left: 2rem !important
    }

    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

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

    .my-xxl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xxl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xxl-5 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

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

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

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

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

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

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

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

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

    .me-xxl-0 {
        margin-right: 0 !important
    }

    .me-xxl-1 {
        margin-right: .25rem !important
    }

    .me-xxl-2 {
        margin-right: .5rem !important
    }

    .me-xxl-3 {
        margin-right: 1rem !important
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important
    }

    .me-xxl-5 {
        margin-right: 2rem !important
    }

    .me-xxl-auto {
        margin-right: auto !important
    }

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

    .mb-xxl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xxl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xxl-5 {
        margin-bottom: 2rem !important
    }

    .mb-xxl-auto {
        margin-bottom: auto !important
    }

    .ms-xxl-0 {
        margin-left: 0 !important
    }

    .ms-xxl-1 {
        margin-left: .25rem !important
    }

    .ms-xxl-2 {
        margin-left: .5rem !important
    }

    .ms-xxl-3 {
        margin-left: 1rem !important
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xxl-5 {
        margin-left: 2rem !important
    }

    .ms-xxl-auto {
        margin-left: auto !important
    }

    .p-xxl-0 {
        padding: 0 !important
    }

    .p-xxl-1 {
        padding: .25rem !important
    }

    .p-xxl-2 {
        padding: .5rem !important
    }

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

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

    .p-xxl-5 {
        padding: 2rem !important
    }

    .px-xxl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

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

    .px-xxl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

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

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

    .px-xxl-5 {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xxl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xxl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xxl-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-xxl-0 {
        padding-top: 0 !important
    }

    .pt-xxl-1 {
        padding-top: .25rem !important
    }

    .pt-xxl-2 {
        padding-top: .5rem !important
    }

    .pt-xxl-3 {
        padding-top: 1rem !important
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xxl-5 {
        padding-top: 2rem !important
    }

    .pe-xxl-0 {
        padding-right: 0 !important
    }

    .pe-xxl-1 {
        padding-right: .25rem !important
    }

    .pe-xxl-2 {
        padding-right: .5rem !important
    }

    .pe-xxl-3 {
        padding-right: 1rem !important
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xxl-5 {
        padding-right: 2rem !important
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important
    }

    .pb-xxl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xxl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xxl-5 {
        padding-bottom: 2rem !important
    }

    .ps-xxl-0 {
        padding-left: 0 !important
    }

    .ps-xxl-1 {
        padding-left: .25rem !important
    }

    .ps-xxl-2 {
        padding-left: .5rem !important
    }

    .ps-xxl-3 {
        padding-left: 1rem !important
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xxl-5 {
        padding-left: 2rem !important
    }

    .gap-xxl-0 {
        gap: 0 !important
    }

    .gap-xxl-1 {
        gap: .25rem !important
    }

    .gap-xxl-2 {
        gap: .5rem !important
    }

    .gap-xxl-3 {
        gap: 1rem !important
    }

    .gap-xxl-4 {
        gap: 1.5rem !important
    }

    .gap-xxl-5 {
        gap: 2rem !important
    }

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

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

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

@media(min-width: 2400px) {
    .fs-1 {
        font-size: 2.5rem !important
    }

    .fs-2 {
        font-size: 2rem !important
    }

    .fs-3 {
        font-size: 1.75rem !important
    }

    .fs-4 {
        font-size: 1.5rem !important
    }
}

@media print {
    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-grid {
        display: grid !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

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

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

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

.loaderText {
    opacity: 0
}

.loading-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 500;
    pointer-events: none
}

@media(max-width: 767.98px) {
    .awards-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 30px
    }
}

[awards-heading], [awards-list] li {
    opacity: 0;
    transform: translateY(30px)
}

body {
    overscroll-behavior-x: none;
    overflow-x: clip;
    background: #121212;
    transition: background-color .4s linear 0s
}

a {
    text-underline-position: under
}

.flex-grow-2 {
    flex-grow: 2
}

.flex-grow-3 {
    flex-grow: 3
}

.flex-grow-4 {
    flex-grow: 4
}

main {
    min-height: 100vh
}

:root {
    --gutter-outer: 6vw;
    --gutter-y: 80px
}

@media(min-width: 768px) {
    :root {
        --gutter-outer: 50px;
        --gutter-y: 100px
    }
}

@media(min-width: 1400px) {
    :root {
        --gutter-outer: 80px
    }
}

.container {
    padding-left: var(--gutter-outer);
    padding-right: var(--gutter-outer)
}

section {
    padding-top: var(--gutter-y);
    padding-bottom: var(--gutter-y)
}

.grid-outer, .grid-inner {
    grid-column: auto/span 12
}

@media(min-width: 992px) {
    .grid-inner {
        grid-column: auto/span 10;
        grid-column-start: 2
    }
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.split-chars .word {
    overflow: hidden;
    padding-bottom: .1em;
    margin-bottom: -0.1em;
    transform-origin: bottom
}

.split-chars .single-word {
    overflow: hidden
}

.noise {
    animation: grain 6s steps(10) infinite;
    background-image: url(../img/grain.png);
    background-repeat: repeat;
    height: 300%;
    left: -100%;
    opacity: .03;
    pointer-events: none;
    position: fixed;
    top: -100%;
    transition: opacity .4s ease;
    width: 300%;
    will-change: transform;
    z-index: 2
}

@keyframes grain {
    0% {
        transform: translate(20%, -15%)
    }

    10% {
        transform: translate(-20%, -15%)
    }

    20% {
        transform: translate(20%, -5%)
    }

    30% {
        transform: translate(-20%, -5%)
    }

    40% {
        transform: translate(20%, 5%)
    }

    50% {
        transform: translate(-20%, 5%)
    }

    60% {
        transform: translate(20%, 15%)
    }

    70% {
        transform: translate(-20%, 15%)
    }

    80% {
        transform: translate(20%, 5%)
    }

    90% {
        transform: translate(-20%, 5%)
    }

    100% {
        transform: translate(20%, -5%)
    }
}

.image-cover {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.image-cover img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center
}

@keyframes scrollIndicator {
    0% {
        transform: translate3d(-102%, 0, 0)
    }

    69.9% {
        transform: translate3d(102%, 0, 0)
    }

    70% {
        transform: translate3d(-102%, 0, 0)
    }

    to {
        transform: translate3d(-102%, 0, 0)
    }
}

.c-scroll-indicator {
    position: absolute;
    right: 32px;
    bottom: 40px;
    display: flex;
    align-items: center;
    z-index: 3;
    transition-delay: 0s, .3s, .3s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity .4s
}

.c-scroll-indicator_value {
    display: inline-block;
    width: 36px;
    height: 2px;
    background-color: rgba(0, 0, 0, .1);
    position: relative;
    top: 2px;
    overflow: hidden;
    margin-left: 10px
}

.c-scroll-indicator_value span {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: #000;
    animation: scrollIndicator 1.4s cubic-bezier(0.645, 0.045, 0.355, 1) infinite
}

.scrolled {
    opacity: 0
}

@media(max-width: 1024px) {
    .c-scroll-indicator {
        display: none
    }
}

.panel-cta a {
    font-weight: 600
}

@media(min-width: 992px) {
    .touchevents .c-scroll-indicator .desktop {
        display: none
    }

    .no-touchevents .c-scroll-indicator .mobile {
        display: none
    }

    .horizontal-container.flickity-enabled {
        display: block
    }

    .touchevents .horizontal-container-wrapper {
        display: block
    }

    .touchevents .panel-featured {
        height: 100vh;
        width: calc(50vw - 4vh)
    }

    .touchevents .panel-meta {
        width: 50vw
    }

    .touchevents .panel-full {
        min-width: 159vh;
        width: 159vh
    }

    .touchevents .panel-half {
        min-width: 79vh;
        width: 79vh
    }

    .touchevents .panel-quarter {
        min-width: 80vh;
        width: 80vh
    }

    .touchevents .panel-content {
        width: calc(800px + 10vw)
    }

    .touchevents .panel-full .panel-image {
        height: 100vh
    }

    .touchevents .panel-half .panel-image {
        height: 100vh
    }

    .touchevents .panel-quarter .panel-image {
        height: 48vh
    }

    .touchevents .panel {
        height: 100vh
    }

    .touchevents .horizontal-container-wrapper {
        height: 100vh
    }

    .touchevents .horizontal-container {
        height: 100vh
    }

    .touchevents .panel-quarter .panel-image {
        height: calc(50vh - 15px)
    }

    .touchevents .container-2 {
        padding-top: 30px
    }

    .horizontal-container, .horizontal-container-wrapper {
        display: flex;
        flex-wrap: nowrap;
        will-change: transform;
        position: relative;
        height: 100vh
    }

    .panel {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        align-content: center;
        justify-content: center;
        overflow: hidden;
        z-index: 2;
        flex: auto;
        padding-left: var(--gutter-outer);
        padding-right: var(--gutter-outer);
        height: 100%
    }

    .panel_item {
        height: 100%;
        width: 100%;
        display: flex
    }

    .panel-featured {
        min-width: calc(50vw - 4vh)
    }

    .panel-meta {
        min-width: calc(50vw - 2vh)
    }

    .panel-half {
        min-width: 79.6vh
    }

    .panel-quarter {
        min-width: 79.6vh
    }

    .panel-content {
        min-width: calc(800px + 10vw)
    }

    .panel-image {
        margin-right: 4vh
    }

    .panel-full .panel-image {
        height: 100vh
    }

    .panel-half .panel-image {
        height: 100vh
    }

    .panel-quarter .panel-image {
        height: 48vh
    }

    .panel-cta {
        min-width: calc(300px + 10vw)
    }

    .panel-cta a {
        padding: 150px 40px;
        margin-right: 50px
    }

    .panel-cta a:hover strong:after {
        transform: rotate(-180deg)
    }

    .panel-cta a span {
        transition: transform .4s
    }

    .panel-cta a:hover span {
        text-decoration: underline;
        text-underline-position: under
    }

    .panel-cta a svg {
        margin-left: 10px;
        transition: transform .6s
    }

    .panel-cta a:hover svg {
        margin-left: 10px;
        transform: translateX(5px)
    }

    .footer-work {
        display: none
    }

    .panel-cta a .h4 {
        transition: border-color .4s;
        display: inline;
        border-bottom: 2px solid rgba(0, 0, 0, 0)
    }

    .panel-cta a:hover .h4 {
        border-color: #000
    }

    .horizontal-content {
        width: 100vw
    }

    .horizontal-content-inner {
        width: 80%;
        max-width: 1400px;
        max-width: 0 auto
    }

    .cta-container {
        position: fixed;
        z-index: 1;
        flex: none;
        height: 100%;
        right: 0;
        top: 0;
        padding: 0
    }

    .cta-inner {
        display: flex;
        align-items: center;
        height: 100%
    }
}

@media(max-width: 991.98px) {
    .horizontal-container-wrapper {
        overflow-x: clip
    }

    .horizontal-container {
        display: flex;
        flex-direction: column;
        padding: 0;
        position: relative
    }

    .panel {
        padding: calc(var(--gutter-outer)*.5) var(--gutter-outer)
    }

    .panel:first-child {
        padding-top: var(--gutter-y)
    }

    .panel-featured {
        order: 2;
        margin-bottom: 4vh
    }

    .panel-featured .image-cover {
        position: relative
    }

    .panel-image {
        width: 100%;
        margin-bottom: 4vh
    }

    .panel-image img {
        max-width: 100%;
        width: 100%;
        height: auto
    }

    .panel-content .nav-spacer {
        display: none
    }

    .cta-container {
        position: fixed;
        z-index: 1;
        flex: none;
        height: 100%;
        right: 0;
        bottom: 0;
        top: 0;
        padding: 0;
        width: 100% !important;
        max-width: 100%;
        display: flex;
        align-items: center
    }

    .cta-inner {
        display: flex;
        align-items: center;
        width: 100%
    }

    .cta-container .project-item {
        width: 100%;
        padding: var(--gutter-outer)
    }

    .cta-container .project-image-container {
        width: 100%
    }

    .cta-container .project-image-container img {
        max-width: 100%;
        height: auto;
        height: 100%
    }

    .cta-container-mobile {
        height: 100vh
    }
}

.panel-image {
    pointer-events: none
}

:root {
    --nav-height: 150px;
    --menu-button-height: 52px;
    --menu-button-width: 120px
}

@media(min-width: 768px) {
    :root {
        --nav-height: 150px;
        --menu-button-height: 60px
    }
}

.menu-left {
    height: var(--gutter-y);
    display: flex;
    align-items: center
}

.logo {
    top: 0;
    z-index: 99;
    pointer-events: auto
}

.logo a {
    display: flex;
    width: var(--menu-button-width);
    height: var(--menu-button-height);
    padding: 10px 16px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .21);
    background-color: rgba(17, 17, 17, .5);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: background-color .4s, color .4s
}

.logo a:hover {
    background-color: rgba(17, 17, 17, .7)
}

.logo svg {
    display: block
}

:root {
    --nav-height: 100px
}

@media(min-width: 576px) {
    :root {
        --nav-height: 140px
    }
}

.spacer {
    height: var(--nav-height)
}

.nav-holder {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    right: 0
}

.menu-wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%
}

@media(min-width: 768px) {
    .menu-wrapper {
        position: relative
    }
}

@media(min-width: 768px) {
    .menu-wrapper {
        max-width: 350px
    }
}

.menu-container {
    cursor: pointer;
    position: relative;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 30px;
    color: #fff;
    transition: background-color .4s, color .4s;
    pointer-events: auto;
    width: var(--menu-button-width);
    height: var(--menu-button-height);
    padding: 24px 16px;
    flex-shrink: 0;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .21);
    background-color: rgba(17, 17, 17, .5);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px)
}

.menu-container:hover {
    background-color: rgba(17, 17, 17, .7)
}

.menu-container:before, .logo a:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    transition: opacity .4s ease;
    background-image: url(../img/mask-2.svg);
    background-position: bottom center;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0
}

.menu-container:hover:before, .logo a:hover:before {
    opacity: 1
}

.menu-text {
    color: var(--bs-body-bg);
    text-align: right;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    top: -1px;
    height: 18px;
    line-height: 18px;
    overflow: hidden;
    padding-right: 10px;
    perspective: 700px;
    transition: color .6s ease, letter-spacing .6s ease 0s
}

.menu-container:hover .menu-opener span:nth-child(2) {
    transform: scaleX(0.7)
}

.menu-container .word {
    right: 0;
    height: 18px;
    line-height: 18px;
    white-space: nowrap;
    display: block
}

.menu-container .letter {
    display: inline-block;
    line-height: 1em
}

.menu-opener {
    display: block;
    right: 0;
    margin-left: 0;
    position: relative;
    cursor: pointer;
    z-index: 999
}

.menu-opener svg {
    display: block
}

.menu-opener path {
    transition: transform .6s ease 0s, opacity .2s ease;
    will-change: transform, opacity
}

.body-menu-opened .menu-opener .burger-path-center {
    transform: translateY(-8px) rotate(0.00001deg);
    opacity: 0
}

.menu-opener .burger-path-left {
    transform: translateX(-4px) rotate(0.00001deg);
    opacity: 0
}

.menu-opener .burger-path-right {
    transform: translateX(4px) rotate(0.00001deg);
    opacity: 0
}

.body-menu-opened .menu-opener .burger-path-left, .body-menu-opened .menu-opener .burger-path-right {
    transform: translateX(0);
    opacity: 1
}

.nav-overlay {
    position: fixed;
    z-index: 8;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, .6);
    opacity: .5;
    opacity: 0;
    transition: opacity .4s 0s linear;
    cursor: pointer;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    pointer-events: none
}

.body-menu-opened .nav-overlay {
    opacity: 1;
    transition: opacity .4s;
    pointer-events: auto
}

.menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    color: #fff;
    transition: opacity .4s ease 0s;
    opacity: 0;
    pointer-events: none;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(0, 0, 0, .6);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px)
}

.body-menu-opened .menu {
    opacity: 1;
    transition: opacity .4s ease 0s;
    pointer-events: auto
}

.body-menu-opened .nav-outer {
    pointer-events: auto
}

.menu-link a {
    font-size: 20px;
    text-decoration: none;
    color: rgba(255, 255, 255, .74);
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
    font-weight: 500;
    transition: background-color .3s, color .3s;
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.menu-link a, .menu-item {
    padding: 12px 15px
}

.menu-item-last {
    padding: 10px 15px 15px 15px
}

.menu-grid a:hover {
    color: #fff
}

@media(max-width: 991.98px) {
    .menu-grid a {
        font-size: 16px
    }
}

@media(max-width: 575.98px) {
    .menu-grid a {
        font-size: 14px
    }
}

.current-menu-item a {
    position: relative;
    pointer-events: none;
    cursor: no-drop
}

.current-menu-item a::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 14px;
    height: 5px;
    width: 5px;
    border-radius: 10px;
    background-color: currentColor;
    animation: blink 2s infinite 2s
}

.current-menu-item a::after {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    height: 5px;
    width: 5px;
    border-radius: 10px;
    background-color: currentColor;
    background-color: #00ace6;
    transition: background-color .3s .3s;
    animation: blink 2.5s infinite 2s
}

.current-menu-item a {
    color: rgba(255, 255, 255, .5)
}

@keyframes blink {
    0%, 80%, 100% {
        opacity: 0
    }

    40%, 60% {
        opacity: 1
    }
}

@media(min-width: 992px) {
    .progress {
        position: fixed;
        bottom: calc(var(--gutter-y)/2);
        right: var(--gutter-outer);
        left: var(--gutter-outer);
        z-index: 8;
        background-color: rgba(255, 255, 255, .1);
        height: 1px
    }

    .progress-bar {
        background-color: rgba(255, 255, 255, .4);
        height: 1px;
        width: 0
    }
}

.font-wide-black {
    font-family: "Canela-Bold", sans-serif !important;
    font-weight: 900 !important
}

.lead {
    line-height: 1.35;
    margin-bottom: calc(1.2875rem + 0.475vw)
}

@media(min-width: 2400px) {
    .lead {
        margin-bottom: 2rem
    }
}

h1, .h1 {
    line-height: .95
}

h2, .h2 {
    margin-bottom: calc(1.3375rem + 1.1083333333vw)
}

@media(min-width: 2400px) {
    h2, .h2 {
        margin-bottom: 3rem
    }
}

blockquote {
    display: block;
    font-size: 1.25rem;
    line-height: 1.2;
    font-style: italic;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding: 1.5em;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 4px
}

.fss-4 {
    font-size: calc(1.28125rem + 0.3958333333vw);
    line-height: 1.1
}

@media(min-width: 2400px) {
    .fss-4 {
        font-size: 1.875rem
    }
}

.fss-5 {
    font-size: 16px;
    line-height: 1.1
}

@media(min-width: 1200px) {
    .fss-5 {
        font-size: 1.25rem;
        line-height: 1.1
    }
}

.display-1 sup {
    transform: translateY(-50%) translateX(10px);
    display: inline-block
}

.btn {
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #fff;
    border-radius: 6px;
    padding: 20px 30px;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700;
    transform: translateZ(0);
    box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .21) inset;
    border-radius: 5px;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    height: var(--menu-button-height);
    transition: background-color .4s, transform .4s
}

@media(min-width: 1400px) {
    .btn.wide {
        padding-left: 50px;
        padding-right: 50px
    }
}

.btn:hover {
    transform: scaleX(1.02);
    transition: transform .6s var(--transform-back-2)
}

.btn strong {
    font-weight: 700
}

.btn em {
    margin-left: 6px;
    position: relative
}

.btn.sm {
    padding: 15px 25px;
    font-size: 14px
}

.btn.xsm {
    padding: 11px 16px;
    font-size: 14px;
    height: 38px
}
.btn.btn-full{
    width: 100%
}

.btn strong {
    overflow: hidden;
    display: block;
    line-height: 1
}

.btn span {
    position: relative;
    z-index: 1;
    display: inline-block;
    top: 0;
    transition: transform .4s
}

.btn:hover span {
    animation-name: flipPappa;
    animation-duration: .6s;
    animation-timing-function: ease;
    animation-timing-function: var(--transform-back)
}

@keyframes flipPappa {
    0%, to {
        transform: translateY(0)
    }

    99% {
        transform: translateY(-100%)
    }

    99.0001% {
        transform: translateY(0)
    }
}

.btn span:after {
    color: #fff;
    transition: all .3s;
    position: absolute;
    mix-blend-mode: difference;
    top: 100%;
    left: 0;
    content: attr(data-hover);
    transform: translateY(0)
}

.button-fill {
    background-image: url(../img/mask-2.svg);
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: translateY(0%);
    transform-origin: top;
    background-position: center;
}


.ghost {
    background: rgba(17, 17, 17, .59)
}

.ghost:hover {
    color: #fff
}

.ghost .button-fill {
    transform: translateY(100%)
}

.ghost:hover .button-fill {
    animation-name: flipPappa4;
    animation-duration: .4s;
    animation-timing-function: ease;
    animation-fill-mode: forwards
}

@keyframes flipPappa4 {
    0%, to {
        transform: translateY(100%)
    }

    99.9999% {
        transform: translateY(0%)
    }

    100% {
        transform: translateY(0%)
    }
}

.ghost.btn-hover-off .button-fill {
    animation-name: flipPappa5;
    animation-duration: .4s;
    animation-timing-function: ease;
    animation-fill-mode: forwards
}

@keyframes flipPappa5 {
    0%, to {
        transform: translateY(0%)
    }

    99.9999% {
        transform: translateY(100%)
    }

    100% {
        transform: translateY(100%)
    }
}

.fancy-link {
    text-decoration: none;
    display: flex;
    align-items: center
}

.fancy-link [data-hover] {
    position: relative;
    transition: transform .4s ease;
    display: inline-block
}

.fancy-link [data-hover]:before {
    position: absolute;
    top: 100%;
    content: attr(data-hover);
    transform: translate3d(0, 0, 0) rotate(6deg);
    transform-origin: top left;
    transition: transform .4s ease, opacity .4s ease;
    opacity: 0
}

.fancy-link:hover [data-hover] {
    transform: translateY(-100%)
}

.fancy-link:hover [data-hover]:before {
    transform: translate3d(0, 0, 0) rotate(0);
    opacity: 1
}

.link-underline {
    position: relative;
    color: #fff !important;
    text-decoration: none;
    background-image: linear-gradient(white, white);
    background-repeat: no-repeat;
    background-position: bottom 2px right;
    background-size: 0% 2px;
    transition: background-size .4s ease-in-out
}

.link-underline:hover {
    background-size: 100% 3px;
    color: inherit;
    background-position: bottom 2px left
}

.link-underline-2 {
    position: relative;
    color: #fff !important;
    text-decoration: none;
    background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5));
    background-repeat: no-repeat;
    background-position: bottom 0px left;
    background-size: 100% 1px;
    transition: background-size .2s ease-in-out
}

.link-underline-2:hover {
    background-size: 0% 1px;
    color: inherit;
    background-position: bottom 0px right
}

.link-underline-fancy {
    display: inline;
    background-size: 0% 4px;
    transition: background-size .4s;
    background-position: bottom 2px right;
    background-image: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 255, 255))
}

.link-underline-fancy:hover {
    background-size: 100% 4px;
    background-position: bottom 2px left
}

.wrapper-infinite {
    height: 100vh;
    width: 100%;
    overflow: hidden;
    opacity: 0
}

.container-infinite {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: -moz-max-content;
    width: max-content;
    will-change: transform;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: center center;
    transform: scale(0.55);
    opacity: .2
}

.content-infinite {
    position: relative;
    display: grid;
    width: -moz-max-content;
    width: max-content;
    grid-template-columns: repeat(5, 1fr);
    gap: 10vw;
    padding: 5vw
}

.wrapper-infinite .media {
    width: 10vw;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    position: relative
}

.wrapper-infinite .media:hover {
    z-index: 1
}

.wrapper-infinite .media a {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none
}

.wrapper-infinite .media img, .wrapper-infinite .media video {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none
}

@media(max-width: 991.98px) {
    .content-infinite {
        gap: 14vw;
        padding: 7vw
    }

    .project-image-container {
        aspect-ratio: 1/1.16 !important
    }

    .wrapper-infinite .media {
        width: 25vw
    }
}

@media(max-width: 767.98px) {
    .project-image-container {
        aspect-ratio: 1/1 !important
    }

    .wrapper-infinite .media {
        width: 40vw
    }
}

.wrapper-infinite {
    transition: filter .4s ease
}

.disable-pointer-events {
    cursor: grab;
    filter: brightness(0.5)
}

.disable-pointer-events * {
    pointer-events: none
}

.project-item {
    display: flex
}

.project-item:nth-child(odd) {
    transform: translateY(-60%)
}

.project-block {
    position: relative;
    width: 100%;
    color: #fff;
    text-decoration: none;
    transition: opacity .3s ease 0s, transform .3s ease 0s
}

.project-block:hover {
    color: #fff
}

.container-infinite.hovered .project-block:hover {
    opacity: 1;
    transform: scale(1)
}

.project-image-container {
    position: relative;
    margin: auto 0;
    max-height: 100%;
    height: 100%;
    aspect-ratio: 1/1.56;
    transform-origin: center;
    overflow: hidden;
    border-radius: 6px
}

.wrapper-infinite .project-image-container {
    overflow: visible
}

.wrapper-infinite .project-image-container img, .wrapper-infinite .project-image-container video {
    border-radius: 6px
}

.wrapper-infinite .project-block .project-image-container:after, .purple-hover:after {
    content: "";
    position: absolute;
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    background-color: #7724e2;
    box-shadow: 5px 5px 25px 25px #7724e2;
    margin: auto;
    inset: 0;
    z-index: -1;
    opacity: 0;
    transform: rotate(-1deg);
    transition: opacity .6s ease
}

.wrapper-infinite .project-block:hover .project-image-container:after, a:hover .purple-hover:after {
    opacity: 1;
    transition: opacity .6s ease
}

.project-info {
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    width: calc(100% + 60px)
}

.touchevents .project-info {
    position: static;
    padding-top: 10px;
    height: auto
}

@media(min-width: 992px) {
    .no-touchevents .project-info {
        opacity: 0;
        transition: opacity .3s ease;
        transform-origin: top
    }

    .project-block:hover .project-info {
        opacity: 1;
        transition: opacity .3s ease;
        transform-origin: bottom
    }
}

[data-href] {
    cursor: pointer
}

.is-pointer [data-href] {
    pointer-events: none
}

.project-info span {
    opacity: .7;
    font-weight: 300;
    font-size: 15px;
    display: inline-block;
    line-height: 1.2;
    min-width: 200px;
    padding-top: 8px
}

.project-info h2, .project-info .h2 {
    margin-bottom: 0;
    line-height: 1;
    min-width: 200px;
    order: -1
}

.img-fill {
    position: absolute;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none;
    scale: 1.001
}

.animateScale {
    will-change: transform
}

@media(max-width: 575.98px) {
    .project-item {
        margin: 30px 10px 0px 5px
    }

    .wrapper-infinite .project-image-container {
        overflow: hidden
    }

    .project-block {
        margin: 0
    }

    .project-info span {
        font-size: 11px
    }

    .project-info .h6 {
        font-size: 16px;
        font-weight: 400
    }

    .project-info .lh-sm {
        line-height: .8 !important
    }
}

.preloader-active * {
    pointer-events: none !important
}

.mygridAnimation {
    display: grid;
    grid-auto-flow: column;
    z-index: 7;
    inset: 0;
    max-height: 100vh
}

@media(max-width: 991.98px) {
    .project-image-container {
        max-width: 100%
    }

    .project-image-container img {
        max-width: 100%;
        height: auto
    }

    .endContainer {
        display: block !important
    }

    .mygridAnimation {
        display: block;
        height: auto
    }
}

.anim-nav {
    transition: opacity .5s ease;
    opacity: 0
}

.loader-gone .anim-nav {
    opacity: 1
}

.place-content-center {
    place-content: center
}

.inset-0 {
    inset: 0
}

.no-translate {
    transform: none !important
}

.z-1 {
    z-index: 1
}

.z-2 {
    z-index: 2
}

.pe-auto {
    pointer-events: auto !important
}

.cursor-pointer {
    cursor: pointer
}

.fw-medium {
    font-weight: 500 !important
}

.bg-cover {
    background-size: cover
}

.white-after {
    position: relative
}

.white-after::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%;
    background-color: #fff
}

.contain {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
    height: 100%
}

.has-aspect-ratio>img, .has-aspect-ratio>video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important
}

@media(min-width: 992px) {
    .min-vh-lg-auto {
        min-height: auto !important
    }
}

.min-vh-300 {
    min-height: 300vh
}

.overflow-clip {
    overflow: clip
}

.clip-it {
    -webkit-clip-path: inset(1px 1px 1px 1px);
    clip-path: inset(1px 1px 1px 1px)
}

@media(min-width: 992px) {
    .scrub-minus {
        margin-top: -100vh;
        position: relative
    }

    .min-vh-lg-300 {
        min-height: 300vh
    }

    .min-vh-lg-500 {
        min-height: 500vh
    }

    .min-vh-lg-400 {
        min-height: 400vh
    }

    .min-vh-lg-200 {
        min-height: 200vh
    }

    .min-vh-lg-100 {
        min-height: 100vh
    }

    .vh-lg-100 {
        height: 100vh
    }

    .min-vh-lg-50 {
        height: 50vh
    }

    .scrub-minus {
        margin-top: -100vh;
        position: relative
    }

    .position-lg-sticky {
        position: sticky
    }
}

@media(max-width: 991.98px) {
    .pb-0-lg-down {
        padding-bottom: 0 !important
    }

    .pt-0-lg-down {
        padding-top: 0 !important
    }
}

.svg-image {
    position: absolute;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: none;
    pointer-events: none
}

.aspect-ratio-wide {
    aspect-ratio: 1.4/1
}

.aspect-ratio-1 {
    aspect-ratio: 1
}

.aspect-ratio-1-2 {
    aspect-ratio: 1/2
}

.aspect-ratio-video {
    aspect-ratio: 16/9;
    max-height: calc(100vh - var(--gutter-y)*2)
}

/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing
}

.flickity-button {
    position: absolute;
    background: #000;
    border: none;
    color: #fff;
    transform-origin: center;
    transition: background-color .4s
}

.flickity-button:hover {
    background: var(--color-purple);
    cursor: pointer
}

.flickity-button:focus {
    outline: none;
    box-shadow: none
}

.flickity-button:disabled {
    opacity: .3;
    cursor: auto;
    pointer-events: none
}

.flickity-button-icon {
    fill: currentColor
}

.flickity-prev-next-button {
    top: 45%;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.flickity-prev-next-button.previous {
    left: 20px
}

.flickity-prev-next-button.next {
    right: 20px
}

.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 32%;
    top: 20%;
    width: 60%;
    height: 60%;
    width: 15px
}

.flickity-page-dots {
    width: 100%;
    padding: 0;
    margin: 20px 0 0 0;
    list-style: none;
    text-align: center;
    line-height: 1
}

.flickity-rtl .flickity-page-dots {
    direction: rtl
}

.flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    cursor: pointer;
    position: relative;
    border-radius: 99px
}

.flickity-page-dots .dot:after {
    content: "";
    top: 50%;
    left: 0;
    height: 10px;
    width: 100%;
    background: #fff;
    opacity: .2;
    position: absolute;
    border-radius: 99px;
    transition: opacity .4s
}

.text-dark .flickity-page-dots .dot:after {
    background-color: #000
}

.flickity-page-dots .dot.is-selected:after, .flickity-page-dots .dot:hover:after {
    opacity: 1
}

.showreel-video {
    position: absolute;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
    width: 100%;
    height: 100%;
    background-color: #000
}

.video-controls--open .showreel-video, .body-menu-opened .showreel-video {
    pointer-events: auto
}

.showreelVideoContainer .text-white {
    transition: letter-spacing .4s 0s
}

.showreelVideoContainer:hover .text-white {
    letter-spacing: 1px
}

@media(min-width: 768px) {
    .showreel-video {
        position: absolute;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        width: 100%;
        height: 100%;
        border: none;
        scale: 1.001
    }
}

.video-controls {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity .4s 0s;
    pointer-events: none;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.4) 100%)
}

.video-controls--open .video-controls {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .6s .4s
}

@media(min-width: 768px) {
    .video-controls--open .video-controls.hidden {
        opacity: 0
    }
}

.btn-vid {
    cursor: pointer;
    width: calc(30px + 1vw);
    height: calc(30px + 1vw);
    transition: transform .3s
}

.btn-vid:hover {
    transform: scale(1.11)
}

.play-svg {
    display: none
}

.change-to--pause .play-svg {
    display: block
}

.change-to--pause .pause-svg {
    display: none
}

.unmute-svg {
    display: none
}

.change-to--mute .unmute-svg {
    display: block
}

.change-to--mute .mute-svg {
    display: none
}

.video-timeline {
    max-width: 640px;
    width: 100%
}

.current-time, .total-time {
    font-size: 16px;
    color: #fff
}

.progress-bar-2 {
    flex-grow: 1;
    margin: 0 10px;
    height: 5px;
    width: 500px;
    border-radius: 5px;
    cursor: pointer;
    position: relative;
    height: 0.2777777778vw;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    cursor: pointer;
    outline: 0
}

.progress-bar-2:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.progress-bar-2:after {
    background: rgba(255, 255, 255, .3);
    bottom: 0;
    content: "";
    height: 0.2777777778vw;
    left: 0;
    right: 0
}

.progress-bar-2::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border-radius: 50%
}

.filter-bar-holder {
    position: fixed;
    z-index: 5;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    --filer-size: 128px;
    pointer-events: none
}

@media(min-width: 768px) {
    .filter-bar-holder {
        --filer-size: 198px
    }
}

.filter-bar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    pointer-events: initial;
    z-index: 500;
    background: none;
    outline: none;
    width: var(--filer-size);
    height: var(--filer-size);
    bottom: calc(var(--filer-size)*-0.55);
    border-radius: 999px;
    transform: translateY(var(--filer-size));
    color: rgba(255, 255, 255, .5);
    font-weight: 500;
    pointer-events: auto;
    transition: transform .4s var(--transform-back), color .6s
}

.infinite-move .filter-bar {
    transform: translateY(0)
}

@media(min-width: 768px) {
    .filter-bar {
        font-size: 18px
    }
}

.filter-bar:hover {
    color: #fff
}

.filter-bar:after {
    content: "";
    position: absolute;
    z-index: -2;
    height: var(--filer-size);
    width: var(--filer-size);
    min-height: var(--filer-size);
    min-width: var(--filer-size);
    transform: scale(1);
    transition: transform .4s ease, box-shadow .4s ease;
    bottom: 0px;
    border-radius: 999px;
    background-color: rgba(17, 17, 17, .59);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .21) inset
}

.filter-bar:before {
    content: "";
    position: absolute;
    z-index: -1;
    height: var(--filer-size);
    width: var(--filer-size);
    min-height: var(--filer-size);
    min-width: var(--filer-size);
    transform: scale(1);
    transition: opacity .4s ease;
    bottom: 0px;
    border-radius: 999px;
    background-image: url(../img/mask-2.svg);
    background-position: 50% 20%;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0
}

.filter-bar:hover:before {
    opacity: 1
}

.filter-opener {
    position: absolute;
    top: calc(var(--filer-size)*-0.45);
    bottom: 0;
    display: flex;
    align-items: center;
    transition: opacity .4s 0s, transform .4s 0s;
    pointer-events: none
}

.filter-text {
    color: var(--bs-body-bg);
    text-align: right;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    position: relative;
    top: -1px;
    height: 18px;
    line-height: 18px;
    overflow: hidden;
    text-align: center;
    perspective: 700px;
    opacity: .7;
    transition: color .6s ease, letter-spacing .6s ease 0s
}

@media(min-width: 768px) {
    .filter-text {
        font-size: 16px
    }
}

.filter-text .word {
    right: 0;
    height: 18px;
    line-height: 18px;
    white-space: nowrap;
    display: block
}

.filter-text .single-word {
    overflow: visible !important
}

.filter-text .single-char {
    transition: .6s var(--transform-back-3) .4s
}

.filter-panel-open .filter-text .single-char {
    transform: translateY(-17px);
    transition: .6s var(--transform-back-3) 0s
}

.filter-container {
    position: fixed;
    z-index: 5;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .4s var(--animation-primary-expo) .2s
}

@media(min-width: 576px) {
    .filter-container {
        display: flex;
        justify-content: center
    }
}

.filter-panel-open .filter-container {
    transform: scaleY(1);
    transition: transform .4s var(--animation-primary-expo)
}

.filter-row {
    pointer-events: none;
    border-radius: 6px 6px 0 0;
    overflow: hidden
}

@media(min-width: 576px) {
    .filter-row {
        display: flex;
        justify-content: space-between;
        pointer-events: none
    }
}

.filter-panel-open .filter-row {
    pointer-events: auto
}

.filter-col {
    padding: calc(15px + 1.6vw)
}

.filter-col-right {
    padding: calc(15px + 1.6vw) calc(15px + 1.6vw) calc(var(--filer-size)*.55) calc(15px + 1.6vw)
}

@media(min-width: 576px) {
    .filter-col, .filter-col-right {
        width: 50%;
        padding: calc(15px + 1.6vw) calc(15px + 1.6vw) calc(var(--filer-size)*.55) calc(15px + 1.6vw)
    }
}

.filter-col-left {
    background-color: #2a2a2a
}

.filter-col-right {
    background-color: #181818
}

.filter-col ul, .filter-col div {
    opacity: 0;
    transform: scaleY(1.05);
    transition: opacity .4s 0s, transform var(--animation-primary-expo) .4s 0s;
    transform-origin: top
}

.filter-panel-open .filter-col ul, .filter-panel-open .filter-col div {
    opacity: 1;
    transform: scaleY(1);
    transition: opacity .4s .4s, transform .4s var(--animation-primary-expo) .3s
}

.filter-col ul {
    display: flex;
    gap: 0 10px;
    flex-wrap: wrap
}

.filter-col li {
    position: relative;
    width: auto;
    padding: 3px 0;
    font-size: 15px;
    max-width: 100%;
    cursor: pointer;
    opacity: .5;
    transition: opacity .4s;
    padding-right: 6px
}

.filter-col li::after {
    content: "";
    position: absolute;
    top: 0;
    right: -4px;
    margin-top: -2px;
    min-width: 4px;
    border-radius: 50%;
    transition: opacity .4s
}

.filter-col li:last-child:after {
    display: none
}

@media(min-width: 576px) {
    .filter-col ul {
        flex-direction: column;
        justify-content: space-between
    }

    .filter-col li {
        width: 200px;
        display: flex;
        padding: 5px 0;
        justify-content: space-between
    }

    .filter-col li::after {
        display: none
    }
}

.filter-col li::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    margin-top: -2px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0;
    transition: opacity .4s
}

.filter-col li:hover, .filter-col li.active {
    opacity: 1
}

.filter-col li.active:before {
    opacity: 1
}

.filtered .project-item .project-block, .body-menu-opened .project-item .project-block, .body-menu-opened .panel>*:not(picture) {
    opacity: .4;
    filter: grayscale(1);
    pointer-events: none
}

.filtered .project-item.filtered .project-block {
    opacity: 1;
    transform: scale(1);
    filter: grayscale(0);
    pointer-events: auto
}

.filter-bar-overlay {
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 3s;
    background-color: rgba(0, 0, 0, .8);
    cursor: pointer
}

.filter-panel-open .filter-bar-overlay {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .4s .2s
}

@keyframes chase {
    0% {
        transform: translate(var(--pop-x), var(--pop-y)) scale(0.9)
    }

    60% {
        opacity: 1;
        transform: translate(var(--x), var(--y)) scale(1)
    }

    100% {
        opacity: 0;
        transform: translate(var(--x), var(--y)) scale(0.2)
    }
}

.image-trail {
    --threshold: 100;
    touch-action: pinch-zoom;
    position: relative;
    position: absolute;
    inset: 0
}

.image-trail__background, .image-trail__foreground {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0
}

.image-trail__pic {
    position: absolute;
    left: 0;
    max-width: 100px;
    top: 0;
    visibility: hidden;
    transform: translate(var(--pop-x), var(--pop-y))
}

.image-trail__pic.--is-active {
    visibility: visible;
    animation: .6s ease-out 1 both chase
}

.image-trail__foreground {
    z-index: 2;
    text-align: center
}

.image-trail {
    --threshold: 50;
    outline: 1px dashed #000
}

.image-trail__pic {
    min-width: 12rem;
    max-width: 12%
}

.image-trail__foreground {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    mix-blend-mode: difference
}

.image-trail h1, .image-trail .h1 {
    font-size: clamp(2rem, 10vw, 10rem)
}

@keyframes turn {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(1turn)
    }
}

@media(min-width: 40rem) {
    .image-trail {
        --threshold: 75
    }
}

@media(min-width: 60rem) {
    .image-trail {
        --threshold: 100
    }
}

:root {
    --color-text: navy;
    --color-bg: papayawhip;
    --color-bg-accent: #ecdcc0;
    --size: clamp(10rem, 1rem + 40vmin, 30rem);
    --gap: calc(var(--size) / 5);
    --gap-mobile: calc(var(--size) / 6);
    --duration: 60s;
    --scroll-start: 0;
    --scroll-end: calc(-100% - var(--gap))
}

.marquee {
    display: flex;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    gap: var(--gap);
    margin: 60px 0
}

.marquee__group {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: var(--gap);
    min-width: 100%;
    animation: scroll-x var(--duration) linear infinite
}

.marquee-item img {
    max-width: 130px;
    max-height: 53px
}

@media screen and (max-width: 991px) {
    .marquee__group {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: var(--gap-mobile);
        min-width: 100%;
        animation: scroll-x var(--duration) linear infinite
    }
}

@media(prefers-reduced-motion: reduce) {
    .marquee__group {
        animation-play-state: paused
    }
}

.marquee--vertical {
    -direction: to bottom
}

.marquee--vertical, .marquee--vertical .marquee__group {
    rection: column
}

.marquee--vertical .marquee__group {
    ion-name: scroll-y
}

.marquee--reverse .marquee__group {
    animation-direction: reverse;
    animation-delay: -3s
}

@keyframes scroll-x {
    from {
        transform: translateX(var(--scroll-start))
    }

    to {
        transform: translateX(var(--scroll-end))
    }
}

@keyframes scroll-y {
    from {
        transform: translateY(var(--scroll-start))
    }

    to {
        transform: translateY(var(--scroll-end))
    }
}

:root {
    --color-border-opacity: rgba(255, 255, 255, .2);
    --color-border-solid: #fff
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
    background-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0) inset !important;
    -webkit-text-fill-color: var(--color-forest)
}

input:-internal-autofill-selected, input:-internal-autofill-selected:hover, input:-internal-autofill-selected:focus textarea:-internal-autofill-selected, textarea:-internal-autofill-selected:hover textarea:-internal-autofill-selected:focus, select:-internal-autofill-selected, select:-internal-autofill-selected:hover, select:-internal-autofill-selected:focus {
    background-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0) inset !important;
    -webkit-text-fill-color: #fff
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-transition: background-color 50000s ease-in-out 0s;
    transition: background-color 50000s ease-in-out 0s;
    -webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0) inset !important;
    -webkit-text-fill-color: #fff
}

.wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal !important
}

.wpcf7 form .wpcf7-response-output {
    margin: 2em .5em 1em;
    border: none
}

.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output {
    display: none
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
    color: #dc3232
}

.wpcf7 form.spam .wpcf7-response-output {
    color: #f56e28
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: #ffb900
}

.wpcf7-form-control-wrap {
    position: relative
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
    position: relative;
    top: -2ex;
    left: 1em;
    z-index: 100;
    border: 1px solid #dc3232;
    background: #fff;
    padding: .2em .8em;
    width: 24em
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 1em
}

.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
    content: " "
}

.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: .75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative
}

form.submitting .wpcf7-spinner {
    visibility: visible
}

.wpcf7-spinner::before {
    content: "";
    position: absolute;
    background-color: #fbfbfc;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite
}

@media(prefers-reduced-motion: reduce) {
    .wpcf7-spinner::before {
        animation-name: blink;
        animation-duration: 2000ms
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

@keyframes blink {
    from {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.wpcf7 [inert] {
    opacity: .5
}

.wpcf7 input[type=file] {
    cursor: pointer
}

.wpcf7 input[type=file]:disabled {
    cursor: default
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed
}

.wpcf7 input[type=url], .wpcf7 input[type=email], .wpcf7 input[type=tel] {
    direction: ltr
}

.wpcf7-reflection>output {
    display: list-item;
    list-style: none
}

.wpcf7-reflection>output[hidden] {
    display: none
}

.input-checkbox {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 0
}

.input-checkbox__checkbox {
    display: none
}

.input-checkbox__checkbox:checked~.input-checkbox__label:before {
    content: "check";
    color: var(--color-accent)
}

.input-checkbox__label {
    cursor: pointer;
    display: inline-block
}

.input-checkbox__label:before {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 1;
    font-weight: bold;
    width: 1.3em;
    height: 1.3em;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid currentColor;
    font-family: "Material Icons";
    font-size: 18px;
    margin-right: .4em;
    transition: all .3s ease
}

.input-checkbox__label:hover:before {
    color: var(--color-accent)
}

.input-float {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 0
}

.input-float__label {
    position: absolute;
    top: .75em;
    left: 0;
    margin: auto;
    display: block;
    font-size: 16px;
    transition: all .3s ease;
    transform-origin: left center;
    pointer-events: none;
    color: currentColor;
    opacity: .7
}

.input-float__input {
    display: block;
    width: 100%;
    width: 100%;
    border-bottom: 1px solid var(--color-border-opacity);
    border-top: none;
    border-right: none;
    border-left: none;
    outline: none;
    padding: 14px 0 8px;
    transition: all .3s ease;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
    color: inherit;
    line-height: 1.5
}

.input-float__input_textarea {
    resize: none;
    height: 200px
}

.input-float__error, span.wpcf7-not-valid-tip {
    display: block;
    font-size: 13px;
    color: red;
    text-align: left;
    margin-top: 4px
}

.input-float__input_focused+.input-float__label, .input-float__input_not-empty+.input-float__label {
    transform: scale(0.8571) translateY(-1.75rem);
    pointer-events: all
}

.input-float__input_focused {
    border-color: var(--color-border-solid)
}

.input-float__input_focused+.input-float__label {
    opacity: 1;
    pointer-events: all
}

.form {
    width: 100%
}

.form__submit {
    margin-top: 1.5em
}

.form__col {
    margin-top: .5em;
    margin-bottom: .5em
}

.form__col_submit {
    margin-top: 1.5em;
    margin-bottom: 0
}

.form__heading {
    margin-top: 0;
    margin-bottom: 1em
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border-color: red;
    padding: 15px;
    margin: 1.5em 0 0;
    display: none !important
}

@media only screen and (max-width: 992px) {
    .form__col_submit {
        text-align: left
    }
}

.button {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    border-width: 2px;
    border-style: solid;
    padding: 8px 50px;
    border-radius: 96px;
    color: #fff;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #383939;
    transition: all .2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition-property: color, background-color, border-color;
    outline: none
}

.button:focus {
    outline: none
}

.button:hover .button__label-normal .button__title {
    transform: translate(0%, -100%);
    opacity: 0
}

.button:hover .button__label-normal .button__icon {
    opacity: 0;
    transform: translate(100%, 0%)
}

.button:hover .button__label-hover .button__title {
    transform: translate(0%, 0%);
    opacity: 1
}

.button:hover .button__label-hover .button__icon {
    opacity: 1;
    transform: translate(0%, 0%)
}

.button * {
    pointer-events: none
}

.button_icon {
    display: inline-flex;
    border: 1px solid #383939
}

.button_icon .button__label {
    padding: 0
}

.button__label-hover {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.button__label-hover .button__title {
    transform: translate(0%, 100%);
    opacity: 0
}

.button__label-hover .button__icon {
    transform: translate(-100%, 0%);
    opacity: 0
}

.button__label-normal .button__title {
    transform: translate(0%, 0%);
    opacity: 1
}

.button__title {
    display: inline-block;
    transition: transform .3s ease-in-out, opacity .3s ease-in-out
}

.button__label {
    display: inline-block;
    padding: 16px 36px
}

.button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease-in-out, opacity .3s ease-in-out;
    vertical-align: middle;
    margin-bottom: .1em
}

.button__icon_before {
    margin-right: .5em
}

.button__icon_after {
    margin-left: .25em;
    margin-right: -0.5em
}

.button_fullwidth {
    width: 100%
}

.button-fullwidth .button {
    width: 100%
}

@media screen and (max-width: 1200px) {
    .button {
        padding: 12px 24px
    }

    .button__label {
        padding: 12px 24px
    }
}

@media screen and (max-width: 991px) {
    .button {
        padding: 12px 24px
    }

    .button__label {
        padding: 12px 24px
    }

    .button__icon i {
        font-size: 20px
    }
}

.button.button_bordered {
    background-color: unset !important;
    color: var(--ui-element-color);
    border-width: 2px;
    border-style: solid;
    border-color: currentColor
}

.button.button_solid {
    background-color: var(--ui-element-color);
    color: var(--ui-element-color-dark-theme);
    border: none
}

:root {
    --bs-body-font-size: 1.125rem;
    --bs-link-color: inherit;
    --bs-link-hover-color: inherit;
    --bs-light-gray: #A7A7A7;
    --bs-gray: #424242;
    --bs-dark-rgb: 18, 18, 18;
    --transform-back: cubic-bezier(0.34, 1.56, 0.64, 1);
    --transform-back-2: cubic-bezier(.34, 5.56, .64, 1);
    --transform-back-3: cubic-bezier(0.34, 1.7, 0.64, 1);
    --animation-primary: cubic-bezier(.2, 1.33, .25, 1);
    --animation-primary-ease-in: cubic-bezier(.25, 1, 0.1, 1);
    --animation-primary-expo: cubic-bezier(0.87, 0, 0.13, 1);
    --use-cta-width: 518px
}

* {
    scrollbar-width: none;
    -ms-overflow-style: none;
    scrollbar-color: var(--bs-body-scroll) var(--bs-body-bg)
}

*::-webkit-scrollbar {
    width: 1px;
    display: none
}

*::-webkit-scrollbar-track {
    background: var(--color-purple);
    border-radius: 99px
}

*::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 20px
}

.text-light-gray {
    color: var(--bs-light-gray)
}

.text-gray {
    color: var(--bs-gray)
}

.next-info .lead-xsmall {
    opacity: .5;
    transition: opacity .4s
}

a:hover .next-info .lead-xsmall {
    opacity: 1
}

a .next-info .lead-xsmall svg {
    transition: transform .4s
}

a:hover .next-info .lead-xsmall svg {
    transform: translateX(5px)
}

@media screen and (min-width: 992px) {
    .vid-outer {
        position: relative;
        z-index: 4
    }

    .vid-inner {
        -o-object-fit: cover;
        object-fit: cover
    }
}

@media screen and (max-width: 991px) {
    .vid-inner {
        height: auto !important;
        width: 100% !important
    }
}

.sticky-outer {
    height: 300vh
}

.card-wrap {
    margin-top: 5vh;
    display: grid;
    grid-gap: 2rem;
    grid-auto-flow: row;
    grid-template-columns: 250px
}

.card__image {
    display: block;
    border-radius: 7px;
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    filter: brightness(0.8)
}

.content-wrap {
    display: grid;
    place-items: center;
    grid-template-areas: "main";
    max-width: 970px;
    margin: auto
}

.content {
    grid-area: main;
    display: grid;
    place-items: center;
    line-height: 1.2;
    grid-template-areas: "content"
}

.content p {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 18px
}

.content img {
    max-width: 100%;
    height: auto
}

.content-wrap .content:first-child {
    height: 100vh
}

.content--layout {
    grid-template-areas: "title-up title-down""img img""text text";
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    max-width: 100%;
    overflow: hidden
}

.content__img {
    grid-area: img;
    max-width: 100%;
    height: auto;
    max-height: 60vh;
    aspect-ratio: .9
}

.title-wrap {
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.title--up {
    grid-area: title-up
}

.title--down {
    grid-area: title-down;
    font-variation-settings: "wdth"140, "wght"350
}

.content__text {
    grid-area: text;
    margin: 0;
    opacity: .9
}

@media screen and (min-width: 53em) {
    .frame {
        grid-template-columns: auto auto 1fr;
        grid-template-areas: "back prev sponsor";
        justify-items: start;
        grid-gap: 2rem
    }

    .title {
        font-size: clamp(2rem, 15vw, 9rem)
    }

    .content-wrap:not(:last-child) {
        margin-bottom: 30vmax
    }

    .content__img {
        max-width: none
    }

    .content--layout {
        grid-template-areas: "title-up img""title-down img""text img";
        grid-template-columns: 1fr 50%;
        grid-template-rows: auto auto 1fr;
        -moz-column-gap: 3vw;
        column-gap: 3vw;
        row-gap: 0
    }

    .title-wrap {
        flex-direction: row
    }

    .title-wrap span {
        white-space: inherit
    }

    .content__img {
        max-width: 100%;
        max-height: auto
    }

    .title--up {
        justify-self: start;
        align-self: start
    }

    .title--down {
        justify-self: start;
        align-self: start
    }
}

.article_inner {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.article_inner ul {
    list-style: none;
    display: grid;
    padding: 0;
    margin: 0;
    grid-template-columns: 1fr;
    grid-gap: 20px
}

@media screen and (min-width: 768px) {
    .article_inner ul {
        grid-template-columns: 1fr 1fr;
        grid-gap: 30px
    }
}

@media screen and (min-width: 992px) {
    .article_inner ul {
        grid-template-columns: 1fr 1fr 1fr
    }
}

.article_inner li {
    z-index: 4;
    transition: color .3s;
    padding: 35px 35px 80px 35px;
    position: relative
}

.article_inner li .art-head {
    font-weight: 400;
    text-transform: uppercase;
    padding-bottom: 10px;
    display: inline-block
}

.article_inner li .articleDate {
    position: absolute;
    bottom: 35px;
    font-size: 16px;
    left: 35px
}

.article_inner li a.read_more {
    transition: .3s ease;
    font-size: 0;
    width: 20px;
    height: 45px;
    position: absolute;
    bottom: 25px;
    right: 35px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M0 7.00008V9.00008H12L6.5 14.5001L7.92 15.9201L15.84 8.00008L7.92 0.0800781L6.5 1.50008L12 7.00008H0Z' fill='white'/%3E %3C/svg%3E ");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px;
    border: none !important
}

.article_inner li.seeMore {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center
}

.article_inner li:hover a.read_more {
    transform: translateX(5px)
}

.article_inner li.seeMore a.see_more {
    position: relative;
    color: #dad9dc;
    font-size: 18px;
    display: inline-block;
    margin: 25px 0;
    opacity: .3;
    font-weight: 400
}

.article_inner li.seeMore a.see_more:before {
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s ease-out
}

.article_inner li.seeMore:hover a.see_more:before {
    transform: scaleX(1);
    transform-origin: left
}

.article_inner li h2, .article_inner li .h2 {
    font-family: var(--font-primary)
}

.article_inner li a {
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    transition: border-color .4s;
    text-decoration: none
}

.article_inner li a:hover {
    border-color: #fff
}

.cont-article {
    place-items: flex-start
}

.cont-article h2, .cont-article .h2 {
    font-size: 40px;
    margin-top: 50px;
    margin-bottom: 10px
}

.cont-article h3, .cont-article .h3 {
    font-size: 30px;
    margin-top: 50px;
    margin-bottom: 10px
}

.cont-article h4, .cont-article .h4 {
    font-size: 24px;
    margin-top: 30px;
    margin-bottom: 6px
}

.cont-article h5, .cont-article .h5 {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 4px
}

@media screen and (max-width: 991px) {
    .cont-article h2, .cont-article .h2 {
        font-size: 30px
    }

    .cont-article h3, .cont-article .h3 {
        font-size: 24px
    }

    .cont-article h4, .cont-article .h4 {
        font-size: 20px
    }

    .cont-article h5, .cont-article .h5 {
        font-size: 16px
    }
}

.transition-opacity {
    transition: opacity .3s ease
}

.transition-color {
    transition: color .3s ease
}

.underline, .underline-hover-self {
    display: inline;
    position: relative;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 100% 2px
}

.underline [data-arts-split-text-element=line], .underline .js-arts-split-text__line, .underline-hover-self [data-arts-split-text-element=line], .underline-hover-self .js-arts-split-text__line {
    display: inline-block !important;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 100% 2px;
    transition: background-size .4s ease
}

.underline-hover-self {
    background-position: 100% 100%;
    background-size: 100% 2px;
    transition: background-size .4s ease, color .2s ease-in-out
}

.underline-hover-self:hover {
    background-position: 0% 100%;
    background-size: 100% 2px
}

.post__wrapper-date {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 50
}

.post__media, .post__link {
    position: relative
}

.post-meta {
    list-style-type: none;
    padding: 0;
    margin: 0;
    line-height: 1
}

.post-meta i {
    font-size: 14px !important;
    vertical-align: middle;
    margin-right: 4px
}

.post-meta li {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.6;
    vertical-align: middle
}

.post-meta li span {
    vertical-align: middle
}

.post-meta li:not(:last-child):after {
    content: "/";
    color: var(--color-accent);
    display: inline-block;
    margin-left: 8px;
    margin-right: 4px;
    transition: all .3s ease
}

.post-meta ul {
    padding-left: 0
}

.post-meta a {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap
}

.post-meta_block li {
    display: block;
    margin: .5em 0
}

.post-meta_block li:not(:last-child):after {
    display: none
}

.post-meta_flex {
    display: flex;
    justify-content: space-between
}

.post-meta_flex li:not(:last-child):after {
    display: none
}

.post-meta_accent * {
    color: var(--color-accent)
}

.post-date-floating {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    --date-size-min: 60;
    --date-size-max: 100;
    width: calc(1*var(--date-size-min)*1px);
    height: calc(1*var(--date-size-min)*1px);
    text-align: center
}

@media screen and (min-width: 360px) {
    .post-date-floating {
        width: calc(1*(var(--date-size-min)*1px + (var(--date-size-max) - var(--date-size-min))*(100vw - 360px)/1560))
    }
}

@media screen and (min-width: 1920px) {
    .post-date-floating {
        width: calc(1*var(--date-size-max)*1px)
    }
}

@media screen and (min-width: 360px) {
    .post-date-floating {
        height: calc(1*(var(--date-size-min)*1px + (var(--date-size-max) - var(--date-size-min))*(100vw - 360px)/1560))
    }
}

@media screen and (min-width: 1920px) {
    .post-date-floating {
        height: calc(1*var(--date-size-max)*1px)
    }
}

.heading-vertical-text {
    font-size: calc(1.2625rem + 0.1583333333vw);
    font-family: var(--bs-body-font-family);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.1;
    padding: 0 var(--gutter-outer) var(--gutter-outer) var(--gutter-outer);
    color: #999;
    filter: opacity(0.5) brightness(1.4);
    mix-blend-mode: plus-lighter
}

@media(min-width: 2400px) {
    .heading-vertical-text {
        font-size: 1.5rem
    }
}

@media(min-width: 768px) {
    .heading-vertical-text {
        font-size: 0.9rem;
        margin-top: 0;
        padding: 0;
        margin: 0;
        font-weight: 400;
        position: absolute;
        z-index: 3;
        left: 0;
        top: var(--gutter-y);
        bottom: var(--gutter-y);
        width: var(--gutter-outer);
        writing-mode: sideways-lr;
        text-orientation: upright;
        display: flex;
        align-items: center
    }
}

.animate-spin {
    animation: spin 12s linear infinite;
    transform-origin: center center
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.the-num {
    min-width: calc(20px + 7vw);
    flex-shrink: 0
}

.pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px
}

.pills>li {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 15px;
    border-radius: 99px;
    white-space: nowrap;
    background-color: #333;
    color: #fff;
    background-size: 100%;
    display: inline-block
}

.list-pills-hover>li {
    position: relative;
    margin-bottom: 60px
}

@media(min-width: 768px) {
    .pills {
        pointer-events: none;
        position: absolute;
        inset: -100px -80px;
        display: grid;
        grid-template-columns: repeat(40, 1fr);
        grid-template-rows: repeat(40, 1fr);
        gap: 5px
    }

    .pills>li {
        font-size: 15px;
        padding: 10px 30px;
        color: #09060d;
        position: absolute;
        transform: scale(0.7);
        opacity: 0;
        pointer-events: none;
        transition: transform .4s ease, opacity .4s ease;
        transition-delay: 0s
    }

    .list-pills-hover {
        cursor: crosshair;
        position: relative;
        z-index: 1
    }

    .list-pills-hover>li .head span {
        display: inline-block;
        position: relative;
        padding: 0px 0;
        transform-origin: left bottom;
        transition: opacity .4s ease, scale .4s
    }

    .list-pills-hover:hover>li .head span {
        opacity: .2
    }

    .list-pills-hover:hover>li:hover .head span {
        opacity: 1
    }

    .list-pills-hover>li {
        margin-bottom: 0
    }

    .list-pills-hover>li:hover {
        z-index: 1
    }

    .list-pills-hover li:hover .pills li {
        transform: scale(1);
        opacity: 1;
        transition: transform .4s var(--transform-back-3), opacity .6s var(--transform-back-3)
    }

    .pills li:nth-child(1) {
        background-color: #ebacac
    }

    .pills li:nth-child(2) {
        background-color: #a1efdd
    }

    .pills li:nth-child(3) {
        background-color: #c9a7f3
    }

    .pills li:nth-child(4) {
        background-color: #fddea4
    }

    .pills li:nth-child(5) {
        background-color: #f3c9a7
    }

    .pills li:nth-child(6) {
        background-color: #f3a7c9
    }

    .pills li:nth-child(7) {
        background-color: #a7c9f3
    }

    .pills li:nth-child(8) {
        background-color: #a7f3c9
    }

    .pills li:nth-child(9) {
        background-color: #f3a7a7
    }

    .pills li:nth-child(10) {
        background-color: #a7f3f3
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(2) {
        transition-delay: .03s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(3) {
        transition-delay: .06s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(4) {
        transition-delay: .09s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(5) {
        transition-delay: .12s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(6) {
        transition-delay: .15s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(7) {
        transition-delay: .18s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(8) {
        transition-delay: .21s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(9) {
        transition-delay: .24s
    }

    .list-pills-hover li:has(:hover) .pills li:nth-child(10) {
        transition-delay: .27s
    }
}

.grower-outer {
    position: relative;
    height: 150px;
    display: flex;
    justify-content: center
}

.grower {
    position: absolute;
    width: 500vw;
    height: 500vw;
    transform-origin: top center;
    transform: scaleY(1);
    border-radius: 100%;
    background-color: currentColor
}

@media(min-width: 992px) {
    .grower-outer {
        height: 300px
    }
}

.link-back {
    text-decoration: none;
    color: #fff
}

.link-back svg {
    transition: transform .4s
}

.link-back:hover svg {
    transform: translateX(-5px)
}

.touchevents .mouse-pos-list-image {
    display: none !important
}

@media(min-width: 992px) {
    .mouse-pos-list-image {
        width: calc(100px + 10vw);
        position: fixed;
        pointer-events: none;
        transform: translate(-50%, -52%);
        display: block;
        left: 55%;
        overflow: hidden;
        left: 0%;
        will-change: opacity;
        pointer-events: none;
        opacity: 0;
        filter: blur(20px);
        transition: opacity .4s, filter .4s
    }

    .mouse-pos-list-image.active {
        opacity: 1;
        filter: blur(0)
    }

    .mouse-pos-list-image-bounce {
        overflow: hidden;
        transform: scale(1) rotate(0.001deg);
        transition: all .5s cubic-bezier(0.65, 0, 0.35, 1);
        will-change: transform
    }

    .mouse-pos-list-image-bounce.active {
        transform: scale(1) rotate(0.001deg)
    }

    .mouse-pos-list-image::before {
        display: block;
        content: "";
        padding-top: 160%
    }

    .mouse-pos-list-image .mouse-pos-list-image-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    .mouse-pos-list-image .float-image-wrap {
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        margin-bottom: 0;
        display: block;
        will-change: transform;
        padding-bottom: 160%;
        overflow: hidden;
        background-color: #000
    }

    .mouse-pos-list-image .float-image-wrap .mouse-pos-list-image-inner {
        position: absolute;
        top: 0;
        width: 100%;
        display: block;
        overflow: hidden
    }

    .mouse-pos-list-image .float-image-wrap .mouse-pos-list-image-inner:before {
        display: block;
        content: "";
        padding-top: 160%
    }

    .mouse-pos-list-image .float-image-wrap .mouse-pos-list-image-inner {
        width: 0
    }

    .mouse-pos-list-image .float-image-wrap .mouse-pos-list-image-inner.visible {
        width: 100%
    }

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%
    }

    .mouse-pos-list-image-inner.active {
        z-index: 99 !important
    }

    .mouse-pos-list-image-inner img {
        -o-object-fit: cover;
        object-fit: cover
    }
}

/*# sourceMappingURL=bootstrap.css.map */