body { font-size: 12px; }
/* Small Parcel Footer — Shield Design Token Styles */

/* Override shield-reset.css which forces overflow-y: scroll on all pages */
html {
    overflow-y: auto;
}

/* Override shield-reset.css which sets max-width:100% on all img/object/embed —
   this shrinks calendar icons and other inline images that have no explicit width.
   Bootstrap's .img-responsive class (specificity 0,1,0) still overrides this (0,0,1)
   so responsive images continue to constrain correctly. */
img, object, embed {
    max-width: none;
}

/* Sticky footer — absolute positioning within a relative wrapper.
   Does NOT change display type on #Wrap so Bootstrap navbar/grid are unaffected. */
#Wrap {
    position: relative;
    min-height: 100vh;
}

/* Only reserve footer space on pages that actually render the footer.
   Pages with ViewBag.HideFooter=true (login) never render #shiplink-footer-root,
   so this rule does not apply there — no phantom bottom gap. */
#Wrap:has(> #shiplink-footer-root) {
    padding-bottom: 1px;
}

#shiplink-footer-root {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.sl-footer {
    display: block;
    position: static;
    bottom: auto;
    width: 100%;
    min-height: 64px;
    margin-top: auto;
    padding: 0 48px;
    background-color: var(--token-standard-vivid, #00004E);
    color: #ffffff;
    font-family: var(--token-font-base, Circular-USB, Arial, Helvetica, sans-serif);
}

.sl-footer__inner {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    width: 100%;
    overflow-x: auto;
}

.sl-footer__nav {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#shiplink-footer-root .sl-footer__link,
#shiplink-footer-root .sl-footer__link.usb-link,
#shiplink-footer-root .sl-footer__nav .sl-footer__link {
    white-space: nowrap;
    line-height: 1.25;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    font-family: var(--token-font-base, Circular-USB, Arial, Helvetica, sans-serif) !important;
    text-decoration: none;
}

#shiplink-footer-root .sl-footer__link.usb-link,
#shiplink-footer-root .sl-footer__link.usb-link .svg-icon,
#shiplink-footer-root .sl-footer__link.usb-link span {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-size: 12px !important;
    font-family: var(--token-font-base, Circular-USB, Arial, Helvetica, sans-serif) !important;
    line-height: 1.25 !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
}

#shiplink-footer-root .sl-footer__link:hover,
#shiplink-footer-root .sl-footer__link.usb-link:hover,
#shiplink-footer-root .sl-footer__nav .sl-footer__link:hover {
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

#shiplink-footer-root .sl-footer__link:focus,
#shiplink-footer-root .sl-footer__link:focus-visible,
#shiplink-footer-root .sl-footer__link.usb-link:focus,
#shiplink-footer-root .sl-footer__link.usb-link:focus-visible,
#shiplink-footer-root .sl-footer__nav .sl-footer__link:focus,
#shiplink-footer-root .sl-footer__nav .sl-footer__link:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

#shiplink-footer-root .sl-footer__link:focus::before,
#shiplink-footer-root .sl-footer__link.usb-link:focus::before,
#shiplink-footer-root .sl-footer__nav .sl-footer__link:focus::before,
#shiplink-footer-root .sl-footer__link:focus-visible::before,
#shiplink-footer-root .sl-footer__link.usb-link:focus-visible::before,
#shiplink-footer-root .sl-footer__nav .sl-footer__link:focus-visible::before {
    content: none !important;
    border: 0 !important;
    display: none !important;
}

.sl-footer__copy {
    margin: 0;
    color: #ffffff;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap !important;
    font-family: var(--token-font-base, Circular-USB, Arial, Helvetica, sans-serif);
}

@media (max-width: 1400px) {
    .sl-footer {
        padding: 0 24px;
    }

    .sl-footer__nav {
        gap: 16px;
    }
}

@media (max-width: 600px) {
    .sl-footer {
        padding: 16px 24px;
    }

    .sl-footer__inner {
        min-height: 0;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: nowrap !important;
        overflow-x: auto;
    }

    .sl-footer__nav {
        flex-wrap: nowrap !important;
        gap: 12px;
        min-width: max-content;
    }

    #shiplink-footer-root .sl-footer__link,
    #shiplink-footer-root .sl-footer__link.usb-link,
    #shiplink-footer-root .sl-footer__nav .sl-footer__link,
    #shiplink-footer-root .sl-footer__link.usb-link span {
        white-space: nowrap !important;
    }

    .sl-footer__copy {
        white-space: nowrap !important;
        min-width: max-content;
    }
}
