/* ============ Move My Stuff — Helix brand overrides ============ */

/* ---- Top bar ---- */
#sp-top-bar { background-color:#236296 !important; color:#fff !important; line-height:40px; }
#sp-top-bar a, #sp-top-bar .sp-contact-info, #sp-top-bar .social-icons a { color:#fff !important; }
#sp-top-bar a:hover, #sp-top-bar .social-icons a:hover { color:#bfe0f7 !important; }

/* ---- Main navigation ---- */
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span { text-transform:uppercase; color:#236296 !important; }
.sp-megamenu-parent > li:hover > a, .sp-megamenu-parent > li:hover > span,
.sp-megamenu-parent > li.current > a, .sp-megamenu-parent > li.current > span,
.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active > span { color:#9cc73e !important; }
.sp-megamenu-parent .sp-dropdown-menu a { color:#236296 !important; }
.sp-megamenu-parent .sp-dropdown-menu li:hover > a,
.sp-megamenu-parent .sp-dropdown-menu li.current > a,
.sp-megamenu-parent .sp-dropdown-menu li.active > a { color:#9cc73e !important; }
/* offcanvas hamburger duplicates the full nav — only needed below the lg breakpoint where the horizontal menu collapses */
@media (min-width: 992px) { .offcanvas-toggler-secondary { display:none !important; } }

/* ---- Footer ---- */
#sp-footer { background-color:#236296 !important; color:#fff !important; }
#sp-footer h1,#sp-footer h2,#sp-footer h3,#sp-footer h4 {
  color:#8dc63f !important; text-transform:uppercase; font-size:20px;
  margin:0 0 18px; letter-spacing:.4px; }
#sp-footer a { color:#fff !important; }
#sp-footer a:hover { color:#bfe0f7 !important; }
#sp-footer p { margin-bottom:12px; }
#sp-footer .mms-footer-links { list-style:none; padding:0; margin:0; line-height:2.1; }
/* inline social icons */
#sp-footer .sppb-icons-group-list { padding:0; margin:6px 0 0; }
#sp-footer .sppb-icons-group-list li { display:inline-block; margin:0 16px 0 0; }
#sp-footer .sppb-icons-group-list li a { font-size:22px; }

/* ---- SP Page Builder minor spacing hygiene ---- */
.sppb-addon-title { margin-top:0; }
.sppb-addon-text p:last-child { margin-bottom:0; }

/* ---- Readability rhythm across SPPB content ---- */
#sp-component .sppb-addon-text, #sp-component .sppb-addon-content { line-height:1.7; }
#sp-component .sppb-addon-text p { margin-bottom:1rem; }
#sp-component .sppb-addon-text h1,#sp-component .sppb-addon-text h2,
#sp-component .sppb-addon-text h3,#sp-component .sppb-addon-text h4 { margin-top:1.6rem; margin-bottom:.8rem; }
#sp-component .sppb-addon-text h1:first-child,#sp-component .sppb-addon-text h2:first-child,
#sp-component .sppb-addon-text h3:first-child,#sp-component .sppb-addon-text h4:first-child { margin-top:0; }

/* ---- Breadcrumbs: inline with content, no boxed background ---- */
#sp-breadcrumbs { background:transparent !important; padding:0 !important; }
#sp-breadcrumbs .sp-module-content { padding:0; }
.mod-breadcrumbs.breadcrumb { background:transparent !important; padding:10px 0 !important; margin:0 !important; font-size:13px; }
.mod-breadcrumbs.breadcrumb a { color:#236296; }
.mod-breadcrumbs.breadcrumb a:hover { color:#6ea52a; }
.mod-breadcrumbs.breadcrumb .breadcrumb-item.active { color:#777; }

/* ---- Typography: brand font pairing (Poppins headings / Inter body) ----
   Helix's own SCSS-driven h1-h6/body_font params don't compile in this build (confirmed
   via computed styles — real output falls back to the Bootstrap system-font stack), and
   migrated pages carry inconsistent per-addon inline font/colour from the old site. Forcing
   one consistent rule set here, high specificity, so it wins over both. */
body, p, li, .sppb-addon-text, .sppb-addon-content, #sp-footer, .mod-breadcrumbs {
  font-family: 'Inter', 'Open Sans', sans-serif !important;
}
body { color:#3a3a3a; }
h1, h2, h3, h4, h5, h6,
.sppb-addon-title, #sp-component h1, #sp-component h2, #sp-component h3, #sp-component h4 {
  font-family: 'Poppins', sans-serif !important;
  letter-spacing: .2px;
}
h1, h2, #sp-component h1, #sp-component h2 { font-weight:700 !important; color:#236296 !important; }
h3, h4, #sp-component h3, #sp-component h4 { font-weight:600 !important; color:#4d7c22 !important; }
h5, h6, #sp-component h5, #sp-component h6 { font-weight:600 !important; color:#236296 !important; }
/* small brand accent under the main page heading, whichever addon type rendered it */
#sp-component h1:first-of-type { padding-bottom:14px; border-bottom:4px solid #9cc73e; display:inline-block; }
#sp-component .sppb-addon-text a, #sp-component .sppb-addon-content a { color:#236296; }
#sp-component .sppb-addon-text a:hover, #sp-component .sppb-addon-content a:hover { color:#4d7c22; }

/* Home hero + "We Cover" panel: these addons deliberately set white text on a coloured
   box (global_text_color / addon background) — an ID selector beats the bare h1-h6 rules
   above regardless of !important, so this restores the intended white without touching
   the general heading rule. */
#sppb-addon-1528451341683, #sppb-addon-1528451341683 h1, #sppb-addon-1528451341683 h2, #sppb-addon-1528451341683 h3, #sppb-addon-1528451341683 h4, #sppb-addon-1528451341683 h5, #sppb-addon-1528451341683 h6,
#sppb-addon-1528451258752, #sppb-addon-1528451258752 h1, #sppb-addon-1528451258752 h2, #sppb-addon-1528451258752 h3, #sppb-addon-1528451258752 h4, #sppb-addon-1528451258752 h5, #sppb-addon-1528451258752 h6,
#sppb-addon-1528378515648, #sppb-addon-1528378515648 .sppb-addon-title, #sppb-addon-1528378515648 h1, #sppb-addon-1528378515648 h2, #sppb-addon-1528378515648 h3, #sppb-addon-1528378515648 h4, #sppb-addon-1528378515648 h5, #sppb-addon-1528378515648 h6 {
  color:#ffffff !important;
}

/* Home page service cards (feature addons): equal card height + more breathing room
   between icon and label, regardless of 1-line vs 2-line titles */
.addon-root-feature > [id^="sppb-addon-"] {
  min-height: 230px;
  display: flex;
}
.addon-root-feature .sppb-addon-feature {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.addon-root-feature .sppb-icon { margin-bottom: 22px; }
