/* Partners 3.0 shell and layout styles. */

.ss3-site-shell {
    min-height: 100vh;
}

.ss3-site-menu {
    font-family: var(--ss3-font-family-base);
    font-size: var(--ss3-font-size-body);
    line-height: var(--ss3-line-height-body);
    background: var(--ss3-shell-menu-bg);
    color: var(--ss3-color-text);
    box-shadow: var(--ss3-shadow-md);
}

.ss3-site-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ss3-space-3);
    padding: var(--ss3-space-4);
    border-bottom: 1px solid var(--ss3-color-border);
}

.ss3-site-menu-title {
    color: var(--ss3-color-text);
    font-size: var(--ss3-font-size-section-title);
    font-weight: var(--ss3-font-weight-strong);
    line-height: var(--ss3-line-height-tight);
}

.ss3-site-menu-list a {
    display: flex;
    align-items: center;
    gap: var(--ss3-space-2);
}

.ss3-site-header {
    background: var(--ss3-shell-header-bg);
    color: var(--ss3-shell-header-text);
    box-shadow: var(--ss3-shadow-sm);
}

.ss3-site-header a,
.ss3-site-header .menu-text,
.ss3-site-header .top-bar,
.ss3-site-header .top-bar ul {
    color: var(--ss3-shell-header-link);
}

.ss3-site-header .top-bar,
.ss3-site-header .top-bar ul {
    background: transparent;
}

.ss3-site-header-mobile {
    padding: var(--ss3-space-2) 0;
}

.ss3-mobile-toolbar {
    display: flex;
    align-items: center;
    gap: var(--ss3-space-2);
}

.ss3-mobile-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--ss3-font-size-app-title);
    font-weight: var(--ss3-font-weight-strong);
    line-height: var(--ss3-line-height-tight);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ss3-site-header-desktop {
    padding-top: var(--ss3-space-2);
    padding-bottom: var(--ss3-space-2);
}

.ss3-site-name a {
    color: inherit;
    font-size: var(--ss3-font-size-app-title);
    font-weight: var(--ss3-font-weight-strong);
    line-height: var(--ss3-line-height-tight);
}

.ss3-site-search {
    margin-top: var(--ss3-space-2);
}

.ss3-site-search .input-group {
    margin-bottom: 0;
}

.ss3-site-search-mobile {
    margin-top: var(--ss3-space-2);
}

.ss3-mobile-search-tools {
    display: flex;
    align-items: center;
    gap: var(--ss3-space-1);
    margin-top: var(--ss3-space-2);
}

.ss3-site-main {
    max-width: var(--ss3-site-max-width);
    padding-top: var(--ss3-space-4);
    padding-bottom: var(--ss3-space-6);
}

.ss3-site-footer {
    padding: var(--ss3-space-4) 0;
    background: var(--ss3-shell-footer-bg);
    color: var(--ss3-shell-footer-text);
    border-top: 1px solid rgb(255 255 255 / 0.18);
}

.ss3-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ss3-space-4);
}

.ss3-footer-links a {
    color: var(--ss3-shell-footer-text);
}

.ss3-copyright {
    padding: var(--ss3-space-2) 0;
    color: var(--ss3-shell-footer-text);
    font-size: var(--ss3-font-size-supporting);
    line-height: var(--ss3-line-height-body);
    background: var(--ss3-shell-footer-bg);
    border-top: 1px solid rgb(255 255 255 / 0.18);
}

.ss3-icon-button.button.clear {
    color: inherit;
    margin: 0;
    padding: 0.55rem 0.7rem;
    border-radius: var(--ss3-radius-sm);
}

.ss3-icon-button.button.clear:hover,
.ss3-icon-button.button.clear:focus,
.ss3-search-scope-button.active {
    background: rgb(255 255 255 / 0.16);
    color: inherit;
}

@media screen and (max-width: 39.9375em) {
    .ss3-site-main {
        padding-top: var(--ss3-space-3);
        padding-bottom: var(--ss3-space-4);
    }
}

/* Peer-section composition. Hidden sections contribute no boundary or empty slot.
   The workbench owns the complete relationship between a record summary and its
   first section, and between successive peer sections. */
.ss3-workbench {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ss3-record-context + .ss3-workbench {
    margin-top: var(--ss3-gap-section-before);
}

.ss3-workbench > .ss3-section {
    margin: 0;
    padding: 0;
    border-top: 0;
}

.ss3-workbench > .ss3-section:not([hidden]) ~ .ss3-section:not([hidden]) {
    margin-top: var(--ss3-gap-section-before);
    padding-top: var(--ss3-gap-section-after);
    border-top: 1px solid var(--ss3-color-structure);
}

.ss3-workbench[data-boundary="undivided"] > .ss3-section:not([hidden]) ~ .ss3-section:not([hidden]) {
    margin-top: calc(var(--ss3-gap-section-before) + var(--ss3-gap-section-after));
    padding-top: 0;
    border-top: 0;
}

/* Contained is the preferred conventional workbench variant. Each peer section
   supplies one card boundary. Existing card padding and the inter-card gap combine
   to the same visible-content hierarchy as divided sections without adding a
   second divider allowance. */
.ss3-record-context + .ss3-workbench[data-boundary="contained"] {
    margin-top: calc(var(--ss3-gap-section-before) - var(--ss3-space-4));
}

.ss3-workbench[data-boundary="contained"] {
    gap: var(--ss3-space-4);
}

.ss3-workbench[data-boundary="contained"] > .ss3-section {
    padding: var(--ss3-space-4);
    background: var(--ss3-color-surface);
    border: 1px solid var(--ss3-color-structure);
    border-radius: var(--ss3-radius-lg);
    box-shadow: var(--ss3-shadow-sm);
}

.ss3-workbench[data-boundary="contained"] > .ss3-section:not([hidden]) ~ .ss3-section:not([hidden]) {
    margin-top: 0;
}

@media screen and (max-width: 39.9375em) {
    /* Recover the normal Foundation phone gutter while retaining clear top/bottom
       containment, 16px vertical padding, and 12px horizontal content padding. */
    .ss3-workbench[data-boundary="contained"] {
        gap: var(--ss3-space-2);
        margin-inline: calc(0rem - var(--ss3-space-2));
    }

    .ss3-workbench[data-boundary="contained"] > .ss3-section {
        padding: var(--ss3-space-4) var(--ss3-space-3);
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        box-shadow: none;
    }

    /* Edge-contained peer transitions use one horizontal boundary. Preserve the
       complete 16px section padding and 8px inter-section gap; only the redundant
       bottom rule is removed while another visible peer follows. */
    .ss3-workbench[data-boundary="contained"] > .ss3-section:not([hidden]):has(~ .ss3-section:not([hidden])) {
        border-bottom: 0;
    }
}

/* Main-header compatibility: legacy masters load tokens + this shared layout
   owner after their existing vendor bundle. The scope leaves page styles intact. */
.ss3-legacy-shell .ss3-shell-main {
    max-width: var(--ss3-site-max-width);
}

.ss3-legacy-shell :is(.top-bar-full, .top-bar-mobile) {
    --ss-header-back: var(--ss3-shell-header-bg);
    background-color: var(--ss3-shell-header-bg);
    color: var(--ss3-shell-header-text);
    font-family: var(--ss3-font-family-base);
    font-size: var(--ss3-font-size-body);
    line-height: var(--ss3-line-height-body);
}

.ss3-legacy-shell .top-bar-full {
    padding: 0;
    border: 0;
}

.ss3-legacy-shell .top-bar-full > .cell > .grid-container {
    width: 100%;
    max-width: var(--ss3-site-max-width);
    padding-inline: 0.9375rem;
}

.ss3-legacy-shell #full-search {
    margin: 0;
    padding-bottom: calc(var(--ss3-space-1) + 0.125rem);
}

.ss3-legacy-shell #full-search .input-group {
    margin: 0;
}

.ss3-legacy-shell #full-search .search-select {
    flex: 0 0 10.5rem;
    min-width: 0;
}

.ss3-legacy-shell #full-search :is(select, input, .ss3-shell-search-submit) {
    height: var(--ss3-control-height);
    margin: 0;
    font-family: var(--ss3-font-family-base);
    font-size: var(--ss3-font-size-control);
}

.ss3-legacy-shell #full-search select {
    width: 100%;
    padding: 0 2.75rem 0 0.5rem;
    border-radius: var(--ss3-radius-sm) 0 0 var(--ss3-radius-sm);
}

.ss3-legacy-shell #full-search .search-full-text {
    min-width: 0;
    padding: 0 0.5rem;
    border-radius: 0;
}

.ss3-legacy-shell #full-search .ss3-shell-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 4.5rem;
    padding: 0 1rem;
    border-radius: 0 var(--ss3-radius-sm) var(--ss3-radius-sm) 0;
}

.ss3-legacy-shell #full-search .ss3-shell-search-submit > i {
    font-size: 1.5rem;
    line-height: 1;
}


/* All main headers share one desktop navigation policy, including the legacy
   TopBar family. Foundation still owns dropdown/accordion interaction. */
@media screen and (min-width: 40em) {
    .ss3-top-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 2.9375rem;
        margin: 0;
        padding: 0;
    }

    .ss3-top-bar .top-bar-left,
    .ss3-top-bar .top-bar-right {
        float: none;
        display: flex;
        align-items: stretch;
        min-width: 0;
    }

    .ss3-top-bar .top-bar-left {
        flex: 1 1 auto;
    }

    .ss3-top-bar .top-bar-right {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .ss3-top-bar .top-bar-right .dropdown.menu > li > a > i:first-child {
        margin-right: var(--ss3-space-1);
    }

    .ss3-top-bar .dropdown.menu {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        margin: 0;
    }

    .ss3-top-bar .dropdown.menu > li {
        display: flex;
        align-items: stretch;
    }

    .ss3-top-bar .menu .menu-text {
        display: flex;
        align-items: stretch;
        margin: 0;
        padding: 0;
    }

    .ss3-top-bar .dropdown.menu > li > a,
    .ss3-top-bar .ss3-site-name > a {
        display: flex;
        align-items: center;
    }

    /* Keep top-level navigation readable in every interaction state. */
    .ss3-site-header .ss3-top-bar .dropdown.menu > li > a,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li > a:link,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li > a:visited,
    .ss3-site-header .ss3-top-bar .menu-text > a,
    .ss3-site-header .ss3-top-bar .menu-text > a:link,
    .ss3-site-header .ss3-top-bar .menu-text > a:visited {
        color: var(--ss3-shell-header-text);
    }

    .ss3-site-header .ss3-top-bar .dropdown.menu > li > a:hover,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li > a:focus,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li.is-active > a,
    .ss3-site-header .ss3-top-bar .menu-text > a:hover,
    .ss3-site-header .ss3-top-bar .menu-text > a:focus {
        color: var(--ss3-shell-header-text);
        background: rgb(255 255 255 / 0.14);
    }

    /* Foundation dropdown panels must be opaque and keep readable link states. */
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu {
        z-index: 20;
        min-width: 14rem;
        color: var(--ss3-shell-header-text);
        background: var(--ss3-shell-header-bg);
        border: 1px solid rgb(255 255 255 / 0.24);
        box-shadow: var(--ss3-shadow-md);
    }

    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li,
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a,
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a:link,
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a:visited {
        color: var(--ss3-shell-header-text);
        background: var(--ss3-shell-header-bg);
    }

    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a {
        display: flex;
        align-items: center;
        gap: var(--ss3-space-2);
    }

    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a:hover,
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a:focus,
    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li.is-active > a {
        color: var(--ss3-shell-header-text);
        background: rgb(255 255 255 / 0.14);
    }

    .ss3-site-header .ss3-top-bar .dropdown.menu > li.is-dropdown-submenu-parent > a::after,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li.is-dropdown-submenu-parent > a:hover::after,
    .ss3-site-header .ss3-top-bar .dropdown.menu > li.is-dropdown-submenu-parent > a:focus::after {
        border-color: var(--ss3-shell-header-text) transparent transparent;
    }

    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
        border-color: transparent transparent transparent var(--ss3-shell-header-text);
    }

    .ss3-top-bar .ss3-site-name {
        display: flex;
        align-items: stretch;
        padding: 0 !important;
    }

    .ss3-top-bar .dropdown.menu > li.ss3-site-name > a,
    .ss3-top-bar .ss3-site-name > a {
        padding-left: 0 !important;
        padding-right: var(--ss3-space-4);
    }

    .ss3-site-header .ss3-top-bar ul.is-dropdown-submenu > li > a > i {
        font-size: 1em;
        line-height: 1;
        color: inherit;
    }
}

.ss3-site-menu .ss3-site-menu-list {
    background: var(--ss3-shell-menu-bg);
    color: var(--ss3-color-text);
}

.ss3-site-menu .ss3-site-menu-list a,
.ss3-site-menu .ss3-site-menu-list a:link,
.ss3-site-menu .ss3-site-menu-list a:visited {
    background: var(--ss3-shell-menu-bg);
    padding: 0.7rem 1rem;
    line-height: 1;
    color: var(--ss3-color-link);
}

.ss3-site-menu .ss3-site-menu-list a:hover,
.ss3-site-menu .ss3-site-menu-list a:focus {
    background: var(--ss3-color-action-soft);
}

.ss3-site-menu .ss3-site-menu-header > .ss3-site-menu-title {
    background: transparent;
    color: var(--ss3-color-text);
    padding: 0;
}

.ss3-site-menu .ss3-site-menu-close {
    margin: 0;
    padding: 0.5rem;
    color: var(--ss3-color-text);
    font-size: 1rem;
    line-height: 1;
}

.ss3-site-menu .ss3-site-menu-list a > i {
    font-size: 1em;
    color: inherit;
}

/* The legacy brand ID is retained for its existing scripts; override the old
   ID-specific yellow hover without changing its data or behavior. */
.ss3-site-header .ss3-top-bar #site-name-main > a {
    color: var(--ss3-shell-header-text);
    background: transparent;
}

.ss3-site-header .ss3-top-bar #site-name-main > a:hover,
.ss3-site-header .ss3-top-bar #site-name-main > a:focus {
    color: var(--ss3-shell-header-text);
    background: rgb(255 255 255 / 0.14);
}

.ss3-site-menu .ss3-site-menu-list > li {
    background: var(--ss3-shell-menu-bg);
    color: var(--ss3-color-text);
}

/* Legacy form-focus rules must not add borders or resize navigation links. */
.ss3-site-header .ss3-top-bar .dropdown.menu a:focus {
    border: 0;
    box-shadow: none;
}


/* Partners navigation component, shared by v3 and adopted legacy masters. */
.ss3-navigation-shell .ss3-site-main { padding-inline:var(--ss3-site-gutter); }
.ss3-navigation-shell .ss3-navigation-header { color: var(--ss3-shell-header-text); background: var(--ss3-shell-header-bg); }
.ss3-navigation-bar { display:flex; align-items:center; gap:var(--ss3-space-3); width:100%; max-width:var(--ss3-site-max-width); height:var(--ss3-navigation-header-height); margin:0 auto; padding:var(--ss3-space-1) var(--ss3-site-gutter); }
.ss3-navigation-shell .ss3-navigation-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--ss3-navigation-target); width:var(--ss3-navigation-target); height:var(--ss3-navigation-target); min-height:var(--ss3-navigation-target); margin:0; padding:0; border:0; border-radius:var(--ss3-radius-sm); color:inherit; background:transparent; font-size:var(--ss3-navigation-icon-size); line-height:1; cursor:pointer; }
.ss3-navigation-shell .ss3-navigation-icon:hover { background:var(--ss3-navigation-header-hover); }
.ss3-navigation-shell .ss3-navigation-brand { display:flex; align-items:center; flex:0 1 auto; min-width:0; max-width:18rem; height:var(--ss3-navigation-target); color:inherit; font-family:var(--ss3-font-family-base); font-size:var(--ss3-font-size-body); font-weight:var(--ss3-font-weight-strong); }
.ss3-navigation-brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ss3-navigation-shell .ss3-navigation-search { --ss3-search-focus-color:var(--ss3-color-action); display:flex; align-items:center; gap:0; flex:1 1 24rem; min-width:10rem; max-width:32rem; height:var(--ss3-navigation-target); margin:0 0 0 auto; padding:0; border:0; border-radius:var(--ss3-radius-sm); color:var(--ss3-color-text); background:var(--ss3-color-surface); }
.ss3-navigation-shell .ss3-navigation-search input { flex:1 1 auto; width:100%; min-width:0; height:var(--ss3-navigation-target); min-height:var(--ss3-navigation-target); margin:0; padding:0 var(--ss3-space-2); border:0; border-radius:0; background:var(--ss3-color-surface); color:var(--ss3-color-text); font-family:var(--ss3-font-family-base); font-size:var(--ss3-font-size-control); }
.ss3-navigation-query { flex:1 1 auto; min-width:0; width:100%; height:var(--ss3-navigation-target); }
.ss3-navigation-search input::placeholder { opacity:1; color:var(--ss3-color-text-muted); }
.ss3-navigation-shell .ss3-navigation-scope { display:flex; align-items:center; justify-content:center; gap:var(--ss3-space-1); flex:0 0 3.625rem; width:3.625rem; height:var(--ss3-navigation-target); min-height:var(--ss3-navigation-target); margin:0; padding:0; border:0; border-inline-end:1px solid var(--ss3-color-border); border-radius:var(--ss3-radius-sm) 0 0 var(--ss3-radius-sm); background:transparent; color:var(--ss3-color-text); cursor:pointer; }
.ss3-navigation-scope-icon { display:none; font-size:1.5rem; line-height:1; }
.ss3-navigation-scope-icon.active { display:inline-block; }
.ss3-navigation-chevron { font-size:0.75rem; }
.ss3-navigation-shell .ss3-navigation-search > .ss3-navigation-icon:hover { background:var(--ss3-color-surface-muted); }
.ss3-navigation-shell .ss3-navigation-submit { color:var(--ss3-color-link); }
.ss3-navigation-shell .ss3-navigation-account { margin-left:auto; }
.ss3-navigation-shell .ss3-navigation-search-open,.ss3-navigation-shell .ss3-navigation-search-close { display:none; }
.ss3-navigation-panel { position:fixed; inset:calc(var(--ss3-navigation-header-height) + var(--ss3-space-1)) auto auto max(var(--ss3-site-gutter), calc((100vw - var(--ss3-site-max-width)) / 2 + var(--ss3-site-gutter))); width:min(22rem, calc(100vw - 1.5rem)); max-width:calc(100vw - 1.5rem); max-height:calc(100vh - 4.25rem); max-height:calc(100dvh - 4.25rem); margin:0; padding:0; overflow:auto; border:1px solid var(--ss3-color-border-strong); border-radius:var(--ss3-radius-md); box-shadow:var(--ss3-shadow-md); color:var(--ss3-color-text); background:var(--ss3-color-surface); font-family:var(--ss3-font-family-base); font-size:var(--ss3-font-size-body); }
/* Real trailing space lets the final link scroll above a browser status overlay. */
#ss3-navigation-menu,
.ss3-navigation-account-panel {
    /* Align with the centered shell only when it is narrower than the viewport. */
    --ss3-panel-inline-inset: max(0px, calc((100% - var(--ss3-site-max-width)) / 2));
    --ss3-panel-end-clearance: calc(var(--ss3-space-8) + env(safe-area-inset-bottom, 0px));
}
#ss3-navigation-menu {
    inset: var(--ss3-navigation-header-height) auto 0 var(--ss3-panel-inline-inset);
    width: min(var(--ss3-navigation-drawer-width), calc(100vw - var(--ss3-navigation-dismiss-width)));
    max-width: calc(100vw - var(--ss3-navigation-dismiss-width));
    height: calc(100vh - var(--ss3-navigation-header-height));
    height: calc(100dvh - var(--ss3-navigation-header-height));
    max-height: none;
    border-top: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    overscroll-behavior: contain;
    scroll-padding-bottom: var(--ss3-panel-end-clearance);
}
#ss3-navigation-menu > .ss3-navigation-links {
    padding-bottom: var(--ss3-panel-end-clearance);
}
html:has(#ss3-navigation-menu[open], #ss3-navigation-account[open]),
body:has(#ss3-navigation-menu[open], #ss3-navigation-account[open]) {
    overflow: hidden;
}
.ss3-navigation-panel:not([open]) { display:none; }
.ss3-navigation-panel::backdrop { background:var(--ss3-navigation-backdrop); }
.ss3-navigation-account-panel {
    inset: var(--ss3-navigation-header-height) var(--ss3-panel-inline-inset) auto auto;
    width: min(19rem, calc(100vw - var(--ss3-navigation-dismiss-width)));
    max-width: calc(100vw - var(--ss3-navigation-dismiss-width));
    height: auto;
    max-height: calc(100vh - var(--ss3-navigation-header-height) - var(--ss3-panel-end-clearance));
    max-height: calc(100dvh - var(--ss3-navigation-header-height) - var(--ss3-panel-end-clearance));
    border-top: 0;
    border-right: 0;
    border-radius: 0;
    overscroll-behavior: contain;
}
.ss3-navigation-scopes-panel { width:min(19rem, calc(100vw - 1.5rem)); }
.ss3-navigation-panel-heading { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:var(--ss3-space-2); padding:var(--ss3-space-1) var(--ss3-space-3); border-bottom:1px solid var(--ss3-color-border-strong); background:var(--ss3-color-surface); }
.ss3-navigation-panel-heading h2 { font-family:var(--ss3-font-family-base); color:var(--ss3-color-text); margin:0; font-size:var(--ss3-font-size-section-title); font-weight:var(--ss3-font-weight-strong); line-height:var(--ss3-line-height-tight); }
.ss3-navigation-shell .ss3-navigation-panel .ss3-navigation-icon:hover { background:var(--ss3-color-action-soft); }
.ss3-navigation-links { padding:var(--ss3-space-2) var(--ss3-space-3); }
.ss3-navigation-links ul { list-style:none; margin:0; padding:0; }
.ss3-navigation-links a,.ss3-navigation-choices > button { display:flex; align-items:center; gap:var(--ss3-space-3); min-height:var(--ss3-navigation-target); width:100%; margin:0; padding:var(--ss3-space-2); border:0; border-radius:var(--ss3-radius-sm); font-family:var(--ss3-font-family-base); font-size:var(--ss3-font-size-body); line-height:var(--ss3-line-height-data); text-align:left; color:var(--ss3-color-text); background:transparent; }
.ss3-navigation-links a > i,.ss3-navigation-choices > button > i { flex:0 0 1.5rem; width:1.5rem; text-align:center; font-size:1.25rem; }
.ss3-navigation-links [data-navigation-key] > a > i { font-size:var(--ss3-navigation-destination-icon-size); line-height:1; --fa-primary-color:var(--ss3-navigation-icon-primary); --fa-secondary-color:var(--ss3-navigation-icon-secondary); --fa-primary-opacity:1; --fa-secondary-opacity:1; }
.ss3-navigation-links [data-navigation-key="select-voters"] > a > i { --fa-primary-color:var(--ss3-navigation-icon-secondary); --fa-secondary-color:var(--ss3-navigation-icon-primary); }
.ss3-navigation-links [data-navigation-key="event-questions"] > a > i,
.ss3-navigation-links [data-navigation-key="sms-attention"] > a > i,
.ss3-navigation-links [data-navigation-key="deposits"] > a > i,
.ss3-navigation-links [data-navigation-key="dollars"] > a > i,
.ss3-navigation-links [data-navigation-key="form-submissions"] > a > i { --fa-primary-color:var(--ss3-navigation-icon-detail); }
.ss3-navigation-links a:hover,.ss3-navigation-choices > button:hover,.ss3-navigation-links a[aria-current="page"],.ss3-navigation-choices > button[aria-pressed="true"] { background:var(--ss3-color-action-soft); color:var(--ss3-color-text); }
.ss3-navigation-links a[aria-current="page"],.ss3-navigation-choices > button[aria-pressed="true"] { font-weight:var(--ss3-font-weight-strong); }
.ss3-navigation-section { margin:var(--ss3-space-2) 0 0; padding:var(--ss3-space-3) 0 0; border-top:1px solid var(--ss3-color-structure); }
.ss3-navigation-section h3 { font-family:var(--ss3-font-family-base); margin:0; padding:0 var(--ss3-space-2) var(--ss3-space-1); color:var(--ss3-color-structure); font-size:var(--ss3-font-size-label); font-weight:var(--ss3-font-weight-strong); line-height:var(--ss3-line-height-body); }
.ss3-navigation-account-name { margin:0; padding:var(--ss3-space-2); font-weight:var(--ss3-font-weight-strong); overflow-wrap:anywhere; }
.ss3-navigation-choices { padding:var(--ss3-space-2); }
.ss3-navigation-choices > .ss3-navigation-street { margin-top:var(--ss3-space-2); border-top:1px solid var(--ss3-color-border-strong); border-radius:0; }
.ss3-navigation-footer { margin:0; padding:0; border:0; font-family:var(--ss3-font-family-base); color:var(--ss3-shell-footer-text); background:var(--ss3-shell-footer-neutral-bg); }
.ss3-navigation-footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 var(--ss3-space-4); width:100%; max-width:var(--ss3-site-max-width); min-height:var(--ss3-navigation-header-height); margin:0 auto; padding:var(--ss3-space-1) var(--ss3-site-gutter); }
.ss3-navigation-copyright { font-size:var(--ss3-font-size-supporting); line-height:1.5rem; overflow-wrap:anywhere; }
.ss3-navigation-footer-links { display:flex; gap:var(--ss3-space-4); }
.ss3-navigation-footer-links a { display:inline-flex; align-items:center; justify-content:center; min-width:var(--ss3-navigation-target); min-height:var(--ss3-navigation-target); color:var(--ss3-shell-footer-text); font-size:var(--ss3-font-size-supporting); text-decoration:underline; text-underline-offset:0.1875rem; }
.ss3-navigation-footer-links a:hover,
.ss3-navigation-footer-links a:focus { color:var(--ss3-shell-footer-text); }
@media screen and (max-width:39.9375em) {
    .ss3-navigation-bar { gap:0; padding-inline:var(--ss3-site-gutter); }
    .ss3-navigation-shell .ss3-navigation-brand { flex:1 1 auto; max-width:none; }
    .ss3-navigation-shell .ss3-navigation-search { display:none; }
    .ss3-navigation-shell .ss3-navigation-search-open { display:inline-flex; }
    .ss3-navigation-shell .ss3-navigation-account { margin-left:0; }
    .ss3-navigation-bar.is-search-open > :not(.ss3-navigation-search) { display:none; }
    .ss3-navigation-shell .ss3-navigation-bar.is-search-open .ss3-navigation-search { display:flex; flex:1 1 auto; max-width:none; min-width:0; }
    .ss3-navigation-shell .ss3-navigation-bar.is-search-open .ss3-navigation-search-close { display:inline-flex; }
    .ss3-navigation-footer-inner { flex-direction:column; flex-wrap:nowrap; gap:0; padding-inline:var(--ss3-site-gutter); text-align:center; }
    .ss3-navigation-footer-links { order:-1; gap:var(--ss3-space-6); }
}



/* Personal Favorites share the navigation theme and keep one node per destination. */
.ss3-navigation-panel .ss3-navigation-home-link {
    display: inline-flex; align-items: center; gap: var(--ss3-space-3);
    min-height: var(--ss3-navigation-target); padding-inline: var(--ss3-space-2);
    color: var(--ss3-color-text); font-family: var(--ss3-font-family-base);
    font-size: var(--ss3-font-size-body); font-weight: var(--ss3-font-weight-medium);
    border-radius: var(--ss3-radius-sm);
}
.ss3-navigation-home-link > i { font-size: 1.5rem; }
.ss3-navigation-panel .ss3-navigation-home-link:hover { background: var(--ss3-color-action-soft); }
.ss3-navigation-links :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
.ss3-navigation-links [data-navigation-key] { display: flex; align-items: center; min-width: 0; }
.ss3-navigation-links [data-navigation-key] > a { flex: 1 1 0; min-width: 0; width: auto; overflow-wrap: anywhere; }
.ss3-navigation-links .ss3-navigation-favorite-action {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 var(--ss3-navigation-target); width: var(--ss3-navigation-target);
    min-width: var(--ss3-navigation-target); height: var(--ss3-navigation-target);
    padding: 0; margin: 0; border: 0; border-radius: var(--ss3-radius-sm);
    background: transparent; color: var(--ss3-color-text-muted); font-size: 1.25rem;
    line-height: 1; cursor: pointer;
}
.ss3-navigation-links .ss3-navigation-favorite-action:not(:disabled):hover { background: var(--ss3-color-action-soft); color: var(--ss3-color-text); }
.ss3-navigation-links .ss3-navigation-favorite-action:focus-visible { outline: 2px solid var(--ss3-color-action); outline-offset: -3px; }
.ss3-navigation-links .ss3-navigation-favorite-action:disabled { opacity: .4; cursor: default; }
.ss3-navigation-links .ss3-navigation-pin[aria-pressed="true"] { color: var(--ss3-color-action); }
.ss3-navigation-section-heading { display: flex; align-items: center; justify-content: space-between; }
.ss3-navigation-reorder-actions { display: inline-flex; align-items: center; }
.ss3-navigation-favorites.ss3-navigation-section { margin-top: 0; padding-top: 0; border-top: 0; }
.ss3-navigation-section[data-navigation-section]:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.ss3-navigation-favorites[hidden] + .ss3-navigation-section[data-navigation-section] { margin-top: 0; padding-top: 0; border-top: 0; }
.ss3-navigation-favorites-feedback:not([hidden]) { margin-top: var(--ss3-space-2); }
@media (hover: hover) and (pointer: fine) {
    .ss3-navigation-links .ss3-navigation-pin[aria-pressed="false"] { opacity: 0; pointer-events: none; }
    .ss3-navigation-links [data-navigation-key]:is(:hover, :focus-within) .ss3-navigation-pin { opacity: 1; pointer-events: auto; }
    .ss3-navigation-links [data-navigation-key]:is(:hover, :focus-within) .ss3-navigation-pin:disabled { opacity: .4; }
}

/* Shared shell focus must remain visible when a legacy stylesheet resets outlines. */
.ss3-navigation-panel :is(a, button):focus-visible {
    outline: 2px solid var(--ss3-color-action);
    outline-offset: -3px;
}
.ss3-navigation-header :is(a, button):focus-visible {
    outline: 2px solid var(--ss3-shell-header-text);
    outline-offset: -3px;
}
.ss3-navigation-header .ss3-navigation-search button:focus-visible {
    outline: 2px solid var(--ss3-color-action);
    outline-offset: -3px;
}
.ss3-navigation-footer a:focus-visible {
    outline: 2px solid var(--ss3-shell-footer-text);
    outline-offset: -3px;
}

/* The composite Search surface owns the outline. Keep the query flush with it. */
.ss3-navigation-shell .ss3-navigation-header .ss3-navigation-search .ss3-navigation-query > input {
    padding-inline: calc(var(--ss3-space-2) + 1px) calc(var(--ss3-clear-target) + var(--ss3-space-2) + 1px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.ss3-navigation-shell .ss3-navigation-search input:focus {
    outline: 2px solid var(--ss3-search-focus-color);
    outline-offset: -3px;
}
@supports selector(:has(*)) {
    .ss3-navigation-shell .ss3-navigation-search:has(> .ss3-navigation-query > input:focus) {
        outline: 2px solid var(--ss3-search-focus-color);
        outline-offset: -3px;
    }
    .ss3-navigation-shell .ss3-navigation-search input:focus {
        outline: 0;
    }
}
@media (forced-colors: active) {
    .ss3-navigation-shell .ss3-navigation-search {
        --ss3-search-focus-color: Highlight;
        outline: 1px solid ButtonText;
        outline-offset: -1px;
    }
}

/* The shared labeled action supplies typography, glyph, hover and keyboard focus. */
.ss3-navigation-panel .ss3-navigation-recovery {
    min-height: var(--ss3-navigation-target);
    margin: var(--ss3-space-1) 0 var(--ss3-space-2);
    border: 1px solid var(--ss3-color-border-strong);
    font-family: var(--ss3-font-family-base);
}
.ss3-navigation-panel .ss3-navigation-recovery[hidden] { display: none; }

/* One Identity notice is shared by page content and the currently open panel. */
.ss3-identity-notice[hidden] { display: none; }
.ss3-identity-notice {
    padding: var(--ss3-space-2) var(--ss3-space-3);
    background: var(--ss3-color-surface);
    color: var(--ss3-color-text);
}
.ss3-app-body [data-ss3-identity-home] > .ss3-identity-notice:not([hidden]) {
    position: fixed;
    inset: env(safe-area-inset-top, 0px) var(--ss3-site-gutter) auto;
    z-index: 100;
    border: 1px solid var(--ss3-color-border-strong);
    box-shadow: var(--ss3-shadow-md);
}
.ss3-navigation-shell[data-ss3-identity-state] :is(.ss3-navigation-links, .ss3-navigation-choices) { display: none; }
.ss3-navigation-shell[data-ss3-identity-state] :is(.ss3-navigation-search, [data-ss3-navigation-search-open]) { visibility: hidden; }

/* Keep the previous page and drafts in the DOM, but do not expose them to the next identity. */
.ss3-navigation-shell:is([data-ss3-identity-state="signin"], [data-ss3-identity-state="reload"]) .ss3-site-main > :not([data-ss3-identity-home]),
.ss3-app-body:is([data-ss3-identity-state="signin"], [data-ss3-identity-state="reload"]) > form > :not([data-ss3-identity-home]) {
    display: none !important;
}
.ss3-navigation-shell [data-ss3-identity-home] { position: sticky; top: 0; z-index: 20; }
[data-ss3-identity-overlay] {
    width: min(26rem, calc(100% - var(--ss3-site-gutter) * 2));
    padding: 0;
    background: var(--ss3-color-surface);
    border: 1px solid var(--ss3-color-border-strong);
    border-radius: var(--ss3-radius-md);
}
[data-ss3-identity-overlay]::backdrop { background: var(--ss3-navigation-backdrop); }
