/* Col pad design mode indicator */
  html.wf-design-mode .row .col:has( .slot)::before,
  html.wf-design-mode .row .col:has( .slot)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--_layout---grid--gap-main) / 2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3' viewBox='0 0 3 3' fill='none'%3E%3Cg clip-path='url(%23clip0_481_2070)'%3E%3Cpath d='M2.99997 0.970703L0.969971 3.0007H2.02997L2.99997 2.0307V0.970703Z' fill='%23259d4d'/%3E%3Cpath d='M0.97 0L0 0.97V2.03L2.03 0H0.97Z' fill='%23259d4d'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_481_2070'%3E%3Crect width='3' height='3' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");    background-repeat: repeat;
    background-size: 4px;
    opacity: 0;
    pointer-events: none;
  }
  html.wf-design-mode .col:has(>.slot)::before {
    left: 0;
  }
  html.wf-design-mode .col:has(>.slot)::after {
    right: 0;
  }
  html.wf-design-mode .col:has(>.slot):hover::before,
  html.wf-design-mode .col:has(>.slot):hover::after {
    opacity: 0.5;
  }
  
  /* Remove pointer events on overlays for easier canvas editing */
  html.wf-design-mode .u-link-cover {
    pointer-events: none;
  }
  html.wf-design-mode .btn-text {
    pointer-events: auto;
  }
  
  /* Space tab panes */
  html.wf-design-mode .tabs-pane:has(+.tabs-pane) {
  	margin-bottom: var(--_layout---grid--gap-main);
  }

/* Text Selection Color */
  ::selection {
    background: var(--primary--text);
    color: var(--primary--background);
  }
  ::-moz-selection {
    background: var(--primary--text);
    color: var(--primary--background);
  }

  /* Apply font smoothing */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
  }

  /* Ensure column stack on increased default browser font size (for accessibility) */
  body.font-size-increased .row { 
    container-type: inline-size; 
  }
  body.font-size-increased {
    @container (max-width: 40rem) {
      .col:not([data-wf--grid-column--column-size="shrink"]) {
        flex: 0 0 100% !important;
        max-width: 100% !important;
      }
    }
  }

  /* Rich text modifiers */
  .w-richtext>:first-child {
    margin-top: 0;
  }

  /* Line clamp modifiers */
  .u-text-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  /* Row/col gap modifiers */
  .row.row-gap-0 .col {
    --_layout---grid--gap-main: 0;
  }
  .row.row-gap-0:has( .col[class*="contain"]) .col {
    --_layout---grid--gap-main: 1px;
  }
  .row.row-gap-md .col {
    --_layout---grid--gap-main: var(--_layout---grid--gap-md);
  }
  .row.row-gap-sm .col {
    --_layout---grid--gap-main: var(--_layout---grid--gap-sm);
  }
  .row.row-gap-button .col {
    --_layout---grid--gap-main: var(--_layout---grid--gap-button);
  }

  /* Build mode modifiers */
  .slot .button:not([data-slider]) {
    align-self: flex-start;
  }
  .slot > *:last-child,
  .slot > .heading-component:last-child *,
  .slot > .rich-text-component:last-child .rich-text > *:last-child,
  .rich-text-component.u-mb-0 .rich-text > *:last-child,
  .eyebrow-component.u-mb-0 .eyebrow {
    margin-bottom: 0;
  }
  .slot.cc-column > .eyebrow-component {
    align-self: start;
  }
  .card:has(>.u-link-cover:focus-visible) {
    outline: 2px solid var(--primary--accent);
    outline-offset: 2px;
  }
  .section:has( > .container > .slot > [data-wf--image--settings-aspect-ratio="background"]),
  .page-wrapper:has( [data-wf--image--settings-aspect-ratio="background"]) {
    background: transparent !important;
    z-index: 1;
  }
  .card > .slot > [data-wf--image--settings-aspect-ratio="background"] {
    z-index: 0;
  }
  .card > .slot > *:not([data-wf--image--settings-aspect-ratio="background"]) {
    z-index: 1;
  }

  /* Load animation FOUS */
  html:not(.wf-design-mode) [data-animate="stagger-children"] > * {
    opacity: 0;
    visibility: hidden;
  }

/* Set light/dark theme on HTML */
  :root {
    color-scheme: light dark;
  }

  @media (prefers-color-scheme: dark) {
    /* Reset Webflow injected Lightning CSS Polyfill */
    --lightningcss-light: ;
    --lightningcss-dark: initial;
  }

  @media (prefers-color-scheme: light) {
    /* Reset Webflow injected Lightning CSS Polyfill */
    --lightningcss-light: initial;
    --lightningcss-dark: ;

    /* Canvas modifiers to show the toggle state in Designer */
    html.wf-design-mode [data-theme-toggle="checkbox"]::before {
      transform: translateX(1.5em);
    }
    html.wf-design-mode [data-theme-toggle="dark-label"] {
      display: none;
    }
    html.wf-design-mode [data-theme-toggle="light-label"] {
      display: block;
    }
  }

  /* Toggle switch styling */
  [data-theme-toggle="checkbox"]::before {
    content: "";
    position: absolute;
    width: 1.1em;
    height: 1.1em;
    border-radius: 50%;
    background-color: var(--primary--text);
    top: 0.2em;
    left: 0.2em;
    transition: transform 0.3s ease;
  }
  [data-theme-toggle="checkbox"]:checked::before {
    transform: translateX(1.5em);
  }

/* Reset apple form styles */
  input, textarea, select { 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; border-radius: 0; 
    background-image: none; 
  }

  /* Adjust input autofill to brand colors */
  input:-webkit-autofill,
  input:-webkit-autofill:focus {
    background-color: var(--primary--background) !important;
    color: var(--primary--text) !important;
    -webkit-box-shadow: 0 0 0 50px var(--primary--background) inset;
    -webkit-text-fill-color: var(--primary--text);
  }

  /* Select input custom arrow */
  .input-group:has(.input.cc-select)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem;
    border-top: 2px solid var(--primary--text);
    border-right: 2px solid var(--primary--text);
    transform: translateY(-90%) rotate(135deg);
    width: 0.4rem;
    height: 0.4rem;
    pointer-events: none;
  }

/* Marquee */
  @keyframes marquee-scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }
  @keyframes marquee-scroll-right { 0% { transform: translateX(-100%); } 100% { transform: translateX(0); } }
  @keyframes marquee-scroll-up { 0% { transform: translateY(0); } 100% { transform: translateY(-100%); } }
  @keyframes marquee-scroll-down { 0% { transform: translateY(-100%); } 100% { transform: translateY(0); } }
  .marquee-component[data-marquee-pause-on-hover="true"]:hover .marquee-group {
    animation-play-state: paused;
  }
  .marquee-component[data-marquee-reverse="false"] .marquee-group {
    animation: marquee-scroll-left var(--marquee-duration) linear infinite;
  }
  .marquee-component[data-marquee-reverse="true"] .marquee-group {
    animation: marquee-scroll-right var(--marquee-duration) linear infinite;
  }
  .marquee-component[data-wf--marquee--settings-orientation="vertical"][data-marquee-reverse="false"] .marquee-group {
    animation: marquee-scroll-down var(--marquee-duration) linear infinite;
  }
  .marquee-component[data-wf--marquee--settings-orientation="vertical"][data-marquee-reverse="true"] .marquee-group {
    animation: marquee-scroll-up var(--marquee-duration) linear infinite;
  }
  .marquee-component:not([data-wf--marquee--settings-orientation="vertical"])[data-marquee-fade-edges="true"] {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  }
  .marquee-component[data-wf--marquee--settings-orientation="vertical"][data-marquee-fade-edges="true"] {
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
  }

/* Accordion */
  :root {
    interpolate-size: allow-keywords; /* To animate accordions */
  }
  details[open] .accordion-icon {
    transform: rotate(45deg);
  }
  details[data-accordion-animating='closing'] > [data-accordion='content'] {
    display: block;
  }
  summary::-webkit-details-marker {
    display: none; /* Hide older Safari's default disclosure arrow */
  }

/* Modal */
  body:has(dialog[open]) {
    overflow: hidden !important;
  }
  dialog.modal[open] {
    animation: fadein 400ms ease-out forwards;
  }
  dialog.modal::backdrop {
    background: color-mix(in srgb, var(--_color---neutral--black) 80%, transparent);
  }
  @keyframes fadein{
    0%{
      opacity:0;
    }
    100%{
      opacity:1;
    }
  }
  dialog::-webkit-scrollbar {
    width: 10px;
  }            
  dialog::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: transparent;
  }            
  dialog::-webkit-scrollbar-thumb {
    border-radius: 10px;
    border: 2px solid var(--primary--background);
    background: var(--primary--text);
  }
  dialog::-webkit-scrollbar-thumb:window-inactive {
    background: var(--primary--text);
  }

/* Slider */
  .swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
  }
  [data-slider="component"] {
    --lg: 3; /* Desktop (992px+) */
    --md: 2; /* Tablet (768-991px) */
    --sm: 1; /* Mobile Landscape (480-767px) */
    --xs: 1; /* Mobile Portrait (0-479px) */
    --gap: 24px; /* Spacing between slides */
    --current-slides-per-view: var(--xs); /* Current active slides per view (changes with media queries) */
  }
  @media (min-width: 480px) and (max-width: 767px) {
    [data-slider="component"] {--current-slides-per-view: var(--sm);}
  }
  @media (min-width: 768px) and (max-width: 991px) {
    [data-slider="component"] {--current-slides-per-view: var(--md);}
  }
  @media (min-width: 992px) {
    [data-slider="component"] {--current-slides-per-view: var(--lg);}
  }
  [data-slider="component"] .swiper-slide {
    width: calc((100% - (var(--current-slides-per-view) - 1) * var(--gap)) / var(--current-slides-per-view)) !important;
    margin-right: var(--gap);
  }
  [data-slider-overflow="false"] {
    overflow: hidden;
  }
  [data-slider-overflow="true"] {
    overflow: visible !important;
  }
  [data-slider="component"] .swiper-wrapper:empty {
    min-height: 300px;
  }
  [data-slider="component"] .swiper-wrapper .w-dyn-list,
  [data-slider="component"] .swiper-wrapper .w-dyn-items,
  [data-slider="component"] .swiper-wrapper .w-dyn-item {
    display: contents;
  }

/* Tab pane animations  */
  .tabs-pane {
    animation: tabsFadeIn 0.5s ease;
  }
  @keyframes tabsFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  .tabs-pane[aria-hidden="true"] {
    display: none;
  }

  /* Vertical menu mods  */
  [data-wf--tabs-menu--settings-alignment="vertical"] .tabs-link {
    border-bottom: none;
    border-left: 2px solid var(--primary--border);
  }
  [data-wf--tabs-menu--settings-alignment="vertical"] .tabs-link.cc-active {
    border-color: var(--primary--text);
  }
  [data-wf--tabs-menu--settings-alignment="vertical"] .tabs-autoplay-progress {
    top: 0;
    right: auto;
    bottom: 0;
    left: -2px;
    width: 2px;
    height: 0%;
  }

  /* Autoplay animation  */
  .tabs-menu[data-tabs-autoplay="true"] .tabs-link[aria-selected="true"] .tabs-autoplay-progress {
    animation: autoplayProgress var(--autoplay-duration, 5s) linear forwards;
  }
  .tabs-component.autoplay-paused .tabs-menu[data-tabs-autoplay="true"] .tabs-link[aria-selected="true"] .tabs-autoplay-progress {
    animation-play-state: paused;
  }
  @keyframes autoplayProgress {
    from { width: 0%; }
    to { width: 100%; }
  }
  .tabs-component .tabs-menu[data-wf--tabs-menu--settings-alignment="vertical"][data-tabs-autoplay="true"] .tabs-link[aria-selected="true"] .tabs-autoplay-progress {
    animation: autoplayProgressVertical var(--autoplay-duration, 5s) linear forwards;
  }
  .tabs-component.autoplay-paused .tabs-menu[data-wf--tabs-menu--settings-alignment="vertical"][data-tabs-autoplay="true"] .tabs-link[aria-selected="true"] .tabs-autoplay-progress {
    animation-play-state: paused;
  }
  @keyframes autoplayProgressVertical {
    from { height: 0%; }
    to { height: 100%; }
  }

  /* Play/pause button  */
  .tabs-component.autoplay-paused .tabs-autoplay-toggle_pause {
    display: none;
  }
  .tabs-component.autoplay-paused .tabs-autoplay-toggle_play {
    display: flex;
  }

  /* Mobile dropdown */
  @media (max-width: 767px) {
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-menu_dropdown-toggle {
      display: flex;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-menu_dropdown-toggle.cc-open {
      border-radius: var(--_components---button--border-radius) var(--_components---button--border-radius) 0 0;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-menu_dropdown-toggle.cc-open .tabs-menu_dropdown-arrow {
      transform: rotate(180deg);
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-menu_dropdown-menu {
      display: none;
      position: absolute;
      top: calc(100% - 1px);
      left: 0;
      right: 0;
      background: var(--primary--background);
      border: 1px solid var(--primary--border);
      border-radius: 0 0 var(--_components---button--border-radius) var(--_components---button--border-radius);
      z-index: 10;
      max-height: 300px;
      overflow-x: hidden;
      overflow-y: auto;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-menu_dropdown-menu.cc-open {
      display: block;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .slot.cc-tabs-menu {
      display: flex;
      flex-direction: column;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-link {
      border: none;
    }
    .tabs-menu[data-tab-mobile-dropdown="true"] .tabs-link.cc-active {
      background-color: var(--primary--border);
    }
  }