/* ========================================================= Lifeline — Site‑Wide Typography Override v2 Place this AFTER ALL other CSS (style.css, responsive.css, font-scale.css, etc.) ========================================================= */ :root{ --llcf-text-size: 15px; /* tweak this to 14 / 13 / etc. */ --llcf-text-line: 24px; --llcf-head-weight: 800; } /* Base */ html{ font-size: 100%; } body{ font-family: 'Lato',sans-serif !important; font-size: var(--llcf-text-size) !important; line-height: var(--llcf-text-line) !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Make common text actually inherit the smaller size */ p, li, td, th, input, textarea, select, button, small, label { font-size: var(--llcf-text-size) !important; line-height: var(--llcf-text-line) !important; } /* Headings */ h1, h2, h3, h4, h5, h6, .section-title, .title2, .page-title{ font-family: 'Lato',sans-serif !important; font-style: normal !important; font-weight: var(--llcf-head-weight); letter-spacing: .2px; color: #333; margin-top: 0; margin-bottom: 12px; } /* Slightly smaller than theme defaults */ h1, .page-title { font-size: 44px !important; line-height: 52px !important; } h2, .section-title, .title2 { font-size: 36px !important; line-height: 44px !important; } h3 { font-size: 28px !important; line-height: 38px !important; } h4 { font-size: 22px !important; line-height: 32px !important; } h5 { font-size: 18px !important; line-height: 28px !important; } h6 { font-size: 15px !important; line-height: 24px !important; } /* Header nav */ #header .main-navigation #menu{ display:flex; gap:18px; align-items:center; justify-content:flex-start; } #header .main-navigation #menu > li{ flex:0 0 auto; width:auto; } #header .main-navigation #menu > li > a{ font-family: 'Lato',sans-serif !important; font-size: 13px !important; line-height: 18px !important; letter-spacing: .04em; white-space: nowrap; text-transform: uppercase; } /* Form placeholders */ input::-webkit-input-placeholder, textarea::-webkit-input-placeholder, input::-moz-placeholder, textarea::-moz-placeholder, input:-ms-input-placeholder, textarea:-ms-input-placeholder{ font-family: 'Lato',sans-serif !important; } /* Mobile trims */ @media (max-width: 992px){ h1, .page-title { font-size: 36px !important; line-height: 44px !important; } h2, .section-title, .title2 { font-size: 30px !important; line-height: 38px !important; } h3 { font-size: 24px !important; line-height: 34px !important; } } @media (max-width: 480px){ h1, .page-title { font-size: 32px !important; line-height: 40px !important; } h2, .section-title, .title2 { font-size: 26px !important; line-height: 34px !important; } h3 { font-size: 22px !important; line-height: 30px !important; } } /* ===== Breadcrumb/hero offset under sticky header (prevents overlap) ===== */ #header.sticky-header + .breadcrumbs-wrap, #header.sticky-header + .breadcrumbs-wrap.style-2, #header.sticky-header + .breadcrumbs-wrap.align-center, #header.sticky-header + .breadcrumbs-wrap.style-2.align-center{ padding-top: 96px !important; /* ensure the big page title clears the header */ } /* Anchor jump quality-of-life: offset when scrolling to IDs */ .breadcrumbs-wrap, .page-section, .mini-hero { scroll-margin-top: 96px; } 

/* === GLOBAL HEADER + BACKGROUND OVERRIDES === */


/* Fix the header at the top on all pages */
.header,
.header.fixed-header,
.header.sticky-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); /* soft shadow, optional */
}

/* Disable the cloned sticky header the theme creates */
.header.sticky-header.clone-fixed {
  display: none !important;
}

/* Push page content down so it doesn't hide under the fixed header */
body {
  padding-top: 100px; /* adjust if your header is taller/shorter */
}

/* Slightly smaller top padding on smaller screens if needed */
@media (max-width: 991px) {
  body {
    padding-top: 80px;
  }
}

