@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: #D5D5D5;
    --color-gray-10: #F8F8F8;
    --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: #027FFF;
    --color-black: #0C1126;
    --color-white: #fff;
    --font-base: articulat-cf, sans-serif;
    --font-heading: forma-djr-deck, sans-serif;
    --weight-normal: 400;
    --weight-medium: 700;
    --weight-bold: 800;
    --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-0: 0rem;
    --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: 70ch;
    --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;
    --aspect-ratio-3x4: 3 / 4;
  }
  *,
  *: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-black, black);
    position: relative;
    text-decoration: underline;
    font-weight: var(--weight-bold);
    text-decoration-color: var(--color-primary);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }
  a:hover {
    text-decoration: none;
  }
  img {
    /* Only render images when they're in the viewport */
    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.inline-list li {
    display: inline-block;
    background-color: var(--color-primary);
    color: white;
    border-radius: var(--radius-base);
    padding: 0 var(--space-2);
    margin-top: var(--space-1);
  }
  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-medium, 700);
    margin: 0;
    font-family: var(--font-heading);
  }
  h1,
  .h1 {
    font-size: var(--size-3xl);
  }
  h2,
  .h2 {
    font-size: var(--size-2xl);
  }
  h3,
  .h3 {
    font-size: var(--size-xl);
  }
  h4,
  .h4 {
    font-size: var(--size-lg);
  }
  @supports (display: grid) {
    .browser-message {
      display: none;
    }
  }
  .h-full {
    height: 100%;
  }
  .vh-full {
    height: 100vh;
  }
  .multiply {
    mix-blend-mode: multiply;
  }
  .darken {
    mix-blend-mode: darken;
  }
  .top-0 {
    top: 0;
  }
  .top--100 {
    top: -100px;
  }
  @media (min-width: 768px) {
    .top--100 {
      top: 0;
      margin-top: -100px;
    }
  }
  .top--50 {
    top: -50px;
  }
  @media (min-width: 768px) {
    .top--50 {
      top: 0;
      margin-top: -50px;
    }
  }
  .bottom-0 {
    bottom: 0;
  }
  .right-0 {
    right: 0;
  }
  .left-0 {
    left: 0;
  }
  .right-100 {
    right: 100px;
  }
  .right-2r {
    right: 2rem;
  }
  .object-cover {
    object-fit: cover;
  }
  .line-through {
    width: 4px;
    height: 100px;
    z-index: 2;
  }
  .icon {
    height: 50px;
    width: 50px;
  }
  .phone-icon path {
    fill: none !important;
  }
  .small-icon {
    height: 20px;
    width: 20px;
    margin-right: 0.5em;
    padding-top: 0.25em;
    position: absolute;
  }
  .footer-list span, .footer-list a {
    padding-left: 1.5em;
    display: block;
  }
  .border-left {
    border-left: 4px solid var(--color-primary);
    padding-left: var(--space-8);
  }
  .social-icon {
    width: 30px;
    height: 30px;
  }
  .grecaptcha-badge {
    display: none;
  }
  .no-underline {
    text-decoration: none;
  }
  .pad-b {
    padding-bottom: 0.25em;
  }
  /* 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);
  }
}
@layer components {
  .btn,
  input[type=file]::file-selector-button {
    --btn-background-color: var(--color-gray-90);
    --btn-color: var(--color-white);
    --btn-border: 1px solid var(--color-gray-90);
    --btn-padding: var(--space-3) var(--space-6);
    appearance: none;
    background-color: var(--btn-background-color);
    border: var(--btn-border, 0);
    border-radius: 0;
    box-shadow: var(--btn-shadow, none);
    color: var(--btn-color);
    font-size: var(--btn-font-size, inherit);
    padding: var(--btn-padding);
    text-decoration: none;
    font-weight: var(--weight-bold);
    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-border: 1px solid var(--color-white);
    --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%;
  }
  .btn--primary {
    --btn-color: white!important;
  }
  .btn--primary:hover {
    --btn-color: var(--color-primary)!important;
  }
  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);
    --btn-border: 1px solid #373946;
  }
  .btn--outline.btn--gray-90 {
    --btn-border: 1px solid #373946;
    --btn-color: #373946;
  }
  .btn--outline.btn--gray-90:hover {
    --btn-color: var(--color, white);
  }
  .btn--gray-70 {
    --btn-background-color: #565869;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #565869;
  }
  .btn--outline.btn--gray-70 {
    --btn-border: 1px solid #565869;
    --btn-color: #565869;
  }
  .btn--outline.btn--gray-70:hover {
    --btn-color: var(--color, white);
  }
  .btn--gray-50 {
    --btn-background-color: #77798a;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #77798a;
  }
  .btn--outline.btn--gray-50 {
    --btn-border: 1px solid #77798a;
    --btn-color: #77798a;
  }
  .btn--outline.btn--gray-50:hover {
    --btn-color: var(--color, black);
  }
  .btn--gray-30 {
    --btn-background-color: #D5D5D5;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #D5D5D5;
  }
  .btn--outline.btn--gray-30 {
    --btn-border: 1px solid #D5D5D5;
    --btn-color: #D5D5D5;
  }
  .btn--outline.btn--gray-30:hover {
    --btn-color: var(--color, black);
  }
  .btn--gray-10 {
    --btn-background-color: #F8F8F8;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #F8F8F8;
  }
  .btn--outline.btn--gray-10 {
    --btn-border: 1px solid #F8F8F8;
    --btn-color: #F8F8F8;
  }
  .btn--outline.btn--gray-10:hover {
    --btn-color: var(--color, black);
  }
  .btn--neutral-dark {
    --btn-background-color: #002c59;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #002c59;
  }
  .btn--outline.btn--neutral-dark {
    --btn-border: 1px solid #002c59;
    --btn-color: #002c59;
  }
  .btn--outline.btn--neutral-dark:hover {
    --btn-color: var(--color, white);
  }
  .btn--neutral {
    --btn-background-color: #0779e4;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #0779e4;
  }
  .btn--outline.btn--neutral {
    --btn-border: 1px solid #0779e4;
    --btn-color: #0779e4;
  }
  .btn--outline.btn--neutral:hover {
    --btn-color: var(--color, white);
  }
  .btn--neutral-light {
    --btn-background-color: #e1eefa;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #e1eefa;
  }
  .btn--outline.btn--neutral-light {
    --btn-border: 1px solid #e1eefa;
    --btn-color: #e1eefa;
  }
  .btn--outline.btn--neutral-light:hover {
    --btn-color: var(--color, black);
  }
  .btn--negative-dark {
    --btn-background-color: #750001;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #750001;
  }
  .btn--outline.btn--negative-dark {
    --btn-border: 1px solid #750001;
    --btn-color: #750001;
  }
  .btn--outline.btn--negative-dark:hover {
    --btn-color: var(--color, white);
  }
  .btn--negative {
    --btn-background-color: #dd3345;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #dd3345;
  }
  .btn--outline.btn--negative {
    --btn-border: 1px solid #dd3345;
    --btn-color: #dd3345;
  }
  .btn--outline.btn--negative:hover {
    --btn-color: var(--color, black);
  }
  .btn--negative-light {
    --btn-background-color: #f6dbdd;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #f6dbdd;
  }
  .btn--outline.btn--negative-light {
    --btn-border: 1px solid #f6dbdd;
    --btn-color: #f6dbdd;
  }
  .btn--outline.btn--negative-light:hover {
    --btn-color: var(--color, black);
  }
  .btn--positive-dark {
    --btn-background-color: #005929;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #005929;
  }
  .btn--outline.btn--positive-dark {
    --btn-border: 1px solid #005929;
    --btn-color: #005929;
  }
  .btn--outline.btn--positive-dark:hover {
    --btn-color: var(--color, white);
  }
  .btn--positive {
    --btn-background-color: #21bf73;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #21bf73;
  }
  .btn--outline.btn--positive {
    --btn-border: 1px solid #21bf73;
    --btn-color: #21bf73;
  }
  .btn--outline.btn--positive:hover {
    --btn-color: var(--color, white);
  }
  .btn--positive-light {
    --btn-background-color: #dbf2e7;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #dbf2e7;
  }
  .btn--outline.btn--positive-light {
    --btn-border: 1px solid #dbf2e7;
    --btn-color: #dbf2e7;
  }
  .btn--outline.btn--positive-light:hover {
    --btn-color: var(--color, black);
  }
  .btn--warning-dark {
    --btn-background-color: #523d00;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #523d00;
  }
  .btn--outline.btn--warning-dark {
    --btn-border: 1px solid #523d00;
    --btn-color: #523d00;
  }
  .btn--outline.btn--warning-dark:hover {
    --btn-color: var(--color, white);
  }
  .btn--warning {
    --btn-background-color: #f5af4b;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #f5af4b;
  }
  .btn--outline.btn--warning {
    --btn-border: 1px solid #f5af4b;
    --btn-color: #f5af4b;
  }
  .btn--outline.btn--warning:hover {
    --btn-color: var(--color, black);
  }
  .btn--warning-light {
    --btn-background-color: #faebd5;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #faebd5;
  }
  .btn--outline.btn--warning-light {
    --btn-border: 1px solid #faebd5;
    --btn-color: #faebd5;
  }
  .btn--outline.btn--warning-light:hover {
    --btn-color: var(--color, black);
  }
  .btn--primary {
    --btn-background-color: #027FFF;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #027FFF;
  }
  .btn--outline.btn--primary {
    --btn-border: 1px solid #027FFF;
    --btn-color: #027FFF;
  }
  .btn--outline.btn--primary:hover {
    --btn-color: var(--color, black);
  }
  .btn--black {
    --btn-background-color: #0C1126;
    --btn-color: var(--color, white);
    --btn-border: 1px solid #0C1126;
  }
  .btn--outline.btn--black {
    --btn-border: 1px solid #0C1126;
    --btn-color: #0C1126;
  }
  .btn--outline.btn--black:hover {
    --btn-color: var(--color, white);
  }
  .btn--white {
    --btn-background-color: #fff;
    --btn-color: var(--color, black);
    --btn-border: 1px solid #fff;
  }
  .btn--outline.btn--white {
    --btn-border: 1px solid #fff;
    --btn-color: #fff;
  }
  .btn--outline.btn--white:hover {
    --btn-color: var(--color, black);
  }
  .btn--outline {
    --btn-background-color: transparent;
  }
}
@layer components {
  form {
    accent-color: var(--accent-color, var(--color-primary, inherit));
  }
  label {
    display: block;
    font-size: inherit;
    font-weight: var(--weight-normal, 400);
    line-height: var(--leading-none, 1);
    font-size: var(--size-sm);
    background-color: var(--color-white, white);
    padding: 0 1em;
    position: absolute;
    left: 1em;
    top: -0.5em;
  }
  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: 0;
    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;
}

.service {
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.5s;
  text-decoration: none;
  cursor: pointer;
  display: block;
}
.service:hover {
  background-color: var(--color-primary);
}

.services-page .service {
  border: 1px solid var(--color-gray-30);
}
.services-page .service svg {
  fill: var(--color-black);
  stroke: var(--color-black);
}
.services-page .service svg path {
  fill: var(--color-black);
  stroke: var(--color-black);
}
.services-page .service a {
  text-decoration: none;
}
.services-page .service:hover svg {
  fill: var(--color-white) !important;
}
.services-page .service:hover svg line, .services-page .service:hover svg rect, .services-page .service:hover svg polyline, .services-page .service:hover svg path {
  stroke: var(--color-white) !important;
}
.services-page .service:hover svg path {
  fill: var(--color-white);
}
.services-page .service:hover h2, .services-page .service:hover h3, .services-page .service:hover h4, .services-page .service:hover h5, .services-page .service:hover p, .services-page .service:hover li, .services-page .service:hover span, .services-page .service:hover strong, .services-page .service:hover a {
  color: white;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--space-4)));
  }
}
.marquee {
  --gap: 1rem;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--space-6);
}

.marquee__content {
  flex-shrink: 0;
  display: flex;
  justify-content: space-around;
  min-width: 100%;
  gap: var(--space-6);
}
.marquee__content li {
  position: relative;
  height: 200px;
}
.marquee__content li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .marquee__content li {
    height: 400px;
  }
}

.marquee__content {
  animation: scroll 40s linear infinite;
}

.masonry {
  column-gap: var(--space-6);
  display: block !important;
}
.masonry.column-count-2 {
  column-count: 1;
}
@media (min-width: 900px) {
  .masonry.column-count-2 {
    column-count: 2;
  }
}
.masonry .testimonial-block {
  display: grid;
  grid-template-rows: 1fr auto;
  break-inside: avoid;
  margin-bottom: var(--space-6);
  border: 1px solid var(--color-gray-30);
}
.masonry.column-count-3 {
  column-count: 1;
}
@media (min-width: 900px) {
  .masonry.column-count-3 {
    column-count: 2;
  }
}
@media (min-width: 1100px) {
  .masonry.column-count-3 {
    column-count: 3;
  }
}

@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;
  }
  .aspect-ratio-3x4 {
    aspect-ratio: 3 / 4;
  }
}
@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(213, 213, 213, var(--color-opacity));
  }
  .bg-gray-30 {
    --bg-opacity: 1;
    background-color: rgba(213, 213, 213, var(--bg-opacity));
  }
  .c-gray-10 {
    --color-opacity: 1;
    color: rgba(248, 248, 248, var(--color-opacity));
  }
  .bg-gray-10 {
    --bg-opacity: 1;
    background-color: rgba(248, 248, 248, 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(2, 127, 255, var(--color-opacity));
  }
  .bg-primary {
    --bg-opacity: 1;
    background-color: rgba(2, 127, 255, var(--bg-opacity));
  }
  .c-black {
    --color-opacity: 1;
    color: rgba(12, 17, 38, var(--color-opacity));
  }
  .bg-black {
    --bg-opacity: 1;
    background-color: rgba(12, 17, 38, 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-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: 1400px;
    margin-inline: auto;
  }
}
@layer utilities {
  .block {
    display: block;
  }
  .inline-block {
    display: inline-block;
  }
  .flex {
    display: flex;
  }
  .inline-flex {
    display: inline-flex;
  }
  .hidden {
    display: none;
  }
  .inline-grid {
    display: inline-grid;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .w-full {
    width: 100%;
  }
  .w-half {
    width: 50%;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 2;
  }
  @media (min-width: 460px) {
    .sm\:block {
      display: block;
    }
    .sm\:inline-block {
      display: inline-block;
    }
    .sm\:flex {
      display: flex;
    }
    .sm\:inline-flex {
      display: inline-flex;
    }
    .sm\:hidden {
      display: none;
    }
    .sm\:inline-grid {
      display: inline-grid;
    }
    .sm\:relative {
      position: relative;
    }
    .sm\:absolute {
      position: absolute;
    }
    .sm\:fixed {
      position: fixed;
    }
    .sm\:w-full {
      width: 100%;
    }
    .sm\:w-half {
      width: 50%;
    }
    .sm\:order-1 {
      order: 1;
    }
    .sm\:order-2 {
      order: 2;
    }
  }
  @media (min-width: 768px) {
    .md\:block {
      display: block;
    }
    .md\:inline-block {
      display: inline-block;
    }
    .md\:flex {
      display: flex;
    }
    .md\:inline-flex {
      display: inline-flex;
    }
    .md\:hidden {
      display: none;
    }
    .md\:inline-grid {
      display: inline-grid;
    }
    .md\:relative {
      position: relative;
    }
    .md\:absolute {
      position: absolute;
    }
    .md\:fixed {
      position: fixed;
    }
    .md\:w-full {
      width: 100%;
    }
    .md\:w-half {
      width: 50%;
    }
    .md\:order-1 {
      order: 1;
    }
    .md\:order-2 {
      order: 2;
    }
  }
  @media (min-width: 1024px) {
    .lg\:block {
      display: block;
    }
    .lg\:inline-block {
      display: inline-block;
    }
    .lg\:flex {
      display: flex;
    }
    .lg\:inline-flex {
      display: inline-flex;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:inline-grid {
      display: inline-grid;
    }
    .lg\:relative {
      position: relative;
    }
    .lg\:absolute {
      position: absolute;
    }
    .lg\:fixed {
      position: fixed;
    }
    .lg\:w-full {
      width: 100%;
    }
    .lg\:w-half {
      width: 50%;
    }
    .lg\:order-1 {
      order: 1;
    }
    .lg\:order-2 {
      order: 2;
    }
  }
}
@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-0 > * {
    --flow-space: 0rem;
  }
  .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: articulat-cf, sans-serif;
  }
  .font-heading {
    font-family: forma-djr-deck, 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-medium {
    font-weight: 700;
  }
  .weight-bold {
    font-weight: 800;
  }
  /* 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: articulat-cf, sans-serif;
    }
    .sm\:font-heading {
      font-family: forma-djr-deck, 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-medium {
      font-weight: 700;
    }
    .sm\:weight-bold {
      font-weight: 800;
    }
    /* 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: articulat-cf, sans-serif;
    }
    .md\:font-heading {
      font-family: forma-djr-deck, 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-medium {
      font-weight: 700;
    }
    .md\:weight-bold {
      font-weight: 800;
    }
    /* 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: articulat-cf, sans-serif;
    }
    .lg\:font-heading {
      font-family: forma-djr-deck, 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-medium {
      font-weight: 700;
    }
    .lg\:weight-bold {
      font-weight: 800;
    }
    /* 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(213, 213, 213, var(--gradient-from-opacity));
  }
  .to-gray-30 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(213, 213, 213, var(--gradient-to-opacity));
  }
  .from-gray-10 {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(248, 248, 248, var(--gradient-from-opacity));
  }
  .to-gray-10 {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(248, 248, 248, 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(2, 127, 255, var(--gradient-from-opacity));
  }
  .to-primary {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(2, 127, 255, var(--gradient-to-opacity));
  }
  .from-black {
    --gradient-from-opacity: 1;
    --gradient-from: rgba(12, 17, 38, var(--gradient-from-opacity));
  }
  .to-black {
    --gradient-to-opacity: 1;
    --gradient-to: rgba(12, 17, 38, 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-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: 70ch;
  }
  .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;
  }
  .mb-px {
    margin-block-end: 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;
  }
  .mb-half {
    margin-block-end: 0.125rem;
  }
  .gap-half {
    gap: 0.125rem;
  }
  .px-0 {
    padding-inline: 0rem;
  }
  .py-0 {
    padding-block: 0rem;
  }
  .ml-0 {
    margin-inline-start: 0rem;
  }
  .mr-0 {
    margin-inline-end: 0rem;
  }
  .mt-0 {
    margin-block-start: 0rem;
  }
  .mb-0 {
    margin-block-end: 0rem;
  }
  .gap-0 {
    gap: 0rem;
  }
  .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;
  }
  .mb-1 {
    margin-block-end: 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;
  }
  .mb-2 {
    margin-block-end: 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;
  }
  .mb-3 {
    margin-block-end: 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;
  }
  .mb-4 {
    margin-block-end: 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;
  }
  .mb-6 {
    margin-block-end: 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;
  }
  .mb-8 {
    margin-block-end: 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;
  }
  .mb-10 {
    margin-block-end: 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;
  }
  .mb-12 {
    margin-block-end: 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;
  }
  .mb-16 {
    margin-block-end: 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;
  }
  .mb-20 {
    margin-block-end: 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;
  }
  .mb-24 {
    margin-block-end: 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;
  }
  .mb-28 {
    margin-block-end: 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;
  }
  .mb-32 {
    margin-block-end: 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;
  }
  .mb-40 {
    margin-block-end: 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;
  }
  .mb-48 {
    margin-block-end: 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;
  }
  .mb-56 {
    margin-block-end: 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;
  }
  .mb-64 {
    margin-block-end: 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\:mr-px {
      margin-inline-end: 1px;
    }
    .sm\:mt-px {
      margin-block-start: 1px;
    }
    .sm\:mb-px {
      margin-block-end: 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\:mr-half {
      margin-inline-end: 0.125rem;
    }
    .sm\:mt-half {
      margin-block-start: 0.125rem;
    }
    .sm\:mb-half {
      margin-block-end: 0.125rem;
    }
    .sm\:gap-half {
      gap: 0.125rem;
    }
    .sm\:px-0 {
      padding-inline: 0rem;
    }
    .sm\:py-0 {
      padding-block: 0rem;
    }
    .sm\:ml-0 {
      margin-inline-start: 0rem;
    }
    .sm\:mr-0 {
      margin-inline-end: 0rem;
    }
    .sm\:mt-0 {
      margin-block-start: 0rem;
    }
    .sm\:mb-0 {
      margin-block-end: 0rem;
    }
    .sm\:gap-0 {
      gap: 0rem;
    }
    .sm\:px-1 {
      padding-inline: 0.25rem;
    }
    .sm\:py-1 {
      padding-block: 0.25rem;
    }
    .sm\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .sm\:mr-1 {
      margin-inline-end: 0.25rem;
    }
    .sm\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .sm\:mb-1 {
      margin-block-end: 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\:mr-2 {
      margin-inline-end: 0.5rem;
    }
    .sm\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .sm\:mb-2 {
      margin-block-end: 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\:mr-3 {
      margin-inline-end: 0.75rem;
    }
    .sm\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .sm\:mb-3 {
      margin-block-end: 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\:mr-4 {
      margin-inline-end: 1rem;
    }
    .sm\:mt-4 {
      margin-block-start: 1rem;
    }
    .sm\:mb-4 {
      margin-block-end: 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\:mr-6 {
      margin-inline-end: 1.5rem;
    }
    .sm\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .sm\:mb-6 {
      margin-block-end: 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\:mr-8 {
      margin-inline-end: 2rem;
    }
    .sm\:mt-8 {
      margin-block-start: 2rem;
    }
    .sm\:mb-8 {
      margin-block-end: 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\:mr-10 {
      margin-inline-end: 2.5rem;
    }
    .sm\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .sm\:mb-10 {
      margin-block-end: 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\:mr-12 {
      margin-inline-end: 3rem;
    }
    .sm\:mt-12 {
      margin-block-start: 3rem;
    }
    .sm\:mb-12 {
      margin-block-end: 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\:mr-16 {
      margin-inline-end: 4rem;
    }
    .sm\:mt-16 {
      margin-block-start: 4rem;
    }
    .sm\:mb-16 {
      margin-block-end: 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\:mr-20 {
      margin-inline-end: 5rem;
    }
    .sm\:mt-20 {
      margin-block-start: 5rem;
    }
    .sm\:mb-20 {
      margin-block-end: 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\:mr-24 {
      margin-inline-end: 6rem;
    }
    .sm\:mt-24 {
      margin-block-start: 6rem;
    }
    .sm\:mb-24 {
      margin-block-end: 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\:mr-28 {
      margin-inline-end: 7rem;
    }
    .sm\:mt-28 {
      margin-block-start: 7rem;
    }
    .sm\:mb-28 {
      margin-block-end: 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\:mr-32 {
      margin-inline-end: 8rem;
    }
    .sm\:mt-32 {
      margin-block-start: 8rem;
    }
    .sm\:mb-32 {
      margin-block-end: 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\:mr-40 {
      margin-inline-end: 10rem;
    }
    .sm\:mt-40 {
      margin-block-start: 10rem;
    }
    .sm\:mb-40 {
      margin-block-end: 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\:mr-48 {
      margin-inline-end: 12rem;
    }
    .sm\:mt-48 {
      margin-block-start: 12rem;
    }
    .sm\:mb-48 {
      margin-block-end: 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\:mr-56 {
      margin-inline-end: 14rem;
    }
    .sm\:mt-56 {
      margin-block-start: 14rem;
    }
    .sm\:mb-56 {
      margin-block-end: 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\:mr-64 {
      margin-inline-end: 16rem;
    }
    .sm\:mt-64 {
      margin-block-start: 16rem;
    }
    .sm\:mb-64 {
      margin-block-end: 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\:mr-px {
      margin-inline-end: 1px;
    }
    .md\:mt-px {
      margin-block-start: 1px;
    }
    .md\:mb-px {
      margin-block-end: 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\:mr-half {
      margin-inline-end: 0.125rem;
    }
    .md\:mt-half {
      margin-block-start: 0.125rem;
    }
    .md\:mb-half {
      margin-block-end: 0.125rem;
    }
    .md\:gap-half {
      gap: 0.125rem;
    }
    .md\:px-0 {
      padding-inline: 0rem;
    }
    .md\:py-0 {
      padding-block: 0rem;
    }
    .md\:ml-0 {
      margin-inline-start: 0rem;
    }
    .md\:mr-0 {
      margin-inline-end: 0rem;
    }
    .md\:mt-0 {
      margin-block-start: 0rem;
    }
    .md\:mb-0 {
      margin-block-end: 0rem;
    }
    .md\:gap-0 {
      gap: 0rem;
    }
    .md\:px-1 {
      padding-inline: 0.25rem;
    }
    .md\:py-1 {
      padding-block: 0.25rem;
    }
    .md\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .md\:mr-1 {
      margin-inline-end: 0.25rem;
    }
    .md\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .md\:mb-1 {
      margin-block-end: 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\:mr-2 {
      margin-inline-end: 0.5rem;
    }
    .md\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .md\:mb-2 {
      margin-block-end: 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\:mr-3 {
      margin-inline-end: 0.75rem;
    }
    .md\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .md\:mb-3 {
      margin-block-end: 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\:mr-4 {
      margin-inline-end: 1rem;
    }
    .md\:mt-4 {
      margin-block-start: 1rem;
    }
    .md\:mb-4 {
      margin-block-end: 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\:mr-6 {
      margin-inline-end: 1.5rem;
    }
    .md\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .md\:mb-6 {
      margin-block-end: 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\:mr-8 {
      margin-inline-end: 2rem;
    }
    .md\:mt-8 {
      margin-block-start: 2rem;
    }
    .md\:mb-8 {
      margin-block-end: 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\:mr-10 {
      margin-inline-end: 2.5rem;
    }
    .md\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .md\:mb-10 {
      margin-block-end: 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\:mr-12 {
      margin-inline-end: 3rem;
    }
    .md\:mt-12 {
      margin-block-start: 3rem;
    }
    .md\:mb-12 {
      margin-block-end: 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\:mr-16 {
      margin-inline-end: 4rem;
    }
    .md\:mt-16 {
      margin-block-start: 4rem;
    }
    .md\:mb-16 {
      margin-block-end: 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\:mr-20 {
      margin-inline-end: 5rem;
    }
    .md\:mt-20 {
      margin-block-start: 5rem;
    }
    .md\:mb-20 {
      margin-block-end: 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\:mr-24 {
      margin-inline-end: 6rem;
    }
    .md\:mt-24 {
      margin-block-start: 6rem;
    }
    .md\:mb-24 {
      margin-block-end: 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\:mr-28 {
      margin-inline-end: 7rem;
    }
    .md\:mt-28 {
      margin-block-start: 7rem;
    }
    .md\:mb-28 {
      margin-block-end: 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\:mr-32 {
      margin-inline-end: 8rem;
    }
    .md\:mt-32 {
      margin-block-start: 8rem;
    }
    .md\:mb-32 {
      margin-block-end: 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\:mr-40 {
      margin-inline-end: 10rem;
    }
    .md\:mt-40 {
      margin-block-start: 10rem;
    }
    .md\:mb-40 {
      margin-block-end: 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\:mr-48 {
      margin-inline-end: 12rem;
    }
    .md\:mt-48 {
      margin-block-start: 12rem;
    }
    .md\:mb-48 {
      margin-block-end: 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\:mr-56 {
      margin-inline-end: 14rem;
    }
    .md\:mt-56 {
      margin-block-start: 14rem;
    }
    .md\:mb-56 {
      margin-block-end: 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\:mr-64 {
      margin-inline-end: 16rem;
    }
    .md\:mt-64 {
      margin-block-start: 16rem;
    }
    .md\:mb-64 {
      margin-block-end: 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\:mr-px {
      margin-inline-end: 1px;
    }
    .lg\:mt-px {
      margin-block-start: 1px;
    }
    .lg\:mb-px {
      margin-block-end: 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\:mr-half {
      margin-inline-end: 0.125rem;
    }
    .lg\:mt-half {
      margin-block-start: 0.125rem;
    }
    .lg\:mb-half {
      margin-block-end: 0.125rem;
    }
    .lg\:gap-half {
      gap: 0.125rem;
    }
    .lg\:px-0 {
      padding-inline: 0rem;
    }
    .lg\:py-0 {
      padding-block: 0rem;
    }
    .lg\:ml-0 {
      margin-inline-start: 0rem;
    }
    .lg\:mr-0 {
      margin-inline-end: 0rem;
    }
    .lg\:mt-0 {
      margin-block-start: 0rem;
    }
    .lg\:mb-0 {
      margin-block-end: 0rem;
    }
    .lg\:gap-0 {
      gap: 0rem;
    }
    .lg\:px-1 {
      padding-inline: 0.25rem;
    }
    .lg\:py-1 {
      padding-block: 0.25rem;
    }
    .lg\:ml-1 {
      margin-inline-start: 0.25rem;
    }
    .lg\:mr-1 {
      margin-inline-end: 0.25rem;
    }
    .lg\:mt-1 {
      margin-block-start: 0.25rem;
    }
    .lg\:mb-1 {
      margin-block-end: 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\:mr-2 {
      margin-inline-end: 0.5rem;
    }
    .lg\:mt-2 {
      margin-block-start: 0.5rem;
    }
    .lg\:mb-2 {
      margin-block-end: 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\:mr-3 {
      margin-inline-end: 0.75rem;
    }
    .lg\:mt-3 {
      margin-block-start: 0.75rem;
    }
    .lg\:mb-3 {
      margin-block-end: 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\:mr-4 {
      margin-inline-end: 1rem;
    }
    .lg\:mt-4 {
      margin-block-start: 1rem;
    }
    .lg\:mb-4 {
      margin-block-end: 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\:mr-6 {
      margin-inline-end: 1.5rem;
    }
    .lg\:mt-6 {
      margin-block-start: 1.5rem;
    }
    .lg\:mb-6 {
      margin-block-end: 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\:mr-8 {
      margin-inline-end: 2rem;
    }
    .lg\:mt-8 {
      margin-block-start: 2rem;
    }
    .lg\:mb-8 {
      margin-block-end: 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\:mr-10 {
      margin-inline-end: 2.5rem;
    }
    .lg\:mt-10 {
      margin-block-start: 2.5rem;
    }
    .lg\:mb-10 {
      margin-block-end: 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\:mr-12 {
      margin-inline-end: 3rem;
    }
    .lg\:mt-12 {
      margin-block-start: 3rem;
    }
    .lg\:mb-12 {
      margin-block-end: 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\:mr-16 {
      margin-inline-end: 4rem;
    }
    .lg\:mt-16 {
      margin-block-start: 4rem;
    }
    .lg\:mb-16 {
      margin-block-end: 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\:mr-20 {
      margin-inline-end: 5rem;
    }
    .lg\:mt-20 {
      margin-block-start: 5rem;
    }
    .lg\:mb-20 {
      margin-block-end: 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\:mr-24 {
      margin-inline-end: 6rem;
    }
    .lg\:mt-24 {
      margin-block-start: 6rem;
    }
    .lg\:mb-24 {
      margin-block-end: 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\:mr-28 {
      margin-inline-end: 7rem;
    }
    .lg\:mt-28 {
      margin-block-start: 7rem;
    }
    .lg\:mb-28 {
      margin-block-end: 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\:mr-32 {
      margin-inline-end: 8rem;
    }
    .lg\:mt-32 {
      margin-block-start: 8rem;
    }
    .lg\:mb-32 {
      margin-block-end: 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\:mr-40 {
      margin-inline-end: 10rem;
    }
    .lg\:mt-40 {
      margin-block-start: 10rem;
    }
    .lg\:mb-40 {
      margin-block-end: 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\:mr-48 {
      margin-inline-end: 12rem;
    }
    .lg\:mt-48 {
      margin-block-start: 12rem;
    }
    .lg\:mb-48 {
      margin-block-end: 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\:mr-56 {
      margin-inline-end: 14rem;
    }
    .lg\:mt-56 {
      margin-block-start: 14rem;
    }
    .lg\:mb-56 {
      margin-block-end: 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\:mr-64 {
      margin-inline-end: 16rem;
    }
    .lg\:mt-64 {
      margin-block-start: 16rem;
    }
    .lg\:mb-64 {
      margin-block-end: 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 */