/** Shopify CDN: Minification failed

Line 80:73 Expected identifier but found whitespace
Line 80:75 Unexpected "{"
Line 80:84 Expected ":"

**/


/* CSS from section stylesheet tags */
.custom-hero-banner-container { position: relative; display: flex; width: 100%; }
  .custom-hero-banner--small { min-height: 400px; }
  .custom-hero-banner--medium { min-height: 550px; }
  .custom-hero-banner--large { min-height: 700px; }
  .hide-on-desktop { display: none; }

  .custom-hero-banner__image, .custom-hero-banner__placeholder {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;
  }
  .custom-hero-banner__placeholder { background: #f2f2f2; }

  .custom-hero-banner__content-wrapper {
    position: relative; z-index: 2; width: 100%; display: flex; padding: 3rem;
  }
  
  /* --- NEW --- This class constrains the content to the page width */
  .custom-hero-banner--page-width {
    max-width: var(--page-width, 120rem); /* Uses theme's page width variable, or defaults to 1200px */
    margin-left: auto;
    margin-right: auto;
  }

  .custom-hero-banner__content--top { align-items: flex-start; }
  .custom-hero-banner__content--middle { align-items: center; }
  .custom-hero-banner__content--bottom { align-items: flex-end; }
  .custom-hero-banner__content--left { justify-content: flex-start; text-align: left; }
  .custom-hero-banner__content--center { justify-content: center; text-align: center; }
  .custom-hero-banner__content--right { justify-content: flex-end; text-align: right; }
  
  .custom-hero-banner__content-box {
    background-color: var(--overlay-color);
    color: var(--text-color);
    padding: var(--content-padding-vertical) var(--content-padding-horizontal);
    max-width: 550px;
    width: 100%;
  }
  .custom-hero-banner__heading { font-size: var(--heading-font-size); font-weight: 700; line-height: 1.2; margin: 0 0 1rem 0; color: inherit; text-transform: uppercase; }
  .custom-hero-banner__subheading { font-size: var(--subheading-font-size); line-height: 1.5; margin: 0 0 1.5rem 0; color: inherit; }
  
  .custom-hero-banner__button {
    display: inline-block; background-color: var(--button-bg); color: var(--button-text-color);
    font-weight: 600; text-decoration: none; border-radius: 40px; transition: transform 0.2s ease, opacity 0.2s ease;
    border: none; cursor: pointer;
  }
  .custom-hero-banner__button:hover { transform: scale(1.05); opacity: 0.9; }

  .custom-hero-banner__button--small { padding: 8px 20px; font-size: 0.9rem; }
  .custom-hero-banner__button--medium { padding: 14px 32px; font-size: 1rem; }
  .custom-hero-banner__button--large { padding: 18px 40px; font-size: 1.1rem; }

  .custom-hero-banner__icon-line { display: flex; align-items: center; justify-content: start; width: 100%; }
  .custom-hero-banner__content--center .custom-hero-banner__icon-line { justify-content: center; }
  .custom-hero-banner__content--right .custom-hero-banner__icon-line { justify-content: end; }

  .custom-hero-banner__icon-line--small { font-size: 0.8rem; margin-top: 0.75rem; }
  .custom-hero-banner__icon-line--medium { font-size: 0.9rem; margin-top: 1.25rem; }
  .custom-hero-banner__icon-line--large { font-size: 1rem; margin-top: 1.5rem; }

  .custom-hero-banner__line-icon { width: 20px; height: 20px; margin-right: 8px; color: var(--icon-color); flex-shrink: 0; }
  
  @media screen and (max-width: 768px) {
    .hide-on-mobile { display: none; }
    .hide-on-desktop { display: block; }
    .custom-hero-banner-container { display: block; min-height: auto; }
    .custom-hero-banner__image.hide-on-desktop,
    .custom-hero-banner__placeholder.hide-on-desktop {
      position: relative; width: 100%; height: 400px; object-fit: cover;
    }
    .custom-hero-banner__content-wrapper { padding: 0; }
    .custom-hero-banner__content-box { max-width: 100%; background-color: {{ section.settings.overlay_color }}; }
    .custom-hero-banner__heading { font-size: var(--mobile-heading-font-size); }
    .custom-hero-banner__subheading { font-size: var(--mobile-subheading-font-size); }
  }
.sub-nav-section-wrapper {
    background-color: var(--bg-color);
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    border-bottom: 1px solid rgba(128, 128, 128, 0.15);
  }

  /*
    CRITICAL FIX: The custom padding for .page-width has been REMOVED.
    This allows the theme's default padding to apply, ensuring perfect alignment.
  */

  .sub-nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }

  .sub-nav__list {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    flex-grow: 1;
    flex-shrink: 1;
    overflow: hidden;
  }

  .sub-nav__link {
    color: var(--text-color);
    text-decoration: none;
    font-size: var(--link-font-size);
    font-weight: 500;
    transition: opacity 0.2s ease-in-out;
    white-space: nowrap;
  }

  .sub-nav__link:hover {
    opacity: 0.75;
  }

  .sub-nav__cta-button {
    background-color: var(--button-bg-color);
    color: var(--button-text-color);
    padding: 12px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: var(--link-font-size);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .sub-nav__cta-button:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  }

  /* --- Responsive Styles for Mobile --- */
  @media screen and (max-width: 768px) {
    .sub-nav-container {
      gap: 1rem;
      /* MODIFIED: This pushes the CTA button to the right when the nav links are hidden */
      justify-content: flex-end;
    }

    /* This rule now only applies if the links are NOT completely hidden */
    .sub-nav__list:not(.hide-on-mobile) {
      overflow-x: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
      gap: 1.5rem;
      justify-content: flex-start;
      flex-grow: 1; /* Allow it to take up space again */
    }

    .sub-nav__list:not(.hide-on-mobile)::-webkit-scrollbar {
      display: none;
    }
    
    .sub-nav__cta-button {
      padding: 10px 20px;
    }

    .hide-on-mobile {
      display: none !important;
    }
  }