/* --- style.css --- */
@charset "UTF-8";
/*!
 * Bootstrap  v5.3.2 (https://getbootstrap.com/)
 * Copyright 2011-2023 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #1d3b53;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #e83e8c;
  --bs-red: #d6293e;
  --bs-orange: #fd7e14;
  --bs-yellow: #f7c32e;
  --bs-green: #0cbc87;
  --bs-teal: #20c997;
  --bs-cyan: #17a2b8;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #747579;
  --bs-gray-dark: #0b0a12;
  --bs-gray-100: #f5f5f6;
  --bs-gray-200: #dfdfe3;
  --bs-gray-300: #c5c5c7;
  --bs-gray-400: #96969a;
  --bs-gray-500: #85878a;
  --bs-gray-600: #747579;
  --bs-gray-700: #5e5e5f;
  --bs-gray-800: #0b0a12;
  --bs-gray-900: #0b0a12;
  --bs-primary: #0f172a;
  --bs-white: #fff;
  --bs-secondary: #85878a;
  --bs-success: #0cbc87;
  --bs-info: #17a2b8;
  --bs-warning: #f7c32e;
  --bs-danger: #d6293e;
  --bs-light: #f5f5f6;
  --bs-dark: #0b0a12;
  --bs-orange: #fd7e14;
  --bs-mode: #fff;
  --bs-primary-rgb: 81, 67, 217;
  --bs-white-rgb: 255, 255, 255;
  --bs-secondary-rgb: 133, 135, 138;
  --bs-success-rgb: 12, 188, 135;
  --bs-info-rgb: 23, 162, 184;
  --bs-warning-rgb: 247, 195, 46;
  --bs-danger-rgb: 214, 41, 62;
  --bs-light-rgb: 245, 245, 246;
  --bs-dark-rgb: 11, 10, 18;
  --bs-orange-rgb: 253, 126, 20;
  --bs-mode-rgb: 255, 255, 255;
  --bs-primary-text-emphasis: #0b1429;
  --bs-secondary-text-emphasis: #5d5f61;
  --bs-success-text-emphasis: #08845f;
  --bs-info-text-emphasis: #107181;
  --bs-warning-text-emphasis: #ad8920;
  --bs-danger-text-emphasis: #961d2b;
  --bs-light-text-emphasis: #5e5e5f;
  --bs-dark-text-emphasis: #08070d;
  --bs-primary-bg-subtle: #dcd9f7;
  --bs-secondary-bg-subtle: #e7e7e8;
  --bs-success-bg-subtle: #cef2e7;
  --bs-info-bg-subtle: #d1ecf1;
  --bs-warning-bg-subtle: #fdf3d5;
  --bs-danger-bg-subtle: #f7d4d8;
  --bs-light-bg-subtle: #fafafb;
  --bs-dark-bg-subtle: #ceced0;
  --bs-primary-border-subtle: #b9b4f0;
  --bs-secondary-border-subtle: #cecfd0;
  --bs-success-border-subtle: #9ee4cf;
  --bs-info-border-subtle: #a2dae3;
  --bs-warning-border-subtle: #fce7ab;
  --bs-danger-border-subtle: #efa9b2;
  --bs-light-border-subtle: #dfdfe3;
  --bs-dark-border-subtle: #9d9da0;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: "Google Sans Flex", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #747579;
  --bs-body-color-rgb: 116, 117, 121;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: #c5c5c7;
  --bs-secondary-color-rgb: 197, 197, 199;
  --bs-secondary-bg: #dfdfe3;
  --bs-secondary-bg-rgb: 223, 223, 227;
  --bs-tertiary-color: rgba(116, 117, 121, 0.5);
  --bs-tertiary-color-rgb: 116, 117, 121;
  --bs-tertiary-bg: #f5f5f6;
  --bs-tertiary-bg-rgb: 245, 245, 246;
  --bs-heading-color: var(--bs-gray-900);
  --bs-link-color: #5143d9;
  --bs-link-color-rgb: 81, 67, 217;
  --bs-link-decoration: none;
  --bs-link-hover-color: #4136ae;
  --bs-link-hover-color-rgb: 65, 54, 174;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: var(--bs-gray-200);
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.5rem;
  --bs-border-radius-sm: 0.4rem;
  --bs-border-radius-lg: 1rem;
  --bs-border-radius-xl: 1.5rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(29, 58, 83, 0.15);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(29, 58, 83, 0.15);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

/* Heading font override: Google Sans Flex */
h1, h2, h4, h5, h6 {
  font-family: 'Google Sans Flex', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: #c5c5c7;
  --bs-secondary-color-rgb: 197, 197, 199;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #5143d9;
  --bs-link-hover-color: #4136ae;
  --bs-link-color-rgb: 81, 67, 217;
  --bs-link-hover-color-rgb: 65, 54, 174;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          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(0, 0, 0, 0);
}

h6, .h6, h5, .h5, h4, .h4, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-family: "Google Sans Flex", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  line-height: 1.25;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 3.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 3rem;
  }
}

h4, .h4 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.75rem;
  }
}

h5, .h5 {
  font-size: calc(1.255rem + 0.06vw);
}
@media (min-width: 1200px) {
  h5, .h5 {
    font-size: 1.3rem;
  }
}

h6, .h6 {
  font-size: 1rem;
}

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

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


ul {
  padding-left: 2rem;
}


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


ul ul {
  margin-bottom: 0;
}


strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em !important;
}

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;
}


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

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

img,
svg {
  vertical-align: middle;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

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

button,
[type=button],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

::-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;
}

[hidden] {
  display: none !important;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

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

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.875rem;
  --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-sm, .container {
    max-width: 96%;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 94%;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 94%;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}
: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;
}

/* Image-style tab bar (icon above label) */

.row {
  --bs-gutter-x: 1.875rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      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 > * {
  -ms-flex-negative: 0;
      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-auto {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

.col-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
}

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

.g-3 {
  --bs-gutter-y: 1rem;
}

.g-4 {
  --bs-gutter-x: 1.6rem;
}

.g-4 {
  --bs-gutter-y: 1.6rem;
}

.g-5 {
  --bs-gutter-x: 3rem;
}

.g-5 {
  --bs-gutter-y: 3rem;
}

.g-6 {
  --bs-gutter-x: 3.5rem;
}

.g-6 {
  --bs-gutter-y: 3.5rem;
}

.g-7 {
  --bs-gutter-x: 4rem;
}

.g-7 {
  --bs-gutter-y: 4rem;
}

.g-8 {
  --bs-gutter-x: 8rem;
}

.g-8 {
  --bs-gutter-y: 8rem;
}

.g-9 {
  --bs-gutter-x: 11rem;
}

.g-9 {
  --bs-gutter-y: 11rem;
}

@media (min-width: 576px) {
  .col-sm {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .g-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4 {
    --bs-gutter-x: 1.6rem;
  }
  .g-sm-4 {
    --bs-gutter-y: 1.6rem;
  }
  .g-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5 {
    --bs-gutter-y: 3rem;
  }
  .g-sm-6 {
    --bs-gutter-x: 3.5rem;
  }
  .g-sm-6 {
    --bs-gutter-y: 3.5rem;
  }
  .g-sm-7 {
    --bs-gutter-x: 4rem;
  }
  .g-sm-7 {
    --bs-gutter-y: 4rem;
  }
  .g-sm-8 {
    --bs-gutter-x: 8rem;
  }
  .g-sm-8 {
    --bs-gutter-y: 8rem;
  }
  .g-sm-9 {
    --bs-gutter-x: 11rem;
  }
  .g-sm-9 {
    --bs-gutter-y: 11rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-md-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .g-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4 {
    --bs-gutter-x: 1.6rem;
  }
  .g-md-4 {
    --bs-gutter-y: 1.6rem;
  }
  .g-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5 {
    --bs-gutter-y: 3rem;
  }
  .g-md-6 {
    --bs-gutter-x: 3.5rem;
  }
  .g-md-6 {
    --bs-gutter-y: 3.5rem;
  }
  .g-md-7 {
    --bs-gutter-x: 4rem;
  }
  .g-md-7 {
    --bs-gutter-y: 4rem;
  }
  .g-md-8 {
    --bs-gutter-x: 8rem;
  }
  .g-md-8 {
    --bs-gutter-y: 8rem;
  }
  .g-md-9 {
    --bs-gutter-x: 11rem;
  }
  .g-md-9 {
    --bs-gutter-y: 11rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .g-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4 {
    --bs-gutter-x: 1.6rem;
  }
  .g-lg-4 {
    --bs-gutter-y: 1.6rem;
  }
  .g-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5 {
    --bs-gutter-y: 3rem;
  }
  .g-lg-6 {
    --bs-gutter-x: 3.5rem;
  }
  .g-lg-6 {
    --bs-gutter-y: 3.5rem;
  }
  .g-lg-7 {
    --bs-gutter-x: 4rem;
  }
  .g-lg-7 {
    --bs-gutter-y: 4rem;
  }
  .g-lg-8 {
    --bs-gutter-x: 8rem;
  }
  .g-lg-8 {
    --bs-gutter-y: 8rem;
  }
  .g-lg-9 {
    --bs-gutter-x: 11rem;
  }
  .g-lg-9 {
    --bs-gutter-y: 11rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .g-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4 {
    --bs-gutter-x: 1.6rem;
  }
  .g-xl-4 {
    --bs-gutter-y: 1.6rem;
  }
  .g-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5 {
    --bs-gutter-y: 3rem;
  }
  .g-xl-6 {
    --bs-gutter-x: 3.5rem;
  }
  .g-xl-6 {
    --bs-gutter-y: 3.5rem;
  }
  .g-xl-7 {
    --bs-gutter-x: 4rem;
  }
  .g-xl-7 {
    --bs-gutter-y: 4rem;
  }
  .g-xl-8 {
    --bs-gutter-x: 8rem;
  }
  .g-xl-8 {
    --bs-gutter-y: 8rem;
  }
  .g-xl-9 {
    --bs-gutter-x: 11rem;
  }
  .g-xl-9 {
    --bs-gutter-y: 11rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }
  .col-xxl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .g-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4 {
    --bs-gutter-x: 1.6rem;
  }
  .g-xxl-4 {
    --bs-gutter-y: 1.6rem;
  }
  .g-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5 {
    --bs-gutter-y: 3rem;
  }
  .g-xxl-6 {
    --bs-gutter-x: 3.5rem;
  }
  .g-xxl-6 {
    --bs-gutter-y: 3.5rem;
  }
  .g-xxl-7 {
    --bs-gutter-x: 4rem;
  }
  .g-xxl-7 {
    --bs-gutter-y: 4rem;
  }
  .g-xxl-8 {
    --bs-gutter-x: 8rem;
  }
  .g-xxl-8 {
    --bs-gutter-y: 8rem;
  }
  .g-xxl-9 {
    --bs-gutter-x: 11rem;
  }
  .g-xxl-9 {
    --bs-gutter-y: 11rem;
  }
}
.form-label {
  margin-bottom: 0.5rem;
  font-weight: 400;
  color: var(--bs-gray-500);
}

.col-form-label {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-gray-500);
}

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

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

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-gray-400);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-gray-900);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: 1px solid var(--bs-gray-300);
  border-radius: 0.5rem;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    -webkit-transition: none;
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-gray-900);
  background-color: var(--bs-body-bg);
  border-color: rgba(var(--bs-primary-rgb), 0.7);
  outline: 0;
  -webkit-box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
          box-shadow: 0 0 0 0 rgba(81, 67, 217, 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::-webkit-input-placeholder {
  color: var(--bs-gray-400);
  opacity: 1;
}
.form-control::-moz-placeholder {
  color: var(--bs-gray-400);
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: var(--bs-gray-400);
  opacity: 1;
}
.form-control::-ms-input-placeholder {
  color: var(--bs-gray-400);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-gray-400);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-gray-200);
  border-color: var(--bs-border-color);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
  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: 1px;
  border-radius: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    -webkit-transition: none;
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.25em + 0.8rem + 2px);
  padding: 0.4rem 0.8rem;
  font-size: 0.8125rem;
  border-radius: 0.4rem;
}
.form-control-sm::file-selector-button {
  padding: 0.4rem 0.8rem;
  margin: -0.4rem -0.8rem;
  -webkit-margin-end: 0.8rem;
          margin-inline-end: 0.8rem;
}

.form-control-lg {
  min-height: calc(1.25em + 1.6rem + 2px);
  padding: 0.8rem 1.5rem;
  font-size: 1rem;
  border-radius: 1rem;
}
.form-control-lg::file-selector-button {
  padding: 0.8rem 1.5rem;
  margin: -0.8rem -1.5rem;
  -webkit-margin-end: 1.5rem;
          margin-inline-end: 1.5rem;
}

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

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: 0.5rem;
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: 0.5rem;
}
.form-control-color.form-control-sm {
  height: calc(1.25em + 0.8rem + 2px);
}
.form-control-color.form-control-lg {
  height: calc(1.25em + 1.6rem + 2px);
}

.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='%23747579' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.5rem 2.25rem 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-gray-900);
  -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: 0.5rem;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    -webkit-transition: none;
    transition: none;
  }
}
.form-select:focus {
  border-color: rgba(var(--bs-primary-rgb), 0.7);
  outline: 0;
  -webkit-box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
          box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 1rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-gray-900);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

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

.form-check-input {
  --bs-form-check-bg: var(--bs-gray-200);
  -ms-flex-negative: 0;
      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: 1px solid var(--bs-gray-200);
  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 {
  -webkit-filter: brightness(90%);
          filter: brightness(90%);
}
.form-check-input:focus {
  border-color: rgba(var(--bs-primary-rgb), 0.7);
  outline: 0;
  -webkit-box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
          box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
}
.form-check-input:checked {
  background-color: #5143d9;
  border-color: #5143d9;
}
.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: #5143d9;
  border-color: #5143d9;
  --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;
  -webkit-filter: 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;
}

.form-switch {
  padding-left: 0;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: 0;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  -webkit-transition: background-position 0.15s ease-in-out;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    -webkit-transition: none;
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2385878a'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 0;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: 0;
  margin-left: 0;
}

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

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  -webkit-filter: none;
          filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0 rgba(81, 67, 217, 0.25);
          box-shadow: 0 0 0 1px #fff, 0 0 0 0 rgba(81, 67, 217, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0 rgba(81, 67, 217, 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: #5143d9;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-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;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-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: #b6d4fe;
}
.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: #5143d9;
  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: #b6d4fe;
}
.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: #85878a;
}
.form-range:disabled::-moz-range-thumb {
  background-color: #85878a;
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    -webkit-transition: none;
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-webkit-input-placeholder, .form-floating > .form-control-plaintext::-webkit-input-placeholder {
  color: transparent;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control:-ms-input-placeholder, .form-floating > .form-control-plaintext:-ms-input-placeholder {
  color: transparent;
}
.form-floating > .form-control::-ms-input-placeholder, .form-floating > .form-control-plaintext::-ms-input-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-ms-input-placeholder), .form-floating > .form-control-plaintext:not(:-ms-input-placeholder) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-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:not(:-ms-input-placeholder) ~ 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-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
          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: 0.5rem;
}
.form-floating > .form-control:not(:-ms-input-placeholder) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: 0.5rem;
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ 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: 0.5rem;
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
          transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 1px 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-gray-200);
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

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

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

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

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: 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 {
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem 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);
}

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

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

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

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

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

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: 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 {
  -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
          box-shadow: 0 0 0 0.25rem 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);
}

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

.btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 500;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: 1px;
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: 0.5rem;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0 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;
      -ms-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);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    -webkit-transition: none;
    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;
  -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
          box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
          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 {
  -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
          box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled {
  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: #5143d9;
  --bs-btn-border-color: #5143d9;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4539b8;
  --bs-btn-hover-border-color: #4136ae;
  --bs-btn-focus-shadow-rgb: 107, 95, 223;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4136ae;
  --bs-btn-active-border-color: #3d32a3;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #5143d9;
  --bs-btn-disabled-border-color: #5143d9;
}

.btn-white {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 217, 217, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #85878a;
  --bs-btn-border-color: #85878a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #717375;
  --bs-btn-hover-border-color: #6a6c6e;
  --bs-btn-focus-shadow-rgb: 151, 153, 156;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6a6c6e;
  --bs-btn-active-border-color: #646568;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #85878a;
  --bs-btn-disabled-border-color: #85878a;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0cbc87;
  --bs-btn-border-color: #0cbc87;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0aa073;
  --bs-btn-hover-border-color: #0a966c;
  --bs-btn-focus-shadow-rgb: 48, 198, 153;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a966c;
  --bs-btn-active-border-color: #098d65;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0cbc87;
  --bs-btn-disabled-border-color: #0cbc87;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #17a2b8;
  --bs-btn-border-color: #17a2b8;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #148a9c;
  --bs-btn-hover-border-color: #128293;
  --bs-btn-focus-shadow-rgb: 58, 176, 195;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #128293;
  --bs-btn-active-border-color: #117a8a;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #17a2b8;
  --bs-btn-disabled-border-color: #17a2b8;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #f7c32e;
  --bs-btn-border-color: #f7c32e;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8cc4d;
  --bs-btn-hover-border-color: #f8c943;
  --bs-btn-focus-shadow-rgb: 210, 166, 39;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f9cf58;
  --bs-btn-active-border-color: #f8c943;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f7c32e;
  --bs-btn-disabled-border-color: #f7c32e;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #d6293e;
  --bs-btn-border-color: #d6293e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #b62335;
  --bs-btn-hover-border-color: #ab2132;
  --bs-btn-focus-shadow-rgb: 220, 73, 91;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ab2132;
  --bs-btn-active-border-color: #a11f2f;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #d6293e;
  --bs-btn-disabled-border-color: #d6293e;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f5f5f6;
  --bs-btn-border-color: #f5f5f6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d0d0d1;
  --bs-btn-hover-border-color: #c4c4c5;
  --bs-btn-focus-shadow-rgb: 208, 208, 209;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c4c4c5;
  --bs-btn-active-border-color: #b8b8b9;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f5f5f6;
  --bs-btn-disabled-border-color: #f5f5f6;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0b0a12;
  --bs-btn-border-color: #0b0a12;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #302f36;
  --bs-btn-hover-border-color: #23232a;
  --bs-btn-focus-shadow-rgb: 48, 47, 54;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3c3b41;
  --bs-btn-active-border-color: #23232a;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0b0a12;
  --bs-btn-disabled-border-color: #0b0a12;
}

.btn-orange {
  --bs-btn-color: #fff;
  --bs-btn-bg: #fd7e14;
  --bs-btn-border-color: #fd7e14;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d76b11;
  --bs-btn-hover-border-color: #ca6510;
  --bs-btn-focus-shadow-rgb: 253, 145, 55;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ca6510;
  --bs-btn-active-border-color: #be5f0f;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #fd7e14;
  --bs-btn-disabled-border-color: #fd7e14;
}

.btn-mode {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 217, 217, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: #fff;
}

.btn-outline-primary {
  --bs-btn-color: #5143d9;
  --bs-btn-border-color: #5143d9;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5143d9;
  --bs-btn-hover-border-color: #5143d9;
  --bs-btn-focus-shadow-rgb: 81, 67, 217;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #5143d9;
  --bs-btn-active-border-color: #5143d9;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #5143d9;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #5143d9;
  --bs-gradient: none;
}

.btn-outline-white {
  --bs-btn-color: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #fff;
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #fff;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fff;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #85878a;
  --bs-btn-border-color: #85878a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #85878a;
  --bs-btn-hover-border-color: #85878a;
  --bs-btn-focus-shadow-rgb: 133, 135, 138;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #85878a;
  --bs-btn-active-border-color: #85878a;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #85878a;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #85878a;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #0cbc87;
  --bs-btn-border-color: #0cbc87;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0cbc87;
  --bs-btn-hover-border-color: #0cbc87;
  --bs-btn-focus-shadow-rgb: 12, 188, 135;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0cbc87;
  --bs-btn-active-border-color: #0cbc87;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #0cbc87;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0cbc87;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #17a2b8;
  --bs-btn-border-color: #17a2b8;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #17a2b8;
  --bs-btn-hover-border-color: #17a2b8;
  --bs-btn-focus-shadow-rgb: 23, 162, 184;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #17a2b8;
  --bs-btn-active-border-color: #17a2b8;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #17a2b8;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #17a2b8;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #f7c32e;
  --bs-btn-border-color: #f7c32e;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f7c32e;
  --bs-btn-hover-border-color: #f7c32e;
  --bs-btn-focus-shadow-rgb: 247, 195, 46;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f7c32e;
  --bs-btn-active-border-color: #f7c32e;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #f7c32e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f7c32e;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #d6293e;
  --bs-btn-border-color: #d6293e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d6293e;
  --bs-btn-hover-border-color: #d6293e;
  --bs-btn-focus-shadow-rgb: 214, 41, 62;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d6293e;
  --bs-btn-active-border-color: #d6293e;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #d6293e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #d6293e;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f5f5f6;
  --bs-btn-border-color: #f5f5f6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f5f5f6;
  --bs-btn-hover-border-color: #f5f5f6;
  --bs-btn-focus-shadow-rgb: 245, 245, 246;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f5f5f6;
  --bs-btn-active-border-color: #f5f5f6;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #f5f5f6;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f5f5f6;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #0b0a12;
  --bs-btn-border-color: #0b0a12;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b0a12;
  --bs-btn-hover-border-color: #0b0a12;
  --bs-btn-focus-shadow-rgb: 11, 10, 18;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0b0a12;
  --bs-btn-active-border-color: #0b0a12;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #0b0a12;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0b0a12;
  --bs-gradient: none;
}

.btn-outline-orange {
  --bs-btn-color: #fd7e14;
  --bs-btn-border-color: #fd7e14;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #fd7e14;
  --bs-btn-hover-border-color: #fd7e14;
  --bs-btn-focus-shadow-rgb: 253, 126, 20;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #fd7e14;
  --bs-btn-active-border-color: #fd7e14;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fd7e14;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fd7e14;
  --bs-gradient: none;
}

.btn-outline-mode {
  --bs-btn-color: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #fff;
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: #fff;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fff;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 500;
  --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: var(--bs-gray-400);
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: none;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.8rem;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: 1rem;
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.4rem;
  --bs-btn-padding-x: 0.8rem;
  --bs-btn-font-size: 0.8125rem;
  --bs-btn-border-radius: 0.4rem;
}

.fade {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    -webkit-transition: none;
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    -webkit-transition: none;
    transition: none;
  }
}


.dropdown,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 15rem;
  --bs-dropdown-padding-x: 0.8rem;
  --bs-dropdown-padding-y: 1rem;
  --bs-dropdown-spacer: 0;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-border-radius: 0.5rem;
  --bs-dropdown-border-width: 0;
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-gray-200);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
  --bs-dropdown-link-color: var(--bs-gray-600);
  --bs-dropdown-link-hover-color: #5143d9;
  --bs-dropdown-link-hover-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-dropdown-link-active-color: #5143d9;
  --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-dropdown-link-disabled-color: var(--bs-gray-600);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.4rem;
  --bs-dropdown-header-color: var(--bs-gray-800);
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}

.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: 500;
  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.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: var(--bs-gray-300);
  --bs-dropdown-bg: var(--bs-gray-800);
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: var(--bs-gray-300);
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: rgba(255, 255, 255, 0.1);
  --bs-dropdown-link-hover-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-dropdown-link-active-color: #5143d9;
  --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-dropdown-link-disabled-color: var(--bs-gray-500);
  --bs-dropdown-header-color: var(--bs-gray-500);
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: 0.5rem;
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(1px * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.dropdown-toggle-split::after {
  margin-left: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.6rem;
  padding-left: 0.6rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem;
}

.btn-group-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(1px * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 0.75rem;
  --bs-nav-link-padding-y: 1rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: #747579;
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-gray-500) !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      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;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  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 {
    -webkit-transition: none;
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
          box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 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: 1px;
  --bs-nav-tabs-border-color: var(--bs-gray-200);
  --bs-nav-tabs-border-radius: 0.5rem;
  --bs-nav-tabs-link-hover-border-color: #dfdfe3 #dfdfe3 var(--bs-gray-200);
  --bs-nav-tabs-link-active-color: #5e5e5f;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #c5c5c7 #c5c5c7 #fff;
  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;
}

.nav-pills {
  --bs-nav-pills-border-radius: 0.5rem;
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #5143d9;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0;
  --bs-navbar-color: #0b0a12;
  --bs-navbar-hover-color: #5143d9;
  --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
  --bs-navbar-active-color: #5143d9;
  --bs-navbar-brand-padding-y: 8px;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 1rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
  --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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: inherit;
      flex-wrap: inherit;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          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: 1rem;
  --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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          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: 1rem;
  padding-bottom: 1rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  -webkit-transition: var(--bs-navbar-toggler-transition);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    -webkit-transition: none;
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  -webkit-box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
          box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-transition: none;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: #fff;
  --bs-navbar-hover-color: #5143d9 !important;
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #5143d9 !important;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' 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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --bs-card-spacer-y: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: var(--bs-gray-900);
  --bs-card-subtitle-color: ;
  --bs-card-border-width: 0;
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: 1rem;
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: 1rem;
  --bs-card-cap-padding-y: 1.25rem;
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-cap-bg: var(--bs-mode);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-mode);
  --bs-card-img-overlay-padding: 1.25rem;
  --bs-card-group-margin: 0.9375rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          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 > .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 > .list-group + .card-footer {
  border-top: 0;
}

.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='%23212529'%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-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='%23493cc3'%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-focus-border-color: none;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0 rgba(81, 67, 217, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: #493cc3;
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  -webkit-transition: var(--bs-accordion-transition);
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    -webkit-transition: none;
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  -webkit-box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
          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);
  -webkit-transform: var(--bs-accordion-btn-icon-transform);
          transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  -ms-flex-negative: 0;
      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);
  -webkit-transition: var(--bs-accordion-btn-icon-transition);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    -webkit-transition: none;
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  border-color: var(--bs-accordion-btn-focus-border-color);
  outline: 0;
  -webkit-box-shadow: var(--bs-accordion-btn-focus-box-shadow);
          box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush .accordion-collapse {
  border-width: 0;
}
.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.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='%230b0a12'%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");
}

.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);
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  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;
  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, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    -webkit-transition: none;
    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;
  -webkit-box-shadow: var(--bs-pagination-focus-box-shadow);
          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 .page-link {
  border-radius: var(--bs-pagination-border-radius);
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

@-webkit-keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-gray-600);
  --bs-list-group-bg: transparent;
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: 0.5rem;
  --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-gray-700);
  --bs-list-group-action-hover-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-list-group-action-active-color: var(--bs-gray-700);
  --bs-list-group-action-active-bg: rgba(var(--bs-primary-rgb), 0.1);
  --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: #5143d9;
  --bs-list-group-active-border-color: #5143d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.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-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-white {
  --bs-list-group-color: var(--bs-white-text-emphasis);
  --bs-list-group-bg: var(--bs-white-bg-subtle);
  --bs-list-group-border-color: var(--bs-white-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-white-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-white-border-subtle);
  --bs-list-group-active-color: var(--bs-white-bg-subtle);
  --bs-list-group-active-bg: var(--bs-white-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-white-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.list-group-item-orange {
  --bs-list-group-color: var(--bs-orange-text-emphasis);
  --bs-list-group-bg: var(--bs-orange-bg-subtle);
  --bs-list-group-border-color: var(--bs-orange-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-orange-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-orange-border-subtle);
  --bs-list-group-active-color: var(--bs-orange-bg-subtle);
  --bs-list-group-active-bg: var(--bs-orange-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-orange-text-emphasis);
}

.list-group-item-mode {
  --bs-list-group-color: var(--bs-mode-text-emphasis);
  --bs-list-group-bg: var(--bs-mode-bg-subtle);
  --bs-list-group-border-color: var(--bs-mode-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-mode-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-mode-border-subtle);
  --bs-list-group-active-color: var(--bs-mode-bg-subtle);
  --bs-list-group-active-bg: var(--bs-mode-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-mode-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #0b0a12;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230b0a12'%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 rgba(81, 67, 217, 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%);
  -webkit-box-sizing: content-box;
          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.5rem;
  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;
  -webkit-box-shadow: var(--bs-btn-close-focus-shadow);
          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;
      -ms-user-select: none;
          user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  -webkit-filter: var(--bs-btn-close-white-filter);
          filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .btn-close {
  -webkit-filter: var(--bs-btn-close-white-filter);
          filter: var(--bs-btn-close-white-filter);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  -webkit-box-shadow: var(--bs-toast-box-shadow);
          box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 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: 0;
  --bs-modal-border-radius: 0.5rem;
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: 0.5rem;
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 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 {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    -webkit-transition: none;
    transition: none;
  }
}
.modal.show .modal-dialog {
  -webkit-transform: none;
          transform: none;
}
.modal.modal-static .modal-dialog {
  -webkit-transform: scale(1.02);
          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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  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;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          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;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.6875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: "Google Sans Flex", system-ui, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

/* rtl:begin:ignore */

/* rtl:end:ignore */

/* rtl:begin:ignore */

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 200px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: #fff;
  --bs-popover-border-width: 1px;
  --bs-popover-border-color: rgba(0, 0, 0, 0.2);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: "Google Sans Flex", system-ui, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

/* rtl:begin:ignore */

/* rtl:end:ignore */

/* rtl:begin:ignore */

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    -webkit-transition: none;
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transform: none;
          transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  -webkit-transition: opacity 0s 0.6s;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    -webkit-transition: none;
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    -webkit-transition: none;
    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: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.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");
}

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

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    -webkit-transition: none;
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  -webkit-filter: invert(1) grayscale(100);
          filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}

[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 {
  -webkit-filter: invert(1) grayscale(100);
          filter: invert(1) grayscale(100);
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
  background-color: #000;
}
[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
  color: #000;
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  -webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
          animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@-webkit-keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg) /* rtl:ignore */;
            transform: rotate(360deg) /* rtl:ignore */;
  }
}

@keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg) /* rtl:ignore */;
            transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@-webkit-keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 300px;
  --bs-offcanvas-height: 100%;
  --bs-offcanvas-padding-x: 1.875rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            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;
    -webkit-transition: var(--bs-offcanvas-transition);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    -webkit-transition: none;
    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);
    -webkit-transform: translateX(-100%);
            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);
    -webkit-transform: translateX(100%);
            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);
    -webkit-transform: translateY(-100%);
            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);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    -webkit-transform: none;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            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;
    -webkit-transition: var(--bs-offcanvas-transition);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    -webkit-transition: none;
    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);
    -webkit-transform: translateX(-100%);
            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);
    -webkit-transform: translateX(100%);
            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);
    -webkit-transform: translateY(-100%);
            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);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    -webkit-transform: none;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            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;
    -webkit-transition: var(--bs-offcanvas-transition);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    -webkit-transition: none;
    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);
    -webkit-transform: translateX(-100%);
            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);
    -webkit-transform: translateX(100%);
            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);
    -webkit-transform: translateY(-100%);
            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);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    -webkit-transform: none;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            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;
    -webkit-transition: var(--bs-offcanvas-transition);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    -webkit-transition: none;
    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);
    -webkit-transform: translateX(-100%);
            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);
    -webkit-transform: translateX(100%);
            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);
    -webkit-transform: translateY(-100%);
            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);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    -webkit-transform: none;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            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;
    -webkit-transition: var(--bs-offcanvas-transition);
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    -webkit-transition: none;
    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);
    -webkit-transform: translateX(-100%);
            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);
    -webkit-transform: translateX(100%);
            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);
    -webkit-transform: translateY(-100%);
            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);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    -webkit-transform: none;
            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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          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;
  -webkit-transition: var(--bs-offcanvas-transition);
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    -webkit-transition: none;
    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);
  -webkit-transform: translateX(-100%);
          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);
  -webkit-transform: translateX(100%);
          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);
  -webkit-transform: translateY(-100%);
          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);
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  -webkit-transform: none;
          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: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  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-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  -webkit-animation: placeholder-glow 2s ease-in-out infinite;
          animation: placeholder-glow 2s ease-in-out infinite;
}

@-webkit-keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
          mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  -webkit-animation: placeholder-wave 2s linear infinite;
          animation: placeholder-wave 2s linear infinite;
}

@-webkit-keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}

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

.text-bg-white {
  color: #000 !important;
  background-color: RGBA(var(--bs-white-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: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

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

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

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

.text-bg-orange {
  color: #fff !important;
  background-color: RGBA(var(--bs-orange-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-mode {
  color: #000 !important;
  background-color: RGBA(var(--bs-mode-rgb), var(--bs-bg-opacity, 1)) !important;
}

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

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

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

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

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

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

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

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

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

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

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

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

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

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

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

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

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  -webkit-box-shadow: var(--bs-box-shadow) !important;
          box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  -webkit-box-shadow: var(--bs-box-shadow-sm) !important;
          box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  -webkit-box-shadow: var(--bs-box-shadow-lg) !important;
          box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

.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-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-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-orange {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-orange-rgb), var(--bs-border-opacity)) !important;
}

.border-mode {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-mode-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-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

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

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

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

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

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

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

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

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

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

.w-auto {
  width: auto !important;
}

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

.flex-fill {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
}

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important;
}

.flex-grow-0 {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
}

.flex-grow-1 {
  -webkit-box-flex: 1 !important;
      -ms-flex-positive: 1 !important;
          flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
      flex-shrink: 1 !important;
}

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

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

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

.justify-content-evenly {
  -webkit-box-pack: space-evenly !important;
      -ms-flex-pack: space-evenly !important;
          justify-content: space-evenly !important;
}

.align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

.align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.align-items-baseline {
  -webkit-box-align: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
      align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
      align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      align-self: stretch !important;
}

.order-first {
  -webkit-box-ordinal-group: 0 !important;
      -ms-flex-order: -1 !important;
          order: -1 !important;
}

.order-0 {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
}

.order-1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
}

.order-2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.order-3 {
  -webkit-box-ordinal-group: 4 !important;
      -ms-flex-order: 3 !important;
          order: 3 !important;
}

.order-4 {
  -webkit-box-ordinal-group: 5 !important;
      -ms-flex-order: 4 !important;
          order: 4 !important;
}

.order-5 {
  -webkit-box-ordinal-group: 6 !important;
      -ms-flex-order: 5 !important;
          order: 5 !important;
}

.order-last {
  -webkit-box-ordinal-group: 7 !important;
      -ms-flex-order: 6 !important;
          order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

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

.m-4 {
  margin: 1.6rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-6 {
  margin: 3.5rem !important;
}

.m-7 {
  margin: 4rem !important;
}

.m-8 {
  margin: 8rem !important;
}

.m-9 {
  margin: 11rem !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: 1rem !important;
  margin-left: 1rem !important;
}

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

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

.mx-6 {
  margin-right: 3.5rem !important;
  margin-left: 3.5rem !important;
}

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

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

.mx-9 {
  margin-right: 11rem !important;
  margin-left: 11rem !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: 1rem !important;
  margin-bottom: 1rem !important;
}

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

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

.my-6 {
  margin-top: 3.5rem !important;
  margin-bottom: 3.5rem !important;
}

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

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

.my-9 {
  margin-top: 11rem !important;
  margin-bottom: 11rem !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: 1rem !important;
}

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

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

.mt-6 {
  margin-top: 3.5rem !important;
}

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

.mt-8 {
  margin-top: 8rem !important;
}

.mt-9 {
  margin-top: 11rem !important;
}

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

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

.me-2 {
  margin-right: 0.5rem !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: 1rem !important;
}

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

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

.mb-6 {
  margin-bottom: 3.5rem !important;
}

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

.mb-8 {
  margin-bottom: 8rem !important;
}

.mb-9 {
  margin-bottom: 11rem !important;
}

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

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

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

.m-n1 {
  margin: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.m-n4 {
  margin: -1.6rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.m-n6 {
  margin: -3.5rem !important;
}

.m-n7 {
  margin: -4rem !important;
}

.m-n8 {
  margin: -8rem !important;
}

.m-n9 {
  margin: -11rem !important;
}

.mx-n1 {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}

.mx-n2 {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
}

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

.mx-n4 {
  margin-right: -1.6rem !important;
  margin-left: -1.6rem !important;
}

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

.mx-n6 {
  margin-right: -3.5rem !important;
  margin-left: -3.5rem !important;
}

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

.mx-n8 {
  margin-right: -8rem !important;
  margin-left: -8rem !important;
}

.mx-n9 {
  margin-right: -11rem !important;
  margin-left: -11rem !important;
}

.my-n1 {
  margin-top: -0.25rem !important;
  margin-bottom: -0.25rem !important;
}

.my-n2 {
  margin-top: -0.5rem !important;
  margin-bottom: -0.5rem !important;
}

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

.my-n4 {
  margin-top: -1.6rem !important;
  margin-bottom: -1.6rem !important;
}

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

.my-n6 {
  margin-top: -3.5rem !important;
  margin-bottom: -3.5rem !important;
}

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

.my-n8 {
  margin-top: -8rem !important;
  margin-bottom: -8rem !important;
}

.my-n9 {
  margin-top: -11rem !important;
  margin-bottom: -11rem !important;
}

.mt-n1 {
  margin-top: -0.25rem !important;
}

.mt-n2 {
  margin-top: -0.5rem !important;
}

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

.mt-n4 {
  margin-top: -1.6rem !important;
}

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

.mt-n6 {
  margin-top: -3.5rem !important;
}

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

.mt-n8 {
  margin-top: -8rem !important;
}

.mt-n9 {
  margin-top: -11rem !important;
}

.mb-n1 {
  margin-bottom: -0.25rem !important;
}

.mb-n2 {
  margin-bottom: -0.5rem !important;
}

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

.mb-n4 {
  margin-bottom: -1.6rem !important;
}

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

.mb-n6 {
  margin-bottom: -3.5rem !important;
}

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

.mb-n8 {
  margin-bottom: -8rem !important;
}

.mb-n9 {
  margin-bottom: -11rem !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

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

.p-4 {
  padding: 1.6rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.p-6 {
  padding: 3.5rem !important;
}

.p-7 {
  padding: 4rem !important;
}

.p-8 {
  padding: 8rem !important;
}

.p-9 {
  padding: 11rem !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: 1rem !important;
  padding-left: 1rem !important;
}

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

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

.px-6 {
  padding-right: 3.5rem !important;
  padding-left: 3.5rem !important;
}

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

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

.px-9 {
  padding-right: 11rem !important;
  padding-left: 11rem !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: 1rem !important;
  padding-bottom: 1rem !important;
}

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

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

.py-6 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

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

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

.py-9 {
  padding-top: 11rem !important;
  padding-bottom: 11rem !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: 1rem !important;
}

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

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

.pt-6 {
  padding-top: 3.5rem !important;
}

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

.pt-8 {
  padding-top: 8rem !important;
}

.pt-9 {
  padding-top: 11rem !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: 1rem !important;
}

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

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

.pb-6 {
  padding-bottom: 3.5rem !important;
}

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

.pb-8 {
  padding-bottom: 8rem !important;
}

.pb-9 {
  padding-bottom: 11rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

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

.gap-4 {
  gap: 1.6rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.gap-6 {
  gap: 3.5rem !important;
}

.gap-7 {
  gap: 4rem !important;
}

.gap-8 {
  gap: 8rem !important;
}

.gap-9 {
  gap: 11rem !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-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-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-orange {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-orange-rgb), var(--bs-text-opacity)) !important;
}

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

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-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(0, 0, 0, 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-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-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-orange {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-orange-rgb), var(--bs-bg-opacity)) !important;
}

.bg-mode {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-mode-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-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

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

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

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

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

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

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

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

.bg-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;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-sm-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-sm-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-sm-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-sm-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-sm-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.6rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-6 {
    margin: 3.5rem !important;
  }
  .m-sm-7 {
    margin: 4rem !important;
  }
  .m-sm-8 {
    margin: 8rem !important;
  }
  .m-sm-9 {
    margin: 11rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-6 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .mx-sm-7 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-sm-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-sm-9 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-6 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .my-sm-7 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-sm-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-sm-9 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.6rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-6 {
    margin-top: 3.5rem !important;
  }
  .mt-sm-7 {
    margin-top: 4rem !important;
  }
  .mt-sm-8 {
    margin-top: 8rem !important;
  }
  .mt-sm-9 {
    margin-top: 11rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.6rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-6 {
    margin-bottom: 3.5rem !important;
  }
  .mb-sm-7 {
    margin-bottom: 4rem !important;
  }
  .mb-sm-8 {
    margin-bottom: 8rem !important;
  }
  .mb-sm-9 {
    margin-bottom: 11rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.6rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .m-sm-n6 {
    margin: -3.5rem !important;
  }
  .m-sm-n7 {
    margin: -4rem !important;
  }
  .m-sm-n8 {
    margin: -8rem !important;
  }
  .m-sm-n9 {
    margin: -11rem !important;
  }
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-sm-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-sm-n4 {
    margin-right: -1.6rem !important;
    margin-left: -1.6rem !important;
  }
  .mx-sm-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-sm-n6 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
  .mx-sm-n7 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-sm-n8 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-sm-n9 {
    margin-right: -11rem !important;
    margin-left: -11rem !important;
  }
  .my-sm-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-sm-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-sm-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-sm-n4 {
    margin-top: -1.6rem !important;
    margin-bottom: -1.6rem !important;
  }
  .my-sm-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-sm-n6 {
    margin-top: -3.5rem !important;
    margin-bottom: -3.5rem !important;
  }
  .my-sm-n7 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-sm-n8 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-sm-n9 {
    margin-top: -11rem !important;
    margin-bottom: -11rem !important;
  }
  .mt-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-sm-n3 {
    margin-top: -1rem !important;
  }
  .mt-sm-n4 {
    margin-top: -1.6rem !important;
  }
  .mt-sm-n5 {
    margin-top: -3rem !important;
  }
  .mt-sm-n6 {
    margin-top: -3.5rem !important;
  }
  .mt-sm-n7 {
    margin-top: -4rem !important;
  }
  .mt-sm-n8 {
    margin-top: -8rem !important;
  }
  .mt-sm-n9 {
    margin-top: -11rem !important;
  }
  .mb-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-sm-n4 {
    margin-bottom: -1.6rem !important;
  }
  .mb-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .mb-sm-n6 {
    margin-bottom: -3.5rem !important;
  }
  .mb-sm-n7 {
    margin-bottom: -4rem !important;
  }
  .mb-sm-n8 {
    margin-bottom: -8rem !important;
  }
  .mb-sm-n9 {
    margin-bottom: -11rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.6rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .p-sm-6 {
    padding: 3.5rem !important;
  }
  .p-sm-7 {
    padding: 4rem !important;
  }
  .p-sm-8 {
    padding: 8rem !important;
  }
  .p-sm-9 {
    padding: 11rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-sm-6 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .px-sm-7 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-sm-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-sm-9 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-sm-6 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .py-sm-7 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-sm-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-sm-9 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.6rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pt-sm-6 {
    padding-top: 3.5rem !important;
  }
  .pt-sm-7 {
    padding-top: 4rem !important;
  }
  .pt-sm-8 {
    padding-top: 8rem !important;
  }
  .pt-sm-9 {
    padding-top: 11rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.6rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pb-sm-6 {
    padding-bottom: 3.5rem !important;
  }
  .pb-sm-7 {
    padding-bottom: 4rem !important;
  }
  .pb-sm-8 {
    padding-bottom: 8rem !important;
  }
  .pb-sm-9 {
    padding-bottom: 11rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.6rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .gap-sm-6 {
    gap: 3.5rem !important;
  }
  .gap-sm-7 {
    gap: 4rem !important;
  }
  .gap-sm-8 {
    gap: 8rem !important;
  }
  .gap-sm-9 {
    gap: 11rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-md-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-md-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-md-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-md-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-md-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-md-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.6rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-6 {
    margin: 3.5rem !important;
  }
  .m-md-7 {
    margin: 4rem !important;
  }
  .m-md-8 {
    margin: 8rem !important;
  }
  .m-md-9 {
    margin: 11rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-6 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .mx-md-7 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-md-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-md-9 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-6 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .my-md-7 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-md-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-md-9 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.6rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-6 {
    margin-top: 3.5rem !important;
  }
  .mt-md-7 {
    margin-top: 4rem !important;
  }
  .mt-md-8 {
    margin-top: 8rem !important;
  }
  .mt-md-9 {
    margin-top: 11rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.6rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-6 {
    margin-bottom: 3.5rem !important;
  }
  .mb-md-7 {
    margin-bottom: 4rem !important;
  }
  .mb-md-8 {
    margin-bottom: 8rem !important;
  }
  .mb-md-9 {
    margin-bottom: 11rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.6rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .m-md-n6 {
    margin: -3.5rem !important;
  }
  .m-md-n7 {
    margin: -4rem !important;
  }
  .m-md-n8 {
    margin: -8rem !important;
  }
  .m-md-n9 {
    margin: -11rem !important;
  }
  .mx-md-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-md-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-md-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-md-n4 {
    margin-right: -1.6rem !important;
    margin-left: -1.6rem !important;
  }
  .mx-md-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-md-n6 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
  .mx-md-n7 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-md-n8 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-md-n9 {
    margin-right: -11rem !important;
    margin-left: -11rem !important;
  }
  .my-md-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-md-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-md-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-md-n4 {
    margin-top: -1.6rem !important;
    margin-bottom: -1.6rem !important;
  }
  .my-md-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-md-n6 {
    margin-top: -3.5rem !important;
    margin-bottom: -3.5rem !important;
  }
  .my-md-n7 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-md-n8 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-md-n9 {
    margin-top: -11rem !important;
    margin-bottom: -11rem !important;
  }
  .mt-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-md-n3 {
    margin-top: -1rem !important;
  }
  .mt-md-n4 {
    margin-top: -1.6rem !important;
  }
  .mt-md-n5 {
    margin-top: -3rem !important;
  }
  .mt-md-n6 {
    margin-top: -3.5rem !important;
  }
  .mt-md-n7 {
    margin-top: -4rem !important;
  }
  .mt-md-n8 {
    margin-top: -8rem !important;
  }
  .mt-md-n9 {
    margin-top: -11rem !important;
  }
  .mb-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-md-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-md-n4 {
    margin-bottom: -1.6rem !important;
  }
  .mb-md-n5 {
    margin-bottom: -3rem !important;
  }
  .mb-md-n6 {
    margin-bottom: -3.5rem !important;
  }
  .mb-md-n7 {
    margin-bottom: -4rem !important;
  }
  .mb-md-n8 {
    margin-bottom: -8rem !important;
  }
  .mb-md-n9 {
    margin-bottom: -11rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.6rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .p-md-6 {
    padding: 3.5rem !important;
  }
  .p-md-7 {
    padding: 4rem !important;
  }
  .p-md-8 {
    padding: 8rem !important;
  }
  .p-md-9 {
    padding: 11rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-md-6 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .px-md-7 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-md-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-md-9 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-md-6 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .py-md-7 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-md-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-md-9 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.6rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pt-md-6 {
    padding-top: 3.5rem !important;
  }
  .pt-md-7 {
    padding-top: 4rem !important;
  }
  .pt-md-8 {
    padding-top: 8rem !important;
  }
  .pt-md-9 {
    padding-top: 11rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.6rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .pb-md-6 {
    padding-bottom: 3.5rem !important;
  }
  .pb-md-7 {
    padding-bottom: 4rem !important;
  }
  .pb-md-8 {
    padding-bottom: 8rem !important;
  }
  .pb-md-9 {
    padding-bottom: 11rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.6rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .gap-md-6 {
    gap: 3.5rem !important;
  }
  .gap-md-7 {
    gap: 4rem !important;
  }
  .gap-md-8 {
    gap: 8rem !important;
  }
  .gap-md-9 {
    gap: 11rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-lg-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-lg-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-lg-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-lg-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-lg-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.6rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-6 {
    margin: 3.5rem !important;
  }
  .m-lg-7 {
    margin: 4rem !important;
  }
  .m-lg-8 {
    margin: 8rem !important;
  }
  .m-lg-9 {
    margin: 11rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-6 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .mx-lg-7 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-lg-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-lg-9 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-6 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .my-lg-7 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-lg-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-lg-9 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.6rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-6 {
    margin-top: 3.5rem !important;
  }
  .mt-lg-7 {
    margin-top: 4rem !important;
  }
  .mt-lg-8 {
    margin-top: 8rem !important;
  }
  .mt-lg-9 {
    margin-top: 11rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.6rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-6 {
    margin-bottom: 3.5rem !important;
  }
  .mb-lg-7 {
    margin-bottom: 4rem !important;
  }
  .mb-lg-8 {
    margin-bottom: 8rem !important;
  }
  .mb-lg-9 {
    margin-bottom: 11rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.6rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .m-lg-n6 {
    margin: -3.5rem !important;
  }
  .m-lg-n7 {
    margin: -4rem !important;
  }
  .m-lg-n8 {
    margin: -8rem !important;
  }
  .m-lg-n9 {
    margin: -11rem !important;
  }
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-lg-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-lg-n4 {
    margin-right: -1.6rem !important;
    margin-left: -1.6rem !important;
  }
  .mx-lg-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-lg-n6 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
  .mx-lg-n7 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-lg-n8 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-lg-n9 {
    margin-right: -11rem !important;
    margin-left: -11rem !important;
  }
  .my-lg-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-lg-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-lg-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-lg-n4 {
    margin-top: -1.6rem !important;
    margin-bottom: -1.6rem !important;
  }
  .my-lg-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-lg-n6 {
    margin-top: -3.5rem !important;
    margin-bottom: -3.5rem !important;
  }
  .my-lg-n7 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-lg-n8 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-lg-n9 {
    margin-top: -11rem !important;
    margin-bottom: -11rem !important;
  }
  .mt-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-lg-n3 {
    margin-top: -1rem !important;
  }
  .mt-lg-n4 {
    margin-top: -1.6rem !important;
  }
  .mt-lg-n5 {
    margin-top: -3rem !important;
  }
  .mt-lg-n6 {
    margin-top: -3.5rem !important;
  }
  .mt-lg-n7 {
    margin-top: -4rem !important;
  }
  .mt-lg-n8 {
    margin-top: -8rem !important;
  }
  .mt-lg-n9 {
    margin-top: -11rem !important;
  }
  .mb-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-lg-n4 {
    margin-bottom: -1.6rem !important;
  }
  .mb-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .mb-lg-n6 {
    margin-bottom: -3.5rem !important;
  }
  .mb-lg-n7 {
    margin-bottom: -4rem !important;
  }
  .mb-lg-n8 {
    margin-bottom: -8rem !important;
  }
  .mb-lg-n9 {
    margin-bottom: -11rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.6rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .p-lg-6 {
    padding: 3.5rem !important;
  }
  .p-lg-7 {
    padding: 4rem !important;
  }
  .p-lg-8 {
    padding: 8rem !important;
  }
  .p-lg-9 {
    padding: 11rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-lg-6 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .px-lg-7 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-lg-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-lg-9 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-lg-6 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .py-lg-7 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-lg-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-lg-9 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.6rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pt-lg-6 {
    padding-top: 3.5rem !important;
  }
  .pt-lg-7 {
    padding-top: 4rem !important;
  }
  .pt-lg-8 {
    padding-top: 8rem !important;
  }
  .pt-lg-9 {
    padding-top: 11rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.6rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pb-lg-6 {
    padding-bottom: 3.5rem !important;
  }
  .pb-lg-7 {
    padding-bottom: 4rem !important;
  }
  .pb-lg-8 {
    padding-bottom: 8rem !important;
  }
  .pb-lg-9 {
    padding-bottom: 11rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.6rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .gap-lg-6 {
    gap: 3.5rem !important;
  }
  .gap-lg-7 {
    gap: 4rem !important;
  }
  .gap-lg-8 {
    gap: 8rem !important;
  }
  .gap-lg-9 {
    gap: 11rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.6rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-6 {
    margin: 3.5rem !important;
  }
  .m-xl-7 {
    margin: 4rem !important;
  }
  .m-xl-8 {
    margin: 8rem !important;
  }
  .m-xl-9 {
    margin: 11rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-6 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .mx-xl-7 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-xl-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-xl-9 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-6 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .my-xl-7 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-xl-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-xl-9 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.6rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-6 {
    margin-top: 3.5rem !important;
  }
  .mt-xl-7 {
    margin-top: 4rem !important;
  }
  .mt-xl-8 {
    margin-top: 8rem !important;
  }
  .mt-xl-9 {
    margin-top: 11rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.6rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-6 {
    margin-bottom: 3.5rem !important;
  }
  .mb-xl-7 {
    margin-bottom: 4rem !important;
  }
  .mb-xl-8 {
    margin-bottom: 8rem !important;
  }
  .mb-xl-9 {
    margin-bottom: 11rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.6rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .m-xl-n6 {
    margin: -3.5rem !important;
  }
  .m-xl-n7 {
    margin: -4rem !important;
  }
  .m-xl-n8 {
    margin: -8rem !important;
  }
  .m-xl-n9 {
    margin: -11rem !important;
  }
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xl-n4 {
    margin-right: -1.6rem !important;
    margin-left: -1.6rem !important;
  }
  .mx-xl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-xl-n6 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
  .mx-xl-n7 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-xl-n8 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-xl-n9 {
    margin-right: -11rem !important;
    margin-left: -11rem !important;
  }
  .my-xl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xl-n4 {
    margin-top: -1.6rem !important;
    margin-bottom: -1.6rem !important;
  }
  .my-xl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-xl-n6 {
    margin-top: -3.5rem !important;
    margin-bottom: -3.5rem !important;
  }
  .my-xl-n7 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-xl-n8 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-xl-n9 {
    margin-top: -11rem !important;
    margin-bottom: -11rem !important;
  }
  .mt-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xl-n4 {
    margin-top: -1.6rem !important;
  }
  .mt-xl-n5 {
    margin-top: -3rem !important;
  }
  .mt-xl-n6 {
    margin-top: -3.5rem !important;
  }
  .mt-xl-n7 {
    margin-top: -4rem !important;
  }
  .mt-xl-n8 {
    margin-top: -8rem !important;
  }
  .mt-xl-n9 {
    margin-top: -11rem !important;
  }
  .mb-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xl-n4 {
    margin-bottom: -1.6rem !important;
  }
  .mb-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .mb-xl-n6 {
    margin-bottom: -3.5rem !important;
  }
  .mb-xl-n7 {
    margin-bottom: -4rem !important;
  }
  .mb-xl-n8 {
    margin-bottom: -8rem !important;
  }
  .mb-xl-n9 {
    margin-bottom: -11rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.6rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .p-xl-6 {
    padding: 3.5rem !important;
  }
  .p-xl-7 {
    padding: 4rem !important;
  }
  .p-xl-8 {
    padding: 8rem !important;
  }
  .p-xl-9 {
    padding: 11rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-xl-6 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .px-xl-7 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-xl-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-xl-9 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-xl-6 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .py-xl-7 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-xl-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-xl-9 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.6rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pt-xl-6 {
    padding-top: 3.5rem !important;
  }
  .pt-xl-7 {
    padding-top: 4rem !important;
  }
  .pt-xl-8 {
    padding-top: 8rem !important;
  }
  .pt-xl-9 {
    padding-top: 11rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.6rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pb-xl-6 {
    padding-bottom: 3.5rem !important;
  }
  .pb-xl-7 {
    padding-bottom: 4rem !important;
  }
  .pb-xl-8 {
    padding-bottom: 8rem !important;
  }
  .pb-xl-9 {
    padding-bottom: 11rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.6rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .gap-xl-6 {
    gap: 3.5rem !important;
  }
  .gap-xl-7 {
    gap: 4rem !important;
  }
  .gap-xl-8 {
    gap: 8rem !important;
  }
  .gap-xl-9 {
    gap: 11rem !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) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .flex-xxl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-xxl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    -webkit-box-pack: space-evenly !important;
        -ms-flex-pack: space-evenly !important;
            justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-xxl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-xxl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .align-items-xxl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-xxl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
  }
  .align-content-xxl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
  }
  .align-content-xxl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important;
  }
  .align-content-xxl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
  }
  .align-content-xxl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
  }
  .align-self-xxl-auto {
    -ms-flex-item-align: auto !important;
        align-self: auto !important;
  }
  .align-self-xxl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important;
  }
  .align-self-xxl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important;
  }
  .align-self-xxl-center {
    -ms-flex-item-align: center !important;
        align-self: center !important;
  }
  .align-self-xxl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
  }
  .order-xxl-first {
    -webkit-box-ordinal-group: 0 !important;
        -ms-flex-order: -1 !important;
            order: -1 !important;
  }
  .order-xxl-0 {
    -webkit-box-ordinal-group: 1 !important;
        -ms-flex-order: 0 !important;
            order: 0 !important;
  }
  .order-xxl-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-xxl-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-xxl-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-xxl-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-xxl-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-xxl-last {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.6rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-6 {
    margin: 3.5rem !important;
  }
  .m-xxl-7 {
    margin: 4rem !important;
  }
  .m-xxl-8 {
    margin: 8rem !important;
  }
  .m-xxl-9 {
    margin: 11rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.6rem !important;
    margin-left: 1.6rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-6 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .mx-xxl-7 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .mx-xxl-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important;
  }
  .mx-xxl-9 {
    margin-right: 11rem !important;
    margin-left: 11rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-6 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .my-xxl-7 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .my-xxl-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
  .my-xxl-9 {
    margin-top: 11rem !important;
    margin-bottom: 11rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.6rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-6 {
    margin-top: 3.5rem !important;
  }
  .mt-xxl-7 {
    margin-top: 4rem !important;
  }
  .mt-xxl-8 {
    margin-top: 8rem !important;
  }
  .mt-xxl-9 {
    margin-top: 11rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.6rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-6 {
    margin-bottom: 3.5rem !important;
  }
  .mb-xxl-7 {
    margin-bottom: 4rem !important;
  }
  .mb-xxl-8 {
    margin-bottom: 8rem !important;
  }
  .mb-xxl-9 {
    margin-bottom: 11rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -1rem !important;
  }
  .m-xxl-n4 {
    margin: -1.6rem !important;
  }
  .m-xxl-n5 {
    margin: -3rem !important;
  }
  .m-xxl-n6 {
    margin: -3.5rem !important;
  }
  .m-xxl-n7 {
    margin: -4rem !important;
  }
  .m-xxl-n8 {
    margin: -8rem !important;
  }
  .m-xxl-n9 {
    margin: -11rem !important;
  }
  .mx-xxl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xxl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xxl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xxl-n4 {
    margin-right: -1.6rem !important;
    margin-left: -1.6rem !important;
  }
  .mx-xxl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .mx-xxl-n6 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
  .mx-xxl-n7 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
  .mx-xxl-n8 {
    margin-right: -8rem !important;
    margin-left: -8rem !important;
  }
  .mx-xxl-n9 {
    margin-right: -11rem !important;
    margin-left: -11rem !important;
  }
  .my-xxl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xxl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xxl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xxl-n4 {
    margin-top: -1.6rem !important;
    margin-bottom: -1.6rem !important;
  }
  .my-xxl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .my-xxl-n6 {
    margin-top: -3.5rem !important;
    margin-bottom: -3.5rem !important;
  }
  .my-xxl-n7 {
    margin-top: -4rem !important;
    margin-bottom: -4rem !important;
  }
  .my-xxl-n8 {
    margin-top: -8rem !important;
    margin-bottom: -8rem !important;
  }
  .my-xxl-n9 {
    margin-top: -11rem !important;
    margin-bottom: -11rem !important;
  }
  .mt-xxl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xxl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xxl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xxl-n4 {
    margin-top: -1.6rem !important;
  }
  .mt-xxl-n5 {
    margin-top: -3rem !important;
  }
  .mt-xxl-n6 {
    margin-top: -3.5rem !important;
  }
  .mt-xxl-n7 {
    margin-top: -4rem !important;
  }
  .mt-xxl-n8 {
    margin-top: -8rem !important;
  }
  .mt-xxl-n9 {
    margin-top: -11rem !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -1.6rem !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -3rem !important;
  }
  .mb-xxl-n6 {
    margin-bottom: -3.5rem !important;
  }
  .mb-xxl-n7 {
    margin-bottom: -4rem !important;
  }
  .mb-xxl-n8 {
    margin-bottom: -8rem !important;
  }
  .mb-xxl-n9 {
    margin-bottom: -11rem !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.6rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .p-xxl-6 {
    padding: 3.5rem !important;
  }
  .p-xxl-7 {
    padding: 4rem !important;
  }
  .p-xxl-8 {
    padding: 8rem !important;
  }
  .p-xxl-9 {
    padding: 11rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .px-xxl-6 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .px-xxl-7 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .px-xxl-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
  }
  .px-xxl-9 {
    padding-right: 11rem !important;
    padding-left: 11rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .py-xxl-6 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .py-xxl-7 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .py-xxl-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .py-xxl-9 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.6rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pt-xxl-6 {
    padding-top: 3.5rem !important;
  }
  .pt-xxl-7 {
    padding-top: 4rem !important;
  }
  .pt-xxl-8 {
    padding-top: 8rem !important;
  }
  .pt-xxl-9 {
    padding-top: 11rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.6rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .pb-xxl-6 {
    padding-bottom: 3.5rem !important;
  }
  .pb-xxl-7 {
    padding-bottom: 4rem !important;
  }
  .pb-xxl-8 {
    padding-bottom: 8rem !important;
  }
  .pb-xxl-9 {
    padding-bottom: 11rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.6rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .gap-xxl-6 {
    gap: 3.5rem !important;
  }
  .gap-xxl-7 {
    gap: 4rem !important;
  }
  .gap-xxl-8 {
    gap: 8rem !important;
  }
  .gap-xxl-9 {
    gap: 11rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

.h-15px {
  height: 15px !important;
}

.h-20px {
  height: 20px !important;
}

.h-30px {
  height: 30px !important;
}

.h-40px {
  height: 40px !important;
}

.h-50px {
  height: 50px !important;
}

.h-60px {
  height: 60px !important;
}

.h-70px {
  height: 70px !important;
}

.h-300px {
  height: 300px !important;
}

.h-400px {
  height: 400px !important;
}

.h-600px {
  height: 600px !important;
}

.w-30px {
  width: 30px !important;
}

.w-40px {
  width: 40px !important;
}

.w-80px {
  width: 80px !important;
}

.w-90px {
  width: 90px !important;
}

.w-100px {
  width: 100px !important;
}

.w-150px {
  width: 150px !important;
}

.bg-opacity-15 {
  --bs-bg-opacity: 0.15;
}

.z-index-0 {
  z-index: 0 !important;
}

.z-index-1 {
  z-index: 1 !important;
}

.z-index-2 {
  z-index: 2 !important;
}

.z-index-9 {
  z-index: 9 !important;
}

.z-index-99 {
  z-index: 99 !important;
}

.z-index-n1 {
  z-index: -1 !important;
}

.z-index-n9 {
  z-index: -9 !important;
}

.border-dashed {
  border-style: dashed !important;
}

@media (min-width: 576px) {
  .h-sm-15px {
    height: 15px !important;
  }
  .h-sm-20px {
    height: 20px !important;
  }
  .h-sm-30px {
    height: 30px !important;
  }
  .h-sm-40px {
    height: 40px !important;
  }
  .h-sm-50px {
    height: 50px !important;
  }
  .h-sm-60px {
    height: 60px !important;
  }
  .h-sm-70px {
    height: 70px !important;
  }
  .h-sm-300px {
    height: 300px !important;
  }
  .h-sm-400px {
    height: 400px !important;
  }
  .h-sm-600px {
    height: 600px !important;
  }
}
@media (min-width: 768px) {
  .h-md-15px {
    height: 15px !important;
  }
  .h-md-20px {
    height: 20px !important;
  }
  .h-md-30px {
    height: 30px !important;
  }
  .h-md-40px {
    height: 40px !important;
  }
  .h-md-50px {
    height: 50px !important;
  }
  .h-md-60px {
    height: 60px !important;
  }
  .h-md-70px {
    height: 70px !important;
  }
  .h-md-300px {
    height: 300px !important;
  }
  .h-md-400px {
    height: 400px !important;
  }
  .h-md-600px {
    height: 600px !important;
  }
}
@media (min-width: 992px) {
  .h-lg-15px {
    height: 15px !important;
  }
  .h-lg-20px {
    height: 20px !important;
  }
  .h-lg-30px {
    height: 30px !important;
  }
  .h-lg-40px {
    height: 40px !important;
  }
  .h-lg-50px {
    height: 50px !important;
  }
  .h-lg-60px {
    height: 60px !important;
  }
  .h-lg-70px {
    height: 70px !important;
  }
  .h-lg-300px {
    height: 300px !important;
  }
  .h-lg-400px {
    height: 400px !important;
  }
  .h-lg-600px {
    height: 600px !important;
  }
}
@media (min-width: 1200px) {
  .h-xl-15px {
    height: 15px !important;
  }
  .h-xl-20px {
    height: 20px !important;
  }
  .h-xl-30px {
    height: 30px !important;
  }
  .h-xl-40px {
    height: 40px !important;
  }
  .h-xl-50px {
    height: 50px !important;
  }
  .h-xl-60px {
    height: 60px !important;
  }
  .h-xl-70px {
    height: 70px !important;
  }
  .h-xl-300px {
    height: 300px !important;
  }
  .h-xl-400px {
    height: 400px !important;
  }
  .h-xl-600px {
    height: 600px !important;
  }
}
@media (min-width: 1400px) {
  .h-xxl-15px {
    height: 15px !important;
  }
  .h-xxl-20px {
    height: 20px !important;
  }
  .h-xxl-30px {
    height: 30px !important;
  }
  .h-xxl-40px {
    height: 40px !important;
  }
  .h-xxl-50px {
    height: 50px !important;
  }
  .h-xxl-60px {
    height: 60px !important;
  }
  .h-xxl-70px {
    height: 70px !important;
  }
  .h-xxl-300px {
    height: 300px !important;
  }
  .h-xxl-400px {
    height: 400px !important;
  }
  .h-xxl-600px {
    height: 600px !important;
  }
}
.accordion .accordion-button {
  text-align: left;
}

.accordion .accordion-item {
  color: var(--bs-body-color);
}
.accordion.accordion-icon .accordion-header {
  position: relative;
}
.accordion.accordion-icon .accordion-header .accordion-button {
  background: transparent;
  font-size: inherit;
  border: none;
  padding-right: 2rem;
}
.accordion.accordion-icon .accordion-header .accordion-button:after {
  content: "";
  background: var(--bs-gray-800) !important;
  width: 10px;
  height: 2px;
  display: block;
  position: absolute;
  top: 47%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
  z-index: 9;
}
.accordion.accordion-icon .accordion-header .accordion-button:before {
  content: "";
  background: var(--bs-gray-800) !important;
  width: 10px;
  height: 2px;
  display: block;
  position: absolute;
  top: 47%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
  z-index: 9;
}
.accordion.accordion-icon .accordion-header .accordion-button[aria-expanded=false]:after {
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
}
.accordion.accordion-icon .accordion-header .accordion-button[aria-expanded=true]:before {
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
}
.accordion.accordion-icon .accordion-collapse {
  border: none;
}
.accordion.accordion-icon .accordion-body {
  padding: 0.2rem 1rem 0.5rem 1rem;
}

.accordion.accordion-bg-light .accordion-item {
  border: none;
  background-color: transparent;
}
.accordion.accordion-bg-light .accordion-button {
  background-color: var(--bs-light) !important;
  color: var(--bs-gray-800) !important;
}
.accordion.accordion-bg-light .accordion-button:not(.collapsed) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

@media (max-width: 575.98px) {
  .accordion-icon .accordion-body {
    padding: 0.6rem 0.5rem 0.5rem 0.5rem !important;
  }
  .accordion-header .accordion-button {
    padding-left: 1.3rem !important;
  }
}

.btn {
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
  outline: 0;
  margin-bottom: 6px;
}

.btn-xs {
  padding: 0.4rem 0.6rem;
  font-size: 0.6rem;
  line-height: 1.2;
  border-radius: 0.4rem;
}

.btn-light {
  background: var(--bs-light);
  border-color: var(--bs-light);
  color: var(--bs-gray-900);
}
.btn-light.active, .btn-light:active, .btn-light:focus, .btn-light:hover {
  background: var(--bs-gray-200);
  border-color: var(--bs-gray-200);
  color: var(--bs-gray-900);
}

.btn-white {
  background: #fff;
  color: #0b0a12;
}
.btn-white.active, .btn-white:active, .btn-white:focus, .btn-white:hover {
  background: #dfdfe3;
  color: #0b0a12;
  border-color: #dfdfe3;
}

.btn-outline-white {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
.btn-outline-white.active, .btn-outline-white:active, .btn-outline-white:focus, .btn-outline-white:hover {
  color: #0b0a12;
  background: #fff;
}

.btn-outline-light {
  background: transparent;
  border-color: #96969a;
  color: #747579;
}
.btn-outline-light:active, .btn-outline-light:hover, .btn-outline-light:focus {
  background: #c5c5c7;
  border-color: #c5c5c7;
  color: #0b0a12;
}

.btn-check:checked + .btn-outline-light {
  background: #96969a;
  border-color: #96969a;
  color: #0b0a12;
}

.btn-round {
  height: 40px;
  width: 40px;
  line-height: 40px;
  border-radius: 50%;
  padding: 0;
  text-align: center;
}
.btn-round i {
  margin: 0;
}
.btn-round .fa-play {
  padding-left: 3px;
}
.btn-round.btn-lg, .btn-group-lg > .btn-round.btn {
  height: 55px;
  width: 55px;
  line-height: 55px;
}
.btn-round.btn-sm, .btn-group-sm > .btn-round.btn {
  height: 32px;
  width: 32px;
  line-height: 30px;
}
.btn-round.btn-sm i, .btn-group-sm > .btn-round.btn i {
  font-size: 0.6rem;
}
.btn-round.btn-xs {
  height: 25px;
  width: 25px;
  line-height: 24px;
}
.btn-round.btn-xs i {
  font-size: 0.6rem;
}

/*rtl:raw:
.btn-round .fa-play{
  padding-left: 3px;
  padding-right: 0;
}
*/
.btn-primary-soft {
  color: #5143d9;
  background-color: rgba(81, 67, 217, 0.1);
}
.btn-primary-soft:active, .btn-primary-soft:hover, .btn-primary-soft:focus {
  color: #fff;
  background-color: #5143d9;
  border-color: #5143d9;
}

.btn-white-soft {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}
.btn-white-soft:active, .btn-white-soft:hover, .btn-white-soft:focus {
  color: #000;
  background-color: #fff;
  border-color: #fff;
}

.btn-secondary-soft {
  color: #85878a;
  background-color: rgba(133, 135, 138, 0.1);
}
.btn-secondary-soft:active, .btn-secondary-soft:hover, .btn-secondary-soft:focus {
  color: #fff;
  background-color: #85878a;
  border-color: #85878a;
}

.btn-success-soft {
  color: #0cbc87;
  background-color: rgba(12, 188, 135, 0.1);
}
.btn-success-soft:active, .btn-success-soft:hover, .btn-success-soft:focus {
  color: #fff;
  background-color: #0cbc87;
  border-color: #0cbc87;
}

.btn-info-soft {
  color: #17a2b8;
  background-color: rgba(23, 162, 184, 0.1);
}
.btn-info-soft:active, .btn-info-soft:hover, .btn-info-soft:focus {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-warning-soft {
  color: #f7c32e;
  background-color: rgba(247, 195, 46, 0.1);
}
.btn-warning-soft:active, .btn-warning-soft:hover, .btn-warning-soft:focus {
  color: #000;
  background-color: #f7c32e;
  border-color: #f7c32e;
}

.btn-danger-soft {
  color: #d6293e;
  background-color: rgba(214, 41, 62, 0.1);
}
.btn-danger-soft:active, .btn-danger-soft:hover, .btn-danger-soft:focus {
  color: #fff;
  background-color: #d6293e;
  border-color: #d6293e;
}

.btn-light-soft {
  color: #f5f5f6;
  background-color: rgba(245, 245, 246, 0.1);
}
.btn-light-soft:active, .btn-light-soft:hover, .btn-light-soft:focus {
  color: #000;
  background-color: #f5f5f6;
  border-color: #f5f5f6;
}

.btn-dark-soft {
  color: #0b0a12;
  background-color: rgba(11, 10, 18, 0.1);
}
.btn-dark-soft:active, .btn-dark-soft:hover, .btn-dark-soft:focus {
  color: #fff;
  background-color: #0b0a12;
  border-color: #0b0a12;
}

.btn-orange-soft {
  color: #fd7e14;
  background-color: rgba(253, 126, 20, 0.1);
}
.btn-orange-soft:active, .btn-orange-soft:hover, .btn-orange-soft:focus {
  color: #fff;
  background-color: #fd7e14;
  border-color: #fd7e14;
}

.btn-mode-soft {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}
.btn-mode-soft:active, .btn-mode-soft:hover, .btn-mode-soft:focus {
  color: #000;
  background-color: #fff;
  border-color: #fff;
}

.btn-primary-soft-check:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.2);
  border: 1px solid var(--bs-primary);
  color: var(--bs-primary);
}

.btn-check:active + .btn-primary-soft-check, .btn-check:checked + .btn-primary-soft-check, .btn-primary-soft-check.active, .btn-primary-soft-check:active, .show > .btn-primary-soft-check.dropdown-toggle {
  background-color: rgba(var(--bs-primary-rgb), 0.2);
  color: var(--bs-primary);
  border: 1px solid var(--bs-primary);
}

.btn-check:focus + .btn, .btn-round-shadow:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn-dark-bg-check {
  border: 1px solid transparent !important;
}

.btn-check:active + .btn-dark-bg-check, .btn-check:checked + .btn-dark-bg-check, .btn-dark-bg-check.active, .btn-dark-bg-check:active, .show > .btn-dark-bg-check.dropdown-toggle {
  background-color: #0b0a12;
  color: #fff;
}

.btn-check:focus + .btn, .btn-round-shadow:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn-more i {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.btn-more[aria-expanded=true] i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.btn-more .see-more {
  display: block;
}
.btn-more .see-less {
  display: none;
}
.btn-more[aria-expanded=true] .see-more {
  display: none;
}
.btn-more[aria-expanded=true] .see-less {
  display: block;
}

.btn-flip-icon {
  position: absolute;
  left: 100%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media (max-width: 767.98px) {
  .btn-flip-icon {
    position: absolute;
    left: 50%;
    top: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    margin-top: 0.5rem;
  }
  .btn-flip-icon i {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
}
.btn-primary-check:hover {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
  border: 1px solid var(--bs-primary);
}

.btn-check:active + .btn-primary-check, .btn-check:checked + .btn-primary-check, .btn-primary-check.active, .btn-primary-check:active, .show > .btn-primary-check.dropdown-toggle {
  background-color: var(--bs-primary);
  color: #fff;
  border: 1px solid var(--bs-primary);
}

.btn-dark-hover:hover {
  background-color: #0b0a12 !important;
  border-color: #0b0a12;
  color: #fff !important;
}

.dropdown-item.active, .dropdown-item:active,
.dropdown-item:hover, .dropdown-item:focus {
  border-radius: 0.5rem;
}

.dropdown-menu {
  padding-left: 10px;
  padding-right: 10px;
  z-index: 1100;
  -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
          box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
}

.dropdown-menu-size-sm {
  min-width: 13rem;
}

.dropdown-menu-size-md {
  min-width: 22rem;
}

.dropdown-menu-size-lg {
  min-width: 30rem;
}

@media (max-width: 575.98px) {
  .dropdown-menu-size-md {
    min-width: 17rem;
    margin-right: -35px !important;
  }
  .dropdown-menu-size-sm {
    min-width: 13rem;
  }
}
.dropdown .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  vertical-align: middle;
  border: none;
}

@media (max-width: 991.98px) {
  .dropdown-width-lg {
    width: 100%;
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-width-lg {
    width: 40rem;
    padding: 0;
  }
}
@media (min-width: 1400px) {
  .dropdown-width-lg {
    width: 50rem;
    padding: 0;
  }
}
.dropdown-fullwidth .dropdown-menu {
  margin: 0 auto;
  left: 0;
  right: 0;
  padding: 1rem 0;
}

@media (min-width: 576px) {
  .dropdown-fullwidth {
    position: static;
  }
  .dropdown-fullwidth .dropdown-menu {
    max-width: 96%;
  }
}
@media (min-width: 768px) {
  .dropdown-fullwidth {
    position: static;
  }
  .dropdown-fullwidth .dropdown-menu {
    max-width: 94%;
  }
}
@media (min-width: 992px) {
  .dropdown-fullwidth {
    position: static;
  }
  .dropdown-fullwidth .dropdown-menu {
    max-width: 94%;
  }
}
@media (min-width: 1200px) {
  .dropdown-fullwidth {
    position: static;
  }
  .dropdown-fullwidth .dropdown-menu {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .dropdown-fullwidth {
    position: static;
  }
  .dropdown-fullwidth .dropdown-menu {
    max-width: 1200px;
  }
}
.dropdown-menu-start {
  left: 0;
}

.dropdown-menu-end {
  right: 0;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    left: 0;
  }
  .dropdown-menu-sm-end {
    right: 0;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    left: 0;
  }
  .dropdown-menu-md-end {
    right: 0;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    left: 0;
  }
  .dropdown-menu-lg-end {
    right: 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    left: 0;
  }
  .dropdown-menu-xl-end {
    right: 0;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    left: 0;
  }
  .dropdown-menu-xxl-end {
    right: 0;
  }
}
.dropdown-menu.dropdown-animation.show {
  -webkit-animation-duration: 0.3s !important;
          animation-duration: 0.3s !important;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: dropdownslideIn;
          animation-name: dropdownslideIn;
  position: absolute !important;
  top: 100% !important;
  -webkit-transition: none;
  transition: none;
}

@keyframes dropdownslideIn {
  0% {
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0rem);
            transform: translateY(0rem);
    opacity: 1;
  }
  0% {
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
    opacity: 0;
  }
}
@-webkit-keyframes dropdownslideIn {
  0% {
    -webkit-transform: transform;
    -webkit-opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    -webkit-opacity: 1;
  }
  0% {
    -webkit-transform: translateY(1rem);
    -webkit-opacity: 0;
  }
}
.list-group-borderless .list-group-item {
  border: none !important;
  padding: 0.425rem 0;
}
.list-group-borderless a.list-group-item:hover {
  background-color: transparent;
  color: var(--bs-primary);
}

.nav-pills .nav-link {
  cursor: pointer;
  padding: 0.5rem 1rem;
  color: var(--bs-primary);
  white-space: nowrap;
}

.nav.flex-column:not(.nav-pills) .nav-link {
  padding-left: 0;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

@media (max-width: 991.98px) {
  .nav-responsive {
    overflow-x: scroll;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.nav.nav-divider a:not(.dropdown-item) {
  color: inherit;
}
.nav.nav-divider .nav-item + .nav-item:before {
  content: "•";
  color: inherit;
  padding-left: 0.65rem;
  padding-right: 0.75rem;
  opacity: 0.8;
}
.nav.nav-divider .nav-item {
  display: inline-block;
  vertical-align: middle;
}
.nav.nav-divider .nav-link {
  padding: 0;
  color: inherit;
}

.nav-pills-primary-soft .nav-item {
  padding: 0 !important;
  margin-right: 2px;
  margin-left: 2px;
  border-bottom: 0 !important;
}
.nav-pills-primary-soft .nav-link {
  padding: 0.5rem 0.8rem !important;
  color: var(--bs-gray-800);
  font-weight: 500;
  border-radius: 0.5rem;
}
.nav-pills-primary-soft .nav-link.active, .nav-pills-primary-soft .nav-link:hover {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.nav-pills-primary-soft.flex-column .nav-item {
  margin-bottom: 3px;
  margin-right: 0;
}

.nav-pills-dark .nav-link {
  background-color: var(--bs-gray-200);
  color: var(--bs-gray-900);
  border: none;
  font-weight: 600;
}

.nav-pills-dark .nav-link.active, .nav-pills-dark .show > .nav-link {
  color: #fff;
  background-color: #0b0a12;
}

.nav.nav-bottom-line .nav-link {
  background: transparent;
  border: transparent;
  border-bottom: 3px solid transparent;
  font-weight: 600;
  padding: 0.6rem 0.75rem;
  white-space: nowrap;
}
.nav.nav-bottom-line .nav-link.active {
  background: transparent;
  color: var(--bs-primary);
  border-bottom: 3px solid var(--bs-primary);
}

.nav-pills-shadow .nav-item {
  padding: 0 !important;
  border-bottom: 0 !important;
}
.nav-pills-shadow .nav-link {
  padding: 0.5rem 0.8rem !important;
  color: var(--bs-body-color);
  font-weight: 500;
  border-radius: 0.5rem;
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid transparent;
}
.nav-pills-shadow .nav-link:hover {
  color: var(--bs-gray-800);
}
.nav-pills-shadow .nav-link.active {
  color: var(--bs-gray-800);
  background-color: var(--bs-light);
  border: 1px solid var(--bs-gray-300);
}
.nav-pills-shadow .nav-link:focus-visible {
  outline: none !important;
}

.nav-pills-primary-soft.flex-column .nav-item {
  margin-bottom: 3px;
  margin-right: 0;
}

.navbar-expand-sm .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand-sm .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand-sm .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
@media (min-width: 576px) {
  .navbar-expand-sm .navbar-top {
    z-index: 1100 !important;
  }
  .navbar-expand-sm .navbar-brand .navbar-brand-item {
    height: 40px;
    display: block;
    width: auto;
  }
  .navbar-expand-sm .navbar-nav .dropdown > .dropdown-menu {
    top: 120%;
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-sm .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    top: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .navbar-expand-sm .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-sm .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    margin-left: 0.5rem;
  }
  .navbar-expand-sm .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
    margin-right: 0.5rem;
  }
  .navbar-expand-sm .navbar-nav .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
  .navbar-expand-sm .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand-sm .navbar-nav.nav-active-line .nav-link.active {
    color: var(--bs-navbar-active-color);
    border-bottom: 2px solid var(--bs-primary);
  }
  .navbar-expand-sm.navbar-divider {
    border-bottom: 1px solid var(--bs-gray-200);
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    font-weight: 500;
  }
  .navbar-expand-sm .dropdown-menu .dropdown-toggle:after {
    position: absolute;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked {
    z-index: 5;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked .dropdown-submenu {
    z-index: unset !important;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked .dropdown-menu {
    z-index: -1;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked .dropdown-menu > * {
    z-index: 1;
    position: relative;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked .dropdown-menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--bs-body-bg);
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    border-radius: inherit;
  }
  .navbar-expand-sm .dropdown-menu-shadow-stacked .dropdown-menu li {
    position: relative;
  }
}
@media (max-width: 575.98px) {
  .navbar-expand-sm .navbar-brand .navbar-brand-item {
    height: 30px;
  }
  .navbar-expand-sm .navbar-brand {
    padding: 20px 0;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 65vh);
  }
  .navbar-expand-sm .navbar-collapse {
    -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
            box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--bs-body-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-sm .navbar-collapse .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
  }
  .navbar-expand-sm .navbar-collapse .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-sm.navbar-dark .nav-link {
    color: var(--bs-navbar-light-color);
  }
  .navbar-expand-sm.navbar-dark .nav-link:hover, .navbar-expand-sm.navbar-dark .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
  }
  .navbar-expand-sm .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
    background: rgba(var(--bs-gray-700), 0.5) !important;
  }
  .navbar-expand-sm .navbar-collapse .navbar-nav .dropdown-toggle::after {
    position: absolute;
    right: 25px;
  }
  .navbar-expand-sm .navbar-toggler {
    border: none;
  }
  .navbar-expand-sm .offcanvas-body {
    padding: 1rem 0.875rem;
  }
  .navbar-expand-sm .offcanvas-body .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }
  .navbar-expand-sm .offcanvas-body .navbar-nav .dropdown-toggle::after {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    border: 1px solid var(--bs-border-color);
    margin-top: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-expand-sm .navbar-nav.nav-primary-soft .nav-item .nav-link {
    padding: 0.5rem 0.75rem;
  }
  .navbar-expand-sm .navbar-nav.navbar-offcanvas-menu .nav-item {
    padding: 0.5rem 0;
  }
  .navbar-expand-sm .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-sm .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: solid 1px var(--bs-gray-200);
    border-radius: 0;
    margin-left: 8px;
  }
  .navbar-expand-sm .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
    background: none !important;
  }
}
.navbar-expand-md .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand-md .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand-md .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
@media (min-width: 768px) {
  .navbar-expand-md .navbar-top {
    z-index: 1100 !important;
  }
  .navbar-expand-md .navbar-brand .navbar-brand-item {
    height: 40px;
    display: block;
    width: auto;
  }
  .navbar-expand-md .navbar-nav .dropdown > .dropdown-menu {
    top: 120%;
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-md .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    top: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .navbar-expand-md .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-md .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    margin-left: 0.5rem;
  }
  .navbar-expand-md .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
    margin-right: 0.5rem;
  }
  .navbar-expand-md .navbar-nav .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
  .navbar-expand-md .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand-md .navbar-nav.nav-active-line .nav-link.active {
    color: var(--bs-navbar-active-color);
    border-bottom: 2px solid var(--bs-primary);
  }
  .navbar-expand-md.navbar-divider {
    border-bottom: 1px solid var(--bs-gray-200);
  }
  .navbar-expand-md .navbar-nav .nav-link {
    font-weight: 500;
  }
  .navbar-expand-md .dropdown-menu .dropdown-toggle:after {
    position: absolute;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked {
    z-index: 5;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked .dropdown-submenu {
    z-index: unset !important;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked .dropdown-menu {
    z-index: -1;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked .dropdown-menu > * {
    z-index: 1;
    position: relative;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked .dropdown-menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--bs-body-bg);
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    border-radius: inherit;
  }
  .navbar-expand-md .dropdown-menu-shadow-stacked .dropdown-menu li {
    position: relative;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md .navbar-brand .navbar-brand-item {
    height: 30px;
  }
  .navbar-expand-md .navbar-brand {
    padding: 20px 0;
  }
  .navbar-expand-md .navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 65vh);
  }
  .navbar-expand-md .navbar-collapse {
    -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
            box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--bs-body-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-md .navbar-collapse .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
  }
  .navbar-expand-md .navbar-collapse .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-md.navbar-dark .nav-link {
    color: var(--bs-navbar-light-color);
  }
  .navbar-expand-md.navbar-dark .nav-link:hover, .navbar-expand-md.navbar-dark .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
  }
  .navbar-expand-md .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
    background: rgba(var(--bs-gray-700), 0.5) !important;
  }
  .navbar-expand-md .navbar-collapse .navbar-nav .dropdown-toggle::after {
    position: absolute;
    right: 25px;
  }
  .navbar-expand-md .navbar-toggler {
    border: none;
  }
  .navbar-expand-md .offcanvas-body {
    padding: 1rem 0.875rem;
  }
  .navbar-expand-md .offcanvas-body .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }
  .navbar-expand-md .offcanvas-body .navbar-nav .dropdown-toggle::after {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    border: 1px solid var(--bs-border-color);
    margin-top: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-expand-md .navbar-nav.nav-primary-soft .nav-item .nav-link {
    padding: 0.5rem 0.75rem;
  }
  .navbar-expand-md .navbar-nav.navbar-offcanvas-menu .nav-item {
    padding: 0.5rem 0;
  }
  .navbar-expand-md .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-md .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: solid 1px var(--bs-gray-200);
    border-radius: 0;
    margin-left: 8px;
  }
  .navbar-expand-md .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
    background: none !important;
  }
}
.navbar-expand-lg .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand-lg .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand-lg .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-top {
    z-index: 1100 !important;
  }
  .navbar-expand-lg .navbar-brand .navbar-brand-item {
    height: 40px;
    display: block;
    width: auto;
  }
  .navbar-expand-lg .navbar-nav .dropdown > .dropdown-menu {
    top: 120%;
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-lg .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    top: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .navbar-expand-lg .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-lg .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    margin-left: 0.5rem;
  }
  .navbar-expand-lg .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
    margin-right: 0.5rem;
  }
  .navbar-expand-lg .navbar-nav .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
  .navbar-expand-lg .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand-lg .navbar-nav.nav-active-line .nav-link.active {
    color: var(--bs-navbar-active-color);
    border-bottom: 2px solid var(--bs-primary);
  }
  .navbar-expand-lg.navbar-divider {
    border-bottom: 1px solid var(--bs-gray-200);
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    font-weight: 500;
  }
  .navbar-expand-lg .dropdown-menu .dropdown-toggle:after {
    position: absolute;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked {
    z-index: 5;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked .dropdown-submenu {
    z-index: unset !important;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked .dropdown-menu {
    z-index: -1;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked .dropdown-menu > * {
    z-index: 1;
    position: relative;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked .dropdown-menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--bs-body-bg);
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    border-radius: inherit;
  }
  .navbar-expand-lg .dropdown-menu-shadow-stacked .dropdown-menu li {
    position: relative;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-brand .navbar-brand-item {
    height: 30px;
  }
  .navbar-expand-lg .navbar-brand {
    padding: 20px 0;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 65vh);
  }
  .navbar-expand-lg .navbar-collapse {
    -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
            box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--bs-body-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-lg .navbar-collapse .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
  }
  .navbar-expand-lg .navbar-collapse .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-lg.navbar-dark .nav-link {
    color: var(--bs-navbar-light-color);
  }
  .navbar-expand-lg.navbar-dark .nav-link:hover, .navbar-expand-lg.navbar-dark .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
  }
  .navbar-expand-lg .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
    background: rgba(var(--bs-gray-700), 0.5) !important;
  }
  .navbar-expand-lg .navbar-collapse .navbar-nav .dropdown-toggle::after {
    position: absolute;
    right: 25px;
  }
  .navbar-expand-lg .navbar-toggler {
    border: none;
  }
  .navbar-expand-lg .offcanvas-body {
    padding: 1rem 0.875rem;
  }
  .navbar-expand-lg .offcanvas-body .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }
  .navbar-expand-lg .offcanvas-body .navbar-nav .dropdown-toggle::after {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    border: 1px solid var(--bs-border-color);
    margin-top: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-expand-lg .navbar-nav.nav-primary-soft .nav-item .nav-link {
    padding: 0.5rem 0.75rem;
  }
  .navbar-expand-lg .navbar-nav.navbar-offcanvas-menu .nav-item {
    padding: 0.5rem 0;
  }
  .navbar-expand-lg .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-lg .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: solid 1px var(--bs-gray-200);
    border-radius: 0;
    margin-left: 8px;
  }
  .navbar-expand-lg .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
    background: none !important;
  }
}
.navbar-expand-xl .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand-xl .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand-xl .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-top {
    z-index: 1100 !important;
  }
  .navbar-expand-xl .navbar-brand .navbar-brand-item {
    height: 40px;
    display: block;
    width: auto;
  }
  .navbar-expand-xl .navbar-nav .dropdown > .dropdown-menu {
    top: 120%;
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-xl .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    top: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .navbar-expand-xl .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-xl .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    margin-left: 0.5rem;
  }
  .navbar-expand-xl .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
    margin-right: 0.5rem;
  }
  .navbar-expand-xl .navbar-nav .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
  .navbar-expand-xl .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand-xl .navbar-nav.nav-active-line .nav-link.active {
    color: var(--bs-navbar-active-color);
    border-bottom: 2px solid var(--bs-primary);
  }
  .navbar-expand-xl.navbar-divider {
    border-bottom: 1px solid var(--bs-gray-200);
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    font-weight: 500;
  }
  .navbar-expand-xl .dropdown-menu .dropdown-toggle:after {
    position: absolute;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked {
    z-index: 5;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked .dropdown-submenu {
    z-index: unset !important;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked .dropdown-menu {
    z-index: -1;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked .dropdown-menu > * {
    z-index: 1;
    position: relative;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked .dropdown-menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--bs-body-bg);
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    border-radius: inherit;
  }
  .navbar-expand-xl .dropdown-menu-shadow-stacked .dropdown-menu li {
    position: relative;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-brand .navbar-brand-item {
    height: 30px;
  }
  .navbar-expand-xl .navbar-brand {
    padding: 20px 0;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 65vh);
  }
  .navbar-expand-xl .navbar-collapse {
    -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
            box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--bs-body-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-xl .navbar-collapse .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
  }
  .navbar-expand-xl .navbar-collapse .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-xl.navbar-dark .nav-link {
    color: var(--bs-navbar-light-color);
  }
  .navbar-expand-xl.navbar-dark .nav-link:hover, .navbar-expand-xl.navbar-dark .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
  }
  .navbar-expand-xl .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
    background: rgba(var(--bs-gray-700), 0.5) !important;
  }
  .navbar-expand-xl .navbar-collapse .navbar-nav .dropdown-toggle::after {
    position: absolute;
    right: 25px;
  }
  .navbar-expand-xl .navbar-toggler {
    border: none;
  }
  .navbar-expand-xl .offcanvas-body {
    padding: 1rem 0.875rem;
  }
  .navbar-expand-xl .offcanvas-body .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }
  .navbar-expand-xl .offcanvas-body .navbar-nav .dropdown-toggle::after {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    border: 1px solid var(--bs-border-color);
    margin-top: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-expand-xl .navbar-nav.nav-primary-soft .nav-item .nav-link {
    padding: 0.5rem 0.75rem;
  }
  .navbar-expand-xl .navbar-nav.navbar-offcanvas-menu .nav-item {
    padding: 0.5rem 0;
  }
  .navbar-expand-xl .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-xl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: solid 1px var(--bs-gray-200);
    border-radius: 0;
    margin-left: 8px;
  }
  .navbar-expand-xl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
    background: none !important;
  }
}
.navbar-expand-xxl .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand-xxl .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand-xxl .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
@media (min-width: 1400px) {
  .navbar-expand-xxl .navbar-top {
    z-index: 1100 !important;
  }
  .navbar-expand-xxl .navbar-brand .navbar-brand-item {
    height: 40px;
    display: block;
    width: auto;
  }
  .navbar-expand-xxl .navbar-nav .dropdown > .dropdown-menu {
    top: 120%;
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-xxl .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    top: 100%;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .navbar-expand-xxl .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: block;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }
  .navbar-expand-xxl .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    margin-left: 0.5rem;
  }
  .navbar-expand-xxl .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
    margin-right: 0.5rem;
  }
  .navbar-expand-xxl .navbar-nav .dropdown > .dropdown-toggle:active {
    pointer-events: none;
  }
  .navbar-expand-xxl .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand-xxl .navbar-nav.nav-active-line .nav-link.active {
    color: var(--bs-navbar-active-color);
    border-bottom: 2px solid var(--bs-primary);
  }
  .navbar-expand-xxl.navbar-divider {
    border-bottom: 1px solid var(--bs-gray-200);
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    font-weight: 500;
  }
  .navbar-expand-xxl .dropdown-menu .dropdown-toggle:after {
    position: absolute;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked {
    z-index: 5;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked .dropdown-submenu {
    z-index: unset !important;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked .dropdown-menu {
    z-index: -1;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked .dropdown-menu > * {
    z-index: 1;
    position: relative;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked .dropdown-menu:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--bs-body-bg);
    -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
            box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
    border-radius: inherit;
  }
  .navbar-expand-xxl .dropdown-menu-shadow-stacked .dropdown-menu li {
    position: relative;
  }
}
@media (max-width: 1399.98px) {
  .navbar-expand-xxl .navbar-brand .navbar-brand-item {
    height: 30px;
  }
  .navbar-expand-xxl .navbar-brand {
    padding: 20px 0;
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 65vh);
  }
  .navbar-expand-xxl .navbar-collapse {
    -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
            box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--bs-body-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
  }
  .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-xxl.navbar-dark .nav-link {
    color: var(--bs-navbar-light-color);
  }
  .navbar-expand-xxl.navbar-dark .nav-link:hover, .navbar-expand-xxl.navbar-dark .nav-link:focus {
    color: var(--bs-nav-link-hover-color);
  }
  .navbar-expand-xxl .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
    background: rgba(var(--bs-gray-700), 0.5) !important;
  }
  .navbar-expand-xxl .navbar-collapse .navbar-nav .dropdown-toggle::after {
    position: absolute;
    right: 25px;
  }
  .navbar-expand-xxl .navbar-toggler {
    border: none;
  }
  .navbar-expand-xxl .offcanvas-body {
    padding: 1rem 0.875rem;
  }
  .navbar-expand-xxl .offcanvas-body .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }
  .navbar-expand-xxl .offcanvas-body .navbar-nav .dropdown-toggle::after {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    border: 1px solid var(--bs-border-color);
    margin-top: 8px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-expand-xxl .navbar-nav.nav-primary-soft .nav-item .nav-link {
    padding: 0.5rem 0.75rem;
  }
  .navbar-expand-xxl .navbar-nav.navbar-offcanvas-menu .nav-item {
    padding: 0.5rem 0;
  }
  .navbar-expand-xxl .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
    padding: 0.25rem 0;
  }
  .navbar-expand-xxl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-left: solid 1px var(--bs-gray-200);
    border-radius: 0;
    margin-left: 8px;
  }
  .navbar-expand-xxl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
    background: none !important;
  }
}
.navbar-expand .dropdown-toggle:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  vertical-align: middle;
  border: none;
}
.navbar-expand .dropdown-submenu.dropend .dropdown-toggle:after {
  content: "\f141";
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  font-size: 1rem;
}
.navbar-expand .dropdown-submenu.dropstart .dropdown-toggle:before {
  content: "\f141";
  margin-right: 0;
  font-family: "Font Awesome 6 Free";
  right: 1rem;
  position: absolute;
}
.navbar-expand .navbar-top {
  z-index: 1100 !important;
}
.navbar-expand .navbar-brand .navbar-brand-item {
  height: 40px;
  display: block;
  width: auto;
}
.navbar-expand .navbar-nav .dropdown > .dropdown-menu {
  top: 120%;
  visibility: hidden;
  opacity: 0;
  display: block;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.navbar-expand .navbar-nav .dropdown:hover > .dropdown-menu {
  display: block;
  top: 100%;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.navbar-expand .navbar-nav .dropdown .dropdown-submenu > .dropdown-menu {
  visibility: hidden;
  opacity: 0;
  display: block;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.navbar-expand .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
  display: block;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
          box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
  margin-left: 0.5rem;
}
.navbar-expand .navbar-nav .dropdown .dropdown-submenu.dropstart:hover > .dropdown-menu {
  margin-right: 0.5rem;
}
.navbar-expand .navbar-nav .dropdown > .dropdown-toggle:active {
  pointer-events: none;
}
.navbar-expand .navbar-nav.nav-active-line .show > .nav-link, .navbar-expand .navbar-nav.nav-active-line .nav-link.active {
  color: var(--bs-navbar-active-color);
  border-bottom: 2px solid var(--bs-primary);
}
.navbar-expand.navbar-divider {
  border-bottom: 1px solid var(--bs-gray-200);
}
.navbar-expand .navbar-nav .nav-link {
  font-weight: 500;
}
.navbar-expand .dropdown-menu .dropdown-toggle:after {
  position: absolute;
}
.navbar-expand .dropdown-menu-shadow-stacked {
  z-index: 5;
}
.navbar-expand .dropdown-menu-shadow-stacked .dropdown-submenu {
  z-index: unset !important;
}
.navbar-expand .dropdown-menu-shadow-stacked .dropdown-menu {
  z-index: -1;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.navbar-expand .dropdown-menu-shadow-stacked .dropdown-menu > * {
  z-index: 1;
  position: relative;
}
.navbar-expand .dropdown-menu-shadow-stacked .dropdown-menu:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: var(--bs-body-bg);
  -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
          box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
  border-radius: inherit;
}
.navbar-expand .dropdown-menu-shadow-stacked .dropdown-menu li {
  position: relative;
}
.navbar-expand .navbar-brand .navbar-brand-item {
  height: 30px;
}
.navbar-expand .navbar-brand {
  padding: 20px 0;
}
.navbar-expand .navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 65vh);
}
.navbar-expand .navbar-collapse {
  -webkit-box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
          box-shadow: 0px 10px 30px rgba(83, 88, 93, 0.4);
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--bs-body-bg);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.navbar-expand .navbar-collapse .navbar-nav .nav-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 8px 20px;
}
.navbar-expand .navbar-collapse .navbar-nav .nav-item .nav-link {
  padding: 0.25rem 0;
}
.navbar-expand.navbar-dark .nav-link {
  color: var(--bs-navbar-light-color);
}
.navbar-expand.navbar-dark .nav-link:hover, .navbar-expand.navbar-dark .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.navbar-expand .navbar-nav .nav-item > .dropdown-menu .dropdown-submenu .dropdown-menu {
  background: rgba(var(--bs-gray-700), 0.5) !important;
}
.navbar-expand .navbar-collapse .navbar-nav .dropdown-toggle::after {
  position: absolute;
  right: 25px;
}
.navbar-expand .navbar-toggler {
  border: none;
}
.navbar-expand .offcanvas-body {
  padding: 1rem 0.875rem;
}
.navbar-expand .offcanvas-body .navbar-nav .nav-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 8px 0;
}
.navbar-expand .offcanvas-body .navbar-nav .dropdown-toggle::after {
  position: absolute;
}
.navbar-expand .navbar-nav .dropdown-menu {
  border: 1px solid var(--bs-border-color);
  margin-top: 8px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.navbar-expand .navbar-nav.nav-primary-soft .nav-item .nav-link {
  padding: 0.5rem 0.75rem;
}
.navbar-expand .navbar-nav.navbar-offcanvas-menu .nav-item {
  padding: 0.5rem 0;
}
.navbar-expand .navbar-nav.navbar-offcanvas-menu .nav-item .nav-link {
  padding: 0.25rem 0;
}
.navbar-expand .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu {
  background: transparent;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-left: solid 1px var(--bs-gray-200);
  border-radius: 0;
  margin-left: 8px;
}
.navbar-expand .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-nav.navbar-offcanvas-menu .nav-item > .dropdown-menu .dropdown-item:hover {
  background: none !important;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.navbar-toggler {
  padding: 10px 10px;
}

.navbar-toggler {
  padding: 10px 10px;
}

.navbar-toggler .navbar-toggler-animation {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-image: none;
  position: relative;
  height: 22px;
  width: 22px;
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-toggler .navbar-toggler-animation span {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: rotateZ(0deg);
          transform: rotateZ(0deg);
  height: 2px;
  background: var(--bs-navbar-color);
  display: block;
  position: absolute;
  width: 100%;
  border-radius: 30px;
}

.navbar-toggler .navbar-toggler-animation span:nth-child(1) {
  top: 10%;
}

.navbar-toggler .navbar-toggler-animation span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.navbar-toggler .navbar-toggler-animation span:nth-child(3) {
  bottom: 10%;
}

.navbar-toggler[data-bs-toggle=collapse][aria-expanded=true] .navbar-toggler-animation span:nth-child(1) {
  -webkit-transform: rotateZ(45deg) translateY(-50%);
          transform: rotateZ(45deg) translateY(-50%);
  top: 49%;
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0;
  width: 100%;
}

.navbar-toggler[data-bs-toggle=collapse][aria-expanded=true] .navbar-toggler-animation span:nth-child(2) {
  visibility: hidden;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}

.navbar-toggler[data-bs-toggle=collapse][aria-expanded=true] .navbar-toggler-animation span:nth-child(3) {
  -webkit-transform: rotateZ(-45deg) translateY(-50%);
          transform: rotateZ(-45deg) translateY(-50%);
  bottom: 42%;
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0;
  width: 100%;
}

.nav-notification {
  width: 2.6rem;
  height: 2.6rem;
  line-height: 2.6rem;
  text-align: center;
  font-size: 0.8rem;
}

@media (max-width: 575.98px) {
  .nav .nav-item .nav-notification {
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 0.8rem;
  }
  .nav .nav-item .avatar {
    height: 2rem;
    width: 2rem;
  }
}
[data-bs-theme=dark] .navbar-light-static .nav-link {
  color: #0b0a12 !important;
}
[data-bs-theme=dark] .navbar-light-static .nav-link:hover, [data-bs-theme=dark] .navbar-light-static .nav-link:focus {
  color: var(--bs-nav-link-hover-color) !important;
}
[data-bs-theme=dark] .navbar-light-static .navbar-toggler .navbar-toggler-animation span {
  background-color: #0b0a12;
}
[data-bs-theme=dark] .navbar-light-static .navbar-collapse.show .nav-link {
  color: var(--bs-nav-link-color) !important;
}
[data-bs-theme=dark] .navbar-light-static .navbar-collapse.show .nav-link:hover, [data-bs-theme=dark] .navbar-light-static .navbar-collapse.show .nav-link:focus {
  color: var(--bs-nav-link-hover-color) !important;
}

[data-bs-theme=dark] header.header-sticky-on {
  border: 0;
}
[data-bs-theme=dark] header.header-sticky-on .navbar-light-static .nav-link {
  color: var(--bs-nav-link-color) !important;
}
[data-bs-theme=dark] header.header-sticky-on .navbar-light-static .nav-link:hover, [data-bs-theme=dark] header.header-sticky-on .navbar-light-static .nav-link:focus {
  color: var(--bs-nav-link-hover-color) !important;
}

.offcanvas-w-500px {
  width: 500px !important;
}

@media (max-width: 575.98px) {
  .offcanvas-w-500px {
    width: 300px !important;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
  overflow-x: hidden;
  z-index: 0;
  position: relative;
}

header {
  position: relative;
  z-index: 1020;
  background: var(--bs-body-bg);
}

a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

h1 > a, h2 > a, h4 > a, h5 > a, h6 > a, .h1 > a, .h2 > a, .h4 > a, .h5 > a, .h6 > a {
  color: var(--bs-gray-900);
}
h1 > a:hover, h2 > a:hover, h4 > a:hover, h5 > a:hover, h6 > a:hover, .h1 > a:hover, .h2 > a:hover, .h4 > a:hover, .h5 > a:hover, .h6 > a:hover {
  color: var(--bs-primary);
}

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

/* section {
  padding-top: 3.5rem;
  padding-bottom: 2.8rem;
}

@media (max-width: 767.98px) {
  section {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
} */
.bg-danger-soft-hover:hover, .bg-danger-soft-hover:active, .bg-danger-soft-hover:focus {
  background-color: rgba(214, 41, 62, 0.1) !important;
  color: #d6293e !important;
}

.bg-light-hover:hover, .bg-light-hover.active, .bg-light-hover:focus {
  background-color: var(--bs-light) !important;
}

.bg-overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

small,
.small {
  font-weight: 400;
}

.bg-blur {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}

.bg-facebook {
  background-color: #5d82d1;
  color: #fff;
  border: none;
}
.bg-facebook:hover, .bg-facebook:active, .bg-facebook:focus {
  background-color: #5475bc;
  color: #fff;
}

.text-facebook {
  color: #5d82d1;
}
.text-facebook:hover {
  color: #5475bc;
}

.bg-whatsapp {
  background-color: #25D366;
  color: #fff;
  border: none;
}
.bg-whatsapp:hover, .bg-whatsapp:active, .bg-whatsapp:focus {
  background-color: #21be5c;
  color: #fff;
}

.text-whatsapp {
  color: #25D366;
}
.text-whatsapp:hover {
  color: #21be5c;
}

.bg-instagram {
  background: #c22b72;
  color: #fff;
  border: none;
}
.bg-instagram:hover, .bg-instagram:active, .bg-instagram:focus {
  background-color: #af2767;
  color: #fff;
}

.text-instagram {
  color: #c22b72;
}
.text-instagram:hover {
  color: #af2767;
}

.bg-instagram-gradient {
  background: radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background: -webkit-radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: #fff;
  background-size: 120% 120%;
  background-position: right bottom;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  border: 0;
}
.bg-instagram-gradient:hover, .bg-instagram-gradient:active, .bg-instagram-gradient:focus {
  background: radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background: -webkit-radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: #fff;
  background-size: 100% 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-position: left bottom;
}

.text-instagram-gradient {
  color: transparent;
  background: radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background: -webkit-radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-size: 120% 120%;
}
.text-instagram-gradient:hover {
  color: transparent;
  background: radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background: -webkit-radial-gradient(circle at 20% 130%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 100% 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.bg-google {
  background-color: #3c7ff1;
  color: #fff;
  border: none;
}
.bg-google:hover, .bg-google:active, .bg-google:focus {
  background-color: #3672d9;
  color: #fff;
}

.text-google {
  color: #3c7ff1;
}
.text-google:hover {
  color: #3672d9;
}

.text-google-icon {
  background: conic-gradient(from -45deg, #ea4335 110deg, #4285f4 90deg 180deg, #34a853 180deg 270deg, #fbbc05 270deg) 73% 55%/150% 150% no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.bg-twitter {
  background-color: #40bff5;
  color: #fff;
  border: none;
}
.bg-twitter:hover, .bg-twitter:active, .bg-twitter:focus {
  background-color: #3aacdd;
  color: #fff;
}

.text-twitter {
  color: #40bff5;
}
.text-twitter:hover {
  color: #3aacdd;
}

.bg-linkedin {
  background-color: #238cc8;
  color: #fff;
  border: none;
}
.bg-linkedin:hover, .bg-linkedin:active, .bg-linkedin:focus {
  background-color: #207eb4;
  color: #fff;
}

.text-linkedin {
  color: #238cc8;
}
.text-linkedin:hover {
  color: #207eb4;
}

.bg-youtube {
  background-color: #ff0000;
  color: #fff;
  border: none;
}
.bg-youtube:hover, .bg-youtube:active, .bg-youtube:focus {
  background-color: #e60000;
  color: #fff;
}

.text-youtube {
  color: #ff0000;
}
.text-youtube:hover {
  color: #e60000;
}

.form-check .form-check-input, .form-check .form-check-label {
  cursor: pointer;
}

.form-check.form-check-md .form-check-input {
  height: 1.3em;
  width: 1.3em;
  margin-top: 0.15em;
}
.form-check.form-check-md .form-check-input,
.form-check.form-check-md .form-check-label {
  padding-left: 0.6em;
}

.form-switch.form-check-md .form-check-input {
  width: 2.4em;
}
.form-switch.form-check-lg .form-check-input {
  height: 2em;
  width: 4em;
  margin-top: 0.15em;
}
.form-switch.form-check-lg .form-check-input .form-check-input {
  width: 3.4em;
}

.form-check-light .form-check-input {
  background-color: var(--bs-gray-200);
  border: 0;
}

.form-check-light .form-check-input:checked {
  background-color: var(--bs-primary);
}

.form-fs-lg .form-control {
  font-weight: 500;
  font-size: 1.2rem;
}

.form-fs-md .form-control {
  font-weight: 500;
  font-size: 1rem;
}

.form-fs-sm .form-control {
  font-weight: 500;
  font-size: 0.875rem;
}

.form-control-inline .form-control-inline-text {
  font-family: "Google Sans Flex", system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.8;
  color: #0b0a12;
  margin: 0 1rem;
}
.form-control-inline .form-control {
  min-width: 200px;
  max-width: 700px;
  font-family: "Google Sans Flex", system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0b0a12;
  text-align: center;
  border: 0;
  border-radius: 0;
  border-bottom: 2px dashed #0b0a12;
  padding: 0;
  padding-left: 1rem;
  padding-right: 2rem;
  background-color: transparent !important;
}
.form-control-inline .form-control::-webkit-input-placeholder {
  color: #0b0a12;
}
.form-control-inline .form-control::-moz-placeholder {
  color: #0b0a12;
}
.form-control-inline .form-control:-ms-input-placeholder {
  color: #0b0a12;
}
.form-control-inline .form-control::-ms-input-placeholder {
  color: #0b0a12;
}
.form-control-inline .form-control::placeholder {
  color: #0b0a12;
}
.form-control-inline .choices .choices__inner {
  min-width: 200px;
  max-width: 500px;
  border: 0;
  border-bottom: 2px dashed #0b0a12;
  border-radius: 0;
  padding: 0;
  text-align: left;
  background: transparent;
}
.form-control-inline .choices .choices__inner .choices__item {
  font-family: "Google Sans Flex", system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0b0a12;
  text-align: center;
  padding-left: 1rem;
  padding-right: 2rem;
}
.form-control-inline .choices .choices__inner .choices__placeholder {
  color: #0b0a12 !important;
  opacity: 1;
}
.form-control-inline .choices .choices__list--dropdown {
  text-align: left;
}
.form-control-inline .choices.is-focused[data-type*=select-one] .choices__inner {
  border-color: #0b0a12 !important;
}
.form-control-inline .choices[aria-expanded=true] .choices__inner {
  border-radius: 0 !important;
}
.form-control-inline .choices[data-type*=select-one]:after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  margin-left: 0.35rem;
  font-weight: 900;
  font-size: 0.8rem;
  color: #0b0a12;
  background-image: none;
}

@media (max-width: 575.98px) {
  .form-control-inline .form-control-inline-text {
    font-size: 1.5rem;
    margin-top: 10px;
  }
  .form-control-inline .form-control {
    min-width: 0;
    font-size: 1.5rem;
    margin-top: 10px;
  }
  .form-control-inline .choices .choices__inner {
    min-width: 0;
  }
  .form-control-inline .choices .choices__inner .choices__item {
    font-size: 1.5rem !important;
  }
}
.form-control-border {
  width: 100%;
}
.form-control-border .form-label {
  background-color: var(--bs-mode);
  position: relative;
  z-index: 9;
  margin-left: 1rem;
  padding: 0 8px;
  border-radius: 0.5rem;
}

.form-control-bg-light .form-control {
  border-color: var(--bs-light) !important;
  background-color: var(--bs-light) !important;
}
.form-control-bg-light .form-control:focus {
  border-color: rgba(var(--bs-primary-rgb), 0.7) !important;
}

.form-border-bottom {
  border-bottom: 1px solid var(--bs-gray-300);
}
.form-border-bottom .form-control {
  border: none;
}

.form-icon-input {
  position: relative;
}
.form-icon-input .form-control {
  color: var(--bs-gray-900);
  background: var(--bs-light) !important;
  padding-left: 3.2rem;
}
.form-icon-input .form-control::-webkit-input-placeholder {
  color: var(--bs-gray-400);
}
.form-icon-input .form-control::-moz-placeholder {
  color: var(--bs-gray-400);
}
.form-icon-input .form-control:-ms-input-placeholder {
  color: var(--bs-gray-400);
}
.form-icon-input .form-control::-ms-input-placeholder {
  color: var(--bs-gray-400);
}
.form-icon-input .form-control::placeholder {
  color: var(--bs-gray-400);
}
.form-icon-input .form-icon {
  position: absolute;
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
  top: 50%;
  left: 0;
  padding-left: 1rem;
}

.form-border-transparent .form-control {
  color: var(--bs-gray-900);
  border: 1px solid transparent;
}
.form-border-transparent .form-control:focus {
  border-color: rgba(var(--bs-primary-rgb), 0.7);
}

.form-control-transparent .form-control {
  background: transparent !important;
}

.form-input-dropdown .form-control[aria-expanded=true] {
  border-radius: 0.5rem 0.5rem 0 0 !important;
  border-color: rgba(var(--bs-primary-rgb), 0.7);
}
.form-input-dropdown .form-control.form-control-lg[aria-expanded=true] {
  border-radius: 1rem 1rem 0 0 !important;
  border-color: rgba(var(--bs-primary-rgb), 0.7);
}
.form-input-dropdown .input-dropdown {
  border: 1px solid rgba(var(--bs-primary-rgb), 0.7) !important;
  border-radius: 0;
  border-bottom-left-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
  margin-top: -4px !important;
}

.bg-mode {
  background: var(--bs-mode) !important;
}

/* rtl:raw:
.glightbox-clean .gclose, .glightbox-modern .gclose{
  right: auto !important;
  left: 20px;
}
*/
.nav-search .dropdown-menu {
  top: 120%;
  visibility: hidden;
  opacity: 0;
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 300px;
  left: auto;
  right: 0;
}

.nav-search .dropdown-menu.show {
  top: 100%;
  visibility: visible;
  opacity: 1;
}

@media (max-width: 575.98px) {
  .nav-search .dropdown-menu {
    width: 100%;
  }
}
.back-top {
  cursor: pointer;
  position: fixed !important;
  bottom: 40px;
  right: 40px;
  display: block;
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background: var(--bs-primary);
  color: #fff;
  border-radius: 10%;
  width: 52px;
  height: 52px;
  line-height: 52px;
  text-align: center;
}
.back-top:before {
  content: "\f176";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.back-top:hover {
  background: var(--bs-link-hover-color);
  color: #fff;
}

@media (max-width: 767.98px) {
  .back-top {
    bottom: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
  .back-top:before {
    font-size: 0.6rem;
  }
}
@media (max-width: 575.98px) {
  .back-top {
    display: none;
  }
}
/* rtl:raw:
  .rtl-flip {
    transform: scaleX(-1);
  }
  .rtl-flip.bi:before{
    transform: inherit;
  }
*/
.bi.fa-fw {
  display: inline-block;
}

@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.position-lg-middle {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media (max-width: 991.98px) {
  .position-lg-middle {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translate(0);
            transform: translate(0);
    margin-top: -4rem;
    margin: auto;
  }
}
.btn-position-md-middle {
  position: absolute;
  left: 100%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media (max-width: 767.98px) {
  .btn-position-md-middle {
    position: absolute;
    left: 50%;
    top: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.fakepasswordicon.fa-eye:before {
  content: "\f06e" !important;
}

@media (min-width: 992px) {
  .top-100 {
    top: 100px;
  }
}

.form-fs-lg .form-guest-selector {
  font-weight: 500;
  font-size: 1.2rem;
  color: var(--bs-gray-900);
}

.form-fs-md .form-guest-selector {
  font-weight: 500;
  font-size: 1rem;
  color: var(--bs-gray-900);
}

.form-fs-sm .form-guest-selector {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--bs-gray-900);
}

.form-control-border .form-guest-selector {
  margin-top: -1.2rem;
  padding-top: 1rem !important;
  padding-bottom: 0.8rem !important;
  color: var(--bs-gray-900);
}

.form-guest-selector[aria-expanded=true] {
  border-radius: 0.5rem 0.5rem 0 0 !important;
  border-color: rgba(var(--bs-primary-rgb), 0.7);
}

.form-guest-selector.form-control-lg[aria-expanded=true] {
  border-radius: 1rem 1rem 0 0 !important;
  border-color: rgba(var(--bs-primary-rgb), 0.7);
}

.navbar-mobile {
  display: none;
}

@media (max-width: 575.98px) {
  .navbar-mobile {
    display: block;
    background-color: var(--bs-mode);
    border-radius: 1rem 1rem 0 0 !important;
    width: 100%;
    position: fixed;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1030;
    padding: 0.5rem 2rem;
    -webkit-box-shadow: 0 1rem 3rem rgba(29, 58, 83, 0.5);
            box-shadow: 0 1rem 3rem rgba(29, 58, 83, 0.5);
  }
  .navbar-mobile .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .navbar-mobile .nav-item {
    text-align: center;
  }
  .navbar-mobile .nav-item .nav-link {
    font-size: 1.3rem;
    color: var(--bs-body-color);
    padding: 0;
  }
  .navbar-mobile .nav-item .nav-link.active, .navbar-mobile .nav-item .nav-link:hover {
    color: var(--bs-navbar-active-color);
  }
  .navbar-mobile .nav-item .nav-link .nav-text {
    font-size: 0.6em;
    display: block;
  }
}
.sidebar.navbar-expand-sm .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-sm .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-md .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-md .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-lg .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-lg .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-xl .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-xl .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-xxl .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand-xxl .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand .sidebar-content .navbar-nav > .nav-item > .nav-link[data-bs-toggle=collapse][aria-expanded=true] {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 0.5rem;
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse] {
  position: relative;
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse]:before, .sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  content: "";
  background: var(--bs-gray-800);
  border-radius: 1px;
  display: block;
  position: absolute;
  height: 2px;
  width: 7px;
  margin: auto 12px;
  -webkit-transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out;
  transition: transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1), background 0.2s ease-in-out, -webkit-transform 0.3s cubic-bezier(0.8, 0.2, 0.5, 0.1);
  top: 0;
  bottom: 0;
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse]:before {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  right: 0px;
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse]:after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  right: 5px;
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:before {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  background: var(--bs-primary);
}
.sidebar.navbar-expand .sidebar-content .nav-item [data-bs-toggle=collapse][aria-expanded=true]:after {
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  background: var(--bs-primary);
}

.top-bar {
  position: relative;
  padding: 1.6rem;
  border-bottom: 1px solid var(--bs-border-color);
}

@media (max-width: 991.98px) {
  .top-bar .navbar-expand-lg .navbar-collapse {
    padding: 0 10px;
  }
}
.page-content {
  position: relative;
  height: 100%;
  display: block;
}
.page-content .page-content-wrapper {
  min-height: 86vh;
  margin: 1.5rem 1.5rem;
  background: var(--bs-body-bg);
  border-radius: 6px;
  height: 100%;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

@media (min-width: 1200px) {
  .page-content {
    margin-left: 16.25rem;
  }
}
@media (max-width: 575.98px) {
  .page-content .page-content-wrapper {
    margin: 1rem 0;
    padding: 1rem;
  }
}
.text-primary-hover a {
  color: #96969a;
}
.text-primary-hover a:hover {
  color: var(--bs-primary) !important;
}

a.text-primary-hover, button.text-primary-hover {
  color: #747579;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a.text-primary-hover:hover, button.text-primary-hover:hover {
  color: var(--bs-primary) !important;
}

.text-primary-hover li {
  color: var(--bs-gray-300);
}
.text-primary-hover li:hover {
  color: var(--bs-primary) !important;
}

.form-fs-lg .choices .choices__inner {
  font-weight: 500;
  font-size: 1.2rem !important;
}

.form-fs-md .choices .choices__inner {
  font-weight: 500;
  font-size: 1rem;
}

.form-fs-sm .choices .choices__inner {
  font-weight: 500;
  font-size: 0.875rem;
}

.form-control-border .choices {
  margin-top: -1.2rem;
}
.form-control-border .choices .choices__inner {
  color: var(--bs-gray-900);
  padding-top: 1rem !important;
  padding-bottom: 0.8rem !important;
}
.form-control-border .choices .choices__list--dropdown {
  text-align: left;
}
.form-control-border .choices[data-type*=select-one]:after {
  display: none;
}
.form-control-border .choices .choices__placeholder {
  opacity: 0.5;
}

.form-border-bottom {
  border-bottom: 1px solid var(--bs-gray-300);
}
.form-border-bottom .choices .choices__inner {
  border: none;
}

.form-control-bg-light .choices .choices__inner {
  color: var(--bs-gray-900);
  border: 1px solid var(--bs-light);
  background-color: var(--bs-light) !important;
}

.form-size-lg .choices.is-open[data-type*=select-one] .choices__inner, .form-size-lg .choices.is-open[data-type*=select-multiple] .choices__inner {
  border-color: rgba(var(--bs-primary-rgb), 0.7) !important;
  border-radius: 1rem 1rem 0 0 !important;
}
.form-size-lg .choices .choices__inner {
  font-size: 1rem;
  border-radius: 1rem;
  min-height: calc(1.25em + 1.6rem + 2px) !important;
  padding: 0.8rem 1.5rem !important;
  line-height: 1.5 !important;
}
.form-size-lg .choices.is-flipped[data-type*=select-one] .choices__inner, .form-size-lg .choices.is-flipped[data-type*=select-multiple] .choices__inner {
  border-radius: 0 0 1rem 1rem !important;
}

.form-icon-input .choices .choices__inner {
  color: var(--bs-gray-900);
  background-color: var(--bs-light);
  padding-left: 3.2rem !important;
}
.form-icon-input .choices[data-type*=select-one]:after {
  display: none;
}

.form-border-transparent .choices .choices__inner {
  color: var(--bs-gray-900);
  border: 1px solid transparent;
}

.form-control-transparent .choices .choices__inner {
  background: transparent;
}

.form-mix-icon-input {
  position: relative;
}
.form-mix-icon-input .choices .choices__inner {
  padding-left: 2.7rem !important;
  padding-right: 2.5rem !important;
}
.form-mix-icon-input .choices[data-type*=select-one]:after {
  display: none;
}

/* rtl:raw:
.tiny-slider .tns-controls [data-controls]{
  transform: scaleX(-1) translateY(-50%);
}
.tiny-slider.arrow-creative .tns-controls [data-controls]{
  transform: scaleX(1) translateY(-50%);
}
.tns-visually-hidden {
  right: -10000em !important;
  left: 0 !important;
}
*/

.splide-thumb {
  margin-top: 10px;
}

.splide-thumb > .splide__track > .splide__list > .splide__slide.is-active {
  -webkit-box-shadow: 0px 0px 0px 5px inset var(--bs-primary);
          box-shadow: 0px 0px 0px 5px inset var(--bs-primary);
  border: none;
}

.splide--nav > .splide__track > .splide__list > .splide__slide {
  border-radius: 5px;
  border: none;
}

.noUi-connect {
  background: var(--bs-primary);
}

.noUi-target {
  background: rgba(var(--bs-primary-rgb), 0.1);
  border-radius: 4px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.noUi-horizontal {
  height: 5px;
}
.noUi-horizontal .noUi-handle {
  width: 20px;
  height: 20px;
  right: -17px;
  top: -7px;
  cursor: e-resize;
  border-radius: 100%;
  border: 5px solid #fff;
  background: var(--bs-primary);
  -webkit-box-shadow: 0px 0px 0px 1px rgb(var(--bs-primary-rgb));
          box-shadow: 0px 0px 0px 1px rgb(var(--bs-primary-rgb));
}
.noUi-horizontal .noUi-handle:before, .noUi-horizontal .noUi-handle:after {
  display: none;
}

.flatpickr-calendar {
  background: var(--bs-mode);
  border: 1px solid rgba(var(--bs-primary-rgb), 0.7) !important;
  -webkit-box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
          box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.1);
  margin-top: -4px;
  border-radius: 0.5rem;
  border-radius: 0;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
  display: none !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background: var(--bs-mode);
  border-color: var(--bs-gray-200);
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  border-top-color: var(--bs-body-bg);
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after, .flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: var(--bs-body-bg);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #85878a;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #85878a;
}

.flatpickr-calendar.arrowBottom {
  margin-top: 1px;
}

.flatpickr-months {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  border-radius: 0.5rem;
  margin: 3px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  padding: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
  height: 12px;
  width: 12px;
}
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
  background: rgba(var(--bs-primary-rgb), 0.1);
}
.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--bs-primary);
}

.flatpickr-day, span.flatpickr-weekday, .flatpickr-months .flatpickr-month {
  color: var(--bs-gray-400);
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
  color: var(--bs-gray-300);
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  fill: var(--bs-gray-400);
}

.flatpickr-day.today, .flatpickr-day.today:hover, .flatpickr-day.today:focus {
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--bs-primary);
  border-color: rgba(var(--bs-primary-rgb), 0.1);
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: var(--bs-primary);
  color: #fff;
  border-color: var(--bs-primary);
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
  background: var(--bs-light);
  border-color: var(--bs-light);
  color: var(--bs-gray-400);
}

.flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange {
  background: rgba(var(--bs-primary-rgb), 0.1);
  color: var(--bs-primary);
  border-color: rgba(var(--bs-primary-rgb), 0.1);
}

.flatpickr-day.inRange {
  -webkit-box-shadow: -5px 0 0 var(--bs-light), 5px 0 0 var(--bs-light);
          box-shadow: -5px 0 0 var(--bs-light), 5px 0 0 var(--bs-light);
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 var(--bs-primary);
          box-shadow: -10px 0 0 var(--bs-primary);
}

.flatpickr-input:disabled, .flatpickr-input[readonly] {
  background-color: var(--bs-body-bg);
}

.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
  background: var(--bs-light);
}

.flatpickr-calendar.hasTime .flatpickr-time {
  border-top-color: var(--bs-gray-200);
}

.flatpickr-current-month {
  font-size: 120%;
  padding: 9.48px 0 0 0;
  border-radius: 0.5rem;
}

.flatpickr-time input {
  color: var(--bs-gray-400);
}
.flatpickr-time .flatpickr-am-pm {
  color: var(--bs-gray-400);
}

@media (max-width: 575.98px) {
  .flatpickr-calendar.hasTime {
    width: 60%;
    min-width: 60%;
    max-width: 60%;
  }
}
.form-control-lg.flatpickr.active {
  border-radius: 1rem 1rem 0 0 !important;
}

.flatpickr.active {
  border-color: rgba(var(--bs-primary-rgb), 0.7) !important;
}

.form-fs-lg .flatpickr {
  font-weight: 500;
  font-size: 1.2rem;
}

.form-fs-md .flatpickr {
  font-weight: 500;
  font-size: 1rem;
}

.form-fs-sm .flatpickr {
  font-weight: 500;
  font-size: 0.875rem;
}

.form-control-border .flatpickr {
  margin-top: -1.2rem;
  padding-top: 1rem !important;
  padding-bottom: 0.8rem !important;
  color: var(--bs-gray-900) !important;
}

.form-control-bg-light .flatpickr {
  border: 1px solid transparent;
  background: var(--bs-light) !important;
  color: var(--bs-gray-900);
}

.form-border-bottom {
  border-bottom: 1px solid var(--bs-gray-300);
}
.form-border-bottom .flatpickr {
  border: none;
}

.flatpickr-input.active {
  border-radius: 0.5rem 0.5rem 0 0 !important;
}

[data-bs-theme=dark] {
  --bs-light: #2a2c31;
  --bs-gray-200: #464950;
  --bs-gray-300: #5f5f68;
  --bs-gray-400: #a1a1a8;
  --bs-gray-500: #bfc0c9;
  --bs-gray-600: #c5c6cc;
  --bs-gray-700: #ffffffb3;
  --bs-gray-800: #ffffffd9;
  --bs-gray-900: #fff;
  --bs-body-bg: #222529;
  --bs-body-bg-rgb: #222529;
  --bs-body-color: #b0b0b8;
  --bs-primary: #8e85e6 !important;
  --bs-primary-rgb: 142, 133, 230;
  --bs-mode:#191b1d;
  --bs-heading-color: var(--bs-gray-900);
  --bs-border-color: rgba(255, 255, 255, 0.07);
  --bs-link-color:#8e85e6;
  --bs-link-color-rgb: 142, 133, 230 !important;
  --bs-link-hover-color-rgb: 122, 109, 235;
  --bs-link-hover-color:#7a6deb;
  --bs-nav-pills-link-active-bg: #8e85e6 !important;
}
[data-bs-theme=dark] body, [data-bs-theme=dark] p, [data-bs-theme=dark] ul, [data-bs-theme=dark] ol {
  color: var(--bs-body-color);
}
[data-bs-theme=dark] .navbar {
  --bs-navbar-color: var(--bs-gray-600);
  --bs-navbar-hover-color: var(--bs-primary);
  --bs-navbar-disabled-color: var(--bs-gray-400);
  --bs-navbar-active-color: var(--bs-primary);
}
[data-bs-theme=dark] .navbar-dark {
  --bs-navbar-color: var(--bs-gray-900);
  --bs-navbar-hover-color: var(--bs-primary) !important;
  --bs-navbar-active-color: var(--bs-primary) !important;
}
[data-bs-theme=dark] .navbar-light-static .theme-icon-active svg {
  fill: var(--bs-gray-900);
}
[data-bs-theme=dark] .navbar-light-static .theme-icon-active .nav-link.active svg {
  fill: var(--bs-primary);
}
[data-bs-theme=dark] .nav {
  --bs-nav-link-color: var(--bs-gray-600);
  --bs-nav-link-hover-color: var(--bs-primary);
}
[data-bs-theme=dark] .dropdown-menu {
  --bs-dropdown-bg: var(--bs-mode);
  --bs-dropdown-link-hover-color: var(--bs-primary);
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-dropdown-link-disabled-color: var(--bs-gray-200);
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid var(--bs-border-color);
}
[data-bs-theme=dark] .alert-primary {
  --bs-alert-bg: rgba(81, 67, 217, .05);
  --bs-alert-border-color: rgba(81, 67, 217, .25);
  --bs-alert-color: rgba(81, 67, 217, 0.8);
}
[data-bs-theme=dark] .alert-white {
  --bs-alert-bg: rgba(255, 255, 255, .05);
  --bs-alert-border-color: rgba(255, 255, 255, .25);
  --bs-alert-color: rgba(255, 255, 255, 0.8);
}
[data-bs-theme=dark] .alert-secondary {
  --bs-alert-bg: rgba(133, 135, 138, .05);
  --bs-alert-border-color: rgba(133, 135, 138, .25);
  --bs-alert-color: rgba(133, 135, 138, 0.8);
}
[data-bs-theme=dark] .alert-success {
  --bs-alert-bg: rgba(12, 188, 135, .05);
  --bs-alert-border-color: rgba(12, 188, 135, .25);
  --bs-alert-color: rgba(12, 188, 135, 0.8);
}
[data-bs-theme=dark] .alert-info {
  --bs-alert-bg: rgba(23, 162, 184, .05);
  --bs-alert-border-color: rgba(23, 162, 184, .25);
  --bs-alert-color: rgba(23, 162, 184, 0.8);
}
[data-bs-theme=dark] .alert-warning {
  --bs-alert-bg: rgba(247, 195, 46, .05);
  --bs-alert-border-color: rgba(247, 195, 46, .25);
  --bs-alert-color: rgba(247, 195, 46, 0.8);
}
[data-bs-theme=dark] .alert-danger {
  --bs-alert-bg: rgba(214, 41, 62, .05);
  --bs-alert-border-color: rgba(214, 41, 62, .25);
  --bs-alert-color: rgba(214, 41, 62, 0.8);
}
[data-bs-theme=dark] .alert-light {
  --bs-alert-bg: rgba(245, 245, 246, .05);
  --bs-alert-border-color: rgba(245, 245, 246, .25);
  --bs-alert-color: rgba(245, 245, 246, 0.8);
}
[data-bs-theme=dark] .alert-dark {
  --bs-alert-bg: rgba(11, 10, 18, .05);
  --bs-alert-border-color: rgba(11, 10, 18, .25);
  --bs-alert-color: rgba(11, 10, 18, 0.8);
}
[data-bs-theme=dark] .alert-orange {
  --bs-alert-bg: rgba(253, 126, 20, .05);
  --bs-alert-border-color: rgba(253, 126, 20, .25);
  --bs-alert-color: rgba(253, 126, 20, 0.8);
}
[data-bs-theme=dark] .alert-mode {
  --bs-alert-bg: rgba(255, 255, 255, .05);
  --bs-alert-border-color: rgba(255, 255, 255, .25);
  --bs-alert-color: rgba(255, 255, 255, 0.8);
}
[data-bs-theme=dark] .btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: var(--bs-link-hover-color);
  --bs-btn-active-bg: var(--bs-link-hover-color);
  --bs-btn-active-border-color: var(--bs-link-hover-color);
  --bs-btn-disabled-bg: var(--bs-primary);
}
[data-bs-theme=dark] .btn-link {
  --bs-link-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-active-color: var(--bs-link-hover-color);
}
[data-bs-theme=dark] .btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}
[data-bs-theme=dark] .modal {
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-footer-border-color: var(--bs-border-color);
}
[data-bs-theme=dark] .table-light {
  --bs-table-bg: var(--bs-light);
  --bs-table-color: var(--bs-gray-900);
}
[data-bs-theme=dark] .offcanvas, [data-bs-theme=dark] .offcanvas-xxl, [data-bs-theme=dark] .offcanvas-xl, [data-bs-theme=dark] .offcanvas-lg, [data-bs-theme=dark] .offcanvas-md, [data-bs-theme=dark] .offcanvas-sm {
  --bs-offcanvas-bg: var(--bs-body-bg);
}
[data-bs-theme=dark] .nav-pills {
  --bs-nav-pills-link-active-bg: var(--bs-primary);
}
[data-bs-theme=dark] .btn-primary-soft {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}
[data-bs-theme=dark] .btn-primary-soft:hover, [data-bs-theme=dark] .btn-primary-soft:focus {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
[data-bs-theme=dark] .fill-primary {
  fill: var(--bs-primary) !important;
}
[data-bs-theme=dark] .bg-light {
  background-color: var(--bs-light) !important;
}
[data-bs-theme=dark] .border-light {
  border-color: var(--bs-light) !important;
}
[data-bs-theme=dark] .bg-body {
  background-color: var(--bs-body-bg) !important;
}
[data-bs-theme=dark] .shadow, [data-bs-theme=dark] .shadow-lg, [data-bs-theme=dark] .shadow-sm {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
[data-bs-theme=dark] .navbar-nav .dropdown .dropdown-submenu:hover > .dropdown-menu {
  -webkit-box-shadow: none;
          box-shadow: none;
}
[data-bs-theme=dark] .btn-close {
  -webkit-filter: invert(1) grayscale(100%) brightness(300%);
          filter: invert(1) grayscale(100%) brightness(300%);
}
[data-bs-theme=dark] .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
[data-bs-theme=dark] .text-primary-hover a {
  color: var(--bs-gray-600);
}
[data-bs-theme=dark] .text-primary-hover li {
  color: var(--bs-gray-600) !important;
}

[data-bs-theme=dark] .dark-mode-item {
  display: inline-block !important;
}
[data-bs-theme=dark] .light-mode-item {
  display: none !important;
}

/*User CSS*/

/* --- theme.css --- */
/* Theme layer placeholder — stack lives in style.css + custom.css. Purge/build expects this file. */

/* --- custom.css --- */
/* ===================================================================
   ZappTrip — Production CSS (Uber-level restraint: ~90% neutral UI)
   ===================================================================
   Neutrals: surfaces, borders, shadows, chrome.
   Brand (#0B5FFF): primary solid CTAs, focus rings, hero accent only.
   =================================================================== */

/* ==== Design Tokens ==== */
:root {
  --zapp-primary:    #0f172a;
  --zapp-primary-dark: #0f1011;
  --zapp-primary-rgb: 11, 95, 255;
  /* Semantic status (sparingly) */
  --zapp-accent:     #22C55E;
  --zapp-violet:     #64748B;
  --zapp-orange:     #64748B;
  --zapp-rose:       #64748B;
  --zapp-cyan:       #64748B;
  --zapp-dark:       #0F172A;
  --zapp-white:      #FFFFFF;
  --zapp-light:      #F8FAFC;
  --zapp-surface-muted: #F8FAFC;
  --zapp-surface-hover: #F1F5F9;
  --zapp-surface-raised: #EEF2F6;
  --zapp-muted:      #64748B;
  --zapp-border:     #E2E8F0;
  --zapp-text:       #0F172A;
  --zapp-radius:     12px;
  /* Main content column — hero (.zapp-hero-shell) is intentionally excluded below */
  --zapp-container-max: 96rem;
  --zapp-font-italic: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --section-py:      clamp(48px, 5vw, 64px);
  /* Subtle neutral gradients (surfaces only) */
  --gradient-surface:      linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  --gradient-surface-soft: linear-gradient(140deg, #F8FAFC 0%, #F1F5F9 100%);
  --gradient-surface-deep: linear-gradient(180deg, #F8FAFC 0%, #EEF2F6 100%);
  --gradient-neutral-deep: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
  /* Brand gradient: CTAs / pay buttons only */
  --gradient-brand:  linear-gradient(135deg, #0B5FFF 0%, #0858f0 100%);
  --gradient-warm:   var(--gradient-surface-soft);
  --gradient-fresh:  linear-gradient(135deg, #E2E8F0 0%, #CBD5E1 100%);
  --zapp-navbar-offset: 78px;
  --zapp-userbar-offset: 0px;
  --zapp-main-offset: 92px;
  /* Typography scale (rem): 14 / 16 / 18 / 24 / 32 — root 16px for readability */
  --ds-text-sm:   0.875rem;
  --ds-text-base: 1rem;
  --ds-text-md:   1.125rem;
  --ds-text-lg:   1.5rem;
  --ds-text-xl:   2rem;
  --ds-heading-color: #070d18;
  --ds-leading-tight:   1.22;
  --ds-leading-snug:    1.35;
  --ds-leading-normal:  1.5;
  --ds-leading-relaxed: 1.6;
  --ds-weight-normal:   400;
  --ds-weight-medium:   500;
  --ds-weight-semibold: 500;
  --ds-weight-bold:     500;
  --ds-font-sans: 'Google Sans Flex', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --ds-font-heading: var(--ds-font-sans);
  --ds-font-body: var(--ds-font-sans);
  --ds-shadow-soft:  0 4px 20px rgba(0, 0, 0, 0.05);
  --ds-shadow-md:    0 10px 40px rgba(0, 0, 0, 0.08);
  --ds-radius-sm:    8px;
  --ds-radius-md:    12px;
  --ds-radius-lg:    16px;
  --ds-ease:         ease-in-out;
  --ds-duration:     0.25s;
  /* Premium cards — soft glass + neumorphic inset highlight */
  --zapp-card-pad:     1.5rem;
  --zapp-card-pad-lg:  1.875rem;
  --zapp-card-radius:  18px;
  --zapp-card-radius-lg: 22px;
  --zapp-card-bg:      rgba(255, 255, 255, 0.9);
  --zapp-card-bg-solid: #ffffff;
  --zapp-card-border:  rgba(226, 232, 240, 0.98);
  --zapp-card-blur:    saturate(180%) blur(14px);
  --zapp-card-icon-bg: rgba(241, 245, 249, 0.92);
  --zapp-card-shadow:
    0 1px 0 rgba(255, 255, 255, 0.88) inset,
    0 2px 4px rgba(15, 23, 42, 0.03),
    0 8px 32px rgba(15, 23, 42, 0.07);
  --zapp-card-shadow-hover:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 4px 8px rgba(15, 23, 42, 0.04),
    0 20px 50px rgba(15, 23, 42, 0.12);
  /* Buttons — see zapp-buttons.css */
  --zapp-btn-radius: 14px;
  --zapp-btn-radius-xl: 10px;
  --zapp-btn-pad-y: 0.65rem;
  --zapp-btn-pad-x: 1.35rem;
  --zapp-btn-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --zapp-btn-dur: 0.2s;
  --zapp-btn-dur-fast: 0.1s;
  --zapp-btn-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
  --zapp-btn-shadow-hover: 0 12px 32px rgba(15, 23, 42, 0.14);
  --zapp-btn-primary-glow: 0 8px 28px rgba(11, 95, 255, 0.38);
  /* Micro-interactions — see zapp-micro.css */
  --zapp-micro-dur: 200ms;
  --zapp-micro-dur-fast: 120ms;
  --zapp-micro-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

:root {
  --mask-from-color: black;
  --mask-to-color: transparent;

  --mask-from-position: 0%;
  --mask-to-position: 100%;

  /* Shadow Variables */
  --tw-inset-shadow: 0 0 #0000;
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;

  /* Main Card Shadow */
  --card-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.02),
    0 6px 20px rgba(0, 0, 0, 0.08);
}

/* =========================
   Bottom Fade Mask
========================= */

/* =========================
   Right Fade Mask
========================= */

/* =========================
      Card Shadow Utility
    ========================= */
    .shadow-md-for-card {
      box-shadow:
        var(--tw-inset-shadow),
        var(--tw-ring-offset-shadow),
        var(--tw-ring-shadow),
        var(--card-shadow);
    }

/* Bootstrap container — same horizontal inset as navbar + all sections (via --bs-gutter-x) */
.container {
  max-width: var(--zapp-container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  --bs-gutter-x: 1.875rem;
}

.container-fluid {
  --bs-gutter-x: 1.875rem;
}

/* ==== Reset / Global ==== */
* { box-sizing: border-box; }
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}
body {
  font-family: var(--ds-font-body);
  font-size: var(--ds-text-base);
  font-weight: var(--ds-weight-normal);
  line-height: var(--ds-leading-normal);
  color: var(--zapp-text);
  background: var(--zapp-light);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings + Bootstrap utilities — Google Sans Flex site-wide */
h1, h2, h4, h5, h6,
.h1, .h2, .h4, .h5, .h6 {
  font-family: var(--ds-font-heading) !important;
}

/* Italic / emphasis — Playfair Display (skip icon <i> with Lucide / FA / Bootstrap Icons) */
main {
  min-height: calc(100vh - var(--zapp-main-offset, 92px));
  font-size: var(--ds-text-base);
  line-height: var(--ds-leading-normal);
}
main p,
main ul {
  line-height: var(--ds-leading-relaxed);
}
main p {
  margin-top: 0;
  margin-bottom: 1rem;
}
main li + li {
  margin-top: 0.35em;
}
main strong {
  font-weight: var(--ds-weight-semibold);
  color: var(--ds-heading-color);
}
main small,
main .small {
  font-size: var(--ds-text-sm);
  line-height: var(--ds-leading-normal);
}
/* Semantic heading scale — h1 > h2; responsive clamp (fixes former h2=3rem bug) */
main h1:not(.hero-headline):not(.srp-plan-screen-title),
main .h1:not(.hero-headline):not(.srp-plan-screen-title),
.page-hero-title {
  font-family: var(--ds-font-heading);
  font-size: clamp(1.625rem, 1.12rem + 1.55vw, 2.25rem);
  font-weight: 500;
  line-height: var(--ds-leading-tight);
  letter-spacing: 0.02em;
  color: var(--ds-heading-color);
  margin-top: 0;
  margin-bottom: 0.5em;
}

.page-home h1,h2 {
  font-size: 3rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--ds-heading-color) !important;
  margin-top: 0 !important;
  margin-bottom: 0.5em !important;
}
/* Search “Plan your ride” — compact app bar title, not page-scale h1 */
main h1.srp-plan-screen-title {
  font-size: clamp(1.05rem, 0.92rem + 0.45vw, 1.35rem);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--ds-heading-color, #0f172a);
  margin-top: 0;
  margin-bottom: 0;
}

main h2:not(.hero-headline):not(.srp-results-heading):not(.accordion-header):not(.modal-title):not(.h3):not(.h4):not(.h5):not(.h6),
main .h2:not(.hero-headline):not(.srp-results-heading):not(.accordion-header):not(.modal-title):not(.h3):not(.h4):not(.h5):not(.h6) {
  font-family: var(--ds-font-heading);
  font-size: clamp(1.3125rem, 1.05rem + 1vw, 1.6875rem);
  font-weight: 500 !important;
  line-height: var(--ds-leading-snug);
  letter-spacing: 0.015em;
  color: var(--ds-heading-color);
  margin-top: 0;
  margin-bottom: 0.45em;
}
main h4,
main .h4 {
  font-family: var(--ds-font-heading);
  font-size: var(--ds-text-base);
  font-weight: var(--ds-weight-semibold);
  line-height: var(--ds-leading-snug);
  letter-spacing: 0.01em;
  color: var(--ds-heading-color);
  margin-top: 0;
  margin-bottom: 0.35em;
}
main h5,
main .h5 {
  font-family: var(--ds-font-body);
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-weight-semibold);
  line-height: var(--ds-leading-normal);
  letter-spacing: 0.02em;
  color: var(--zapp-text);
  margin-top: 0;
  margin-bottom: 0.35em;
}
main h6,
main .h6 {
  font-family: var(--ds-font-body);
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-weight-medium);
  line-height: var(--ds-leading-normal);
  letter-spacing: 0.04em;
  color: var(--zapp-muted);
  margin-top: 0;
  margin-bottom: 0.3em;
}
body:not(.page-home) main {
  padding-top: calc(var(--zapp-main-offset, 92px) + 10px);
}
body.page-home main {
  padding-top: 0;
}
a { text-decoration: none; }
img { max-width: 100%; height: auto; }

/* Thin Lucide icons globally */
.lucide, [data-lucide] svg { stroke-width: 1 !important; }

/* Kill any leftover animation classes */
.zapp-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
#sticky-space { display: none !important; height: 0 !important; }

/* ==== Utility ==== */


/* ================================================================
   HEADER — Premium pill navbar
   ================================================================ */
.zapp-navbar {
  position: fixed;
  top: 16px;
  left: 0;
  right: 0;
  z-index: 1100;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.zapp-navbar .navbar {
  padding: 0;
}

.zapp-navbar .container {
  margin-left: auto;
  margin-right: auto;
}

.zapp-nav-frame {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 8px 10px 8px 16px;
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(226,232,240,0.95);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.07);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.zapp-brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

header .navbar-brand-item,
.zapp-navbar-inner .navbar-brand-item {
  height: 38px !important;
  width: auto;
}

.zapp-navbar-inner {
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.zapp-navbar-inner .navbar { padding: 0; }

.zapp-nav-shell {
  position: relative;
  left: auto;
  transform: none;
  margin-left: 6px;
  flex: 1 1 auto;
  min-width: 0;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.zapp-nav-center {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  flex: 1 1 auto;
}

nav{
  font-family: var(--ds-font-sans) !important;  
}

.zapp-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 0;
  color: #374151 !important;
  text-decoration: none;
  font-family: var(--ds-font-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.01em;
  background: transparent !important;
  transition: color 0.18s ease;
}

.zapp-nav-link:hover,
.zapp-nav-link:focus {
  color: var(--zapp-dark) !important;
  background: transparent !important;
  transform: none;
  box-shadow: none;
}

.zapp-nav-link.is-active {
  color: var(--zapp-dark) !important;
  font-weight: 500;
}

.dropdown-toggle::after {
  margin-left: 0.35rem;
  vertical-align: 0.12em;
}

.zapp-nav-link svg,
.zapp-nav-link i svg {
  stroke: currentColor !important;
  fill: none !important;
}

.zapp-profile-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
}

.zapp-profile-trigger::after {
  display: none !important;
}

.nav-profile-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 8px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(145deg, #e2e8f0 0%, #cbd5e1 100%);
  color: var(--zapp-dark);
  font-size: 0.75rem;
  font-weight: 500;
  border: 2px solid #ffffff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.nav-profile-avatar-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px !important;
  z-index: 1;
}

.nav-profile-avatar-initials {
  position: relative;
  z-index: 0;
  line-height: 1;
}

.nav-profile-avatar--has-photo .nav-profile-avatar-initials {
  opacity: 0;
  pointer-events: none;
}

.nav-profile-name {
  display: none !important;
}

.zapp-nav-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 0;
  flex-shrink: 0;
}

.zapp-nav-utility {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #334155 !important;
  text-decoration: none;
  font-family: var(--ds-font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.zapp-nav-utility:hover,
.zapp-nav-utility:focus {
  color: var(--zapp-dark) !important;
  opacity: 1;
}

.zapp-nav-utility i,
.zapp-nav-utility svg {
  stroke: currentColor !important;
}

.zapp-nav-utility span {
  color: inherit;
}

.zapp-nav-signup,
.zapp-nav-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 102px;
  padding: 10px 22px;
  border-radius: 8px;
  border: 1px solid var(--zapp-primary);
  background: var(--zapp-primary);
  color: #ffffff !important;
  text-decoration: none;
  font-family: var(--ds-font-sans);
  font-size: 0.9375rem;
  font-weight: 500;
  box-shadow: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.zapp-nav-signup:hover,
.zapp-nav-btn-solid:hover {
  color: #ffffff !important;
  border-color: var(--zapp-primary-dark);
  background: var(--zapp-primary-dark);
  transform: translateY(-1px);
}

.zapp-nav-login-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,0.95);
  background: #fff;
  color: #0f172a !important;
  box-shadow: 0 6px 16px rgba(15,23,42,0.05);
}

.zapp-nav-login-btn:hover {
  color: var(--zapp-dark) !important;
  border-color: #cbd5e1;
  background: var(--zapp-surface-hover);
}

.zapp-more-menu {
  margin-top: 100px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,0.95);
  box-shadow: 0 18px 40px rgba(15,23,42,0.08);
}

.zapp-more-menu .dropdown-item {
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 0.875rem;
  font-weight: 400;
  color: #334155;
}

.zapp-more-menu .dropdown-item:hover {
  background: var(--zapp-surface-hover);
  color: var(--zapp-dark);
}

/* === Reference-style navbar: full-width white bar, centered gray pill, round icon actions === */
.zapp-navbar.zapp-navbar--ref {
  top: 0;
  left: 0;
  right: 0;
  background: #ffffff !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 2px 20px rgba(15, 23, 42, 0.05);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.zapp-navbar--ref .zapp-navbar-ref-nav {
  position: relative;
  width: 100%;
}

.zapp-navbar-ref-container {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  min-height: 72px;
  padding-top: 12px;
  padding-bottom: 12px;
}

/* Desktop: Ceepii-style alignment — equal side tracks so the pill stays optical-center */
@media (min-width: 992px) {
  .zapp-navbar-ref-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: clamp(18px, 2.5vw, 36px);
    row-gap: 0;
  }

  .zapp-navbar-ref-brand {
    grid-column: 1;
    justify-self: start;
    align-self: center;
  }

  .zapp-nav-ref-pill {
    grid-column: 2;
    justify-self: center;
    align-self: center;
    position: static;
    left: auto;
    transform: none;
    z-index: auto;
    max-width: min(520px, calc(100vw - 420px));
    padding: 6px 10px;
    border-radius: 9999px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background: #ffffff;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.9) inset,
      0 10px 36px rgba(15, 23, 42, 0.07),
      0 2px 8px rgba(15, 23, 42, 0.04);
  }

  .zapp-navbar-ref-right {
    grid-column: 3;
    justify-self: end;
    align-self: center;
    margin-left: 0;
    gap: clamp(10px, 1.5vw, 20px);
  }

  /* Beats Bootstrap `.navbar-expand-lg .navbar-collapse { display:flex!important }` so the mobile sheet never appears on desktop */
  .zapp-navbar--ref .navbar.navbar-expand-lg .navbar-collapse.zapp-mobile-nav-collapse,
  .zapp-navbar--ref .navbar.navbar-expand-lg .navbar-collapse.zapp-mobile-nav-collapse.collapse.show {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
    border: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
  }
}

.zapp-navbar-ref-right {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.zapp-navbar--ref .navbar-brand {
  margin-right: 0;
}

.zapp-navbar--ref .zapp-navbar-ref-brand {
  position: relative;
  z-index: 2;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
}

/* Desktop wordmark — previous design: italic logotype + period */
.zapp-brand-wordmark {
  font-family: var(--zapp-font-italic);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.35rem, 1.15rem + 0.55vw, 1.65rem);
  color: #0a0a0a;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

.zapp-brand-wordmark-dot {
  font-style: italic;
  font-weight: 500;
}

.zapp-nav-ref-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 6px;
  background: #ffffff;
  border-radius: 12px;
}

.zapp-nav-ref-list {
  flex-direction: row !important;
  align-items: center;
  gap: 2px;
  margin: 0 !important;
  padding: 0 4px;
}

.zapp-nav-ref-list .nav-item {
  list-style: none;
}

.zapp-nav-ref-link {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  color: #0f172a !important;
  font-family: var(--ds-font-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 0.15s ease, color 0.15s ease;
}

.zapp-nav-ref-link:hover,
.zapp-nav-ref-link:focus {
  color: #0f172a !important;
  background: rgba(255, 255, 255, 0.75) !important;
  font-weight: 500 !important;
}

.zapp-nav-ref-link.dropdown-toggle.show,
.zapp-nav-ref-link[aria-expanded="true"] {
  font-weight: 500 !important;
}

.zapp-nav-ref-link.dropdown-toggle::after {
  display: inline-block !important;
  margin-left: 0.28rem;
  vertical-align: 0.12em;
  opacity: 0.65;
  border-top-color: #334155;
}

.zapp-nav-ref-dd {
  margin-top: 10px;
}

.zapp-nav-city-cluster.zapp-nav-ref-city-cluster {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--ds-font-sans);
  font-size: 13px;
  font-weight: 400;
  color: #0f172a;
  white-space: nowrap;
  padding: 6px 6px 6px 2px;
  letter-spacing: 0.01em;
  max-width: min(22rem, calc(100vw - 420px));
}

.zapp-nav-ref-city-cluster .hero-location-text.zapp-nav-city-label {
  font-weight: 400;
}

.zapp-nav-city-cluster .zapp-nav-city-pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #0f172a;
}

.zapp-nav-city-cluster .zapp-nav-city-pin [data-lucide] {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2.25;
}

.zapp-nav-city-cluster .zapp-nav-city-label.hero-location-text {
  font-weight: 400;
  font-size: 13px;
  color: #0f172a;
  min-width: 0;
  flex-shrink: 1;
}

.zapp-nav-ref-icon-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid #0f172a;
  background: #ffffff;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
  padding: 0 !important;
}

.zapp-nav-ref-icon-btn:hover {
  border-color: #0f172a;
  background: #fafafa;
  color: #0f172a !important;
  opacity: 0.92;
}

.zapp-nav-ref-icon-btn [data-lucide] {
  width: 20px;
  height: 20px;
  stroke-width: 1.85;
}

.zapp-nav-ref-icon-btn.dropdown-toggle::after {
  display: none !important;
}

.zapp-nav-ref-avatar {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  overflow: hidden;
  background: #fafafa;
}

.zapp-nav-ref-avatar-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: 1;
}

.zapp-nav-ref-avatar-initials {
  position: relative;
  z-index: 0;
  line-height: 1;
}

.zapp-nav-ref-avatar--has-photo .zapp-nav-ref-avatar-initials {
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .zapp-nav-ref-pill {
    max-width: min(440px, calc(100vw - 380px));
  }
  .zapp-nav-ref-list .zapp-nav-ref-link {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 13px !important;
  }
  .zapp-nav-city-cluster.zapp-nav-ref-city-cluster {
    font-size: 13px;
    max-width: min(18rem, calc(100vw - 360px));
  }
  .zapp-nav-city-cluster .zapp-nav-city-label.hero-location-text {
    font-size: 13px;
  }
  .zapp-city-dropdown > .hero-change-city.zapp-nav-city-change.dropdown-toggle {
    font-size: 13px;
  }
}

header.zapp-navbar,
header.zapp-navbar-inner {
  width: 100%;
}

@media (max-width: 991.98px) {
  .zapp-navbar:not(.zapp-navbar--ref) {
    top: 10px;
  }

  .zapp-navbar--ref .zapp-navbar-ref-container {
    flex-wrap: wrap;
    min-height: 60px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /* Mobile nav sheet (reference layout) — desktop pill + .zapp-navbar-ref-right stay d-lg-flex */
  .zapp-navbar--ref .zapp-mobile-nav-collapse {
    flex: 1 1 100%;
    width: 100%;
    margin-top: 10px;
    padding: 0;
    border: none;
    background: transparent;
  }

  .zapp-navbar--ref .zapp-mobile-nav-collapse.collapsing {
    transition: height 0.28s ease;
  }

  .zapp-mobile-sheet {
    font-family: var(--ds-font-sans);
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.98);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    overflow: visible;
    margin-bottom: 4px;
  }

  .zapp-mobile-sheet__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid #eef2f7;
  }

  .zapp-mobile-sheet__brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }

  .zapp-mobile-sheet__logo {
    display: block;
    height: 32px;
    width: auto;
  }

  .zapp-mobile-sheet__header-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
  }

  .zapp-mobile-sheet__account {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #0f172a !important;
  }

  .zapp-mobile-sheet__account--guest {
    font-size: 0.8125rem;
    font-weight: 400;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #f8fafc;
  }

  .nav-profile-avatar--sheet {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 500;
  }

  .zapp-mobile-sheet__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: #0f172a;
    color: #fff;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, opacity 0.15s ease;
  }

  .zapp-mobile-sheet__close:hover {
    background: #020617;
  }

  .zapp-mobile-sheet__close-icon {
    width: 22px;
    height: 22px;
    stroke-width: 2.25;
  }

  .zapp-mobile-sheet__body {
    padding: 12px 16px 10px;
  }

  .zapp-mobile-sheet__footer {
    padding: 12px 16px max(14px, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #eef2f7;
    margin-top: 2px;
  }

  .zapp-city-dropdown--sheet-footer {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }

  .zapp-city-dropdown--sheet-footer .zapp-nav-city-cluster.zapp-nav-ref-city-cluster {
    max-width: 100%;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    box-sizing: border-box;
  }

  .zapp-city-dropdown--sheet-footer .hero-change-city.zapp-nav-city-change {
    align-self: flex-start;
  }

  .zapp-mobile-sheet__toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
  }

  .zapp-mobile-sheet__lang-code {
    font-size: 0.75rem;
    font-weight: 500;
    color: #64748b;
    letter-spacing: 0.06em;
  }

  .zapp-mobile-sheet__more-panel--lang {
    padding: 4px 0 6px 4px;
  }

  .zapp-mobile-sheet__more-panel--lang .zapp-lang-sheet {
    width: 100%;
  }

  .zapp-mobile-sheet__more-panel--lang .language-grid--sheet,
  .zapp-lang-sheet .language-grid--sheet {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 8px;
    padding: 4px 0 8px;
    max-height: min(48vh, 260px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  @media (max-width: 380px) {
    .zapp-mobile-sheet__more-panel--lang .language-grid--sheet,
    .zapp-lang-sheet .language-grid--sheet {
      grid-template-columns: 1fr;
    }
  }

  .zapp-mobile-sheet__overline {
    font-size: 0.65rem;
    font-weight: 400;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #94a3b8;
    margin: 0 0 8px;
  }

  .zapp-mobile-sheet__overline--spaced {
    margin-top: 22px;
    margin-bottom: 10px;
  }

  .zapp-mobile-sheet__lead {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.25;
  }

  .zapp-mobile-sheet__list {
    padding: 0;
  }

  .zapp-mobile-sheet__row {
    border-bottom: 1px solid #eef2f7;
  }

  .zapp-mobile-sheet__row:last-child {
    border-bottom: none;
  }

  .zapp-mobile-sheet__link {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 14px 2px;
    font-size: 0.875rem;
    font-weight: 400;
    color: #0f172a !important;
    text-decoration: none !important;
    letter-spacing: 0.01em;
    transition: color 0.15s ease, background 0.15s ease;
    border-radius: 8px;
  }

  .zapp-mobile-sheet__link:hover {
    color: #0f172a !important;
    background: rgba(248, 250, 252, 0.9);
  }

  .zapp-mobile-sheet__more-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 2px;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    border-radius: 8px;
  }

  .zapp-mobile-sheet__more-toggle:hover {
    background: rgba(248, 250, 252, 0.9);
  }

  .zapp-mobile-sheet__chev {
    width: 18px;
    height: 18px;
    color: #94a3b8;
    flex-shrink: 0;
    transition: transform 0.2s ease;
  }

  .zapp-mobile-sheet__more-toggle[aria-expanded="true"] .zapp-mobile-sheet__chev {
    transform: rotate(180deg);
  }

  .zapp-mobile-sheet__more-panel {
    padding: 0 0 10px 4px;
  }

  .zapp-mobile-sheet__sublist {
    padding: 0 0 0 8px;
    border-left: 1px solid #eef2f7;
    margin-left: 4px;
  }

  .zapp-mobile-sheet__sublist li {
    margin: 0;
  }

  .zapp-mobile-sheet__sublink {
    display: block;
    padding: 8px 6px;
    font-size: 0.8125rem;
    font-weight: 400;
    color: #64748b !important;
    text-decoration: none !important;
    border-radius: 6px;
  }

  .zapp-mobile-sheet__sublink:hover {
    color: #0f172a !important;
    background: #f8fafc;
  }

  .zapp-mobile-sheet__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
  }

  .zapp-mobile-sheet__card {
    min-width: 0;
  }

  .zapp-mobile-sheet__card--lang .zapp-lang-dropdown {
    width: 100%;
    height: 100%;
  }

  .zapp-mobile-sheet__card--lang .zapp-lang-nav-card-btn.zapp-nav-ref-icon-btn {
    width: 100%;
    height: auto;
    min-height: 72px;
    border-radius: 14px;
    padding: 12px 14px !important;
    justify-content: flex-start;
    gap: 12px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background: #ffffff;
    box-shadow: none;
  }

  .zapp-mobile-sheet__card--lang .zapp-lang-nav-card-btn.dropdown-toggle::after {
    display: inline-block !important;
    margin-left: auto;
    vertical-align: middle;
    border-top-color: #64748b;
  }

  .zapp-lang-nav-card-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    text-align: left;
    min-width: 0;
  }

  .zapp-lang-nav-card-title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #0f172a;
    line-height: 1.2;
  }

  .zapp-lang-nav-card-code {
    font-size: 0.75rem;
    font-weight: 400;
    color: #64748b;
    letter-spacing: 0.04em;
  }

  .zapp-mobile-sheet__card--help {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background: #ffffff;
    text-decoration: none !important;
    color: #0f172a !important;
    transition: background 0.15s ease, border-color 0.15s ease;
    min-height: 72px;
    box-sizing: border-box;
  }

  .zapp-mobile-sheet__card--help:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
  }

  .zapp-mobile-sheet__card-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #475569;
  }

  .zapp-mobile-sheet__card-ico [data-lucide] {
    width: 20px;
    height: 20px;
    stroke-width: 1.85;
  }

  .zapp-mobile-sheet__card-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
  }

  .zapp-mobile-sheet__card-title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #0f172a;
    line-height: 1.2;
  }

  .zapp-mobile-sheet__card-sub {
    font-size: 0.75rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.25;
  }

  @media (max-width: 380px) {
    .zapp-mobile-sheet__cards {
      grid-template-columns: 1fr;
    }
  }

  .zapp-nav-frame {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    min-height: auto;
    padding: 10px 12px;
    border-radius: 22px;
  }

  .zapp-mobile-topbar-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .zapp-mobile-profile-dropdown {
    position: relative;
  }

  .zapp-mobile-avatar-trigger {
    padding: 0;
  }

  .zapp-mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #f8fafc;
    color: var(--zapp-dark);
    border: 1px solid rgba(226,232,240,0.95) !important;
  }

  .zapp-mobile-menu-toggle.is-open {
    background: #0f172a;
    color: #fff;
  }

  .zapp-mobile-menu-toggle .zapp-menu-icon {
    stroke: currentColor !important;
  }

  .zapp-mobile-menu-toggle.is-open .zapp-menu-icon-open {
    display: none !important;
  }

  .zapp-mobile-menu-toggle.is-open .zapp-menu-icon-close {
    display: inline-block !important;
  }

  .zapp-nav-signup-mobile {
    min-width: auto;
    padding: 8px 12px;
    font-size: 0.875rem;
    font-weight: 500;
  }

  header .navbar-brand-item,
  .zapp-navbar-inner .navbar-brand-item {
    height: 34px !important;
  }

  .zapp-nav-shell {
    position: static;
    left: auto;
    transform: none;
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    padding: 12px;
    border-radius: 20px;
    display: block !important;
    background: rgba(255,255,255,0.98);
    border: 1px solid rgba(226,232,240,0.95);
    box-shadow: 0 12px 24px rgba(15,23,42,0.06);
  }

  .zapp-navbar .navbar-collapse {
    width: 100%;
  }

  .zapp-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }

  .zapp-navbar .navbar-collapse.collapse.show {
    display: block !important;
  }

  .zapp-mobile-menu-head {
    padding: 4px 4px 10px;
    border-bottom: 1px solid #eef2f7;
    margin-bottom: 10px;
  }

  .zapp-mobile-menu-overline {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--zapp-muted);
    margin-bottom: 4px;
  }

  .zapp-mobile-menu-title {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--zapp-dark);
  }

  .zapp-nav-center {
    align-items: stretch;
    gap: 4px;
  }

  .zapp-nav-link {
    width: 100%;
    justify-content: space-between;
    border-radius: 12px;
  }

  .zapp-mobile-utility-panel {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #eef2f7;
  }

  .zapp-mobile-utility-title {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--zapp-muted);
    margin-bottom: 10px;
  }

  .zapp-mobile-utility-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .zapp-mobile-utility-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--zapp-card-border);
    background: var(--zapp-card-bg);
    -webkit-backdrop-filter: var(--zapp-card-blur);
    backdrop-filter: var(--zapp-card-blur);
    box-shadow: var(--zapp-card-shadow);
    color: var(--zapp-dark) !important;
    text-decoration: none;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .zapp-mobile-utility-card:active {
    transform: scale(0.99);
  }

  .zapp-mobile-utility-card strong,
  .zapp-mobile-utility-card small {
    display: block;
    line-height: 1.2;
  }

  .zapp-mobile-utility-card strong {
    font-size: 0.84rem;
    font-weight: 500;
  }

  .zapp-mobile-utility-card small {
    font-size: 0.72rem;
    color: var(--zapp-muted);
  }

  .zapp-nav-cta {
    margin-top: 10px;
    width: 100%;
  }

  .zapp-nav-signup,
  .zapp-nav-btn-solid {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  

  .zapp-mobile-profile-dropdown .zapp-profile-menu {
    min-width: min(280px, calc(100vw - 20px));
    right: 0;
    left: auto;
  }
}

/* ================================================================
   HERO — design-spec.md (4px grid, system colors, soft shadow)
   ================================================================ */
body.page-home {
  background: var(--zapp-light);
  font-family: var(--ds-font-body);
  overflow-x: clip;
}

body.page-home main {
  overflow-x: clip;
}

/* Homepage mobile: trim compositing cost on first paint; skip layout of far below-the-fold sections until near viewport. */
@media (max-width: 991.98px) {
  body.page-home .uber-widget.uber-widget--hero {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  body.page-home main > section:not(#zapp-hero) {
    content-visibility: auto;
    contain-intrinsic-size: auto 520px;
  }

  body.page-home #suggestions {
    contain-intrinsic-size: auto 760px;
  }

  body.page-home #howItWorks {
    contain-intrinsic-size: auto 680px;
  }

  body.page-home #features {
    contain-intrinsic-size: auto 780px;
  }

  body.page-home #popularRoutes {
    contain-intrinsic-size: auto 600px;
  }

  body.page-home #reviews {
    contain-intrinsic-size: auto 520px;
  }

  body.page-home #faq {
    contain-intrinsic-size: auto 720px;
  }

  body.page-home main > section.nl-ref-section {
    contain-intrinsic-size: auto 560px;
  }
}

/* ================================================================
   HERO v2 — reference-style layout (map background preserved)
   Mobile-first: stack booking bar by default; wide bar ≥992px
   ================================================================ */
.zapp-hero.zapp-hero-v2 {
  padding-top: calc(var(--zapp-navbar-offset, 92px) + 8px);
  padding-bottom: clamp(8px, 2vw, 16px);
  background: white !important;
}

.zapp-hero.zapp-hero-v2::before{
  /* Keep the page background clean; hero has its own canvas */
  background: transparent;
}

.zapp-hero-canvas{
  position: relative;
  border-radius: 16px;
  overflow: visible;
  min-height: min(64vh, 500px);
  box-shadow: 0 14px 60px rgba(15,23,42,0.10);
}

@media (min-width: 576px) {
  .zapp-hero-canvas {
    border-radius: 22px;
    min-height: min(70vh, 560px);
  }
}

@media (min-width: 992px) {
  .zapp-hero-canvas {
    border-radius: 32px;
    min-height: clamp(520px, 85vh, 880px);
  }
}

.zapp-hero-v2 .hero-map-background{
  /* Static image background for hero (falls back to gradient if image missing).
     Place your hero image at /assets/images/hero/hero-bg.jpg or change the URL below. */
  background-image: url('/assets/images/hero/hero-bg.webp'), url('/assets/images/hero/hero-bg.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  border-radius: 16px !important;
  inset: 0;
  z-index: 1;
  /* Hero v2 does not wait for Google Map idle on mobile; static art must be visible immediately. */
  opacity: 1;
  /* keep a subtle overlay via pseudo-element below */
}

@media (min-width: 576px) {
  .zapp-hero-v2 .hero-map-background {
    border-radius: 22px !important;
  }
}

@media (min-width: 992px) {
  .zapp-hero-v2 .hero-map-background {
    border-radius: 32px !important;
  }
}

.zapp-hero-v2 .hero-google-map{
  /* hide the live map element when using the static image background */
  display: none;
}

.zapp-hero-overlay{
  position: relative;
  z-index: 3;
  padding: clamp(72px, 18vw, 96px) 10px 22px;
  display: grid;
  align-content: start;
  justify-items: stretch;
  gap: clamp(14px, 3vw, 26px);
}

@media (min-width: 576px) {
  .zapp-hero-overlay {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (min-width: 992px) {
  .zapp-hero-overlay {
    padding: 134px 18px 42px;
    gap: 26px;
  }
}

.zapp-hero-shell{
  width: 100%;
  max-width: 100%;
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
  margin: 0 auto;
}

@media (min-width: 576px) {
  .zapp-hero-shell {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (min-width: 768px) {
  .zapp-hero-shell {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (min-width: 992px) {
  .zapp-hero-shell {
    padding-left: 50px;
    padding-right: 50px;
  }
}

.zapp-hero-widget-surface{
  width: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  border: none;
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(15,23,42,0.10), 0 2px 8px rgba(15,23,42,0.04);
  padding: 14px 12px 12px;
}

@media (min-width: 992px) {
  .zapp-hero-widget-surface {
    border-radius: 28px;
    padding: 22px 0 0;
  }
}

.uber-widget.uber-widget--hero{
  margin: 0;
  box-shadow: none;
  border: none;
  background: transparent;
  max-width: none;
  width: 100%;
  padding: 0;
}
.uber-widget.uber-widget--hero:hover{
  transform: none;
  box-shadow: none;
}

/* Hero — reference toggle (Different / Same drop off) */
.uber-ride-types--hero{
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
  padding: 0;
  background: transparent;
  width: 100%;
  max-width: 100%;
  justify-content: flex-start;
}

@media (max-width: 575.98px) {
  .uber-widget.uber-widget--hero .uber-ride-types--hero {
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0 !important;
  }

  .uber-ride-types {padding: 0px;}
}

@media (min-width: 576px) {
  .uber-ride-types--hero {
    width: fit-content;
    margin-bottom: 18px;
  }

  .uber-ride-types {padding: 0px;}
}
.uber-ride-pill--hero{
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  box-shadow: none !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  min-height: 0;
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  text-align: left;
  box-sizing: border-box;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

@media (min-width: 576px) {
  .uber-ride-pill--hero {
    padding: 6px 16px !important;
  }
}
.uber-ride-pill--hero:hover:not(.active){
  border-color: #d1d5db !important;
  background: #fafafa !important;
}
.uber-ride-pill--hero.active{
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
}

/* Hero — main booking bar (reference: white rounded shell) */
.uber-hero-inline{
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 6px;
  width: 100%;
  min-height: 0;
  background: #ffffff;
  border: 1px solid #eef2f7;
  border-radius: 20px;
  overflow: visible;
  padding: 12px 12px;
  box-shadow: 0 18px 50px rgba(15,23,42,0.06);
}

.uber-hero-inline > .uber-inline-cell:not(:first-child){
  border-left: 0;
  border-top: 1px solid #f1f5f9;
  padding-top: 12px;
  margin-top: 4px;
}

@media (min-width: 992px) {
  .uber-hero-inline {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(200px, 240px) 72px;
    gap: 0;
    padding: 10px 12px 10px 14px;
    border-radius: 30px;
  }

  
  .uber-hero-inline > .uber-inline-cell:not(:first-child) {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
  }
}
.uber-inline-cell{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 4px 8px;
  position: relative;
}
.uber-inline-cell--grow{
  width: 100%;
}
.uber-inline-cell--schedule{
  width: 100%;
}
.uber-hero-segment{
  border-radius: 22px;
  padding: 10px 12px 8px;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  min-height: 0;
}
.uber-hero-segment:focus-within{
  background: #ffffff;
  box-shadow: 0 10px 36px rgba(15,23,42,0.08);
}
.uber-hero-seg-row{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.uber-hero-seg-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 6px;
  color: #94a3b8;
}
.uber-hero-seg-ico [data-lucide]{
  width: 20px;
  height: 20px;
  stroke-width: 1.75;
}
.uber-hero-seg-inputcol{
  flex: 1;
  min-width: 0;
}
.uber-hero-input-locate{
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.uber-hero-seg-hint{
  margin: 6px 0 0 34px;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  color: #94a3b8;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.uber-widget.uber-widget--hero .uber-input--hero{
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  padding: 4px 0 2px;
  font-size: clamp(0.95rem, 0.88rem + 0.35vw, 1.05rem);
  font-weight: 550;
  color: #0f172a;
  letter-spacing: -0.02em;
  outline: none;
}
.uber-widget.uber-widget--hero .uber-input--hero::placeholder{
  color: #0f172a;
  font-weight: 550;
  transition: opacity 0.12s ease;
}
/* Hide placeholder while focused and empty; show again when blurred if still empty */
.uber-widget.uber-widget--hero .city-autocomplete-wrap .uber-input--hero:focus::placeholder{
  opacity: 0;
}
.uber-widget.uber-widget--hero .city-autocomplete-wrap{
  flex: 1;
  min-width: 0;
  position: relative;
}
.uber-widget.uber-widget--hero .uber-hero-locate{
  flex-shrink: 0;
  color: #94a3b8;
  padding: 6px;
  border-radius: 10px;
}
.uber-widget.uber-widget--hero .uber-hero-locate:hover{
  color: var(--zapp-primary);
  background: rgba(11, 95, 255, 0.06);
}

/* Schedule trigger (reference: one bold line + chevron) */
.uber-pickup-wrap--hero{
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  /* z-index removed: a positive z-index here promoted the row above overlapping hero city dropdowns on mobile */
}
.uber-hero-schedule-trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  border: none;
  background: transparent;
  padding: 4px 0 2px;
  cursor: pointer;
  text-align: left;
  font-size: clamp(0.95rem, 0.88rem + 0.35vw, 1.05rem);
  font-weight: 550;
  color: #0f172a;
  letter-spacing: -0.02em;
}
.uber-hero-schedule-trigger .uber-pn-chevron{
  flex-shrink: 0;
  color: #94a3b8;
  transition: transform 0.2s ease;
}
.uber-hero-schedule-trigger .uber-pn-chevron[data-lucide]{
  width: 18px;
  height: 18px;
}
.uber-inline-rule{
  display: none;
}

.uber-hero-search{
  justify-self: stretch;
  align-self: center;
  width: 100%;
  height: 48px;
  min-width: 0;
  margin-top: 6px;
  border: none;
  border-radius: 12px;
  background: #0f172a;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(15,23,42,0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.uber-hero-search-text{
  display: inline;
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: -0.01em;
}

@media (min-width: 992px) {
  .uber-hero-search {
    justify-self: center;
    width: 52px;
    height: 52px;
    min-width: 52px;
    margin-top: 0;
    border-radius: 999px;
    gap: 0;
  }
  .uber-hero-search-text {
    display: none;
  }
}
.uber-hero-search:hover{
  background: #020617;
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(15,23,42,0.28);
}
.uber-hero-search:active{
  transform: translateY(0);
}
.uber-hero-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #ffffff;
}
.uber-hero-search-icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

@media (max-width: 767px) {
  /* Mobile: hide search icon and show only the CTA label */
  .uber-hero-search-icon {
    display: none !important;
  }

  /* Mobile: sticky CTA wrapper at bottom */
  .uber-mobile-sticky-search-wrap {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: #ffffff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-top: 1px solid rgba(226,232,240,0.8);
  }
  .uber-mobile-sticky-search-wrap .uber-hero-search--sticky {
    margin-top: 0;
    border-radius: 10px;
  }
}
.uber-hero-search [data-lucide] {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  color: #ffffff;
}

/* Hero city suggestions — full width of .uber-inline-cell--grow; 10px below cell bottom; scroll when long */
.uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow > .uber-dropdown.uber-dropdown--hero {
  
  top: 100%;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin-top: 10px;
  margin-left: 0;
  max-height: min(340px, 50vh);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  background-color: #ffffff;
  background-clip: padding-box;
  overscroll-behavior: contain;
  isolation: isolate;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

  border: 1px solid var(--zapp-border);
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-md);
  left: 0;
  position: absolute;
  z-index: 1060;
}
.uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow > .uber-dropdown.uber-dropdown--hero.show {
  transform: translateZ(0);
}
.uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow:has(> .uber-dropdown.show) {
  z-index: 380;
}

/* Hero schedule panel — same placement & width as .uber-dropdown--hero (direct child of schedule cell) */
.uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--schedule > .uber-schedule-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin-top: 10px;
  margin-left: 0;
  z-index: 400;
  max-height: min(340px, 50vh);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  background: #ffffff;
  overscroll-behavior: contain;
  isolation: isolate;
  border-radius: 20px;
  border: 1px solid #eef2f7;
  box-shadow: 0 24px 60px rgba(15,23,42,0.12), 0 4px 16px rgba(15,23,42,0.06);
  padding: 8px 8px 10px;
}
.uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--schedule:has(> .uber-schedule-panel.show) {
  z-index: 390;
}

@media (max-width: 991.98px) {
  .uber-widget.uber-widget--hero .uber-hero-inline {
    isolation: isolate;
  }
  /* Explicit base stacking so later rows (schedule) never paint over an open city list on WebKit */
  .uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--schedule {
    z-index: 0;
  }
  .uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow:not(:has(> .uber-dropdown.show)) {
    z-index: 0;
  }
  .uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow:has(> .uber-dropdown.show) {
    z-index: 900;
  }
  .uber-widget.uber-widget--hero .uber-inline-cell.uber-inline-cell--grow > .uber-dropdown.uber-dropdown--hero.show {
    z-index: 910;
  }
  .uber-widget.uber-widget--hero .uber-inline-cell--schedule:has(> .uber-schedule-panel.show) {
    z-index: 920;
  }
  .uber-widget.uber-widget--hero .uber-inline-cell--schedule > .uber-schedule-panel.show {
    z-index: 930;
    transform: translateZ(0);
  }
}

.uber-dropdown.uber-dropdown--hero{
  border-radius: 20px;
  border: 1px solid #eef2f7;
  padding: 8px 8px 10px;
  right: auto;
  min-width: 0;
  box-sizing: border-box;
  box-shadow: 0 24px 60px rgba(15,23,42,0.12), 0 4px 16px rgba(15,23,42,0.06);
  background-color: #ffffff;
}
.uber-dropdown--hero .uber-dd-heading{
  list-style: none;
  padding: 6px 10px 4px;
  margin: 0;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
  pointer-events: none;
}
.uber-dropdown--hero .uber-dd-item{
  border-radius: 14px;
  margin: 2px 0;
  padding: 10px 12px;
}
.uber-dropdown--hero .uber-dd-item:hover,
.uber-dropdown--hero .uber-dd-item.uber-dd-focused{
  background: #f1f5f9;
}
.uber-dropdown--hero .uber-dd-icon{
  width: 32px;
  height: 32px;
  background: #f1f5f9 !important;
  color: #64748b !important;
}
.uber-dropdown--hero .uber-dd-icon [data-lucide]{
  width: 16px;
  height: 16px;
}
.uber-dropdown--hero .uber-dd-locate{
  border-radius: 14px;
  margin: 2px 0;
  border-bottom: none;
}
.uber-dropdown--hero .uber-dd-locate:hover{
  background: #f8fafc;
}
.uber-dropdown--hero .uber-dd-name{
  font-weight: 500;
  font-size: 0.78rem;
}
.uber-dropdown--hero .uber-dd-addr{
  font-size: 0.68rem;
  font-weight: 400;
  color: #64748b;
}
.uber-dropdown--hero .uber-dd-empty{
  padding: 12px 14px;
  font-size: 0.72rem;
  font-weight: 400;
  color: #94a3b8;
}
.uber-dropdown--hero .uber-dd-locate .uber-dd-name{
  font-weight: 500;
  font-size: 0.78rem;
}
.uber-dropdown--hero .uber-dd-locate .uber-dd-addr{
  font-weight: 400;
  font-size: 0.68rem;
}

.uber-cta-row--hero-foot{
  margin-top: 12px;
  flex-direction: row;
  justify-content: center;
}
.uber-cta-row--hero-foot .uber-login-hint{
  text-align: center;
  font-size: 0.8125rem;
}

.zapp-hero-copy{
  text-align: center;
  color: #fff;
  width: min(980px, 100%);
  padding-top: 18px;
  justify-self: center;
}

@media (max-width: 991.98px) {
  .zapp-hero:not(.zapp-hero-v2) .zapp-hero-canvas {
    min-height: clamp(480px, 78vh, 720px);
  }
  .zapp-hero:not(.zapp-hero-v2) .zapp-hero-overlay {
    padding: 24px 14px 34px;
    gap: 18px;
  }
}

.zapp-hero {
  position: relative;
  overflow: visible;
  background: var(--zapp-light);
  padding-top: var(--zapp-navbar-offset, 92px);
  z-index: 5;
}

.zapp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 1) 0%, rgba(248, 250, 252, 0.97) 28%, rgba(248, 250, 252, 0.72) 48%, rgba(248, 250, 252, 0) 72%),
    radial-gradient(circle at 20% 20%, rgba(15, 23, 42, 0.04), transparent 52%);
  pointer-events: none;
  z-index: 0;
}

.zapp-hero-row {
  position: relative;
  min-height: 640px;
  overflow: visible;
  padding-top: 24px;
  padding-bottom: 48px;
}

.zapp-hero-left,
.zapp-hero-right {
  position: relative;
  z-index: 2;
}

.zapp-hero-left {
  padding-top: 8px;
}

/* Location chip */
.zapp-hero .hero-location {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--zapp-white);
  padding: 8px 12px;
  border-radius: var(--ds-radius-md);
  border: 1px solid var(--zapp-border);
  box-shadow: var(--ds-shadow-soft);
  color: var(--zapp-muted);
  font-size: var(--ds-text-sm);
  font-weight: 500;
  margin-bottom: 20px;
  transition: border-color var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease);
}
.zapp-hero .hero-location:hover {
  border-color: #cbd5e1;
  box-shadow: var(--ds-shadow-md);
}

.hero-location-text {
  font-weight: 500;
  color: var(--zapp-text);
  font-size: var(--ds-text-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex-shrink: 1;
}

.hero-change-city {
  margin-left: 4px;
  color: var(--zapp-text);
  font-weight: 500;
  text-decoration: none;
  font-size: var(--ds-text-sm);
  transition: color var(--ds-duration) var(--ds-ease), opacity var(--ds-duration) var(--ds-ease);
}
.hero-change-city:hover {
  color: var(--zapp-dark);
  text-decoration: underline;
  opacity: 1;
}

.modal-recent { padding: 8px 6px; }
.recent-title { font-size: 0.85rem; color: #6b7280; margin-bottom: 6px; }
.recent-list { list-style:none; margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; }

.uber-dd-focused { outline: 2px solid rgba(15, 23, 42, 0.08); background: #f8fafc; }

/* Change city — shared modal (desktop navbar + mobile sheet + profile) */
#changeCityModal .modal-dialog {
  max-width: min(440px, calc(100vw - 1.25rem));
}

.zapp-change-city-modal-content {
  border-radius: 20px;
  overflow: hidden;
}

/* Navbar change city — cluster + underlined trigger (opens modal) */
.zapp-city-dropdown > .hero-change-city.zapp-nav-city-change {
  margin-left: 2px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
  font-size: 13px;
  font-weight: 400;
  color: #0f172a !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  transition: opacity 0.15s ease;
}

.zapp-city-dropdown > .hero-change-city.zapp-nav-city-change:hover {
  opacity: 0.72;
  color: #0f172a !important;
}

.zcd-nav-change-body {
  padding: 0 12px 10px;
}

.zcd-search-row {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.zcd-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--zapp-border);
  padding: 8px 10px;
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(16, 24, 40, 0.02);
}

.zcd-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.zcd-search-input {
  border: none;
  outline: none;
  font-size: 0.8125rem;
  font-weight: 400;
  flex: 1;
  min-width: 0;
  padding: 4px 2px;
  background: transparent;
}

.zcd-search-input::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

/* Change-city card: align with language menu header; capped weights */
.zapp-city-menu .zld-card-header {
  padding: 18px 22px 10px;
  flex-shrink: 0;
}

.zapp-city-menu .zld-menu-title {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.zapp-city-menu .zld-menu-desc {
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.35;
}

.zapp-city-menu .zcd-city-panel {
  padding: 2px 14px 10px;
}

.zapp-city-menu .zcd-city-badge {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.zapp-city-menu .zcd-city-badge [data-lucide] {
  width: 16px;
  height: 16px;
}

.zapp-city-menu .zcd-city-label {
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.zapp-city-menu .zcd-menu-city-value {
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.3;
}

.zapp-city-menu .modal-recent {
  padding: 4px 0 6px;
}

.zapp-city-menu .recent-title {
  font-size: 0.68rem;
  font-weight: 500;
  margin-bottom: 4px;
}

.zapp-city-menu .recent-item {
  font-size: 0.72rem;
  font-weight: 400;
  padding: 6px 8px;
  border-radius: 8px;
}

.zapp-city-menu .zcd-city-ac-dd.uber-dropdown {
  position: absolute;
  left: 0;
  right: auto;
  z-index: 1080;
  max-height: min(260px, 42vh);
  overflow-y: auto;
  margin-top: 2px;
  font-size: 0.8125rem;
}

.zapp-city-menu .zcd-city-ac-dd .uber-dd-name {
  font-size: 0.8125rem;
  font-weight: 500;
}

.zapp-city-menu .zcd-city-ac-dd .uber-dd-addr {
  font-size: 0.7rem;
  font-weight: 400;
}

.zapp-city-menu .zcd-city-ac-dd .uber-dd-empty {
  font-size: 0.75rem;
  font-weight: 400;
}

/* Change-city: same `uber-dropdown--hero` shell as pickup/drop; list is often reparented to body — JS sets fixed box */


#changeCityDropdownModal.uber-dropdown--hero.zcd-city-ac-dd {
  list-style: none;
}


#changeCityDropdownModal.uber-dropdown--hero.show {
  display: block !important;
}


#changeCityDropdownModal.uber-dropdown--hero .uber-dd-name {
  font-weight: 500;
}

.zapp-city-menu .uber-dd-icon [data-lucide] {
  width: 16px !important;
  height: 16px !important;
}

/* Inline validation — replaces ad-hoc inline styles in markup */

@keyframes heroPulse {
  0% {
    transform: scale(0.88);
    opacity: 0.9;
  }
  70% {
    transform: scale(1.65);
    opacity: 0;
  }
  100% {
    transform: scale(1.75);
    opacity: 0;
  }
}

@media (max-width: 991.98px) {
  .zapp-hero {
    padding-top: 80px;
  }

  .zapp-hero-row {
    min-height: auto;
    padding-top: 16px;
    padding-bottom: 32px;
  }
}


/* ================================================================
   BOOKING WIDGET — design-spec surface + 4px rhythm
   ================================================================ */
.uber-widget {
  width: 100%;
  max-width: 28.75rem;
  position: relative;
  background: var(--zapp-card-bg);
  -webkit-backdrop-filter: var(--zapp-card-blur);
  backdrop-filter: var(--zapp-card-blur);
  border: 1px solid var(--zapp-card-border);
  border-radius: var(--zapp-card-radius-lg);
  box-shadow: var(--zapp-card-shadow);
  padding: var(--zapp-card-pad-lg) calc(var(--zapp-card-pad-lg) + 2px);
  transition:
    border-color var(--ds-duration) var(--ds-ease),
    box-shadow var(--ds-duration) var(--ds-ease),
    transform var(--ds-duration) var(--ds-ease);
}
.uber-widget:hover {
  box-shadow: var(--zapp-card-shadow-hover);
  transform: translateY(-2px);
  border-color: #e2e8f0;
}

.uber-pickup-wrap {
  position: relative;
  display: inline-block;
  z-index: 1060;
}

.uber-pickup-now {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--zapp-white);
  border: 1px solid var(--zapp-border);
  border-radius: var(--ds-radius-sm);
  padding: 8px 16px;
  font-size: var(--ds-text-sm);
  font-weight: 500;
  color: var(--zapp-text);
  cursor: pointer;
  user-select: none;
  transition: border-color var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease),
    background-color var(--ds-duration) var(--ds-ease);
}
.uber-pickup-now:hover {
  border-color: rgba(11, 95, 255, 0.35);
  box-shadow: var(--ds-shadow-soft);
  background: var(--zapp-light);
}
.uber-pn-chevron {
  transition: transform var(--ds-duration) var(--ds-ease);
}

.uber-schedule-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1060;
  background: var(--zapp-white);
  border: 1px solid var(--zapp-border);
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-md);
  padding: 8px;
  min-width: 260px;
  margin-top: 8px;
}
.uber-schedule-panel.show {
  display: block;
}
.uber-schedule-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: var(--ds-radius-sm);
  cursor: pointer;
  font-size: var(--ds-text-sm);
  font-weight: 500;
  color: var(--zapp-text);
  transition: background-color var(--ds-duration) var(--ds-ease);
}
.uber-schedule-option:hover {
  background: var(--zapp-light);
}
.uber-schedule-option.active {
  background: rgba(11, 95, 255, 0.08);
  font-weight: 500;
  color: var(--zapp-primary);
}

.uber-schedule-fields {
  padding: 8px 12px 4px;
}
.uber-schedule-row {
  display: flex;
  gap: 12px;
}
.uber-sched-field {
  flex: 1;
}
.uber-sched-field label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--zapp-muted);
  margin-bottom: 4px;
}
.uber-sched-field input {
  width: 100%;
  border: 1px solid var(--zapp-border);
  border-radius: var(--ds-radius-sm);
  padding: 8px 12px;
  font-size: var(--ds-text-sm);
  background: var(--zapp-white);
  color: var(--zapp-text);
  outline: none;
  transition: border-color var(--ds-duration) var(--ds-ease);
}
.uber-sched-field input:focus {
  border-color: var(--zapp-primary);
}

.uber-locations {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  background: var(--zapp-light);
  border-radius: var(--ds-radius-md);
  padding: 12px 16px;
  border: 1px solid var(--zapp-border);
  transition: border-color var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease);
  position: relative;
}
.uber-locations:focus-within {
  border-color: rgba(11, 95, 255, 0.55);
  box-shadow: 0 0 0 3px rgba(11, 95, 255, 0.22);
}

.uber-loc-dots {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 12px;
  gap: 0;
  flex-shrink: 0;
  width: 16px;
}
.uber-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.uber-dot-pickup,
.uber-dot-drop {
  background: var(--zapp-primary);
}
.uber-dot-line {
  width: 2px;
  height: 28px;
  background: rgba(11, 95, 255, 0.35);
  flex-shrink: 0;
  border-radius: 1px;
}

.uber-loc-fields {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.uber-loc-field {
  display: flex;
  align-items: center;
  gap: 8px;
}
.uber-loc-divider {
  height: 1px;
  background: var(--zapp-border);
  margin: 4px 0;
}

.uber-input {
  width: 100%;
  border: none;
  background: transparent;
  padding: 12px 0;
  font-size: var(--ds-text-base);
  font-weight: 500;
  color: var(--zapp-text);
  outline: none;
}
.uber-input::placeholder {
  color: var(--zapp-muted);
  font-weight: 400;
}

.uber-loc-action {
  background: none;
  border: none;
  color: var(--zapp-muted);
  cursor: pointer;
  padding: 8px;
  border-radius: var(--ds-radius-sm);
  flex-shrink: 0;
  transition: color var(--ds-duration) var(--ds-ease), background-color var(--ds-duration) var(--ds-ease);
}
.uber-loc-action:hover {
  color: var(--zapp-primary);
  background: rgba(11, 95, 255, 0.08);
}

.uber-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  min-width: 100%;
  z-index: 5;
  isolation: isolate;
  background-color: #ffffff;
  background: var(--zapp-white);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-md);
  padding: 8px 0;
  margin: 8px 0 0;
  list-style: none;
  max-height: 380px;
  overflow-y: auto;
  box-sizing: border-box;
  border: 1px solid var(--zapp-border);
}
.uber-dropdown.show {
  display: block;
}

/* Allow location access item */
.uber-dd-locate {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; cursor: pointer;
  transition: background 120ms ease;
  border-bottom: 1px solid #f0f0f0;
}
.uber-dd-locate:hover { background: #f7f7f7; }
.uber-dd-locate .uber-dd-icon {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--zapp-primary); color: #fff; flex-shrink: 0;
}
.uber-dd-locate .uber-dd-name { font-weight: 500; font-size: 0.9rem; color: #111; }
.uber-dd-locate .uber-dd-addr { font-size: 0.78rem; color: var(--zapp-muted); margin-top: 2px; font-weight: 500; }

.uber-dd-item {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; cursor: pointer;
  transition: background 120ms ease;
}
.uber-dd-item:hover { background: #f7f7f7; }

.uber-dd-icon {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--zapp-surface-hover);
  color: var(--zapp-muted);
  flex-shrink: 0;
}

.uber-dd-info { display: flex; flex-direction: column; min-width: 0; }
.uber-dd-name {
  font-size: 0.9rem; font-weight: 500; color: #111;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  line-height: 1.3;
}
.uber-dd-addr {
  font-size: 0.78rem; color: #6b7280; line-height: 1.3; margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.uber-dd-empty {
  padding: 14px 16px; text-align: center;
  font-size: 0.85rem; color: var(--zapp-muted);
}

/* Styled scrollbar for dropdown */
.uber-dropdown::-webkit-scrollbar { width: 6px; }
.uber-dropdown::-webkit-scrollbar-track { background: transparent; }
.uber-dropdown::-webkit-scrollbar-thumb { background: #ddd; border-radius: 6px; }

/* Search page sidebar — same location block pattern as homepage hero */
.srp-sidebar .uber-locations--srp {
  width: 100%;
  margin-bottom: 16px;
  box-sizing: border-box;
}

.uber-ride-types {
  display: flex;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
  padding: 0 31px;
}
.uber-ride-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--zapp-white);
  border: 1px solid var(--zapp-border);
  border-radius: var(--ds-radius-md);
  padding: 12px 14px;
  font-size: var(--ds-text-sm);
  font-weight: 500;
  color: var(--zapp-text);
  cursor: pointer;
  user-select: none;
  text-align: left;
  box-shadow: none;
  transition: border-color var(--ds-duration) var(--ds-ease), background-color var(--ds-duration) var(--ds-ease),
    box-shadow var(--ds-duration) var(--ds-ease), transform var(--ds-duration) var(--ds-ease);
}
.uber-ride-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--ds-radius-sm);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 95, 255, 0.08);
  color: var(--zapp-primary);
}
.uber-ride-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.uber-ride-copy strong {
  font-size: var(--ds-text-sm);
  font-weight: 500;
}
.uber-ride-copy small {
  font-size: 0.75rem;
  color: var(--zapp-muted);
  font-weight: 500;
  margin-top: 2px;
}
.uber-ride-pill.active {
  border-color: var(--zapp-primary);
  background: rgba(11, 95, 255, 0.06);
  color: var(--zapp-primary);
  box-shadow: var(--ds-shadow-soft);
}
.uber-ride-pill:hover:not(.active) {
  border-color: rgba(11, 95, 255, 0.25);
  background: var(--zapp-light);
}

.uber-cta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.uber-see-prices {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  border: none;
  border-radius: var(--ds-radius-md);
  background: var(--zapp-primary);
  color: #fff;
  font-size: var(--ds-text-base);
  font-weight: 500;
  cursor: pointer;
  box-shadow: var(--ds-shadow-soft);
  transition: background-color var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease),
    transform var(--ds-duration) var(--ds-ease);
}
.uber-see-prices:hover {
  background: #0946cc;
  box-shadow: var(--ds-shadow-md);
  transform: translateY(-1px);
}
.uber-see-prices:active {
  transform: translateY(0);
}

.uber-login-hint {
  font-size: var(--ds-text-sm);
  color: var(--zapp-muted);
  text-align: center;
  font-weight: 400;
}
.uber-login-hint a {
  color: var(--zapp-primary);
  font-weight: 500;
  text-decoration: none;
  transition: opacity var(--ds-duration) var(--ds-ease);
}
.uber-login-hint a:hover {
  opacity: 0.85;
  text-decoration: underline;
}

.uber-pickup-now > [data-lucide]:not(.uber-pn-chevron),
.uber-schedule-option [data-lucide] {
  width: 16px;
  height: 16px;
}
.uber-loc-action [data-lucide] {
  width: 18px;
  height: 18px;
}
.uber-ride-pill [data-lucide],
.uber-see-prices [data-lucide] {
  width: 16px;
  height: 16px;
}
.uber-pn-chevron[data-lucide] {
  width: 14px;
  height: 14px;
}

@media (max-width: 576px) {
  .uber-see-prices {
    min-height: 48px;
  }
}


/* ================================================================
   SECTIONS — Consistent spacing & headings (all white bg)
   ================================================================ */
.zapp-section { padding: var(--section-py) 0; background: var(--zapp-white); }
.zapp-section-alt { background: var(--zapp-white); }
.zapp-section-dark { background: var(--zapp-dark); }

/* Thin decorative divider between sections */
.zapp-section + .zapp-section,
.zapp-section + .zapp-section-alt,
.zapp-section-alt + .zapp-section,
.zapp-suggestions + .zapp-section,
.zapp-suggestions + .zapp-section-alt { border-top: none; }


/* ================================================================
   SUGGESTIONS — Premium service cards
   ================================================================ */
.zapp-suggestions {
  padding: clamp(40px, 8vw, 80px) 0;
  border-top: none;
  background: var(--zapp-white) !important;
}

/* Section header */

/* Grid */

/* Card */

/* Card top row */

/* Icon */

/* "Popular" badge */

/* Card body */

/* Card footer */

/* ================================================================
   NEARBY — Explore cards (home section)
   ================================================================ */
.zapp-nearby .sug-header { display: none; }

/* Mobile reference: show 3 items in a row */

/* Mobile reference: image + name only (hide meta/arrow) */


/* ================================================================
   CTA BUTTONS
   ================================================================ */
.zapp-btn-primary {
  display: inline-flex; align-items: center;
  background: var(--zapp-dark); color: #fff !important;
  border: none; border-radius: 6px; padding: 12px 24px;
  font-weight: 500; font-size: 0.88rem; text-decoration: none !important; cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}
.zapp-btn-primary:hover {
  background: var(--zapp-primary-dark);
  box-shadow: 0 6px 20px rgba(11,95,255,0.3);
}

.zapp-btn-outline-light {
  color: #fff !important;
  display: inline-flex; align-items: center;
  border: 1.5px solid #fff; border-radius: 8px;
  padding: 11px 22px; font-weight: 500; font-size: 0.88rem;
  text-decoration: none !important; transition: all 0.2s;
}
.zapp-btn-outline-light:hover { background: var(--zapp-primary); border: 1.5px solid var(--zapp-primary); }


.zapp-btn-outline {
  display: inline-flex; align-items: center;
  background: transparent; color: var(--zapp-white) !important;
  border: 1.5px solid var(--zapp-border); border-radius: 8px;
  padding: 11px 22px; font-weight: 500; font-size: 0.88rem;
  text-decoration: none !important; transition: all 0.2s;
}
.zapp-btn-outline:hover { border-color: var(--zapp-dark); color: var(--zapp-dark) !important; }

.zapp-link-arrow {
  display: inline-flex; align-items: center;
  font-size: 0.875rem; font-weight: --font-weight-medium; color: var(--zapp-text); text-decoration: none;
}
.zapp-link-arrow:hover { color: var(--zapp-dark); text-decoration: underline; }


/* ================================================================
   HOW IT WORKS — reference grid (hiw-ref-*)
   ================================================================ */


/* ================================================================
   WHY ZAPPTRIP — Featured testimonial + stats (zti-*)
   ================================================================ */

/* Mobile-first: full-width featured + 2×2 stats; desktop bento (992+) */



/* ================================================================
   POPULAR ROUTES — Deal carousel (reference UI)
   ================================================================ */

/* ── Deal card (listing reference: large radius, pills, underline price) ── */

/* Loading skeleton */

@keyframes prcShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Popular routes + Reviews: hide horizontal scrollbar (swipe / trackpad / arrows still work) */
body.page-home #popularRoutes .prc-carousel-viewport,
body.page-home #reviews .reviews-carousel-viewport {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.page-home #popularRoutes .prc-carousel-viewport::-webkit-scrollbar,
body.page-home #reviews .reviews-carousel-viewport::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Popular routes + Reviews: horizontal swipe strip (peek next card), native scroll */

/* Desktop / tablet: native horizontal scroll between full-width slides (trackpad + arrows) */


/* ================================================================
   TESTIMONIALS
   ================================================================ */

/* Homepage reviews header: stack title + link on narrow viewports */
@media (max-width: 767.98px) {
  body.page-home #reviews .d-flex.align-items-end.justify-content-between {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
  }
  body.page-home #reviews .review-view-btn {
    white-space: normal;
  }
}
@keyframes zappShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }


/* ================================================================
   APP DOWNLOAD SECTION
   ================================================================ */

/* Download buttons */
.zapp-section-dark .app-dl-btn { background: transparent; border-color: rgba(255,255,255,0.2); color: #fff !important; }
.zapp-section-dark .app-dl-btn small { color: rgba(255,255,255,0.5); }
.zapp-section-dark .app-dl-btn:hover { border-color: #fff; }


/* ================================================================
   CTA CARD
   ================================================================ */
.zapp-cta-card {
  background: var(--gradient-neutral-deep);
  border-radius: var(--zapp-card-radius-lg);
  padding: 56px 48px;
  text-align: center;
  position: relative; overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 24px 56px rgba(15, 23, 42, 0.35);
}
.zapp-cta-card::before {
  content: ''; position: absolute; top: -40%; right: -10%;
  width: 300px; height: 300px; border-radius: 50%;
  background: rgba(255,255,255,0.08); pointer-events: none;
}
.zapp-cta-card::after {
  content: ''; position: absolute; bottom: -30%; left: -10%;
  width: 200px; height: 200px; border-radius: 50%;
  background: rgba(255,255,255,0.05); pointer-events: none;
}
.zapp-cta-content { position: relative; z-index: 1; }
.zapp-cta-card h2 {
  font-family: var(--ds-font-heading);
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  font-weight: var(--ds-weight-medium);
  color: #fff;
  margin: 0 0 14px;
  line-height: var(--ds-leading-tight);
  letter-spacing: 0.02em;
}
.zapp-cta-card p {
  font-size: var(--ds-text-md);
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
  line-height: var(--ds-leading-relaxed);
  font-weight: var(--ds-weight-normal);
}


/* ================================================================
   NEWSLETTER + CTA BANNER (.nl-ref-section)
   ================================================================ */

@media (max-width: 575.98px) {

  body.page-home .nl-ref-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.page-home .nl-ref-cta-actions .zapp-btn-primary,
  body.page-home .nl-ref-cta-actions .zapp-btn-outline {
    width: 100%;
    justify-content: center;
  }
}


/* ================================================================
   FAQ
   ================================================================ */

.zapp-faq-list { display: flex; flex-direction: column; gap: 10px; }
.zapp-faq-item {
  background: var(--zapp-card-bg);
  -webkit-backdrop-filter: var(--zapp-card-blur);
  backdrop-filter: var(--zapp-card-blur);
  border: 1px solid var(--zapp-card-border);
  border-radius: var(--zapp-card-radius);
  overflow: hidden;
  box-shadow: var(--zapp-card-shadow);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.zapp-faq-item:hover {
  box-shadow: var(--zapp-card-shadow-hover);
  transform: translateY(-1px);
}
.zapp-faq-item:has(.zapp-faq-q:not(.collapsed)) {
  border-color: #cbd5e1;
}
.zapp-faq-q {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 18px 22px; background: transparent; border: none;
  text-align: left; font-size: var(--ds-text-sm); font-weight: var(--ds-weight-semibold); color: var(--zapp-text);
  cursor: pointer; gap: 16px;
  line-height: var(--ds-leading-normal);
}
.zapp-faq-q:not(.collapsed) { color: var(--zapp-dark); }
.zapp-faq-icon { flex-shrink: 0; font-size: 0.9rem; color: var(--zapp-muted); transition: transform 0.2s; }
.zapp-faq-q:not(.collapsed) .zapp-faq-icon { transform: rotate(45deg); color: var(--zapp-dark); }
.zapp-faq-a {
  padding: 0 22px 20px;
  font-size: var(--ds-text-sm);
  color: var(--zapp-muted);
  line-height: var(--ds-leading-relaxed);
  font-weight: var(--ds-weight-normal);
}

/* ================================================================
   FAQ — reference layout (#faq.faq-ref-section)
   ================================================================ */


/* ================================================================
   SEO BOX
   ================================================================ */
.zapp-seo-box {
  background: var(--zapp-card-bg);
  -webkit-backdrop-filter: var(--zapp-card-blur);
  backdrop-filter: var(--zapp-card-blur);
  border: 1px solid var(--zapp-card-border);
  border-radius: var(--zapp-card-radius-lg);
  padding: calc(var(--zapp-card-pad-lg) + 8px) calc(var(--zapp-card-pad-lg) + 12px);
  box-shadow: var(--zapp-card-shadow);
}
.zapp-seo-box h5 { font-size: 0.92rem; font-weight: 500; color: var(--zapp-text); margin: 14px 0 5px; }
.zapp-seo-box h5:first-child { margin-top: 0; }
.zapp-seo-box p, .zapp-seo-box li { font-size: 0.84rem; color: var(--zapp-muted); line-height: 1.7; }
.zapp-seo-box ul { padding-left: 1.2rem; }
.zapp-seo-box li { margin-bottom: 3px; }


/* ================================================================
   FOOTER — Light branded layout
   ================================================================ */
.footer {
  border-top: 1px solid var(--zapp-border);
  background: var(--zapp-white) !important;
  color: var(--zapp-muted);
}
.footer,
.footer p,
.footer li,
.footer span,
.footer div,
.footer .text-body-secondary,
.footer .text-dark,
.footer .text-black,
.footer .text-muted { color: var(--zapp-muted) !important; }
.footer h5,
.footer h6 {
  font-size: 0.9rem !important;
  font-weight: 500;
  color: var(--zapp-text) !important;
  text-transform: none;
  letter-spacing: 0;
}
.footer a {
  text-decoration: none !important;
  color: var(--zapp-muted) !important;
  font-size: 0.86rem !important;
  transition: color 0.2s ease, transform 0.2s ease;
}
.footer a:hover { color: var(--zapp-text) !important; }
.footer .row.border-bottom { border-color: var(--zapp-border) !important; }
.footer .d-md-flex { border-top: none; }

.zapp-footer-card {
  padding: 10px 0 0;
}
.zapp-footer-logo {
  height: 38px;
  width: auto;
  object-fit: contain;
}
.zapp-footer-tagline {
  margin: 18px 0 20px;
  max-width: 420px;
  font-size: 0.95rem;
  line-height: 1.8;
}
.zapp-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 0.92rem;
  line-height: 1.6;
}
.zapp-footer-contact li:last-child { margin-bottom: 0; }
.zapp-footer-contact i {
  flex-shrink: 0;
  color: var(--zapp-muted) !important;
  font-size: 0.95rem;
  margin-top: 4px;
}
.zapp-footer-heading { margin-bottom: 14px; }
.zapp-footer-heading--plain {
  font-size: 1rem !important;
  font-weight: 500;
}
.zapp-footer-links {
  padding-left: 0;
  margin: 0;
}
.zapp-footer-links li { margin-bottom: 10px; }
.zapp-footer-links li:last-child { margin-bottom: 0; }
.zapp-footer-note {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--zapp-border);
  font-size: 0.94rem;
  line-height: 1.8;
}
.zapp-footer-utility {
  margin-top: 28px;
  padding: 28px 0;
  border-top: 1px solid var(--zapp-border);
  border-bottom: 1px solid var(--zapp-border);
}
.zapp-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.zapp-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--zapp-border);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--zapp-text) !important;
}
.zapp-trust-pill i { color: var(--zapp-muted) !important; }
.zapp-app-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.zapp-store-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 168px;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--zapp-dark);
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
}
.zapp-store-btn i,
.zapp-store-btn span,
.zapp-store-btn small {
  color: #fff !important;
}
.zapp-store-btn i { font-size: 1.2rem; }
.zapp-store-btn span {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  font-weight: 500;
}
.zapp-store-btn small {
  font-size: 0.66rem;
  font-weight: 500;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.zapp-store-btn:hover {
  background: var(--zapp-primary);
  color: #fff !important;
  transform: translateY(-1px);
}
.zapp-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.zapp-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--zapp-border);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
  color: var(--zapp-primary) !important;
}
.zapp-social-links a:hover {
  background: var(--zapp-primary);
  border-color: var(--zapp-primary);
  color: #fff !important;
}
.zapp-footer-bottom {
  padding-top: 22px;
}
.zapp-footer-copy {
  max-width: 540px;
  font-size: 0.88rem;
  line-height: 1.8;
}

.nav.flex-column:not(.nav-pills) .nav-link { padding-left: 0; padding-top: 0.15rem; padding-bottom: 0.15rem; }

/* Footer collapse on mobile */
.footer-collapse-toggle .bi-chevron-down { transition: transform 0.2s; }
.footer-collapse-toggle[aria-expanded="true"] .bi-chevron-down { transform: rotate(180deg); }

.h-25px { height: 25px !important; }
.h-md-30px { height: 30px !important; }

@media (max-width: 991.98px) {
  .zapp-footer-brand { max-width: none; }
  .zapp-footer-utility {
    margin-top: 24px;
    padding: 24px 0;
  }
  .zapp-social-links { justify-content: flex-start !important; }
}

@media (max-width: 575.98px) {
  .footer { padding-top: 2rem !important; }
  .zapp-store-btn { min-width: 100%; }
  .zapp-footer-bottom { padding-top: 18px; }
}


/* ================================================================
   LOGIN / SIGNUP MODAL  — ZappTrip Brand Redesign
   ================================================================ */

/* Dialog sizing */
.lsm-dialog {
  max-width: 820px;
  width: 100%;
}
.lsm-content {
  border: none;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
  min-height: 480px;
}
.lsm-content .row { min-height: 480px; }

/* ── Left brand panel ── */
.lsm-brand-panel {
  background: var(--gradient-brand);
  flex-direction: column;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}
.lsm-brand-panel::before {
  content: '';
  position: absolute;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  top: -60px; right: -80px;
}
.lsm-brand-panel::after {
  content: '';
  position: absolute;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  bottom: -40px; left: -50px;
}
.lsm-brand-inner {
  position: relative; z-index: 1;
  display: flex; flex-direction: column;
  padding: 36px 32px; height: 100%;
}
.lsm-logo {
  width: 120px; object-fit: contain;
  margin-bottom: 48px; filter: brightness(0) invert(1);
}
.lsm-badge-tag {
  display: inline-block;
  background: rgba(255,255,255,0.18);
  color: #fff;
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.25);
  margin-bottom: 16px;
}
.lsm-headline {
  font-size: 1.75rem; font-weight: 500; line-height: 1.2;
  color: #fff; margin-bottom: 12px; margin-top: 0;
}
.lsm-subline {
  font-size: 0.83rem; color: rgba(255,255,255,0.80);
  line-height: 1.55; margin-bottom: auto;
}
.lsm-offer-chip {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 28px;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff; font-size: 0.8rem; font-weight: 500;
  padding: 9px 14px; border-radius: 8px; backdrop-filter: blur(4px);
}
.lsm-offer-chip strong { font-weight: 500; }
.lsm-offer-chip svg { flex-shrink: 0; }
.lsm-brand-dots {
  display: flex; gap: 6px; margin-top: 24px;
}
.lsm-brand-dots span {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,0.35);
}
.lsm-brand-dots span:first-child {
  background: #fff; width: 20px; border-radius: 4px;
}

/* ── Right form panel ── */
.lsm-form-panel {
  background: var(--zapp-white);
  position: relative; display: flex; align-items: stretch;
}
.lsm-close {
  position: absolute; top: 14px; right: 16px; z-index: 10;
  background: var(--zapp-light);
  border: 1px solid var(--zapp-border);
  border-radius: 8px; padding: 5px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; line-height: 1;
  color: var(--zapp-muted);
  transition: background 0.15s, color 0.15s;
}
.lsm-close:hover { background: var(--zapp-border); color: var(--zapp-dark); }
.lsm-form-inner {
  padding: 40px 36px 32px;
  display: flex; flex-direction: column; width: 100%;
}
.lsm-form-head { margin-bottom: 28px; }
.lsm-form-title {
  font-size: 1.45rem; font-weight: 500; color: var(--zapp-dark);
  margin: 0 0 6px;
}
.lsm-form-subtitle {
  font-size: 0.85rem; color: var(--zapp-muted); margin: 0;
}

.lsm-auth-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.lsm-auth-tab {
  flex: 1 1 0;
  border: 1.5px solid var(--zapp-border);
  background: var(--zapp-surface-hover);
  color: #475569;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  padding: 11px 14px;
  min-width: 0;
  transition: all 0.18s ease;
}
.lsm-auth-tab:hover {
  border-color: #94a3b8;
  color: #0f172a;
  transform: translateY(-1px);
}
.lsm-auth-tab.is-active {
  background: var(--zapp-primary);
  border-color: var(--zapp-primary-dark);
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.lsm-auth-feedback {
  display: block;
  margin-bottom: 18px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.45;
}
.lsm-auth-feedback.is-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}
.lsm-auth-feedback.is-success {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #15803d;
}

/* Input */
.lsm-input-wrap { margin-bottom: 22px; }
.lsm-label {
  display: block; font-size: 0.8rem; font-weight: 500;
  color: var(--zapp-dark); margin-bottom: 8px;
}
.lsm-phone-group {
  display: flex; align-items: stretch;
  border: 1.5px solid var(--zapp-border);
  border-radius: 12px; overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.lsm-phone-group:focus-within {
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11,95,255,0.12);
}
.lsm-country-code {
  display: flex; align-items: center; gap: 6px;
  padding: 0 14px;
  background: var(--zapp-light);
  border-right: 1.5px solid var(--zapp-border);
  font-size: 0.85rem; font-weight: 500; color: var(--zapp-dark);
  cursor: default; white-space: nowrap; flex-shrink: 0;
}
.lsm-phone-input {
  flex: 1; border: none; outline: none;
  padding: 12px 14px; font-size: 0.95rem; color: var(--zapp-dark);
  background: transparent;
}
.lsm-field-shell {
  width: 100%;
  border: 1.5px solid var(--zapp-border);
  border-radius: 12px;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.lsm-field-shell:focus {
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11,95,255,0.12);
}
.lsm-password-shell {
  display: flex;
  align-items: stretch;
  border: 1.5px solid var(--zapp-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.lsm-password-shell:focus-within {
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11,95,255,0.12);
}
.lsm-password-shell .lsm-phone-input {
  border: none !important;
  box-shadow: none !important;
}
.lsm-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  border: none;
  background: transparent;
  color: #64748b;
  transition: color 0.18s ease, background 0.18s ease;
}
.lsm-password-toggle:hover {
  background: #f8fafc;
  color: #0f172a;
}
.lsm-phone-input::placeholder { color: #94A3B8; }
.lsm-input-hint {
  display: block; font-size: 0.75rem; color: var(--zapp-muted); margin-top: 6px;
}

.lsm-inline-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -6px 0 18px;
}
.lsm-inline-row--end {
  justify-content: flex-end;
}
.lsm-inline-row--between {
  justify-content: space-between;
}
.lsm-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  padding: 0;
  background: transparent;
  color: var(--zapp-primary);
  font-size: 0.8rem;
  font-weight: 500;
}
.lsm-inline-link:hover {
  color: var(--zapp-primary-dark);
}
.lsm-inline-link--back {
  color: #334155;
}
.lsm-forgot-kicker {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--zapp-surface-hover);
  color: var(--zapp-primary-dark);
  font-size: 0.72rem;
  font-weight: 500;
}
.lsm-reset-panel {
  margin-top: 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #dbeafe;
  background: linear-gradient(180deg, var(--zapp-surface-muted) 0%, #ffffff 100%);
}
.lsm-reset-chip {
  display: block;
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--zapp-surface-hover);
  color: var(--zapp-primary-dark);
  font-size: 0.8rem;
  font-weight: 500;
}

/* CTA button */
.lsm-cta-btn {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 20px;
  background: var(--gradient-brand);
  color: #fff; font-weight: 500; font-size: 0.95rem;
  border: none; border-radius: 12px; cursor: pointer;
  transition: opacity 0.18s, transform 0.15s, box-shadow 0.18s;
  box-shadow: 0 4px 16px rgba(11,95,255,0.30);
  margin-bottom: 22px;
}
.lsm-cta-btn:hover:not(:disabled) {
  opacity: 0.92; transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(11,95,255,0.38);
}
.lsm-cta-btn:disabled {
  opacity: 0.45; cursor: not-allowed; box-shadow: none;
}

/* Divider */
.lsm-divider {
  display: flex; align-items: center; gap: 10px;
  color: var(--zapp-muted); font-size: 0.78rem;
  margin-bottom: 16px;
}
.lsm-divider::before,
.lsm-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--zapp-border);
}

/* Social buttons */
.lsm-social-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  margin-bottom: 20px;
}
.lsm-social-row.lsm-social-row--single {
  grid-template-columns: 1fr;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}
.lsm-social-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 12px;
  background: var(--zapp-light);
  border: 1.5px solid var(--zapp-border);
  border-radius: 8px; color: var(--zapp-dark);
  font-size: 0.83rem; font-weight: 500; text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.lsm-social-btn:hover { background: var(--zapp-border); color: var(--zapp-dark); }
.lsm-email-trigger {
  background: linear-gradient(180deg, #fff8ed 0%, #ffedd5 100%);
  border-color: #fdba74;
  color: #9a3412;
  box-shadow: 0 8px 18px rgba(251, 146, 60, 0.12);
}
.lsm-email-trigger:hover {
  background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%);
  border-color: #fb923c;
  color: #7c2d12;
}

.lsm-wa-panel {
  margin: 16px 0 8px;
}
.lsm-wa-panel-inner {
  border: 1px solid rgba(11,95,255,0.12);
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
  border-radius: 18px;
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
.lsm-wa-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.lsm-wa-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  background: rgba(11,95,255,0.08);
  color: var(--zapp-primary);
}
.lsm-wa-timer {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--zapp-dark);
}
.lsm-wa-copy {
  font-size: 0.88rem;
  color: var(--zapp-muted);
}
.lsm-wa-back {
  width: 32px;
  height: 32px;
  border: 1px solid var(--zapp-border);
  background: #fff;
  color: var(--zapp-dark);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.lsm-wa-back:hover {
  background: var(--zapp-light);
  border-color: #cbd5e1;
}
.lsm-wa-message {
  margin-top: 10px;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--zapp-dark);
}
.lsm-wa-send-btn {
  width: 100%;
  margin-top: 10px;
}
.profile-date-input,
.profile-date-enhanced {
  cursor: pointer;
}
.lsm-wa-code,
.nav-profile-avatar {
  letter-spacing: 0.04em;
}
.lsm-wa-code {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.65rem;
  letter-spacing: 0.3em;
  font-weight: 500;
  color: var(--zapp-primary);
  background: #F3F7FF;
  border: 1px dashed #C6D8FF;
  border-radius: 14px;
  padding: 12px 44px 12px 14px;
}
.lsm-wa-code-text {
  display: inline-block;
}
.lsm-wa-copy-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(11,95,255,0.18);
  border-radius: 8px;
  background: #fff;
  color: var(--zapp-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.lsm-wa-copy-icon:hover {
  background: #eef4ff;
  transform: translateY(-1px);
}
.lsm-wa-number {
  text-align: center;
  margin-top: 8px;
  font-size: 0.82rem;
  color: var(--zapp-dark-2);
  font-weight: 500;
}
.lsm-wa-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}
.lsm-whatsapp-link {
  background: rgba(198,255,0,0.22);
  border-color: rgba(198,255,0,0.4);
  color: var(--zapp-dark);
}
.lsm-whatsapp-link:hover {
  background: var(--zapp-accent);
  color: var(--zapp-dark);
}

.zapp-toast-container {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.zapp-toast {
  min-width: 260px;
  max-width: 360px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff;
  color: var(--zapp-dark);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
  border: 1px solid rgba(15, 23, 42, 0.08);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.zapp-toast.show {
  opacity: 1;
  transform: translateY(0);
}
.zapp-toast-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  flex: 0 0 10px;
  background: var(--zapp-primary);
}
.zapp-toast.is-success .zapp-toast-dot { background: #16a34a; }
.zapp-toast.is-error .zapp-toast-dot { background: #dc2626; }

.profile-complete-dialog {
  max-width: 760px;
}
.profile-complete-content {
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.2);
}
.profile-complete-header {
  padding: 24px 24px 14px;
  background:
    radial-gradient(circle at 92% 8%, rgba(11,95,255,0.13) 0%, rgba(11,95,255,0) 38%),
    linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%);
}
.profile-complete-header h4 {
  margin: 8px 0 4px;
  font-weight: 500;
  color: var(--zapp-dark);
}
.profile-complete-header p {
  margin: 0;
  color: var(--zapp-muted);
}
.profile-complete-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(11,95,255,0.08);
  color: var(--zapp-primary);
  font-size: 0.76rem;
  font-weight: 500;
}
.profile-complete-body {
  padding: 18px 24px 24px;
}
.profile-complete-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.profile-complete-span-2 {
  grid-column: 1 / -1;
}

.profile-complete-stepline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.profile-step-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid #dbe7ff;
  background: var(--zapp-surface-muted);
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 500;
}
.profile-step-chip.is-active {
  border-color: rgba(11,95,255,0.35);
  background: rgba(11,95,255,0.1);
  color: var(--zapp-primary);
}

.profile-inline-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.profile-inline-btn {
  border: 1px solid rgba(11,95,255,0.3);
  background: #eef4ff;
  color: var(--zapp-primary);
  border-radius: 12px;
  min-width: 116px;
  height: 46px;
  padding: 0 14px;
  font-weight: 500;
  font-size: 0.86rem;
  transition: all 0.18s ease;
}
.profile-inline-btn:hover {
  background: #dbe9ff;
  border-color: rgba(11,95,255,0.5);
}
.profile-inline-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.profile-meta-row {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.profile-email-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid #f3c9c9;
  background: #fff7f7;
  color: #dc2626;
  font-size: 0.73rem;
  font-weight: 500;
}
.profile-email-badge.is-verified {
  border-color: #b8e7c5;
  background: #f0fdf4;
  color: #15803d;
}
.profile-link-btn {
  border: none;
  background: transparent;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.profile-email-otp-wrap {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.profile-verify-code-btn {
  min-width: 130px;
}

.profile-date-wrap {
  position: relative;
}
.profile-date-wrap .lsm-phone-input {
  padding-right: 40px;
}
.profile-date-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.7;
  pointer-events: none;
}

.profile-extra-details {
  border: 1px solid #e6edf8;
  border-radius: 14px;
  padding: 10px 12px 12px;
  background: #fafcff;
}
.profile-extra-details > summary {
  list-style: none;
  cursor: pointer;
  font-size: 0.87rem;
  font-weight: 500;
  color: #334155;
}
.profile-extra-details > summary::-webkit-details-marker {
  display: none;
}
.profile-extra-details[open] > summary {
  margin-bottom: 12px;
}
.profile-extra-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.profile-preferences {
  border: 1px solid #e6edf8;
  border-radius: 14px;
  background: #ffffff;
  padding: 10px 12px;
  display: grid;
  gap: 8px;
}
.profile-check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
  color: #334155;
}

@media (max-width: 767.98px) {
  .profile-complete-grid {
    grid-template-columns: 1fr;
  }
  .profile-complete-span-2 {
    grid-column: auto;
  }
  .profile-inline-actions,
  .profile-email-otp-wrap,
  .profile-extra-grid {
    grid-template-columns: 1fr;
  }
  .profile-inline-btn,
  .profile-verify-code-btn {
    width: 100%;
  }
}

/* Terms */
.lsm-terms {
  font-size: 0.73rem; color: var(--zapp-muted); text-align: center; line-height: 1.55;
  margin: 0;
}
.lsm-terms a { color: #475569; text-decoration: underline; }
.lsm-terms a:hover { color: var(--zapp-dark); }

/* Google “verify mobile” only — match reference (title, pill CTA, footer) */
#loginSignupModal.lsm-oauth-phone-verify .lsm-form-inner {
  padding: 44px 40px 32px;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-form-head {
  margin-bottom: 22px;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-form-title {
  font-size: 1.65rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-form-subtitle {
  font-size: 0.9rem;
  color: #64748b;
  margin-top: 4px;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-close {
  display: none !important;
  pointer-events: none !important;
  background: transparent;
  border: none;
  color: #94a3b8;
  box-shadow: none;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-close:hover {
  background: transparent;
  color: #94a3b8;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-auth-panel[data-auth-view="login"] .lsm-input-wrap {
  margin-bottom: 16px;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-input-hint {
  font-size: 0.78rem;
  color: #94a3b8;
  margin-top: 8px;
}
#loginSignupModal.lsm-oauth-phone-verify #continueBtn.lsm-cta-btn {
  background: #94b3fd;
  background-image: none;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(148, 179, 253, 0.42);
  margin-bottom: 0;
  margin-top: 6px;
  padding: 14px 22px;
  font-size: 0.95rem;
  font-weight: 500;
}
#loginSignupModal.lsm-oauth-phone-verify #continueBtn.lsm-cta-btn:hover:not(:disabled) {
  background: #7da3fc;
  box-shadow: 0 10px 26px rgba(125, 163, 252, 0.5);
}
#loginSignupModal.lsm-oauth-phone-verify #continueBtn.lsm-cta-btn:disabled {
  opacity: 0.48;
  box-shadow: none;
}
#loginSignupModal.lsm-oauth-phone-verify .lsm-terms {
  margin-top: 28px;
  padding-top: 0;
  font-size: 0.72rem;
  color: #94a3b8;
  line-height: 1.6;
}

/* Legacy alias — keep any remaining .modal-btn usages working */
.modal-btn {
  font-weight: 500; border-radius: 8px; border: none; color: #fff;
  background: var(--zapp-primary); min-width: 200px; font-size: 0.9rem; padding: 12px;
}
.modal-btn:hover { background: var(--zapp-primary-dark); color: #fff; }

/* ----------------------------------------------------------------
   Profile Modal — Gender chips
   ---------------------------------------------------------------- */
.profile-gender-chips {
  display: flex;
  gap: 8px;
  padding: 4px 0;
}
.profile-gender-chip {
  flex: 1;
  cursor: pointer;
}
.profile-gender-chip input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0; height: 0;
}
.profile-gender-chip span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 9px 8px;
  border-radius: 8px;
  border: 1.5px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
  font-size: 0.87rem;
  font-weight: 500;
  transition: all .18s ease;
  user-select: none;
}
.profile-gender-chip:hover span {
  border-color: #94a3b8;
  background: #f1f5f9;
}
.profile-gender-chip.is-selected span {
  border-color: var(--zapp-primary);
  background: var(--zapp-surface-hover);
  color: var(--zapp-primary-dark);
  box-shadow: 0 0 0 3px rgba(11,95,255,.10);
}

/* ----------------------------------------------------------------
   Profile Modal — Password wrapper with toggle icon
   ---------------------------------------------------------------- */
.profile-pw-wrap {
  display: flex;
  align-items: stretch;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.profile-pw-wrap:focus-within {
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11,95,255,.12);
}
.profile-pw-wrap .profile-pw-input {
  border: none !important;
  border-radius: 0 !important;
  flex: 1;
  box-shadow: none !important;
  outline: none !important;
}
.profile-pw-wrap .profile-pw-input:focus {
  border: none !important;
  box-shadow: none !important;
}
.profile-pw-toggle {
  border: none;
  background: transparent;
  padding: 0 14px;
  color: #94a3b8;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color .15s;
  flex-shrink: 0;
}
.profile-pw-toggle:hover {
  color: #475569;
}

/* Password strength indicator */
.profile-pw-strength {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  min-height: 14px;
}
.profile-pw-bar {
  flex: 1;
  height: 4px;
  background: #e2e8f0;
  border-radius: 99px;
  overflow: hidden;
}
.profile-pw-bar-fill {
  height: 100%;
  width: 0;
  border-radius: 99px;
  transition: width .3s ease, background .3s ease;
}
.profile-pw-label {
  font-size: 0.7rem;
  font-weight: 500;
  color: #64748b;
  min-width: 42px;
  text-align: right;
}

/* Confirm password match indicator */
.profile-confirm-match {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 5px;
  padding: 3px 0;
}
.profile-confirm-match.is-match { color: #16a34a; }
.profile-confirm-match.is-mismatch { color: #dc2626; }

/* ----------------------------------------------------------------
   Keep navbar non-interactive while ANY Bootstrap modal is open
   Bootstrap adds `.modal-open` to <body> automatically.
   ---------------------------------------------------------------- */
body.modal-open #zappNavbar {
  pointer-events: none !important;
  z-index: 1030 !important;
}

/* ================================================================
   FLATPICKR OVERRIDES
   ================================================================ */
.flatpickr-calendar { border-radius: var(--zapp-radius); box-shadow: 0 8px 30px rgba(0,0,0,0.10); border: 1px solid var(--zapp-border); }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: var(--zapp-primary); border-color: var(--zapp-primary); }
.flatpickr-day.today { border-color: var(--zapp-primary); }
.flatpickr-day:hover { background: var(--zapp-light); }

#profileCompleteModal .flatpickr-calendar {
  border-radius: 16px;
  border: 1px solid #d9e5fb;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
}
#profileCompleteModal .flatpickr-months {
  background: linear-gradient(90deg, var(--zapp-primary) 0%, var(--zapp-primary-dark) 100%);
  border-radius: 16px 16px 0 0;
}
#profileCompleteModal .flatpickr-month,
#profileCompleteModal .flatpickr-current-month .flatpickr-monthDropdown-months {
  color: #fff;
  fill: #fff;
}
#profileCompleteModal .flatpickr-weekdays {
  background: var(--zapp-surface-muted);
}
#profileCompleteModal span.flatpickr-weekday {
  color: #64748b;
  font-weight: 500;
}


/* ================================================================
   RESPONSIVE — Mobile (≤767px)
   ================================================================ */
@media (max-width: 767.98px) {
  body { padding-bottom: 0px; }

  .zapp-hero {
    padding-top: 72px;
  }
  .zapp-hero-row {
    min-height: auto;
    padding: 16px 0 28px;
  }

  .uber-widget {
    max-width: 100%;
    padding: 16px;
  }
  /* dropdown width & left handled by JS alignDropdown() */

  /* How it works: compact 2-up cards, title + step only */

  .zapp-cta-card { padding: 28px 20px; }

  header .navbar-brand-item { height: 32px !important; }
}


/* ================================================================
   RESPONSIVE — Small (≤575px)
   ================================================================ */
@media (max-width: 575.98px) {
  .zapp-navbar { border-bottom: 1px solid var(--zapp-border); }
  header .navbar { padding: 0.4rem 0; }
  header .navbar-brand-item { height: 30px !important; }

  .uber-ride-pill {
    padding: 10px 12px;
    font-size: var(--ds-text-sm);
  }
  #loginSignupModal .modal-dialog { margin: 12px; }
  #loginSignupModal .modal-content { border-radius: 16px !important; }
  .lsm-brand-panel { display: none !important; }
  .lsm-dialog { max-width: calc(100% - 24px); margin: 12px auto; }
  .lsm-form-inner { padding: 32px 24px 28px; }
  .lsm-content { border-radius: 16px !important; min-height: unset; }
  .lsm-auth-tabs { gap: 6px; }
  .lsm-auth-tab { font-size: 0.76rem; padding: 10px 8px; }
  .lsm-social-row { grid-template-columns: 1fr 1fr; }
}


@media (min-width: 768px) {
  body { padding-bottom: 0 !important; }
}

/* ================================================================
   SEARCH RESULTS PAGE (SRP)
   ================================================================ */

.srp-body { background: #fff; }

/* Search (desktop): language / profile menus above map + results stacking */
body.page-search > header .zapp-lang-dropdown .dropdown-menu,
body.page-search > header .zapp-profile-dropdown .dropdown-menu {
  z-index: 1300;
}

.srp-main {
  min-height: calc(100vh - var(--zapp-main-offset, 92px));
  height: auto;
  overflow: visible;
  padding: 0 50px 32px;
}

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

.srp-layout {
  display: grid;
  /* Left sidebar wider, middle content flexible, right map fills remaining space */
  grid-template-columns: 380px minmax(0, 1fr) minmax(320px, 1fr);
  grid-template-rows: auto;
  align-items: start;
  column-gap: 24px;
  margin-top: 12px;
  min-height: calc(100vh - var(--zapp-main-offset, 92px) - 20px);
  height: auto;
}

/* Wrapper: desktop uses display:contents so sidebar + results stay grid columns */
.srp-primary-col {
  display: contents;
}

/* ---- Left Sidebar / Widget (desktop: full widget height, page scroll — no inner scrollbar) ---- */
.srp-sidebar {
  background: transparent;
  border-right: none;
  overflow-x: hidden;
  overflow-y: visible;
  max-height: none;
  height: auto;
  position: sticky;
  top: 12px;
  align-self: start;
  padding: 0 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Find a trip card box */
.srp-widget {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
  flex-shrink: 0;
}

.srp-widget-title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin-bottom: 14px;
}

.srp-discount-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #dcfce7;
  color: #15803d;
  font-size: 0.72rem;
  font-weight: 500;
  padding: 5px 10px;
  border-radius: 8px;
  margin-bottom: 18px;
  border: 1px solid #bbf7d0;
  line-height: 1.3;
}

/* ---- Pill-row location inputs ---- */
.srp-loc-rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.srp-loc-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e8ecf0;
  border-radius: 12px;
  padding: 10px 12px;
  transition: border-color 0.17s, box-shadow 0.17s;
  z-index: 1;
}
.srp-loc-row:focus-within {
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11,95,255,0.08);
  z-index: 20;
}
.srp-loc-row:has(.uber-dropdown.show) {
  z-index: 20;
}
.srp-loc-row.srp-row-btn {
  cursor: pointer;
  user-select: none;
}
.srp-loc-row.srp-row-btn:hover {
  border-color: #cbd5e1;
  background: #f1f5f9;
}

/* Icon slot */
.srp-loc-icon {
  flex-shrink: 0;
  width: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--zapp-muted);
}

/* Pickup filled circle */
.srp-dot-solid {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--zapp-dark);
  display: block;
}

/* Drop square */
.srp-dot-square {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--zapp-accent);
  display: block;
}

/* Borderless transparent input inside pill row */
.srp-loc-input-pill {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--zapp-dark);
  min-width: 0;
  padding: 0;
}
.srp-loc-input-pill::placeholder { color: #94a3b8; font-weight: 400; }

/* Label & chevron for clickable rows */
.srp-row-label {
  flex: 1;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--zapp-dark);
  line-height: 1;
}

.srp-row-chevron {
  flex-shrink: 0;
  color: var(--zapp-muted);
  transition: transform 0.2s;
}
.srp-row-chevron.rotated { transform: rotate(180deg); }

/* Dropdown panel — pax only now (schedule uses modal) */
.srp-schedule-dropdown {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  overflow: hidden;
  max-height: 0;
  padding: 0 14px;
  transition: max-height 0.25s ease, padding 0.2s ease;
  margin-top: -4px;
}
.srp-schedule-dropdown.open {
  max-height: 200px;
  padding: 14px;
}

/* ═══ Schedule Modal ═══ */
.srp-sched-modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0);
  pointer-events: none;
  transition: background 0.25s;
}
.srp-sched-modal.open {
  background: rgba(0,0,0,0.52);
  pointer-events: all;
}
.srp-smod-panel {
  background: #fff;
  border-radius: 18px;
  width: 360px;
  max-width: calc(100vw - 24px);
  max-height: 88vh;
  overflow-y: auto;
  box-shadow: 0 24px 64px rgba(0,0,0,0.22);
  transform: scale(0.94) translateY(18px);
  opacity: 0;
  transition: transform 0.25s cubic-bezier(.22,1,.36,1), opacity 0.2s ease;
  scrollbar-width: none;
}
.srp-smod-panel::-webkit-scrollbar { display: none; }
.srp-sched-modal.open .srp-smod-panel {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Modal header */
.srp-smod-head {
  padding: 22px 20px 14px;
  position: relative;
  border-bottom: 1px solid #f1f5f9;
}
.srp-smod-close {
  position: absolute;
  top: 16px; right: 16px;
  background: #f1f5f9;
  border: none;
  border-radius: 50%;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: var(--zapp-dark);
  transition: background 0.15s;
}
.srp-smod-close:hover { background: #e2e8f0; }
.srp-smod-title {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0 0 5px;
  padding-right: 42px;
  line-height: 1.3;
}
.srp-smod-route {
  font-size: 0.78rem;
  color: var(--zapp-muted);
  font-weight: 500;
  margin: 0;
}

/* Modal body */
.srp-smod-body {
  padding: 16px 16px 8px;
}

/* Calendar wrap inside modal — slide-down from date trigger */
.srp-cal-modal {
  border: 1px solid #e8ecf0;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.09);
  margin-bottom: 10px;
  padding: 0 14px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.25s ease;
}
.srp-cal-modal.open {
  max-height: 400px;
  padding: 14px;
}

/* Modal footer */
.srp-smod-foot {
  padding: 12px 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #f1f5f9;
}
.srp-smod-terms {
  font-size: 0.78rem;
  color: var(--zapp-primary);
  text-decoration: none;
  font-weight: 500;
}
.srp-smod-terms:hover { text-decoration: underline; }

/* Confirm/Next button inside modal footer */
.srp-smod-foot .srp-sched-confirm {
  width: auto;
  padding: 11px 40px;
  margin-top: 0;
  border-radius: 30px;
  font-size: 0.92rem;
}

/* ── Schedule selector trigger buttons ── */
.srp-sched-sel-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 11px 14px;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.15s, background 0.15s;
  margin-bottom: 6px;
}
.srp-sched-sel-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.srp-sched-sel-label {
  flex: 1;
  font-size: 0.87rem;
  font-weight: 500;
  color: var(--zapp-dark);
}

.srp-sched-chevron {
  color: var(--zapp-muted);
  transition: transform 0.2s;
}
.srp-sched-chevron.rotated { transform: rotate(180deg); }

/* ── Calendar Wrap (flatpickr host — collapsing handled by .srp-cal-modal) ── */
.srp-cal-wrap {
  margin-bottom: 4px;
}

/* Hidden input that flatpickr anchors to */
.srp-cal-inline-inp {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  height: 0;
  width: 0;
  padding: 0;
  border: none;
}

/* Flatpickr inline calendar overrides */
.srp-cal-wrap .flatpickr-calendar.inline {
  display: block !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: inherit !important;
}
.srp-cal-wrap .flatpickr-innerContainer,
.srp-cal-wrap .flatpickr-rContainer { width: 100% !important; }
.srp-cal-wrap .flatpickr-days { width: 100% !important; border: none !important; }
.srp-cal-wrap .dayContainer { width: 100% !important; min-width: 100% !important; max-width: 100% !important; }

.srp-cal-wrap .flatpickr-day {
  max-width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;
  border-radius: 50% !important;
  border: none !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--zapp-dark) !important;
  flex-basis: calc(100% / 7) !important;
}
.srp-cal-wrap .flatpickr-day:hover,
.srp-cal-wrap .flatpickr-day.prevMonthDay:hover,
.srp-cal-wrap .flatpickr-day.nextMonthDay:hover {
  background: rgba(11,95,255,0.1) !important;
  color: var(--zapp-primary) !important;
}
.srp-cal-wrap .flatpickr-day.selected,
.srp-cal-wrap .flatpickr-day.selected:hover {
  background: var(--zapp-primary) !important;
  border-color: var(--zapp-primary) !important;
  color: #fff !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 8px rgba(11,95,255,0.35) !important;
}
.srp-cal-wrap .flatpickr-day.today:not(.selected) {
  border: 1.5px solid var(--zapp-primary) !important;
  color: var(--zapp-primary) !important;
  font-weight: 500 !important;
}
.srp-cal-wrap .flatpickr-day.flatpickr-disabled,
.srp-cal-wrap .flatpickr-day.prevMonthDay,
.srp-cal-wrap .flatpickr-day.nextMonthDay {
  color: #cbd5e1 !important;
  pointer-events: none !important;
}

/* Month navigation */
.srp-cal-wrap .flatpickr-months { padding-bottom: 4px !important; }
.srp-cal-wrap .flatpickr-month {
  height: 36px !important;
  line-height: 36px !important;
  color: var(--zapp-dark) !important;
  fill: var(--zapp-dark) !important;
}
.srp-cal-wrap .flatpickr-current-month {
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--zapp-dark) !important;
  padding-top: 0 !important;
  line-height: 36px !important;
  top: 0 !important;
}
.srp-cal-wrap .flatpickr-current-month .flatpickr-monthDropdown-months,
.srp-cal-wrap .flatpickr-current-month input.cur-year {
  font-weight: 500 !important;
  color: var(--zapp-dark) !important;
  font-size: 0.88rem !important;
}
.srp-cal-wrap .numInputWrapper span { display: none !important; }
.srp-cal-wrap .flatpickr-prev-month,
.srp-cal-wrap .flatpickr-next-month {
  padding: 6px 8px !important;
  color: var(--zapp-dark) !important;
  fill: var(--zapp-dark) !important;
}
.srp-cal-wrap .flatpickr-prev-month:hover,
.srp-cal-wrap .flatpickr-next-month:hover { color: var(--zapp-primary) !important; fill: var(--zapp-primary) !important; }

/* Weekday row */
.srp-cal-wrap .flatpickr-weekdays { padding: 0 !important; }
.srp-cal-wrap .flatpickr-weekday {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: var(--zapp-muted) !important;
  text-transform: uppercase !important;
  flex: 1 !important;
}

/* Note & pick-now button */
.srp-cal-note {
  font-size: 0.74rem;
  color: var(--zapp-primary);
  margin: 6px 0 8px;
  padding: 0;
}
.srp-cal-now-btn {
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--zapp-dark);
  cursor: pointer;
  transition: background 0.15s;
  margin-bottom: 6px;
}
.srp-cal-now-btn:hover { background: #f1f5f9; }

/* ── Time slots dropdown ── */
.srp-time-slots-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease, border 0.2s;
  border-radius: 8px;
  margin-bottom: 6px;
  border: 1px solid transparent;
}
.srp-time-slots-wrap.open {
  max-height: 210px;
  border-color: #e2e8f0;
}
.srp-time-slots {
  overflow-y: auto;
  max-height: 208px;
  background: #fff;
  border-radius: 9px;
  scrollbar-width: thin;
  scrollbar-color: #e2e8f0 transparent;
}
.srp-ts-item {
  padding: 9px 16px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--zapp-primary);
  cursor: pointer;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.1s;
  white-space: nowrap;
}
.srp-ts-item:last-child { border-bottom: none; }
.srp-ts-item:hover { background: rgba(11,95,255,0.06); }
.srp-ts-item.active {
  background: rgba(11,95,255,0.09);
  font-weight: 500;
  color: var(--zapp-primary);
}
.srp-ts-item.srp-ts-item--disabled {
  color: #94a3b8;
  cursor: not-allowed;
  pointer-events: none;
  background: #f8fafc;
}
.srp-ts-item.srp-ts-item--disabled:hover {
  background: #f8fafc;
}

/* Confirm button */
.srp-sched-confirm {
  width: 100%;
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 0;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
  margin-top: 8px;
}
.srp-sched-confirm:hover { background: #1e293b; }

/* Pax grid */
.srp-pax-options {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  margin-bottom: 12px;
}

.srp-pax-opt {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--zapp-dark);
  cursor: pointer;
  text-align: center;
  transition: border-color 0.15s, background 0.15s;
}
.srp-pax-opt:hover { border-color: var(--zapp-primary); }
.srp-pax-opt.active {
  background: var(--zapp-primary);
  border-color: var(--zapp-primary);
  color: #fff;
}

/* Trip type pills */
.srp-trip-type-row {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.srp-carrier-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 11px 12px;
}

.srp-carrier-head {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.srp-carrier-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--zapp-dark);
}

.srp-carrier-status {
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--zapp-muted);
}

.srp-carrier-toggle {
  position: relative;
  flex-shrink: 0;
  width: 50px;
  height: 28px;
  border-radius: 999px;
  background: #cbd5e1;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  outline: none;
}

.srp-carrier-toggle.active {
  background: var(--zapp-primary);
  box-shadow: 0 0 0 4px rgba(11,95,255,0.12);
}

.srp-carrier-toggle-knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15,23,42,0.18);
  transition: transform 0.2s ease;
}

.srp-carrier-toggle.active .srp-carrier-toggle-knob {
  transform: translateX(22px);
}

.srp-carrier-toggle:focus-visible {
  box-shadow: 0 0 0 4px rgba(11,95,255,0.16);
}

.srp-trip-pill {
  flex: 1;
  background: transparent;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px 0;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--zapp-muted);
  cursor: pointer;
  text-align: center;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.srp-trip-pill:hover { border-color: var(--zapp-primary); color: var(--zapp-primary); }
.srp-trip-pill.active {
  background: var(--zapp-primary);
  border-color: var(--zapp-primary);
  color: #fff;
}

/* Dropdown list for city autocomplete inside pill rows */
.srp-loc-row .uber-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 5;
  isolation: isolate;
  background-color: #ffffff;
}

/* Update btn */
.srp-update-btn {
  width: 100%;
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 11px 0;
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
  margin-bottom: 24px;
  transition: background 0.17s;
}
.srp-update-btn:hover { background: #1e293b; }

/* Benefits card box (separate from Find a trip) */
.srp-benefits {
  background: var(--zapp-card-bg);
  -webkit-backdrop-filter: var(--zapp-card-blur);
  backdrop-filter: var(--zapp-card-blur);
  border: 1px solid var(--zapp-card-border);
  border-radius: var(--zapp-card-radius);
  padding: var(--zapp-card-pad-lg) calc(var(--zapp-card-pad-lg) + 2px);
  box-shadow: var(--zapp-card-shadow);
  flex-shrink: 0;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.srp-benefits:hover {
  box-shadow: var(--zapp-card-shadow-hover);
}
.srp-benefits-title {
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-weight-bold);
  color: var(--zapp-dark);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.srp-benefits-list {
  list-style: none;
  padding: 0; margin: 0 0 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.srp-benefits-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: var(--ds-text-sm);
  color: var(--zapp-text);
  line-height: var(--ds-leading-normal);
}
.srp-benefits-list li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--zapp-muted);
  width: 18px;
  height: 18px;
}
.srp-see-terms {
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
  font-size: 0.78rem;
  color: var(--zapp-primary);
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s;
}
.srp-see-terms:hover { text-decoration: underline; color: var(--zapp-primary-dark); }

/* ---- Middle: Results ---- */
.srp-results {
  overflow: visible;
  background: #fff;
  height: auto;
  min-width: 0;
}

.srp-mobile-sheet-head {
  box-sizing: border-box;
}

.srp-results-scroll {
  box-sizing: border-box;
}

.srp-results-inner {
  padding: 14px 24px 48px;
  max-width: 640px;
}

@media (min-width: 1101px) {
  .srp-trip-summary {
    display: none !important;
  }
  .srp-results-scroll {
    display: contents;
  }
  .srp-mobile-sheet-head {
    padding: 14px 24px 0;
    max-width: 640px;
    margin: 0 auto;
  }
  .srp-sheet-handle-hit {
    display: none !important;
  }
  .srp-results-inner {
    padding: 8px 24px 48px;
  }
  .srp-mobile-loc-editor {
    display: contents;
  }

  /* Search desktop: results column + map share row height; scroll cab list; footer sticky to viewport bottom */
  body.page-search .srp-main {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--zapp-main-offset, 92px) - 36px);
    margin-bottom: 0 !important;
  }
  body.page-search .srp-layout {
    flex: 1 1 auto;
    align-items: stretch;
    min-height: calc(100vh - var(--zapp-main-offset, 92px) - 48px);
  }
  body.page-search .srp-sidebar {
    align-self: start;
  }
  body.page-search .srp-map-col {
    position: relative;
    top: auto;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    align-self: stretch;
    padding-top: 0;
  }
  body.page-search .srp-map-card {
    flex: 1 1 auto;
    min-height: 260px;
    height: 100%;
    max-height: 100%;
  }
  body.page-search #srpMap {
    min-height: 0;
  }
  body.page-search .srp-results {
    display: flex;
    flex-direction: column;
    min-height: 0;
    align-self: stretch;
    overflow: hidden;
  }
  body.page-search .srp-results-inner {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    /* Reserve space for viewport-fixed sheet footer */
    padding: 8px 24px 100px;
    max-width: none;
  }
  body.page-search .srp-mobile-sheet-head {
    flex-shrink: 0;
  }
  body.page-search .srp-sheet-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
    z-index: 90;
    margin: 0;
    background: #fff;
    padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #e8ecf0;
    box-shadow: 0 -10px 36px rgba(15, 23, 42, 0.12);
  }
  body.page-search .srp-sheet-footer .srp-ride-cta-row {
    margin-bottom: 0;
    margin-top: 0;
  }
}

.srp-results-heading {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin-bottom: 4px;
}

.srp-results-sub {
  font-size: 0.9rem;
  color: var(--zapp-muted);
  margin-bottom: 12px;
}

.srp-dist-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: var(--zapp-muted);
  background: #f8fafc;
  border: 1px solid #e8ecf0;
  border-radius: 8px;
  padding: 7px 12px;
  margin-bottom: 20px;
}

/* ─── Choose a Rider Modal ─────────────────────────────────── */
.srp-rider-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(0,0,0,0.52);
  align-items: center;
  justify-content: center;
}
.srp-rider-modal.open {
  display: flex;
}
.srp-rmod-panel {
  background: #fff;
  border-radius: 18px;
  width: 360px;
  max-width: calc(100vw - 24px);
  box-shadow: 0 24px 64px rgba(0,0,0,0.18);
  overflow: hidden;
  animation: srpRmodIn 0.22s cubic-bezier(.34,1.4,.64,1) both;
}
@keyframes srpRmodIn {
  from { opacity: 0; transform: scale(0.93) translateY(16px); }
  to   { opacity: 1; transform: none; }
}
.srp-rmod-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid var(--zapp-border);
}
.srp-rmod-title {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0;
}
.srp-rmod-close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--zapp-muted);
  padding: 5px;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.srp-rmod-close:hover {
  background: #f1f5f9;
  color: var(--zapp-dark);
}
.srp-rmod-body {
  padding: 6px 0 4px;
}
.srp-rider-opt {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.14s;
}
.srp-rider-opt:hover {
  background: #f8fafc;
}
.srp-rider-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
}
.srp-rider-opt--selected .srp-rider-avatar {
  background: var(--zapp-surface-hover);
}
.srp-rider-name {
  flex: 1;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--zapp-dark);
}
.srp-rider-radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--zapp-border);
  flex-shrink: 0;
  transition: all 0.15s;
  position: relative;
}
.srp-rider-radio::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: transparent;
  transition: background 0.15s;
}
.srp-rider-opt--selected .srp-rider-radio {
  border-color: var(--zapp-primary);
}
.srp-rider-opt--selected .srp-rider-radio::after {
  background: var(--zapp-primary);
}
.srp-rmod-foot {
  padding: 8px 20px 22px;
}
.srp-rider-done-btn {
  width: 100%;
  padding: 14px;
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: background 0.18s, transform 0.12s;
}
.srp-rider-done-btn:hover {
  background: #1e293b;
  transform: translateY(-1px);
}
.srp-rider-done-btn:active {
  transform: translateY(0);
}

/* ─── Guest Trips Modal ─────────────────────────────────────── */
.srp-guest-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1070;
  background: rgba(0,0,0,0.56);
  align-items: center;
  justify-content: center;
}
.srp-guest-modal.open { display: flex; }

.srp-gmod-panel {
  background: #fff;
  border-radius: 20px;
  width: 400px;
  max-width: calc(100vw - 24px);
  max-height: 90vh;
  overflow-y: auto;
  scrollbar-width: none;
  box-shadow: 0 28px 70px rgba(0,0,0,0.22);
  animation: srpRmodIn 0.22s cubic-bezier(.34,1.4,.64,1) both;
}
.srp-gmod-panel::-webkit-scrollbar { display: none; }

/* Banner / Illustration */
.srp-gmod-banner {
  position: relative;
  height: 200px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
}
.srp-gmod-close-overlay {
  position: absolute;
  top: 12px; right: 12px;
  z-index: 10;
  background: rgba(255,255,255,0.85);
  border: none;
  cursor: pointer;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #0F172A;
  backdrop-filter: blur(4px);
  transition: background 0.15s;
}
.srp-gmod-close-overlay:hover { background: #fff; }

/* CSS Scene */
.srp-gscene-sky {
  position: absolute; inset: 0;
  background: linear-gradient(170deg, #dbeafe 0%, #bfdbfe 55%, #93c5fd 100%);
}
.srp-gscene-road {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 56px;
  background: #475569;
  border-top: 3px solid #64748b;
}
.srp-gscene-road::after {
  content: '';
  position: absolute;
  top: 50%; left: 0; right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, #f1f5f9 0 30px, transparent 30px 60px);
  transform: translateY(-50%);
}

/* Buildings */
.srp-gscene-bldg {
  position: absolute;
  bottom: 56px;
  background: #93c5fd;
  border-radius: 3px 3px 0 0;
}
.srp-gscene-bldg--1 { left: 20px; width: 36px; height: 70px; background: #60a5fa; }
.srp-gscene-bldg--2 { left: 60px; width: 28px; height: 90px; background: #818cf8; }
.srp-gscene-bldg--3 { left: 94px; width: 40px; height: 55px; background: #7dd3fc; }
.srp-gscene-bldg--1::after, .srp-gscene-bldg--2::after, .srp-gscene-bldg--3::after {
  content: '';
  position: absolute;
  top: 10px; left: 6px; right: 6px;
  height: calc(100% - 20px);
  background: repeating-linear-gradient(180deg, rgba(255,255,255,0.18) 0 10px, transparent 10px 18px);
}

/* Tree */
.srp-gscene-tree { position: absolute; bottom: 56px; right: 60px; }
.srp-gscene-trunk { width: 8px; height: 22px; background: #92400e; margin: 0 auto; border-radius: 2px; }
.srp-gscene-leaves { width: 34px; height: 38px; background: #22c55e; border-radius: 50% 50% 40% 40%; position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); box-shadow: 0 2px 8px rgba(34,197,94,0.3); }

/* Car */
.srp-gscene-car {
  position: absolute;
  bottom: 62px;
  right: 110px;
  width: 110px;
  height: 52px;
}
.srp-gcar-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 32px;
  background: #f59e0b;
  border-radius: 6px 10px 6px 6px;
  box-shadow: 2px 4px 12px rgba(245,158,11,0.35);
}
.srp-gcar-roof {
  position: absolute;
  bottom: 28px; left: 20px; right: 14px;
  height: 24px;
  background: #fbbf24;
  border-radius: 8px 8px 2px 2px;
}
.srp-gcar-windshield {
  position: absolute;
  bottom: 30px;
  width: 22px; height: 20px;
  background: rgba(219,234,254,0.9);
  border-radius: 3px;
}
.srp-gcar-windshield--front { right: 16px; }
.srp-gcar-windshield--rear  { left: 22px; border-radius: 3px 3px 2px 2px; }
.srp-gcar-wheel {
  position: absolute;
  bottom: -7px;
  width: 20px; height: 20px;
  background: #1e293b;
  border-radius: 50%;
  border: 3px solid #cbd5e1;
}
.srp-gcar-wheel--front { right: 12px; }
.srp-gcar-wheel--rear  { left: 14px; }
.srp-gcar-headlight {
  position: absolute;
  right: -4px; bottom: 12px;
  width: 8px; height: 8px;
  background: #fef9c3;
  border-radius: 50%;
  box-shadow: 0 0 8px 3px rgba(254,249,195,0.7);
}
.srp-gcar-stripe {
  position: absolute;
  left: 0; right: 0; bottom: 10px;
  height: 4px;
  background: var(--zapp-primary);
  border-radius: 2px;
  opacity: 0.7;
}

/* ZappTrip brand label on banner */
.srp-gscene-brand {
  position: absolute;
  top: 14px; left: 16px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--zapp-primary);
  background: rgba(255,255,255,0.82);
  padding: 3px 10px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
}

/* Person */
.srp-gscene-person {
  position: absolute;
  bottom: 56px;
  right: 230px;
}
.srp-gperson-head {
  width: 20px; height: 20px;
  background: #78350f;
  border-radius: 50%;
  margin: 0 auto 0;
}
.srp-gperson-body {
  width: 26px; height: 34px;
  background: #e2e8f0;
  border-radius: 6px 6px 3px 3px;
  margin: 1px auto 0;
}
.srp-gperson-bag {
  position: absolute;
  right: -10px; top: 20px;
  width: 12px; height: 18px;
  background: #8b5cf6;
  border-radius: 4px;
}

/* Content */
.srp-gmod-body { padding: 22px 22px 8px; }
.srp-gmod-title {
  font-size: 1.22rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0 0 6px;
}
.srp-gmod-sub {
  font-size: 0.875rem;
  color: var(--zapp-muted);
  margin-bottom: 20px;
  line-height: 1.5;
}
.srp-gmod-features {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 16px;
}
.srp-gmod-features li {
  display: flex; align-items: flex-start; gap: 14px;
}
.srp-gmod-feat-icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--zapp-surface-hover);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--zapp-primary);
}
.srp-gmod-features strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin-bottom: 2px;
}
.srp-gmod-features p {
  font-size: 0.8rem;
  color: var(--zapp-muted);
  margin: 0;
  line-height: 1.45;
}
.srp-gmod-foot { padding: 18px 22px 24px; }
.srp-guest-start-btn {
  width: 100%;
  padding: 15px;
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: background 0.18s, transform 0.12s;
}
.srp-guest-start-btn:hover { background: #1e293b; transform: translateY(-1px); }
.srp-guest-start-btn:active { transform: translateY(0); }

/* ─── New Rider Modal ───────────────────────────────────────── */
.srp-newrider-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1080;
  background: rgba(0,0,0,0.56);
  align-items: center;
  justify-content: center;
}
.srp-newrider-modal.open { display: flex; }

.srp-nrmod-panel {
  background: #fff;
  border-radius: 20px;
  width: 380px;
  max-width: calc(100vw - 24px);
  max-height: 90vh;
  overflow-y: auto;
  scrollbar-width: none;
  box-shadow: 0 28px 70px rgba(0,0,0,0.22);
  animation: srpRmodIn 0.22s cubic-bezier(.34,1.4,.64,1) both;
}
.srp-nrmod-panel::-webkit-scrollbar { display: none; }

.srp-nrmod-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 20px 14px;
  border-bottom: 1px solid var(--zapp-border);
}
.srp-nrmod-title {
  font-size: 1.05rem; font-weight: 500; color: var(--zapp-dark); margin: 0;
}
.srp-nrmod-close {
  background: none; border: none; cursor: pointer;
  color: var(--zapp-muted); padding: 5px; line-height: 1;
  border-radius: 50%; display: flex; align-items: center;
  transition: background 0.15s, color 0.15s;
}
.srp-nrmod-close:hover { background: #f1f5f9; color: var(--zapp-dark); }

.srp-nrmod-body { padding: 18px 20px 8px; }
.srp-nrmod-sub {
  font-size: 0.92rem; font-weight: 500;
  color: var(--zapp-dark); margin: 0 0 18px;
}
.srp-nrmod-field { margin-bottom: 16px; }
.srp-nrmod-label {
  display: block;
  font-size: 0.82rem; font-weight: 500;
  color: var(--zapp-muted); margin-bottom: 6px;
}
.srp-nrmod-input {
  width: 100%;
  padding: 13px 14px;
  background: #f1f5f9;
  border: 1.5px solid transparent;
  border-radius: 8px;
  font-size: 0.95rem;
  color: var(--zapp-dark);
  outline: none;
  transition: border-color 0.18s, background 0.18s;
  box-sizing: border-box;
}
.srp-nrmod-input:focus {
  background: #fff;
  border-color: var(--zapp-primary);
  box-shadow: 0 0 0 3px rgba(11, 95, 255, 0.22);
}
.srp-nrmod-input:focus-visible {
  box-shadow: 0 0 0 3px rgba(11, 95, 255, 0.28);
}
.srp-nrmod-field.zapp-floating-start .srp-nrmod-input {
  padding-top: 1.15rem;
  padding-bottom: 0.55rem;
  min-height: 48px;
  font-size: 1rem;
}
.srp-nrmod-field.zapp-floating-start > .srp-nrmod-label {
  margin-bottom: 0;
}
.srp-nrmod-phone-row {
  display: flex; gap: 10px; align-items: stretch;
}
.srp-nrmod-country {
  display: flex; align-items: center; gap: 6px;
  padding: 0 14px;
  background: #f1f5f9;
  border: 1.5px solid transparent;
  border-radius: 8px;
  font-size: 0.9rem; font-weight: 500;
  color: var(--zapp-dark);
  white-space: nowrap;
  flex-shrink: 0;
}
.srp-nrmod-input--phone { flex: 1; }
.srp-nrmod-note {
  font-size: 0.78rem; color: var(--zapp-muted);
  margin: 7px 0 0; line-height: 1.4;
}
.srp-nrmod-consent {
  font-size: 0.76rem; color: var(--zapp-muted);
  line-height: 1.5; margin: 4px 0 12px;
}
.srp-nrmod-foot { padding: 8px 20px 24px; }
.srp-addRider-btn {
  width: 100%;
  padding: 14px;
  background: #94a3b8;
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 1rem; font-weight: 500;
  cursor: pointer;
  transition: background 0.2s, transform 0.12s;
}
.srp-addRider-btn.active {
  background: var(--zapp-primary);
}
.srp-addRider-btn.active:hover {
  background: var(--zapp-primary-dark);
  transform: translateY(-1px);
}
.srp-addRider-btn.active:active { transform: translateY(0); }

/* ─── Reservations Terms Modal ──────────────────────────────── */
.srp-terms-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1090;
  background: rgba(0,0,0,0.58);
  align-items: center;
  justify-content: center;
}
.srp-terms-modal.open { display: flex; }

.srp-tmod-panel {
  background: #fff;
  border-radius: 22px;
  width: 640px;
  max-width: calc(100vw - 24px);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 28px 72px rgba(0,0,0,0.22);
  animation: srpRmodIn 0.22s cubic-bezier(.34,1.4,.64,1) both;
}
.srp-tmod-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 26px 18px;
  border-bottom: 1px solid var(--zapp-border);
  flex-shrink: 0;
}
.srp-tmod-title {
  font-size: 1.12rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0;
}
.srp-tmod-close {
  background: none; border: none; cursor: pointer;
  color: var(--zapp-muted); padding: 6px; border-radius: 50%;
  display: flex; align-items: center;
  transition: background 0.15s, color 0.15s;
}
.srp-tmod-close:hover { background: #f1f5f9; color: var(--zapp-dark); }
.srp-tmod-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px 26px;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.srp-tmod-body::-webkit-scrollbar { width: 5px; }
.srp-tmod-body::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.srp-tmod-body > p {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 16px;
}
.srp-tmod-divider {
  border: none;
  border-top: 1.5px dashed var(--zapp-border);
  margin: 22px 0;
}
/* Cab grid — 2 equal columns */
.srp-tmod-cab-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 6px;
}
.srp-tmod-cab {
  background: #f8fafc;
  border: 1.5px solid var(--zapp-border);
  border-radius: 14px;
  padding: 16px 18px 14px;
}
.srp-tmod-cab h5 {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--zapp-primary);
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-bottom: 8px;
  border-bottom: 1px solid #e2e8f0;
}
.srp-tmod-cab ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
/* Each row: label on top (muted), value below (dark bold) */
.srp-tmod-cab ul li {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.srp-tmod-cab ul li span {
  font-size: 0.7rem;
  color: var(--zapp-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.srp-tmod-cab ul li strong {
  font-size: 0.82rem;
  color: var(--zapp-dark);
  font-weight: 500;
  line-height: 1.35;
}
.srp-tmod-note { font-size: 0.8rem !important; color: var(--zapp-muted) !important; font-family: var(--zapp-font-italic); font-style: italic; line-height: 1.65 !important; }
.srp-tmod-foot {
  padding: 14px 26px 24px;
  flex-shrink: 0;
  border-top: 1px solid var(--zapp-border);
}
.srp-tmod-ok-btn {
  width: 100%;
  padding: 15px;
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 13px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.18s, transform 0.12s;
}
.srp-tmod-ok-btn:hover { background: #1e293b; transform: translateY(-1px); }
.srp-tmod-ok-btn:active { transform: translateY(0); }

/* ── Login-gate modal ─────────────────────────────────────── */
.srp-logingate-overlay {
  position: fixed; inset: 0; z-index: 1099;
  background: rgba(0,0,0,.45);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
}
.srp-logingate-overlay.active { opacity: 1; pointer-events: auto; }

.srp-logingate-modal {
  position: fixed;
  left: 50%; top: 50%;
  transform: translate(-50%, -46%);
  z-index: 1100;
  background: #fff;
  border-radius: 12px;
  padding: 36px 32px 32px;
  width: 360px;
  max-width: calc(100vw - 32px);
  box-shadow: 0 8px 40px rgba(0,0,0,.22);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.srp-logingate-modal.active {
  opacity: 1; pointer-events: auto;
  transform: translate(-50%, -50%);
}
.srp-logingate-title {
  font-size: 1.2rem; font-weight: 500; color: #111;
  margin: 0 0 12px; line-height: 1.3;
}
.srp-logingate-sub {
  font-size: .9rem; color: #6b7280; line-height: 1.55;
  margin: 0 0 24px;
}
.srp-logingate-btn {
  display: block; width: 100%;
  padding: 14px; background: var(--zapp-primary); color: #fff;
  border: none; border-radius: 8px;
  font-size: 1rem; font-weight: 500;
  cursor: pointer; font-family: inherit;
  transition: background .15s;
}
.srp-logingate-btn:hover { background: var(--zapp-primary-dark); }

/* Mobile search-only chrome (hidden on desktop) */
.srp-mobile-map-ui {
  display: none;
}
.srp-sheet-pay-row {
  display: none;
}
.srp-sheet-footer .srp-ride-cta-row {
  margin: 12px 0 0;
}

@media (min-width: 1101px) {
  body:not(.page-search) .srp-sheet-footer {
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
  }
}

/* Price lock icon for guests */
.srp-price-locked {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; background: #f3f4f6;
  border-radius: 50%;
}
/* ─────────────────────────────────────────────────────────── */
.srp-smod-terms {
  background: none; border: none; cursor: pointer;
  font-size: 0.82rem; font-weight: 500;
  color: var(--zapp-muted); text-decoration: underline;
  padding: 0; transition: color 0.15s;
}
.srp-smod-terms:hover { color: var(--zapp-primary); }
@media (max-width: 767px) {
  .srp-ride-cta-row { margin-bottom: 100px; }
  body.page-search .srp-sheet-footer .srp-ride-cta-row { margin-bottom: 0; }
}
@media (max-width: 560px) {
  .srp-tmod-cab-list { grid-template-columns: 1fr; }
  .srp-ride-cta-row { margin-bottom: 80px; }
  body.page-search .srp-sheet-footer .srp-ride-cta-row { margin-bottom: 0; }
}

.srp-dist-sep { color: #cbd5e1; }

/* Cab Card */
.srp-cab-card {
  display: flex;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--zapp-card-border);
  border-radius: var(--zapp-card-radius);
  padding: 18px 22px;
  margin-bottom: 14px;
  background: var(--zapp-card-bg);
  -webkit-backdrop-filter: var(--zapp-card-blur);
  backdrop-filter: var(--zapp-card-blur);
  box-shadow: var(--zapp-card-shadow);
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s, background 0.2s;
}
.srp-cab-card:hover:not(.srp-cab-card--selected) {
  border-color: #e2e8f0;
  box-shadow: var(--zapp-card-shadow-hover);
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.96);
}
.srp-cab-card--selected {
  border-width: 2px;
  border-color: #111;
  box-shadow: none;
  background: #fff;
}

.srp-cab-visual {
  flex-shrink: 0;
  width: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
 .srp-cab-visual img { width: 90px; height: 60px; object-fit: contain; filter: drop-shadow(0 3px 8px rgba(0,0,0,0.12)); }

.srp-cab-type-img {
  width: 90px;
  height: 60px;
  display: inline-block;
  background-image: url('/assets/images/car/cartype.png');
  background-repeat: no-repeat;
  background-size: 600% 100%; /* 6 frames horizontally */
  background-position: 0% 50%;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,0.12));
}
.srp-cab-type-img.cartype-micro      { background-position: 0% 50%; }
.srp-cab-type-img.cartype-mini       { background-position: 20% 50%; }
.srp-cab-type-img.cartype-premium    { background-position: 40% 50%; }
.srp-cab-type-img.cartype-sedan      { background-position: 60% 50%; }
.srp-cab-type-img.cartype-suv        { background-position: 80% 50%; }
.srp-cab-type-img.cartype-xl         { background-position: 100% 50%; }

.srp-cab-info { flex: 1; }

.srp-cab-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.srp-cab-name {
  font-size: 1rem;
  font-weight: 500;
  color: var(--zapp-dark);
}
.srp-badge-rec {
  background: var(--zapp-primary);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.srp-cab-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: var(--zapp-muted);
  margin-bottom: 4px;
}
.srp-cab-type-pill {
  background: #f1f5f9;
  color: var(--zapp-muted);
  border-radius: 20px;
  padding: 2px 8px;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: capitalize;
}

.srp-cab-features {
  font-size: 0.75rem;
  color: var(--zapp-muted);
  margin: 0;
  font-style: italic;
}

.srp-cab-price-col {
  flex-shrink: 0;
  text-align: right;
  min-width: 90px;
}
.srp-price-val {
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--zapp-dark);
}

.srp-no-cabs {
  text-align: center;
  padding: 60px 20px;
  color: var(--zapp-muted);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* Bottom bar */
.srp-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 310px;
  width: calc(100vw - 310px - 420px);
  background: #fff;
  border-top: 1px solid #e8ecf0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 28px;
  z-index: 100;
  box-shadow: 0 -2px 16px rgba(0,0,0,0.06);
}
.srp-payment-sel {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--zapp-dark);
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 14px;
}
.srp-payment-sel:hover { background: #f1f5f9; }

.srp-reserve-btn {
  background: var(--zapp-dark);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 11px 36px;
  font-size: 0.92rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.17s, opacity 0.17s;
}
.srp-reserve-btn:hover:not(:disabled) { background: #1e293b; }
.srp-reserve-btn:disabled { opacity: 0.45; cursor: not-allowed; }

/* Book Ride full-width button */
.srp-ride-cta-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 4px 0 140px;
  position: relative;
  z-index: 10;
}

.srp-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  /* Fixed width sized to the longest label "Bargain & Book" */
  width: 160px;
  padding: 0;
  background: #fff;
  color: var(--zapp-primary);
  border: 1.5px solid var(--zapp-primary);
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: background 0.18s, color 0.18s;
  flex-shrink: 0;
  overflow: hidden;
}
.srp-promo-btn:hover { background: var(--zapp-surface-hover); }
.srp-promo-btn span {
  display: inline-block;
  transition: opacity 0.22s ease, transform 0.22s ease;
  overflow: hidden;
}

.srp-book-ride-btn {
  flex: 1;
  display: block;
  width: 100%;
  margin: 0;
  padding: 15px;
  background: var(--zapp-primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: background 0.18s, transform 0.12s, opacity 0.17s;
}
.srp-book-ride-btn:hover:not(:disabled) { background: var(--zapp-primary-dark); transform: translateY(-1px); }
.srp-book-ride-btn:active:not(:disabled) { transform: translateY(0); }
.srp-book-ride-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ─── Booking Confirmation Modal ────────────────────────────── */
.srp-confirm-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(0,0,0,0.58);
  align-items: center;
  justify-content: center;
}
.srp-confirm-modal.open { display: flex; }

.srp-cmod-panel {
  background: #fff;
  border-radius: 22px;
  width: 460px;
  max-width: calc(100vw - 24px);
  max-height: 92vh;
  overflow-y: auto;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  box-shadow: 0 28px 72px rgba(0,0,0,0.22);
  animation: srpRmodIn 0.22s cubic-bezier(.34,1.4,.64,1) both;
}
.srp-cmod-panel::-webkit-scrollbar { display: none; }

.srp-cmod-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--zapp-border);
  flex-shrink: 0;
}
.srp-cmod-title {
  font-size: 1.08rem;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0;
}
.srp-cmod-close {
  background: none; border: none; cursor: pointer;
  color: var(--zapp-muted); padding: 5px; border-radius: 50%;
  display: flex; align-items: center;
  transition: background 0.15s, color 0.15s;
}
.srp-cmod-close:hover { background: #f1f5f9; color: var(--zapp-dark); }

.srp-cmod-body { padding: 20px 20px 4px; }

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════════════════ */

/* Page header */

/* Two-column layout */

/* ── Trip Summary Ticket ── */

/* Trust badges */

/* ── Payment Panel ── */

/* Coupon */

/* Price breakdown */

/* Pay amount */

@keyframes co-slider-wave {
  0%   { box-shadow: 0 0 0 0 rgba(11,95,255,0.35), 0 1px 4px rgba(11,95,255,.4); }
  70%  { box-shadow: 0 0 0 10px rgba(11,95,255,0), 0 1px 4px rgba(11,95,255,.4); }
  100% { box-shadow: 0 0 0 0 rgba(11,95,255,0), 0 1px 4px rgba(11,95,255,.4); }
}

/* Contact */

/* Pay button */

/* Checkout — payment method row + Uber-style sheet (all breakpoints) */

@media (max-width: 1100px) {
  body.page-checkout > header#zappNavbar {
    display: none !important;
  }
  body.page-checkout footer.footer {
    display: none !important;
  }
  body.page-checkout {
    --zapp-main-offset: 0px;
    background: #fff;
  }
}

/* ── End Checkout ── */

/* ═══════════════════════════════════════════
   PROMO & BARGAIN MODAL
   ═══════════════════════════════════════════ */
.srp-promo-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(0,0,0,.52);
  align-items: flex-end;
  justify-content: center;
}
.srp-promo-modal.open {
  display: flex;
}

.srp-pmod-panel {
  background: #fff;
  width: 100%;
  max-width: 480px;
  border-radius: 20px 20px 0 0;
  display: flex;
  flex-direction: column;
  max-height: 88vh;
  overflow: hidden;
  box-shadow: 0 -4px 32px rgba(0,0,0,.14);
}
@media (min-width: 560px) {
  .srp-promo-modal {
    align-items: center;
  }
  .srp-pmod-panel {
    border-radius: 20px;
    max-height: 82vh;
  }
}

/* Head */
.srp-pmod-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 14px;
  border-bottom: 1px solid var(--zapp-border);
  flex-shrink: 0;
}
.srp-pmod-head-inner {
  display: flex;
  align-items: center;
  gap: 8px;
}
.srp-pmod-title {
  font-size: 16px;
  font-weight: 500;
  color: var(--zapp-dark);
  margin: 0;
}
.srp-pmod-close {
  width: 32px; height: 32px;
  border: none; background: #f1f5f9;
  border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--zapp-muted);
  transition: background .15s;
}
.srp-pmod-close:hover { background: #e2e8f0; color: var(--zapp-dark); }

/* Body */
.srp-pmod-body {
  overflow-y: auto;
  padding: 18px 20px 6px;
  flex: 1;
}
.srp-pmod-section-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--zapp-muted);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.srp-pmod-hint {
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--zapp-muted);
  opacity: .8;
}

/* Coupon list */
.srp-pmod-coupon-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 6px;
}
.srp-pmod-coupon-empty {
  margin: 0;
  padding: 12px 14px;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--zapp-muted);
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid var(--zapp-border);
}
.srp-pmod-coupon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1.5px dashed var(--zapp-border);
  border-radius: 12px;
  background: #fafafa;
  transition: border-color .15s, background .15s;
}
.srp-pmod-coupon--highlight {
  border-color: var(--zapp-accent);
  background: #f0fdf4;
}
.srp-pmod-coupon.applied {
  border-color: var(--zapp-primary);
  background: var(--zapp-surface-hover);
}
.srp-pmod-coupon-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.srp-pmod-coupon-code {
  font-size: 14px;
  font-weight: 500;
  color: var(--zapp-dark);
  letter-spacing: .5px;
}
.srp-pmod-coupon-desc {
  font-size: 12px;
  color: var(--zapp-muted);
}
.srp-pmod-coupon-apply {
  padding: 6px 14px;
  background: var(--zapp-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
  flex-shrink: 0;
}
.srp-pmod-coupon-apply:hover { background: var(--zapp-primary-dark); }
.srp-pmod-coupon-apply.applied {
  background: var(--zapp-accent);
  cursor: default;
}

.srp-pmod-divider {
  height: 1px;
  background: var(--zapp-border);
  margin: 16px 0;
}

/* Bargain slider */
.srp-pmod-bargain-box {
  background: #f8fafc;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 12px;
}
.srp-pmod-bargain-prices {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 14px;
}
.srp-pmod-price-label {
  display: block;
  font-size: 11px;
  color: var(--zapp-muted);
  margin-bottom: 2px;
}
.srp-pmod-price-original {
  font-size: 16px;
  font-weight: 500;
  color: var(--zapp-dark);
}
.srp-pmod-price-offer {
  font-size: 22px;
  font-weight: 500;
  color: var(--zapp-primary);
}
.srp-pmod-slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--zapp-muted);
  margin-bottom: 6px;
}
.srp-pmod-slider-pct {
  font-weight: 500;
  color: var(--zapp-primary);
}
.srp-pmod-slider {
  appearance: none;
  -webkit-appearance: none;
  width: 100%; height: 6px;
  border-radius: 6px;
  background: #e2e8f0;
  outline: none;
  cursor: pointer;
  margin-bottom: 10px;
}
.srp-pmod-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--zapp-primary);
  border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(11,95,255,.35);
}
.srp-pmod-slider::-moz-range-thumb {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--zapp-primary);
  border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(11,95,255,.35);
}
.srp-pmod-saving-row {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 500;
  color: var(--zapp-accent);
  margin-bottom: 12px;
}
.srp-pmod-bargain-apply-btn {
  width: 100%;
  padding: 10px;
  background: #fff;
  color: var(--zapp-primary);
  border: 1.5px solid var(--zapp-primary);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s;
}
.srp-pmod-bargain-apply-btn:hover { background: var(--zapp-surface-hover); }
.srp-pmod-bargain-apply-btn.applied { background: var(--zapp-surface-hover); pointer-events: none; }

/* Applied status row */
.srp-pmod-applied-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--zapp-accent);
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 10px 14px;
  margin-top: 6px;
}
.srp-pmod-remove-btn {
  margin-left: auto;
  background: none;
  border: none;
  font-size: 12px;
  color: #ef4444;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
}

/* Footer */
.srp-pmod-foot {
  padding: 14px 20px;
  border-top: 1px solid var(--zapp-border);
  flex-shrink: 0;
}
.srp-pmod-book-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px;
  background: var(--zapp-primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s, transform .1s;
}
.srp-pmod-book-btn:hover { background: var(--zapp-primary-dark); transform: translateY(-1px); }
.srp-pmod-book-btn:active { transform: translateY(0); }
/* ── End Promo Modal ── */

/* ═══════════════════════════════════════════
   PREMIUM MEMBERSHIP CARD (sidebar)
   ═══════════════════════════════════════════ */
.srp-premium-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--zapp-card-radius-lg);
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 52%, #334155 100%);
  padding: var(--zapp-card-pad-lg) calc(var(--zapp-card-pad-lg) - 2px);
  color: #fff;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.1) inset,
    0 12px 40px rgba(15, 23, 42, 0.25);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.srp-premium-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 18px 48px rgba(15, 23, 42, 0.32);
}
.srp-premium-glow {
  position: absolute;
  top: -40px; right: -40px;
  width: 130px; height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(99,179,237,.35) 0%, transparent 70%);
  pointer-events: none;
}
.srp-premium-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.srp-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .3px;
  color: #fde68a;
}
.srp-premium-tag {
  font-size: 11px;
  font-weight: 500;
  color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.08);
  border-radius: 20px;
  padding: 3px 9px;
}
.srp-premium-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 14px;
  color: #fff;
  letter-spacing: -.01em;
}
.srp-premium-perks {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.srp-premium-perks li {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: rgba(255,255,255,.82);
  font-weight: 500;
}
.srp-premium-perks li i {
  color: #fde68a;
  flex-shrink: 0;
}
.srp-premium-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 400 !important;
  color: #fde68a;
  text-decoration: none;
  border-bottom: none;
  padding-bottom: 0;
  transition: color .15s;
}
.srp-premium-link:hover {
  color: #fff;
  text-decoration: none;
}
.srp-premium-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.srp-premium-tnc {
  font-size: 9px;
  color: rgba(255,255,255,.35);
  letter-spacing: .2px;
}
/* Shining stripe + gentle glow animation for premium card */
.srp-premium-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -120%;
  width: 48%;
  height: 220%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.28) 50%, rgba(255,255,255,0) 100%);
  transform: rotate(25deg);
  filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  mix-blend-mode: overlay;
  animation: srpPremiumShine 3.2s linear infinite;
}

.srp-premium-glow {
  animation: srpPremiumGlow 4s ease-in-out infinite;
}

@keyframes srpPremiumShine {
  0%   { transform: translateX(-140%) rotate(25deg); opacity: 0; }
  10%  { opacity: 0.45; }
  50%  { transform: translateX(120%) rotate(25deg); opacity: 0.9; }
  90%  { opacity: 0.35; }
  100% { transform: translateX(240%) rotate(25deg); opacity: 0; }
}

@keyframes srpPremiumGlow {
  0%   { transform: scale(0.98); opacity: 0.85; }
  50%  { transform: scale(1.03); opacity: 1; }
  100% { transform: scale(0.98); opacity: 0.85; }
}
/* ── End Premium Card ── */

/* ── Ticket card (boardingpass style) ── */
.srp-confirm-ticket {
  background: #fff;
  border: 1.5px solid var(--zapp-border);
  border-radius: 18px;
  overflow: hidden;
}

/* Route row */
.srp-cticket-route {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 20px 16px;
}
.srp-cticket-city {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex-shrink: 0;
  max-width: 130px;
}
.srp-cticket-city--right { text-align: right; flex-shrink: 0; }
.srp-cticket-label {
  font-size: 0.67rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--zapp-muted);
}
.srp-cticket-name {
  font-size: 1rem;
  font-weight: 500;
  color: var(--zapp-dark);
  line-height: 1.2;
  word-break: break-word;
}
.srp-cticket-connector {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}
.srp-cticket-line {
  flex: 1;
  height: 1px;
  background: var(--zapp-border);
}
.srp-cticket-arrow {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--zapp-surface-hover);
  border: 1px solid #bfdbfe;
  display: flex; align-items: center; justify-content: center;
  color: var(--zapp-primary);
}

/* Dashed ticket-cut divider */
.srp-cticket-divider {
  position: relative;
  border: none;
  border-top: 1.5px dashed var(--zapp-border);
  margin: 0 0 0 0;
}
.srp-cticket-divider::before,
.srp-cticket-divider::after {
  content: '';
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #f9fafb;
  border: 1.5px solid var(--zapp-border);
}
.srp-cticket-divider::before { left: -8px; }
.srp-cticket-divider::after  { right: -8px; }

/* Details grid */
.srp-cticket-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 4px 0;
}
.srp-cticket-detail {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--zapp-border);
}
.srp-cticket-detail:nth-child(odd) { border-right: 1px solid var(--zapp-border); }
.srp-cticket-detail:nth-last-child(-n+2) { border-bottom: none; }
.srp-cticket-dlabel {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--zapp-muted);
}
.srp-cticket-dval {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--zapp-dark);
  line-height: 1.3;
}

/* Footer: price + car image */
.srp-cticket-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 16px 20px 0;
  background: var(--zapp-light);
  border-top: 1.5px solid var(--zapp-border);
  min-height: 88px;
  overflow: hidden;
}
.srp-cticket-price-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 18px;
}
.srp-cticket-price-label {
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--zapp-muted);
}
.srp-cticket-discount-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.srp-cticket-orig-price {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--zapp-muted);
  text-decoration: line-through;
}
.srp-cticket-discount-badge {
  font-size: 0.72rem;
  font-weight: 500;
  background: #dcfce7;
  color: #16a34a;
  padding: 2px 7px;
  border-radius: 20px;
  letter-spacing: 0.02em;
}
.srp-cticket-price {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--zapp-primary);
  line-height: 1;
}
.srp-cticket-car-img {
  height: 72px;
  width: auto;
  object-fit: contain;
  align-self: flex-end;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,0.12));
  transform: scaleX(-1);
}

/* Modal footer buttons */
.srp-cmod-foot {
  display: flex;
  gap: 10px;
  padding: 16px 20px 22px;
  flex-shrink: 0;
}
.srp-cmod-cancel-btn {
  flex: 1;
  padding: 13px;
  background: #f1f5f9;
  color: var(--zapp-dark);
  border: none;
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.16s;
}
.srp-cmod-cancel-btn:hover { background: #e2e8f0; }
.srp-cmod-confirm-btn {
  flex: 2;
  padding: 13px;
  background: var(--zapp-primary);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.18s, transform 0.12s;
}
.srp-cmod-confirm-btn:hover { background: var(--zapp-primary-dark); transform: translateY(-1px); }
.srp-cmod-confirm-btn:active { transform: translateY(0); }

/* ---- Right: Map ---- */
/* Sticky column fills viewport height; card grows to use all available space */
.srp-map-col {
  position: sticky;
  top: 12px;
  align-self: start;
  box-sizing: border-box;
  height: calc(100vh - var(--zapp-main-offset, 92px) - 24px);
  max-height: calc(100vh - var(--zapp-main-offset, 92px) - 24px);
  padding: 0 8px 0 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.srp-map-card {
  flex: 1 1 auto;
  min-height: 280px;
  height: 100%;
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}

/* Reuse uber-dropdown styles already in custom.css */
.srp-loc-field .uber-dropdown { top: 100%; left: 0; width: 100%; box-sizing: border-box; }

/* ---- Responsive: search mobile (Uber-style map + sheet) ---- */
@media (max-width: 1100px) {
  /* Keep navbar + language switcher usable (was display:none, which removed all chrome on mobile search). */
  body.page-search > header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
    display: block !important;
    background: rgba(255, 255, 255, 0.97);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
  }
  body.page-search > header .zapp-nav-frame {
    padding-top: max(6px, env(safe-area-inset-top, 0px));
    padding-bottom: 8px;
  }
  body.page-search > header .dropdown-menu {
    z-index: 1300;
  }
  body.page-search footer.footer {
    display: none !important;
  }
  body.page-search {
    --zapp-main-offset: 0px;
    --srp-search-header-gap: clamp(52px, 14vw, 72px);
  }
  body.page-search.srp-mobile-plan-open {
    overflow: hidden;
  }

  .srp-mobile-map-ui {
    display: flex;
  }
  .srp-sheet-pay-row {
    display: flex;
  }

  .srp-main {
    padding: var(--srp-search-header-gap, 56px) 0 0 0 !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }

  /* Map row + sheet row (grid). Sheet overlaps map by 50px for peek; expand/collapse rows = shutter. */
  .srp-layout {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(200px, 42vh) minmax(0, 1fr);
    flex: 1;
    min-height: 0;
    margin-top: 0;
    gap: 0;
    column-gap: 0;
    align-items: stretch;
    height: 100%;
    position: relative;
    box-sizing: border-box;
    transition: grid-template-rows 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .srp-layout.srp-layout-sheet-expanded {
    grid-template-rows: minmax(50px, 12vh) minmax(0, 1fr);
  }

  .srp-map-col {
    display: flex !important;
    grid-column: 1;
    grid-row: 1;
    position: relative;
    height: 100%;
    max-height: none;
    padding: 0;
    top: 0;
    align-self: stretch;
    z-index: 2;
    box-sizing: border-box;
    min-height: 0;
    width: auto;
  }

  .srp-primary-col {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    overflow: hidden;
    background: #fff;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.12);
    z-index: 6;
    margin-top: -50px;
  }

  .srp-results {
    order: 1;
    flex: 1;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-left: none;
    background: #fff;
    border-radius: 22px 22px 0 0;
    box-shadow: none;
  }

  .srp-mobile-sheet-head {
    flex-shrink: 0;
    padding: 4px 16px 10px;
    background: #fff;
    border-bottom: 1px solid #f1f5f9;
  }

  .srp-sheet-handle-hit {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 10px 0 12px;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    -webkit-tap-highlight-color: transparent;
  }
  .srp-sheet-handle-bar {
    width: 42px;
    height: 5px;
    border-radius: 99px;
    background: #e2e8f0;
    display: block;
  }

  .srp-results-scroll {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .srp-results-inner {
    padding: 8px 16px 20px;
    overflow: visible;
    max-width: none;
  }

  .srp-sidebar {
    display: none;
    order: 2;
    flex-shrink: 0;
    flex-direction: column;
    box-sizing: border-box;
    padding: 0;
    border-top: none;
    position: fixed;
    inset: 0;
    z-index: 150;
    max-height: none;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    overscroll-behavior: contain;
  }
  body.srp-mobile-plan-open .srp-sidebar {
    display: flex;
  }

  .srp-mobile-plan-appbar {
    display: none;
    align-items: center;
    gap: 8px;
    padding: max(10px, env(safe-area-inset-top)) 12px 14px;
    border-bottom: 1px solid #f1f5f9;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
  }
  body.srp-mobile-plan-open .srp-mobile-plan-appbar {
    display: flex;
  }

  .srp-plan-screen-back {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: none;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: inherit;
  }
  .srp-plan-screen-back:active {
    background: #f3f4f6;
  }

  
  .srp-plan-screen-title {
    flex: 1;
    margin: 0;
    font-size: 1.08rem;
    font-weight: 500;
    text-align: center;
    color: #111;
    letter-spacing: -0.02em;
  }
  .srp-sidebar .srp-plan-screen-title{
    font-size: 1.5rem !important;
    font-weight: 500 !important;
  }
  .srp-plan-appbar-spacer {
    width: 44px;
    flex-shrink: 0;
  }

  .srp-mobile-plan-chips {
    display: none;
    gap: 10px;
    padding: 0 16px 16px;
    flex-shrink: 0;
  }
  body.srp-mobile-plan-open .srp-mobile-plan-chips {
    display: flex;
  }

  .srp-desktop-widget-title {
    display: none !important;
  }

  body.srp-mobile-plan-open .srp-widget {
    padding: 0 16px 24px;
    border: none;
    box-shadow: none;
    border-radius: 0;
  }

  body.srp-mobile-plan-open #srpScheduleRow,
  body.srp-mobile-plan-open #srpPassengersRow,
  body.srp-mobile-plan-open #srpScheduleModePillsRow {
    display: none !important;
  }

  .srp-mobile-loc-editor {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 16px;
  }
  .srp-mobile-loc-editor .uber-locations--srp {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
  }

  body.srp-mobile-plan-open .srp-sidebar .city-autocomplete-wrap:focus-within,
  body.srp-mobile-plan-open .srp-sidebar .city-autocomplete-wrap:has(.uber-dropdown.show) {
    z-index: 220;
  }

  .srp-benefits,
  .srp-premium-card {
    display: none !important;
  }

  .srp-widget {
    padding: 14px;
    border-radius: 12px;
    box-shadow: none;
    border: 1px solid #e8ecf0;
  }

  .srp-discount-badge {
    display: none;
  }

  .srp-results-heading {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0;
    padding: 2px 0 6px;
    letter-spacing: -0.02em;
    color: #111;
  }

  /* Inline trip strip (reference): route line + meta line with pipes; edit top-right */
  .srp-trip-summary {
    flex-shrink: 0;
    margin: 0 12px 10px;
    padding: 14px 16px 15px;
    background: #f0f4f8;
    border: 1px solid #d8e0ea;
    border-radius: 14px;
    box-sizing: border-box;
  }
  .srp-trip-summary-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 4px;
    align-items: start;
  }
  .srp-trip-summary-text {
    grid-column: 1;
    grid-row: 1 / -1;
    min-width: 0;
  }
  .srp-trip-summary-route {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 500;
    color: #0f172a;
    line-height: 1.4;
    letter-spacing: -0.01em;
  }
  .srp-trip-summary-to {
    font-weight: 500;
    color: #64748b;
    margin: 0 0.2em;
  }
  .srp-trip-summary-from,
  .srp-trip-summary-dest {
    word-break: break-word;
  }
  .srp-trip-summary-meta {
    margin: 6px 0 0;
    font-size: 0.6rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.35;
    letter-spacing: 0.01em;
  }
  .srp-trip-summary-edit {
    grid-column: 2;
    grid-row: 1;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #d0d8e2;
    background: #f8fafc;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    font-family: inherit;
    padding: 0;
    align-self: start;
    margin-top: -2px;
  }
  .srp-trip-summary-edit:active {
    background: #e8eef4;
    border-color: #c5ced9;
  }

  .srp-sheet-chip {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 500;
    color: #111;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    font-family: inherit;
    min-width: 0;
  }

  .srp-map-col {
    display: flex !important;
    grid-column: 1;
    grid-row: 1;
    position: relative;
    height: 100%;
    max-height: none;
    padding: 0;
    top: 0;
    align-self: stretch;
    z-index: 2;
    box-sizing: border-box;
    min-height: 0;
  }

  .srp-map-card {
    position: relative;
    border-radius: 0;
    border: none;
    box-shadow: none;
    min-height: 0 !important;
    flex: 1;
    height: 100%;
    width: 100%;
  }

  .srp-mobile-map-ui {
    position: absolute;
    top: max(10px, env(safe-area-inset-top, 0px));
    left: 12px;
    right: 12px;
    z-index: 5;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
  }

  .srp-mobile-map-ui > * {
    pointer-events: auto;
  }

  .srp-mobile-map-back {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
    color: #111;
  }
  .srp-mobile-map-back svg {
    stroke: #111;
    color: #111;
  }
  .srp-mobile-map-back:focus-visible {
    outline: 2px solid #111;
    outline-offset: 2px;
  }

  .srp-mobile-map-login {
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 0.88rem;
    font-weight: 500;
    background: #fff;
    color: #111;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    font-family: inherit;
  }

  .srp-mobile-map-login--link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .srp-sheet-footer {
    flex-shrink: 0;
    margin-top: auto;
    padding: 4px 4px calc(3px + env(safe-area-inset-bottom, 0px));
    
  }

  .srp-sheet-pay-row {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 4px 0 14px;
    margin: 0 0 4px;
    border: none;
    background: none;
    font-size: 0.95rem;
    font-weight: 500;
    color: #111;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 1px solid #eef2f7;
  }

  .srp-sheet-pay-lead {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  .srp-sheet-pay-icon {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(145deg, #22c55e, #16a34a);
    box-shadow: 0 1px 4px rgba(22, 163, 74, 0.35);
  }

  .srp-sheet-footer .srp-ride-cta-row {
    margin: 12px 0 0;
    gap: 10px;
  }

  .srp-book-ride-btn {
    background: #111;
    border-radius: 8px;
    font-weight: 500;
  }

  .srp-book-ride-btn:hover:not(:disabled) {
    background: #292929;
  }

  /* Cab row: image | stacked details | price (reference card) */
  .srp-cab-card {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin-bottom: 10px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    background: #fff;
  }
  .srp-cab-card:hover:not(.srp-cab-card--selected) {
    transform: none;
    border-color: #d1d5db;
  }

  .srp-cab-card--selected {
    border-width: 2px;
    border-color: #111;
    box-shadow: none;
    background: #fff;
  }

  .srp-cab-card .srp-cab-visual {
    width: 72px;
    flex: 0 0 72px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .srp-cab-card .srp-cab-visual img {
    width: 68px;
    height: 46px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1));
  }

  .srp-cab-card .srp-cab-info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .srp-cab-card .srp-cab-name-row {
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
  }
  .srp-cab-card .srp-cab-name {
    font-size: 1rem;
    font-weight: 500;
    color: #111;
    letter-spacing: -0.02em;
  }
  .srp-cab-card .srp-badge-rec {
    font-size: 0.56rem;
    font-weight: 500;
    padding: 4px 9px;
    border-radius: 999px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--zapp-primary);
    color: #fff;
  }

  .srp-cab-card .srp-cab-meta {
    margin-bottom: 0;
    gap: 8px;
    font-size: 0.78rem;
    color: #64748b;
  }
  .srp-cab-card .srp-cab-type-pill {
    background: #e8ecf0;
    color: #475569;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 0.68rem;
    font-weight: 500;
  }

  .srp-cab-card .srp-cab-features {
    font-size: 0.72rem;
    color: #64748b;
    font-style: italic;
    margin: 0;
    line-height: 1.35;
  }

  .srp-cab-card .srp-cab-price-col {
    flex: 0 0 auto;
    align-self: center;
    min-width: 3.5rem;
    margin-left: auto;
    text-align: right;
    padding-top: 0;
    border-top: none;
    width: auto;
  }
  .srp-cab-card .srp-price-val {
    font-size: 1.28rem;
    font-weight: 500;
    color: #111;
    letter-spacing: -0.03em;
  }

  .srp-bottom-bar {
    display: none !important;
  }

  .srp-logingate-modal {
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    transform: translateY(110%);
    width: 100%;
    max-width: none;
    border-radius: 20px 20px 0 0;
    padding: 28px 22px calc(22px + env(safe-area-inset-bottom, 0px));
    text-align: center;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.18);
  }

  .srp-logingate-modal.active {
    transform: translateY(0);
  }

  .srp-logingate-title {
    font-size: 1.25rem;
    text-align: center;
  }

  .srp-logingate-sub {
    text-align: center;
    margin-bottom: 22px;
  }

  .srp-logingate-btn {
    background: #111;
    border-radius: 12px;
    padding: 16px;
    font-size: 1.02rem;
  }

  .srp-logingate-btn:hover {
    background: #292929;
  }
}

/* Plan appbar + chips only for mobile search sheet; hide on desktop / large */
@media (min-width: 1101px) {
  body.page-search .srp-mobile-plan-appbar,
  body.page-search .srp-mobile-plan-chips {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .srp-results-inner {
    padding: 6px 14px 16px;
  }
}

#waNumberText {
    border-color: transparent;
    background: transparent;
    color: var(--zapp-primary);
    text-decoration: underline;
}
#waNumberText a:hover {
    border-color: transparent;
    background: transparent;
    color: var(--zapp-primary);
    text-decoration: none;
}

/* ================================================================
   MOBILE-FIRST RESPONSIVE ENHANCEMENT LAYER
   ================================================================ */
html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
}


svg {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

@media (max-width: 991.98px) {
  .container,
  .container-fluid {
    --bs-gutter-x: 32px;
  }

  .zapp-navbar {
    top: 0;
  }

  .zapp-nav-frame {
    margin: 0 8px;
    padding: 10px 12px;
    border-radius: 0 0 18px 18px;
  }

  .zapp-navbar .navbar-collapse {
    max-height: calc(100vh - 88px);
    overflow-y: auto;
  }

  .zapp-navbar .d-flex.align-items-center.d-lg-none {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px !important;
  }

  .zapp-navbar .d-flex.align-items-center.d-lg-none .zapp-nav-utility span {
    display: none;
  }

  .zapp-navbar .d-flex.align-items-center.d-lg-none .zapp-nav-signup {
    min-width: auto;
    padding: 8px 12px;
    font-size: 0.9rem;
  }

  .zapp-nav-center,
  .zapp-nav-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .zapp-nav-utility,
  .zapp-nav-signup,
  .zapp-nav-btn-solid {
    justify-content: center;
  }

  .zapp-hero,
  .page-home main {
    overflow-x: clip;
  }

  .zapp-hero-row {
    gap: 16px;
  }

  
  .uber-widget {
    width: 100%;
    max-width: 100%;
  }

  .zapp-hero .hero-change-city {
      display: inline-flex !important;
      width: auto !important;
      margin-left: 8px !important;
      align-items: center !important;
      flex-shrink: 0 !important;
    }

  .uber-pickup-wrap,
  .uber-pickup-now,
  .uber-schedule-panel {
    /* width: 100%; */
  }

  .uber-schedule-panel {
    min-width: 0;
  }

  .uber-schedule-row {
    flex-direction: column;
    gap: 8px;
  }

  .uber-locations {
    padding: 10px 12px;
  }

  .uber-loc-field {
    min-width: 0;
  }

  .uber-loc-action {
    width: 40px;
    height: 40px;
  }

  .uber-cta-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .uber-see-prices {
    width: 100%;
    justify-content: center;
  }

  .uber-login-hint {
    text-align: center;
  }

  .zapp-suggestions,
  .zapp-section {
    padding-top: clamp(32px, 7vw, 48px);
    padding-bottom: clamp(32px, 7vw, 48px);
  }

  .srp-main {
    padding: 0 0 22px;
  }
  /* Do not zero out search mobile top padding (fixed header gap from max-width:1100px block). */
  body.page-search .srp-main {
    padding: var(--srp-search-header-gap, 56px) 0 0 0 !important;
  }

  .srp-layout {
    gap: 14px;
  }
  body.page-search .srp-layout {
    gap: 0;
  }

  .srp-sidebar {
    padding: 0 12px 6px;
  }

  .srp-results {
    min-width: 0;
  }

  .srp-map-col {
    padding: 0 12px 10px;
  }
  body.page-search .srp-map-col {
    padding: 0 !important;
  }

  body:not(.page-search) .srp-results-heading {
    font-size: clamp(1.2rem, 5vw, 1.6rem);
  }
  body.page-search .srp-results-heading {
    font-size: 1.5rem !important;
    margin-bottom: 0px;
  }

  .srp-dist-bar {
    flex-wrap: wrap;
    gap: 6px 8px;
  }

  body:not(.page-search) .srp-cab-card {
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
  }

  .srp-cab-visual {
    width: 92px;
    flex: 0 0 92px;
  }

  .srp-cab-info {
    min-width: 0;
    flex: 1 1 180px;
  }

  .srp-cab-name-row {
    flex-wrap: wrap;
    gap: 6px;
  }

  .srp-cab-price-col {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #eef2f7;
  }

  .srp-ride-cta-row {
    position: sticky;
    bottom: calc(70px + env(safe-area-inset-bottom, 0px));
    z-index: 30;
    padding: 10px 12px max(10px, env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(10px);
    border-top: 1px solid #e5e7eb;
    margin: 0 -4px;
  }

  .srp-promo-btn,
  .srp-book-ride-btn {
    min-height: 46px;
  }

  .srp-map-card {
    min-height: 260px;
    height: 300px;
  }
  body.page-search .srp-map-card {
    min-height: 0 !important;
    height: 100% !important;
  }

  .srp-smod-panel,
  .srp-rmod-panel,
  .srp-pmod-panel,
  .srp-cmod-panel,
  .srp-gmod-panel,
  .srp-tmod-panel {
    width: min(100vw - 16px, 560px);
  }

  .srp-pax-options {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575.98px) {
  .container,
  .container-fluid {
    --bs-gutter-x: 24px;
  }

  .zapp-nav-frame {
    margin: 0 4px;
  }

  .uber-locations {
    gap: 8px;
    padding: 10px;
  }

  .uber-input {
    font-size: 16px;
  }

  .srp-results-inner {
    padding: 8px 12px 16px;
  }

  .srp-widget,
  .srp-benefits,
  .srp-premium-card {
    padding: var(--zapp-card-pad);
    border-radius: var(--zapp-card-radius);
  }

  .srp-cab-card {
    padding: 14px 16px;
  }

  .srp-pax-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ═══════════════════════════════════════════
   Checkout mobile sticky pay + sheet drag hit area
   ═══════════════════════════════════════════ */

@media (max-width: 1100px) {

  body.page-checkout .co-payment-col {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  }
}

/* ═══════════════════════════════════════════
   Profile mobile thumb reach + account sheet
   ═══════════════════════════════════════════ */
@media (max-width: 991.98px) {
  body.profile-body .profile-main,
  body.profile-body .act-main {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  }
}



/* //=========== CUSTOM CSS FOR CUSTOMER.CSS FILE ============ */
/* ─────────────────────────────────────────────────────
   ZappTrip Customer Pages — Premium UI
   ───────────────────────────────────────────────────── */

   :root {
    --zt-primary:    var(--color-primary);
    --zt-primary-dk: var(--color-primary-hover);
    --zt-success:    var(--success);
    --zt-warning:    var(--warning);
    --zt-danger:     var(--error);
    --zt-text:       var(--text-primary);
    --zt-muted:      var(--text-secondary);
    --zt-border:     var(--border-light);
    --zt-bg:         var(--color-light);
    --zt-card-shadow: var(--zapp-card-shadow, var(--shadow-md));
    --zt-card-shadow-hover: var(--zapp-card-shadow-hover, 0 18px 48px rgba(15, 23, 42, 0.12));
    --zt-radius:     14px;
    --zt-radius-sm:  10px;
  }
  
  /* Typography — matches custom.css :root when both load (public + customer pages) */
  
  body.profile-body {
    font-size: var(--ds-text-base, 1rem);
    line-height: var(--ds-leading-normal, 1.5);
    text-rendering: optimizeLegibility;
  }
  body.profile-body main {
    line-height: var(--ds-leading-normal, 1.5);
  }
  body.profile-body main p {
    line-height: var(--ds-leading-relaxed, 1.6);
  }
  
  /* ── AUTH PAGE ─────────────────────────────────────── */
  
  /* ── Responsive auth ── */
  
  /* ── NAVBAR CUSTOMER PROFILE DROPDOWN ─────────────── */
  .nav-profile-avatar {
    width: 44px; height: 44px; border-radius: 8px;
    background: var(--zt-primary);
    display: flex; align-items: center; justify-content: center;
    font-size: .75rem; font-weight: 500; color: var(--zapp-dark);
    cursor: pointer; text-decoration: none;
    overflow: hidden; flex-shrink: 0;
    position: relative;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: none !important;
  }
  .nav-profile-avatar-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    z-index: 1;
  }
  .nav-profile-avatar-initials {
    position: relative;
    z-index: 0;
    line-height: 1;
  }
  .nav-profile-avatar--has-photo .nav-profile-avatar-initials {
    opacity: 0;
    pointer-events: none;
  }
  .nav-profile-name {
    font-size: .8125rem; font-weight: 500; color: var(--zt-text);
    max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  
  /* ── UBER-STYLE PROFILE DROPDOWN ──────────────────── */
  .zapp-profile-trigger {
    padding: 0;
    border-radius: 8px;
    border: none;
    background: transparent;
    transition: opacity .18s;
    gap: 0 !important;
  }
  .zapp-profile-trigger:hover,
  .zapp-profile-trigger[aria-expanded="true"] {
    border-color: transparent;
    box-shadow: none;
    opacity: 0.85;
  }
  /* hide Bootstrap's default caret — we use chevron-down icon */
  .zapp-profile-trigger::after { display: none; }
  
  /* ── Dropdown panel — clean white card ── */
  .zapp-profile-menu {
    min-width: 260px;
    border-radius: 20px !important;
    border: 1px solid #E6EEF9 !important;
    box-shadow: var(--shadow-lg) !important;
    padding: 0 !important;
    overflow: hidden;
    margin-top: 8px !important;
  }

  .zapp-profile-menu--card {
    min-width: 288px;
    border-radius: 24px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06) !important;
  }

  /* Language dropdown — same shell as profile card (never set display:flex unless .show or it overrides Bootstrap's hidden state) */
  .zapp-lang-menu.dropdown-menu {
    min-width: min(340px, calc(100vw - 24px));
    max-height: min(72vh, 520px);
    padding-bottom: 8px !important;
    overflow: hidden;
  }

  .zapp-lang-menu.dropdown-menu:not(.show) {
    display: none !important;
  }

  .zapp-lang-menu.dropdown-menu.show {
    display: flex !important;
    flex-direction: column;
  }

  .zapp-lang-dropdown .dropdown-toggle::after {
    display: none !important;
  }

  /* City dropdown — underline "Change city" trigger; menu shell matches language */
  .zapp-city-dropdown .dropdown-toggle::after {
    display: none !important;
  }

  .zapp-city-nav-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 42px;
    padding: 0 12px 0 11px !important;
    border-radius: 999px;
    border: 1px solid #0f172a;
    background: #ffffff;
    color: #0f172a !important;
    font: inherit;
    cursor: pointer;
    box-shadow: none;
    transition: border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
    max-width: min(200px, 42vw);
  }

  .zapp-city-nav-trigger:hover {
    background: #fafafa;
    opacity: 0.95;
  }

  .zapp-city-nav-trigger-pin,
  .zapp-city-nav-trigger-chev {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: #0f172a;
  }

  .zapp-city-nav-trigger-pin [data-lucide],
  .zapp-city-nav-trigger-chev [data-lucide] {
    width: 16px;
    height: 16px;
    stroke-width: 2.1;
  }

  .zapp-city-nav-trigger-chev [data-lucide] {
    width: 14px;
    height: 14px;
    opacity: 0.55;
  }

  .zapp-city-nav-trigger-label {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    font-weight: 400;
    color: #0f172a;
    letter-spacing: 0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
  }

  .zapp-city-menu.dropdown-menu {
    min-width: min(400px, calc(100vw - 20px));
    max-width: min(460px, calc(100vw - 16px));
    max-height: min(72vh, 520px);
    padding-bottom: 8px !important;
    overflow: visible !important;
  }

  .zapp-city-menu.dropdown-menu:not(.show) {
    display: none !important;
  }

  .zapp-city-menu.dropdown-menu.show {
    display: flex !important;
    flex-direction: column;
    overflow: visible !important;
  }

  .zapp-city-menu .zpd-card-divider {
    flex-shrink: 0;
  }

  /* Do not use overflow-y:auto on the whole body: it clips the Places suggestion panel (abs/fixed list). */
  .zapp-city-menu .zcd-nav-change-body {
    flex: 1;
    min-height: 0;
    overflow: visible;
    padding: 8px 16px 12px;
  }

  .zapp-city-menu .zcd-recent.modal-recent {
    max-height: 5.75rem;
    overflow-y: auto;
    overflow-x: hidden;
    flex-shrink: 0;
    -webkit-overflow-scrolling: touch;
  }

  @media (min-width: 992px) and (max-width: 1199.98px) {
    .zapp-city-nav-trigger {
      max-width: min(160px, 24vw);
      padding-left: 9px !important;
      padding-right: 10px !important;
    }

    .zapp-city-nav-trigger-label {
      font-size: 12px;
    }
  }

  .zld-card-header {
    padding: 18px 22px 10px;
    flex-shrink: 0;
  }

  .zld-menu-title {
    font-size: 0.95rem;
    font-weight: 500;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.25;
  }

  .zld-menu-desc {
    font-size: 0.78rem;
    font-weight: 400;
    color: #64748b;
    margin-top: 4px;
    line-height: 1.35;
  }

  .language-grid--dropdown {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 10px;
    padding: 8px 16px 14px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
  }

  @media (max-width: 380px) {
    .language-grid--dropdown {
      grid-template-columns: 1fr;
    }

    .language-grid--dropdown .zld-lang-item:last-child:nth-child(odd) {
      grid-column: auto;
      width: 100%;
      justify-self: stretch;
    }
  }

  /* Single item on last row (9 languages): span and center like a card row */
  .language-grid--dropdown .zld-lang-item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: min(100%, calc(50% - 5px));
    justify-self: center;
  }

  .zld-lang-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 12px;
    text-align: left;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    background: #f8fafc;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    -webkit-tap-highlight-color: transparent;
  }

  .zld-lang-item:hover,
  .zld-lang-item:focus-visible {
    background: #f1f5f9;
    border-color: #dbe2ea;
    outline: none;
  }

  .zld-lang-item.active {
    background: #eef4ff;
    border-color: rgba(11, 95, 255, 0.28);
    box-shadow: 0 0 0 1px rgba(11, 95, 255, 0.12);
  }

  .zld-lang-primary {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    line-height: 1.28;
    word-break: break-word;
    font-family: var(--ds-font-body, 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif);
  }

  .zld-lang-secondary {
    display: block;
    margin-top: 4px;
    font-size: 0.72rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }

  .zld-lang-item.active .zld-lang-primary {
    color: #0b5fff;
  }

  .zld-lang-item.active .zld-lang-secondary {
    color: #64748b;
  }

  .zld-loading {
    flex-shrink: 0;
    border-top: 1px solid #e8ecf1;
    background: #fff;
  }

  /* Card header (avatar + name + subline) */

  .zpd-card-divider {
    height: 1px;
    margin: 0;
    background: #e8ecf1;
    border: none;
  }

  /* Legacy class names (older nav markup / safe reuse) */
  /* ── END PROFILE DROPDOWN ──────────────────────────── */
  
  /* ── BOOKING CONFIRMATION PAGE ─────────────────────── */
  @keyframes popIn {
    from { transform: scale(.4); opacity: 0; }
    to   { transform: scale(1);  opacity: 1; }
  }
  
  /* Timeline */
  
  /* ── PROFILE PAGES ──────────────────────────────────── */
  body.profile-body { background: var(--zt-bg); }
  
  .profile-page {
    max-width: 1100px; margin: 0 auto;
    padding: 32px 16px 80px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
  }
  
  /* Profile sidebar */
  .profile-sidebar {
    position: sticky; top: 80px; height: fit-content;
    padding-right: 24px; border-right: 1px solid #e5e7eb;
  }
  /* ── Minimal sidebar nav ───────────────────────────── */
  
  /* ── Profile home hero ─────────────────────────────── */
  
  /* ── Profile tiles ─────────────────────────────────── */
  
  /* ── Section headings ──────────────────────────────── */
  
  /* ── Suggestion card ───────────────────────────────── */
  
  /* ── Personal info avatar row ──────────────────────── */
  
  /* ── Page title ────────────────────────────────────── */
  
  /* ── Personal info rows ────────────────────────────── */
  
  /* ── Expand panel ──────────────────────────────────── */
  
  /* ── Security page ─────────────────────────────────── */
  
  /* ── Connected social apps ─────────────────────────── */
  
  /* ── Login activity card ───────────────────────────── */
  
  /* ── Privacy preference toggles ───────────────────── */
  
  /* Toggle switch */
  
  /* ── Empty state for no third-party apps ───────────── */
  
  /* Profile main content */
  .profile-main { min-width: 0; }
  
  .profile-card {
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: var(--zapp-card-radius-lg, var(--zt-radius));
    box-shadow: var(--zt-card-shadow);
    margin-bottom: 22px;
    transition: box-shadow 0.2s ease;
  }
  .profile-card:hover { box-shadow: var(--zt-card-shadow-hover); }
  .profile-card-hd {
    padding: 22px 28px 0;
    font-size: var(--ds-text-base, 1rem);
    font-weight: var(--ds-weight-semibold, 600);
    color: var(--zt-text);
    display: flex; justify-content: space-between; align-items: center;
  }
  .profile-card-body { padding: 22px 28px 26px; }
  
  /* Stats row */
  .profile-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px; margin-bottom: 24px; }
  .profile-stat-card {
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: var(--zapp-card-radius, var(--zt-radius-sm));
    box-shadow: var(--zt-card-shadow);
    padding: 20px 18px;
    text-align: center;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .profile-stat-card:hover {
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-2px);
  }
  .profile-stat-num {
    font-size: 1.5rem; font-weight: 500; color: var(--zt-text); display: block;
  }
  .profile-stat-label { font-size: .78rem; color: var(--zt-muted); margin-top: 4px; }
  
  /* Form fields */
  .profile-field { margin-bottom: 20px; }
  .profile-label {
    display: block; font-size: .83rem; font-weight: 500;
    color: var(--zt-text); margin-bottom: 6px;
  }
  .profile-input {
    width: 100%; min-height: 48px; padding: 0 14px;
    border: 1.5px solid var(--zt-border); border-radius: var(--zt-radius-sm);
    font-size: var(--ds-text-base, 1rem); color: var(--zt-text); background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease; outline: none; font-family: inherit;
  }
  .profile-input:focus {
    border-color: var(--zt-primary);
    box-shadow: 0 0 0 3px rgba(11, 95, 255, 0.22);
  }
  .profile-input:focus-visible {
    box-shadow: 0 0 0 3px rgba(11, 95, 255, 0.28);
  }
  .profile-input::placeholder { color: #9ca3af; }
  .profile-select { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px; }
  
  .profile-save-btn {
    padding: 11px 28px; background: var(--zt-primary); color: #fff;
    border: none; border-radius: var(--zt-radius-sm); font-size: .9rem;
    font-weight: 500; cursor: pointer; transition: background .15s; font-family: inherit;
  }
  .profile-save-btn:hover { background: var(--zt-primary-dk); }
  
  /* Booking Cards in history */
  
  /* Status badges */
  .zt-badge {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: .73rem; font-weight: 500; text-transform: capitalize;
    letter-spacing: .02em;
  }
  .zt-badge-pending   { background: #fef9c3; color: #854d0e; }
  .zt-badge-confirmed { background: #dbeafe; color: #0946cc; }
  .zt-badge-in-progress { background: #cffafe; color: #0e7490; }
  .zt-badge-completed { background: #dcfce7; color: #15803d; }
  .zt-badge-cancelled { background: #fee2e2; color: #b91c1c; }
  .zt-badge-paid      { background: #dcfce7; color: #15803d; }
  .zt-badge-unpaid    { background: #fef3c7; color: #92400e; }
  
  /* Booking Detail */
  .bdetail-head {
    background: var(--gradient-cta);
    border-radius: var(--zt-radius); padding: 28px 24px; color: #fff; margin-bottom: 20px;
  }
  .bdetail-id   { font-size: .8rem; opacity: .8; margin-bottom: 6px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
  .bdetail-route { font-size: 1.2rem; font-weight: 500; margin-bottom: 4px; }
  .bdetail-date  { font-size: .88rem; opacity: .8; }
  .bdetail-amount {
    font-size: 2rem; font-weight: 500; letter-spacing: -.02em;
    margin-top: 16px;
  }
  .bdetail-amount span { font-size: 1rem; font-weight: 500; opacity: .7; display: block; margin-top: -4px; }
  
  .bdetail-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .bdetail-lbl   { font-size: .73rem; color: var(--zt-muted); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
  .bdetail-val   { font-size: .9rem; font-weight: 500; color: var(--zt-text); }
  
  /* Driver card */
  
  /* Address cards */
  .addr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 14px; }
  .addr-card {
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border-radius: var(--zapp-card-radius, var(--zt-radius-sm));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    padding: var(--zapp-card-pad, 1.5rem);
    box-shadow: var(--zt-card-shadow);
    position: relative;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  }
  .addr-card:hover {
    border-color: #e2e8f0;
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-2px);
  }
  .addr-label {
    font-size: .72rem; font-weight: 500; text-transform: uppercase;
    letter-spacing: .06em; color: var(--zt-muted); margin-bottom: 6px;
  }
  .addr-text { font-size: .88rem; color: var(--zt-text); font-weight: 500; line-height: 1.4; }
  .addr-city { font-size: .8rem; color: var(--zt-muted); margin-top: 4px; }
  .addr-remove {
    position: absolute; top: 12px; right: 12px;
    background: none; border: none; color: #9ca3af; cursor: pointer;
    display: flex; align-items: center; padding: 4px;
    border-radius: 4px; transition: color .15s, background .15s;
  }
  .addr-remove:hover { color: var(--zt-danger); background: #fee2e2; }
  
  /* Add address form */
  .addr-add-card {
    border: 2px dashed var(--zt-border); border-radius: var(--zt-radius-sm);
    padding: 20px; transition: border-color .15s;
  }
  .addr-add-card:hover { border-color: #cbd5e1; }
  
  /* Filters */
  
  /* Empty state */
  
  /* Pagination */
  .zt-pagination { display: flex; gap: 6px; justify-content: center; margin-top: 24px; }
  .zt-pg-btn {
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1.5px solid var(--zt-border); border-radius: var(--zt-radius-sm);
    background: #fff; font-size: .85rem; font-weight: 500; cursor: pointer;
    color: var(--zt-text); display: flex; align-items: center; justify-content: center;
    text-decoration: none; transition: all .15s;
  }
  .zt-pg-btn:hover, .zt-pg-btn.active {
    background: var(--zapp-dark, #0f172a);
    border-color: var(--zapp-dark, #0f172a);
    color: #fff;
  }
  .zt-pg-btn.disabled { opacity: .4; pointer-events: none; }
  
  /* ── Profile / bookings activity (premium cards) ── */
  .act-main { max-width: 760px; }
  .act-section-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .act-section-title {
    font-family: var(--ds-font-heading, 'Google Sans Flex', system-ui, sans-serif);
    font-size: clamp(1.25rem, 2.5vw, 1.45rem);
    font-weight: 500;
    line-height: var(--ds-leading-snug, 1.35);
    letter-spacing: 0.02em;
    color: var(--ds-heading-color, var(--text-primary, var(--zt-text)));
    margin: 0;
  }
  
  .act-reserve-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: 999px;
    padding: 8px 16px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s, transform 0.2s;
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    box-shadow: var(--zt-card-shadow);
  }
  .act-reserve-btn:hover {
    border-color: var(--zt-primary, var(--color-primary, #2563eb));
    color: var(--zt-primary, var(--color-primary, #2563eb));
    background: var(--zapp-card-icon-bg, #f8fafc);
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-1px);
  }
  
  .act-upcoming-empty {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border: 1px solid var(--zapp-card-border, #e2e8f0);
    border-radius: var(--zapp-card-radius-lg, 20px);
    overflow: hidden;
    box-shadow: var(--zt-card-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .act-upcoming-empty:hover {
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-2px);
  }
  .act-upcoming-empty-img {
    width: 260px;
    flex-shrink: 0;
    background: var(--zapp-card-icon-bg, #f1f5f9);
    border-right: 1px solid var(--zapp-card-border, #e2e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    overflow: hidden;
  }
  .act-upcoming-empty-img img { width: 200px; object-fit: contain; padding: 22px; }
  .act-upcoming-empty-body {
    padding: var(--zapp-card-pad-lg, 1.75rem) calc(var(--zapp-card-pad-lg, 1.75rem) + 4px);
  }
  .act-empty-text {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    margin: 0 0 14px;
    line-height: var(--ds-leading-snug, 1.35);
  }
  .act-reserve-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: 999px;
    padding: 8px 16px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
    background: var(--zapp-card-bg, #fff);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
  }
  .act-reserve-pill:hover {
    border-color: var(--zt-primary, var(--color-primary, #2563eb));
    color: var(--zt-primary, var(--color-primary, #2563eb));
    background: var(--zapp-card-icon-bg, #f8fafc);
  }
  
  .act-upcoming-card {
    display: flex;
    gap: 0;
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border: 1px solid var(--zapp-card-border, #e2e8f0);
    border-radius: var(--zapp-card-radius-lg, 20px);
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    margin-bottom: 16px;
    box-shadow: var(--zt-card-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  }
  .act-upcoming-card:hover {
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-3px);
    border-color: var(--zapp-card-border, #cbd5e1);
  }
  .act-upcoming-img {
    width: 200px;
    flex-shrink: 0;
    background: var(--zapp-card-icon-bg, #f1f5f9);
    border-right: 1px solid var(--zapp-card-border, #e2e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 168px;
  }
  .act-upcoming-img img { width: 160px; object-fit: contain; padding: 20px; }
  .act-upcoming-body {
    padding: var(--zapp-card-pad-lg, 1.75rem) calc(var(--zapp-card-pad-lg, 1.75rem) + 4px);
    flex: 1;
  }
  .act-upcoming-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-bottom: 10px;
  }
  .act-status-chip {
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 4px 11px;
    border-radius: 999px;
    line-height: 1.2;
  }
  .act-status-chip--confirmed { background: #dcfce7; color: #15803d; }
  .act-status-chip--pending { background: #fef9c3; color: #854d0e; }
  .act-status-chip--in-progress { background: #dbeafe; color: #0946cc; }
  .act-upcoming-type {
    font-size: 0.8125rem;
    color: var(--text-secondary, var(--zt-muted));
    font-weight: 500;
    line-height: var(--ds-leading-normal, 1.5);
  }
  .act-upcoming-date {
    font-family: var(--ds-font-heading, 'Google Sans Flex', system-ui, sans-serif);
    font-size: 1.0625rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    margin: 0 0 8px;
    line-height: var(--ds-leading-snug, 1.35);
  }
  .act-upcoming-route {
    font-size: 0.875rem;
    color: var(--text-secondary, var(--zt-muted));
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px 0;
    margin-bottom: 18px;
    line-height: var(--ds-leading-normal, 1.5);
  }
  .act-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin: 0 4px; }
  .act-dot--from { background: var(--color-primary, var(--zt-primary, #2563eb)); }
  .act-dot--to { background: var(--color-accent, #7c3aed); }
  .act-trip-details-btn {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: var(--zapp-card-radius, 12px);
    padding: 8px 18px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
    background: var(--zapp-card-icon-bg, #f8fafc);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
    pointer-events: none;
  }
  .act-upcoming-card:hover .act-trip-details-btn {
    border-color: var(--zt-primary, var(--color-primary, #2563eb));
    color: var(--zt-primary, var(--color-primary, #2563eb));
  }
  
  .act-filters { display: flex; align-items: center; gap: 10px; }
  .act-filter-pill {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: 999px;
    padding: 7px 32px 7px 14px;
    background-color: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    box-shadow: var(--zt-card-shadow);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
  }
  .act-filter-pill:hover,
  .act-filter-pill:focus {
    border-color: var(--zt-primary, var(--color-primary, #2563eb));
    outline: none;
    box-shadow: var(--zt-card-shadow-hover);
  }
  
  .act-past-card {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: var(--zapp-card-bg, #fff);
    -webkit-backdrop-filter: var(--zapp-card-blur, none);
    backdrop-filter: var(--zapp-card-blur, none);
    border: 1px solid var(--zapp-card-border, #e2e8f0);
    border-radius: var(--zapp-card-radius, 18px);
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    margin-bottom: 14px;
    box-shadow: var(--zt-card-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  }
  .act-past-card:hover {
    box-shadow: var(--zt-card-shadow-hover);
    transform: translateY(-2px);
    border-color: var(--zapp-card-border, #cbd5e1);
  }
  .act-past-map {
    width: 112px;
    flex-shrink: 0;
    background: var(--zapp-card-icon-bg, #f1f5f9);
    border-right: 1px solid var(--zapp-card-border, #e2e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
  }
  .act-past-map svg { color: var(--zt-muted); opacity: 0.9; }
  .act-past-body {
    padding: var(--zapp-card-pad, 1.5rem) calc(var(--zapp-card-pad, 1.5rem) + 4px);
    flex: 1;
  }
  .act-past-route {
    font-family: var(--ds-font-heading, 'Google Sans Flex', system-ui, sans-serif);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--text-primary, var(--zt-text));
    margin-bottom: 8px;
    line-height: var(--ds-leading-snug, 1.35);
  }
  .act-past-meta {
    font-size: 0.8125rem;
    color: var(--text-secondary, var(--zt-muted));
    margin-bottom: 14px;
    line-height: var(--ds-leading-normal, 1.5);
  }
  .act-past-status--completed { color: #15803d; font-weight: 500; }
  .act-past-status--cancelled { color: #dc2626; font-weight: 500; }
  .act-past-actions { display: flex; flex-wrap: wrap; gap: 10px; }
  .act-past-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-secondary, var(--zt-muted));
    border: 1px solid var(--zapp-card-border, var(--zt-border));
    border-radius: var(--zapp-card-radius, 8px);
    padding: 6px 12px;
    cursor: default;
    background: var(--zapp-card-icon-bg, #f8fafc);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
  }
  
  .act-empty-state { padding: 40px 16px; text-align: center; }
  
  @media (max-width: 640px) {
    .act-upcoming-empty-img,
    .act-upcoming-img { display: none; }
    .act-upcoming-empty-body,
    .act-upcoming-body {
      padding: var(--zapp-card-pad, 1.5rem);
    }
    .act-past-map { width: 72px; min-height: 88px; }
    .act-past-body { padding: var(--zapp-card-pad, 1.25rem); }
  }
  
  /* Alert banners */
  .profile-alert {
    padding: 12px 16px; border-radius: var(--zt-radius-sm);
    font-size: .88rem; font-weight: 500; margin-bottom: 18px;
    display: flex; align-items: center; gap: 10px;
  }
  .profile-alert-success { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
  .profile-alert-error   { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
  
  /* Mobile profile */
  @media (max-width: 768px) {
    .profile-page { grid-template-columns: 1fr; }
    .profile-sidebar { position: static; border-right: none; padding-bottom: 0; }
    .bdetail-grid { grid-template-columns: 1fr; }
  }
  
  @media (max-width: 991.98px) {
    
    .profile-page {
      padding-top: 20px;
      padding-bottom: 92px;
    }
  }
  
  @media (max-width: 575.98px) {
  
    
    .profile-card-hd,
    .profile-card-body {
      padding-left: 16px;
      padding-right: 16px;
    }
  }

/* === Typography policy: normal 400, max emphasis 500 (Bootstrap .fw-* lives in style.css) === */
html {
  font-weight: 400;
}
body {
  font-weight: 400;
}

/* Cap theme / Bootstrap heading & display weights from style.css */
h1, h2, h4, h5, h6,
.h1, .h2, .h4, .h5, .h6 {
  font-weight: 500 !important;
}
/* --- zapp-tokens.css --- */
/**
 * ZappTrip — semantic design tokens (alias layer).
 * Load after custom.css :root. Do not duplicate raw palette values here.
 * Authoritative values: custom.css + ui-system/design-spec.md
 */

:root {
  /* Color semantics */
  --zapp-ui-color-primary: var(--zapp-primary);
  --zapp-ui-color-primary-dark: var(--zapp-primary-dark);
  --zapp-ui-color-text: var(--zapp-text);
  --zapp-ui-color-muted: var(--zapp-muted);
  --zapp-ui-color-border: var(--zapp-border);
  --zapp-ui-color-surface: var(--zapp-white);
  --zapp-ui-color-canvas: var(--zapp-light);

  /* Radius */
  --zapp-ui-radius-sm: var(--ds-radius-sm);
  --zapp-ui-radius-md: var(--ds-radius-md);
  --zapp-ui-radius-lg: var(--ds-radius-lg);
  --zapp-ui-radius-card: var(--zapp-card-radius);
  --zapp-ui-radius-pill: 999px;

  /* Spacing */
  --zapp-ui-space-section-y: var(--section-py);
  --zapp-ui-space-card-pad: var(--zapp-card-pad);
  --zapp-ui-space-card-pad-lg: var(--zapp-card-pad-lg);

  /* Shadow */
  --zapp-ui-shadow-soft: var(--ds-shadow-soft);
  --zapp-ui-shadow-md: var(--ds-shadow-md);
  --zapp-ui-shadow-card: var(--zapp-card-shadow);

  /* Typography */
  --zapp-ui-font-heading: var(--ds-font-heading);
  --zapp-ui-font-body: var(--ds-font-body);
  --zapp-ui-text-sm: var(--ds-text-sm);
  --zapp-ui-text-base: var(--ds-text-base);
  --zapp-ui-text-lg: var(--ds-text-lg);

  /* Motion */
  --zapp-ui-ease: var(--ds-ease);
  --zapp-ui-duration: var(--ds-duration);
}

/* --- zapp-ui-components.css --- */
/**
 * ZappTrip — reusable UI surfaces (used by partials/ui/card.ejs).
 * Tokens: zapp-tokens.css → custom.css
 */

.zapp-ui-card {
  background: var(--zapp-card-bg-solid);
  border: 1px solid var(--zapp-ui-color-border);
  border-radius: var(--zapp-ui-radius-card);
  box-shadow: var(--zapp-ui-shadow-card);
  padding: var(--zapp-ui-space-card-pad);
}

.zapp-ui-card--sm {
  padding: 0.875rem 1rem;
}

.zapp-ui-card--lg {
  padding: var(--zapp-ui-space-card-pad-lg);
}

.zapp-ui-card--flush {
  padding: 0;
}

.zapp-ui-card__title {
  font-family: var(--zapp-ui-font-heading);
  font-size: clamp(1rem, 0.92rem + 0.35vw, 1.125rem);
  font-weight: var(--ds-weight-semibold);
  color: var(--ds-heading-color);
  margin: 0 0 0.65rem;
  line-height: var(--ds-leading-snug);
}

.zapp-ui-card__body > *:last-child {
  margin-bottom: 0;
}

/* --- zapp-forms.css --- */
/* ===================================================================
   ZappTrip — shared form UX (floating labels, focus rings, errors)
   Loaded after Bootstrap + customer.css. Uses :root tokens from custom.css.
   =================================================================== */

:root {
  --zapp-form-fs: 1rem;
  --zapp-form-fs-sm: 0.8125rem;
  --zapp-form-pad-x: 14px;
  --zapp-form-min-h: 48px;
  --zapp-form-radius: 12px;
  --zapp-form-border: var(--zapp-border, #e2e8f0);
  --zapp-form-border-focus: var(--zapp-primary, #0b5fff);
  --zapp-form-ring: 0 0 0 3px rgba(11, 95, 255, 0.24);
  --zapp-form-ring-soft: 0 0 0 3px rgba(11, 95, 255, 0.14);
  --zapp-form-error: #dc2626;
  --zapp-form-error-soft: #fecaca;
  --zapp-form-error-bg: #fef2f2;
  --zapp-form-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --zapp-form-duration: 0.2s;
}

/* ── Bootstrap controls (readable size, spacing, transitions) ── */
.form-control,
.form-select,
textarea.form-control {
  font-size: var(--zapp-form-fs);
  line-height: 1.5;
  min-height: var(--zapp-form-min-h);
  padding: 0.65rem 0.875rem;
  border-radius: var(--zapp-form-radius);
  border-width: 1.5px;
  border-color: var(--zapp-form-border);
  color: var(--zapp-text, #0f172a);
  transition:
    border-color var(--zapp-form-duration) var(--zapp-form-ease),
    box-shadow var(--zapp-form-duration) var(--zapp-form-ease),
    background-color var(--zapp-form-duration) var(--zapp-form-ease);
}

textarea.form-control {
  min-height: 7.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.form-control:hover:not(:disabled):not([readonly]),
.form-select:hover:not(:disabled) {
  border-color: #cbd5e1;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--zapp-form-border-focus);
  box-shadow: var(--zapp-form-ring-soft);
  outline: none;
}

.form-control:focus-visible,
.form-select:focus-visible {
  box-shadow: var(--zapp-form-ring);
}

.form-control:disabled,
.form-select:disabled {
  opacity: 0.72;
  cursor: not-allowed;
}

.form-check-input {
  width: 1.1em;
  height: 1.1em;
  margin-top: 0.15em;
  border-radius: 0.35em;
  transition: border-color var(--zapp-form-duration) var(--zapp-form-ease), box-shadow var(--zapp-form-duration) var(--zapp-form-ease);
}

.form-check-input:focus {
  border-color: var(--zapp-form-border-focus);
  box-shadow: var(--zapp-form-ring-soft);
  outline: none;
}

.form-check-input:focus-visible {
  box-shadow: var(--zapp-form-ring);
}

.form-control.is-invalid,
.form-select.is-invalid,
.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
  border-color: var(--zapp-form-error);
  background-color: var(--zapp-form-error-bg);
}

.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.22);
}

.invalid-feedback,
.valid-feedback {
  font-size: var(--zapp-form-fs-sm);
  line-height: 1.45;
  margin-top: 0.4rem;
}

.invalid-feedback {
  color: var(--zapp-form-error);
}

/* Spacing between fields in grids */
.row.g-3.zapp-form-grid {
  --bs-gutter-y: 1.25rem;
}

/* ── Floating: label first (input / textarea direct or one wrapper deep) ── */
.zapp-floating-start {
  position: relative;
  margin-bottom: 1.375rem;
}

.zapp-floating-start > label:first-of-type {
  position: absolute;
  left: calc(var(--zapp-form-pad-x) + 2px);
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--zapp-form-fs);
  font-weight: 500;
  color: var(--zapp-muted, #64748b);
  pointer-events: none;
  z-index: 3;
  margin: 0;
  line-height: 1.2;
  max-width: calc(100% - 2rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition:
    top var(--zapp-form-duration) var(--zapp-form-ease),
    transform var(--zapp-form-duration) var(--zapp-form-ease),
    font-size var(--zapp-form-duration) var(--zapp-form-ease),
    color var(--zapp-form-duration) var(--zapp-form-ease),
    background-color 0.15s ease;
  background-color: transparent;
}

.zapp-floating-start > :is(input, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  padding-top: 1.2rem;
  padding-bottom: 0.5rem;
}

/* Any nested input/textarea (e.g. contact phone row) */
.zapp-floating-start:has(:is(input, textarea):focus) > label:first-of-type,
.zapp-floating-start:has(:is(input, textarea):not(:placeholder-shown)) > label:first-of-type,
.zapp-floating-start.is-filled > label:first-of-type {
  top: 0.55rem;
  transform: translateY(0) scale(0.82);
  transform-origin: left top;
  font-size: var(--zapp-form-fs-sm);
  font-weight: 500;
  color: var(--zapp-form-border-focus);
  background: linear-gradient(180deg, #fff 55%, transparent 55%);
  padding-right: 4px;
}

/* Select: label always floated */
.zapp-floating-start:has(> select) > label:first-of-type {
  top: 0.55rem;
  transform: translateY(0) scale(0.82);
  transform-origin: left top;
  font-size: var(--zapp-form-fs-sm);
  font-weight: 500;
  color: var(--zapp-muted, #64748b);
  background: linear-gradient(180deg, #fff 55%, transparent 55%);
  padding-right: 4px;
}

.zapp-floating-start:has(> select:focus) > label:first-of-type {
  color: var(--zapp-form-border-focus);
}

.zapp-floating-start > select {
  padding-top: 1.35rem;
  padding-bottom: 0.45rem;
  min-height: var(--zapp-form-min-h);
}

/* ── Floating: control then label (e.g. password + eye in between — use :has on wrap) ── */
.zapp-floating-end {
  position: relative;
  margin-bottom: 1.375rem;
}

.zapp-floating-end > label:last-of-type {
  position: absolute;
  left: 16px;
  top: 24px;
  transform: translateY(-50%);
  font-size: var(--zapp-form-fs);
  font-weight: 500;
  color: var(--zapp-muted, #64748b);
  pointer-events: none;
  z-index: 4;
  margin: 0;
  line-height: 1.2;
  transition:
    top var(--zapp-form-duration) var(--zapp-form-ease),
    transform var(--zapp-form-duration) var(--zapp-form-ease),
    font-size var(--zapp-form-duration) var(--zapp-form-ease),
    color var(--zapp-form-duration) var(--zapp-form-ease);
}

.zapp-floating-end:has(.auth-input:focus) > label:last-of-type,
.zapp-floating-end:has(.auth-input:not(:placeholder-shown)) > label:last-of-type,
.zapp-floating-end.is-filled > label:last-of-type {
  top: 11px;
  transform: translateY(-50%) scale(0.82);
  transform-origin: left center;
  font-size: var(--zapp-form-fs-sm);
  font-weight: 500;
  color: var(--zapp-form-border-focus);
}

.zapp-floating-end .auth-input {
  padding-top: 1.15rem;
  padding-bottom: 0.55rem;
}

/* ── Stacked fields (explicit label above; still get focus ring from .form-control) ── */
.zapp-field-stack {
  margin-bottom: 1.25rem;
}

.zapp-field-stack > label,
.zapp-field-stack .form-label {
  display: block;
  font-size: var(--zapp-form-fs-sm);
  font-weight: 500;
  color: var(--zapp-text, #0f172a);
  margin-bottom: 0.4rem;
  line-height: 1.4;
}

/* ── Contact page (classes used in contact-us.ejs) ── */

/* Phone row: label floats with inner input */
.zapp-floating-start.zapp-floating--phone > label:first-of-type {
  top: 50%;
}

.zapp-floating-start.zapp-floating--phone.is-filled > label:first-of-type,
.zapp-floating-start.zapp-floating--phone:has(:is(input, textarea):focus) > label:first-of-type,
.zapp-floating-start.zapp-floating--phone:has(:is(input, textarea):not(:placeholder-shown)) > label:first-of-type {
  top: 0.55rem;
  transform: translateY(0) scale(0.82);
  transform-origin: left top;
}

.zapp-floating-start.zapp-floating--phone .contact-input-group input {
  padding-top: 1.15rem;
  padding-bottom: 0.55rem;
}

.zapp-floating-start > label.contact-label {
  margin-bottom: 0;
}

/* ── Checkout co-field (custom inputs) ── */

/* New rider modal — label notch matches input surface */
.srp-nrmod-panel .zapp-floating-start:has(:is(input, textarea):focus) > label:first-of-type,
.srp-nrmod-panel .zapp-floating-start:has(:is(input, textarea):not(:placeholder-shown)) > label:first-of-type,
.srp-nrmod-panel .zapp-floating-start.is-filled > label:first-of-type {
  background: linear-gradient(180deg, #f1f5f9 55%, transparent 55%);
}

/* Help center search */


/* --- zapp-buttons.css --- */
/* ===================================================================
   ZappTrip — premium buttons (Bootstrap + CTAs)
   Loads after custom.css (uses :root --zapp-btn-* tokens).
   =================================================================== */

/* ── Bootstrap .btn ── */
body .btn:not(.btn-link):not(.btn-close) {
  border-radius: var(--zapp-btn-radius-xl, 18px);
  padding: var(--zapp-btn-pad-y, 0.65rem) var(--zapp-btn-pad-x, 1.35rem);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.45;
  letter-spacing: 0.01em;
  transition:
    transform var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    background-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    opacity var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1));
  box-shadow: var(--zapp-btn-shadow, 0 2px 10px rgba(15, 23, 42, 0.08));
}

body .btn-sm:not(.btn-link):not(.btn-close) {
  border-radius: var(--zapp-btn-radius, 14px);
  padding: 0.45rem 1rem;
  font-size: 0.8125rem;
}

body .btn-lg:not(.btn-link):not(.btn-close) {
  border-radius: var(--zapp-btn-radius-xl, 18px);
  padding: 0.85rem 1.55rem;
  font-size: 1.0625rem;
}

body .btn:hover:not(:disabled):not(.disabled):not(.btn-link):not(.btn-close) {
  transform: translateY(-2px) scale(1.02);
  box-shadow: var(--zapp-btn-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.14));
}

body .btn:active:not(:disabled):not(.disabled):not(.btn-link):not(.btn-close) {
  transform: translateY(0) scale(0.97);
  transition-duration: var(--zapp-btn-dur-fast, 0.1s);
}

body .btn-primary:hover:not(:disabled):not(.disabled) {
  box-shadow: var(--zapp-btn-primary-glow, 0 8px 28px rgba(11, 95, 255, 0.38)),
    var(--zapp-btn-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.14));
}

body .btn-outline-primary:hover:not(:disabled):not(.disabled),
body .btn-outline-secondary:hover:not(:disabled):not(.disabled),
body .btn-outline-dark:hover:not(:disabled):not(.disabled) {
  transform: translateY(-2px) scale(1.02);
}

body .btn-link,
body .btn-link:hover,
body .btn-link:active,
body .btn-link:focus {
  box-shadow: none;
  transform: none;
  border-radius: 10px;
}

body .btn-close {
  box-shadow: none;
  border-radius: 50%;
  transition: transform var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    opacity var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

body .btn-close:hover {
  transform: scale(1.08);
}

body .btn-close:active {
  transform: scale(0.95);
}

/* Softer default shadow on outline / light buttons */
body .btn-outline-primary:not(:hover):not(:active),
body .btn-outline-secondary:not(:hover):not(:active),
body .btn-outline-dark:not(:hover):not(:active),
body .btn-light:not(:hover):not(:active),
body .btn-secondary:not(:hover):not(:active) {
  box-shadow: 0 1px 6px rgba(15, 23, 42, 0.05);
}

/* Button groups — restore joined corners (global .btn radius would break groups) */
body .btn-group > .btn,
body .btn-group-vertical > .btn {
  border-radius: 0;
  box-shadow: none;
}
body .btn-group > .btn:first-child {
  border-top-left-radius: var(--zapp-btn-radius-xl, 18px);
  border-bottom-left-radius: var(--zapp-btn-radius-xl, 18px);
}
body .btn-group > .btn:last-child {
  border-top-right-radius: var(--zapp-btn-radius-xl, 18px);
  border-bottom-right-radius: var(--zapp-btn-radius-xl, 18px);
}
body .btn-group > .btn:only-child {
  border-radius: var(--zapp-btn-radius-xl, 18px);
}
body .btn-group-vertical > .btn:first-child {
  border-top-left-radius: var(--zapp-btn-radius-xl, 18px);
  border-top-right-radius: var(--zapp-btn-radius-xl, 18px);
}
body .btn-group-vertical > .btn:last-child {
  border-bottom-left-radius: var(--zapp-btn-radius-xl, 18px);
  border-bottom-right-radius: var(--zapp-btn-radius-xl, 18px);
}
body .btn-group .btn:hover,
body .btn-group-vertical .btn:hover {
  transform: none;
  z-index: 2;
}
body .btn-group .btn:active,
body .btn-group-vertical .btn:active {
  transform: none;
}

/* Input-group appended buttons */

/* ── Shared CTA list: radius + motion (hover / active) ── */
:is(
  .profile-save-btn,
  .lsm-cta-btn,
  .lsm-social-btn,
  .modal-btn,
  .zapp-btn-primary,
  .zapp-btn-outline,
  .zapp-nav-signup,
  .zapp-nav-btn-solid,
  .zt-pg-btn:not(.disabled),
  .srp-update-btn,
  .srp-promo-btn,
  .srp-book-ride-btn,
  .srp-cal-now-btn,
  .srp-rider-done-btn,
  .srp-guest-start-btn,
  .srp-addRider-btn,
  .srp-tmod-ok-btn,
  .srp-logingate-btn,
  .srp-reserve-btn,
  .srp-cmod-cancel-btn,
  .srp-cmod-confirm-btn,
  .srp-pmod-bargain-apply-btn,
  .srp-pmod-remove-btn,
  .srp-pmod-book-btn) {
  border-radius: var(--zapp-btn-radius-xl, 18px);
  transition:
    transform var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    background-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    opacity var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

/* Stronger glow on primary solid CTAs */

/* Navbar pill login — keep pill shape, add motion */
.zapp-nav-login-btn {
  transition:
    transform var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    background-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    color var(--zapp-btn-dur, 0.2s) var(--zapp-btn-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

.zapp-nav-login-btn:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: var(--zapp-btn-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.14));
}

.zapp-nav-login-btn:active {
  transform: translateY(0) scale(0.97);
  transition-duration: var(--zapp-btn-dur-fast, 0.1s);
}

/* Marketing / content CTAs */
.zapp-btn-primary,
.zapp-btn-outline {
  border-radius: var(--zapp-btn-radius-xl, 18px);
  padding: 0.7rem 1.45rem;
  font-size: 0.9375rem;
}

/* Coupon row apply — ensure min tap */

/* Confirm / profile buttons — padding bump */

.profile-save-btn {
  padding: 0.85rem 1.35rem;
  border-radius: var(--zapp-btn-radius-xl, 18px);
  font-size: 0.9375rem;
}

.profile-save-btn:hover:not(:disabled) {
  box-shadow: var(--zapp-btn-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.14));
}

/* Pagination */
.zt-pg-btn:not(.disabled):hover {
  box-shadow: var(--zapp-btn-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.14));
}

.zt-pg-btn.active,
.zt-pg-btn.active:hover,
.zt-pg-btn.active:active {
  transform: none;
}

/* --- zapp-micro.css --- */
/* ===================================================================
   ZappTrip — premium micro-interactions (subtle, 200ms, no flash)
   Loads after zapp-buttons.css. Respects prefers-reduced-motion.
   =================================================================== */

@keyframes zapp-skel-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* ── Opt-in utility (use class="zapp-micro-lift" on any block link / card) ── */
.zapp-micro-lift {
  transition:
    transform var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1));
}
.zapp-micro-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--zapp-card-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.12));
}
.zapp-micro-lift:active {
  transform: translateY(0) scale(0.99);
  transition-duration: var(--zapp-micro-dur-fast, 120ms);
}

/* ── Card shells (inline / marketing pages; avoid accordions & raw rows) ── */

body main .zr-summary-card,
body main .zr-break,
body main .card,
body main .zapp-footer-card,
body main .zapp-seo-box,
body main .act-upcoming-card,
body main .act-upcoming-empty,
body main .act-past-card,
body.profile-body main .booking-hist-card,
body.profile-body main .profile-stat-card {
  transition:
    transform var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1));
}


body main .zr-summary-card:hover,
body main .zr-break:hover,
body main .card:hover:not(.btn):not(:has(.accordion-button)),
  body main .zapp-footer-card:hover,
  body main .zapp-seo-box:hover,
  body main .act-upcoming-card:hover,
  body main .act-upcoming-empty:hover,
  body main .act-past-card:hover,
  body.profile-body main .booking-hist-card:hover,
  body.profile-body main .profile-stat-card:hover,
body main .act-upcoming-card:hover,
body main .act-upcoming-empty:hover,
body main .act-past-card:hover,
body.profile-body main .booking-hist-card:hover,
body.profile-body main .profile-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--zapp-card-shadow-hover, 0 12px 32px rgba(15, 23, 42, 0.12));
}


body main .zr-summary-card:active,
body main .zr-break:active,
body main .card:active,
body main .zapp-footer-card:active,
body main .zapp-seo-box:active,
body main .act-upcoming-card:active,
body main .act-upcoming-empty:active,
body main .act-past-card:active,
body.profile-body main .booking-hist-card:active,
body.profile-body main .profile-stat-card:active {
  transform: translateY(0) scale(0.995);
  transition-duration: var(--zapp-micro-dur-fast, 120ms);
}

/* Bootstrap list / accordion — tactile feedback only */
body main .list-group-item-action {
  transition:
    background-color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    transform var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1));
}
body main .list-group-item-action:hover {
  transform: translateY(-1px);
}
body main .list-group-item-action:active {
  transform: translateY(0) scale(0.998);
  transition-duration: var(--zapp-micro-dur-fast, 120ms);
}

body main .accordion-button {
  transition:
    background-color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    box-shadow var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    transform var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1));
}
body main .accordion-button:active {
  transform: scale(0.998);
  transition-duration: var(--zapp-micro-dur-fast, 120ms);
}

/* Footer links — tiny shift, no vertical jump in dense lists */
.footer .zapp-footer-links a,
.footer .zapp-footer-contact a {
  transition:
    color var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)),
    opacity var(--zapp-micro-dur, 200ms) var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

/* ── Loading skeletons (use markup: .zapp-skeleton + modifiers) ── */
.zapp-skeleton {
  display: block;
  width: 100%;
  min-height: 1rem;
  border-radius: 10px;
  background: linear-gradient(
    90deg,
    #f1f5f9 0%,
    #e8eef4 42%,
    #f1f5f9 84%
  );
  background-size: 200% 100%;
  animation: zapp-skel-shimmer 1.15s var(--zapp-micro-ease, cubic-bezier(0.4, 0, 0.2, 1)) infinite;
}
.zapp-skeleton--text {
  height: 0.9em;
  margin-bottom: 0.55em;
  border-radius: 6px;
}
.zapp-skeleton--text:last-child {
  margin-bottom: 0;
  width: 72%;
}
.zapp-skeleton--title {
  height: 1.15em;
  width: 48%;
  max-width: 280px;
  margin-bottom: 0.65em;
  border-radius: 8px;
}
.zapp-skeleton--avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
}
.zapp-skeleton--btn {
  height: 48px;
  max-width: 200px;
  border-radius: var(--zapp-btn-radius-xl, 18px);
}
.zapp-skeleton-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

/* ── aria-busy — frosted overlay (set aria-busy="true" on loading regions) ── */

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .zapp-skeleton,
  .zapp-skeleton--text,
  .zapp-skeleton--title,
  .zapp-skeleton--avatar,
  .zapp-skeleton--btn {
    animation: none !important;
    background: #f1f5f9;
    background-size: auto;
  }

  .zapp-micro-lift:hover,
  .zapp-micro-lift:active,
  body main .zr-summary-card:hover,
  body main .zr-break:hover,
  body main .card:hover,
  body main .zapp-footer-card:hover,
  body main .zapp-faq-item:hover,
  body main .zapp-seo-box:hover,
  body main .list-group-item-action:hover,
  body main .accordion-button:active {
    transform: none !important;
  }

  
  body main .zr-summary-card:active,
  body main .zr-break:active,
  body main .card:active,
  body main .zapp-footer-card:active,
  body main .zapp-seo-box:active,
  body main .act-upcoming-card:active,
  body main .act-upcoming-empty:active,
  body main .act-past-card:active,
  body.profile-body main .booking-hist-card:active,
  body.profile-body main .profile-stat-card:active,
  body main .list-group-item-action:active {
    transform: none !important;
  }
}

/* --- zapp-layout-mobile.css --- */
/**
 * ZappTrip — mobile-first layout layer (load after custom.css / customer.css).
 * Touch-friendly chrome, vertical stacking helpers, safe-area padding.
 */

:root {
  --zapp-touch-min: 44px;
}

/* ── Safe horizontal inset on edge-to-edge chrome ── */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left, 0px));
    padding-right: max(0px, env(safe-area-inset-right, 0px));
  }
}

@media (max-width: 991.98px) {
  /* Collapsed navbar — WCAG-friendly tap targets */
  .zapp-navbar .navbar-collapse .nav-link.zapp-nav-link {
    min-height: var(--zapp-touch-min);
    display: inline-flex;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    box-sizing: border-box;
  }

  .zapp-navbar .navbar-collapse .dropdown-menu .dropdown-item {
    min-height: var(--zapp-touch-min);
    display: flex;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .zapp-mobile-menu-toggle.navbar-toggler {
    min-width: var(--zapp-touch-min);
    min-height: var(--zapp-touch-min);
    padding: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .zapp-mobile-topbar-actions .zapp-profile-trigger {
    min-width: var(--zapp-touch-min);
    min-height: var(--zapp-touch-min);
    justify-content: center;
  }

  .zapp-mobile-utility-card {
    min-height: var(--zapp-touch-min);
  }

  .zapp-navbar .zapp-nav-signup,
  .zapp-navbar .zapp-nav-btn-solid {
    min-height: var(--zapp-touch-min);
  }
}

/* Profile / account dropdown (mobile) */

/* Footer link rows */
@media (max-width: 575.98px) {
  .footer .zapp-footer-links a,
  .footer .zapp-footer-contact a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .footer .zapp-social-links a {
    min-width: var(--zapp-touch-min);
    min-height: var(--zapp-touch-min);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .footer .zapp-app-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .footer .zapp-store-btn {
    min-height: var(--zapp-touch-min);
    justify-content: center;
  }

  .footer .zapp-trust-list {
    gap: 8px;
  }
}

/* Modals on narrow viewports */
@media (max-width: 575.98px) {
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100vw - 1rem);
  }

  .modal-content {
    border-radius: 16px;
  }
}

/* Auth — safe bottom inset on notched phones */

/* Slightly tighter vertical rhythm between stacked sections */
@media (max-width: 575.98px) {
  main .container > .row.g-4,
  main .container > .row.g-xl-5 {
    --bs-gutter-y: 0.875rem;
  }
}

/* Login / signup modal — larger tap targets on phones */
@media (max-width: 575.98px) {
  #loginSignupModal .lsm-close {
    min-width: var(--zapp-touch-min);
    min-height: var(--zapp-touch-min);
    padding: 10px;
    top: 10px;
    right: 12px;
  }

  #loginSignupModal .lsm-auth-tab {
    min-height: var(--zapp-touch-min);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-left: 12px;
    padding-right: 12px;
  }

  #loginSignupModal .lsm-cta-btn {
    min-height: var(--zapp-touch-min);
  }
}
