@charset "UTF-8";
/* START CONFIGURATION */
/* END CONFIGURATION */
/*-----------------------------------------------------------*/
/* START LAYOUT & COMPONENTS */
/* Font auto-ospitati (Cinzel, Jost, Red Hat Text) — sostituiscono l'import da Google Fonts.
   Carica i file .woff2 in ./assets/fonts/<nome-font>/ come indicato nei percorsi sottostanti. */
@font-face {
    font-family: "Cinzel";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/cinzel/cinzel-v26-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Cinzel";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/cinzel/cinzel-v26-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Cinzel";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/cinzel/cinzel-v26-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Cinzel";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/cinzel/cinzel-v26-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../fonts/jost/jost-v20-latin-300.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/jost/jost-v20-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/jost/jost-v20-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/jost/jost-v20-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Jost";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/jost/jost-v20-latin-700.woff2") format("woff2");
}
@font-face {
    font-family: "Red Hat Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/red-hat-text/red-hat-text-v19-latin-regular.woff2") format("woff2");
}
@font-face {
    font-family: "Red Hat Text";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/red-hat-text/red-hat-text-v19-latin-500.woff2") format("woff2");
}
@font-face {
    font-family: "Red Hat Text";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/red-hat-text/red-hat-text-v19-latin-600.woff2") format("woff2");
}
@font-face {
    font-family: "Red Hat Text";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/red-hat-text/red-hat-text-v19-latin-700.woff2") format("woff2");
}
:root,
[data-bs-theme=light] {
    --bs-blue: #3f78e0;
    --bs-indigo: #605dba;
    --bs-purple: #747ed1;
    --bs-pink: #e668b3;
    --bs-red: #e35d5d;
    --bs-orange: #e58767;
    --bs-yellow: #eeb461;
    --bs-green: #5ab77b;
    --bs-teal: #4fc0c0;
    --bs-cyan: #5eb9f0;
    --bs-black: #111;
    --bs-white: #fff;
    --bs-gray: #6c6c6c;
    --bs-gray-dark: #343434;
    --bs-gray-100: #f8f8f8;
    --bs-gray-200: #e9e9e9;
    --bs-gray-300: #dedede;
    --bs-gray-400: #cecece;
    --bs-gray-500: #adadad;
    --bs-gray-600: #6c6c6c;
    --bs-gray-700: #494949;
    --bs-gray-800: #343434;
    --bs-gray-900: #212121;
    --bs-primary: #a7856a;
    --bs-secondary: #6c6c6c;
	--bs-layered-card: #a784691a;
    --bs-success: #5ab77b;
    --bs-info: #5eb9f0;
    --bs-warning: #eeb461;
    --bs-danger: #e35d5d;
    --bs-light: #f8f8f8;
    --bs-dark: #212121;
    --bs-primary-rgb: 167, 133, 106;
    --bs-secondary-rgb: 108, 108, 108;
	--bs-layered-card-rgb: 167, 132, 105;
    --bs-success-rgb: 90, 183, 123;
    --bs-info-rgb: 94, 185, 240;
    --bs-warning-rgb: 238, 180, 97;
    --bs-danger-rgb: 227, 93, 93;
    --bs-light-rgb: 248, 248, 248;
    --bs-dark-rgb: 33, 33, 33;
    --bs-primary-text-emphasis: #43352a;
    --bs-secondary-text-emphasis: #2b2b2b;
    --bs-success-text-emphasis: #244931;
    --bs-info-text-emphasis: #264a60;
    --bs-warning-text-emphasis: #5f4827;
    --bs-danger-text-emphasis: #5b2525;
    --bs-light-text-emphasis: #494949;
    --bs-dark-text-emphasis: #494949;
    --bs-primary-bg-subtle: #ede7e1;
    --bs-secondary-bg-subtle: #e2e2e2;
    --bs-success-bg-subtle: #def1e5;
    --bs-info-bg-subtle: #dff1fc;
    --bs-warning-bg-subtle: #fcf0df;
    --bs-danger-bg-subtle: #f9dfdf;
    --bs-light-bg-subtle: #fcfcfc;
    --bs-dark-bg-subtle: #cecece;
    --bs-primary-border-subtle: #dccec3;
    --bs-secondary-border-subtle: #c4c4c4;
    --bs-success-border-subtle: #bde2ca;
    --bs-info-border-subtle: #bfe3f9;
    --bs-warning-border-subtle: #f8e1c0;
    --bs-danger-border-subtle: #f4bebe;
    --bs-light-border-subtle: #e9e9e9;
    --bs-dark-border-subtle: #adadad;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 17, 17, 17;
	--bs-room-last-rgb: 142, 90, 52;
    --bs-font-sans-serif: "Jost", sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1.135rem;
    --bs-body-font-weight: 300;
    --bs-body-line-height: 1.5;
    --bs-body-color: #111;
    --bs-body-color-rgb: 17, 17, 17;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #111;
    --bs-emphasis-color-rgb: 17, 17, 17;
    --bs-secondary-color: rgba(17, 17, 17, 0.75);
    --bs-secondary-color-rgb: 17, 17, 17;
    --bs-secondary-bg: #e9e9e9;
    --bs-secondary-bg-rgb: 245, 237, 219;
    --bs-tertiary-color: rgba(17, 17, 17, 0.5);
    --bs-tertiary-color-rgb: 17, 17, 17;
    --bs-tertiary-bg: #f3f3f3;
    --bs-tertiary-bg-rgb: 185, 175, 138;
    --bs-heading-color: inherit;
    --bs-link-color: #a7856a;
    --bs-link-color-rgb: 167, 133, 106;
    --bs-link-decoration: none;
    --bs-link-hover-color: #866a55;
    --bs-link-hover-color-rgb: 134, 106, 85;
    --bs-code-color: #e668b3;
    --bs-highlight-color: #111;
    --bs-highlight-bg: #fcf0df;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dedede;
    --bs-border-color-translucent: rgba(17, 17, 17, 0.175);
    --bs-border-radius: 0.075rem;
    --bs-border-radius-sm: 0.115rem;
    --bs-border-radius-lg: 0.15rem;
    --bs-border-radius-xl: 0.175rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 0.25rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(17, 17, 17, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(17, 17, 17, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(17, 17, 17, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(167, 133, 106, 0.25);
    --bs-form-valid-color: #5ab77b;
    --bs-form-valid-border-color: #5ab77b;
    --bs-form-invalid-color: #e35d5d;
    --bs-form-invalid-border-color: #e35d5d;
}
[data-bs-theme=dark] {
    --bs-body-color: #dedede;
    --bs-body-color-rgb: 222, 222, 222;
    --bs-body-bg: #212121;
    --bs-body-bg-rgb: 33, 33, 33;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 222, 222, 0.75);
    --bs-secondary-color-rgb: 222, 222, 222;
    --bs-secondary-bg: #343434;
    --bs-secondary-bg-rgb: 52, 52, 52;
    --bs-tertiary-color: rgba(222, 222, 222, 0.5);
    --bs-tertiary-color-rgb: 222, 222, 222;
    --bs-tertiary-bg: #2b2b2b;
    --bs-tertiary-bg-rgb: 43, 43, 43;
    --bs-primary-text-emphasis: #cab6a6;
    --bs-secondary-text-emphasis: #a7a7a7;
    --bs-success-text-emphasis: #9cd4b0;
    --bs-info-text-emphasis: #9ed5f6;
    --bs-warning-text-emphasis: #f5d2a0;
    --bs-danger-text-emphasis: #ee9e9e;
    --bs-light-text-emphasis: #f8f8f8;
    --bs-dark-text-emphasis: #dedede;
    --bs-primary-bg-subtle: #211b15;
    --bs-secondary-bg-subtle: #161616;
    --bs-success-bg-subtle: #122519;
    --bs-info-bg-subtle: #132530;
    --bs-warning-bg-subtle: #302413;
    --bs-danger-bg-subtle: #2d1313;
    --bs-light-bg-subtle: #343434;
    --bs-dark-bg-subtle: #232323;
    --bs-primary-border-subtle: #645040;
    --bs-secondary-border-subtle: #414141;
    --bs-success-border-subtle: #366e4a;
    --bs-info-border-subtle: #386f90;
    --bs-warning-border-subtle: #8f6c3a;
    --bs-danger-border-subtle: #883838;
    --bs-light-border-subtle: #494949;
    --bs-dark-border-subtle: #343434;
    --bs-heading-color: inherit;
    --bs-link-color: #cab6a6;
    --bs-link-hover-color: #d5c5b8;
    --bs-link-color-rgb: 202, 182, 166;
    --bs-link-hover-color-rgb: 213, 197, 184;
    --bs-code-color: #f0a4d1;
    --bs-highlight-color: #dedede;
    --bs-highlight-bg: #5f4827;
    --bs-border-color: #494949;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-form-valid-color: #9cd4b0;
    --bs-form-valid-border-color: #9cd4b0;
    --bs-form-invalid-color: #ee9e9e;
    --bs-form-invalid-border-color: #ee9e9e;
}
:root,
[data-bs-theme=light] {
    --bs-primary-50: #f4f0ec;
    --bs-primary-100: #ede7e1;
    --bs-primary-150: #e5dad2;
    --bs-primary-200: #dccec3;
    --bs-primary-250: #d3c2b5;
    --bs-primary-300: #cab6a6;
    --bs-primary-350: #c1aa97;
    --bs-primary-400: #b99d88;
    --bs-primary-450: #b09179;
    --bs-primary-500: #a7856a;
    --bs-primary-550: #96785f;
    --bs-primary-600: #866a55;
    --bs-primary-650: #755d4a;
    --bs-primary-700: #645040;
    --bs-primary-750: #544335;
    --bs-primary-800: #43352a;
    --bs-primary-850: #43352a;
    --bs-primary-900: #211b15;
    --bs-primary-950: #15110d;
    --bs--emphasis-color-rgb: #111;
}
[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-bg-rgb: 33, 33, 33;
}
*,
*::before,
*::after {
    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: rgba(17, 17, 17, 0);
}
hr {
    margin: 1.5rem 0;
    color: #adadad;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: 0.25;
}
h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
    margin-top: 0;
    margin-bottom: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--bs-heading-color);
}
h1,
.h1 {
    font-size: calc(1.378125rem + 1.5375vw);
}
@media (min-width: 1200px) {
    h1,
    .h1 {
        font-size: 2.53125rem;
    }
}
h2,
.h2 {
    font-size: calc(1.333125rem + 0.9975vw);
}
@media (min-width: 1200px) {
    h2,
    .h2 {
        font-size: 2.08125rem;
    }
}
h3,
.h3 {
    font-size: calc(1.2825rem + 0.39vw);
}
@media (min-width: 1200px) {
    h3,
    .h3 {
        font-size: 1.575rem;
    }
}
h4,
.h4 {
    font-size: calc(1.26rem + 0.12vw);
}
@media (min-width: 1200px) {
    h4,
    .h4 {
        font-size: 1.35rem;
    }
}
h5,
.h5 {
    font-size: 1.18125rem;
}
h6,
.h6 {
    font-size: 1.06875rem;
}
p {
    margin-top: 0;
    margin-bottom: 1rem;
}
abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
}
address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}
ol,
ul {
    padding-left: 2rem;
}
ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}
dt {
    font-weight: 600;
}
dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}
blockquote {
    margin: 0 0 1rem;
}
small,
.small {
    font-size: 0.9em;
}
mark,
.mark {
    padding: 0.1875em;
    color: var(--bs-highlight-color);
}
sub,
sup {
    position: relative;
    font-size: 0.75em;
    line-height: 0;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
a {
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: none;
}
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;
}
pre,
code,
kbd,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
}
pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: 0.875rem;
}
pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}
code {
    font-size: 0.875rem;
    color: var(--bs-code-color);
    word-wrap: break-word;
}
a>code {
    color: inherit;
}
kbd {
    padding: 0.1875rem 0.375rem;
    font-size: 0.875rem;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: 0.115rem;
}
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: 1rem;
    padding-bottom: 1rem;
    color: var(--bs-secondary-color);
    text-align: left;
}
th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}
label {
    display: inline-block;
}
button {
    border-radius: 0;
}
button:focus:not(:focus-visible) {
    outline: 0;
}
input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button,
select {
    text-transform: none;
}
[role=button] {
    cursor: pointer;
}
select {
    word-wrap: normal;
}
select:disabled {
    opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer;
}
::-moz-focus-inner {
    padding: 0;
    border-style: none;
}
textarea {
    resize: vertical;
}
fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}
legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: calc(1.275rem + 0.3vw);
    line-height: inherit;
}
@media (min-width: 1200px) {
    legend {
        font-size: 1.5rem;
    }
}
legend+* {
    clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
    padding: 0;
}
::-webkit-inner-spin-button {
    height: auto;
}
[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
    padding: 0;
}
::file-selector-button {
    font: inherit;
    -webkit-appearance: button;
}
output {
    display: inline-block;
}
iframe {
    border: 0;
}
summary {
    display: list-item;
    cursor: pointer;
}
progress {
    vertical-align: baseline;
}
[hidden] {
    display: none !important;
}
b,
strong {
    font-weight: 500;
}
a:hover {
    transition: all 0.35s ease-in-out;
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Jost", sans-serif;
}
mark,
.mark {
    font-family: var(--bs-font-monospace);
    font-size: 0.875rem;
    font-weight: var(--bs-body-font-weight);
    background-color: rgba(var(--bs-dark-rgb), 0.065);
    border-radius: var(--bs-border-radius);
}
::selection {
    background: var(--bs-primary);
    color: var(--bs-white);
}
::-moz-selection {
    background: var(--bs-primary);
    color: var(--bs-white);
}
::-webkit-selection {
    background: var(--bs-primary);
    color: var(--bs-white);
}
*::scrollbar {
    width: 12px;
}
*::scrollbar-track {
    background-color: var(--bs-gray-100);
}
*::scrollbar-thumb {
    border: 1px solid transparent;
    background-clip: content-box;
    background-color: var(--bs-gray-500);
}
*::-moz-scrollbar {
    width: 12px;
}
*::-moz-scrollbar-track {
    background-color: var(--bs-gray-100);
}
*::-moz-scrollbar-thumb {
    border: 1px solid transparent;
    background-clip: content-box;
    background-color: var(--bs-gray-500);
}
*::-webkit-scrollbar {
    width: 12px;
}
*::-webkit-scrollbar-track {
    background-color: var(--bs-gray-100);
}
*::-webkit-scrollbar-thumb {
    border: 1px solid transparent;
    background-clip: content-box;
    background-color: var(--bs-gray-500);
}
.lead {
    font-size: calc(1.265625rem + 0.1875vw);
    font-weight: 300;
}
@media (min-width: 1200px) {
    .lead {
        font-size: 1.40625rem;
    }
}
.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem;
    }
}
.display-2 {
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-2 {
        font-size: 4.5rem;
    }
}
.display-3 {
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-3 {
        font-size: 4rem;
    }
}
.display-4 {
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-4 {
        font-size: 3.5rem;
    }
}
.display-5 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-5 {
        font-size: 3rem;
    }
}
.display-6 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.35;
}
@media (min-width: 1200px) {
    .display-6 {
        font-size: 2.5rem;
    }
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
}
.list-inline {
    padding-left: 0;
    list-style: none;
}
.list-inline-item {
    display: inline-block;
}
.list-inline-item:not(:last-child) {
    margin-right: 0.5rem;
}
.blockquote {
    margin-bottom: 1rem;
    font-size: 1.125rem;
}
.blockquote> :last-child {
    margin-bottom: 0;
}
.img-fluid {
    max-width: 100%;
    height: auto;
}
.img-thumbnail {
    padding: 0.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 {
    --bs-figure-image-transition: all 0.35s ease-in-out;
    --bs-figure-image-bg: var(--bs-black-rgb);
    --bs-figure-image-bg-opacity: 0.35;
    --bs-figure-image-bg-static-opacity: 0.55;
    --bs-figure-image-scale: 1.055;
}
figure.image-hover-overlay-static {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
}
figure.image-hover-overlay-static:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    transition: var(--bs-figure-image-transition);
    background: rgba(var(--bs-figure-image-bg), var(--bs-figure-image-bg-static-opacity));
}
figure.image-hover-overlay {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
}
figure.image-hover-overlay:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    transition: var(--bs-figure-image-transition);
    background: rgba(var(--bs-figure-image-bg), var(--bs-figure-image-bg-opacity));
    opacity: 0;
}
figure.image-hover-overlay:hover::after {
    opacity: 1;
}
figure.image-hover-scale {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
}
figure.image-hover-scale img {
    transition: var(--bs-figure-image-transition);
}
figure.image-hover-scale:hover img {
    transform: scale(var(--bs-figure-image-scale));
}
figure .image-hover-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: var(--bs-figure-image-transition);
    z-index: 2;
    color: white;
}
figure:hover .image-hover-icon {
    opacity: 1;
}
figure.room-figure {
    position: relative;
}
.room-stock-badge {
    position: absolute;
    top: 0.875rem;
    left: 0;
    z-index: 2;
    background-color: rgba(17, 17, 17, 0.85);
    color: #fff;
    font-weight: 400;
    font-size: 0.9rem;
    line-height: 1;
    padding: 0.55rem 1rem;
}
.room-stock-badge-danger {
    background-color: rgba(227, 93, 93, 0.6);
}
.room-stock-badge-warning {
    background-color: rgb(224, 138, 60, 0.6);
}
.room-stock-badge-success {
    background-color: rgb(90, 143, 90, 0.6);
}
.room-stock-badge-muted {
    background-color: rgba(108, 108, 108, 0.85);
}
.room-details-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background-color: rgba(17, 17, 17, 0.19);
    color: #fff;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    text-align: center;
    padding: 0.6rem 1rem;
}
.container,
.container-fluid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}
: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(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}
.col {
    flex: 1 0 0%;
}
.col-auto {
    flex: 0 0 auto;
    width: auto;
}
.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}
.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}
.col-3 {
    flex: 0 0 auto;
    width: 25%;
}
.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}
.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}
.col-6 {
    flex: 0 0 auto;
    width: 50%;
}
.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}
.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}
.col-9 {
    flex: 0 0 auto;
    width: 75%;
}
.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}
.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}
.col-12 {
    flex: 0 0 auto;
    width: 100%;
}
.offset-1 {
    margin-left: 8.33333333%;
}
.offset-2 {
    margin-left: 16.66666667%;
}
.offset-3 {
    margin-left: 25%;
}
.offset-4 {
    margin-left: 33.33333333%;
}
.offset-5 {
    margin-left: 41.66666667%;
}
.offset-6 {
    margin-left: 50%;
}
.offset-7 {
    margin-left: 58.33333333%;
}
.offset-8 {
    margin-left: 66.66666667%;
}
.offset-9 {
    margin-left: 75%;
}
.offset-10 {
    margin-left: 83.33333333%;
}
.offset-11 {
    margin-left: 91.66666667%;
}
.g-0 {
    --bs-gutter-x: 0;
}
.g-0 {
    --bs-gutter-y: 0;
}
.g-1 {
    --bs-gutter-x: 0.25rem;
}
.g-1 {
    --bs-gutter-y: 0.25rem;
}
.g-2 {
    --bs-gutter-x: 0.5rem;
}
.g-2 {
    --bs-gutter-y: 0.5rem;
}
.g-3 {
    --bs-gutter-x: 0.75rem;
}
.g-3 {
    --bs-gutter-y: 0.75rem;
}
.g-4,
.gx-4 {
    --bs-gutter-x: 1rem;
}
.g-4 {
    --bs-gutter-y: 1rem;
}
.g-5 {
    --bs-gutter-x: 1.25rem;
}
.g-5 {
    --bs-gutter-y: 1.25rem;
}
.g-6 {
    --bs-gutter-x: 1.5rem;
}
.g-6 {
    --bs-gutter-y: 1.5rem;
}
.g-7 {
    --bs-gutter-x: 1.75rem;
}
.g-7 {
    --bs-gutter-y: 1.75rem;
}
.g-8 {
    --bs-gutter-x: 2rem;
}
.g-8 {
    --bs-gutter-y: 2rem;
}
.g-9 {
    --bs-gutter-x: 2.5rem;
}
.g-9 {
    --bs-gutter-y: 2.5rem;
}
.g-10 {
    --bs-gutter-x: 3rem;
}
.g-10 {
    --bs-gutter-y: 3rem;
}
.g-11 {
    --bs-gutter-x: 3.5rem;
}
.g-11 {
    --bs-gutter-y: 3.5rem;
}
.g-12 {
    --bs-gutter-x: 4rem;
}
.g-12 {
    --bs-gutter-y: 4rem;
}
.g-13 {
    --bs-gutter-x: 4.5rem;
}
.g-13 {
    --bs-gutter-y: 4.5rem;
}
.g-14 {
    --bs-gutter-x: 5rem;
}
.g-14 {
    --bs-gutter-y: 5rem;
}
.g-15 {
    --bs-gutter-x: 5.5rem;
}
.g-15 {
    --bs-gutter-y: 5.5rem;
}
.g-16 {
    --bs-gutter-x: 6rem;
}
.g-16 {
    --bs-gutter-y: 6rem;
}
.g-17 {
    --bs-gutter-x: 6.5rem;
}
.g-17 {
    --bs-gutter-y: 6.5rem;
}
.g-18 {
    --bs-gutter-x: 7rem;
}
.g-18 {
    --bs-gutter-y: 7rem;
}
.g-19 {
    --bs-gutter-x: 7.5rem;
}
.g-19 {
    --bs-gutter-y: 7.5rem;
}
.g-20 {
    --bs-gutter-x: 8rem;
}
.g-20 {
    --bs-gutter-y: 8rem;
}
.g-21 {
    --bs-gutter-x: 8.5rem;
}
.g-21 {
    --bs-gutter-y: 8.5rem;
}
.g-22 {
    --bs-gutter-x: 9rem;
}
.g-22 {
    --bs-gutter-y: 9rem;
}
.g-23 {
    --bs-gutter-x: 9.5rem;
}
.g-23 {
    --bs-gutter-y: 9.5rem;
}
.g-24 {
    --bs-gutter-x: 10rem;
}
.g-24 {
    --bs-gutter-y: 10rem;
}
.g-25 {
    --bs-gutter-x: 10.5rem;
}
.g-25 {
    --bs-gutter-y: 10.5rem;
}
.g-26 {
    --bs-gutter-x: 11rem;
}
.g-26 {
    --bs-gutter-y: 11rem;
}
.g-27 {
    --bs-gutter-x: 12rem;
}
.g-27 {
    --bs-gutter-y: 12rem;
}
.g-28 {
    --bs-gutter-x: 13rem;
}
.g-28 {
    --bs-gutter-y: 13rem;
}
.g-29 {
    --bs-gutter-x: 14rem;
}
.g-29 {
    --bs-gutter-y: 14rem;
}
.g-30 {
    --bs-gutter-x: 15rem;
}
.g-30 {
    --bs-gutter-y: 15rem;
}
.g-31 {
    --bs-gutter-x: 16rem;
}
.g-31 {
    --bs-gutter-y: 16rem;
}
.g-32 {
    --bs-gutter-x: 17rem;
}
.g-32 {
    --bs-gutter-y: 17rem;
}
.g-33 {
    --bs-gutter-x: 18rem;
}
.g-33 {
    --bs-gutter-y: 18rem;
}
.g-34 {
    --bs-gutter-x: 19rem;
}
.g-34 {
    --bs-gutter-y: 19rem;
}
.g-35 {
    --bs-gutter-x: 20rem;
}
.g-35 {
    --bs-gutter-y: 20rem;
}
@media (min-width: 576px) {
    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}
@media (min-width: 768px) {
    .col-md {
        flex: 1 0 0%;
    }
    .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%;
    }
    .g-md-4 {
        --bs-gutter-x: 1rem;
    }
    .g-md-4 {
        --bs-gutter-y: 1rem;
    }
    .g-md-8 {
        --bs-gutter-x: 2rem;
    }
    .g-md-8 {
        --bs-gutter-y: 2rem;
    }
}
@media (min-width: 992px) {
    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .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-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .g-lg-8 {
        --bs-gutter-x: 2rem;
    }
    .g-lg-8 {
        --bs-gutter-y: 2rem;
    }
    .g-lg-10 {
        --bs-gutter-x: 3rem;
    }
    .g-lg-10 {
        --bs-gutter-y: 3rem;
    }
}
@media (min-width: 1200px) {
    .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-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}
@media (min-width: 1400px) {
    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
}
.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), 0.05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color);
}
.table> :not(caption)>*>* {
    padding: 1rem 1.15rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    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;
}
.caption-top {
    caption-side: top;
}
.table-bordered> :not(caption)>* {
    border-width: var(--bs-border-width) 0;
}
.table-bordered> :not(caption)>*>* {
    border-width: 0 var(--bs-border-width);
}
.table-primary {
    --bs-table-color: #111;
    --bs-table-bg: #ede7e1;
    --bs-table-border-color: #c1bcb7;
    --bs-table-striped-bg: #e2dcd7;
    --bs-table-striped-color: #111;
    --bs-table-active-bg: #d7d2cc;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #ddd7d1;
    --bs-table-hover-color: #111;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}
.table-secondary {
    --bs-table-color: #111;
    --bs-table-bg: #e2e2e2;
    --bs-table-border-color: #b8b8b8;
    --bs-table-striped-bg: #d8d8d8;
    --bs-table-striped-color: #111;
    --bs-table-active-bg: #cdcdcd;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #d2d2d2;
    --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;
}
.table th {
    font-weight: 500;
}
.table> :not(caption)>*>* {
    background-color: transparent;
}
.form-label {
    margin-bottom: 0.5rem;
}
.form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1.125rem;
    font-weight: 300;
    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 0.15s ease-in-out, box-shadow 0.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: #d3c2b5;
    outline: 0;
    box-shadow: 0 0 0 1px rgba(167, 133, 106, 0.25);
}
.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::-moz-placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}
.form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}
.form-control:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1;
}
.form-control::file-selector-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    margin-inline-end: 0.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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-control::file-selector-button {
        transition: none;
    }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--bs-secondary-bg);
}
.form-control-sm {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
    padding: 0.25rem 0.5rem;
    font-size: 0.984375rem;
    border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
    padding: 0.25rem 0.5rem;
    margin: -0.25rem -0.5rem;
    margin-inline-end: 0.5rem;
}
textarea.form-control {
    min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color {
    width: 3rem;
    height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
    padding: 0.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 + 0.5rem + 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='%23343434' 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: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1.125rem;
    font-weight: 300;
    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 0.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 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-select {
        transition: none;
    }
}
.form-select:focus {
    border-color: #d3c2b5;
    outline: 0;
    box-shadow: 0 0 0 1px rgba(167, 133, 106, 0.25);
}
.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: 0.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: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    font-size: 0.984375rem;
    border-radius: var(--bs-border-radius-sm);
}
.form-select-lg {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    font-size: calc(1.265625rem + 0.1875vw);
    border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
    .form-select-lg {
        font-size: 1.40625rem;
    }
}
[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='%23dedede' 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.6875rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}
.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}
.form-check-input {
    --bs-form-check-bg: var(--bs-body-bg);
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: 0.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;
    print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
    border-radius: 0.25em;
}
.form-check-input[type=radio] {
    border-radius: 50%;
}
.form-check-input:active {
    filter: brightness(90%);
}
.form-check-input:focus {
    border-color: #d3c2b5;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(167, 133, 106, 0.25);
}
.form-check-input:checked {
    background-color: #a7856a;
    border-color: #a7856a;
}
.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: #a7856a;
    border-color: #a7856a;
    --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: 0.5;
}
.form-check-input[disabled]~.form-check-label,
.form-check-input:disabled~.form-check-label {
    cursor: default;
    opacity: 0.5;
}
.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: 0.65;
}
.form-range {
    width: 100%;
    height: calc(1rem + 2px);
    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 1px rgba(167, 133, 106, 0.25);
}
.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 1px rgba(167, 133, 106, 0.25);
}
.form-range::-moz-focus-outer {
    border: 0;
}
.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    -webkit-appearance: none;
    appearance: none;
    background-color: #a7856a;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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: #e5dad2;
}
.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.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: #a7856a;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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: #e5dad2;
}
.form-range::-moz-range-track {
    width: 100%;
    height: 0.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-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;
    height: 100%;
    padding: 1rem 0.75rem;
    overflow: hidden;
    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 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .form-floating>label {
        transition: none;
    }
}
.form-floating>.form-control {
    padding: 1rem 0.75rem;
}
.form-floating>.form-control::-moz-placeholder {
    color: transparent;
}
.form-floating>.form-control::placeholder {
    color: transparent;
}
.form-floating>.form-control:not(:-moz-placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating>.form-control:focus,
.form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: 0.625rem;
}
.form-floating>.form-control:not(:-moz-placeholder-shown)~label {
    color: rgba(var(--bs-body-color-rgb), 0.65);
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
    color: rgba(var(--bs-body-color-rgb), 0.65);
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after {
    position: absolute;
    inset: 1rem 0.375rem;
    z-index: -1;
    height: 1.5em;
    content: "";
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
}
.form-floating>.form-control:focus~label::after,
.form-floating>.form-control:not(:placeholder-shown)~label::after,
.form-floating>.form-select~label::after {
    position: absolute;
    inset: 1rem 0.375rem;
    z-index: -1;
    height: 1.5em;
    content: "";
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
}
.form-floating>.form-control:-webkit-autofill~label {
    color: rgba(var(--bs-body-color-rgb), 0.65);
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating> :disabled~label,
.form-floating>.form-control:disabled~label {
    color: #6c6c6c;
}
.form-floating> :disabled~label::after,
.form-floating>.form-control:disabled~label::after {
    background-color: var(--bs-secondary-bg);
}
.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}
.input-group>.form-control,
.input-group>.form-select,
.input-group>.form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}
.input-group>.form-control:focus,
.input-group>.form-select:focus,
.input-group>.form-floating:focus-within {
    z-index: 5;
}
.input-group .btn {
    position: relative;
    z-index: 2;
}
.input-group .btn:focus {
    z-index: 5;
}
.input-group:not(.has-validation)> :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,
.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group> :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: calc(var(--bs-border-width) * -1);
    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;
}
.was-validated .form-control:valid,
.form-control.is-valid {
    border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 1px rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-select:valid,
.form-select.is-valid {
    border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:focus,
.form-select.is-valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 1px rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid,
.form-check-input.is-valid {
    border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked,
.form-check-input.is-valid:checked {
    background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus {
    box-shadow: 0 0 0 1px rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid~.form-check-label,
.form-check-input.is-valid~.form-check-label {
    color: var(--bs-form-valid-color);
}
.was-validated .input-group>.form-control:not(:focus):valid,
.input-group>.form-control:not(:focus).is-valid,
.was-validated .input-group>.form-select:not(:focus):valid,
.input-group>.form-select:not(:focus).is-valid,
.was-validated .input-group>.form-floating:not(:focus-within):valid,
.input-group>.form-floating:not(:focus-within).is-valid {
    z-index: 3;
}
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: var(--bs-form-invalid-color);
}
.was-validated :invalid~.invalid-feedback,
.is-invalid~.invalid-feedback {
    display: block;
}
.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 1px rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-select:invalid,
.form-select.is-invalid {
    border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:focus,
.form-select.is-invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 1px rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid,
.form-check-input.is-invalid {
    border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked,
.form-check-input.is-invalid:checked {
    background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus,
.form-check-input.is-invalid:focus {
    box-shadow: 0 0 0 1px rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid~.form-check-label,
.form-check-input.is-invalid~.form-check-label {
    color: var(--bs-form-invalid-color);
}
.was-validated .input-group>.form-control:not(:focus):invalid,
.input-group>.form-control:not(:focus).is-invalid,
.was-validated .input-group>.form-select:not(:focus):invalid,
.input-group>.form-select:not(:focus).is-invalid,
.was-validated .input-group>.form-floating:not(:focus-within):invalid,
.input-group>.form-floating:not(:focus-within).is-invalid {
    z-index: 4;
}
/* Control with icon */
.control-icon {
    position: relative;
}
.control-icon>.form-control,
.control-icon>.form-select,
.control-icon button.form-select {
    padding-left: 3rem;
}
.control-icon>.form-control.form-select-lg,
.control-icon>.form-select.form-select-lg,
.control-icon button.form-select.form-select-lg {
    padding-left: 2.75rem;
}
.control-icon>.hicon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1rem;
    z-index: 3 !important;
}
.form-select.form-select-indicator-light {
    --bs-form-select-bg-img-light: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f8f8f8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-image: var(--bs-form-select-bg-img-light), var(--bs-form-select-bg-icon, none);
}
.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-font-weight: 300;
    --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, 0.15), 0 1px 1px rgba(17, 17, 17, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 1px 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;
    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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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,
:not(.btn-check)+.btn:active,
.btn:first-child:active,
.btn.active,
.btn.show {
    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,
:not(.btn-check)+.btn:active:focus-visible,
.btn:first-child:active:focus-visible,
.btn.active:focus-visible,
.btn.show: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: #846955;
    --bs-btn-border-color: #a7856a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #8e715a;
    --bs-btn-hover-border-color: #866a55;
    --bs-btn-focus-shadow-rgb: 180, 151, 128;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #866a55;
    --bs-btn-active-border-color: #7d6450;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #a7856a;
    --bs-btn-disabled-border-color: #a7856a;
}
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6c6c6c;
    --bs-btn-border-color: #6c6c6c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5c5c5c;
    --bs-btn-hover-border-color: #565656;
    --bs-btn-focus-shadow-rgb: 130, 130, 130;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #565656;
    --bs-btn-active-border-color: #515151;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c6c6c;
    --bs-btn-disabled-border-color: #6c6c6c;
}
.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #e35d5d;
    --bs-btn-border-color: #e35d5d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c14f4f;
    --bs-btn-hover-border-color: #b64a4a;
    --bs-btn-focus-shadow-rgb: 231, 117, 117;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b64a4a;
    --bs-btn-active-border-color: #aa4646;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #e35d5d;
    --bs-btn-disabled-border-color: #e35d5d;
}
.btn-light {
    --bs-btn-color: #111;
    --bs-btn-bg: #f8f8f8;
    --bs-btn-border-color: #f8f8f8;
    --bs-btn-hover-color: #111;
    --bs-btn-hover-bg: lightgray;
    --bs-btn-hover-border-color: #c6c6c6;
    --bs-btn-focus-shadow-rgb: 213, 213, 213;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #c6c6c6;
    --bs-btn-active-border-color: #bababa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #111;
    --bs-btn-disabled-bg: #f8f8f8;
    --bs-btn-disabled-border-color: #f8f8f8;
}
.btn-outline-primary {
    --bs-btn-color: #a7856a;
    --bs-btn-border-color: #a7856a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #a7856a;
    --bs-btn-hover-border-color: #a7856a;
    --bs-btn-focus-shadow-rgb: 167, 133, 106;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #a7856a;
    --bs-btn-active-border-color: #a7856a;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #a7856a;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #a7856a;
    --bs-gradient: none;
}
.btn-outline-secondary {
    --bs-btn-color: #6c6c6c;
    --bs-btn-border-color: #6c6c6c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #6c6c6c;
    --bs-btn-hover-border-color: #6c6c6c;
    --bs-btn-focus-shadow-rgb: 108, 108, 108;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6c6c6c;
    --bs-btn-active-border-color: #6c6c6c;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #6c6c6c;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #6c6c6c;
    --bs-gradient: none;
}
.btn-outline-danger {
    --bs-btn-color: #e35d5d;
    --bs-btn-border-color: #e35d5d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #e35d5d;
    --bs-btn-hover-border-color: #e35d5d;
    --bs-btn-focus-shadow-rgb: 227, 93, 93;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #e35d5d;
    --bs-btn-active-border-color: #e35d5d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #e35d5d;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #e35d5d;
    --bs-gradient: none;
}
.btn-outline-light {
    --bs-btn-color: #f8f8f8;
    --bs-btn-border-color: #f8f8f8;
    --bs-btn-hover-color: #111;
    --bs-btn-hover-bg: #f8f8f8;
    --bs-btn-hover-border-color: #f8f8f8;
    --bs-btn-focus-shadow-rgb: 248, 248, 248;
    --bs-btn-active-color: #111;
    --bs-btn-active-bg: #f8f8f8;
    --bs-btn-active-border-color: #f8f8f8;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(17, 17, 17, 0.125);
    --bs-btn-disabled-color: #f8f8f8;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f8f8;
    --bs-gradient: none;
}
.btn-link {
    --bs-btn-font-weight: 300;
    --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: #6c6c6c;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: 0 0 0 #000;
    --bs-btn-focus-shadow-rgb: 180, 151, 128;
    text-decoration: none;
}
.btn-link:focus-visible {
    color: var(--bs-btn-color);
}
.btn-link:hover {
    color: var(--bs-btn-hover-color);
}
.btn-sm {
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-font-size: 0.984375rem;
    --bs-btn-border-radius: 0.075rem;
}
.btn-outline-light {
    --bs-btn-color: #111;
    --bs-btn-border-color: #dedede;
    --bs-btn-hover-border-color: #dedede;
    border-color: var(--bs-btn-border-color);
}
.btn-outline-light:hover {
    border-color: var(--bs-btn-hover-border-color);
}
.btn-square {
    width: 2.5995rem;
    height: 2.5995rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}
.btn-square.btn-xs {
    width: 1.6345rem;
    height: 1.6345rem;
}
.btn-square.btn-sm {
    width: 2.1345rem;
    height: 2.1345rem;
}
.btn-square.btn-xs {
    font-size: 0.85rem;
}
/* Video play button */
@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}
.fade {
    transition: opacity 0.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 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none;
    }
}
.collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
    .collapsing.collapse-horizontal {
        transition: none;
    }
}
.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
    position: relative;
}
.dropdown-toggle {
    white-space: nowrap;
}
.dropdown-toggle::after {
    display: inline-block;
    vertical-align: 0.0875rem;
    border-top: 0.25rem solid;
    border-right: 0.25rem solid transparent;
    border-bottom: 0;
    border-left: 0.25rem solid transparent;
}
.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 11.5rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.75rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 1.125rem;
    --bs-dropdown-color: var(--bs-body-color);
    --bs-dropdown-bg: var(--bs-body-bg);
    --bs-dropdown-border-color: var(--bs-light-border-subtle);
    --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: 0.5rem;
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
    --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: #a7856a;
    --bs-dropdown-link-disabled-color: #adadad;
    --bs-dropdown-item-padding-x: 1.25rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c6c6c;
    --bs-dropdown-header-padding-x: 1.25rem;
    --bs-dropdown-header-padding-y: 0.75rem;
    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;
    vertical-align: 0.0875rem;
    border-top: 0;
    border-right: 0.25rem solid transparent;
    border-bottom: 0.25rem solid;
    border-left: 0.25rem solid transparent;
}
.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;
    border-top: 0.25rem solid transparent;
    border-right: 0;
    border-bottom: 0.25rem solid transparent;
    border-left: 0.25rem solid;
}
.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 {
    vertical-align: 0.0875rem;
    content: "";
}
.dropstart .dropdown-toggle::after {
    display: none;
}
.dropstart .dropdown-toggle::before {
    display: inline-block;
    border-top: 0.25rem solid transparent;
    border-right: 0.25rem solid;
    border-bottom: 0.25rem solid transparent;
}
.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: 300;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover,
.dropdown-item:focus {
    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: 0.984375rem;
    color: var(--bs-dropdown-header-color);
    white-space: nowrap;
}
.dropdown-menu-dark {
    --bs-dropdown-color: #dedede;
    --bs-dropdown-bg: #343434;
    --bs-dropdown-border-color: var(--bs-light-border-subtle);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dedede;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #a7856a;
    --bs-dropdown-link-disabled-color: #adadad;
    --bs-dropdown-header-color: #adadad;
}
.dropdown-menu {
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
    box-shadow: var(--bs-dropdown-box-shadow);
}
[data-bs-theme=dark] .dropdown-menu,
.dropdown-menu-dark {
    box-shadow: none;
}
.dropdown-toggle::after,
.dropdown-toggle::before {
    font-family: "icons";
    display: inline-block;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    font-size: 0.75rem;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: 0.0875rem;
    content: "";
    border: 0;
}
.dropdown-toggle::after {
    margin-left: 0.1875rem;
}
.dropdown-toggle::before {
    margin-right: 0.1875rem;
}
.dropdown-toggle::after {
    border: 0;
    content: "\f5aa";
}
.dropdown-toggle:empty::after {
    margin-left: 0;
}
.dropup .dropdown-toggle::after,
.dropup .dropdown-toggle::before {
    font-family: "icons";
    display: inline-block;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    font-size: 0.75rem;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: 0.0875rem;
    content: "";
    border: 0;
}
.dropup .dropdown-toggle::after {
    margin-left: 0.1875rem;
}
.dropup .dropdown-toggle::before {
    margin-right: 0.1875rem;
}
.dropup .dropdown-toggle::after {
    border: 0;
    content: "\f5ad";
}
.dropup .dropdown-toggle:empty::after {
    margin-left: 0;
}
.dropend .dropdown-toggle::after,
.dropend .dropdown-toggle::before {
    font-family: "icons";
    display: inline-block;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    font-size: 0.75rem;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: 0.0875rem;
    content: "";
    border: 0;
}
.dropend .dropdown-toggle::after {
    margin-left: 0.1875rem;
}
.dropend .dropdown-toggle::before {
    margin-right: 0.1875rem;
}
.dropend .dropdown-toggle::after {
    border: 0;
    content: "\f5ab";
}
.dropend .dropdown-toggle:empty::after {
    margin-left: 0;
}
.dropstart .dropdown-toggle::after,
.dropstart .dropdown-toggle::before {
    font-family: "icons";
    display: inline-block;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    font-size: 0.75rem;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    vertical-align: 0.0875rem;
    content: "";
    border: 0;
}
.dropstart .dropdown-toggle::after {
    margin-left: 0.1875rem;
}
.dropstart .dropdown-toggle::before {
    margin-right: 0.1875rem;
}
.dropstart .dropdown-toggle::before {
    content: "\f5ac";
}
.dropstart .dropdown-toggle:empty::after {
    margin-left: 0;
}
.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-primary);
    --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);
    background: none;
    border: 0;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .nav-link {
        transition: none;
    }
}
.nav-link:hover,
.nav-link:focus {
    color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(167, 133, 106, 0.25);
}
.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:hover,
.nav-tabs .nav-link:focus {
    isolation: isolate;
    border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    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;
}
.tab-content>.tab-pane {
    display: none;
}
.tab-content>.active {
    display: block;
}
.nav-link {
    --bs-nav-link-hover-color: var(--bs-primary);
}
.nav-link.active {
    color: var(--bs-nav-link-hover-color);
}
.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0rem;
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.85);
    --bs-navbar-hover-color: rgba(var(--bs-primary-rgb), 0.85);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
    --bs-navbar-active-color: rgba(var(--bs-primary-rgb), 1);
    --bs-navbar-brand-padding-y: 0;
    --bs-navbar-brand-margin-end: 0;
    --bs-navbar-brand-font-size: 1.40625rem;
    --bs-navbar-brand-color: rgba(var(--bs-primary-rgb), 1);
    --bs-navbar-brand-hover-color: rgba(var(--bs-primary-rgb), 1);
    --bs-navbar-nav-link-padding-x: 0.75rem;
    --bs-navbar-toggler-padding-y: 0.15rem;
    --bs-navbar-toggler-padding-x: 0.15rem;
    --bs-navbar-toggler-font-size: 1.40625rem;
    --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%2817, 17, 17, 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), 0);
    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
    --bs-navbar-toggler-focus-width: 0;
    --bs-navbar-toggler-transition: box-shadow 0.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 {
    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);
    white-space: nowrap;
}
.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--bs-navbar-brand-hover-color);
}
.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.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: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
    color: var(--bs-navbar-active-color);
}
.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%;
}
@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-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;
    }
}
.navbar[data-bs-theme=dark] {
    --bs-navbar-color: rgba(255, 255, 255, 0.55);
    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.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, 0);
    --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");
}
.navbar {
    --bs-navbar-hover-color: rgba(var(--bs-primary-rgb), 0.85);
    --bs-navbar-active-color: rgba(var(--bs-primary-rgb), 1);
    --bs-navbar-brand-mobile-max-height: 40px;
    --bs-navbar-dropdown-toggle-icon-width: 40px;
    --bs-navbar-dropdown-toggle-icon-height: 40px;
    --bs-navbar-dropdown-toggle-icon-margin-end: 0;
    --bs-navbar-dropdown-toggle-icon-font-size: 0.75rem;
    --bs-navbar-dropdown-link-hover-bg: transparent;
    --bs-navbar-dropdown-active-bg: transparent;
    --bs-navbar-dropdown-link-hover-color: var(--bs-primary);
    --bs-navbar-dropdown-link-active-color: var(--bs-primary);
    --bs-navbar-mega-menu-min-width: 11.5rem;
    --bs-navbar-mega-menu-item-padding-x: 1.25rem;
    --bs-navbar-mega-menu-item-padding-y: 0.25rem;
    --bs-navbar-mega-menu-link-hover-bg: transparent;
    --bs-navbar-mega-menu-link-active-bg: transparent;
    --bs-navbar-mega-menu-link-color: var(--bs-body-color);
    --bs-navbar-mega-menu-link-hover-color: var(--bs-primary);
    --bs-navbar-mega-menu-link-active-color: var(--bs-primary);
    --bs-navbar-mega-menu-link-disabled-color: #adadad;
}
.navbar .dropdown .dropdown-toggle-hover {
    position: relative;
}
.navbar .dropdown .dropdown-toggle-hover .dropdown-toggle-icon {
    font-size: var(--bs-navbar-dropdown-toggle-icon-font-size);
    right: var(--bs-navbar-dropdown-toggle-icon-margin-end);
    width: var(--bs-navbar-dropdown-toggle-icon-width);
    height: var(--bs-navbar-dropdown-toggle-icon-height);
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
    color: var(--bs-navbar-dropdown-link-hover-color);
    background: var(--bs-navbar-dropdown-link-hover-bg);
}
.navbar .dropdown-menu .dropdown-item.active,
.navbar .dropdown-menu .dropdown-item:active {
    color: var(--bs-navbar-dropdown-link-active-color);
    background: var(--bs-navbar-dropdown-active-bg);
}
.navbar .dropdown-menu.mega-menu .mega-menu-title,
.navbar .dropdown-menu.mega-menu .mega-menu-item {
    min-width: var(--bs-navbar-mega-menu-min-width);
    display: block;
    z-index: var(--bs-dropdown-zindex);
    width: 100%;
    padding: var(--bs-navbar-mega-menu-item-padding-y) var(--bs-navbar-mega-menu-item-padding-x);
    clear: both;
    font-weight: 300;
    color: var(--bs-navbar-mega-menu-link-color);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}
.navbar .dropdown-menu.mega-menu .mega-menu-item:hover,
.navbar .dropdown-menu.mega-menu .mega-menu-item:focus {
    color: var(--bs-navbar-mega-menu-link-hover-color);
    background-color: var(--bs-navbar-mega-menu-link-hover-bg);
}
.navbar .dropdown-menu.mega-menu .mega-menu-item.active,
.navbar .dropdown-menu.mega-menu .mega-menu-item:active {
    color: var(--bs-navbar-mega-menu-link-active-color);
    background-color: var(--bs-navbar-mega-menu-link-active-bg);
}
.navbar .dropdown-menu.mega-menu .mega-menu-item.disabled,
.navbar .dropdown-menu.mega-menu .mega-menu-item:disabled {
    color: var(--bs-navbar-mega-menu-link-disabled-color);
    pointer-events: none;
    background-color: transparent;
}
/* Dimensione del logo "Hotel Sonia" (font Vladimir Script) su desktop:
   leggermente più grande della versione precedente (~50px di altezza) */
.navbar .navbar-brand .logo {
    height: 45px;
    width: auto;
}
@media (max-width: 575.98px) {
    .navbar .navbar-brand .logo {
        max-height: var(--bs-navbar-brand-mobile-max-height);
        height: auto;
    }
}
.navbar-nav {
    --bs-navbar-nav-hover-color: rgba(var(--bs-primary-rgb), 0.85);
    --bs-navbar-nav-active-color: rgba(var(--bs-primary-rgb), 1);
}
.navbar-nav .show>.nav-link {
    color: var(--bs-navbar-nav-hover-color);
}
.navbar-nav .nav-link.active {
    color: var(--bs-navbar-nav-active-color);
}
@media (max-width: 1199.98px) {
    .navbar-expand-xl .navbar-nav .dropdown .dropdown-menu,
    .navbar-expand-xl .navbar-nav .dropdown .dropdown-menu.mega-menu {
        box-shadow: none !important;
        border-color: transparent;
    }
}
@media (min-width: 1200px) {
    .navbar-expand-xl .navbar-nav .dropdown .dropdown-menu.mega-menu {
        min-width: -moz-max-content;
        min-width: max-content;
    }
    .navbar-expand-xl .navbar-nav .dropdown .dropdown-toggle-hover {
        position: initial;
    }
    .navbar-expand-xl .navbar-nav .dropdown .dropdown-toggle-hover .dropdown-toggle-icon {
        width: unset;
        height: unset;
        position: unset;
        transform: unset;
        display: unset;
    }
}
.card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-title-spacer-y: 1rem;
    --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: 0.75rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1.5rem;
    --bs-card-group-margin: 0.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 {
    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-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-img-top {
    width: 100%;
}
.card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card.card-selected {
    border-color: #a7856a;
}
.card.card-selected:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 40px 40px 0;
    border-color: transparent #a7856a transparent transparent;
}
.card.card-selected:after {
    content: "\f1c1";
    top: 3px;
    right: 5px;
    position: absolute;
    color: #fff;
    font-family: icons;
    font-weight: 900;
    font-size: 70%;
}
.card.card-selected.card-reserved:before {
    border-color: transparent #5a8f5a transparent transparent;
}
.accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-bg: var(--bs-body-bg);
    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.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='%23111' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.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='%2343352a' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 1px rgba(167, 133, 106, 0.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-gray-100);
}
.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: 1.125rem;
    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-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: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);
}
[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='%23cab6a6'%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-.708z'/%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='%23cab6a6'%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-.708z'/%3e%3c/svg%3e");
}
.breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
    --bs-breadcrumb-margin-bottom: 1rem;
    --bs-breadcrumb-font-size: 85%;
    --bs-breadcrumb-bg: ;
    --bs-breadcrumb-border-radius: ;
    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
    --bs-breadcrumb-item-padding-x: 0.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, "/")
        /* rtl: var(--bs-breadcrumb-divider, "/") */
    ;
}
.breadcrumb-item.active {
    color: var(--bs-breadcrumb-item-active-color);
}
[data-bs-theme=dark] .breadcrumb .breadcrumb-item a {
    color: var(--bs-text-light);
}
[data-bs-theme=dark] .breadcrumb .breadcrumb-item a:hover {
    color: var(--bs-primary);
}
.pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1.125rem;
    --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 0.25rem rgba(167, 133, 106, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #a7856a;
    --bs-pagination-active-border-color: #a7856a;
    --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);
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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);
}
.page-link.active,
.active>.page-link {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled,
.disabled>.page-link {
    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(var(--bs-border-width) * -1);
}
.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);
}
.badge {
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.35em;
    --bs-badge-font-size: 0.75em;
    --bs-badge-font-weight: 400;
    --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-dismissible .btn-close {
    padding: 1.45rem 1.25rem !important;
    font-size: 0.85rem;
}
.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: 600;
    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: 1rem;
    }
}
.progress {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: 0.84375rem;
    --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: #a7856a;
    --bs-progress-bar-transition: width 0.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;
    }
}
.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: 0.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: #a7856a;
    --bs-list-group-active-border-color: #a7856a;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--bs-list-group-border-radius);
}
.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);
    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-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);
}
.btn-close {
    --bs-btn-close-color: #111;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23111'%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.414z'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: 0.5;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(167, 133, 106, 0.25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: 0.25;
    --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    border: 0;
    border-radius: 0.075rem;
    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);
}
[data-bs-theme=dark] .btn-close {
    filter: var(--bs-btn-close-white-filter);
}
.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1.5rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-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);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-modal-header-padding-x: 1.5rem;
    --bs-modal-header-padding-y: 1.5rem;
    --bs-modal-header-padding: 1.5rem 1.5rem;
    --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: 0.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 {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
}
@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;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-clip: padding-box;
    border-radius: var(--bs-modal-border-radius);
    outline: 0;
}
.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #111;
    --bs-backdrop-opacity: 0.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) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
    margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) 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) * 0.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) * 0.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;
    }
}
.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%;
    backface-visibility: hidden;
    transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none;
    }
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block;
}
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
    transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
    transform: translateX(-100%);
}
.carousel-control-prev,
.carousel-control-next {
    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: none;
    border: 0;
    opacity: 0.5;
    transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
        transition: none;
    }
}
.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9;
}
.carousel-control-prev {
    left: 0;
}
.carousel-control-next {
    right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    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 0z'/%3e%3c/svg%3e")
        /*rtl: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-.708z'/%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-.708z'/%3e%3c/svg%3e")
        /*rtl: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 0z'/%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: 24px;
    height: 6px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    border-top: 2rem solid transparent;
    border-bottom: 2rem solid transparent;
    opacity: 0.35;
    transition: opacity 0.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: unset;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #fff;
    text-align: center;
}
[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon,
[data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
    filter: none;
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],
[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
    background-color: #fff;
}
[data-bs-theme=dark] .carousel .carousel-caption,
[data-bs-theme=dark].carousel .carousel-caption {
    color: #fff;
}
.spinner-grow {
    display: inline-block;
    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)
            /* rtl:ignore */
        ;
    }
}
@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: -0.125em;
    --bs-spinner-animation-speed: 1s;
    --bs-spinner-animation-name: spinner-grow;
    background-color: currentcolor;
    opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
    .spinner-grow {
        --bs-spinner-animation-speed: 2s;
    }
}
.offcanvas,
.offcanvas-xxl,
.offcanvas-xl,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm {
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-width: 400px;
    --bs-offcanvas-height: 30vh;
    --bs-offcanvas-padding-x: 1.5rem;
    --bs-offcanvas-padding-y: 1.5rem;
    --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 0.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: translateX(-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: translateX(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.showing,
    .offcanvas-sm.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-sm.showing,
    .offcanvas-sm.hiding,
    .offcanvas-sm.show {
        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: translateX(-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: translateX(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.showing,
    .offcanvas-md.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-md.showing,
    .offcanvas-md.hiding,
    .offcanvas-md.show {
        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: translateX(-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: translateX(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.showing,
    .offcanvas-lg.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-lg.showing,
    .offcanvas-lg.hiding,
    .offcanvas-lg.show {
        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: translateX(-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: translateX(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.showing,
    .offcanvas-xl.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-xl.showing,
    .offcanvas-xl.hiding,
    .offcanvas-xl.show {
        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: translateX(-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: translateX(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.showing,
    .offcanvas-xxl.show:not(.hiding) {
        transform: none;
    }
    .offcanvas-xxl.showing,
    .offcanvas-xxl.hiding,
    .offcanvas-xxl.show {
        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: translateX(-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: translateX(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.showing,
.offcanvas.show:not(.hiding) {
    transform: none;
}
.offcanvas.showing,
.offcanvas.hiding,
.offcanvas.show {
    visibility: visible;
}
.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #111;
}
.offcanvas-backdrop.fade {
    opacity: 0;
}
.offcanvas-backdrop.show {
    opacity: 0.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) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
    margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) 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;
}
/* END LAYOUT & COMPONENTS */
/*-----------------------------------------------------------*/
/* START HELPERS */
.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: #fff !important;
    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-warning {
    color: #fff !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: #111 !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;
    text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover,
.link-primary:focus {
    color: RGBA(134, 106, 85, var(--bs-link-opacity, 1)) !important;
    text-decoration-color: RGBA(134, 106, 85, var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary {
    color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover,
.link-secondary:focus {
    color: RGBA(86, 86, 86, var(--bs-link-opacity, 1)) !important;
    text-decoration-color: RGBA(86, 86, 86, var(--bs-link-underline-opacity, 1)) !important;
}
.icon-link {
    display: inline-flex;
    gap: 0.375rem;
    align-items: center;
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
    text-underline-offset: 0.25em;
    backface-visibility: hidden;
}
.icon-link>.bi {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    fill: currentcolor;
    transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
    .icon-link>.bi {
        transition: none;
    }
}
.icon-link-hover:hover>.bi,
.icon-link-hover:focus-visible>.bi {
    transform: var(--bs-icon-link-transform, translate3d(0.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%;
}
.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}
.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
}
.sticky-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
}
.visually-hidden {
    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:not(caption) {
    position: absolute !important;
}
.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.vr {
    display: inline-block;
    align-self: stretch;
    width: var(--bs-border-width);
    min-height: 1em;
    background-color: currentcolor;
    opacity: 0.25;
}
.link-hover-primary {
    --bs-link-hover-primary: #a7856a;
}
.link-hover-primary:hover,
.link-hover-primary:focus {
    color: var(--bs-link-hover-primary) !important;
}
.image-wrapper {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: "cover";
    position: relative;
    z-index: 0;
}
.image-wrapper:not(.mobile) {
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: "fixed" !important;
}
.image-wrapper.bg-auto {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: "auto";
    background-attachment: "scroll" !important;
}
.image-wrapper.bg-full {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: "100%";
    background-attachment: "scroll" !important;
}
.image-wrapper.bg-cover {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: "cover";
    background-attachment: "scroll" !important;
}
.image-wrapper.bg-overlay:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 17, 0.5);
}
/* VELO DELLA HERO DESKTOP: non si regola più qui.
   Era definito in 3 posti (qui, due volte in sonia.css) e le regole si annullavano a vicenda.
   Ora esiste UNA sola regola, in sonia.css: cerca "VELO DELLA HERO DESKTOP". */
/* La hero desktop (.hero-static) è nascosta su mobile direttamente in HTML con d-none
   d-md-block; qui sotto lo stile della nuova hero ad arco, mobile-only. */
@media (max-width: 767.98px) {
    .hero-arch-photo {
        height: 280px;
        overflow: hidden;
    }
    .hero-arch-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 60% 45%;
        display: block;
    }
    /* L'arco "morde" la foto risalendo con un margine negativo. Sfondo bianco pieno esplicito
       (non una classe tema come bg-body/bg-body-tertiary, che potrebbe non risultare bianco
       puro a seconda del tema chiaro/scuro attivo) — così niente angoli di colore diverso
       scoperti dalla curva.
       border-radius: 160px 160px 0 0 (stesso raggio in entrambe le direzioni) creava due
       quarti di cerchio indipendenti agli angoli che, su un elemento largo quasi quanto lo
       schermo, non si toccavano al centro — da cui il tratto piatto/andamento irregolare
       notato. La sintassi con "/" separa il raggio orizzontale da quello verticale: 50% in
       orizzontale forza le due curve a incontrarsi esattamente al centro, dando un'unica
       cupola continua invece di due archi con un pezzo dritto in mezzo. */
     .hero-arch {
        position: relative;
		margin-right:15px;
		margin-left:15px;
        margin-top: -65px;
        background-color: #f6f3f1bf;
        border-radius: 50% 50% 0 0 / 130px 130px 0 0;
        padding: 56px 32px 30px;
        text-align: center;
    }
    .hero-arch-eyebrow {
        font-family: "Cinzel", serif;
        font-style: italic;
        font-size: 1.5rem;
        color: var(--bs-primary-color);
        /*opacity: 0.75;*/
       /* margin-bottom: 1.1rem;*/
    }
    .hero-arch-title {
        font-style: italic;
        font-weight: 600;
        font-size: 1.375rem;
        line-height: 1.4;
        letter-spacing: 0.02em;
        /*text-transform: uppercase;*/
        color: #93755d;
        margin-bottom: 1.75rem;
    }
    .hero-arch-cta {
        display: inline-block;
        padding: 14px 40px;
        border: 1px solid var(--bs-emphasis-color);
        font-family: "Jost", sans-serif;
        /*font-size: 1.5rem;*/
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--bs-emphasis-color);
        text-decoration: none;
        background: transparent;
    }
    /* Copia mobile della sezione contatti, bianca, subito sotto l'arco (l'originale più
       sotto in pagina è nascosta su mobile con d-none d-md-block, vedi index.php). */
    .hero-arch-contacts {
        background-color: #fff;
        padding: 8px 0 32px;
    }
}
/* .image-wrapper imposta "background-size: \"cover\"" (tra virgolette): è CSS non valido,
   il browser lo scarta e ricade sul default "auto" -> la foto viene mostrata a grandezza
   naturale (crop enorme su schermi stretti). Override scoped solo all'hero, valido. */
.hero-static .image-wrapper {
    background-size: cover;
}
.image-wrapper.bg-overlay-300:after {
    background: rgba(17, 17, 17, 0.3);
}
.image-wrapper.bg-overlay-300-light:after {
    background: rgba(255, 255, 255, 0.3);
}
.image-wrapper.bg-overlay-400:after {
    background: rgba(17, 17, 17, 0.4);
}
.image-wrapper.bg-overlay-400-light:after {
    background: rgba(255, 255, 255, 0.4);
}
.image-wrapper.bg-overlay-500:after {
    background: rgba(17, 17, 17, 0.5);
}
.image-wrapper.bg-overlay-500-light:after {
    background: rgba(255, 255, 255, 0.5);
}
.image-wrapper.bg-overlay-600:after {
    background: rgba(17, 17, 17, 0.6);
}
.image-wrapper.bg-overlay-600-light:after {
    background: rgba(255, 255, 255, 0.6);
}
.image-wrapper.bg-overlay-700:after {
    background: rgba(17, 17, 17, 0.7);
}
.image-wrapper.bg-overlay-700-light:after {
    background: rgba(255, 255, 255, 0.7);
}
.image-wrapper.bg-overlay-800:after {
    background: rgba(17, 17, 17, 0.8);
}
.image-wrapper.bg-overlay-800-light:after {
    background: rgba(255, 255, 255, 0.8);
}
.image-wrapper.bg-overlay-900:after {
    background: rgba(17, 17, 17, 0.9);
}
.image-wrapper.bg-overlay-900-light:after {
    background: rgba(255, 255, 255, 0.9);
}
.image-wrapper.bg-overlay .bg-content {
    position: relative;
    z-index: 2;
    height: 100%;
}
.image-wrapper.card:before {
    border-radius: 0.075rem !important;
}
@media (max-width: 991.98px) {
    .image-wrapper.bg-full {
        background-repeat: no-repeat;
        background-position: center center;
        background-size: "cover";
    }
}
.video-wrapper {
    position: relative;
    overflow: hidden;
}
.video-wrapper.bg-overlay:after {
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    position: absolute;
    background-color: rgba(17, 17, 17, 0.35);
}
.video-wrapper.bg-overlay-300:after {
    background: rgba(17, 17, 17, 0.3);
}
.video-wrapper.bg-overlay-300-light:after {
    background: rgba(255, 255, 255, 0.3);
}
.video-wrapper.bg-overlay-400:after {
    background: rgba(17, 17, 17, 0.4);
}
.video-wrapper.bg-overlay-400-light:after {
    background: rgba(255, 255, 255, 0.4);
}
.video-wrapper.bg-overlay-500:after {
    background: rgba(17, 17, 17, 0.5);
}
.video-wrapper.bg-overlay-500-light:after {
    background: rgba(255, 255, 255, 0.5);
}
.video-wrapper.bg-overlay-600:after {
    background: rgba(17, 17, 17, 0.6);
}
.video-wrapper.bg-overlay-600-light:after {
    background: rgba(255, 255, 255, 0.6);
}
.video-wrapper.bg-overlay-700:after {
    background: rgba(17, 17, 17, 0.7);
}
.video-wrapper.bg-overlay-700-light:after {
    background: rgba(255, 255, 255, 0.7);
}
.video-wrapper.bg-overlay-800:after {
    background: rgba(17, 17, 17, 0.8);
}
.video-wrapper.bg-overlay-800-light:after {
    background: rgba(255, 255, 255, 0.8);
}
.video-wrapper.bg-overlay-900:after {
    background: rgba(17, 17, 17, 0.9);
}
.video-wrapper.bg-overlay-900-light:after {
    background: rgba(255, 255, 255, 0.9);
}
.video-wrapper.ratio::before {
    content: unset;
}
.video-wrapper.bg-overlay .bg-content {
    position: relative;
    z-index: 2;
    height: 100%;
}
@keyframes slideIn {
    0% {
        transform: translateY(-1rem);
        opacity: 0;
    }
    100% {
        transform: translateY(0rem);
        opacity: 1;
    }
}
.slideIn {
    -webkit-animation-name: slideIn;
    -webkit-animation-duration: 0.35s;
    -webkit-animation-delay: 0s;
    -webkit-animation-fill-mode: both;
    -moz-animation-name: slideIn;
    -moz-animation-duration: 0.35s;
    -moz-animation-delay: 0s;
    -moz-animation-fill-mode: both;
    -ms-animation-name: slideIn;
    -ms-animation-duration: 0.35s;
    -ms-animation-delay: 0s;
    -ms-animation-fill-mode: both;
    -o-animation-name: slideIn;
    -o-animation-duration: 0.35s;
    -o-animation-delay: 0s;
    -o-animation-fill-mode: both;
    animation-name: slideIn;
    animation-duration: 0.35s;
    animation-delay: 0s;
    animation-fill-mode: both;
}
@keyframes mover {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-15px);
    }
}
.sticky-top-120 {
    top: 120px !important;
}
/* END HELPERS */
/*-----------------------------------------------------------*/
/* START UTILITIES */
.align-top {
    vertical-align: top !important;
}
.align-bottom {
    vertical-align: bottom !important;
}
.align-text-bottom {
    vertical-align: text-bottom !important;
}
.align-text-top {
    vertical-align: text-top !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: 0.25 !important;
}
.opacity-50 {
    opacity: 0.5 !important;
}
.opacity-75 {
    opacity: 0.75 !important;
}
.opacity-100 {
    opacity: 1 !important;
}
.overflow-auto {
    overflow: auto !important;
}
.overflow-hidden {
    overflow: hidden !important;
}
.overflow-x-auto {
    overflow-x: auto !important;
}
.overflow-y-auto {
    overflow-y: auto !important;
}
.d-inline-block {
    display: inline-block !important;
}
.d-block {
    display: block !important;
}
.d-table {
    display: table !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;
}
.position-relative {
    position: relative !important;
}
.position-absolute {
    position: absolute !important;
}
.position-fixed {
    position: fixed !important;
}
.top-0 {
    top: 0 !important;
}
.top-25 {
    top: 25% !important;
}
.top-33 {
    top: 33.333333% !important;
}
.top-50 {
    top: 50% !important;
}
.top-66 {
    top: 66.666666% !important;
}
.top-100 {
    top: 100% !important;
}
.bottom-0 {
    bottom: 0 !important;
}
.bottom-25 {
    bottom: 25% !important;
}
.bottom-33 {
    bottom: 33.333333% !important;
}
.bottom-50 {
    bottom: 50% !important;
}
.bottom-66 {
    bottom: 66.666666% !important;
}
.bottom-100 {
    bottom: 100% !important;
}
.start-0 {
    left: 0 !important;
}
.start-25 {
    left: 25% !important;
}
.start-33 {
    left: 33.333333% !important;
}
.start-50 {
    left: 50% !important;
}
.start-66 {
    left: 66.666666% !important;
}
.start-100 {
    left: 100% !important;
}
.end-0 {
    right: 0 !important;
}
.end-25 {
    right: 25% !important;
}
.end-33 {
    right: 33.333333% !important;
}
.end-50 {
    right: 50% !important;
}
.end-66 {
    right: 66.666666% !important;
}
.end-100 {
    right: 100% !important;
}
.translate-middle {
    transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
    transform: translateX(-50%) !important;
}
.translate-middle-y {
    transform: translateY(-50%) !important;
}
.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-0 {
    border: 0 !important;
}
.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-top-0 {
    border-top: 0 !important;
}
.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-end-0 {
    border-right: 0 !important;
}
.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-bottom-0 {
    border-bottom: 0 !important;
}
.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-start-0 {
    border-left: 0 !important;
}
.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}
.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}
.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}
.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}
.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}
.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}
.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}
.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}
.border-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-0 {
    --bs-border-opacity: 0;
}
.border-opacity-10 {
    --bs-border-opacity: 0.1;
}
.border-opacity-15 {
    --bs-border-opacity: 0.15;
}
.border-opacity-20 {
    --bs-border-opacity: 0.2;
}
.border-opacity-25 {
    --bs-border-opacity: 0.25;
}
.border-opacity-30 {
    --bs-border-opacity: 0.3;
}
.border-opacity-35 {
    --bs-border-opacity: 0.35;
}
.border-opacity-40 {
    --bs-border-opacity: 0.4;
}
.border-opacity-45 {
    --bs-border-opacity: 0.45;
}
.border-opacity-50 {
    --bs-border-opacity: 0.5;
}
.border-opacity-55 {
    --bs-border-opacity: 0.55;
}
.border-opacity-60 {
    --bs-border-opacity: 0.6;
}
.border-opacity-65 {
    --bs-border-opacity: 0.65;
}
.border-opacity-70 {
    --bs-border-opacity: 0.7;
}
.border-opacity-75 {
    --bs-border-opacity: 0.75;
}
.border-opacity-80 {
    --bs-border-opacity: 0.8;
}
.border-opacity-85 {
    --bs-border-opacity: 0.85;
}
.border-opacity-90 {
    --bs-border-opacity: 0.9;
}
.border-opacity-95 {
    --bs-border-opacity: 0.95;
}
.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;
}
.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;
}
.flex-row {
    flex-direction: row !important;
}
.flex-column {
    flex-direction: column !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;
}
.justify-content-end {
    justify-content: flex-end !important;
}
.justify-content-center {
    justify-content: center !important;
}
.justify-content-between {
    justify-content: space-between !important;
}
.align-items-start {
    align-items: flex-start !important;
}
.align-items-end {
    align-items: flex-end !important;
}
.align-items-center {
    align-items: center !important;
}
.align-items-baseline {
    align-items: baseline !important;
}
.align-items-stretch {
    align-items: stretch !important;
}
.align-content-center {
    align-content: center !important;
}
.align-self-auto {
    align-self: auto !important;
}
.align-self-start {
    align-self: flex-start !important;
}
.align-self-center {
    align-self: center !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: 0.25rem !important;
}
.m-2 {
    margin: 0.5rem !important;
}
.m-3 {
    margin: 0.75rem !important;
}
.m-4 {
    margin: 1rem !important;
}
.m-5 {
    margin: 1.25rem !important;
}
.m-6 {
    margin: 1.5rem !important;
}
.m-7 {
    margin: 1.75rem !important;
}
.m-8 {
    margin: 2rem !important;
}
.m-9 {
    margin: 2.5rem !important;
}
.m-10 {
    margin: 3rem !important;
}
.m-11 {
    margin: 3.5rem !important;
}
.m-12 {
    margin: 4rem !important;
}
.m-13 {
    margin: 4.5rem !important;
}
.m-14 {
    margin: 5rem !important;
}
.m-15 {
    margin: 5.5rem !important;
}
.m-16 {
    margin: 6rem !important;
}
.m-17 {
    margin: 6.5rem !important;
}
.m-18 {
    margin: 7rem !important;
}
.m-19 {
    margin: 7.5rem !important;
}
.m-20 {
    margin: 8rem !important;
}
.m-21 {
    margin: 8.5rem !important;
}
.m-22 {
    margin: 9rem !important;
}
.m-23 {
    margin: 9.5rem !important;
}
.m-24 {
    margin: 10rem !important;
}
.m-25 {
    margin: 10.5rem !important;
}
.m-26 {
    margin: 11rem !important;
}
.m-27 {
    margin: 12rem !important;
}
.m-28 {
    margin: 13rem !important;
}
.m-29 {
    margin: 14rem !important;
}
.m-30 {
    margin: 15rem !important;
}
.m-31 {
    margin: 16rem !important;
}
.m-32 {
    margin: 17rem !important;
}
.m-33 {
    margin: 18rem !important;
}
.m-34 {
    margin: 19rem !important;
}
.m-35 {
    margin: 20rem !important;
}
.m-auto {
    margin: auto !important;
}
.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.mx-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
}
.mx-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
}
.mx-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
}
.mx-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}
.mx-5 {
    margin-right: 1.25rem !important;
    margin-left: 1.25rem !important;
}
.mx-6 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}
.mx-7 {
    margin-right: 1.75rem !important;
    margin-left: 1.75rem !important;
}
.mx-8 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
}
.mx-9 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
}
.mx-10 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}
.mx-11 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
}
.mx-12 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
}
.mx-13 {
    margin-right: 4.5rem !important;
    margin-left: 4.5rem !important;
}
.mx-14 {
    margin-right: 5rem !important;
    margin-left: 5rem !important;
}
.mx-15 {
    margin-right: 5.5rem !important;
    margin-left: 5.5rem !important;
}
.mx-16 {
    margin-right: 6rem !important;
    margin-left: 6rem !important;
}
.mx-17 {
    margin-right: 6.5rem !important;
    margin-left: 6.5rem !important;
}
.mx-18 {
    margin-right: 7rem !important;
    margin-left: 7rem !important;
}
.mx-19 {
    margin-right: 7.5rem !important;
    margin-left: 7.5rem !important;
}
.mx-20 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
}
.mx-21 {
    margin-right: 8.5rem !important;
    margin-left: 8.5rem !important;
}
.mx-22 {
    margin-right: 9rem !important;
    margin-left: 9rem !important;
}
.mx-23 {
    margin-right: 9.5rem !important;
    margin-left: 9.5rem !important;
}
.mx-24 {
    margin-right: 10rem !important;
    margin-left: 10rem !important;
}
.mx-25 {
    margin-right: 10.5rem !important;
    margin-left: 10.5rem !important;
}
.mx-26 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
}
.mx-27 {
    margin-right: 12rem !important;
    margin-left: 12rem !important;
}
.mx-28 {
    margin-right: 13rem !important;
    margin-left: 13rem !important;
}
.mx-29 {
    margin-right: 14rem !important;
    margin-left: 14rem !important;
}
.mx-30 {
    margin-right: 15rem !important;
    margin-left: 15rem !important;
}
.mx-31 {
    margin-right: 16rem !important;
    margin-left: 16rem !important;
}
.mx-32 {
    margin-right: 17rem !important;
    margin-left: 17rem !important;
}
.mx-33 {
    margin-right: 18rem !important;
    margin-left: 18rem !important;
}
.mx-34 {
    margin-right: 19rem !important;
    margin-left: 19rem !important;
}
.mx-35 {
    margin-right: 20rem !important;
    margin-left: 20rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}
.my-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.my-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}
.my-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
.my-5 {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}
.my-6 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}
.my-7 {
    margin-top: 1.75rem !important;
    margin-bottom: 1.75rem !important;
}
.my-8 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}
.my-9 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
}
.my-10 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}
.my-11 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
}
.my-12 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
}
.my-13 {
    margin-top: 4.5rem !important;
    margin-bottom: 4.5rem !important;
}
.my-14 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}
.my-15 {
    margin-top: 5.5rem !important;
    margin-bottom: 5.5rem !important;
}
.my-16 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
}
.my-17 {
    margin-top: 6.5rem !important;
    margin-bottom: 6.5rem !important;
}
.my-18 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important;
}
.my-19 {
    margin-top: 7.5rem !important;
    margin-bottom: 7.5rem !important;
}
.my-20 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
}
.my-21 {
    margin-top: 8.5rem !important;
    margin-bottom: 8.5rem !important;
}
.my-22 {
    margin-top: 9rem !important;
    margin-bottom: 9rem !important;
}
.my-23 {
    margin-top: 9.5rem !important;
    margin-bottom: 9.5rem !important;
}
.my-24 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
}
.my-25 {
    margin-top: 10.5rem !important;
    margin-bottom: 10.5rem !important;
}
.my-26 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
}
.my-27 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
}
.my-28 {
    margin-top: 13rem !important;
    margin-bottom: 13rem !important;
}
.my-29 {
    margin-top: 14rem !important;
    margin-bottom: 14rem !important;
}
.my-30 {
    margin-top: 15rem !important;
    margin-bottom: 15rem !important;
}
.my-31 {
    margin-top: 16rem !important;
    margin-bottom: 16rem !important;
}
.my-32 {
    margin-top: 17rem !important;
    margin-bottom: 17rem !important;
}
.my-33 {
    margin-top: 18rem !important;
    margin-bottom: 18rem !important;
}
.my-34 {
    margin-top: 19rem !important;
    margin-bottom: 19rem !important;
}
.my-35 {
    margin-top: 20rem !important;
    margin-bottom: 20rem !important;
}
.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}
.mt-0 {
    margin-top: 0 !important;
}
.mt-1 {
    margin-top: 0.25rem !important;
}
.mt-2 {
    margin-top: 0.5rem !important;
}
.mt-3 {
    margin-top: 0.75rem !important;
}
.mt-4 {
    margin-top: 1rem !important;
}
.mt-5 {
    margin-top: 1.25rem !important;
}
.mt-6 {
    margin-top: 1.5rem !important;
}
.mt-7 {
    margin-top: 1.75rem !important;
}
.mt-8 {
    margin-top: 2rem !important;
}
.mt-9 {
    margin-top: 2.5rem !important;
}
.mt-10 {
    margin-top: 3rem !important;
}
.mt-11 {
    margin-top: 3.5rem !important;
}
.mt-12 {
    margin-top: 4rem !important;
}
.mt-13 {
    margin-top: 4.5rem !important;
}
.mt-14 {
    margin-top: 5rem !important;
}
.mt-15 {
    margin-top: 5.5rem !important;
}
.mt-16 {
    margin-top: 6rem !important;
}
.mt-17 {
    margin-top: 6.5rem !important;
}
.mt-18 {
    margin-top: 7rem !important;
}
.mt-19 {
    margin-top: 7.5rem !important;
}
.mt-20 {
    margin-top: 8rem !important;
}
.mt-21 {
    margin-top: 8.5rem !important;
}
.mt-22 {
    margin-top: 9rem !important;
}
.mt-23 {
    margin-top: 9.5rem !important;
}
.mt-24 {
    margin-top: 10rem !important;
}
.mt-25 {
    margin-top: 10.5rem !important;
}
.mt-26 {
    margin-top: 11rem !important;
}
.mt-27 {
    margin-top: 12rem !important;
}
.mt-28 {
    margin-top: 13rem !important;
}
.mt-29 {
    margin-top: 14rem !important;
}
.mt-30 {
    margin-top: 15rem !important;
}
.mt-31 {
    margin-top: 16rem !important;
}
.mt-32 {
    margin-top: 17rem !important;
}
.mt-33 {
    margin-top: 18rem !important;
}
.mt-34 {
    margin-top: 19rem !important;
}
.mt-35 {
    margin-top: 20rem !important;
}
.mt-auto {
    margin-top: auto !important;
}
.me-0 {
    margin-right: 0 !important;
}
.me-1 {
    margin-right: 0.25rem !important;
}
.me-2 {
    margin-right: 0.5rem !important;
}
.me-3 {
    margin-right: 0.75rem !important;
}
.me-4 {
    margin-right: 1rem !important;
}
.me-5 {
    margin-right: 1.25rem !important;
}
.me-6 {
    margin-right: 1.5rem !important;
}
.me-7 {
    margin-right: 1.75rem !important;
}
.me-8 {
    margin-right: 2rem !important;
}
.me-9 {
    margin-right: 2.5rem !important;
}
.me-10 {
    margin-right: 3rem !important;
}
.me-11 {
    margin-right: 3.5rem !important;
}
.me-12 {
    margin-right: 4rem !important;
}
.me-13 {
    margin-right: 4.5rem !important;
}
.me-14 {
    margin-right: 5rem !important;
}
.me-15 {
    margin-right: 5.5rem !important;
}
.me-16 {
    margin-right: 6rem !important;
}
.me-17 {
    margin-right: 6.5rem !important;
}
.me-18 {
    margin-right: 7rem !important;
}
.me-19 {
    margin-right: 7.5rem !important;
}
.me-20 {
    margin-right: 8rem !important;
}
.me-21 {
    margin-right: 8.5rem !important;
}
.me-22 {
    margin-right: 9rem !important;
}
.me-23 {
    margin-right: 9.5rem !important;
}
.me-24 {
    margin-right: 10rem !important;
}
.me-25 {
    margin-right: 10.5rem !important;
}
.me-26 {
    margin-right: 11rem !important;
}
.me-27 {
    margin-right: 12rem !important;
}
.me-28 {
    margin-right: 13rem !important;
}
.me-29 {
    margin-right: 14rem !important;
}
.me-30 {
    margin-right: 15rem !important;
}
.me-31 {
    margin-right: 16rem !important;
}
.me-32 {
    margin-right: 17rem !important;
}
.me-33 {
    margin-right: 18rem !important;
}
.me-34 {
    margin-right: 19rem !important;
}
.me-35 {
    margin-right: 20rem !important;
}
.me-auto {
    margin-right: auto !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.mb-1 {
    margin-bottom: 0.25rem !important;
}
.mb-2 {
    margin-bottom: 0.5rem !important;
}
.mb-3 {
    margin-bottom: 0.75rem !important;
}
.mb-4 {
    margin-bottom: 1rem !important;
}
.mb-5 {
    margin-bottom: 1.25rem !important;
}
.mb-6 {
    margin-bottom: 1.5rem !important;
}
.mb-7 {
    margin-bottom: 1.75rem !important;
}
.mb-8 {
    margin-bottom: 2rem !important;
}
.mb-9 {
    margin-bottom: 2.5rem !important;
}
.mb-10 {
    margin-bottom: 3rem !important;
}
.mb-11 {
    margin-bottom: 3.5rem !important;
}
.mb-12 {
    margin-bottom: 4rem !important;
}
.mb-13 {
    margin-bottom: 4.5rem !important;
}
.mb-14 {
    margin-bottom: 5rem !important;
}
.mb-15 {
    margin-bottom: 5.5rem !important;
}
.mb-16 {
    margin-bottom: 6rem !important;
}
.mb-17 {
    margin-bottom: 6.5rem !important;
}
.mb-18 {
    margin-bottom: 7rem !important;
}
.mb-19 {
    margin-bottom: 7.5rem !important;
}
.mb-20 {
    margin-bottom: 8rem !important;
}
.mb-21 {
    margin-bottom: 8.5rem !important;
}
.mb-22 {
    margin-bottom: 9rem !important;
}
.mb-23 {
    margin-bottom: 9.5rem !important;
}
.mb-24 {
    margin-bottom: 10rem !important;
}
.mb-25 {
    margin-bottom: 10.5rem !important;
}
.mb-26 {
    margin-bottom: 11rem !important;
}
.mb-27 {
    margin-bottom: 12rem !important;
}
.mb-28 {
    margin-bottom: 13rem !important;
}
.mb-29 {
    margin-bottom: 14rem !important;
}
.mb-30 {
    margin-bottom: 15rem !important;
}
.mb-31 {
    margin-bottom: 16rem !important;
}
.mb-32 {
    margin-bottom: 17rem !important;
}
.mb-33 {
    margin-bottom: 18rem !important;
}
.mb-34 {
    margin-bottom: 19rem !important;
}
.mb-35 {
    margin-bottom: 20rem !important;
}
.mb-auto {
    margin-bottom: auto !important;
}
.ms-0 {
    margin-left: 0 !important;
}
.ms-1 {
    margin-left: 0.25rem !important;
}
.ms-2 {
    margin-left: 0.5rem !important;
}
.ms-3 {
    margin-left: 0.75rem !important;
}
.ms-4 {
    margin-left: 1rem !important;
}
.ms-5 {
    margin-left: 1.25rem !important;
}
.ms-6 {
    margin-left: 1.5rem !important;
}
.ms-7 {
    margin-left: 1.75rem !important;
}
.ms-8 {
    margin-left: 2rem !important;
}
.ms-9 {
    margin-left: 2.5rem !important;
}
.ms-10 {
    margin-left: 3rem !important;
}
.ms-11 {
    margin-left: 3.5rem !important;
}
.ms-12 {
    margin-left: 4rem !important;
}
.ms-13 {
    margin-left: 4.5rem !important;
}
.ms-14 {
    margin-left: 5rem !important;
}
.ms-15 {
    margin-left: 5.5rem !important;
}
.ms-16 {
    margin-left: 6rem !important;
}
.ms-17 {
    margin-left: 6.5rem !important;
}
.ms-18 {
    margin-left: 7rem !important;
}
.ms-19 {
    margin-left: 7.5rem !important;
}
.ms-20 {
    margin-left: 8rem !important;
}
.ms-21 {
    margin-left: 8.5rem !important;
}
.ms-22 {
    margin-left: 9rem !important;
}
.ms-23 {
    margin-left: 9.5rem !important;
}
.ms-24 {
    margin-left: 10rem !important;
}
.ms-25 {
    margin-left: 10.5rem !important;
}
.ms-26 {
    margin-left: 11rem !important;
}
.ms-27 {
    margin-left: 12rem !important;
}
.ms-28 {
    margin-left: 13rem !important;
}
.ms-29 {
    margin-left: 14rem !important;
}
.ms-30 {
    margin-left: 15rem !important;
}
.ms-31 {
    margin-left: 16rem !important;
}
.ms-32 {
    margin-left: 17rem !important;
}
.ms-33 {
    margin-left: 18rem !important;
}
.ms-34 {
    margin-left: 19rem !important;
}
.ms-35 {
    margin-left: 20rem !important;
}
.ms-auto {
    margin-left: auto !important;
}
.p-0 {
    padding: 0 !important;
}
.p-1 {
    padding: 0.25rem !important;
}
.p-2 {
    padding: 0.5rem !important;
}
.p-3 {
    padding: 0.75rem !important;
}
.p-4 {
    padding: 1rem !important;
}
.p-5 {
    padding: 1.25rem !important;
}
.p-6 {
    padding: 1.5rem !important;
}
.p-7 {
    padding: 1.75rem !important;
}
.p-8 {
    padding: 2rem !important;
}
.p-9 {
    padding: 2.5rem !important;
}
.p-10 {
    padding: 3rem !important;
}
.p-11 {
    padding: 3.5rem !important;
}
.p-12 {
    padding: 4rem !important;
}
.p-13 {
    padding: 4.5rem !important;
}
.p-14 {
    padding: 5rem !important;
}
.p-15 {
    padding: 5.5rem !important;
}
.p-16 {
    padding: 6rem !important;
}
.p-17 {
    padding: 6.5rem !important;
}
.p-18 {
    padding: 7rem !important;
}
.p-19 {
    padding: 7.5rem !important;
}
.p-20 {
    padding: 8rem !important;
}
.p-21 {
    padding: 8.5rem !important;
}
.p-22 {
    padding: 9rem !important;
}
.p-23 {
    padding: 9.5rem !important;
}
.p-24 {
    padding: 10rem !important;
}
.p-25 {
    padding: 10.5rem !important;
}
.p-26 {
    padding: 11rem !important;
}
.p-27 {
    padding: 12rem !important;
}
.p-28 {
    padding: 13rem !important;
}
.p-29 {
    padding: 14rem !important;
}
.p-30 {
    padding: 15rem !important;
}
.p-31 {
    padding: 16rem !important;
}
.p-32 {
    padding: 17rem !important;
}
.p-33 {
    padding: 18rem !important;
}
.p-34 {
    padding: 19rem !important;
}
.p-35 {
    padding: 20rem !important;
}
.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}
.px-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
}
.px-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
}
.px-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
}
.px-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}
.px-5 {
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important;
}
.px-6 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}
.px-7 {
    padding-right: 1.75rem !important;
    padding-left: 1.75rem !important;
}
.px-8 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}
.px-9 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
}
.px-10 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}
.px-11 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
}
.px-12 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
}
.px-13 {
    padding-right: 4.5rem !important;
    padding-left: 4.5rem !important;
}
.px-14 {
    padding-right: 5rem !important;
    padding-left: 5rem !important;
}
.px-15 {
    padding-right: 5.5rem !important;
    padding-left: 5.5rem !important;
}
.px-16 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
}
.px-17 {
    padding-right: 6.5rem !important;
    padding-left: 6.5rem !important;
}
.px-18 {
    padding-right: 7rem !important;
    padding-left: 7rem !important;
}
.px-19 {
    padding-right: 7.5rem !important;
    padding-left: 7.5rem !important;
}
.px-20 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
}
.px-21 {
    padding-right: 8.5rem !important;
    padding-left: 8.5rem !important;
}
.px-22 {
    padding-right: 9rem !important;
    padding-left: 9rem !important;
}
.px-23 {
    padding-right: 9.5rem !important;
    padding-left: 9.5rem !important;
}
.px-24 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
}
.px-25 {
    padding-right: 10.5rem !important;
    padding-left: 10.5rem !important;
}
.px-26 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
}
.px-27 {
    padding-right: 12rem !important;
    padding-left: 12rem !important;
}
.px-28 {
    padding-right: 13rem !important;
    padding-left: 13rem !important;
}
.px-29 {
    padding-right: 14rem !important;
    padding-left: 14rem !important;
}
.px-30 {
    padding-right: 15rem !important;
    padding-left: 15rem !important;
}
.px-31 {
    padding-right: 16rem !important;
    padding-left: 16rem !important;
}
.px-32 {
    padding-right: 17rem !important;
    padding-left: 17rem !important;
}
.px-33 {
    padding-right: 18rem !important;
    padding-left: 18rem !important;
}
.px-34 {
    padding-right: 19rem !important;
    padding-left: 19rem !important;
}
.px-35 {
    padding-right: 20rem !important;
    padding-left: 20rem !important;
}
.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}
.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}
.py-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
.py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.py-5 {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}
.py-6 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
.py-7 {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
}
.py-8 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}
.py-9 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}
.py-10 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
.py-11 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
}
.py-12 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}
.py-13 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
}
.py-14 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}
.py-15 {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
}
.py-16 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}
.py-17 {
    padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
}
.py-18 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
}
.py-19 {
    padding-top: 7.5rem !important;
    padding-bottom: 7.5rem !important;
}
.py-20 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}
.py-21 {
    padding-top: 8.5rem !important;
    padding-bottom: 8.5rem !important;
}
.py-22 {
    padding-top: 9rem !important;
    padding-bottom: 9rem !important;
}
.py-23 {
    padding-top: 9.5rem !important;
    padding-bottom: 9.5rem !important;
}
.py-24 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
}
.py-25 {
    padding-top: 10.5rem !important;
    padding-bottom: 10.5rem !important;
}
.py-26 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
}
.py-27 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
}
.py-28 {
    padding-top: 13rem !important;
    padding-bottom: 13rem !important;
}
.py-29 {
    padding-top: 14rem !important;
    padding-bottom: 14rem !important;
}
.py-30 {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
}
.py-31 {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
}
.py-32 {
    padding-top: 17rem !important;
    padding-bottom: 17rem !important;
}
.py-33 {
    padding-top: 18rem !important;
    padding-bottom: 18rem !important;
}
.py-34 {
    padding-top: 19rem !important;
    padding-bottom: 19rem !important;
}
.py-35 {
    padding-top: 20rem !important;
    padding-bottom: 20rem !important;
}
.pt-0 {
    padding-top: 0 !important;
}
.pt-1 {
    padding-top: 0.25rem !important;
}
.pt-2 {
    padding-top: 0.5rem !important;
}
.pt-3 {
    padding-top: 0.75rem !important;
}
.pt-4 {
    padding-top: 1rem !important;
}
.pt-5 {
    padding-top: 1.25rem !important;
}
.pt-6 {
    padding-top: 1.5rem !important;
}
.pt-7 {
    padding-top: 1.75rem !important;
}
.pt-8 {
    padding-top: 2rem !important;
}
.pt-9 {
    padding-top: 2.5rem !important;
}
.pt-10 {
    padding-top: 3rem !important;
}
.pt-11 {
    padding-top: 3.5rem !important;
}
.pt-12 {
    padding-top: 4rem !important;
}
.pt-13 {
    padding-top: 4.5rem !important;
}
.pt-14 {
    padding-top: 5rem !important;
}
.pt-15 {
    padding-top: 5.5rem !important;
}
.pt-16 {
    padding-top: 6rem !important;
}
.pt-17 {
    padding-top: 6.5rem !important;
}
.pt-18 {
    padding-top: 7rem !important;
}
.pt-19 {
    padding-top: 7.5rem !important;
}
.pt-20 {
    padding-top: 8rem !important;
}
.pt-21 {
    padding-top: 8.5rem !important;
}
.pt-22 {
    padding-top: 9rem !important;
}
.pt-23 {
    padding-top: 9.5rem !important;
}
.pt-24 {
    padding-top: 10rem !important;
}
.pt-25 {
    padding-top: 10.5rem !important;
}
.pt-26 {
    padding-top: 11rem !important;
}
.pt-27 {
    padding-top: 12rem !important;
}
.pt-28 {
    padding-top: 13rem !important;
}
.pt-29 {
    padding-top: 14rem !important;
}
.pt-30 {
    padding-top: 15rem !important;
}
.pt-31 {
    padding-top: 16rem !important;
}
.pt-32 {
    padding-top: 17rem !important;
}
.pt-33 {
    padding-top: 18rem !important;
}
.pt-34 {
    padding-top: 19rem !important;
}
.pt-35 {
    padding-top: 20rem !important;
}
.pe-0 {
    padding-right: 0 !important;
}
.pe-1 {
    padding-right: 0.25rem !important;
}
.pe-2 {
    padding-right: 0.5rem !important;
}
.pe-3 {
    padding-right: 0.75rem !important;
}
.pe-4 {
    padding-right: 1rem !important;
}
.pe-5 {
    padding-right: 1.25rem !important;
}
.pe-6 {
    padding-right: 1.5rem !important;
}
.pe-7 {
    padding-right: 1.75rem !important;
}
.pe-8 {
    padding-right: 2rem !important;
}
.pe-9 {
    padding-right: 2.5rem !important;
}
.pe-10 {
    padding-right: 3rem !important;
}
.pe-11 {
    padding-right: 3.5rem !important;
}
.pe-12 {
    padding-right: 4rem !important;
}
.pe-13 {
    padding-right: 4.5rem !important;
}
.pe-14 {
    padding-right: 5rem !important;
}
.pe-15 {
    padding-right: 5.5rem !important;
}
.pe-16 {
    padding-right: 6rem !important;
}
.pe-17 {
    padding-right: 6.5rem !important;
}
.pe-18 {
    padding-right: 7rem !important;
}
.pe-19 {
    padding-right: 7.5rem !important;
}
.pe-20 {
    padding-right: 8rem !important;
}
.pe-21 {
    padding-right: 8.5rem !important;
}
.pe-22 {
    padding-right: 9rem !important;
}
.pe-23 {
    padding-right: 9.5rem !important;
}
.pe-24 {
    padding-right: 10rem !important;
}
.pe-25 {
    padding-right: 10.5rem !important;
}
.pe-26 {
    padding-right: 11rem !important;
}
.pe-27 {
    padding-right: 12rem !important;
}
.pe-28 {
    padding-right: 13rem !important;
}
.pe-29 {
    padding-right: 14rem !important;
}
.pe-30 {
    padding-right: 15rem !important;
}
.pe-31 {
    padding-right: 16rem !important;
}
.pe-32 {
    padding-right: 17rem !important;
}
.pe-33 {
    padding-right: 18rem !important;
}
.pe-34 {
    padding-right: 19rem !important;
}
.pe-35 {
    padding-right: 20rem !important;
}
.pb-0 {
    padding-bottom: 0 !important;
}
.pb-1 {
    padding-bottom: 0.25rem !important;
}
.pb-2 {
    padding-bottom: 0.5rem !important;
}
.pb-3 {
    padding-bottom: 0.75rem !important;
}
.pb-4 {
    padding-bottom: 1rem !important;
}
.pb-5 {
    padding-bottom: 1.25rem !important;
}
.pb-6 {
    padding-bottom: 1.5rem !important;
}
.pb-7 {
    padding-bottom: 1.75rem !important;
}
.pb-8 {
    padding-bottom: 2rem !important;
}
.pb-9 {
    padding-bottom: 2.5rem !important;
}
.pb-10 {
    padding-bottom: 3rem !important;
}
.pb-11 {
    padding-bottom: 3.5rem !important;
}
.pb-12 {
    padding-bottom: 4rem !important;
}
.pb-13 {
    padding-bottom: 4.5rem !important;
}
.pb-14 {
    padding-bottom: 5rem !important;
}
.pb-15 {
    padding-bottom: 5.5rem !important;
}
.pb-16 {
    padding-bottom: 6rem !important;
}
.pb-17 {
    padding-bottom: 6.5rem !important;
}
.pb-18 {
    padding-bottom: 7rem !important;
}
.pb-19 {
    padding-bottom: 7.5rem !important;
}
.pb-20 {
    padding-bottom: 8rem !important;
}
.pb-21 {
    padding-bottom: 8.5rem !important;
}
.pb-22 {
    padding-bottom: 9rem !important;
}
.pb-23 {
    padding-bottom: 9.5rem !important;
}
.pb-24 {
    padding-bottom: 10rem !important;
}
.pb-25 {
    padding-bottom: 10.5rem !important;
}
.pb-26 {
    padding-bottom: 11rem !important;
}
.pb-27 {
    padding-bottom: 12rem !important;
}
.pb-28 {
    padding-bottom: 13rem !important;
}
.pb-29 {
    padding-bottom: 14rem !important;
}
.pb-30 {
    padding-bottom: 15rem !important;
}
.pb-31 {
    padding-bottom: 16rem !important;
}
.pb-32 {
    padding-bottom: 17rem !important;
}
.pb-33 {
    padding-bottom: 18rem !important;
}
.pb-34 {
    padding-bottom: 19rem !important;
}
.pb-35 {
    padding-bottom: 20rem !important;
}
.ps-0 {
    padding-left: 0 !important;
}
.ps-1 {
    padding-left: 0.25rem !important;
}
.ps-2 {
    padding-left: 0.5rem !important;
}
.ps-3 {
    padding-left: 0.75rem !important;
}
.ps-4 {
    padding-left: 1rem !important;
}
.ps-5 {
    padding-left: 1.25rem !important;
}
.ps-6 {
    padding-left: 1.5rem !important;
}
.ps-7 {
    padding-left: 1.75rem !important;
}
.ps-8 {
    padding-left: 2rem !important;
}
.ps-9 {
    padding-left: 2.5rem !important;
}
.ps-10 {
    padding-left: 3rem !important;
}
.ps-11 {
    padding-left: 3.5rem !important;
}
.ps-12 {
    padding-left: 4rem !important;
}
.ps-13 {
    padding-left: 4.5rem !important;
}
.ps-14 {
    padding-left: 5rem !important;
}
.ps-15 {
    padding-left: 5.5rem !important;
}
.ps-16 {
    padding-left: 6rem !important;
}
.ps-17 {
    padding-left: 6.5rem !important;
}
.ps-18 {
    padding-left: 7rem !important;
}
.ps-19 {
    padding-left: 7.5rem !important;
}
.ps-20 {
    padding-left: 8rem !important;
}
.ps-21 {
    padding-left: 8.5rem !important;
}
.ps-22 {
    padding-left: 9rem !important;
}
.ps-23 {
    padding-left: 9.5rem !important;
}
.ps-24 {
    padding-left: 10rem !important;
}
.ps-25 {
    padding-left: 10.5rem !important;
}
.ps-26 {
    padding-left: 11rem !important;
}
.ps-27 {
    padding-left: 12rem !important;
}
.ps-28 {
    padding-left: 13rem !important;
}
.ps-29 {
    padding-left: 14rem !important;
}
.ps-30 {
    padding-left: 15rem !important;
}
.ps-31 {
    padding-left: 16rem !important;
}
.ps-32 {
    padding-left: 17rem !important;
}
.ps-33 {
    padding-left: 18rem !important;
}
.ps-34 {
    padding-left: 19rem !important;
}
.ps-35 {
    padding-left: 20rem !important;
}
.gap-0 {
    gap: 0 !important;
}
.gap-1 {
    gap: 0.25rem !important;
}
.gap-2 {
    gap: 0.5rem !important;
}
.gap-3 {
    gap: 0.75rem !important;
}
.gap-4 {
    gap: 1rem !important;
}
.gap-5 {
    gap: 1.25rem !important;
}
.gap-6 {
    gap: 1.5rem !important;
}
.gap-7 {
    gap: 1.75rem !important;
}
.gap-8 {
    gap: 2rem !important;
}
.gap-9 {
    gap: 2.5rem !important;
}
.gap-10 {
    gap: 3rem !important;
}
.gap-11 {
    gap: 3.5rem !important;
}
.gap-12 {
    gap: 4rem !important;
}
.gap-13 {
    gap: 4.5rem !important;
}
.gap-14 {
    gap: 5rem !important;
}
.gap-15 {
    gap: 5.5rem !important;
}
.gap-16 {
    gap: 6rem !important;
}
.gap-17 {
    gap: 6.5rem !important;
}
.gap-18 {
    gap: 7rem !important;
}
.gap-19 {
    gap: 7.5rem !important;
}
.gap-20 {
    gap: 8rem !important;
}
.gap-21 {
    gap: 8.5rem !important;
}
.gap-22 {
    gap: 9rem !important;
}
.gap-23 {
    gap: 9.5rem !important;
}
.gap-24 {
    gap: 10rem !important;
}
.gap-25 {
    gap: 10.5rem !important;
}
.gap-26 {
    gap: 11rem !important;
}
.gap-27 {
    gap: 12rem !important;
}
.gap-28 {
    gap: 13rem !important;
}
.gap-29 {
    gap: 14rem !important;
}
.gap-30 {
    gap: 15rem !important;
}
.gap-31 {
    gap: 16rem !important;
}
.gap-32 {
    gap: 17rem !important;
}
.gap-33 {
    gap: 18rem !important;
}
.gap-34 {
    gap: 19rem !important;
}
.gap-35 {
    gap: 20rem !important;
}
.row-gap-0 {
    row-gap: 0 !important;
}
.row-gap-1 {
    row-gap: 0.25rem !important;
}
.row-gap-2 {
    row-gap: 0.5rem !important;
}
.row-gap-3 {
    row-gap: 0.75rem !important;
}
.row-gap-4 {
    row-gap: 1rem !important;
}
.row-gap-5 {
    row-gap: 1.25rem !important;
}
.row-gap-6 {
    row-gap: 1.5rem !important;
}
.row-gap-7 {
    row-gap: 1.75rem !important;
}
.row-gap-8 {
    row-gap: 2rem !important;
}
.row-gap-9 {
    row-gap: 2.5rem !important;
}
.row-gap-10 {
    row-gap: 3rem !important;
}
.row-gap-11 {
    row-gap: 3.5rem !important;
}
.row-gap-12 {
    row-gap: 4rem !important;
}
.row-gap-13 {
    row-gap: 4.5rem !important;
}
.row-gap-14 {
    row-gap: 5rem !important;
}
.row-gap-15 {
    row-gap: 5.5rem !important;
}
.row-gap-16 {
    row-gap: 6rem !important;
}
.row-gap-17 {
    row-gap: 6.5rem !important;
}
.row-gap-18 {
    row-gap: 7rem !important;
}
.row-gap-19 {
    row-gap: 7.5rem !important;
}
.row-gap-20 {
    row-gap: 8rem !important;
}
.row-gap-21 {
    row-gap: 8.5rem !important;
}
.row-gap-22 {
    row-gap: 9rem !important;
}
.row-gap-23 {
    row-gap: 9.5rem !important;
}
.row-gap-24 {
    row-gap: 10rem !important;
}
.row-gap-25 {
    row-gap: 10.5rem !important;
}
.row-gap-26 {
    row-gap: 11rem !important;
}
.row-gap-27 {
    row-gap: 12rem !important;
}
.row-gap-28 {
    row-gap: 13rem !important;
}
.row-gap-29 {
    row-gap: 14rem !important;
}
.row-gap-30 {
    row-gap: 15rem !important;
}
.row-gap-31 {
    row-gap: 16rem !important;
}
.row-gap-32 {
    row-gap: 17rem !important;
}
.row-gap-33 {
    row-gap: 18rem !important;
}
.row-gap-34 {
    row-gap: 19rem !important;
}
.row-gap-35 {
    row-gap: 20rem !important;
}
.column-gap-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
}
.column-gap-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
}
.column-gap-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
}
.column-gap-3 {
    -moz-column-gap: 0.75rem !important;
    column-gap: 0.75rem !important;
}
.column-gap-4 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
}
.column-gap-5 {
    -moz-column-gap: 1.25rem !important;
    column-gap: 1.25rem !important;
}
.column-gap-6 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
}
.column-gap-7 {
    -moz-column-gap: 1.75rem !important;
    column-gap: 1.75rem !important;
}
.column-gap-8 {
    -moz-column-gap: 2rem !important;
    column-gap: 2rem !important;
}
.column-gap-9 {
    -moz-column-gap: 2.5rem !important;
    column-gap: 2.5rem !important;
}
.column-gap-10 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
}
.column-gap-11 {
    -moz-column-gap: 3.5rem !important;
    column-gap: 3.5rem !important;
}
.column-gap-12 {
    -moz-column-gap: 4rem !important;
    column-gap: 4rem !important;
}
.column-gap-13 {
    -moz-column-gap: 4.5rem !important;
    column-gap: 4.5rem !important;
}
.column-gap-14 {
    -moz-column-gap: 5rem !important;
    column-gap: 5rem !important;
}
.column-gap-15 {
    -moz-column-gap: 5.5rem !important;
    column-gap: 5.5rem !important;
}
.column-gap-16 {
    -moz-column-gap: 6rem !important;
    column-gap: 6rem !important;
}
.column-gap-17 {
    -moz-column-gap: 6.5rem !important;
    column-gap: 6.5rem !important;
}
.column-gap-18 {
    -moz-column-gap: 7rem !important;
    column-gap: 7rem !important;
}
.column-gap-19 {
    -moz-column-gap: 7.5rem !important;
    column-gap: 7.5rem !important;
}
.column-gap-20 {
    -moz-column-gap: 8rem !important;
    column-gap: 8rem !important;
}
.column-gap-21 {
    -moz-column-gap: 8.5rem !important;
    column-gap: 8.5rem !important;
}
.column-gap-22 {
    -moz-column-gap: 9rem !important;
    column-gap: 9rem !important;
}
.column-gap-23 {
    -moz-column-gap: 9.5rem !important;
    column-gap: 9.5rem !important;
}
.column-gap-24 {
    -moz-column-gap: 10rem !important;
    column-gap: 10rem !important;
}
.column-gap-25 {
    -moz-column-gap: 10.5rem !important;
    column-gap: 10.5rem !important;
}
.column-gap-26 {
    -moz-column-gap: 11rem !important;
    column-gap: 11rem !important;
}
.column-gap-27 {
    -moz-column-gap: 12rem !important;
    column-gap: 12rem !important;
}
.column-gap-28 {
    -moz-column-gap: 13rem !important;
    column-gap: 13rem !important;
}
.column-gap-29 {
    -moz-column-gap: 14rem !important;
    column-gap: 14rem !important;
}
.column-gap-30 {
    -moz-column-gap: 15rem !important;
    column-gap: 15rem !important;
}
.column-gap-31 {
    -moz-column-gap: 16rem !important;
    column-gap: 16rem !important;
}
.column-gap-32 {
    -moz-column-gap: 17rem !important;
    column-gap: 17rem !important;
}
.column-gap-33 {
    -moz-column-gap: 18rem !important;
    column-gap: 18rem !important;
}
.column-gap-34 {
    -moz-column-gap: 19rem !important;
    column-gap: 19rem !important;
}
.column-gap-35 {
    -moz-column-gap: 20rem !important;
    column-gap: 20rem !important;
}
.fs-1 {
    font-size: calc(1.378125rem + 1.5375vw) !important;
}
.fs-2 {
    font-size: calc(1.333125rem + 0.9975vw) !important;
}
.fs-3 {
    font-size: calc(1.2825rem + 0.39vw) !important;
}
.fs-4 {
    font-size: calc(1.26rem + 0.12vw) !important;
}
.fs-5 {
    font-size: 1.18125rem !important;
}
.fs-6 {
    font-size: 1.06875rem !important;
}
.fw-normal {
    font-weight: 300 !important;
}
.fw-medium {
    font-weight: 400 !important;
}
.fw-semibold {
    font-weight: 500 !important;
}
.fw-bold {
    font-weight: 600 !important;
}
.lh-1 {
    line-height: 1 !important;
}
.lh-sm {
    line-height: 1.25 !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;
}
/* rtl:begin:remove */
.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important;
}
/* rtl:end:remove */
.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: rgba(17, 17, 17, 0.5) !important;
}
.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, 0.5) !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: 0.25;
}
.text-opacity-50 {
    --bs-text-opacity: 0.5;
}
.text-opacity-75 {
    --bs-text-opacity: 0.75;
}
.text-opacity-100 {
    --bs-text-opacity: 1;
}
.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;
}
.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-room-last {
    --bs-bg-opacity: 45;
    background-color: rgba(var(--bs-room-last-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: 0.42;
    background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body-tertiary {
    --bs-bg-opacity: 0.08;
    background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-0 {
    --bs-bg-opacity: 0;
}
.bg-opacity-10 {
    --bs-bg-opacity: 0.1;
}
.bg-opacity-15 {
    --bs-bg-opacity: 0.15;
}
.bg-opacity-20 {
    --bs-bg-opacity: 0.2;
}
.bg-opacity-25 {
    --bs-bg-opacity: 0.25;
}
.bg-opacity-30 {
    --bs-bg-opacity: 0.3;
}
.bg-opacity-35 {
    --bs-bg-opacity: 0.35;
}
.bg-opacity-40 {
    --bs-bg-opacity: 0.4;
}
.bg-opacity-45 {
    --bs-bg-opacity: 0.45;
}
.bg-opacity-50 {
    --bs-bg-opacity: 0.5;
}
.bg-opacity-55 {
    --bs-bg-opacity: 0.55;
}
.bg-opacity-60 {
    --bs-bg-opacity: 0.6;
}
.bg-opacity-65 {
    --bs-bg-opacity: 0.65;
}
.bg-opacity-70 {
    --bs-bg-opacity: 0.7;
}
.bg-opacity-75 {
    --bs-bg-opacity: 0.75;
}
.bg-opacity-80 {
    --bs-bg-opacity: 0.8;
}
.bg-opacity-85 {
    --bs-bg-opacity: 0.85;
}
.bg-opacity-90 {
    --bs-bg-opacity: 0.9;
}
.bg-opacity-95 {
    --bs-bg-opacity: 0.95;
}
.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-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-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important;
}
.visible {
    visibility: visible !important;
}
.invisible {
    visibility: hidden !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;
}
.z-4 {
    z-index: 4 !important;
}
.z-5 {
    z-index: 5 !important;
}
.z-6 {
    z-index: 6 !important;
}
.z-7 {
    z-index: 7 !important;
}
.z-8 {
    z-index: 8 !important;
}
.z-9 {
    z-index: 9 !important;
}
.z-10 {
    z-index: 10 !important;
}
.z-100 {
    z-index: 100 !important;
}
.z-1000 {
    z-index: 1000 !important;
}
.z-1030 {
    z-index: 1030 !important;
}
.z-1100 {
    z-index: 1100 !important;
}
.cursor-auto {
    cursor: auto !important;
}
.cursor-pointer {
    cursor: pointer !important;
}
.bg-primary-50 {
    background-color: #f4f0ec !important;
}
.bg-primary-100 {
    background-color: #ede7e1 !important;
}
.bg-primary-150 {
    background-color: #e5dad2 !important;
}
.bg-primary-200 {
    background-color: #dccec3 !important;
}
.bg-primary-250 {
    background-color: #d3c2b5 !important;
}
.bg-primary-300 {
    background-color: #cab6a6 !important;
}
.bg-primary-350 {
    background-color: #c1aa97 !important;
}
.bg-primary-400 {
    background-color: #b99d88 !important;
}
.bg-primary-450 {
    background-color: #b09179 !important;
}
.bg-primary-500 {
    background-color: #a7856a !important;
}
.bg-primary-550 {
    background-color: #96785f !important;
}
.bg-primary-600 {
    background-color: #866a55 !important;
}
.bg-primary-650 {
    background-color: #755d4a !important;
}
.bg-primary-700 {
    background-color: #645040 !important;
}
.bg-primary-750 {
    background-color: #544335 !important;
}
.bg-primary-800 {
    background-color: #43352a !important;
}
.bg-primary-850 {
    background-color: #43352a !important;
}
.bg-primary-900 {
    background-color: #211b15 !important;
}
.bg-primary-950 {
    background-color: #15110d !important;
}
@media (min-width: 576px) {
    .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;
    }
    .mb-sm-0 {
        margin-bottom: 0 !important;
    }
    .ms-sm-0 {
        margin-left: 0 !important;
    }
    .ms-sm-1 {
        margin-left: 0.25rem !important;
    }
    .ms-sm-2 {
        margin-left: 0.5rem !important;
    }
    .ms-sm-3 {
        margin-left: 0.75rem !important;
    }
    .ms-sm-4 {
        margin-left: 1rem !important;
    }
    .ms-sm-5 {
        margin-left: 1.25rem !important;
    }
    .ms-sm-6 {
        margin-left: 1.5rem !important;
    }
    .ms-sm-7 {
        margin-left: 1.75rem !important;
    }
    .ms-sm-8 {
        margin-left: 2rem !important;
    }
    .ms-sm-9 {
        margin-left: 2.5rem !important;
    }
    .ms-sm-10 {
        margin-left: 3rem !important;
    }
    .ms-sm-11 {
        margin-left: 3.5rem !important;
    }
    .ms-sm-12 {
        margin-left: 4rem !important;
    }
    .ms-sm-13 {
        margin-left: 4.5rem !important;
    }
    .ms-sm-14 {
        margin-left: 5rem !important;
    }
    .ms-sm-15 {
        margin-left: 5.5rem !important;
    }
    .ms-sm-16 {
        margin-left: 6rem !important;
    }
    .ms-sm-17 {
        margin-left: 6.5rem !important;
    }
    .ms-sm-18 {
        margin-left: 7rem !important;
    }
    .ms-sm-19 {
        margin-left: 7.5rem !important;
    }
    .ms-sm-20 {
        margin-left: 8rem !important;
    }
    .ms-sm-21 {
        margin-left: 8.5rem !important;
    }
    .ms-sm-22 {
        margin-left: 9rem !important;
    }
    .ms-sm-23 {
        margin-left: 9.5rem !important;
    }
    .ms-sm-24 {
        margin-left: 10rem !important;
    }
    .ms-sm-25 {
        margin-left: 10.5rem !important;
    }
    .ms-sm-26 {
        margin-left: 11rem !important;
    }
    .ms-sm-27 {
        margin-left: 12rem !important;
    }
    .ms-sm-28 {
        margin-left: 13rem !important;
    }
    .ms-sm-29 {
        margin-left: 14rem !important;
    }
    .ms-sm-30 {
        margin-left: 15rem !important;
    }
    .ms-sm-31 {
        margin-left: 16rem !important;
    }
    .ms-sm-32 {
        margin-left: 17rem !important;
    }
    .ms-sm-33 {
        margin-left: 18rem !important;
    }
    .ms-sm-34 {
        margin-left: 19rem !important;
    }
    .ms-sm-35 {
        margin-left: 20rem !important;
    }
    .ms-sm-auto {
        margin-left: auto !important;
    }
    .pe-sm-4 {
        padding-right: 1rem !important;
    }
    .pe-sm-6 {
        padding-right: 1.5rem !important;
    }
    .ps-sm-4 {
        padding-left: 1rem !important;
    }
    .ps-sm-6 {
        padding-left: 1.5rem !important;
    }
    .column-gap-sm-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important;
    }
    .column-gap-sm-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: 0.25rem !important;
    }
    .column-gap-sm-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
    }
    .column-gap-sm-3 {
        -moz-column-gap: 0.75rem !important;
        column-gap: 0.75rem !important;
    }
    .column-gap-sm-4 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important;
    }
    .column-gap-sm-5 {
        -moz-column-gap: 1.25rem !important;
        column-gap: 1.25rem !important;
    }
    .column-gap-sm-6 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
    .column-gap-sm-7 {
        -moz-column-gap: 1.75rem !important;
        column-gap: 1.75rem !important;
    }
    .column-gap-sm-8 {
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
    }
    .column-gap-sm-9 {
        -moz-column-gap: 2.5rem !important;
        column-gap: 2.5rem !important;
    }
    .column-gap-sm-10 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important;
    }
    .column-gap-sm-11 {
        -moz-column-gap: 3.5rem !important;
        column-gap: 3.5rem !important;
    }
    .column-gap-sm-12 {
        -moz-column-gap: 4rem !important;
        column-gap: 4rem !important;
    }
    .column-gap-sm-13 {
        -moz-column-gap: 4.5rem !important;
        column-gap: 4.5rem !important;
    }
    .column-gap-sm-14 {
        -moz-column-gap: 5rem !important;
        column-gap: 5rem !important;
    }
    .column-gap-sm-15 {
        -moz-column-gap: 5.5rem !important;
        column-gap: 5.5rem !important;
    }
    .column-gap-sm-16 {
        -moz-column-gap: 6rem !important;
        column-gap: 6rem !important;
    }
    .column-gap-sm-17 {
        -moz-column-gap: 6.5rem !important;
        column-gap: 6.5rem !important;
    }
    .column-gap-sm-18 {
        -moz-column-gap: 7rem !important;
        column-gap: 7rem !important;
    }
    .column-gap-sm-19 {
        -moz-column-gap: 7.5rem !important;
        column-gap: 7.5rem !important;
    }
    .column-gap-sm-20 {
        -moz-column-gap: 8rem !important;
        column-gap: 8rem !important;
    }
    .column-gap-sm-21 {
        -moz-column-gap: 8.5rem !important;
        column-gap: 8.5rem !important;
    }
    .column-gap-sm-22 {
        -moz-column-gap: 9rem !important;
        column-gap: 9rem !important;
    }
    .column-gap-sm-23 {
        -moz-column-gap: 9.5rem !important;
        column-gap: 9.5rem !important;
    }
    .column-gap-sm-24 {
        -moz-column-gap: 10rem !important;
        column-gap: 10rem !important;
    }
    .column-gap-sm-25 {
        -moz-column-gap: 10.5rem !important;
        column-gap: 10.5rem !important;
    }
    .column-gap-sm-26 {
        -moz-column-gap: 11rem !important;
        column-gap: 11rem !important;
    }
    .column-gap-sm-27 {
        -moz-column-gap: 12rem !important;
        column-gap: 12rem !important;
    }
    .column-gap-sm-28 {
        -moz-column-gap: 13rem !important;
        column-gap: 13rem !important;
    }
    .column-gap-sm-29 {
        -moz-column-gap: 14rem !important;
        column-gap: 14rem !important;
    }
    .column-gap-sm-30 {
        -moz-column-gap: 15rem !important;
        column-gap: 15rem !important;
    }
    .column-gap-sm-31 {
        -moz-column-gap: 16rem !important;
        column-gap: 16rem !important;
    }
    .column-gap-sm-32 {
        -moz-column-gap: 17rem !important;
        column-gap: 17rem !important;
    }
    .column-gap-sm-33 {
        -moz-column-gap: 18rem !important;
        column-gap: 18rem !important;
    }
    .column-gap-sm-34 {
        -moz-column-gap: 19rem !important;
        column-gap: 19rem !important;
    }
    .column-gap-sm-35 {
        -moz-column-gap: 20rem !important;
        column-gap: 20rem !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) {
    .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-block {
        display: inline-block !important;
    }
    .d-md-block {
        display: block !important;
    }
    .d-md-flex {
        display: flex !important;
    }
    .d-md-none {
        display: none !important;
    }
    .align-items-md-stretch {
        align-items: stretch !important;
    }
    .order-md-2 {
        order: 2 !important;
    }
    .order-md-3 {
        order: 3 !important;
    }
    .mb-md-5 {
        margin-bottom: 1.25rem !important;
    }
    .ms-md-0 {
        margin-left: 0 !important;
    }
    .ms-md-1 {
        margin-left: 0.25rem !important;
    }
    .ms-md-2 {
        margin-left: 0.5rem !important;
    }
    .ms-md-3 {
        margin-left: 0.75rem !important;
    }
    .ms-md-4 {
        margin-left: 1rem !important;
    }
    .ms-md-5 {
        margin-left: 1.25rem !important;
    }
    .ms-md-6 {
        margin-left: 1.5rem !important;
    }
    .ms-md-7 {
        margin-left: 1.75rem !important;
    }
    .ms-md-8 {
        margin-left: 2rem !important;
    }
    .ms-md-9 {
        margin-left: 2.5rem !important;
    }
    .ms-md-10 {
        margin-left: 3rem !important;
    }
    .ms-md-11 {
        margin-left: 3.5rem !important;
    }
    .ms-md-12 {
        margin-left: 4rem !important;
    }
    .ms-md-13 {
        margin-left: 4.5rem !important;
    }
    .ms-md-14 {
        margin-left: 5rem !important;
    }
    .ms-md-15 {
        margin-left: 5.5rem !important;
    }
    .ms-md-16 {
        margin-left: 6rem !important;
    }
    .ms-md-17 {
        margin-left: 6.5rem !important;
    }
    .ms-md-18 {
        margin-left: 7rem !important;
    }
    .ms-md-19 {
        margin-left: 7.5rem !important;
    }
    .ms-md-20 {
        margin-left: 8rem !important;
    }
    .ms-md-21 {
        margin-left: 8.5rem !important;
    }
    .ms-md-22 {
        margin-left: 9rem !important;
    }
    .ms-md-23 {
        margin-left: 9.5rem !important;
    }
    .ms-md-24 {
        margin-left: 10rem !important;
    }
    .ms-md-25 {
        margin-left: 10.5rem !important;
    }
    .ms-md-26 {
        margin-left: 11rem !important;
    }
    .ms-md-27 {
        margin-left: 12rem !important;
    }
    .ms-md-28 {
        margin-left: 13rem !important;
    }
    .ms-md-29 {
        margin-left: 14rem !important;
    }
    .ms-md-30 {
        margin-left: 15rem !important;
    }
    .ms-md-31 {
        margin-left: 16rem !important;
    }
    .ms-md-32 {
        margin-left: 17rem !important;
    }
    .ms-md-33 {
        margin-left: 18rem !important;
    }
    .ms-md-34 {
        margin-left: 19rem !important;
    }
    .ms-md-35 {
        margin-left: 20rem !important;
    }
    .ms-md-auto {
        margin-left: auto !important;
    }
    .p-md-3 {
        padding: 0.75rem !important;
    }
    .p-md-5 {
        padding: 1.25rem !important;
    }
    .pe-md-5 {
        padding-right: 1.25rem !important;
    }
    .column-gap-md-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important;
    }
    .column-gap-md-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: 0.25rem !important;
    }
    .column-gap-md-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
    }
    .column-gap-md-3 {
        -moz-column-gap: 0.75rem !important;
        column-gap: 0.75rem !important;
    }
    .column-gap-md-4 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important;
    }
    .column-gap-md-5 {
        -moz-column-gap: 1.25rem !important;
        column-gap: 1.25rem !important;
    }
    .column-gap-md-6 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
    .column-gap-md-7 {
        -moz-column-gap: 1.75rem !important;
        column-gap: 1.75rem !important;
    }
    .column-gap-md-8 {
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
    }
    .column-gap-md-9 {
        -moz-column-gap: 2.5rem !important;
        column-gap: 2.5rem !important;
    }
    .column-gap-md-10 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important;
    }
    .column-gap-md-11 {
        -moz-column-gap: 3.5rem !important;
        column-gap: 3.5rem !important;
    }
    .column-gap-md-12 {
        -moz-column-gap: 4rem !important;
        column-gap: 4rem !important;
    }
    .column-gap-md-13 {
        -moz-column-gap: 4.5rem !important;
        column-gap: 4.5rem !important;
    }
    .column-gap-md-14 {
        -moz-column-gap: 5rem !important;
        column-gap: 5rem !important;
    }
    .column-gap-md-15 {
        -moz-column-gap: 5.5rem !important;
        column-gap: 5.5rem !important;
    }
    .column-gap-md-16 {
        -moz-column-gap: 6rem !important;
        column-gap: 6rem !important;
    }
    .column-gap-md-17 {
        -moz-column-gap: 6.5rem !important;
        column-gap: 6.5rem !important;
    }
    .column-gap-md-18 {
        -moz-column-gap: 7rem !important;
        column-gap: 7rem !important;
    }
    .column-gap-md-19 {
        -moz-column-gap: 7.5rem !important;
        column-gap: 7.5rem !important;
    }
    .column-gap-md-20 {
        -moz-column-gap: 8rem !important;
        column-gap: 8rem !important;
    }
    .column-gap-md-21 {
        -moz-column-gap: 8.5rem !important;
        column-gap: 8.5rem !important;
    }
    .column-gap-md-22 {
        -moz-column-gap: 9rem !important;
        column-gap: 9rem !important;
    }
    .column-gap-md-23 {
        -moz-column-gap: 9.5rem !important;
        column-gap: 9.5rem !important;
    }
    .column-gap-md-24 {
        -moz-column-gap: 10rem !important;
        column-gap: 10rem !important;
    }
    .column-gap-md-25 {
        -moz-column-gap: 10.5rem !important;
        column-gap: 10.5rem !important;
    }
    .column-gap-md-26 {
        -moz-column-gap: 11rem !important;
        column-gap: 11rem !important;
    }
    .column-gap-md-27 {
        -moz-column-gap: 12rem !important;
        column-gap: 12rem !important;
    }
    .column-gap-md-28 {
        -moz-column-gap: 13rem !important;
        column-gap: 13rem !important;
    }
    .column-gap-md-29 {
        -moz-column-gap: 14rem !important;
        column-gap: 14rem !important;
    }
    .column-gap-md-30 {
        -moz-column-gap: 15rem !important;
        column-gap: 15rem !important;
    }
    .column-gap-md-31 {
        -moz-column-gap: 16rem !important;
        column-gap: 16rem !important;
    }
    .column-gap-md-32 {
        -moz-column-gap: 17rem !important;
        column-gap: 17rem !important;
    }
    .column-gap-md-33 {
        -moz-column-gap: 18rem !important;
        column-gap: 18rem !important;
    }
    .column-gap-md-34 {
        -moz-column-gap: 19rem !important;
        column-gap: 19rem !important;
    }
    .column-gap-md-35 {
        -moz-column-gap: 20rem !important;
        column-gap: 20rem !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) {
    .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;
    }
    .order-lg-2 {
        order: 2 !important;
    }
    .order-lg-3 {
        order: 3 !important;
    }
    .mb-lg-0 {
        margin-bottom: 0 !important;
    }
    .ms-lg-0 {
        margin-left: 0 !important;
    }
    .ms-lg-1 {
        margin-left: 0.25rem !important;
    }
    .ms-lg-2 {
        margin-left: 0.5rem !important;
    }
    .ms-lg-3 {
        margin-left: 0.75rem !important;
    }
    .ms-lg-4 {
        margin-left: 1rem !important;
    }
    .ms-lg-5 {
        margin-left: 1.25rem !important;
    }
    .ms-lg-6 {
        margin-left: 1.5rem !important;
    }
    .ms-lg-7 {
        margin-left: 1.75rem !important;
    }
    .ms-lg-8 {
        margin-left: 2rem !important;
    }
    .ms-lg-9 {
        margin-left: 2.5rem !important;
    }
    .ms-lg-10 {
        margin-left: 3rem !important;
    }
    .ms-lg-11 {
        margin-left: 3.5rem !important;
    }
    .ms-lg-12 {
        margin-left: 4rem !important;
    }
    .ms-lg-13 {
        margin-left: 4.5rem !important;
    }
    .ms-lg-14 {
        margin-left: 5rem !important;
    }
    .ms-lg-15 {
        margin-left: 5.5rem !important;
    }
    .ms-lg-16 {
        margin-left: 6rem !important;
    }
    .ms-lg-17 {
        margin-left: 6.5rem !important;
    }
    .ms-lg-18 {
        margin-left: 7rem !important;
    }
    .ms-lg-19 {
        margin-left: 7.5rem !important;
    }
    .ms-lg-20 {
        margin-left: 8rem !important;
    }
    .ms-lg-21 {
        margin-left: 8.5rem !important;
    }
    .ms-lg-22 {
        margin-left: 9rem !important;
    }
    .ms-lg-23 {
        margin-left: 9.5rem !important;
    }
    .ms-lg-24 {
        margin-left: 10rem !important;
    }
    .ms-lg-25 {
        margin-left: 10.5rem !important;
    }
    .ms-lg-26 {
        margin-left: 11rem !important;
    }
    .ms-lg-27 {
        margin-left: 12rem !important;
    }
    .ms-lg-28 {
        margin-left: 13rem !important;
    }
    .ms-lg-29 {
        margin-left: 14rem !important;
    }
    .ms-lg-30 {
        margin-left: 15rem !important;
    }
    .ms-lg-31 {
        margin-left: 16rem !important;
    }
    .ms-lg-32 {
        margin-left: 17rem !important;
    }
    .ms-lg-33 {
        margin-left: 18rem !important;
    }
    .ms-lg-34 {
        margin-left: 19rem !important;
    }
    .ms-lg-35 {
        margin-left: 20rem !important;
    }
    .ms-lg-auto {
        margin-left: auto !important;
    }
    .p-lg-8 {
        padding: 2rem !important;
    }
    .p-lg-10 {
        padding: 3rem !important;
    }
    .pb-lg-0 {
        padding-bottom: 0 !important;
    }
    .column-gap-lg-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important;
    }
    .column-gap-lg-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: 0.25rem !important;
    }
    .column-gap-lg-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
    }
    .column-gap-lg-3 {
        -moz-column-gap: 0.75rem !important;
        column-gap: 0.75rem !important;
    }
    .column-gap-lg-4 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important;
    }
    .column-gap-lg-5 {
        -moz-column-gap: 1.25rem !important;
        column-gap: 1.25rem !important;
    }
    .column-gap-lg-6 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
    .column-gap-lg-7 {
        -moz-column-gap: 1.75rem !important;
        column-gap: 1.75rem !important;
    }
    .column-gap-lg-8 {
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
    }
    .column-gap-lg-9 {
        -moz-column-gap: 2.5rem !important;
        column-gap: 2.5rem !important;
    }
    .column-gap-lg-10 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important;
    }
    .column-gap-lg-11 {
        -moz-column-gap: 3.5rem !important;
        column-gap: 3.5rem !important;
    }
    .column-gap-lg-12 {
        -moz-column-gap: 4rem !important;
        column-gap: 4rem !important;
    }
    .column-gap-lg-13 {
        -moz-column-gap: 4.5rem !important;
        column-gap: 4.5rem !important;
    }
    .column-gap-lg-14 {
        -moz-column-gap: 5rem !important;
        column-gap: 5rem !important;
    }
    .column-gap-lg-15 {
        -moz-column-gap: 5.5rem !important;
        column-gap: 5.5rem !important;
    }
    .column-gap-lg-16 {
        -moz-column-gap: 6rem !important;
        column-gap: 6rem !important;
    }
    .column-gap-lg-17 {
        -moz-column-gap: 6.5rem !important;
        column-gap: 6.5rem !important;
    }
    .column-gap-lg-18 {
        -moz-column-gap: 7rem !important;
        column-gap: 7rem !important;
    }
    .column-gap-lg-19 {
        -moz-column-gap: 7.5rem !important;
        column-gap: 7.5rem !important;
    }
    .column-gap-lg-20 {
        -moz-column-gap: 8rem !important;
        column-gap: 8rem !important;
    }
    .column-gap-lg-21 {
        -moz-column-gap: 8.5rem !important;
        column-gap: 8.5rem !important;
    }
    .column-gap-lg-22 {
        -moz-column-gap: 9rem !important;
        column-gap: 9rem !important;
    }
    .column-gap-lg-23 {
        -moz-column-gap: 9.5rem !important;
        column-gap: 9.5rem !important;
    }
    .column-gap-lg-24 {
        -moz-column-gap: 10rem !important;
        column-gap: 10rem !important;
    }
    .column-gap-lg-25 {
        -moz-column-gap: 10.5rem !important;
        column-gap: 10.5rem !important;
    }
    .column-gap-lg-26 {
        -moz-column-gap: 11rem !important;
        column-gap: 11rem !important;
    }
    .column-gap-lg-27 {
        -moz-column-gap: 12rem !important;
        column-gap: 12rem !important;
    }
    .column-gap-lg-28 {
        -moz-column-gap: 13rem !important;
        column-gap: 13rem !important;
    }
    .column-gap-lg-29 {
        -moz-column-gap: 14rem !important;
        column-gap: 14rem !important;
    }
    .column-gap-lg-30 {
        -moz-column-gap: 15rem !important;
        column-gap: 15rem !important;
    }
    .column-gap-lg-31 {
        -moz-column-gap: 16rem !important;
        column-gap: 16rem !important;
    }
    .column-gap-lg-32 {
        -moz-column-gap: 17rem !important;
        column-gap: 17rem !important;
    }
    .column-gap-lg-33 {
        -moz-column-gap: 18rem !important;
        column-gap: 18rem !important;
    }
    .column-gap-lg-34 {
        -moz-column-gap: 19rem !important;
        column-gap: 19rem !important;
    }
    .column-gap-lg-35 {
        -moz-column-gap: 20rem !important;
        column-gap: 20rem !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) {
    .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-block {
        display: block !important;
    }
    .d-xl-flex {
        display: flex !important;
    }
    .d-xl-none {
        display: none !important;
    }
    .flex-xl-row {
        flex-direction: row !important;
    }
    .align-items-xl-center {
        align-items: center !important;
    }
    .order-xl-0 {
        order: 0 !important;
    }
    .order-xl-1 {
        order: 1 !important;
    }
    .mt-xl-0 {
        margin-top: 0 !important;
    }
    .mt-xl-4 {
        margin-top: 1rem !important;
    }
    .mt-xl-6 {
        margin-top: 1.5rem !important;
    }
    .me-xl-0 {
        margin-right: 0 !important;
    }
    .me-xl-3 {
        margin-right: 0.75rem !important;
    }
    .me-xl-7 {
        margin-right: 1.75rem !important;
    }
    .mb-xl-0 {
        margin-bottom: 0 !important;
    }
    .ms-xl-0 {
        margin-left: 0 !important;
    }
    .ms-xl-1 {
        margin-left: 0.25rem !important;
    }
    .ms-xl-2 {
        margin-left: 0.5rem !important;
    }
    .ms-xl-3 {
        margin-left: 0.75rem !important;
    }
    .ms-xl-4 {
        margin-left: 1rem !important;
    }
    .ms-xl-5 {
        margin-left: 1.25rem !important;
    }
    .ms-xl-6 {
        margin-left: 1.5rem !important;
    }
    .ms-xl-7 {
        margin-left: 1.75rem !important;
    }
    .ms-xl-8 {
        margin-left: 2rem !important;
    }
    .ms-xl-9 {
        margin-left: 2.5rem !important;
    }
    .ms-xl-10 {
        margin-left: 3rem !important;
    }
    .ms-xl-11 {
        margin-left: 3.5rem !important;
    }
    .ms-xl-12 {
        margin-left: 4rem !important;
    }
    .ms-xl-13 {
        margin-left: 4.5rem !important;
    }
    .ms-xl-14 {
        margin-left: 5rem !important;
    }
    .ms-xl-15 {
        margin-left: 5.5rem !important;
    }
    .ms-xl-16 {
        margin-left: 6rem !important;
    }
    .ms-xl-17 {
        margin-left: 6.5rem !important;
    }
    .ms-xl-18 {
        margin-left: 7rem !important;
    }
    .ms-xl-19 {
        margin-left: 7.5rem !important;
    }
    .ms-xl-20 {
        margin-left: 8rem !important;
    }
    .ms-xl-21 {
        margin-left: 8.5rem !important;
    }
    .ms-xl-22 {
        margin-left: 9rem !important;
    }
    .ms-xl-23 {
        margin-left: 9.5rem !important;
    }
    .ms-xl-24 {
        margin-left: 10rem !important;
    }
    .ms-xl-25 {
        margin-left: 10.5rem !important;
    }
    .ms-xl-26 {
        margin-left: 11rem !important;
    }
    .ms-xl-27 {
        margin-left: 12rem !important;
    }
    .ms-xl-28 {
        margin-left: 13rem !important;
    }
    .ms-xl-29 {
        margin-left: 14rem !important;
    }
    .ms-xl-30 {
        margin-left: 15rem !important;
    }
    .ms-xl-31 {
        margin-left: 16rem !important;
    }
    .ms-xl-32 {
        margin-left: 17rem !important;
    }
    .ms-xl-33 {
        margin-left: 18rem !important;
    }
    .ms-xl-34 {
        margin-left: 19rem !important;
    }
    .ms-xl-35 {
        margin-left: 20rem !important;
    }
    .ms-xl-auto {
        margin-left: auto !important;
    }
    .p-xl-3 {
        padding: 0.75rem !important;
    }
    .pe-xl-6 {
        padding-right: 1.5rem !important;
    }
    .pe-xl-8 {
        padding-right: 2rem !important;
    }
    .ps-xl-6 {
        padding-left: 1.5rem !important;
    }
    .ps-xl-8 {
        padding-left: 2rem !important;
    }
    .column-gap-xl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important;
    }
    .column-gap-xl-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: 0.25rem !important;
    }
    .column-gap-xl-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
    }
    .column-gap-xl-3 {
        -moz-column-gap: 0.75rem !important;
        column-gap: 0.75rem !important;
    }
    .column-gap-xl-4 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important;
    }
    .column-gap-xl-5 {
        -moz-column-gap: 1.25rem !important;
        column-gap: 1.25rem !important;
    }
    .column-gap-xl-6 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
    .column-gap-xl-7 {
        -moz-column-gap: 1.75rem !important;
        column-gap: 1.75rem !important;
    }
    .column-gap-xl-8 {
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
    }
    .column-gap-xl-9 {
        -moz-column-gap: 2.5rem !important;
        column-gap: 2.5rem !important;
    }
    .column-gap-xl-10 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important;
    }
    .column-gap-xl-11 {
        -moz-column-gap: 3.5rem !important;
        column-gap: 3.5rem !important;
    }
    .column-gap-xl-12 {
        -moz-column-gap: 4rem !important;
        column-gap: 4rem !important;
    }
    .column-gap-xl-13 {
        -moz-column-gap: 4.5rem !important;
        column-gap: 4.5rem !important;
    }
    .column-gap-xl-14 {
        -moz-column-gap: 5rem !important;
        column-gap: 5rem !important;
    }
    .column-gap-xl-15 {
        -moz-column-gap: 5.5rem !important;
        column-gap: 5.5rem !important;
    }
    .column-gap-xl-16 {
        -moz-column-gap: 6rem !important;
        column-gap: 6rem !important;
    }
    .column-gap-xl-17 {
        -moz-column-gap: 6.5rem !important;
        column-gap: 6.5rem !important;
    }
    .column-gap-xl-18 {
        -moz-column-gap: 7rem !important;
        column-gap: 7rem !important;
    }
    .column-gap-xl-19 {
        -moz-column-gap: 7.5rem !important;
        column-gap: 7.5rem !important;
    }
    .column-gap-xl-20 {
        -moz-column-gap: 8rem !important;
        column-gap: 8rem !important;
    }
    .column-gap-xl-21 {
        -moz-column-gap: 8.5rem !important;
        column-gap: 8.5rem !important;
    }
    .column-gap-xl-22 {
        -moz-column-gap: 9rem !important;
        column-gap: 9rem !important;
    }
    .column-gap-xl-23 {
        -moz-column-gap: 9.5rem !important;
        column-gap: 9.5rem !important;
    }
    .column-gap-xl-24 {
        -moz-column-gap: 10rem !important;
        column-gap: 10rem !important;
    }
    .column-gap-xl-25 {
        -moz-column-gap: 10.5rem !important;
        column-gap: 10.5rem !important;
    }
    .column-gap-xl-26 {
        -moz-column-gap: 11rem !important;
        column-gap: 11rem !important;
    }
    .column-gap-xl-27 {
        -moz-column-gap: 12rem !important;
        column-gap: 12rem !important;
    }
    .column-gap-xl-28 {
        -moz-column-gap: 13rem !important;
        column-gap: 13rem !important;
    }
    .column-gap-xl-29 {
        -moz-column-gap: 14rem !important;
        column-gap: 14rem !important;
    }
    .column-gap-xl-30 {
        -moz-column-gap: 15rem !important;
        column-gap: 15rem !important;
    }
    .column-gap-xl-31 {
        -moz-column-gap: 16rem !important;
        column-gap: 16rem !important;
    }
    .column-gap-xl-32 {
        -moz-column-gap: 17rem !important;
        column-gap: 17rem !important;
    }
    .column-gap-xl-33 {
        -moz-column-gap: 18rem !important;
        column-gap: 18rem !important;
    }
    .column-gap-xl-34 {
        -moz-column-gap: 19rem !important;
        column-gap: 19rem !important;
    }
    .column-gap-xl-35 {
        -moz-column-gap: 20rem !important;
        column-gap: 20rem !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) {
    .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;
    }
    .ms-xxl-0 {
        margin-left: 0 !important;
    }
    .ms-xxl-1 {
        margin-left: 0.25rem !important;
    }
    .ms-xxl-2 {
        margin-left: 0.5rem !important;
    }
    .ms-xxl-3 {
        margin-left: 0.75rem !important;
    }
    .ms-xxl-4 {
        margin-left: 1rem !important;
    }
    .ms-xxl-5 {
        margin-left: 1.25rem !important;
    }
    .ms-xxl-6 {
        margin-left: 1.5rem !important;
    }
    .ms-xxl-7 {
        margin-left: 1.75rem !important;
    }
    .ms-xxl-8 {
        margin-left: 2rem !important;
    }
    .ms-xxl-9 {
        margin-left: 2.5rem !important;
    }
    .ms-xxl-10 {
        margin-left: 3rem !important;
    }
    .ms-xxl-11 {
        margin-left: 3.5rem !important;
    }
    .ms-xxl-12 {
        margin-left: 4rem !important;
    }
    .ms-xxl-13 {
        margin-left: 4.5rem !important;
    }
    .ms-xxl-14 {
        margin-left: 5rem !important;
    }
    .ms-xxl-15 {
        margin-left: 5.5rem !important;
    }
    .ms-xxl-16 {
        margin-left: 6rem !important;
    }
    .ms-xxl-17 {
        margin-left: 6.5rem !important;
    }
    .ms-xxl-18 {
        margin-left: 7rem !important;
    }
    .ms-xxl-19 {
        margin-left: 7.5rem !important;
    }
    .ms-xxl-20 {
        margin-left: 8rem !important;
    }
    .ms-xxl-21 {
        margin-left: 8.5rem !important;
    }
    .ms-xxl-22 {
        margin-left: 9rem !important;
    }
    .ms-xxl-23 {
        margin-left: 9.5rem !important;
    }
    .ms-xxl-24 {
        margin-left: 10rem !important;
    }
    .ms-xxl-25 {
        margin-left: 10.5rem !important;
    }
    .ms-xxl-26 {
        margin-left: 11rem !important;
    }
    .ms-xxl-27 {
        margin-left: 12rem !important;
    }
    .ms-xxl-28 {
        margin-left: 13rem !important;
    }
    .ms-xxl-29 {
        margin-left: 14rem !important;
    }
    .ms-xxl-30 {
        margin-left: 15rem !important;
    }
    .ms-xxl-31 {
        margin-left: 16rem !important;
    }
    .ms-xxl-32 {
        margin-left: 17rem !important;
    }
    .ms-xxl-33 {
        margin-left: 18rem !important;
    }
    .ms-xxl-34 {
        margin-left: 19rem !important;
    }
    .ms-xxl-35 {
        margin-left: 20rem !important;
    }
    .ms-xxl-auto {
        margin-left: auto !important;
    }
    .ps-xxl-10 {
        padding-left: 3rem !important;
    }
    .column-gap-xxl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important;
    }
    .column-gap-xxl-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: 0.25rem !important;
    }
    .column-gap-xxl-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: 0.5rem !important;
    }
    .column-gap-xxl-3 {
        -moz-column-gap: 0.75rem !important;
        column-gap: 0.75rem !important;
    }
    .column-gap-xxl-4 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important;
    }
    .column-gap-xxl-5 {
        -moz-column-gap: 1.25rem !important;
        column-gap: 1.25rem !important;
    }
    .column-gap-xxl-6 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important;
    }
    .column-gap-xxl-7 {
        -moz-column-gap: 1.75rem !important;
        column-gap: 1.75rem !important;
    }
    .column-gap-xxl-8 {
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
    }
    .column-gap-xxl-9 {
        -moz-column-gap: 2.5rem !important;
        column-gap: 2.5rem !important;
    }
    .column-gap-xxl-10 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important;
    }
    .column-gap-xxl-11 {
        -moz-column-gap: 3.5rem !important;
        column-gap: 3.5rem !important;
    }
    .column-gap-xxl-12 {
        -moz-column-gap: 4rem !important;
        column-gap: 4rem !important;
    }
    .column-gap-xxl-13 {
        -moz-column-gap: 4.5rem !important;
        column-gap: 4.5rem !important;
    }
    .column-gap-xxl-14 {
        -moz-column-gap: 5rem !important;
        column-gap: 5rem !important;
    }
    .column-gap-xxl-15 {
        -moz-column-gap: 5.5rem !important;
        column-gap: 5.5rem !important;
    }
    .column-gap-xxl-16 {
        -moz-column-gap: 6rem !important;
        column-gap: 6rem !important;
    }
    .column-gap-xxl-17 {
        -moz-column-gap: 6.5rem !important;
        column-gap: 6.5rem !important;
    }
    .column-gap-xxl-18 {
        -moz-column-gap: 7rem !important;
        column-gap: 7rem !important;
    }
    .column-gap-xxl-19 {
        -moz-column-gap: 7.5rem !important;
        column-gap: 7.5rem !important;
    }
    .column-gap-xxl-20 {
        -moz-column-gap: 8rem !important;
        column-gap: 8rem !important;
    }
    .column-gap-xxl-21 {
        -moz-column-gap: 8.5rem !important;
        column-gap: 8.5rem !important;
    }
    .column-gap-xxl-22 {
        -moz-column-gap: 9rem !important;
        column-gap: 9rem !important;
    }
    .column-gap-xxl-23 {
        -moz-column-gap: 9.5rem !important;
        column-gap: 9.5rem !important;
    }
    .column-gap-xxl-24 {
        -moz-column-gap: 10rem !important;
        column-gap: 10rem !important;
    }
    .column-gap-xxl-25 {
        -moz-column-gap: 10.5rem !important;
        column-gap: 10.5rem !important;
    }
    .column-gap-xxl-26 {
        -moz-column-gap: 11rem !important;
        column-gap: 11rem !important;
    }
    .column-gap-xxl-27 {
        -moz-column-gap: 12rem !important;
        column-gap: 12rem !important;
    }
    .column-gap-xxl-28 {
        -moz-column-gap: 13rem !important;
        column-gap: 13rem !important;
    }
    .column-gap-xxl-29 {
        -moz-column-gap: 14rem !important;
        column-gap: 14rem !important;
    }
    .column-gap-xxl-30 {
        -moz-column-gap: 15rem !important;
        column-gap: 15rem !important;
    }
    .column-gap-xxl-31 {
        -moz-column-gap: 16rem !important;
        column-gap: 16rem !important;
    }
    .column-gap-xxl-32 {
        -moz-column-gap: 17rem !important;
        column-gap: 17rem !important;
    }
    .column-gap-xxl-33 {
        -moz-column-gap: 18rem !important;
        column-gap: 18rem !important;
    }
    .column-gap-xxl-34 {
        -moz-column-gap: 19rem !important;
        column-gap: 19rem !important;
    }
    .column-gap-xxl-35 {
        -moz-column-gap: 20rem !important;
        column-gap: 20rem !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.53125rem !important;
    }
    .fs-2 {
        font-size: 2.08125rem !important;
    }
    .fs-3 {
        font-size: 1.575rem !important;
    }
    .fs-4 {
        font-size: 1.35rem !important;
    }
}
/* END UTILITIES */
/*-----------------------------------------------------------*/
/* START EXTEND */
@media (max-width: 767.98px) {
    .hero-carousel .carousel-item,
    .hero-carousel .image-wrapper,
    .hero-carousel .video-wrapper,
    .hero-video .carousel-item,
    .hero-video .image-wrapper,
    .hero-video .video-wrapper {
        height: 465px;
    }
    .hero-carousel .carousel-caption,
    .hero-carousel .image-caption,
    .hero-video .carousel-caption,
    .hero-video .image-caption {
        padding-top: 4rem;
    }
    .hero-carousel .check-room,
    .hero-video .check-room {
        background-color: rgba(var(--bs-black-rgb), 1);
    }
    .hero-carousel .check-room .card-check-room,
    .hero-video .check-room .card-check-room {
        background-color: rgba(var(--bs-black-rgb), 1);
    }
}
@media (min-width: 768px) {
    .hero-carousel .carousel-item .bg-image,
    .hero-carousel .image-wrapper,
    .hero-carousel .video-wrapper,
    .hero-video .carousel-item .bg-image,
    .hero-video .image-wrapper,
    .hero-video .video-wrapper {
        height: 100vh;
    }
    .hero-carousel .check-room,
    .hero-video .check-room {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 10;
        margin-bottom: 7rem;
    }
    .hero-carousel .check-room .card-check-room,
    .hero-video .check-room .card-check-room {
        background-color: rgba(var(--bs-black-rgb), 0.75);
    }
}
#header {
    transition: 0.35s all ease-in-out;
    -webkit-transition: 0.35s all ease-in-out;
    -moz-transition: 0.35s all ease-in-out;
    -ms-transition: 0.35s all ease-in-out;
    -o-transition: 0.35s all ease-in-out;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: transparent;
}
#header[data-bs-theme=dark] {
    --bs-bg-opacity: 0;
}
#header[data-bs-theme=dark] .navbar::before {
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: -1;
    opacity: 1;
    transition: 0.35s all ease-in-out;
    -webkit-transition: 0.35s all ease-in-out;
    -moz-transition: 0.35s all ease-in-out;
    -ms-transition: 0.35s all ease-in-out;
    -o-transition: 0.35s all ease-in-out;
}
#header.header-sticked {
    --bs-bg-opacity: 1;
    border-bottom-color: var(--bs-border-color);
}
#header.header-sticked .navbar::before {
    opacity: 0;
}
/* Brand logo swap: light logo on the transparent/dark header, dark logo once the header turns white on scroll */
#header .brand-logo-sticky {
    display: none;
}
#header.header-sticked .brand-logo-sticky {
    display: inline-block;
}
/* Wordmark testuale solo mobile: il logo immagine (.brand-logo-sticky) resta invisibile finché
   l'header non è "sticked" (nessuna .brand-logo-default esiste nel markup per quello stato) —
   su desktop questo comportamento resta invariato/non toccato. Su mobile mostriamo invece
   questo testo prima dello scroll, e lo nascondiamo quando compare il logo vero. */
/* Su mobile la hero non c'è più (vedi .hero-static { display:none } sopra). L'header ora è
   sempre nel tema chiaro fin da subito (fix vero: vedi syncHeaderTheme in theme.js, che su
   mobile tratta l'header come già "sticked" — logo vero e colori corretti in un colpo solo,
   niente più hack di sola opacità qui). Posizionamento: "sticky" invece di "fixed" — resta nel
   flusso normale del documento (niente più margini a numero magico da indovinare per il form
   sotto), ma si aggancia comunque in cima quando si scrolla, restando visibile. Il desktop non
   è toccato. */
@media (max-width: 767.98px) {
    #header {
        position: sticky;
        top: 0;
    }
    /* Banner promo temporaneamente nascosto su mobile: si sovrapponeva al form sottostante
       ora che la hero (dove viveva prima) non c'è più. */
    .promo-banner {
        display: none !important;
    }
}
/* Generic default/sticky asset swap: used for avatar and cart icons (same pale/dark logic as the logo) */
#header .asset-sticky {
    display: none;
}
#header.header-sticked .asset-default {
    display: none;
}
#header.header-sticked .asset-sticky {
    display: inline-block;
}
/* Il menu offcanvas (#offcanvasNavbar) ha data-bs-theme="dark", ma è annidato dentro <nav
   class="navbar">, che calcola --bs-navbar-color una sola volta usando il tema dell'header
   antenato (ora sempre "chiaro" su mobile) — quel valore, una volta calcolato lì, scende
   per eredità già "congelato" scuro, ignorando il data-bs-theme più profondo dell'offcanvas.
   Rimedio: ridichiaro qui le stesse variabili, così vengono ricalcolate usando il tema
   dell'offcanvas stesso (dove --bs-emphasis-color-rgb è correttamente quello scuro/bianco). */
#offcanvasNavbar {
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.85);
    --bs-navbar-hover-color: rgba(var(--bs-primary-rgb), 0.85);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
    --bs-navbar-active-color: rgba(var(--bs-primary-rgb), 1);
}
/* Testo sottomenu, segno +/-, le tre icone in fondo e la bandiera più grandi SOLO su mobile
   (era rimasto senza media query e si ingrandiva anche sul mega-menu desktop). */
@media (max-width: 767.98px) {
    /* Fallback indipendente da theme.js: se per qualche motivo lo script non gira su questa
       pagina (es. non incluso in reservation/), il menu resta comunque scuro su mobile,
       impostando qui via CSS puro le stesse variabili che [data-bs-theme=dark] imposterebbe. */
    #offcanvasNavbar {
        --bs-body-color: #dedede;
        --bs-body-bg: #212121;
        --bs-body-bg-rgb: 33, 33, 33;
        --bs-emphasis-color: #fff;
        --bs-emphasis-color-rgb: 255, 255, 255;
        background-color: var(--bs-body-bg);
        color: var(--bs-body-color);
    }
    #offcanvasNavbar {
        --bs-navbar-dropdown-toggle-icon-font-size: 1.1rem;
    }
    #offcanvasNavbar .dropdown-item {
        font-size: 1.45rem;
    }
    #offcanvasNavbar .hicon-instant,
    #offcanvasNavbar #toggle-theme .hicon {
        font-size: 1.8rem;
    }
    #offcanvasNavbar .navbar-text img {
        height: 22px;
    }
    /* La riga icone/bandiere andava a capo quando c'erano più lingue (es. IT + US): tutto
       su una riga sola, restringendo un po' lo spazio tra un elemento e l'altro se serve. */
    #offcanvasNavbar .nav.flex-row {
        flex-wrap: nowrap;
    }
    #offcanvasNavbar .nav.flex-row .nav-item {
        margin-right: 0.75rem !important;
    }
    /* Linee sottili che separano logo / menu / icone / pulsante */
    #offcanvasNavbar .offcanvas-divider {
        margin: 0.5rem 0;
        border: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        opacity: 1;
    }
    /* Icone (info + tema) dello stesso colore di HOME, invece del bianco/grigio attuale */
    #offcanvasNavbar .hicon-instant,
    #offcanvasNavbar #toggle-theme .hicon {
        color: var(--bs-primary);
    }
    /* Pulsante "Inviami posizione" */
    #offcanvasNavbar .offcanvas-directions-btn {
        margin-top: 1rem;
        padding: 0.85rem 1rem;
        font-size: 1.1rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }
}
.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 25px;
    bottom: 25px;
    z-index: 999;
    background: rgba(var(--bs-primary-rgb), 0.5);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.4s;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.15rem;
}
.scroll-top:hover {
    background: rgba(var(--bs-primary-rgb), 0.85);
}
.scroll-top.active {
    visibility: visible;
    opacity: 1;
}
.scroll-top-book {
    width: auto;
    height: 44px;
    padding: 0 1.35rem;
    border-radius: 50px;
    background: linear-gradient(135deg, var(--bs-primary-500) 0%, var(--bs-primary-600) 100%);
    font-family: "Jost", sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(167, 133, 106, 0.4), 0 2px 6px rgba(17, 17, 17, 0.15);
}
.scroll-top-book:hover {
    background: linear-gradient(135deg, var(--bs-primary-600) 0%, var(--bs-primary-700) 100%);
    box-shadow: 0 12px 26px rgba(167, 133, 106, 0.5), 0 3px 8px rgba(17, 17, 17, 0.2);
}
/* Pulsante "Fatto" del calendario di ricerca camere, più grande e ben visibile (posizione
   originale della libreria, non toccata). !important perché plugins.css sembra caricarsi
   dopo theme.css, quindi le sue regole vincerebbero altrimenti a parità di specificità. */
.datepicker__close-button {
    font-size: 0.95rem !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
}
.code-wrapper {
    margin-bottom: 0;
    position: relative;
}
.code-wrapper .btn-clipboard {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    cursor: pointer;
    transform: none;
    font-size: 0.65rem;
    padding: 0.1rem 0.45rem 0.1rem;
    z-index: 3;
}
.code-wrapper pre>code[class*=language-] {
    padding: 2.25em;
}
/* Font */
.ff-heading {
    font-family: "Cinzel", serif !important;
}
.ff-sub {
    font-family: "Red Hat Text", sans-serif !important;
}
/* Letter spacing */
.ls-1 {
    letter-spacing: 0.05rem;
}
.ls-2 {
    letter-spacing: 0.25rem;
}
.ls-3 {
    letter-spacing: 0.35rem;
}
/* END EXTEND */

/* Hotel Featured list */

/* Service Featured */
.service-featured-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 24px;
  margin-top: 1rem;
}
.service-featured-list .featured-item {
  display: flex;
  align-items: center;
  color: var(--bs-dark-gray);
  line-height: 1.5;
  margin-bottom: 1rem;
}
.service-featured-list .featured-item i {
  font-size: 2rem;
  margin-right: 1rem;
}
.service-featured-list .featured-desc {
  display: flex;
  flex-direction: column;
}
.service-featured-list .featured-desc span {
  /*text-transform: uppercase;*/
  /* font-size: 1.2rem; */
  font-weight: 600;
  letter-spacing: 0.135rem;
  display: flex;
  flex-direction: column;
}




/*-----------------------------------------------------------*/
/* START YOUR CUSTOM */
/* START YOUR CUSTOM */
.room .room-price {
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
   background-color: rgba(var(--bs-black-rgb), 0.55);
  color: white;
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0.75rem;
  width: 130px;
  text-align: center;
}
.room .room-price .price-title {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.785rem;
  letter-spacing: 0.105rem;
  margin-bottom: 0.25rem;
}
.room .room-price .price-number {
  font-size: 2.15rem;
  line-height: 1;
}
.room .room-price .price-number sup {
  font-weight: 400;
  top: -0.35em;
}

/* code castom */


/* RESERVATION TABS
-------------------------------------------------- */
.reservation_tabs          { font-size:14px; margin:10px 0px 15px 0px; width:100%; }
.reservation_tab           { font-size:14px; text-align:center; width:25%; height:30px; border:1px solid #ccc; color:#ccc; background-color:#f1f2f3; }
.reservation_tab A         { color:#777; }
.reservation_tab_active    { font-size:14px; text-align:center; width:25%; height:30px; border:1px solid #ccc; color:#08c; }



/* For exp Ajax */

.offerta-badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  /*overflow: hidden; */
}

.offerta-badge span {
  position: absolute;
  bottom:0px;
  right: 0px;
  left: 0px;
  display: block;
  width: 280px;
  padding: 8px 0;
  background-color: #5ab77b7d;; /* Colore rosso primario di Bootstrap */
  color: #fff;
  font-size: 0.9rem;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(0deg); /* Ruota la fascia per renderla trasversale */
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
/* pulsante prenotazione */
/* Contenitore principale */

/* Stile base del Badge */

/* Varianti di colore (sfruttando le tue variabili CSS) */

.badge-primary {
    background-color: var(--bs-primary, #a7856a);
    color: #ffffff;
}

.text-justify-custom {
	font-size: 1.2em;
    text-align: justify;
    text-align-last: left; /* evita che l'ultima riga si allarghi in modo innaturale */
    hyphens: auto;         /* sillabazione automatica, aiuta la giustificazione su blocchi stretti */
    max-width: 1100px;      /* misura di lettura piacevole, niente riga troppo lunga */
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;     /* migliora l'interruzione riga dove supportato (Chrome/Edge) */
}

#checkRooms {
    scroll-margin-top: 6.5rem;
}

/* Promo banner
-------------------------------------------------- */
.hero-carousel {
    position: relative;
}
.promo-banner {
    position: absolute;
    /* --header-height viene impostata via JS con l'altezza reale dell'header (vedi placeBanner() in index.php).
       Il fallback 6.5rem copre il caso in cui JS non sia ancora girato o sia disabilitato.
       --promo-banner-gap è lo spazio tra header e banner: fisso qui, ridotto in mobile qui sotto. */
    top: calc(var(--header-height, 6.5rem) + var(--promo-banner-gap, 0.625rem));
    left: 1.7rem;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 280px;
    max-width: calc(100% - 2.5rem);
    padding: 0.9rem 1.5rem 0.9rem 1.1rem;
    /*background: rgba(17, 17, 17, 0.6);*/
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-left: 3px solid rgba(var(--bs-danger-rgb), 0.25);
    border-radius: var(--bs-border-radius);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
    transition: opacity 0.3s ease, transform 0.3s ease;
    /* "backwards" (non "both"): mantiene lo stato iniziale durante i 0.3s di ritardo, ma non
       blocca transform/opacity al termine — altrimenti l'animazione (che in CSS ha priorità
       più alta di una classe "normale") continuerebbe a sovrascrivere .is-dismissed per sempre. */
    animation: promoBannerIn 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s backwards;
}
.promo-banner-badge {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    position: relative;
    /* Vetro smerigliato: sfondo semi-trasparente + blur, invece del riempimento
       pieno a gradiente rosso di prima. Resta leggibile su qualunque foto sotto. */
    background: rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    backdrop-filter: blur(10px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.25),
        inset 0 1px 1px rgba(255, 255, 255, 0.4),
        inset 0 -1px 6px rgba(0, 0, 0, 0.12);
    color: #fff;
    line-height: 1;
}
/* Anello sottile in accento brand, staccato dal bordo di vetro: richiama lo sconto
   con un tocco di colore invece del vecchio riempimento pieno rosso */
.promo-banner-badge::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid rgba(var(--bs-danger-rgb), 0.55);
    pointer-events: none;
}
.promo-banner-badge-value {
    font-family: "Cinzel", serif;
    font-weight: 700;
    font-size: 1.7rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
.promo-banner-badge-label {
    font-family: "Jost", sans-serif;
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.04rem;
    margin-top: 1px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.promo-banner-text {
    display: flex;
    flex-direction: column;
    color: #fff;
    min-width: 0;
}
.promo-banner-eyebrow {
    font-family: "Jost", sans-serif;
    font-size: 0.62rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    color: var(--bs-primary-300);
    margin-bottom: 0.1rem;
}
.promo-banner-title {
    font-family: "Cinzel", serif;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.01rem;
    line-height: 1.2;
}
.promo-banner.is-dismissed {
    opacity: 0;
    transform: translateX(-120%);
    pointer-events: none;
}
@keyframes promoBannerIn {
    from { opacity: 0; transform: translateX(-120%); }
    to { opacity: 1; transform: translateX(0); }
}
@media (max-width: 575.98px) {
    .promo-banner {
        --promo-banner-gap: -1rem; /* stacco più stretto su mobile, come richiesto (~50px) */
        left: 0.75rem;
        width: 250px;
        padding: 0.75rem 1.35rem 0.75rem 0.9rem;
        gap: 0.65rem;
    }
    .promo-banner-badge {
        width: 44px;
        height: 44px;
    }
    .promo-banner-badge-value {
        font-size: 0.8rem;
    }
    .promo-banner-title {
        font-size: 0.75rem;
    }
}
@media (max-height: 480px) {
    .promo-banner {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .promo-banner {
        animation: none;
        transition: none;
    }
}

/* Layered card (replica di .room / .room-container del tema, vedi room-list.html/main.css di riferimento):
   un blocco di colore sfalsato (::before) sbircia dietro una scheda a sfondo pieno con ombra.
   .layered-card è il contenitore esterno (riserva lo spazio per il blocco + l'offset);
   .layered-card-inner è la scheda vera e propria (sfondo, ombra).
   Aggiungi .layered-card-right per specchiare l'effetto sul lato destro, utile per alternare
   sezioni consecutive (qui usato in #overview, speculare a #about). */
.layered-card {
    position: relative;
    margin-bottom: 0.75rem;
}
.layered-card::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.75rem;
    width: 33.333333%;
    height: 100%;
    background-color: rgba(var(--bs-layered-card-rgb), 0.09);
}
.layered-card-inner {
    position: relative;
    background-color: var(--bs-body-bg);
    box-shadow: var(--bs-box-shadow-sm);
    margin-left: 0.75rem;
}
.layered-card-right::before {
    left: unset;
    right: 0;
}
.layered-card-right .layered-card-inner {
    margin-left: unset;
    margin-right: 0.75rem;
}
@media (min-width: 768px) {
    .layered-card {
        margin-bottom: 2rem;
    }
    .layered-card::before {
        bottom: -2rem;
    }
    .layered-card-inner {
        margin-left: 2rem;
    }
    .layered-card-right .layered-card-inner {
        margin-left: unset;
        margin-right: 2rem;
    }
}

/* Map lite (placeholder statico prima del caricamento della mappa interattiva)
-------------------------------------------------- */



/* Card camera in evidenza (roomsSuites)
-------------------------------------------------- */

/* Badge prezzo sull'immagine della camera in evidenza
-------------------------------------------------- */
.room-price-overlay {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0.65rem 1.1rem;
    background: linear-gradient(135deg, #4c613f9e 0%, #08490e 100%);
    color: #fff;
    border-radius: var(--bs-border-radius);
    box-shadow: 0 8px 20px rgba(17, 17, 17, 0.3);
}
.room-price-overlay.has-discount {
    margin-top: 0.5rem;
}
.room-price-overlay-main {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.room-price-overlay-current {
    font-size: 2rem;
    /*font-weight: 700;*/
    line-height: 1;
}
.room-price-overlay-current sup {
    font-size: 0.55em;
    font-weight: 500;
    margin-right: 1px;
}
.room-price-overlay-old {
    font-size: 0.95rem;
    font-weight: 300;
    opacity: 0.95;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}
.room-price-overlay-old sup {
    font-size: 0.75em;
}
.room-price-overlay-night {
    text-transform: lowercase;
}
@media (max-width: 575.98px) {
    .room-price-overlay {
        padding: 0.5rem 0.85rem;
    }
    .room-price-overlay-current {
        font-size: 1.4rem;
    }
}

/* ===========================================================
   Modal avviso "date di soggiorno non valide"
   =========================================================== */
.modal-date-alert .modal-dialog {
    max-width: 420px;
}
.modal-date-alert .modal-content {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 1.5rem 3.5rem rgba(67, 53, 42, 0.28);
    overflow: hidden;
}
.modal-date-alert .modal-body {
    padding: 2.75rem 2.25rem 2.25rem;
    text-align: center;
}
.modal-date-alert-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
    font-size: 1.85rem;
}
.modal-date-alert-title {
    font-family: "Cinzel", serif;
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bs-primary-text-emphasis);
    margin-bottom: 0.75rem;
}
.modal-date-alert-text {
    font-family: "Jost", sans-serif;
    font-size: 0.98rem;
    font-weight: 300;
    color: #6b6058;
    margin-bottom: 1.75rem;
}
.modal-date-alert .btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    font-family: "Jost", sans-serif;
    letter-spacing: 0.03em;
    padding: 0.6rem 2.25rem;
    border-radius: 2rem;
}
.modal-date-alert .btn-primary:hover,
.modal-date-alert .btn-primary:focus {
    background-color: var(--bs-primary-600, #866a55);
    border-color: var(--bs-primary-600, #866a55);
}
.modal-date-alert .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

/* ===========================================================
   Pulsante Prenota/Rimuovi camera (a1.php)
   Nota: il bottone deve mantenere la classe "btn" seguita da un
   carattere invisibile U+200E (Left-to-Right Mark) perché lo script
   di reserve/rimozione AJAX del modulo prenotazione (funzione
   PrepareJsForSearch() in Rooms_class.php) lo aggancia esattamente
   su quel selettore letterale ($(".btn\u200e")). Per questo lo
   stile NON va applicato alla classe "btn", ma a una classe
   aggiuntiva stabile: room-select-btn-el.
   =========================================================== */

/* ===========================================================
   Slider orario di arrivo previsto (handler_booking.php)
   Traccia ridotta a una linea sottilissima invece della barra
   spessa di default di .form-range; il pallino (thumb) resta
   ben visibile e centrato sulla linea.
   =========================================================== */
#hour-slider.form-range::-webkit-slider-runnable-track {
    height: 1px;
    background-color: var(--bs-border-color);
    border-radius: 0;
}
#hour-slider.form-range::-moz-range-track {
    height: 1px;
    background-color: var(--bs-border-color);
    border-radius: 0;
}
#hour-slider.form-range::-webkit-slider-thumb {
    width: 0.875rem;
    height: 0.875rem;
    margin-top: calc((1px - 0.875rem) / 2);
}
#hour-slider.form-range::-moz-range-thumb {
    width: 0.875rem;
    height: 0.875rem;
}
#hour-slider:invalid {
    box-shadow: none;
    outline: none;
}
/* Bottone "Accedi con Google" nei modali Login/Registrati: quando l'utente
   è già loggato nel browser, Google mostra un testo personalizzato
   ("Accedi come Nome / email") più largo del previsto, che sfonda la
   colonna e causa lo scroll orizzontale del modale. Lo ritagliamo in un
   contenitore di larghezza fissa e lo scaliamo leggermente, così si
   adatta sempre indipendentemente dalla lunghezza del nome mostrato. */


/* Calendario disponibilità: ricostruito da zero (agosto 2026) per riflettere
   i numeri REALI impostati dall'admin (Rooms::GetRoomAvalibilityForMonth,
   stessa tabella uhb_rooms_availabilities del pannello admin), non più le sole
   prenotazioni confermate del modulo nativo del venditore (che ignorava i
   blocchi manuali dell'admin, causando incoerenza tra i due calendari). */
.custom-availability-calendar {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.custom-cal-month {
	flex: 1 1 260px;
	min-width: 260px;
}
.custom-cal-month-title {
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bs-emphasis-color);
	margin-bottom: 0.75rem;
}
.custom-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 3px;
	border: 1px solid var(--bs-border-color);
	border-radius: 8px;
	overflow: hidden;
	padding: 3px;
	background-color: var(--bs-border-color);
}
.custom-cal-weekday {
	background: var(--bs-primary);
	color: #fff;
	text-align: center;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.85rem 0;
}
.custom-cal-day {
	background-color: #ffffff;
	text-align: center;
	font-size: 1rem;
	padding: 0.75rem 0;
}
.custom-cal-day-empty {
	background-color: transparent;
}
.custom-cal-day-free {
	background-color: #eaf3de;
	color: #3b6d11;
}
.custom-cal-day-partial {
	background-color: #faeeda;
	color: #854f0b;
}
.custom-cal-day-full {
	background-color: #c0392b;
	color: #ffffff;
	font-weight: 600;
}
.custom-cal-day-past {
	background-color: #f7f7f5;
	color: #b4b2a9;
}
.custom-cal-day-today {
	background-color: var(--bs-primary);
	color: #fff;
	font-weight: 600;
}
@media (max-width: 767.98px) {
	.custom-availability-calendar {
		flex-direction: column;
		gap: 1.5rem;
	}
	.custom-cal-day {
		font-size: 0.9rem;
		padding: 0.6rem 0;
	}
}

/* Legenda sotto il calendario: pallini con lo STESSO colore esatto delle
   celle corrispondenti (nessun colore "a parte" più vivido solo per la
   legenda), con un bordo sottile per restare visibili anche quelli più chiari */
.cal-legend-dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	margin-right: 8px;
	border: 1px solid rgba(17, 17, 17, 0.15);
}
.cal-legend-free {
	background-color: #eaf3de;
}
.cal-legend-partial {
	background-color: #faeeda;
}
.cal-legend-full {
	background-color: #c0392b;
}

/* Galleria pagina dettaglio camera: cap altezza (l'immagine a piena larghezza
   risultava troppo invasiva). L'ombra ai lati arriva dall'effetto .layered-card
   già usato nel resto del sito (card camere in home, #about/#overview) — qui il
   ritaglio angoli/immagine resta su un elemento interno separato (.room-gallery-capped),
   nidificato dentro .layered-card-inner (che non ha overflow:hidden, quindi
   il box-shadow di .layered-card-inner non viene ritagliato) */
.room-gallery-capped .carousel-item img {
	height: 460px;
	object-fit: cover;
}
.room-gallery-capped {
	border-radius: var(--bs-border-radius);
	overflow: hidden;
}

/* Card overlay sulla galleria: box di testo sopra l'immagine, fisso per tutte
   le slide (non dentro .carousel-item, così non va ridisegnato per ogni foto).
   Valori di base minimi: colore/sfondo/trasparenza da personalizzare qui. */
@media (max-width: 575.98px) {
	.room-gallery-capped .carousel-item img {
		height: 280px;
	}
}

/* Spazio in testa alla pagina (sostituisce #pageTitle, rimosso): stesso fix già
   usato per le pagine account, troppo alto su mobile con pt-18 
@media (max-width: 767.98px) {
	#roomHeaderSpacer {
		padding-top: 2.5rem !important;
	}
}*/

/* Sidebar prenotazione: separatore/ombra tra nome camera e blocco prezzo */

/* Promo e sconti: righe orizzontali con badge a pillola per la percentuale/importo,
   colore che si intensifica dalla 3ª alla 5ª fascia. Sostituisce il vecchio restyle
   di h3/ul.checklist (markup non più usato, ora costruiamo l'HTML noi leggendo
   direttamente i campi reali da $room_info). */
#roomPricingPolicies .discount-column-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	font-weight: 500;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bs-emphasis-color);
}
#roomPricingPolicies .discount-column-title i {
	color: var(--bs-primary);
	font-size: 1.1rem;
}
#roomPricingPolicies .discount-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.6rem 0;
	border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}
#roomPricingPolicies .discount-row:last-child {
	border-bottom: none;
}
#roomPricingPolicies .discount-row-label {
	font-size: 1rem;
	color: var(--bs-body-color);
}
#roomPricingPolicies .discount-badge {
	display: inline-block;
	font-weight: 500;
	font-size: 0.9rem;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	white-space: nowrap;
}
#roomPricingPolicies .discount-badge-3 {
	background-color: #faeeda;
	color: #854f0b;
}
#roomPricingPolicies .discount-badge-4 {
	background-color: #f2ddb8;
	color: #6b4109;
}
#roomPricingPolicies .discount-badge-5 {
	background-color: var(--bs-primary);
	color: #fff;
}

/* Box modalità di pagamento nella sidebar: bordo sottile, valori allineati in
   riga, connettore "o" mostrato solo quando entrambi i metodi sono attivi */

/* Su mobile le due colonne (soggiorno lungo/camera) si impilano una sopra
   l'altra (col-md-6 va a piena larghezza sotto il breakpoint md): senza
   margine si toccavano, aggiungiamo spazio solo lì dove serve */
@media (max-width: 767.98px) {
	#roomPricingPolicies .row > div.col-12.col-md-6:nth-child(2) {
		padding-top: 1.5rem;
	}
}

/* Nastro "Anteprima": admin che naviga il sito pubblico in modalità anteprima
   (Application::Get('preview')=='yes'). Posizionato fixed nell'angolo in alto
   a sinistra, indipendente dal contenuto della pagina; z-index sopra header
   (.header ha z-1030). Cliccabile: riporta al pannello admin (?admin=home),
   che azzera automaticamente anche lo stato preview lato server. */
.preview-ribbon-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 230px;
	height: 230px;
	overflow: hidden;
	z-index: 2000;
	pointer-events: none;
}
.preview-ribbon {
	position: absolute;
	top: 42px;
	left: -67px;
	width: 300px;
	padding: 11px 0;
	background: #D9A431;
	color: #fff;
	text-align: center;
	transform: rotate(-45deg);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	text-decoration: none;
	pointer-events: auto;
}
.preview-ribbon:hover {
	background: #c6932a;
	color: #fff;
}
.preview-ribbon .preview-ribbon-row {
	display: flex;
	align-items: center;
	gap: 6px;
}
.preview-ribbon svg {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}
.preview-ribbon .preview-ribbon-title {
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-weight: 600;
	white-space: nowrap;
}
.preview-ribbon .preview-ribbon-subtitle {
	font-size: 13.5px;
	letter-spacing: .3px;
	font-weight: 400;
	opacity: .92;
	white-space: nowrap;
}
@media (max-width: 575.98px) {
	.preview-ribbon-wrap {
		width: 170px;
		height: 170px;
	}
	.preview-ribbon {
		top: 30px;
		left: -54px;
		width: 220px;
		padding: 8px 0;
	}
	.preview-ribbon svg {
		width: 18px;
		height: 18px;
	}
	.preview-ribbon .preview-ribbon-title {
		font-size: 11px;
		letter-spacing: 1px;
	}
	.preview-ribbon .preview-ribbon-subtitle {
		font-size: 8.5px;
	}
}
/* ==========================================================================
   Pagina Contatti - badge "Reception aperta" (agosto 2026)
   Stesso colore brand (--bs-primary) del resto del sito, versione trasparente
   ("vetro" leggero) invece di un riquadro grigio piatto. Icona orologio piccola,
   in linea con l'etichetta "Reception aperta" (non sopra, non a grandezza piena).
   ========================================================================== */
.reception-hours-badge {
    display: inline-block;
    margin-bottom: 1rem; /* spazio verso il titolo quando è in flusso normale (sotto i 1200px) */
    padding: 0.7rem 1.35rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.35);
    border-radius: var(--bs-border-radius);
    text-align: center;
    line-height: 1.35;
}
/* Dai 1200px in su (stessa soglia di col-xl-9, dove RECAPITI+form stanno affiancati)
   il badge esce dal flusso e si posiziona in overlay nell'angolo in alto a destra della
   colonna, così non influenza più l'allineamento/spaziatura di titolo e testo sotto.
   Nota: il sito usa solo .position-absolute/.position-static "piatti" (senza varianti
   responsive tipo .position-xl-absolute, che qui NON esistono) — la regola va quindi
   scritta a mano con una media query dedicata invece di affidarsi a una classe Bootstrap
   che in questo bundle non è mai stata compilata. */
@media (min-width: 1200px) {
    .reception-hours-badge {
        position: absolute;
        top: 0;
        /* Leggero rientro negativo: compensa il padding interno della colonna Bootstrap
           (il gutter), che "right:0" da solo rispetta ma i campi del form sotto annullano
           con un proprio margine negativo — senza questo, il bordo destro del badge risulta
           più a sinistra di quello dei campi Cognome/Telefono. Unico numero da ritoccare se
           lo scarto residuo non fosse ancora perfetto. */
        right: 1rem;
        margin-bottom: 0;
    }
}
/* ==========================================================================
   Riquadro di pagamento PayPal (PaymentIPN.class.php)
   Il testo dell'avviso stava in una cella con l'attributo nowrap: non andava
   a capo e usciva dalla colonna del riepilogo.
   ========================================================================== */

.paypal-pay-cell{
	white-space: normal !important;	/* annulla il nowrap ereditato dalla tabella */
	max-width: 0;					/* la cella si adatta alla colonna, non al testo */
	word-break: break-word;
}

/* ==========================================================================
   Hotel Sonia — check_availability: resa mobile / tablet
   --------------------------------------------------------------------------
   Da caricare DOPO theme.css sulle pagine di reservation/
   (in header_reservation.php, accanto al link di theme.css):

       <link rel="stylesheet" href="../assets/css/check-availability-mobile.css">

   Tutto il file vive dentro @media (max-width: 1199.98px): da 1200px in su
   NON viene emessa nessuna regola, quindi il desktop resta identico a oggi.
   Nessun contenuto/markup cambia: sono override di stile su classi e id già
   presenti (#pageTitle, #reservation, .card-selected, .room-figure…).
   ========================================================================== */

@media (max-width: 1199.98px) {

  /* ======================================================================
     1. Titolo pagina — lo spazio morto sopra "Camere disponibili"
     ----------------------------------------------------------------------
     #pageTitle ha la classe .pt-20, che in theme.css vale
     "padding-top: 8rem !important": serve a scavalcare l'header, che su
     desktop è fixed-top e quindi fuori dal flusso. Sotto i 768px theme.css
     rende l'header sticky (dentro il flusso) e quei 128px restano vuoti;
     nella fascia tablet l'header viene reso sticky qui sotto al punto 4.
     In entrambi i casi il padding va riportato a una misura normale.
     ====================================================================== */
  #pageTitle.pt-20 { padding-top: 1.75rem !important; }
  #pageTitle h1 {
    /*margin-bottom: 0.625rem !important;*/
    font-size: clamp(1.5rem, 7vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: 0.01em;
  }
  #pageTitle h1 + .ff-sub,
  #pageTitle .ff-sub {
    margin-bottom: 1.5rem !important;
    font-size: 0.9225rem;
    letter-spacing: 0.02em !important;
    line-height: 1.5;
  }
  /* Barra dei passi 1-2-3-4: il margine verticale da 1rem su .m-4 sommato al
     .pb-8 del contenitore lasciava un'altra fascia vuota. Il margine
     orizzontale resta: i pallini sono translate-middle e senza quello
     verrebbero tagliati ai due estremi. */
  #pageTitle .position-relative.m-4 { margin: 0.5rem 1rem 0.25rem !important; }
  #pageTitle .pb-8 { padding-bottom: 1.5rem !important; }
  #reservation.pt-10 { padding-top: 1rem !important; }
  #reservation.pb-10 { padding-bottom: 1.5rem !important; }
  #reservation .col-12.pe-xl-8 > .mb-6 { margin-bottom: 1.25rem !important; }

  /* ======================================================================
     2. Scheda camera — disposizione dei contenuti
     ====================================================================== */
  .card.card-selected { margin-bottom: 1.25rem !important; }
  .card.card-selected > .card-body { padding: 1rem 1rem 0.75rem; }

  .card.card-selected .card-title {
    margin-bottom: 0.875rem;
    font-size: 1.0625rem;
    line-height: 1.25;
    padding-right: 2.5rem;   /* lascia libero l'angolo con la spunta */
  }

  /* Foto: altezza costante, così le schede in colonna hanno lo stesso ritmo
     invece di seguire le proporzioni di ogni singola immagine. */
  .card.card-selected .row.g-0 > div:first-child > .pe-0 { margin-bottom: 1rem !important; }
  .card.card-selected .room-figure img {
    height: 180px;
    object-fit: cover;
    object-position: center 55%;
  }
  /* "Maggiori dettagli": era bianco su un velo al 19%, illeggibile sulle
     foto chiare. Sfumatura dal basso: testo pieno su fondo scuro. */
  .card.card-selected .room-details-overlay {
    background-image: linear-gradient(to top, rgba(17, 17, 17, 0.78), rgba(17, 17, 17, 0));
    background-color: transparent;
    padding: 1.5rem 1rem 0.6rem;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .card.card-selected .room-stock-badge {
    top: 0.625rem;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.4rem 0.7rem;
  }

  /* Le quattro voci (Tipo di camera, Occupazione, Pagamenti, Esclusa dal
     prezzo) sono col-12 col-md-6: sotto i 768px si impilavano una sull'altra
     in una colonna lunga e vuota a destra. Qui vanno a due a due. */
  .card.card-selected .card-body .small > .row {
    margin-bottom: 1rem !important;
    --bs-gutter-x: 0.875rem;
  }
  .card.card-selected .card-body .small > .row > .col-12 {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  /* I titoli erano grigi e minuscoli: si perdevano fra i valori. Ora hanno il
     colore pieno del testo, un filetto sotto e un corpo maggiore. Il testo dei
     valori cresce in proporzione: su 425px lo spazio c'è. */
  .card.card-selected .card-body .small h4,
  .card.card-selected .card-body .small .room-info-label {
    margin-bottom: 0.5rem !important;
    padding-bottom: 0.25rem;
    font-family: "Red Hat Text", sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bs-emphasis-color);
    border-bottom: 1px solid var(--bs-primary-100);
  }
  .card.card-selected .card-body .small > .row > .col-12 > div {
    font-size: 0.9375rem;
    line-height: 1.5;
  }

  /* Prezzo e azione: erano tre blocchi in colonna in fondo alla scheda.
     Diventano un piede della scheda — prezzo su una riga, quantità e
     "Prenota" affiancati sotto, separati da un filetto. */
  .card.card-selected .card-body > .row.g-0 > div:last-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem 0.75rem;
    padding-top: 0.875rem;
    border-top: 1px solid var(--bs-primary-100);
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child > div { margin-bottom: 0 !important; }
  /* 1° figlio = prezzo, 2° = quantità, 4° = pulsante (il 3° è la tabella
     prezzi, che resta display:none). */
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(1) {
    flex: 1 1 100%;
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(1) > div { margin-bottom: 0 !important; }
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(2) {
    order: 3;
    flex: 1 1 8rem;
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(4) {
    order: 4;
    flex: 1 1 9rem;
  }
  /* Menu e pulsante devono avere la stessa altezza: il markup dà al pulsante
     un padding verticale suo (py-*) che lo faceva crescere oltre il menu.
     Le due celle si stirano, i due controlli riempiono l'altezza della riga e
     il padding verticale del pulsante viene azzerato — allineati sopra e sotto. */
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(2),
  .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(4) {
    align-self: stretch;
    /*display: flex;*/
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child .form-select,
  .card.card-selected .card-body > .row.g-0 > div:last-child .btn {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child .form-select {
    font-size: 0.9375rem;
    line-height: 1.2;
  }
  .card.card-selected .card-body > .row.g-0 > div:last-child .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }

  /* ======================================================================
     3. Schermi stretti: due colonne solo dove ci stanno
     ====================================================================== */
  @media (max-width: 399.98px) {
    .card.card-selected .card-body .small > .row > .col-12 {
      flex: 0 0 100%;
      width: 100%;
      max-width: 100%;
    }
    .card.card-selected .card-body .small > .row > .col-12 + .col-12 { margin-top: 0.75rem; }
    .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(2),
    .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(4) { flex: 1 1 100%; }
  }

  /* ======================================================================
     4. Tablet 768–1199px
     ----------------------------------------------------------------------
     Stesse regole di header già usate in mobile-1d.css: qui l'header è
     ancora fixed-top con data-bs-theme="dark" (theme.js forza lo stato
     "sticked" solo sotto i 768px), quindi trasparente, senza logo e sopra
     al titolo. Ridichiarare i token chiari sull'header stesso è necessario:
     dentro data-bs-theme="dark" var(--bs-body-bg) vale #212121.
     ====================================================================== */
  @media (min-width: 768px) {
    #header {
      position: sticky;
      top: 0;
      --bs-bg-opacity: 1;
      --bs-body-bg: #fff;
      --bs-body-bg-rgb: 255, 255, 255;
      --bs-body-color: #111;
      --bs-emphasis-color: #111;
      --bs-emphasis-color-rgb: 17, 17, 17;
      --bs-secondary-color: rgba(17, 17, 17, 0.65);
      --bs-border-color: #dedede;
      background-color: #fff !important;
      border-bottom-color: var(--bs-primary-100);
    }
    #header .navbar::before { display: none !important; }
    #header .brand-logo-sticky { display: inline-block !important; }
    #header .asset-default { display: none !important; }
    #header .asset-sticky  { display: inline-block !important; }
    #header .navbar-brand .logo { height: 40px; width: auto; }
    #header .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2817, 17, 17, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    #header .navbar-toggler {
      background-color: transparent;
      border-color: var(--bs-primary-100);
      box-shadow: none;
    }
    #header .navbar-text,
    #header .navbar-nav .nav-link { color: rgba(var(--bs-emphasis-color-rgb), 0.85); }

    #pageTitle.pt-20 { padding-top: 2.25rem !important; }
    #pageTitle h1 { font-size: 2.25rem; }

    /* Foto a sinistra, informazioni a destra, prezzo e azione a piede pieno */
    .card.card-selected > .card-body { padding: 1.25rem 1.25rem 1rem; }
    .card.card-selected .card-title { font-size: 1.25rem; }
    .card.card-selected .row.g-0 > div:first-child > .pe-0 { padding-right: 1.25rem !important; }
    .card.card-selected .room-figure img { height: 200px; }
    .card.card-selected .card-body > .row.g-0 > div:last-child {
      flex: 0 0 100%;
      width: 100%;
      max-width: 100%;
      margin-top: 0.25rem;
    }
    .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(1) { flex: 1 1 auto; }
    .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(2) { order: 2; flex: 0 1 11rem; }
    .card.card-selected .card-body > .row.g-0 > div:last-child > div:nth-child(4) { order: 3; flex: 0 1 12rem; }
  }

  /* ======================================================================
     5. Tema scuro
     ====================================================================== */
  [data-bs-theme=dark] .card.card-selected .card-body > .row.g-0 > div:last-child {
    border-top-color: rgba(255, 255, 255, 0.12);
  }
}


/* ==========================================================================
   Pulsante "Prenota" delle schede camera — tutte le larghezze
   Il markup originale usava .d-block: il gruppo icona+testo veniva impaginato
   come testo in linea e non risultava centrato. Ora è un flex centrato, con
   l'icona priva dei margini propri del font.
   ========================================================================== */
.card.card-selected .room-book-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
}
.card.card-selected .room-book-btn > .hicon {
  flex: 0 0 auto;
  margin: 0;
  line-height: 1;
}
.card.card-selected .room-book-btn > span {
  flex: 0 0 auto;
}
