/**
 * s24theme 2.18.1 — the only header/navigation presentation owner.
 * One surface, unboxed links, token-driven colors and geometry.
 * Stateful behavior remains in navigation.js; no hidden no-JS link tree.
 */
.s24-navigation-header {
  --s24-nav-radius: var(--eh-radius-md);
  --s24-nav-gap: clamp(.875rem, 1.6vw, 2rem);
  --s24-nav-panel-gap: .5rem;
  --s24-nav-panel-bg: var(--eh-nav-surface, var(--eh-surface));
  --s24-nav-height: 5rem;
  /* 2.7.0: site-wide colors from s24theme Design; a page's own Header override (inline) still wins. */
  --s24-header-secondary-bg: var(--eh-header-secondary-bg, transparent);
  --s24-header-secondary-text: var(--eh-header-secondary-text, var(--eh-nav-text));
  --s24-header-secondary-border: var(--eh-header-secondary-border, transparent);
  --s24-header-secondary-hover-bg: var(--eh-header-secondary-hover-bg, var(--eh-shadow-04));
  --s24-header-secondary-hover-text: var(--eh-header-secondary-hover-text, var(--eh-nav-accent, var(--eh-primary)));
  --s24-header-secondary-hover-border: var(--eh-header-secondary-hover-border, transparent);
  position: relative;
  isolation: isolate;
  width: 100%;
  color: var(--eh-nav-text);
  background: var(--eh-header-bg);
  border-block-end: 1px solid var(--eh-border-light);
}
.s24-navigation-header *,
.s24-navigation-header *::before,
.s24-navigation-header *::after { box-sizing: border-box; }
.s24-main-header-slot { position: relative; min-block-size: var(--s24-header-height, 5rem); z-index: 50; }
body.s24-page-header-overlay .s24-main-header-slot { block-size: 0; min-block-size: 0; }
body.s24-page-header-overlay .s24-navigation-header:not(.header-sticky) { position: absolute; inset-block-start: 0; inset-inline: 0; }
body.s24-page-header-transparent .s24-navigation-header:not(.header-sticky):not(.dropdown-open) { background: transparent; border-block-end-color: transparent; }
/* A transparent hero header must still become opaque when its menu is open. */
body.s24-page-header-transparent .s24-navigation-header.dropdown-open { background: var(--eh-header-sticky-bg); }
.s24-navigation-header.header-sticky {
  position: fixed; inset-block-start: var(--s24-admin-offset, 0px); inset-inline: 0;
  margin-inline: auto; background: var(--eh-header-sticky-bg);
  box-shadow: 0 4px 16px var(--eh-shadow-06);
}
body.s24theme-layout-boxed .s24-navigation-header.header-sticky { width: min(100%, var(--s24-site-boxed-width)); }
.s24-header-layout {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  column-gap: var(--s24-nav-gap); min-block-size: var(--s24-nav-height); padding-block: .625rem;
}
.s24-nav-brand { display: inline-flex; align-items: center; flex-shrink: 0; min-inline-size: 0; max-inline-size: 12rem; text-decoration: none; }
.s24-nav-brand img { display: block; max-block-size: 2.5rem; max-inline-size: 100%; inline-size: auto; object-fit: contain; }
.s24-nav-brand .eh-theme-logo { max-inline-size: 100%; }
.s24-nav-panel { min-inline-size: 0; }
.s24-nav-actions { min-inline-size: 0; display: flex; align-items: center; justify-content: end; gap: .625rem; grid-column: -2 / -1; }
.s24-nav-desktop-actions { min-inline-size: 0; display: flex; align-items: center; gap: .5rem; }
.s24-navigation-header .s24-header-action {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-block-size: 44px; padding: .6875rem 1.125rem;
  font-size: .9375rem; font-weight: 600; line-height: 1.45;
  white-space: normal; overflow-wrap: anywhere; text-align: center;
  box-shadow: none; text-decoration: none;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}
/* 2.15.0: the main header button keeps a visible outline on a dark header (default: its own color). */
.s24-navigation-header .s24-header-action--primary { border-color: var(--eh-nav-accent, var(--color-main)); }
.s24-navigation-header .s24-header-action--secondary { color: var(--s24-header-secondary-text); background: var(--s24-header-secondary-bg); border-color: var(--s24-header-secondary-border); }
.s24-navigation-header .s24-header-action--secondary:hover,
.s24-navigation-header .s24-header-action--secondary:focus-visible { color: var(--s24-header-secondary-hover-text); background: var(--s24-header-secondary-hover-bg); border-color: var(--s24-header-secondary-hover-border); }
.s24-navigation-header a:focus-visible,
.s24-navigation-header button:focus-visible { outline: 2px solid var(--eh-nav-accent, var(--eh-primary)); outline-offset: 3px; }
.s24-navigation-header ul { padding: 0; margin: 0; list-style: none; }
.s24-navigation-header .s24-nav-item { min-inline-size: 0; margin: 0; padding: 0; }
.s24-nav-root { display: flex; flex-wrap: wrap; gap: .125rem; }
.s24-nav-row { display: flex; align-items: stretch; position: relative; min-inline-size: 0; border-radius: var(--s24-nav-radius); }
.s24-nav-link, .s24-nav-label, .s24-nav-label-toggle {
  display: flex; align-items: center; flex: 1 1 auto; gap: .875rem;
  min-inline-size: 0; min-block-size: 44px; padding: .6875rem .75rem;
  color: var(--eh-nav-text); font: inherit; font-size: .9375rem; line-height: 1.5;
  text-decoration: none; text-align: start; border: 0;
  border-radius: var(--s24-nav-radius); background: transparent;
  transition: background-color 140ms ease, color 140ms ease;
}
.s24-nav-link:hover, .s24-nav-label-toggle:hover { color: var(--eh-nav-accent, var(--eh-primary)); text-decoration: none; background: var(--eh-shadow-04); }
.s24-nav-label-toggle, .s24-nav-toggle { cursor: pointer; }
.s24-nav-copy { min-inline-size: 0; flex: 1; }
.s24-nav-title { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-weight: var(--s24-nav-weight, 600); overflow-wrap: anywhere; }
/* 2.13.0 menu text (Theme Design › Menu text): optional font and weights, defaults unchanged. */
.s24-navigation-header .s24-nav-root { font-family: var(--s24-nav-font, inherit); }
.s24-nav-submenu .s24-nav-title { font-weight: var(--s24-nav-sub-weight, 600); }
.s24-nav-description { display: block; color: var(--eh-nav-muted); font-size: .875rem; font-weight: 400; line-height: 1.65; margin-block-start: .25rem; overflow-wrap: anywhere; }
.s24-nav-badge { display: inline-flex; flex-shrink: 0; background: var(--eh-badge-bg); color: var(--eh-badge-text); border-radius: var(--eh-radius-sm); font-size: .6875rem; font-weight: 600; padding: .125rem .4375rem; line-height: 1.6; }
.s24-nav-svg { display: block; inline-size: 1.25rem; block-size: 1.25rem; flex-shrink: 0; }
.s24-nav-toggle {
  display: none; align-items: center; justify-content: center;
  flex: 0 0 44px; inline-size: 44px; min-block-size: 44px; padding: .5rem;
  color: var(--eh-nav-text); border: 0; border-radius: var(--s24-nav-radius); background: transparent;
}
.s24-navigation-header[data-s24-ready] .s24-nav-toggle { display: inline-flex; }
.s24-nav-toggle:hover { color: var(--eh-nav-accent, var(--eh-primary)); background: var(--eh-shadow-04); }
.s24-nav-label-toggle > .s24-nav-svg, .s24-nav-toggle > .s24-nav-svg { transition: transform 140ms ease; }
.s24-navigation-header [data-s24-disclosure][aria-expanded="true"] > .s24-nav-svg { transform: rotate(180deg); }
.s24-nav-link[aria-current="page"] { color: var(--eh-nav-accent, var(--eh-primary)); }
.s24-nav-root > .current-menu-item > .s24-nav-row::after,
.s24-nav-root > .current-menu-ancestor > .s24-nav-row::after {
  content: ""; position: absolute; inset-block-end: .0625rem; inset-inline-start: .75rem;
  inline-size: 1.5rem; block-size: 2px; background: var(--eh-nav-accent, var(--eh-primary)); pointer-events: none;
}
.s24-nav-submenu .current-menu-item > .s24-nav-row { background: var(--eh-shadow-04); }
/* Icons are navigation cues, not a second card inside every link. */
.s24-nav-icon { display: grid; place-items: center; inline-size: 1.75rem; block-size: 1.75rem; flex-shrink: 0; color: var(--eh-nav-accent, var(--eh-primary)); font-size: 1.5rem; }
.s24-nav-icon i { display: inline-flex; }
.s24-nav-image { inline-size: 3.5rem; block-size: 3.5rem; object-fit: cover; flex-shrink: 0; border-radius: var(--eh-radius-sm); }
.s24-nav-link-arrow { color: var(--eh-nav-muted); margin-inline-start: auto; flex-shrink: 0; transition: color 140ms ease; }
.s24-nav-link:hover .s24-nav-link-arrow { color: var(--eh-nav-accent, var(--eh-primary)); }
.s24-navigation-header:dir(rtl) .s24-nav-link-arrow { transform: scaleX(-1); }
.s24-navigation-header .s24-nav-submenu { margin-inline-start: 1rem; border-inline-start: 1px solid var(--eh-border-light); }
.s24-navigation-header [hidden] { display: none !important; }
.s24-nav-mobile-heading, .s24-nav-mobile-actions, .s24-nav-open { display: none; }
.s24-nav-open, .s24-nav-close {
  align-items: center; justify-content: center; gap: .5rem;
  min-block-size: 44px; min-inline-size: 44px; padding: .625rem .75rem;
  border: 1px solid var(--eh-border); border-radius: var(--eh-radius-control);
  background: transparent; color: var(--eh-nav-text); font: inherit; font-size: .875rem; cursor: pointer;
}
.s24-nav-close { display: inline-flex; border-color: transparent; }
/* 2.8.3: the menu button is icon-only (its name comes from aria-label), a 44px square. */
.s24-nav-open { inline-size: 44px; block-size: 44px; padding: 0; }
.s24-nav-open > .s24-nav-svg { inline-size: 1.5rem; block-size: 1.5rem; }
.s24-nav-open:hover, .s24-nav-close:hover { background: var(--eh-shadow-04); color: var(--eh-nav-accent, var(--eh-primary)); }
/* Desktop: one restrained surface with unboxed rows. */
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-root { flex-wrap: nowrap; justify-content: center; }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-root > li { flex-shrink: 0; }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-root > li > .s24-nav-row .s24-nav-title { white-space: nowrap; }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown {
  --s24-nav-columns: 3;
  position: absolute; inset-block-start: calc(100% + var(--s24-nav-panel-gap)); inset-inline: 0;
  display: grid; grid-template-columns: repeat(var(--s24-nav-columns), minmax(0, 1fr)); align-items: start; gap: .5rem;
  inline-size: min(calc(100% - 2rem), 72rem); margin: 0 auto; padding: 1rem;
  background: var(--s24-nav-panel-bg); color: var(--eh-nav-text);
  border: 1px solid var(--eh-border-light); border-radius: var(--eh-radius-xl);
  box-shadow: 0 12px 28px var(--eh-shadow-08), 0 2px 5px var(--eh-shadow-03);
  max-block-size: var(--s24-nav-available-height, calc(100dvh - 10rem)); overflow-y: auto; overscroll-behavior: contain;
}
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown[data-columns="1"] { --s24-nav-columns: 1; inline-size: min(calc(100% - 2rem), 27rem); }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown[data-columns="2"] { --s24-nav-columns: 2; inline-size: min(calc(100% - 2rem), 49rem); }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown > li > .s24-nav-row .s24-nav-link,
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown > li > .s24-nav-row .s24-nav-label-toggle { min-block-size: 5rem; padding: 1rem; font-size: 1rem; }
.s24-navigation-header[data-s24-ready]:not([data-s24-compact]) .s24-nav-dropdown > li > ul { border-inline-start: 0; margin: .25rem 1rem .5rem; padding-block-start: .375rem; border-block-start: 1px solid var(--eh-border-light); }
/* Native modal keeps the drawer above transformed Elementor/boxed containers. */
.s24-navigation-header .s24-nav-dialog { color: var(--eh-nav-text); background: var(--s24-page-header-mobile-bg, var(--s24-nav-panel-bg)); border: 0; padding: 0; max-inline-size: 100%; max-block-size: 100%; }
.s24-nav-dialog::backdrop { background: var(--eh-shadow-25); }
.s24-navigation-header[data-s24-compact] { --s24-nav-height: 4.5rem; }
.s24-navigation-header[data-s24-compact] .s24-header-layout { grid-template-columns: auto 1fr; }
.s24-navigation-header[data-s24-compact] .s24-nav-open { display: inline-flex; }
.s24-navigation-header[data-s24-compact] .s24-nav-desktop-actions .s24-header-action--secondary { display: none; }
.s24-navigation-header[data-s24-compact] .s24-nav-dialog[open] {
  position: fixed; inset-block: 0; inset-inline-start: auto; inset-inline-end: 0; margin: 0;
  inline-size: min(27rem, 100%); block-size: 100vh; block-size: 100dvh;
  box-shadow: 0 0 28px var(--eh-shadow-14); overscroll-behavior: contain;
}
.s24-navigation-header[data-s24-compact]:dir(rtl) .s24-nav-dialog[open] { inset-inline-start: 0; inset-inline-end: auto; }
/* 2.8.1: the drawer is a full-height column; icons and buttons sit at its bottom on every screen and a long menu scrolls above them. */
.s24-navigation-header[data-s24-compact] .s24-nav-panel { display: flex; flex-direction: column; min-block-size: 100%; padding: 0 1.25rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-mobile-heading {
  position: sticky; inset-block-start: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: max(1rem, env(safe-area-inset-top)) 0 1rem;
  background: var(--s24-page-header-mobile-bg, var(--s24-nav-panel-bg)); border-block-end: 1px solid var(--eh-border-light);
}
.s24-navigation-header[data-s24-compact] .s24-primary-navigation { padding-block: .875rem 1.25rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-root { display: block; }
.s24-navigation-header[data-s24-compact] .s24-nav-root > li { padding-block: .1875rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-root > li > .s24-nav-row > .s24-nav-link,
.s24-navigation-header[data-s24-compact] .s24-nav-root > li > .s24-nav-row > .s24-nav-label,
.s24-navigation-header[data-s24-compact] .s24-nav-root > li > .s24-nav-row > .s24-nav-label-toggle { min-block-size: 3.375rem; font-size: 1.125rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-submenu { padding-block: .25rem .5rem; margin-inline-start: .625rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-dropdown > li { margin-block: .375rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-link,
.s24-navigation-header[data-s24-compact] .s24-nav-label-toggle { padding-inline: .75rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-link-arrow { display: none; }
.s24-navigation-header[data-s24-compact] .s24-nav-icon { inline-size: 1.5rem; block-size: 1.5rem; font-size: 1.25rem; }
.s24-navigation-header[data-s24-compact] .s24-nav-mobile-actions {
  position: sticky; inset-block-end: 0; z-index: 1; display: grid; gap: .625rem; margin-block-start: auto;
  padding-block: 1rem max(1.25rem, env(safe-area-inset-bottom)); border-block-start: 1px solid var(--eh-border-light);
  background: var(--s24-page-header-mobile-bg, var(--s24-nav-panel-bg));
}
.s24-navigation-header[data-s24-compact] .s24-nav-mobile-actions .s24-header-action { inline-size: 100%; }
html.s24-navigation-modal { overflow: hidden; }
/* Fail open when JavaScript, dialog support or a complete controller map is unavailable. */
.s24-navigation-header:not([data-s24-ready]) .s24-header-layout { display: flex; flex-wrap: wrap; justify-content: space-between; }
.s24-navigation-header:not([data-s24-ready]) .s24-nav-panel { flex-basis: 100%; order: 3; padding-block: .75rem; }
.s24-navigation-header:not([data-s24-ready]) .s24-nav-root { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.s24-navigation-header:not([data-s24-ready]) .s24-nav-label-toggle { cursor: default; }
.s24-navigation-header:not([data-s24-ready]) .s24-nav-label-toggle > .s24-nav-svg { display: none; }
/*
 * 2.4.0 header layout (Customizer > Header > Header Layout).
 * PHP resolves the saved right/left/center choices to a logical area order,
 * so these rules are direction-neutral. No attribute = the 2.3.0 layout above.
 */
.s24-navigation-header[data-s24-layout] .s24-header-layout > .s24-nav-brand { grid-area: brand; }
.s24-navigation-header[data-s24-layout] .s24-header-layout > .s24-nav-panel { grid-area: nav; }
.s24-navigation-header[data-s24-layout] .s24-header-layout > .s24-nav-actions { grid-area: actions; }
.s24-navigation-header[data-s24-layout="actions-nav-brand"] .s24-header-layout { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "actions nav brand"; }
.s24-navigation-header[data-s24-layout="brand-actions-nav"] .s24-header-layout { grid-template-columns: auto auto minmax(0, 1fr); grid-template-areas: "brand actions nav"; }
.s24-navigation-header[data-s24-layout="nav-actions-brand"] .s24-header-layout { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "nav actions brand"; }
.s24-navigation-header[data-s24-layout="nav-brand-actions"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "nav brand actions"; }
.s24-navigation-header[data-s24-layout="actions-brand-nav"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "actions brand nav"; }
/* A centered logo is exact while both sides fit their half; a wider menu shifts it just enough to stay
   fully visible, and the unchanged navigation.js width budget switches to the drawer when nothing fits.
   The button group shrinks to its content at its own edge. */
.s24-navigation-header[data-s24-layout="nav-brand-actions"] .s24-header-layout > .s24-nav-actions { justify-self: end; }
.s24-navigation-header[data-s24-layout="actions-brand-nav"] .s24-header-layout > .s24-nav-actions { justify-self: start; }
/* Buttons before the logo are mirrored: primary button and menu toggle stay at the outer edge. */
.s24-navigation-header[data-s24-layout="actions-nav-brand"] .s24-nav-actions,
.s24-navigation-header[data-s24-layout="nav-actions-brand"] .s24-nav-actions,
.s24-navigation-header[data-s24-layout="actions-brand-nav"] .s24-nav-actions { flex-direction: row-reverse; justify-content: start; }
.s24-navigation-header[data-s24-layout="actions-nav-brand"] .s24-nav-desktop-actions,
.s24-navigation-header[data-s24-layout="nav-actions-brand"] .s24-nav-desktop-actions,
.s24-navigation-header[data-s24-layout="actions-brand-nav"] .s24-nav-desktop-actions { flex-direction: row-reverse; }
/* Compact header: buttons sit opposite the logo; a centered logo keeps the saved button side. */
.s24-navigation-header[data-s24-layout="brand-actions-nav"][data-s24-compact] .s24-header-layout { grid-template-columns: auto 1fr; grid-template-areas: "brand actions"; }
.s24-navigation-header[data-s24-layout="actions-nav-brand"][data-s24-compact] .s24-header-layout,
.s24-navigation-header[data-s24-layout="nav-actions-brand"][data-s24-compact] .s24-header-layout { grid-template-columns: 1fr auto; grid-template-areas: "actions brand"; }
.s24-navigation-header[data-s24-layout="nav-brand-actions"][data-s24-compact] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: ". brand actions"; }
.s24-navigation-header[data-s24-layout="actions-brand-nav"][data-s24-compact] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "actions brand ."; }
/* Menu alignment inside its own area (desktop only; the drawer is unchanged). */
.s24-navigation-header[data-s24-menu-align="start"][data-s24-ready]:not([data-s24-compact]) .s24-nav-root { justify-content: flex-start; }
.s24-navigation-header[data-s24-menu-align="end"][data-s24-ready]:not([data-s24-compact]) .s24-nav-root { justify-content: flex-end; }
/* No-JS fallback keeps the same first-row order. */
.s24-navigation-header[data-s24-layout="actions-nav-brand"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-actions,
.s24-navigation-header[data-s24-layout="nav-actions-brand"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-actions,
.s24-navigation-header[data-s24-layout="actions-brand-nav"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-actions { order: 1; }
.s24-navigation-header[data-s24-layout="actions-nav-brand"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-brand,
.s24-navigation-header[data-s24-layout="nav-actions-brand"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-brand,
.s24-navigation-header[data-s24-layout="actions-brand-nav"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-brand { order: 2; }
.s24-navigation-header[data-s24-layout="nav-brand-actions"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-brand,
.s24-navigation-header[data-s24-layout="actions-brand-nav"]:not([data-s24-ready]) .s24-header-layout > .s24-nav-brand { margin-inline: auto; }
/*
 * 2.6.0 menu type (Customizer > Header > Header Layout > Menu type).
 * "sidebar": fixed side menu from 1200px; below that the compact header + drawer.
 * "drawer": compact header + side drawer on every screen. No attribute = top menu.
 */
body.s24-nav-sidebar, body.s24-nav-drawer { --s24-sidebar-width: 18rem; }
body.s24-side-menu--narrow { --s24-sidebar-width: 16rem; }
body.s24-side-menu--wide { --s24-sidebar-width: 20rem; }
/* 2.17.0 side menu logo: in the header brand it shows only while the fixed side menu is on screen. */
.s24-nav-brand--side-logo > .s24-header-logo--sidebar { display: none; }
@media (min-width: 1200px) {
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-brand--side-logo > :not(.s24-header-logo--sidebar) { display: none; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-brand--side-logo > .s24-header-logo--sidebar { display: block; }
}
/* 2.17.1 sticky header logo: shown while the header uses its solid sticky color (on scroll, or a transparent header with a menu open). */
.s24-nav-brand--sticky-logo > .s24-header-logo--sticky { display: none; }
.s24-navigation-header.header-sticky .s24-header-layout > .s24-nav-brand--sticky-logo > :not(.s24-header-logo--sticky),
body.s24-page-header-transparent .s24-navigation-header.dropdown-open .s24-header-layout > .s24-nav-brand--sticky-logo > :not(.s24-header-logo--sticky) { display: none; }
.s24-navigation-header.header-sticky .s24-header-layout > .s24-nav-brand--sticky-logo > .s24-header-logo--sticky,
body.s24-page-header-transparent .s24-navigation-header.dropdown-open .s24-header-layout > .s24-nav-brand--sticky-logo > .s24-header-logo--sticky { display: block; }
/* Custom width: inline body.s24-side-menu--custom{--s24-sidebar-width} printed after this file. */
/* The drawer follows the side menu width in both side-menu modes, never wider than the screen. */
header.s24-navigation-header[data-s24-menu-mode][data-s24-compact] .s24-nav-dialog[open] { inline-size: min(var(--s24-sidebar-width, 27rem), 100%); }
/* Narrow drawers: the logo shrinks so the close button always stays inside. */
header.s24-navigation-header[data-s24-menu-mode] .s24-nav-mobile-heading > .s24-nav-brand { flex: 0 1 auto; min-inline-size: 0; }
/* The drawer opens from the chosen side in both side-menu modes. */
header.s24-navigation-header[data-s24-side="start"][data-s24-compact] .s24-nav-dialog[open] { inset-inline-start: 0; inset-inline-end: auto; }
header.s24-navigation-header[data-s24-side="end"][data-s24-compact] .s24-nav-dialog[open] { inset-inline-start: auto; inset-inline-end: 0; }
@media (min-width: 992px) {
  header.s24-navigation-header[data-s24-menu-mode][data-s24-compact] .s24-nav-desktop-actions .s24-header-action--secondary { display: inline-flex; }
}
@media (min-width: 1200px) {
  body.s24-nav-sidebar { margin-inline-start: var(--s24-sidebar-width); }
  body.s24-nav-sidebar.s24-nav-sidebar--end { margin-inline-start: 0; margin-inline-end: var(--s24-sidebar-width); }
  body.s24-nav-sidebar .s24-main-header-slot { min-block-size: 0; block-size: 0; z-index: 1000; }
  body.s24-nav-sidebar.s24-nav-sidebar--end .scroll-top { inset-inline-end: calc(var(--s24-sidebar-width) + 15px); }
  body.s24-nav-sidebar .s24-main-header-slot > header.s24-navigation-header[data-s24-menu-mode="sidebar"] {
    position: fixed; inset-block: var(--s24-admin-offset, 0px) 0; inset-inline-start: 0; inset-inline-end: auto;
    inline-size: var(--s24-sidebar-width); max-inline-size: none; margin: 0; z-index: 60; overflow: visible;
    background: var(--eh-header-bg); border-block-end: 0; border-inline-end: 1px solid var(--eh-border-light);
    box-shadow: 0 0 1.5rem var(--eh-shadow-04);
  }
  /* A transparent hero header cannot be a transparent column: use the solid sticky color, as the top header does on scroll. */
  body.s24-nav-sidebar.s24-page-header-transparent .s24-main-header-slot > header.s24-navigation-header[data-s24-menu-mode="sidebar"] {
    background: var(--eh-header-sticky-bg); border-inline-color: var(--eh-border-light);
  }
  body.s24-nav-sidebar.s24-nav-sidebar--end .s24-main-header-slot > header.s24-navigation-header[data-s24-menu-mode="sidebar"] {
    inset-inline-start: auto; inset-inline-end: 0; border-inline-end: 0; border-inline-start: 1px solid var(--eh-border-light);
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout {
    display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; block-size: 100%; min-block-size: 0;
    padding: 1.75rem 1rem 1.25rem !important;
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-brand {
    order: 1; flex: 0 0 auto; justify-content: flex-start; max-inline-size: none; margin: 0 0 1rem;
    padding: 0 .875rem 1.25rem; border-block-end: 1px solid var(--eh-border-light);
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-brand img { max-block-size: 3rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-panel {
    order: 2; flex: 1 1 auto; min-block-size: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; gap: .125rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > li { flex-shrink: 0; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > li > .s24-nav-row > .s24-nav-link,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > li > .s24-nav-row > .s24-nav-label,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > li > .s24-nav-row > .s24-nav-label-toggle { min-block-size: 2.75rem; padding: .625rem .875rem; font-size: 1rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > li > .s24-nav-row .s24-nav-title { white-space: normal; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > .current-menu-item > .s24-nav-row,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > .current-menu-ancestor > .s24-nav-row { background: var(--eh-shadow-04); }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > .current-menu-item > .s24-nav-row::after,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > .current-menu-ancestor > .s24-nav-row::after { inset-block: .625rem; inset-inline-start: 0; inline-size: 3px; block-size: auto; border-radius: 3px; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown[data-columns] {
    position: static; display: block; inline-size: auto; max-block-size: none; overflow: visible;
    margin: .125rem 0 .5rem; margin-inline-start: 1.125rem; padding: 0; padding-inline-start: .375rem;
    background: none; border: 0; border-inline-start: 1px solid var(--eh-border-light); border-radius: 0; box-shadow: none;
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown > li { margin: 0; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown > li > .s24-nav-row .s24-nav-link,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown > li > .s24-nav-row .s24-nav-label-toggle { min-block-size: 2.5rem; padding: .5rem .75rem; font-size: .9375rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown .s24-nav-title { font-weight: var(--s24-nav-sub-weight, 500); }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-dropdown > li > ul { margin: 0 0 .25rem; margin-inline-start: .75rem; padding-block-start: 0; border-block-start: 0; border-inline-start: 1px solid var(--eh-border-light); }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-link { gap: .625rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-icon { inline-size: 1.25rem; block-size: 1.25rem; font-size: 1.125rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-description,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-image,
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-link-arrow { display: none; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-icons--column { display: flex; order: 3; flex: 0 0 auto; margin-block-start: 1rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-actions {
    order: 4; flex: 0 0 auto; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: .5rem;
    margin: 1rem 0 0; padding: 1rem 0 0; border-block-start: 1px solid var(--eh-border-light);
  }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-header-layout > .s24-nav-actions:not(:has(.s24-header-action)) { display: none; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-desktop-actions { flex-direction: column; align-items: stretch; gap: .5rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-actions .s24-header-action { inline-size: 100%; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-open { display: none; }
}
/* 2.8.0 side menu icon links (Customizer > Header > Side Menu Icons). Column copy shows only in the fixed side menu. */
.s24-nav-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.s24-nav-icons--column { display: none; }
.s24-nav-icon-link {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  inline-size: 2.75rem; block-size: 2.75rem; color: var(--eh-nav-text); text-decoration: none;
  border: 1px solid var(--eh-border-light); border-radius: var(--eh-radius-control); background: transparent;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}
.s24-nav-icon-link:hover, .s24-nav-icon-link:focus-visible { color: var(--eh-nav-accent, var(--eh-primary)); background: var(--eh-shadow-04); border-color: currentColor; text-decoration: none; }
.s24-nav-icon-svg { display: block; inline-size: 1.25rem; block-size: 1.25rem; }
.s24-nav-icon-font { font-size: 1.25rem; line-height: 1; }
/* Tooltip: hover and keyboard focus; the accessible name is aria-label. Inverts the header colors. */
.s24-nav-icon-link[data-s24-tooltip]::after {
  content: attr(data-s24-tooltip); position: absolute; z-index: 3; inset-block-end: calc(100% + .5rem); left: 50%; transform: translateX(-50%);
  inline-size: max-content; max-inline-size: 12rem; padding: .375rem .625rem; border-radius: var(--eh-radius-sm);
  background: var(--eh-nav-text); color: var(--eh-header-sticky-bg, var(--eh-header-bg)); font-size: .8125rem; font-weight: 500; line-height: 1.4;
  text-align: center; white-space: normal; box-shadow: 0 6px 16px var(--eh-shadow-15);
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 140ms ease, visibility 140ms ease;
}
.s24-nav-icon-link:first-child[data-s24-tooltip]::after { left: auto; inset-inline-start: 0; transform: none; }
.s24-nav-icon-link:last-child:not(:first-child)[data-s24-tooltip]::after { left: auto; inset-inline-end: 0; transform: none; }
.s24-nav-icon-link:only-child[data-s24-tooltip]::after { inset-inline-start: auto; inset-inline-end: auto; left: 50%; right: auto; transform: translateX(-50%); }
.s24-nav-icon-link:hover::after, .s24-nav-icon-link:focus-visible::after { opacity: 1; visibility: visible; }
/* Utility strip stays in document flow; no vertical fence between every link. */
.s24-topbar { background: var(--eh-topbar-bg, var(--eh-header-bg)); color: var(--eh-topbar-text, var(--eh-muted-text)); border-block-end: 1px solid var(--eh-topbar-border, var(--eh-border-light)); }
.s24-topbar-layout { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .125rem 1rem; }
.s24-topbar ul { max-inline-size: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .5rem; margin: 0; padding: 0; list-style: none; min-inline-size: 0; }
.s24-topbar li { min-inline-size: 0; max-inline-size: 100%; }
.s24-topbar a { max-inline-size: 100%; display: inline-flex; min-block-size: 34px; gap: .375rem; align-items: center; padding: .375rem .5rem; color: var(--eh-topbar-text, var(--eh-muted-text)); font-size: var(--s24-topbar-font-size, .8125rem); line-height: 1.5; overflow-wrap: anywhere; text-decoration: none; }
.s24-topbar bdi { min-inline-size: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.s24-topbar a:hover, .s24-topbar a:focus-visible { color: var(--eh-topbar-link-hover, var(--eh-primary)); text-decoration: underline; text-underline-offset: .25rem; }
/* 2.5.0 Top Bar settings (Appearance > s24theme Design > Top Bar). Defaults match 2.4.0. */
.s24-topbar a > i { color: var(--eh-topbar-icon, currentColor); }
.s24-topbar a:hover > i, .s24-topbar a:focus-visible > i { color: inherit; }
.s24-topbar--custom-weight a { font-weight: var(--s24-topbar-font-weight); }
.s24-topbar--custom-icon-size a > i { font-size: var(--s24-topbar-icon-size); }
@media (max-width: 767px) { .s24-topbar--hide-mobile { display: none; } }
.s24-topbar a:focus-visible { outline: 2px solid var(--eh-primary); outline-offset: -2px; }
@media (max-width: 479px) {
  .s24-navigation-header[data-s24-compact] .s24-nav-desktop-actions { display: none; }
  .s24-topbar-layout { justify-content: center; }
  .s24-topbar ul { justify-content: center; }
  .s24-topbar a { min-block-size: 36px; padding: .375rem .4375rem; font-size: calc(var(--s24-topbar-font-size, .8125rem) - .0625rem); }
}
@media (prefers-reduced-motion: reduce) {
  .s24-navigation-header *, .s24-navigation-header *::before, .s24-navigation-header *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .s24-nav-row, .s24-nav-dropdown { border: 1px solid CanvasText; }
  .s24-nav-icon { color: CanvasText; }
  .s24-navigation-header a:focus-visible, .s24-navigation-header button:focus-visible { outline-color: Highlight; }
}

/* 2.11.0: side menu hover and current-page colors (Theme Design › Side menu). Applies to the fixed side menu and to
   every menu that opens from the menu button; the desktop top menu is untouched. Each variable is optional and the
   fallbacks are the previous look, so nothing changes until a color is chosen. Declared last to win equal selectors. */
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) :is(.s24-nav-link, .s24-nav-label-toggle, .s24-nav-toggle):hover {
  color: var(--s24-side-hover-text, var(--eh-nav-accent, var(--eh-primary))); background: var(--s24-side-hover-bg, var(--eh-shadow-04));
}
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) .s24-nav-link:hover .s24-nav-link-arrow { color: var(--s24-side-hover-text, var(--eh-nav-accent, var(--eh-primary))); }
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) :is(.s24-nav-icon-link:hover, .s24-nav-icon-link:focus-visible) {
  color: var(--s24-side-hover-text, var(--eh-nav-accent, var(--eh-primary))); background: var(--s24-side-hover-bg, var(--eh-shadow-04));
}
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) .s24-nav-link[aria-current="page"] { color: var(--s24-side-active-text, var(--eh-nav-accent, var(--eh-primary))); }
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) .s24-nav-submenu .current-menu-item > .s24-nav-row { background: var(--s24-side-active-bg, var(--eh-shadow-04)); }
.s24-navigation-header[data-s24-compact] .s24-nav-root > :is(.current-menu-item, .current-menu-ancestor) > .s24-nav-row { background: var(--s24-side-active-bg, transparent); }
:is(.s24-navigation-header[data-s24-compact], .s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact])) .s24-nav-root > :is(.current-menu-item, .current-menu-ancestor) > .s24-nav-row::after { background: var(--s24-side-active-marker, var(--eh-nav-accent, var(--eh-primary))); }
@media (min-width: 1200px) {
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-compact]) .s24-nav-root > :is(.current-menu-item, .current-menu-ancestor) > .s24-nav-row { background: var(--s24-side-active-bg, var(--eh-shadow-04)); }
}

/* 2.12.0: top bar on phones (Theme Design › Top Bar › On phones). "Wrap" keeps the rules above unchanged.
   "Swipe": one scrollable row. "More": one row, links that do not fit open below the bar (needs JS; without it the
   bar simply wraps as before). Per link: .s24-topbar-m-always / -more / -hide (Customizer). */
/* 2.12.2: the "More" toggle is a small arrow (down = open, up = close). The button keeps a 40px-wide tap area across
   the row but draws nothing itself; only the arrow mark is visible, in the bar's text color in every state (touch
   screens keep :hover after a tap, so no color change on hover). Styles: divider (default), circle, plain. */
.s24-topbar-more:not([hidden]) {
  position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; align-self: stretch;
  margin-inline-start: auto; inline-size: 40px; min-block-size: 34px; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent;
  color: var(--eh-topbar-text, var(--eh-muted-text)); background: transparent; border: 0;
}
.s24-topbar-more .s24-nav-svg { inline-size: 1rem; block-size: 1rem; flex-shrink: 0; box-sizing: border-box; transition: transform 160ms ease, background-color 140ms ease; }
.s24-topbar-more[aria-expanded="true"] .s24-nav-svg { transform: rotate(180deg); }
.s24-topbar-more:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; border-radius: var(--eh-radius-sm); }
@media (hover: hover) { .s24-topbar-more:hover .s24-nav-svg { opacity: .75; } }
/* Arrow after a thin line: a short divider (not the full row height) separates the arrow from the last link. */
.s24-topbar--more-divider .s24-topbar-more::before {
  content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 50%; block-size: 1.125rem; transform: translateY(-50%);
  border-inline-start: 1px solid currentColor; opacity: .35;
}
/* Arrow in a small circle: a 24px soft circle, slightly stronger while open. */
.s24-topbar--more-circle .s24-topbar-more .s24-nav-svg { inline-size: 1.5rem; block-size: 1.5rem; padding: .25rem; border-radius: 50%; background: color-mix(in srgb, currentColor 13%, transparent); }
.s24-topbar--more-circle .s24-topbar-more[aria-expanded="true"] .s24-nav-svg { background: color-mix(in srgb, currentColor 24%, transparent); }
@media (hover: hover) { .s24-topbar--more-circle .s24-topbar-more:hover .s24-nav-svg { opacity: 1; background: color-mix(in srgb, currentColor 24%, transparent); } }
.s24-topbar-more-panel { border-block-start: 1px solid var(--eh-topbar-border, var(--eh-border-light)); }
.s24-topbar-more-panel ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 .5rem; padding-block: .125rem .25rem; }
@media (min-width: 768px) {
  .s24-topbar-more:not([hidden]), .s24-topbar-more-panel:not([hidden]) { display: none; }
}
@media (max-width: 767px) {
  .s24-topbar .s24-topbar-m-hide { display: none; }
  .s24-topbar--mobile-scroll .s24-topbar-layout,
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout { flex-wrap: nowrap; justify-content: flex-start; gap: 0 .25rem; }
  .s24-topbar--mobile-scroll .s24-topbar-layout > ul,
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout > ul { display: contents; }
  .s24-topbar--mobile-scroll .s24-topbar-layout li,
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout li { flex: 0 0 auto; max-inline-size: none; }
  .s24-topbar--mobile-scroll .s24-topbar-layout a,
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout a { white-space: nowrap; overflow-wrap: normal; }
  .s24-topbar--mobile-scroll .s24-topbar-layout .s24-topbar-m-always,
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout .s24-topbar-m-always { order: -1; }
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-more { order: 2; }
  /* Swipe */
  .s24-topbar--mobile-scroll .s24-topbar-layout .s24-topbar-m-more { order: 1; }
  .s24-topbar--mobile-scroll .s24-topbar-layout {
    overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
  }
  .s24-topbar--mobile-scroll .s24-topbar-layout::-webkit-scrollbar { display: none; }
  .s24-topbar--mobile-scroll .s24-topbar-layout li { scroll-snap-align: start; }
  .s24-topbar--mobile-scroll .s24-topbar-layout[data-s24-more-left] { -webkit-mask-image: linear-gradient(to right, transparent, #000 2.5rem); mask-image: linear-gradient(to right, transparent, #000 2.5rem); }
  .s24-topbar--mobile-scroll .s24-topbar-layout[data-s24-more-right] { -webkit-mask-image: linear-gradient(to left, transparent, #000 2.5rem); mask-image: linear-gradient(to left, transparent, #000 2.5rem); }
  .s24-topbar--mobile-scroll .s24-topbar-layout[data-s24-more-left][data-s24-more-right] {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 2.5rem, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(to right, transparent, #000 2.5rem, #000 calc(100% - 2.5rem), transparent);
  }
  /* More */
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout { overflow: hidden; }
  .s24-topbar--mobile-more[data-s24-topbar-ready][data-s24-topbar-fits] .s24-topbar-layout { justify-content: center; }
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout li[data-s24-overflow],
  .s24-topbar--mobile-more[data-s24-topbar-ready] .s24-topbar-layout .s24-topbar-m-more { display: none; }
}
/*
 * 2.18.1 first paint: the page arrives with the header it will keep.
 * navigation.js is loaded last (and cache plugins may hold it until the first touch), so until it runs these rules
 * draw the same bar it is about to choose: the compact bar with the menu button where that choice depends only on the
 * screen width (phones and tablets, "opens from a menu button", the side menu below 1200px), and on wide screens the
 * one-row menu (top) or the side column with its submenus closed. Only with JavaScript on (scripting: enabled): with
 * JavaScript off, or when the script cannot run (data-s24-fallback), the complete link tree above stays.
 */
@media (scripting: enabled) {
  .s24-main-header-slot:has(> .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]) [data-s24-dialog]) { min-block-size: 0; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) { --s24-nav-height: 4.5rem; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout { display: grid; grid-template-columns: auto 1fr; justify-content: normal; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > :is(.s24-nav-brand, .s24-nav-actions) { order: 0; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-brand { margin-inline: 0; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-panel { display: none; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-open { display: inline-flex; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="brand-actions-nav"] .s24-header-layout { grid-template-columns: auto 1fr; grid-template-areas: "brand actions"; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]):is([data-s24-layout="actions-nav-brand"], [data-s24-layout="nav-actions-brand"]) .s24-header-layout { grid-template-columns: 1fr auto; grid-template-areas: "actions brand"; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="nav-brand-actions"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: ". brand actions"; }
  .s24-navigation-header[data-s24-menu-mode="drawer"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="actions-brand-nav"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "actions brand ."; }
}
@media (scripting: enabled) and (max-width: 1199px) {
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) { --s24-nav-height: 4.5rem; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout { display: grid; grid-template-columns: auto 1fr; justify-content: normal; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > :is(.s24-nav-brand, .s24-nav-actions) { order: 0; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-brand { margin-inline: 0; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-panel { display: none; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-open { display: inline-flex; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="brand-actions-nav"] .s24-header-layout { grid-template-columns: auto 1fr; grid-template-areas: "brand actions"; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]):is([data-s24-layout="actions-nav-brand"], [data-s24-layout="nav-actions-brand"]) .s24-header-layout { grid-template-columns: 1fr auto; grid-template-areas: "actions brand"; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="nav-brand-actions"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: ". brand actions"; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="actions-brand-nav"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "actions brand ."; }
}
@media (scripting: enabled) and (max-width: 991px) {
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) { --s24-nav-height: 4.5rem; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout { display: grid; grid-template-columns: auto 1fr; justify-content: normal; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > :is(.s24-nav-brand, .s24-nav-actions) { order: 0; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-brand { margin-inline: 0; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-panel { display: none; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-open { display: inline-flex; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="brand-actions-nav"] .s24-header-layout { grid-template-columns: auto 1fr; grid-template-areas: "brand actions"; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]):is([data-s24-layout="actions-nav-brand"], [data-s24-layout="nav-actions-brand"]) .s24-header-layout { grid-template-columns: 1fr auto; grid-template-areas: "actions brand"; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="nav-brand-actions"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: ". brand actions"; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-layout="actions-brand-nav"] .s24-header-layout { grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); grid-template-areas: "actions brand ."; }
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-desktop-actions .s24-header-action--secondary { display: none; }
}
@media (scripting: enabled) and (max-width: 479px) {
  .s24-navigation-header:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-desktop-actions { display: none; }
}
@media (scripting: enabled) and (min-width: 992px) {
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout { display: grid; justify-content: normal; overflow-x: clip; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > :is(.s24-nav-brand, .s24-nav-panel, .s24-nav-actions) { order: 0; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-brand { margin-inline: 0; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-header-layout > .s24-nav-panel { padding-block: 0; overflow-x: clip; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root { display: flex; flex-wrap: nowrap; justify-content: center; gap: .125rem; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-menu-align="start"] .s24-nav-root { justify-content: flex-start; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog])[data-s24-menu-align="end"] .s24-nav-root { justify-content: flex-end; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root > li { flex-shrink: 0; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root > li > .s24-nav-row .s24-nav-title { white-space: nowrap; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root ul { display: none; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-toggle { display: inline-flex; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-label-toggle { cursor: pointer; }
  .s24-navigation-header:not([data-s24-menu-mode]):not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-label-toggle > .s24-nav-svg { display: block; }
}
@media (scripting: enabled) and (min-width: 1200px) {
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root li:not(.current-menu-ancestor):not(.current-menu-parent) > ul { display: none; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-root li:is(.current-menu-ancestor, .current-menu-parent) > .s24-nav-row [data-s24-disclosure] > .s24-nav-svg { transform: rotate(180deg); }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-toggle { display: inline-flex; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-label-toggle { cursor: pointer; }
  header.s24-navigation-header[data-s24-menu-mode="sidebar"]:not([data-s24-ready]):not([data-s24-fallback]):has([data-s24-dialog]) .s24-nav-label-toggle > .s24-nav-svg { display: block; }
}
/* 2.18.1 top bar "More" on phones: one row from the first paint (a link cut at the end fades out); topbar.js then moves what does not fit under the arrow. */
@media (scripting: enabled) and (max-width: 767px) {
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout { flex-wrap: nowrap; justify-content: flex-start; justify-content: safe center; gap: 0 .25rem; overflow: hidden; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout > ul { display: contents; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout li { flex: 0 0 auto; max-inline-size: none; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout a { white-space: nowrap; overflow-wrap: normal; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout .s24-topbar-m-always { order: -1; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout .s24-topbar-m-more { display: none; }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout { -webkit-mask-image: linear-gradient(to left, transparent, #000 2.5rem); mask-image: linear-gradient(to left, transparent, #000 2.5rem); }
  .s24-topbar--mobile-more:not([data-s24-topbar-ready]) .s24-topbar-layout:dir(rtl) { -webkit-mask-image: linear-gradient(to right, transparent, #000 2.5rem); mask-image: linear-gradient(to right, transparent, #000 2.5rem); }
}
