@charset "UTF-8";
/**
 * Variables
 * Variables should follow the $component-state-property-size formula for
 * consistent naming. Examples:
 * $nav-link-disabled-color
 * $modal-content-box-shadow-xs
 *
 * Customization:
 * To customize Bootstrap variables:
 * Copy the desired variable from node_modules/bootstrap/scss/_variables.scss
 * @see https://github.com/twbs/bootstrap/blob/main/scss/_variables.scss
 * Change the value and remove the !default flag.
 * Examples:
 * $body-bg: #000;
 * $body-color: $gray-100;
 */
/* Base spacer variables with CSS custom properties */
:root {
  --spacer-xs: 8px;
  --spacer-sm: 16px;
  --spacer-md: 24px;
  --spacer-lg: 32px;
  --spacer-xl: 40px;
  --spacer-2xl: 40px;
  --spacer-3xl: 40px;
  --spacer-4xl: 40px;
  --spacer-5xl: 40px;
  --spacer-6xl: 40px;
  --spacer-7xl: 40px;
  --spacer-8xl: 40px;
  --spacer-9xl: 40px;
}

/* Tablet overrides */
@media (min-width: 577px) {
  :root {
    --spacer-xs: 16px;
    --spacer-sm: 24px;
    --spacer-md: 32px;
    --spacer-lg: 40px;
    --spacer-xl: 48px;
    --spacer-2xl: 48px;
    --spacer-3xl: 48px;
    --spacer-4xl: 48px;
    --spacer-5xl: 48px;
    --spacer-6xl: 48px;
    --spacer-7xl: 48px;
    --spacer-8xl: 48px;
    --spacer-9xl: 48px;
  }
}
/* Desktop overrides */
@media (min-width: 992px) {
  :root {
    --spacer-xs: 4px;
    --spacer-sm: 8px;
    --spacer-md: 16px;
    --spacer-lg: 24px;
    --spacer-xl: 32px;
    --spacer-2xl: 40px;
    --spacer-3xl: 48px;
    --spacer-4xl: 56px;
    --spacer-5xl: 64px;
    --spacer-6xl: 72px;
    --spacer-7xl: 80px;
    --spacer-8xl: 88px;
    --spacer-9xl: 96px;
  }
}
/* TYPOGRAPHY */
body {
  word-break: break-word;
}

:root,
[data-bs-theme=light] {
  --bs-blue: #016DA3;
  --bs-indigo: #6610f2;
  --bs-purple: #613d7c;
  --bs-pink: #e83e8c;
  --bs-red: #C61508;
  --bs-orange: #D93E12;
  --bs-yellow: #F8BE17;
  --bs-green: #477615;
  --bs-teal: #20c997;
  --bs-cyan: #9954bb;
  --bs-black: #1A1A1A;
  --bs-white: #fff;
  --bs-gray: #868e96;
  --bs-gray-dark: #373a3c;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #868e96;
  --bs-gray-700: #495057;
  --bs-gray-800: #373a3c;
  --bs-gray-900: #212529;
  --bs-primary: #016DA3;
  --bs-secondary: #016DA3;
  --bs-tertiary: #fff;
  --bs-blue: #016DA3;
  --bs-orange: #D93E12;
  --bs-green: #477615;
  --bs-success: #477615;
  --bs-info: #016DA3;
  --bs-warning: #A05908;
  --bs-danger: #C61508;
  --bs-light: #f8f9fa;
  --bs-dark: #373a3c;
  --bs-primary-rgb: 1, 109, 163;
  --bs-secondary-rgb: 1, 109, 163;
  --bs-tertiary-rgb: 255, 255, 255;
  --bs-blue-rgb: 1, 109, 163;
  --bs-orange-rgb: 217, 62, 18;
  --bs-green-rgb: 71, 118, 21;
  --bs-success-rgb: 71, 118, 21;
  --bs-info-rgb: 1, 109, 163;
  --bs-warning-rgb: 160, 89, 8;
  --bs-danger-rgb: 198, 21, 8;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 55, 58, 60;
  --bs-primary-text-emphasis: rgb(0.4, 43.6, 65.2);
  --bs-secondary-text-emphasis: rgb(0.4, 43.6, 65.2);
  --bs-success-text-emphasis: rgb(28.4, 47.2, 8.4);
  --bs-info-text-emphasis: rgb(0.4, 43.6, 65.2);
  --bs-warning-text-emphasis: rgb(64, 35.6, 3.2);
  --bs-danger-text-emphasis: rgb(79.2, 8.4, 3.2);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(204.2, 225.8, 236.6);
  --bs-secondary-bg-subtle: rgb(204.2, 225.8, 236.6);
  --bs-success-bg-subtle: rgb(218.2, 227.6, 208.2);
  --bs-info-bg-subtle: rgb(204.2, 225.8, 236.6);
  --bs-warning-bg-subtle: rgb(236, 221.8, 205.6);
  --bs-danger-bg-subtle: rgb(243.6, 208.2, 205.6);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(153.4, 196.6, 218.2);
  --bs-secondary-border-subtle: rgb(153.4, 196.6, 218.2);
  --bs-success-border-subtle: rgb(181.4, 200.2, 161.4);
  --bs-info-border-subtle: rgb(153.4, 196.6, 218.2);
  --bs-warning-border-subtle: rgb(217, 188.6, 156.2);
  --bs-danger-border-subtle: rgb(232.2, 161.4, 156.2);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 26, 26, 26;
  --bs-font-sans-serif: roboto, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", 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: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #1A1A1A;
  --bs-body-color-rgb: 26, 26, 26;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #1A1A1A;
  --bs-emphasis-color-rgb: 26, 26, 26;
  --bs-secondary-color: rgba(26, 26, 26, 0.75);
  --bs-secondary-color-rgb: 26, 26, 26;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(26, 26, 26, 0.5);
  --bs-tertiary-color-rgb: 26, 26, 26;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #016DA3;
  --bs-link-color-rgb: 1, 109, 163;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #00496D;
  --bs-link-hover-color-rgb: 0, 73, 109;
  --bs-code-color: #e83e8c;
  --bs-highlight-color: #1A1A1A;
  --bs-highlight-bg: rgb(253.6, 242, 208.6);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(26, 26, 26, 0.175);
  --bs-border-radius: 0.25rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0px 1px 8px 0px rgba(9, 30, 66, 0.1607843137);
  --bs-box-shadow-sm: 0px 1px 8px 0px rgba(9, 30, 66, 0.1607843137);
  --bs-box-shadow-lg: 0px 4px 12px 0px rgba(9, 30, 66, 0.1215686275);
  --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(1, 109, 163, 0.25);
  --bs-form-valid-color: #477615;
  --bs-form-valid-border-color: #477615;
  --bs-form-invalid-color: #C61508;
  --bs-form-invalid-border-color: #C61508;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #373a3c;
  --bs-secondary-bg-rgb: 55, 58, 60;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(44, 47.5, 50.5);
  --bs-tertiary-bg-rgb: 44, 48, 51;
  --bs-primary-text-emphasis: rgb(102.6, 167.4, 199.8);
  --bs-secondary-text-emphasis: rgb(102.6, 167.4, 199.8);
  --bs-success-text-emphasis: rgb(144.6, 172.8, 114.6);
  --bs-info-text-emphasis: rgb(102.6, 167.4, 199.8);
  --bs-warning-text-emphasis: rgb(198, 155.4, 106.8);
  --bs-danger-text-emphasis: rgb(220.8, 114.6, 106.8);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(0.2, 21.8, 32.6);
  --bs-secondary-bg-subtle: rgb(0.2, 21.8, 32.6);
  --bs-success-bg-subtle: rgb(14.2, 23.6, 4.2);
  --bs-info-bg-subtle: rgb(0.2, 21.8, 32.6);
  --bs-warning-bg-subtle: rgb(32, 17.8, 1.6);
  --bs-danger-bg-subtle: rgb(39.6, 4.2, 1.6);
  --bs-light-bg-subtle: #373a3c;
  --bs-dark-bg-subtle: rgb(40.5, 42, 43);
  --bs-primary-border-subtle: rgb(0.6, 65.4, 97.8);
  --bs-secondary-border-subtle: rgb(0.6, 65.4, 97.8);
  --bs-success-border-subtle: rgb(42.6, 70.8, 12.6);
  --bs-info-border-subtle: rgb(0.6, 65.4, 97.8);
  --bs-warning-border-subtle: rgb(96, 53.4, 4.8);
  --bs-danger-border-subtle: rgb(118.8, 12.6, 4.8);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #373a3c;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(102.6, 167.4, 199.8);
  --bs-link-hover-color: rgb(133.08, 184.92, 210.84);
  --bs-link-color-rgb: 103, 167, 200;
  --bs-link-hover-color-rgb: 133, 185, 211;
  --bs-code-color: rgb(241.2, 139.2, 186);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(99.2, 76, 9.2);
  --bs-border-color: #373a3c;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(144.6, 172.8, 114.6);
  --bs-form-valid-border-color: rgb(144.6, 172.8, 114.6);
  --bs-form-invalid-color: rgb(220.8, 114.6, 106.8);
  --bs-form-invalid-border-color: rgb(220.8, 114.6, 106.8);
}

/* -----------------------------------------------------------------------------
  TYPOGRAPHY UTILITIES (custom Bootstrap extensions)

  We extend Bootstrap utilities with a custom typographic system 
  based on design tokens (font-size, line-height, font-family).

  ──────────────────────────────
  1. FONT SIZES
  ──────────────────────────────
  Class prefix: `.fs-*`
  Responsive: ✅ (e.g. `.fs-md-h1`, `.fs-lg-d1`)

  Available values:
    .fs-d1   → $font-size-d1
    .fs-d2   → $font-size-d2
    .fs-h1   → $font-size-h1
    .fs-h2   → $font-size-h2
    .fs-h3   → $font-size-h3
    .fs-h4   → $font-size-h4
    .fs-s1   → $font-size-s1
    .fs-s2   → $font-size-s2
    .fs-b    → $font-size-b
    .fs-c    → $font-size-c
    .fs-cm   → $font-size-cm

  Example:
    <h1 class="fs-h1">Heading</h1>
    <p class="fs-s2 fs-lg-s1">Responsive text</p>

  ──────────────────────────────
  2. LINE HEIGHTS
  ──────────────────────────────
  Class prefix: `.lh-*`
  Responsive: ❌ (fixed only)

  Available values:
    .lh-d1   → $line-height-d1
    .lh-h1   → $line-height-h1
    .lh-s2   → $line-height-s2
    ... etc.

  Example:
    <p class="lh-s2">Compact text line-height</p>

  ──────────────────────────────
  3. FONT FAMILIES
  ──────────────────────────────
  Class prefix: `.ff-*`
  Responsive: ❌ (fixed only)

  Available values:
    .ff-regular    → $font-family-regular
    .ff-extrabold  → $font-family-extrabold

  Example:
    <span class="ff-extrabold">Strong title</span>

  ──────────────────────────────
  Notes:
  - These utilities are generated via $utilities map extension.
  - They complement (but don’t replace) Bootstrap’s built-in `.h1...h6` 
    and `.display-*` classes.
  - Use `.fs-*` + `.lh-*` + `.ff-*` combos to fully control typography.
----------------------------------------------------------------------------- */
.box-shadow {
  box-shadow: 0px 1px 8px 0px rgba(9, 30, 66, 0.1607843137);
}

.box-shadow-lg {
  box-shadow: 0px 4px 12px 0px rgba(9, 30, 66, 0.1215686275);
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-sm {
  border-radius: 0.25rem;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-xl {
  border-radius: 1rem;
}

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

.font-family-regular {
  font-family: roboto, sans-serif;
}

.line-height-sm {
  line-height: 1.25;
}

.line-height-base {
  line-height: 1.5;
}

.line-height-lg {
  line-height: 2;
}

[class*=display-] {
  line-height: 1.5;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  line-height: 1.5;
  font-family: poppins, sans-serif;
}

h1,
.h1 {
  font-size: 4rem;
}

h2,
.h2 {
  font-size: 3rem;
}

h3,
.h3 {
  font-size: 2.5rem;
}

h4,
.h4 {
  font-size: 2rem;
}

h5,
.h5 {
  font-size: 1.5rem;
}

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

p {
  margin-bottom: 2em;
}

.font-size-xs {
  font-size: 0.75rem;
}

.font-size-sm {
  font-size: 0.875rem;
}

.font-size-lg {
  font-size: 1.25rem;
}

.font-size-xl {
  font-size: 1.5rem;
}

.font-size-xxl {
  font-size: 2rem;
}

.highlight-pill, .highlight-pill--subtle {
  border-width: 0.0625em;
  border-style: solid;
  border-color: #D1D1D1;
  border-radius: 200px;
  padding: 0.25rem 0.5rem;
}
.highlight-pill--subtle {
  border-color: #6A6A6A;
}
.highlight-pill--blue {
  border: none;
  background-color: #E0F3FE;
  color: #016DA3;
}
.highlight-pill--blue a {
  color: #016DA3;
}
.highlight-pill--blue-transparent {
  background-color: transparent;
  color: #016DA3;
  border: 1px solid;
  border-color: #016DA3;
}
.highlight-pill--blue-transparent a {
  color: #016DA3;
}
.highlight-pill--grey {
  border: none;
  background-color: #F0F0F0;
  color: #6A6A6A;
}
.highlight-pill--grey a {
  color: #6A6A6A;
}

.label-pill {
  display: inline;
  font-size: 0.75rem;
  padding: 4px;
  background-color: #FFF1E9;
  color: #D93E12;
  border-radius: 1rem;
  padding: 4px 16px;
}

.text-black {
  color: #2D2D2D !important;
}

.visible-lg-up {
  display: none;
}
@media (min-width: 992px) {
  .visible-lg-up {
    display: block !important;
  }
}

.hidden-lg-up {
  display: block;
}
@media (min-width: 992px) {
  .hidden-lg-up {
    display: none !important;
  }
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 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-transform: translate(0, -50px);
          transform: translate(0, -50px);
  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;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    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: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

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

.modal-backdrop, .search-overlay {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #1A1A1A;
  --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, .fade.search-overlay {
  opacity: 0;
}
.modal-backdrop.show, .show.search-overlay {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

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

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 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;
  }
}
.form-control,
.form-textfield {
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  border: 1px solid #e0e0e0;
  font-size: 1rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:focus,
.form-textfield:focus {
  border-color: #0066cc;
  box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.15);
  outline: 0;
}
.form-control::-webkit-input-placeholder, .form-textfield::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}
.form-control::-moz-placeholder, .form-textfield::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control::-ms-input-placeholder, .form-textfield::-ms-input-placeholder {
  color: #999;
  opacity: 1;
}
.form-control::placeholder,
.form-textfield::placeholder {
  color: #999;
  opacity: 1;
}

textarea.form-control {
  border-radius: 1rem;
}

.form-select {
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  border: 1px solid #e0e0e0;
}

.ai-search-form-wrapper {
  max-width: 100%;
}

.ai-search-form {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.ai-search-form .form-item {
  flex: 1;
  margin-bottom: 0;
}
.ai-search-form .form-type-textfield.form-item-ai-input {
  width: 100%;
}
.ai-search-form .form-submit.btn {
  flex-shrink: 0;
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ai-search-form .form-submit.btn.btn-with-icon::before {
  margin-right: 0.5rem;
  font-size: 1em;
}
@media (max-width: 576px) {
  .ai-search-form {
    flex-direction: column;
  }
  .ai-search-form .form-item,
  .ai-search-form .ai-search-submit {
    width: 100%;
  }
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
}
.search-input-wrapper .search-input {
  flex: 1;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  transition: all 0.15s ease-in-out;
  background-color: #fff;
  color: #1f2937;
  margin-bottom: 0.5rem;
}
@media (min-width: 992px) {
  .search-input-wrapper .search-input {
    margin-bottom: 0;
  }
}
.search-input-wrapper .search-input::-webkit-input-placeholder {
  color: #9ca3af;
}
.search-input-wrapper .search-input::-moz-placeholder {
  color: #9ca3af;
}
.search-input-wrapper .search-input::-ms-input-placeholder {
  color: #9ca3af;
}
.search-input-wrapper .search-input::placeholder {
  color: #9ca3af;
}
.search-input-wrapper .search-input:focus {
  outline: none;
  border-color: #0066cc;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}
.search-input-wrapper .search-input:disabled {
  background-color: #f3f4f6;
  color: #9ca3af;
  cursor: not-allowed;
}
.search-input-wrapper .search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  margin-left: 0.5rem;
  background-color: #0066cc;
  color: #fff;
  border: none;
  border-radius: 0.375rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
  gap: 0.5rem;
}
.search-input-wrapper .search-button:hover:not(:disabled) {
  background-color: #0052a3;
}
.search-input-wrapper .search-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.3);
}
.search-input-wrapper .search-button:disabled {
  background-color: #d1d5db;
  cursor: not-allowed;
}
.search-input-wrapper .search-button .icon {
  width: 1.25rem;
  height: 1.25rem;
}
.search-input-wrapper .search-clear {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.15s ease-in-out;
}
.search-input-wrapper .search-clear:hover {
  background-color: #f3f4f6;
  color: #1f2937;
}
.search-input-wrapper .search-clear .icon {
  width: 1rem;
  height: 1rem;
}
.search-input-wrapper.has-clear-button .search-input {
  padding-right: 2.5rem;
}

.search-input--rounded .search-input {
  border-radius: 50px;
}
.search-input--rounded .search-button {
  border-radius: 50px;
}

.search-input--extra-rounded .search-input {
  border-radius: 100px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.search-input--extra-rounded .search-button {
  border-radius: 100px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

body.path-ai .search-input--extra-rounded .form-item-ai-input .search-input {
  border: 2px solid #016DA3;
}

.search-input--focus-accent .search-input:focus {
  border-color: #E8A50A;
  box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.2);
}
.search-input--focus-accent.search-input--attached .search-input:focus,
.search-input--focus-accent.search-input--attached .search-input:focus + .search-button {
  border-color: #E8A50A;
}

.search-input--disabled .search-input {
  background-color: #f3f4f6;
  color: #9ca3af;
  cursor: not-allowed;
}
.search-input--disabled .search-button {
  background-color: #d1d5db;
  color: #9ca3af;
  cursor: not-allowed;
}

.search-input--error .search-input {
  border-color: #ef4444;
}
.search-input--error .search-input:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.search-input--error .search-error-message {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.5rem;
  color: #C61508;
  font-size: 0.875rem;
}
.search-input--error .search-error-message .icon {
  width: 1rem;
  height: 1rem;
}

.search-form-group {
  margin-bottom: 1rem;
}
.search-form-group .search-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
}

@media (max-width: 576px) {
  .search-input-wrapper {
    flex-wrap: wrap;
  }
  .search-input-wrapper.search-input--attached {
    flex-wrap: nowrap;
  }
  .search-input-wrapper .search-button {
    flex: 1 1 100%;
    margin-left: 0;
    margin-top: 0.5rem;
    border-radius: 0.375rem;
  }
  .search-input-wrapper.search-input--attached .search-button {
    flex: 0 0 auto;
    margin-top: 0;
  }
  .search-input-wrapper.search-input--rounded .search-button, .search-input-wrapper.search-input--extra-rounded .search-button {
    border-radius: 50px;
  }
}
form[id^=cd-custom-ai-search-form] {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-template-areas: "input" "btn";
}
@media (min-width: 992px) {
  form[id^=cd-custom-ai-search-form] {
    grid-template-areas: "input";
  }
}
form[id^=cd-custom-ai-search-form] .form-item-ai-input {
  grid-area: input;
}
form[id^=cd-custom-ai-search-form] .search-button {
  grid-area: btn;
  justify-self: center;
  width: 100%;
  padding-top: 0.7rem;
}
@media (min-width: 992px) {
  form[id^=cd-custom-ai-search-form] .search-button {
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
    margin-right: 0;
    justify-self: flex-end;
    grid-area: input;
  }
}

div[id^=block-teide-aiformsearchblock] .block__content {
  width: 100%;
}

.search-overlay {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
  z-index: 10000 !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.search-overlay.active {
  opacity: 0.5;
  visibility: visible;
  pointer-events: auto;
}

.field--name-field-components > .field__item > .paragraph {
  position: relative;
}
.field--name-field-components > .field__item > .paragraph > .search-overlay.modal-backdrop, .field--name-field-components > .field__item > .paragraph > .search-overlay {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}
.field--name-field-components > .field__item > .paragraph > .search-overlay.modal-backdrop.active, .field--name-field-components > .field__item > .paragraph > .search-overlay.active {
  opacity: 0.5;
  visibility: visible;
  pointer-events: auto;
}
.field--name-field-components > .field__item > .paragraph > .paragraph__inner {
  position: relative;
  z-index: 0;
}

body.search-overlay-active {
  overflow: hidden;
}
body.search-overlay-active .page-header,
body.search-overlay-active .page-header.sticky-top,
body.search-overlay-active [class*=page-header] {
  position: static !important;
}
body.search-overlay-active .sticky-top,
body.search-overlay-active [class*=sticky] {
  position: static !important;
  z-index: 0;
}
body.search-overlay-active form[id^=cd-custom-ai-search-form],
body.search-overlay-active div[id^=block-teide-aiformsearchblock] {
  z-index: 10001 !important;
}

form[id^=cd-custom-ai-search-form].search-form-focused {
  position: relative;
  z-index: 9999 !important;
}
form[id^=cd-custom-ai-search-form].search-form-focused .search-input {
  border-color: #016DA3;
  box-shadow: 0 0 0 3px rgba(1, 109, 163, 0.2);
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 10000 !important;
}
form[id^=cd-custom-ai-search-form].search-form-focused .search-button {
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 10000 !important;
}

form[id^=cd-custom-ai-search-form] {
  position: relative;
}
form[id^=cd-custom-ai-search-form].search-form-focused {
  isolation: isolate;
  z-index: 9999 !important;
}

div[id^=block-teide-aiformsearchblock] .block__content {
  width: 100%;
  position: relative;
}
div[id^=block-teide-aiformsearchblock].search-block-focused {
  position: relative;
  z-index: 9999 !important;
  isolation: isolate;
}
div[id^=block-teide-aiformsearchblock].search-block-focused .block__content {
  position: relative;
  z-index: 10000 !important;
}

.search-error-message {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: #C61508;
  border: 1px solid #C61508;
  border-radius: 0.25rem;
  color: #fff;
  font-size: 0.875rem;
  -webkit-animation: slideDown 0.3s ease-out;
          animation: slideDown 0.3s ease-out;
  position: relative;
  z-index: 10002 !important;
}
.search-error-message .icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

body:not(.search-overlay-active) form[id^=cd-custom-ai-search-form].search-input--error ~ .search-error-message,
body:not(.search-overlay-active) form[id^=cd-custom-ai-search-form].search-input--error + .search-error-message {
  background-color: transparent;
  border: none;
  color: #C61508;
  padding: 0.5rem 0;
}
body:not(.search-overlay-active) form[id^=cd-custom-ai-search-form].search-input--error ~ .search-error-message .icon,
body:not(.search-overlay-active) form[id^=cd-custom-ai-search-form].search-input--error + .search-error-message .icon {
  color: #C61508;
}

@-webkit-keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.search-input--error .search-input {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}
.search-input--error .search-input:focus {
  border-color: #b91c1c !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2) !important;
}

/*# sourceMappingURL=form.css.map*/