/*
Theme Name: LAQONTO
Author: Alen Vuletić
Version: 1.0
Text Domain: laqonto
*/

/**
 * WordPress
 */
.entry-content .has-x-large-font-size {
  font-size: var(--text-4xl) !important;
}

@media (min-width: 1024px) {
  .entry-content .has-x-large-font-size {
    font-size: var(--text-5xl) !important;
  }
}

.entry-content .has-large-font-size {
  font-size: var(--text-3xl) !important;
}

@media (min-width: 1024px) {
  .entry-content .has-large-font-size {
    font-size: var(--text-4xl) !important;
  }
}

.entry-content .has-medium-font-size {
  font-size: var(--text-xl) !important;
}

.entry-content .has-small-font-size {
  font-size: var(--text-sm) !important;
}

.page-template-form .page {
  overflow: hidden;
}

/**
 * Gravity forms
 */
.gform_wrapper .gform_body {
  --gf-form-gap-x: var(--grid-gap);
  --gf-color-secondary-contrast: var(--color-secondary);
  --gf-color-in-ctrl-contrast: var(--color-secondary);
  --gf-color-in-ctrl-dark-darker: var(--color-secondary);
  --gf-color-out-ctrl-dark-darker: var(--color-secondary);
  --gf-form-gap-y: var(--size-8);
  --gf-field-section-border-width: 3px;
  --gf-field-section-border-color: var(--color-primary);
  --gf-ctrl-label-font-size-primary: var(--text-md);
  --gf-ctrl-label-color-req: var(--color-primary);
  --gf-ctrl-size: var(--size-16);
  --gf-ctrl-font-size: var(--size-lg);
  --gf-ctrl-line-height: var(--size-16);
  --gf-ctrl-border-width: 2px;
  --gf-ctrl-border-color: var(--color-grayscale-100);
  --gf-ctrl-border-color-focus: var(--color-primary);
  --gf-ctrl-border-color-hover: var(--color-grayscale-400);
  --gf-ctrl-outline-width-focus: 0;
  --gf-ctrl-shadow: none;
  --gf-ctrl-padding-x: var(--size-6);
  --gf-ctrl-select-padding-x: var(--size-6);
  --gf-ctrl-select-icon: url('../../../../../themes/laqonto/images/layout/select-arrow.svg');
  --gf-ctrl-select-icon-hover: var(--gf-ctrl-select-icon);
  --gf-ctrl-select-icon-focus: var(--gf-ctrl-select-icon);
  --gf-ctrl-select-icon-disabled: var(--gf-ctrl-select-icon);
  --gf-ctrl-select-icon-size: var(--size-6);
  --gf-ctrl-select-icon-position: right var(--size-5) center;
  --gf-ctrl-choice-size: var(--size-10);
  --gf-ctrl-choice-check-color: var(--color-secondary);
  --gf-ctrl-radio-check-radius: var(--size-\.5);
  --gf-ctrl-textarea-padding-y: var(--size-4);
}

.page-template-form .gform_heading {
  display: none;
}

.page-template-form .gform_fields :first-child {
  margin-block-start: 0;
}

@media (min-width: 1314px) {
  .page-template-form .gsection_title {
    width: calc(
      (var(--grid-column-width) * 7) + (var(--grid-gap) * 6)
    ) !important;
    margin-inline-start: calc(
      (calc(var(--grid-column-width) * 4) + calc(var(--grid-gap) * 4))
    ) !important;
  }
}

.page-template-form .gfield_label {
  display: block !important;
}

.page-template-form .gfield_label > .gfield_required {
  display: inline-block;
  vertical-align: super;
  margin-inline-start: var(--size-1);
}

@media (min-width: 1046px) {
  .page-template-form .gfield_label {
    width: calc(
      (var(--grid-column-width) * 3) + (var(--grid-gap) * 2)
    ) !important;
    height: 100%;
    padding-inline: 0 !important;
    margin-block-end: 0 !important;
  }
}

.gfield--type-textarea .gfield_label {
  height: auto;
}

@media (min-width: 1314px) {
  .page-template-form .ginput_container,
  .page-template-form .gfield_description {
    width: calc(
      (var(--grid-column-width) * 7) + (var(--grid-gap) * 6)
    ) !important;
    margin-inline-end: calc(
      (var(--grid-column-width) + var(--grid-gap))
    ) !important;
  }
}

@media (min-width: 1314px) {
  .gform-theme--foundation fieldset .ginput_container {
    margin-inline-start: calc(
      (var(--grid-column-width) + calc(var(--grid-gap) * 2))
    );
    margin-inline-end: 0 !important;
  }
}

.ginput_container > input,
.ginput_container > select {
  block-size: unset !important;
}

.gform-theme--foundation .gfield input::placeholder {
  color: var(--color-grayscale-600);
}

.gform-theme--framework
  .gfield:where(.gfield--type-multiselect, .gfield--input-type-multiselect)
  .chosen-container-multi:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  .gfield:where(.gfield--type-select, .gfield--input-type-select)
  .chosen-search
  input[type='text']:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  .gfield:where(.gfield--type-select, .gfield--input-type-select)
  .chosen-single:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  .gform-theme-field-control:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  input[type]:where(:not(.gform-text-input-reset):not([type='hidden'])):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  select:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  select[multiple]:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  textarea:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  .button:where(:not(.gform-theme-no-framework)):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  .gform-theme-button:where(:not(.gform-theme-no-framework)):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  :where(:not(.mce-splitbtn))
  > button:not([id*='mceu_']):not(.mce-open):where(
    :not(.gform-theme-no-framework)
  ):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  button.button:where(:not(.gform-theme-no-framework)):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  input:is([type='submit'], [type='button'], [type='reset']).button:where(
    :not(.gform-theme-no-framework)
  ):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  input:is([type='submit'], [type='button'], [type='reset']):where(
    :not(.gform-theme-no-framework)
  ):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework.gform-theme.gform_wrapper
  input[type='submit'].button.gform_button:where(
    :not(.gform-theme-no-framework)
  ):where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ) {
  font-size: var(--text-lg) !important;
}

.gform-theme--framework:where(:not(.gform_editor)) .gfield--type-section {
  color: var(--color-primary);
  border-block-start: var(--gf-field-section-border-width)
    var(--gf-field-section-border-style) var(--gf-field-section-border-color);
  border-block-end: 0 !important;
  padding-block-start: var(--size-8);
  padding-block-end: 0;
  margin-block-start: var(--size-17);
}

.gform-theme--framework input[type='radio']::before {
  width: var(--size-7) !important;
  height: var(--size-7) !important;
}

@media (min-width: 1314px) {
  .gform-theme--foundation fieldset {
    display: flex !important;
    align-items: center;
  }
}

.gform-theme--framework .gfield--type-choice .gfield_checkbox,
.gform-theme--framework .gfield--type-choice .gfield_radio {
  flex-direction: row !important;
  gap: var(--size-10) !important;
}

.gform-theme--framework .gfield--type-choice .gchoice,
.gform-theme--framework .gfield--type-choice .ginput_container_consent {
  align-items: center;
}

.gchoice .gform-field-label {
  font-size: var(--text-lg) !important;
  font-weight: 500 !important;
}

.gform_button {
  width: 100% !important;
  display: inline-block !important;
  font-weight: 700 !important;
  border-radius: var(--size-1\.5) !important;
  line-height: var(--size-18) !important;
  background-color: var(--color-primary) !important;
  padding-inline: var(--size-8) !important;
}

@media (min-width: 1046px) {
  .gform_button {
    width: auto !important;
  }
}

.gform-footer {
  position: relative !important;
  background-color: var(--color-orange-100) !important;
  padding-block-start: var(--size-10) !important;
  padding-block-end: var(--size-22) !important;
  padding-inline-start: 0 !important;
  margin-block-start: var(--size-16) !important;
}

@media (min-width: 1046px) {
  .gform-footer {
    justify-content: end !important;
  }
}

@media (min-width: 1314px) {
  .gform-footer {
    padding-inline-end: calc(
      var(--grid-column-width) + var(--grid-gap)
    ) !important;
  }
}

.gform-footer::before,
.gform-footer::after {
  content: '';
  width: var(--size-10);
  height: 100%;
  position: absolute;
  top: 0;
  background-color: var(--color-orange-100);
}

@media (min-width: 1296px) {
  .gform-footer::before,
  .gform-footer::after {
    width: calc((100vw - var(--grid-width-no-gap)) / 2);
  }
}

.gform-footer::before {
  left: calc(var(--size-10) * -1);
}

.gform-footer::after {
  right: calc(var(--size-10) * -1);
}

@media (min-width: 1296px) {
  .gform-footer::before {
    left: calc(((100vw - var(--grid-width-no-gap)) / 2) * -1);
  }

  .gform-footer::after {
    right: calc(((100vw - var(--grid-width-no-gap)) / 2) * -1);
  }
}

.gform-theme--framework .gfield--type-radio,
.gform-theme--framework .gfield--type-multi_choice {
  flex-wrap: wrap;
}

.gform-theme--framework .gfield--type-multi_choice {
  align-items: start;
}

.gform-theme--framework .gfield--type-multi_choice .gfield_radio,
.gform-theme--framework .gfield--type-multi_choice .gfield_checkbox {
  flex-direction: column !important;
}

@media (max-width: 1045px) {
  .gform-theme--foundation .left_label .gfield .copy_values_option_container,
  .gform-theme--foundation
    .left_label
    .gfield
    .gfield_creditcard_warning_message,
  .gform-theme--foundation .left_label .gfield .gfield_password_strength,
  .gform-theme--foundation
    .left_label
    .gfield
    > .gfield-admin-wrapper
    > .ginput_container,
  .gform-theme--foundation .left_label .gfield > .ginput_container,
  .gform-theme--foundation .right_label .gfield .copy_values_option_container,
  .gform-theme--foundation
    .right_label
    .gfield
    .gfield_creditcard_warning_message,
  .gform-theme--foundation .right_label .gfield .gfield_password_strength,
  .gform-theme--foundation
    .right_label
    .gfield
    > .gfield-admin-wrapper
    > .ginput_container,
  .gform-theme--foundation .right_label .gfield > .ginput_container,
  .gform-theme--foundation:where(:not(.gform-editor--compact))
    .left_label
    .gform-field-label:where(
      :not([class*='gform-field-label--type-']):not(.gfield_header_item):not(
          .ginput_quantity_label
        )
    ),
  .gform-theme--foundation:where(:not(.gform-editor--compact))
    .right_label
    .gform-field-label:where(
      :not([class*='gform-field-label--type-']):not(.gfield_header_item):not(
          .ginput_quantity_label
        )
    ) {
    float: none !important;
  }

  .gform-theme--foundation
    .left_label
    .gfield:where(:not(.gfield--type-html):not(.gfield--type-section))
    > .gfield-admin-wrapper
    > div:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .left_label
    .gfield:where(:not(.gfield--type-html):not(.gfield--type-section))
    > div:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .left_label
    .gfield
    > .gfield-admin-wrapper
    > .ginput_container:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .left_label
    .gfield
    > .ginput_container:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .right_label
    .gfield:where(:not(.gfield--type-html):not(.gfield--type-section))
    > .gfield-admin-wrapper
    > div:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .right_label
    .gfield:where(:not(.gfield--type-html):not(.gfield--type-section))
    > div:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .right_label
    .gfield
    > .gfield-admin-wrapper
    > .ginput_container:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ),
  .gform-theme--foundation
    .right_label
    .gfield
    > .ginput_container:where(
      :not(.gform-grid-row):not(.ui-resizable-handle):not(
          .gfield-admin-icons
        ):not(.gfield-admin-wrapper):not(.gform-compact-view-overflow-menu):not(
          .admin-hidden-markup
        ):not(.gfield-compact-icons)
    ) {
    inline-size: 100% !important;
  }

  .gform-theme--foundation:where(:not(.gform-editor--compact))
    .left_label
    .gform-field-label:where(
      :not([class*='gform-field-label--type-']):not(.gfield_header_item):not(
          .ginput_quantity_label
        )
    ),
  .gform-theme--foundation:where(:not(.gform-editor--compact))
    .right_label
    .gform-field-label:where(
      :not([class*='gform-field-label--type-']):not(.gfield_header_item):not(
          .ginput_quantity_label
        )
    ) {
    inline-size: 100% !important;
    margin-block-end: var(--size-4);
  }
}

@layer elements {
  ::selection {
    color: var(--color-grayscale-white);
    background: var(--color-primary);
  }

  /* TODO: Fix missing scrollbar issue */
  html.has-locked-scroll {
    overflow: hidden;
  }

  body {
    color: var(--color-secondary);
    font-family: var(--font-family-text);
    font-size: var(--text-md);
    font-weight: 500;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--font-family-display);
    line-height: 1;
  }

  h1 {
    font-size: var(--text-6xl);
  }

  @media (min-width: 1024px) {
    h1 {
      font-size: var(--text-7xl);
    }
  }

  h2 {
    font-size: var(--text-5xl);
  }

  @media (min-width: 1024px) {
    h2 {
      font-size: var(--text-6xl);
    }
  }

  h3 {
    font-size: var(--text-4xl);
  }

  @media (min-width: 1024px) {
    h3 {
      font-size: var(--text-5xl);
    }
  }

  h4 {
    font-size: var(--text-3xl);
  }

  @media (min-width: 1024px) {
    h4 {
      font-size: var(--text-4xl);
    }
  }

  h5 {
    font-size: var(--text-2xl);
  }

  @media (min-width: 1024px) {
    h5 {
      font-size: var(--text-3xl);
    }
  }

  h6 {
    font-size: var(--text-xl);
  }

  @media (min-width: 1024px) {
    h6 {
      font-size: var(--text-2xl);
    }
  }

  /**
   * Forms
   */
  input[type='number']::-webkit-outer-spin-button,
  input[type='number']::-webkit-inner-spin-button {
    display: none;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
  }

  input[type='number'] {
    -moz-appearance: textfield;
  }
}

@layer components {
  /**
   * Grid
   */
  .grid {
    width: 100%;
    max-width: var(--grid-width);
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    column-gap: var(--grid-gap-mobile);
    padding-inline: var(--grid-gap-mobile);
    margin-inline: auto;
  }

  @media (min-width: 1024px) {
    .grid {
      column-gap: var(--grid-gap);
      padding-inline: var(--grid-gap);
    }
  }

  /**
   * Container
   */
  .container {
    width: 100%;
    max-width: var(--grid-width);
    padding-inline: var(--grid-gap-mobile);
    margin-inline: auto;
  }

  @media (min-width: 1024px) {
    .container {
      padding-inline: var(--grid-gap);
    }
  }

  /**
   * Link
   */
  .link-underlined {
    border-bottom: 1px solid;
  }

  /**
   * Button
   */
  .button {
    display: inline-block;
    justify-content: center;
    color: var(--color-grayscale-white);
    font-weight: 700;
    border-radius: var(--size-1\.5);
    padding-inline: var(--size-8);
  }

  .button--primary {
    background-color: var(--color-primary);
  }

  .button--secondary {
    background-color: var(--color-secondary);
  }

  .button--small {
    line-height: var(--size-12);
  }

  .button--medium {
    line-height: var(--size-15);
  }

  .button--large {
    line-height: var(--size-18);
  }

  .button--rounded {
    border-radius: 9999px;
  }

  .button--has-icon {
    display: inline-flex;
    align-items: center;
    gap: var(--size-2);
  }

  .button__icon svg {
    width: var(--size-7);
    height: var(--size-7);
  }

  /**
   * Header
   */
  .site-header {
    position: relative;
    width: 100%;
    z-index: 1200;
  }

  .site-header--sticky.is-visible {
    opacity: 1;
    visibility: visible;
  }

  .site-header--sticky {
    position: fixed;
    top: 0;
    background-color: var(--color-grayscale-white);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
  }

  .admin-bar .site-header--sticky {
    top: 32px;
  }

  .site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--size-27);
  }

  .site-header--sticky .site-header__inner {
    height: var(--size-18);
  }

  .site-header-logo {
    text-transform: uppercase;
  }

  .site-header-logo__svg {
    height: var(--size-9);
  }

  @media (min-width: 1024px) {
    .site-header-logo__svg {
      height: var(--size-12);
    }
  }

  html:not(.hamburger-active)
    .site-header--inverted-colors
    .site-header-logo__svg
    path {
    fill: var(--color-grayscale-white);
  }

  .site-header--sticky .site-header-logo__svg {
    width: auto;
    height: var(--size-6);
  }

  .site-header-nav {
    display: flex;
    align-items: center;
    gap: var(--size-16);
  }

  .site-header-nav__link {
    color: var(--color-primary);
    font-weight: 700;
  }

  .site-header--inverted-colors .site-header-nav__link {
    color: var(--color-grayscale-white);
  }

  /**
   * Footer
   */
  .site-footer {
    color: var(--color-grayscale-500);
    background-color: var(--color-secondary);
    font-size: var(--text-sm);
    padding-block-start: var(--size-17);
  }

  @media (min-width: 1024px) {
    .site-footer {
      padding-block-start: var(--size-40);
    }
  }

  .site-footer--has-hero-cta {
    padding-block-start: var(--size-109);
  }

  @media (min-width: 640px) {
    .site-footer--has-hero-cta {
      padding-block-start: var(--size-40);
    }
  }

  @media (min-width: 1024px) {
    .site-footer--has-hero-cta {
      padding-block-start: var(--size-50);
    }
  }

  .site-footer__title {
    color: var(--color-grayscale-white);
    font-family: var(--font-family-display);
    font-size: var(--text-7xl);
    letter-spacing: var(--tracking-tight);
    line-height: 1;
  }

  @media (min-width: 1024px) {
    .site-footer__title {
      font-size: var(--text-9xl);
    }
  }

  /**
   * Hero subheader
   */
  .hero-subheader {
    position: relative;
    display: flex;
    align-items: end;
    height: 100dvh;
    max-height: var(--size-198);
    padding-block-end: var(--size-15);
    padding-inline: var(--size-4);
    margin-inline: calc(var(--size-4) * -1);
    margin-block-start: calc(var(--size-27) * -1);
  }

  @media (min-width: 1024px) {
    .hero-subheader {
      padding-inline: var(--size-6);
      margin-inline: calc(var(--size-6) * -1);
    }
  }

  @media (min-width: 1400px) {
    .hero-subheader {
      padding-inline: var(--size-10);
      margin-inline: calc(var(--size-10) * -1);
    }
  }

  .hero-subheader__inner {
    width: 100%;
    max-width: var(--size-137);
  }

  .hero-subheader__arrow {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(50%);
  }

  .hero-subheader__background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    object-fit: cover;
    object-position: center;
    border-end-start-radius: var(--size-2);
    border-end-end-radius: var(--size-2);
  }

  @media (min-width: 640px) {
    .hero-subheader__background {
      border-end-start-radius: var(--size-4);
      border-end-end-radius: var(--size-4);
    }
  }

  /**
   * Hero CTA
   */
  .hero-cta {
    position: relative;
    height: var(--size-143);
    background-color: var(--color-grayscale-300);
    background-image: url('images/layout/hero-cta-background-mobile.png');
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--size-2);
    margin-inline: calc(var(--size-4) * -1);
  }

  @media (min-width: 640px) {
    .hero-cta {
      height: var(--size-180);
      background-image: url('images/layout/hero-cta-background.png');
      background-position: bottom left;
      background-size: auto;
      border-radius: var(--size-4);
    }
  }

  @media (min-width: 1024px) {
    .hero-cta {
      margin-inline: calc(var(--size-6) * -1);
    }
  }

  @media (min-width: 1400px) {
    .hero-cta {
      margin-inline: calc(var(--size-10) * -1);
    }
  }

  .hero-cta__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: calc(100% - var(--size-6));
    height: var(--size-93);
    background-color: var(--color-grayscale-white);
    position: absolute;
    bottom: calc(var(--size-68) * -1);
    left: var(--size-4);
    right: var(--size-4);
    padding-inline: var(--size-4);
    padding-block-start: var(--size-1);
    padding-block-end: var(--size-5);
  }

  @media (min-width: 640px) {
    .hero-cta__content {
      width: var(--size-126);
      height: var(--size-126);
      bottom: var(--size-10);
      right: auto;
      padding-block-end: var(--size-7);
    }
  }

  @media (min-width: 1024px) {
    .hero-cta__content {
      left: var(--size-6);
    }
  }

  @media (min-width: 1400px) {
    .hero-cta__content {
      left: var(--size-10);
    }
  }

  .hero-cta__title {
    color: var(--color-primary);
    font-size: var(--text-8xl);
    font-family: var(--font-family-display);
    line-height: 1;
    letter-spacing: var(--tracking-tight);
  }

  @media (min-width: 640px) {
    .hero-cta__title {
      font-size: var(--text-9xl);
    }
  }

  /**
   * Hero
   */
  .hero {
    height: var(--size-143);
    position: relative;
    border-radius: var(--size-2);
    overflow: hidden;
    margin-inline: calc(var(--size-4) * -1);
  }

  @media (min-width: 640px) {
    .hero {
      height: var(--size-180);
      border-radius: var(--size-4);
    }
  }

  @media (min-width: 1024px) {
    .hero {
      margin-inline: calc(var(--size-6) * -1);
    }
  }

  @media (min-width: 1400px) {
    .hero {
      margin-inline: calc(var(--size-10) * -1);
    }
  }

  .hero__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .hero__content {
    font-family: var(--font-family-display);
    font-size: var(--text-5xl);
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--size-4);
  }

  @media (min-width: 640px) {
    .hero__content {
      font-size: var(--text-6xl);
    }
  }

  @media (min-width: 1024px) {
    .hero__content {
      width: 55%;
      padding: var(--size-6);
    }
  }

  @media (min-width: 1400px) {
    .hero__content {
      padding: var(--size-10);
    }
  }

  .hero__content--bottom-right {
    top: auto;
    bottom: 0;
  }

  .hero__content p {
    line-height: 1.25;
    letter-spacing: var(--tracking-tight);
  }

  /**
   * List arrow
   */
  .list-arrow {
    display: inline-block;
    font-size: var(--text-xl);
  }

  @media (min-width: 1024px) {
    .list-arrow {
      font-size: var(--text-2xl);
    }
  }

  .list-arrow__item {
    display: flex;
  }

  .list-arrow__link {
    display: inline-flex;
    align-items: center;
    gap: var(--size-2);
  }

  .list-arrow__icon {
    width: var(--size-8);
    height: var(--size-8);
  }

  /**
   * Divider
   */
  .divider {
    height: 1px;
    background-color: var(--color-grayscale-400);
  }

  .divider--thick {
    height: var(--size-\.5);
  }

  .divider--orange-700 {
    background-color: var(--color-orange-700);
  }

  /**
   * Hamburger icon
   */
  .hamburger-icon {
    display: inline-block;
    padding: var(--size-4);
  }

  .hamburger-icon__box {
    display: block;
    position: relative;
    width: var(--size-10);
    height: var(--size-7);
  }

  .hamburger-icon__inner,
  .hamburger-icon__inner::before,
  .hamburger-icon__inner::after {
    position: absolute;
    width: var(--size-10);
    height: var(--size-1);
    background-color: var(--color-primary);
    border-radius: 0;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.2s;
  }

  html:not(.hamburger-active)
    .site-header--inverted-colors
    .hamburger-icon__inner,
  html:not(.hamburger-active)
    .site-header--inverted-colors
    .hamburger-icon__inner::before,
  html:not(.hamburger-active)
    .site-header--inverted-colors
    .hamburger-icon__inner::after {
    background-color: var(--color-grayscale-white);
  }

  .hamburger-icon__inner::before,
  .hamburger-icon__inner::after {
    content: '';
    display: block;
  }

  .hamburger-icon__inner::before {
    top: var(--size-2\.5);
  }

  .hamburger-icon__inner::after {
    top: var(--size-5);
  }

  .hamburger-icon__inner {
    display: block;
    top: var(--size-\.5);
    margin-top: calc(var(--size-\.5) * -1);
  }

  .hamburger-icon.is-active .hamburger-icon__inner {
    transform: translate3d(0, var(--size-2\.5), 0) rotate(45deg);
  }

  .hamburger-icon.is-active .hamburger-icon__inner::before {
    opacity: 0;
    transform: rotate(-45deg) translate3d(var(--size-1\.5), -6px, 0);
  }

  .hamburger-icon.is-active .hamburger-icon__inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg);
  }

  /**
   * Offcanvas
   */
  /* TODO: Handle height when admin bar is visible */
  .offcanvas {
    height: 100dvh;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--color-grayscale-white);
    z-index: 1100;
    padding-top: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-16px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.3s;
    padding-block-start: var(--size-27);
  }

  .has-sticky-header .offcanvas {
    padding-block-start: var(--size-18);
  }

  .offcanvas.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .offcanvas__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    overflow-y: scroll;
    padding-block: var(--size-7);
  }

  .offcanvas__title {
    font-size: var(--text-sm);
    letter-spacing: var(--tracking-tight);
    margin-block-end: var(--size-2);
  }

  .offcanvas-nav {
    font-size: var(--text-4xl);
    font-family: var(--font-family-display);
    margin-block-end: var(--size-27);
  }

  .offcanvas-nav__link {
    display: block;
    background-image: url('images/layout/offcanvas-nav-arrow.svg');
    background-repeat: no-repeat;
    background-size: var(--size-11);
    background-position: top var(--size-3) right;
    border-block-start: 1px solid;
    border-block-start-color: var(--color-grayscale-400);
    padding-block-start: var(--size-\.5);
    padding-block-end: var(--size-8);
  }

  .offcanvas-nav__item.is-current .offcanvas-nav__link {
    color: var(--color-primary);
    border-block-start: var(--size-\.5) solid;
    border-block-start-color: var(--color-primary);
  }

  /**
   * Toggle
   */
  .toggle {
    display: inline-flex;
    color: var(--color-grayscale-white);
    background-color: var(--color-grayscale-300);
    border-radius: 9999px;
    padding-block: var(--size-1);
    padding-inline: var(--size-1);
  }

  .toggle__button {
    text-align: center;
    line-height: var(--size-11);
    border-radius: 9999px;
  }

  .toggle__button:not(.is-active):first-child {
    padding-inline-start: var(--size-4);
    padding-inline-end: var(--size-2);
  }

  .toggle__button:not(.is-active):last-child {
    padding-inline-start: var(--size-2);
    padding-inline-end: var(--size-4);
  }

  .toggle__button.is-active {
    width: var(--size-19);
    background-color: var(--color-secondary);
    padding-inline: 0;
  }

  /**
   * Entry
   */
  .entry-header {
    margin-block-end: var(--size-18);
  }

  @media (min-width: 1024px) {
    .entry-header {
      margin-block-start: var(--size-7);
      margin-block-end: var(--size-27);
    }
  }

  .page-template-form .entry-header {
    margin-block-end: 0;
  }

  .entry-title {
    color: var(--color-primary);
    font-size: var(--text-8xl);
    letter-spacing: var(--tracking-tight);
  }

  @media (min-width: 1024px) {
    .entry-title {
      font-size: var(--text-9xl);
    }
  }

  body:not(.page-template-documents) .entry-content {
    margin-block-end: var(--size-29);
  }

  .entry-content :first-child {
    margin-block-start: 0 !important;
  }

  .entry-content :last-child {
    margin-block-end: 0 !important;
  }

  .entry-content .has-x-large-font-size,
  .entry-content .has-large-font-size,
  .entry-content .has-medium-font-size,
  .entry-content .has-small-font-size {
    font-family: var(--font-family-display);
    line-height: 1.2;
    letter-spacing: var(--tracking-tight);
    margin-block: var(--size-10);
  }

  .entry-content p,
  .entry-content blockquote {
    margin-block-end: var(--size-5);
  }

  .entry-content p,
  .entry-content li {
    font-size: var(--text-sm);
  }

  @media (min-width: 1024px) {
    .entry-content p,
    .entry-content li {
      font-size: var(--text-md);
    }
  }

  .entry-content .wp-block-heading {
    margin-block-start: var(--size-12);
    margin-block-end: var(--size-7);
  }

  .entry-content .wp-block-image {
    margin-block: var(--size-10) !important;
  }

  @media (min-width: 1024px) {
    .entry-content .wp-block-image {
      margin-block: var(--size-13) !important;
    }
  }

  .entry-content .wp-block-image > figure {
    float: none !important;
  }

  .entry-content .wp-block-image .alignleft,
  .entry-content .wp-block-image .alignright {
    display: block !important;
  }

  .entry-content .wp-block-image .alignleft {
    margin-inline-end: 0 !important;
  }

  @media (min-width: 1296px) {
    .entry-content .wp-block-image .alignleft {
      margin-inline-start: calc(
        ((var(--grid-column-width) * 2) + (var(--grid-gap) * 2)) * -1
      ) !important;
    }
  }

  .entry-content .wp-block-image .alignright {
    margin-inline-start: 0 !important;
  }

  @media (min-width: 1296px) {
    .entry-content .wp-block-image .alignright {
      margin-inline-end: calc(
        ((var(--grid-column-width) * 2) + (var(--grid-gap) * 2)) * -1
      ) !important;
    }
  }

  .entry-content .wp-element-caption {
    display: block !important;
    color: var(--color-grayscale-700);
    font-size: var(--text-xs);
    font-style: italic;
  }

  /**
   * Documents block
   */
  .documents-blocks-section {
    display: flex;
    flex-direction: column;
    gap: var(--size-12);
  }

  @media (min-width: 640px) {
    .documents-blocks-section {
      gap: var(--size-18);
    }
  }

  .documents-block {
    border-block-start: 3px solid var(--color-primary);
    padding-block-start: var(--size-7);
  }

  .documents-block__title {
    color: var(--color-primary);
    font-size: var(--text-5xl);
    margin-block-end: var(--size-6);
  }

  .documents-block-item {
    display: flex;
    flex-direction: column;
    gap: var(--size-6);
    padding-block: var(--size-7);
  }

  @media (min-width: 640px) {
    .documents-block-item {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
  }

  .documents-block-item p {
    font-size: var(--text-lg);
  }

  .documents-block-item + .documents-block-item {
    border-block-start: 3px solid var(--color-grayscale-100);
  }

  .documents-block-item__main {
    display: flex;
    gap: var(--size-3);
  }

  .documents-block-item__icon {
    width: var(--size-6);
    height: var(--size-6);
    flex-shrink: 0;
    margin-block-start: var(--size-1);
  }

  /**
   * Accordion
   */
  .accordion-group {
    border-block: 1px solid var(--color-grayscale-400);
    margin-block-start: -1px;
  }

  .accordion-group[data-expanded='true'] {
    border-block-start: 2px solid var(--color-grayscale-800);
  }

  .accordion-toggle {
    position: relative;
    width: 100%;
    font-size: var(--text-xl);
    line-height: 1.15;
    text-align: start;
    padding-inline-end: var(--size-10);
    padding-block-start: var(--size-7);
    padding-block-end: var(--size-7);
  }

  @media (min-width: 1024px) {
    .accordion-toggle {
      font-size: var(--text-2xl);
    }
  }

  .accordion-toggle::after {
    content: '';
    display: block;
    width: var(--size-6);
    height: var(--size-6);
    position: absolute;
    top: 50%;
    right: 0;
    background-image: url('images/layout/select-arrow.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateY(-50%) rotate(180deg);
  }

  .accordion-group[data-expanded='false'] .accordion-toggle::after {
    transform: translateY(-50%);
  }

  .accordion-panel {
    display: block;
    padding-block-end: var(--size-8);
  }

  .accordion-group[data-expanded='false'] .accordion-panel {
    display: none;
  }

  /**
   * Stats grid
   */
  .stats-grid {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    row-gap: var(--size-12);
  }

  .stats-grid__item {
    flex-basis: 100%;
    flex-shrink: 0;
    flex-grow: 0;
  }

  @media (min-width: 480px) {
    .stats-grid__item {
      flex-basis: 50%;
    }
  }

  @media (min-width: 1024px) {
    .stats-grid__item {
      flex-basis: 25%;
    }
  }

  .stats-grid__number {
    color: var(--color-primary);
    font-size: var(--text-8xl);
    font-family: var(--font-family-display);
    line-height: 1;
  }

  @media (min-width: 1024px) {
    .stats-grid__number {
      font-size: var(--text-9xl);
    }
  }

  .stats-grid__label {
    font-size: var(--text-sm);
    margin-block-start: var(--size-4);
  }

  @media (min-width: 1024px) {
    .stats-grid__label {
      font-size: var(--text-md);
    }
  }

  /**
   * Slider
   */
  .slider {
    padding-block-end: var(--size-20) !important;
  }

  @media (min-width: 1024px) {
    .slider {
      padding-block-end: var(--size-14) !important;
    }
  }

  @media (min-width: 1024px) {
    .slider .swiper-slide {
      padding-inline-end: var(--size-27);
    }
  }

  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: var(--size-15) !important;
    border-radius: var(--size-\.5);
    background-color: var(--color-primary);
    margin-top: calc(var(--size-14) * -1) !important;
  }

  .slider .swiper-button-prev {
    top: auto !important;
    bottom: 0 !important;
    right: var(--size-20) !important;
    left: auto !important;
  }

  @media (min-width: 1024px) {
    .slider .swiper-button-prev {
      top: calc(50% + 10px) !important;
      right: 0 !important;
      transform: translateY(50%);
    }
  }

  .slider .swiper-button-next {
    top: auto !important;
    bottom: 0 !important;
    right: 0 !important;
  }

  @media (min-width: 1024px) {
    .slider .swiper-button-next {
      top: calc(50% - 10px) !important;
      transform: translateY(-50%);
    }
  }

  .slider .swiper-button-prev::after,
  .slider .swiper-button-next::after {
    content: '' !important;
    width: var(--size-4);
    height: 1.625rem;
    background-repeat: no-repeat;
    background-position: center;
  }

  .slider .swiper-button-prev::after {
    background-image: url('images/layout/slider-arrow-prev.svg');
  }

  .slider .swiper-button-next::after {
    background-image: url('images/layout/slider-arrow-next.svg');
  }

  .slider .swiper-pagination {
    text-align: start !important;
    bottom: 1.125rem !important;
  }

  @media (min-width: 1024px) {
    .slider .swiper-pagination {
      bottom: 0 !important;
    }
  }

  /**
   * Slider box
   */
  .slider-box {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: var(--size-1);
    background-color: var(--color-orange-100);
    overflow: hidden;
  }

  .slider-box__content {
    position: absolute;
    bottom: var(--size-6);
    left: 0;
    padding-inline: var(--size-7);
  }

  .slider-box__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
  }

  /**
   * Anchor offset
   */
  .anchor-offset {
    position: relative;
    top: -4.375rem;
  }

  /**
   * Content block
   */
  .content-block p,
  .entry-content ul,
  .content-block ul,
  .content-block ol {
    margin-block-end: var(--size-5);
  }

  .entry-content ul li,
  .content-block ul li {
    position: relative;
    padding-inline-start: var(--size-5);
  }

  .entry-content ul li::before,
  .content-block ul li::before {
    content: '';
    display: block;
    width: var(--size-2);
    height: var(--size-2);
    border-radius: var(--size-2);
    background-color: var(--color-primary);
    position: absolute;
    top: 10px;
    left: 0;
  }

  .entry-content ul li + li,
  .content-block ul li + li {
    margin-block-start: var(--size-1);
  }

  .content-block :last-child {
    margin-block-end: 0;
  }
}

@layer utilities {
  /**
   * Display
   */
  .hidden {
    display: none;
  }

  .block {
    display: block;
  }

  @media (min-width: 1024px) {
    .lg\:hidden {
      display: none;
    }

    .lg\:block {
      display: block;
    }
  }

  /**
   * Text Color
   */
  .text-white {
    color: var(--color-grayscale-white);
  }

  .text-primary {
    color: var(--color-primary);
  }

  /**
   * Font Size
   */
  .text-xs {
    font-size: var(--text-xs);
  }

  .text-xl {
    font-size: var(--text-xl);
  }

  .text-2xl {
    font-size: var(--text-2xl);
  }

  .text-3xl {
    font-size: var(--text-3xl);
  }

  .text-5xl {
    font-size: var(--text-5xl);
  }

  .text-8xl {
    font-size: var(--text-8xl);
  }

  .text-9xl {
    font-size: var(--text-9xl);
  }

  @media (min-width: 1024px) {
    .lg\:text-xs {
      font-size: var(--text-xs);
    }

    .lg\:text-xl {
      font-size: var(--text-xl);
    }

    .lg\:text-2xl {
      font-size: var(--text-2xl);
    }

    .lg\:text-3xl {
      font-size: var(--text-3xl);
    }

    .lg\:text-5xl {
      font-size: var(--text-5xl);
    }

    .lg\:text-8xl {
      font-size: var(--text-8xl);
    }

    .lg\:text-9xl {
      font-size: var(--text-9xl);
    }
  }

  /**
   * Font Family
   */
  .font-display {
    font-family: var(--font-family-display);
  }

  /**
   * Line Height
   */
  .leading-none {
    line-height: 1;
  }

  /**
   * Spacing
   */
  .mt-1 {
    margin-block-start: var(--size-1);
  }

  .mt-2 {
    margin-block-start: var(--size-2);
  }

  .mt-3 {
    margin-block-start: var(--size-3);
  }

  .mt-4 {
    margin-block-start: var(--size-4);
  }

  .mt-5 {
    margin-block-start: var(--size-5);
  }

  .mt-6 {
    margin-block-start: var(--size-6);
  }

  .mt-7 {
    margin-block-start: var(--size-7);
  }

  .mt-8 {
    margin-block-start: var(--size-8);
  }

  .mt-9 {
    margin-block-start: var(--size-9);
  }

  .mt-10 {
    margin-block-start: var(--size-9);
  }

  .mt-12 {
    margin-block-start: var(--size-12);
  }

  .mt-15 {
    margin-block-start: var(--size-15);
  }

  .mt-22 {
    margin-block-start: var(--size-22);
  }

  .mt-28 {
    margin-block-start: var(--size-28);
  }

  .mt-30 {
    margin-block-start: var(--size-30);
  }

  .mt-35 {
    margin-block-start: var(--size-35);
  }

  .mt-67 {
    margin-block-start: var(--size-67);
  }

  .mt-68 {
    margin-block-start: var(--size-68);
  }

  @media (min-width: 1024px) {
    .lg\:mt-1 {
      margin-block-start: var(--size-1);
    }

    .lg\:mt-2 {
      margin-block-start: var(--size-2);
    }

    .lg\:mt-3 {
      margin-block-start: var(--size-3);
    }

    .lg\:mt-4 {
      margin-block-start: var(--size-4);
    }

    .lg\:mt-5 {
      margin-block-start: var(--size-5);
    }

    .lg\:mt-6 {
      margin-block-start: var(--size-6);
    }

    .lg\:mt-7 {
      margin-block-start: var(--size-7);
    }

    .lg\:mt-8 {
      margin-block-start: var(--size-8);
    }

    .lg\:mt-9 {
      margin-block-start: var(--size-9);
    }

    .lg\:mt-10 {
      margin-block-start: var(--size-9);
    }

    .lg\:mt-12 {
      margin-block-start: var(--size-12);
    }

    .lg\:mt-15 {
      margin-block-start: var(--size-15);
    }

    .lg\:mt-22 {
      margin-block-start: var(--size-22);
    }

    .lg\:mt-28 {
      margin-block-start: var(--size-28);
    }

    .lg\:mt-30 {
      margin-block-start: var(--size-30);
    }

    .lg\:mt-35 {
      margin-block-start: var(--size-35);
    }

    .lg\:mt-67 {
      margin-block-start: var(--size-67);
    }

    .lg\:mt-68 {
      margin-block-start: var(--size-68);
    }
  }

  .-mb-22 {
    margin-block-end: calc(var(--size-22) * -1);
  }

  .mb-1 {
    margin-block-end: var(--size-1);
  }

  .mb-2 {
    margin-block-end: var(--size-2);
  }

  .mb-3 {
    margin-block-end: var(--size-3);
  }

  .mb-4 {
    margin-block-end: var(--size-4);
  }

  .mb-5 {
    margin-block-end: var(--size-5);
  }

  .mb-6 {
    margin-block-end: var(--size-6);
  }

  .mb-7 {
    margin-block-end: var(--size-7);
  }

  .mb-8 {
    margin-block-end: var(--size-8);
  }

  .mb-9 {
    margin-block-end: var(--size-9);
  }

  .mb-10 {
    margin-block-end: var(--size-10);
  }

  .mb-11 {
    margin-block-end: var(--size-11);
  }

  .mb-12 {
    margin-block-end: var(--size-12);
  }

  .mb-13 {
    margin-block-end: var(--size-13);
  }

  .mb-14 {
    margin-block-end: var(--size-14);
  }

  .mb-15 {
    margin-block-end: var(--size-15);
  }

  .mb-22 {
    margin-block-end: var(--size-22);
  }

  .mb-29 {
    margin-block-end: var(--size-29);
  }

  .mb-35 {
    margin-block-end: var(--size-35);
  }

  .mb-45 {
    margin-block-end: var(--size-45);
  }

  .mb-55 {
    margin-block-end: var(--size-55);
  }

  @media (min-width: 1024px) {
    .lg\:mb-1 {
      margin-block-end: var(--size-1);
    }

    .lg\:mb-2 {
      margin-block-end: var(--size-2);
    }

    .lg\:mb-3 {
      margin-block-end: var(--size-3);
    }

    .lg\:mb-4 {
      margin-block-end: var(--size-4);
    }

    .lg\:mb-5 {
      margin-block-end: var(--size-5);
    }

    .lg\:mb-6 {
      margin-block-end: var(--size-6);
    }

    .lg\:mb-7 {
      margin-block-end: var(--size-7);
    }

    .lg\:mb-8 {
      margin-block-end: var(--size-8);
    }

    .lg\:mb-9 {
      margin-block-end: var(--size-9);
    }

    .lg\:mb-10 {
      margin-block-end: var(--size-10);
    }

    .lg\:mb-11 {
      margin-block-end: var(--size-11);
    }

    .lg\:mb-12 {
      margin-block-end: var(--size-12);
    }

    .lg\:mb-13 {
      margin-block-end: var(--size-13);
    }

    .lg\:mb-14 {
      margin-block-end: var(--size-14);
    }

    .lg\:mb-15 {
      margin-block-end: var(--size-15);
    }

    .lg\:mb-35 {
      margin-block-end: var(--size-35);
    }

    .lg\:mb-45 {
      margin-block-end: var(--size-45);
    }

    .lg\:mb-55 {
      margin-block-end: var(--size-55);
    }
  }

  .-me-4 {
    margin-inline-end: calc(var(--size-4) * -1);
  }

  /**
   * Grid
   */
  .col-span-1 {
    grid-column: span 1 / span 1;
  }

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .col-span-3 {
    grid-column: span 3 / span 3;
  }

  .col-span-4 {
    grid-column: span 4 / span 4;
  }

  .col-span-5 {
    grid-column: span 5 / span 5;
  }

  .col-span-6 {
    grid-column: span 6 / span 6;
  }

  .col-span-7 {
    grid-column: span 7 / span 7;
  }

  .col-span-8 {
    grid-column: span 8 / span 8;
  }

  .col-span-9 {
    grid-column: span 9 / span 9;
  }

  .col-span-10 {
    grid-column: span 10 / span 10;
  }

  .col-span-11 {
    grid-column: span 11 / span 11;
  }

  .col-span-12 {
    grid-column: span 12 / span 12;
  }

  @media (min-width: 1024px) {
    .lg\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:col-span-3 {
      grid-column: span 3 / span 3;
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:col-span-5 {
      grid-column: span 5 / span 5;
    }

    .lg\:col-span-6 {
      grid-column: span 6 / span 6;
    }

    .lg\:col-span-7 {
      grid-column: span 7 / span 7;
    }

    .lg\:col-span-8 {
      grid-column: span 8 / span 8;
    }

    .lg\:col-span-9 {
      grid-column: span 9 / span 9;
    }

    .lg\:col-span-10 {
      grid-column: span 10 / span 10;
    }

    .lg\:col-span-11 {
      grid-column: span 11 / span 11;
    }

    .lg\:col-span-12 {
      grid-column: span 12 / span 12;
    }
  }

  .col-start-1 {
    grid-column-start: 1;
  }

  .col-start-2 {
    grid-column-start: 2;
  }

  .col-start-3 {
    grid-column-start: 3;
  }

  .col-start-4 {
    grid-column-start: 4;
  }

  .col-start-5 {
    grid-column-start: 5;
  }

  .col-start-6 {
    grid-column-start: 6;
  }

  .col-start-7 {
    grid-column-start: 7;
  }

  .col-start-8 {
    grid-column-start: 8;
  }

  .col-start-9 {
    grid-column-start: 9;
  }

  .col-start-10 {
    grid-column-start: 10;
  }

  .col-start-11 {
    grid-column-start: 11;
  }

  .col-start-12 {
    grid-column-start: 12;
  }

  @media (min-width: 1024px) {
    .lg\:col-start-1 {
      grid-column-start: 1;
    }

    .lg\:col-start-2 {
      grid-column-start: 2;
    }

    .lg\:col-start-3 {
      grid-column-start: 3;
    }

    .lg\:col-start-4 {
      grid-column-start: 4;
    }

    .lg\:col-start-5 {
      grid-column-start: 5;
    }

    .lg\:col-start-6 {
      grid-column-start: 6;
    }

    .lg\:col-start-7 {
      grid-column-start: 7;
    }

    .lg\:col-start-8 {
      grid-column-start: 8;
    }

    .lg\:col-start-9 {
      grid-column-start: 9;
    }

    .lg\:col-start-10 {
      grid-column-start: 10;
    }

    .lg\:col-start-11 {
      grid-column-start: 11;
    }

    .lg\:col-start-12 {
      grid-column-start: 12;
    }
  }

  /**
   * Order
   */
  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

  .order-3 {
    order: 3;
  }

  .order-4 {
    order: 4;
  }

  .order-5 {
    order: 5;
  }

  .order-6 {
    order: 6;
  }

  .order-7 {
    order: 7;
  }

  .order-8 {
    order: 8;
  }

  .order-9 {
    order: 9;
  }

  .order-10 {
    order: 10;
  }

  @media (min-width: 1024px) {
    .lg\:order-1 {
      order: 1;
    }

    .lg\:order-2 {
      order: 2;
    }

    .lg\:order-3 {
      order: 3;
    }

    .lg\:order-4 {
      order: 4;
    }

    .lg\:order-5 {
      order: 5;
    }

    .lg\:order-6 {
      order: 6;
    }

    .lg\:order-7 {
      order: 7;
    }

    .lg\:order-8 {
      order: 8;
    }

    .lg\:order-9 {
      order: 9;
    }

    .lg\:order-10 {
      order: 10;
    }
  }

  /**
   * Width
   */
  .w-full {
    width: 100%;
  }

  @media (min-width: 1024px) {
    .lg\:w-auto {
      width: auto;
    }
  }

  /**
   * Gap
   */
  .gap-3 {
    gap: var(--size-3);
  }
}
