@font-face {
  font-family: Suisseintl;
  src: url('../fonts/SuisseIntl-Regular-WebS.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Suisseintl;
  src: url('../fonts/SuisseIntl-Medium-WebS.woff2') format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Excon Complete;
  src: url('../fonts/Excon_Complete.zip') format("undefined");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-VariableItalic.ttf') format("truetype"), url('../fonts/GeneralSans-Italic.ttf') format("truetype"), url('../fonts/GeneralSans-VariableItalic.ttf') format("truetype");
  font-weight: 200 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans Variable;
  src: url('../fonts/GeneralSans-Variable.ttf') format("truetype"), url('../fonts/GeneralSans-Variable.ttf') format("truetype");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Semibold.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-ExtralightItalic.ttf') format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-LightItalic.ttf') format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Extralight.ttf') format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-BoldItalic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-MediumItalic.ttf') format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-SemiboldItalic.ttf') format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Generalsans;
  src: url('../fonts/GeneralSans-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ========================================
     COMPREHENSIVE COLOR SYSTEM
     Day and Night Mode Swatches for All UI Elements
     ======================================== */
  
  /* === BACKGROUNDS - LIGHT MODE === */
  --bg-primary-light: #ffffff;
  --bg-secondary-light: #f1f1f1;
  --bg-tertiary-light: #eeeeee;
  --bg-overlay-light: rgba(255, 255, 255, 0.95);
  --bg-navbar-light: #ffffff;
  --bg-nav-left-light: #ffffff;
  --bg-nav-right-light: #f5f5f5;
  --bg-card-light: #ffffff;
  --bg-panel-light: #fafafa;
  --bg-hover-light: #f8f8f8;
  
  /* === BACKGROUNDS - DARK MODE === */
  --bg-primary-dark: #000000;
  --bg-secondary-dark: #101010;
  --bg-tertiary-dark: #1d1d1d;
  --bg-overlay-dark: rgba(0, 0, 0, 0.95);
  --bg-navbar-dark: #111111;
  --bg-nav-left-dark: #0a0a0a;
  --bg-nav-right-dark: #1a1a1a;
  --bg-card-dark: #151515;
  --bg-panel-dark: #1a1a1a;
  --bg-hover-dark: #222222;
  
  /* === TEXT - LIGHT MODE === */
  --text-primary-light: #000000;
  --text-secondary-light: #4a4a4a;
  --text-tertiary-light: #818181;
  --text-muted-light: #999999;
  --text-link-light: #000000;
  --text-link-hover-light: #333333;
  --text-nav-link-light: #000000;
  --text-nav-link-hover-light: #FF6600;
  --text-heading-light: #000000;
  --text-label-light: #666666;
  
  /* === TEXT - DARK MODE === */
  --text-primary-dark: #ffffff;
  --text-secondary-dark: #b0b0b0;
  --text-tertiary-dark: #888888;
  --text-muted-dark: #666666;
  --text-link-dark: #ffffff;
  --text-link-hover-dark: #cccccc;
  --text-nav-link-dark: #ffffff;
  --text-nav-link-hover-dark: #FF6600;
  --text-heading-dark: #ffffff;
  --text-label-dark: #aaaaaa;
  
  /* === BORDERS - LIGHT MODE === */
  --border-primary-light: #e7e7e7;
  --border-secondary-light: #d0d0d0;
  --border-divider-light: #cccccc;
  --border-focus-light: #000000;
  --border-nav-light: #e7e7e7;
  --border-card-light: #e0e0e0;
  --border-input-light: #cccccc;
  --border-input-focus-light: #000000;
  
  /* === BORDERS - DARK MODE === */
  --border-primary-dark: #2a2a2a;
  --border-secondary-dark: #333333;
  --border-divider-dark: #444444;
  --border-focus-dark: #ffffff;
  --border-nav-dark: #2a2a2a;
  --border-card-dark: #333333;
  --border-input-dark: #444444;
  --border-input-focus-dark: #ffffff;
  
  /* === BUTTONS - LIGHT MODE === */
  --btn-primary-bg-light: #000000;
  --btn-primary-text-light: #ffffff;
  --btn-primary-border-light: #000000;
  --btn-primary-hover-bg-light: #333333;
  --btn-primary-hover-text-light: #ffffff;
  --btn-primary-hover-border-light: #333333;
  
  --btn-secondary-bg-light: transparent;
  --btn-secondary-text-light: #000000;
  --btn-secondary-border-light: #000000;
  --btn-secondary-hover-bg-light: rgba(0, 0, 0, 0.05);
  --btn-secondary-hover-text-light: #000000;
  --btn-secondary-hover-border-light: #000000;
  
  --btn-accent-bg-light: #FF6600;
  --btn-accent-text-light: #ffffff;
  --btn-accent-border-light: #FF6600;
  --btn-accent-hover-bg-light: #FB9F89;
  --btn-accent-hover-text-light: #ffffff;
  --btn-accent-hover-border-light: #FB9F89;
  
  /* === BUTTONS - DARK MODE === */
  --btn-primary-bg-dark: #ffffff;
  --btn-primary-text-dark: #000000;
  --btn-primary-border-dark: #ffffff;
  --btn-primary-hover-bg-dark: #cccccc;
  --btn-primary-hover-text-dark: #000000;
  --btn-primary-hover-border-dark: #cccccc;
  
  --btn-secondary-bg-dark: transparent;
  --btn-secondary-text-dark: #ffffff;
  --btn-secondary-border-dark: #ffffff;
  --btn-secondary-hover-bg-dark: rgba(255, 255, 255, 0.1);
  --btn-secondary-hover-text-dark: #ffffff;
  --btn-secondary-hover-border-dark: #ffffff;
  
  --btn-accent-bg-dark: #FF6600;
  --btn-accent-text-dark: #ffffff;
  --btn-accent-border-dark: #FF6600;
  --btn-accent-hover-bg-dark: #FB9F89;
  --btn-accent-hover-text-dark: #ffffff;
  --btn-accent-hover-border-dark: #FB9F89;
  
  /* === NAVIGATION - LIGHT MODE === */
  --nav-bg-light: #ffffff;
  --nav-text-light: #000000;
  --nav-toggle-bg-light: transparent;
  --nav-toggle-text-light: #000000;
  --nav-toggle-icon-light: #000000;
  --nav-toggle-hover-bg-light: rgba(0, 0, 0, 0.05);
  --nav-link-light: #000000;
  --nav-link-hover-light: #FF6600;
  --nav-link-active-light: #FF6600;
  
  /* === NAVIGATION - DARK MODE === */
  --nav-bg-dark: #111111;
  --nav-text-dark: #ffffff;
  --nav-toggle-bg-dark: transparent;
  --nav-toggle-text-dark: #ffffff;
  --nav-toggle-icon-dark: #ffffff;
  --nav-toggle-hover-bg-dark: rgba(255, 255, 255, 0.1);
  --nav-link-dark: #ffffff;
  --nav-link-hover-dark: #FF6600;
  --nav-link-active-dark: #FF6600;
  
  /* === SLIDER - LIGHT MODE === */
  --slider-bg-light: transparent;
  --slider-text-light: #000000;
  --slider-dot-light: rgba(0, 0, 0, 0.4);
  --slider-dot-active-light: #000000;
  --slider-arrow-light: #000000;
  --slider-nav-bg-light: rgba(0, 0, 0, 0.1);
  
  /* === SLIDER - DARK MODE === */
  --slider-bg-dark: transparent;
  --slider-text-dark: #ffffff;
  --slider-dot-dark: rgba(255, 255, 255, 0.4);
  --slider-dot-active-dark: #ffffff;
  --slider-arrow-dark: #ffffff;
  --slider-nav-bg-dark: rgba(255, 255, 255, 0.1);
  
  /* === FORMS - LIGHT MODE === */
  --form-input-bg-light: #ffffff;
  --form-input-text-light: #000000;
  --form-input-border-light: #cccccc;
  --form-input-focus-bg-light: #ffffff;
  --form-input-focus-border-light: #000000;
  --form-placeholder-light: #999999;
  --form-label-light: #666666;
  --form-error-light: #cc0000;
  --form-success-light: #00aa00;
  
  /* === FORMS - DARK MODE === */
  --form-input-bg-dark: #1a1a1a;
  --form-input-text-dark: #ffffff;
  --form-input-border-dark: #444444;
  --form-input-focus-bg-dark: #1a1a1a;
  --form-input-focus-border-dark: #ffffff;
  --form-placeholder-dark: #666666;
  --form-label-dark: #aaaaaa;
  --form-error-dark: #ff4444;
  --form-success-dark: #44ff44;
  
  /* === CARDS/PANELS - LIGHT MODE === */
  --card-bg-light: #ffffff;
  --card-border-light: #e0e0e0;
  --card-shadow-light: rgba(0, 0, 0, 0.1);
  --panel-bg-light: #fafafa;
  --panel-border-light: #e7e7e7;
  
  /* === CARDS/PANELS - DARK MODE === */
  --card-bg-dark: #151515;
  --card-border-dark: #333333;
  --card-shadow-dark: rgba(0, 0, 0, 0.5);
  --panel-bg-dark: #1a1a1a;
  --panel-border-dark: #2a2a2a;
  
  /* === ALERTS/FEEDBACK - LIGHT MODE === */
  --alert-success-bg-light: #f0f9f0;
  --alert-success-text-light: #00aa00;
  --alert-success-border-light: #00aa00;
  --alert-error-bg-light: #fff0f0;
  --alert-error-text-light: #cc0000;
  --alert-error-border-light: #cc0000;
  --alert-warning-bg-light: #fff9f0;
  --alert-warning-text-light: #cc8800;
  --alert-warning-border-light: #cc8800;
  --alert-info-bg-light: #f0f9ff;
  --alert-info-text-light: #0088cc;
  --alert-info-border-light: #0088cc;
  
  /* === ALERTS/FEEDBACK - DARK MODE === */
  --alert-success-bg-dark: #0a1a0a;
  --alert-success-text-dark: #44ff44;
  --alert-success-border-dark: #44ff44;
  --alert-error-bg-dark: #1a0a0a;
  --alert-error-text-dark: #ff4444;
  --alert-error-border-dark: #ff4444;
  --alert-warning-bg-dark: #1a150a;
  --alert-warning-text-dark: #ffaa44;
  --alert-warning-border-dark: #ffaa44;
  --alert-info-bg-dark: #0a151a;
  --alert-info-text-dark: #44aaff;
  --alert-info-border-dark: #44aaff;
  
  /* === ACCENT COLORS (Theme-agnostic) === */
  --accent-orange: #FF6600;
  --accent-orange-light: #FB9F89;
  --accent-teal: #81AE9D;
  --accent-brown: #C4AF9A;
  
  /* === CURRENT THEME (defaults to light) === */
  --bg-primary: var(--bg-primary-light);
  --bg-secondary: var(--bg-secondary-light);
  --bg-tertiary: var(--bg-tertiary-light);
  --bg-overlay: var(--bg-overlay-light);
  --text-primary: var(--text-primary-light);
  --text-secondary: var(--text-secondary-light);
  --text-tertiary: var(--text-tertiary-light);
  --text-muted: var(--text-muted-light);
  --text-link: var(--text-link-light);
  --text-link-hover: var(--text-link-hover-light);
  --border: var(--border-primary-light);
  --border-secondary: var(--border-secondary-light);
  --border-divider: var(--border-divider-light);
  --border-focus: var(--border-focus-light);
  
  /* Legacy color aliases for backward compatibility */
  --white: var(--bg-primary-light);
  --black: var(--text-primary-light);
  --old-lace: #f5f2e4;
}

/* ========================================
   DARK THEME OVERRIDES
   ======================================== */
[data-theme="dark"] {
  /* Backgrounds */
  --bg-primary: var(--bg-primary-dark);
  --bg-secondary: var(--bg-secondary-dark);
  --bg-tertiary: var(--bg-tertiary-dark);
  --bg-overlay: var(--bg-overlay-dark);
  --bg-navbar: var(--bg-navbar-dark);
  --bg-nav-left: var(--bg-nav-left-dark);
  --bg-nav-right: var(--bg-nav-right-dark);
  --bg-card: var(--card-bg-dark);
  --bg-panel: var(--panel-bg-dark);
  --bg-hover: var(--bg-hover-dark);
  
  /* Text */
  --text-primary: var(--text-primary-dark);
  --text-secondary: var(--text-secondary-dark);
  --text-tertiary: var(--text-tertiary-dark);
  --text-muted: var(--text-muted-dark);
  --text-link: var(--text-link-dark);
  --text-link-hover: var(--text-link-hover-dark);
  --text-nav-link: var(--text-nav-link-dark);
  --text-nav-link-hover: var(--text-nav-link-hover-dark);
  --text-heading: var(--text-heading-dark);
  --text-label: var(--text-label-light);
  
  /* Borders */
  --border: var(--border-primary-dark);
  --border-secondary: var(--border-secondary-dark);
  --border-divider: var(--border-divider-dark);
  --border-focus: var(--border-focus-dark);
  --border-nav: var(--border-nav-dark);
  --border-card: var(--border-card-dark);
  --border-input: var(--border-input-dark);
  --border-input-focus: var(--border-input-focus-dark);
  
  /* Buttons */
  --btn-primary-bg: var(--btn-primary-bg-dark);
  --btn-primary-text: var(--btn-primary-text-dark);
  --btn-primary-border: var(--btn-primary-border-dark);
  --btn-primary-hover-bg: var(--btn-primary-hover-bg-dark);
  --btn-primary-hover-text: var(--btn-primary-hover-text-dark);
  --btn-primary-hover-border: var(--btn-primary-hover-border-dark);
  
  --btn-secondary-bg: var(--btn-secondary-bg-dark);
  --btn-secondary-text: var(--btn-secondary-text-dark);
  --btn-secondary-border: var(--btn-secondary-border-dark);
  --btn-secondary-hover-bg: var(--btn-secondary-hover-bg-dark);
  --btn-secondary-hover-text: var(--btn-secondary-hover-text-dark);
  --btn-secondary-hover-border: var(--btn-secondary-hover-border-dark);
  
  --btn-accent-bg: var(--btn-accent-bg-dark);
  --btn-accent-text: var(--btn-accent-text-dark);
  --btn-accent-border: var(--btn-accent-border-dark);
  --btn-accent-hover-bg: var(--btn-accent-hover-bg-dark);
  --btn-accent-hover-text: var(--btn-accent-hover-text-dark);
  --btn-accent-hover-border: var(--btn-accent-hover-border-dark);
  
  /* Navigation */
  --nav-bg: var(--nav-bg-dark);
  --nav-text: var(--nav-text-dark);
  --nav-toggle-bg: var(--nav-toggle-bg-dark);
  --nav-toggle-text: var(--nav-toggle-text-dark);
  --nav-toggle-icon: var(--nav-toggle-icon-dark);
  --nav-toggle-hover-bg: var(--nav-toggle-hover-bg-dark);
  --nav-link: var(--nav-link-dark);
  --nav-link-hover: var(--nav-link-hover-dark);
  --nav-link-active: var(--nav-link-active-dark);
  
  /* Slider */
  --slider-bg: var(--slider-bg-dark);
  --slider-text: var(--slider-text-dark);
  --slider-dot: var(--slider-dot-dark);
  --slider-dot-active: var(--slider-dot-active-dark);
  --slider-arrow: var(--slider-arrow-dark);
  --slider-nav-bg: var(--slider-nav-bg-dark);
  
  /* Forms */
  --form-input-bg: var(--form-input-bg-dark);
  --form-input-text: var(--form-input-text-dark);
  --form-input-border: var(--form-input-border-dark);
  --form-input-focus-bg: var(--form-input-focus-bg-dark);
  --form-input-focus-border: var(--form-input-focus-border-dark);
  --form-placeholder: var(--form-placeholder-dark);
  --form-label: var(--form-label-dark);
  --form-error: var(--form-error-dark);
  --form-success: var(--form-success-dark);
  
  /* Cards/Panels */
  --card-bg: var(--card-bg-dark);
  --card-border: var(--card-border-dark);
  --card-shadow: var(--card-shadow-dark);
  --panel-bg: var(--panel-bg-dark);
  --panel-border: var(--panel-border-dark);
  
  /* Alerts */
  --alert-success-bg: var(--alert-success-bg-dark);
  --alert-success-text: var(--alert-success-text-dark);
  --alert-success-border: var(--alert-success-border-dark);
  --alert-error-bg: var(--alert-error-bg-dark);
  --alert-error-text: var(--alert-error-text-dark);
  --alert-error-border: var(--alert-error-border-dark);
  --alert-warning-bg: var(--alert-warning-bg-dark);
  --alert-warning-text: var(--alert-warning-text-dark);
  --alert-warning-border: var(--alert-warning-border-dark);
  --alert-info-bg: var(--alert-info-bg-dark);
  --alert-info-text: var(--alert-info-text-dark);
  --alert-info-border: var(--alert-info-border-dark);
  
  /* Legacy aliases */
  --white: var(--bg-primary-dark);
  --black: var(--text-primary-dark);
}

/* ========================================
   LIGHT THEME DEFAULTS (Current Theme Variables)
   ======================================== */
:root {
  /* Backgrounds */
  --bg-navbar: var(--bg-navbar-light);
  --bg-nav-left: var(--bg-nav-left-light);
  --bg-nav-right: var(--bg-nav-right-light);
  --bg-card: var(--card-bg-light);
  --bg-panel: var(--panel-bg-light);
  --bg-hover: var(--bg-hover-light);
  
  /* Text */
  --text-nav-link: var(--text-nav-link-light);
  --text-nav-link-hover: var(--text-nav-link-hover-light);
  --text-heading: var(--text-heading-light);
  --text-label: var(--text-label-light);
  
  /* Borders */
  --border-nav: var(--border-nav-light);
  --border-card: var(--border-card-light);
  --border-input: var(--border-input-light);
  --border-input-focus: var(--border-input-focus-light);
  
  /* Buttons */
  --btn-primary-bg: var(--btn-primary-bg-light);
  --btn-primary-text: var(--btn-primary-text-light);
  --btn-primary-border: var(--btn-primary-border-light);
  --btn-primary-hover-bg: var(--btn-primary-hover-bg-light);
  --btn-primary-hover-text: var(--btn-primary-hover-text-light);
  --btn-primary-hover-border: var(--btn-primary-hover-border-light);
  
  --btn-secondary-bg: var(--btn-secondary-bg-light);
  --btn-secondary-text: var(--btn-secondary-text-light);
  --btn-secondary-border: var(--btn-secondary-border-light);
  --btn-secondary-hover-bg: var(--btn-secondary-hover-bg-light);
  --btn-secondary-hover-text: var(--btn-secondary-hover-text-light);
  --btn-secondary-hover-border: var(--btn-secondary-hover-border-light);
  
  --btn-accent-bg: var(--btn-accent-bg-light);
  --btn-accent-text: var(--btn-accent-text-light);
  --btn-accent-border: var(--btn-accent-border-light);
  --btn-accent-hover-bg: var(--btn-accent-hover-bg-light);
  --btn-accent-hover-text: var(--btn-accent-hover-text-light);
  --btn-accent-hover-border: var(--btn-accent-hover-border-light);
  
  /* Navigation */
  --nav-bg: var(--nav-bg-light);
  --nav-text: var(--nav-text-light);
  --nav-toggle-bg: var(--nav-toggle-bg-light);
  --nav-toggle-text: var(--nav-toggle-text-light);
  --nav-toggle-icon: var(--nav-toggle-icon-light);
  --nav-toggle-hover-bg: var(--nav-toggle-hover-bg-light);
  --nav-link: var(--nav-link-light);
  --nav-link-hover: var(--nav-link-hover-light);
  --nav-link-active: var(--nav-link-active-light);
  
  /* Slider */
  --slider-bg: var(--slider-bg-light);
  --slider-text: var(--slider-text-light);
  --slider-dot: var(--slider-dot-light);
  --slider-dot-active: var(--slider-dot-active-light);
  --slider-arrow: var(--slider-arrow-light);
  --slider-nav-bg: var(--slider-nav-bg-light);
  
  /* Forms */
  --form-input-bg: var(--form-input-bg-light);
  --form-input-text: var(--form-input-text-light);
  --form-input-border: var(--form-input-border-light);
  --form-input-focus-bg: var(--form-input-focus-bg-light);
  --form-input-focus-border: var(--form-input-focus-border-light);
  --form-placeholder: var(--form-placeholder-light);
  --form-label: var(--form-label-light);
  --form-error: var(--form-error-light);
  --form-success: var(--form-success-light);
  
  /* Cards/Panels */
  --card-bg: var(--card-bg-light);
  --card-border: var(--card-border-light);
  --card-shadow: var(--card-shadow-light);
  --panel-bg: var(--panel-bg-light);
  --panel-border: var(--panel-border-light);
  
  /* Alerts */
  --alert-success-bg: var(--alert-success-bg-light);
  --alert-success-text: var(--alert-success-text-light);
  --alert-success-border: var(--alert-success-border-light);
  --alert-error-bg: var(--alert-error-bg-light);
  --alert-error-text: var(--alert-error-text-light);
  --alert-error-border: var(--alert-error-border-light);
  --alert-warning-bg: var(--alert-warning-bg-light);
  --alert-warning-text: var(--alert-warning-text-light);
  --alert-warning-border: var(--alert-warning-border-light);
  --alert-info-bg: var(--alert-info-bg-light);
  --alert-info-text: var(--alert-info-text-light);
  --alert-info-border: var(--alert-info-border-light);
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  letter-spacing: -.5px;
  font-family: Generalsans Variable, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  transition: background-color 0.3s ease, color 0.3s ease;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.nav_logo {
  color: var(--black);
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 22vw;
  line-height: 1.2;
}

.nav_right {
  align-items: center;
  margin-left: auto;
  display: flex;
}

.nav_link {
  border-bottom: 1px solid #0000;
  margin-right: 2vw;
  display: block;
}

.nav_link:hover {
  border-bottom-color: var(--black);
  text-decoration: none;
}

.nav_link.w--current {
  border-bottom: 1px solid var(--black);
}

.nav_link.w--current:hover {
  text-decoration: none;
}

.nav_contain {
  text-transform: uppercase;
  flex: 1;
  grid-template-rows: auto;
  grid-template-columns: 1fr .5fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.nav_left {
  align-items: center;
  display: flex;
}

.custom-css {
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.nav-old {
  z-index: 1000;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  text-align: center;
  letter-spacing: 0;
  background-color: #ffffff61;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  padding: 10px 2.4vw;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.25;
  display: flex;
  position: sticky;
  top: 0;
}

.nav_button {
  color: #000;
  text-align: center;
  background-color: #e3fc0200;
  border: 1px solid #000;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  padding: 1vw 1.6vw .8vw;
  transition: color .2s cubic-bezier(.215, .61, .355, 1), border-color .2s cubic-bezier(.215, .61, .355, 1), background-color .2s cubic-bezier(.215, .61, .355, 1);
  display: flex;
}

.nav_button:hover {
  border-color: var(--black);
  background-color: var(--black);
  color: var(--old-lace);
}

.nav_button.is-left {
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-right: 2vw;
  display: flex;
}

.main-wrapper {
  flex-flow: column;
  width: 100vw;
  display: flex;
}

.home_header {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: relative;
}

.hero_heading {
  color: var(--white);
  font-size: 10vw;
  line-height: 1.1;
}

.hero_text-wrap {
  z-index: 1;
  color: var(--white);
  text-align: center;
  letter-spacing: -.1vw;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2.4vw;
  line-height: 1;
  display: flex;
  position: absolute;
  bottom: 7%;
}

.background-video {
  filter: brightness(106%);
  width: 100%;
  min-height: 85svh;
}

.product-contain {
  width: 100%;
  display: block;
  position: relative;
}

.hero_contain {
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 2vw;
  display: flex;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.special-k {
  transform-style: preserve-3d;
  display: inline-block;
  transform: scaleX(-1); /* Mirror horizontally for backwards K */
}

.body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.page-wrapper {
  display: none;
}

.accordion-trigger---brix {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.accordion-content---brix {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.accordion-arrow-wrap---brix {
  background-color: #fff;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 50px;
  min-height: 50px;
  display: flex;
  box-shadow: 0 5px 16px #080f340f;
}

.accordion-arrow-wrapper---brix {
  z-index: 200;
  color: #4a3aff;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  padding-bottom: 2px;
  display: flex;
  position: relative;
  transform: rotate(90deg);
}

.accordion-item-wrapper---brix {
  margin-left: auto;
  margin-right: auto;
}

.cloneable-container-default {
  border-radius: 20px;
  min-height: 624px;
  padding: 10px;
  transform: translate(0);
}

.arrow-line---brix {
  background-color: #4a3aff;
  border-radius: 500px;
  width: 11px;
  min-height: 2px;
  position: absolute;
}

.arrow-line---brix._2---brix {
  right: 7px;
  transform: rotate(-45deg);
}

.arrow-line---brix._1---brix {
  left: 7px;
  transform: rotate(45deg);
}

.accordion-item-title---brix {
  color: #170f49;
  font-size: 22px;
  font-weight: 500;
  line-height: 28px;
}

.accordion-item---brix {
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  padding: 20px;
  display: flex;
}

.accordion-item---brix.accordion-1---brix {
  border: 2px solid #0000;
  transition: border-color .2s, box-shadow .2s;
  box-shadow: 0 5px 16px #080f340f;
}

.accordion-item---brix.accordion-1---brix:hover {
  box-shadow: 0 14px 21px #4a3aff0f;
}

.coming-soon-page-wrap {
  z-index: 98;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
  position: relative;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color 0.3s ease, color 0.3s ease;
}

._3d-text {
  color: var(--text-primary);
  letter-spacing: .05em;
  text-transform: uppercase;
  transform-style: preserve-3d;
  font-size: 4rem;
  font-weight: 900;
  line-height: .8;
  position: relative;
  transform: translate3d(0, 0, 1px);
  transition: color 0.3s ease;
}

._3d-text.x-rotate-b {
  transform-origin: 100%;
  transform-style: preserve-3d;
  position: absolute;
  top: 0%;
  bottom: 0%;
  right: 100%;
  transform: rotateX(0)rotateY(-90deg)rotateZ(0);
}

._3d-text.x-bg {
  transform-origin: 0%;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0%;
  transform: rotateX(0)rotateY(90deg)rotateZ(0);
}

._3d-text.x-rotate-k {
  transform-origin: 100%;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0%;
  transform: rotateX(0)rotateY(-90deg)rotateZ(0);
}

.button {
  color: #000;
  text-transform: uppercase;
  background-color: #fff;
  border-radius: 20rem;
}

.button.absolute {
  border: 1px solid #000;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  padding: 16px 66px;
  transition: all .35s cubic-bezier(.801, .077, 0, 1.094);
  display: flex;
}

.button.absolute:hover {
  border-color: var(--white);
  color: #fff;
  background-color: #000;
  background-image: linear-gradient(#000, #3d3d3d);
  transform: translate(0, -7px);
  box-shadow: 0 2px 32px #0000004d;
}

.text-block {
  text-align: center;
  font-size: 14px;
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.text-block-2 {
  white-space: nowrap;
}

.vflex {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.vflex.absolute {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  position: absolute;
  inset: auto 0% 5%;
}

.brand-logo {
  z-index: 1;
  object-fit: contain;
  width: 70%;
  height: 70%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5%;
  position: absolute;
  transform: translate(0, 5%);
}

.accordion-content-grid {
  grid-column-gap: 1.5vw;
  grid-row-gap: 1.5vw;
  flex: none;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  place-content: start center;
  place-items: start;
  width: 100%;
  height: auto;
  padding: 2.5vw;
  display: grid;
  position: relative;
  overflow: visible;
}

.link {
  color: #d3d4d4;
  flex: none;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  transition-duration: .5s;
}

.link:hover {
  color: #8f00ff;
}

.link.w--current {
  color: #000;
}

.link.black-color {
  color: #000;
  cursor: pointer;
  transition-property: color;
}

.link.black-color:hover {
  color: #8f00ff;
}

.nav {
  z-index: 100;
  background-color: #fff;
  flex: none;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: 100%;
  height: 10vh;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  position: fixed;
  top: 0;
  left: 150px;
  right: 0;
}

.black-text {
  color: #000;
  font-weight: 800;
}

.blur-tm {
  z-index: 200;
  opacity: .7;
  filter: blur(30px);
  width: 8vw;
  position: fixed;
  inset: 0% auto auto 55%;
}

.button-2 {
  text-align: center;
  cursor: pointer;
  background-color: #000;
  flex: none;
  justify-content: center;
  align-items: center;
  height: 55px;
  margin-left: 20px;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 600;
  display: flex;
}

.accordion-toggle-grid {
  grid-column-gap: 1.5vw;
  grid-row-gap: 1.5vw;
  flex: none;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-content: center;
  place-items: center start;
  width: 100%;
  height: 100%;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
  display: grid;
}

.accordion-content {
  z-index: 1;
  background-color: #0000;
  flex: none;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: 90vh;
  transition: height .75s;
  display: block;
  position: relative;
  overflow: visible;
}

.accordion-content.w--open {
  background-color: #0000;
  height: auto;
  min-height: 30vh;
}

.accordion-title-container {
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 0;
  transition: all .75s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nav-grid {
  grid-column-gap: 1.5vw;
  grid-row-gap: 3vw;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  width: 100%;
  max-width: 100%;
  height: 100%;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
  display: grid;
}

.accordion-content-wrap {
  width: 100%;
  height: auto;
  position: relative;
}

.nav-menu {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.nav-item {
  color: #d3d4d4;
  letter-spacing: -.4px;
  align-items: center;
  width: 100%;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  font-size: 15px;
  font-weight: 700;
  display: flex;
}

.nav-item:hover {
  color: #8f00ff;
}

.nav-item.w--current {
  color: #000;
}

.accordion-vertical-label {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 20px;
  margin-bottom: 15px;
  margin-left: 5px;
  margin-right: 5px;
  font-weight: 700;
  line-height: 100%;
  display: flex;
  position: absolute;
  right: -25px;
  transform: rotate(180deg);
}

.accordion-vertical-label.secondary {
  color: #d3d4d4;
  margin-bottom: 0;
  transition: all .5s;
  position: relative;
  right: 0;
}

.accordion-vertical-label.secondary:hover {
  color: #8f00ff;
}

.hero {
  z-index: 99;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100%;
  max-height: 100%;
  display: none;
  position: relative;
}

.blur-tr-container {
  z-index: 200;
  opacity: .7;
  filter: blur(45px);
  justify-content: flex-start;
  align-items: center;
  width: 20vw;
  height: 80vh;
  display: flex;
  position: fixed;
  inset: 10vh 0% auto auto;
  overflow: hidden;
}

.content-subnav-sticky {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
  position: sticky;
  top: 35vh;
}

.blur-bl {
  z-index: 200;
  opacity: .75;
  filter: blur(50px);
  width: 17.5vw;
  transition: all 1s;
  position: fixed;
  inset: auto auto 10% 3%;
}

.sidebar {
  z-index: 100;
  background-color: #fff;
  border-right: 1px solid #d3d4d4;
  flex-direction: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 100%;
  padding: 2.5vw;
  display: flex;
  position: relative;
}

.accordion-icon {
  border: 1px solid #d3d4d4;
  border-radius: 100%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 5vw;
  height: 5vw;
  padding: 1vw;
  transition: all .5s;
  display: flex;
  position: relative;
}

.accordion-icon:hover {
  border-color: #8f00ff;
}

.accordion-content-jump {
  width: 100%;
  height: 30px;
  position: absolute;
  inset: -30vh 0% auto;
}

.accordion-toggle {
  z-index: 10;
  background-color: #fff;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 30vh;
  min-height: 30vh;
  max-height: 30vh;
  padding: 0;
  transition: all .5s;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.accordion-toggle.w--open {
  flex: none;
  height: 30vh;
}

.accordion {
  z-index: 1;
  box-shadow: none;
  border-bottom: 1px solid #d3d4d4;
  flex-direction: column;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 30vh;
  min-height: 0;
  max-height: 90vh;
  transition: box-shadow .75s, border-color .75s;
  display: flex;
  position: relative;
  overflow: scroll;
}

.accordion:hover {
  z-index: 2;
  box-shadow: 0 10px 40px 30px #d3d4d466;
}

.accordion-header {
  letter-spacing: -.2vw;
  font-size: 6vw;
  font-weight: 400;
  line-height: 110%;
}

.flex-horizontal {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.flex-horizontal.flex-right {
  justify-content: flex-end;
}

.content-subnav {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
}

.spacer-15 {
  width: 100%;
  height: 15px;
}

.nav-menu-list {
  grid-column-gap: 1vw;
  grid-row-gap: 1vw;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
}

.accordion-container {
  z-index: 10;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  width: 100%;
  height: 100vh;
  min-height: 100%;
  max-height: 100vh;
  padding-top: 10vh;
  display: flex;
  position: relative;
  inset: 0% 0% 0% auto;
  overflow: visible;
}

.brand {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 5vw;
  height: 5vw;
  transition-property: none;
  display: flex;
  position: absolute;
  bottom: 2.5vw;
  transform: rotate(0);
}

.brand-logo-background {
  z-index: 0;
  background-color: #000;
  border-radius: 20vw;
  flex: none;
  width: 5vw;
  height: 5vw;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
}

.icon-line {
  background-color: #000;
  width: 2px;
  height: auto;
  position: absolute;
  top: 1vw;
  bottom: 1vw;
}

.icon-line-static {
  background-color: #000;
  width: 100%;
  height: 2px;
}

.blur-tr {
  z-index: 200;
  object-fit: cover;
  object-position: 0% 50%;
  flex: none;
  width: 20vw;
  height: 80vh;
  position: relative;
}

.break-normal {
  white-space: normal;
  line-height: 140%;
}

.logo {
  width: 100px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  inset: 6% 0% auto;
}

.hero_products-arrow {
  z-index: 2;
  position: absolute;
  inset: 4vw 3vw auto auto;
}

.sr-only {
  display: none;
}

.newsletter-block {
  font-size: 1.3vw;
}

.spacer {
  height: 0;
}

.nav_button-2 {
  color: #000;
  text-align: center;
  background-color: #e3fc0200;
  border: 1px solid #000;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  padding: 1vw 2vw;
  display: flex;
}

.nav_button-2:hover {
  background-color: #e3fc02;
  border-color: #e3fc02;
}

.nav_button-2.is-left {
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-right: 2vw;
  display: flex;
}

.marquee-track {
  align-items: center;
  display: none;
}

.marquee-track.is--desk {
  display: flex;
}

.footer-heading {
  margin-bottom: 2vw;
  font-size: 1.8vw;
  line-height: 1;
}

.newsletter-form {
  flex-direction: column;
  display: flex;
}

.nav-2 {
  z-index: 1000;
  background-color: #fff;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  padding: 1vw 2vw;
  display: flex;
  position: sticky;
  top: 0;
}

.featured_category-name {
  margin-left: 0;
  margin-right: 0;
}

.newsletter-success {
  text-align: left;
  background-color: #0000;
  padding: 0;
}

.featured-product_name {
  font-size: 1.125vw;
  text-decoration: underline;
}

.footer-column {
  flex-direction: column;
  display: flex;
}

.footer-column.is-newsletter {
  padding-left: 27%;
}

.featured-product_top {
  border-radius: 1vw;
  justify-content: center;
  align-items: center;
  height: 80vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nav_link-2 {
  margin-right: 2vw;
  display: block;
}

.nav_link-2:hover {
  text-decoration: underline;
}

.nav_cart {
  width: 6vw;
  margin-right: 2vw;
}

.hero_products-arrow-view {
  z-index: 2;
  position: absolute;
  inset: auto auto 4vw 3vw;
}

.home_grid-right {
  grid-column-gap: 1vw;
  grid-row-gap: 4vw;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.home_grid-right.is--contact {
  grid-row-gap: 0vw;
}

.featured-product {
  border-bottom: 1px solid #000;
}

.featured-section {
  padding: 4vw 2vw;
}

.contact-section {
  padding-bottom: 4vw;
  padding-left: 2vw;
  padding-right: 2vw;
}

.hero_products-item {
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.nav_left-2 {
  align-items: center;
  display: flex;
}

.home-company_image {
  border-radius: 1vw;
  width: 100%;
  height: 100%;
}

.featured-heading {
  font-size: 5vw;
  font-weight: 400;
  line-height: 1.125;
}

.featured_products-image {
  z-index: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
}

.company-link {
  display: inline-block;
}

.company-link:hover {
  color: #2a06d8;
}

.desk-80 {
  width: 80%;
}

.footer-link {
  margin-bottom: .5vw;
  font-size: 1.2vw;
  font-weight: 400;
}

.footer-link:hover {
  text-decoration: underline;
}

.newsletter-email {
  background-color: #0000;
  border: 1px solid #000;
  border-radius: 1000vw;
  padding: 1.6vw 2vw;
}

.newsletter-email:focus {
  border-color: #000;
}

.home_grid-left {
  margin-left: 0;
  margin-right: 0;
  font-size: 1.4vw;
  line-height: 1.4;
  position: sticky;
  top: 8vw;
  left: 0;
}

.contact-link {
  border-top: .5px solid #000;
  padding-top: 2vw;
  padding-bottom: 2vw;
  font-size: 3vw;
  transition: all .18s cubic-bezier(.215, .61, .355, 1);
}

.contact-link:hover {
  color: #ff0036;
}

.contact-link.is-last {
  border-bottom: .5px solid #000;
}

.hero_products-blur {
  z-index: 1;
  border-radius: 1vw;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 90%;
  display: flex;
  position: absolute;
}

.footer-logo {
  width: 12vw;
}

.footer-button {
  color: #000;
  text-align: center;
  background-color: #e3fc0200;
  border: 1px solid #000;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  padding: 1vw 2vw;
  display: flex;
}

.footer-button:hover {
  background-color: #e3fc02;
  border-color: #e3fc02;
}

.marquee-embed {
  justify-content: center;
  align-items: center;
  margin-right: 4vw;
  font-family: Generalsans Variable, Arial, sans-serif;
  font-size: 6rem;
  display: flex;
}

.featured-product_bottom {
  border-bottom-right-radius: 1vw;
  border-bottom-left-radius: 1vw;
  justify-content: space-between;
  align-items: center;
  padding: 1vw;
  font-size: 1.125vw;
  display: flex;
}

.buy-spinner {
  z-index: 2;
  width: 72%;
  display: none;
  position: absolute;
}

.hero-products {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-radius: 1vw;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin: 4vw 1vw;
  display: grid;
  overflow: hidden;
}

.hero_products-view {
  z-index: 2;
  opacity: 0;
  font-size: 3.2vw;
  position: absolute;
}

.newsletter-submit {
  background-color: #000;
  border-radius: 100vw;
  padding: 1.2vw 2vw;
}

.company-heading {
  border-bottom: 1px solid #000;
  margin-bottom: 3vw;
  padding-bottom: 1vw;
  font-size: 9vw;
  font-weight: 400;
  line-height: 1;
}

.hero_products-name {
  z-index: 2;
  margin: 0;
  font-size: 2vw;
  font-weight: 400;
  position: absolute;
  inset: 4vw auto auto 3vw;
}

.nav-contain {
  flex: 1;
  grid-template-rows: auto;
  grid-template-columns: 1fr .5fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.buy-spinner_first {
  z-index: 2;
  width: 72%;
  display: none;
  position: absolute;
}

.nav_cart-embed {
  height: 2.4vw;
}

.hero_products-image {
  object-fit: cover;
  width: 100%;
  height: 40vw;
  display: block;
}

.newsletter-failure {
  background-color: #0000;
  margin-top: 1vw;
  padding: 0;
}

.featured_products-image-secondary {
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  inset: 0%;
}

.marquee {
  flex-direction: column;
  justify-content: center;
  min-height: 9vw;
  margin-top: 4vw;
  display: flex;
  position: relative;
  overflow: hidden;
}

.banner {
  color: #fff;
  background-color: #000;
  justify-content: center;
  align-items: center;
  padding: 1vw;
  line-height: 1;
  display: flex;
}

.home-grid {
  grid-column-gap: 1vw;
  grid-template-rows: auto;
  grid-template-columns: .5fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  margin-top: 8vw;
  display: grid;
  position: relative;
}

.company-section {
  padding: 4vw 2vw;
}

.footer {
  grid-column-gap: 2vw;
  grid-row-gap: 8vw;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1.5fr;
  grid-auto-columns: 1fr;
  margin-top: 8vw;
  padding-bottom: 3vw;
  padding-left: 2vw;
  padding-right: 2vw;
  display: grid;
}

.button-3 {
  color: #000;
  background-color: #e3fc0200;
  border: 1px solid #000;
  border-radius: 100vw;
  margin-top: 2vw;
  padding: 1vw 2vw;
}

.button-3:hover {
  background-color: #e3fc02;
  border-color: #e3fc02;
}

.nav_logo-2 {
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 11vw;
  margin-left: auto;
  margin-right: auto;
}

.header-logo {
  width: 75px;
}

@media screen and (max-width: 991px) {
  .nav_link {
    margin-bottom: 20px;
  }

  .nav_link.w--current {
    border-bottom-color: #0000;
  }

  .nav_link.is--cart {
    margin-bottom: 0;
  }

  .nav_contain {
    grid-template-columns: .75fr 1fr .75fr;
    justify-items: start;
  }

  .nav_left {
    z-index: 1000;
    background-color: var(--old-lace);
    flex-direction: column;
    padding: 48px 16px 16px;
    position: absolute;
    inset: 0% 0% auto;
  }

  .nav_menu {
    background-color: #0000;
    font-size: 1.6vw;
  }

  .nav_menu.w--open {
    background-color: #0000;
  }

  .nav-old {
    grid-template-columns: 1.25fr 1fr 1fr;
    font-size: 2vw;
  }

  .nav_button.is-left {
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    display: none;
  }

  .background-video {
    min-height: 60vh;
  }

  .accordion-item-title---brix {
    max-width: 88%;
  }

  .accordion-item---brix.accordion-1---brix {
    margin-bottom: 20px;
  }

  ._3d-text {
    font-size: 2.8rem;
  }

  .accordion-content-grid {
    grid-row-gap: 3vw;
  }

  .nav {
    width: 100%;
    left: 0;
    right: 0;
  }

  .content-subnav-sticky {
    top: 32.5vh;
  }

  .sidebar {
    display: none;
  }

  .newsletter-block {
    font-size: 1.6vw;
  }

  .nav_button-2.is-left {
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .nav-2 {
    grid-template-columns: 1.25fr 1fr 1fr;
    position: relative;
  }

  .featured-product_name {
    margin-bottom: 1vw;
    font-size: 1.8vw;
  }

  .footer-column.is-newsletter {
    padding-left: 0%;
  }

  .featured-product_top {
    height: auto;
    min-height: 400px;
  }

  .nav_link-2 {
    margin-bottom: 20px;
  }

  .home_grid-right {
    grid-column-gap: 2vw;
  }

  .featured-product {
    flex-direction: column;
    display: flex;
  }

  .nav_left-2 {
    z-index: 1000;
    background-color: #f4e7d4;
    flex-direction: column;
    height: 100vh;
    padding: 48px 16px 16px;
    inset: 0% auto 0% 0%;
    box-shadow: 20px 0 20px 20px #0000000d;
  }

  .footer-link {
    font-size: 1.6vw;
  }

  .home_grid-left {
    font-size: 1.8vw;
  }

  .nav_menu-2 {
    background-color: #0000;
    font-size: 1.6vw;
  }

  .marquee-embed {
    font-family: Generalsans, Arial, sans-serif;
    font-size: 5rem;
  }

  .featured-product_bottom {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 0;
    padding-right: 0;
    font-size: 1.6vw;
  }

  .newsletter-submit {
    padding-top: 1.8vw;
    padding-bottom: 1.8vw;
  }

  .nav-contain {
    grid-template-columns: 1.25fr .5fr 1fr;
    justify-items: start;
  }

  .nav_cart-embed {
    height: 24px;
  }

  .home-grid {
    grid-template-columns: .5fr 1fr;
  }

  .footer {
    grid-template-columns: 1fr 1fr 1fr 1.25fr;
  }
}

@media screen and (max-width: 767px) {
  .nav_logo {
    width: auto;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
  }

  .nav_contain {
    grid-template-columns: .5fr 1.5fr .5fr;
  }

  .nav_menu {
    padding: 14px;
  }

  .nav-old {
    background-color: #ffffff2b;
    padding-top: 1vw;
    padding-bottom: 1vw;
    font-size: 3vw;
  }

  .nav_button {
    padding-left: 12px;
    padding-right: 12px;
    font-size: 13px;
    display: none;
  }

  .hero_heading {
    font-size: 9vw;
  }

  .hero_text-wrap {
    font-size: 3.2vw;
    bottom: 6%;
  }

  .background-video {
    height: 42vh;
    min-height: auto;
  }

  .hero_contain {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .accordion-arrow-wrap---brix {
    width: 40px;
    min-height: 40px;
  }

  .cloneable-container-default {
    padding: 80px 24px;
  }

  .accordion-item-title---brix {
    max-width: 80%;
    font-size: 18px;
  }

  .accordion-item---brix.accordion-1---brix {
    margin-bottom: 16px;
    padding: 32px;
  }

  ._3d-text {
    font-size: 2.4rem;
  }

  .accordion-content-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .link {
    margin-left: 0;
    margin-right: 0;
  }

  .nav {
    z-index: 10000;
    height: 10%;
  }

  .accordion-toggle-grid {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .nav-grid {
    z-index: 20;
    padding-left: 15px;
    padding-right: 30px;
    display: flex;
    position: relative;
  }

  .nav-menu {
    z-index: 0;
    background-color: #fff;
    height: auto;
    padding-top: 0;
    top: 0;
    box-shadow: 7px 7px 40px 30px #d3d4d4;
  }

  .nav-menu-button {
    padding: 15px;
  }

  .nav-menu-button.w--open {
    z-index: 100;
  }

  .blur-tr-container {
    width: 50vw;
  }

  .content-subnav-sticky {
    top: 0;
  }

  .accordion-icon {
    width: 44px;
    height: 44px;
    padding: 10px;
  }

  .accordion-content-jump {
    top: -25vh;
  }

  .accordion-toggle {
    height: 25vh;
    min-height: 25vh;
    max-height: 25vh;
  }

  .accordion-toggle.w--open {
    height: 25vh;
  }

  .accordion {
    height: 25vh;
    max-height: 80vh;
  }

  .accordion:hover {
    box-shadow: none;
  }

  .accordion-header {
    font-size: 45px;
  }

  .flex-horizontal.flex-right.z-100 {
    z-index: 100;
    position: relative;
  }

  .content-subnav {
    height: auto;
  }

  .nav-menu-list {
    flex-direction: column;
    padding-left: 30px;
    padding-right: 30px;
    display: flex;
  }

  .accordion-container {
    inset: 0% 0% auto;
  }

  .icon-line {
    top: 10px;
    bottom: 10px;
  }

  .blur-tr {
    width: 50vw;
  }

  .newsletter-block {
    min-width: 200px;
    font-size: 16px;
  }

  .nav_button-2 {
    padding-left: 12px;
    padding-right: 12px;
    font-size: 13px;
  }

  .marquee-track {
    display: flex;
  }

  .marquee-track.is--desk {
    display: none;
  }

  .footer-heading {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 1.2;
  }

  .nav-2 {
    position: static;
  }

  .featured_category-name {
    justify-content: space-between;
    margin-top: 24px;
    margin-right: 20px;
    display: flex;
  }

  .featured-product_name {
    font-size: 16px;
  }

  .featured-product_top {
    height: auto;
    min-height: 400px;
  }

  .home_grid-right {
    width: 100%;
    display: flex;
    overflow: auto;
  }

  .home_grid-right.is--contact {
    flex-direction: column;
    margin-right: 0;
  }

  .featured-product {
    border-bottom-width: 0;
    min-width: 300px;
  }

  .featured-section {
    padding-left: 20px;
    padding-right: 0;
  }

  .contact-section {
    padding-bottom: 0;
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero_products-item {
    border-radius: 1rem;
    min-width: 300px;
    margin-bottom: 8px;
    margin-right: 16px;
    overflow: hidden;
  }

  .home-company_image {
    border-radius: 1rem;
  }

  .featured-heading {
    margin-right: 20px;
  }

  .featured_products-image {
    border-radius: 1rem;
  }

  .desk-80 {
    width: 100%;
  }

  .footer-link {
    margin-bottom: 10px;
    font-size: 16px;
  }

  .newsletter-email {
    padding: 21px 18px;
  }

  .home_grid-left {
    margin-bottom: 24px;
    font-size: 18px;
    position: static;
  }

  .contact-link {
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 24px;
  }

  .hero_products-blur {
    display: none;
  }

  .footer-logo {
    text-align: center;
    justify-content: center;
    align-items: center;
    width: auto;
    display: flex;
  }

  .home-company_image-wrap {
    margin-bottom: 16px;
  }

  .footer-button {
    padding-left: 12px;
    padding-right: 12px;
    font-size: 13px;
  }

  .featured-product_bottom {
    margin-bottom: 16px;
    font-size: 16px;
  }

  .hero-products {
    margin-left: 20px;
    margin-right: 0;
    padding-bottom: 2vw;
    display: flex;
    overflow: auto;
  }

  .hero_products-view {
    font-size: 10vw;
    display: none;
  }

  .newsletter-submit {
    padding: 16px;
  }

  .company-heading {
    margin-bottom: 16px;
    padding-bottom: 16px;
    font-size: 48px;
  }

  .hero_products-name {
    font-size: 4vw;
  }

  .nav-contain {
    grid-template-columns: .25fr .5fr .25fr;
  }

  .hero_products-image {
    height: 400px;
  }

  .marquee {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .banner {
    padding: 12px 10px;
    font-size: 14px;
  }

  .home-grid {
    flex-direction: column;
    grid-template-columns: 1fr;
    align-items: stretch;
    margin-top: 24px;
    display: flex;
  }

  .home-grid.is--company {
    flex-direction: column-reverse;
  }

  .company-section {
    padding: 40px 24px;
  }

  .footer {
    grid-column-gap: 24px;
    grid-template-columns: 1fr 1fr;
    margin-top: 60px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .button-3 {
    text-align: center;
    margin-top: 16px;
    padding: 16px;
    display: block;
  }

  .nav_logo-2 {
    width: 20vw;
    padding-left: 0;
  }
}

@media screen and (max-width: 479px) {
  .nav_logo {
    width: 80%;
  }

  .nav_contain {
    font-size: 3.2vw;
  }

  .nav-old {
    font-size: 3.6vw;
  }

  .nav_button {
    display: none;
  }

  .cloneable-container-default {
    padding: 64px 16px;
  }

  .accordion-item-title---brix {
    max-width: 70%;
    font-size: 20px;
  }

  ._3d-text {
    font-size: 1.5rem;
  }

  .accordion-content-grid, .accordion-toggle-grid {
    padding-left: 15px;
    padding-right: 15px;
  }

  .nav-grid {
    padding-left: 0;
    padding-right: 15px;
  }

  .blur-tr-container {
    height: 60vh;
    top: 30vh;
  }

  .content-subnav-sticky {
    position: relative;
    top: 0;
  }

  .accordion-icon {
    width: 40px;
    height: 40px;
  }

  .accordion-header {
    font-size: 40px;
  }

  .nav-menu-list {
    padding-left: 15px;
    padding-right: 15px;
  }

  .blur-tr {
    height: 60vh;
  }

  .newsletter-block {
    min-width: auto;
  }

  .nav_button-2 {
    display: none;
  }

  .featured-product_name {
    margin-top: 8px;
    margin-bottom: 8px;
  }

  .featured-heading {
    font-size: 8vw;
  }

  .footer-logo {
    width: 80%;
  }

  .nav_menu-2 {
    font-size: 10px;
  }

  .company-heading {
    font-size: 32px;
  }

  .nav-contain {
    grid-template-columns: .5fr .5fr .5fr;
    place-items: center stretch;
  }

  .banner {
    font-size: 12px;
  }

  .footer {
    flex-wrap: wrap;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .nav_logo-2, .header-logo {
    margin-left: auto;
  }
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543215e4-a2fc73ef {
  grid-area: 1 / 7 / 2 / 11;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543215f8-a2fc73ef {
  grid-area: 1 / 3 / 2 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fb-a2fc73ef {
  grid-area: 2 / 3 / 3 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fd-a2fc73ef {
  grid-area: 1 / 9 / 2 / 10;
  justify-self: end;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321602-a2fc73ef {
  grid-area: 1 / 1 / 4 / 3;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b165432160c-a2fc73ef {
  grid-area: 1 / 3 / 2 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321627-a2fc73ef {
  grid-area: 2 / 3 / 3 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321642-a2fc73ef {
  grid-area: 3 / 3 / 4 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321662-a2fc73ef {
  grid-area: 1 / 3 / 2 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321665-a2fc73ef {
  grid-area: 2 / 3 / 3 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321667-a2fc73ef {
  grid-area: 1 / 9 / 2 / 10;
  justify-self: end;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b165432166c-a2fc73ef {
  grid-area: 1 / 1 / 4 / 3;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321676-a2fc73ef {
  grid-area: 1 / 3 / 2 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321691-a2fc73ef {
  grid-area: 2 / 3 / 3 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216ac-a2fc73ef {
  grid-area: 3 / 3 / 4 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cc-a2fc73ef {
  grid-area: 1 / 3 / 2 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cf-a2fc73ef {
  grid-area: 2 / 3 / 3 / 7;
  justify-self: start;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d1-a2fc73ef {
  grid-area: 1 / 9 / 2 / 10;
  justify-self: end;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d6-a2fc73ef {
  grid-area: 1 / 1 / 4 / 3;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216e0-a2fc73ef {
  grid-area: 1 / 3 / 2 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b16543216fb-a2fc73ef {
  grid-area: 2 / 3 / 3 / 9;
}

#w-node-_5844fa33-96c1-e4ad-cba4-4b1654321716-a2fc73ef {
  grid-area: 3 / 3 / 4 / 9;
}

#w-node-_20698eeb-59e4-735e-992c-2bdacb9db58a-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db593-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db599-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db59b-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db59d-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db59f-133612d0 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_20698eeb-59e4-735e-992c-2bdacb9db5d9-133612d0 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

@media screen and (max-width: 991px) {
  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215f8-a2fc73ef {
    grid-area: 1 / 3 / 2 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fb-a2fc73ef {
    grid-area: 2 / 3 / 3 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fd-a2fc73ef {
    grid-area: 1 / 10 / 2 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321662-a2fc73ef {
    grid-area: 1 / 3 / 2 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321665-a2fc73ef {
    grid-area: 2 / 3 / 3 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321667-a2fc73ef {
    grid-area: 1 / 10 / 2 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cc-a2fc73ef {
    grid-area: 1 / 3 / 2 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cf-a2fc73ef {
    grid-area: 2 / 3 / 3 / 9;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d1-a2fc73ef {
    grid-area: 1 / 10 / 2 / 11;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215e4-a2fc73ef {
    grid-area: 1 / 3 / 2 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fb-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fd-a2fc73ef {
    grid-area: 2 / 1 / 3 / 2;
    place-self: center;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321602-a2fc73ef {
    grid-row-end: 2;
    grid-column-end: 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b165432160c-a2fc73ef {
    grid-area: 2 / 1 / 3 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321627-a2fc73ef {
    grid-area: 3 / 1 / 4 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321642-a2fc73ef {
    grid-area: 4 / 1 / 5 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321665-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321667-a2fc73ef {
    grid-area: 2 / 1 / 3 / 2;
    place-self: center;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b165432166c-a2fc73ef {
    grid-row-end: 2;
    grid-column-end: 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321676-a2fc73ef {
    grid-area: 2 / 1 / 3 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321691-a2fc73ef {
    grid-area: 3 / 1 / 4 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216ac-a2fc73ef {
    grid-area: 4 / 1 / 5 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cf-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d1-a2fc73ef {
    grid-area: 2 / 1 / 3 / 2;
    place-self: center;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d6-a2fc73ef {
    grid-row-end: 2;
    grid-column-end: 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216e0-a2fc73ef {
    grid-area: 2 / 1 / 3 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216fb-a2fc73ef {
    grid-area: 3 / 1 / 4 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321716-a2fc73ef {
    grid-area: 4 / 1 / 5 / 11;
  }

  #w-node-_20698eeb-59e4-735e-992c-2bdacb9db5c8-133612d0, #w-node-_20698eeb-59e4-735e-992c-2bdacb9db5d9-133612d0 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215e4-a2fc73ef {
    grid-area: 1 / 2 / 2 / 11;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543215fb-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321602-a2fc73ef {
    grid-area: span 1 / span 10 / span 1 / span 10;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b1654321665-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b165432166c-a2fc73ef {
    grid-area: span 1 / span 10 / span 1 / span 10;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216cf-a2fc73ef {
    grid-area: 2 / 3 / 3 / 11;
    justify-self: start;
  }

  #w-node-_5844fa33-96c1-e4ad-cba4-4b16543216d6-a2fc73ef {
    grid-area: span 1 / span 10 / span 1 / span 10;
  }

  #w-node-_20698eeb-59e4-735e-992c-2bdacb9db4d2-133612d0 {
    justify-self: start;
  }

  #w-node-_20698eeb-59e4-735e-992c-2bdacb9db4dc-133612d0 {
    place-self: center;
  }

  #w-node-_20698eeb-59e4-735e-992c-2bdacb9db4e0-133612d0 {
    justify-self: end;
  }
}


@font-face {
  font-family: 'Suisseintl';
  src: url('../fonts/SuisseIntl-Regular-WebS.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Suisseintl';
  src: url('../fonts/SuisseIntl-Medium-WebS.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Excon Complete';
  src: url('../fonts/Excon_Complete.zip') format('undefined');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-VariableItalic.ttf') format('truetype'), url('../fonts/GeneralSans-Italic.ttf') format('truetype'), url('../fonts/GeneralSans-VariableItalic.ttf') format('truetype');
  font-weight: 200 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans Variable';
  src: url('../fonts/GeneralSans-Variable.ttf') format('truetype'), url('../fonts/GeneralSans-Variable.ttf') format('truetype');
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-ExtralightItalic.ttf') format('truetype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Extralight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Generalsans';
  src: url('../fonts/GeneralSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}/* Email Signup Modal Styles */
.email-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.email-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
}

.email-modal-content {
  position: relative;
  background-color: #000000;
  padding: 40px;
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 10001;
}

.email-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 32px;
  line-height: 1;
  color: #ffffff;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.email-modal-close:hover {
  color: #cccccc;
}

.email-modal-title {
  font-family: 'Generalsans', sans-serif;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #ffffff;
}

.email-modal-subtitle {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  color: #ffffff;
  margin: 0 0 30px 0;
}

.email-signup-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.email-input {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  padding: 15px;
  border: 2px solid #ffffff;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease;
  width: 100%;
  box-sizing: border-box;
  background-color: transparent;
  color: #ffffff;
}

.email-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.email-input:focus {
  border-color: #ffffff;
}

.email-submit-btn {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 15px 30px;
  background-color: #ffffff;
  color: #000000;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.email-submit-btn:hover {
  background-color: #e0e0e0;
  transform: translateY(-1px);
}

.email-submit-btn:active {
  transform: translateY(0);
}

.email-submit-btn:disabled {
  background-color: #666666;
  color: #999999;
  cursor: not-allowed;
  transform: none;
}

.form-message {
  margin-top: 15px;
  padding: 12px;
  border-radius: 6px;
  font-family: 'Generalsans', sans-serif;
  font-size: 14px;
  text-align: center;
  display: none;
}

.form-message.success {
  display: block;
  background-color: rgba(212, 237, 218, 0.2);
  color: #4ade80;
  border: 1px solid #4ade80;
}

.form-message.error {
  display: block;
  background-color: rgba(248, 215, 218, 0.2);
  color: #f87171;
  border: 1px solid #f87171;
}

@media (max-width: 600px) {
  .email-modal-content {
    padding: 30px 20px;
  }
  
  .email-modal-title {
    font-size: 24px;
  }
}

/* Email Signup Modal Styles */
.email-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.email-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
}

.email-modal-content {
  position: relative;
  background-color: #000000;
  padding: 40px;
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 10001;
}

.email-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 32px;
  line-height: 1;
  color: #ffffff;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.email-modal-close:hover {
  color: #cccccc;
}

.email-modal-title {
  font-family: 'Generalsans', sans-serif;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #ffffff;
}

.email-modal-subtitle {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  color: #ffffff;
  margin: 0 0 30px 0;
}

.email-signup-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.email-input {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  padding: 15px;
  border: 2px solid #ffffff;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease;
  width: 100%;
  box-sizing: border-box;
  background-color: transparent;
  color: #ffffff;
}

.email-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.email-input:focus {
  border-color: #ffffff;
}

.email-submit-btn {
  font-family: 'Generalsans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 15px 30px;
  background-color: #ffffff;
  color: #000000;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.email-submit-btn:hover {
  background-color: #e0e0e0;
  transform: translateY(-1px);
}

.email-submit-btn:active {
  transform: translateY(0);
}

.email-submit-btn:disabled {
  background-color: #666666;
  color: #999999;
  cursor: not-allowed;
  transform: none;
}

.form-message {
  margin-top: 15px;
  padding: 12px;
  border-radius: 6px;
  font-family: 'Generalsans', sans-serif;
  font-size: 14px;
  text-align: center;
  display: none;
}

.form-message.success {
  display: block;
  background-color: rgba(212, 237, 218, 0.2);
  color: #4ade80;
  border: 1px solid #4ade80;
}

.form-message.error {
  display: block;
  background-color: rgba(248, 215, 218, 0.2);
  color: #f87171;
  border: 1px solid #f87171;
}

@media (max-width: 600px) {
  .email-modal-content {
    padding: 30px 20px;
  }
  
  .email-modal-title {
    font-size: 24px;
  }
}

/* ========================================
   UNIFIED STYLEGUIDE CLASSES
   ======================================== */

/* Unified Button Classes - Based on Styleguide */
.btn {
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  font-weight: 500;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-family: 'Generalsans Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Ensure buttons override any conflicting styles */
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

/* Override Webflow button styles for unified buttons */
.btn.w-button {
  /* Remove any Webflow-specific button styles */
  margin: 0 !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border: 1px solid !important;
  display: inline-block !important;
  background-color: inherit !important;
}

/* Ensure button text is styled correctly */
.btn, .btn.w-button {
  font-family: 'Generalsans Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.btn-primary {
  background-color: var(--text-primary) !important;
  color: var(--bg-primary) !important;
  border-color: var(--text-primary) !important;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: var(--text-secondary) !important;
  border-color: var(--text-secondary) !important;
  color: var(--bg-primary) !important;
}

/* Theme-aware button colors - ensures proper application */
[data-theme="light"] .btn-primary {
  background-color: var(--text-primary-light, #000) !important;
  color: var(--bg-primary-light, #fff) !important;
  border-color: var(--text-primary-light, #000) !important;
}

[data-theme="light"] .btn-primary:hover {
  background-color: var(--text-secondary-light, #4a4a4a) !important;
  border-color: var(--text-secondary-light, #4a4a4a) !important;
  color: var(--bg-primary-light, #fff) !important;
}

[data-theme="dark"] .btn-primary {
  background-color: var(--text-primary-dark, #fff) !important;
  color: var(--bg-primary-dark, #000) !important;
  border-color: var(--text-primary-dark, #fff) !important;
}

[data-theme="dark"] .btn-primary:hover {
  background-color: var(--text-secondary-dark, #b0b0b0) !important;
  border-color: var(--text-secondary-dark, #b0b0b0) !important;
  color: var(--bg-primary-dark, #000) !important;
}

.btn-secondary {
  background-color: transparent;
  color: var(--text-primary);
  border-color: var(--text-primary);
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background-color: var(--text-primary);
  color: var(--bg-primary);
}

/* Theme-aware secondary button colors */
[data-theme="light"] .btn-secondary {
  background-color: transparent;
  color: var(--text-primary-light, #000);
  border-color: var(--text-primary-light, #000);
}

[data-theme="light"] .btn-secondary:hover {
  background-color: var(--text-primary-light, #000);
  color: var(--bg-primary-light, #fff);
}

[data-theme="dark"] .btn-secondary {
  background-color: transparent;
  color: var(--text-primary-dark, #fff);
  border-color: var(--text-primary-dark, #fff);
}

[data-theme="dark"] .btn-secondary:hover {
  background-color: var(--text-primary-dark, #fff);
  color: var(--bg-primary-dark, #000);
}

.btn-accent {
  background-color: #FF6600 !important;
  color: #ffffff !important;
  border-color: #FF6600 !important;
  transition: all 0.3s ease;
  padding: 0.75rem 1.5rem !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.btn-accent:hover {
  background-color: #FB9F89 !important;
  border-color: #FB9F89 !important;
  color: #ffffff !important;
}

/* Ensure btn-accent overrides any Webflow .w-button styles */
.btn-accent.w-button {
  background-color: #FF6600 !important;
  color: #ffffff !important;
  border-color: #FF6600 !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 50px !important;
  border: 1px solid #FF6600 !important;
  display: inline-block !important;
}

.btn-accent.w-button:hover {
  background-color: #FB9F89 !important;
  border-color: #FB9F89 !important;
  color: #ffffff !important;
}

/* Desktop-specific accent button styling */
@media screen and (min-width: 992px) {
  #notify-me-btn.btn-accent,
  #notify-me-btn.btn-accent.w-button {
    background-color: #FF6600 !important;
    color: #ffffff !important;
    border-color: #FF6600 !important;
    border: 1px solid #FF6600 !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 50px !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
  }
  
  #notify-me-btn.btn-accent:hover,
  #notify-me-btn.btn-accent.w-button:hover {
    background-color: #FB9F89 !important;
    border-color: #FB9F89 !important;
    color: #ffffff !important;
  }
}

/* Unified Typography Classes */
.text-primary {
  color: var(--text-primary);
  font-weight: 400;
  transition: color 0.3s ease;
}

.text-secondary {
  color: var(--text-secondary);
  font-weight: 400;
  transition: color 0.3s ease;
}

.text-tertiary {
  color: var(--text-tertiary);
  font-weight: 400;
  transition: color 0.3s ease;
}

.text-white {
  color: var(--text-primary-dark, #fff);
}

/* Unified Spacing Utilities */
.spacing-xs { margin-bottom: 0.5rem; }
.spacing-sm { margin-bottom: 1rem; }
.spacing-md { margin-bottom: 1.5rem; }
.spacing-lg { margin-bottom: 2rem; }
.spacing-xl { margin-bottom: 3rem; }

.padding-xs { padding: 0.5rem; }
.padding-sm { padding: 1rem; }
.padding-md { padding: 1.5rem; }
.padding-lg { padding: 2rem; }
.padding-xl { padding: 3rem; }

/* Unified Container Classes */
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}

@media (max-width: 768px) {
  .container {
    padding: 0 1rem;
  }
}

/* Unified Navigation Classes */
.nav-link {
  border-bottom: 1px solid transparent;
  margin-right: 2vw;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s ease;
}

.nav-link:hover {
  border-bottom-color: var(--black, #000);
  text-decoration: none;
}

.nav-link.is-current,
.nav-link.w--current {
  border-bottom: 1px solid var(--black, #000);
}

/* Unified Heading Classes */
.heading-xl {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1rem 0;
  font-family: 'Suisseintl', sans-serif;
}

.heading-lg {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1rem 0;
  font-family: 'Suisseintl', sans-serif;
}

.heading-md {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 0.75rem 0;
}

.heading-sm {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 0.5rem 0;
}

@media (max-width: 768px) {
  .heading-xl {
    font-size: 2rem;
  }
  
  .heading-lg {
    font-size: 2rem;
  }
  
  .heading-md {
    font-size: 1.5rem;
  }
  
  .heading-sm {
    font-size: 1.25rem;
  }
}
