/*
Partners 3.0 legacy bridge.
Layout-only compatibility shim for MasterPageV3. Legacy CSS is a positioning
reference; legacy colors, typography, and density are intentionally not copied.
*/

.sscontain {
    max-width: var(--ss3-site-max-width);
    margin-right: auto;
    margin-left: auto;
}

.footer,
.copyright {
    color: var(--ss3-color-text-muted);
}

/* MasterPageV3 mobile header. */
.ss3-site-header-mobile {
    padding: 0;
}

.ss3-mobile-toolbar {
    position: relative;
    min-height: 2.9375rem;
    padding: 0 var(--ss3-space-1);
    gap: var(--ss3-space-1);
}

.ss3-mobile-toolbar > .ss3-icon-button,
.ss3-site-search-mobile > .ss3-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--ss3-control-height);
    min-width: var(--ss3-control-height);
    min-height: var(--ss3-control-height);
    padding-inline: 0;
}

.ss3-mobile-title {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    max-width: 60%;
}

.ss3-mobile-title a {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Footer content is centered and evenly distributed. */
.ss3-footer-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 0;
    align-items: stretch;
}

.ss3-footer-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--ss3-space-2);
    min-width: 0;
    padding: var(--ss3-space-3) var(--ss3-space-2);
    text-align: center;
}

.ss3-copyright {
    padding-top: var(--ss3-space-3);
    padding-bottom: var(--ss3-space-3);
    text-align: center;
    font-size: 0.875rem;
    font-style: italic;
}

@media screen and (max-width: 39.9375em) {
    /* The mobile search occupies one icon until activated by shared shell JS. */
    .ss3-site-search-mobile {
        position: relative;
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        justify-content: center;
        min-width: var(--ss3-control-height);
        min-height: var(--ss3-control-height);
        margin: 0;
    }

    .ss3-site-search-mobile > input,
    .ss3-site-search-mobile > .ss3-mobile-search-scope-control,
    .ss3-site-search-mobile > .ss3-search-clear,
    .ss3-site-search-mobile > .ss3-search-close {
        display: none;
    }

    .ss3-site-search-mobile.is-open {
        position: absolute;
        inset: 0;
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        min-width: 0;
        min-height: 2.9375rem;
        margin: 0;
        padding: 0 var(--ss3-space-1);
        gap: 0;
        color: var(--ss3-color-text);
        background: var(--ss3-color-surface);
    }

    .ss3-site-search-mobile.is-open > [data-ss3-search-submit] {
        order: 1;
    }

    .ss3-site-search-mobile.is-open > .ss3-mobile-search-scope-control {
        order: 2;
        position: relative;
        display: inline-flex;
        flex: 0 0 var(--ss3-control-height);
        align-items: center;
        justify-content: center;
        width: var(--ss3-control-height);
        min-width: var(--ss3-control-height);
        min-height: var(--ss3-control-height);
        color: var(--ss3-color-primary);
        border-radius: var(--ss3-radius-sm);
    }

    .ss3-mobile-search-scope-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--ss3-control-height);
        min-width: var(--ss3-control-height);
        min-height: var(--ss3-control-height);
        margin: 0;
        padding: 0;
        color: var(--ss3-color-primary);
        background: transparent;
        border-radius: var(--ss3-radius-sm);
    }

    .ss3-mobile-search-scope-button:hover,
    .ss3-mobile-search-scope-button:focus,
    .ss3-mobile-search-scope-control.is-open > .ss3-mobile-search-scope-button {
        color: var(--ss3-color-primary);
        background: var(--ss3-color-surface-muted);
    }

    .ss3-mobile-search-scope-menu {
        position: absolute;
        top: calc(100% + 0.125rem);
        left: 0;
        z-index: 30;
        min-width: 8.75rem;
        padding: var(--ss3-space-1) 0;
        color: var(--ss3-color-text);
        background: var(--ss3-color-surface);
        border: 1px solid var(--ss3-color-border-strong);
        border-radius: var(--ss3-radius-sm);
        box-shadow: var(--ss3-shadow-md);
    }

    .ss3-mobile-search-scope-menu[hidden] {
        display: none;
    }

    .ss3-mobile-search-scope-menu > button {
        display: flex;
        align-items: center;
        width: 100%;
        gap: var(--ss3-space-2);
        margin: 0;
        height: var(--ss3-control-height);
        padding: 0 0.75rem;
        color: var(--ss3-color-text);
        background: transparent;
        border: 0;
        border-radius: 0;
        line-height: 1.3;
        text-align: left;
        white-space: nowrap;
        cursor: pointer;
    }

    .ss3-mobile-search-scope-menu > button:hover,
    .ss3-mobile-search-scope-menu > button:focus,
    .ss3-mobile-search-scope-menu > button.active {
        color: var(--ss3-color-primary-contrast);
        background: var(--ss3-color-primary);
    }

    .ss3-mobile-search-scope-menu > button > i {
        flex: 0 0 1.25rem;
        text-align: center;
    }

    .ss3-site-search-mobile.is-open > input {
        order: 3;
        display: block;
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        min-width: 0;
        margin: 0;
        border-radius: var(--ss3-radius-sm);
    }

    .ss3-site-search-mobile.is-open > .ss3-search-clear {
        order: 4;
    }

    .ss3-site-search-mobile.is-open > .ss3-search-close {
        order: 5;
    }

    .ss3-site-search-mobile.is-open > [data-ss3-search-submit],
    .ss3-site-search-mobile.is-open > .ss3-search-clear,
    .ss3-site-search-mobile.is-open > .ss3-search-close {
        display: inline-flex;
        flex: 0 0 var(--ss3-control-height);
        width: var(--ss3-control-height);
        min-width: var(--ss3-control-height);
        color: var(--ss3-color-primary);
        background: transparent;
    }

    .ss3-site-search-mobile.is-open > [data-ss3-search-submit]:hover,
    .ss3-site-search-mobile.is-open > [data-ss3-search-submit]:focus,
    .ss3-site-search-mobile.is-open > .ss3-search-clear:hover,
    .ss3-site-search-mobile.is-open > .ss3-search-clear:focus,
    .ss3-site-search-mobile.is-open > .ss3-search-close:hover,
    .ss3-site-search-mobile.is-open > .ss3-search-close:focus,
    .ss3-site-search-mobile.is-open > .ss3-mobile-search-scope-control:hover,
    .ss3-site-search-mobile.is-open > .ss3-mobile-search-scope-control:focus-within {
        color: var(--ss3-color-primary);
        background: var(--ss3-color-surface-muted);
    }

    .ss3-search-scope-icon {
        display: none;
        align-items: center;
        justify-content: center;
        pointer-events: none;
    }

    .ss3-search-scope-icon.active {
        display: inline-flex;
    }

    .ss3-mobile-search-scope-select {
        width: 1px;
        height: 1px;
    }

    #ss3-mobile-search-input::-webkit-search-decoration,
    #ss3-mobile-search-input::-webkit-search-cancel-button,
    #ss3-mobile-search-input::-webkit-search-results-button,
    #ss3-mobile-search-input::-webkit-search-results-decoration {
        display: none;
    }

    .ss3-site-main.grid-container-padded {
        padding-right: var(--ss3-space-2);
        padding-left: var(--ss3-space-2);
    }
}

@media screen and (min-width: 40em) {
    /* Two-row tablet/desktop header constrained by Foundation's content width. */
    .ss3-site-header-desktop {
        padding: 0;
    }

    .ss3-site-header-desktop > .grid-container {
        width: 100%;
        max-width: var(--ss3-site-max-width);
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }

    .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 {
        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);
    }

    /* Full-width search row beneath the horizontal navigation row. */
    .ss3-site-search-desktop {
        width: 100%;
        margin: 0;
        padding: 0 0 0.375rem;
    }

    .ss3-site-search-desktop .input-group {
        display: flex;
        align-items: stretch;
        width: 100%;
        margin: 0;
    }

    .ss3-site-search-desktop .ss3-search-scope {
        flex: 0 0 10.5rem;
        width: 10.5rem;
        max-width: 10.5rem;
        margin: 0;
        border-top-left-radius: var(--ss3-radius-sm) !important;
        border-bottom-left-radius: var(--ss3-radius-sm) !important;
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    .ss3-site-search-desktop .ss3-search-input {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        border-radius: 0;
    }

    .ss3-site-search-desktop .input-group-button {
        display: flex;
        flex: 0 0 4.5rem;
        align-items: stretch;
    }

    .ss3-site-search-desktop .ss3-search-submit {
        width: 100%;
        margin: 0;
        border-radius: 0 var(--ss3-radius-sm) var(--ss3-radius-sm) 0;
    }
}
