@charset "UTF-8";
/* Account section cards: support dark and light themes */
.account-section-card, .account-section-card.full-width {
    background-color: var(--oxy-surface, #fff);
    color: var(--oxy-text, #111827);
    transition: background 0.2s, color 0.2s;
}
.dark-mode .account-section-card, .dark-mode .account-section-card.full-width {
    background-color: #23272f;
    color: #f5f7fa;
}
.section-card-title {
    color: inherit;
}
/* Ensure Circles menu matches main menu font, size, and weight */
.circles-grid, .circles-menu, .circle-card, .circles-section, .circles-list, .circles-header {
    font-family: Poppins, system-ui, Avenir, Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

:root {
    --oxy-primary: #0D58E3;
    --oxy-bg: #f5f7fa;
    --oxy-surface: #ffffff;
    --oxy-text: #111827;
    --oxy-muted: #6b7280
}

.app-wrapper.dark-mode {
    --oxy-bg: #0f1419;
    --oxy-surface: #16181c;
    --oxy-text: #e7e9ea;
    --oxy-muted: #8b98a5
}

:root {
    font-family: Poppins, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;
    color-scheme: light dark;
    color: #ffffffde;
    background-color: #242424;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a {
    font-weight: 500;
    color: #646cff;
    text-decoration: inherit
}

a:hover {
    color: #535bf2
}

body {
    margin: 0;
    display: block;
    min-width: 320px;
    min-height: 100vh
}

html,
body,
#root {
    width: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Poppins, sans-serif
}

h1 {
    font-size: 3.2em;
    line-height: 1.1;
    font-weight: 700
}

h2 {
    font-weight: 700
}

h3,
h4,
h5,
h6 {
    font-weight: 600
}

p,
span,
li,
a {
    font-family: Poppins, sans-serif;
    font-weight: 400
}

button {
    border-radius: 8px;
    border: 1px solid transparent;
    padding: .6em 1.2em;
    font-size: 1em;
    font-weight: 500;
    font-family: Poppins, sans-serif;
    background-color: #1a1a1a;
    cursor: pointer;
    transition: border-color .25s
}

button:hover {
    border-color: #646cff
}

button:focus,
button:focus-visible {
    outline: 4px auto -webkit-focus-ring-color
}

@media(prefers-color-scheme:light) {
    :root {
        color: #213547;
        background-color: #fff
    }

    a:hover {
        color: #747bff
    }

    button {
        background-color: #f9f9f9
    }
}

:root,
[data-bs-theme=light] {
    --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-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --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, .15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, .75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, .5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #0d6efd;
    --bs-link-color-rgb: 13, 110, 253;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, .175);
    --bs-border-radius: .375rem;
    --bs-border-radius-sm: .25rem;
    --bs-border-radius-lg: .5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    --bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);
    --bs-focus-ring-width: .25rem;
    --bs-focus-ring-opacity: .25;
    --bs-focus-ring-color: rgba(13, 110, 253, .25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #212529;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, .75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, .5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #6ea8fe;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #75b798;
    --bs-info-text-emphasis: #6edff6;
    --bs-warning-text-emphasis: #ffda6a;
    --bs-danger-text-emphasis: #ea868f;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #087990;
    --bs-warning-border-subtle: #997404;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-heading-color: inherit;
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;
    --bs-code-color: #e685b5;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #664d03;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, .15);
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f
}

*,
:after,
:before {
    box-sizing: border-box
}

@media(prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

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: transparent
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: .25
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color)
}

.h1,
h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media(min-width:1200px) {

    .h1,
    h1 {
        font-size: 2.5rem
    }
}

.h2,
h2 {
    font-size: calc(1.325rem + .9vw)
}

@media(min-width:1200px) {

    .h2,
    h2 {
        font-size: 2rem
    }
}

.h3,
h3 {
    font-size: calc(1.3rem + .6vw)
}

@media(min-width:1200px) {

    .h3,
    h3 {
        font-size: 1.75rem
    }
}

.h4,
h4 {
    font-size: calc(1.275rem + .3vw)
}

@media(min-width:1200px) {

    .h4,
    h4 {
        font-size: 1.5rem
    }
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[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
}

dl,
ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

.mark,
mark {
    padding: .1875em;
    color: var(--bs-highlight-color);
    background-color: var(--bs-highlight-bg)
}

sub,
sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: underline
}

a:hover {
    --bs-link-color-rgb: var(--bs-link-hover-color-rgb)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

code,
kbd,
pre,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: .875em;
    color: var(--bs-code-color);
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .1875rem .375rem;
    font-size: .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: var(--bs-secondary-color);
    text-align: left
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

tbody,
td,
tfoot,
th,
thead,
tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    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
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    line-height: inherit;
    font-size: calc(1.275rem + .3vw)
}

@media(min-width:1200px) {
    legend {
        font-size: 1.5rem
    }
}

legend+* {
    clear: left
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button {
    cursor: pointer;
    filter: grayscale(1)
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

::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: 1.25rem;
    font-weight: 300
}

.display-1 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.625rem + 4.5vw)
}

@media(min-width:1200px) {
    .display-1 {
        font-size: 5rem
    }
}

.display-2 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.575rem + 3.9vw)
}

@media(min-width:1200px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.525rem + 3.3vw)
}

@media(min-width:1200px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.475rem + 2.7vw)
}

@media(min-width:1200px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.425rem + 2.1vw)
}

@media(min-width:1200px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.375rem + 1.5vw)
}

@media(min-width:1200px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.list-unstyled,
.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: .875em;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: .875em;
    color: #6c757d
}

.blockquote-footer:before {
    content: "— "
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: .875em;
    color: var(--bs-secondary-color)
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

@media(min-width:576px) {

    .container,
    .container-sm {
        max-width: 540px
    }
}

@media(min-width:768px) {

    .container,
    .container-md,
    .container-sm {
        max-width: 720px
    }
}

@media(min-width:992px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px
    }
}

@media(min-width:1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px
    }
}

@media(min-width:1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px
    }
}

:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y)
}

.col {
    flex: 1 0 0
}

.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.33333333%
}

.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.66666667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0
}

.g-1,
.gx-1 {
    --bs-gutter-x: .25rem
}

.g-1,
.gy-1 {
    --bs-gutter-y: .25rem
}

.g-2,
.gx-2 {
    --bs-gutter-x: .5rem
}

.g-2,
.gy-2 {
    --bs-gutter-y: .5rem
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem
}

@media(min-width:576px) {
    .col-sm {
        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.33333333%
    }

    .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.66666667%
    }

    .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: .25rem
    }

    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: .25rem
    }

    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: .5rem
    }

    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: .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: 3rem
    }

    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@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.33333333%
    }

    .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.66666667%
    }

    .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: .25rem
    }

    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: .25rem
    }

    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: .5rem
    }

    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: .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: 3rem
    }

    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@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.33333333%
    }

    .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.66666667%
    }

    .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: .25rem
    }

    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: .25rem
    }

    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: .5rem
    }

    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: .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: 3rem
    }

    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@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.33333333%
    }

    .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.66666667%
    }

    .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: .25rem
    }

    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: .25rem
    }

    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: .5rem
    }

    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: .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: 3rem
    }

    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@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.33333333%
    }

    .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.66666667%
    }

    .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: .25rem
    }

    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: .25rem
    }

    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: .5rem
    }

    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: .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: 3rem
    }

    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color)
}

.table>:not(caption)>*>* {
    padding: .5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--bs-table-bg);
    border-bottom-width: var(--bs-border-width);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))
}

.table>tbody {
    vertical-align: inherit
}

.table>thead {
    vertical-align: bottom
}

.table-group-divider {
    border-top: calc(var(--bs-border-width) * 2) solid currentcolor
}

.caption-top {
    caption-side: top
}

.table-sm>:not(caption)>*>* {
    padding: .25rem
}

.table-bordered>:not(caption)>* {
    border-width: var(--bs-border-width) 0
}

.table-bordered>:not(caption)>*>* {
    border-width: 0 var(--bs-border-width)
}

.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-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: var(--bs-table-striped-bg)
}

.table-striped-columns>:not(caption)>tr>:nth-child(2n) {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: var(--bs-table-striped-bg)
}

.table-active {
    --bs-table-color-state: var(--bs-table-active-color);
    --bs-table-bg-state: var(--bs-table-active-bg)
}

.table-hover>tbody>tr:hover>* {
    --bs-table-color-state: var(--bs-table-hover-color);
    --bs-table-bg-state: var(--bs-table-hover-bg)
}

.table-primary {
    --bs-table-color: #000;
    --bs-table-bg: #cfe2ff;
    --bs-table-border-color: #a6b5cc;
    --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: #b5b6b7;
    --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: #a7b9b1;
    --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: #a6c3ca;
    --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: #ccc2a4;
    --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: #c6acae;
    --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: #c6c7c8;
    --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: #4d5154;
    --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(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

.col-form-label-lg {
    padding-top: calc(.5rem + var(--bs-border-width));
    padding-bottom: calc(.5rem + var(--bs-border-width));
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(.25rem + var(--bs-border-width));
    padding-bottom: calc(.25rem + var(--bs-border-width));
    font-size: .875rem
}

.form-text {
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-secondary-color)
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    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: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem #0d6efd40
}

.form-control::-webkit-date-and-time-value {
    min-width: 85px;
    height: 1.5em;
    margin: 0
}

.form-control::-webkit-datetime-edit {
    display: block;
    padding: 0
}

.form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1
}

.form-control:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1
}

.form-control::-webkit-file-upload-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {
        -webkit-transition: none;
        transition: none
    }

    .form-control::file-selector-button {
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: var(--bs-secondary-bg)
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--bs-secondary-bg)
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: .375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: transparent;
    border: solid transparent;
    border-width: var(--bs-border-width) 0
}

.form-control-plaintext:focus {
    outline: 0
}

.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm {
    min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.form-control-sm::-webkit-file-upload-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-sm::file-selector-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-lg {
    min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

.form-control-lg::-webkit-file-upload-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

.form-control-lg::file-selector-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))
}

textarea.form-control-sm {
    min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))
}

textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))
}

.form-control-color {
    width: 3rem;
    height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
    padding: .375rem
}

.form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: var(--bs-border-radius)
}

.form-control-color::-webkit-color-swatch {
    border: 0 !important;
    border-radius: var(--bs-border-radius)
}

.form-control-color.form-control-sm {
    height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))
}

.form-control-color.form-control-lg {
    height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))
}

.form-select {
    --bs-form-select-bg-img: 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");
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .form-select {
        transition: none
    }
}

.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem #0d6efd40
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none
}

.form-select:disabled {
    background-color: var(--bs-secondary-bg)
}

.form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--bs-body-color)
}

.form-select-sm {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

[data-bs-theme=dark] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")
}

.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 {
    --bs-form-check-bg: var(--bs-body-bg);
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    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 #0d6efd40
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd
}

.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-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] {
    --bs-form-check-bg-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;
    --bs-form-check-bg-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 {
    --bs-form-switch-bg: 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");
    width: 2em;
    margin-left: -2.5em;
    background-image: var(--bs-form-switch-bg);
    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 {
    --bs-form-switch-bg: 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;
    --bs-form-switch-bg: 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
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")
}

.form-range {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent
}

.form-range:focus {
    outline: 0
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem #0d6efd40
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem #0d6efd40
}

.form-range::-moz-focus-outer {
    border: 0
}

.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -.25rem;
    -webkit-appearance: none;
    appearance: none;
    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
}

@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: transparent;
    cursor: pointer;
    background-color: var(--bs-secondary-bg);
    border-color: transparent;
    border-radius: 1rem
}

.form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    -moz-appearance: none;
    appearance: none;
    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
}

@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: transparent;
    cursor: pointer;
    background-color: var(--bs-secondary-bg);
    border-color: transparent;
    border-radius: 1rem
}

.form-range:disabled {
    pointer-events: none
}

.form-range:disabled::-webkit-slider-thumb {
    background-color: var(--bs-secondary-color)
}

.form-range:disabled::-moz-range-thumb {
    background-color: var(--bs-secondary-color)
}

.form-floating {
    position: relative
}

.form-floating>.form-control,
.form-floating>.form-control-plaintext,
.form-floating>.form-select {
    height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    line-height: 1.25
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    max-width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    color: rgba(var(--bs-body-color-rgb), .65);
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: var(--bs-border-width) solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .form-floating>label {
        transition: none
    }
}

.form-floating>.form-control,
.form-floating>.form-control-plaintext {
    padding: 1rem .75rem
}

.form-floating>.form-control-plaintext::placeholder,
.form-floating>.form-control::placeholder {
    color: transparent
}

.form-floating>.form-control-plaintext:focus,
.form-floating>.form-control-plaintext:not(:placeholder-shown),
.form-floating>.form-control:focus,
.form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control-plaintext:-webkit-autofill,
.form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
    padding-left: .75rem
}

.form-floating>.form-control-plaintext~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
    transform: scale(.85) translateY(-.5rem) translate(.15rem)
}

.form-floating>.form-control:-webkit-autofill~label {
    transform: scale(.85) translateY(-.5rem) translate(.15rem)
}

.form-floating>textarea:focus~label:after,
.form-floating>textarea:not(:placeholder-shown)~label:after {
    position: absolute;
    inset: 1rem .375rem;
    z-index: -1;
    height: 1.5em;
    content: "";
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius)
}

.form-floating>textarea:disabled~label:after {
    background-color: var(--bs-secondary-bg)
}

.form-floating>.form-control-plaintext~label {
    border-width: var(--bs-border-width) 0
}

.form-floating>.form-control:disabled~label,
.form-floating>:disabled~label {
    color: #6c757d
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.input-group>.form-control,
.input-group>.form-floating,
.input-group>.form-select {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0
}

.input-group>.form-control:focus,
.input-group>.form-floating:focus-within,
.input-group>.form-select:focus {
    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: var(--bs-body-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-tertiary-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius)
}

.input-group-lg>.btn,
.input-group-lg>.form-control,
.input-group-lg>.form-select,
.input-group-lg>.input-group-text {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

.input-group-sm>.btn,
.input-group-sm>.form-control,
.input-group-sm>.form-select,
.input-group-sm>.input-group-text {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.input-group-lg>.form-select,
.input-group-sm>.form-select {
    padding-right: 3rem
}

.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,
.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.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,
.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    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: calc(-1 * var(--bs-border-width));
    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: .875em;
    color: var(--bs-form-valid-color)
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: var(--bs-success);
    border-radius: var(--bs-border-radius)
}

.is-valid~.valid-feedback,
.is-valid~.valid-tooltip,
.was-validated :valid~.valid-feedback,
.was-validated :valid~.valid-tooltip {
    display: block
}

.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: var(--bs-form-valid-border-color);
    padding-right: calc(1.5em + .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.1'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-valid,
.was-validated .form-select:valid {
    border-color: var(--bs-form-valid-border-color)
}

.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
    --bs-form-select-bg-icon: 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.1'/%3e%3c/svg%3e");
    padding-right: 4.125rem;
    background-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-valid:focus,
.was-validated .form-select:valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.form-control-color.is-valid,
.was-validated .form-control-color:valid {
    width: calc(3.75rem + 1.5em)
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
    border-color: var(--bs-form-valid-border-color)
}

.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
    background-color: var(--bs-form-valid-color)
}

.form-check-input.is-valid:focus,
.was-validated .form-check-input:valid:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
    color: var(--bs-form-valid-color)
}

.form-check-inline .form-check-input~.valid-feedback {
    margin-left: .5em
}

.input-group>.form-control:not(:focus).is-valid,
.input-group>.form-floating:not(:focus-within).is-valid,
.input-group>.form-select:not(:focus).is-valid,
.was-validated .input-group>.form-control:not(:focus):valid,
.was-validated .input-group>.form-floating:not(:focus-within):valid,
.was-validated .input-group>.form-select:not(:focus):valid {
    z-index: 3
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-form-invalid-color)
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: var(--bs-danger);
    border-radius: var(--bs-border-radius)
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
    display: block
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--bs-form-invalid-border-color);
    padding-right: calc(1.5em + .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(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-invalid,
.was-validated .form-select:invalid {
    border-color: var(--bs-form-invalid-border-color)
}

.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
    --bs-form-select-bg-icon: 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");
    padding-right: 4.125rem;
    background-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.form-control-color.is-invalid,
.was-validated .form-control-color:invalid {
    width: calc(3.75rem + 1.5em)
}

.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
    border-color: var(--bs-form-invalid-border-color)
}

.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
    background-color: var(--bs-form-invalid-color)
}

.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
    color: var(--bs-form-invalid-color)
}

.form-check-inline .form-check-input~.invalid-feedback {
    margin-left: .5em
}

.input-group>.form-control:not(:focus).is-invalid,
.input-group>.form-floating:not(:focus-within).is-invalid,
.input-group>.form-select:not(:focus).is-invalid,
.was-validated .input-group>.form-control:not(:focus):invalid,
.was-validated .input-group>.form-floating:not(:focus-within):invalid,
.was-validated .input-group>.form-select:not(:focus):invalid {
    z-index: 4
}

.btn {
    --bs-btn-padding-x: .75rem;
    --bs-btn-padding-y: .375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: var(--bs-border-radius);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
    --bs-btn-disabled-opacity: .65;
    --bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .btn {
        transition: none
    }
}

.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color)
}

.btn-check+.btn:hover {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color)
}

.btn:focus-visible {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:focus-visible+.btn {
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color)
}

.btn-check:checked+.btn:focus-visible,
.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:first-child:active:focus-visible,
:not(.btn-check)+.btn:active:focus-visible {
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:checked:focus-visible+.btn {
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
    color: var(--bs-btn-disabled-color);
    pointer-events: none;
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
    opacity: var(--bs-btn-disabled-opacity)
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5c636a;
    --bs-btn-hover-border-color: #565e64;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #565e64;
    --bs-btn-active-border-color: #51585e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754
}

.btn-info {
    --bs-btn-color: #000;
    --bs-btn-bg: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #31d2f2;
    --bs-btn-hover-border-color: #25cff2;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #3dd5f3;
    --bs-btn-active-border-color: #25cff2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #0dcaf0;
    --bs-btn-disabled-border-color: #0dcaf0
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffca2c;
    --bs-btn-hover-border-color: #ffc720;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffcd39;
    --bs-btn-active-border-color: #ffc720;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color: #ffc107
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #bb2d3b;
    --bs-btn-hover-border-color: #b02a37;
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b02a37;
    --bs-btn-active-border-color: #a52834;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dc3545;
    --bs-btn-disabled-border-color: #dc3545
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529
}

.btn-outline-primary {
    --bs-btn-color: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d6efd;
    --bs-btn-hover-border-color: #0d6efd;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d6efd;
    --bs-btn-active-border-color: #0d6efd;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #0d6efd;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0d6efd;
    --bs-gradient: none
}

.btn-outline-secondary {
    --bs-btn-color: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #6c757d;
    --bs-btn-hover-border-color: #6c757d;
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6c757d;
    --bs-btn-active-border-color: #6c757d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #6c757d;
    --bs-gradient: none
}

.btn-outline-success {
    --bs-btn-color: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #198754;
    --bs-btn-hover-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #198754;
    --bs-btn-active-border-color: #198754;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #198754;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #198754;
    --bs-gradient: none
}

.btn-outline-info {
    --bs-btn-color: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #0dcaf0;
    --bs-btn-hover-border-color: #0dcaf0;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #0dcaf0;
    --bs-btn-active-border-color: #0dcaf0;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #0dcaf0;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0dcaf0;
    --bs-gradient: none
}

.btn-outline-warning {
    --bs-btn-color: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffc107;
    --bs-btn-hover-border-color: #ffc107;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffc107;
    --bs-btn-active-border-color: #ffc107;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #ffc107;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ffc107;
    --bs-gradient: none
}

.btn-outline-danger {
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-focus-shadow-rgb: 220, 53, 69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #dc3545;
    --bs-btn-active-border-color: #dc3545;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #dc3545;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #dc3545;
    --bs-gradient: none
}

.btn-outline-light {
    --bs-btn-color: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #f8f9fa;
    --bs-btn-hover-border-color: #f8f9fa;
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #f8f9fa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #f8f9fa;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f9fa;
    --bs-gradient: none
}

.btn-outline-dark {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --bs-btn-disabled-color: #212529;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #212529;
    --bs-gradient: none
}

.btn-link {
    --bs-btn-font-weight: 400;
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: 0 0 0 #000;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    text-decoration: underline
}

.btn-link:focus-visible {
    color: var(--bs-btn-color)
}

.btn-link:hover {
    color: var(--bs-btn-hover-color)
}

.btn-group-lg>.btn,
.btn-lg {
    --bs-btn-padding-y: .5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg)
}

.btn-group-sm>.btn,
.btn-sm {
    --bs-btn-padding-y: .25rem;
    --bs-btn-padding-x: .5rem;
    --bs-btn-font-size: .875rem;
    --bs-btn-border-radius: var(--bs-border-radius-sm)
}

.fade {
    transition: opacity .15s linear
}

@media(prefers-reduced-motion:reduce) {
    .fade {
        transition: none
    }
}

.fade:not(.show) {
    opacity: 0
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease
}

@media(prefers-reduced-motion:reduce) {
    .collapsing {
        transition: none
    }
}

.collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width .35s ease
}

@media(prefers-reduced-motion:reduce) {
    .collapsing.collapse-horizontal {
        transition: none
    }
}

.dropdown,
.dropdown-center,
.dropend,
.dropstart,
.dropup,
.dropup-center {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap
}

.dropdown-toggle:after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent
}

.dropdown-toggle:empty:after {
    margin-left: 0
}

.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: .5rem;
    --bs-dropdown-spacer: .125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: var(--bs-body-color);
    --bs-dropdown-bg: var(--bs-body-bg);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: var(--bs-border-radius);
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: .5rem;
    --bs-dropdown-box-shadow: var(--bs-box-shadow);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: .25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: .5rem;
    position: absolute;
    z-index: var(--bs-dropdown-zindex);
    display: none;
    min-width: var(--bs-dropdown-min-width);
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    margin: 0;
    font-size: var(--bs-dropdown-font-size);
    color: var(--bs-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--bs-dropdown-bg);
    background-clip: padding-box;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    border-radius: var(--bs-dropdown-border-radius)
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: var(--bs-dropdown-spacer)
}

.dropdown-menu-start {
    --bs-position: start
}

.dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0
}

.dropdown-menu-end {
    --bs-position: end
}

.dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto
}

@media(min-width:576px) {
    .dropdown-menu-sm-start {
        --bs-position: start
    }

    .dropdown-menu-sm-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-sm-end {
        --bs-position: end
    }

    .dropdown-menu-sm-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:768px) {
    .dropdown-menu-md-start {
        --bs-position: start
    }

    .dropdown-menu-md-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-md-end {
        --bs-position: end
    }

    .dropdown-menu-md-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:992px) {
    .dropdown-menu-lg-start {
        --bs-position: start
    }

    .dropdown-menu-lg-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-lg-end {
        --bs-position: end
    }

    .dropdown-menu-lg-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:1200px) {
    .dropdown-menu-xl-start {
        --bs-position: start
    }

    .dropdown-menu-xl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xl-end {
        --bs-position: end
    }

    .dropdown-menu-xl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media(min-width:1400px) {
    .dropdown-menu-xxl-start {
        --bs-position: start
    }

    .dropdown-menu-xxl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xxl-end {
        --bs-position: end
    }

    .dropdown-menu-xxl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

.dropup .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: var(--bs-dropdown-spacer)
}

.dropup .dropdown-toggle:after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent
}

.dropup .dropdown-toggle:empty:after {
    margin-left: 0
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: var(--bs-dropdown-spacer)
}

.dropend .dropdown-toggle:after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid
}

.dropend .dropdown-toggle:empty:after {
    margin-left: 0
}

.dropend .dropdown-toggle:after {
    vertical-align: 0
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: var(--bs-dropdown-spacer)
}

.dropstart .dropdown-toggle:after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: ""
}

.dropstart .dropdown-toggle:after {
    display: none
}

.dropstart .dropdown-toggle:before {
    display: inline-block;
    margin-right: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: .3em solid;
    border-bottom: .3em solid transparent
}

.dropstart .dropdown-toggle:empty:after {
    margin-left: 0
}

.dropstart .dropdown-toggle:before {
    vertical-align: 0
}

.dropdown-divider {
    height: 0;
    margin: var(--bs-dropdown-divider-margin-y) 0;
    overflow: hidden;
    border-top: 1px solid var(--bs-dropdown-divider-bg);
    opacity: 1
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    clear: both;
    font-weight: 400;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-radius: var(--bs-dropdown-item-border-radius, 0)
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: var(--bs-dropdown-link-hover-color);
    background-color: var(--bs-dropdown-link-hover-bg)
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg)
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: var(--bs-dropdown-link-disabled-color);
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
    margin-bottom: 0;
    font-size: .875rem;
    color: var(--bs-dropdown-header-color);
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    color: var(--bs-dropdown-link-color)
}

.dropdown-menu-dark {
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: #343a40;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle
}

.btn-group-vertical>.btn,
.btn-group>.btn {
    position: relative;
    flex: 1 1 auto
}

.btn-group-vertical>.btn-check:checked+.btn,
.btn-group-vertical>.btn-check:focus+.btn,
.btn-group-vertical>.btn.active,
.btn-group-vertical>.btn:active,
.btn-group-vertical>.btn:focus,
.btn-group-vertical>.btn:hover,
.btn-group>.btn-check:checked+.btn,
.btn-group>.btn-check:focus+.btn,
.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover {
    z-index: 1
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

.btn-toolbar .input-group {
    width: auto
}

.btn-group {
    border-radius: var(--bs-border-radius)
}

.btn-group>.btn-group:not(:first-child),
.btn-group>:not(.btn-check:first-child)+.btn {
    margin-left: calc(-1 * var(--bs-border-width))
}

.btn-group>.btn-group:not(:last-child)>.btn,
.btn-group>.btn.dropdown-toggle-split:first-child,
.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.btn-group>.btn-group:not(:first-child)>.btn,
.btn-group>.btn:nth-child(n+3),
.btn-group>:not(.btn-check)+.btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.dropdown-toggle-split {
    padding-right: .5625rem;
    padding-left: .5625rem
}

.dropdown-toggle-split:after,
.dropend .dropdown-toggle-split:after,
.dropup .dropdown-toggle-split:after {
    margin-left: 0
}

.dropstart .dropdown-toggle-split:before {
    margin-right: 0
}

.btn-group-sm>.btn+.dropdown-toggle-split,
.btn-sm+.dropdown-toggle-split {
    padding-right: .375rem;
    padding-left: .375rem
}

.btn-group-lg>.btn+.dropdown-toggle-split,
.btn-lg+.dropdown-toggle-split {
    padding-right: .75rem;
    padding-left: .75rem
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.btn-group-vertical>.btn,
.btn-group-vertical>.btn-group {
    width: 100%
}

.btn-group-vertical>.btn-group:not(:first-child),
.btn-group-vertical>.btn:not(:first-child) {
    margin-top: calc(-1 * var(--bs-border-width))
}

.btn-group-vertical>.btn-group:not(:last-child)>.btn,
.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group-vertical>.btn-group:not(:first-child)>.btn,
.btn-group-vertical>.btn:nth-child(n+3),
.btn-group-vertical>:not(.btn-check)+.btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: .5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    background: 0 0;
    border: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .nav-link {
        transition: none
    }
}

.nav-link:focus,
.nav-link:hover {
    color: var(--bs-nav-link-hover-color)
}

.nav-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 .25rem #0d6efd40
}

.nav-link.disabled,
.nav-link:disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default
}

.nav-tabs {
    --bs-nav-tabs-border-width: var(--bs-border-width);
    --bs-nav-tabs-border-color: var(--bs-border-color);
    --bs-nav-tabs-border-radius: var(--bs-border-radius);
    --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
    --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
    border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)
}

.nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius)
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    isolation: isolate;
    border-color: var(--bs-nav-tabs-link-hover-border-color)
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color)
}

.nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav-pills {
    --bs-nav-pills-border-radius: var(--bs-border-radius);
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: #0d6efd
}

.nav-pills .nav-link {
    border-radius: var(--bs-nav-pills-border-radius)
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg)
}

.nav-underline {
    --bs-nav-underline-gap: 1rem;
    --bs-nav-underline-border-width: .125rem;
    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
    gap: var(--bs-nav-underline-gap)
}

.nav-underline .nav-link {
    padding-right: 0;
    padding-left: 0;
    border-bottom: var(--bs-nav-underline-border-width) solid transparent
}

.nav-underline .nav-link:focus,
.nav-underline .nav-link:hover {
    border-bottom-color: currentcolor
}

.nav-underline .nav-link.active,
.nav-underline .show>.nav-link {
    font-weight: 700;
    color: var(--bs-nav-underline-link-active-color);
    border-bottom-color: currentcolor
}

.nav-fill .nav-item,
.nav-fill>.nav-link {
    flex: 1 1 auto;
    text-align: center
}

.nav-justified .nav-item,
.nav-justified>.nav-link {
    flex-grow: 1;
    flex-basis: 0;
    text-align: center
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
    width: 100%
}

.tab-content>.tab-pane {
    display: none
}

.tab-content>.active {
    display: block
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: .5rem;
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);
    --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);
    --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-padding-y: .3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-nav-link-padding-x: .5rem;
    --bs-navbar-toggler-padding-y: .25rem;
    --bs-navbar-toggler-padding-x: .75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);
    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
    --bs-navbar-toggler-focus-width: .25rem;
    --bs-navbar-toggler-transition: box-shadow .15s ease-in-out;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.navbar-brand {
    padding-top: var(--bs-navbar-brand-padding-y);
    padding-bottom: var(--bs-navbar-brand-padding-y);
    margin-right: var(--bs-navbar-brand-margin-end);
    font-size: var(--bs-navbar-brand-font-size);
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    white-space: nowrap
}

.navbar-brand:focus,
.navbar-brand:hover {
    color: var(--bs-navbar-brand-hover-color)
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: .5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-navbar-color);
    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: var(--bs-navbar-active-color)
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-text {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--bs-navbar-color)
}

.navbar-text a,
.navbar-text a:focus,
.navbar-text a:hover {
    color: var(--bs-navbar-active-color)
}

.navbar-collapse {
    flex-grow: 1;
    flex-basis: 100%;
    align-items: center
}

.navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    font-size: var(--bs-navbar-toggler-font-size);
    line-height: 1;
    color: var(--bs-navbar-color);
    background-color: transparent;
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: var(--bs-navbar-toggler-transition)
}

@media(prefers-reduced-motion:reduce) {
    .navbar-toggler {
        transition: none
    }
}

.navbar-toggler:hover {
    text-decoration: none
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width)
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: var(--bs-navbar-toggler-icon-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto
}

@media(min-width:576px) {
    .navbar-expand-sm {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-sm .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-sm .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-sm .navbar-toggler {
        display: none
    }

    .navbar-expand-sm .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media(min-width:768px) {
    .navbar-expand-md {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-md .navbar-toggler {
        display: none
    }

    .navbar-expand-md .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-md .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-md .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media(min-width:992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-lg .navbar-toggler {
        display: none
    }

    .navbar-expand-lg .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media(min-width:1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xl .navbar-toggler {
        display: none
    }

    .navbar-expand-xl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media(min-width:1400px) {
    .navbar-expand-xxl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xxl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xxl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xxl .navbar-toggler {
        display: none
    }

    .navbar-expand-xxl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start
}

.navbar-expand .navbar-nav {
    flex-direction: row
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x)
}

.navbar-expand .navbar-nav-scroll {
    overflow: visible
}

.navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto
}

.navbar-expand .navbar-toggler {
    display: none
}

.navbar-expand .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none
}

.navbar-expand .offcanvas .offcanvas-header {
    display: none
}

.navbar-expand .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
    --bs-navbar-color: rgba(255, 255, 255, .55);
    --bs-navbar-hover-color: rgba(255, 255, 255, .75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, .25);
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

[data-bs-theme=dark] .navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: .5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: .5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: .75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius)
}

.card>hr {
    margin-right: 0;
    margin-left: 0
}

.card>.list-group {
    border-top: inherit;
    border-bottom: inherit
}

.card>.list-group:first-child {
    border-top-width: 0;
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius)
}

.card>.list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius)
}

.card>.card-header+.list-group,
.card>.list-group+.card-footer {
    border-top: 0
}

.card-body {
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    color: var(--bs-card-color)
}

.card-title {
    margin-bottom: var(--bs-card-title-spacer-y);
    color: var(--bs-card-title-color)
}

.card-subtitle {
    margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
    margin-bottom: 0;
    color: var(--bs-card-subtitle-color)
}

.card-text:last-child {
    margin-bottom: 0
}

.card-link+.card-link {
    margin-left: var(--bs-card-spacer-x)
}

.card-header {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    margin-bottom: 0;
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color)
}

.card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0
}

.card-footer {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-top: var(--bs-card-border-width) solid var(--bs-card-border-color)
}

.card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)
}

.card-header-tabs {
    margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
    margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
    border-bottom: 0
}

.card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg)
}

.card-header-pills {
    margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
    margin-left: calc(-.5 * var(--bs-card-cap-padding-x))
}

.card-img-overlay {
    position: absolute;
    inset: 0;
    padding: var(--bs-card-img-overlay-padding);
    border-radius: var(--bs-card-inner-border-radius)
}

.card-img,
.card-img-bottom,
.card-img-top {
    width: 100%
}

.card-img,
.card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius)
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius)
}

.card-group>.card {
    margin-bottom: var(--bs-card-group-margin)
}

@media(min-width:576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap
    }

    .card-group>.card {
        flex: 1 0 0;
        margin-bottom: 0
    }

    .card-group>.card+.card {
        margin-left: 0;
        border-left: 0
    }

    .card-group>.card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .card-group>.card:not(:last-child)>.card-header,
    .card-group>.card:not(:last-child)>.card-img-top {
        border-top-right-radius: 0
    }

    .card-group>.card:not(:last-child)>.card-footer,
    .card-group>.card:not(:last-child)>.card-img-bottom {
        border-bottom-right-radius: 0
    }

    .card-group>.card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .card-group>.card:not(:first-child)>.card-header,
    .card-group>.card:not(:first-child)>.card-img-top {
        border-top-left-radius: 0
    }

    .card-group>.card:not(:first-child)>.card-footer,
    .card-group>.card:not(:first-child)>.card-img-bottom {
        border-bottom-left-radius: 0
    }
}

.accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-bg: var(--bs-body-bg);
    --bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: var(--bs-border-width);
    --bs-accordion-border-radius: var(--bs-border-radius);
    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: var(--bs-body-color);
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform .2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--bs-primary-text-emphasis);
    --bs-accordion-active-bg: var(--bs-primary-bg-subtle)
}

.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 1rem;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--bs-accordion-btn-bg);
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition)
}

@media(prefers-reduced-motion:reduce) {
    .accordion-button {
        transition: none
    }
}

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)
}

.accordion-button:not(.collapsed):after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform)
}

.accordion-button:after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition)
}

@media(prefers-reduced-motion:reduce) {
    .accordion-button:after {
        transition: none
    }
}

.accordion-button:hover {
    z-index: 2
}

.accordion-button:focus {
    z-index: 3;
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow)
}

.accordion-header {
    margin-bottom: 0
}

.accordion-item {
    color: var(--bs-accordion-color);
    background-color: var(--bs-accordion-bg);
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)
}

.accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius)
}

.accordion-item:first-of-type>.accordion-header .accordion-button {
    border-top-left-radius: var(--bs-accordion-inner-border-radius);
    border-top-right-radius: var(--bs-accordion-inner-border-radius)
}

.accordion-item:not(:first-of-type) {
    border-top: 0
}

.accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius)
}

.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
    border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
    border-bottom-left-radius: var(--bs-accordion-inner-border-radius)
}

.accordion-item:last-of-type>.accordion-collapse {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius)
}

.accordion-body {
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)
}

.accordion-flush>.accordion-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0
}

.accordion-flush>.accordion-item:first-child {
    border-top: 0
}

.accordion-flush>.accordion-item:last-child {
    border-bottom: 0
}

.accordion-flush>.accordion-item>.accordion-collapse,
.accordion-flush>.accordion-item>.accordion-header .accordion-button,
.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed {
    border-radius: 0
}

[data-bs-theme=dark] .accordion-button:after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")
}

.breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
    --bs-breadcrumb-margin-bottom: 1rem;
    --bs-breadcrumb-bg: ;
    --bs-breadcrumb-border-radius: ;
    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
    --bs-breadcrumb-item-padding-x: .5rem;
    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
    margin-bottom: var(--bs-breadcrumb-margin-bottom);
    font-size: var(--bs-breadcrumb-font-size);
    list-style: none;
    background-color: var(--bs-breadcrumb-bg);
    border-radius: var(--bs-breadcrumb-border-radius)
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: var(--bs-breadcrumb-item-padding-x)
}

.breadcrumb-item+.breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/")
}

.breadcrumb-item.active {
    color: var(--bs-breadcrumb-item-active-color)
}

.pagination {
    --bs-pagination-padding-x: .75rem;
    --bs-pagination-padding-y: .375rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-color: var(--bs-link-color);
    --bs-pagination-bg: var(--bs-body-bg);
    --bs-pagination-border-width: var(--bs-border-width);
    --bs-pagination-border-color: var(--bs-border-color);
    --bs-pagination-border-radius: var(--bs-border-radius);
    --bs-pagination-hover-color: var(--bs-link-hover-color);
    --bs-pagination-hover-bg: var(--bs-tertiary-bg);
    --bs-pagination-hover-border-color: var(--bs-border-color);
    --bs-pagination-focus-color: var(--bs-link-hover-color);
    --bs-pagination-focus-bg: var(--bs-secondary-bg);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #0d6efd;
    --bs-pagination-active-border-color: #0d6efd;
    --bs-pagination-disabled-color: var(--bs-secondary-color);
    --bs-pagination-disabled-bg: var(--bs-secondary-bg);
    --bs-pagination-disabled-border-color: var(--bs-border-color);
    display: flex;
    padding-left: 0;
    list-style: none
}

.page-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    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) {
    .page-link {
        transition: none
    }
}

.page-link:hover {
    z-index: 2;
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color)
}

.page-link:focus {
    z-index: 3;
    color: var(--bs-pagination-focus-color);
    background-color: var(--bs-pagination-focus-bg);
    outline: 0;
    box-shadow: var(--bs-pagination-focus-box-shadow)
}

.active>.page-link,
.page-link.active {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color)
}

.disabled>.page-link,
.page-link.disabled {
    color: var(--bs-pagination-disabled-color);
    pointer-events: none;
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color)
}

.page-item:not(:first-child) .page-link {
    margin-left: calc(-1 * var(--bs-border-width))
}

.page-item:first-child .page-link {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius)
}

.page-item:last-child .page-link {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius)
}

.pagination-lg {
    --bs-pagination-padding-x: 1.5rem;
    --bs-pagination-padding-y: .75rem;
    --bs-pagination-font-size: 1.25rem;
    --bs-pagination-border-radius: var(--bs-border-radius-lg)
}

.pagination-sm {
    --bs-pagination-padding-x: .5rem;
    --bs-pagination-padding-y: .25rem;
    --bs-pagination-font-size: .875rem;
    --bs-pagination-border-radius: var(--bs-border-radius-sm)
}

.badge {
    --bs-badge-padding-x: .65em;
    --bs-badge-padding-y: .35em;
    --bs-badge-font-size: .75em;
    --bs-badge-font-weight: 700;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: var(--bs-border-radius);
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius)
}

.badge:empty {
    display: none
}

.btn .badge {
    position: relative;
    top: -1px
}

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: var(--bs-border-radius);
    --bs-alert-link-color: inherit;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius)
}

.alert-heading {
    color: inherit
}

.alert-link {
    font-weight: 700;
    color: var(--bs-alert-link-color)
}

.alert-dismissible {
    padding-right: 3rem
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem
}

.alert-primary {
    --bs-alert-color: var(--bs-primary-text-emphasis);
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: var(--bs-primary-text-emphasis)
}

.alert-secondary {
    --bs-alert-color: var(--bs-secondary-text-emphasis);
    --bs-alert-bg: var(--bs-secondary-bg-subtle);
    --bs-alert-border-color: var(--bs-secondary-border-subtle);
    --bs-alert-link-color: var(--bs-secondary-text-emphasis)
}

.alert-success {
    --bs-alert-color: var(--bs-success-text-emphasis);
    --bs-alert-bg: var(--bs-success-bg-subtle);
    --bs-alert-border-color: var(--bs-success-border-subtle);
    --bs-alert-link-color: var(--bs-success-text-emphasis)
}

.alert-info {
    --bs-alert-color: var(--bs-info-text-emphasis);
    --bs-alert-bg: var(--bs-info-bg-subtle);
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-link-color: var(--bs-info-text-emphasis)
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: var(--bs-warning-bg-subtle);
    --bs-alert-border-color: var(--bs-warning-border-subtle);
    --bs-alert-link-color: var(--bs-warning-text-emphasis)
}

.alert-danger {
    --bs-alert-color: var(--bs-danger-text-emphasis);
    --bs-alert-bg: var(--bs-danger-bg-subtle);
    --bs-alert-border-color: var(--bs-danger-border-subtle);
    --bs-alert-link-color: var(--bs-danger-text-emphasis)
}

.alert-light {
    --bs-alert-color: var(--bs-light-text-emphasis);
    --bs-alert-bg: var(--bs-light-bg-subtle);
    --bs-alert-border-color: var(--bs-light-border-subtle);
    --bs-alert-link-color: var(--bs-light-text-emphasis)
}

.alert-dark {
    --bs-alert-color: var(--bs-dark-text-emphasis);
    --bs-alert-bg: var(--bs-dark-bg-subtle);
    --bs-alert-border-color: var(--bs-dark-border-subtle);
    --bs-alert-link-color: var(--bs-dark-text-emphasis)
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: var(--bs-progress-height)
    }
}

.progress,
.progress-stacked {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: .75rem;
    --bs-progress-bg: var(--bs-secondary-bg);
    --bs-progress-border-radius: var(--bs-border-radius);
    --bs-progress-box-shadow: var(--bs-box-shadow-inset);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: #0d6efd;
    --bs-progress-bar-transition: width .6s ease;
    display: flex;
    height: var(--bs-progress-height);
    overflow: hidden;
    font-size: var(--bs-progress-font-size);
    background-color: var(--bs-progress-bg);
    border-radius: var(--bs-progress-border-radius)
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: var(--bs-progress-bar-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-progress-bar-bg);
    transition: var(--bs-progress-bar-transition)
}

@media(prefers-reduced-motion:reduce) {
    .progress-bar {
        transition: none
    }
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
    background-size: var(--bs-progress-height) var(--bs-progress-height)
}

.progress-stacked>.progress {
    overflow: visible
}

.progress-stacked>.progress>.progress-bar {
    width: 100%
}

.progress-bar-animated {
    animation: 1s linear infinite progress-bar-stripes
}

@media(prefers-reduced-motion:reduce) {
    .progress-bar-animated {
        animation: none
    }
}

.list-group {
    --bs-list-group-color: var(--bs-body-color);
    --bs-list-group-bg: var(--bs-body-bg);
    --bs-list-group-border-color: var(--bs-border-color);
    --bs-list-group-border-width: var(--bs-border-width);
    --bs-list-group-border-radius: var(--bs-border-radius);
    --bs-list-group-item-padding-x: 1rem;
    --bs-list-group-item-padding-y: .5rem;
    --bs-list-group-action-color: var(--bs-secondary-color);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
    --bs-list-group-action-active-color: var(--bs-body-color);
    --bs-list-group-action-active-bg: var(--bs-secondary-bg);
    --bs-list-group-disabled-color: var(--bs-secondary-color);
    --bs-list-group-disabled-bg: var(--bs-body-bg);
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: #0d6efd;
    --bs-list-group-active-border-color: #0d6efd;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--bs-list-group-border-radius)
}

.list-group-numbered {
    list-style-type: none;
    counter-reset: section
}

.list-group-numbered>.list-group-item:before {
    content: counters(section, ".") ". ";
    counter-increment: section
}

.list-group-item {
    position: relative;
    display: block;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    color: var(--bs-list-group-color);
    text-decoration: none;
    background-color: var(--bs-list-group-bg);
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)
}

.list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: var(--bs-list-group-disabled-color);
    pointer-events: none;
    background-color: var(--bs-list-group-disabled-bg)
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--bs-list-group-active-bg);
    border-color: var(--bs-list-group-active-border-color)
}

.list-group-item+.list-group-item {
    border-top-width: 0
}

.list-group-item+.list-group-item.active {
    margin-top: calc(-1 * var(--bs-list-group-border-width));
    border-top-width: var(--bs-list-group-border-width)
}

.list-group-item-action {
    width: 100%;
    color: var(--bs-list-group-action-color);
    text-align: inherit
}

.list-group-item-action:not(.active):focus,
.list-group-item-action:not(.active):hover {
    z-index: 1;
    color: var(--bs-list-group-action-hover-color);
    text-decoration: none;
    background-color: var(--bs-list-group-action-hover-bg)
}

.list-group-item-action:not(.active):active {
    color: var(--bs-list-group-action-active-color);
    background-color: var(--bs-list-group-action-active-bg)
}

.list-group-horizontal {
    flex-direction: row
}

.list-group-horizontal>.list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0
}

.list-group-horizontal>.list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0
}

.list-group-horizontal>.list-group-item.active {
    margin-top: 0
}

.list-group-horizontal>.list-group-item+.list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0
}

.list-group-horizontal>.list-group-item+.list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width)
}

@media(min-width:576px) {
    .list-group-horizontal-sm {
        flex-direction: row
    }

    .list-group-horizontal-sm>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-sm>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-sm>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-sm>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-sm>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media(min-width:768px) {
    .list-group-horizontal-md {
        flex-direction: row
    }

    .list-group-horizontal-md>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-md>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-md>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-md>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-md>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media(min-width:992px) {
    .list-group-horizontal-lg {
        flex-direction: row
    }

    .list-group-horizontal-lg>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-lg>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-lg>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-lg>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-lg>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media(min-width:1200px) {
    .list-group-horizontal-xl {
        flex-direction: row
    }

    .list-group-horizontal-xl>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-xl>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-xl>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-xl>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-xl>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media(min-width:1400px) {
    .list-group-horizontal-xxl {
        flex-direction: row
    }

    .list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-xxl>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-xxl>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-xxl>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

.list-group-flush {
    border-radius: 0
}

.list-group-flush>.list-group-item {
    border-width: 0 0 var(--bs-list-group-border-width)
}

.list-group-flush>.list-group-item:last-child {
    border-bottom-width: 0
}

.list-group-item-primary {
    --bs-list-group-color: var(--bs-primary-text-emphasis);
    --bs-list-group-bg: var(--bs-primary-bg-subtle);
    --bs-list-group-border-color: var(--bs-primary-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
    --bs-list-group-active-color: var(--bs-primary-bg-subtle);
    --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-primary-text-emphasis)
}

.list-group-item-secondary {
    --bs-list-group-color: var(--bs-secondary-text-emphasis);
    --bs-list-group-bg: var(--bs-secondary-bg-subtle);
    --bs-list-group-border-color: var(--bs-secondary-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
    --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
    --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)
}

.list-group-item-success {
    --bs-list-group-color: var(--bs-success-text-emphasis);
    --bs-list-group-bg: var(--bs-success-bg-subtle);
    --bs-list-group-border-color: var(--bs-success-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
    --bs-list-group-active-color: var(--bs-success-bg-subtle);
    --bs-list-group-active-bg: var(--bs-success-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-success-text-emphasis)
}

.list-group-item-info {
    --bs-list-group-color: var(--bs-info-text-emphasis);
    --bs-list-group-bg: var(--bs-info-bg-subtle);
    --bs-list-group-border-color: var(--bs-info-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
    --bs-list-group-active-color: var(--bs-info-bg-subtle);
    --bs-list-group-active-bg: var(--bs-info-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-info-text-emphasis)
}

.list-group-item-warning {
    --bs-list-group-color: var(--bs-warning-text-emphasis);
    --bs-list-group-bg: var(--bs-warning-bg-subtle);
    --bs-list-group-border-color: var(--bs-warning-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
    --bs-list-group-active-color: var(--bs-warning-bg-subtle);
    --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-warning-text-emphasis)
}

.list-group-item-danger {
    --bs-list-group-color: var(--bs-danger-text-emphasis);
    --bs-list-group-bg: var(--bs-danger-bg-subtle);
    --bs-list-group-border-color: var(--bs-danger-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
    --bs-list-group-active-color: var(--bs-danger-bg-subtle);
    --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-danger-text-emphasis)
}

.list-group-item-light {
    --bs-list-group-color: var(--bs-light-text-emphasis);
    --bs-list-group-bg: var(--bs-light-bg-subtle);
    --bs-list-group-border-color: var(--bs-light-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
    --bs-list-group-active-color: var(--bs-light-bg-subtle);
    --bs-list-group-active-bg: var(--bs-light-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-light-text-emphasis)
}

.list-group-item-dark {
    --bs-list-group-color: var(--bs-dark-text-emphasis);
    --bs-list-group-bg: var(--bs-dark-bg-subtle);
    --bs-list-group-border-color: var(--bs-dark-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
    --bs-list-group-active-color: var(--bs-dark-bg-subtle);
    --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-dark-text-emphasis)
}

.btn-close {
    --bs-btn-close-color: #000;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: .5;
    --bs-btn-close-hover-opacity: .75;
    --bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: .25;
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    filter: var(--bs-btn-close-filter);
    border: 0;
    border-radius: .375rem;
    opacity: var(--bs-btn-close-opacity)
}

.btn-close:hover {
    color: var(--bs-btn-close-color);
    text-decoration: none;
    opacity: var(--bs-btn-close-hover-opacity)
}

.btn-close:focus {
    outline: 0;
    box-shadow: var(--bs-btn-close-focus-shadow);
    opacity: var(--bs-btn-close-focus-opacity)
}

.btn-close.disabled,
.btn-close:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    opacity: var(--bs-btn-close-disabled-opacity)
}

.btn-close-white {
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)
}

:root,
[data-bs-theme=light] {
    --bs-btn-close-filter:
}

[data-bs-theme=dark] {
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)
}

.toast {
    --bs-toast-zindex: 1090;
    --bs-toast-padding-x: .75rem;
    --bs-toast-padding-y: .5rem;
    --bs-toast-spacing: 1.5rem;
    --bs-toast-max-width: 350px;
    --bs-toast-font-size: .875rem;
    --bs-toast-color: ;
    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);
    --bs-toast-border-width: var(--bs-border-width);
    --bs-toast-border-color: var(--bs-border-color-translucent);
    --bs-toast-border-radius: var(--bs-border-radius);
    --bs-toast-box-shadow: var(--bs-box-shadow);
    --bs-toast-header-color: var(--bs-secondary-color);
    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);
    --bs-toast-header-border-color: var(--bs-border-color-translucent);
    width: var(--bs-toast-max-width);
    max-width: 100%;
    font-size: var(--bs-toast-font-size);
    color: var(--bs-toast-color);
    pointer-events: auto;
    background-color: var(--bs-toast-bg);
    background-clip: padding-box;
    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
    box-shadow: var(--bs-toast-box-shadow);
    border-radius: var(--bs-toast-border-radius)
}

.toast.showing {
    opacity: 0
}

.toast:not(.show) {
    display: none
}

.toast-container {
    --bs-toast-zindex: 1090;
    position: absolute;
    z-index: var(--bs-toast-zindex);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    pointer-events: none
}

.toast-container>:not(:last-child) {
    margin-bottom: var(--bs-toast-spacing)
}

.toast-header {
    display: flex;
    align-items: center;
    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
    color: var(--bs-toast-header-color);
    background-color: var(--bs-toast-header-bg);
    background-clip: padding-box;
    border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
    border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
    border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))
}

.toast-header .btn-close {
    margin-right: calc(-.5 * var(--bs-toast-padding-x));
    margin-left: var(--bs-toast-padding-x)
}

.toast-body {
    padding: var(--bs-toast-padding-x);
    word-wrap: break-word
}

.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: .5rem;
    --bs-modal-color: var(--bs-body-color);
    --bs-modal-bg: var(--bs-body-bg);
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: var(--bs-border-width);
    --bs-modal-border-radius: var(--bs-border-radius-lg);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
    --bs-modal-header-padding-x: 1rem;
    --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-padding: 1rem 1rem;
    --bs-modal-header-border-color: var(--bs-border-color);
    --bs-modal-header-border-width: var(--bs-border-width);
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: .5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: var(--bs-border-width);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: var(--bs-modal-margin);
    pointer-events: none
}

.modal.fade .modal-dialog {
    transform: translateY(-50px);
    transition: transform .3s ease-out
}

@media(prefers-reduced-motion:reduce) {
    .modal.fade .modal-dialog {
        transition: none
    }
}

.modal.show .modal-dialog {
    transform: none
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02)
}

.modal-dialog-scrollable {
    height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-color: var(--bs-modal-bg);
    background-clip: padding-box;
    border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
    border-radius: var(--bs-modal-border-radius);
    outline: 0
}

.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #000;
    --bs-backdrop-opacity: .5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg)
}

.modal-backdrop.fade {
    opacity: 0
}

.modal-backdrop.show {
    opacity: var(--bs-backdrop-opacity)
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--bs-modal-header-padding);
    border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
    border-top-left-radius: var(--bs-modal-inner-border-radius);
    border-top-right-radius: var(--bs-modal-inner-border-radius)
}

.modal-header .btn-close {
    padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-modal-header-padding-y));
    margin-right: calc(-.5 * var(--bs-modal-header-padding-x));
    margin-bottom: calc(-.5 * var(--bs-modal-header-padding-y));
    margin-left: auto
}

.modal-title {
    margin-bottom: 0;
    line-height: var(--bs-modal-title-line-height)
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--bs-modal-padding)
}

.modal-footer {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
    background-color: var(--bs-modal-footer-bg);
    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
    border-bottom-right-radius: var(--bs-modal-inner-border-radius);
    border-bottom-left-radius: var(--bs-modal-inner-border-radius)
}

.modal-footer>* {
    margin: calc(var(--bs-modal-footer-gap) * .5)
}

@media(min-width:576px) {
    .modal {
        --bs-modal-margin: 1.75rem;
        --bs-modal-box-shadow: var(--bs-box-shadow)
    }

    .modal-dialog {
        max-width: var(--bs-modal-width);
        margin-right: auto;
        margin-left: auto
    }

    .modal-sm {
        --bs-modal-width: 300px
    }
}

@media(min-width:992px) {

    .modal-lg,
    .modal-xl {
        --bs-modal-width: 800px
    }
}

@media(min-width:1200px) {
    .modal-xl {
        --bs-modal-width: 1140px
    }
}

.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0
}

.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0
}

.modal-fullscreen .modal-footer,
.modal-fullscreen .modal-header {
    border-radius: 0
}

.modal-fullscreen .modal-body {
    overflow-y: auto
}

@media(max-width:575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-sm-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-footer,
    .modal-fullscreen-sm-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-md-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-footer,
    .modal-fullscreen-md-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-lg-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-footer,
    .modal-fullscreen-lg-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-footer,
    .modal-fullscreen-xl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto
    }
}

@media(max-width:1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xxl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-footer,
    .modal-fullscreen-xxl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto
    }
}

.tooltip {
    --bs-tooltip-zindex: 1080;
    --bs-tooltip-max-width: 200px;
    --bs-tooltip-padding-x: .5rem;
    --bs-tooltip-padding-y: .25rem;
    --bs-tooltip-margin: ;
    --bs-tooltip-font-size: .875rem;
    --bs-tooltip-color: var(--bs-body-bg);
    --bs-tooltip-bg: var(--bs-emphasis-color);
    --bs-tooltip-border-radius: var(--bs-border-radius);
    --bs-tooltip-opacity: .9;
    --bs-tooltip-arrow-width: .8rem;
    --bs-tooltip-arrow-height: .4rem;
    z-index: var(--bs-tooltip-zindex);
    display: block;
    margin: var(--bs-tooltip-margin);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-tooltip-font-size);
    word-wrap: break-word;
    opacity: 0
}

.tooltip.show {
    opacity: var(--bs-tooltip-opacity)
}

.tooltip .tooltip-arrow {
    display: block;
    width: var(--bs-tooltip-arrow-width);
    height: var(--bs-tooltip-arrow-height)
}

.tooltip .tooltip-arrow:before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,
.bs-tooltip-top .tooltip-arrow {
    bottom: calc(-1 * var(--bs-tooltip-arrow-height))
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,
.bs-tooltip-top .tooltip-arrow:before {
    top: -1px;
    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-top-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,
.bs-tooltip-end .tooltip-arrow {
    left: calc(-1 * var(--bs-tooltip-arrow-height));
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width)
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,
.bs-tooltip-end .tooltip-arrow:before {
    right: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-right-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,
.bs-tooltip-bottom .tooltip-arrow {
    top: calc(-1 * var(--bs-tooltip-arrow-height))
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,
.bs-tooltip-bottom .tooltip-arrow:before {
    bottom: -1px;
    border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-bottom-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,
.bs-tooltip-start .tooltip-arrow {
    right: calc(-1 * var(--bs-tooltip-arrow-height));
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width)
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,
.bs-tooltip-start .tooltip-arrow:before {
    left: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-left-color: var(--bs-tooltip-bg)
}

.tooltip-inner {
    max-width: var(--bs-tooltip-max-width);
    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
    color: var(--bs-tooltip-color);
    text-align: center;
    background-color: var(--bs-tooltip-bg);
    border-radius: var(--bs-tooltip-border-radius)
}

.popover {
    --bs-popover-zindex: 1070;
    --bs-popover-max-width: 276px;
    --bs-popover-font-size: .875rem;
    --bs-popover-bg: var(--bs-body-bg);
    --bs-popover-border-width: var(--bs-border-width);
    --bs-popover-border-color: var(--bs-border-color-translucent);
    --bs-popover-border-radius: var(--bs-border-radius-lg);
    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
    --bs-popover-box-shadow: var(--bs-box-shadow);
    --bs-popover-header-padding-x: 1rem;
    --bs-popover-header-padding-y: .5rem;
    --bs-popover-header-font-size: 1rem;
    --bs-popover-header-color: inherit;
    --bs-popover-header-bg: var(--bs-secondary-bg);
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: 1rem;
    --bs-popover-body-color: var(--bs-body-color);
    --bs-popover-arrow-width: 1rem;
    --bs-popover-arrow-height: .5rem;
    --bs-popover-arrow-border: var(--bs-popover-border-color);
    z-index: var(--bs-popover-zindex);
    display: block;
    max-width: var(--bs-popover-max-width);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-popover-font-size);
    word-wrap: break-word;
    background-color: var(--bs-popover-bg);
    background-clip: padding-box;
    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-radius: var(--bs-popover-border-radius)
}

.popover .popover-arrow {
    display: block;
    width: var(--bs-popover-arrow-width);
    height: var(--bs-popover-arrow-height)
}

.popover .popover-arrow:after,
.popover .popover-arrow:before {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-width: 0
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,
.bs-popover-top>.popover-arrow {
    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,
.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,
.bs-popover-top>.popover-arrow:after,
.bs-popover-top>.popover-arrow:before {
    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,
.bs-popover-top>.popover-arrow:before {
    bottom: 0;
    border-top-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,
.bs-popover-top>.popover-arrow:after {
    bottom: var(--bs-popover-border-width);
    border-top-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,
.bs-popover-end>.popover-arrow {
    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,
.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,
.bs-popover-end>.popover-arrow:after,
.bs-popover-end>.popover-arrow:before {
    border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,
.bs-popover-end>.popover-arrow:before {
    left: 0;
    border-right-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,
.bs-popover-end>.popover-arrow:after {
    left: var(--bs-popover-border-width);
    border-right-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,
.bs-popover-bottom>.popover-arrow {
    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,
.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,
.bs-popover-bottom>.popover-arrow:after,
.bs-popover-bottom>.popover-arrow:before {
    border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,
.bs-popover-bottom>.popover-arrow:before {
    top: 0;
    border-bottom-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,
.bs-popover-bottom>.popover-arrow:after {
    top: var(--bs-popover-border-width);
    border-bottom-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,
.bs-popover-bottom .popover-header:before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: var(--bs-popover-arrow-width);
    margin-left: calc(-.5 * var(--bs-popover-arrow-width));
    content: "";
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,
.bs-popover-start>.popover-arrow {
    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,
.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,
.bs-popover-start>.popover-arrow:after,
.bs-popover-start>.popover-arrow:before {
    border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,
.bs-popover-start>.popover-arrow:before {
    right: 0;
    border-left-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,
.bs-popover-start>.popover-arrow:after {
    right: var(--bs-popover-border-width);
    border-left-color: var(--bs-popover-bg)
}

.popover-header {
    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
    margin-bottom: 0;
    font-size: var(--bs-popover-header-font-size);
    color: var(--bs-popover-header-color);
    background-color: var(--bs-popover-header-bg);
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-top-left-radius: var(--bs-popover-inner-border-radius);
    border-top-right-radius: var(--bs-popover-inner-border-radius)
}

.popover-header:empty {
    display: none
}

.popover-body {
    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
    color: var(--bs-popover-body-color)
}

.carousel {
    position: relative
}

.carousel.pointer-event {
    touch-action: pan-y
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-inner:after {
    display: block;
    clear: both;
    content: ""
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform .6s ease-in-out
}

@media(prefers-reduced-motion:reduce) {
    .carousel-item {
        transition: none
    }
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    display: block
}

.active.carousel-item-end,
.carousel-item-next:not(.carousel-item-start) {
    transform: translate(100%)
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
    transform: translate(-100%)
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none
}

.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end,
.carousel-fade .carousel-item.active {
    z-index: 1;
    opacity: 1
}

.carousel-fade .active.carousel-item-end,
.carousel-fade .active.carousel-item-start {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s .6s
}

@media(prefers-reduced-motion:reduce) {

    .carousel-fade .active.carousel-item-end,
    .carousel-fade .active.carousel-item-start {
        transition: none
    }
}

.carousel-control-next,
.carousel-control-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    padding: 0;
    color: #fff;
    text-align: center;
    background: 0 0;
    filter: var(--bs-carousel-control-icon-filter);
    border: 0;
    opacity: .5;
    transition: opacity .15s ease
}

@media(prefers-reduced-motion:reduce) {

    .carousel-control-next,
    .carousel-control-prev {
        transition: none
    }
}

.carousel-control-next:focus,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-prev:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9
}

.carousel-control-prev {
    left: 0
}

.carousel-control-next {
    right: 0
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100% 100%
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 15%
}

.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: var(--bs-carousel-indicator-active-bg);
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease
}

@media(prefers-reduced-motion:reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none
    }
}

.carousel-indicators .active {
    opacity: 1
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 1.25rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: var(--bs-carousel-caption-color);
    text-align: center
}

.carousel-dark {
    --bs-carousel-indicator-active-bg: #000;
    --bs-carousel-caption-color: #000;
    --bs-carousel-control-icon-filter: invert(1) grayscale(100)
}

:root,
[data-bs-theme=light] {
    --bs-carousel-indicator-active-bg: #fff;
    --bs-carousel-caption-color: #fff;
    --bs-carousel-control-icon-filter:
}

[data-bs-theme=dark] {
    --bs-carousel-indicator-active-bg: #000;
    --bs-carousel-caption-color: #000;
    --bs-carousel-control-icon-filter: invert(1) grayscale(100)
}

.spinner-border,
.spinner-grow {
    display: inline-block;
    flex-shrink: 0;
    width: var(--bs-spinner-width);
    height: var(--bs-spinner-height);
    vertical-align: var(--bs-spinner-vertical-align);
    border-radius: 50%;
    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

.spinner-border {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -.125em;
    --bs-spinner-border-width: .25em;
    --bs-spinner-animation-speed: .75s;
    --bs-spinner-animation-name: spinner-border;
    border: var(--bs-spinner-border-width) solid currentcolor;
    border-right-color: transparent
}

.spinner-border-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
    --bs-spinner-border-width: .2em
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

.spinner-grow {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -.125em;
    --bs-spinner-animation-speed: .75s;
    --bs-spinner-animation-name: spinner-grow;
    background-color: currentcolor;
    opacity: 0
}

.spinner-grow-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem
}

@media(prefers-reduced-motion:reduce) {

    .spinner-border,
    .spinner-grow {
        --bs-spinner-animation-speed: 1.5s
    }
}

.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-width: 400px;
    --bs-offcanvas-height: 30vh;
    --bs-offcanvas-padding-x: 1rem;
    --bs-offcanvas-padding-y: 1rem;
    --bs-offcanvas-color: var(--bs-body-color);
    --bs-offcanvas-bg: var(--bs-body-bg);
    --bs-offcanvas-border-width: var(--bs-border-width);
    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
    --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
    --bs-offcanvas-transition: transform .3s ease-in-out;
    --bs-offcanvas-title-line-height: 1.5
}

@media(max-width:575.98px) {
    .offcanvas-sm {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media(max-width:575.98px)and (prefers-reduced-motion:reduce) {
    .offcanvas-sm {
        transition: none
    }
}

@media(max-width:575.98px) {
    .offcanvas-sm.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(-100%)
    }

    .offcanvas-sm.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(100%)
    }

    .offcanvas-sm.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-sm.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-sm.show:not(.hiding),
    .offcanvas-sm.showing {
        transform: none
    }

    .offcanvas-sm.hiding,
    .offcanvas-sm.show,
    .offcanvas-sm.showing {
        visibility: visible
    }
}

@media(min-width:576px) {
    .offcanvas-sm {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-sm .offcanvas-header {
        display: none
    }

    .offcanvas-sm .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media(max-width:767.98px) {
    .offcanvas-md {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media(max-width:767.98px)and (prefers-reduced-motion:reduce) {
    .offcanvas-md {
        transition: none
    }
}

@media(max-width:767.98px) {
    .offcanvas-md.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(-100%)
    }

    .offcanvas-md.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(100%)
    }

    .offcanvas-md.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-md.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-md.show:not(.hiding),
    .offcanvas-md.showing {
        transform: none
    }

    .offcanvas-md.hiding,
    .offcanvas-md.show,
    .offcanvas-md.showing {
        visibility: visible
    }
}

@media(min-width:768px) {
    .offcanvas-md {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-md .offcanvas-header {
        display: none
    }

    .offcanvas-md .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media(max-width:991.98px) {
    .offcanvas-lg {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media(max-width:991.98px)and (prefers-reduced-motion:reduce) {
    .offcanvas-lg {
        transition: none
    }
}

@media(max-width:991.98px) {
    .offcanvas-lg.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(-100%)
    }

    .offcanvas-lg.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(100%)
    }

    .offcanvas-lg.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-lg.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-lg.show:not(.hiding),
    .offcanvas-lg.showing {
        transform: none
    }

    .offcanvas-lg.hiding,
    .offcanvas-lg.show,
    .offcanvas-lg.showing {
        visibility: visible
    }
}

@media(min-width:992px) {
    .offcanvas-lg {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-lg .offcanvas-header {
        display: none
    }

    .offcanvas-lg .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media(max-width:1199.98px) {
    .offcanvas-xl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media(max-width:1199.98px)and (prefers-reduced-motion:reduce) {
    .offcanvas-xl {
        transition: none
    }
}

@media(max-width:1199.98px) {
    .offcanvas-xl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(-100%)
    }

    .offcanvas-xl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(100%)
    }

    .offcanvas-xl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-xl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-xl.show:not(.hiding),
    .offcanvas-xl.showing {
        transform: none
    }

    .offcanvas-xl.hiding,
    .offcanvas-xl.show,
    .offcanvas-xl.showing {
        visibility: visible
    }
}

@media(min-width:1200px) {
    .offcanvas-xl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xl .offcanvas-header {
        display: none
    }

    .offcanvas-xl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media(max-width:1399.98px) {
    .offcanvas-xxl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media(max-width:1399.98px)and (prefers-reduced-motion:reduce) {
    .offcanvas-xxl {
        transition: none
    }
}

@media(max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(-100%)
    }

    .offcanvas-xxl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translate(100%)
    }

    .offcanvas-xxl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-xxl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-xxl.show:not(.hiding),
    .offcanvas-xxl.showing {
        transform: none
    }

    .offcanvas-xxl.hiding,
    .offcanvas-xxl.show,
    .offcanvas-xxl.showing {
        visibility: visible
    }
}

@media(min-width:1400px) {
    .offcanvas-xxl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xxl .offcanvas-header {
        display: none
    }

    .offcanvas-xxl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition)
}

@media(prefers-reduced-motion:reduce) {
    .offcanvas {
        transition: none
    }
}

.offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translate(-100%)
}

.offcanvas.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translate(100%)
}

.offcanvas.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%)
}

.offcanvas.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%)
}

.offcanvas.show:not(.hiding),
.offcanvas.showing {
    transform: none
}

.offcanvas.hiding,
.offcanvas.show,
.offcanvas.showing {
    visibility: visible
}

.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000
}

.offcanvas-backdrop.fade {
    opacity: 0
}

.offcanvas-backdrop.show {
    opacity: .5
}

.offcanvas-header {
    display: flex;
    align-items: center;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)
}

.offcanvas-header .btn-close {
    padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-right: calc(-.5 * var(--bs-offcanvas-padding-x));
    margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-left: auto
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: var(--bs-offcanvas-title-line-height)
}

.offcanvas-body {
    flex-grow: 1;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
    overflow-y: auto
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: wait;
    background-color: currentcolor;
    opacity: .5
}

.placeholder.btn:before {
    display: inline-block;
    content: ""
}

.placeholder-xs {
    min-height: .6em
}

.placeholder-sm {
    min-height: .8em
}

.placeholder-lg {
    min-height: 1.2em
}

.placeholder-glow .placeholder {
    animation: placeholder-glow 2s ease-in-out infinite
}

@keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

.placeholder-wave {
    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, .8) 75%, #000 95%);
    mask-image: linear-gradient(130deg, #000 55%, #000c, #000 95%);
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    animation: placeholder-wave 2s linear infinite
}

@keyframes placeholder-wave {
    to {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

.clearfix:after {
    display: block;
    clear: both;
    content: ""
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-info {
    color: #000 !important;
    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-warning {
    color: #000 !important;
    background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-light {
    color: #000 !important;
    background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important
}

.link-primary {
    color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-primary:focus,
.link-primary:hover {
    color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important
}

.link-secondary {
    color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-secondary:focus,
.link-secondary:hover {
    color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important
}

.link-success {
    color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-success:focus,
.link-success:hover {
    color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important
}

.link-info {
    color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-info:focus,
.link-info:hover {
    color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important
}

.link-warning {
    color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-warning:focus,
.link-warning:hover {
    color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important
}

.link-danger {
    color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-danger:focus,
.link-danger:hover {
    color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important
}

.link-light {
    color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-light:focus,
.link-light:hover {
    color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important
}

.link-dark {
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-dark:focus,
.link-dark:hover {
    color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important
}

.link-body-emphasis {
    color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-body-emphasis:focus,
.link-body-emphasis:hover {
    color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, .75)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, .75)) !important;
    text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, .75)) !important
}

.focus-ring:focus {
    outline: 0;
    box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)
}

.icon-link {
    display: inline-flex;
    gap: .375rem;
    align-items: center;
    -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, .5));
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, .5));
    text-underline-offset: .25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.icon-link>.bi {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    fill: currentcolor;
    transition: .2s ease-in-out transform
}

@media(prefers-reduced-motion:reduce) {
    .icon-link>.bi {
        transition: none
    }
}

.icon-link-hover:focus-visible>.bi,
.icon-link-hover:hover>.bi {
    transform: var(--bs-icon-link-transform, translate3d(.25em, 0, 0))
}

.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: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020
}

.sticky-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020
}

@media(min-width:576px) {
    .sticky-sm-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-sm-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width:768px) {
    .sticky-md-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-md-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width:992px) {
    .sticky-lg-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-lg-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width:1200px) {
    .sticky-xl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xl-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media(min-width:1400px) {
    .sticky-xxl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xxl-bottom {
        position: -webkit-sticky;
        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) {
    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
}

.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),
.visually-hidden:not(caption) {
    position: absolute !important
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
    overflow: hidden !important
}

.stretched-link:after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: ""
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vr {
    display: inline-block;
    align-self: stretch;
    width: var(--bs-border-width);
    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
}

.object-fit-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important
}

.object-fit-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important
}

.object-fit-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important
}

.object-fit-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important
}

.object-fit-none {
    -o-object-fit: none !important;
    object-fit: 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
}

.overflow-x-auto {
    overflow-x: auto !important
}

.overflow-x-hidden {
    overflow-x: hidden !important
}

.overflow-x-visible {
    overflow-x: visible !important
}

.overflow-x-scroll {
    overflow-x: scroll !important
}

.overflow-y-auto {
    overflow-y: auto !important
}

.overflow-y-hidden {
    overflow-y: hidden !important
}

.overflow-y-visible {
    overflow-y: visible !important
}

.overflow-y-scroll {
    overflow-y: 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-inline-grid {
    display: inline-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: var(--bs-box-shadow) !important
}

.shadow-sm {
    box-shadow: var(--bs-box-shadow-sm) !important
}

.shadow-lg {
    box-shadow: var(--bs-box-shadow-lg) !important
}

.shadow-none {
    box-shadow: none !important
}

.focus-ring-primary {
    --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-secondary {
    --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-success {
    --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-info {
    --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-warning {
    --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-danger {
    --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-light {
    --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-dark {
    --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: -webkit-sticky !important;
    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: translate(-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-black {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-black-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-primary-subtle {
    border-color: var(--bs-primary-border-subtle) !important
}

.border-secondary-subtle {
    border-color: var(--bs-secondary-border-subtle) !important
}

.border-success-subtle {
    border-color: var(--bs-success-border-subtle) !important
}

.border-info-subtle {
    border-color: var(--bs-info-border-subtle) !important
}

.border-warning-subtle {
    border-color: var(--bs-warning-border-subtle) !important
}

.border-danger-subtle {
    border-color: var(--bs-danger-border-subtle) !important
}

.border-light-subtle {
    border-color: var(--bs-light-border-subtle) !important
}

.border-dark-subtle {
    border-color: var(--bs-dark-border-subtle) !important
}

.border-1 {
    border-width: 1px !important
}

.border-2 {
    border-width: 2px !important
}

.border-3 {
    border-width: 3px !important
}

.border-4 {
    border-width: 4px !important
}

.border-5 {
    border-width: 5px !important
}

.border-opacity-10 {
    --bs-border-opacity: .1
}

.border-opacity-25 {
    --bs-border-opacity: .25
}

.border-opacity-50 {
    --bs-border-opacity: .5
}

.border-opacity-75 {
    --bs-border-opacity: .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: 3rem !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: 3rem !important;
    margin-left: 3rem !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: 3rem !important;
    margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
    padding-left: 3rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.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: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.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: 3rem !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: 3rem !important
}

.row-gap-0 {
    row-gap: 0 !important
}

.row-gap-1 {
    row-gap: .25rem !important
}

.row-gap-2 {
    row-gap: .5rem !important
}

.row-gap-3 {
    row-gap: 1rem !important
}

.row-gap-4 {
    row-gap: 1.5rem !important
}

.row-gap-5 {
    row-gap: 3rem !important
}

.column-gap-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important
}

.column-gap-1 {
    -moz-column-gap: .25rem !important;
    column-gap: .25rem !important
}

.column-gap-2 {
    -moz-column-gap: .5rem !important;
    column-gap: .5rem !important
}

.column-gap-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important
}

.column-gap-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important
}

.column-gap-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important
}

.font-monospace {
    font-family: var(--bs-font-monospace) !important
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important
}

.fs-3 {
    font-size: calc(1.3rem + .6vw) !important
}

.fs-4 {
    font-size: calc(1.275rem + .3vw) !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-lighter {
    font-weight: lighter !important
}

.fw-light {
    font-weight: 300 !important
}

.fw-normal {
    font-weight: 400 !important
}

.fw-medium {
    font-weight: 500 !important
}

.fw-semibold {
    font-weight: 600 !important
}

.fw-bold {
    font-weight: 700 !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: var(--bs-secondary-color) !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: #00000080 !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: #ffffff80 !important
}

.text-body-secondary {
    --bs-text-opacity: 1;
    color: var(--bs-secondary-color) !important
}

.text-body-tertiary {
    --bs-text-opacity: 1;
    color: var(--bs-tertiary-color) !important
}

.text-body-emphasis {
    --bs-text-opacity: 1;
    color: var(--bs-emphasis-color) !important
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important
}

.text-opacity-25 {
    --bs-text-opacity: .25
}

.text-opacity-50 {
    --bs-text-opacity: .5
}

.text-opacity-75 {
    --bs-text-opacity: .75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.text-primary-emphasis {
    color: var(--bs-primary-text-emphasis) !important
}

.text-secondary-emphasis {
    color: var(--bs-secondary-text-emphasis) !important
}

.text-success-emphasis {
    color: var(--bs-success-text-emphasis) !important
}

.text-info-emphasis {
    color: var(--bs-info-text-emphasis) !important
}

.text-warning-emphasis {
    color: var(--bs-warning-text-emphasis) !important
}

.text-danger-emphasis {
    color: var(--bs-danger-text-emphasis) !important
}

.text-light-emphasis {
    color: var(--bs-light-text-emphasis) !important
}

.text-dark-emphasis {
    color: var(--bs-dark-text-emphasis) !important
}

.link-opacity-10,
.link-opacity-10-hover:hover {
    --bs-link-opacity: .1
}

.link-opacity-25,
.link-opacity-25-hover:hover {
    --bs-link-opacity: .25
}

.link-opacity-50,
.link-opacity-50-hover:hover {
    --bs-link-opacity: .5
}

.link-opacity-75,
.link-opacity-75-hover:hover {
    --bs-link-opacity: .75
}

.link-opacity-100,
.link-opacity-100-hover:hover {
    --bs-link-opacity: 1
}

.link-offset-1,
.link-offset-1-hover:hover {
    text-underline-offset: .125em !important
}

.link-offset-2,
.link-offset-2-hover:hover {
    text-underline-offset: .25em !important
}

.link-offset-3,
.link-offset-3-hover:hover {
    text-underline-offset: .375em !important
}

.link-underline-primary {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-secondary {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-success {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-info {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-warning {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-danger {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-light {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-dark {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-underline-opacity-0,
.link-underline-opacity-0-hover:hover {
    --bs-link-underline-opacity: 0
}

.link-underline-opacity-10,
.link-underline-opacity-10-hover:hover {
    --bs-link-underline-opacity: .1
}

.link-underline-opacity-25,
.link-underline-opacity-25-hover:hover {
    --bs-link-underline-opacity: .25
}

.link-underline-opacity-50,
.link-underline-opacity-50-hover:hover {
    --bs-link-underline-opacity: .5
}

.link-underline-opacity-75,
.link-underline-opacity-75-hover:hover {
    --bs-link-underline-opacity: .75
}

.link-underline-opacity-100,
.link-underline-opacity-100-hover:hover {
    --bs-link-underline-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: transparent !important
}

.bg-body-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-body-tertiary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-opacity-10 {
    --bs-bg-opacity: .1
}

.bg-opacity-25 {
    --bs-bg-opacity: .25
}

.bg-opacity-50 {
    --bs-bg-opacity: .5
}

.bg-opacity-75 {
    --bs-bg-opacity: .75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-primary-subtle {
    background-color: var(--bs-primary-bg-subtle) !important
}

.bg-secondary-subtle {
    background-color: var(--bs-secondary-bg-subtle) !important
}

.bg-success-subtle {
    background-color: var(--bs-success-bg-subtle) !important
}

.bg-info-subtle {
    background-color: var(--bs-info-bg-subtle) !important
}

.bg-warning-subtle {
    background-color: var(--bs-warning-bg-subtle) !important
}

.bg-danger-subtle {
    background-color: var(--bs-danger-bg-subtle) !important
}

.bg-light-subtle {
    background-color: var(--bs-light-bg-subtle) !important
}

.bg-dark-subtle {
    background-color: var(--bs-dark-bg-subtle) !important
}

.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-xxl) !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-top-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important
}

.rounded-top-1 {
    border-top-left-radius: var(--bs-border-radius-sm) !important;
    border-top-right-radius: var(--bs-border-radius-sm) !important
}

.rounded-top-2 {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-top-3 {
    border-top-left-radius: var(--bs-border-radius-lg) !important;
    border-top-right-radius: var(--bs-border-radius-lg) !important
}

.rounded-top-4 {
    border-top-left-radius: var(--bs-border-radius-xl) !important;
    border-top-right-radius: var(--bs-border-radius-xl) !important
}

.rounded-top-5 {
    border-top-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-right-radius: var(--bs-border-radius-xxl) !important
}

.rounded-top-circle {
    border-top-left-radius: 50% !important;
    border-top-right-radius: 50% !important
}

.rounded-top-pill {
    border-top-left-radius: var(--bs-border-radius-pill) !important;
    border-top-right-radius: var(--bs-border-radius-pill) !important
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-end-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important
}

.rounded-end-1 {
    border-top-right-radius: var(--bs-border-radius-sm) !important;
    border-bottom-right-radius: var(--bs-border-radius-sm) !important
}

.rounded-end-2 {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-end-3 {
    border-top-right-radius: var(--bs-border-radius-lg) !important;
    border-bottom-right-radius: var(--bs-border-radius-lg) !important
}

.rounded-end-4 {
    border-top-right-radius: var(--bs-border-radius-xl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xl) !important
}

.rounded-end-5 {
    border-top-right-radius: var(--bs-border-radius-xxl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important
}

.rounded-end-circle {
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important
}

.rounded-end-pill {
    border-top-right-radius: var(--bs-border-radius-pill) !important;
    border-bottom-right-radius: var(--bs-border-radius-pill) !important
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-bottom-0 {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.rounded-bottom-1 {
    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
    border-bottom-left-radius: var(--bs-border-radius-sm) !important
}

.rounded-bottom-2 {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-bottom-3 {
    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
    border-bottom-left-radius: var(--bs-border-radius-lg) !important
}

.rounded-bottom-4 {
    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
    border-bottom-left-radius: var(--bs-border-radius-xl) !important
}

.rounded-bottom-5 {
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important
}

.rounded-bottom-circle {
    border-bottom-right-radius: 50% !important;
    border-bottom-left-radius: 50% !important
}

.rounded-bottom-pill {
    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
    border-bottom-left-radius: var(--bs-border-radius-pill) !important
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.rounded-start-0 {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important
}

.rounded-start-1 {
    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
    border-top-left-radius: var(--bs-border-radius-sm) !important
}

.rounded-start-2 {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.rounded-start-3 {
    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
    border-top-left-radius: var(--bs-border-radius-lg) !important
}

.rounded-start-4 {
    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
    border-top-left-radius: var(--bs-border-radius-xl) !important
}

.rounded-start-5 {
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-left-radius: var(--bs-border-radius-xxl) !important
}

.rounded-start-circle {
    border-bottom-left-radius: 50% !important;
    border-top-left-radius: 50% !important
}

.rounded-start-pill {
    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
    border-top-left-radius: var(--bs-border-radius-pill) !important
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

.z-n1 {
    z-index: -1 !important
}

.z-0 {
    z-index: 0 !important
}

.z-1 {
    z-index: 1 !important
}

.z-2 {
    z-index: 2 !important
}

.z-3 {
    z-index: 3 !important
}

@media(min-width:576px) {
    .float-sm-start {
        float: left !important
    }

    .float-sm-end {
        float: right !important
    }

    .float-sm-none {
        float: none !important
    }

    .object-fit-sm-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-sm-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-sm-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-sm-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-sm-none {
        -o-object-fit: none !important;
        object-fit: 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-inline-grid {
        display: inline-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: 3rem !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: 3rem !important;
        margin-left: 3rem !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: 3rem !important;
        margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
        padding-left: 3rem !important
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-sm-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-sm-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 3rem !important
    }

    .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: 3rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important
    }

    .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: 3rem !important
    }

    .gap-sm-0 {
        gap: 0 !important
    }

    .gap-sm-1 {
        gap: .25rem !important
    }

    .gap-sm-2 {
        gap: .5rem !important
    }

    .gap-sm-3 {
        gap: 1rem !important
    }

    .gap-sm-4 {
        gap: 1.5rem !important
    }

    .gap-sm-5 {
        gap: 3rem !important
    }

    .row-gap-sm-0 {
        row-gap: 0 !important
    }

    .row-gap-sm-1 {
        row-gap: .25rem !important
    }

    .row-gap-sm-2 {
        row-gap: .5rem !important
    }

    .row-gap-sm-3 {
        row-gap: 1rem !important
    }

    .row-gap-sm-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-sm-5 {
        row-gap: 3rem !important
    }

    .column-gap-sm-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-sm-1 {
        -moz-column-gap: .25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-sm-2 {
        -moz-column-gap: .5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-sm-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-sm-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-sm-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !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
    }

    .object-fit-md-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-md-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-md-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-md-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-md-none {
        -o-object-fit: none !important;
        object-fit: 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-inline-grid {
        display: inline-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: 3rem !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: 3rem !important;
        margin-left: 3rem !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: 3rem !important;
        margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
        padding-left: 3rem !important
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-md-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-md-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 3rem !important
    }

    .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: 3rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 3rem !important
    }

    .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: 3rem !important
    }

    .gap-md-0 {
        gap: 0 !important
    }

    .gap-md-1 {
        gap: .25rem !important
    }

    .gap-md-2 {
        gap: .5rem !important
    }

    .gap-md-3 {
        gap: 1rem !important
    }

    .gap-md-4 {
        gap: 1.5rem !important
    }

    .gap-md-5 {
        gap: 3rem !important
    }

    .row-gap-md-0 {
        row-gap: 0 !important
    }

    .row-gap-md-1 {
        row-gap: .25rem !important
    }

    .row-gap-md-2 {
        row-gap: .5rem !important
    }

    .row-gap-md-3 {
        row-gap: 1rem !important
    }

    .row-gap-md-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-md-5 {
        row-gap: 3rem !important
    }

    .column-gap-md-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-md-1 {
        -moz-column-gap: .25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-md-2 {
        -moz-column-gap: .5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-md-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-md-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-md-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !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
    }

    .object-fit-lg-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-lg-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-lg-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-lg-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-lg-none {
        -o-object-fit: none !important;
        object-fit: 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-inline-grid {
        display: inline-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: 3rem !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: 3rem !important;
        margin-left: 3rem !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: 3rem !important;
        margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
        padding-left: 3rem !important
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-lg-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-lg-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 3rem !important
    }

    .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: 3rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important
    }

    .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: 3rem !important
    }

    .gap-lg-0 {
        gap: 0 !important
    }

    .gap-lg-1 {
        gap: .25rem !important
    }

    .gap-lg-2 {
        gap: .5rem !important
    }

    .gap-lg-3 {
        gap: 1rem !important
    }

    .gap-lg-4 {
        gap: 1.5rem !important
    }

    .gap-lg-5 {
        gap: 3rem !important
    }

    .row-gap-lg-0 {
        row-gap: 0 !important
    }

    .row-gap-lg-1 {
        row-gap: .25rem !important
    }

    .row-gap-lg-2 {
        row-gap: .5rem !important
    }

    .row-gap-lg-3 {
        row-gap: 1rem !important
    }

    .row-gap-lg-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-lg-5 {
        row-gap: 3rem !important
    }

    .column-gap-lg-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-lg-1 {
        -moz-column-gap: .25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-lg-2 {
        -moz-column-gap: .5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-lg-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-lg-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-lg-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !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
    }

    .object-fit-xl-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-xl-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-xl-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-xl-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-xl-none {
        -o-object-fit: none !important;
        object-fit: 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-inline-grid {
        display: inline-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: 3rem !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: 3rem !important;
        margin-left: 3rem !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: 3rem !important;
        margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
        padding-left: 3rem !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: 3rem !important;
        padding-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important
    }

    .row-gap-xl-0 {
        row-gap: 0 !important
    }

    .row-gap-xl-1 {
        row-gap: .25rem !important
    }

    .row-gap-xl-2 {
        row-gap: .5rem !important
    }

    .row-gap-xl-3 {
        row-gap: 1rem !important
    }

    .row-gap-xl-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-xl-5 {
        row-gap: 3rem !important
    }

    .column-gap-xl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-xl-1 {
        -moz-column-gap: .25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-xl-2 {
        -moz-column-gap: .5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-xl-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-xl-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-xl-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !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
    }

    .object-fit-xxl-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-xxl-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-xxl-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-xxl-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-xxl-none {
        -o-object-fit: none !important;
        object-fit: 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-inline-grid {
        display: inline-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: 3rem !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: 3rem !important;
        margin-left: 3rem !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: 3rem !important;
        margin-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important;
        padding-left: 3rem !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: 3rem !important;
        padding-bottom: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !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: 3rem !important
    }

    .row-gap-xxl-0 {
        row-gap: 0 !important
    }

    .row-gap-xxl-1 {
        row-gap: .25rem !important
    }

    .row-gap-xxl-2 {
        row-gap: .5rem !important
    }

    .row-gap-xxl-3 {
        row-gap: 1rem !important
    }

    .row-gap-xxl-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-xxl-5 {
        row-gap: 3rem !important
    }

    .column-gap-xxl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-xxl-1 {
        -moz-column-gap: .25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-xxl-2 {
        -moz-column-gap: .5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-xxl-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-xxl-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-xxl-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !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:1200px) {
    .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-inline-grid {
        display: inline-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
    }
}

@font-face {
    font-display: block;
    font-family: bootstrap-icons;
    src: url(/live/frontend/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"), url(/assets/bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a) format("woff")
}

.bi:before,
[class^=bi-]:before,
[class*=" bi-"]:before {
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.bi-123:before {
    content: ""
}

.bi-alarm-fill:before {
    content: ""
}

.bi-alarm:before {
    content: ""
}

.bi-align-bottom:before {
    content: ""
}

.bi-align-center:before {
    content: ""
}

.bi-align-end:before {
    content: ""
}

.bi-align-middle:before {
    content: ""
}

.bi-align-start:before {
    content: ""
}

.bi-align-top:before {
    content: ""
}

.bi-alt:before {
    content: ""
}

.bi-app-indicator:before {
    content: ""
}

.bi-app:before {
    content: ""
}

.bi-archive-fill:before {
    content: ""
}

.bi-archive:before {
    content: ""
}

.bi-arrow-90deg-down:before {
    content: ""
}

.bi-arrow-90deg-left:before {
    content: ""
}

.bi-arrow-90deg-right:before {
    content: ""
}

.bi-arrow-90deg-up:before {
    content: ""
}

.bi-arrow-bar-down:before {
    content: ""
}

.bi-arrow-bar-left:before {
    content: ""
}

.bi-arrow-bar-right:before {
    content: ""
}

.bi-arrow-bar-up:before {
    content: ""
}

.bi-arrow-clockwise:before {
    content: ""
}

.bi-arrow-counterclockwise:before {
    content: ""
}

.bi-arrow-down-circle-fill:before {
    content: ""
}

.bi-arrow-down-circle:before {
    content: ""
}

.bi-arrow-down-left-circle-fill:before {
    content: ""
}

.bi-arrow-down-left-circle:before {
    content: ""
}

.bi-arrow-down-left-square-fill:before {
    content: ""
}

.bi-arrow-down-left-square:before {
    content: ""
}

.bi-arrow-down-left:before {
    content: ""
}

.bi-arrow-down-right-circle-fill:before {
    content: ""
}

.bi-arrow-down-right-circle:before {
    content: ""
}

.bi-arrow-down-right-square-fill:before {
    content: ""
}

.bi-arrow-down-right-square:before {
    content: ""
}

.bi-arrow-down-right:before {
    content: ""
}

.bi-arrow-down-short:before {
    content: ""
}

.bi-arrow-down-square-fill:before {
    content: ""
}

.bi-arrow-down-square:before {
    content: ""
}

.bi-arrow-down-up:before {
    content: ""
}

.bi-arrow-down:before {
    content: ""
}

.bi-arrow-left-circle-fill:before {
    content: ""
}

.bi-arrow-left-circle:before {
    content: ""
}

.bi-arrow-left-right:before {
    content: ""
}

.bi-arrow-left-short:before {
    content: ""
}

.bi-arrow-left-square-fill:before {
    content: ""
}

.bi-arrow-left-square:before {
    content: ""
}

.bi-arrow-left:before {
    content: ""
}

.bi-arrow-repeat:before {
    content: ""
}

.bi-arrow-return-left:before {
    content: ""
}

.bi-arrow-return-right:before {
    content: ""
}

.bi-arrow-right-circle-fill:before {
    content: ""
}

.bi-arrow-right-circle:before {
    content: ""
}

.bi-arrow-right-short:before {
    content: ""
}

.bi-arrow-right-square-fill:before {
    content: ""
}

.bi-arrow-right-square:before {
    content: ""
}

.bi-arrow-right:before {
    content: ""
}

.bi-arrow-up-circle-fill:before {
    content: ""
}

.bi-arrow-up-circle:before {
    content: ""
}

.bi-arrow-up-left-circle-fill:before {
    content: ""
}

.bi-arrow-up-left-circle:before {
    content: ""
}

.bi-arrow-up-left-square-fill:before {
    content: ""
}

.bi-arrow-up-left-square:before {
    content: ""
}

.bi-arrow-up-left:before {
    content: ""
}

.bi-arrow-up-right-circle-fill:before {
    content: ""
}

.bi-arrow-up-right-circle:before {
    content: ""
}

.bi-arrow-up-right-square-fill:before {
    content: ""
}

.bi-arrow-up-right-square:before {
    content: ""
}

.bi-arrow-up-right:before {
    content: ""
}

.bi-arrow-up-short:before {
    content: ""
}

.bi-arrow-up-square-fill:before {
    content: ""
}

.bi-arrow-up-square:before {
    content: ""
}

.bi-arrow-up:before {
    content: ""
}

.bi-arrows-angle-contract:before {
    content: ""
}

.bi-arrows-angle-expand:before {
    content: ""
}

.bi-arrows-collapse:before {
    content: ""
}

.bi-arrows-expand:before {
    content: ""
}

.bi-arrows-fullscreen:before {
    content: ""
}

.bi-arrows-move:before {
    content: ""
}

.bi-aspect-ratio-fill:before {
    content: ""
}

.bi-aspect-ratio:before {
    content: ""
}

.bi-asterisk:before {
    content: ""
}

.bi-at:before {
    content: ""
}

.bi-award-fill:before {
    content: ""
}

.bi-award:before {
    content: ""
}

.bi-back:before {
    content: ""
}

.bi-backspace-fill:before {
    content: ""
}

.bi-backspace-reverse-fill:before {
    content: ""
}

.bi-backspace-reverse:before {
    content: ""
}

.bi-backspace:before {
    content: ""
}

.bi-badge-3d-fill:before {
    content: ""
}

.bi-badge-3d:before {
    content: ""
}

.bi-badge-4k-fill:before {
    content: ""
}

.bi-badge-4k:before {
    content: ""
}

.bi-badge-8k-fill:before {
    content: ""
}

.bi-badge-8k:before {
    content: ""
}

.bi-badge-ad-fill:before {
    content: ""
}

.bi-badge-ad:before {
    content: ""
}

.bi-badge-ar-fill:before {
    content: ""
}

.bi-badge-ar:before {
    content: ""
}

.bi-badge-cc-fill:before {
    content: ""
}

.bi-badge-cc:before {
    content: ""
}

.bi-badge-hd-fill:before {
    content: ""
}

.bi-badge-hd:before {
    content: ""
}

.bi-badge-tm-fill:before {
    content: ""
}

.bi-badge-tm:before {
    content: ""
}

.bi-badge-vo-fill:before {
    content: ""
}

.bi-badge-vo:before {
    content: ""
}

.bi-badge-vr-fill:before {
    content: ""
}

.bi-badge-vr:before {
    content: ""
}

.bi-badge-wc-fill:before {
    content: ""
}

.bi-badge-wc:before {
    content: ""
}

.bi-bag-check-fill:before {
    content: ""
}

.bi-bag-check:before {
    content: ""
}

.bi-bag-dash-fill:before {
    content: ""
}

.bi-bag-dash:before {
    content: ""
}

.bi-bag-fill:before {
    content: ""
}

.bi-bag-plus-fill:before {
    content: ""
}

.bi-bag-plus:before {
    content: ""
}

.bi-bag-x-fill:before {
    content: ""
}

.bi-bag-x:before {
    content: ""
}

.bi-bag:before {
    content: ""
}

.bi-bar-chart-fill:before {
    content: ""
}

.bi-bar-chart-line-fill:before {
    content: ""
}

.bi-bar-chart-line:before {
    content: ""
}

.bi-bar-chart-steps:before {
    content: ""
}

.bi-bar-chart:before {
    content: ""
}

.bi-basket-fill:before {
    content: ""
}

.bi-basket:before {
    content: ""
}

.bi-basket2-fill:before {
    content: ""
}

.bi-basket2:before {
    content: ""
}

.bi-basket3-fill:before {
    content: ""
}

.bi-basket3:before {
    content: ""
}

.bi-battery-charging:before {
    content: ""
}

.bi-battery-full:before {
    content: ""
}

.bi-battery-half:before {
    content: ""
}

.bi-battery:before {
    content: ""
}

.bi-bell-fill:before {
    content: ""
}

.bi-bell:before {
    content: ""
}

.bi-bezier:before {
    content: ""
}

.bi-bezier2:before {
    content: ""
}

.bi-bicycle:before {
    content: ""
}

.bi-binoculars-fill:before {
    content: ""
}

.bi-binoculars:before {
    content: ""
}

.bi-blockquote-left:before {
    content: ""
}

.bi-blockquote-right:before {
    content: ""
}

.bi-book-fill:before {
    content: ""
}

.bi-book-half:before {
    content: ""
}

.bi-book:before {
    content: ""
}

.bi-bookmark-check-fill:before {
    content: ""
}

.bi-bookmark-check:before {
    content: ""
}

.bi-bookmark-dash-fill:before {
    content: ""
}

.bi-bookmark-dash:before {
    content: ""
}

.bi-bookmark-fill:before {
    content: ""
}

.bi-bookmark-heart-fill:before {
    content: ""
}

.bi-bookmark-heart:before {
    content: ""
}

.bi-bookmark-plus-fill:before {
    content: ""
}

.bi-bookmark-plus:before {
    content: ""
}

.bi-bookmark-star-fill:before {
    content: ""
}

.bi-bookmark-star:before {
    content: ""
}

.bi-bookmark-x-fill:before {
    content: ""
}

.bi-bookmark-x:before {
    content: ""
}

.bi-bookmark:before {
    content: ""
}

.bi-bookmarks-fill:before {
    content: ""
}

.bi-bookmarks:before {
    content: ""
}

.bi-bookshelf:before {
    content: ""
}

.bi-bootstrap-fill:before {
    content: ""
}

.bi-bootstrap-reboot:before {
    content: ""
}

.bi-bootstrap:before {
    content: ""
}

.bi-border-all:before {
    content: ""
}

.bi-border-bottom:before {
    content: ""
}

.bi-border-center:before {
    content: ""
}

.bi-border-inner:before {
    content: ""
}

.bi-border-left:before {
    content: ""
}

.bi-border-middle:before {
    content: ""
}

.bi-border-outer:before {
    content: ""
}

.bi-border-right:before {
    content: ""
}

.bi-border-style:before {
    content: ""
}

.bi-border-top:before {
    content: ""
}

.bi-border-width:before {
    content: ""
}

.bi-border:before {
    content: ""
}

.bi-bounding-box-circles:before {
    content: ""
}

.bi-bounding-box:before {
    content: ""
}

.bi-box-arrow-down-left:before {
    content: ""
}

.bi-box-arrow-down-right:before {
    content: ""
}

.bi-box-arrow-down:before {
    content: ""
}

.bi-box-arrow-in-down-left:before {
    content: ""
}

.bi-box-arrow-in-down-right:before {
    content: ""
}

.bi-box-arrow-in-down:before {
    content: ""
}

.bi-box-arrow-in-left:before {
    content: ""
}

.bi-box-arrow-in-right:before {
    content: ""
}

.bi-box-arrow-in-up-left:before {
    content: ""
}

.bi-box-arrow-in-up-right:before {
    content: ""
}

.bi-box-arrow-in-up:before {
    content: ""
}

.bi-box-arrow-left:before {
    content: ""
}

.bi-box-arrow-right:before {
    content: ""
}

.bi-box-arrow-up-left:before {
    content: ""
}

.bi-box-arrow-up-right:before {
    content: ""
}

.bi-box-arrow-up:before {
    content: ""
}

.bi-box-seam:before {
    content: ""
}

.bi-box:before {
    content: ""
}

.bi-braces:before {
    content: ""
}

.bi-bricks:before {
    content: ""
}

.bi-briefcase-fill:before {
    content: ""
}

.bi-briefcase:before {
    content: ""
}

.bi-brightness-alt-high-fill:before {
    content: ""
}

.bi-brightness-alt-high:before {
    content: ""
}

.bi-brightness-alt-low-fill:before {
    content: ""
}

.bi-brightness-alt-low:before {
    content: ""
}

.bi-brightness-high-fill:before {
    content: ""
}

.bi-brightness-high:before {
    content: ""
}

.bi-brightness-low-fill:before {
    content: ""
}

.bi-brightness-low:before {
    content: ""
}

.bi-broadcast-pin:before {
    content: ""
}

.bi-broadcast:before {
    content: ""
}

.bi-brush-fill:before {
    content: ""
}

.bi-brush:before {
    content: ""
}

.bi-bucket-fill:before {
    content: ""
}

.bi-bucket:before {
    content: ""
}

.bi-bug-fill:before {
    content: ""
}

.bi-bug:before {
    content: ""
}

.bi-building:before {
    content: ""
}

.bi-bullseye:before {
    content: ""
}

.bi-calculator-fill:before {
    content: ""
}

.bi-calculator:before {
    content: ""
}

.bi-calendar-check-fill:before {
    content: ""
}

.bi-calendar-check:before {
    content: ""
}

.bi-calendar-date-fill:before {
    content: ""
}

.bi-calendar-date:before {
    content: ""
}

.bi-calendar-day-fill:before {
    content: ""
}

.bi-calendar-day:before {
    content: ""
}

.bi-calendar-event-fill:before {
    content: ""
}

.bi-calendar-event:before {
    content: ""
}

.bi-calendar-fill:before {
    content: ""
}

.bi-calendar-minus-fill:before {
    content: ""
}

.bi-calendar-minus:before {
    content: ""
}

.bi-calendar-month-fill:before {
    content: ""
}

.bi-calendar-month:before {
    content: ""
}

.bi-calendar-plus-fill:before {
    content: ""
}

.bi-calendar-plus:before {
    content: ""
}

.bi-calendar-range-fill:before {
    content: ""
}

.bi-calendar-range:before {
    content: ""
}

.bi-calendar-week-fill:before {
    content: ""
}

.bi-calendar-week:before {
    content: ""
}

.bi-calendar-x-fill:before {
    content: ""
}

.bi-calendar-x:before {
    content: ""
}

.bi-calendar:before {
    content: ""
}

.bi-calendar2-check-fill:before {
    content: ""
}

.bi-calendar2-check:before {
    content: ""
}

.bi-calendar2-date-fill:before {
    content: ""
}

.bi-calendar2-date:before {
    content: ""
}

.bi-calendar2-day-fill:before {
    content: ""
}

.bi-calendar2-day:before {
    content: ""
}

.bi-calendar2-event-fill:before {
    content: ""
}

.bi-calendar2-event:before {
    content: ""
}

.bi-calendar2-fill:before {
    content: ""
}

.bi-calendar2-minus-fill:before {
    content: ""
}

.bi-calendar2-minus:before {
    content: ""
}

.bi-calendar2-month-fill:before {
    content: ""
}

.bi-calendar2-month:before {
    content: ""
}

.bi-calendar2-plus-fill:before {
    content: ""
}

.bi-calendar2-plus:before {
    content: ""
}

.bi-calendar2-range-fill:before {
    content: ""
}

.bi-calendar2-range:before {
    content: ""
}

.bi-calendar2-week-fill:before {
    content: ""
}

.bi-calendar2-week:before {
    content: ""
}

.bi-calendar2-x-fill:before {
    content: ""
}

.bi-calendar2-x:before {
    content: ""
}

.bi-calendar2:before {
    content: ""
}

.bi-calendar3-event-fill:before {
    content: ""
}

.bi-calendar3-event:before {
    content: ""
}

.bi-calendar3-fill:before {
    content: ""
}

.bi-calendar3-range-fill:before {
    content: ""
}

.bi-calendar3-range:before {
    content: ""
}

.bi-calendar3-week-fill:before {
    content: ""
}

.bi-calendar3-week:before {
    content: ""
}

.bi-calendar3:before {
    content: ""
}

.bi-calendar4-event:before {
    content: ""
}

.bi-calendar4-range:before {
    content: ""
}

.bi-calendar4-week:before {
    content: ""
}

.bi-calendar4:before {
    content: ""
}

.bi-camera-fill:before {
    content: ""
}

.bi-camera-reels-fill:before {
    content: ""
}

.bi-camera-reels:before {
    content: ""
}

.bi-camera-video-fill:before {
    content: ""
}

.bi-camera-video-off-fill:before {
    content: ""
}

.bi-camera-video-off:before {
    content: ""
}

.bi-camera-video:before {
    content: ""
}

.bi-camera:before {
    content: ""
}

.bi-camera2:before {
    content: ""
}

.bi-capslock-fill:before {
    content: ""
}

.bi-capslock:before {
    content: ""
}

.bi-card-checklist:before {
    content: ""
}

.bi-card-heading:before {
    content: ""
}

.bi-card-image:before {
    content: ""
}

.bi-card-list:before {
    content: ""
}

.bi-card-text:before {
    content: ""
}

.bi-caret-down-fill:before {
    content: ""
}

.bi-caret-down-square-fill:before {
    content: ""
}

.bi-caret-down-square:before {
    content: ""
}

.bi-caret-down:before {
    content: ""
}

.bi-caret-left-fill:before {
    content: ""
}

.bi-caret-left-square-fill:before {
    content: ""
}

.bi-caret-left-square:before {
    content: ""
}

.bi-caret-left:before {
    content: ""
}

.bi-caret-right-fill:before {
    content: ""
}

.bi-caret-right-square-fill:before {
    content: ""
}

.bi-caret-right-square:before {
    content: ""
}

.bi-caret-right:before {
    content: ""
}

.bi-caret-up-fill:before {
    content: ""
}

.bi-caret-up-square-fill:before {
    content: ""
}

.bi-caret-up-square:before {
    content: ""
}

.bi-caret-up:before {
    content: ""
}

.bi-cart-check-fill:before {
    content: ""
}

.bi-cart-check:before {
    content: ""
}

.bi-cart-dash-fill:before {
    content: ""
}

.bi-cart-dash:before {
    content: ""
}

.bi-cart-fill:before {
    content: ""
}

.bi-cart-plus-fill:before {
    content: ""
}

.bi-cart-plus:before {
    content: ""
}

.bi-cart-x-fill:before {
    content: ""
}

.bi-cart-x:before {
    content: ""
}

.bi-cart:before {
    content: ""
}

.bi-cart2:before {
    content: ""
}

.bi-cart3:before {
    content: ""
}

.bi-cart4:before {
    content: ""
}

.bi-cash-stack:before {
    content: ""
}

.bi-cash:before {
    content: ""
}

.bi-cast:before {
    content: ""
}

.bi-chat-dots-fill:before {
    content: ""
}

.bi-chat-dots:before {
    content: ""
}

.bi-chat-fill:before {
    content: ""
}

.bi-chat-left-dots-fill:before {
    content: ""
}

.bi-chat-left-dots:before {
    content: ""
}

.bi-chat-left-fill:before {
    content: ""
}

.bi-chat-left-quote-fill:before {
    content: ""
}

.bi-chat-left-quote:before {
    content: ""
}

.bi-chat-left-text-fill:before {
    content: ""
}

.bi-chat-left-text:before {
    content: ""
}

.bi-chat-left:before {
    content: ""
}

.bi-chat-quote-fill:before {
    content: ""
}

.bi-chat-quote:before {
    content: ""
}

.bi-chat-right-dots-fill:before {
    content: ""
}

.bi-chat-right-dots:before {
    content: ""
}

.bi-chat-right-fill:before {
    content: ""
}

.bi-chat-right-quote-fill:before {
    content: ""
}

.bi-chat-right-quote:before {
    content: ""
}

.bi-chat-right-text-fill:before {
    content: ""
}

.bi-chat-right-text:before {
    content: ""
}

.bi-chat-right:before {
    content: ""
}

.bi-chat-square-dots-fill:before {
    content: ""
}

.bi-chat-square-dots:before {
    content: ""
}

.bi-chat-square-fill:before {
    content: ""
}

.bi-chat-square-quote-fill:before {
    content: ""
}

.bi-chat-square-quote:before {
    content: ""
}

.bi-chat-square-text-fill:before {
    content: ""
}

.bi-chat-square-text:before {
    content: ""
}

.bi-chat-square:before {
    content: ""
}

.bi-chat-text-fill:before {
    content: ""
}

.bi-chat-text:before {
    content: ""
}

.bi-chat:before {
    content: ""
}

.bi-check-all:before {
    content: ""
}

.bi-check-circle-fill:before {
    content: ""
}

.bi-check-circle:before {
    content: ""
}

.bi-check-square-fill:before {
    content: ""
}

.bi-check-square:before {
    content: ""
}

.bi-check:before {
    content: ""
}

.bi-check2-all:before {
    content: ""
}

.bi-check2-circle:before {
    content: ""
}

.bi-check2-square:before {
    content: ""
}

.bi-check2:before {
    content: ""
}

.bi-chevron-bar-contract:before {
    content: ""
}

.bi-chevron-bar-down:before {
    content: ""
}

.bi-chevron-bar-expand:before {
    content: ""
}

.bi-chevron-bar-left:before {
    content: ""
}

.bi-chevron-bar-right:before {
    content: ""
}

.bi-chevron-bar-up:before {
    content: ""
}

.bi-chevron-compact-down:before {
    content: ""
}

.bi-chevron-compact-left:before {
    content: ""
}

.bi-chevron-compact-right:before {
    content: ""
}

.bi-chevron-compact-up:before {
    content: ""
}

.bi-chevron-contract:before {
    content: ""
}

.bi-chevron-double-down:before {
    content: ""
}

.bi-chevron-double-left:before {
    content: ""
}

.bi-chevron-double-right:before {
    content: ""
}

.bi-chevron-double-up:before {
    content: ""
}

.bi-chevron-down:before {
    content: ""
}

.bi-chevron-expand:before {
    content: ""
}

.bi-chevron-left:before {
    content: ""
}

.bi-chevron-right:before {
    content: ""
}

.bi-chevron-up:before {
    content: ""
}

.bi-circle-fill:before {
    content: ""
}

.bi-circle-half:before {
    content: ""
}

.bi-circle-square:before {
    content: ""
}

.bi-circle:before {
    content: ""
}

.bi-clipboard-check:before {
    content: ""
}

.bi-clipboard-data:before {
    content: ""
}

.bi-clipboard-minus:before {
    content: ""
}

.bi-clipboard-plus:before {
    content: ""
}

.bi-clipboard-x:before {
    content: ""
}

.bi-clipboard:before {
    content: ""
}

.bi-clock-fill:before {
    content: ""
}

.bi-clock-history:before {
    content: ""
}

.bi-clock:before {
    content: ""
}

.bi-cloud-arrow-down-fill:before {
    content: ""
}

.bi-cloud-arrow-down:before {
    content: ""
}

.bi-cloud-arrow-up-fill:before {
    content: ""
}

.bi-cloud-arrow-up:before {
    content: ""
}

.bi-cloud-check-fill:before {
    content: ""
}

.bi-cloud-check:before {
    content: ""
}

.bi-cloud-download-fill:before {
    content: ""
}

.bi-cloud-download:before {
    content: ""
}

.bi-cloud-drizzle-fill:before {
    content: ""
}

.bi-cloud-drizzle:before {
    content: ""
}

.bi-cloud-fill:before {
    content: ""
}

.bi-cloud-fog-fill:before {
    content: ""
}

.bi-cloud-fog:before {
    content: ""
}

.bi-cloud-fog2-fill:before {
    content: ""
}

.bi-cloud-fog2:before {
    content: ""
}

.bi-cloud-hail-fill:before {
    content: ""
}

.bi-cloud-hail:before {
    content: ""
}

.bi-cloud-haze-fill:before {
    content: ""
}

.bi-cloud-haze:before {
    content: ""
}

.bi-cloud-haze2-fill:before {
    content: ""
}

.bi-cloud-lightning-fill:before {
    content: ""
}

.bi-cloud-lightning-rain-fill:before {
    content: ""
}

.bi-cloud-lightning-rain:before {
    content: ""
}

.bi-cloud-lightning:before {
    content: ""
}

.bi-cloud-minus-fill:before {
    content: ""
}

.bi-cloud-minus:before {
    content: ""
}

.bi-cloud-moon-fill:before {
    content: ""
}

.bi-cloud-moon:before {
    content: ""
}

.bi-cloud-plus-fill:before {
    content: ""
}

.bi-cloud-plus:before {
    content: ""
}

.bi-cloud-rain-fill:before {
    content: ""
}

.bi-cloud-rain-heavy-fill:before {
    content: ""
}

.bi-cloud-rain-heavy:before {
    content: ""
}

.bi-cloud-rain:before {
    content: ""
}

.bi-cloud-slash-fill:before {
    content: ""
}

.bi-cloud-slash:before {
    content: ""
}

.bi-cloud-sleet-fill:before {
    content: ""
}

.bi-cloud-sleet:before {
    content: ""
}

.bi-cloud-snow-fill:before {
    content: ""
}

.bi-cloud-snow:before {
    content: ""
}

.bi-cloud-sun-fill:before {
    content: ""
}

.bi-cloud-sun:before {
    content: ""
}

.bi-cloud-upload-fill:before {
    content: ""
}

.bi-cloud-upload:before {
    content: ""
}

.bi-cloud:before {
    content: ""
}

.bi-clouds-fill:before {
    content: ""
}

.bi-clouds:before {
    content: ""
}

.bi-cloudy-fill:before {
    content: ""
}

.bi-cloudy:before {
    content: ""
}

.bi-code-slash:before {
    content: ""
}

.bi-code-square:before {
    content: ""
}

.bi-code:before {
    content: ""
}

.bi-collection-fill:before {
    content: ""
}

.bi-collection-play-fill:before {
    content: ""
}

.bi-collection-play:before {
    content: ""
}

.bi-collection:before {
    content: ""
}

.bi-columns-gap:before {
    content: ""
}

.bi-columns:before {
    content: ""
}

.bi-command:before {
    content: ""
}

.bi-compass-fill:before {
    content: ""
}

.bi-compass:before {
    content: ""
}

.bi-cone-striped:before {
    content: ""
}

.bi-cone:before {
    content: ""
}

.bi-controller:before {
    content: ""
}

.bi-cpu-fill:before {
    content: ""
}

.bi-cpu:before {
    content: ""
}

.bi-credit-card-2-back-fill:before {
    content: ""
}

.bi-credit-card-2-back:before {
    content: ""
}

.bi-credit-card-2-front-fill:before {
    content: ""
}

.bi-credit-card-2-front:before {
    content: ""
}

.bi-credit-card-fill:before {
    content: ""
}

.bi-credit-card:before {
    content: ""
}

.bi-crop:before {
    content: ""
}

.bi-cup-fill:before {
    content: ""
}

.bi-cup-straw:before {
    content: ""
}

.bi-cup:before {
    content: ""
}

.bi-cursor-fill:before {
    content: ""
}

.bi-cursor-text:before {
    content: ""
}

.bi-cursor:before {
    content: ""
}

.bi-dash-circle-dotted:before {
    content: ""
}

.bi-dash-circle-fill:before {
    content: ""
}

.bi-dash-circle:before {
    content: ""
}

.bi-dash-square-dotted:before {
    content: ""
}

.bi-dash-square-fill:before {
    content: ""
}

.bi-dash-square:before {
    content: ""
}

.bi-dash:before {
    content: ""
}

.bi-diagram-2-fill:before {
    content: ""
}

.bi-diagram-2:before {
    content: ""
}

.bi-diagram-3-fill:before {
    content: ""
}

.bi-diagram-3:before {
    content: ""
}

.bi-diamond-fill:before {
    content: ""
}

.bi-diamond-half:before {
    content: ""
}

.bi-diamond:before {
    content: ""
}

.bi-dice-1-fill:before {
    content: ""
}

.bi-dice-1:before {
    content: ""
}

.bi-dice-2-fill:before {
    content: ""
}

.bi-dice-2:before {
    content: ""
}

.bi-dice-3-fill:before {
    content: ""
}

.bi-dice-3:before {
    content: ""
}

.bi-dice-4-fill:before {
    content: ""
}

.bi-dice-4:before {
    content: ""
}

.bi-dice-5-fill:before {
    content: ""
}

.bi-dice-5:before {
    content: ""
}

.bi-dice-6-fill:before {
    content: ""
}

.bi-dice-6:before {
    content: ""
}

.bi-disc-fill:before {
    content: ""
}

.bi-disc:before {
    content: ""
}

.bi-discord:before {
    content: ""
}

.bi-display-fill:before {
    content: ""
}

.bi-display:before {
    content: ""
}

.bi-distribute-horizontal:before {
    content: ""
}

.bi-distribute-vertical:before {
    content: ""
}

.bi-door-closed-fill:before {
    content: ""
}

.bi-door-closed:before {
    content: ""
}

.bi-door-open-fill:before {
    content: ""
}

.bi-door-open:before {
    content: ""
}

.bi-dot:before {
    content: ""
}

.bi-download:before {
    content: ""
}

.bi-droplet-fill:before {
    content: ""
}

.bi-droplet-half:before {
    content: ""
}

.bi-droplet:before {
    content: ""
}

.bi-earbuds:before {
    content: ""
}

.bi-easel-fill:before {
    content: ""
}

.bi-easel:before {
    content: ""
}

.bi-egg-fill:before {
    content: ""
}

.bi-egg-fried:before {
    content: ""
}

.bi-egg:before {
    content: ""
}

.bi-eject-fill:before {
    content: ""
}

.bi-eject:before {
    content: ""
}

.bi-emoji-angry-fill:before {
    content: ""
}

.bi-emoji-angry:before {
    content: ""
}

.bi-emoji-dizzy-fill:before {
    content: ""
}

.bi-emoji-dizzy:before {
    content: ""
}

.bi-emoji-expressionless-fill:before {
    content: ""
}

.bi-emoji-expressionless:before {
    content: ""
}

.bi-emoji-frown-fill:before {
    content: ""
}

.bi-emoji-frown:before {
    content: ""
}

.bi-emoji-heart-eyes-fill:before {
    content: ""
}

.bi-emoji-heart-eyes:before {
    content: ""
}

.bi-emoji-laughing-fill:before {
    content: ""
}

.bi-emoji-laughing:before {
    content: ""
}

.bi-emoji-neutral-fill:before {
    content: ""
}

.bi-emoji-neutral:before {
    content: ""
}

.bi-emoji-smile-fill:before {
    content: ""
}

.bi-emoji-smile-upside-down-fill:before {
    content: ""
}

.bi-emoji-smile-upside-down:before {
    content: ""
}

.bi-emoji-smile:before {
    content: ""
}

.bi-emoji-sunglasses-fill:before {
    content: ""
}

.bi-emoji-sunglasses:before {
    content: ""
}

.bi-emoji-wink-fill:before {
    content: ""
}

.bi-emoji-wink:before {
    content: ""
}

.bi-envelope-fill:before {
    content: ""
}

.bi-envelope-open-fill:before {
    content: ""
}

.bi-envelope-open:before {
    content: ""
}

.bi-envelope:before {
    content: ""
}

.bi-eraser-fill:before {
    content: ""
}

.bi-eraser:before {
    content: ""
}

.bi-exclamation-circle-fill:before {
    content: ""
}

.bi-exclamation-circle:before {
    content: ""
}

.bi-exclamation-diamond-fill:before {
    content: ""
}

.bi-exclamation-diamond:before {
    content: ""
}

.bi-exclamation-octagon-fill:before {
    content: ""
}

.bi-exclamation-octagon:before {
    content: ""
}

.bi-exclamation-square-fill:before {
    content: ""
}

.bi-exclamation-square:before {
    content: ""
}

.bi-exclamation-triangle-fill:before {
    content: ""
}

.bi-exclamation-triangle:before {
    content: ""
}

.bi-exclamation:before {
    content: ""
}

.bi-exclude:before {
    content: ""
}

.bi-eye-fill:before {
    content: ""
}

.bi-eye-slash-fill:before {
    content: ""
}

.bi-eye-slash:before {
    content: ""
}

.bi-eye:before {
    content: ""
}

.bi-eyedropper:before {
    content: ""
}

.bi-eyeglasses:before {
    content: ""
}

.bi-facebook:before {
    content: ""
}

.bi-file-arrow-down-fill:before {
    content: ""
}

.bi-file-arrow-down:before {
    content: ""
}

.bi-file-arrow-up-fill:before {
    content: ""
}

.bi-file-arrow-up:before {
    content: ""
}

.bi-file-bar-graph-fill:before {
    content: ""
}

.bi-file-bar-graph:before {
    content: ""
}

.bi-file-binary-fill:before {
    content: ""
}

.bi-file-binary:before {
    content: ""
}

.bi-file-break-fill:before {
    content: ""
}

.bi-file-break:before {
    content: ""
}

.bi-file-check-fill:before {
    content: ""
}

.bi-file-check:before {
    content: ""
}

.bi-file-code-fill:before {
    content: ""
}

.bi-file-code:before {
    content: ""
}

.bi-file-diff-fill:before {
    content: ""
}

.bi-file-diff:before {
    content: ""
}

.bi-file-earmark-arrow-down-fill:before {
    content: ""
}

.bi-file-earmark-arrow-down:before {
    content: ""
}

.bi-file-earmark-arrow-up-fill:before {
    content: ""
}

.bi-file-earmark-arrow-up:before {
    content: ""
}

.bi-file-earmark-bar-graph-fill:before {
    content: ""
}

.bi-file-earmark-bar-graph:before {
    content: ""
}

.bi-file-earmark-binary-fill:before {
    content: ""
}

.bi-file-earmark-binary:before {
    content: ""
}

.bi-file-earmark-break-fill:before {
    content: ""
}

.bi-file-earmark-break:before {
    content: ""
}

.bi-file-earmark-check-fill:before {
    content: ""
}

.bi-file-earmark-check:before {
    content: ""
}

.bi-file-earmark-code-fill:before {
    content: ""
}

.bi-file-earmark-code:before {
    content: ""
}

.bi-file-earmark-diff-fill:before {
    content: ""
}

.bi-file-earmark-diff:before {
    content: ""
}

.bi-file-earmark-easel-fill:before {
    content: ""
}

.bi-file-earmark-easel:before {
    content: ""
}

.bi-file-earmark-excel-fill:before {
    content: ""
}

.bi-file-earmark-excel:before {
    content: ""
}

.bi-file-earmark-fill:before {
    content: ""
}

.bi-file-earmark-font-fill:before {
    content: ""
}

.bi-file-earmark-font:before {
    content: ""
}

.bi-file-earmark-image-fill:before {
    content: ""
}

.bi-file-earmark-image:before {
    content: ""
}

.bi-file-earmark-lock-fill:before {
    content: ""
}

.bi-file-earmark-lock:before {
    content: ""
}

.bi-file-earmark-lock2-fill:before {
    content: ""
}

.bi-file-earmark-lock2:before {
    content: ""
}

.bi-file-earmark-medical-fill:before {
    content: ""
}

.bi-file-earmark-medical:before {
    content: ""
}

.bi-file-earmark-minus-fill:before {
    content: ""
}

.bi-file-earmark-minus:before {
    content: ""
}

.bi-file-earmark-music-fill:before {
    content: ""
}

.bi-file-earmark-music:before {
    content: ""
}

.bi-file-earmark-person-fill:before {
    content: ""
}

.bi-file-earmark-person:before {
    content: ""
}

.bi-file-earmark-play-fill:before {
    content: ""
}

.bi-file-earmark-play:before {
    content: ""
}

.bi-file-earmark-plus-fill:before {
    content: ""
}

.bi-file-earmark-plus:before {
    content: ""
}

.bi-file-earmark-post-fill:before {
    content: ""
}

.bi-file-earmark-post:before {
    content: ""
}

.bi-file-earmark-ppt-fill:before {
    content: ""
}

.bi-file-earmark-ppt:before {
    content: ""
}

.bi-file-earmark-richtext-fill:before {
    content: ""
}

.bi-file-earmark-richtext:before {
    content: ""
}

.bi-file-earmark-ruled-fill:before {
    content: ""
}

.bi-file-earmark-ruled:before {
    content: ""
}

.bi-file-earmark-slides-fill:before {
    content: ""
}

.bi-file-earmark-slides:before {
    content: ""
}

.bi-file-earmark-spreadsheet-fill:before {
    content: ""
}

.bi-file-earmark-spreadsheet:before {
    content: ""
}

.bi-file-earmark-text-fill:before {
    content: ""
}

.bi-file-earmark-text:before {
    content: ""
}

.bi-file-earmark-word-fill:before {
    content: ""
}

.bi-file-earmark-word:before {
    content: ""
}

.bi-file-earmark-x-fill:before {
    content: ""
}

.bi-file-earmark-x:before {
    content: ""
}

.bi-file-earmark-zip-fill:before {
    content: ""
}

.bi-file-earmark-zip:before {
    content: ""
}

.bi-file-earmark:before {
    content: ""
}

.bi-file-easel-fill:before {
    content: ""
}

.bi-file-easel:before {
    content: ""
}

.bi-file-excel-fill:before {
    content: ""
}

.bi-file-excel:before {
    content: ""
}

.bi-file-fill:before {
    content: ""
}

.bi-file-font-fill:before {
    content: ""
}

.bi-file-font:before {
    content: ""
}

.bi-file-image-fill:before {
    content: ""
}

.bi-file-image:before {
    content: ""
}

.bi-file-lock-fill:before {
    content: ""
}

.bi-file-lock:before {
    content: ""
}

.bi-file-lock2-fill:before {
    content: ""
}

.bi-file-lock2:before {
    content: ""
}

.bi-file-medical-fill:before {
    content: ""
}

.bi-file-medical:before {
    content: ""
}

.bi-file-minus-fill:before {
    content: ""
}

.bi-file-minus:before {
    content: ""
}

.bi-file-music-fill:before {
    content: ""
}

.bi-file-music:before {
    content: ""
}

.bi-file-person-fill:before {
    content: ""
}

.bi-file-person:before {
    content: ""
}

.bi-file-play-fill:before {
    content: ""
}

.bi-file-play:before {
    content: ""
}

.bi-file-plus-fill:before {
    content: ""
}

.bi-file-plus:before {
    content: ""
}

.bi-file-post-fill:before {
    content: ""
}

.bi-file-post:before {
    content: ""
}

.bi-file-ppt-fill:before {
    content: ""
}

.bi-file-ppt:before {
    content: ""
}

.bi-file-richtext-fill:before {
    content: ""
}

.bi-file-richtext:before {
    content: ""
}

.bi-file-ruled-fill:before {
    content: ""
}

.bi-file-ruled:before {
    content: ""
}

.bi-file-slides-fill:before {
    content: ""
}

.bi-file-slides:before {
    content: ""
}

.bi-file-spreadsheet-fill:before {
    content: ""
}

.bi-file-spreadsheet:before {
    content: ""
}

.bi-file-text-fill:before {
    content: ""
}

.bi-file-text:before {
    content: ""
}

.bi-file-word-fill:before {
    content: ""
}

.bi-file-word:before {
    content: ""
}

.bi-file-x-fill:before {
    content: ""
}

.bi-file-x:before {
    content: ""
}

.bi-file-zip-fill:before {
    content: ""
}

.bi-file-zip:before {
    content: ""
}

.bi-file:before {
    content: ""
}

.bi-files-alt:before {
    content: ""
}

.bi-files:before {
    content: ""
}

.bi-film:before {
    content: ""
}

.bi-filter-circle-fill:before {
    content: ""
}

.bi-filter-circle:before {
    content: ""
}

.bi-filter-left:before {
    content: ""
}

.bi-filter-right:before {
    content: ""
}

.bi-filter-square-fill:before {
    content: ""
}

.bi-filter-square:before {
    content: ""
}

.bi-filter:before {
    content: ""
}

.bi-flag-fill:before {
    content: ""
}

.bi-flag:before {
    content: ""
}

.bi-flower1:before {
    content: ""
}

.bi-flower2:before {
    content: ""
}

.bi-flower3:before {
    content: ""
}

.bi-folder-check:before {
    content: ""
}

.bi-folder-fill:before {
    content: ""
}

.bi-folder-minus:before {
    content: ""
}

.bi-folder-plus:before {
    content: ""
}

.bi-folder-symlink-fill:before {
    content: ""
}

.bi-folder-symlink:before {
    content: ""
}

.bi-folder-x:before {
    content: ""
}

.bi-folder:before {
    content: ""
}

.bi-folder2-open:before {
    content: ""
}

.bi-folder2:before {
    content: ""
}

.bi-fonts:before {
    content: ""
}

.bi-forward-fill:before {
    content: ""
}

.bi-forward:before {
    content: ""
}

.bi-front:before {
    content: ""
}

.bi-fullscreen-exit:before {
    content: ""
}

.bi-fullscreen:before {
    content: ""
}

.bi-funnel-fill:before {
    content: ""
}

.bi-funnel:before {
    content: ""
}

.bi-gear-fill:before {
    content: ""
}

.bi-gear-wide-connected:before {
    content: ""
}

.bi-gear-wide:before {
    content: ""
}

.bi-gear:before {
    content: ""
}

.bi-gem:before {
    content: ""
}

.bi-geo-alt-fill:before {
    content: ""
}

.bi-geo-alt:before {
    content: ""
}

.bi-geo-fill:before {
    content: ""
}

.bi-geo:before {
    content: ""
}

.bi-gift-fill:before {
    content: ""
}

.bi-gift:before {
    content: ""
}

.bi-github:before {
    content: ""
}

.bi-globe:before {
    content: ""
}

.bi-globe2:before {
    content: ""
}

.bi-google:before {
    content: ""
}

.bi-graph-down:before {
    content: ""
}

.bi-graph-up:before {
    content: ""
}

.bi-grid-1x2-fill:before {
    content: ""
}

.bi-grid-1x2:before {
    content: ""
}

.bi-grid-3x2-gap-fill:before {
    content: ""
}

.bi-grid-3x2-gap:before {
    content: ""
}

.bi-grid-3x2:before {
    content: ""
}

.bi-grid-3x3-gap-fill:before {
    content: ""
}

.bi-grid-3x3-gap:before {
    content: ""
}

.bi-grid-3x3:before {
    content: ""
}

.bi-grid-fill:before {
    content: ""
}

.bi-grid:before {
    content: ""
}

.bi-grip-horizontal:before {
    content: ""
}

.bi-grip-vertical:before {
    content: ""
}

.bi-hammer:before {
    content: ""
}

.bi-hand-index-fill:before {
    content: ""
}

.bi-hand-index-thumb-fill:before {
    content: ""
}

.bi-hand-index-thumb:before {
    content: ""
}

.bi-hand-index:before {
    content: ""
}

.bi-hand-thumbs-down-fill:before {
    content: ""
}

.bi-hand-thumbs-down:before {
    content: ""
}

.bi-hand-thumbs-up-fill:before {
    content: ""
}

.bi-hand-thumbs-up:before {
    content: ""
}

.bi-handbag-fill:before {
    content: ""
}

.bi-handbag:before {
    content: ""
}

.bi-hash:before {
    content: ""
}

.bi-hdd-fill:before {
    content: ""
}

.bi-hdd-network-fill:before {
    content: ""
}

.bi-hdd-network:before {
    content: ""
}

.bi-hdd-rack-fill:before {
    content: ""
}

.bi-hdd-rack:before {
    content: ""
}

.bi-hdd-stack-fill:before {
    content: ""
}

.bi-hdd-stack:before {
    content: ""
}

.bi-hdd:before {
    content: ""
}

.bi-headphones:before {
    content: ""
}

.bi-headset:before {
    content: ""
}

.bi-heart-fill:before {
    content: ""
}

.bi-heart-half:before {
    content: ""
}

.bi-heart:before {
    content: ""
}

.bi-heptagon-fill:before {
    content: ""
}

.bi-heptagon-half:before {
    content: ""
}

.bi-heptagon:before {
    content: ""
}

.bi-hexagon-fill:before {
    content: ""
}

.bi-hexagon-half:before {
    content: ""
}

.bi-hexagon:before {
    content: ""
}

.bi-hourglass-bottom:before {
    content: ""
}

.bi-hourglass-split:before {
    content: ""
}

.bi-hourglass-top:before {
    content: ""
}

.bi-hourglass:before {
    content: ""
}

.bi-house-door-fill:before {
    content: ""
}

.bi-house-door:before {
    content: ""
}

.bi-house-fill:before {
    content: ""
}

.bi-house:before {
    content: ""
}

.bi-hr:before {
    content: ""
}

.bi-hurricane:before {
    content: ""
}

.bi-image-alt:before {
    content: ""
}

.bi-image-fill:before {
    content: ""
}

.bi-image:before {
    content: ""
}

.bi-images:before {
    content: ""
}

.bi-inbox-fill:before {
    content: ""
}

.bi-inbox:before {
    content: ""
}

.bi-inboxes-fill:before {
    content: ""
}

.bi-inboxes:before {
    content: ""
}

.bi-info-circle-fill:before {
    content: ""
}

.bi-info-circle:before {
    content: ""
}

.bi-info-square-fill:before {
    content: ""
}

.bi-info-square:before {
    content: ""
}

.bi-info:before {
    content: ""
}

.bi-input-cursor-text:before {
    content: ""
}

.bi-input-cursor:before {
    content: ""
}

.bi-instagram:before {
    content: ""
}

.bi-intersect:before {
    content: ""
}

.bi-journal-album:before {
    content: ""
}

.bi-journal-arrow-down:before {
    content: ""
}

.bi-journal-arrow-up:before {
    content: ""
}

.bi-journal-bookmark-fill:before {
    content: ""
}

.bi-journal-bookmark:before {
    content: ""
}

.bi-journal-check:before {
    content: ""
}

.bi-journal-code:before {
    content: ""
}

.bi-journal-medical:before {
    content: ""
}

.bi-journal-minus:before {
    content: ""
}

.bi-journal-plus:before {
    content: ""
}

.bi-journal-richtext:before {
    content: ""
}

.bi-journal-text:before {
    content: ""
}

.bi-journal-x:before {
    content: ""
}

.bi-journal:before {
    content: ""
}

.bi-journals:before {
    content: ""
}

.bi-joystick:before {
    content: ""
}

.bi-justify-left:before {
    content: ""
}

.bi-justify-right:before {
    content: ""
}

.bi-justify:before {
    content: ""
}

.bi-kanban-fill:before {
    content: ""
}

.bi-kanban:before {
    content: ""
}

.bi-key-fill:before {
    content: ""
}

.bi-key:before {
    content: ""
}

.bi-keyboard-fill:before {
    content: ""
}

.bi-keyboard:before {
    content: ""
}

.bi-ladder:before {
    content: ""
}

.bi-lamp-fill:before {
    content: ""
}

.bi-lamp:before {
    content: ""
}

.bi-laptop-fill:before {
    content: ""
}

.bi-laptop:before {
    content: ""
}

.bi-layer-backward:before {
    content: ""
}

.bi-layer-forward:before {
    content: ""
}

.bi-layers-fill:before {
    content: ""
}

.bi-layers-half:before {
    content: ""
}

.bi-layers:before {
    content: ""
}

.bi-layout-sidebar-inset-reverse:before {
    content: ""
}

.bi-layout-sidebar-inset:before {
    content: ""
}

.bi-layout-sidebar-reverse:before {
    content: ""
}

.bi-layout-sidebar:before {
    content: ""
}

.bi-layout-split:before {
    content: ""
}

.bi-layout-text-sidebar-reverse:before {
    content: ""
}

.bi-layout-text-sidebar:before {
    content: ""
}

.bi-layout-text-window-reverse:before {
    content: ""
}

.bi-layout-text-window:before {
    content: ""
}

.bi-layout-three-columns:before {
    content: ""
}

.bi-layout-wtf:before {
    content: ""
}

.bi-life-preserver:before {
    content: ""
}

.bi-lightbulb-fill:before {
    content: ""
}

.bi-lightbulb-off-fill:before {
    content: ""
}

.bi-lightbulb-off:before {
    content: ""
}

.bi-lightbulb:before {
    content: ""
}

.bi-lightning-charge-fill:before {
    content: ""
}

.bi-lightning-charge:before {
    content: ""
}

.bi-lightning-fill:before {
    content: ""
}

.bi-lightning:before {
    content: ""
}

.bi-link-45deg:before {
    content: ""
}

.bi-link:before {
    content: ""
}

.bi-linkedin:before {
    content: ""
}

.bi-list-check:before {
    content: ""
}

.bi-list-nested:before {
    content: ""
}

.bi-list-ol:before {
    content: ""
}

.bi-list-stars:before {
    content: ""
}

.bi-list-task:before {
    content: ""
}

.bi-list-ul:before {
    content: ""
}

.bi-list:before {
    content: ""
}

.bi-lock-fill:before {
    content: ""
}

.bi-lock:before {
    content: ""
}

.bi-mailbox:before {
    content: ""
}

.bi-mailbox2:before {
    content: ""
}

.bi-map-fill:before {
    content: ""
}

.bi-map:before {
    content: ""
}

.bi-markdown-fill:before {
    content: ""
}

.bi-markdown:before {
    content: ""
}

.bi-mask:before {
    content: ""
}

.bi-megaphone-fill:before {
    content: ""
}

.bi-megaphone:before {
    content: ""
}

.bi-menu-app-fill:before {
    content: ""
}

.bi-menu-app:before {
    content: ""
}

.bi-menu-button-fill:before {
    content: ""
}

.bi-menu-button-wide-fill:before {
    content: ""
}

.bi-menu-button-wide:before {
    content: ""
}

.bi-menu-button:before {
    content: ""
}

.bi-menu-down:before {
    content: ""
}

.bi-menu-up:before {
    content: ""
}

.bi-mic-fill:before {
    content: ""
}

.bi-mic-mute-fill:before {
    content: ""
}

.bi-mic-mute:before {
    content: ""
}

.bi-mic:before {
    content: ""
}

.bi-minecart-loaded:before {
    content: ""
}

.bi-minecart:before {
    content: ""
}

.bi-moisture:before {
    content: ""
}

.bi-moon-fill:before {
    content: ""
}

.bi-moon-stars-fill:before {
    content: ""
}

.bi-moon-stars:before {
    content: ""
}

.bi-moon:before {
    content: ""
}

.bi-mouse-fill:before {
    content: ""
}

.bi-mouse:before {
    content: ""
}

.bi-mouse2-fill:before {
    content: ""
}

.bi-mouse2:before {
    content: ""
}

.bi-mouse3-fill:before {
    content: ""
}

.bi-mouse3:before {
    content: ""
}

.bi-music-note-beamed:before {
    content: ""
}

.bi-music-note-list:before {
    content: ""
}

.bi-music-note:before {
    content: ""
}

.bi-music-player-fill:before {
    content: ""
}

.bi-music-player:before {
    content: ""
}

.bi-newspaper:before {
    content: ""
}

.bi-node-minus-fill:before {
    content: ""
}

.bi-node-minus:before {
    content: ""
}

.bi-node-plus-fill:before {
    content: ""
}

.bi-node-plus:before {
    content: ""
}

.bi-nut-fill:before {
    content: ""
}

.bi-nut:before {
    content: ""
}

.bi-octagon-fill:before {
    content: ""
}

.bi-octagon-half:before {
    content: ""
}

.bi-octagon:before {
    content: ""
}

.bi-option:before {
    content: ""
}

.bi-outlet:before {
    content: ""
}

.bi-paint-bucket:before {
    content: ""
}

.bi-palette-fill:before {
    content: ""
}

.bi-palette:before {
    content: ""
}

.bi-palette2:before {
    content: ""
}

.bi-paperclip:before {
    content: ""
}

.bi-paragraph:before {
    content: ""
}

.bi-patch-check-fill:before {
    content: ""
}

.bi-patch-check:before {
    content: ""
}

.bi-patch-exclamation-fill:before {
    content: ""
}

.bi-patch-exclamation:before {
    content: ""
}

.bi-patch-minus-fill:before {
    content: ""
}

.bi-patch-minus:before {
    content: ""
}

.bi-patch-plus-fill:before {
    content: ""
}

.bi-patch-plus:before {
    content: ""
}

.bi-patch-question-fill:before {
    content: ""
}

.bi-patch-question:before {
    content: ""
}

.bi-pause-btn-fill:before {
    content: ""
}

.bi-pause-btn:before {
    content: ""
}

.bi-pause-circle-fill:before {
    content: ""
}

.bi-pause-circle:before {
    content: ""
}

.bi-pause-fill:before {
    content: ""
}

.bi-pause:before {
    content: ""
}

.bi-peace-fill:before {
    content: ""
}

.bi-peace:before {
    content: ""
}

.bi-pen-fill:before {
    content: ""
}

.bi-pen:before {
    content: ""
}

.bi-pencil-fill:before {
    content: ""
}

.bi-pencil-square:before {
    content: ""
}

.bi-pencil:before {
    content: ""
}

.bi-pentagon-fill:before {
    content: ""
}

.bi-pentagon-half:before {
    content: ""
}

.bi-pentagon:before {
    content: ""
}

.bi-people-fill:before {
    content: ""
}

.bi-people:before {
    content: ""
}

.bi-percent:before {
    content: ""
}

.bi-person-badge-fill:before {
    content: ""
}

.bi-person-badge:before {
    content: ""
}

.bi-person-bounding-box:before {
    content: ""
}

.bi-person-check-fill:before {
    content: ""
}

.bi-person-check:before {
    content: ""
}

.bi-person-circle:before {
    content: ""
}

.bi-person-dash-fill:before {
    content: ""
}

.bi-person-dash:before {
    content: ""
}

.bi-person-fill:before {
    content: ""
}

.bi-person-lines-fill:before {
    content: ""
}

.bi-person-plus-fill:before {
    content: ""
}

.bi-person-plus:before {
    content: ""
}

.bi-person-square:before {
    content: ""
}

.bi-person-x-fill:before {
    content: ""
}

.bi-person-x:before {
    content: ""
}

.bi-person:before {
    content: ""
}

.bi-phone-fill:before {
    content: ""
}

.bi-phone-landscape-fill:before {
    content: ""
}

.bi-phone-landscape:before {
    content: ""
}

.bi-phone-vibrate-fill:before {
    content: ""
}

.bi-phone-vibrate:before {
    content: ""
}

.bi-phone:before {
    content: ""
}

.bi-pie-chart-fill:before {
    content: ""
}

.bi-pie-chart:before {
    content: ""
}

.bi-pin-angle-fill:before {
    content: ""
}

.bi-pin-angle:before {
    content: ""
}

.bi-pin-fill:before {
    content: ""
}

.bi-pin:before {
    content: ""
}

.bi-pip-fill:before {
    content: ""
}

.bi-pip:before {
    content: ""
}

.bi-play-btn-fill:before {
    content: ""
}

.bi-play-btn:before {
    content: ""
}

.bi-play-circle-fill:before {
    content: ""
}

.bi-play-circle:before {
    content: ""
}

.bi-play-fill:before {
    content: ""
}

.bi-play:before {
    content: ""
}

.bi-plug-fill:before {
    content: ""
}

.bi-plug:before {
    content: ""
}

.bi-plus-circle-dotted:before {
    content: ""
}

.bi-plus-circle-fill:before {
    content: ""
}

.bi-plus-circle:before {
    content: ""
}

.bi-plus-square-dotted:before {
    content: ""
}

.bi-plus-square-fill:before {
    content: ""
}

.bi-plus-square:before {
    content: ""
}

.bi-plus:before {
    content: ""
}

.bi-power:before {
    content: ""
}

.bi-printer-fill:before {
    content: ""
}

.bi-printer:before {
    content: ""
}

.bi-puzzle-fill:before {
    content: ""
}

.bi-puzzle:before {
    content: ""
}

.bi-question-circle-fill:before {
    content: ""
}

.bi-question-circle:before {
    content: ""
}

.bi-question-diamond-fill:before {
    content: ""
}

.bi-question-diamond:before {
    content: ""
}

.bi-question-octagon-fill:before {
    content: ""
}

.bi-question-octagon:before {
    content: ""
}

.bi-question-square-fill:before {
    content: ""
}

.bi-question-square:before {
    content: ""
}

.bi-question:before {
    content: ""
}

.bi-rainbow:before {
    content: ""
}

.bi-receipt-cutoff:before {
    content: ""
}

.bi-receipt:before {
    content: ""
}

.bi-reception-0:before {
    content: ""
}

.bi-reception-1:before {
    content: ""
}

.bi-reception-2:before {
    content: ""
}

.bi-reception-3:before {
    content: ""
}

.bi-reception-4:before {
    content: ""
}

.bi-record-btn-fill:before {
    content: ""
}

.bi-record-btn:before {
    content: ""
}

.bi-record-circle-fill:before {
    content: ""
}

.bi-record-circle:before {
    content: ""
}

.bi-record-fill:before {
    content: ""
}

.bi-record:before {
    content: ""
}

.bi-record2-fill:before {
    content: ""
}

.bi-record2:before {
    content: ""
}

.bi-reply-all-fill:before {
    content: ""
}

.bi-reply-all:before {
    content: ""
}

.bi-reply-fill:before {
    content: ""
}

.bi-reply:before {
    content: ""
}

.bi-rss-fill:before {
    content: ""
}

.bi-rss:before {
    content: ""
}

.bi-rulers:before {
    content: ""
}

.bi-save-fill:before {
    content: ""
}

.bi-save:before {
    content: ""
}

.bi-save2-fill:before {
    content: ""
}

.bi-save2:before {
    content: ""
}

.bi-scissors:before {
    content: ""
}

.bi-screwdriver:before {
    content: ""
}

.bi-search:before {
    content: ""
}

.bi-segmented-nav:before {
    content: ""
}

.bi-server:before {
    content: ""
}

.bi-share-fill:before {
    content: ""
}

.bi-share:before {
    content: ""
}

.bi-shield-check:before {
    content: ""
}

.bi-shield-exclamation:before {
    content: ""
}

.bi-shield-fill-check:before {
    content: ""
}

.bi-shield-fill-exclamation:before {
    content: ""
}

.bi-shield-fill-minus:before {
    content: ""
}

.bi-shield-fill-plus:before {
    content: ""
}

.bi-shield-fill-x:before {
    content: ""
}

.bi-shield-fill:before {
    content: ""
}

.bi-shield-lock-fill:before {
    content: ""
}

.bi-shield-lock:before {
    content: ""
}

.bi-shield-minus:before {
    content: ""
}

.bi-shield-plus:before {
    content: ""
}

.bi-shield-shaded:before {
    content: ""
}

.bi-shield-slash-fill:before {
    content: ""
}

.bi-shield-slash:before {
    content: ""
}

.bi-shield-x:before {
    content: ""
}

.bi-shield:before {
    content: ""
}

.bi-shift-fill:before {
    content: ""
}

.bi-shift:before {
    content: ""
}

.bi-shop-window:before {
    content: ""
}

.bi-shop:before {
    content: ""
}

.bi-shuffle:before {
    content: ""
}

.bi-signpost-2-fill:before {
    content: ""
}

.bi-signpost-2:before {
    content: ""
}

.bi-signpost-fill:before {
    content: ""
}

.bi-signpost-split-fill:before {
    content: ""
}

.bi-signpost-split:before {
    content: ""
}

.bi-signpost:before {
    content: ""
}

.bi-sim-fill:before {
    content: ""
}

.bi-sim:before {
    content: ""
}

.bi-skip-backward-btn-fill:before {
    content: ""
}

.bi-skip-backward-btn:before {
    content: ""
}

.bi-skip-backward-circle-fill:before {
    content: ""
}

.bi-skip-backward-circle:before {
    content: ""
}

.bi-skip-backward-fill:before {
    content: ""
}

.bi-skip-backward:before {
    content: ""
}

.bi-skip-end-btn-fill:before {
    content: ""
}

.bi-skip-end-btn:before {
    content: ""
}

.bi-skip-end-circle-fill:before {
    content: ""
}

.bi-skip-end-circle:before {
    content: ""
}

.bi-skip-end-fill:before {
    content: ""
}

.bi-skip-end:before {
    content: ""
}

.bi-skip-forward-btn-fill:before {
    content: ""
}

.bi-skip-forward-btn:before {
    content: ""
}

.bi-skip-forward-circle-fill:before {
    content: ""
}

.bi-skip-forward-circle:before {
    content: ""
}

.bi-skip-forward-fill:before {
    content: ""
}

.bi-skip-forward:before {
    content: ""
}

.bi-skip-start-btn-fill:before {
    content: ""
}

.bi-skip-start-btn:before {
    content: ""
}

.bi-skip-start-circle-fill:before {
    content: ""
}

.bi-skip-start-circle:before {
    content: ""
}

.bi-skip-start-fill:before {
    content: ""
}

.bi-skip-start:before {
    content: ""
}

.bi-slack:before {
    content: ""
}

.bi-slash-circle-fill:before {
    content: ""
}

.bi-slash-circle:before {
    content: ""
}

.bi-slash-square-fill:before {
    content: ""
}

.bi-slash-square:before {
    content: ""
}

.bi-slash:before {
    content: ""
}

.bi-sliders:before {
    content: ""
}

.bi-smartwatch:before {
    content: ""
}

.bi-snow:before {
    content: ""
}

.bi-snow2:before {
    content: ""
}

.bi-snow3:before {
    content: ""
}

.bi-sort-alpha-down-alt:before {
    content: ""
}

.bi-sort-alpha-down:before {
    content: ""
}

.bi-sort-alpha-up-alt:before {
    content: ""
}

.bi-sort-alpha-up:before {
    content: ""
}

.bi-sort-down-alt:before {
    content: ""
}

.bi-sort-down:before {
    content: ""
}

.bi-sort-numeric-down-alt:before {
    content: ""
}

.bi-sort-numeric-down:before {
    content: ""
}

.bi-sort-numeric-up-alt:before {
    content: ""
}

.bi-sort-numeric-up:before {
    content: ""
}

.bi-sort-up-alt:before {
    content: ""
}

.bi-sort-up:before {
    content: ""
}

.bi-soundwave:before {
    content: ""
}

.bi-speaker-fill:before {
    content: ""
}

.bi-speaker:before {
    content: ""
}

.bi-speedometer:before {
    content: ""
}

.bi-speedometer2:before {
    content: ""
}

.bi-spellcheck:before {
    content: ""
}

.bi-square-fill:before {
    content: ""
}

.bi-square-half:before {
    content: ""
}

.bi-square:before {
    content: ""
}

.bi-stack:before {
    content: ""
}

.bi-star-fill:before {
    content: ""
}

.bi-star-half:before {
    content: ""
}

.bi-star:before {
    content: ""
}

.bi-stars:before {
    content: ""
}

.bi-stickies-fill:before {
    content: ""
}

.bi-stickies:before {
    content: ""
}

.bi-sticky-fill:before {
    content: ""
}

.bi-sticky:before {
    content: ""
}

.bi-stop-btn-fill:before {
    content: ""
}

.bi-stop-btn:before {
    content: ""
}

.bi-stop-circle-fill:before {
    content: ""
}

.bi-stop-circle:before {
    content: ""
}

.bi-stop-fill:before {
    content: ""
}

.bi-stop:before {
    content: ""
}

.bi-stoplights-fill:before {
    content: ""
}

.bi-stoplights:before {
    content: ""
}

.bi-stopwatch-fill:before {
    content: ""
}

.bi-stopwatch:before {
    content: ""
}

.bi-subtract:before {
    content: ""
}

.bi-suit-club-fill:before {
    content: ""
}

.bi-suit-club:before {
    content: ""
}

.bi-suit-diamond-fill:before {
    content: ""
}

.bi-suit-diamond:before {
    content: ""
}

.bi-suit-heart-fill:before {
    content: ""
}

.bi-suit-heart:before {
    content: ""
}

.bi-suit-spade-fill:before {
    content: ""
}

.bi-suit-spade:before {
    content: ""
}

.bi-sun-fill:before {
    content: ""
}

.bi-sun:before {
    content: ""
}

.bi-sunglasses:before {
    content: ""
}

.bi-sunrise-fill:before {
    content: ""
}

.bi-sunrise:before {
    content: ""
}

.bi-sunset-fill:before {
    content: ""
}

.bi-sunset:before {
    content: ""
}

.bi-symmetry-horizontal:before {
    content: ""
}

.bi-symmetry-vertical:before {
    content: ""
}

.bi-table:before {
    content: ""
}

.bi-tablet-fill:before {
    content: ""
}

.bi-tablet-landscape-fill:before {
    content: ""
}

.bi-tablet-landscape:before {
    content: ""
}

.bi-tablet:before {
    content: ""
}

.bi-tag-fill:before {
    content: ""
}

.bi-tag:before {
    content: ""
}

.bi-tags-fill:before {
    content: ""
}

.bi-tags:before {
    content: ""
}

.bi-telegram:before {
    content: ""
}

.bi-telephone-fill:before {
    content: ""
}

.bi-telephone-forward-fill:before {
    content: ""
}

.bi-telephone-forward:before {
    content: ""
}

.bi-telephone-inbound-fill:before {
    content: ""
}

.bi-telephone-inbound:before {
    content: ""
}

.bi-telephone-minus-fill:before {
    content: ""
}

.bi-telephone-minus:before {
    content: ""
}

.bi-telephone-outbound-fill:before {
    content: ""
}

.bi-telephone-outbound:before {
    content: ""
}

.bi-telephone-plus-fill:before {
    content: ""
}

.bi-telephone-plus:before {
    content: ""
}

.bi-telephone-x-fill:before {
    content: ""
}

.bi-telephone-x:before {
    content: ""
}

.bi-telephone:before {
    content: ""
}

.bi-terminal-fill:before {
    content: ""
}

.bi-terminal:before {
    content: ""
}

.bi-text-center:before {
    content: ""
}

.bi-text-indent-left:before {
    content: ""
}

.bi-text-indent-right:before {
    content: ""
}

.bi-text-left:before {
    content: ""
}

.bi-text-paragraph:before {
    content: ""
}

.bi-text-right:before {
    content: ""
}

.bi-textarea-resize:before {
    content: ""
}

.bi-textarea-t:before {
    content: ""
}

.bi-textarea:before {
    content: ""
}

.bi-thermometer-half:before {
    content: ""
}

.bi-thermometer-high:before {
    content: ""
}

.bi-thermometer-low:before {
    content: ""
}

.bi-thermometer-snow:before {
    content: ""
}

.bi-thermometer-sun:before {
    content: ""
}

.bi-thermometer:before {
    content: ""
}

.bi-three-dots-vertical:before {
    content: ""
}

.bi-three-dots:before {
    content: ""
}

.bi-toggle-off:before {
    content: ""
}

.bi-toggle-on:before {
    content: ""
}

.bi-toggle2-off:before {
    content: ""
}

.bi-toggle2-on:before {
    content: ""
}

.bi-toggles:before {
    content: ""
}

.bi-toggles2:before {
    content: ""
}

.bi-tools:before {
    content: ""
}

.bi-tornado:before {
    content: ""
}

.bi-trash-fill:before {
    content: ""
}

.bi-trash:before {
    content: ""
}

.bi-trash2-fill:before {
    content: ""
}

.bi-trash2:before {
    content: ""
}

.bi-tree-fill:before {
    content: ""
}

.bi-tree:before {
    content: ""
}

.bi-triangle-fill:before {
    content: ""
}

.bi-triangle-half:before {
    content: ""
}

.bi-triangle:before {
    content: ""
}

.bi-trophy-fill:before {
    content: ""
}

.bi-trophy:before {
    content: ""
}

.bi-tropical-storm:before {
    content: ""
}

.bi-truck-flatbed:before {
    content: ""
}

.bi-truck:before {
    content: ""
}

.bi-tsunami:before {
    content: ""
}

.bi-tv-fill:before {
    content: ""
}

.bi-tv:before {
    content: ""
}

.bi-twitch:before {
    content: ""
}

.bi-twitter:before {
    content: ""
}

.bi-type-bold:before {
    content: ""
}

.bi-type-h1:before {
    content: ""
}

.bi-type-h2:before {
    content: ""
}

.bi-type-h3:before {
    content: ""
}

.bi-type-italic:before {
    content: ""
}

.bi-type-strikethrough:before {
    content: ""
}

.bi-type-underline:before {
    content: ""
}

.bi-type:before {
    content: ""
}

.bi-ui-checks-grid:before {
    content: ""
}

.bi-ui-checks:before {
    content: ""
}

.bi-ui-radios-grid:before {
    content: ""
}

.bi-ui-radios:before {
    content: ""
}

.bi-umbrella-fill:before {
    content: ""
}

.bi-umbrella:before {
    content: ""
}

.bi-union:before {
    content: ""
}

.bi-unlock-fill:before {
    content: ""
}

.bi-unlock:before {
    content: ""
}

.bi-upc-scan:before {
    content: ""
}

.bi-upc:before {
    content: ""
}

.bi-upload:before {
    content: ""
}

.bi-vector-pen:before {
    content: ""
}

.bi-view-list:before {
    content: ""
}

.bi-view-stacked:before {
    content: ""
}

.bi-vinyl-fill:before {
    content: ""
}

.bi-vinyl:before {
    content: ""
}

.bi-voicemail:before {
    content: ""
}

.bi-volume-down-fill:before {
    content: ""
}

.bi-volume-down:before {
    content: ""
}

.bi-volume-mute-fill:before {
    content: ""
}

.bi-volume-mute:before {
    content: ""
}

.bi-volume-off-fill:before {
    content: ""
}

.bi-volume-off:before {
    content: ""
}

.bi-volume-up-fill:before {
    content: ""
}

.bi-volume-up:before {
    content: ""
}

.bi-vr:before {
    content: ""
}

.bi-wallet-fill:before {
    content: ""
}

.bi-wallet:before {
    content: ""
}

.bi-wallet2:before {
    content: ""
}

.bi-watch:before {
    content: ""
}

.bi-water:before {
    content: ""
}

.bi-whatsapp:before {
    content: ""
}

.bi-wifi-1:before {
    content: ""
}

.bi-wifi-2:before {
    content: ""
}

.bi-wifi-off:before {
    content: ""
}

.bi-wifi:before {
    content: ""
}

.bi-wind:before {
    content: ""
}

.bi-window-dock:before {
    content: ""
}

.bi-window-sidebar:before {
    content: ""
}

.bi-window:before {
    content: ""
}

.bi-wrench:before {
    content: ""
}

.bi-x-circle-fill:before {
    content: ""
}

.bi-x-circle:before {
    content: ""
}

.bi-x-diamond-fill:before {
    content: ""
}

.bi-x-diamond:before {
    content: ""
}

.bi-x-octagon-fill:before {
    content: ""
}

.bi-x-octagon:before {
    content: ""
}

.bi-x-square-fill:before {
    content: ""
}

.bi-x-square:before {
    content: ""
}

.bi-x:before {
    content: ""
}

.bi-youtube:before {
    content: ""
}

.bi-zoom-in:before {
    content: ""
}

.bi-zoom-out:before {
    content: ""
}

.bi-bank:before {
    content: ""
}

.bi-bank2:before {
    content: ""
}

.bi-bell-slash-fill:before {
    content: ""
}

.bi-bell-slash:before {
    content: ""
}

.bi-cash-coin:before {
    content: ""
}

.bi-check-lg:before {
    content: ""
}

.bi-coin:before {
    content: ""
}

.bi-currency-bitcoin:before {
    content: ""
}

.bi-currency-dollar:before {
    content: ""
}

.bi-currency-euro:before {
    content: ""
}

.bi-currency-exchange:before {
    content: ""
}

.bi-currency-pound:before {
    content: ""
}

.bi-currency-yen:before {
    content: ""
}

.bi-dash-lg:before {
    content: ""
}

.bi-exclamation-lg:before {
    content: ""
}

.bi-file-earmark-pdf-fill:before {
    content: ""
}

.bi-file-earmark-pdf:before {
    content: ""
}

.bi-file-pdf-fill:before {
    content: ""
}

.bi-file-pdf:before {
    content: ""
}

.bi-gender-ambiguous:before {
    content: ""
}

.bi-gender-female:before {
    content: ""
}

.bi-gender-male:before {
    content: ""
}

.bi-gender-trans:before {
    content: ""
}

.bi-headset-vr:before {
    content: ""
}

.bi-info-lg:before {
    content: ""
}

.bi-mastodon:before {
    content: ""
}

.bi-messenger:before {
    content: ""
}

.bi-piggy-bank-fill:before {
    content: ""
}

.bi-piggy-bank:before {
    content: ""
}

.bi-pin-map-fill:before {
    content: ""
}

.bi-pin-map:before {
    content: ""
}

.bi-plus-lg:before {
    content: ""
}

.bi-question-lg:before {
    content: ""
}

.bi-recycle:before {
    content: ""
}

.bi-reddit:before {
    content: ""
}

.bi-safe-fill:before {
    content: ""
}

.bi-safe2-fill:before {
    content: ""
}

.bi-safe2:before {
    content: ""
}

.bi-sd-card-fill:before {
    content: ""
}

.bi-sd-card:before {
    content: ""
}

.bi-skype:before {
    content: ""
}

.bi-slash-lg:before {
    content: ""
}

.bi-translate:before {
    content: ""
}

.bi-x-lg:before {
    content: ""
}

.bi-safe:before {
    content: ""
}

.bi-apple:before {
    content: ""
}

.bi-microsoft:before {
    content: ""
}

.bi-windows:before {
    content: ""
}

.bi-behance:before {
    content: ""
}

.bi-dribbble:before {
    content: ""
}

.bi-line:before {
    content: ""
}

.bi-medium:before {
    content: ""
}

.bi-paypal:before {
    content: ""
}

.bi-pinterest:before {
    content: ""
}

.bi-signal:before {
    content: ""
}

.bi-snapchat:before {
    content: ""
}

.bi-spotify:before {
    content: ""
}

.bi-stack-overflow:before {
    content: ""
}

.bi-strava:before {
    content: ""
}

.bi-wordpress:before {
    content: ""
}

.bi-vimeo:before {
    content: ""
}

.bi-activity:before {
    content: ""
}

.bi-easel2-fill:before {
    content: ""
}

.bi-easel2:before {
    content: ""
}

.bi-easel3-fill:before {
    content: ""
}

.bi-easel3:before {
    content: ""
}

.bi-fan:before {
    content: ""
}

.bi-fingerprint:before {
    content: ""
}

.bi-graph-down-arrow:before {
    content: ""
}

.bi-graph-up-arrow:before {
    content: ""
}

.bi-hypnotize:before {
    content: ""
}

.bi-magic:before {
    content: ""
}

.bi-person-rolodex:before {
    content: ""
}

.bi-person-video:before {
    content: ""
}

.bi-person-video2:before {
    content: ""
}

.bi-person-video3:before {
    content: ""
}

.bi-person-workspace:before {
    content: ""
}

.bi-radioactive:before {
    content: ""
}

.bi-webcam-fill:before {
    content: ""
}

.bi-webcam:before {
    content: ""
}

.bi-yin-yang:before {
    content: ""
}

.bi-bandaid-fill:before {
    content: ""
}

.bi-bandaid:before {
    content: ""
}

.bi-bluetooth:before {
    content: ""
}

.bi-body-text:before {
    content: ""
}

.bi-boombox:before {
    content: ""
}

.bi-boxes:before {
    content: ""
}

.bi-dpad-fill:before {
    content: ""
}

.bi-dpad:before {
    content: ""
}

.bi-ear-fill:before {
    content: ""
}

.bi-ear:before {
    content: ""
}

.bi-envelope-check-fill:before {
    content: ""
}

.bi-envelope-check:before {
    content: ""
}

.bi-envelope-dash-fill:before {
    content: ""
}

.bi-envelope-dash:before {
    content: ""
}

.bi-envelope-exclamation-fill:before {
    content: ""
}

.bi-envelope-exclamation:before {
    content: ""
}

.bi-envelope-plus-fill:before {
    content: ""
}

.bi-envelope-plus:before {
    content: ""
}

.bi-envelope-slash-fill:before {
    content: ""
}

.bi-envelope-slash:before {
    content: ""
}

.bi-envelope-x-fill:before {
    content: ""
}

.bi-envelope-x:before {
    content: ""
}

.bi-explicit-fill:before {
    content: ""
}

.bi-explicit:before {
    content: ""
}

.bi-git:before {
    content: ""
}

.bi-infinity:before {
    content: ""
}

.bi-list-columns-reverse:before {
    content: ""
}

.bi-list-columns:before {
    content: ""
}

.bi-meta:before {
    content: ""
}

.bi-nintendo-switch:before {
    content: ""
}

.bi-pc-display-horizontal:before {
    content: ""
}

.bi-pc-display:before {
    content: ""
}

.bi-pc-horizontal:before {
    content: ""
}

.bi-pc:before {
    content: ""
}

.bi-playstation:before {
    content: ""
}

.bi-plus-slash-minus:before {
    content: ""
}

.bi-projector-fill:before {
    content: ""
}

.bi-projector:before {
    content: ""
}

.bi-qr-code-scan:before {
    content: ""
}

.bi-qr-code:before {
    content: ""
}

.bi-quora:before {
    content: ""
}

.bi-quote:before {
    content: ""
}

.bi-robot:before {
    content: ""
}

.bi-send-check-fill:before {
    content: ""
}

.bi-send-check:before {
    content: ""
}

.bi-send-dash-fill:before {
    content: ""
}

.bi-send-dash:before {
    content: ""
}

.bi-send-exclamation-fill:before {
    content: ""
}

.bi-send-exclamation:before {
    content: ""
}

.bi-send-fill:before {
    content: ""
}

.bi-send-plus-fill:before {
    content: ""
}

.bi-send-plus:before {
    content: ""
}

.bi-send-slash-fill:before {
    content: ""
}

.bi-send-slash:before {
    content: ""
}

.bi-send-x-fill:before {
    content: ""
}

.bi-send-x:before {
    content: ""
}

.bi-send:before {
    content: ""
}

.bi-steam:before {
    content: ""
}

.bi-terminal-dash:before {
    content: ""
}

.bi-terminal-plus:before {
    content: ""
}

.bi-terminal-split:before {
    content: ""
}

.bi-ticket-detailed-fill:before {
    content: ""
}

.bi-ticket-detailed:before {
    content: ""
}

.bi-ticket-fill:before {
    content: ""
}

.bi-ticket-perforated-fill:before {
    content: ""
}

.bi-ticket-perforated:before {
    content: ""
}

.bi-ticket:before {
    content: ""
}

.bi-tiktok:before {
    content: ""
}

.bi-window-dash:before {
    content: ""
}

.bi-window-desktop:before {
    content: ""
}

.bi-window-fullscreen:before {
    content: ""
}

.bi-window-plus:before {
    content: ""
}

.bi-window-split:before {
    content: ""
}

.bi-window-stack:before {
    content: ""
}

.bi-window-x:before {
    content: ""
}

.bi-xbox:before {
    content: ""
}

.bi-ethernet:before {
    content: ""
}

.bi-hdmi-fill:before {
    content: ""
}

.bi-hdmi:before {
    content: ""
}

.bi-usb-c-fill:before {
    content: ""
}

.bi-usb-c:before {
    content: ""
}

.bi-usb-fill:before {
    content: ""
}

.bi-usb-plug-fill:before {
    content: ""
}

.bi-usb-plug:before {
    content: ""
}

.bi-usb-symbol:before {
    content: ""
}

.bi-usb:before {
    content: ""
}

.bi-boombox-fill:before {
    content: ""
}

.bi-displayport:before {
    content: ""
}

.bi-gpu-card:before {
    content: ""
}

.bi-memory:before {
    content: ""
}

.bi-modem-fill:before {
    content: ""
}

.bi-modem:before {
    content: ""
}

.bi-motherboard-fill:before {
    content: ""
}

.bi-motherboard:before {
    content: ""
}

.bi-optical-audio-fill:before {
    content: ""
}

.bi-optical-audio:before {
    content: ""
}

.bi-pci-card:before {
    content: ""
}

.bi-router-fill:before {
    content: ""
}

.bi-router:before {
    content: ""
}

.bi-thunderbolt-fill:before {
    content: ""
}

.bi-thunderbolt:before {
    content: ""
}

.bi-usb-drive-fill:before {
    content: ""
}

.bi-usb-drive:before {
    content: ""
}

.bi-usb-micro-fill:before {
    content: ""
}

.bi-usb-micro:before {
    content: ""
}

.bi-usb-mini-fill:before {
    content: ""
}

.bi-usb-mini:before {
    content: ""
}

.bi-cloud-haze2:before {
    content: ""
}

.bi-device-hdd-fill:before {
    content: ""
}

.bi-device-hdd:before {
    content: ""
}

.bi-device-ssd-fill:before {
    content: ""
}

.bi-device-ssd:before {
    content: ""
}

.bi-displayport-fill:before {
    content: ""
}

.bi-mortarboard-fill:before {
    content: ""
}

.bi-mortarboard:before {
    content: ""
}

.bi-terminal-x:before {
    content: ""
}

.bi-arrow-through-heart-fill:before {
    content: ""
}

.bi-arrow-through-heart:before {
    content: ""
}

.bi-badge-sd-fill:before {
    content: ""
}

.bi-badge-sd:before {
    content: ""
}

.bi-bag-heart-fill:before {
    content: ""
}

.bi-bag-heart:before {
    content: ""
}

.bi-balloon-fill:before {
    content: ""
}

.bi-balloon-heart-fill:before {
    content: ""
}

.bi-balloon-heart:before {
    content: ""
}

.bi-balloon:before {
    content: ""
}

.bi-box2-fill:before {
    content: ""
}

.bi-box2-heart-fill:before {
    content: ""
}

.bi-box2-heart:before {
    content: ""
}

.bi-box2:before {
    content: ""
}

.bi-braces-asterisk:before {
    content: ""
}

.bi-calendar-heart-fill:before {
    content: ""
}

.bi-calendar-heart:before {
    content: ""
}

.bi-calendar2-heart-fill:before {
    content: ""
}

.bi-calendar2-heart:before {
    content: ""
}

.bi-chat-heart-fill:before {
    content: ""
}

.bi-chat-heart:before {
    content: ""
}

.bi-chat-left-heart-fill:before {
    content: ""
}

.bi-chat-left-heart:before {
    content: ""
}

.bi-chat-right-heart-fill:before {
    content: ""
}

.bi-chat-right-heart:before {
    content: ""
}

.bi-chat-square-heart-fill:before {
    content: ""
}

.bi-chat-square-heart:before {
    content: ""
}

.bi-clipboard-check-fill:before {
    content: ""
}

.bi-clipboard-data-fill:before {
    content: ""
}

.bi-clipboard-fill:before {
    content: ""
}

.bi-clipboard-heart-fill:before {
    content: ""
}

.bi-clipboard-heart:before {
    content: ""
}

.bi-clipboard-minus-fill:before {
    content: ""
}

.bi-clipboard-plus-fill:before {
    content: ""
}

.bi-clipboard-pulse:before {
    content: ""
}

.bi-clipboard-x-fill:before {
    content: ""
}

.bi-clipboard2-check-fill:before {
    content: ""
}

.bi-clipboard2-check:before {
    content: ""
}

.bi-clipboard2-data-fill:before {
    content: ""
}

.bi-clipboard2-data:before {
    content: ""
}

.bi-clipboard2-fill:before {
    content: ""
}

.bi-clipboard2-heart-fill:before {
    content: ""
}

.bi-clipboard2-heart:before {
    content: ""
}

.bi-clipboard2-minus-fill:before {
    content: ""
}

.bi-clipboard2-minus:before {
    content: ""
}

.bi-clipboard2-plus-fill:before {
    content: ""
}

.bi-clipboard2-plus:before {
    content: ""
}

.bi-clipboard2-pulse-fill:before {
    content: ""
}

.bi-clipboard2-pulse:before {
    content: ""
}

.bi-clipboard2-x-fill:before {
    content: ""
}

.bi-clipboard2-x:before {
    content: ""
}

.bi-clipboard2:before {
    content: ""
}

.bi-emoji-kiss-fill:before {
    content: ""
}

.bi-emoji-kiss:before {
    content: ""
}

.bi-envelope-heart-fill:before {
    content: ""
}

.bi-envelope-heart:before {
    content: ""
}

.bi-envelope-open-heart-fill:before {
    content: ""
}

.bi-envelope-open-heart:before {
    content: ""
}

.bi-envelope-paper-fill:before {
    content: ""
}

.bi-envelope-paper-heart-fill:before {
    content: ""
}

.bi-envelope-paper-heart:before {
    content: ""
}

.bi-envelope-paper:before {
    content: ""
}

.bi-filetype-aac:before {
    content: ""
}

.bi-filetype-ai:before {
    content: ""
}

.bi-filetype-bmp:before {
    content: ""
}

.bi-filetype-cs:before {
    content: ""
}

.bi-filetype-css:before {
    content: ""
}

.bi-filetype-csv:before {
    content: ""
}

.bi-filetype-doc:before {
    content: ""
}

.bi-filetype-docx:before {
    content: ""
}

.bi-filetype-exe:before {
    content: ""
}

.bi-filetype-gif:before {
    content: ""
}

.bi-filetype-heic:before {
    content: ""
}

.bi-filetype-html:before {
    content: ""
}

.bi-filetype-java:before {
    content: ""
}

.bi-filetype-jpg:before {
    content: ""
}

.bi-filetype-js:before {
    content: ""
}

.bi-filetype-jsx:before {
    content: ""
}

.bi-filetype-key:before {
    content: ""
}

.bi-filetype-m4p:before {
    content: ""
}

.bi-filetype-md:before {
    content: ""
}

.bi-filetype-mdx:before {
    content: ""
}

.bi-filetype-mov:before {
    content: ""
}

.bi-filetype-mp3:before {
    content: ""
}

.bi-filetype-mp4:before {
    content: ""
}

.bi-filetype-otf:before {
    content: ""
}

.bi-filetype-pdf:before {
    content: ""
}

.bi-filetype-php:before {
    content: ""
}

.bi-filetype-png:before {
    content: ""
}

.bi-filetype-ppt:before {
    content: ""
}

.bi-filetype-psd:before {
    content: ""
}

.bi-filetype-py:before {
    content: ""
}

.bi-filetype-raw:before {
    content: ""
}

.bi-filetype-rb:before {
    content: ""
}

.bi-filetype-sass:before {
    content: ""
}

.bi-filetype-scss:before {
    content: ""
}

.bi-filetype-sh:before {
    content: ""
}

.bi-filetype-svg:before {
    content: ""
}

.bi-filetype-tiff:before {
    content: ""
}

.bi-filetype-tsx:before {
    content: ""
}

.bi-filetype-ttf:before {
    content: ""
}

.bi-filetype-txt:before {
    content: ""
}

.bi-filetype-wav:before {
    content: ""
}

.bi-filetype-woff:before {
    content: ""
}

.bi-filetype-xls:before {
    content: ""
}

.bi-filetype-xml:before {
    content: ""
}

.bi-filetype-yml:before {
    content: ""
}

.bi-heart-arrow:before {
    content: ""
}

.bi-heart-pulse-fill:before {
    content: ""
}

.bi-heart-pulse:before {
    content: ""
}

.bi-heartbreak-fill:before {
    content: ""
}

.bi-heartbreak:before {
    content: ""
}

.bi-hearts:before {
    content: ""
}

.bi-hospital-fill:before {
    content: ""
}

.bi-hospital:before {
    content: ""
}

.bi-house-heart-fill:before {
    content: ""
}

.bi-house-heart:before {
    content: ""
}

.bi-incognito:before {
    content: ""
}

.bi-magnet-fill:before {
    content: ""
}

.bi-magnet:before {
    content: ""
}

.bi-person-heart:before {
    content: ""
}

.bi-person-hearts:before {
    content: ""
}

.bi-phone-flip:before {
    content: ""
}

.bi-plugin:before {
    content: ""
}

.bi-postage-fill:before {
    content: ""
}

.bi-postage-heart-fill:before {
    content: ""
}

.bi-postage-heart:before {
    content: ""
}

.bi-postage:before {
    content: ""
}

.bi-postcard-fill:before {
    content: ""
}

.bi-postcard-heart-fill:before {
    content: ""
}

.bi-postcard-heart:before {
    content: ""
}

.bi-postcard:before {
    content: ""
}

.bi-search-heart-fill:before {
    content: ""
}

.bi-search-heart:before {
    content: ""
}

.bi-sliders2-vertical:before {
    content: ""
}

.bi-sliders2:before {
    content: ""
}

.bi-trash3-fill:before {
    content: ""
}

.bi-trash3:before {
    content: ""
}

.bi-valentine:before {
    content: ""
}

.bi-valentine2:before {
    content: ""
}

.bi-wrench-adjustable-circle-fill:before {
    content: ""
}

.bi-wrench-adjustable-circle:before {
    content: ""
}

.bi-wrench-adjustable:before {
    content: ""
}

.bi-filetype-json:before {
    content: ""
}

.bi-filetype-pptx:before {
    content: ""
}

.bi-filetype-xlsx:before {
    content: ""
}

.bi-1-circle-fill:before {
    content: ""
}

.bi-1-circle:before {
    content: ""
}

.bi-1-square-fill:before {
    content: ""
}

.bi-1-square:before {
    content: ""
}

.bi-2-circle-fill:before {
    content: ""
}

.bi-2-circle:before {
    content: ""
}

.bi-2-square-fill:before {
    content: ""
}

.bi-2-square:before {
    content: ""
}

.bi-3-circle-fill:before {
    content: ""
}

.bi-3-circle:before {
    content: ""
}

.bi-3-square-fill:before {
    content: ""
}

.bi-3-square:before {
    content: ""
}

.bi-4-circle-fill:before {
    content: ""
}

.bi-4-circle:before {
    content: ""
}

.bi-4-square-fill:before {
    content: ""
}

.bi-4-square:before {
    content: ""
}

.bi-5-circle-fill:before {
    content: ""
}

.bi-5-circle:before {
    content: ""
}

.bi-5-square-fill:before {
    content: ""
}

.bi-5-square:before {
    content: ""
}

.bi-6-circle-fill:before {
    content: ""
}

.bi-6-circle:before {
    content: ""
}

.bi-6-square-fill:before {
    content: ""
}

.bi-6-square:before {
    content: ""
}

.bi-7-circle-fill:before {
    content: ""
}

.bi-7-circle:before {
    content: ""
}

.bi-7-square-fill:before {
    content: ""
}

.bi-7-square:before {
    content: ""
}

.bi-8-circle-fill:before {
    content: ""
}

.bi-8-circle:before {
    content: ""
}

.bi-8-square-fill:before {
    content: ""
}

.bi-8-square:before {
    content: ""
}

.bi-9-circle-fill:before {
    content: ""
}

.bi-9-circle:before {
    content: ""
}

.bi-9-square-fill:before {
    content: ""
}

.bi-9-square:before {
    content: ""
}

.bi-airplane-engines-fill:before {
    content: ""
}

.bi-airplane-engines:before {
    content: ""
}

.bi-airplane-fill:before {
    content: ""
}

.bi-airplane:before {
    content: ""
}

.bi-alexa:before {
    content: ""
}

.bi-alipay:before {
    content: ""
}

.bi-android:before {
    content: ""
}

.bi-android2:before {
    content: ""
}

.bi-box-fill:before {
    content: ""
}

.bi-box-seam-fill:before {
    content: ""
}

.bi-browser-chrome:before {
    content: ""
}

.bi-browser-edge:before {
    content: ""
}

.bi-browser-firefox:before {
    content: ""
}

.bi-browser-safari:before {
    content: ""
}

.bi-c-circle-fill:before {
    content: ""
}

.bi-c-circle:before {
    content: ""
}

.bi-c-square-fill:before {
    content: ""
}

.bi-c-square:before {
    content: ""
}

.bi-capsule-pill:before {
    content: ""
}

.bi-capsule:before {
    content: ""
}

.bi-car-front-fill:before {
    content: ""
}

.bi-car-front:before {
    content: ""
}

.bi-cassette-fill:before {
    content: ""
}

.bi-cassette:before {
    content: ""
}

.bi-cc-circle-fill:before {
    content: ""
}

.bi-cc-circle:before {
    content: ""
}

.bi-cc-square-fill:before {
    content: ""
}

.bi-cc-square:before {
    content: ""
}

.bi-cup-hot-fill:before {
    content: ""
}

.bi-cup-hot:before {
    content: ""
}

.bi-currency-rupee:before {
    content: ""
}

.bi-dropbox:before {
    content: ""
}

.bi-escape:before {
    content: ""
}

.bi-fast-forward-btn-fill:before {
    content: ""
}

.bi-fast-forward-btn:before {
    content: ""
}

.bi-fast-forward-circle-fill:before {
    content: ""
}

.bi-fast-forward-circle:before {
    content: ""
}

.bi-fast-forward-fill:before {
    content: ""
}

.bi-fast-forward:before {
    content: ""
}

.bi-filetype-sql:before {
    content: ""
}

.bi-fire:before {
    content: ""
}

.bi-google-play:before {
    content: ""
}

.bi-h-circle-fill:before {
    content: ""
}

.bi-h-circle:before {
    content: ""
}

.bi-h-square-fill:before {
    content: ""
}

.bi-h-square:before {
    content: ""
}

.bi-indent:before {
    content: ""
}

.bi-lungs-fill:before {
    content: ""
}

.bi-lungs:before {
    content: ""
}

.bi-microsoft-teams:before {
    content: ""
}

.bi-p-circle-fill:before {
    content: ""
}

.bi-p-circle:before {
    content: ""
}

.bi-p-square-fill:before {
    content: ""
}

.bi-p-square:before {
    content: ""
}

.bi-pass-fill:before {
    content: ""
}

.bi-pass:before {
    content: ""
}

.bi-prescription:before {
    content: ""
}

.bi-prescription2:before {
    content: ""
}

.bi-r-circle-fill:before {
    content: ""
}

.bi-r-circle:before {
    content: ""
}

.bi-r-square-fill:before {
    content: ""
}

.bi-r-square:before {
    content: ""
}

.bi-repeat-1:before {
    content: ""
}

.bi-repeat:before {
    content: ""
}

.bi-rewind-btn-fill:before {
    content: ""
}

.bi-rewind-btn:before {
    content: ""
}

.bi-rewind-circle-fill:before {
    content: ""
}

.bi-rewind-circle:before {
    content: ""
}

.bi-rewind-fill:before {
    content: ""
}

.bi-rewind:before {
    content: ""
}

.bi-train-freight-front-fill:before {
    content: ""
}

.bi-train-freight-front:before {
    content: ""
}

.bi-train-front-fill:before {
    content: ""
}

.bi-train-front:before {
    content: ""
}

.bi-train-lightrail-front-fill:before {
    content: ""
}

.bi-train-lightrail-front:before {
    content: ""
}

.bi-truck-front-fill:before {
    content: ""
}

.bi-truck-front:before {
    content: ""
}

.bi-ubuntu:before {
    content: ""
}

.bi-unindent:before {
    content: ""
}

.bi-unity:before {
    content: ""
}

.bi-universal-access-circle:before {
    content: ""
}

.bi-universal-access:before {
    content: ""
}

.bi-virus:before {
    content: ""
}

.bi-virus2:before {
    content: ""
}

.bi-wechat:before {
    content: ""
}

.bi-yelp:before {
    content: ""
}

.bi-sign-stop-fill:before {
    content: ""
}

.bi-sign-stop-lights-fill:before {
    content: ""
}

.bi-sign-stop-lights:before {
    content: ""
}

.bi-sign-stop:before {
    content: ""
}

.bi-sign-turn-left-fill:before {
    content: ""
}

.bi-sign-turn-left:before {
    content: ""
}

.bi-sign-turn-right-fill:before {
    content: ""
}

.bi-sign-turn-right:before {
    content: ""
}

.bi-sign-turn-slight-left-fill:before {
    content: ""
}

.bi-sign-turn-slight-left:before {
    content: ""
}

.bi-sign-turn-slight-right-fill:before {
    content: ""
}

.bi-sign-turn-slight-right:before {
    content: ""
}

.bi-sign-yield-fill:before {
    content: ""
}

.bi-sign-yield:before {
    content: ""
}

.bi-ev-station-fill:before {
    content: ""
}

.bi-ev-station:before {
    content: ""
}

.bi-fuel-pump-diesel-fill:before {
    content: ""
}

.bi-fuel-pump-diesel:before {
    content: ""
}

.bi-fuel-pump-fill:before {
    content: ""
}

.bi-fuel-pump:before {
    content: ""
}

.bi-0-circle-fill:before {
    content: ""
}

.bi-0-circle:before {
    content: ""
}

.bi-0-square-fill:before {
    content: ""
}

.bi-0-square:before {
    content: ""
}

.bi-rocket-fill:before {
    content: ""
}

.bi-rocket-takeoff-fill:before {
    content: ""
}

.bi-rocket-takeoff:before {
    content: ""
}

.bi-rocket:before {
    content: ""
}

.bi-stripe:before {
    content: ""
}

.bi-subscript:before {
    content: ""
}

.bi-superscript:before {
    content: ""
}

.bi-trello:before {
    content: ""
}

.bi-envelope-at-fill:before {
    content: ""
}

.bi-envelope-at:before {
    content: ""
}

.bi-regex:before {
    content: ""
}

.bi-text-wrap:before {
    content: ""
}

.bi-sign-dead-end-fill:before {
    content: ""
}

.bi-sign-dead-end:before {
    content: ""
}

.bi-sign-do-not-enter-fill:before {
    content: ""
}

.bi-sign-do-not-enter:before {
    content: ""
}

.bi-sign-intersection-fill:before {
    content: ""
}

.bi-sign-intersection-side-fill:before {
    content: ""
}

.bi-sign-intersection-side:before {
    content: ""
}

.bi-sign-intersection-t-fill:before {
    content: ""
}

.bi-sign-intersection-t:before {
    content: ""
}

.bi-sign-intersection-y-fill:before {
    content: ""
}

.bi-sign-intersection-y:before {
    content: ""
}

.bi-sign-intersection:before {
    content: ""
}

.bi-sign-merge-left-fill:before {
    content: ""
}

.bi-sign-merge-left:before {
    content: ""
}

.bi-sign-merge-right-fill:before {
    content: ""
}

.bi-sign-merge-right:before {
    content: ""
}

.bi-sign-no-left-turn-fill:before {
    content: ""
}

.bi-sign-no-left-turn:before {
    content: ""
}

.bi-sign-no-parking-fill:before {
    content: ""
}

.bi-sign-no-parking:before {
    content: ""
}

.bi-sign-no-right-turn-fill:before {
    content: ""
}

.bi-sign-no-right-turn:before {
    content: ""
}

.bi-sign-railroad-fill:before {
    content: ""
}

.bi-sign-railroad:before {
    content: ""
}

.bi-building-add:before {
    content: ""
}

.bi-building-check:before {
    content: ""
}

.bi-building-dash:before {
    content: ""
}

.bi-building-down:before {
    content: ""
}

.bi-building-exclamation:before {
    content: ""
}

.bi-building-fill-add:before {
    content: ""
}

.bi-building-fill-check:before {
    content: ""
}

.bi-building-fill-dash:before {
    content: ""
}

.bi-building-fill-down:before {
    content: ""
}

.bi-building-fill-exclamation:before {
    content: ""
}

.bi-building-fill-gear:before {
    content: ""
}

.bi-building-fill-lock:before {
    content: ""
}

.bi-building-fill-slash:before {
    content: ""
}

.bi-building-fill-up:before {
    content: ""
}

.bi-building-fill-x:before {
    content: ""
}

.bi-building-fill:before {
    content: ""
}

.bi-building-gear:before {
    content: ""
}

.bi-building-lock:before {
    content: ""
}

.bi-building-slash:before {
    content: ""
}

.bi-building-up:before {
    content: ""
}

.bi-building-x:before {
    content: ""
}

.bi-buildings-fill:before {
    content: ""
}

.bi-buildings:before {
    content: ""
}

.bi-bus-front-fill:before {
    content: ""
}

.bi-bus-front:before {
    content: ""
}

.bi-ev-front-fill:before {
    content: ""
}

.bi-ev-front:before {
    content: ""
}

.bi-globe-americas:before {
    content: ""
}

.bi-globe-asia-australia:before {
    content: ""
}

.bi-globe-central-south-asia:before {
    content: ""
}

.bi-globe-europe-africa:before {
    content: ""
}

.bi-house-add-fill:before {
    content: ""
}

.bi-house-add:before {
    content: ""
}

.bi-house-check-fill:before {
    content: ""
}

.bi-house-check:before {
    content: ""
}

.bi-house-dash-fill:before {
    content: ""
}

.bi-house-dash:before {
    content: ""
}

.bi-house-down-fill:before {
    content: ""
}

.bi-house-down:before {
    content: ""
}

.bi-house-exclamation-fill:before {
    content: ""
}

.bi-house-exclamation:before {
    content: ""
}

.bi-house-gear-fill:before {
    content: ""
}

.bi-house-gear:before {
    content: ""
}

.bi-house-lock-fill:before {
    content: ""
}

.bi-house-lock:before {
    content: ""
}

.bi-house-slash-fill:before {
    content: ""
}

.bi-house-slash:before {
    content: ""
}

.bi-house-up-fill:before {
    content: ""
}

.bi-house-up:before {
    content: ""
}

.bi-house-x-fill:before {
    content: ""
}

.bi-house-x:before {
    content: ""
}

.bi-person-add:before {
    content: ""
}

.bi-person-down:before {
    content: ""
}

.bi-person-exclamation:before {
    content: ""
}

.bi-person-fill-add:before {
    content: ""
}

.bi-person-fill-check:before {
    content: ""
}

.bi-person-fill-dash:before {
    content: ""
}

.bi-person-fill-down:before {
    content: ""
}

.bi-person-fill-exclamation:before {
    content: ""
}

.bi-person-fill-gear:before {
    content: ""
}

.bi-person-fill-lock:before {
    content: ""
}

.bi-person-fill-slash:before {
    content: ""
}

.bi-person-fill-up:before {
    content: ""
}

.bi-person-fill-x:before {
    content: ""
}

.bi-person-gear:before {
    content: ""
}

.bi-person-lock:before {
    content: ""
}

.bi-person-slash:before {
    content: ""
}

.bi-person-up:before {
    content: ""
}

.bi-scooter:before {
    content: ""
}

.bi-taxi-front-fill:before {
    content: ""
}

.bi-taxi-front:before {
    content: ""
}

.bi-amd:before {
    content: ""
}

.bi-database-add:before {
    content: ""
}

.bi-database-check:before {
    content: ""
}

.bi-database-dash:before {
    content: ""
}

.bi-database-down:before {
    content: ""
}

.bi-database-exclamation:before {
    content: ""
}

.bi-database-fill-add:before {
    content: ""
}

.bi-database-fill-check:before {
    content: ""
}

.bi-database-fill-dash:before {
    content: ""
}

.bi-database-fill-down:before {
    content: ""
}

.bi-database-fill-exclamation:before {
    content: ""
}

.bi-database-fill-gear:before {
    content: ""
}

.bi-database-fill-lock:before {
    content: ""
}

.bi-database-fill-slash:before {
    content: ""
}

.bi-database-fill-up:before {
    content: ""
}

.bi-database-fill-x:before {
    content: ""
}

.bi-database-fill:before {
    content: ""
}

.bi-database-gear:before {
    content: ""
}

.bi-database-lock:before {
    content: ""
}

.bi-database-slash:before {
    content: ""
}

.bi-database-up:before {
    content: ""
}

.bi-database-x:before {
    content: ""
}

.bi-database:before {
    content: ""
}

.bi-houses-fill:before {
    content: ""
}

.bi-houses:before {
    content: ""
}

.bi-nvidia:before {
    content: ""
}

.bi-person-vcard-fill:before {
    content: ""
}

.bi-person-vcard:before {
    content: ""
}

.bi-sina-weibo:before {
    content: ""
}

.bi-tencent-qq:before {
    content: ""
}

.bi-wikipedia:before {
    content: ""
}

.bi-alphabet-uppercase:before {
    content: ""
}

.bi-alphabet:before {
    content: ""
}

.bi-amazon:before {
    content: ""
}

.bi-arrows-collapse-vertical:before {
    content: ""
}

.bi-arrows-expand-vertical:before {
    content: ""
}

.bi-arrows-vertical:before {
    content: ""
}

.bi-arrows:before {
    content: ""
}

.bi-ban-fill:before {
    content: ""
}

.bi-ban:before {
    content: ""
}

.bi-bing:before {
    content: ""
}

.bi-cake:before {
    content: ""
}

.bi-cake2:before {
    content: ""
}

.bi-cookie:before {
    content: ""
}

.bi-copy:before {
    content: ""
}

.bi-crosshair:before {
    content: ""
}

.bi-crosshair2:before {
    content: ""
}

.bi-emoji-astonished-fill:before {
    content: ""
}

.bi-emoji-astonished:before {
    content: ""
}

.bi-emoji-grimace-fill:before {
    content: ""
}

.bi-emoji-grimace:before {
    content: ""
}

.bi-emoji-grin-fill:before {
    content: ""
}

.bi-emoji-grin:before {
    content: ""
}

.bi-emoji-surprise-fill:before {
    content: ""
}

.bi-emoji-surprise:before {
    content: ""
}

.bi-emoji-tear-fill:before {
    content: ""
}

.bi-emoji-tear:before {
    content: ""
}

.bi-envelope-arrow-down-fill:before {
    content: ""
}

.bi-envelope-arrow-down:before {
    content: ""
}

.bi-envelope-arrow-up-fill:before {
    content: ""
}

.bi-envelope-arrow-up:before {
    content: ""
}

.bi-feather:before {
    content: ""
}

.bi-feather2:before {
    content: ""
}

.bi-floppy-fill:before {
    content: ""
}

.bi-floppy:before {
    content: ""
}

.bi-floppy2-fill:before {
    content: ""
}

.bi-floppy2:before {
    content: ""
}

.bi-gitlab:before {
    content: ""
}

.bi-highlighter:before {
    content: ""
}

.bi-marker-tip:before {
    content: ""
}

.bi-nvme-fill:before {
    content: ""
}

.bi-nvme:before {
    content: ""
}

.bi-opencollective:before {
    content: ""
}

.bi-pci-card-network:before {
    content: ""
}

.bi-pci-card-sound:before {
    content: ""
}

.bi-radar:before {
    content: ""
}

.bi-send-arrow-down-fill:before {
    content: ""
}

.bi-send-arrow-down:before {
    content: ""
}

.bi-send-arrow-up-fill:before {
    content: ""
}

.bi-send-arrow-up:before {
    content: ""
}

.bi-sim-slash-fill:before {
    content: ""
}

.bi-sim-slash:before {
    content: ""
}

.bi-sourceforge:before {
    content: ""
}

.bi-substack:before {
    content: ""
}

.bi-threads-fill:before {
    content: ""
}

.bi-threads:before {
    content: ""
}

.bi-transparency:before {
    content: ""
}

.bi-twitter-x:before {
    content: ""
}

.bi-type-h4:before {
    content: ""
}

.bi-type-h5:before {
    content: ""
}

.bi-type-h6:before {
    content: ""
}

.bi-backpack-fill:before {
    content: ""
}

.bi-backpack:before {
    content: ""
}

.bi-backpack2-fill:before {
    content: ""
}

.bi-backpack2:before {
    content: ""
}

.bi-backpack3-fill:before {
    content: ""
}

.bi-backpack3:before {
    content: ""
}

.bi-backpack4-fill:before {
    content: ""
}

.bi-backpack4:before {
    content: ""
}

.bi-brilliance:before {
    content: ""
}

.bi-cake-fill:before {
    content: ""
}

.bi-cake2-fill:before {
    content: ""
}

.bi-duffle-fill:before {
    content: ""
}

.bi-duffle:before {
    content: ""
}

.bi-exposure:before {
    content: ""
}

.bi-gender-neuter:before {
    content: ""
}

.bi-highlights:before {
    content: ""
}

.bi-luggage-fill:before {
    content: ""
}

.bi-luggage:before {
    content: ""
}

.bi-mailbox-flag:before {
    content: ""
}

.bi-mailbox2-flag:before {
    content: ""
}

.bi-noise-reduction:before {
    content: ""
}

.bi-passport-fill:before {
    content: ""
}

.bi-passport:before {
    content: ""
}

.bi-person-arms-up:before {
    content: ""
}

.bi-person-raised-hand:before {
    content: ""
}

.bi-person-standing-dress:before {
    content: ""
}

.bi-person-standing:before {
    content: ""
}

.bi-person-walking:before {
    content: ""
}

.bi-person-wheelchair:before {
    content: ""
}

.bi-shadows:before {
    content: ""
}

.bi-suitcase-fill:before {
    content: ""
}

.bi-suitcase-lg-fill:before {
    content: ""
}

.bi-suitcase-lg:before {
    content: ""
}

.bi-suitcase:before {
    content: "豈"
}

.bi-suitcase2-fill:before {
    content: "更"
}

.bi-suitcase2:before {
    content: "車"
}

.bi-vignette:before {
    content: "賈"
}

.bi-bluesky:before {
    content: ""
}

.bi-tux:before {
    content: "滑"
}

.bi-beaker-fill:before {
    content: "串"
}

.bi-beaker:before {
    content: "句"
}

.bi-flask-fill:before {
    content: "龜"
}

.bi-flask-florence-fill:before {
    content: "龜"
}

.bi-flask-florence:before {
    content: "契"
}

.bi-flask:before {
    content: "金"
}

.bi-leaf-fill:before {
    content: "喇"
}

.bi-leaf:before {
    content: "奈"
}

.bi-measuring-cup-fill:before {
    content: "懶"
}

.bi-measuring-cup:before {
    content: "癩"
}

.bi-unlock2-fill:before {
    content: "羅"
}

.bi-unlock2:before {
    content: "蘿"
}

.bi-battery-low:before {
    content: "螺"
}

.bi-anthropic:before {
    content: "裸"
}

.bi-apple-music:before {
    content: "邏"
}

.bi-claude:before {
    content: "樂"
}

.bi-openai:before {
    content: "洛"
}

.bi-perplexity:before {
    content: "烙"
}

.bi-css:before {
    content: "珞"
}

.bi-javascript:before {
    content: "落"
}

.bi-typescript:before {
    content: "酪"
}

.bi-fork-knife:before {
    content: "駱"
}

.bi-globe-americas-fill:before {
    content: "亂"
}

.bi-globe-asia-australia-fill:before {
    content: "卵"
}

.bi-globe-central-south-asia-fill:before {
    content: "欄"
}

.bi-globe-europe-africa-fill:before {
    content: "爛"
}

* {
    box-sizing: border-box;
    font-family: Poppins, sans-serif
}

.primary-color {
    background: #0d58e3 !important
}

.primary-text-color {
    color: #0d58e3 !important
}

hr {
    margin: 0 !important
}

.ad-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    transition: box-shadow .2s
}

.ad-card:hover {
    box-shadow: 0 4px 12px #00000014
}

.ad-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px
}

.ad-sponsor-info {
    display: flex;
    align-items: center;
    gap: 10px
}

.ad-sponsor-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #111827;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px
}

.ad-sponsor-text {
    display: flex;
    flex-direction: column
}

.ad-sponsor-name {
    font-size: 13px;
    color: #6b7280
}

.ad-more-btn {
    background: none;
    border: none;
    color: #9ca3af;
    font-size: 18px;
    cursor: pointer;
    padding: 4px
}

.ad-content {
    margin-bottom: 12px
}

.ad-caption {
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 6px;
    line-height: 1.4
}

.ad-details {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
    line-height: 1.5
}

.ad-image {
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden
}

.ad-image img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    display: block
}

.ad-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.ad-cta-text {
    font-size: 14px;
    font-weight: 600;
    color: #111827
}

.ad-cta i {
    color: #6b7280;
    font-size: 14px
}

.popular-post-card {
    background: #fff;
    border-left: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 30px;
    position: relative;
    overflow: hidden
}

.popular-post-card:hover {
    box-shadow: 0 4px 12px #00000014
}

.popular-post-vote {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 32px
}

.vote-arrow-btn {
    background: none;
    border: none;
    color: #9ca3af;
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
    transition: color .2s
}

.vote-arrow-btn:hover {
    color: #0d58e3
}

.vote-number {
    font-size: 14px;
    font-weight: 600;
    color: #374151
}

.popular-post-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px
}

.popular-post-type {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    background: #dbeafe;
    color: #1d4ed8
}

.popular-post-type.story,
.popular-post-type.experiencestory {
    background: #dbeafe;
    color: #1d4ed8
}

.popular-post-type.question {
    background: #f3e8ff;
    color: #7c3aed
}

.popular-post-type.scoop,
.popular-post-type.itn,
.popular-post-type.isthisnormal {
    background: #fef3c7;
    color: #b45309
}

.popular-post-type.general {
    background: #d1fae5;
    color: #059669
}

.popular-post-type.warning {
    background: #fee2e2;
    color: #dc2626
}

.popular-post-circle {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    display: inline-flex;
    align-items: center
}

.popular-post-circle .bi-circle-fill {
    font-size: 6px;
    color: #3b82f6
}

.popular-post-members {
    font-size: 12px;
    color: #6b7280
}

.popular-post-join {
    background: none;
    border: none;
    color: #0d58e3;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0
}

.popular-post-join:hover {
    text-decoration: underline
}

.popular-post-time {
    font-size: 12px;
    color: #9ca3af
}

.popular-post-trending {
    font-size: 11px;
    font-weight: 600;
    color: #ef4444;
    display: inline-flex;
    align-items: center
}

.popular-post-title {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px;
    line-height: 1.4
}

.popular-post-body {
    font-size: 14px;
    color: #4b5563;
    margin: 0 0 12px;
    line-height: 1.5
}

.popular-post-image {
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    position: relative
}

.popular-post-image:before,
.popular-post-image:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none
}

.popular-post-image img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    display: block
}

.popular-post-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6
}

.popular-post-author {
    display: flex;
    align-items: center;
    gap: 8px
}

.author-avatar-img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover
}

.author-avatar-letter {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0d58e3;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600
}

.author-username {
    font-size: 13px;
    color: #6b7280
}

.author-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px
}

.author-level {
    font-size: 11px;
    color: #9ca3af;
    line-height: 1.2
}

.level-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    text-transform: capitalize;
    letter-spacing: .01em
}

.level-newcomer {
    background: #d1fae5;
    color: #065f46;
    font-size: 10px
}

.level-settler {
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 10px
}

.popular-post-actions {
    display: flex;
    align-items: center;
    gap: 12px
}

.action-icon {
    background: none;
    border: none;
    color: #9ca3af;
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    transition: color .2s
}

.action-icon:hover {
    color: #374151
}

.action-icon.following-active {
    color: #0d58e3
}

.action-icon.following-active:hover {
    color: #dc2626
}

.action-count {
    font-size: 12px;
    color: #6b7280
}

@media(max-width:768px) {
    .popular-post-header {
        gap: 6px
    }

    .popular-post-type {
        font-size: 10px;
        padding: 3px 8px
    }

    .popular-post-circle,
    .popular-post-members,
    .popular-post-time {
        font-size: 11px
    }

    .popular-post-trending {
        font-size: 10px
    }

    .popular-post-title {
        font-size: 14px
    }

    .popular-post-body {
        font-size: 13px
    }

    .popular-post-actions {
        gap: 8px
    }

    .action-icon {
        font-size: 14px
    }
}

.post-header-new {
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 10px
}

.post-type-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center
}

.post-type-badge.scoop {
    background: #fef3c7;
    color: #b45309
}

.post-type-badge.itn {
    background: #dbeafe;
    color: #1d4ed8
}

.post-type-badge.question {
    background: #f3e8ff;
    color: #7c3aed
}

.post-type-badge.forum {
    background: #dbeafe;
    color: #1e40af
}

.post-type-badge.story {
    background: #fce7f3;
    color: #db2777
}

.post-circle {
    font-size: 13px;
    font-weight: 500;
    color: #374151
}

.post-member-count,
.post-time-badge {
    font-size: 12px;
    color: #9ca3af
}

.post-status-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 12px
}

.post-status-badge.featured {
    background: #fbbf24;
    color: #78350f
}

.post-status-badge.trending {
    background: #ef4444;
    color: #fff
}

.post-status-badge.following {
    background: #10b981;
    color: #fff
}

.post-reactions {
    margin-top: 12px;
    padding-top: 12px;
    flex-wrap: wrap
}

.reaction-btn {
    background: none;
    border: none;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 14px;
    color: #6b7280;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .2s;
    white-space: nowrap
}

.reaction-btn:hover {
    background: #f3f4f6;
    color: #374151
}

.reaction-btn.active {
    color: #0d6efd;
    background: #e9f2ff
}

.reaction-btn .count {
    font-weight: 600;
    color: #374151
}

.reaction-btn i {
    font-size: 16px
}

@media(max-width:768px) {
    .reaction-btn {
        padding: 4px 8px;
        font-size: 12px;
        gap: 4px
    }

    .reaction-btn i {
        font-size: 14px
    }

    .reaction-btn span:not(.count) {
        display: none
    }

    .reaction-btn .count {
        display: inline
    }

    .post-reactions {
        gap: 4px !important
    }
}

.post-reactions .dropdown {
    position: relative;
    z-index: 100
}

.post-reactions .dropdown-menu {
    position: absolute !important;
    z-index: 1050 !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
    top: 100% !important;
    margin-top: .125rem !important;
    min-width: 120px !important
}

.post-reactions .dropdown-menu.show {
    display: block !important
}

.hub-list {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.thin-line {
    border-bottom: 1px solid gray;
    transform: scaleY(.2);
    transform-origin: bottom
}

.hub-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #374151;
    text-decoration: none;
    font-size: 13px
}

.hub-item:hover {
    background: #f3f4f6
}

.hub-item.active {
    background: #e9f2ff;
    color: #0d58e3;
    border: 1px solid #cfe3ff
}

.hub-flag {
    width: 18px;
    text-align: center
}

.community-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px 16px
}

.community-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
    color: #374151
}

.sidebar-footer a {
    color: #6b7280
}

.sidebar-footer a:hover {
    text-decoration: underline
}

body {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
    background: #f5f7fa;
    margin: 0
}

.app-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: background-color .3s ease, color .3s ease
}

.app-wrapper.dark-mode {
    background: #0f1419;
    color: #e7e9ea
}

.dark-mode .sidebar {
    background: #16181c;
    border-right: 1px solid #2f3336
}

.dark-mode .brand-icon-logo {
    background: #031018;
    color: #1d9bf0
}

.dark-mode .hamburger-btn,
.dark-mode .hamburger-btn-collapsed {
    background: transparent;
    border-color: #2f3336;
    color: #8b98a5
}

.dark-mode .hamburger-btn:hover,
.dark-mode .hamburger-btn-collapsed:hover {
    background: #1e2328;
    border-color: #3f4448
}

.dark-mode .collapsed-static-bottom {
    border-top-color: #2f3336;
    background: #16181c
}

.dark-mode .collapsed-icon-btn {
    color: #8b98a5
}

.dark-mode .collapsed-icon-btn:hover {
    background: #1e2328;
    color: #1d9bf0
}

.dark-mode .icon-btn {
    background: #16181c;
    color: #e7e9ea
}

.dark-mode .icon-btn:hover {
    background: #1e2328
}

.dark-mode .btn-outline-secondary {
    color: #e7e9ea;
    border-color: #2f3336;
    background: transparent
}

.dark-mode .btn-outline-secondary:hover {
    background: #1e2328;
    border-color: #2f3336;
    color: #fff
}

.dark-mode .form-control {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .form-control::placeholder {
    color: #71767b;
    opacity: 1
}

.dark-mode .input-group-text {
    background: #16181c !important;
    border-color: #2f3336;
    color: #71767b
}

.dark-mode .side-link {
    color: #e7e9ea
}

.dark-mode .side-link:hover {
    background: #1e2328
}

.dark-mode .side-link.active {
    background: #031018;
    color: #1d9bf0
}

.dark-mode .section-title,
.dark-mode .section-title-heading {
    color: #8b98a5
}

.dark-mode .home-circle-post {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .home-circle-post:hover {
    background: #1e2126;
    border-color: #3e4347;
    box-shadow: 0 4px 12px #0000004d
}

.dark-mode .home-circle-post-image {
    background: #0f1419
}

.dark-mode .home-circle-post-image-placeholder {
    color: #536471
}

.dark-mode .home-circle-post-author-name,
.dark-mode .home-circle-post-title {
    color: #e7e9ea
}

.dark-mode .home-circle-post-body,
.dark-mode .home-circle-post-meta {
    color: #71767b
}

.dark-mode .circle-count {
    color: #71767b
}

.dark-mode .hub-item {
    color: #e7e9ea
}

.dark-mode .hub-item:hover {
    background: #1e2328
}

.dark-mode .hub-item.active {
    background: #031018;
    color: #1d9bf0;
    border-color: #1d4e6f
}

.dark-mode .community-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .community-row {
    color: #e7e9ea
}

.dark-mode .sidebar-footer a {
    color: #8b98a5
}

.dark-mode .main-content {
    background: #0f1419
}

.dark-mode .welcome-card {
    background: #031018;
    border-color: #1d4e6f
}

.dark-mode .welcome-card h6 {
    color: #e7e9ea
}

.dark-mode .welcome-card p {
    color: #8b98a5
}

.dark-mode .search-box {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .search-input {
    color: #e7e9ea
}

.dark-mode .post-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .post-title {
    color: #e7e9ea
}

.dark-mode .post-excerpt {
    color: #8b98a5
}

.dark-mode .post-source {
    color: #e7e9ea
}

.dark-mode .post-tag {
    background: #1e2328;
    color: #8b98a5
}

.dark-mode .post-stats {
    color: #71767b
}

.dark-mode .vote-box {
    background: #16181c;
    color: #e7e9ea
}

.dark-mode .right-sidebar {
    background: #0f1419
}

.dark-mode .blue-gray-bg {
    background: #16181c !important
}

.dark-mode .join-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .join-card h6 {
    color: #e7e9ea
}

.dark-mode .join-card p {
    color: #8b98a5
}

.dark-mode .join-icon {
    background: #031018;
    color: #1d9bf0
}

.dark-mode .guidelines-card {
    background: transparent
}

.dark-mode .guideline-item {
    color: #e7e9ea;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 8px
}

.dark-mode .guideline-item h6 {
    color: #e7e9ea
}

.dark-mode .guideline-item p {
    color: #8b98a5
}

.dark-mode .guideline-item.teal,
.dark-mode .guideline-item.blue {
    background: #0c2d3d
}

.dark-mode .guideline-item.teal .guideline-icon,
.dark-mode .guideline-item.blue .guideline-icon {
    background: transparent;
    color: #06b6d4
}

.dark-mode .guideline-item.pink {
    background: #2d1a24
}

.dark-mode .guideline-item.pink .guideline-icon {
    background: transparent;
    color: #ec4899
}

.dark-mode .guideline-item.purple {
    background: #1e1a2e
}

.dark-mode .guideline-item.purple .guideline-icon {
    background: transparent;
    color: #8b5cf6
}

.dark-mode .guideline-item.orange {
    background: #2d1f0f
}

.dark-mode .guideline-item.orange .guideline-icon {
    background: transparent;
    color: #f97316
}

.dark-mode .guideline-item.green {
    background: #0f2d1f
}

.dark-mode .guideline-item.green .guideline-icon {
    background: transparent;
    color: #10b981
}

.dark-mode .modal-content {
    background: #16181c;
    color: #e7e9ea
}

.dark-mode .modal-header,
.dark-mode .modal-footer {
    border-color: #2f3336
}

.dark-mode .modal-title {
    color: #e7e9ea
}

.dark-mode .btn-link {
    color: #e7e9ea
}

.dark-mode .mobile-topbar {
    background: #16181c;
    border-bottom-color: #2f3336
}

.dark-mode .sidebar-header .btn-outline-secondary {
    color: #e7e9ea;
    border-color: #2f3336
}

.dark-mode .sidebar-header .btn-outline-secondary:hover {
    background: #1e2328;
    color: #fff
}

.dark-mode .feed-nav-container {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .feed-tab {
    color: #8b98a5
}

.dark-mode .feed-tab:hover {
    background: #1e2328;
    color: #e7e9ea
}

.dark-mode .feed-tab.active {
    background: #0d58e3;
    color: #fff
}

.dark-mode .feed-filter {
    background: transparent;
    border-color: #2f3336;
    color: #8b98a5
}

.dark-mode .feed-filter:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.dark-mode .feed-filter.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.dark-mode .new-posts-indicator {
    background: #16181c;
    border-color: #2f3336;
    color: #1d9bf0
}

.dark-mode .new-posts-indicator:hover {
    background: #1e2328;
    border-color: #0d58e3
}

.dark-mode .feed-post {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .feed-post:hover {
    border-color: #3f4448
}

.dark-mode .post-author-name {
    color: #e7e9ea
}

.dark-mode .post-author-handle,
.dark-mode .post-time {
    color: #71767b
}

.dark-mode .post-content-title {
    color: #e7e9ea
}

.dark-mode .post-content-text {
    color: #8b98a5
}

.dark-mode .post-action-btn {
    color: #71767b
}

.dark-mode .post-action-btn:hover {
    color: #1d9bf0;
    background: #1d9bf01a
}

.dark-mode .popular-post-card {
    background: #16181c;
    border-left-color: #2f3336;
    border-right-color: #2f3336;
    border-bottom-color: #2f3336
}

.dark-mode .ad-card {
    background: #16181c;
    border-left-color: #2f3336;
    border-right-color: #2f3336;
    border-bottom-color: #2f3336;
    border-top-color: #2f3336
}

.dark-mode .ad-cta {
    background: #16181c;
    border-left-color: #2f3336;
    border-right-color: #2f3336;
    border-bottom-color: #2f3336;
    border-top-color: #2f3336;
    color: #fff
}

.dark-mode .ad-caption,
.dark-mode .ad-cta-text {
    color: #e7e9ea
}

.dark-mode .popular-post-card:hover {
    box-shadow: 0 4px 12px #0000004d
}

.dark-mode .vote-arrow-btn {
    color: #71767b
}

.dark-mode .vote-arrow-btn:hover {
    color: #1d9bf0
}

.dark-mode .vote-number {
    color: #e7e9ea
}

.dark-mode .popular-post-type {
    background: #1e2328;
    color: #8b98a5
}

.dark-mode .popular-post-circle {
    color: #8b98a5
}

.dark-mode .popular-post-time {
    color: #71767b
}

.dark-mode .popular-post-trending {
    color: #f97316
}

.dark-mode .popular-post-title {
    color: #e7e9ea
}

.dark-mode .popular-post-body {
    color: #8b98a5
}

.dark-mode .popular-post-image {
    border-color: #2f3336
}

.dark-mode .popular-post-footer {
    border-top-color: #2f3336
}

.dark-mode .author-username {
    color: #8b98a5
}

.dark-mode .action-icon {
    color: #71767b
}

.dark-mode .action-icon:hover {
    color: #1d9bf0;
    background: #1d9bf01a
}

.dark-mode .action-icon.following-active {
    color: #3b82f6
}

.dark-mode .action-icon.following-active:hover {
    color: #dc2626;
    background: #dc26261a
}

.dark-mode .action-count {
    color: #71767b
}

.action-icon.liked-active {
    color: #3b82f6
}

.action-icon.liked-active:hover {
    color: #2563eb;
    background: #3b82f61a
}

.share-popup {
    position: absolute;
    bottom: 100%;
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px #00000026;
    padding: 8px;
    display: flex;
    gap: 4px;
    z-index: 100;
    margin-bottom: 8px
}

.share-popup button {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: #f3f4f6;
    color: #374151;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s
}

.share-popup button:hover {
    background: #e5e7eb;
    color: #111827
}

.dark-mode .share-popup {
    background: #1f2937;
    box-shadow: 0 4px 20px #0006
}

.dark-mode .share-popup button {
    background: #374151;
    color: #d1d5db
}

.dark-mode .share-popup button:hover {
    background: #4b5563;
    color: #f9fafb
}

.clickable-username {
    cursor: pointer;
    transition: color .15s
}

.clickable-username:hover {
    color: #0d58e3 !important;
    text-decoration: underline
}

.dark-mode .clickable-username:hover {
    color: #60a5fa !important
}

.signin-modal {
    border-radius: 16px;
    border: none;
    box-shadow: 0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a
}

.signin-modal .btn-close {
    z-index: 1050;
    position: relative
}

.signin-modal .modal-body {
    margin: 0 auto
}

.signin-input .input-group-text {
    border: 1px solid #d1d5db;
    color: #6b7280
}

.signin-input .form-control {
    border: 1px solid #d1d5db;
    padding: 12px 16px;
    font-size: 15px
}

.signin-input .form-control:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a
}

.signin-input .input-group-text {
    padding: 12px 16px
}

.signin-modal .btn-outline-secondary {
    border: 1px solid #d1d5db;
    color: #374151;
    background: #fff
}

.signin-modal .btn-outline-secondary:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    color: #374151
}

.signin-modal hr {
    margin: 0;
    border-color: #e5e7eb
}

.dark-mode .signin-modal,
.dark-mode .signin-modal .modal-body {
    background: #16181c
}

.dark-mode .signin-modal h2,
.dark-mode .signin-modal label {
    color: #e7e9ea !important
}

.dark-mode .signin-input .input-group-text {
    background: #16181c;
    border-color: #2f3336;
    color: #8b98a5
}

.dark-mode .signin-input .form-control {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .signin-input .form-control::placeholder {
    color: #71767b
}

.dark-mode .signin-modal .btn-outline-secondary {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .signin-modal .btn-outline-secondary:hover {
    background: #1e2328;
    border-color: #2f3336
}

.dark-mode .signin-modal hr {
    border-color: #2f3336
}

.dark-mode .signin-modal .position-absolute.bg-white {
    background: #16181c !important
}

.signup-modal {
    border-radius: 16px;
    border: none;
    box-shadow: 0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a
}

.signup-modal .btn-close {
    z-index: 1050;
    position: relative
}

.signup-modal .modal-body {
    margin: 0 auto
}

.signup-input .input-group-text {
    border: 1px solid #d1d5db;
    color: #6b7280
}

.signup-input .form-control,
.signup-input .form-select {
    border: 1px solid #d1d5db;
    padding: 12px 16px;
    font-size: 15px
}

.signup-input .form-control:focus,
.signup-input .form-select:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a
}

.signup-input .input-group-text {
    padding: 12px 16px
}

.signup-modal .btn-outline-secondary {
    border: 1px solid #d1d5db;
    color: #374151;
    background: #fff
}

.signup-modal .btn-outline-secondary:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    color: #374151
}

.signup-modal hr {
    margin: 0;
    border-color: #e5e7eb
}

.signup-modal .form-check-input:checked {
    background-color: #0d58e3;
    border-color: #0d58e3
}

.dark-mode .signup-modal,
.dark-mode .signup-modal .modal-body {
    background: #16181c
}

.dark-mode .signup-modal h2,
.dark-mode .signup-modal label {
    color: #e7e9ea !important
}

.dark-mode .signup-modal p {
    color: #1d9bf0 !important
}

.dark-mode .signup-input .input-group-text {
    background: #16181c;
    border-color: #2f3336;
    color: #8b98a5
}

.dark-mode .signup-input .form-control,
.dark-mode .signup-input .form-select {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .signup-input .form-control::placeholder {
    color: #71767b
}

.dark-mode .signup-input .form-select {
    color: #1d9bf0
}

.dark-mode .signup-modal .btn-outline-secondary {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .signup-modal .btn-outline-secondary:hover {
    background: #1e2328;
    border-color: #2f3336
}

.dark-mode .signup-modal hr {
    border-color: #2f3336
}

.dark-mode .signup-modal .position-absolute.bg-white {
    background: #16181c !important
}

.dark-mode .signup-modal .p-3 {
    background: #1e2328 !important
}

.sidebar {
    min-height: 100vh;
    background: #f9fafb;
    border-right: 1px solid #e9ecef;
    padding: 0;
    position: sticky;
    top: 0;
    transition: width .3s ease
}

.sidebar.collapsed {
    width: 75px;
    padding: 0
}

.sidebar.collapsed .side-link {
    justify-content: center;
    padding: 10px;
    margin: 0;
    width: 50px
}

.sidebar.collapsed .side-link i {
    font-size: 18px;
    margin: 0
}

.sidebar.collapsed .side-link.active {
    background: #e9f2ff;
    color: #0d58e3;
    border-radius: 10px
}

.brand-icon-logo {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9f2ff;
    color: #0d58e3;
    font-size: 16px
}

.hamburger-btn,
.hamburger-btn-collapsed {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #e5e7eb;
    color: #6c757d;
    font-size: 18px;
    cursor: pointer;
    transition: all .3s ease
}

.hamburger-btn:hover,
.hamburger-btn-collapsed:hover {
    background: #f0f2f5;
    border-color: #d1d5db
}

.collapsed-nav-icons {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0;
    align-items: center
}

.collapsed-scrollable-icons {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 0;
    align-items: center
}

.collapsed-static-bottom {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    margin-top: auto;
    align-items: center
}

.collapsed-icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #6c757d;
    font-size: 18px;
    cursor: pointer;
    transition: all .3s ease;
    text-decoration: none
}

.collapsed-icon-btn:hover {
    background: #f0f2f5;
    color: #0d58e3
}

.collapsed-icon-btn span {
    font-size: 20px
}

.brand-icon-sm {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9f2ff;
    color: #0d58e3;
    font-size: 14px
}

.small-square {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f3f5;
    color: #6c757d
}

.icon-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    padding: 0
}

.bell-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    background: #ff4d4f;
    border-radius: 50%
}

.bell-dot.blinking {
    animation: notificationDotBlink 1s ease-in-out infinite;
}

.mobile-bell-btn {
    margin-right: .125rem;
}

.search-rounded .form-control {
    border-radius: 0;
    font-size: 13px
}

.cta-primary {
    border-radius: 6px;
    padding: 8px;
    font-weight: 600;
    font-size: 14px
}

.side-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #384047;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 2px
}

.side-link:hover {
    background: #f0f2f5
}

.side-link.active {
    background: #e9f2ff;
    color: #0d58e3;
    font-weight: 500
}

.side-link i {
    font-size: 16px;
    width: 20px
}

.section-title-heading {
    font-size: 11px;
    letter-spacing: .05em;
    color: #6c757d;
    font-weight: 700;
    text-transform: uppercase
}

.circle-item.circle-name {
    font-weight: 400;
    font-size: 12px
}

.circle-list {
    display: flex;
    flex-direction: column
}

.circle-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    padding: 2px 0
}

.circle-icon {
    font-size: 16px;
    width: 20px;
    text-align: center;
    flex-shrink: 0
}

.circle-name {
    flex: 1;
    color: #384047;
    font-weight: 500;
    font-size: 10px
}

.circle-count {
    color: #9ca3af;
    font-size: 11px;
    min-width: 28px;
    text-align: left;
    flex-shrink: 0
}

.badge-joined {
    color: #10b981;
    font-size: 11px;
    font-weight: 500;
    min-width: 36px;
    text-align: right;
    flex-shrink: 0
}

.badge-join {
    color: #0d58e3;
    font-size: 11px;
    text-decoration: none;
    font-weight: 500;
    min-width: 28px;
    text-align: right;
    flex-shrink: 0
}

.badge-join:hover {
    text-decoration: underline
}

.main-content {
    min-height: 100vh;
    max-width: 100%
}

@media(min-width:992px) {
    .main-content {
        max-width: 50%
    }
}

.circles-main-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    flex: 1 !important;
    -webkit-flex: 1 !important
}

.search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 6px 6px 6px 16px
}

.search-icon {
    color: #9ca3af;
    font-size: 16px
}

.search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 15px;
    background: transparent
}

.search-input:focus {
    box-shadow: none
}

.search-btn {
    border-radius: 10px;
    padding: 8px 20px;
    font-weight: 500
}

.main-feed-filter-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.main-feed-filter-btn {
    padding: 5px 10px;
    font-size: 11px;
    border-radius: 999px;
    line-height: 1.1
}

/* Global search results dropdown */
.global-search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    z-index: 9999;
    overflow: hidden;
    max-height: 420px;
    overflow-y: auto;
}

.global-search-loading,
.global-search-empty {
    padding: 16px 20px;
    color: #6b7280;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.global-search-section {
    border-bottom: 1px solid #f3f4f6;
}

.global-search-section:last-child {
    border-bottom: none;
}

.global-search-section-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #9ca3af;
    padding: 10px 20px 4px;
}

.global-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    cursor: pointer;
    transition: background 0.15s;
}

.global-search-item:hover {
    background: #f9fafb;
}

.global-search-item-icon {
    font-size: 16px;
    color: #6b7280;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

.global-search-item-info {
    flex: 1;
    min-width: 0;
}

.global-search-item-title {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.global-search-item-meta {
    font-size: 12px;
    color: #9ca3af;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search-highlight {
    background: #fef08a;
    color: #1e293b;
    padding: 0 2px;
    border-radius: 2px;
}

.dark-mode .search-highlight {
    background: #854d0e;
    color: #fef9c3;
}

/* Dark mode */
.dark-mode .global-search-results {
    background: #1e2028;
    border-color: #2e3241;
    box-shadow: 0 8px 30px rgba(0,0,0,0.4);
}

.dark-mode .global-search-loading,
.dark-mode .global-search-empty {
    color: #9ca3af;
}

.dark-mode .global-search-section {
    border-bottom-color: #2e3241;
}

.dark-mode .global-search-section-title {
    color: #6b7280;
}

.dark-mode .global-search-item:hover {
    background: #262a36;
}

.dark-mode .global-search-item-icon {
    color: #9ca3af;
}

.dark-mode .global-search-item-title {
    color: #f3f4f6;
}

.dark-mode .global-search-item-meta {
    color: #6b7280;
}

@media(max-width:991px) {
    .global-search-results {
        position: fixed;
        top: 60px;
        left: 12px;
        right: 12px;
        max-height: 60vh;
        z-index: 99999;
    }
}

.dark-mode .main-feed-filter-btn {
    border-color: #2f3336;
    color: #8b98a5;
    background: transparent;
}

.dark-mode .main-feed-filter-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3;
}

.dark-mode .main-feed-filter-btn.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3;
}

.welcome-card {
    background: #f0f7ff;
    border: 1px solid #e0edff;
    border-radius: 12px;
    padding: 14px 16px
}

.welcome-card h6 {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin: 0
}

.feed-nav-container {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px
}

.feed-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.feed-tab {
    background: transparent;
    border: none;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.feed-tab:hover {
    background: #f3f4f6;
    color: #374151
}

.feed-tab.active {
    background: #0d58e3;
    color: #fff
}

.feed-filters {
    display: flex;
    gap: 8px
}

.feed-filter {
    background: transparent;
    border: 1px solid #e5e7eb;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    gap: 6px
}

.feed-filter:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.feed-filter.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.filter-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor
}

.filter-flag {
    font-size: 16px
}

.new-posts-indicator {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 12px 16px;
    text-align: center;
    cursor: pointer;
    transition: all .2s
}

.new-posts-indicator:hover {
    background: #f9fafb;
    border-color: #0d58e3
}

.hero-card {
    border-radius: 15px;
    padding: 28px 24px;
    background-size: cover;
    background-position: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 220px;
    justify-content: flex-end
}

.hero-badge {
    background: #fbbf24;
    color: #78350f;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 25px;
    width: fit-content
}

.hero-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0
}

.hero-desc {
    font-size: 14px;
    opacity: .9;
    margin: 0
}

.hero-btn {
    width: fit-content;
    border-radius: 10px;
    font-weight: 600
}

.home-circle-post {
    background: #fff;
    padding: 16px;
    cursor: pointer;
    transition: all .2s ease;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: flex;
    gap: 16px;
    align-items: flex-start
}

.home-circle-post:hover {
    background: #f8fafc;
    border-color: #d1d5db;
    box-shadow: 0 4px 12px #00000014
}

.home-circle-post-image {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center
}

.home-circle-post-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.home-circle-post-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    font-size: 2rem
}

.home-circle-post-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.home-circle-post-top-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.home-circle-post-author-img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover
}

.home-circle-post-author-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3b82f6;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .65rem;
    font-weight: 600
}

.home-circle-post-author-name {
    font-size: .85rem;
    font-weight: 600;
    color: #374151
}

.home-circle-post-type-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: .75rem;
    font-weight: 500;
    color: #fff
}

.home-circle-post-title {
    font-size: 1rem;
    font-weight: 600;
    color: #212529;
    margin: 0;
    line-height: 1.4
}

.home-circle-post-body {
    color: #6b7280;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0
}

.home-circle-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #6c757d;
    font-size: .8rem
}

.feed-post {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    transition: all .2s
}

.feed-post:hover {
    border-color: #d1d5db;
    box-shadow: 0 2px 8px #0000000d
}

.post-vote-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding-top: 4px
}

.vote-btn {
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    transition: all .2s
}

.vote-btn:hover {
    color: #0d58e3
}

.vote-count {
    font-size: 16px;
    font-weight: 600;
    color: #374151
}

.post-content-section {
    min-width: 0
}

.post-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px
}

.post-type-badge {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center
}

.post-type-badge.question {
    background: #eff6ff;
    color: #1e40af
}

.post-type-badge.story {
    background: #fef3c7;
    color: #92400e
}

.post-type-badge.scoop {
    background: #fee2e2;
    color: #991b1b
}

.post-hub {
    color: #374151;
    font-weight: 500
}

.post-members {
    color: #6b7280;
    display: inline-flex;
    align-items: center
}

.btn-join {
    background: transparent;
    border: none;
    color: #0d58e3;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 2px 8px;
    border-radius: 4px;
    transition: all .2s
}

.btn-join:hover {
    background: #eff6ff
}

.post-time {
    color: #9ca3af
}

.trending-badge {
    background: #fef3c7;
    color: #f59e0b;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px
}

.post-title-main {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    line-height: 1.4
}

.post-preview {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6
}

.post-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.post-author {
    display: flex;
    align-items: center;
    gap: 8px
}

.author-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    color: #6b7280
}

.author-avatar.expert {
    background: #0d58e3;
    color: #fff
}

.author-name {
    font-size: 14px;
    color: #374151;
    font-weight: 500
}

.expert-badge {
    background: #dbeafe;
    color: #1e40af;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600
}

.post-actions {
    display: flex
}

.action-btn {
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 16px;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 6px;
    transition: all .2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px
}

.post-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px;
    border-left: 4px solid #fbbf24;
    overflow: visible;
    position: relative
}

.post-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap
}

.post-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center
}

.post-badge.scoop {
    background: #fef3c7;
    color: #b45309
}

.post-badge.itn {
    background: #dbeafe;
    color: #1d4ed8
}

.post-time {
    font-size: 12px;
    color: #9ca3af;
    display: flex;
    align-items: center
}

.post-title {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 8px
}

.post-excerpt {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 10px
}

.post-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap
}

.post-source {
    font-size: 13px;
    font-weight: 500;
    color: #374151
}

.verified-badge {
    background: #0d58e3;
    color: #fff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 4px
}

.post-tag {
    font-size: 12px;
    color: #6b7280;
    background: #f3f4f6;
    padding: 4px 8px;
    border-radius: 6px
}

.post-stats {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: #6b7280
}

.post-stats span {
    display: flex;
    align-items: center;
    gap: 4px
}

.vote-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: #f9fafb;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 14px;
    color: #374151;
    font-weight: 600
}

.vote-box i {
    color: #10b981
}

.right-sidebar {
    width: 350px;
    margin-top: 33px
}

.blue-gray-bg {
    background: #f3f7fd !important
}

.join-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 16px
}

.join-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #e0f2fe;
    color: #0284c7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px
}

.guidelines-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 18px
}

.guideline-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #e0f2fe;
    color: #0284c7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px
}

.guideline-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 8px
}

.guideline-item i {
    font-size: 18px;
    margin-top: 2px
}

.guideline-item strong {
    font-size: 13px;
    display: block;
    margin-bottom: 2px
}

.guideline-item p {
    font-size: 12px;
    color: #6b7280;
    margin: 0
}

.guideline-item.pink {
    background: #fdf2f8
}

.guideline-item.pink i {
    color: #ec4899
}

.guideline-item.blue {
    background: #eff6ff
}

.guideline-item.blue i {
    color: #3b82f6
}

.guideline-item.orange {
    background: #fff7ed
}

.guideline-item.orange i {
    color: #f97316
}

.guideline-item.green {
    background: #ecfdf5
}

.guideline-item.green i {
    color: #10b981
}

.guideline-item.purple {
    background: #faf5ff
}

.guideline-item.purple i {
    color: #8b5cf6
}

.mobile-topbar {
    background: #fff;
    border-bottom: 1px solid #e5e7eb
}

@media(max-width:991.98px) {
    .main-content {
        padding-bottom: 20px
    }

    .hero-card {
        min-height: 180px;
        padding: 20px 16px
    }

    .hero-title {
        font-size: 18px
    }
}

@media(max-width:576px) {
    .home-circle-post {
        flex-direction: column
    }

    .home-circle-post-image {
        width: 100%;
        height: 150px
    }
}

.modal.show {
    background: #00000080
}

.modal-content {
    border-radius: 16px
}

.modal-header {
    border-bottom: 1px solid #f0f0f0
}

.modal-footer {
    border-top: 1px solid #f0f0f0
}

@media(min-width:992px) {

    html,
    body {
        overflow: hidden
    }

    .main-content {
        height: calc(100vh - 45px);
        overflow-y: auto;
        padding-bottom: 20px
    }

    *::-webkit-scrollbar {
        width: 8px;
        height: 8px
    }

    *::-webkit-scrollbar-track {
        background: transparent;
        border: none
    }

    *::-webkit-scrollbar-thumb {
        background: #cbd5e1cc;
        border-radius: 4px;
        border: 2px solid transparent;
        background-clip: padding-box
    }

    *::-webkit-scrollbar-thumb:hover {
        background: #94a3b8e6;
        background-clip: padding-box
    }

    .dark-mode *::-webkit-scrollbar-track {
        background: transparent;
        border: none
    }

    .dark-mode *::-webkit-scrollbar-thumb {
        background: #4a4f54cc;
        border-radius: 4px;
        border: 2px solid transparent;
        background-clip: padding-box
    }

    .dark-mode *::-webkit-scrollbar-thumb:hover {
        background: #5a5e63e6;
        background-clip: padding-box
    }

    .sidebar {
        height: calc(100vh - 45px);
        display: flex;
        flex-direction: column;
        position: sticky;
        top: 0
    }

    .sidebar-scroll {
        flex: 1;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        min-height: 0
    }

    .sidebar:not(.collapsed) .sidebar-scroll {
        max-height: calc(100vh - 295px)
    }

    .sidebar.collapsed .sidebar-scroll {
        overflow-y: auto;
        overflow-x: hidden;
        flex: 1;
        padding: 0;
        max-height: calc(100vh - 325px)
    }

    .right-sidebar {
        height: calc(100vh - 45px);
        overflow-y: hidden;
        position: sticky;
        top: 0
    }

    .main-content {
        scroll-behavior: auto
    }
}

.login-to-read-more {
    margin-top: .5rem;
    padding-top: .5rem;
    border-top: 1px solid #e5e7eb
}

.login-to-read-more button {
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    padding: 6px 14px
}

.offcanvas .nav-link {
    color: #1f2937 !important;
    font-weight: 500
}

.offcanvas .nav-link.active {
    color: #0d58e3 !important;
    background-color: #e9f2ff
}

.offcanvas .nav-link:hover {
    background-color: #f3f4f6
}

.offcanvas.dark-mode .nav-link {
    color: var(--oxy-text) !important;
}

.offcanvas.dark-mode .nav-link.active {
    color: #60a5fa !important;
    background-color: rgba(96, 165, 250, 0.1);
}

.offcanvas.dark-mode .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08);
}

.mobile-auth-actions {
    flex-wrap: nowrap;
    align-items: center;
}

.nav-user-menu {
    position: relative;
}

.nav-user-menu-btn {
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .18rem .42rem .18rem .18rem;
}

.nav-user-menu-btn.mobile {
    padding: .12rem .38rem .12rem .12rem;
}

.nav-user-menu-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.nav-user-menu-btn i {
    font-size: .72rem;
    transition: transform .18s ease;
}

.nav-user-menu-btn.open i {
    transform: rotate(180deg);
}

.nav-user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #d1d5db;
    background: #e5e7eb;
}

.nav-user-menu-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 150px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .14);
    padding: .35rem;
    z-index: 30;
}

.nav-user-menu-dropdown.mobile {
    right: 0;
    min-width: 138px;
}

.nav-user-menu-item {
    width: 100%;
    border: 0;
    background: transparent;
    color: #111827;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .48rem .52rem;
    font-size: .86rem;
    text-align: left;
}

.nav-user-menu-item:hover {
    background: #f3f4f6;
}

.nav-user-menu-item.danger {
    color: #dc2626;
}

.nav-user-menu-item.danger:hover {
    background: #fef2f2;
}

.dark-mode .nav-user-menu-btn {
    background: #1f2937;
    color: #e5e7eb;
    border-color: #374151;
}

.dark-mode .nav-user-menu-btn:hover {
    background: #111827;
    border-color: #4b5563;
}

.dark-mode .nav-user-avatar {
    border-color: #4b5563;
    background: #374151;
}

.dark-mode .nav-user-menu-dropdown {
    background: #111827;
    border-color: #374151;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .45);
}

.dark-mode .nav-user-menu-item {
    color: #e5e7eb;
}

.dark-mode .nav-user-menu-item:hover {
    background: #1f2937;
}

.dark-mode .nav-user-menu-item.danger {
    color: #f87171;
}

.dark-mode .nav-user-menu-item.danger:hover {
    background: #2b1417;
}

.mobile-auth-btn {
    white-space: nowrap;
    line-height: 1.15;
    font-weight: 600;
    transition: all .2s ease;
}

.mobile-auth-signin {
    background: #fff;
    border-color: #cbd5e1;
    color: #1f2937;
}

.mobile-auth-signin:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #111827;
}

.mobile-auth-signup {
    background: #0d58e3;
    border-color: #0d58e3;
    color: #fff;
}

.mobile-auth-signup:hover {
    background: #0b4cc5;
    border-color: #0b4cc5;
    color: #fff;
}

.app-wrapper.dark-mode .mobile-auth-signin,
.dark-mode .mobile-auth-signin {
    background: #1f2b3d;
    border-color: #3f4f6a;
    color: #e6eeff;
}

.app-wrapper.dark-mode .mobile-auth-signin:hover,
.dark-mode .mobile-auth-signin:hover {
    background: #27364d;
    border-color: #5b6f91;
    color: #f6f9ff;
}

.app-wrapper.dark-mode .mobile-auth-signup,
.dark-mode .mobile-auth-signup {
    background: #3b82f6;
    border-color: #3b82f6;
    color: #fff;
}

.app-wrapper.dark-mode .mobile-auth-signup:hover,
.dark-mode .mobile-auth-signup:hover {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.user-profile-page .account-header .mobile-auth-signin {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .65);
    color: #fff;
}

.user-profile-page .account-header .mobile-auth-signin:hover {
    background: rgba(255, 255, 255, .28);
    border-color: rgba(255, 255, 255, .85);
    color: #fff;
}

.user-profile-page .account-header .mobile-auth-signup {
    background: #fff;
    border-color: #fff;
    color: #0d58e3;
}

.user-profile-page .account-header .mobile-auth-signup:hover {
    background: #eff6ff;
    border-color: #eff6ff;
    color: #0b4cc5;
}

.app-wrapper.dark-mode .user-profile-page .account-header .mobile-auth-signin {
    background: rgba(15, 23, 42, .45);
    border-color: rgba(148, 163, 184, .65);
    color: #f8fafc;
}

.app-wrapper.dark-mode .user-profile-page .account-header .mobile-auth-signup {
    background: #93c5fd;
    border-color: #93c5fd;
    color: #0f172a;
}

@media (max-width: 576px) {
    .mobile-auth-actions {
        gap: 0.35rem !important;
    }

    .mobile-auth-btn {
        font-size: 0.78rem;
        padding: 0.3rem 0.5rem;
        border-radius: 0.45rem;
    }
}

@media (max-width: 420px) {
    .mobile-auth-btn {
        font-size: 0.72rem;
        padding: 0.26rem 0.42rem;
    }
}

@media(max-width:576px) {
    .modal-body {
        padding: 1.5rem 1rem !important
    }

    .modal-content {
        max-width: calc(100vw - 1rem)
    }

    .modal-dialog {
        margin: .5rem;
        max-width: calc(100vw - 1rem)
    }

    .signin-modal .modal-body,
    .signup-modal .modal-body {
        padding: 1.5rem 1rem !important
    }

    .feed-tab {
        font-size: 11px;
        padding: 6px 12px
    }

    .feed-filter {
        font-size: 11px;
        padding: 4px 10px
    }

    .interest-card span {
        font-size: 12px !important;
        line-height: 1.2;
        overflow-wrap: anywhere;
        word-break: break-word
    }

    .otp-input-row {
        padding-left: 10px;
        padding-right: 10px;
        flex-wrap: wrap
    }

    .otp-input-row input {
        width: 42px !important;
        height: 48px !important;
        font-size: 18px !important
    }
}

.custom-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    min-width: 300px;
    max-width: 500px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px #00000026;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    z-index: 9999;
    opacity: 0;
    transform: translate(400px);
    transition: all .3s ease
}

.custom-toast.show {
    opacity: 1;
    transform: translate(0)
}

.custom-toast-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1
}

.custom-toast-content i {
    font-size: 20px
}

.custom-toast-content span {
    font-size: 14px;
    font-weight: 500;
    color: #1f2937
}

.custom-toast-close {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: color .2s
}

.custom-toast-close:hover {
    color: #1f2937
}

.custom-toast-close i {
    font-size: 18px
}

.custom-toast-success {
    border-left: 4px solid #10b981
}

.custom-toast-success .custom-toast-content i {
    color: #10b981
}

.custom-toast-error {
    border-left: 4px solid #ef4444
}

.custom-toast-error .custom-toast-content i {
    color: #ef4444
}

.custom-toast-warning {
    border-left: 4px solid #f59e0b
}

.custom-toast-warning .custom-toast-content i {
    color: #f59e0b
}

.custom-toast-info {
    border-left: 4px solid #3b82f6
}

.custom-toast-info .custom-toast-content i {
    color: #3b82f6
}

.dark-mode .custom-toast {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .custom-toast-content span {
    color: #e7e9ea
}

.dark-mode .custom-toast-close {
    color: #71767b
}

.dark-mode .custom-toast-close:hover {
    color: #e7e9ea
}

.sdm-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 20px;
    overflow-y: auto
}

.sdm-modal {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px #0003;
    animation: sdm-slide-up .2s ease-out
}

@keyframes sdm-slide-up {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.sdm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 10
}

.sdm-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin: 0
}

.sdm-close-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease
}

.sdm-close-btn:hover {
    background: #f3f4f6;
    color: #111827
}

.sdm-form {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.sdm-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.sdm-form-row {
    display: flex;
    gap: 16px
}

.sdm-form-group-half {
    flex: 1
}

.sdm-label {
    font-size: .875rem;
    font-weight: 500;
    color: #374151
}

.sdm-required {
    color: #ef4444
}

.sdm-input,
.sdm-select,
.sdm-textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: .9rem;
    color: #111827;
    background: #fff;
    transition: all .15s ease
}

.sdm-input:focus,
.sdm-select:focus,
.sdm-textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.sdm-input::placeholder,
.sdm-textarea::placeholder {
    color: #9ca3af
}

.sdm-input-error {
    border-color: #ef4444
}

.sdm-input-error:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px #ef44441a
}

.sdm-textarea {
    resize: vertical;
    min-height: 120px
}

.sdm-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%236b7280' d='M4.646 5.646a.5.5 0 0 1 .708 0L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px
}

.sdm-input-with-icon {
    position: relative
}

.sdm-input-with-icon i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 1rem
}

.sdm-input-with-icon .sdm-input {
    padding-left: 40px
}

.sdm-char-count {
    display: block;
    text-align: right;
    font-size: .75rem;
    color: #9ca3af;
    margin-top: 4px
}

.sdm-char-over {
    color: #ef4444;
    font-weight: 600
}

.sdm-error {
    font-size: .8rem;
    color: #ef4444
}

.sdm-type-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px
}

.sdm-type-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 26px;
    background: #fff;
    cursor: pointer;
    transition: all .15s ease;
    text-align: left
}

.sdm-type-btn:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.sdm-type-btn-active {
    border-color: #3b82f6;
    background: #eff6ff
}

.sdm-type-title {
    font-size: .85rem;
    font-weight: 500;
    color: #111827
}

.sdm-type-desc {
    font-size: .75rem;
    color: #6b7280;
    margin-top: 2px
}

.sdm-file-input {
    display: none
}

.sdm-image-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: all .15s ease
}

.sdm-image-upload:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.sdm-image-upload i {
    font-size: 2rem;
    color: #9ca3af;
    margin-bottom: 8px
}

.sdm-image-upload-text {
    font-size: .9rem;
    color: #374151;
    font-weight: 500
}

.sdm-image-upload-hint {
    font-size: .75rem;
    color: #9ca3af;
    margin-top: 4px
}

.sdm-image-preview {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    max-height: 200px
}

.sdm-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sdm-image-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border: none;
    background: #0009;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    transition: all .15s ease
}

.sdm-image-remove:hover {
    background: #000c
}

.sdm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.sdm-tag {
    padding: 6px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
    font-size: .8rem;
    color: #374151;
    cursor: pointer;
    transition: all .15s ease
}

.sdm-tag:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.sdm-tag-active {
    border-color: #3b82f6;
    background: #eff6ff;
    color: #3b82f6
}

.sdm-anonymous-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #f9fafb;
    border-radius: 8px;
    gap: 16px
}

.sdm-anonymous-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.sdm-anonymous-info i {
    font-size: 1.25rem;
    color: #6b7280
}

.sdm-anonymous-info>div {
    display: flex;
    flex-direction: column
}

.sdm-anonymous-title {
    font-size: .9rem;
    font-weight: 500;
    color: #111827
}

.sdm-anonymous-desc {
    font-size: .75rem;
    color: #6b7280
}

.sdm-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0
}

.sdm-toggle input {
    opacity: 0;
    width: 0;
    height: 0
}

.sdm-toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #d1d5db;
    transition: .2s;
    border-radius: 24px
}

.sdm-toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    transition: .2s;
    border-radius: 50%;
    box-shadow: 0 1px 3px #0003
}

.sdm-toggle input:checked+.sdm-toggle-slider {
    background-color: #3b82f6
}

.sdm-toggle input:checked+.sdm-toggle-slider:before {
    transform: translate(20px)
}

.sdm-submit-error {
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #dc2626;
    font-size: .875rem
}

.sdm-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid #e5e7eb;
    margin-top: 4px
}

.sdm-btn {
    padding: 10px 20px;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px
}

.sdm-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.sdm-btn-cancel {
    background: #fff;
    border: 1px solid #d1d5db;
    color: #374151
}

.sdm-btn-cancel:hover:not(:disabled) {
    background: #f3f4f6
}

.sdm-btn-submit {
    background: #3b82f6;
    border: none;
    color: #fff
}

.sdm-btn-submit:hover:not(:disabled) {
    background: #2563eb
}

.sdm-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: sdm-spin .6s linear infinite
}

@keyframes sdm-spin {
    to {
        transform: rotate(360deg)
    }
}

@media(max-width:540px) {
    .sdm-overlay {
        padding: 0;
        align-items: flex-end
    }

    .sdm-modal {
        max-width: 100%;
        max-height: 95vh;
        border-radius: 16px 16px 0 0
    }

    .sdm-form {
        padding: 20px 16px
    }

    .sdm-form-row {
        flex-direction: column;
        gap: 20px
    }

    .sdm-type-grid {
        grid-template-columns: 1fr
    }

    .sdm-footer {
        flex-direction: column-reverse
    }

    .sdm-btn {
        width: 100%
    }
}

.about-page {
    max-width: 100%;
    overflow-x: hidden;
    background: #fff
}

.about-hero {
    background: linear-gradient(135deg, #1e40af, #3b82f6, #60a5fa);
    padding: 80px 24px;
    text-align: center;
    position: relative;
    overflow: hidden
}

.about-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: .5
}

.hero-container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #ffffff26;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 24px
}

.hero-badge i {
    font-size: 14px;
    color: #fbbf24
}

.hero-title {
    font-size: 48px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.1;
    letter-spacing: -.02em
}

.hero-highlight {
    display: block;
    background: linear-gradient(90deg, #fbbf24, #f97316);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.hero-subtitle {
    font-size: 18px;
    color: #ffffffe6;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto 32px
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap
}

.hero-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all .3s ease;
    box-shadow: 0 4px 15px #f9731666
}

.hero-cta-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px #f9731680
}

.hero-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: #ffffff1a;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all .3s ease
}

.hero-cta-secondary:hover {
    background: #fff3;
    border-color: #ffffff80
}

.stats-bar {
    background: #f3f4f6;
    padding: 32px 24px
}

.stats-bar-container {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px
}

.stats-bar-item {
    text-align: center
}

.stats-bar-value {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: #3b82f6;
    line-height: 1;
    margin-bottom: 6px
}

.stats-bar-label {
    font-size: 13px;
    color: #9ca3af;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px
}

.about-section {
    padding: 80px 24px
}

.section-container {
    max-width: 1100px;
    margin: 0 auto
}

.section-header {
    text-align: center;
    margin-bottom: 56px
}

.section-label {
    display: inline-block;
    padding: 20px 16px;
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
    color: #2563eb;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px
}

.section-title {
    font-size: 36px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px;
    line-height: 1.2;
    letter-spacing: -.02em
}

.section-title-left {
    font-size: 32px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 20px;
    line-height: 1.3;
    letter-spacing: -.01em;
    text-align: left
}

.section-subtitle {
    font-size: 17px;
    color: #6b7280;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7
}

.why-section {
    background: linear-gradient(180deg, #f8fafc, #fff)
}

.why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.why-content {
    max-width: 500px
}

.why-text {
    font-size: 16px;
    color: #4b5563;
    line-height: 1.8;
    margin-bottom: 20px
}

.why-quote {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    margin-top: 32px;
    box-shadow: 0 4px 20px #0000000f;
    border: 1px solid #e5e7eb
}

.quote-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #f97316, #ea580c);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center
}

.quote-icon i {
    font-size: 24px;
    color: #fff
}

.quote-content {
    flex: 1
}

.quote-text {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
    line-height: 1.4
}

.quote-subtext {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0
}

.why-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px
}

.why-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-radius: 16px;
    padding: 20px 24px;
    box-shadow: 0 4px 20px #00000014;
    border: 1px solid #e5e7eb;
    transition: all .3s ease
}

.why-card:hover {
    transform: translate(8px);
    box-shadow: 0 8px 30px #0000001f
}

.why-card i {
    font-size: 24px;
    color: #2563eb
}

.why-card span {
    font-size: 15px;
    font-weight: 600;
    color: #111827
}

.why-card-1 {
    transform: translate(0)
}

.why-card-2 {
    transform: translate(24px)
}

.why-card-3 {
    transform: translate(48px)
}

.why-card-1:hover {
    transform: translate(8px)
}

.why-card-2:hover {
    transform: translate(32px)
}

.why-card-3:hover {
    transform: translate(56px)
}

.features-section {
    background: #fff
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.feature-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px;
    transition: all .3s ease
}

.feature-card:hover {
    background: #fff;
    box-shadow: 0 8px 30px #00000014;
    transform: translateY(-4px);
    border-color: #dbeafe
}

.feature-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center
}

.feature-icon i {
    font-size: 22px;
    color: #2563eb
}

.feature-content {
    flex: 1
}

.feature-title {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px
}

.feature-desc {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0
}

.vision-section {
    background: linear-gradient(180deg, #f8fafc, #fff)
}

.vision-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px
}

.vision-card {
    border-radius: 20px;
    padding: 36px;
    position: relative;
    overflow: hidden
}

.vision-card-primary {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    color: #fff
}

.vision-card-secondary {
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 20px #0000000f
}

.vision-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px
}

.vision-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center
}

.vision-card-primary .vision-icon {
    background: #fff3
}

.vision-card-secondary .vision-icon {
    background: linear-gradient(135deg, #dbeafe, #bfdbfe)
}

.vision-icon i {
    font-size: 22px
}

.vision-card-primary .vision-icon i {
    color: #fff
}

.vision-card-secondary .vision-icon i {
    color: #2563eb
}

.vision-card h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 0
}

.vision-card-primary h3 {
    color: #fff
}

.vision-card-secondary h3 {
    color: #111827
}

.vision-text {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px
}

.vision-card-primary .vision-text {
    color: #ffffffe6
}

.vision-card-secondary .vision-text {
    color: #6b7280
}

.vision-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.vision-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.5
}

.vision-card-primary .vision-list li {
    color: #fffffff2
}

.vision-card-secondary .vision-list li {
    color: #374151
}

.vision-list li i {
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0
}

.vision-card-primary .vision-list li i {
    color: #86efac
}

.vision-card-secondary .vision-list li i {
    color: #10b981
}

.vision-list li strong {
    font-weight: 600
}

.values-section {
    background: #fff
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px
}

.value-card {
    background: linear-gradient(180deg, #f8fafc, #fff);
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 32px 24px;
    text-align: center;
    transition: all .3s ease
}

.value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px #0000001a;
    border-color: #dbeafe
}

.value-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px
}

.value-icon i {
    font-size: 26px;
    color: #2563eb
}

.value-title {
    font-size: 17px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px
}

.value-desc {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0
}

.how-section {
    background: linear-gradient(180deg, #f8fafc, #fff)
}

.how-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    position: relative
}

.how-card {
    position: relative;
    text-align: center;
    padding: 0 16px
}

.how-step-badge {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 800;
    margin: 0 auto 24px;
    box-shadow: 0 8px 25px #2563eb59
}

.how-content {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 4px 20px #0000000a
}

.how-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 12px
}

.how-desc {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.7;
    margin: 0
}

.how-connector {
    display: none;
    position: absolute;
    top: 32px;
    right: -16px;
    width: 32px;
    height: 32px;
    background: #e5e7eb;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    z-index: 1
}

.how-connector i {
    font-size: 14px;
    color: #6b7280
}

.cta-section {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    position: relative;
    overflow: hidden
}

.cta-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1
}

.cta-content {
    position: relative;
    z-index: 2
}

.cta-title {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 16px;
    letter-spacing: -.02em
}

.cta-subtitle {
    font-size: 17px;
    color: #ffffffe6;
    line-height: 1.7;
    max-width: 550px;
    margin: 0 auto 36px
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap
}

.cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #f97316, #ea580c);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: all .3s ease
}

.cta-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px #f9731680
}

.cta-secondary {
    padding: 16px 32px;
    background: #ffffff1a;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: all .3s ease
}

.cta-secondary:hover {
    background: #fff3;
    border-color: #ffffff80
}

.cta-decoration {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.cta-circle {
    position: absolute;
    border-radius: 50%;
    background: #ffffff0d
}

.cta-circle-1 {
    width: 300px;
    height: 300px;
    top: -100px;
    right: -50px
}

.cta-circle-2 {
    width: 200px;
    height: 200px;
    bottom: -50px;
    left: -50px
}

.cta-circle-3 {
    width: 150px;
    height: 150px;
    top: 50%;
    left: 20%;
    transform: translateY(-50%)
}

.about-page.dark-mode {
    background: #0f172a
}

.about-page.dark-mode .stats-bar {
    background: #1e293b
}

.about-page.dark-mode .stats-bar-label {
    color: #64748b
}

.about-page.dark-mode .section-title,
.about-page.dark-mode .section-title-left {
    color: #f1f5f9
}

.about-page.dark-mode .section-subtitle {
    color: #94a3b8
}

.about-page.dark-mode .section-label {
    background: linear-gradient(135deg, #1e3a5f, #1e40af);
    color: #60a5fa
}

.about-page.dark-mode .why-section {
    background: linear-gradient(180deg, #1e293b, #0f172a)
}

.about-page.dark-mode .why-text {
    color: #94a3b8
}

.about-page.dark-mode .why-quote {
    background: #1e293b;
    border-color: #334155
}

.about-page.dark-mode .quote-text {
    color: #f1f5f9
}

.about-page.dark-mode .quote-subtext {
    color: #94a3b8
}

.about-page.dark-mode .why-card {
    background: #1e293b;
    border-color: #334155
}

.about-page.dark-mode .why-card span {
    color: #f1f5f9
}

.about-page.dark-mode .features-section {
    background: #0f172a
}

.about-page.dark-mode .feature-card {
    background: #1e293b;
    border-color: #334155
}

.about-page.dark-mode .feature-card:hover {
    background: #1e293b;
    border-color: #3b82f6
}

.about-page.dark-mode .feature-icon {
    background: linear-gradient(135deg, #1e3a5f, #1e40af)
}

.about-page.dark-mode .feature-title {
    color: #f1f5f9
}

.about-page.dark-mode .feature-desc {
    color: #94a3b8
}

.about-page.dark-mode .vision-section {
    background: linear-gradient(180deg, #1e293b, #0f172a)
}

.about-page.dark-mode .vision-card-secondary {
    background: #1e293b;
    border-color: #334155
}

.about-page.dark-mode .vision-card-secondary h3 {
    color: #f1f5f9
}

.about-page.dark-mode .vision-card-secondary .vision-text {
    color: #94a3b8
}

.about-page.dark-mode .vision-card-secondary .vision-list li {
    color: #cbd5e1
}

.about-page.dark-mode .vision-card-secondary .vision-icon {
    background: linear-gradient(135deg, #1e3a5f, #1e40af)
}

.about-page.dark-mode .values-section {
    background: #0f172a
}

.about-page.dark-mode .value-card {
    background: linear-gradient(180deg, #1e293b, #0f172a);
    border-color: #334155
}

.about-page.dark-mode .value-card:hover {
    border-color: #3b82f6
}

.about-page.dark-mode .value-icon {
    background: linear-gradient(135deg, #1e3a5f, #1e40af)
}

.about-page.dark-mode .value-title {
    color: #f1f5f9
}

.about-page.dark-mode .value-desc {
    color: #94a3b8
}

.about-page.dark-mode .how-section {
    background: linear-gradient(180deg, #1e293b, #0f172a)
}

.about-page.dark-mode .how-content {
    background: #1e293b;
    border-color: #334155
}

.about-page.dark-mode .how-title {
    color: #f1f5f9
}

.about-page.dark-mode .how-desc {
    color: #94a3b8
}

@media(max-width:1024px) {
    .hero-title {
        font-size: 40px
    }

    .features-grid,
    .values-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .why-grid {
        gap: 48px
    }

    .why-card-1,
    .why-card-2,
    .why-card-3 {
        transform: translate(0)
    }

    .why-card-1:hover,
    .why-card-2:hover,
    .why-card-3:hover {
        transform: translate(8px)
    }
}

@media(max-width:768px) {
    .about-hero {
        padding: 60px 20px
    }

    .hero-title {
        font-size: 32px
    }

    .hero-subtitle {
        font-size: 16px
    }

    .hero-actions {
        flex-direction: column;
        align-items: center
    }

    .hero-cta-primary,
    .hero-cta-secondary {
        width: 100%;
        max-width: 280px;
        justify-content: center
    }

    .stats-bar-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px
    }

    .stats-bar-value {
        font-size: 28px
    }

    .about-section {
        padding: 60px 20px
    }

    .section-title {
        font-size: 28px
    }

    .section-title-left {
        font-size: 26px
    }

    .why-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .why-visual {
        order: -1;
        padding: 0
    }

    .features-grid {
        grid-template-columns: 1fr
    }

    .feature-card {
        flex-direction: column;
        text-align: center
    }

    .vision-grid {
        grid-template-columns: 1fr
    }

    .vision-card {
        padding: 28px
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px
    }

    .value-card {
        padding: 24px 16px
    }

    .value-icon {
        width: 56px;
        height: 56px
    }

    .how-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .how-connector {
        display: none
    }

    .cta-title {
        font-size: 28px
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center
    }

    .cta-primary,
    .cta-secondary {
        width: 100%;
        max-width: 280px;
        justify-content: center
    }
}

@media(max-width:480px) {
    .about-hero {
        padding: 48px 16px
    }

    .hero-badge {
        font-size: 11px;
        padding: 6px 14px
    }

    .hero-title {
        font-size: 28px
    }

    .hero-subtitle {
        font-size: 15px
    }

    .stats-bar {
        padding: 24px 16px
    }

    .stats-bar-value {
        font-size: 24px
    }

    .stats-bar-label {
        font-size: 11px
    }

    .about-section {
        padding: 48px 16px
    }

    .section-header {
        margin-bottom: 40px
    }

    .section-title {
        font-size: 24px
    }

    .section-title-left {
        font-size: 22px
    }

    .section-subtitle {
        font-size: 15px
    }

    .why-quote {
        flex-direction: column;
        gap: 16px
    }

    .quote-icon {
        width: 40px;
        height: 40px
    }

    .quote-icon i {
        font-size: 20px
    }

    .values-grid {
        grid-template-columns: 1fr
    }

    .value-card {
        padding: 28px 20px
    }

    .cta-section {
        padding: 48px 16px
    }

    .cta-title {
        font-size: 24px
    }

    .cta-subtitle {
        font-size: 15px
    }
}

.account-page {
    margin: 0 auto;
    padding: 0;
    min-height: 100vh
}

.account-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    gap: 1rem
}

.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

.account-header {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    padding: 2rem;
    margin-bottom: 0
}

.account-header-content {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto
}

.account-header-menu {
    margin-left: auto;
    position: relative;
}

.account-user-menu-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .5rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .45);
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.account-user-menu-btn:hover {
    border-color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .24);
}

.account-user-menu-btn i {
    font-size: .75rem;
    transition: transform .18s ease;
}

.account-user-menu-btn.open i {
    transform: rotate(180deg);
}

.account-user-menu-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    background: #e5e7eb;
    border: 1px solid rgba(255, 255, 255, .5);
}

.account-user-menu-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 220px;
    background: #fff;
    color: #111827;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .18);
    padding: .5rem;
    z-index: 20;
}

.account-user-menu-meta {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .35rem .5rem .55rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: .4rem;
}

.account-user-menu-meta strong {
    font-size: .88rem;
    line-height: 1.2;
}

.account-user-menu-meta span {
    font-size: .75rem;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.account-user-menu-item {
    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: none;
    background: transparent;
    border-radius: 8px;
    padding: .55rem .6rem;
    font-size: .86rem;
    color: #111827;
    text-align: left;
}

.account-user-menu-item:hover {
    background: #f3f4f6;
}

.account-user-menu-item.danger {
    color: #dc2626;
}

.account-user-menu-item.danger:hover {
    background: #fef2f2;
}

.account-avatar-wrapper {
    flex-shrink: 0
}

.account-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, .3);
    object-fit: cover;
    background: #e5e7eb
}

.account-header-info {
    flex: 1
}

.account-username {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 .5rem
}

.account-meta {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    font-size: .875rem
}

.meta-item i {
    font-size: .875rem
}

.edit-profile-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .625rem 1.25rem;
    background: #f97316;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: .875rem;
    cursor: pointer;
    transition: background .2s
}

.edit-profile-btn:hover {
    background: #ea580c
}

.account-tabs-wrapper {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 2rem
}

.account-tabs {
    display: flex;
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    overflow-x: auto
}

.account-tab {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem 1.25rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: #6b7280;
    font-weight: 500;
    font-size: .875rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s
}

.account-tab:hover {
    color: #3b82f6
}

.account-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6
}

.account-tab i {
    font-size: 1rem
}

.account-content {
    padding: 1.5rem 2rem 2rem;
    max-width: 1200px;
    margin: 0 auto
}

.tab-content-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem
}

.account-section-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 1.5rem
}

.account-section-card.full-width {
    grid-column: 1 / -1
}

.section-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: .5rem
}

.section-card-title i {
    color: #3b82f6
}

.section-subtitle {
    color: #6b7280;
    font-size: .875rem
}

.form-group {
    margin-bottom: 1rem
}

.form-label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: .5rem
}

.form-input,
.form-textarea {
    width: 100%;
    padding: .75rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: .875rem;
    color: #374151;
    background: #fff;
    transition: border-color .2s
}

.form-input:focus,
.form-textarea:focus {
    outline: none;
    border-color: #3b82f6
}

.form-textarea {
    resize: vertical;
    min-height: 100px
}

.btn-primary-sm {
    padding: .625rem 1.25rem;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: .875rem;
    cursor: pointer;
    transition: background .2s
}

.btn-primary-sm:hover {
    background: #2563eb
}

.interests-section,
.languages-section {
    margin-bottom: 1rem
}

.tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.tag-badge {
    display: inline-block;
    padding: .375rem .75rem;
    background: #f97316;
    color: #fff;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600
}

.languages-list {
    display: flex;
    gap: 1rem
}

.language-item {
    color: #3b82f6;
    font-size: .875rem;
    text-decoration: underline;
    cursor: pointer
}

.quick-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem
}

.stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--oxy-primary, #3b82f6);
    transition: color 0.2s;
}

.dark-mode .stat-number {
    color: #60a5fa;
}
.stat-label {
    font-size: .75rem;
    color: #6b7280;
    margin-top: .25rem
}

.posts-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.post-item {
    padding: 1rem 0;
    border-bottom: 1px solid #f3f4f6
}

.post-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.post-title {
    font-size: .9375rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 .5rem
}

.post-meta {
    display: flex;
    align-items: center;
    gap: 1rem
}

.post-circle {
    color: #3b82f6;
    font-size: .8125rem
}

.post-stat {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: #6b7280;
    font-size: .8125rem
}

.comments-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.comment-item {
    padding: 1rem;
    background: #f9fafb;
    border-radius: 8px;
    border-left: 3px solid #3b82f6
}

.comment-text {
    font-size: .875rem;
    color: #374151;
    font-style: italic;
    margin: 0 0 .5rem
}

.comment-meta {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.comment-post {
    font-size: .75rem;
    color: #6b7280
}

.comment-post a {
    color: #3b82f6;
    text-decoration: underline
}

.comment-time {
    font-size: .75rem;
    color: #9ca3af
}

.circles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem
}

.circle-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: box-shadow .2s
}

.circle-card:hover {
    box-shadow: 0 2px 8px #00000014
}

.circle-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border-radius: 8px;
    font-size: 1.25rem
}

.circle-name {
    font-size: .9375rem;
    font-weight: 600;
    color: #111827;
    margin: 0
}

.circle-members {
    font-size: .75rem;
    color: #6b7280
}

.saved-list {
    display: flex;
    flex-direction: column
}

.saved-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid #f3f4f6
}

.saved-item:last-child {
    border-bottom: none
}

.saved-item i {
    color: #3b82f6;
    font-size: 1.25rem
}

.saved-title {
    flex: 1;
    font-size: .9375rem;
    font-weight: 500;
    color: #111827
}

.saved-type {
    padding: .25rem .75rem;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600
}

.saved-type.guide {
    background: #3b82f6;
    color: #fff
}

.saved-type.post {
    background: #10b981;
    color: #fff
}

.settings-list {
    display: flex;
    flex-direction: column
}

.setting-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid #f3f4f6
}

.setting-item:last-child {
    border-bottom: none
}

.setting-item.highlight {
    background: #f0f7ff;
    margin: 0 -1.5rem;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    border-bottom: none
}

.setting-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 1.25rem
}

.setting-info {
    flex: 1
}

.setting-title {
    font-size: .9375rem;
    font-weight: 600;
    color: #111827;
    margin: 0
}

.setting-desc {
    font-size: .8125rem;
    color: #6b7280;
    margin: .25rem 0 0
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #d1d5db;
    transition: .3s;
    border-radius: 24px
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    transition: .3s;
    border-radius: 50%
}

.toggle-switch input:checked+.toggle-slider:before {
    transform: translate(20px)
}

.toggle-with-label {
    display: flex;
    align-items: center;
    gap: .75rem
}

.toggle-label-text {
    font-size: .75rem;
    font-weight: 600;
    color: #3b82f6;
    background: #dbeafe;
    padding: .25rem .5rem;
    border-radius: 4px
}

.notification-save-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: flex-end
}

.danger-zone {
    border-color: #fecaca
}

.data-actions {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #374151;
    font-weight: 500;
    font-size: .875rem;
    cursor: pointer;
    transition: all .2s
}

.btn-outline:hover {
    background: #f9fafb
}

.btn-danger-full {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .875rem 1rem;
    background: #ef4444;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    font-size: .875rem;
    cursor: pointer;
    transition: background .2s
}

.btn-danger-full:hover {
    background: #dc2626
}

.account-settings-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.account-setting-item {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.email-display {
    display: flex;
    align-items: center;
    gap: 1rem
}

.email-display .form-input {
    flex: 1;
    background: #f9fafb
}

.verified-badge {
    padding: .375rem .75rem;
    background: #10b981;
    color: #fff;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 600
}

.password-display {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #6b7280;
    font-size: .875rem
}

.btn-link {
    background: none;
    border: none;
    color: #3b82f6;
    font-size: .875rem;
    cursor: pointer;
    padding: 0;
    text-decoration: underline
}

.btn-link:hover {
    color: #2563eb
}

.signout-section {
    border-color: #fecaca
}

.danger-text {
    color: #ef4444
}

.btn-danger {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1.25rem;
    background: #ef4444;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    font-size: .875rem;
    cursor: pointer;
    transition: background .2s
}

.btn-danger:hover {
    background: #dc2626
}

.account-page.dark-mode {
    background: #111827
}

.account-page.dark-mode .account-tabs-wrapper {
    background: #1f2937;
    border-bottom-color: #374151
}

.account-page.dark-mode .account-user-menu-dropdown {
    background: #111827;
    color: #e5e7eb;
    border-color: #374151;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .45);
}

.account-page.dark-mode .account-user-menu-meta {
    border-bottom-color: #374151;
}

.account-page.dark-mode .account-user-menu-meta span {
    color: #9ca3af;
}

.account-page.dark-mode .account-user-menu-item {
    color: #e5e7eb;
}

.account-page.dark-mode .account-user-menu-item:hover {
    background: #1f2937;
}

.account-page.dark-mode .account-user-menu-item.danger {
    color: #f87171;
}

.account-page.dark-mode .account-user-menu-item.danger:hover {
    background: #2b1417;
}

.account-page.dark-mode .account-tab {
    color: #9ca3af
}

.account-page.dark-mode .account-tab:hover,
.account-page.dark-mode .account-tab.active {
    color: #60a5fa
}

.account-page.dark-mode .account-tab.active {
    border-bottom-color: #60a5fa
}

.account-page.dark-mode .account-section-card {
    background: #1f2937;
    border-color: #374151
}

.account-page.dark-mode .section-card-title {
    color: #f9fafb
}

.account-page.dark-mode .section-subtitle {
    color: #9ca3af
}

.account-page.dark-mode .form-label {
    color: #d1d5db
}

.account-page.dark-mode .form-input,
.account-page.dark-mode .form-textarea {
    background: #374151;
    border-color: #4b5563;
    color: #f9fafb
}

.account-page.dark-mode .stat-box {
    background: #374151;
    border-color: #4b5563
}

.account-page.dark-mode .stat-number {
    color: var(--account-text)
}

.account-page.dark-mode .stat-label {
    color: #9ca3af
}

.account-page.dark-mode .post-title,
.account-page.dark-mode .circle-name,
.account-page.dark-mode .saved-title,
.account-page.dark-mode .setting-title {
    color: #f9fafb
}

.account-page.dark-mode .post-circle,
.account-page.dark-mode .comment-post a,
.account-page.dark-mode .language-item {
    color: #60a5fa
}

.account-page.dark-mode .post-stat,
.account-page.dark-mode .circle-members,
.account-page.dark-mode .comment-time,
.account-page.dark-mode .setting-desc {
    color: #9ca3af
}

.account-page.dark-mode .comment-item {
    background: #374151;
    border-left-color: #60a5fa
}

.account-page.dark-mode .comment-text {
    color: #d1d5db
}

.account-page.dark-mode .circle-card {
    background: #1f2937;
    border-color: #374151
}

.account-page.dark-mode .circle-icon {
    background: #374151
}

.account-page.dark-mode .saved-item,
.account-page.dark-mode .setting-item {
    border-bottom-color: #374151
}

.account-page.dark-mode .setting-item.highlight {
    background: #1e3a5f
}

.account-page.dark-mode .toggle-slider {
    background-color: #4b5563
}

.account-page.dark-mode .btn-outline {
    background: #374151;
    border-color: #4b5563;
    color: #d1d5db
}

.account-page.dark-mode .btn-outline:hover {
    background: #4b5563
}

.account-page.dark-mode .password-display {
    color: #9ca3af
}

.account-page.dark-mode .btn-link {
    color: #60a5fa
}

.account-page.dark-mode .post-item {
    border-bottom-color: #374151
}

.account-page.dark-mode .notification-save-section {
    border-top-color: #374151
}

.follows-sub-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 20px;
    border-bottom: 2px solid #e5e7eb
}

.follows-sub-tab {
    flex: 1;
    padding: 12px 16px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.follows-sub-tab:hover {
    color: #374151
}

.follows-sub-tab.active {
    color: #0d58e3;
    border-bottom-color: #0d58e3
}

.follows-count-badge {
    background: #e5e7eb;
    color: #374151;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600
}

.follows-sub-tab.active .follows-count-badge {
    background: #dbeafe;
    color: #0d58e3
}

.follows-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    gap: 12px;
    color: #6b7280
}

.follows-list {
    display: flex;
    flex-direction: column;
    gap: 0
}

.follows-user-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6
}

.follows-user-card:last-child {
    border-bottom: none
}

.follows-user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0d58e3;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0
}

.follows-user-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0
}

.follows-user-name {
    font-weight: 600;
    font-size: 14px;
    color: #111827
}

.follows-mutual-badge {
    font-size: 12px;
    color: #6b7280;
    font-weight: 400
}

.follows-action-btn {
    padding: 7px 18px;
    border-radius: 20px;
    border: 1px solid #0d58e3;
    background: transparent;
    color: #0d58e3;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
    flex-shrink: 0
}

.follows-action-btn:hover {
    background: #0d58e3;
    color: #fff
}

.follows-action-btn.following {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.follows-action-btn.following:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff
}

.follows-action-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.follows-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 0;
    gap: 12px;
    color: #9ca3af
}

.follows-empty i {
    font-size: 36px
}

.follows-empty p {
    font-size: 14px;
    margin: 0
}

.account-page.dark-mode .follows-sub-tabs {
    border-bottom-color: #374151
}

.account-page.dark-mode .follows-sub-tab {
    color: #9ca3af
}

.account-page.dark-mode .follows-sub-tab:hover {
    color: #d1d5db
}

.account-page.dark-mode .follows-sub-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6
}

.account-page.dark-mode .follows-count-badge {
    background: #374151;
    color: #d1d5db
}

.account-page.dark-mode .follows-sub-tab.active .follows-count-badge {
    background: #1e3a5f;
    color: #3b82f6
}

.account-page.dark-mode .follows-user-card {
    border-bottom-color: #374151
}

.account-page.dark-mode .follows-user-avatar {
    background: #3b82f6
}

.account-page.dark-mode .follows-user-name {
    color: #f9fafb
}

.account-page.dark-mode .follows-mutual-badge {
    color: #9ca3af
}

.account-page.dark-mode .follows-action-btn {
    border-color: #3b82f6;
    color: #3b82f6
}

.account-page.dark-mode .follows-action-btn:hover {
    background: #3b82f6;
    color: #fff
}

.account-page.dark-mode .follows-action-btn.following {
    background: #3b82f6;
    border-color: #3b82f6;
    color: #fff
}

.account-page.dark-mode .follows-action-btn.following:hover {
    background: #dc2626;
    border-color: #dc2626
}

.account-page.dark-mode .follows-empty {
    color: #6b7280
}

.account-page.dark-mode .follows-loading {
    color: #9ca3af
}

.account-page {
    --account-page-bg: #f4f7fb;
    --account-surface: #fff;
    --account-surface-soft: #f8fafc;
    --account-surface-strong: #fff;
    --account-border: #e5e7eb;
    --account-text: #111827;
    --account-muted: #6b7280;
    --account-muted-strong: #4b5563;
    --account-primary: #0d58e3;
    --account-primary-soft: #dbeafe;
    --account-primary-strong: #2563eb;
    --account-input-bg: #fff;
    --account-input-text: #111827;
    background: var(--account-page-bg);
    color: var(--account-text)
}

.account-page.dark-mode,
.app-wrapper.dark-mode .account-page {
    --account-page-bg: #0b1220;
    --account-surface: #111827;
    --account-surface-soft: #0f172a;
    --account-surface-strong: #182235;
    --account-border: #263244;
    --account-text: #f8fafc;
    --account-muted: #94a3b8;
    --account-muted-strong: #cbd5e1;
    --account-primary: #60a5fa;
    --account-primary-soft: #1e3a5f;
    --account-primary-strong: #93c5fd;
    --account-input-bg: #0f172a;
    --account-input-text: #f8fafc
}

.account-page .account-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6)
}

.account-page .account-tabs-wrapper {
    background: var(--account-surface);
    border-bottom-color: var(--account-border)
}

.account-page .account-tab {
    color: var(--account-muted)
}

.account-page .account-tab:hover,
.account-page .account-tab.active {
    color: var(--account-primary)
}

.account-page .account-tab.active {
    border-bottom-color: var(--account-primary)
}

.account-page .account-content {
    color: var(--account-text)
}

.user-profile-page .account-header-content,
.user-profile-page .account-content {
    width: 100%;
    max-width: none
}

.user-profile-page .account-content {
    padding-left: 0;
    padding-right: 0
}

.user-profile-page .tab-content-grid,
.user-profile-page .account-section-card.full-width {
    width: 100%
}

@media (max-width: 767.98px) {
    .user-profile-page .account-content {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.account-page .account-section-card,
.account-page .passport-card,
.account-page .passport-activity-card {
    background: var(--account-surface);
    border-color: var(--account-border);
    color: var(--account-text);
    box-shadow: 0 8px 24px #0000000a
}

.account-page .section-card-title,
.account-page .post-title,
.account-page .circle-name,
.account-page .saved-title,
.account-page .setting-title,
.account-page .passport-username,
.account-page .passport-brand,
.account-page .passport-activity-title {
    color: var(--account-text)
}

.account-page .section-subtitle,
.account-page .post-stat,
.account-page .circle-members,
.account-page .comment-time,
.account-page .setting-desc,
.account-page .passport-id,
.account-page .passport-label,
.account-page .passport-hub-label,
.account-page .passport-streak-label,
.account-page .passport-level-pts,
.account-page .passport-stat-label,
.account-page .passport-activity-row,
.account-page .meta-item {
    color: var(--account-text)
}

.account-page .form-label {
    color: var(--account-text)
}

.account-page .form-input,
.account-page .form-textarea {
    background: var(--account-input-bg);
    border-color: var(--account-border);
    color: var(--account-input-text)
}

.account-page .form-input:focus,
.account-page .form-textarea:focus {
    border-color: var(--account-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--account-primary) 16%, transparent)
}

.account-page .form-input::placeholder,
.account-page .form-textarea::placeholder {
    color: var(--account-muted)
}

.account-page .btn-primary-sm,
.account-page .btn-danger,
.account-page .btn-danger-full {
    background: var(--account-primary);
    color: #fff
}

.account-page .btn-primary-sm:hover,
.account-page .btn-danger:hover,
.account-page .btn-danger-full:hover {
    background: var(--account-primary-strong)
}

.account-page .btn-outline {
    background: var(--account-surface);
    border-color: var(--account-border);
    color: var(--account-text)
}

.account-page .btn-outline:hover {
    background: var(--account-surface-soft)
}

.account-page .btn-link {
    color: var(--account-primary)
}

.account-page .btn-link:hover {
    color: var(--account-primary-strong)
}

.account-page .edit-profile-btn {
    background: #f97316
}

.account-page .stat-box,
.account-page .comment-item,
.account-page .circle-card,
.account-page .setting-item.highlight,
.account-page .toggle-label-text {
    background: var(--account-surface-soft)
}

.account-page .stat-box,
.account-page .circle-card,
.account-page .setting-item,
.account-page .comment-item,
.account-page .account-section-card,
.account-page .passport-card,
.account-page .passport-activity-card {
    border-color: var(--account-border)
}

.account-page .stat-number,
.account-page .passport-stat-number,
.account-page .passport-activity-value,
.account-page .verified-badge,
.account-page .tag-badge {
    color: var(--account-text)
}

.account-page .stat-label,
.account-page .follows-mutual-badge,
.account-page .follows-empty,
.account-page .follows-loading,
.account-page .setting-desc {
    color: var(--account-muted)
}

.account-page .tag-badge,
.account-page .verified-badge,
.account-page .saved-type.guide,
.account-page .saved-type.post {
    background: var(--account-primary)
}

.account-page .languages-list .language-item,
.account-page .comment-post a,
.account-page .post-circle {
    color: var(--account-primary)
}

.account-page .quick-stats-grid,
.account-page .passport-stats,
.account-page .passport-streak-bars {
    gap: 1rem
}

.account-page .account-loading {
    color: var(--account-text)
}

.account-page .spinner {
    border-color: var(--account-border);
    border-top-color: var(--account-primary)
}

.account-page .toggle-slider {
    background-color: var(--account-border)
}

.account-page .toggle-slider:before {
    background-color: var(--account-surface)
}

.account-page .toggle-label-text {
    color: var(--account-primary);
    background: var(--account-primary-soft)
}

.account-page .setting-item.highlight {
    border-radius: 8px
}

.account-page .email-display .form-input {
    background: var(--account-surface-soft)
}

.account-page .follows-sub-tabs {
    border-bottom-color: var(--account-border)
}

.account-page .follows-sub-tab {
    color: var(--account-muted)
}

.account-page .follows-sub-tab:hover,
.account-page .follows-sub-tab.active {
    color: var(--account-primary)
}

.account-page .follows-sub-tab.active {
    border-bottom-color: var(--account-primary)
}

.account-page .follows-count-badge {
    background: var(--account-border);
    color: var(--account-text)
}

.account-page .follows-user-card,
.account-page .post-item,
.account-page .saved-item,
.account-page .setting-item {
    border-bottom-color: var(--account-border)
}

.account-page .follows-user-avatar {
    background: var(--account-primary)
}

.account-page .follows-user-name {
    color: var(--account-text)
}

.account-page .follows-action-btn {
    border-color: var(--account-primary);
    color: var(--account-primary)
}

.account-page .follows-action-btn:hover,
.account-page .follows-action-btn.following {
    background: var(--account-primary);
    color: #fff
}

.account-page .follows-action-btn.following:hover {
    background: #dc2626;
    border-color: #dc2626
}

.account-page .passport-card {
    background: linear-gradient(180deg, var(--account-surface) 0%, var(--account-surface-soft) 100%)
}

.account-page .passport-card-header,
.account-page .passport-user-info,
.account-page .passport-streak-header,
.account-page .passport-level-header,
.account-page .passport-activity-row {
    color: var(--account-text)
}

.account-page .passport-avatar {
    background: var(--account-primary)
}

.account-page .passport-streak-bar,
.account-page .passport-level-bar {
    background: var(--account-border)
}

.account-page .passport-streak-bar.active,
.account-page .passport-level-fill {
    background: var(--account-primary)
}

.account-page .passport-share-btn {
    border-color: var(--account-primary);
    color: var(--account-primary)
}

.account-page .passport-share-btn:hover {
    background: var(--account-primary-soft)
}

.account-page .passport-activity-title i,
.account-page .section-card-title i,
.account-page .post-stat i,
.account-page .setting-icon i,
.account-page .follows-empty i {
    color: var(--account-primary)
}

.account-page .danger-text {
    color: #ef4444
}

.account-page.dark-mode .account-page,
.account-page.dark-mode,
.app-wrapper.dark-mode .account-page {
    background: var(--account-page-bg)
}

.account-page.dark-mode .account-tabs-wrapper,
.app-wrapper.dark-mode .account-page .account-tabs-wrapper {
    background: var(--account-surface) !important;
    border-bottom-color: var(--account-border) !important
}

.account-page.dark-mode .account-tab,
.app-wrapper.dark-mode .account-page .account-tab {
    color: var(--account-muted) !important
}

.account-page.dark-mode .account-tab:hover,
.account-page.dark-mode .account-tab.active,
.app-wrapper.dark-mode .account-page .account-tab:hover,
.app-wrapper.dark-mode .account-page .account-tab.active {
    color: var(--account-primary) !important
}

.account-page.dark-mode .account-tab.active,
.app-wrapper.dark-mode .account-page .account-tab.active {
    border-bottom-color: var(--account-primary) !important
}

.account-page.dark-mode .account-content,
.app-wrapper.dark-mode .account-page .account-content {
    color: var(--account-text) !important
}

.account-page.dark-mode .setting-item.highlight {
    background: var(--account-primary-soft)
}

.account-page.dark-mode .comment-item,
.account-page.dark-mode .stat-box,
.account-page.dark-mode .circle-card,
.account-page.dark-mode .account-section-card,
.account-page.dark-mode .passport-card,
.account-page.dark-mode .passport-activity-card {
    box-shadow: 0 10px 30px #00000033
}

.app-wrapper:not(.dark-mode) .account-page .passport-card,
.app-wrapper:not(.dark-mode) .account-page .passport-activity-card,
.account-page:not(.dark-mode) .passport-card,
.account-page:not(.dark-mode) .passport-activity-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)
}

.passport-tab-content {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 24px
}

.passport-card {
    background: #0f172a;
    border-radius: 16px;
    padding: 28px;
    color: #fff;
    border: 1px solid #1e293b
}

.passport-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px
}

.passport-card-brand {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.passport-label {
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #94a3b8;
    text-transform: uppercase
}

.passport-brand {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px
}

.passport-hub {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px
}

.passport-hub-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px
}

.passport-hub-value {
    font-size: 18px;
    font-weight: 700
}

.passport-user-info {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px
}

.passport-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #1e40af;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 20px;
    font-weight: 700
}

.passport-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.passport-user-details {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.passport-username {
    font-size: 16px;
    font-weight: 600
}

.passport-id {
    font-size: 13px;
    color: #94a3b8
}

.passport-streak {
    margin-bottom: 20px
}

.passport-streak-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 13px
}

.passport-streak-header i {
    color: #f59e0b;
    margin-right: 6px
}

.passport-streak-days {
    font-weight: 600
}

.passport-streak-bars {
    display: flex;
    gap: 8px
}

.passport-streak-day {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px
}

.passport-streak-bar {
    width: 100%;
    height: 28px;
    border-radius: 6px;
    background: #1e293b;
    transition: background .2s
}

.passport-streak-bar.active {
    background: #2dd4bf
}

.passport-streak-label {
    font-size: 11px;
    color: #64748b
}

.passport-level {
    margin-bottom: 24px
}

.passport-level-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px
}

.passport-level-header i {
    color: #f59e0b;
    margin-right: 6px
}

.passport-level-pts {
    color: #94a3b8;
    font-size: 12px
}

.passport-level-bar {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #1e293b;
    overflow: hidden
}

.passport-level-fill {
    height: 100%;
    border-radius: 3px;
    background: #2dd4bf;
    transition: width .4s ease
}

.passport-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    text-align: center;
    margin-bottom: 24px;
    padding-top: 20px;
    border-top: 1px solid #1e293b
}

.passport-stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.passport-stat-number {
    font-size: 20px;
    font-weight: 700
}

.passport-stat-label {
    font-size: 12px;
    color: #64748b
}

.passport-share-btn {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #2dd4bf;
    background: transparent;
    color: #2dd4bf;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background .2s
}

.passport-share-btn:hover {
    background: #2dd4bf1a
}

.passport-activity-card {
    background: #0f172a;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #1e293b;
    height: fit-content
}

.passport-activity-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 8px
}

.passport-activity-title i {
    color: #3b82f6
}

.passport-activity-list {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.passport-activity-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #1e293b;
    font-size: 14px;
    color: #cbd5e1
}

.passport-activity-row:last-child {
    border-bottom: none
}

.passport-activity-row span:first-child {
    display: flex;
    align-items: center;
    gap: 10px
}

.passport-activity-row i {
    color: #64748b;
    font-size: 16px
}

.passport-activity-value {
    font-weight: 700;
    color: #f97316;
    font-size: 15px
}

.app-wrapper:not(.dark-mode) .account-page .passport-card,
.app-wrapper:not(.dark-mode) .account-page .passport-activity-card,
.account-page:not(.dark-mode) .passport-card,
.account-page:not(.dark-mode) .passport-activity-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-color: var(--account-border);
    color: var(--account-text)
}

.app-wrapper:not(.dark-mode) .account-page .passport-activity-row,
.account-page:not(.dark-mode) .passport-activity-row {
    border-bottom-color: var(--account-border)
}

.app-wrapper.dark-mode .account-page .passport-card,
.app-wrapper.dark-mode .account-page .passport-activity-card,
.account-page.dark-mode .passport-card,
.account-page.dark-mode .passport-activity-card {
    background: #0f172a !important;
    border-color: #1e293b !important;
    color: #f8fafc !important
}

.app-wrapper.dark-mode .account-page .passport-card *,
.app-wrapper.dark-mode .account-page .passport-activity-card *,
.account-page.dark-mode .passport-card *,
.account-page.dark-mode .passport-activity-card * {
    color: inherit
}

.app-wrapper.dark-mode .account-page .passport-label,
.app-wrapper.dark-mode .account-page .passport-hub-label,
.app-wrapper.dark-mode .account-page .passport-id,
.app-wrapper.dark-mode .account-page .passport-level-pts,
.app-wrapper.dark-mode .account-page .passport-streak-label,
.app-wrapper.dark-mode .account-page .passport-stat-label,
.app-wrapper.dark-mode .account-page .passport-activity-row i,
.account-page.dark-mode .passport-label,
.account-page.dark-mode .passport-hub-label,
.account-page.dark-mode .passport-id,
.account-page.dark-mode .passport-level-pts,
.account-page.dark-mode .passport-streak-label,
.account-page.dark-mode .passport-stat-label,
.account-page.dark-mode .passport-activity-row i {
    color: #94a3b8 !important
}

.app-wrapper.dark-mode .account-page .passport-streak-bar,
.app-wrapper.dark-mode .account-page .passport-level-bar,
.account-page.dark-mode .passport-streak-bar,
.account-page.dark-mode .passport-level-bar {
    background: #1e293b !important
}

.app-wrapper.dark-mode .account-page .passport-stats,
.app-wrapper.dark-mode .account-page .passport-activity-row,
.account-page.dark-mode .passport-stats,
.account-page.dark-mode .passport-activity-row {
    border-color: #1e293b !important
}

@media(max-width:768px) {
    .passport-tab-content {
        grid-template-columns: 1fr
    }
}

@media(max-width:968px) {
    .tab-content-grid {
        grid-template-columns: 1fr
    }

    .circles-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .quick-stats-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:768px) {
    .account-header-content {
        flex-direction: column;
        text-align: center;
        gap: 1rem
    }

    .account-meta {
        justify-content: center
    }

    .account-header-menu {
        margin-left: 0;
    }

    .account-user-menu-dropdown {
        right: 50%;
        transform: translateX(50%);
    }

    .edit-profile-btn {
        width: 100%;
        justify-content: center
    }

    .account-tabs-wrapper {
        padding: 0 1rem
    }

    .account-tabs {
        gap: .25rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none
    }

    .account-tabs::-webkit-scrollbar {
        display: none
    }

    .account-tab {
        flex: 0 0 auto;
        min-width: 88px;
        justify-content: center;
        padding: .75rem .625rem;
        font-size: .8125rem
    }

    /* Keep icon visible on mobile; only hide text labels. */
    .account-tab .account-tab-icon-wrap {
        display: inline-flex
    }

    .account-tab>span:not(.account-tab-icon-wrap):not(.notification-unread-count) {
        display: none
    }

    .account-tab .notification-unread-count {
        display: inline-flex
    }

    .account-tab i {
        font-size: 1.25rem
    }

    .account-content {
        padding: 1rem
    }

    .circles-grid {
        grid-template-columns: 1fr
    }

    .quick-stats-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .email-display {
        flex-direction: column;
        align-items: flex-start
    }
}

@media(max-width:480px) {
    .account-header {
        padding: 1.5rem 1rem
    }

    .account-avatar {
        width: 60px;
        height: 60px
    }

    .account-username {
        font-size: 1.25rem
    }

    .meta-item {
        font-size: .75rem
    }

    .quick-stats-grid {
                grid-template-columns: repeat(2, 1fr);
    }

    .stat-box:last-child {
        grid-column: 1 / -1
    }
}
@media(max-width: 900px) {
    .quick-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width: 600px) {
    .quick-stats-grid {
        grid-template-columns: 1fr;
    }
}

.circles-page {
    min-height: 100vh;
    background: #fff;
    width: 100%;
    padding: 0;
    margin: 0
}

.circles-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff;
    padding: 32px 32px 40px
}

.circles-header-content {
    max-width: 100%
}

.circles-header-icon {
    font-size: 32px;
    color: #fff
}

.circles-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff
}

.circles-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    opacity: .95
}

.circles-search-section {
    padding: 24px 32px;
    display: flex;
    gap: 16px;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e5e7eb
}

.search-icon-circles {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 16px
}

.search-input-circles {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border-radius: 25px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    background: #fff
}

.search-input-circles:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a;
    outline: none
}

.circles-filters {
    display: flex;
    gap: 8px
}

.circles-filter-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 10px 18px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.circles-filter-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.circles-filter-btn.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.circles-content {
    padding: 24px 32px 48px;
    background: #fff
}

.trending-section {
    margin-bottom: 32px
}

.trending-fire-icon {
    color: #f59e0b;
    font-size: 20px
}

.section-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    text-transform: uppercase;
    letter-spacing: .5px
}

.hot-badge {
    background: #fee2e2;
    color: #dc2626;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: capitalize
}

.circles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 20px
}

.circle-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: all .2s;
    cursor: pointer
}

.circle-card:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px #00000014
}

.circle-card-accent {
    height: 6px;
    background: #f97316
}

.circle-card-body {
    padding: 16px
}

.circle-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px
}

.circle-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    background: #f3f4f6;
    font-weight: 600
}

.circle-item.circle-name {
    font-weight: 400
}

.circle-icon.gb-icon {
    background: #0d58e3;
    color: #fff;
    font-size: 18px;
    font-weight: 700
}

.circle-icon.jobs-icon {
    background: #92400e
}

.circle-icon.finance-icon,
.circle-icon.newcomers-icon {
    background: #fbbf24
}

.trending-tag {
    background: #fff7ed;
    color: #ea580c;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center
}

.circle-name {
    font-size: 12px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 6px
}

.circle-description {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
    margin-bottom: 12px;
    min-height: 40px
}

.circle-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: none
}

.circle-members {
    font-size: 10px;
    color: #6b7280;
    font-weight: 500;
    display: flex;
    align-items: center
}

.btn-join-circle {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #374151;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    gap: 4px
}

.btn-join-circle:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.btn-leave-circle {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s
}

.btn-leave-circle:hover {
    background: #fecaca;
    border-color: #dc2626
}

.plus-icon {
    font-weight: 400;
    font-size: 16px
}

.new-circles-section {
    margin-top: 40px;
    margin-bottom: 32px
}

.new-stars-icon {
    color: #0d58e3;
    font-size: 20px
}

.launched-badge {
    background: #fef3c7;
    color: #d97706;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600
}

.circles-grid-half {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px
}

.circle-card-accent.new-accent {
    background: #06b6d4
}

.new-tag {
    background: #ecfeff;
    color: #0891b2;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center
}

.circle-icon.students-icon {
    background: #f3f4f6
}

.circle-icon.relationships-icon {
    background: #fef2f2
}

.recommended-section {
    margin-top: 40px;
    margin-bottom: 32px
}

.recommended-star-icon {
    color: #6b7280;
    font-size: 20px
}

.circle-card.recommended-card {
    border: 1px solid #e5e7eb
}

.circle-card.recommended-card .circle-card-body {
    padding: 20px 16px
}

.circle-icon.housing-icon,
.circle-icon.childcare-icon {
    background: #fef3c7
}

.circle-icon.healthcare-icon {
    background: #fef2f2
}

.circle-icon.lifestyle-icon {
    background: #fef3c7
}

@media(max-width:768px) {
    .circles-grid-half {
        grid-template-columns: 1fr
    }
}

.all-circles-section {
    margin-top: 40px;
    margin-bottom: 32px
}

.all-circles-title {
    font-size: 20px;
    font-weight: 700;
    color: #111827
}

.active-badge {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600
}

.circles-list {
    display: flex;
    flex-direction: column;
    gap: 0
}

.circle-list-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-bottom: none
}

.circle-list-item:first-child {
    border-radius: 12px 12px 0 0
}

.circle-list-item:last-child {
    border-bottom: 1px solid #e5e7eb;
    border-radius: 0 0 12px 12px
}

.circle-list-item:only-child {
    border-radius: 12px;
    border-bottom: 1px solid #e5e7eb
}

.circle-list-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0
}

.circle-list-icon.gb-icon {
    background: #f3f4f6;
    color: #374151;
    font-size: 16px;
    font-weight: 700
}

.circle-list-icon.jobs-icon,
.circle-list-icon.housing-icon {
    background: #fef3c7
}

.circle-list-icon.finance-icon {
    background: #d1fae5
}

.circle-list-icon.childcare-icon {
    background: #fef3c7
}

.circle-list-content {
    flex: 1;
    min-width: 0
}

.circle-list-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px
}

.circle-list-name {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin: 0
}

.trending-badge {
    background: #fef2f2;
    color: #ef4444;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center
}

.circle-list-description {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 8px;
    line-height: 1.5
}

.circle-list-stats {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 12px;
    color: #9ca3af
}

.circle-list-stats span {
    display: flex;
    align-items: center
}

.circle-list-stats i {
    font-size: 12px
}

.btn-join-list {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #374151;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0
}

.btn-join-list:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.btn-leave-list {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    flex-shrink: 0
}

.btn-leave-list:hover {
    background: #fecaca;
    border-color: #dc2626
}

.dark-mode .circles-page {
    background: #0a0e14
}

.dark-mode .circles-header {
    background: linear-gradient(135deg, #2563eb, #3b82f6)
}

.dark-mode .circles-search-section {
    background: #0a0e14;
    border-bottom-color: #1e2328
}

.dark-mode .search-input-circles {
    background: #0a0e14;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .search-input-circles::placeholder {
    color: #71767b
}

.dark-mode .circles-filter-btn {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .circles-filter-btn:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.dark-mode .circles-content {
    background: #0a0e14
}

.dark-mode .section-title {
    color: #e7e9ea
}

.dark-mode .trending-fire-icon {
    color: #f97316
}

.dark-mode .hot-badge {
    background: #dc2626;
    color: #fff
}

.dark-mode .circle-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .circle-card:hover {
    border-color: #3b82f6
}

.dark-mode .circle-card-accent {
    background: #f97316
}

.dark-mode .circle-icon {
    background: #1e2328
}

.dark-mode .circle-icon.gb-icon {
    background: #1e3a5f;
    color: #e7e9ea
}

.dark-mode .trending-tag {
    background: #f9731626;
    color: #f97316
}

.dark-mode .circle-name {
    color: #e7e9ea
}

.dark-mode .circle-description {
    color: #8b98a5
}

.dark-mode .circle-footer {
    border-top-color: #2f3336
}

.dark-mode .circle-members {
    color: #8b98a5
}

.dark-mode .btn-join-circle {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .btn-join-circle:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.dark-mode .new-stars-icon {
    color: #3b82f6
}

.dark-mode .launched-badge {
    background: #d97706;
    color: #fff
}

.dark-mode .circle-card-accent.new-accent {
    background: #06b6d4
}

.dark-mode .new-tag {
    background: #06b6d426;
    color: #06b6d4
}

.dark-mode .recommended-star-icon {
    color: #8b98a5
}

.dark-mode .circle-card.recommended-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .all-circles-title {
    color: #e7e9ea
}

.dark-mode .active-badge {
    background: #3b82f633;
    color: #3b82f6
}

.dark-mode .circle-list-item {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .circle-list-icon {
    background: #1e2328
}

.dark-mode .circle-list-icon.gb-icon {
    background: #1e2328;
    color: #e7e9ea
}

.dark-mode .circle-list-name {
    color: #e7e9ea
}

.dark-mode .trending-badge {
    background: #ef444426;
    color: #ef4444
}

.dark-mode .circle-list-description {
    color: #8b98a5
}

.dark-mode .circle-list-stats {
    color: #71767b
}

.dark-mode .btn-join-list {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .btn-join-list:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

@media(max-width:1200px) {
    .circles-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:992px) {
    .circles-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:768px) {
    .circles-header {
        padding: 24px 16px
    }

    .circles-title {
        font-size: 24px
    }

    .circles-subtitle {
        font-size: 13px
    }

    .circles-search-section {
        flex-direction: column;
        padding: 16px;
        gap: 12px
    }

    .search-bar-wrapper {
        width: 100%
    }

    .circles-filters {
        width: 100%;
        justify-content: center
    }

    .circles-content {
        padding: 0 16px 32px
    }

    .circles-grid {
        grid-template-columns: 1fr
    }
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 20px;
    overflow-y: auto
}

.add-listing-modal {
    background: #fff;
    border-radius: 16px;
    max-width: 600px;
    width: 100%;
    position: relative;
    box-shadow: 0 20px 60px #0000004d;
    animation: modalSlideIn .3s ease
}

.add-listing-form-modal {
    background: #fff;
    border-radius: 16px;
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 20px 60px #0000004d;
    animation: modalSlideIn .3s ease
}

@keyframes modalSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.modal-close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    background: #fff;
    color: #6b7280;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s ease;
    z-index: 10
}

.modal-close-btn:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #374151
}

.modal-close-btn i {
    font-size: 24px
}

.modal-content {
    padding: 48px
}

.modal-title {
    font-size: 28px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 12px
}

.modal-subtitle {
    font-size: 16px;
    color: #6b7280;
    margin: 0 0 40px
}

.listing-type-section {
    margin-top: 16px
}

.section-label {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 20px;
    text-transform: uppercase;
    letter-spacing: .5px
}

.listing-types {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.listing-type-card {
    display: flex;
    gap: 20px;
    padding: 24px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: all .2s ease;
    text-align: left;
    width: 100%
}

.listing-type-card:hover {
    border-color: #0d58e3;
    background: #f8faff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px #0d58e31a
}

.listing-type-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 28px
}

.listing-type-icon.business-icon {
    background: #dbeafe;
    color: #1e40af
}

.listing-type-icon.community-icon {
    background: #d1fae5;
    color: #065f46
}

.listing-type-content {
    flex: 1
}

.listing-type-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px
}

.listing-type-description {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
    font-weight: 400
}

.form-modal-header {
    display: flex;
    gap: 16px;
    padding: 24px 24px 20px;
    border-bottom: 1px solid #e5e7eb;
    align-items: flex-start
}

.form-header-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 24px
}

.form-header-icon.business-icon {
    background: #dbeafe;
    color: #1e40af
}

.form-header-icon.community-icon {
    background: #d1fae5;
    color: #065f46
}

.form-header-content {
    flex: 1;
    padding-right: 40px
}

.form-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 4px
}

.form-modal-subtitle {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
    line-height: 1.5
}

.listing-form {
    padding: 24px
}

.form-section {
    margin-bottom: 32px
}

.form-section:last-of-type {
    margin-bottom: 0
}

.form-section-title {
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    margin: 0 0 20px;
    text-transform: uppercase;
    letter-spacing: .5px
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.form-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px
}

.form-label.required:after {
    content: "*";
    color: #dc2626;
    margin-left: 2px
}

.form-label i {
    font-size: 14px;
    color: #9ca3af
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    color: #111827;
    transition: all .2s ease;
    background: #fff
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a
}

.form-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px
}

.form-help-text {
    display: block;
    font-size: 12px;
    color: #9ca3af;
    margin-top: 6px
}

.checkbox-label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
    margin-bottom: 16px
}

.checkbox-label input[type=checkbox] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    cursor: pointer;
    flex-shrink: 0
}

.checkbox-label span {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5
}

.checkbox-highlight {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 20px
}

.checkbox-highlight span {
    color: #0c4a6e
}

.terms-box {
    display: flex;
    gap: 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px
}

.terms-icon {
    color: #d97706;
    font-size: 20px;
    flex-shrink: 0
}

.terms-content {
    flex: 1
}

.terms-title {
    font-size: 14px;
    font-weight: 700;
    color: #92400e;
    margin: 0 0 6px
}

.terms-text {
    font-size: 12px;
    color: #78350f;
    line-height: 1.5;
    margin: 0
}

.form-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding-top: 24px;
    border-top: 1px solid #e5e7eb;
    margin-top: 32px
}

.btn-primary,
.btn-secondary,
.btn-cancel {
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
    border: none
}

.btn-primary {
    background: #0d58e3;
    color: #fff
}

.btn-primary:hover:not(:disabled) {
    background: #0a47b8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px #0d58e34d
}

.btn-primary:disabled {
    background: #9ca3af;
    cursor: not-allowed;
    transform: none
}

.btn-submit-community {
    background: #10b981
}

.btn-submit-community:hover:not(:disabled) {
    background: #059669;
    box-shadow: 0 4px 12px #10b9814d
}

.btn-secondary {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db
}

.btn-secondary:hover {
    background: #e5e7eb
}

.btn-cancel {
    background: #fff;
    color: #6b7280;
    border: 1px solid #d1d5db
}

.btn-cancel:hover {
    background: #f9fafb;
    border-color: #9ca3af
}

@media(max-width:768px) {
    .modal-content {
        padding: 32px 24px
    }

    .form-row {
        grid-template-columns: 1fr
    }

    .form-actions {
        flex-direction: column-reverse
    }

    .form-actions button {
        width: 100%
    }

    .add-listing-form-modal {
        max-height: 95vh
    }
}

.directory-page {
    min-height: 100vh;
    background: #f8fafc;
    width: 100%;
    flex: 1
}

.directory-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff;
    padding: 32px 32px 40px
}

.directory-header-content {
    max-width: 100%
}

.directory-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.directory-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    opacity: .95;
    max-width: 700px
}

.directory-info-box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    margin: 24px 32px
}

.info-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 12px
}

.info-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 8px
}

.info-text strong {
    color: #1e293b
}

.info-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 12px;
    font-size: 13px;
    color: #64748b
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px
}

.legend-badge {
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600
}

.legend-badge.business {
    background: #dbeafe;
    color: #1d4ed8
}

.legend-badge.community {
    background: #fef3c7;
    color: #b45309
}

.directory-search-section {
    padding: 0 32px 24px;
    border-bottom: 1px solid #e5e7eb
}

.search-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px
}

.search-bar-wrapper {
    flex: 1;
    position: relative
}

.filter-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.filter-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.filter-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 16px
}

.filter-tab {
    background: #f1f5f9;
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.filter-tab:hover {
    background: #e2e8f0
}

.filter-tab.active {
    background: #0d58e3;
    color: #fff
}

.dropdown-filters {
    display: flex;
    gap: 12px
}

.filter-dropdown {
    padding: 10px 16px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    color: #374151;
    background: #fff;
    min-width: 150px;
    cursor: pointer
}

.directory-content {
    padding: 24px 32px;
    background: transparent
}

.directory-main-layout {
    display: flex;
    gap: 32px
}

.listings-section {
    flex: 1;
    min-width: 0
}

.listings-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px
}

.listings-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0
}

.listings-count {
    font-size: 13px;
    color: #64748b
}

.add-listing-btn {
    margin-left: auto;
    background: #ef4444;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.add-listing-btn:hover {
    background: #dc2626
}

.listings-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.listing-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    transition: all .2s
}

.listing-card:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 12px #0000000d
}

.listing-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px
}

.listing-avatar {
    width: 48px;
    height: 48px;
    background: #f1f5f9;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px
}

.listing-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px
}

.type-badge {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600
}

.type-badge.business {
    background: #dbeafe;
    color: #1d4ed8
}

.type-badge.community {
    background: #fef3c7;
    color: #b45309
}

.verified-badge {
    font-size: 11px;
    color: #10b981;
    display: flex;
    align-items: center;
    gap: 4px
}

.listing-name {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px
}

.heart-icon {
    color: #ef4444;
    font-size: 14px
}

.listing-category {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 8px
}

.listing-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px
}

.stars {
    color: #f59e0b;
    font-size: 13px;
    font-weight: 600
}

.review-count {
    font-size: 12px;
    color: #94a3b8
}

.listing-description {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 14px
}

.listing-footer {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.listing-location {
    font-size: 13px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 4px
}

.view-profile-link {
    font-size: 13px;
    color: #0d58e3;
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px
}

.view-profile-link:hover {
    text-decoration: underline
}

.directory-sidebar {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.sidebar-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 14px;
    display: flex;
    align-items: center
}

.sidebar-title i {
    color: #0d58e3
}

.add-listing-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: all .2s;
    font-size: 14px;
    font-weight: 600;
    color: #0d58e3;
    border-style: dashed
}

.add-listing-card:hover {
    border-color: #0d58e3;
    background: #f0f7ff
}

.add-listing-card i {
    font-size: 18px
}

.category-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.category-item {
    font-size: 14px;
    color: #475569;
    cursor: pointer;
    transition: color .2s;
    padding: 4px 0
}

.category-item:hover {
    color: #0d58e3
}

.city-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.city-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    cursor: pointer;
    transition: all .2s
}

.city-tag:hover {
    background: #0d58e3;
    color: #fff
}

.directory-disclaimer {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    padding: 20px;
    margin: 24px 32px 32px
}

.disclaimer-title {
    font-size: 14px;
    font-weight: 700;
    color: #92400e;
    margin-bottom: 8px;
    display: flex;
    align-items: center
}

.disclaimer-text {
    font-size: 13px;
    color: #78716c;
    line-height: 1.6;
    margin: 0
}

@media(max-width:1200px) {
    .listings-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width:992px) {
    .directory-main-layout {
        flex-direction: column
    }

    .directory-sidebar {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap
    }

    .directory-sidebar .sidebar-card {
        flex: 1;
        min-width: 250px
    }
}

@media(max-width:768px) {
    .directory-header {
        padding: 24px 16px
    }

    .directory-title {
        font-size: 24px
    }

    .directory-info-box {
        margin: 16px;
        background: #fff !important
    }

    .directory-search-section {
        padding: 0 16px 16px
    }

    .search-row {
        flex-direction: column
    }

    .filter-tabs {
        flex-wrap: wrap
    }

    .dropdown-filters {
        flex-direction: column
    }

    .filter-dropdown {
        width: 100%
    }

    .directory-content {
        padding: 16px
    }

    .listings-header {
        flex-wrap: wrap
    }

    .directory-disclaimer {
        margin: 16px
    }
}

.dark-mode .directory-page {
    background: #0a0e14
}

.dark-mode .directory-header {
    background: linear-gradient(135deg, #2563eb, #3b82f6)
}

.dark-mode .directory-info-box {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .info-title {
    color: #e7e9ea
}

.dark-mode .info-text {
    color: #71767b
}

.dark-mode .info-text strong {
    color: #e7e9ea
}

.dark-mode .directory-search-section {
    background: #0a0e14;
    border-bottom-color: #2f3336
}

.dark-mode .filter-btn {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .filter-tab {
    background: #1e2328;
    color: #9ca3af
}

.dark-mode .filter-tab:hover {
    background: #2f3336
}

.dark-mode .filter-tab.active {
    background: #3b82f6;
    color: #fff
}

.dark-mode .listings-title {
    color: #e7e9ea
}

.dark-mode .listing-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .listing-card:hover {
    border-color: #3b82f6
}

.dark-mode .listing-avatar {
    background: #1e2328
}

.dark-mode .listing-name {
    color: #e7e9ea
}

.dark-mode .listing-category,
.dark-mode .listing-description {
    color: #71767b
}

.dark-mode .sidebar-title,
.dark-mode .category-item {
    color: #e7e9ea
}

.dark-mode .city-tag {
    background: #1e2328;
    color: #e7e9ea
}

.dark-mode .city-tag:hover {
    background: #3b82f6
}

.dark-mode .directory-disclaimer {
    background: #fef3c71a;
    border-color: #78716c
}

.dark-mode .disclaimer-title {
    color: #fbbf24
}

.dark-mode .disclaimer-text {
    color: #9ca3af
}

.loading-message,
.no-listings {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #6b7280;
    font-size: 1rem
}

.loading-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.loading-message:before {
    content: "";
    width: 40px;
    height: 40px;
    border: 3px solid #e5e7eb;
    border-top-color: #0d58e3;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

.no-listings {
    font-size: 16px;
    color: #9ca3af
}

.dark-mode .loading-message,
.dark-mode .no-listings {
    color: #9ca3af
}

.dark-mode .loading-message:before {
    border-color: #374151;
    border-top-color: #60a5fa
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px
}

.create-event-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 20px 60px #0000004d
}

.modal-close-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
    z-index: 10
}

.modal-close-btn:hover {
    background: #e5e7eb
}

.modal-close-btn i {
    font-size: 1.25rem;
    color: #6b7280
}

.modal-header {
    padding: 24px 24px 16px;
    border-bottom: 1px solid #e5e7eb
}

.modal-icon {
    font-size: 1.5rem;
    color: #3b82f6;
    margin-bottom: 8px
}

.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px
}

.modal-subtitle {
    font-size: .875rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.5
}

.event-form {
    padding: 24px
}

.form-group {
    margin-bottom: 20px
}

.form-label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px
}

.form-label i {
    margin-right: 4px;
    color: #6b7280
}

.required {
    color: #ef4444
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: .875rem;
    color: #111827;
    transition: all .2s;
    font-family: inherit
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: #9ca3af
}

.form-input.error,
.form-select.error,
.form-textarea.error {
    border-color: #ef4444
}

.form-textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.6
}

.error-message {
    display: block;
    font-size: .75rem;
    color: #ef4444;
    margin-top: 4px
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px
}

.toggle-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.toggle-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.toggle-icon {
    font-size: 1.25rem;
    color: #3b82f6
}

.toggle-label {
    font-size: .875rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
    display: block
}

.toggle-description {
    font-size: .75rem;
    color: #6b7280;
    margin: 2px 0 0
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    flex-shrink: 0
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #d1d5db;
    transition: .3s;
    border-radius: 34px
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    transition: .3s;
    border-radius: 50%
}

.toggle-switch input:checked+.toggle-slider {
    background-color: #3b82f6
}

.toggle-switch input:checked+.toggle-slider:before {
    transform: translate(22px)
}

.form-note {
    font-size: .75rem;
    color: #6b7280;
    margin: 16px 0;
    padding: 12px;
    background: #f9fafb;
    border-radius: 8px;
    border-left: 3px solid #3b82f6
}

.form-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px
}

.btn-cancel,
.btn-submit {
    flex: 1;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.btn-cancel {
    background: #f3f4f6;
    color: #374151
}

.btn-cancel:hover {
    background: #e5e7eb
}

.btn-submit {
    background: #3b82f6;
    color: #fff
}

.btn-submit:hover {
    background: #2563eb
}

.btn-cancel:disabled,
.btn-submit:disabled {
    opacity: .6;
    cursor: not-allowed
}

.payment-options {
    display: flex;
    gap: 12px
}

.payment-option {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: all .2s;
    background: #fff
}

.payment-option:hover {
    border-color: #3b82f6;
    background: #f0f7ff
}

.payment-option.selected {
    border-color: #3b82f6;
    background: #eff6ff
}

.payment-option input[type=radio] {
    display: none
}

.payment-option i {
    font-size: 1.25rem;
    color: #6b7280
}

.payment-option.selected i {
    color: #3b82f6
}

.payment-option span {
    font-size: .875rem;
    font-weight: 500;
    color: #374151
}

.image-upload-area {
    border: 2px dashed #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.image-upload-area:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.image-upload-area i {
    font-size: 2rem;
    color: #9ca3af
}

.image-upload-area span {
    font-size: .875rem;
    color: #374151;
    font-weight: 500
}

.image-upload-area small {
    font-size: .75rem;
    color: #9ca3af
}

.image-preview-container {
    position: relative;
    display: inline-block;
    width: 100%
}

.image-preview {
    width: 100%;
    max-height: 200px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.remove-image-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0009;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s
}

.remove-image-btn:hover {
    background: #000c
}

.remove-image-btn i {
    font-size: 1rem
}

.dark-mode .create-event-modal {
    background: #16181c;
    border: 1px solid #2f3336;
    box-shadow: 0 20px 60px #00000099
}

.dark-mode .create-event-modal .modal-header {
    border-bottom-color: #2f3336
}

.dark-mode .create-event-modal .modal-title,
.dark-mode .create-event-modal .toggle-label,
.dark-mode .create-event-modal .payment-option span {
    color: #e7e9ea
}

.dark-mode .create-event-modal .modal-subtitle,
.dark-mode .create-event-modal .form-label,
.dark-mode .create-event-modal .form-label i,
.dark-mode .create-event-modal .toggle-description,
.dark-mode .create-event-modal .form-note,
.dark-mode .create-event-modal .image-upload-area small,
.dark-mode .create-event-modal .modal-close-btn i {
    color: #9ca3af
}

.dark-mode .create-event-modal .form-input,
.dark-mode .create-event-modal .form-select,
.dark-mode .create-event-modal .form-textarea {
    background: #0f1419;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .create-event-modal .form-input::placeholder,
.dark-mode .create-event-modal .form-textarea::placeholder {
    color: #6b7280
}

.dark-mode .create-event-modal .form-input:focus,
.dark-mode .create-event-modal .form-select:focus,
.dark-mode .create-event-modal .form-textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f633
}

.dark-mode .create-event-modal .form-input[type=date],
.dark-mode .create-event-modal .form-input[type=time] {
    color-scheme: dark
}

.dark-mode .create-event-modal .toggle-container,
.dark-mode .create-event-modal .form-note,
.dark-mode .create-event-modal .image-upload-area {
    background: #0f1419;
    border-color: #2f3336
}

.dark-mode .create-event-modal .payment-option {
    background: #0f1419;
    border-color: #2f3336
}

.dark-mode .create-event-modal .payment-option:hover,
.dark-mode .create-event-modal .payment-option.selected {
    border-color: #3b82f6;
    background: #172033
}

.dark-mode .create-event-modal .payment-option i,
.dark-mode .create-event-modal .image-upload-area i {
    color: #9ca3af
}

.dark-mode .create-event-modal .payment-option.selected i {
    color: #60a5fa
}

.dark-mode .create-event-modal .image-upload-area span {
    color: #cbd5e1
}

.dark-mode .create-event-modal .image-preview {
    border-color: #2f3336
}

.dark-mode .create-event-modal .btn-cancel {
    background: #1f2937;
    color: #e5e7eb
}

.dark-mode .create-event-modal .btn-cancel:hover {
    background: #374151
}

.dark-mode .create-event-modal .modal-close-btn:hover {
    background: #1f2937
}

@media(max-width:640px) {
    .create-event-modal {
        max-width: 100%;
        border-radius: 16px 16px 0 0;
        max-height: 95vh
    }

    .form-row {
        grid-template-columns: 1fr
    }

    .modal-header {
        padding: 20px 20px 16px
    }

    .event-form {
        padding: 20px
    }

    .form-actions {
        flex-direction: column-reverse
    }

    .btn-cancel,
    .btn-submit {
        width: 100%
    }
}

.events-page {
    min-height: 100vh;
    background: #fff;
    width: 100%;
    flex: 1
}

.events-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff;
    padding: 32px 32px 40px
}

.events-header-content {
    max-width: 100%
}

.events-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.events-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    opacity: .95;
    max-width: 700px
}

.events-search-section {
    padding: 24px 32px;
    display: flex;
    gap: 12px;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e5e7eb
}

.events-search-section .search-bar-wrapper {
    flex: 1;
    position: relative
}

.search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 16px
}

.search-input {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    background: #fff
}

.search-input:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a;
    outline: none
}

.filter-dropdown {
    padding: 12px 16px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    color: #374151;
    background: #fff;
    min-width: 140px;
    cursor: pointer
}

input[type=date].form-control,
input[type=date].filter-dropdown {
    background: transparent;
    color-scheme: light;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=date]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: .6;
    filter: none
}

input[type=date]::-webkit-calendar-picker-indicator:hover {
    opacity: 1
}

.filter-dropdown:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a;
    outline: none
}

.events-content {
    padding: 24px 32px;
    background: #fff
}

.events-main-layout {
    display: flex;
    gap: 32px
}

.events-list-section {
    flex: 1;
    min-width: 0
}

.events-list-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px
}

.events-list-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 4px
}

.events-count {
    font-size: 13px;
    color: #64748b
}

.create-event-btn {
    background: #0d58e3;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.create-event-btn:hover {
    background: #0b4bc4
}

.events-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.event-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0;
    transition: all .2s;
    cursor: pointer;
    display: flex;
    gap: 16px;
    overflow: hidden
}

.event-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 4px 12px #3b82f626;
    transform: translateY(-2px)
}

.event-card-image {
    flex-shrink: 0;
    width: 200px;
    align-self: stretch;
    overflow: hidden
}

.event-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.event-card-content {
    flex: 1;
    padding: 20px;
    min-width: 0
}

.loading-message,
.no-events-message {
    text-align: center;
    padding: 60px 20px;
    color: #6b7280;
    font-size: 1rem
}

.event-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px
}

.event-type-badge {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600
}

.event-type-badge.workshop {
    background: #dbeafe;
    color: #1d4ed8
}

.event-type-badge.social {
    background: #fef3c7;
    color: #b45309
}

.event-type-badge.webinar {
    background: #fee2e2;
    color: #dc2626
}

.online-badge {
    background: #f0fdf4;
    color: #15803d;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center
}

.event-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
    line-height: 1.4
}

.event-description {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 14px
}

.event-details {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 16px
}

.event-detail {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b
}

.event-detail i {
    color: #94a3b8
}

.event-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    border-top: 1px solid #f1f5f9
}

.event-host {
    font-size: 13px;
    color: #64748b
}

.event-host strong {
    color: #0d58e3;
    font-weight: 600
}

.event-attendees {
    font-size: 13px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px
}

.register-btn {
    margin-left: auto;
    background: #ef4444;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s
}

.register-btn:hover {
    background: #dc2626
}

.events-sidebar {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.create-event-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: all .2s;
    font-size: 14px;
    font-weight: 600;
    color: #0d58e3;
    border-style: dashed
}

.create-event-card:hover {
    border-color: #0d58e3;
    background: #f0f7ff
}

.create-event-card i {
    font-size: 18px
}

.stats-card {
    background: #f8fafc
}

.stats-list {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.stat-label {
    font-size: 14px;
    color: #64748b
}

.stat-value {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b
}

.event-types-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.event-type-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #475569;
    cursor: pointer;
    transition: color .2s
}

.event-type-item:hover {
    color: #0d58e3
}

.type-count {
    background: #f1f5f9;
    color: #64748b;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600
}

.past-events-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.past-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #475569;
    cursor: pointer;
    transition: color .2s
}

.past-event-item i {
    color: #0d58e3;
    font-size: 12px
}

.past-event-item:hover {
    color: #0d58e3
}

.view-all-link {
    font-size: 14px;
    color: #0d58e3;
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px
}

.view-all-link:hover {
    text-decoration: underline
}

.pagination-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    padding: 20px 0;
    border-top: 1px solid #e5e7eb
}

.pagination-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s
}

.pagination-btn:hover:not(:disabled) {
    background: #f9fafb;
    border-color: #0d58e3;
    color: #0d58e3
}

.pagination-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.page-numbers {
    display: flex;
    gap: 8px
}

.page-number {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s
}

.page-number:hover {
    background: #f9fafb;
    border-color: #0d58e3;
    color: #0d58e3
}

.page-number.active {
    background: #0d58e3;
    border-color: #0d58e3;
    color: #fff
}

.page-text {
    font-size: 14px;
    color: #64748b;
    font-weight: 500
}

@media(max-width:992px) {
    .events-main-layout {
        flex-direction: column
    }

    .events-sidebar {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap
    }

    .events-sidebar .sidebar-card {
        flex: 1;
        min-width: 250px
    }
}

@media(max-width:768px) {
    .events-header {
        padding: 24px 16px
    }

    .events-title {
        font-size: 24px
    }

    .events-search-section {
        flex-direction: column;
        padding: 16px;
        gap: 12px
    }

    .events-search-section .search-bar-wrapper,
    .filter-dropdown {
        width: 100%
    }

    .events-content {
        padding: 16px
    }

    .events-list-header {
        flex-direction: column;
        gap: 12px
    }

    .create-event-btn {
        width: 100%;
        justify-content: center
    }

    .event-details {
        flex-direction: column;
        gap: 8px
    }

    .event-footer {
        flex-wrap: wrap;
        gap: 12px
    }

    .register-btn {
        width: 100%;
        margin-left: 0
    }
}

.dark-mode .events-page {
    background: #0a0e14
}

.dark-mode .events-header {
    background: linear-gradient(135deg, #2563eb, #3b82f6)
}

.dark-mode .events-search-section {
    background: #0a0e14;
    border-bottom-color: #2f3336
}

.dark-mode .search-input {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .search-input::placeholder {
    color: #71767b
}

.dark-mode .filter-dropdown {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .events-content {
    background: #0a0e14
}

.dark-mode .events-list-title {
    color: #e7e9ea
}

.dark-mode .event-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .event-card:hover {
    border-color: #3b82f6
}

.dark-mode .event-title {
    color: #e7e9ea
}

.dark-mode .event-description,
.dark-mode .event-detail {
    color: #71767b
}

.dark-mode .event-description-text,
.dark-mode .event-description-text li {
    color: #cfd6dd
}

.dark-mode .event-description-text strong {
    color: #f3f4f6
}

.dark-mode .event-description-text a {
    color: #60a5fa
}

.dark-mode .event-footer {
    border-top-color: #2f3336
}

.dark-mode .event-host {
    color: #71767b
}

.dark-mode .event-host strong {
    color: #3b82f6
}

.dark-mode .event-attendees {
    color: #71767b
}

.dark-mode .sidebar-title {
    color: #e7e9ea
}

.dark-mode .stats-card {
    background: #1e2328
}

.dark-mode .stat-label {
    color: #71767b
}

.dark-mode .stat-value,
.dark-mode .event-type-item {
    color: #e7e9ea
}

.dark-mode .type-count {
    background: #1e2328;
    color: #9ca3af
}

.dark-mode .past-event-item {
    color: #e7e9ea
}

.dark-mode .past-event-item i {
    color: #3b82f6
}

@media(max-width:768px) {
    .event-card {
        flex-direction: column
    }

    .event-card-image {
        width: 100%;
        height: 200px
    }

    .event-card-content {
        padding: 16px
    }
}

.single-event-page {
    min-height: 100vh;
    background: #f9fafb
}

.event-top-bar {
    display: flex;
    align-items: center;
    padding: 16px 32px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    gap: 16px
}

.event-back-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: #374151;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.event-back-btn:hover {
    color: #0d58e3
}

.event-category-badge {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    text-transform: capitalize
}

.event-header-actions {
    margin-left: auto;
    display: flex;
    gap: 8px
}

.event-action-btn {
    background: none;
    border: none;
    font-size: 18px;
    color: #6b7280;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.event-action-btn:hover {
    color: #0d58e3
}

.loading-container,
.error-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    text-align: center;
    padding: 20px
}

.error-container p {
    color: #6b7280;
    margin-bottom: 20px;
    font-size: 1rem
}

.btn-back {
    padding: 10px 20px;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600
}

.btn-back:hover {
    background: #2563eb
}

.single-event-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px
}

.single-event-layout {
    display: flex;
    gap: 24px
}

.single-event-left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.single-event-right {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.single-event-header {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    box-shadow: 0 1px 3px #0000001a
}

.event-icon {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center
}

.event-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.event-header-info {
    flex: 1
}

.event-main-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px;
    line-height: 1.3
}

.event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    color: #6b7280;
    font-size: .875rem
}

.event-meta-item {
    display: flex;
    align-items: center;
    gap: 6px
}

.event-meta-item i {
    color: #3b82f6
}

.single-event-main {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 1px 3px #0000001a
}

.content-section {
    margin-top: 8px
}

.section-label {
    font-weight: 600;
    color: #111827;
    font-size: .9375rem;
    display: block;
    margin-bottom: 12px
}

.event-description-text {
    color: #374151;
    line-height: 1.6;
    font-size: .9375rem;
    margin: 0 0 8px
}

.event-description-text p {
    margin: 0 0 12px
}

.event-description-text p:last-child {
    margin-bottom: 0
}

.event-description-text ul,
.event-description-text ol {
    margin: 0 0 12px;
    padding-left: 20px
}

.event-description-text li {
    margin-bottom: 6px
}

.event-description-text a {
    color: #0d58e3;
    text-decoration: underline;
    word-break: break-word
}

.event-description-text strong {
    color: #111827;
    font-weight: 600
}

.event-list {
    list-style: disc;
    padding-left: 20px;
    margin: 0
}

.event-list li {
    padding: 2px 0;
    color: #374151;
    line-height: 1.5;
    font-size: .875rem
}

.event-note {
    margin-top: 12px;
    color: #374151;
    font-size: .875rem;
    line-height: 1.5
}

.about-host-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 1px 3px #0000001a
}

.about-host-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px
}

.host-info {
    display: flex;
    gap: 12px;
    align-items: flex-start
}

.host-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.host-avatar i {
    font-size: 1.5rem;
    color: #9ca3af
}

.host-details {
    flex: 1
}

.host-name {
    font-size: .9375rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px
}

.host-description {
    color: #6b7280;
    line-height: 1.5;
    font-size: .8125rem;
    margin: 0
}

.registration-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px #0000001a
}

.registration-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px
}

.attendees-info {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #6b7280;
    font-size: .875rem
}

.attendees-info i {
    font-size: 1rem;
    color: #3b82f6
}

.attendees-text {
    flex: 1
}

.attendees-count {
    font-weight: 600;
    color: #111827
}

.progress-bar {
    width: 100%;
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px
}

.progress-fill {
    height: 100%;
    background: #3b82f6;
    transition: width .3s
}

.spots-alert {
    background: #fef2f2;
    color: #dc2626;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: .8125rem;
    font-weight: 600;
    margin-bottom: 16px;
    text-align: center
}

.register-btn-primary {
    width: 100%;
    padding: 14px;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: .9375rem;
    cursor: pointer;
    transition: background .2s
}

.register-btn-primary:hover:not(:disabled) {
    background: #2563eb
}

.register-btn-primary:disabled {
    opacity: .6;
    cursor: not-allowed
}

.register-btn-primary.registered,
.register-btn-primary.registered:hover {
    background: #10b981
}

.register-btn-primary.cancel {
    background: #ef4444
}

.register-btn-primary.cancel:hover:not(:disabled) {
    background: #dc2626
}

.spots-alert.full {
    background: #fef2f2;
    color: #dc2626
}

.registration-note {
    margin: 12px 0 0;
    text-align: center;
    color: #6b7280;
    font-size: .75rem;
    line-height: 1.5
}

.event-details-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px #0000001a
}

.details-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px
}

.detail-item {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f3f4f6
}

.detail-item:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.detail-item i {
    font-size: 1.125rem;
    color: #3b82f6;
    margin-top: 2px
}

.detail-label {
    font-size: .75rem;
    color: #6b7280;
    margin-bottom: 4px
}

.detail-value {
    font-size: .875rem;
    color: #111827;
    font-weight: 500
}

.similar-events-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px #0000001a
}

.similar-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px
}

.similar-events-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.similar-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: #374151;
    font-size: .875rem;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: color .2s
}

.similar-event-item:last-child {
    border-bottom: none
}

.similar-event-item:hover {
    color: #3b82f6
}

.no-similar-events {
    color: #6b7280;
    font-size: .875rem;
    margin: 0
}

.similar-event-item i {
    color: #9ca3af;
    font-size: .75rem
}

.dark-mode .single-event-page {
    background: #0a0e14
}

.dark-mode .event-top-bar,
.dark-mode .single-event-header,
.dark-mode .single-event-main,
.dark-mode .about-host-card,
.dark-mode .registration-card,
.dark-mode .event-details-card,
.dark-mode .similar-events-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .event-back-btn,
.dark-mode .event-action-btn {
    color: #cbd5e1
}

.dark-mode .event-back-btn:hover,
.dark-mode .event-action-btn:hover {
    color: #60a5fa
}

.dark-mode .event-main-title,
.dark-mode .section-label,
.dark-mode .event-description-text strong,
.dark-mode .about-host-title,
.dark-mode .host-name,
.dark-mode .registration-title,
.dark-mode .attendees-count,
.dark-mode .details-title,
.dark-mode .detail-value,
.dark-mode .similar-title {
    color: #f3f4f6
}

.dark-mode .event-meta,
.dark-mode .event-description-text,
.dark-mode .event-list li,
.dark-mode .event-note,
.dark-mode .host-description,
.dark-mode .attendees-info,
.dark-mode .registration-note,
.dark-mode .detail-label,
.dark-mode .similar-event-item,
.dark-mode .no-similar-events,
.dark-mode .error-container p {
    color: #9ca3af
}

.dark-mode .event-description-text a {
    color: #60a5fa
}

.dark-mode .event-icon,
.dark-mode .host-avatar {
    background: #0f1419
}

.dark-mode .host-avatar i,
.dark-mode .similar-event-item i {
    color: #6b7280
}

.dark-mode .progress-bar {
    background: #374151
}

.dark-mode .detail-item,
.dark-mode .similar-event-item {
    border-bottom-color: #2f3336
}

@media(max-width:968px) {
    .single-event-layout {
        flex-direction: column
    }

    .single-event-right {
        width: 100%;
        order: -1
    }
}

@media(max-width:768px) {
    .single-event-container {
        padding: 10px
    }

    .single-event-header {
        flex-direction: column;
        align-items: center;
        text-align: center
    }

    .event-meta {
        justify-content: center
    }
}

@media(max-width:640px) {
    .event-main-title {
        font-size: 1.25rem
    }

    .single-event-main,
    .registration-card,
    .event-details-card,
    .similar-events-card {
        padding: 16px
    }
}

.guides-page {
    min-height: 100vh;
    background: #fff;
    width: 100%;
    padding: 0;
    margin: 0;
    flex: 1
}

.guides-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff;
    padding: 32px 32px 40px
}

.guides-header-content {
    max-width: 100%
}

.guides-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.guides-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    opacity: .95;
    max-width: 700px
}

.guides-search-section {
    padding: 24px 32px;
    display: flex;
    gap: 16px;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e5e7eb
}

.guides-search-section .search-bar-wrapper {
    flex: 1;
    position: relative
}

.search-icon-guides {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 16px
}

.search-input-guides {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border-radius: 25px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
    background: #fff
}

.search-input-guides:focus {
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a;
    outline: none
}

.guides-filters {
    display: flex;
    gap: 8px
}

.guides-filter-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 10px 18px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center
}

.guides-filter-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.guides-content {
    padding: 24px 32px 48px;
    background: #fff
}

.category-section {
    margin-bottom: 32px
}

.category-title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 20px
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

.category-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    transition: all .2s;
    cursor: pointer
}

.category-card:hover {
    border-color: #0d58e3;
    box-shadow: 0 4px 12px #0d58e31a;
    transform: translateY(-2px)
}

.category-icon-wrapper {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: #f3f4f6;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center
}

.category-icon {
    font-size: 32px
}

.category-icon-img {
    width: 40px;
    height: 40px;
    object-fit: contain
}

.category-name {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 8px
}

.category-count {
    font-size: 13px;
    color: #0d58e3;
    font-weight: 500
}

.loading-message,
.no-categories,
.no-guides {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 20px;
    color: #6b7280;
    font-size: 15px
}

.guides-main-layout {
    display: flex;
    gap: 32px;
    margin-top: 40px
}

.featured-guides-section {
    flex: 1;
    min-width: 0
}

.featured-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px
}

.featured-header .category-title {
    margin-bottom: 0;
    font-size: 22px
}

.view-all-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 8px;
    transition: all .2s
}

.view-all-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.guides-list {
    display: flex;
    flex-direction: column
}

.guide-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 16px;
    transition: all .2s;
    cursor: pointer
}

.guide-card:hover {
    border-color: #d1d5db;
    box-shadow: 0 2px 8px #0000000a
}

.guide-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px
}

.guide-category {
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 20px
}

.guide-tag {
    background: #fff1f0;
    color: #ff6b6b;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px
}

.guide-tag:before {
    content: "↗";
    font-size: 11px
}

.guide-title {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
    line-height: 1.4
}

.guide-description {
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 16px
}

.guide-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px
}

.guide-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #94a3b8
}

.guide-meta-item i {
    font-size: 14px
}

.guide-helpful,
.guide-helpful i {
    color: #f59e0b
}

.guide-updated {
    color: #94a3b8;
    margin-left: auto
}

.guides-sidebar {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.sidebar-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px
}

.sidebar-title {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 16px
}

.essential-guides-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.essential-guide-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #475569;
    cursor: pointer;
    transition: color .2s
}

.essential-guide-item i {
    color: #0d58e3;
    font-size: 12px
}

.essential-guide-item:hover {
    color: #0d58e3
}

.visit-circles-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff;
    cursor: pointer;
    transition: all .2s;
    font-size: 15px;
    font-weight: 600;
    color: #475569;
    padding: 24px 20px
}

.visit-circles-card:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.visit-circles-icon {
    font-size: 20px;
    color: #0d58e3
}

.stats-card {
    background: linear-gradient(135deg, #1e3a5f, #0f172a);
    border: none
}

.stats-card .sidebar-title {
    color: #333
}

.stats-list {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.stat-label {
    font-size: 14px;
    color: #fff
}

.stat-value {
    font-size: 16px;
    font-weight: 700;
    color: #fff
}

@media(max-width:1200px) {
    .category-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:992px) {
    .category-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .guides-main-layout {
        flex-direction: column
    }

    .guides-sidebar {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap
    }

    .guides-sidebar .sidebar-card {
        flex: 1;
        min-width: 250px
    }
}

@media(max-width:768px) {
    .guides-header {
        padding: 24px 16px
    }

    .guides-title {
        font-size: 24px
    }

    .guides-subtitle {
        font-size: 13px
    }

    .guides-search-section {
        flex-direction: column;
        padding: 16px;
        gap: 12px
    }

    .guides-search-section .search-bar-wrapper {
        width: 100%
    }

    .guides-filters {
        width: 100%;
        justify-content: center
    }

    .guides-content {
        padding: 16px
    }

    .category-grid {
        grid-template-columns: 1fr
    }
}

.dark-mode .guides-page {
    background: #0a0e14
}

.dark-mode .guides-header {
    background: linear-gradient(135deg, #2563eb, #3b82f6)
}

.dark-mode .guides-search-section {
    background: #0a0e14;
    border-bottom-color: #1e2328
}

.dark-mode .search-input-guides {
    background: #0a0e14;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .search-input-guides::placeholder {
    color: #71767b
}

.dark-mode .guides-filter-btn {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .guides-filter-btn:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.dark-mode .guides-content {
    background: #0a0e14
}

.dark-mode .category-title {
    color: #e7e9ea
}

.dark-mode .category-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .category-card:hover {
    border-color: #3b82f6
}

.dark-mode .category-icon-wrapper {
    background: #1e2328
}

.dark-mode .category-name {
    color: #e7e9ea
}

.dark-mode .category-count {
    color: #3b82f6
}

.dark-mode .guide-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .guide-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 2px 8px #0003
}

.dark-mode .guide-category {
    background: #1e2328;
    color: #9ca3af
}

.dark-mode .guide-tag {
    background: #ff6b6b26
}

.dark-mode .guide-title {
    color: #e7e9ea
}

.dark-mode .guide-description,
.dark-mode .guide-meta-item {
    color: #71767b
}

.dark-mode .view-all-btn {
    background: #16181c;
    border-color: #2f3336;
    color: #e7e9ea
}

.dark-mode .view-all-btn:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.dark-mode .sidebar-card {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .sidebar-title,
.dark-mode .essential-guide-item {
    color: #e7e9ea
}

.dark-mode .essential-guide-item i,
.dark-mode .essential-guide-item:hover {
    color: #3b82f6
}

.dark-mode .visit-circles-card {
    background: #16181c;
    color: #e7e9ea
}

.dark-mode .visit-circles-card:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.dark-mode .stats-card {
    background: linear-gradient(135deg, #1e3a5f, #0f172a)
}

.upm-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1060;
    padding: 20px;
    animation: upm-fade-in .15s ease
}

@keyframes upm-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.upm-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 340px;
    padding: 32px 24px;
    position: relative;
    box-shadow: 0 20px 60px #0003;
    animation: upm-slide-up .2s ease-out
}

@keyframes upm-slide-up {
    0% {
        transform: translateY(20px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

.upm-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    color: #6b7280;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background .15s
}

.upm-close:hover {
    background: #f3f4f6;
    color: #111827
}

.upm-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.upm-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 14px;
    border: 3px solid #e5e7eb
}

.upm-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.upm-username {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 6px
}

.upm-hub {
    font-size: 13px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 10px
}

.upm-bio {
    font-size: 13px;
    color: #4b5563;
    margin: 0 0 18px;
    line-height: 1.5
}

.upm-actions {
    display: flex;
    gap: 10px;
    width: 100%
}

.upm-btn {
    flex: 1;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: none;
    transition: all .2s
}

.upm-follow-btn {
    background: #0d58e3;
    color: #fff
}

.upm-follow-btn:hover {
    background: #0b47c0
}

.upm-follow-btn.following {
    background: #e5e7eb;
    color: #374151
}

.upm-follow-btn.following:hover {
    background: #fee2e2;
    color: #dc2626
}

.upm-follow-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.upm-chat-btn {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb
}

.upm-chat-btn:hover {
    background: #e5e7eb
}

.upm-overlay.dark-mode .upm-modal {
    background: #1f2937;
    border: 1px solid #374151
}

.upm-overlay.dark-mode .upm-close {
    color: #9ca3af
}

.upm-overlay.dark-mode .upm-close:hover {
    background: #374151;
    color: #f9fafb
}

.upm-overlay.dark-mode .upm-username {
    color: #f9fafb
}

.upm-overlay.dark-mode .upm-hub {
    color: #9ca3af
}

.upm-overlay.dark-mode .upm-bio {
    color: #d1d5db
}

.upm-overlay.dark-mode .upm-avatar {
    border-color: #374151
}

.upm-overlay.dark-mode .upm-follow-btn {
    background: #3b82f6
}

.upm-overlay.dark-mode .upm-follow-btn:hover {
    background: #2563eb
}

.upm-overlay.dark-mode .upm-follow-btn.following {
    background: #374151;
    color: #d1d5db
}

.upm-overlay.dark-mode .upm-follow-btn.following:hover {
    background: #7f1d1d;
    color: #fca5a5
}

.upm-overlay.dark-mode .upm-chat-btn {
    background: #374151;
    color: #d1d5db;
    border-color: #4b5563
}

.upm-overlay.dark-mode .upm-chat-btn:hover {
    background: #4b5563
}

.saved-page {
    min-height: 100vh;
    background: #f9fafb;
    width: 100%;
    flex: 1;
    padding: 32px;
    max-width: 1200px;
    margin: 0 auto
}

.saved-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px
}

.saved-header-icon {
    width: 48px;
    height: 48px;
    background: #dbeafe;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0d58e3;
    font-size: 20px
}

.saved-title {
    font-size: 28px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 4px
}

.saved-subtitle {
    font-size: 15px;
    color: #64748b;
    margin: 0
}

.saved-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0
}

.saved-tab {
    background: transparent;
    border: none;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px
}

.saved-tab:hover {
    color: #1e293b
}

.saved-tab.active {
    color: #0d58e3;
    border-bottom-color: #0d58e3
}

.saved-tab i {
    font-size: 16px
}

.saved-content {
    background: transparent
}

.saved-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.saved-item {
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    transition: all .2s
}

.saved-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px #0000000f
}

.saved-item-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px
}

.saved-item-circle {
    font-size: 13px;
    font-weight: 600;
    color: #0d58e3;
    background: #f0f7ff;
    padding: 4px 10px;
    border-radius: 20px
}

.saved-item-author {
    font-size: 13px;
    color: #94a3b8
}

.delete-btn {
    margin-left: auto;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    transition: all .2s
}

.delete-btn:hover {
    background: #fef2f2;
    color: #ef4444
}

.saved-item-title {
    font-size: 17px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px;
    line-height: 1.4;
    cursor: pointer
}

.saved-item-title:hover {
    color: #0d58e3
}

.saved-item-preview {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin: 0 0 12px
}

.saved-item-footer {
    display: flex;
    align-items: center;
    gap: 20px
}

.saved-item-replies,
.saved-item-time {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #94a3b8
}

.saved-item-replies i,
.saved-item-time i {
    font-size: 14px
}

@media(max-width:768px) {
    .saved-page {
        padding: 16px
    }

    .saved-header {
        flex-direction: column;
        gap: 12px
    }

    .saved-title {
        font-size: 24px
    }

    .saved-tabs {
        flex-wrap: wrap
    }

    .saved-tab {
        padding: 10px 14px;
        font-size: 13px
    }

    .saved-item-footer {
        flex-wrap: wrap;
        gap: 12px
    }
}

.dark-mode .saved-page {
    background: #0f1419
}

.dark-mode .saved-header-icon {
    background: #3b82f633;
    color: #3b82f6
}

.dark-mode .saved-title {
    color: #e7e9ea
}

.dark-mode .saved-subtitle {
    color: #71767b
}

.dark-mode .saved-tabs {
    border-bottom-color: #2f3336
}

.dark-mode .saved-tab {
    color: #71767b
}

.dark-mode .saved-tab:hover {
    color: #e7e9ea
}

.dark-mode .saved-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6
}

.dark-mode .saved-item {
    background: #16181c;
    border-color: #2f3336
}

.dark-mode .saved-item:hover {
    border-color: #3f4448;
    box-shadow: 0 2px 8px #0000004d
}

.dark-mode .saved-item-circle {
    background: #3b82f626;
    color: #3b82f6
}

.dark-mode .saved-item-author,
.dark-mode .delete-btn {
    color: #71767b
}

.dark-mode .delete-btn:hover {
    background: #ef444426;
    color: #ef4444
}

.dark-mode .saved-item-title {
    color: #e7e9ea
}

.dark-mode .saved-item-title:hover {
    color: #3b82f6
}

.dark-mode .saved-item-preview,
.dark-mode .saved-item-replies,
.dark-mode .saved-item-time {
    color: #71767b
}

.single-circle-page {
    background-color: #f5f5f5;
    min-height: 100vh
}

.single-circle-banner {
    position: relative;
    height: 200px;
    overflow: hidden;
    border-radius: 0 0 12px 12px;
    margin: 0 16px
}

.single-circle-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.single-circle-banner-gradient {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #0891b2, #06b6d4, #22d3d1)
}

.single-circle-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #0000001a, #0000004d)
}

.single-circle-back-btn {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #0006;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: none;
    color: #fff;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s ease;
    z-index: 10
}

.single-circle-back-btn:hover {
    background: #0009
}

.single-circle-profile-section {
    background: #fff;
    padding: 0 24px 24px;
    margin: 0 16px;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 1px 3px #00000014
}

.single-circle-profile-container {
    display: flex;
    gap: 24px;
    padding-top: 16px
}

.single-circle-avatar-wrapper {
    flex-shrink: 0;
    margin-top: -60px
}

.single-circle-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px #00000026;
    object-fit: cover;
    background: #fff;
    z-index: 99;
    position: relative
}

.single-circle-avatar-placeholder {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px #00000026;
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 2.5rem
}

.single-circle-profile-info {
    flex: 1;
    min-width: 0;
    padding-top: 8px
}

.single-circle-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f0f0f;
    margin: 0 0 4px;
    line-height: 1.3
}

.single-circle-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    color: #606060;
    font-size: .875rem
}

.single-circle-handle {
    color: #606060
}

.single-circle-meta-dot {
    color: #aaa
}

.single-circle-description {
    color: #606060;
    font-size: .9rem;
    line-height: 1.5;
    margin: 0 0 16px;
    max-width: 600px
}

.single-circle-actions-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.single-circle-join-btn {
    padding: 10px 20px;
    background: #0f0f0f;
    border: none;
    border-radius: 20px;
    color: #fff;
    font-weight: 500;
    font-size: .9rem;
    cursor: pointer;
    transition: all .2s ease
}

.single-circle-join-btn:hover {
    background: #272727
}

.single-circle-join-btn:disabled {
    opacity: .7;
    cursor: not-allowed
}

.single-circle-joined-btn {
    padding: 10px 20px;
    background: #f2f2f2;
    border: none;
    border-radius: 20px;
    color: #0f0f0f;
    font-weight: 500;
    font-size: .9rem;
    cursor: pointer;
    transition: all .2s ease
}

.single-circle-joined-btn:hover {
    background: #e5e5e5
}

.single-circle-secondary-btn {
    padding: 10px 20px;
    background: #f2f2f2;
    border: none;
    border-radius: 20px;
    color: #0f0f0f;
    font-weight: 500;
    font-size: .9rem;
    cursor: pointer;
    transition: all .2s ease
}

.single-circle-secondary-btn:hover {
    background: #e5e5e5
}

.single-circle-tags-section {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e5e5e5
}

.single-circle-tag {
    background: #f2f2f2;
    color: #0f0f0f;
    padding: 6px 12px;
    border-radius: 16px;
    font-size: .8rem;
    font-weight: 500;
    transition: all .2s ease;
    cursor: pointer
}

.single-circle-tag:hover {
    background: #e5e5e5
}

.single-circle-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 24px;
    margin: 16px 16px 0;
    background: #fff;
    border-radius: 12px 12px 0 0;
    border-bottom: 1px solid #e5e5e5
}

.single-circle-tab {
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: #606060;
    font-weight: 500;
    font-size: .9rem;
    cursor: pointer;
    transition: all .2s ease;
    display: flex;
    align-items: center
}

.single-circle-tab:hover {
    background: #f2f2f2
}

.single-circle-tab.active {
    background: #0f0f0f;
    color: #fff
}

.single-circle-content {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
    padding: 0 16px 24px;
    margin: 0 auto;
    max-width: 1400px
}

.single-circle-main {
    border-radius: 0 0 12px 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.single-circle-actions {
    display: flex;
    gap: 12px;
    align-items: center
}

.single-circle-search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 10px 16px;
    color: gray
}

.single-circle-search i {
    color: #adb5bd
}

.single-circle-search input {
    background: transparent;
    border: none;
    outline: none;
    flex: 1;
    font-size: .9rem;
    color: gray
}

.single-circle-search input::placeholder {
    color: #adb5bd
}

.single-circle-new-post-btn {
    border-radius: 12px;
    padding: 10px 20px;
    font-weight: 500;
    white-space: nowrap
}

.single-circle-posts {
    display: flex;
    flex-direction: column;
    gap: 1px;
    border-radius: 0;
    overflow: hidden
}

.single-circle-post {
    background: #fff;
    padding: 16px;
    cursor: pointer;
    transition: all .2s ease;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: flex;
    gap: 16px;
    align-items: flex-start
}

.single-circle-post:hover {
    background: #f8fafc;
    border-color: #d1d5db;
    box-shadow: 0 4px 12px #00000014
}

.single-circle-post-image {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center
}

.single-circle-post-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.single-circle-post-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    font-size: 2rem
}

.single-circle-post-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.single-circle-post-top-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.single-circle-post-author-img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover
}

.single-circle-post-author-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3b82f6;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .65rem;
    font-weight: 600
}

.single-circle-post-author-name {
    font-size: .85rem;
    font-weight: 600;
    color: #374151
}

.single-circle-post-author-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px
}

.single-circle-post-author-level {
    font-size: .72rem;
    color: #6b7280;
    line-height: 1.2
}

.single-circle-post-author-name.clickable {
    cursor: pointer;
    transition: color .15s
}

.single-circle-post-author-name.clickable:hover {
    color: #0d58e3;
    text-decoration: underline
}

.single-circle-post-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: .75rem;
    font-weight: 500
}

.single-circle-post-badge.discussion-type {
    color: #fff;
    gap: 6px
}

.single-circle-post-badge.discussion-type i {
    font-size: .75rem
}

.single-circle-post-badge.trending {
    background: #fff3cd;
    color: #856404
}

.single-circle-post-badge.pinned {
    background: #cfe2ff;
    color: #084298
}

.single-circle-post-badge.guide {
    background: #d1e7dd;
    color: #0f5132
}

.single-circle-post-title {
    font-size: 1rem;
    font-weight: 600;
    color: #212529;
    margin: 0;
    line-height: 1.4
}

.single-circle-post-body {
    color: #6b7280;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0
}

.single-circle-post-link {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0;
    padding: 8px 10px;
    background: #f0f9ff;
    border-left: 3px solid #3b82f6;
    border-radius: 4px
}

.single-circle-post-link i {
    color: #3b82f6;
    font-size: 1rem;
    flex-shrink: 0
}

.single-circle-post-link a {
    color: #3b82f6;
    text-decoration: none;
    font-size: .8rem;
    word-break: break-all
}

.single-circle-post-link a:hover {
    text-decoration: underline
}

.single-circle-post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px
}

.single-circle-post-tag {
    background: #f0f0f0;
    color: #0d6efd;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: .75rem;
    font-weight: 500
}

.single-circle-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #6c757d;
    font-size: .8rem
}

.single-circle-post-author {
    color: #0d6efd
}

.single-circle-follow-btn {
    cursor: pointer;
    color: #0d58e3;
    font-weight: 600;
    transition: all .2s;
    display: inline-flex;
    align-items: center
}

.single-circle-follow-btn:hover {
    color: #0b47c0
}

.single-circle-follow-btn.following {
    color: #0d58e3
}

.single-circle-follow-btn.following:hover {
    color: #dc2626
}

.single-circle-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.single-circle-sidebar-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 1px 3px #00000014
}

.single-circle-sidebar-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover
}

.single-circle-sidebar-icon-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px
}

.single-circle-sidebar-title {
    font-weight: 600;
    color: #0d6efd;
    font-size: .9rem
}

.single-circle-sidebar-subtitle {
    color: #6c757d;
    font-size: .8rem
}

.single-circle-sidebar-desc {
    color: #6c757d;
    font-size: .85rem;
    line-height: 1.5;
    margin: 12px 0
}

.single-circle-sidebar-stats {
    display: flex;
    justify-content: space-around;
    padding: 16px 0;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef
}

.single-circle-sidebar-stat {
    text-align: center
}

.single-circle-sidebar-stat i {
    color: #0d6efd;
    font-size: 1rem;
    margin-bottom: 4px
}

.single-circle-sidebar-stat-value {
    font-weight: 700;
    font-size: 1.1rem;
    color: #212529
}

.single-circle-sidebar-stat-label {
    color: #6c757d;
    font-size: .75rem
}

.single-circle-sidebar-card-title {
    font-size: .95rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 12px;
    display: flex;
    align-items: center
}

.single-circle-rules {
    padding-left: 20px;
    margin: 0;
    color: #6c757d;
    font-size: .85rem;
    line-height: 1.8
}

.single-circle-rules li {
    margin-bottom: 4px
}

.single-circle-popular-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.single-circle-popular-topic {
    background: #e7f1ff;
    color: #0d6efd;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: .8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .15s ease
}

.single-circle-popular-topic:hover {
    background: #cfe2ff
}

.single-circle-sidebar-meta {
    color: #9ca3af;
    font-size: .8rem;
    margin-top: 12px
}

.single-circle-sidebar-meta i {
    margin-right: 4px
}

@media(max-width:992px) {
    .single-circle-content {
        grid-template-columns: 1fr
    }

    .single-circle-sidebar {
        order: -1
    }
}

@media(max-width:768px) {
    .single-circle-banner {
        height: 140px;
        margin: 0 8px;
        border-radius: 0 0 8px 8px
    }

    .single-circle-profile-section {
        margin: 0 8px;
        padding: 0 16px 16px
    }

    .single-circle-profile-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px
    }

    .single-circle-avatar-wrapper {
        margin-top: -50px
    }

    .single-circle-avatar,
    .single-circle-avatar-placeholder {
        width: 100px;
        height: 100px
    }

    .single-circle-profile-info {
        padding-top: 0
    }

    .single-circle-title {
        font-size: 1.25rem
    }

    .single-circle-meta {
        justify-content: center;
        font-size: .8rem
    }

    .single-circle-description {
        text-align: center;
        max-width: 100%
    }

    .single-circle-actions-row,
    .single-circle-tags-section {
        justify-content: center
    }

    .single-circle-tabs {
        margin: 12px 8px 0;
        padding: 8px 12px;
        overflow-x: auto;
        gap: 4px
    }

    .single-circle-tab {
        padding: 10px 14px;
        font-size: .85rem;
        white-space: nowrap
    }

    .single-circle-content {
        padding: 0 8px 16px
    }

    .single-circle-main {
        padding: 16px;
        border-radius: 0 0 8px 8px
    }

    .single-circle-actions {
        flex-direction: column
    }

    .single-circle-search,
    .single-circle-new-post-btn {
        width: 100%
    }

    .single-circle-post {
        padding: 16px
    }

    .single-circle-sidebar-card {
        border-radius: 8px
    }
}

.single-circle-page.dark-mode {
    background: #1a1a2e;
    color: #e5e7eb
}

.single-circle-page.dark-mode .single-circle-banner-gradient {
    background: linear-gradient(135deg, #1e3a5f, #16213e)
}

.single-circle-page.dark-mode .single-circle-profile-section {
    background: #16213e
}

.single-circle-page.dark-mode .single-circle-title {
    color: #f3f4f6
}

.single-circle-page.dark-mode .single-circle-meta {
    color: #9ca3af
}

.single-circle-page.dark-mode .single-circle-description {
    color: #d1d5db
}

.single-circle-page.dark-mode .single-circle-tag {
    background: #374151;
    color: #d1d5db
}

.single-circle-page.dark-mode .single-circle-tabs {
    background: #1e293b
}

.single-circle-page.dark-mode .single-circle-tab {
    color: #9ca3af
}

.single-circle-page.dark-mode .single-circle-tab:hover {
    background: #374151;
    color: #f3f4f6
}

.single-circle-page.dark-mode .single-circle-tab.active {
    background: #3b82f6;
    color: #fff
}

.single-circle-page.dark-mode .single-circle-content-area {
    background: #1a1a2e
}

.single-circle-page.dark-mode .single-circle-search input {
    border-color: #374151;
    color: #e5e7eb
}

.single-circle-page.dark-mode .single-circle-search input::placeholder {
    color: #6b7280
}

.single-circle-page.dark-mode .single-circle-post {
    background: #1e293b;
    border-color: #374151
}

.single-circle-page.dark-mode .single-circle-post:hover {
    border-color: #4b5563
}

.single-circle-page.dark-mode .single-circle-post-badge {
    background: #374151;
    color: #d1d5db
}

.single-circle-page.dark-mode .single-circle-post-badge.trending {
    background: #7c3aed;
    color: #fff
}

.single-circle-page.dark-mode .single-circle-post-badge.guide {
    background: #059669;
    color: #fff
}

.single-circle-page.dark-mode .single-circle-post-title {
    color: #f3f4f6
}

.single-circle-page.dark-mode .single-circle-post-body {
    color: #d1d5db
}

.single-circle-page.dark-mode .single-circle-post-link {
    background: #1e293b;
    border-left-color: #60a5fa
}

.single-circle-page.dark-mode .single-circle-post-link i,
.single-circle-page.dark-mode .single-circle-post-link a {
    color: #60a5fa
}

.single-circle-page.dark-mode .single-circle-post-meta {
    color: #9ca3af
}

.single-circle-page.dark-mode .single-circle-post-author {
    color: #60a5fa
}

.single-circle-page.dark-mode .single-circle-follow-btn {
    color: #3b82f6
}

.single-circle-page.dark-mode .single-circle-follow-btn:hover {
    color: #60a5fa
}

.single-circle-page.dark-mode .single-circle-follow-btn.following {
    color: #3b82f6
}

.single-circle-page.dark-mode .single-circle-follow-btn.following:hover {
    color: #dc2626
}

.single-circle-page.dark-mode .single-circle-post-author-name {
    color: #d1d5db
}

.single-circle-page.dark-mode .single-circle-post-author-name.clickable:hover {
    color: #60a5fa
}

.single-circle-page.dark-mode .single-circle-post-author-avatar {
    background: #4f46e5
}

.single-circle-page.dark-mode .single-circle-post-image {
    background: #0f172a
}

.single-circle-page.dark-mode .single-circle-post-image-placeholder {
    color: #4b5563
}

.single-circle-page.dark-mode .single-circle-sidebar-card {
    background: #1e293b;
    border-color: #374151
}

.single-circle-page.dark-mode .single-circle-sidebar-card h4 {
    color: #f3f4f6
}

.single-circle-page.dark-mode .single-circle-sidebar-card p {
    color: #d1d5db
}

.single-circle-page.dark-mode .btn-join-circle {
    background: #3b82f6;
    color: #fff
}

.single-circle-page.dark-mode .btn-leave-circle {
    background: #374151;
    color: #d1d5db;
    border-color: #4b5563
}

.single-circle-page.dark-mode .single-circle-new-post-btn {
    background: #3b82f6
}

.epm-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
    overflow-y: auto
}

.epm-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;
    animation: epmSlideIn .2s ease-out
}

@keyframes epmSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.epm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #e5e7eb
}

.epm-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin: 0
}

.epm-close-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease
}

.epm-close-btn:hover {
    background: #f3f4f6;
    color: #111827
}

.epm-form {
    padding: 24px
}

.epm-form-group {
    margin-bottom: 20px
}

.epm-label {
    display: block;
    font-size: .875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 8px
}

.epm-required {
    color: #ef4444
}

.epm-textarea {
    background: transparent;
    color: gray;
    width: 100%;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: .9rem;
    font-family: inherit;
    resize: vertical;
    min-height: 120px;
    transition: all .15s ease
}

.epm-textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.epm-input {
    background: transparent;
    color: gray;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: .9rem;
    font-family: inherit;
    transition: all .15s ease
}

.epm-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.epm-input-error {
    border-color: #ef4444
}

.epm-error {
    display: block;
    font-size: .75rem;
    color: #ef4444;
    margin-top: 6px
}

.epm-input-with-icon {
    position: relative;
    display: flex;
    align-items: center
}

.epm-input-with-icon i {
    position: absolute;
    left: 12px;
    color: #9ca3af;
    font-size: 1.1rem
}

.epm-input-with-icon .epm-input {
    padding-left: 40px
}

.epm-file-input {
    display: none
}

.epm-image-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: all .15s ease
}

.epm-image-upload:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.epm-image-upload i {
    font-size: 2rem;
    color: #9ca3af;
    margin-bottom: 8px
}

.epm-image-upload-text {
    font-size: .9rem;
    color: #374151;
    font-weight: 500
}

.epm-image-upload-hint {
    font-size: .75rem;
    color: #9ca3af;
    margin-top: 4px
}

.epm-image-preview {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    max-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6
}

.epm-image-preview img {
    max-width: 100%;
    max-height: 300px;
    width: auto;
    height: auto;
    object-fit: contain
}

.epm-image-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border: none;
    background: #0009;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    transition: all .15s ease
}

.epm-image-remove:hover {
    background: #000c
}

.epm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.epm-tag {
    padding: 6px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
    font-size: .8rem;
    color: #374151;
    cursor: pointer;
    transition: all .15s ease
}

.epm-tag:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.epm-tag-active {
    border-color: #3b82f6;
    background: #eff6ff;
    color: #3b82f6
}

.epm-anonymous-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #f9fafb;
    border-radius: 8px;
    margin-top: 8px;
    gap: 16px
}

.epm-anonymous-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.epm-anonymous-info i {
    font-size: 1.25rem;
    color: #6b7280
}

.epm-anonymous-info>div {
    display: flex;
    flex-direction: column
}

.epm-anonymous-title {
    font-size: .9rem;
    font-weight: 500;
    color: #111827
}

.epm-anonymous-desc {
    font-size: .75rem;
    color: #6b7280
}

.epm-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0
}

.epm-toggle input {
    opacity: 0;
    width: 0;
    height: 0
}

.epm-toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #d1d5db !important;
    transition: .3s;
    border-radius: 24px
}

.epm-toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #fff !important;
    transition: .3s;
    border-radius: 50%;
    box-shadow: 0 1px 3px #0003
}

.epm-toggle input:checked+.epm-toggle-slider {
    background-color: #3b82f6 !important
}

.epm-toggle input:checked+.epm-toggle-slider:before {
    transform: translate(20px)
}

.epm-footer {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    margin-top: 20px
}

.epm-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s ease;
    display: flex;
    align-items: center;
    gap: 6px
}

.epm-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.epm-btn-cancel {
    background: #f3f4f6;
    color: #374151
}

.epm-btn-cancel:hover:not(:disabled) {
    background: #e5e7eb
}

.epm-btn-submit {
    background: #3b82f6;
    color: #fff
}

.epm-btn-submit:hover:not(:disabled) {
    background: #2563eb
}

.epm-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, .3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: epmSpin .6s linear infinite
}

@keyframes epmSpin {
    to {
        transform: rotate(360deg)
    }
}

.epm-submit-error {
    padding: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: .875rem;
    margin-bottom: 16px
}

@media(max-width:640px) {
    .epm-modal {
        max-width: 100%;
        max-height: 100vh;
        border-radius: 0
    }

    .epm-overlay {
        padding: 0
    }
}

.single-post-page {
    min-height: 100vh;
    background: #f8f9fa
}

.single-post-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 100
}

.btn-back {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: #374151;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: background .15s
}

.btn-back:hover {
    background: #f3f4f6
}

.single-post-circle-name {
    font-weight: 500;
    color: #374151
}

.single-post-time {
    color: #6b7280;
    font-size: .875rem
}

.single-post-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 24px
}

.single-post-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 20px;
    line-height: 1.4
}

.single-post-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px
}

.author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #3b82f6;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1rem
}

.author-info {
    display: flex;
    align-items: center;
    gap: 8px
}

.single-post-author-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0
}

.author-name {
    font-weight: 600;
    color: #111827
}

.author-badge {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: .75rem;
    font-weight: 500
}

.follow-btn {
    margin-left: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid #0d58e3;
    background: transparent;
    color: #0d58e3;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s
}

.follow-btn:hover {
    background: #0d58e3;
    color: #fff
}

.follow-btn.following {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.follow-btn.following:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff
}

.post-time {
    color: #6b7280;
    font-size: .875rem
}

.single-post-image {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    background: #f3f4f6
}

.single-post-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain
}

.single-post-body {
    color: #374151;
    font-size: 1rem;
    line-height: 1.7;
    padding: 20px;
    border: 2px solid #eee;
    border-radius: 10px;
    background: #fff
}

.single-post-body p {
    margin-bottom: 16px
}

.single-post-body p:last-child {
    margin-bottom: 0
}

.single-post-actions {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 16px 0;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 32px;
    flex-wrap: nowrap;
    overflow-x: auto
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #6b7280;
    font-size: .875rem;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    transition: all .15s
}

.action-btn:hover {
    background: #f3f4f6;
    color: #374151
}

.action-btn-delete {
    color: #dc2626
}

.action-btn-delete:hover {
    background: #fee2e2;
    color: #991b1b
}

.action-btn i {
    font-size: 1rem
}

.action-spacer {
    flex: 1
}

.single-post-replies {
    margin-bottom: 32px
}

.replies-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 20px
}

.comment-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px #00000014
}

.comment-highlight-badge {
    display: inline-flex;
    align-items: center;
    background: #10b981;
    color: #fff;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: .75rem;
    font-weight: 500;
    margin-bottom: 12px
}

.comment-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px
}

.comment-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #6366f1;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: .875rem
}

.comment-avatar.small {
    width: 28px;
    height: 28px;
    font-size: .75rem
}

.comment-avatar-img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover
}

.comment-avatar-img.small {
    width: 28px;
    height: 28px
}

.comment-author-info {
    display: flex;
    align-items: center;
    gap: 8px
}

.comment-author-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px
}

.comment-author {
    font-weight: 600;
    color: #111827;
    font-size: .9rem
}

.comment-author-level {
    font-size: .72rem;
    color: #9ca3af;
    line-height: 1.2
}

.comment-author-badge {
    background: #fef3c7;
    color: #92400e;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: .7rem;
    font-weight: 500
}

.comment-time {
    color: #9ca3af;
    font-size: .8rem;
    margin-left: auto
}

.comment-body {
    color: #374151;
    font-size: .9rem;
    line-height: 1.6;
    margin-bottom: 12px
}

.comment-body p {
    margin: 0
}

.comment-actions {
    display: flex;
    align-items: center;
    gap: 16px
}

.comment-action-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: #6b7280;
    font-size: .8rem;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: all .15s
}

.comment-action-btn:hover {
    background: #f3f4f6;
    color: #374151
}

.comment-action-btn-delete {
    color: #dc2626
}

.comment-action-btn-delete:hover {
    background: #fee2e2;
    color: #991b1b
}

.comment-action-btn i {
    font-size: .9rem
}

.inline-reply-section {
    margin-top: 16px;
    padding: 16px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.inline-reply-textarea {
    width: 100%;
    min-height: 80px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: .875rem;
    resize: vertical;
    font-family: inherit;
    background: #fff;
    color: gray
}

.inline-reply-textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.inline-reply-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px
}

.btn-cancel-reply {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #6b7280;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: .875rem;
    cursor: pointer;
    transition: all .15s
}

.btn-cancel-reply:hover {
    background: #f3f4f6;
    border-color: #d1d5db
}

.btn-submit-reply {
    background: #3b82f6;
    border: none;
    color: #fff;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s
}

.btn-submit-reply:disabled {
    opacity: .6;
    cursor: not-allowed
}

.comment-replies {
    margin-top: 16px;
    margin-left: 48px;
    padding-left: 16px;
    border-left: 2px solid #e5e7eb
}

.reply-card {
    padding: 12px 0
}

.reply-card:not(:last-child) {
    border-bottom: 1px solid #f3f4f6
}

.reply-card .comment-body {
    margin-bottom: 8px
}

.quote-block {
    background: #f3f4f6;
    border-left: 3px solid #9ca3af;
    padding: 12px 16px;
    margin-bottom: 12px;
    border-radius: 0 8px 8px 0;
    font-size: .85rem;
    color: #6b7280
}

.quote-block .quote-author {
    color: #3b82f6;
    font-weight: 500
}

.load-more-container {
    text-align: center;
    padding: 20px 0
}

.btn-load-more {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #374151;
    padding: 10px 24px;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s
}

.btn-load-more:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.btn-load-more:disabled {
    opacity: .6;
    cursor: not-allowed
}

.add-reply-section {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px #00000014
}

.add-reply-title {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px
}

.reply-textarea {
    width: 100%;
    min-height: 120px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: .9rem;
    resize: vertical;
    margin-bottom: 16px;
    font-family: inherit;
    background: transparent;
    color: gray
}

.reply-textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.reply-textarea::placeholder {
    color: #9ca3af
}

.reply-footer {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.anonymous-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #6b7280;
    font-size: .875rem;
    cursor: pointer
}

.anonymous-checkbox input {
    width: 16px;
    height: 16px;
    cursor: pointer
}

.btn-post-reply {
    background: #3b82f6;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s
}

.btn-post-reply:hover {
    background: #2563eb
}

.quote-section {
    background: #fff;
    border: 2px solid #3b82f6;
    border-radius: 12px;
    padding: 20px;
    margin-top: 24px
}

.quote-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px
}

.quote-label {
    font-weight: 600;
    color: #3b82f6;
    font-size: .9rem
}

.btn-cancel-quote {
    background: none;
    border: none;
    color: #6b7280;
    font-size: 1.25rem;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all .15s
}

.btn-cancel-quote:hover {
    background: #f3f4f6;
    color: #374151
}

.quoted-comment {
    background: #f0f9ff;
    border-left: 4px solid #3b82f6;
    padding: 12px 16px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 16px
}

.quoted-comment p {
    color: #374151;
    font-size: .9rem;
    line-height: 1.5;
    margin: 0;
    font-style: italic
}

.reply-quoted-reference {
    display: flex;
    gap: 8px;
    background: #f0f9ff;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
    cursor: default
}

.reply-quoted-reference.clickable-quote {
    cursor: pointer;
    transition: all .2s ease
}

.reply-quoted-reference.clickable-quote:hover {
    background: #dbeafe;
    transform: translate(2px)
}

.reply-quoted-reference.clickable-quote:active {
    transform: translate(4px)
}

.highlighted-quote-target {
    animation: highlightPulse 2s ease-in-out;
    position: relative
}

@keyframes highlightPulse {
    0% {
        background-color: transparent
    }

    10% {
        background-color: #dbeafe
    }

    90% {
        background-color: #dbeafe
    }

    to {
        background-color: transparent
    }
}

.reply-quoted-bar {
    width: 3px;
    background: #3b82f6;
    border-radius: 2px;
    flex-shrink: 0
}

.reply-quoted-content {
    flex: 1;
    min-width: 0
}

.reply-quoted-author {
    font-size: .75rem;
    font-weight: 600;
    color: #3b82f6;
    display: block;
    margin-bottom: 2px
}

.reply-quoted-text {
    font-size: .8rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 2;
    -webkit-box-orient: vertical
}

.is-quote-reply {
    border-left: 3px solid #3b82f6;
    padding-left: 12px
}

@media(max-width:768px) {
    .single-post-content {
        padding: 16px
    }

    .single-post-title {
        font-size: 1.25rem
    }

    .single-post-author {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px
    }

    .author-info {
        flex: 1;
        min-width: 0;
        flex-wrap: wrap;
        row-gap: 6px
    }

    .single-post-author-actions {
        width: calc(100% - 52px);
        margin-left: 52px;
        justify-content: space-between;
        align-items: center
    }

    .post-time {
        font-size: .8rem
    }

    .comment-replies {
        margin-left: 24px;
        padding-left: 12px
    }

    .comment-header {
        align-items: flex-start;
        flex-wrap: wrap;
        row-gap: 6px
    }

    .comment-author-info {
        flex: 1;
        min-width: 0
    }

    .comment-time {
        width: 100%;
        margin-left: 44px;
        font-size: .72rem;
        line-height: 1.2;
        color: #9ca3af
    }

    .reply-card .comment-time {
        margin-left: 36px;
        font-size: .7rem
    }

    .single-post-actions {
        flex-wrap: wrap
    }

    .action-spacer {
        display: none
    }

    .reply-footer {
        flex-direction: column;
        gap: 16px;
        align-items: stretch
    }

    .btn-post-reply {
        width: 100%
    }
}

.single-post-page.dark-mode {
    background: #1a1a2e;
    color: #e5e7eb
}

.single-post-page.dark-mode .single-post-header {
    background: #16213e;
    border-bottom-color: #2d3748
}

.single-post-page.dark-mode .single-post-circle-name,
.single-post-page.dark-mode .single-post-time {
    color: #9ca3af
}

.single-post-page.dark-mode .btn-back {
    color: #e5e7eb
}

.single-post-page.dark-mode .btn-back:hover {
    background: #2d3748
}

.single-post-page.dark-mode .single-post-content {
    background: #16213e;
    margin-top: 50px
}

.single-post-page.dark-mode .single-post-title {
    color: #f3f4f6
}

.single-post-page.dark-mode .author-avatar {
    background: #4f46e5
}

.single-post-page.dark-mode .author-name {
    color: #f3f4f6
}

.single-post-page.dark-mode .author-badge {
    background: #374151;
    color: #9ca3af
}

.single-post-page.dark-mode .post-time {
    color: #9ca3af
}

.single-post-page.dark-mode .follow-btn {
    border-color: #3b82f6;
    color: #3b82f6;
    background: transparent
}

.single-post-page.dark-mode .follow-btn:hover {
    background: #3b82f6;
    color: #fff
}

.single-post-page.dark-mode .follow-btn.following {
    background: #3b82f6;
    color: #fff;
    border-color: #3b82f6
}

.single-post-page.dark-mode .follow-btn.following:hover {
    background: #dc2626;
    border-color: #dc2626
}

.single-post-page.dark-mode .single-post-body {
    background: #1e293b;
    border-color: #374151;
    color: #d1d5db
}

.single-post-page.dark-mode .action-btn {
    color: #9ca3af
}

.single-post-page.dark-mode .action-btn:hover {
    background: #2d3748;
    color: #f3f4f6
}

.single-post-page.dark-mode .action-btn-delete {
    color: #f87171
}

.single-post-page.dark-mode .action-btn-delete:hover {
    background: #7f1d1d;
    color: #fca5a5
}

.single-post-page.dark-mode .replies-title {
    color: #f3f4f6
}

.single-post-page.dark-mode .comment-card {
    background: #1e293b;
    border-color: #374151
}

.single-post-page.dark-mode .comment-highlight-badge {
    background: #1e3a5f;
    color: #60a5fa
}

.single-post-page.dark-mode .comment-avatar {
    background: #4f46e5
}

.single-post-page.dark-mode .comment-author {
    color: #f3f4f6
}

.single-post-page.dark-mode .comment-author-badge {
    background: #374151;
    color: #fbbf24
}

.single-post-page.dark-mode .comment-time {
    color: #6b7280
}

.single-post-page.dark-mode .comment-body {
    color: #d1d5db
}

.single-post-page.dark-mode .comment-action-btn {
    color: #9ca3af
}

.single-post-page.dark-mode .comment-action-btn:hover {
    background: #374151;
    color: #f3f4f6
}

.single-post-page.dark-mode .comment-action-btn-delete {
    color: #f87171
}

.single-post-page.dark-mode .comment-action-btn-delete:hover {
    background: #7f1d1d;
    color: #fca5a5
}

.single-post-page.dark-mode .comment-replies {
    border-left-color: #374151
}

.single-post-page.dark-mode .reply-card {
    border-bottom-color: #374151
}

.single-post-page.dark-mode .inline-reply-textarea {
    background: #16213e;
    border-color: #374151;
    color: #e5e7eb
}

.single-post-page.dark-mode .inline-reply-textarea:focus {
    border-color: #4f46e5
}

.single-post-page.dark-mode .btn-cancel-reply {
    background: #374151;
    border-color: #4b5563;
    color: #d1d5db
}

.single-post-page.dark-mode .btn-cancel-reply:hover {
    background: #4b5563
}

.single-post-page.dark-mode .add-reply-section {
    background: #1e293b;
    border-color: #374151
}

.single-post-page.dark-mode .add-reply-title {
    color: #f3f4f6
}

.single-post-page.dark-mode .reply-textarea {
    background: #16213e;
    border-color: #374151;
    color: #e5e7eb
}

.single-post-page.dark-mode .reply-textarea:focus {
    border-color: #4f46e5
}

.single-post-page.dark-mode .anonymous-checkbox span {
    color: #9ca3af
}

.single-post-page.dark-mode .btn-load-more {
    background: #374151;
    color: #e5e7eb
}

.single-post-page.dark-mode .btn-load-more:hover {
    background: #4b5563
}

.single-post-page.dark-mode .quote-section {
    background: #1e293b;
    border-color: #3b82f6
}

.single-post-page.dark-mode .quote-label {
    color: #60a5fa
}

.single-post-page.dark-mode .btn-cancel-quote {
    color: #9ca3af
}

.single-post-page.dark-mode .btn-cancel-quote:hover {
    background: #374151;
    color: #f3f4f6
}

.single-post-page.dark-mode .quoted-comment {
    background: #1e3a5f;
    border-left-color: #3b82f6
}

.single-post-page.dark-mode .quoted-comment p {
    color: #d1d5db
}

.single-post-page.dark-mode .reply-quoted-reference {
    background: #1e3a5f
}

.single-post-page.dark-mode .reply-quoted-reference.clickable-quote:hover {
    background: #1e40af
}

.single-post-page.dark-mode .reply-quoted-bar {
    background: #60a5fa
}

.single-post-page.dark-mode .reply-quoted-author {
    color: #60a5fa
}

.single-post-page.dark-mode .highlighted-quote-target {
    animation: highlightPulseDark 2s ease-in-out
}

@keyframes highlightPulseDark {
    0% {
        background-color: transparent
    }

    10% {
        background-color: #1e40af
    }

    90% {
        background-color: #1e40af
    }

    to {
        background-color: transparent
    }
}

.single-post-page.dark-mode .reply-quoted-text {
    color: #9ca3af
}

.single-post-page.dark-mode .is-quote-reply {
    border-left-color: #60a5fa
}

.preloader-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 40px 20px
}

.preloader-content {
    text-align: center;
    max-width: 400px;
    width: 100%
}

.preloader-spinner {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px
}

.spinner-ring {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #3b82f6;
    animation: pulse 1.4s ease-in-out infinite
}

.spinner-ring:nth-child(2) {
    animation-delay: .2s
}

.spinner-ring:nth-child(3) {
    animation-delay: .4s
}

@keyframes pulse {

    0%,
    to {
        transform: scale(.8);
        opacity: .5
    }

    50% {
        transform: scale(1.2);
        opacity: 1
    }
}

.preloader-text {
    font-size: 1rem;
    color: #6b7280;
    margin-bottom: 30px
}

.preloader-skeleton {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px #00000014
}

.skeleton-header {
    height: 16px;
    width: 40%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px;
    margin-bottom: 16px
}

.skeleton-title {
    height: 24px;
    width: 80%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px;
    margin-bottom: 20px
}

.skeleton-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px
}

.skeleton-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite
}

.skeleton-name {
    height: 14px;
    width: 120px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px
}

.skeleton-body {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.skeleton-line {
    height: 12px;
    width: 100%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px
}

.skeleton-line.short {
    width: 60%
}

@keyframes shimmer {
    0% {
        background-position: -200% 0
    }

    to {
        background-position: 200% 0
    }
}

.share-modal-overlay {
    position: fixed;
    inset: 0;
    background: #00000080;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn .2s ease
}

.share-modal {
    background: #fff;
    border-radius: 16px;
    width: 90%;
    max-width: 400px;
    box-shadow: 0 20px 60px #0000004d;
    animation: slideUp .3s ease
}

@keyframes slideUp {
    0% {
        transform: translateY(20px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

.share-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb
}

.share-modal-header h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827
}

.share-modal-close {
    background: none;
    border: none;
    font-size: 1.2rem;
    color: #6b7280;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    transition: all .2s
}

.share-modal-close:hover {
    background: #f3f4f6;
    color: #111827
}

.share-modal-body {
    padding: 20px
}

.share-options {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px
}

.share-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 8px;
    border: none;
    background: #f9fafb;
    border-radius: 12px;
    cursor: pointer;
    transition: all .2s
}

.share-option:hover {
    background: #f3f4f6;
    transform: translateY(-2px)
}

.share-option i {
    font-size: 1.5rem;
    color: #374151
}

.share-option span {
    font-size: .75rem;
    color: #6b7280;
    font-weight: 500
}

.share-option.whatsapp i {
    color: #25d366
}

.share-option.twitter i {
    color: #000
}

.share-option.facebook i {
    color: #1877f2
}

.share-option.linkedin i {
    color: #0a66c2
}

.share-option.telegram i {
    color: #08c
}

.share-option.email i {
    color: #ea4335
}

.action-btn.liked,
.comment-action-btn.liked,
.action-btn.liked i,
.comment-action-btn.liked i {
    color: #3b82f6
}

.quote-indicator {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .75rem;
    color: #8b5cf6;
    background: #f3e8ff;
    padding: 4px 8px;
    border-radius: 4px
}

.inline-reply-section {
    margin-top: 12px;
    padding: 12px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.inline-reply-section.quote-mode {
    border-left: 3px solid #8b5cf6
}

.inline-reply-textarea {
    width: 100%;
    min-height: 80px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: .9rem;
    resize: vertical;
    font-family: inherit
}

.inline-reply-textarea:focus {
    outline: none;
    border-color: #3b82f6
}

.inline-reply-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px
}

.btn-cancel-reply {
    padding: 8px 16px;
    background: #f3f4f6;
    border: none;
    border-radius: 6px;
    font-size: .85rem;
    cursor: pointer;
    color: #6b7280
}

.btn-cancel-reply:hover {
    background: #e5e7eb
}

.btn-submit-reply {
    padding: 8px 16px;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: .85rem;
    cursor: pointer
}

.btn-submit-reply:hover {
    background: #2563eb
}

.btn-submit-reply:disabled {
    background: #9ca3af;
    cursor: not-allowed
}

.anonymous-checkbox-inline {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .8rem;
    color: #6b7280;
    cursor: pointer;
    margin-right: auto
}

.anonymous-checkbox-inline input[type=checkbox] {
    width: 14px;
    height: 14px;
    cursor: pointer
}

.anonymous-checkbox-inline span {
    white-space: nowrap
}

.single-post-page.dark-mode .anonymous-checkbox-inline {
    color: #94a3b8
}

.quoted-preview {
    display: flex;
    gap: 8px;
    background: #fff;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px
}

.quoted-preview-bar {
    width: 3px;
    background: #8b5cf6;
    border-radius: 2px
}

.quoted-preview-content {
    flex: 1
}

.quoted-preview-author {
    font-size: .75rem;
    font-weight: 600;
    color: #8b5cf6;
    display: block;
    margin-bottom: 2px
}

.quoted-preview-text {
    font-size: .8rem;
    color: #6b7280;
    margin: 0
}

.single-post-page.dark-mode .preloader-skeleton {
    background: #1e293b
}

.single-post-page.dark-mode .skeleton-header,
.single-post-page.dark-mode .skeleton-title,
.single-post-page.dark-mode .skeleton-avatar,
.single-post-page.dark-mode .skeleton-name,
.single-post-page.dark-mode .skeleton-line {
    background: linear-gradient(90deg, #374151 25%, #4b5563, #374151 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite
}

.single-post-page.dark-mode .preloader-text {
    color: #9ca3af
}

.single-post-page.dark-mode .share-modal {
    background: #1e293b
}

.single-post-page.dark-mode .share-modal-header {
    border-color: #374151
}

.single-post-page.dark-mode .share-modal-header h4 {
    color: #f3f4f6
}

.single-post-page.dark-mode .share-option {
    background: #374151
}

.single-post-page.dark-mode .share-option:hover {
    background: #4b5563
}

.single-post-page.dark-mode .share-option span {
    color: #d1d5db
}

.single-post-page.dark-mode .inline-reply-section {
    background: #1e293b;
    border-color: #374151
}

.single-post-page.dark-mode .inline-reply-textarea {
    background: #0f172a;
    border-color: #374151;
    color: #f3f4f6
}

.single-post-page.dark-mode .btn-cancel-reply {
    background: #374151;
    color: #d1d5db
}

.single-post-page.dark-mode .quoted-preview {
    background: #0f172a
}

.edit-post-section {
    margin: 20px 0;
    padding: 15px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb
}

.edit-post-textarea {
    width: 100%;
    min-height: 150px;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: .95rem;
    font-family: inherit;
    resize: vertical;
    margin-bottom: 10px;
    background: transparent;
    color: gray
}

.edit-tags-section {
    margin-bottom: 15px
}

.edit-tags-label {
    display: block;
    font-size: .9rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 8px
}

.edit-tags-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.edit-tag-pill {
    padding: 6px 14px;
    border: 1px solid #d1d5db;
    border-radius: 20px;
    background: #fff;
    color: #6b7280;
    font-size: .85rem;
    cursor: pointer;
    transition: all .2s
}

.edit-tag-pill:hover {
    border-color: #3b82f6;
    color: #3b82f6
}

.edit-tag-pill-active {
    background: #3b82f6;
    color: #fff;
    border-color: #3b82f6
}

.edit-post-fields {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.edit-post-field {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.edit-field-label {
    font-size: .875rem;
    font-weight: 500;
    color: #374151
}

.edit-field-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: .9rem;
    font-family: inherit;
    background: #fff;
    color: #374151
}

.edit-field-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px #3b82f61a
}

.edit-input-with-icon {
    position: relative;
    display: flex;
    align-items: center
}

.edit-input-with-icon i {
    position: absolute;
    left: 12px;
    color: #9ca3af;
    font-size: 1.1rem
}

.edit-input-with-icon .edit-field-input {
    padding-left: 40px
}

.edit-image-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: all .15s ease;
    background: #fff
}

.edit-image-upload:hover {
    border-color: #3b82f6;
    background: #f8fafc
}

.edit-image-upload i {
    font-size: 2rem;
    color: #9ca3af;
    margin-bottom: 8px
}

.edit-image-upload-text {
    font-size: .9rem;
    color: #374151;
    font-weight: 500
}

.edit-image-upload-hint {
    font-size: .75rem;
    color: #9ca3af;
    margin-top: 4px
}

.edit-image-preview {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    max-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6
}

.edit-image-preview img {
    max-width: 100%;
    max-height: 300px;
    width: auto;
    height: auto;
    object-fit: contain
}

.edit-image-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border: none;
    background: #0009;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    transition: all .15s ease
}

.edit-image-remove:hover {
    background: #000c
}

.edit-anonymous-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #f9fafb;
    border-radius: 8px;
    margin-top: 15px;
    gap: 16px
}

.edit-anonymous-info {
    display: flex;
    align-items: center;
    gap: 12px
}

.edit-anonymous-info i {
    font-size: 1.25rem;
    color: #6b7280
}

.edit-anonymous-info>div {
    display: flex;
    flex-direction: column
}

.edit-anonymous-title {
    font-size: .9rem;
    font-weight: 500;
    color: #111827
}

.edit-anonymous-desc {
    font-size: .75rem;
    color: #6b7280
}

.edit-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0
}

.edit-toggle input {
    opacity: 0;
    width: 0;
    height: 0
}

.edit-toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #d1d5db !important;
    transition: .3s;
    border-radius: 24px
}

.edit-toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #fff !important;
    transition: .3s;
    border-radius: 50%;
    box-shadow: 0 1px 3px #0003
}

.edit-toggle input:checked+.edit-toggle-slider {
    background-color: #3b82f6 !important
}

.edit-toggle input:checked+.edit-toggle-slider:before {
    transform: translate(20px)
}

.edit-post-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 15px
}

.edit-comment-section {
    margin: 15px 0;
    padding: 12px;
    background: #f9fafb;
    border-radius: 6px;
    border: 1px solid #e5e7eb
}

.edit-comment-textarea {
    width: 100%;
    min-height: 100px;
    padding: 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: .9rem;
    font-family: inherit;
    resize: vertical;
    margin-bottom: 10px;
    background: #fff;
    color: #374151
}

.edit-comment-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end
}

.btn-cancel-edit,
.btn-save-edit {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    font-size: .85rem;
    cursor: pointer;
    transition: all .2s
}

.btn-cancel-edit {
    background: #e5e7eb;
    color: #6b7280
}

.btn-cancel-edit:hover {
    background: #d1d5db
}

.btn-save-edit {
    background: #3b82f6;
    color: #fff
}

.btn-save-edit:hover {
    background: #2563eb
}

.btn-save-edit:disabled {
    background: #9ca3af;
    cursor: not-allowed
}

.edited-badge {
    font-size: .75rem;
    color: #6b7280;
    font-style: italic;
    margin-left: 8px
}

.post-link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    padding: 12px;
    background: #f0f9ff;
    border-left: 3px solid #3b82f6;
    border-radius: 6px
}

.post-link i {
    color: #3b82f6;
    font-size: 1.2rem
}

.post-link a {
    color: #3b82f6;
    text-decoration: none;
    word-break: break-all;
    font-size: .9rem
}

.post-link a:hover {
    text-decoration: underline
}

.single-post-page.dark-mode .edit-post-section,
.single-post-page.dark-mode .edit-comment-section {
    background: #1e293b;
    border-color: #374151
}

.single-post-page.dark-mode .edit-post-textarea,
.single-post-page.dark-mode .edit-comment-textarea {
    background: #0f172a;
    border-color: #374151;
    color: #f3f4f6
}

.single-post-page.dark-mode .edit-tags-label {
    color: #d1d5db
}

.single-post-page.dark-mode .edit-tag-pill {
    background: #0f172a;
    border-color: #374151;
    color: #9ca3af
}

.single-post-page.dark-mode .edit-tag-pill:hover {
    border-color: #60a5fa;
    color: #60a5fa
}

.single-post-page.dark-mode .edit-tag-pill-active {
    background: #3b82f6;
    color: #fff;
    border-color: #3b82f6
}

.single-post-page.dark-mode .edit-field-label {
    color: #d1d5db
}

.single-post-page.dark-mode .edit-field-input {
    background: #0f172a;
    border-color: #374151;
    color: #f3f4f6
}

.single-post-page.dark-mode .edit-field-input:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px #60a5fa1a
}

.single-post-page.dark-mode .edit-input-with-icon i {
    color: #6b7280
}

.single-post-page.dark-mode .edit-image-upload {
    background: #0f172a;
    border-color: #374151
}

.single-post-page.dark-mode .edit-image-upload:hover {
    border-color: #60a5fa;
    background: #1e293b
}

.single-post-page.dark-mode .edit-image-upload i {
    color: #6b7280
}

.single-post-page.dark-mode .edit-image-upload-text {
    color: #d1d5db
}

.single-post-page.dark-mode .edit-image-upload-hint {
    color: #6b7280
}

.single-post-page.dark-mode .edit-image-preview {
    background: #0f172a
}

.single-post-page.dark-mode .edit-anonymous-row {
    background: #1e293b
}

.single-post-page.dark-mode .edit-anonymous-info i {
    color: #9ca3af
}

.single-post-page.dark-mode .edit-anonymous-title {
    color: #f3f4f6
}

.single-post-page.dark-mode .edit-anonymous-desc {
    color: #9ca3af
}

.single-post-page.dark-mode .edit-toggle-slider {
    background-color: #374151
}

.single-post-page.dark-mode .btn-cancel-edit {
    background: #374151;
    color: #d1d5db
}

.single-post-page.dark-mode .btn-cancel-edit:hover {
    background: #4b5563
}

.single-post-page.dark-mode .edited-badge {
    color: #9ca3af
}

.single-post-page.dark-mode .post-link {
    background: #1e293b;
    border-left-color: #60a5fa
}

.single-post-page.dark-mode .post-link i,
.single-post-page.dark-mode .post-link a {
    color: #60a5fa
}

.single-post-page.dark-mode .quote-indicator {
    background: #4c1d95;
    color: #c4b5fd
}

.inline-reply-section.nested {
    margin-left: 0;
    margin-top: 10px;
    padding: 10px;
    background: #f3f4f6
}

.single-post-page.dark-mode .inline-reply-section.nested {
    background: #1e293b
}

@media(max-width:768px) {

    .edit-post-section,
    .edit-comment-section {
        padding: 12px;
        margin: 15px 0
    }

    .edit-post-textarea {
        min-height: 120px;
        font-size: .9rem;
        padding: 10px
    }

    .edit-comment-textarea {
        min-height: 80px;
        font-size: .9rem;
        padding: 10px
    }

    .edit-tags-section {
        margin-bottom: 12px
    }

    .edit-tags-label {
        font-size: .85rem;
        margin-bottom: 6px
    }

    .edit-tags-pills {
        gap: 6px
    }

    .edit-tag-pill {
        padding: 5px 12px;
        font-size: .8rem
    }

    .edit-post-actions,
    .edit-comment-actions {
        flex-wrap: wrap;
        gap: 8px
    }

    .btn-cancel-edit,
    .btn-save-edit {
        padding: 8px 14px;
        font-size: .8rem;
        flex: 1;
        min-width: 80px
    }

    .edited-badge {
        font-size: .7rem;
        display: block;
        margin-top: 5px;
        margin-left: 0
    }

    .post-link {
        padding: 10px;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px
    }

    .post-link i {
        font-size: 1rem
    }

    .post-link a {
        font-size: .85rem
    }

    .comment-action-btn {
        font-size: .8rem;
        padding: 6px 10px
    }

    .comment-action-btn i {
        font-size: .9rem
    }
}

@media(max-width:480px) {

    .edit-post-section,
    .edit-comment-section {
        padding: 10px;
        margin: 10px 0
    }

    .edit-post-textarea {
        min-height: 100px;
        font-size: .85rem
    }

    .edit-comment-textarea {
        min-height: 70px;
        font-size: .85rem
    }

    .btn-cancel-edit,
    .btn-save-edit {
        padding: 7px 12px;
        font-size: .75rem
    }

    .action-btn span,
    .comment-action-btn span {
        display: none
    }

    .action-btn i,
    .comment-action-btn i {
        margin-right: 0
    }
}

.single-guide-page {
    min-height: 100vh;
    background: #f8fafc;
    width: 100%
}

.guide-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    color: #6b7280
}

.guide-not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    color: #6b7280
}

.guide-not-found h2 {
    margin-bottom: 16px
}

.back-btn {
    background: #0d58e3;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500
}

.guide-header {
    display: flex;
    align-items: center;
    padding: 16px 32px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    gap: 16px
}

.guide-back-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: #374151;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.guide-back-btn:hover {
    color: #0d58e3
}

.guide-category-badge {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500
}

.guide-header-actions {
    margin-left: auto;
    display: flex;
    gap: 8px
}

.guide-action-btn {
    background: none;
    border: none;
    font-size: 18px;
    color: #6b7280;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.guide-action-btn:hover {
    color: #0d58e3
}

.guide-content-wrapper {
    display: flex;
    gap: 32px;
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto
}

.guide-main-content {
    flex: 1;
    min-width: 0
}

.guide-title-card {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px #0000001a;
    margin-bottom: 24px
}

.guide-title {
    font-size: 28px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 24px;
    line-height: 1.3
}

.guide-meta-bar {
    display: flex;
    gap: 45px;
    padding: 16px 24px;
    background: #f8fafc;
    border-radius: 8px;
    margin-bottom: 24px;
    flex-wrap: wrap
}

.guide-meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.meta-label {
    font-size: 12px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .5px
}

.meta-value {
    font-size: 14px;
    color: #111827;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px
}

.meta-value i {
    color: #6b7280
}

.meta-helpful {
    color: #0d58e3
}

.guide-info-box {
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 16px
}

.guide-who-for {
    background: #eff6ff;
    border: .1px solid #0D58E3
}

.guide-what-learn {
    background: #f0fdf4;
    border: .1px solid #22c55e
}

.info-box-title {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px
}

.guide-who-for .info-box-title {
    color: #1d4ed8
}

.guide-what-learn .info-box-title {
    color: #16a34a
}

.info-box-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.info-box-list li {
    padding: 6px 0;
    color: #374151;
    font-size: 14px;
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.guide-who-for .info-box-list li:before {
    content: "•";
    color: #1d4ed8;
    font-weight: 700
}

.guide-what-learn .info-box-list li i {
    color: #22c55e;
    margin-top: 2px
}

.guide-body {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px #0000001a;
    margin-bottom: 24px
}

.guide-section-title {
    font-size: 20px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px
}

.guide-content-text {
    color: #374151;
    line-height: 1.8;
    font-size: 15px
}

.guide-content-text p {
    margin-bottom: 16px;
    text-align: justify
}

.guide-takeaway {
    background: #fef3c7;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    padding: 20px 24px;
    margin-top: 24px
}

.takeaway-title {
    font-size: 16px;
    font-weight: 600;
    color: #92400e;
    margin-bottom: 8px
}

.guide-takeaway p {
    color: #78350f;
    font-size: 14px;
    line-height: 1.6;
    margin: 0
}

.guide-helpful-section {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px #0000001a;
    margin-bottom: 24px
}

.helpful-divider {
    height: 1px;
    background: #e5e7eb;
    margin-bottom: 24px
}

.helpful-title {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px
}

.helpful-buttons {
    display: flex;
    gap: 12px
}

.helpful-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .2s
}

.helpful-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.helpful-btn.voted {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.helpful-btn:disabled {
    cursor: default;
    opacity: .6
}

.helpful-feedback-msg {
    text-align: center;
    color: #10b981;
    font-size: .875rem;
    margin-top: .75rem;
    font-weight: 500
}

.guide-discussion-section {
    background: #f1f5f9;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px
}

.discussion-prompt {
    color: #64748b;
    font-size: 14px;
    margin-bottom: 12px
}

.discussion-btn {
    background: #1e293b;
    color: #fff;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background .2s
}

.discussion-btn:hover {
    background: #334155
}

.guide-sidebar {
    width: 320px;
    flex-shrink: 0
}

.sidebar-card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px #0000001a;
    margin-bottom: 20px
}

.sidebar-title {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px
}

.sidebar-title i {
    color: #22c55e
}

.takeaways-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.takeaways-list li {
    padding: 8px 0;
    color: #374151;
    font-size: 14px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border-bottom: 1px solid #f3f4f6
}

.takeaways-list li:last-child {
    border-bottom: none
}

.takeaways-list li i {
    color: #22c55e;
    margin-top: 2px
}

.related-guides-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.related-guides-list li {
    padding: 10px 0;
    color: #374151;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: color .2s;
    border-bottom: 1px solid #f3f4f6
}

.related-guides-list li:last-child {
    border-bottom: none
}

.related-guides-list li:hover {
    color: #0d58e3
}

.related-guides-list li i {
    color: #9ca3af
}

.related-guides-list li:hover i {
    color: #0d58e3
}

.expert-help-card {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff
}

.expert-help-title {
    color: gray;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px
}

.expert-help-desc {
    font-size: 14px;
    color: gray;
    opacity: .9;
    margin-bottom: 16px;
    line-height: 1.5
}

.expert-help-btn {
    background: #f97316;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    width: 100%;
    transition: background .2s
}

.expert-help-btn:hover {
    background: #ea580c
}

.single-guide-page.dark-mode {
    background: #0f172a
}

.single-guide-page.dark-mode .guide-header {
    background: #1e293b;
    border-color: #334155
}

.single-guide-page.dark-mode .guide-back-btn {
    color: #e2e8f0
}

.single-guide-page.dark-mode .guide-category-badge {
    background: #1e3a5f;
    color: #60a5fa
}

.single-guide-page.dark-mode .guide-action-btn {
    color: #94a3b8
}

.single-guide-page.dark-mode .guide-title-card,
.single-guide-page.dark-mode .guide-body,
.single-guide-page.dark-mode .guide-helpful-section,
.single-guide-page.dark-mode .sidebar-card {
    background: #1e293b;
    box-shadow: 0 1px 3px #0000004d
}

.single-guide-page.dark-mode .guide-title,
.single-guide-page.dark-mode .guide-section-title,
.single-guide-page.dark-mode .helpful-title,
.single-guide-page.dark-mode .sidebar-title {
    color: #f1f5f9
}

.single-guide-page.dark-mode .guide-meta-bar {
    background: #0f172a
}

.single-guide-page.dark-mode .meta-label {
    color: #94a3b8
}

.single-guide-page.dark-mode .meta-value {
    color: #e2e8f0
}

.single-guide-page.dark-mode .guide-who-for {
    background: #1e3a5f
}

.single-guide-page.dark-mode .guide-what-learn {
    background: #14532d
}

.single-guide-page.dark-mode .info-box-list li,
.single-guide-page.dark-mode .guide-content-text,
.single-guide-page.dark-mode .takeaways-list li,
.single-guide-page.dark-mode .related-guides-list li {
    color: #cbd5e1
}

.single-guide-page.dark-mode .guide-takeaway {
    background: #422006
}

.single-guide-page.dark-mode .takeaway-title {
    color: #fbbf24
}

.single-guide-page.dark-mode .guide-takeaway p {
    color: #fcd34d
}

.single-guide-page.dark-mode .helpful-btn {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.single-guide-page.dark-mode .helpful-btn:hover {
    border-color: #60a5fa;
    color: #60a5fa
}

.single-guide-page.dark-mode .helpful-feedback-msg {
    color: #34d399
}

.single-guide-page.dark-mode .guide-discussion-section {
    background: #334155
}

.single-guide-page.dark-mode .discussion-prompt {
    color: #94a3b8
}

.single-guide-page.dark-mode .discussion-btn {
    background: #0f172a
}

.single-guide-page.dark-mode .takeaways-list li,
.single-guide-page.dark-mode .related-guides-list li {
    border-color: #334155
}

@media(max-width:1024px) {
    .guide-content-wrapper {
        flex-direction: column;
        padding: 24px
    }

    .guide-sidebar {
        width: 100%
    }

    .guide-meta-bar {
        gap: 16px
    }
}

@media(max-width:768px) {
    .guide-header {
        padding: 12px 16px
    }

    .guide-content-wrapper {
        padding: 16px
    }

    .guide-title-card,
    .guide-body,
    .guide-helpful-section,
    .sidebar-card {
        padding: 20px
    }

    .guide-title {
        font-size: 22px
    }

    .guide-meta-bar {
        flex-direction: column;
        gap: 12px
    }

    .guide-meta-item {
        flex-direction: row;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid #e5e7eb
    }

    .guide-meta-item:last-child {
        border-bottom: none
    }
}

.all-guides-page {
    min-height: 100vh;
    background: #f8fafc;
    width: 100%
}

.all-guides-header {
    background: linear-gradient(135deg, #0d58e3, #3b82f6);
    color: #fff;
    padding: 32px 32px 40px
}

.all-guides-header-content {
    max-width: 1400px;
    margin: 0 auto
}

.back-to-guides-btn {
    background: #fff3;
    border: none;
    color: #fff;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    transition: background .2s
}

.back-to-guides-btn:hover {
    background: #ffffff4d
}

.all-guides-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px
}

.all-guides-subtitle {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    opacity: .95;
    max-width: 700px
}

.all-guides-filters-section {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 24px 32px
}

.filters-container {
    max-width: 1400px;
    margin: 0 auto
}

.filter-group {
    margin-bottom: 20px
}

.filter-group:last-child {
    margin-bottom: 0
}

.filter-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 12px
}

.category-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.category-pill {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all .2s
}

.category-pill.cat-immigration {
    border-color: #10b981;
    color: #065f46;
    background: #f0fdf4
}

.category-pill.cat-housing {
    border-color: #0d58e3;
    color: #1d4ed8;
    background: #f0f9ff
}

.category-pill.cat-finance {
    border-color: #ec4899;
    color: #be185d;
    background: #fdf2f8
}

.category-pill.cat-jobs {
    border-color: #f59e0b;
    color: #92400e;
    background: #fffbeb
}

.category-pill.cat-healthcare {
    border-color: #8b5cf6;
    color: #5b21b6;
    background: #faf5ff
}

.category-pill.cat-education {
    border-color: #06b6d4;
    color: #0e7490;
    background: #ecf9ff
}

.category-pill.cat-family {
    border-color: #f97316;
    color: #9a3412;
    background: #fffaf0
}

.category-pill.cat-default {
    border-color: #9ca3af;
    color: #374151;
    background: #f9fafb
}

.category-pill:hover {
    border-color: currentColor;
    opacity: 0.8
}

.category-pill.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.category-pill.active.cat-immigration {
    background: #10b981;
    border-color: #10b981;
    color: #fff
}

.category-pill.active.cat-housing {
    background: #0d58e3;
    border-color: #0d58e3;
    color: #fff
}

.category-pill.active.cat-finance {
    background: #ec4899;
    border-color: #ec4899;
    color: #fff
}

.category-pill.active.cat-jobs {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #fff
}

.category-pill.active.cat-healthcare {
    background: #8b5cf6;
    border-color: #8b5cf6;
    color: #fff
}

.category-pill.active.cat-education {
    background: #06b6d4;
    border-color: #06b6d4;
    color: #fff
}

.category-pill.active.cat-family {
    background: #f97316;
    border-color: #f97316;
    color: #fff
}

.category-pill.active.cat-default {
    background: #9ca3af;
    border-color: #9ca3af;
    color: #fff
}

.sort-group {
    margin-top: 20px
}

.sort-buttons {
    display: flex;
    gap: 12px
}

.sort-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .2s
}

.sort-btn:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.sort-btn.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.all-guides-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px
}

.guides-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    color: #6b7280
}

.guides-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.noticeboard-card {
    background: #fff;
    border-radius: 20px;
    cursor: pointer;
    transition: all .2s;
    overflow: hidden
}

.noticeboard-card:hover {
    border-color: #0d58e3;
    box-shadow: 0 4px 12px #0d58e31a;
    transform: translateY(-2px)
}

.guide-grid-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    flex-direction: column
}

.guide-grid-card:hover {
    border-color: #0d58e3;
    box-shadow: 0 4px 12px #0d58e31a;
    transform: translateY(-2px)
}

.guide-grid-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px
}

.guide-grid-category {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600
}

.guide-grid-category.cat-immigration {
    background: #d1fae5;
    color: #065f46
}

.guide-grid-category.cat-housing {
    background: #dbeafe;
    color: #1d4ed8
}

.guide-grid-category.cat-finance {
    background: #fbcfe8;
    color: #be185d
}

.guide-grid-category.cat-jobs {
    background: #fef3c7;
    color: #92400e
}

.guide-grid-category.cat-healthcare {
    background: #ede9fe;
    color: #5b21b6
}

.guide-grid-category.cat-education {
    background: #cffafe;
    color: #0e7490
}

.guide-grid-category.cat-family {
    background: #fed7aa;
    color: #9a3412
}

.guide-grid-category.cat-default {
    background: #e5e7eb;
    color: #374151
}

.guide-grid-read-time {
    font-size: 12px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 4px
}

.guide-grid-type-offer {
    background: #d1fae5;
    color: #065f46;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600
}

.guide-grid-type-request {
    background: #fef3c7;
    color: #92400e;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600
}

.expiring-soon {
    background: #fee2e2;
    color: #dc2626;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600
}

.guide-grid-title {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 12px;
    line-height: 1.4
}

.guide-grid-description {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 16px;
    flex: 1
}

.guide-grid-meta {
    display: flex;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 12px
}

.meta-item {
    font-size: 13px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 6px
}

.guide-grid-footer {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.guide-updated {
    font-size: 12px;
    color: #9ca3af
}

.guide-grid-footer i {
    color: #0d58e3;
    font-size: 16px
}

.no-guides-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    color: #6b7280;
    text-align: center
}

.no-guides-found i {
    font-size: 48px;
    margin-bottom: 16px;
    color: #d1d5db
}

.no-guides-found h3 {
    font-size: 20px;
    color: #374151;
    margin-bottom: 8px
}

.no-guides-found p {
    font-size: 14px;
    max-width: 400px
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid #e5e7eb
}

.pagination-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all .2s
}

.pagination-btn:hover:not(:disabled) {
    border-color: #0d58e3;
    color: #0d58e3
}

.pagination-btn:disabled {
    opacity: .5;
    cursor: not-allowed
}

.pagination-numbers {
    display: flex;
    gap: 4px;
    align-items: center
}

.pagination-number {
    background: #fff;
    border: 1px solid #e5e7eb;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    justify-content: center
}

.pagination-number:hover {
    border-color: #0d58e3;
    color: #0d58e3
}

.pagination-number.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.pagination-ellipsis {
    color: #9ca3af;
    padding: 0 8px
}

.all-guides-page.dark-mode {
    background: #0f172a
}

.all-guides-page.dark-mode .all-guides-filters-section {
    background: #1e293b;
    border-color: #334155
}

.all-guides-page.dark-mode .filter-label {
    color: #e2e8f0
}

.all-guides-page.dark-mode .category-pill {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.all-guides-page.dark-mode .category-pill.cat-immigration {
    border-color: #10b981;
    color: #86efac;
    background: #1b3f2c
}

.all-guides-page.dark-mode .category-pill.cat-housing {
    border-color: #0d58e3;
    color: #60a5fa;
    background: #1e3a5f
}

.all-guides-page.dark-mode .category-pill.cat-finance {
    border-color: #ec4899;
    color: #f472b6;
    background: #500724
}

.all-guides-page.dark-mode .category-pill.cat-jobs {
    border-color: #f59e0b;
    color: #fcd34d;
    background: #543005
}

.all-guides-page.dark-mode .category-pill.cat-healthcare {
    border-color: #8b5cf6;
    color: #d8b4fe;
    background: #3f2949
}

.all-guides-page.dark-mode .category-pill.cat-education {
    border-color: #06b6d4;
    color: #67e8f9;
    background: #063f45
}

.all-guides-page.dark-mode .category-pill.cat-family {
    border-color: #f97316;
    color: #fdba74;
    background: #5a2f0f
}

.all-guides-page.dark-mode .category-pill.cat-default {
    border-color: #9ca3af;
    color: #d4d4d8;
    background: #3f3f46
}

.all-guides-page.dark-mode .category-pill:hover {
    border-color: currentColor;
    opacity: 0.8
}

.all-guides-page.dark-mode .category-pill.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.all-guides-page.dark-mode .category-pill.active.cat-immigration {
    background: #10b981;
    border-color: #10b981;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-housing {
    background: #0d58e3;
    border-color: #0d58e3;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-finance {
    background: #ec4899;
    border-color: #ec4899;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-jobs {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-healthcare {
    background: #8b5cf6;
    border-color: #8b5cf6;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-education {
    background: #06b6d4;
    border-color: #06b6d4;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-family {
    background: #f97316;
    border-color: #f97316;
    color: #fff
}

.all-guides-page.dark-mode .category-pill.active.cat-default {
    background: #9ca3af;
    border-color: #9ca3af;
    color: #fff
}

.all-guides-page.dark-mode .sort-btn {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.all-guides-page.dark-mode .sort-btn:hover {
    border-color: #60a5fa;
    color: #60a5fa
}

.all-guides-page.dark-mode .sort-btn.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.all-guides-page.dark-mode .noticeboard-card {
    background: #1e293b;
    border-color: #334155
}

.all-guides-page.dark-mode .noticeboard-card:hover {
    border-color: #60a5fa;
    box-shadow: 0 4px 12px #60a5fa1a
}

.all-guides-page.dark-mode .guide-grid-card {
    background: #1e293b;
    border-color: #334155
}

.all-guides-page.dark-mode .guide-grid-card:hover {
    border-color: #60a5fa;
    box-shadow: 0 4px 12px #60a5fa1a
}

.all-guides-page.dark-mode .guide-grid-category {
    background: #1e3a5f;
    color: #60a5fa
}

.all-guides-page.dark-mode .guide-grid-category.cat-immigration {
    background: #064e3b;
    color: #86efac
}

.all-guides-page.dark-mode .guide-grid-category.cat-housing {
    background: #1e3a5f;
    color: #60a5fa
}

.all-guides-page.dark-mode .guide-grid-category.cat-finance {
    background: #500724;
    color: #f472b6
}

.all-guides-page.dark-mode .guide-grid-category.cat-jobs {
    background: #543005;
    color: #fcd34d
}

.all-guides-page.dark-mode .guide-grid-category.cat-healthcare {
    background: #3f2949;
    color: #d8b4fe
}

.all-guides-page.dark-mode .guide-grid-category.cat-education {
    background: #063f45;
    color: #67e8f9
}

.all-guides-page.dark-mode .guide-grid-category.cat-family {
    background: #5a2f0f;
    color: #fdba74
}

.all-guides-page.dark-mode .guide-grid-category.cat-default {
    background: #3f3f46;
    color: #d4d4d8
}

.all-guides-page.dark-mode .guide-grid-type-offer {
    background: #064e3b;
    color: #86efac
}

.all-guides-page.dark-mode .guide-grid-type-request {
    background: #543005;
    color: #fcd34d
}

.all-guides-page.dark-mode .expiring-soon {
    background: #7f1d1d;
    color: #fca5a5
}

.all-guides-page.dark-mode .guide-grid-title {
    color: #f1f5f9
}

.all-guides-page.dark-mode .guide-grid-description,
.all-guides-page.dark-mode .guide-grid-read-time,
.all-guides-page.dark-mode .meta-item {
    color: #94a3b8
}

.all-guides-page.dark-mode .guide-grid-meta {
    border-color: #334155
}

.all-guides-page.dark-mode .guide-updated {
    color: #64748b
}

.all-guides-page.dark-mode .pagination-btn,
.all-guides-page.dark-mode .pagination-number {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.all-guides-page.dark-mode .pagination-btn:hover:not(:disabled),
.all-guides-page.dark-mode .pagination-number:hover {
    border-color: #60a5fa;
    color: #60a5fa
}

.all-guides-page.dark-mode .pagination-number.active {
    background: #0d58e3;
    color: #fff;
    border-color: #0d58e3
}

.all-guides-page.dark-mode .pagination {
    border-color: #334155
}

@media(max-width:991px) {
    .guides-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:768px) {

    .all-guides-header,
    .all-guides-filters-section,
    .all-guides-content {
        padding: 20px
    }

    .all-guides-title {
        font-size: 24px
    }

    .guides-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .category-pills {
        gap: 6px
    }

    .category-pill {
        font-size: 13px;
        padding: 6px 12px
    }

    .pagination {
        flex-wrap: wrap
    }

    .pagination-numbers {
        order: 3;
        width: 100%;
        justify-content: center;
        margin-top: 12px
    }
}

.single-directory-page {
    min-height: 100vh;
    background: #f8fafc;
    width: 100%
}

.directory-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    color: #6b7280
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #e5e7eb;
    border-top-color: #0d58e3;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.directory-not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    color: #6b7280
}

.directory-not-found h2 {
    font-size: 24px;
    margin-bottom: 16px;
    color: #374151
}

.back-btn {
    background: #0d58e3;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s
}

.back-btn:hover {
    background: #0a47b8
}

.directory-page-header {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    gap: 16px
}

.back-button {
    background: none;
    border: none;
    font-size: 20px;
    color: #374151;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: background .2s
}

.back-button:hover {
    background: #f3f4f6
}

.header-category {
    font-size: 14px;
    color: #6b7280;
    flex: 1
}

.header-actions {
    display: flex;
    gap: 8px
}

.action-btn {
    width: auto;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 11px;
    color: #374151;
    transition: all .2s
}

.action-btn:hover {
    background: #f3f4f6;
    border-color: #d1d5db
}

.directory-content-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px;
    display: grid;
    grid-template-columns: 1fr 270px;
    gap: 32px
}

.directory-main-content {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 32px
}

.business-header {
    display: flex;
    gap: 24px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb
}

.business-logo {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center
}

.business-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.logo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 700;
    color: #0d58e3;
    background: #dbeafe
}

.business-info {
    flex: 1
}

.business-name {
    font-size: 28px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 12px
}

.business-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-bottom: 12px
}

.rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 600;
    color: #f59e0b
}

.rating i {
    font-size: 16px
}

.reviews {
    font-size: 14px;
    color: #6b7280
}

.category-badge {
    background: #dbeafe;
    color: #1d4ed8;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600
}

.location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: #6b7280
}

.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #d1fae5;
    color: #065f46;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600
}

.verified-badge i {
    font-size: 16px
}

.business-description {
    margin-bottom: 32px
}

.business-description p {
    font-size: 15px;
    line-height: 1.7;
    color: #374151
}

.why-loved-section {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 32px;
    display: flex;
    gap: 16px
}

.section-icon {
    width: 40px;
    height: 40px;
    background: #0d58e3;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0
}

.section-content {
    flex: 1
}

.section-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 8px
}

.why-loved-text {
    font-size: 15px;
    line-height: 1.6;
    color: #374151
}

.features-section {
    margin-bottom: 32px
}

.single-directory-page .features-section {
    background: transparent
}

.single-directory-page .features-section .section-title {
    color: #111827
}

.single-directory-page .features-section .service-tag {
    background: #fef3c7;
    color: #92400e
}

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px
}

.service-tag {
    background: #fef3c7;
    color: #92400e;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500
}

.reviews-section {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #e5e7eb
}

.reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px
}

.write-review-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #0d58e3;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease
}

.write-review-btn:hover {
    background: #0a47b8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px #0d58e34d
}

.review-form-container {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 28px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px #0000000a
}

.review-form-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 20px
}

.submit-message {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 500
}

.submit-message.success {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #6ee7b7
}

.submit-message.error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5
}

.submit-message i {
    font-size: 18px
}

.review-form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.rating-input-section {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.rating-label,
.review-label {
    font-size: 14px;
    font-weight: 600;
    color: #374151
}

.star-rating-input {
    display: flex;
    align-items: center;
    gap: 8px
}

.star-btn {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    font-size: 28px;
    color: #d1d5db;
    transition: all .2s ease;
    line-height: 1
}

.star-btn:hover {
    transform: scale(1.15)
}

.star-btn.active {
    color: #fbbf24
}

.star-btn i {
    display: block
}

.rating-text {
    font-size: 14px;
    color: #6b7280;
    margin-left: 8px;
    font-weight: 500
}

.review-text-section {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.review-textarea {
    width: 100%;
    padding: 14px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    transition: border-color .2s ease;
    line-height: 1.6;
    color: gray;
    background: transparent
}

.review-textarea:focus {
    outline: none;
    border-color: #0d58e3;
    box-shadow: 0 0 0 3px #0d58e31a
}

.review-textarea:disabled {
    background: #f9fafb;
    cursor: not-allowed
}

.character-count {
    font-size: 12px;
    color: #9ca3af;
    text-align: right
}

.review-form-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding-top: 8px
}

.cancel-review-btn,
.submit-review-btn {
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
    border: none;
    display: flex;
    align-items: center;
    gap: 8px
}

.cancel-review-btn {
    background: #f3f4f6;
    color: #374151
}

.cancel-review-btn:hover:not(:disabled) {
    background: #e5e7eb
}

.submit-review-btn {
    background: #0d58e3;
    color: #fff
}

.submit-review-btn:hover:not(:disabled) {
    background: #0a47b8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px #0d58e34d
}

.submit-review-btn:disabled,
.cancel-review-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none
}

.reviews-placeholder,
.no-reviews {
    text-align: center;
    padding: 40px 20px;
    color: #9ca3af;
    font-size: 14px
}

.no-reviews {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px
}

.no-reviews i {
    font-size: 48px;
    color: #d1d5db
}

.sign-in-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 32px 20px;
    background: #f9fafb;
    border-radius: 8px;
    margin-top: 20px
}

.sign-in-prompt i {
    font-size: 40px;
    color: #9ca3af
}

.sign-in-prompt p {
    color: #6b7280;
    font-size: 14px;
    margin: 0
}

.reviews-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 20px;
    color: #9ca3af
}

.loading-spinner-small {
    width: 30px;
    height: 30px;
    border: 3px solid #e5e7eb;
    border-top-color: #0d58e3;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 8px
}

.review-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    transition: box-shadow .2s ease
}

.review-card:hover {
    box-shadow: 0 2px 8px #0000000f
}

.review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px
}

.reviewer-info {
    display: flex;
    gap: 12px;
    align-items: center
}

.reviewer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0
}

.reviewer-details {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.reviewer-name {
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    margin: 0
}

.review-stars {
    display: flex;
    gap: 2px
}

.review-stars i {
    font-size: 14px;
    color: #fbbf24
}

.review-stars i.bi-star {
    color: #d1d5db
}

.review-date {
    font-size: 13px;
    color: #9ca3af;
    white-space: nowrap
}

.review-text {
    font-size: 14px;
    line-height: 1.6;
    color: #4b5563;
    margin: 0
}

.directory-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.sidebar-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px
}

.sidebar-title {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 20px
}

.contact-item {
    display: flex;
    gap: 12px;
    margin-bottom: 20px
}

.contact-item:last-of-type {
    margin-bottom: 24px
}

.contact-item i {
    font-size: 20px;
    color: #0d58e3;
    width: 24px;
    flex-shrink: 0
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1
}

.contact-label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .5px
}

.contact-value {
    font-size: 14px;
    color: #374151;
    line-height: 1.5
}

.contact-link {
    font-size: 14px;
    color: #0d58e3;
    text-decoration: none;
    word-break: break-all
}

.contact-link:hover {
    text-decoration: underline
}

.contact-business-btn {
    width: 100%;
    background: #0d58e3;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
    margin-bottom: 12px
}

.contact-business-btn:hover {
    background: #0a47b8
}

.visit-website-btn {
    width: 100%;
    background: #fff;
    color: #374151;
    border: 1px solid #e5e7eb;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.visit-website-btn:hover {
    background: #f3f4f6;
    border-color: #d1d5db
}

.mention-item {
    padding: 12px;
    background: #f9fafb;
    border-radius: 8px;
    margin-bottom: 12px
}

.mention-item:last-child {
    margin-bottom: 0
}

.mention-item p {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
    margin: 0
}

.single-directory-page.dark-mode {
    background: #0f172a
}

.dark-mode .directory-page-header {
    background: #1e293b;
    border-color: #334155
}

.dark-mode .back-button {
    color: #e2e8f0
}

.dark-mode .back-button:hover {
    background: #334155
}

.dark-mode .header-category {
    color: #94a3b8
}

.dark-mode .action-btn {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.dark-mode .action-btn:hover {
    background: #475569;
    border-color: #64748b
}

.dark-mode .directory-main-content,
.dark-mode .sidebar-card {
    background: #1e293b;
    border-color: #334155
}

.dark-mode .business-header {
    border-color: #334155
}

.dark-mode .business-name {
    color: #f1f5f9
}

.dark-mode .reviews,
.dark-mode .location {
    color: #94a3b8
}

.dark-mode .category-badge {
    background: #1e3a5f;
    color: #60a5fa
}

.dark-mode .business-description p {
    color: #cbd5e1
}

.dark-mode .why-loved-section {
    background: #1e3a5f;
    border-color: #1e40af
}

.dark-mode .why-loved-text {
    color: #cbd5e1
}

.dark-mode .section-title {
    color: #f1f5f9
}

.dark-mode .service-tag {
    background: #422006;
    color: #fbbf24
}

.single-directory-page.dark-mode .features-section .section-title {
    color: #f1f5f9
}

.single-directory-page.dark-mode .features-section .service-tag {
    background: #422006;
    color: #fbbf24;
    border: 1px solid #78350f
}

.single-directory-page .review-form-container {
    background: #fff;
    border-color: #e5e7eb
}

.single-directory-page .review-form-title,
.single-directory-page .rating-label,
.single-directory-page .review-label {
    color: #111827
}

.single-directory-page .rating-text,
.single-directory-page .character-count {
    color: #6b7280
}

.single-directory-page .review-textarea {
    color: #111827;
    background: #fff;
    border-color: #d1d5db
}

.single-directory-page .review-textarea::placeholder {
    color: #9ca3af
}

.single-directory-page .review-textarea:disabled {
    background: #f3f4f6;
    color: #6b7280
}

.single-directory-page.dark-mode .review-form-container {
    background: #1e293b;
    border-color: #334155;
    box-shadow: 0 2px 10px #00000040
}

.single-directory-page.dark-mode .review-form-title,
.single-directory-page.dark-mode .rating-label,
.single-directory-page.dark-mode .review-label {
    color: #f1f5f9
}

.single-directory-page.dark-mode .rating-text,
.single-directory-page.dark-mode .character-count {
    color: #94a3b8
}

.single-directory-page.dark-mode .review-textarea {
    background: #0f172a;
    border-color: #475569;
    color: #e2e8f0
}

.single-directory-page.dark-mode .review-textarea::placeholder {
    color: #64748b
}

.single-directory-page.dark-mode .review-textarea:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px #60a5fa33
}

.single-directory-page.dark-mode .review-textarea:disabled {
    background: #1e293b;
    border-color: #334155;
    color: #94a3b8
}

.single-directory-page.dark-mode .star-btn {
    color: #475569
}

.single-directory-page.dark-mode .star-btn.active {
    color: #fbbf24
}

.single-directory-page.dark-mode .cancel-review-btn {
    background: #334155;
    color: #e2e8f0
}

.single-directory-page.dark-mode .cancel-review-btn:hover:not(:disabled) {
    background: #475569
}

.dark-mode .reviews-section {
    border-color: #334155
}

.dark-mode .sidebar-title {
    color: #f1f5f9
}

.dark-mode .contact-value {
    color: #cbd5e1
}

.dark-mode .contact-label {
    color: #94a3b8
}

.dark-mode .visit-website-btn {
    background: #334155;
    border-color: #475569;
    color: #e2e8f0
}

.dark-mode .visit-website-btn:hover {
    background: #475569;
    border-color: #64748b
}

.dark-mode .mention-item {
    background: #0f172a
}

.dark-mode .mention-item p {
    color: #94a3b8
}

.dark-mode .loading-spinner {
    border-color: #334155;
    border-top-color: #60a5fa
}

.dark-mode .directory-not-found h2 {
    color: #e2e8f0
}

@media(max-width:1024px) {
    .directory-content-wrapper {
        grid-template-columns: 1fr
    }

    .directory-sidebar {
        order: 2
    }
}

@media(max-width:768px) {

    .directory-content-wrapper,
    .directory-main-content,
    .sidebar-card {
        padding: 20px
    }

    .business-header {
        flex-direction: column;
        align-items: center;
        text-align: center
    }

    .business-meta {
        justify-content: center
    }

    .business-name {
        font-size: 24px
    }

    .why-loved-section {
        flex-direction: column;
        align-items: center;
        text-align: center
    }
}

.messages-page {
    display: flex;
    height: 100%;
    max-height: calc(100vh - 65px);
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e5e7eb
}

.messages-contacts {
    width: 320px;
    min-width: 320px;
    border-right: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    background: #f9fafb
}

.messages-contacts-header {
    padding: 20px 20px 12px;
    border-bottom: 1px solid #e5e7eb
}

.messages-contacts-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #111827
}

.messages-search {
    padding: 12px 16px
}

.messages-search-input-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 8px 12px
}

.messages-search-input-wrapper i {
    color: #9ca3af;
    font-size: 14px
}

.messages-search-input-wrapper input {
    border: none;
    outline: none;
    background: none;
    font-size: 14px;
    color: #111827;
    width: 100%
}

.messages-search-input-wrapper input::placeholder {
    color: #9ca3af
}

.messages-contacts-list {
    flex: 1;
    overflow-y: auto;
    padding: 4px 8px
}

.messages-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: background .15s
}

.messages-contact-item:hover {
    background: #f0f2f5
}

.messages-contact-item.active {
    background: #dbeafe
}

.messages-contact-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0
}

.messages-contact-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0
}

.messages-contact-name {
    font-weight: 600;
    font-size: 14px;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.messages-contact-status {
    font-size: 12px;
    color: #6b7280
}

.messages-contacts-loading,
.messages-contacts-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    gap: 8px;
    color: #9ca3af;
    text-align: center
}

.messages-contacts-empty i {
    font-size: 32px
}

.messages-contacts-empty p {
    margin: 0;
    font-weight: 600;
    color: #6b7280
}

.messages-contacts-empty span {
    font-size: 13px
}

.messages-chat {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff
}

.messages-chat-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff
}

.messages-back-btn {
    display: none;
    background: none;
    border: none;
    font-size: 18px;
    color: #374151;
    cursor: pointer;
    padding: 4px
}

.messages-chat-header-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover
}

.messages-chat-header-info {
    flex: 1
}

.messages-chat-header-name {
    font-weight: 600;
    font-size: 15px;
    color: #111827
}

.messages-chat-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.messages-chat-loading,
.messages-chat-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 8px;
    color: #9ca3af;
    text-align: center
}

.messages-chat-empty i {
    font-size: 40px;
    margin-bottom: 4px
}

.messages-chat-empty p {
    margin: 0;
    font-weight: 600;
    font-size: 16px;
    color: #6b7280
}

.messages-chat-empty span {
    font-size: 13px
}

.messages-chat-pending {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 12px;
    color: #6b7280;
    text-align: center;
    padding: 40px 20px
}

.messages-chat-pending i {
    font-size: 48px;
    color: #3b82f6;
    margin-bottom: 8px
}

.messages-chat-pending p {
    margin: 0;
    font-weight: 600;
    font-size: 18px;
    color: #374151
}

.messages-chat-pending span {
    font-size: 14px;
    color: #6b7280
}

.messages-accept-btn {
    margin-top: 12px;
    padding: 10px 28px;
    border-radius: 24px;
    border: none;
    background: #0d58e3;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s
}

.messages-accept-btn:hover {
    background: #0b47c0
}

.messages-accept-btn:disabled {
    background: #9ca3af;
    cursor: not-allowed
}

.messages-request-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #eff6ff;
    border-top: 1px solid #dbeafe;
    gap: 12px;
    flex-wrap: wrap
}

.messages-request-text {
    font-size: 13px;
    color: #374151;
    font-weight: 500;
    display: flex;
    align-items: center
}

.messages-request-actions {
    display: flex;
    gap: 8px
}

.messages-request-bar .messages-accept-btn {
    margin-top: 0;
    padding: 8px 20px;
    font-size: 13px
}

.messages-decline-btn {
    padding: 8px 20px;
    border-radius: 24px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #dc2626;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s
}

.messages-decline-btn:hover {
    background: #fee2e2;
    border-color: #fca5a5
}

.messages-decline-btn:disabled {
    opacity: .6;
    cursor: not-allowed
}

.messages-pending-info {
    padding: 10px 16px;
    background: #fef3c7;
    border-top: 1px solid #fde68a;
    font-size: 13px;
    color: #92400e;
    font-weight: 500;
    display: flex;
    align-items: center
}

.message-bubble {
    max-width: 70%;
    padding: 10px 14px;
    border-radius: 16px;
    position: relative;
    word-wrap: break-word
}

.message-bubble.mine {
    align-self: flex-end;
    background: #0d58e3;
    color: #fff;
    border-bottom-right-radius: 4px
}

.message-bubble.theirs {
    align-self: flex-start;
    background: #f3f4f6;
    color: #111827;
    border-bottom-left-radius: 4px
}

.message-bubble.sending {
    opacity: .7
}

.message-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5
}

.message-media {
    margin-bottom: 6px
}

.message-media img {
    max-width: 100%;
    border-radius: 10px;
    max-height: 280px;
    object-fit: cover
}

.message-time {
    display: block;
    font-size: 11px;
    margin-top: 4px;
    opacity: .7
}

.message-bubble.mine .message-time {
    text-align: right;
    color: #fffc
}

.message-bubble.theirs .message-time {
    color: #9ca3af
}

.messages-chat-input {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e5e7eb;
    background: #fff
}

.messages-chat-input input {
    flex: 1;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    padding: 10px 18px;
    font-size: 14px;
    outline: none;
    color: #111827;
    background: #f9fafb;
    transition: border-color .2s
}

.messages-chat-input input:focus {
    border-color: #0d58e3;
    background: #fff
}

.messages-chat-input input::placeholder {
    color: #9ca3af
}

.messages-send-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: #0d58e3;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
    flex-shrink: 0
}

.messages-send-btn:hover {
    background: #0b47c0
}

.messages-send-btn:disabled {
    background: #9ca3af;
    cursor: not-allowed
}

.messages-chat-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 8px;
    color: #9ca3af;
    text-align: center
}

.messages-chat-placeholder i {
    font-size: 48px;
    margin-bottom: 8px;
    color: #d1d5db
}

.messages-chat-placeholder h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #374151
}

.messages-chat-placeholder p {
    margin: 0;
    font-size: 14px
}

.messages-page .spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

@keyframes msg-spin {
    to {
        transform: rotate(360deg)
    }
}

.messages-page.dark-mode {
    background: #1e293b;
    border-color: #374151
}

.messages-page.dark-mode .messages-contacts {
    background: #111827;
    border-right-color: #374151
}

.messages-page.dark-mode .messages-contacts-header {
    border-bottom-color: #374151
}

.messages-page.dark-mode .messages-contacts-header h3 {
    color: #f9fafb
}

.messages-page.dark-mode .messages-search-input-wrapper {
    background: #1e293b;
    border-color: #374151
}

.messages-page.dark-mode .messages-search-input-wrapper input {
    color: #f9fafb
}

.messages-page.dark-mode .messages-search-input-wrapper input::placeholder {
    color: #6b7280
}

.messages-page.dark-mode .messages-contact-item:hover {
    background: #1e293b
}

.messages-page.dark-mode .messages-contact-item.active {
    background: #1e3a5f
}

.messages-page.dark-mode .messages-contact-name {
    color: #f9fafb
}

.messages-page.dark-mode .messages-contact-status {
    color: #9ca3af
}

.messages-page.dark-mode .messages-chat {
    background: #1e293b
}

.messages-page.dark-mode .messages-chat-header {
    background: #1e293b;
    border-bottom-color: #374151
}

.messages-page.dark-mode .messages-chat-header-name {
    color: #f9fafb
}

.messages-page.dark-mode .messages-back-btn {
    color: #d1d5db
}

.messages-page.dark-mode .messages-chat-body {
    background: #111827
}

.messages-page.dark-mode .message-bubble.mine {
    background: #3b82f6
}

.messages-page.dark-mode .message-bubble.theirs {
    background: #374151;
    color: #f9fafb
}

.messages-page.dark-mode .message-bubble.theirs .message-time {
    color: #6b7280
}

.messages-page.dark-mode .messages-chat-input {
    background: #1e293b;
    border-top-color: #374151
}

.messages-page.dark-mode .messages-chat-input input {
    background: #374151;
    border-color: #4b5563;
    color: #f9fafb
}

.messages-page.dark-mode .messages-chat-input input:focus {
    border-color: #3b82f6;
    background: #1e293b
}

.messages-page.dark-mode .messages-chat-input input::placeholder {
    color: #6b7280
}

.messages-page.dark-mode .messages-send-btn {
    background: #3b82f6
}

.messages-page.dark-mode .messages-send-btn:hover {
    background: #2563eb
}

.messages-page.dark-mode .messages-send-btn:disabled {
    background: #4b5563
}

.messages-page.dark-mode .messages-chat-placeholder i {
    color: #4b5563
}

.messages-page.dark-mode .messages-chat-placeholder h3 {
    color: #d1d5db
}

.messages-page.dark-mode .messages-chat-placeholder p,
.messages-page.dark-mode .messages-chat-empty i,
.messages-page.dark-mode .messages-chat-loading {
    color: #6b7280
}

.messages-page.dark-mode .messages-chat-empty p {
    color: #9ca3af
}

.messages-page.dark-mode .messages-chat-pending i {
    color: #3b82f6
}

.messages-page.dark-mode .messages-chat-pending p {
    color: #d1d5db
}

.messages-page.dark-mode .messages-chat-pending span {
    color: #9ca3af
}

.messages-page.dark-mode .messages-accept-btn {
    background: #3b82f6
}

.messages-page.dark-mode .messages-accept-btn:hover {
    background: #2563eb
}

.messages-page.dark-mode .messages-accept-btn:disabled {
    background: #4b5563
}

.messages-page.dark-mode .messages-request-bar {
    background: #1e293b;
    border-color: #334155
}

.messages-page.dark-mode .messages-request-text {
    color: #d1d5db
}

.messages-page.dark-mode .messages-decline-btn {
    background: #1f2937;
    border-color: #4b5563;
    color: #f87171
}

.messages-page.dark-mode .messages-decline-btn:hover {
    background: #7f1d1d;
    border-color: #991b1b
}

.messages-page.dark-mode .messages-pending-info {
    background: #1e293b;
    border-color: #334155;
    color: #fbbf24
}

@media(max-width:768px) {
    .messages-contacts {
        width: 100%;
        min-width: 100%
    }

    .messages-page.has-chat .messages-contacts {
        display: none
    }

    .messages-page:not(.has-chat) .messages-chat {
        display: none
    }

    .messages-back-btn {
        display: flex
    }
}

.global-loader-overlay {
    position: fixed;
    inset: 0;
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    animation: fadeIn .3s ease
}

.global-loader-overlay.dark-mode {
    background: linear-gradient(135deg, #0f172a, #1e293b)
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.global-loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.loader-logo {
    animation: pulse 2s ease-in-out infinite
}

@keyframes pulse {

    0%,
    to {
        transform: scale(1)
    }

    50% {
        transform: scale(1.05)
    }
}

.loader-logo-img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    filter: drop-shadow(0 10px 40px rgba(59, 130, 246, .3))
}

.loader-spinner {
    display: flex;
    gap: 8px
}

.spinner-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #3b82f6;
    animation: bounce 1.4s ease-in-out infinite
}

.spinner-dot:nth-child(1) {
    animation-delay: 0s
}

.spinner-dot:nth-child(2) {
    animation-delay: .2s
}

.spinner-dot:nth-child(3) {
    animation-delay: .4s
}

@keyframes bounce {

    0%,
    80%,
    to {
        transform: translateY(0);
        opacity: .6
    }

    40% {
        transform: translateY(-12px);
        opacity: 1
    }
}

.loader-text {
    font-size: 1rem;
    font-weight: 500;
    color: #64748b;
    letter-spacing: .5px
}

.global-loader-overlay.dark-mode .loader-text {
    color: #94a3b8
}

.global-loader-overlay.dark-mode .loader-logo-img {
    filter: drop-shadow(0 10px 40px rgba(59, 130, 246, .2))
}

.global-loader-overlay.dark-mode .spinner-dot {
    background: #60a5fa
}

.site-footer {
    width: 100%;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    padding: 10px 16px;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100
}

.footer-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 10px
}

.footer-links a {
    color: #6b7280;
    text-decoration: none;
    transition: color .15s
}

.footer-links a:hover {
    color: #0d58e3;
    text-decoration: underline
}

.footer-dot {
    color: #d1d5db;
    font-size: 12px
}

.footer-copy {
    font-size: 12px;
    color: #9ca3af
}

.dark-mode .site-footer {
    background: #15202b;
    border-color: #2f3336
}

.dark-mode .footer-links a {
    color: #8b98a5
}

.dark-mode .footer-links a:hover {
    color: #3b82f6
}

.dark-mode .footer-dot {
    color: #4b5563
}

.dark-mode .footer-copy {
    color: #6b7280
}

/* Mobile footer spacing fix - add padding to prevent footer overlap */
@media(max-width:575.98px) {
    body {
        padding-bottom: 80px;
    }
}

.account-tab-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.notification-dot {
    position: absolute;
    top: -4px;
    right: -6px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ef4444;
    box-shadow: 0 0 0 2px #fff;
}

.notification-dot.blinking {
    animation: notificationDotBlink 1s ease-in-out infinite;
}

@keyframes notificationDotBlink {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: .35;
        transform: scale(.82);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.dark-mode .notification-dot {
    box-shadow: 0 0 0 2px #23272f;
}

.notification-unread-count {
    margin-left: 6px;
    font-size: 11px;
    line-height: 1;
    color: #b91c1c;
    background: #fee2e2;
    border: 1px solid #fecaca;
    border-radius: 999px;
    padding: 2px 6px;
}

.dark-mode .notification-unread-count {
    color: #fecaca;
    background: #7f1d1d;
    border-color: #991b1b;
}

.notification-feed-list {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.notification-feed-item {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    background: #fff;
}

.notification-feed-item.clickable {
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease;
}

.notification-feed-item.clickable:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
}

.notification-feed-item.clickable:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.dark-mode .notification-feed-item.clickable:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
}

.notification-feed-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.notification-feed-avatar,
.notification-feed-avatar-fallback {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
}

.notification-feed-avatar {
    object-fit: cover;
    background: #f3f4f6;
}

.notification-feed-avatar-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e5e7eb;
    color: #374151;
    font-size: 14px;
    font-weight: 700;
}

.notification-feed-content {
    min-width: 0;
    flex: 1;
}

.notification-feed-item.unread {
    border-left: 4px solid #ef4444;
    background: #fff7f7;
}

.dark-mode .notification-feed-item {
    border-color: #374151;
    background: #1f2937;
}

.dark-mode .notification-feed-avatar,
.dark-mode .notification-feed-avatar-fallback {
    border-color: #4b5563;
}

.dark-mode .notification-feed-avatar {
    background: #374151;
}

.dark-mode .notification-feed-avatar-fallback {
    background: #374151;
    color: #f3f4f6;
}

.dark-mode .notification-feed-item.unread {
    border-left-color: #f87171;
    background: #1f1b1b;
}

.notification-feed-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.notification-feed-message {
    font-size: 13px;
    color: #4b5563;
    margin-bottom: 6px;
}

.dark-mode .notification-feed-message {
    color: #d1d5db;
}

.notification-feed-time {
    font-size: 11px;
    color: #6b7280;
}

.notification-section-divider {
    margin: 10px 0 14px;
    border: 0;
    border-top: 1px solid #e5e7eb;
}

.dark-mode .notification-section-divider {
    border-top-color: #374151;
}

@media(max-width:480px) {
    .account-tabs-wrapper {
        padding: 0 .5rem
    }

    .account-tab {
        min-width: 76px;
        padding: .625rem .5rem
    }

    .notification-feed-row {
        gap: 8px;
    }

    .notification-feed-avatar,
    .notification-feed-avatar-fallback {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }
}