@layer vendor, base, components, utilities;
@layer base {
  :root {
    --breakpoints-sm: 460px;
    --breakpoints-md: 768px;
    --breakpoints-lg: 1024px;
    --color-gray-90: #373946;
    --color-gray-70: #565869;
    --color-gray-50: #77798a;
    --color-gray-30: #b3b4bd;
    --color-gray-10: #eeeef0;
    --color-neutral-dark: #002c59;
    --color-neutral: #0779e4;
    --color-neutral-light: #e1eefa;
    --color-negative-dark: #750001;
    --color-negative: #dd3345;
    --color-negative-light: #f6dbdd;
    --color-positive-dark: #005929;
    --color-positive: #21bf73;
    --color-positive-light: #dbf2e7;
    --color-warning-dark: #523d00;
    --color-warning: #f5af4b;
    --color-warning-light: #faebd5;
    --color-primary: #203399;
    --color-secondary: #01A9DD;
    --color-tertiary: #18234D;
    --color-tertiary-dark: #131c3f;
    --color-light: #F2F4F7;
    --color-black: #000;
    --color-white: #fff;
    --color-facebook: #4267B2;
    --color-instagram: #C13584;
    --color-tiktok: #00f2ea;
    --font-base: acumin-pro, sans-serif;
    --font-heading: rift, sans-serif;
    --weight-normal: 400;
    --weight-bold: 700;
    --size-xs: clamp(0.6075rem, 0.5636rem + 0.2195vw, 0.72rem);
    --size-sm: clamp(0.7294rem, 0.6628rem + 0.3329vw, 0.9rem);
    --size-base: clamp(0.875rem, 0.7774rem + 0.4878vw, 1.125rem);
    --size-lg: clamp(1.05rem, 0.911rem + 0.6951vw, 1.4063rem);
    --size-xl: clamp(1.26rem, 1.0656rem + 0.972vw, 1.7581rem);
    --size-2xl: clamp(1.5119rem, 1.2443rem + 1.3378vw, 2.1975rem);
    --size-3xl: clamp(1.8144rem, 1.4505rem + 1.8195vw, 2.7469rem);
    --size-4xl: clamp(2.1775rem, 1.6875rem + 2.45vw, 3.4331rem);
    --size-5xl: clamp(2.6125rem, 1.9574rem + 3.2756vw, 4.2913rem);
    --size-6xl: clamp(3.135rem, 2.265rem + 4.35vw, 5.3644rem);
    --space-px: 1px;
    --space-half: 0.125rem;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-28: 7rem;
    --space-32: 8rem;
    --space-40: 10rem;
    --space-48: 12rem;
    --space-56: 14rem;
    --space-64: 16rem;
    --max-width-sm: 60ch;
    --max-width-md: 75ch;
    --max-width-lg: 85ch;
    --leading-none: 1;
    --leading-tight: 1.1;
    --leading-base: 1.5;
    --leading-loose: 1.8;
    --tracking-tight: -0.025rem;
    --tracking-base: auto;
    --tracking-wide: 0.05rem;
    --tracking-loose: 0.1rem;
    --radius-base: 0.25rem;
    --radius-full: 99999px;
    --shadow-sm: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
    --shadow-base: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
    --shadow-2xl: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
    --aspect-ratio-16x9: 16 / 9;
    --aspect-ratio-1x1: 1;
    --aspect-ratio-4x3: 4 / 3;
  }
  *,
  *:after,
  *:before {
    box-sizing: border-box;
  }
  /* Remove default margin */
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  li,
  figure,
  figcaption,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--color-white, white);
    color: var(--color-black, black);
    font-family: var(--font-base, sans-serif);
    font-size: var(--size-base);
    text-rendering: optimizeSpeed;
    margin: 0;
  }
  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }
  p {
    line-height: var(--leading-base, 1.5);
    margin: 0;
  }
  a {
    color: var(--color-neutral, blue);
    position: relative;
    text-decoration: none;
  }
  a:hover {
    text-decoration: none;
  }
  img {
    /* Only render images when they're in the viewport */
    content-visibility: auto;
    display: block;
    max-width: 100%;
    height: auto;
  }
  picture {
    display: block;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  button {
    appearance: none;
    background-color: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
  }
  svg {
    fill: currentColor;
    height: 1em;
    width: 1em;
  }
  [disabled] {
    cursor: not-allowed;
    opacity: 0.6;
  }
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  li {
    margin: 0;
    padding: 0;
  }
  ul.list {
    list-style: initial;
  }
  ul.list li {
    margin-left: var(--space-8, 2em);
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
    letter-spacing: var(--tracking-tight, -0.5px);
    line-height: var(--leading-tight, 1.1);
    font-weight: var(--weight-bold, 700);
    margin: 0;
    font-family: var(--font-heading);
  }
  h1,
  .h1 {
    font-size: var(--size-6xl);
  }
  h2,
  .h2 {
    font-size: var(--size-3xl);
  }
  h3,
  .h3 {
    font-size: var(--size-2xl);
  }
  h4,
  .h4 {
    font-size: var(--size-lg);
  }
  @supports (display: grid) {
    .browser-message {
      display: none;
    }
  }
  /* Remove all animations and transitions for people that prefer not to see them */
  @media (prefers-reduced-motion: reduce) {
    * {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
  /* Override Cookie Consent button color */
  cookie-consent-banner button {
    color: var(--color-white, white);
  }
}
@media (min-width: 768px) {
  .desktop-order-2 {
    order: 2;
  }
}
.grecaptcha-badge {
  visibility: hidden;
}

@layer components {
  .btn,
  input[type=file]::file-selector-button {
    --btn-background-color: var(--color-gray-90);
    --btn-color: var(--color-white);
    --btn-padding: var(--space-2) var(--space-6);
    --btn-border: 2px solid var(--color-gray-90);
    appearance: none;
    background-color: var(--btn-background-color);
    border: var(--btn-border);
    box-shadow: var(--btn-shadow, none);
    color: var(--btn-color);
    font-size: var(--btn-font-size, inherit);
    padding: var(--btn-padding);
    text-decoration: none;
    text-transform: uppercase;
    font-family: var(--font-heading);
    font-size: var(--size-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: var(--btn-min-width, 5rem);
    transition: var(--btn-transition, all 400ms ease-in-out);
  }
  .btn > * + *,
  input[type=file]::file-selector-button > * + * {
    margin-left: var(--btn-gap, var(--space-2));
  }
  .btn:hover,
  .btn:focus {
    --btn-background-color: var(--color-white);
    --btn-color: var(--color-primary);
    --btn-shadow: var(--shadow-xl);
    --btn-transition: all 150ms ease-in-out;
  }
  .btn--sm {
    --btn-padding: var(--space-2) var(--space-4);
  }
  .btn--lg {
    --btn-padding: var(--space-3) var(--space-8);
    --btn-font-size: var(--size-lg);
  }
  .btn--full-width {
    display: flex;
    width: 100%;
  }
  input[type=file]::file-selector-button {
    margin-inline-end: var(--space-4, 1em);
  }
  .btn--gray-90 {
    --btn-background-color: #373946;
    --btn-color: var(--color, white);
    border: 2px solid #373946;
  }
  .btn--gray-90.outline {
    --btn-background-color: transparent;
    --btn-color: #373946;
  }
  .btn--gray-90:hover, .btn--gray-90:focus {
    --btn-color: #373946;
  }
  .btn--gray-70 {
    --btn-background-color: #565869;
    --btn-color: var(--color, white);
    border: 2px solid #565869;
  }
  .btn--gray-70.outline {
    --btn-background-color: transparent;
    --btn-color: #565869;
  }
  .btn--gray-70:hover, .btn--gray-70:focus {
    --btn-color: #565869;
  }
  .btn--gray-50 {
    --btn-background-color: #77798a;
    --btn-color: var(--color, black);
    border: 2px solid #77798a;
  }
  .btn--gray-50.outline {
    --btn-background-color: transparent;
    --btn-color: #77798a;
  }
  .btn--gray-50:hover, .btn--gray-50:focus {
    --btn-color: #77798a;
  }
  .btn--gray-30 {
    --btn-background-color: #b3b4bd;
    --btn-color: var(--color, black);
    border: 2px solid #b3b4bd;
  }
  .btn--gray-30.outline {
    --btn-background-color: transparent;
    --btn-color: #b3b4bd;
  }
  .btn--gray-30:hover, .btn--gray-30:focus {
    --btn-color: #b3b4bd;
  }
  .btn--gray-10 {
    --btn-background-color: #eeeef0;
    --btn-color: var(--color, black);
    border: 2px solid #eeeef0;
  }
  .btn--gray-10.outline {
    --btn-background-color: transparent;
    --btn-color: #eeeef0;
  }
  .btn--gray-10:hover, .btn--gray-10:focus {
    --btn-color: #eeeef0;
  }
  .btn--neutral-dark {
    --btn-background-color: #002c59;
    --btn-color: var(--color, white);
    border: 2px solid #002c59;
  }
  .btn--neutral-dark.outline {
    --btn-background-color: transparent;
    --btn-color: #002c59;
  }
  .btn--neutral-dark:hover, .btn--neutral-dark:focus {
    --btn-color: #002c59;
  }
  .btn--neutral {
    --btn-background-color: #0779e4;
    --btn-color: var(--color, white);
    border: 2px solid #0779e4;
  }
  .btn--neutral.outline {
    --btn-background-color: transparent;
    --btn-color: #0779e4;
  }
  .btn--neutral:hover, .btn--neutral:focus {
    --btn-color: #0779e4;
  }
  .btn--neutral-light {
    --btn-background-color: #e1eefa;
    --btn-color: var(--color, black);
    border: 2px solid #e1eefa;
  }
  .btn--neutral-light.outline {
    --btn-background-color: transparent;
    --btn-color: #e1eefa;
  }
  .btn--neutral-light:hover, .btn--neutral-light:focus {
    --btn-color: #e1eefa;
  }
  .btn--negative-dark {
    --btn-background-color: #750001;
    --btn-color: var(--color, white);
    border: 2px solid #750001;
  }
  .btn--negative-dark.outline {
    --btn-background-color: transparent;
    --btn-color: #750001;
  }
  .btn--negative-dark:hover, .btn--negative-dark:focus {
    --btn-color: #750001;
  }
  .btn--negative {
    --btn-background-color: #dd3345;
    --btn-color: var(--color, black);
    border: 2px solid #dd3345;
  }
  .btn--negative.outline {
    --btn-background-color: transparent;
    --btn-color: #dd3345;
  }
  .btn--negative:hover, .btn--negative:focus {
    --btn-color: #dd3345;
  }
  .btn--negative-light {
    --btn-background-color: #f6dbdd;
    --btn-color: var(--color, black);
    border: 2px solid #f6dbdd;
  }
  .btn--negative-light.outline {
    --btn-background-color: transparent;
    --btn-color: #f6dbdd;
  }
  .btn--negative-light:hover, .btn--negative-light:focus {
    --btn-color: #f6dbdd;
  }
  .btn--positive-dark {
    --btn-background-color: #005929;
    --btn-color: var(--color, white);
    border: 2px solid #005929;
  }
  .btn--positive-dark.outline {
    --btn-background-color: transparent;
    --btn-color: #005929;
  }
  .btn--positive-dark:hover, .btn--positive-dark:focus {
    --btn-color: #005929;
  }
  .btn--positive {
    --btn-background-color: #21bf73;
    --btn-color: var(--color, white);
    border: 2px solid #21bf73;
  }
  .btn--positive.outline {
    --btn-background-color: transparent;
    --btn-color: #21bf73;
  }
  .btn--positive:hover, .btn--positive:focus {
    --btn-color: #21bf73;
  }
  .btn--positive-light {
    --btn-background-color: #dbf2e7;
    --btn-color: var(--color, black);
    border: 2px solid #dbf2e7;
  }
  .btn--positive-light.outline {
    --btn-background-color: transparent;
    --btn-color: #dbf2e7;
  }
  .btn--positive-light:hover, .btn--positive-light:focus {
    --btn-color: #dbf2e7;
  }
  .btn--warning-dark {
    --btn-background-color: #523d00;
    --btn-color: var(--color, white);
    border: 2px solid #523d00;
  }
  .btn--warning-dark.outline {
    --btn-background-color: transparent;
    --btn-color: #523d00;
  }
  .btn--warning-dark:hover, .btn--warning-dark:focus {
    --btn-color: #523d00;
  }
  .btn--warning {
    --btn-background-color: #f5af4b;
    --btn-color: var(--color, black);
    border: 2px solid #f5af4b;
  }
  .btn--warning.outline {
    --btn-background-color: transparent;
    --btn-color: #f5af4b;
  }
  .btn--warning:hover, .btn--warning:focus {
    --btn-color: #f5af4b;
  }
  .btn--warning-light {
    --btn-background-color: #faebd5;
    --btn-color: var(--color, black);
    border: 2px solid #faebd5;
  }
  .btn--warning-light.outline {
    --btn-background-color: transparent;
    --btn-color: #faebd5;
  }
  .btn--warning-light:hover, .btn--warning-light:focus {
    --btn-color: #faebd5;
  }
  .btn--primary {
    --btn-background-color: #203399;
    --btn-color: var(--color, white);
    border: 2px solid #203399;
  }
  .btn--primary.outline {
    --btn-background-color: transparent;
    --btn-color: #203399;
  }
  .btn--primary:hover, .btn--primary:focus {
    --btn-color: #203399;
  }
  .btn--secondary {
    --btn-background-color: #01A9DD;
    --btn-color: var(--color, white);
    border: 2px solid #01A9DD;
  }
  .btn--secondary.outline {
    --btn-background-color: transparent;
    --btn-color: #01A9DD;
  }
  .btn--secondary:hover, .btn--secondary:focus {
    --btn-color: #01A9DD;
  }
  .btn--tertiary {
    --btn-background-color: #18234D;
    --btn-color: var(--color, white);
    border: 2px solid #18234D;
  }
  .btn--tertiary.outline {
    --btn-background-color: transparent;
    --btn-color: #18234D;
  }
  .btn--tertiary:hover, .btn--tertiary:focus {
    --btn-color: #18234D;
  }
  .btn--tertiary-dark {
    --btn-background-color: #131c3f;
    --btn-color: var(--color, white);
    border: 2px solid #131c3f;
  }
  .btn--tertiary-dark.outline {
    --btn-background-color: transparent;
    --btn-color: #131c3f;
  }
  .btn--tertiary-dark:hover, .btn--tertiary-dark:focus {
    --btn-color: #131c3f;
  }
  .btn--light {
    --btn-background-color: #F2F4F7;
    --btn-color: var(--color, black);
    border: 2px solid #F2F4F7;
  }
  .btn--light.outline {
    --btn-background-color: transparent;
    --btn-color: #F2F4F7;
  }
  .btn--light:hover, .btn--light:focus {
    --btn-color: #F2F4F7;
  }
  .btn--black {
    --btn-background-color: #000;
    --btn-color: var(--color, white);
    border: 2px solid #000;
  }
  .btn--black.outline {
    --btn-background-color: transparent;
    --btn-color: #000;
  }
  .btn--black:hover, .btn--black:focus {
    --btn-color: #000;
  }
  .btn--white {
    --btn-background-color: #fff;
    --btn-color: var(--color, black);
    border: 2px solid #fff;
  }
  .btn--white.outline {
    --btn-background-color: transparent;
    --btn-color: #fff;
  }
  .btn--white:hover, .btn--white:focus {
    --btn-color: #fff;
  }
  .btn--facebook {
    --btn-background-color: #4267B2;
    --btn-color: var(--color, white);
    border: 2px solid #4267B2;
  }
  .btn--facebook.outline {
    --btn-background-color: transparent;
    --btn-color: #4267B2;
  }
  .btn--facebook:hover, .btn--facebook:focus {
    --btn-color: #4267B2;
  }
  .btn--instagram {
    --btn-background-color: #C13584;
    --btn-color: var(--color, white);
    border: 2px solid #C13584;
  }
  .btn--instagram.outline {
    --btn-background-color: transparent;
    --btn-color: #C13584;
  }
  .btn--instagram:hover, .btn--instagram:focus {
    --btn-color: #C13584;
  }
  .btn--tiktok {
    --btn-background-color: #00f2ea;
    --btn-color: var(--color, white);
    border: 2px solid #00f2ea;
  }
  .btn--tiktok.outline {
    --btn-background-color: transparent;
    --btn-color: #00f2ea;
  }
  .btn--tiktok:hover, .btn--tiktok:focus {
    --btn-color: #00f2ea;
  }
}
@layer components {
  form {
    accent-color: var(--accent-color, var(--color-primary, inherit));
  }
  label {
    display: block;
    font-size: inherit;
    font-weight: var(--weight-bold, 700);
    line-height: var(--leading-none, 1);
  }
  input[type=text],
  input[type=password],
  input[type=tel],
  input[type=email],
  input[type=number],
  input[type=datetime-local],
  input[type=date],
  select,
  textarea {
    appearance: none;
    background-color: white;
    border: 0.06rem solid var(--color-gray-30, #ddd);
    border-radius: var(--radius-base, 4px);
    color: var(--color-primary, #111);
    display: block;
    font-family: inherit;
    font-size: inherit;
    padding: var(--space-2, 8px) var(--space-3, 12px);
    width: 100%;
  }
  input[type=text][data-state=invalid],
  input[type=password][data-state=invalid],
  input[type=tel][data-state=invalid],
  input[type=email][data-state=invalid],
  input[type=number][data-state=invalid],
  input[type=datetime-local][data-state=invalid],
  input[type=date][data-state=invalid],
  select[data-state=invalid],
  textarea[data-state=invalid] {
    border-color: var(--color-negative, red);
  }
  input[type=text]:focus,
  input[type=password]:focus,
  input[type=tel]:focus,
  input[type=email]:focus,
  input[type=number]:focus,
  input[type=datetime-local]:focus,
  input[type=date]:focus,
  select:focus,
  textarea:focus {
    border-color: var(--color-neutral, blue);
    box-shadow: 0 0 0 4px var(--color-neutral-light, #eee);
    outline: 0;
  }
}
.scooch {
  --scooch-slide-transition-time: 1s;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  list-style: none;
}

/* We need pointer events set to none for swipe, but we don't want to break clickable elements */
.scooch * {
  pointer-events: none;
}

.scooch :is(a, button, input[type=button], input[type=submit]) {
  pointer-events: initial;
}

.scooch__slide {
  grid-column: 1;
  grid-row: 1;
  opacity: 0;
  transition: opacity var(--scooch-slide-transition-time, 1s);
}

.scooch__slide[aria-current] {
  opacity: 1;
  z-index: 2;
}

.hero {
  position: relative;
  min-height: 60vh;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .hero {
    min-height: calc(100vh - 150px);
  }
}
.hero picture {
  position: absolute;
  width: 100%;
  height: 100%;
}
.hero img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.hero .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  mix-blend-mode: overlay;
}
.hero .overlay-content {
  position: absolute;
  width: 100%;
  height: 100%;
}

.image-container {
  position: relative;
}
.image-container picture {
  position: absolute;
  height: 100%;
  width: 100%;
}
.image-container picture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.image-container .overlay {
  position: relative;
}

.img-grow {
  height: auto;
  object-fit: cover;
  width: 100%;
}

.gallery-item {
  aspect-ratio: 5/4;
}
.gallery-item img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.social-icon {
  width: 35px;
  height: 35px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}
.social-icon:hover {
  transform: translateY(-5px);
}

@layer utilities {
  /**
   * Alignment Utilities
   *
   * These utilities are meant to be used with Grid or Flex properties
   */
  .items-start {
    align-items: flex-start;
    align-items: start;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
    align-items: end;
  }
  .justify-start {
    justify-content: flex-start;
    justify-content: start;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-end {
    justify-content: flex-end;
    justify-content: end;
  }
  @media (min-width: 460px) {
    .sm\:items-start {
      align-items: flex-start;
      align-items: start;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:items-end {
      align-items: flex-end;
      align-items: end;
    }
    .sm\:justify-start {
      justify-content: flex-start;
      justify-content: start;
    }
    .sm\:justify-center {
      justify-content: center;
    }
    .sm\:justify-between {
      justify-content: space-between;
    }
    .sm\:justify-end {
      justify-content: flex-end;
      justify-content: end;
    }
  }
  @media (min-width: 768px) {
    .md\:items-start {
      align-items: flex-start;
      align-items: start;
    }
    .md\:items-center {
      align-items: center;
    }
    .md\:items-end {
      align-items: flex-end;
      align-items: end;
    }
    .md\:justify-start {
      justify-content: flex-start;
      justify-content: start;
    }
    .md\:justify-center {
      justify-content: center;
    }
    .md\:justify-between {
      justify-content: space-between;
    }
    .md\:justify-end {
      justify-content: flex-end;
      justify-content: end;
    }
  }
  @media (min-width: 1024px) {
    .lg\:items-start {
      align-items: flex-start;
      align-items: start;
    }
    .lg\:items-center {
      align-items: center;
    }
    .lg\:items-end {
      align-items: flex-end;
      align-items: end;
    }
    .lg\:justify-start {
      justify-content: flex-start;
      justify-content: start;
    }
    .lg\:justify-center {
      justify-content: center;
    }
    .lg\:justify-between {
      justify-content: space-between;
    }
    .lg\:justify-end {
      justify-content: flex-end;
      justify-content: end;
    }
  }
}
@layer utilities {
  /**
   * Aspect Ratio Utilities
   *
   * These utilities are meant to be used with Grid or Flex properties
   */
  .aspect-ratio-16x9 {
    aspect-ratio: 16 / 9;
  }
  .aspect-ratio-1x1 {
    aspect-ratio: 1;
  }
  .aspect-ratio-4x3 {
    aspect-ratio: 4 / 3;
  }
}
@layer utilities {
  .bg-cover {
    background-image: var(--image);
    background-position: center;
    background-size: cover;
  }
}
@layer utilities {
  .radius-base {
    border-radius: 0.25rem;
  }
  .radius-full {
    border-radius: 99999px;
  }
}
@layer utilities {
  .cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gap, var(--space-2));
  }
  /**
   * Set the default justify-content with a :where for low specificity
   * so we can override it easily with our alignment utilities.
   */
  :where(.cluster) {
    justify-content: start;
  }
}
@layer utilities {
  .c-gray-90 {
    --color-opacity: 1;
    color: rgba(55, 57, 70, var(--color-opacity));
  }
  .bg-gray-90 {
    --bg-opacity: 1;
    background-color: rgba(55, 57, 70, var(--bg-opacity));
  }
  .c-gray-70 {
    --color-opacity: 1;
    color: rgba(86, 88, 105, var(--color-opacity));
  }
  .bg-gray-70 {
    --bg-opacity: 1;
    background-color: rgba(86, 88, 105, var(--bg-opacity));
  }
  .c-gray-50 {
    --color-opacity: 1;
    color: rgba(119, 121, 138, var(--color-opacity));
  }
  .bg-gray-50 {
    --bg-opacity: 1;
    background-color: rgba(119, 121, 138, var(--bg-opacity));
  }
  .c-gray-30 {
    --color-opacity: 1;
    color: rgba(179, 180, 189, var(--color-opacity));
  }
  .bg-gray-30 {
    --bg-opacity: 1;
    background-color: rgba(179, 180, 189, var(--bg-opacity));
  }
  .c-gray-10 {
    --color-opacity: 1;
    color: rgba(238, 238, 240, var(--color-opacity));
  }
  .bg-gray-10 {
    --bg-opacity: 1;
    background-color: rgba(238, 238, 240, var(--bg-opacity));
  }
  .c-neutral-dark {
    --color-opacity: 1;
    color: rgba(0, 44, 89, var(--color-opacity));
  }
  .bg-neutral-dark {
    --bg-opacity: 1;
    background-color: rgba(0, 44, 89, var(--bg-opacity));
  }
  .c-neutral {
    --color-opacity: 1;
    color: rgba(7, 121, 228, var(--color-opacity));
  }
  .bg-neutral {
    --bg-opacity: 1;
    background-color: rgba(7, 121, 228, var(--bg-opacity));
  }
  .c-neutral-light {
    --color-opacity: 1;
    color: rgba(225, 238, 250, var(--color-opacity));
  }
  .bg-neutral-light {
    --bg-opacity: 1;
    background-color: rgba(225, 238, 250, var(--bg-opacity));
  }
  .c-negative-dark {
    --color-opacity: 1;
    color: rgba(117, 0, 1, var(--color-opacity));
  }
  .bg-negative-dark {
    --bg-opacity: 1;
    background-color: rgba(117, 0, 1, var(--bg-opacity));
  }
  .c-negative {
    --color-opacity: 1;
    color: rgba(221, 51, 69, var(--color-opacity));
  }
  .bg-negative {
    --bg-opacity: 1;
    background-color: rgba(221, 51, 69, var(--bg-opacity));
  }
  .c-negative-light {
    --color-opacity: 1;
    color: rgba(246, 219, 221, var(--color-opacity));
  }
  .bg-negative-light {
    --bg-opacity: 1;
    background-color: rgba(246, 219, 221, var(--bg-opacity));
  }
  .c-positive-dark {
    --color-opacity: 1;
    color: rgba(0, 89, 41, var(--color-opacity));
  }
  .bg-positive-dark {
    --bg-opacity: 1;
    background-color: rgba(0, 89, 41, var(--bg-opacity));
  }
  .c-positive {
    --color-opacity: 1;
    color: rgba(33, 191, 115, var(--color-opacity));
  }
  .bg-positive {
    --bg-opacity: 1;
    background-color: rgba(33, 191, 115, var(--bg-opacity));
  }
  .c-positive-light {
    --color-opacity: 1;
    color: rgba(219, 242, 231, var(--color-opacity));
  }
  .bg-positive-light {
    --bg-opacity: 1;
    background-color: rgba(219, 242, 231, var(--bg-opacity));
  }
  .c-warning-dark {
    --color-opacity: 1;
    color: rgba(82, 61, 0, var(--color-opacity));
  }
  .bg-warning-dark {
    --bg-opacity: 1;
    background-color: rgba(82, 61, 0, var(--bg-opacity));
  }
  .c-warning {
    --color-opacity: 1;
    color: rgba(245, 175, 75, var(--color-opacity));
  }
  .bg-warning {
    --bg-opacity: 1;
    background-color: rgba(245, 175, 75, var(--bg-opacity));
  }
  .c-warning-light {
    --color-opacity: 1;
    color: rgba(250, 235, 213, var(--color-opacity));
  }
  .bg-warning-light {
    --bg-opacity: 1;
    background-color: rgba(250, 235, 213, var(--bg-opacity));
  }
  .c-primary {
    --color-opacity: 1;
    color: rgba(32, 51, 153, var(--color-opacity));
  }
  .bg-primary {
    --bg-opacity: 1;
    background-color: rgba(32, 51, 153, var(--bg-opacity));
  }
  .c-secondary {
    --color-opacity: 1;
    color: rgba(1, 169, 221, var(--color-opacity));
  }
  .bg-secondary {
    --bg-opacity: 1;
    background-color: rgba(1, 169, 221, var(--bg-opacity));
  }
  .c-tertiary {
    --color-opacity: 1;
    color: rgba(24, 35, 77, var(--color-opacity));
  }
  .bg-tertiary {
    --bg-opacity: 1;
    background-color: rgba(24, 35, 77, var(--bg-opacity));
  }
  .c-tertiary-dark {
    --color-opacity: 1;
    color: rgba(19, 28, 63, var(--color-opacity));
  }
  .bg-tertiary-dark {
    --bg-opacity: 1;
    background-color: rgba(19, 28, 63, var(--bg-opacity));
  }
  .c-light {
    --color-opacity: 1;
    color: rgba(242, 244, 247, var(--color-opacity));
  }
  .bg-light {
    --bg-opacity: 1;
    background-color: rgba(242, 244, 247, var(--bg-opacity));
  }
  .c-black {
    --color-opacity: 1;
    color: rgba(0, 0, 0, var(--color-opacity));
  }
  .bg-black {
    --bg-opacity: 1;
    background-color: rgba(0, 0, 0, var(--bg-opacity));
  }
  .c-white {
    --color-opacity: 1;
    color: rgba(255, 255, 255, var(--color-opacity));
  }
  .bg-white {
    --bg-opacity: 1;
    background-color: rgba(255, 255, 255, var(--bg-opacity));
  }
  .c-facebook {
    --color-opacity: 1;
    color: rgba(66, 103, 178, var(--color-opacity));
  }
  .bg-facebook {
    --bg-opacity: 1;
    background-color: rgba(66, 103, 178, var(--bg-opacity));
  }
  .c-instagram {
    --color-opacity: 1;
    color: rgba(193, 53, 132, var(--color-opacity));
  }
  .bg-instagram {
    --bg-opacity: 1;
    background-color: rgba(193, 53, 132, var(--bg-opacity));
  }
  .c-tiktok {
    --color-opacity: 1;
    color: rgba(0, 242, 234, var(--color-opacity));
  }
  .bg-tiktok {
    --bg-opacity: 1;
    background-color: rgba(0, 242, 234, var(--bg-opacity));
  }
  .c-opacity-1 {
    --color-opacity: 0.1;
  }
  .bg-opacity-1 {
    --bg-opacity: 0.1;
  }
  .c-opacity-2 {
    --color-opacity: 0.2;
  }
  .bg-opacity-2 {
    --bg-opacity: 0.2;
  }
  .c-opacity-3 {
    --color-opacity: 0.3;
  }
  .bg-opacity-3 {
    --bg-opacity: 0.3;
  }
  .c-opacity-4 {
    --color-opacity: 0.4;
  }
  .bg-opacity-4 {
    --bg-opacity: 0.4;
  }
  .c-opacity-5 {
    --color-opacity: 0.5;
  }
  .bg-opacity-5 {
    --bg-opacity: 0.5;
  }
  .c-opacity-6 {
    --color-opacity: 0.6;
  }
  .bg-opacity-6 {
    --bg-opacity: 0.6;
  }
  .c-opacity-7 {
    --color-opacity: 0.7;
  }
  .bg-opacity-7 {
    --bg-opacity: 0.7;
  }
  .c-opacity-8 {
    --color-opacity: 0.8;
  }
  .bg-opacity-8 {
    --bg-opacity: 0.8;
  }
  .c-opacity-9 {
    --color-opacity: 0.9;
  }
  .bg-opacity-9 {
    --bg-opacity: 0.9;
  }
  .c-opacity-10 {
    --color-opacity: 1;
  }
  .bg-opacity-10 {
    --bg-opacity: 1;
  }
}
@layer utilities {
  .container {
    max-width: 1200px;
    margin-inline: auto;
  }
}
@layer utilities {
  .block {
    display: block;
  }
  .inline-block {
    display: inline-block;
  }
  .flex {
    display: flex;
  }
  .inline-flex {
    display: inline-flex;
  }
  .inline-grid {
    display: inline-grid;
  }
  @media (min-width: 460px) {
    .sm\:block {
      display: block !important;
    }
    .sm\:inline-block {
      display: inline-block !important;
    }
    .sm\:flex {
      display: flex !important;
    }
    .sm\:inline-flex {
      display: inline-flex !important;
    }
    .sm\:inline-grid {
      display: inline-grid !important;
    }
  }
  @media (min-width: 768px) {
    .md\:block {
      display: block !important;
    }
    .md\:inline-block {
      display: inline-block !important;
    }
    .md\:flex {
      display: flex !important;
    }
    .md\:inline-flex {
      display: inline-flex !important;
    }
    .md\:inline-grid {
      display: inline-grid !important;
    }
  }
  @media (min-width: 1024px) {
    .lg\:block {
      display: block !important;
    }
    .lg\:inline-block {
      display: inline-block !important;
    }
    .lg\:flex {
      display: flex !important;
    }
    .lg\:inline-flex {
      display: inline-flex !important;
    }
    .lg\:inline-grid {
      display: inline-grid !important;
    }
  }
}
@layer utilities {
  /**
   * Reverses the letters in an email address
   * You should use this with something like Nunjucks "reverse" filter.
   * It helps stop spam bots.
   */
  .email-address {
    unicode-bidi: bidi-override;
    direction: rtl;
  }
}
@layer utilities {
  .flow > * {
    --flow-space: var(--space-4, 1em);
  }
  .flow > * + * {
    margin-block-start: var(--flow-space);
  }
  .flow-space-px > * {
    --flow-space: 1px;
  }
  .flow-space-half > * {
    --flow-space: 0.125rem;
  }
  .flow-space-1 > * {
    --flow-space: 0.25rem;
  }
  .flow-space-2 > * {
    --flow-space: 0.5rem;
  }
  .flow-space-3 > * {
    --flow-space: 0.75rem;
  }
  .flow-space-4 > * {
    --flow-space: 1rem;
  }
  .flow-space-6 > * {
    --flow-space: 1.5rem;
  }
  .flow-space-8 > * {
    --flow-space: 2rem;
  }
  .flow-space-10 > * {
    --flow-space: 2.5rem;
  }
  .flow-space-12 > * {
    --flow-space: 3rem;
  }
  .flow-space-16 > * {
    --flow-space: 4rem;
  }
  .flow-space-20 > * {
    --flow-space: 5rem;
  }
  .flow-space-24 > * {
    --flow-space: 6rem;
  }
  .flow-space-28 > * {
    --flow-space: 7rem;
  }
  .flow-space-32 > * {
    --flow-space: 8rem;
  }
  .flow-space-40 > * {
    --flow-space: 10rem;
  }
  .flow-space-48 > * {
    --flow-space: 12rem;
  }
  .flow-space-56 > * {
    --flow-space: 14rem;
  }
  .flow-space-64 > * {
    --flow-space: 16rem;
  }
}
@layer utilities {
  /* Font family */
  .font-base {
    font-family: acumin-pro, sans-serif;
  }
  .font-heading {
    font-family: rift, sans-serif;
  }
  /* Font size */
  .size-xs {
    font-size: clamp(0.6075rem, 0.5636rem + 0.2195vw, 0.72rem);
  }
  .size-sm {
    font-size: clamp(0.7294rem, 0.6628rem + 0.3329vw, 0.9rem);
  }
  .size-base {
    font-size: clamp(0.875rem, 0.7774rem + 0.4878vw, 1.125rem);
  }
  .size-lg {
    font-size: clamp(1.05rem, 0.911rem + 0.6951vw, 1.4063rem);
  }
  .size-xl {
    font-size: clamp(1.26rem, 1.0656rem + 0.972vw, 1.7581rem);
  }
  .size-2xl {
    font-size: clamp(1.5119rem, 1.2443rem + 1.3378vw, 2.1975rem);
  }
  .size-3xl {
    font-size: clamp(1.8144rem, 1.4505rem + 1.8195vw, 2.7469rem);
  }
  .size-4xl {
    font-size: clamp(2.1775rem, 1.6875rem + 2.45vw, 3.4331rem);
  }
  .size-5xl {
    font-size: clamp(2.6125rem, 1.9574rem + 3.2756vw, 4.2913rem);
  }
  .size-6xl {
    font-size: clamp(3.135rem, 2.265rem + 4.35vw, 5.3644rem);
  }
  /* Weight */
  .weight-normal {
    font-weight: 400;
  }
  .weight-bold {
    font-weight: 700;
  }
  /* Leading / Line Height */
  .leading-none {
    line-height: 1;
  }
  .leading-tight {
    line-height: 1.1;
  }
  .leading-base {
    line-height: 1.5;
  }
  .leading-loose {
    line-height: 1.8;
  }
  /* Tracking / Letter Spacing */
  .tracking-tight {
    letter-spacing: -0.025rem;
  }
  .tracking-base {
    letter-spacing: auto;
  }
  .tracking-wide {
    letter-spacing: 0.05rem;
  }
  .tracking-loose {
    letter-spacing: 0.1rem;
  }
  /* Text Alignment */
  .align-left,
  .align-start {
    text-align: start;
  }
  .align-center {
    text-align: center;
  }
  .align-right,
  .align-end {
    text-align: end;
  }
  /* Text Transform */
  .uppercase {
    text-transform: uppercase;
  }
  @media (min-width: 460px) {
    /* Font family */
    .sm\:font-base {
      font-family: acumin-pro, sans-serif;
    }
    .sm\:font-heading {
      font-family: rift, sans-serif;
    }
    /* Font size */
    .sm\:size-xs {
      font-size: clamp(0.6075rem, 0.5636rem + 0.2195vw, 0.72rem);
    }
    .sm\:size-sm {
      font-size: clamp(0.7294rem, 0.6628rem + 0.3329vw, 0.9rem);
    }
    .sm\:size-base {
      font-size: clamp(0.875rem, 0.7774rem + 0.4878vw, 1.125rem);
    }
    .sm\:size-lg {
      font-size: clamp(1.05rem, 0.911rem + 0.6951vw, 1.4063rem);
    }
    .sm\:size-xl {
      font-size: clamp(1.26rem, 1.0656rem + 0.972vw, 1.7581rem);
    }
    .sm\:size-2xl {
      font-size: clamp(1.5119rem, 1.2443rem + 1.3378vw, 2.1975rem);
    }
    .sm\:size-3xl {
      font-size: clamp(1.8144rem, 1.4505rem + 1.8195vw, 2.7469rem);
    }
    .sm\:size-4xl {
      font-size: clamp(2.1775rem, 1.6875rem + 2.45vw, 3.4331rem);
    }
    .sm\:size-5xl {
      font-size: clamp(2.6125rem, 1.9574rem + 3.2756vw, 4.2913rem);
    }
    .sm\:size-6xl {
      font-size: clamp(3.135rem, 2.265rem + 4.35vw, 5.3644rem);
    }
    /* Weight */
    .sm\:weight-normal {
      font-weight: 400;
    }
    .sm\:weight-bold {
      font-weight: 700;
    }
    /* Leading / Line Height */
    .sm\:leading-none {
      line-height: 1;
    }
    .sm\:leading-tight {
      line-height: 1.1;
    }
    .sm\:leading-base {
      line-height: 1.5;
    }
    .sm\:leading-loose {
      line-height: 1.8;
    }
    /* Tracking / Letter Spacing */
    .sm\:tracking-tight {
      letter-spacing: -0.025rem;
    }
    .sm\:tracking-base {
      letter-spacing: auto;
    }
    .sm\:tracking-wide {
      letter-spacing: 0.05rem;
    }
    .sm\:tracking-loose {
      letter-spacing: 0.1rem;
    }
    /* Text Alignment */
    .sm\:align-left,
    .sm\:align-start {
      text-align: start;
    }
    .sm\:align-center {
      text-align: center;
    }
    .sm\:align-right,
    .sm\:align-end {
      text-align: end;
    }
    /* Text Transform */
    .sm\:uppercase {
      text-transform: uppercase;
    }
  }
  @media (min-width: 768px) {
    /* Font family */
    .md\:font-base {
      font-family: acumin-pro, sans-serif;
    }
    .md\:font-heading {
      font-family: rift, sans-serif;
    }
    /* Font size */
    .md\:size-xs {
      font-size: clamp(0.6075rem, 0.5636rem + 0.2195vw, 0.72rem);
    }
    .md\:size-sm {
      font-size: clamp(0.7294rem, 0.6628rem + 0.3329vw, 0.9rem);
    }
    .md\:size-base {
      font-size: clamp(0.875rem, 0.7774rem + 0.4878vw, 1.125rem);
    }
    .md\:size-lg {
      font-size: clamp(1.05rem, 0.911rem + 0.6951vw, 1.4063rem);
    }
    .md\:size-xl {
      font-size: clamp(1.26rem, 1.0656rem + 0.972vw, 1.7581rem);
    }
    .md\:size-2xl {
      font-size: clamp(1.5119rem, 1.2443rem + 1.3378vw, 2.1975rem);
    }
    .md\:size-3xl {
      font-size: clamp(1.8144rem, 1.4505rem + 1.8195vw, 2.7469rem);
    }
    .md\:size-4xl {
      font-size: clamp(2.1775rem, 1.6875rem + 2.45vw, 3.4331rem);
    }
    .md\:size-5xl {
      font-size: clamp(2.6125rem, 1.9574rem + 3.2756vw, 4.2913rem);
    }
    .md\:size-6xl {
      font-size: clamp(3.135rem, 2.265rem + 4.35vw, 5.3644rem);
    }
    /* Weight */
    .md\:weight-normal {
      font-weight: 400;
    }
    .md\:weight-bold {
      font-weight: 700;
    }
    /* Leading / Line Height */
    .md\:leading-none {
      line-height: 1;
    }
    .md\:leading-tight {
      line-height: 1.1;
    }
    .md\:leading-base {
      line-height: 1.5;
    }
    .md\:leading-loose {
      line-height: 1.8;
    }
    /* Tracking / Letter Spacing */
    .md\:tracking-tight {
      letter-spacing: -0.025rem;
    }
    .md\:tracking-base {
      letter-spacing: auto;
    }
    .md\:tracking-wide {
      letter-spacing: 0.05rem;
    }
    .md\:tracking-loose {
      letter-spacing: 0.1rem;
    }
    /* Text Alignment */
    .md\:align-left,
    .md\:align-start {
      text-align: start;
    }
    .md\:align-center {
      text-align: center;
    }
    .md\:align-right,
    .md\:align-end {
      text-align: end;
    }
    /* Text Transform */
    .md\:uppercase {
      text-transform: uppercase;
    }
  }
  @media (min-width: 1024px) {
    /* Font family */
    .lg\:font-base {
      font-family: acumin-pro, sans-serif;
    }
    .lg\:font-heading {
      font-family: rift, sans-serif;
    }
    /* Font size */
    .lg\:size-xs {
      font-size: clamp(0.6075rem, 0.5636rem + 0.2195vw, 0.72rem);
    }
    .lg\:size-sm {
      font-size: clamp(0.7294rem, 0.6628rem + 0.3329vw, 0.9rem);
    }
    .lg\:size-base {
      font-size: clamp(0.875rem, 0.7774rem + 0.4878vw, 1.125rem);
    }
    .lg\:size-lg {
      font-size: clamp(1.05rem, 0.911rem + 0.6951vw, 1.4063rem);
    }
    .lg\:size-xl {
      font-size: clamp(1.26rem, 1.0656rem + 0.972vw, 1.7581rem);
    }
    .lg\:size-2xl {
      font-size: clamp(1.5119rem, 1.2443rem + 1.3378vw, 2.1975rem);
    }
    .lg\:size-3xl {
      font-size: clamp(1.8144rem, 1.4505rem + 1.8195vw, 2.7469rem);
    }
    .lg\:size-4xl {
      font-size: clamp(2.1775rem, 1.6875rem + 2.45vw, 3.4331rem);
    }
    .lg\:size-5xl {
      font-size: clamp(2.6125rem, 1.9574rem + 3.2756vw, 4.2913rem);
    }
    .lg\:size-6xl {
      font-size: clamp(3.135rem, 2.265rem + 4.35vw, 5.3644rem);
    }
    /* Weight */
    .lg\:weight-normal {
      font-weight: 400;
    }
    .lg\:weight-bold {
      font-weight: 700;
    }
    /* Leading / Line Height */
    .lg\:leading-none {
      line-height: 1;
    }
    .lg\:leading-tight {
      line-height: 1.1;
    }
    .lg\:leading-base {
      line-height: 1.5;
    }
    .lg\:leading-loose {
      line-height: 1.8;
    }
    /* Tracking / Letter Spacing */
    .lg\:tracking-tight {
      letter-spacing: -0.025rem;
    }
    .lg\:tracking-base {
      letter-spacing: auto;
    }
    .lg\:tracking-wide {
      letter-spacing: 0.05rem;
    }
    .lg\:tracking-loose {
      letter-spacing: 0.1rem;
    }
    /* Text Alignment */
    .lg\:align-left,
    .lg\:align-start {
      text-align: start;
    }
    .lg\:align-center {
      text-align: center;
    }
    .lg\:align-right,
    .lg\:align-end {
      text-align: end;
    }
    /* Text Transform */
    .lg\:uppercase {
      text-transform: uppercase;
    }
  }
}
@layer utilities {
  .gradient {
    background-image: linear-gradient(var(--gradient-direction, to bottom), var(--gradient-from), var(--gradient-to));
  }
  .gradient.horizontal {
    --gradient-direction: to right;
  }
  .gradient.diagonal {
    --gradient-direction: to bottom left;
  }
  .from-gray-90 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(55, 57, 70, var(--gradient-from-opacity));
  }
  .to-gray-90 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(55, 57, 70, var(--gradient-to-opacity));
  }
  .from-gray-70 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(86, 88, 105, var(--gradient-from-opacity));
  }
  .to-gray-70 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(86, 88, 105, var(--gradient-to-opacity));
  }
  .from-gray-50 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(119, 121, 138, var(--gradient-from-opacity));
  }
  .to-gray-50 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(119, 121, 138, var(--gradient-to-opacity));
  }
  .from-gray-30 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(179, 180, 189, var(--gradient-from-opacity));
  }
  .to-gray-30 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(179, 180, 189, var(--gradient-to-opacity));
  }
  .from-gray-10 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(238, 238, 240, var(--gradient-from-opacity));
  }
  .to-gray-10 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(238, 238, 240, var(--gradient-to-opacity));
  }
  .from-neutral-dark {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(0, 44, 89, var(--gradient-from-opacity));
  }
  .to-neutral-dark {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(0, 44, 89, var(--gradient-to-opacity));
  }
  .from-neutral {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(7, 121, 228, var(--gradient-from-opacity));
  }
  .to-neutral {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(7, 121, 228, var(--gradient-to-opacity));
  }
  .from-neutral-light {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(225, 238, 250, var(--gradient-from-opacity));
  }
  .to-neutral-light {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(225, 238, 250, var(--gradient-to-opacity));
  }
  .from-negative-dark {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(117, 0, 1, var(--gradient-from-opacity));
  }
  .to-negative-dark {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(117, 0, 1, var(--gradient-to-opacity));
  }
  .from-negative {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(221, 51, 69, var(--gradient-from-opacity));
  }
  .to-negative {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(221, 51, 69, var(--gradient-to-opacity));
  }
  .from-negative-light {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(246, 219, 221, var(--gradient-from-opacity));
  }
  .to-negative-light {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(246, 219, 221, var(--gradient-to-opacity));
  }
  .from-positive-dark {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(0, 89, 41, var(--gradient-from-opacity));
  }
  .to-positive-dark {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(0, 89, 41, var(--gradient-to-opacity));
  }
  .from-positive {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(33, 191, 115, var(--gradient-from-opacity));
  }
  .to-positive {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(33, 191, 115, var(--gradient-to-opacity));
  }
  .from-positive-light {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(219, 242, 231, var(--gradient-from-opacity));
  }
  .to-positive-light {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(219, 242, 231, var(--gradient-to-opacity));
  }
  .from-warning-dark {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(82, 61, 0, var(--gradient-from-opacity));
  }
  .to-warning-dark {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(82, 61, 0, var(--gradient-to-opacity));
  }
  .from-warning {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(245, 175, 75, var(--gradient-from-opacity));
  }
  .to-warning {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(245, 175, 75, var(--gradient-to-opacity));
  }
  .from-warning-light {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(250, 235, 213, var(--gradient-from-opacity));
  }
  .to-warning-light {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(250, 235, 213, var(--gradient-to-opacity));
  }
  .from-primary {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(32, 51, 153, var(--gradient-from-opacity));
  }
  .to-primary {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(32, 51, 153, var(--gradient-to-opacity));
  }
  .from-secondary {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(1, 169, 221, var(--gradient-from-opacity));
  }
  .to-secondary {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(1, 169, 221, var(--gradient-to-opacity));
  }
  .from-tertiary {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(24, 35, 77, var(--gradient-from-opacity));
  }
  .to-tertiary {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(24, 35, 77, var(--gradient-to-opacity));
  }
  .from-tertiary-dark {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(19, 28, 63, var(--gradient-from-opacity));
  }
  .to-tertiary-dark {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(19, 28, 63, var(--gradient-to-opacity));
  }
  .from-light {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(242, 244, 247, var(--gradient-from-opacity));
  }
  .to-light {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(242, 244, 247, var(--gradient-to-opacity));
  }
  .from-black {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(0, 0, 0, var(--gradient-from-opacity));
  }
  .to-black {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(0, 0, 0, var(--gradient-to-opacity));
  }
  .from-white {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(255, 255, 255, var(--gradient-from-opacity));
  }
  .to-white {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(255, 255, 255, var(--gradient-to-opacity));
  }
  .from-facebook {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(66, 103, 178, var(--gradient-from-opacity));
  }
  .to-facebook {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(66, 103, 178, var(--gradient-to-opacity));
  }
  .from-instagram {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(193, 53, 132, var(--gradient-from-opacity));
  }
  .to-instagram {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(193, 53, 132, var(--gradient-to-opacity));
  }
  .from-tiktok {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(0, 242, 234, var(--gradient-from-opacity));
  }
  .to-tiktok {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(0, 242, 234, var(--gradient-to-opacity));
  }
  .from-opacity-0 {
    --gradient-from-opacity: 0;
  }
  .to-opacity-0 {
    --gradient-to-opacity: 0;
  }
  .from-opacity-1 {
    --gradient-from-opacity: 0.1;
  }
  .to-opacity-1 {
    --gradient-to-opacity: 0.1;
  }
  .from-opacity-2 {
    --gradient-from-opacity: 0.2;
  }
  .to-opacity-2 {
    --gradient-to-opacity: 0.2;
  }
  .from-opacity-3 {
    --gradient-from-opacity: 0.3;
  }
  .to-opacity-3 {
    --gradient-to-opacity: 0.3;
  }
  .from-opacity-4 {
    --gradient-from-opacity: 0.4;
  }
  .to-opacity-4 {
    --gradient-to-opacity: 0.4;
  }
  .from-opacity-5 {
    --gradient-from-opacity: 0.5;
  }
  .to-opacity-5 {
    --gradient-to-opacity: 0.5;
  }
  .from-opacity-6 {
    --gradient-from-opacity: 0.6;
  }
  .to-opacity-6 {
    --gradient-to-opacity: 0.6;
  }
  .from-opacity-7 {
    --gradient-from-opacity: 0.7;
  }
  .to-opacity-7 {
    --gradient-to-opacity: 0.7;
  }
  .from-opacity-8 {
    --gradient-from-opacity: 0.8;
  }
  .to-opacity-8 {
    --gradient-to-opacity: 0.8;
  }
  .from-opacity-9 {
    --gradient-from-opacity: 0.9;
  }
  .to-opacity-9 {
    --gradient-to-opacity: 0.9;
  }
  .from-opacity-10 {
    --gradient-from-opacity: 1;
  }
  .to-opacity-10 {
    --gradient-to-opacity: 1;
  }
}
@layer utilities {
  .grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns, 1), 1fr);
    gap: var(--gap);
  }
  /** Auto Grid **/
  .auto-grid,
  .grid-auto {
    grid-template-columns: repeat(auto-fit, minmax(var(--min-width, 10rem), 1fr));
  }
  .cols-1 {
    --grid-columns: 1;
  }
  .col-start-1 {
    grid-column-start: 1;
  }
  .col-span-1 {
    grid-column-end: span 1;
  }
  .cols-2 {
    --grid-columns: 2;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .col-span-2 {
    grid-column-end: span 2;
  }
  .cols-3 {
    --grid-columns: 3;
  }
  .col-start-3 {
    grid-column-start: 3;
  }
  .col-span-3 {
    grid-column-end: span 3;
  }
  .cols-4 {
    --grid-columns: 4;
  }
  .col-start-4 {
    grid-column-start: 4;
  }
  .col-span-4 {
    grid-column-end: span 4;
  }
  .cols-5 {
    --grid-columns: 5;
  }
  .col-start-5 {
    grid-column-start: 5;
  }
  .col-span-5 {
    grid-column-end: span 5;
  }
  @media (min-width: 460px) {
    .sm\:cols-1 {
      grid-template-columns: repeat(1, 1fr);
    }
    .sm\:col-start-1 {
      grid-column-start: 1;
    }
    .sm\:col-span-1 {
      grid-column-end: span 1;
    }
    .sm\:cols-2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .sm\:col-start-2 {
      grid-column-start: 2;
    }
    .sm\:col-span-2 {
      grid-column-end: span 2;
    }
    .sm\:cols-3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .sm\:col-start-3 {
      grid-column-start: 3;
    }
    .sm\:col-span-3 {
      grid-column-end: span 3;
    }
    .sm\:cols-4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .sm\:col-start-4 {
      grid-column-start: 4;
    }
    .sm\:col-span-4 {
      grid-column-end: span 4;
    }
    .sm\:cols-5 {
      grid-template-columns: repeat(5, 1fr);
    }
    .sm\:col-start-5 {
      grid-column-start: 5;
    }
    .sm\:col-span-5 {
      grid-column-end: span 5;
    }
  }
  @media (min-width: 768px) {
    .md\:cols-1 {
      grid-template-columns: repeat(1, 1fr);
    }
    .md\:col-start-1 {
      grid-column-start: 1;
    }
    .md\:col-span-1 {
      grid-column-end: span 1;
    }
    .md\:cols-2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .md\:col-start-2 {
      grid-column-start: 2;
    }
    .md\:col-span-2 {
      grid-column-end: span 2;
    }
    .md\:cols-3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .md\:col-start-3 {
      grid-column-start: 3;
    }
    .md\:col-span-3 {
      grid-column-end: span 3;
    }
    .md\:cols-4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .md\:col-start-4 {
      grid-column-start: 4;
    }
    .md\:col-span-4 {
      grid-column-end: span 4;
    }
    .md\:cols-5 {
      grid-template-columns: repeat(5, 1fr);
    }
    .md\:col-start-5 {
      grid-column-start: 5;
    }
    .md\:col-span-5 {
      grid-column-end: span 5;
    }
  }
  @media (min-width: 1024px) {
    .lg\:cols-1 {
      grid-template-columns: repeat(1, 1fr);
    }
    .lg\:col-start-1 {
      grid-column-start: 1;
    }
    .lg\:col-span-1 {
      grid-column-end: span 1;
    }
    .lg\:cols-2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .lg\:col-start-2 {
      grid-column-start: 2;
    }
    .lg\:col-span-2 {
      grid-column-end: span 2;
    }
    .lg\:cols-3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .lg\:col-start-3 {
      grid-column-start: 3;
    }
    .lg\:col-span-3 {
      grid-column-end: span 3;
    }
    .lg\:cols-4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .lg\:col-start-4 {
      grid-column-start: 4;
    }
    .lg\:col-span-4 {
      grid-column-end: span 4;
    }
    .lg\:cols-5 {
      grid-template-columns: repeat(5, 1fr);
    }
    .lg\:col-start-5 {
      grid-column-start: 5;
    }
    .lg\:col-span-5 {
      grid-column-end: span 5;
    }
  }
}
@layer utilities {
  .mw-sm {
    max-width: 60ch;
  }
  .mw-md {
    max-width: 75ch;
  }
  .mw-lg {
    max-width: 85ch;
  }
}
@layer utilities {
  .shadow-sm {
    box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
  }
  .text-shadow-sm {
    text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05);
  }
  .shadow-base {
    box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
  }
  .text-shadow-base {
    text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05);
  }
  .shadow-lg {
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
  }
  .text-shadow-lg {
    text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.6rem 1rem rgba(0, 0, 0, 0.05);
  }
  .shadow-xl {
    box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
  }
  .text-shadow-xl {
    text-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05), 0 0.6rem 0.8rem rgba(0, 0, 0, 0.05), 0 0.8rem 1.2rem rgba(0, 0, 0, 0.05), 0 1rem 1.6rem rgba(0, 0, 0, 0.05);
  }
  .shadow-2xl {
    box-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
  }
  .text-shadow-2xl {
    text-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.05), 0 0.8rem 1rem rgba(0, 0, 0, 0.05), 0 1rem 1.4rem rgba(0, 0, 0, 0.05), 0 1.2rem 2rem rgba(0, 0, 0, 0.05), 0 1.4rem 2.2rem rgba(0, 0, 0, 0.05);
  }
}
@layer utilities {
  .px-px {
    padding-inline: 1px;
  }
  .py-px {
    padding-block: 1px;
  }
  .ml-px {
    margin-inline-start: 1px;
  }
  .mr-px {
    margin-inline-end: 1px;
  }
  .mt-px {
    margin-block-start: 1px;
  }
  .gap-px {
    gap: 1px;
  }
  .px-half {
    padding-inline: 0.125rem;
  }
  .py-half {
    padding-block: 0.125rem;
  }
  .ml-half {
    margin-inline-start: 0.125rem;
  }
  .mr-half {
    margin-inline-end: 0.125rem;
  }
  .mt-half {
    margin-block-start: 0.125rem;
  }
  .gap-half {
    gap: 0.125rem;
  }
  .px-1 {
    padding-inline: 0.25rem;
  }
  .py-1 {
    padding-block: 0.25rem;
  }
  .ml-1 {
    margin-inline-start: 0.25rem;
  }
  .mr-1 {
    margin-inline-end: 0.25rem;
  }
  .mt-1 {
    margin-block-start: 0.25rem;
  }
  .gap-1 {
    gap: 0.25rem;
  }
  .px-2 {
    padding-inline: 0.5rem;
  }
  .py-2 {
    padding-block: 0.5rem;
  }
  .ml-2 {
    margin-inline-start: 0.5rem;
  }
  .mr-2 {
    margin-inline-end: 0.5rem;
  }
  .mt-2 {
    margin-block-start: 0.5rem;
  }
  .gap-2 {
    gap: 0.5rem;
  }
  .px-3 {
    padding-inline: 0.75rem;
  }
  .py-3 {
    padding-block: 0.75rem;
  }
  .ml-3 {
    margin-inline-start: 0.75rem;
  }
  .mr-3 {
    margin-inline-end: 0.75rem;
  }
  .mt-3 {
    margin-block-start: 0.75rem;
  }
  .gap-3 {
    gap: 0.75rem;
  }
  .px-4 {
    padding-inline: 1rem;
  }
  .py-4 {
    padding-block: 1rem;
  }
  .ml-4 {
    margin-inline-start: 1rem;
  }
  .mr-4 {
    margin-inline-end: 1rem;
  }
  .mt-4 {
    margin-block-start: 1rem;
  }
  .gap-4 {
    gap: 1rem;
  }
  .px-6 {
    padding-inline: 1.5rem;
  }
  .py-6 {
    padding-block: 1.5rem;
  }
  .ml-6 {
    margin-inline-start: 1.5rem;
  }
  .mr-6 {
    margin-inline-end: 1.5rem;
  }
  .mt-6 {
    margin-block-start: 1.5rem;
  }
  .gap-6 {
    gap: 1.5rem;
  }
  .px-8 {
    padding-inline: 2rem;
  }
  .py-8 {
    padding-block: 2rem;
  }
  .ml-8 {
    margin-inline-start: 2rem;
  }
  .mr-8 {
    margin-inline-end: 2rem;
  }
  .mt-8 {
    margin-block-start: 2rem;
  }
  .gap-8 {
    gap: 2rem;
  }
  .px-10 {
    padding-inline: 2.5rem;
  }
  .py-10 {
    padding-block: 2.5rem;
  }
  .ml-10 {
    margin-inline-start: 2.5rem;
  }
  .mr-10 {
    margin-inline-end: 2.5rem;
  }
  .mt-10 {
    margin-block-start: 2.5rem;
  }
  .gap-10 {
    gap: 2.5rem;
  }
  .px-12 {
    padding-inline: 3rem;
  }
  .py-12 {
    padding-block: 3rem;
  }
  .ml-12 {
    margin-inline-start: 3rem;
  }
  .mr-12 {
    margin-inline-end: 3rem;
  }
  .mt-12 {
    margin-block-start: 3rem;
  }
  .gap-12 {
    gap: 3rem;
  }
  .px-16 {
    padding-inline: 4rem;
  }
  .py-16 {
    padding-block: 4rem;
  }
  .ml-16 {
    margin-inline-start: 4rem;
  }
  .mr-16 {
    margin-inline-end: 4rem;
  }
  .mt-16 {
    margin-block-start: 4rem;
  }
  .gap-16 {
    gap: 4rem;
  }
  .px-20 {
    padding-inline: 5rem;
  }
  .py-20 {
    padding-block: 5rem;
  }
  .ml-20 {
    margin-inline-start: 5rem;
  }
  .mr-20 {
    margin-inline-end: 5rem;
  }
  .mt-20 {
    margin-block-start: 5rem;
  }
  .gap-20 {
    gap: 5rem;
  }
  .px-24 {
    padding-inline: 6rem;
  }
  .py-24 {
    padding-block: 6rem;
  }
  .ml-24 {
    margin-inline-start: 6rem;
  }
  .mr-24 {
    margin-inline-end: 6rem;
  }
  .mt-24 {
    margin-block-start: 6rem;
  }
  .gap-24 {
    gap: 6rem;
  }
  .px-28 {
    padding-inline: 7rem;
  }
  .py-28 {
    padding-block: 7rem;
  }
  .ml-28 {
    margin-inline-start: 7rem;
  }
  .mr-28 {
    margin-inline-end: 7rem;
  }
  .mt-28 {
    margin-block-start: 7rem;
  }
  .gap-28 {
    gap: 7rem;
  }
  .px-32 {
    padding-inline: 8rem;
  }
  .py-32 {
    padding-block: 8rem;
  }
  .ml-32 {
    margin-inline-start: 8rem;
  }
  .mr-32 {
    margin-inline-end: 8rem;
  }
  .mt-32 {
    margin-block-start: 8rem;
  }
  .gap-32 {
    gap: 8rem;
  }
  .px-40 {
    padding-inline: 10rem;
  }
  .py-40 {
    padding-block: 10rem;
  }
  .ml-40 {
    margin-inline-start: 10rem;
  }
  .mr-40 {
    margin-inline-end: 10rem;
  }
  .mt-40 {
    margin-block-start: 10rem;
  }
  .gap-40 {
    gap: 10rem;
  }
  .px-48 {
    padding-inline: 12rem;
  }
  .py-48 {
    padding-block: 12rem;
  }
  .ml-48 {
    margin-inline-start: 12rem;
  }
  .mr-48 {
    margin-inline-end: 12rem;
  }
  .mt-48 {
    margin-block-start: 12rem;
  }
  .gap-48 {
    gap: 12rem;
  }
  .px-56 {
    padding-inline: 14rem;
  }
  .py-56 {
    padding-block: 14rem;
  }
  .ml-56 {
    margin-inline-start: 14rem;
  }
  .mr-56 {
    margin-inline-end: 14rem;
  }
  .mt-56 {
    margin-block-start: 14rem;
  }
  .gap-56 {
    gap: 14rem;
  }
  .px-64 {
    padding-inline: 16rem;
  }
  .py-64 {
    padding-block: 16rem;
  }
  .ml-64 {
    margin-inline-start: 16rem;
  }
  .mr-64 {
    margin-inline-end: 16rem;
  }
  .mt-64 {
    margin-block-start: 16rem;
  }
  .gap-64 {
    gap: 16rem;
  }
  @media (min-width: 460px) {
    .sm\:px-px {
      padding-inline: 1px;
    }
    .sm\:py-px {
      padding-block: 1px;
    }
    .sm\:ml-px {
      margin-inline-start: 1px;
    }
    .sm\:mt-px {
      margin-block-start: 1px;
    }
    .sm\:gap-px {
      gap: 1px;
    }
    .sm\:px-half {
      padding-inline: 0.125rem;
    }
    .sm\:py-half {
      padding-block: 0.125rem;
    }
    .sm\:ml-half {
      margin-inline-start: 0.125rem;
    }
    .sm\:mt-half {
      margin-block-start: 0.125rem;
    }
    .sm\:gap-half {
      gap: 0.125rem;
    }
    .sm\:px-1 {
      padding-inline: 0.25rem;
    }
    .sm\:py-1 {
      padding-block: 0.25rem;
    }
    .sm\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .sm\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .sm\:gap-1 {
      gap: 0.25rem;
    }
    .sm\:px-2 {
      padding-inline: 0.5rem;
    }
    .sm\:py-2 {
      padding-block: 0.5rem;
    }
    .sm\:ml-2 {
      margin-inline-start: 0.5rem;
    }
    .sm\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .sm\:gap-2 {
      gap: 0.5rem;
    }
    .sm\:px-3 {
      padding-inline: 0.75rem;
    }
    .sm\:py-3 {
      padding-block: 0.75rem;
    }
    .sm\:ml-3 {
      margin-inline-start: 0.75rem;
    }
    .sm\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .sm\:gap-3 {
      gap: 0.75rem;
    }
    .sm\:px-4 {
      padding-inline: 1rem;
    }
    .sm\:py-4 {
      padding-block: 1rem;
    }
    .sm\:ml-4 {
      margin-inline-start: 1rem;
    }
    .sm\:mt-4 {
      margin-block-start: 1rem;
    }
    .sm\:gap-4 {
      gap: 1rem;
    }
    .sm\:px-6 {
      padding-inline: 1.5rem;
    }
    .sm\:py-6 {
      padding-block: 1.5rem;
    }
    .sm\:ml-6 {
      margin-inline-start: 1.5rem;
    }
    .sm\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .sm\:gap-6 {
      gap: 1.5rem;
    }
    .sm\:px-8 {
      padding-inline: 2rem;
    }
    .sm\:py-8 {
      padding-block: 2rem;
    }
    .sm\:ml-8 {
      margin-inline-start: 2rem;
    }
    .sm\:mt-8 {
      margin-block-start: 2rem;
    }
    .sm\:gap-8 {
      gap: 2rem;
    }
    .sm\:px-10 {
      padding-inline: 2.5rem;
    }
    .sm\:py-10 {
      padding-block: 2.5rem;
    }
    .sm\:ml-10 {
      margin-inline-start: 2.5rem;
    }
    .sm\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .sm\:gap-10 {
      gap: 2.5rem;
    }
    .sm\:px-12 {
      padding-inline: 3rem;
    }
    .sm\:py-12 {
      padding-block: 3rem;
    }
    .sm\:ml-12 {
      margin-inline-start: 3rem;
    }
    .sm\:mt-12 {
      margin-block-start: 3rem;
    }
    .sm\:gap-12 {
      gap: 3rem;
    }
    .sm\:px-16 {
      padding-inline: 4rem;
    }
    .sm\:py-16 {
      padding-block: 4rem;
    }
    .sm\:ml-16 {
      margin-inline-start: 4rem;
    }
    .sm\:mt-16 {
      margin-block-start: 4rem;
    }
    .sm\:gap-16 {
      gap: 4rem;
    }
    .sm\:px-20 {
      padding-inline: 5rem;
    }
    .sm\:py-20 {
      padding-block: 5rem;
    }
    .sm\:ml-20 {
      margin-inline-start: 5rem;
    }
    .sm\:mt-20 {
      margin-block-start: 5rem;
    }
    .sm\:gap-20 {
      gap: 5rem;
    }
    .sm\:px-24 {
      padding-inline: 6rem;
    }
    .sm\:py-24 {
      padding-block: 6rem;
    }
    .sm\:ml-24 {
      margin-inline-start: 6rem;
    }
    .sm\:mt-24 {
      margin-block-start: 6rem;
    }
    .sm\:gap-24 {
      gap: 6rem;
    }
    .sm\:px-28 {
      padding-inline: 7rem;
    }
    .sm\:py-28 {
      padding-block: 7rem;
    }
    .sm\:ml-28 {
      margin-inline-start: 7rem;
    }
    .sm\:mt-28 {
      margin-block-start: 7rem;
    }
    .sm\:gap-28 {
      gap: 7rem;
    }
    .sm\:px-32 {
      padding-inline: 8rem;
    }
    .sm\:py-32 {
      padding-block: 8rem;
    }
    .sm\:ml-32 {
      margin-inline-start: 8rem;
    }
    .sm\:mt-32 {
      margin-block-start: 8rem;
    }
    .sm\:gap-32 {
      gap: 8rem;
    }
    .sm\:px-40 {
      padding-inline: 10rem;
    }
    .sm\:py-40 {
      padding-block: 10rem;
    }
    .sm\:ml-40 {
      margin-inline-start: 10rem;
    }
    .sm\:mt-40 {
      margin-block-start: 10rem;
    }
    .sm\:gap-40 {
      gap: 10rem;
    }
    .sm\:px-48 {
      padding-inline: 12rem;
    }
    .sm\:py-48 {
      padding-block: 12rem;
    }
    .sm\:ml-48 {
      margin-inline-start: 12rem;
    }
    .sm\:mt-48 {
      margin-block-start: 12rem;
    }
    .sm\:gap-48 {
      gap: 12rem;
    }
    .sm\:px-56 {
      padding-inline: 14rem;
    }
    .sm\:py-56 {
      padding-block: 14rem;
    }
    .sm\:ml-56 {
      margin-inline-start: 14rem;
    }
    .sm\:mt-56 {
      margin-block-start: 14rem;
    }
    .sm\:gap-56 {
      gap: 14rem;
    }
    .sm\:px-64 {
      padding-inline: 16rem;
    }
    .sm\:py-64 {
      padding-block: 16rem;
    }
    .sm\:ml-64 {
      margin-inline-start: 16rem;
    }
    .sm\:mt-64 {
      margin-block-start: 16rem;
    }
    .sm\:gap-64 {
      gap: 16rem;
    }
  }
  @media (min-width: 768px) {
    .md\:px-px {
      padding-inline: 1px;
    }
    .md\:py-px {
      padding-block: 1px;
    }
    .md\:ml-px {
      margin-inline-start: 1px;
    }
    .md\:mt-px {
      margin-block-start: 1px;
    }
    .md\:gap-px {
      gap: 1px;
    }
    .md\:px-half {
      padding-inline: 0.125rem;
    }
    .md\:py-half {
      padding-block: 0.125rem;
    }
    .md\:ml-half {
      margin-inline-start: 0.125rem;
    }
    .md\:mt-half {
      margin-block-start: 0.125rem;
    }
    .md\:gap-half {
      gap: 0.125rem;
    }
    .md\:px-1 {
      padding-inline: 0.25rem;
    }
    .md\:py-1 {
      padding-block: 0.25rem;
    }
    .md\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .md\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .md\:gap-1 {
      gap: 0.25rem;
    }
    .md\:px-2 {
      padding-inline: 0.5rem;
    }
    .md\:py-2 {
      padding-block: 0.5rem;
    }
    .md\:ml-2 {
      margin-inline-start: 0.5rem;
    }
    .md\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .md\:gap-2 {
      gap: 0.5rem;
    }
    .md\:px-3 {
      padding-inline: 0.75rem;
    }
    .md\:py-3 {
      padding-block: 0.75rem;
    }
    .md\:ml-3 {
      margin-inline-start: 0.75rem;
    }
    .md\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .md\:gap-3 {
      gap: 0.75rem;
    }
    .md\:px-4 {
      padding-inline: 1rem;
    }
    .md\:py-4 {
      padding-block: 1rem;
    }
    .md\:ml-4 {
      margin-inline-start: 1rem;
    }
    .md\:mt-4 {
      margin-block-start: 1rem;
    }
    .md\:gap-4 {
      gap: 1rem;
    }
    .md\:px-6 {
      padding-inline: 1.5rem;
    }
    .md\:py-6 {
      padding-block: 1.5rem;
    }
    .md\:ml-6 {
      margin-inline-start: 1.5rem;
    }
    .md\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .md\:gap-6 {
      gap: 1.5rem;
    }
    .md\:px-8 {
      padding-inline: 2rem;
    }
    .md\:py-8 {
      padding-block: 2rem;
    }
    .md\:ml-8 {
      margin-inline-start: 2rem;
    }
    .md\:mt-8 {
      margin-block-start: 2rem;
    }
    .md\:gap-8 {
      gap: 2rem;
    }
    .md\:px-10 {
      padding-inline: 2.5rem;
    }
    .md\:py-10 {
      padding-block: 2.5rem;
    }
    .md\:ml-10 {
      margin-inline-start: 2.5rem;
    }
    .md\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .md\:gap-10 {
      gap: 2.5rem;
    }
    .md\:px-12 {
      padding-inline: 3rem;
    }
    .md\:py-12 {
      padding-block: 3rem;
    }
    .md\:ml-12 {
      margin-inline-start: 3rem;
    }
    .md\:mt-12 {
      margin-block-start: 3rem;
    }
    .md\:gap-12 {
      gap: 3rem;
    }
    .md\:px-16 {
      padding-inline: 4rem;
    }
    .md\:py-16 {
      padding-block: 4rem;
    }
    .md\:ml-16 {
      margin-inline-start: 4rem;
    }
    .md\:mt-16 {
      margin-block-start: 4rem;
    }
    .md\:gap-16 {
      gap: 4rem;
    }
    .md\:px-20 {
      padding-inline: 5rem;
    }
    .md\:py-20 {
      padding-block: 5rem;
    }
    .md\:ml-20 {
      margin-inline-start: 5rem;
    }
    .md\:mt-20 {
      margin-block-start: 5rem;
    }
    .md\:gap-20 {
      gap: 5rem;
    }
    .md\:px-24 {
      padding-inline: 6rem;
    }
    .md\:py-24 {
      padding-block: 6rem;
    }
    .md\:ml-24 {
      margin-inline-start: 6rem;
    }
    .md\:mt-24 {
      margin-block-start: 6rem;
    }
    .md\:gap-24 {
      gap: 6rem;
    }
    .md\:px-28 {
      padding-inline: 7rem;
    }
    .md\:py-28 {
      padding-block: 7rem;
    }
    .md\:ml-28 {
      margin-inline-start: 7rem;
    }
    .md\:mt-28 {
      margin-block-start: 7rem;
    }
    .md\:gap-28 {
      gap: 7rem;
    }
    .md\:px-32 {
      padding-inline: 8rem;
    }
    .md\:py-32 {
      padding-block: 8rem;
    }
    .md\:ml-32 {
      margin-inline-start: 8rem;
    }
    .md\:mt-32 {
      margin-block-start: 8rem;
    }
    .md\:gap-32 {
      gap: 8rem;
    }
    .md\:px-40 {
      padding-inline: 10rem;
    }
    .md\:py-40 {
      padding-block: 10rem;
    }
    .md\:ml-40 {
      margin-inline-start: 10rem;
    }
    .md\:mt-40 {
      margin-block-start: 10rem;
    }
    .md\:gap-40 {
      gap: 10rem;
    }
    .md\:px-48 {
      padding-inline: 12rem;
    }
    .md\:py-48 {
      padding-block: 12rem;
    }
    .md\:ml-48 {
      margin-inline-start: 12rem;
    }
    .md\:mt-48 {
      margin-block-start: 12rem;
    }
    .md\:gap-48 {
      gap: 12rem;
    }
    .md\:px-56 {
      padding-inline: 14rem;
    }
    .md\:py-56 {
      padding-block: 14rem;
    }
    .md\:ml-56 {
      margin-inline-start: 14rem;
    }
    .md\:mt-56 {
      margin-block-start: 14rem;
    }
    .md\:gap-56 {
      gap: 14rem;
    }
    .md\:px-64 {
      padding-inline: 16rem;
    }
    .md\:py-64 {
      padding-block: 16rem;
    }
    .md\:ml-64 {
      margin-inline-start: 16rem;
    }
    .md\:mt-64 {
      margin-block-start: 16rem;
    }
    .md\:gap-64 {
      gap: 16rem;
    }
  }
  @media (min-width: 1024px) {
    .lg\:px-px {
      padding-inline: 1px;
    }
    .lg\:py-px {
      padding-block: 1px;
    }
    .lg\:ml-px {
      margin-inline-start: 1px;
    }
    .lg\:mt-px {
      margin-block-start: 1px;
    }
    .lg\:gap-px {
      gap: 1px;
    }
    .lg\:px-half {
      padding-inline: 0.125rem;
    }
    .lg\:py-half {
      padding-block: 0.125rem;
    }
    .lg\:ml-half {
      margin-inline-start: 0.125rem;
    }
    .lg\:mt-half {
      margin-block-start: 0.125rem;
    }
    .lg\:gap-half {
      gap: 0.125rem;
    }
    .lg\:px-1 {
      padding-inline: 0.25rem;
    }
    .lg\:py-1 {
      padding-block: 0.25rem;
    }
    .lg\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .lg\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .lg\:gap-1 {
      gap: 0.25rem;
    }
    .lg\:px-2 {
      padding-inline: 0.5rem;
    }
    .lg\:py-2 {
      padding-block: 0.5rem;
    }
    .lg\:ml-2 {
      margin-inline-start: 0.5rem;
    }
    .lg\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .lg\:gap-2 {
      gap: 0.5rem;
    }
    .lg\:px-3 {
      padding-inline: 0.75rem;
    }
    .lg\:py-3 {
      padding-block: 0.75rem;
    }
    .lg\:ml-3 {
      margin-inline-start: 0.75rem;
    }
    .lg\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .lg\:gap-3 {
      gap: 0.75rem;
    }
    .lg\:px-4 {
      padding-inline: 1rem;
    }
    .lg\:py-4 {
      padding-block: 1rem;
    }
    .lg\:ml-4 {
      margin-inline-start: 1rem;
    }
    .lg\:mt-4 {
      margin-block-start: 1rem;
    }
    .lg\:gap-4 {
      gap: 1rem;
    }
    .lg\:px-6 {
      padding-inline: 1.5rem;
    }
    .lg\:py-6 {
      padding-block: 1.5rem;
    }
    .lg\:ml-6 {
      margin-inline-start: 1.5rem;
    }
    .lg\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .lg\:gap-6 {
      gap: 1.5rem;
    }
    .lg\:px-8 {
      padding-inline: 2rem;
    }
    .lg\:py-8 {
      padding-block: 2rem;
    }
    .lg\:ml-8 {
      margin-inline-start: 2rem;
    }
    .lg\:mt-8 {
      margin-block-start: 2rem;
    }
    .lg\:gap-8 {
      gap: 2rem;
    }
    .lg\:px-10 {
      padding-inline: 2.5rem;
    }
    .lg\:py-10 {
      padding-block: 2.5rem;
    }
    .lg\:ml-10 {
      margin-inline-start: 2.5rem;
    }
    .lg\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .lg\:gap-10 {
      gap: 2.5rem;
    }
    .lg\:px-12 {
      padding-inline: 3rem;
    }
    .lg\:py-12 {
      padding-block: 3rem;
    }
    .lg\:ml-12 {
      margin-inline-start: 3rem;
    }
    .lg\:mt-12 {
      margin-block-start: 3rem;
    }
    .lg\:gap-12 {
      gap: 3rem;
    }
    .lg\:px-16 {
      padding-inline: 4rem;
    }
    .lg\:py-16 {
      padding-block: 4rem;
    }
    .lg\:ml-16 {
      margin-inline-start: 4rem;
    }
    .lg\:mt-16 {
      margin-block-start: 4rem;
    }
    .lg\:gap-16 {
      gap: 4rem;
    }
    .lg\:px-20 {
      padding-inline: 5rem;
    }
    .lg\:py-20 {
      padding-block: 5rem;
    }
    .lg\:ml-20 {
      margin-inline-start: 5rem;
    }
    .lg\:mt-20 {
      margin-block-start: 5rem;
    }
    .lg\:gap-20 {
      gap: 5rem;
    }
    .lg\:px-24 {
      padding-inline: 6rem;
    }
    .lg\:py-24 {
      padding-block: 6rem;
    }
    .lg\:ml-24 {
      margin-inline-start: 6rem;
    }
    .lg\:mt-24 {
      margin-block-start: 6rem;
    }
    .lg\:gap-24 {
      gap: 6rem;
    }
    .lg\:px-28 {
      padding-inline: 7rem;
    }
    .lg\:py-28 {
      padding-block: 7rem;
    }
    .lg\:ml-28 {
      margin-inline-start: 7rem;
    }
    .lg\:mt-28 {
      margin-block-start: 7rem;
    }
    .lg\:gap-28 {
      gap: 7rem;
    }
    .lg\:px-32 {
      padding-inline: 8rem;
    }
    .lg\:py-32 {
      padding-block: 8rem;
    }
    .lg\:ml-32 {
      margin-inline-start: 8rem;
    }
    .lg\:mt-32 {
      margin-block-start: 8rem;
    }
    .lg\:gap-32 {
      gap: 8rem;
    }
    .lg\:px-40 {
      padding-inline: 10rem;
    }
    .lg\:py-40 {
      padding-block: 10rem;
    }
    .lg\:ml-40 {
      margin-inline-start: 10rem;
    }
    .lg\:mt-40 {
      margin-block-start: 10rem;
    }
    .lg\:gap-40 {
      gap: 10rem;
    }
    .lg\:px-48 {
      padding-inline: 12rem;
    }
    .lg\:py-48 {
      padding-block: 12rem;
    }
    .lg\:ml-48 {
      margin-inline-start: 12rem;
    }
    .lg\:mt-48 {
      margin-block-start: 12rem;
    }
    .lg\:gap-48 {
      gap: 12rem;
    }
    .lg\:px-56 {
      padding-inline: 14rem;
    }
    .lg\:py-56 {
      padding-block: 14rem;
    }
    .lg\:ml-56 {
      margin-inline-start: 14rem;
    }
    .lg\:mt-56 {
      margin-block-start: 14rem;
    }
    .lg\:gap-56 {
      gap: 14rem;
    }
    .lg\:px-64 {
      padding-inline: 16rem;
    }
    .lg\:py-64 {
      padding-block: 16rem;
    }
    .lg\:ml-64 {
      margin-inline-start: 16rem;
    }
    .lg\:mt-64 {
      margin-block-start: 16rem;
    }
    .lg\:gap-64 {
      gap: 16rem;
    }
  }
}
@layer utilities {
  .sr-only {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
  }
  /**
   * Use in conjunction with .sr-only to only display content when it's focused.
   * @note Useful for skip links
   * @see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
   * @note Based on a HTML5 Boilerplate technique, included in Bootstrap
   * @note Fixed a bug with position: static on iOS 10.0.2 + VoiceOver
   * @author Sylvain Pigeard
   * @see https://github.com/twbs/bootstrap/issues/20732
  */
  .sr-only-focusable:focus,
  .sr-only-focusable:active {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    margin: auto;
    overflow: visible;
    width: auto;
    white-space: normal;
  }
}
/* Base Styles */
/* Components */
/* Utilities */