/* Schakel Theme — base stylesheet
   ITCSS order: tools -> generic -> objects -> elements -> components -> utilities
*/

/* Tools — tokens & macros (no output except :root custom properties) */
/* Design tokens
   Bridges theme settings (fields.json) -> CSS custom properties.
   Everything downstream (elements, components, modules) should consume these
   variables rather than hard-coding values, so the whole theme stays editable
   from the HubSpot theme settings panel.
*/

:root {
  /* Colors */
  --color-primary:   #0E183A;
  --color-secondary: #4A4A4A;
  --color-accent:    #F56A22;
  --color-text:      #1A1A1A;
  --color-heading:   #0E183A;
  --color-border:    #E2E8F0;
  --color-surface:   #F6F3EE;
  --color-background: #F1EDE8;
  --color-white: #ffffff;

  /* Typography */
  --font-body:    TASA Orbiter, sans-serif;
  --font-heading: TASA Orbiter, sans-serif;
  --font-accent:  PT Serif, serif;
  --font-mono:    DM Mono, monospace;
  --font-size-base: 16px;

  /* Modular type scale (1.25 — adjust per design) */
  --font-size-h1: clamp(2.5rem, 6vw, 74px);  /* design: 74px desktop */
  --font-size-h2: calc(var(--font-size-base) * 2.441);
  --font-size-h3: calc(var(--font-size-base) * 1.953);
  --font-size-h4: calc(var(--font-size-base) * 1.563);
  --font-size-h5: calc(var(--font-size-base) * 1.25);
  --font-size-h6: var(--font-size-base);
  --font-size-small: calc(var(--font-size-base) * 0.8);

  --line-height-body: 1.6;
  --line-height-heading: 1.2;
  --line-height-h1: 1;        /* design: 100% */
  --font-weight-heading: 400; /* design: H1 is regular weight */

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --section-spacing: 80px;

  /* Layout */
  --content-max-width: 1280px;     /* .container / .content-wrapper (1280) */
  --container-fluid-max-width: 1740px; /* .container-fluid inner (full-width sections) */
  --wide-max-width: 1740px;            /* header / hero wrapper */

  /* Decorative grid lines (section dividers + container frame) */
  --grid-line-color: rgba(196, 196, 196, 1); /* #C4C4C4 @ ~60% for vertical lines */
  --divider-max-width: 1920px;                 /* fading horizontal divider width */
  --grid-gutter: 40px;     /* Bootstrap --bs-gutter-x: gap between columns */
  --site-padding: 40px;    /* content-wrapper side padding (page edge inset) */

  /* Buttons */
  --button-radius: 50px;
}

@media (max-width: 767px) {
  :root { --font-size-h1: 50px; }
}

/* Generic — reset, normalize & self-hosted @font-face */
*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}
/* Self-hosted fonts.
   All theme fonts are Google fonts loaded automatically by HubSpot from the
   typography fields (TASA Orbiter for body/headings, PT Serif italic for the
   accent emphasis, DM Mono for eyebrows, DM Sans for the footer bottom bar),
   so there are currently no self-hosted @font-face declarations here. */

/* Vendor — Bootstrap 5 grid only (containers, rows, cols, flex/display/margin utils) */
/*!
 * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@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: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

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

.justify-content-evenly {
  justify-content: space-evenly !important;
}

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

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

.align-items-center {
  align-items: center !important;
}

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

.align-items-stretch {
  align-items: stretch !important;
}

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

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

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

.align-self-center {
  align-self: center !important;
}

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

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

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

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

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

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ps-5 {
  padding-left: 3rem !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: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 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.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 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.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 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.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 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.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !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: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 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.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 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.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 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.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 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.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !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: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 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.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 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.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 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.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 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.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !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: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 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.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 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.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 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.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 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.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !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: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 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.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 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.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 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.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 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.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

/*# sourceMappingURL=bootstrap-grid.css.map */

/* Objects — structural, non-cosmetic patterns */
/* Layout objects — structural, non-cosmetic.
   The grid itself comes from Bootstrap 5 (css/vendor/bootstrap-grid.css):
   use .row + .col-* inside a wrapper. These objects are the theme-specific
   bits Bootstrap's grid build does not cover.
*/

/* Grid gutter override — design calls for a 40px gap (Bootstrap default 24px).
   Must come after the vendor grid since Bootstrap sets --bs-gutter-x locally
   on these selectors. Gutter-x is the full gap; columns get half (20px) of
   padding on each side, producing a 40px gap between adjacent columns. */
.container,
.container-fluid,
.container-sm, .container-md, .container-lg, .container-xl, .container-xxl,
.row {
  --bs-gutter-x: var(--grid-gutter);
}

/* Full-width container — wider inner cap (1740px) for full-bleed sections.
   Declared BEFORE .container so an element carrying BOTH classes (e.g. the body
   dnd area, which HubSpot renders as "container-fluid ... container") resolves
   to the narrower .container value (1280px) below. */
.container-fluid {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--container-fluid-max-width);
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
  width: 100%;
}

/* Site container. We retune Bootstrap's .container to the design tokens:
   a single max-width (1280px) with 40px side padding instead of Bootstrap's
   stepped per-breakpoint max-widths. This rule comes after the vendor grid so
   it overrides those media-query caps. .content-wrapper is kept as an alias so
   HubSpot-managed content (system/blog templates, default modules) matches.

   40px side padding is independent of the 40px column gutter. A nested .row's
   negative margins (-half-gutter = -20px) pull into this padding, so column
   *content* aligns 40px from the page edge while the gap between columns is 40px. */
.container,
.content-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-max-width);
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
  width: 100%;
}

/* Tighter side padding on mobile */
@media (max-width: 991px) {
  .container,
  .container-fluid,
  .content-wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Custom sections sit inside the padded dnd container-fluid, so their own
     .container would double the gutter (40px). Drop it — the outer wrapper
     supplies the single 20px. Hero/header/footer don't use .section. */
  .section > .container {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Contain the viewport-wide decorative lines below so they never trigger a
   horizontal scrollbar. (Header is position:fixed, so this doesn't affect it.) */
.body-wrapper { overflow-x: hidden; }

/* Smooth scroll for in-page anchor jumps (#id). Disabled for reduced-motion
   users by the block below. */
html { scroll-behavior: smooth; }

/* Invisible jump target placed before a section, for modules whose own id is
   taken by HubSpot's generated . The offset clears the fixed header. */
.section-anchor {
  display: block;
  height: 0;
  scroll-margin-top: 110px;
}

/* Case intro band — klant / oplossingen meta + description below the hero on
   dynamic case pages (rendered by the klantcases template). Mirrors the
   case-hero module's intro styling. */
.case-intro__meta {
  display: grid;
  gap: var(--space-1) var(--space-5);
  margin: 0 0 var(--space-6);
}
.case-intro__meta-label {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.case-intro__meta-value {
  color: var(--color-heading);
  margin: 0 0 var(--space-4);
}
.case-intro__meta-value:last-child { margin-bottom: 0; }
.case-intro__body {
  color: var(--color-text);
  font-size: 28px;
  line-height: 1.55;
}
.case-intro__body :is(p) { margin: 0 0 var(--space-4); }
.case-intro__body :is(p):last-child { margin-bottom: 0; }
.case-intro__body em, .case-intro__body i {
  color: var(--color-accent);
  font-family: var(--font-accent);
  font-style: italic;
}
.case-intro__body :is(h2, h3) { color: var(--color-heading); }


/* Honour reduced-motion preferences (WCAG 2.3.3 / 2.2.2). Near-instant
   transitions/animations across the theme; JS handles video + count-up. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Custom content sections.
   Every custom section's root element gets class "section" and receives:
   - a fading horizontal divider (1920px) at its bottom (::after)
   - vertical guide lines at the full-width container edges (1740px) running the
     section's full height (::before). Contiguous sections stack into continuous
     vertical lines; the bottom dividers separate them. */
.section {
  padding-top: var(--section-spacing);
  padding-bottom: var(--section-spacing);
  position: relative;
}

/* Tighter vertical rhythm on mobile (after the base rule so it wins) */
@media (max-width: 991px) {
  .section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Stacking order within a section: frame lines (0) < dot decoration (1) <
   content (2). */
.section > * {
  position: relative;
  z-index: 2;
}

/* Vertical container frame */
.section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--content-max-width), 100vw);
  border-left: 1px solid var(--grid-line-color);
  border-right: 1px solid var(--grid-line-color);
  pointer-events: none;
  opacity: 0.6;
  z-index: 0;
}

/* Fading horizontal divider at the bottom edge */
.section::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(var(--divider-max-width), 100vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #C4C4C4 8.17%, #C4C4C4 89.42%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  opacity: 0.6;
  z-index: 0;
}

@media (max-width: 767px) {
  /* Drop the edge framing on small screens (it would sit at the viewport edges) */
  .section::before { display: none; }
}

/* Decorative dot grid — inline SVG centered on a line crossing (a vertical
   frame line × the bottom divider), alternating sides per section. */
.section__dots {
  bottom: -190px;
  pointer-events: none;
  position: absolute;
  width: 380px;
  height: 380px;
  z-index: 1;            /* above the frame lines (0), below the content (2) */
  mix-blend-mode: multiply;
}
.section__dots .dot-grid {
  display: block;
  height: auto;
  width: 100%;
}

/* Dots centred on the vertical frame line (× the bottom divider). Positioned
   with the SAME formula as the frame line (.section::before: centred, width
   min(content, 100vw)) so they sit on the crossing at any screen size. The box
   is 380 wide, so subtracting 190px (half) puts its centre on the line. */
.section__dots--right {
  left: calc(50% + min(var(--content-max-width), 100vw) / 2 - 190px);
  right: auto;
}
.section__dots--left {
  left: calc(50% - min(var(--content-max-width), 100vw) / 2 - 190px);
  right: auto;
}

@media (max-width: 767px) {
  .section__dots { display: none; }
}
/* .content-wrapper is defined in _layout.css (token-driven, alias of .container).
   Only DnD-section-specific rules live here. */

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements — bare HTML elements */
/* Base typographic elements — all driven by tokens */

/* !important guards against HubSpot's standard_header_includes, which loads
   after main.css and shrinks body text to 14px at small breakpoints. */
html { font-size: var(--font-size-base) !important; }

body {
  background-color: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-body);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  margin: 0 0 var(--space-3);
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

/* Headings shrink on mobile (covers the hero title too via the token) */
@media (max-width: 991px) {
  :root {
    --font-size-h1: 38px;
    --font-size-h2: 34px;
    --font-size-h3: 26px;
  }
}

p { margin: 0 0 var(--space-3); }

a {
  color: var(--color-accent);
  text-decoration: none;
}
a:hover { text-decoration: none; }

small { font-size: var(--font-size-small); }

ul, ol { margin: 0 0 var(--space-3) var(--space-3); }

blockquote {
  border-left: 4px solid var(--color-accent);
  margin: 0 0 var(--space-3);
  padding-left: var(--space-4);
}

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

/* Visible keyboard focus for all interactive elements (WCAG 2.4.7).
   Accent outline is legible over both the light page and the dark/media
   backgrounds (header, CTA, footer). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

.button,
.hs-button,
button.button {
  align-items: center;
  background-color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: var(--button-radius);
  color: var(--color-white);
  cursor: pointer;
  display: inline-flex;
  gap: 10px;
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  font-weight: 400;
  justify-content: center;
  line-height: 1;
  padding: var(--space-3) var(--space-5);
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.button:hover,
.hs-button:hover {
  background-color: transparent;
  color: var(--color-accent);
  text-decoration: none;
}

.button--secondary {
  background-color: transparent;
  color: var(--color-accent);
}
.button--secondary:hover {
  background-color: var(--color-accent);
  color: var(--color-white);
}

/* Light — solid white, dark text (for use over dark/media backgrounds) */
.button--light {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-primary);
}
.button--light:hover {
  background-color: transparent;
  color: var(--color-white);
}

/* Ghost — transparent with current-color outline (inherits text color) */
.button--ghost {
  background-color: transparent;
  border-color: currentColor;
  color: inherit;
}
.button--ghost:hover {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-primary);
}

/* Optional trailing arrow icon inside buttons */
.button__icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}
.button__icon svg { display: block; }
/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  color: var(--color-heading);
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: var(--space-1);
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  color: var(--color-heading);
  display: block;
  font-family: inherit;
  font-size: 1rem;
  padding: 12px 16px;
  width: 100%;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

form input:focus,
form select:focus,
form textarea:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(245, 106, 34, 0.12);
  outline: none;
}

form textarea {
  min-height: 120px;
  resize: vertical;
}

form ::placeholder { color: var(--color-secondary); opacity: 0.7; }

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  accent-color: var(--color-accent);
  cursor: pointer;
  height: 18px;
  margin-right: 0.5rem;
  width: 18px;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: var(--color-accent);
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  background-color: var(--color-accent);
  border: 0;
  border-radius: 999px;
  color: var(--color-white);
  cursor: pointer;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 12px 28px;
  text-align: center;
  text-transform: uppercase;
  transition: filter 0.15s ease;
  white-space: normal;
  width: auto;
}
form input[type=submit]:hover,
form .hs-button:hover { filter: brightness(0.92); }

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto 0 0;
}

/* ── New HubSpot form builder (hsfc-* classes) ───────────────────────────────
   The new forms render in light DOM with their own injected theme, so we use
   !important to apply the brand look (same as the legacy styles above). */

.hsfc-Form { font-family: inherit; }

/* Unify the typography — the new builder injects its own font on labels/text.
   Scoped to [data-hsfc-id] (the form's own renderer wrapper) rather than
   .body-wrapper: Fancybox moves popup content to <body>, outside .body-wrapper,
   so a .body-wrapper scope stops matching once a popup opens. */
[data-hsfc-id] .hsfc-Form,
[data-hsfc-id] .hsfc-Form *:not(.hsfc-Button) { font-family: var(--font-body) !important; }

/* Drop the form's own background padding — layout padding comes from the
   container/section it sits in. */
.hsfc-Step__Content { padding: 0 !important; }

[data-hsfc-id] .hsfc-Form .hsfc-FieldLabel,
[data-hsfc-id] .hsfc-Form .hsfc-FieldLabel__Text,
[data-hsfc-id] .hsfc-Form .hsfc-CheckboxFieldset__Label,
[data-hsfc-id] .hsfc-Form .hsfc-CheckboxField__Label {
  color: var(--color-heading) !important;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}

.hsfc-Form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.hsfc-Form textarea,
.hsfc-Form select {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 10px !important;
  color: var(--color-heading) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  padding: 12px 16px !important;
  width: 100% !important;
}
.hsfc-Form input:not([type=checkbox]):not([type=radio]):focus,
.hsfc-Form textarea:focus,
.hsfc-Form select:focus {
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(245, 106, 34, 0.12) !important;
  outline: none !important;
}
.hsfc-Form textarea { min-height: 80px !important; }

.hsfc-Form__Description,
.hsfc-RichText,
.hsfc-RichText p { color: var(--color-secondary) !important; }

.hsfc-FieldLabel__Required,
.hsfc-FieldLabel__AsteriskRequired,
.hsfc-Form .hsfc-RequiredField { color: var(--color-accent) !important; }

.hsfc-Form input[type=checkbox],
.hsfc-Form input[type=radio] { accent-color: var(--color-accent) !important; }

/* Phone field — flag/caret selector beside the number input, matched styling.
   The selector is a custom .hsfc-PhoneInput__FlagAndCaret div (not a <select>). */
[data-hsfc-id] .hsfc-Form .hsfc-PhoneInput {
  display: flex !important;
  align-items: stretch;
  gap: var(--space-2);
}
[data-hsfc-id] .hsfc-Form .hsfc-PhoneInput__FlagAndCaret {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 10px !important;
  color: var(--color-heading) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  padding: 12px 16px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
[data-hsfc-id] .hsfc-Form .hsfc-PhoneInput .hsfc-TextInput { flex: 1 1 auto; }

/* Country dropdown list */
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(14, 24, 58, 0.15);
  overflow: hidden;
}
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions__Search { padding: var(--space-2); }
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions__List {
  list-style: none;
  margin: 0;
  padding: var(--space-1);
}
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions__List > li,
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions [role="option"] {
  border-radius: 8px;
  cursor: pointer;
  padding: 8px 12px;
}
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions__List > li:hover,
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions [role="option"]:hover,
[data-hsfc-id] .hsfc-Form .hsfc-DropdownOptions [aria-selected="true"] {
  background-color: rgba(245, 106, 34, 0.08);
}

/* Submit button — orange pill */
.hsfc-Button,
.hsfc-Form button[type=submit],
.hsfc-Form input[type=submit] {
  background-color: var(--color-accent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--color-white) !important;
  cursor: pointer;
  font-family: var(--font-mono) !important;
  font-size: var(--font-size-small) !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  padding: 12px 28px !important;
  text-transform: uppercase !important;
  width: auto !important;
  transition: filter 0.15s ease;
}
.hsfc-Button:hover,
.hsfc-Form button[type=submit]:hover { filter: brightness(0.92); }

/* Error states */
.hsfc-ErrorAlert,
.hsfc-FieldError,
.hsfc-Form .hsfc-ErrorLabel { color: #EF6B51 !important; }
[data-hsfc-id] .hsfc-Form .hsfc-ErrorAlert { font-size: 14px !important; }
.hsfc-Form input.hsfc-Field--invalid,
.hsfc-Form .hsfc-Field--invalid input { border-color: #EF6B51 !important; }


  /* Search button input field and suggestions */
  .body-container-wrapper .hs-search-field__button {
    padding: 15px;
  }

  .body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button {
    margin-left: 6px;
    margin-bottom: 0;
  }

  .body-container-wrapper .hs-search-field__button svg {
    height: 15px;
    fill: #fff;
  }

  .body-container-wrapper .hs-search-field__bar > form > .hs-search-field__input {
    padding: 10px;
  }

  .body-container-wrapper .hs-search-field__suggestions li a {
    color: #494A52;
    padding: 0.35rem 0.7rem;
    text-decoration: none;
    transition: background-color 0.3s;
  }

/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components — global UI pieces */
/* Site header */

.header {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border);
}

.header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: var(--space-5);
  min-height: 96px;
  /* Wider than the 1280px site container; .container (class) still supplies
     the auto margins + 40px side padding. */
  max-width: var(--wide-max-width);
}

.header__logo {
  align-items: center;
  display: flex;
  position: relative;
}
.header__logo img {
  display: block;
  max-height: 44px;
  width: auto;
}

/* Compact mark (shown over the hero) cross-fades to the full wordmark once the
   overlay header gains its scrolled background. */
.header__logo-mark,
.header__logo-full {
  transition: opacity 0.35s ease;
}
.header__logo-mark { display: inline-flex; }
.header__logo-full {
  align-items: center;
  color: var(--color-white);
  display: inline-flex;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.header__logo-full svg {
  display: block;
  height: 22px;
  width: auto;
}

/* Only relevant on the overlay header; cross-fade on scroll */
.header-overlay.is-scrolled .header__logo-mark { opacity: 0; }
.header-overlay.is-scrolled .header__logo-full {
  opacity: 1;
  pointer-events: auto;
}

/* Right-hand group: navigation + CTA */
.header__actions {
  align-items: center;
  display: flex;
  gap: var(--space-6);
}

/* Navigation (HubSpot menu markup) */
.header__nav .hs-menu-wrapper > ul {
  align-items: center;
  display: flex;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__nav .hs-menu-wrapper a {
  color: var(--color-text);
  display: block;
  font-size: 18px;
  font-weight: 500;
  padding: 6px 0;
  text-decoration: none;
}
.header__nav .hs-menu-wrapper a:hover { color: var(--color-accent); }

/* Active / current page — HubSpot tags the <li> with .active (current) and
   .active-branch (ancestor). Higher specificity than the overlay/mobile colour
   rules, so the orange highlight wins in every header state. */
.header__nav .hs-menu-wrapper .hs-menu-item.active > a,
.header__nav .hs-menu-wrapper .hs-menu-item.active-branch > a {
  color: var(--color-accent);
}

/* Flyout submenus */
.header__nav .hs-menu-depth-1 { position: relative; }
.header__nav .hs-menu-children-wrapper {
  background-color: rgba(14, 24, 58, 0.96);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-radius: 12px;
  box-shadow: 0 20px 44px rgba(14, 24, 58, 0.28);
  display: none;
  left: 0;
  list-style: none;
  margin: 0;
  min-width: 220px;
  padding: 0;
  position: absolute;
  top: calc(100% + 10px);
  z-index: 30;
}
/* Invisible bridge across the gap so moving the cursor from the parent link to
   the flyout keeps it open. */
.header__nav .hs-menu-children-wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}
.header__nav .hs-menu-depth-1:hover > .hs-menu-children-wrapper { display: block; }
.header__nav .hs-menu-children-wrapper a {
  color: var(--color-white);
  padding: var(--space-2) var(--space-4);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.header__nav .hs-menu-children-wrapper a:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--color-accent);
}
/* Round the first/last rows so the hover highlight follows the panel corners
   (the panel has no overflow:hidden so the hover bridge can work). */
.header__nav .hs-menu-children-wrapper li:first-child a {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.header__nav .hs-menu-children-wrapper li:last-child a {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Header CTA — smaller than the standard button (38px tall) */
.header .button {
  font-size: 18px;
  height: 38px;
  padding: 0 6px 0 18px;
}

/* CTA arrow icon: solid white circle with the orange accent arrow */
.header .button--has-icon .button__icon {
  background-color: var(--color-white);
  border-radius: 50%;
  color: var(--color-accent);
  height: 26px;
  margin-left: 4px;
  width: 26px;
}

/* --- Overlay variant: transparent, fixed, sticky on scroll --- */
.header-overlay {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
  z-index: 1000;
}
/* Top-down scrim so the white nav/logo keep contrast over any hero image
   (WCAG 1.4.3). Sits behind the header content; fades out once the scrolled
   navy background takes over. */
.header-overlay::before {
  background: linear-gradient(to bottom, rgba(14, 24, 58, 0.55) 0%, rgba(14, 24, 58, 0) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.3s ease;
  z-index: -1;
}
.header-overlay.is-scrolled::before { opacity: 0; }
.header-overlay .header {
  background-color: transparent;
  border-bottom: none;
}
.header-overlay .header__nav .hs-menu-wrapper a { color: var(--color-white); }
.header-overlay .header__nav .hs-menu-wrapper a:hover { color: var(--color-accent); }

/* Scrolled state — half-transparent navy so white nav stays legible over
   light sections below the hero */
.header-overlay.is-scrolled {
  background-color: rgba(14, 24, 58, 0.5);
  backdrop-filter: saturate(120%) blur(6px);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
}

/* --- Mobile menu toggle (hamburger -> X) --- */
.header__toggle {
  appearance: none;
  -webkit-appearance: none;
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--color-text);
  cursor: pointer;
  display: none;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: relative;
  width: 44px;
  z-index: 1095;
}
.header-overlay .header__toggle { color: var(--color-white); }

.header__toggle-box {
  align-items: flex-end;
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  height: 18px;
  justify-content: center;
  width: 28px;
}
.header__toggle-bar {
  background-color: currentColor;
  border-radius: 2px;
  height: 2px;
  transition: transform 0.25s ease, opacity 0.2s ease, width 0.25s ease;
  width: 100%;
}
/* Staggered bars (design): top + middle right-aligned, bottom left-aligned */
.header__toggle-bar:nth-child(1) { width: 75%; }
.header__toggle-bar:nth-child(3) { align-self: flex-start; width: 60%; }

/* Secondary CTA only appears inside the mobile panel */
@media (min-width: 992px) {
  .header__ctas .button--ghost { display: none; }
}

/* --- Mobile: full-screen navy panel --- */
@media (max-width: 991px) {
  .header__inner { min-height: 72px; }

  /* Logo module injects an inline width; override it for a proportional 25px logo */
  .header__logo img {
    height: auto !important;
    max-height: 25px;
    width: auto !important;
  }

  .header__toggle { display: inline-flex; }

  /* Keep logo + toggle painted above the panel */
  .header__logo { position: relative; z-index: 1095; }

  .header__actions {
    align-items: stretch;
    background-color: var(--color-primary);
    flex-direction: column;
    gap: 0;
    /* Dynamic viewport height so the bottom CTAs clear the mobile browser bar */
    height: 100vh;
    height: 100dvh;
    left: 0;
    opacity: 0;
    overflow-y: auto;
    padding: 104px 20px calc(var(--space-7) + env(safe-area-inset-bottom));
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity 0.25s ease;
    visibility: hidden;
    z-index: 1090;
  }
  .is-nav-open .header__actions {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  /* Menu items as full-width rows with dividers */
  .header__nav { width: 100%; }
  .header__nav .hs-menu-wrapper > ul {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }
  .header__nav .hs-menu-wrapper > ul > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }
  .header__nav .hs-menu-wrapper > ul > li:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
  .header__nav .hs-menu-wrapper a {
    color: var(--color-white);
    font-size: 18px;
    font-weight: 400;
    padding: 14px 0;
  }
  /* Flyout submenus collapse on mobile */
  .header__nav .hs-menu-children-wrapper { display: none !important; }

  /* CTAs pinned to the bottom, stacked, full width */
  .header__ctas {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: auto;
    padding-top: var(--space-6);
    width: 100%;
  }
  .header .header__ctas .button {
    font-size: 18px;
    height: 38px;
    padding: 0 18px;
    width: 100%;
  }
  .header .header__ctas .button--has-icon {
    justify-content: space-between;
    padding-right: 6px;
  }

  /* Ghost CTA on the navy panel — white text + visible border */
  .header__ctas .button--ghost {
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--color-white);
  }

  /* Toggle turns white and morphs to an X over the navy panel */
  .is-nav-open .header__toggle { color: var(--color-white); }
  .is-nav-open .header__toggle-bar { width: 100%; }
  .is-nav-open .header__toggle-bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .is-nav-open .header__toggle-bar:nth-child(2) { opacity: 0; }
  .is-nav-open .header__toggle-bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Lock page scroll while the menu is open */
  body.is-nav-open { overflow: hidden; }

  /* HubSpot preview tools button overlaps the toggle on mobile */
  .hs-tools-menu { display: none !important; }
}

/* Skip link for accessibility */
.header__skip {
  background: var(--color-accent);
  color: var(--color-white);
  left: var(--space-3);
  padding: var(--space-2) var(--space-3);
  position: absolute;
  transform: translateY(-150%);
  transition: transform 0.2s ease;
  z-index: 1100;
}
.header__skip:focus { transform: translateY(0); }
/* Site footer */

.footer {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding-bottom: var(--space-5);
  padding-top: var(--space-8);
  position: relative;
}

/* Vertical frame lines continuing the section grid into the footer.
   Must match the section frame width (--content-max-width) so they line up. */
.footer::before {
  border-left: 1px solid #F1EDE8;
  border-right: 1px solid #F1EDE8;
  bottom: 0;
  content: "";
  left: 50%;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: min(var(--content-max-width), 100vw);
}
.footer > .container {
  position: relative;
  z-index: 1;
}

.footer__top {
  align-items: start;
  display: grid;
  gap: var(--space-6);
  grid-template-columns: 1.3fr 1.7fr 1.3fr;
  padding-bottom: var(--space-7);
}

/* Middle cell: both menus, centered as a group */
.footer__menus {
  display: flex;
  gap: var(--space-7);
  justify-content: center;
}

/* Drop the link columns to the tagline line, so the logo stays higher.
   Offset = logo height (26px) + tagline top margin (--space-2 = 8px). */
.footer__col { margin-top: 34px; }

/* Push the Start-hier cell (the only direct .footer__col of the grid) to the
   right of its track, so it hugs the right edge instead of leaving a big gap. */
.footer__top > .footer__col { justify-self: end; }

/* Brand column */
.footer__logo svg {
  color: var(--color-white);
  display: block;
  height: 22px;
  width: auto;
}
.footer__tagline {
  color: var(--color-white);
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  letter-spacing: 0.18em;
  margin: var(--space-2) 0 var(--space-4);
  text-transform: uppercase;
}
.footer__about {
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 var(--space-4);
  max-width: 38ch;
}
.footer__address {
  color: rgba(255, 255, 255, 0.6);
  font-style: normal;
  line-height: 1.8;
}
/* The address is an editable rich-text field, so drop its paragraph margins. */
.footer__address :is(p) { margin: 0; }

/* Column headings */
.footer__heading {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.18em;
  margin: 0 0 var(--space-4);
  text-transform: uppercase;
}
.footer__heading--spaced { margin-top: var(--space-6); }

/* Menus (HubSpot menu markup) */
.footer__nav .hs-menu-wrapper > ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__nav a {
  color: var(--color-white);
  text-decoration: none;
}
.footer__nav a:hover { color: var(--color-accent); }

/* Cases menu split into two columns (desktop) */
.footer__nav--2col .hs-menu-wrapper > ul {
  column-count: 2;
  column-gap: var(--space-6);
  display: block;
}
.footer__nav--2col .hs-menu-wrapper > ul li { margin-bottom: var(--space-2); }

/* Cases list — generated from the Cases HubDB table (not a HubSpot menu), so it
   needs the same treatment as .hs-menu-wrapper > ul above. */
.footer__cases {
  column-count: 2;
  column-gap: var(--space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__cases li { margin-bottom: var(--space-2); }

/* Social */
.footer__social {
  align-items: center;
  color: rgba(255, 255, 255, 0.85);
  display: inline-flex;
  gap: var(--space-2);
  text-decoration: none;
}
.footer__social svg { color: rgba(255, 255, 255, 0.5); }
.footer__social:hover { color: var(--color-white); }
.footer__social:hover svg { color: var(--color-white); }

/* Footer CTA — same compact size as the header CTA, label on one line */
.footer .button {
  font-size: 18px;
  height: 38px;
  padding: 0 6px 0 18px;
  white-space: nowrap;
}

/* Footer CTA arrow — white circle with accent arrow (matches header) */
.footer .button--has-icon .button__icon {
  background-color: var(--color-white);
  border-radius: 50%;
  color: var(--color-accent);
  height: 26px;
  margin-left: 4px;
  width: 26px;
}

/* Bottom bar */
.footer__bottom {
  align-items: center;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-size: 14px;
  gap: var(--space-4) var(--space-6);
  justify-content: space-between;
  padding-top: var(--space-5);
  position: relative;
}

/* Fading horizontal divider (matches .section::after) — breaks out to 1920px
   so it crosses the vertical frame lines, like the sections. */
.footer__bottom::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #C4C4C4 8.17%, #C4C4C4 89.42%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 1px;
  left: 50%;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: min(var(--divider-max-width), 100vw);
}
.footer__copy { margin: 0; }
.footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
}
/* The legal links come from a HubSpot menu module — lay its list out inline. */
.footer__legal .hs-menu-wrapper,
.footer__legal .hs-menu-wrapper > ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__legal a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
}
.footer__legal a:hover { color: var(--color-white); }

/* Active link across all footer menus */
.footer .hs-menu-item.active > a,
.footer .hs-menu-item.active-branch > a {
  color: var(--color-accent);
  text-decoration: underline;
}
.footer__partner {
  align-items: flex-end;
  display: flex;
  gap: var(--space-2);
  margin-left: auto;
}
.footer__partner-logo {
  color: var(--color-white);
  display: block;
  height: 24px;
  width: auto;
}
.footer__partner-text {
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  line-height: 1rem;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  .footer { padding-top: 60px; }
  .footer__tagline { font-size: 12px; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__col { margin-top: 0; } /* no offset once the brand is full-width */
  /* Start-hier hugs the left of its track instead of the right edge */
  .footer__top > .footer__col { justify-self: start; }
  /* Cases list collapses to a single column on mobile */
  .footer__nav--2col .hs-menu-wrapper > ul,
  .footer__cases { column-count: 1; }
}

@media (max-width: 767px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__menus { justify-content: flex-start; }
  .footer::before { display: none; } /* drop the edge frame on small screens */

  /* Stack the bottom bar and reorder: partner -> copyright -> legal */
  .footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }
  .footer__partner { margin-left: 0; order: 1; }
  .footer__copy { order: 2; }
  .footer__legal { order: 3; }
}
/* Reusable centered section header:
   bordered eyebrow -> vertical tick -> mixed-font heading -> intro text.
   Used by the tech-stack section, pillars section, etc. */

.section-header {
  margin: 0 auto var(--space-7);
  max-width: 760px;
  text-align: center;
}

.section-header__eyebrow {
  border: 1px solid var(--color-accent);
  border-radius: 4px;
  color: var(--color-accent);
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.18em;
  padding: 10px 18px;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .section-header__eyebrow {
    font-size: 11px;
    letter-spacing: 2.2px;
  }
}

.section-header__tick {
  background-color: var(--color-accent);
  display: block;
  height: 28px;
  margin: var(--space-4) auto;
  width: 1px;
}

/* Figma H2: TASA Orbiter, 50px, weight 400, line-height 100%, in a 360px column */
.section-header__title {
  margin: 0 auto var(--space-4);
  max-width: 480px;
}
.section-header__title :is(h1, h2, h3, p) {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4.5vw, 50px);
  font-weight: 400;
  line-height: 1;
  margin: 0;
}
.section-header__title em,
.section-header__title i {
  color: var(--color-accent);
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
}
@media (max-width: 991px) {
  .section-header__title :is(h1, h2, h3, p) { font-size: 34px; }
}

.section-header__text {
  color: var(--color-secondary);
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 670px;
}
.section-header__text :last-child { margin-bottom: 0; }
/* Case phase sections — two-column rows (eyebrow + title | body copy) with thin
   dividers between them. Hardcoded straight into templates/case-detail.html, so
   these styles live in the global stylesheet rather than a module. */

.case-step {
  padding: clamp(32px, 4vw, 56px) 0;
  position: relative;
}
/* Divider between steps — the same fading gradient line as the section dividers
   (wider than the container, fading out at the edges) instead of a plain border. */
.case-step:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--divider-max-width), 100vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #C4C4C4 8.17%, #C4C4C4 89.42%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.6;
  pointer-events: none;
}

/* The two-column row (eyebrow + title | body copy) */
.case-step__row {
  align-items: start;
  display: grid;
  gap: var(--space-4) clamp(32px, 6vw, 96px);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.case-step__head { margin: 0; }

.case-step__eyebrow {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.14em;
  margin: 0 0 var(--space-3);
  text-transform: uppercase;
}
.case-step__number { margin-right: var(--space-2); }

.case-step__title {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 400;
  line-height: 1.1;
  margin: 0;
}

.case-step__body :is(p) {
  color: var(--color-secondary);
  line-height: 1.7;
  margin: 0 0 var(--space-3);
}
.case-step__body :is(p):last-child { margin-bottom: 0; }
.case-step__body em, .case-step__body i {
  color: var(--color-accent);
  font-family: var(--font-accent);
  font-style: italic;
}

/* Optional per-step gallery: featured image + a row of smaller shots. */
.case-step__gallery {
  margin-top: clamp(28px, 3.5vw, 48px);
}
.case-step__featured {
  border-radius: 20px;
  margin: 0;
  overflow: hidden;
}
.case-step__featured img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.case-step__shots {
  display: grid;
  gap: clamp(20px, 2.4vw, 33px);
  grid-template-columns: repeat(var(--cols, 2), 1fr);
  margin-top: clamp(20px, 2.4vw, 33px);
}
.case-step__shot {
  border-radius: 20px;
  margin: 0;
  overflow: hidden;
}
.case-step__shot img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

@media (max-width: 767px) {
  .case-step__row {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
  .case-step__shots { grid-template-columns: 1fr; }
}
/* CTA banner — shared by the cta-banner and case-cta modules. */
/* CTA banner */

.cta__banner {
  /* Dark gradient fallback (orange glow top-right), overridden by an image */
  background-image:
    radial-gradient(120% 100% at 100% 0%, rgba(245, 106, 34, 0.45) 0%, rgba(245, 106, 34, 0) 50%),
    linear-gradient(120deg, #0B1430 0%, #0E1B40 50%, #241A39 75%, #3A2030 100%);
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}

/* Uploaded image/video sits over the gradient */
.cta__bg {
  background-position: center;
  background-size: cover;
  inset: 0;
  position: absolute;
}

.cta__video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Legibility overlay over the media */
.cta__overlay {
  inset: 0;
  position: absolute;
  z-index: 0;
}

.cta__inner {
  padding: var(--space-8) var(--space-5);
  position: relative;
  text-align: center;
  z-index: 1;
}
@media (max-width: 767px) {
  .cta__inner { padding: var(--space-6) var(--space-4); }
}

.cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-top: var(--space-5);
}

/* Ghost button sits on the dark banner — recolour to white */
.cta__buttons .button--ghost {
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white);
}

.cta__buttons .button--ghost:hover {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-primary);
}

/* Section header recoloured for the dark banner; heading not width-capped */
.section-header--on-dark { margin-bottom: 0; }
.section-header--on-dark .section-header__title { max-width: none; }
.section-header--on-dark .section-header__title :is(h1, h2, h3, p) { color: var(--color-white); }
.section-header--on-dark .section-header__text { color: rgba(255, 255, 255, 0.85); }
/* Contact form popup — content shown inside a Fancybox modal.
   Fancybox supplies the overlay, close button, Esc handling and scroll lock.
   Form field appearance is global (see elements/_forms.css); here we only set
   the card shell, title and two-column layout. */

/* Overlay — same treatment as the scrolled header. */
.fancybox__backdrop {
  background-color: rgba(14, 24, 58, 0.5);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
          backdrop-filter: saturate(120%) blur(6px);
}

/* Fancybox adds .fancybox__content to the same element that has .popup-form. */
.fancybox__content.popup-form {
  background-color: #F1EDE8;
  border-radius: 10px;
  padding: clamp(28px, 4vw, 56px);
  width: min(1060px, 92vw);
  max-width: 92vw;
  /* Close button (rendered inside) coloured for the light card. */
  --f-button-color: var(--color-heading);
  --f-button-hover-color: var(--color-accent);
}
/* Keep the inside close button within the card padding. */
.fancybox__content.popup-form > .f-button.is-close-btn {
  top: 14px;
  right: 14px;
}

.popup-form__title {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 var(--space-6);
  text-align: center;
}
.popup-form__title em {
  color: var(--color-accent);
  font-family: var(--font-accent);
  font-style: italic;
}
/* HubSpot GDPR cookie banner (#hs-eu-cookie-confirmation) — themed to match the
   site. HubSpot sets its look via inline --hs-banner-* vars, so we override the
   actual elements with !important. */

#hs-eu-cookie-confirmation {
  background-color: var(--color-white) !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 20px 50px rgba(14, 24, 58, 0.22) !important;
  font-family: var(--font-body) !important;
  max-width: 1024px !important;
  overflow: hidden;
  /* Pin to the bottom-right corner */
  position: fixed !important;
  inset: auto 24px 24px auto !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
}
#hs-eu-cookie-confirmation-inner { padding: var(--space-5) !important; }

#hs-eu-cookie-confirmation #hs-eu-header-container {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
}
#hs-eu-cookie-confirmation #hs-eu-policy-wording,
#hs-eu-cookie-confirmation #hs-eu-policy-wording p,
#hs-eu-cookie-confirmation #hs-eu-cookie-disclaimer {
  color: var(--color-secondary) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}
#hs-eu-cookie-confirmation #hs-eu-policy-wording a {
  color: var(--color-accent) !important;
  text-decoration: underline;
}

/* Buttons */
#hs-eu-cookie-confirmation-buttons-area {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
#hs-eu-cookie-confirmation #hs-eu-confirmation-button,
#hs-eu-cookie-confirmation #hs-eu-decline-button {
  border-radius: 999px !important;
  cursor: pointer;
  font-family: var(--font-mono) !important;
  font-size: var(--font-size-small) !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
  padding: 10px 22px !important;
  text-transform: uppercase !important;
  transition: filter 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
#hs-eu-cookie-confirmation #hs-eu-confirmation-button {
  background-color: var(--color-accent) !important;
  border: 1px solid var(--color-accent) !important;
  color: var(--color-white) !important;
}
#hs-eu-cookie-confirmation #hs-eu-confirmation-button:hover { filter: brightness(0.92); }
#hs-eu-cookie-confirmation #hs-eu-decline-button {
  background-color: transparent !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-primary) !important;
}
#hs-eu-cookie-confirmation #hs-eu-decline-button:hover {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}

/* Utilities — last-word overrides */
/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}