.bg-black {
    background-color: #000;
}

.bg-white {
    background-color: #fff;
}

.bg-off-white {
    background-color: #f5f5f5;
}

.color-white {
    color: #fff;
}

.light-grey {
    color: #ddd;
}

.utility-links a {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.utility-links a:hover,
.utility-links a:focus {
    color: #838D9B !important;
    text-decoration: none !important;
}

.utility-links img {
    margin-left: .4rem;
    vertical-align: middle;
    max-height: 20px;
}

.brand img {
    max-width: 100%;
    height: 32px;
}

#maple-leaf,
#language-globe,
#mva-logo {
    max-height: 20px;
}

.border-bttm {
    border-bottom: 1px solid #ddd;
}

#wb-bc h2 {
    position: absolute;
    left: -9999px;
}

.gcweb-menu {
    overflow: visible;
    margin-top: 3px !important;
}

/* MENU BUTTON DEFAULT */
.vacbook-menu-button,
nav.gcweb-menu .vacbook-menu-button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: 9px 13px;
    margin: 2px 0 0 0 !important;
    background-color: #26374a !important; /* Government Standard Dark Blue-Gray */
    color: #fff !important;           /* Government Standard White */
    border: 1px solid #26374a;
    font-weight: 700;
    cursor: pointer;
    box-sizing: border-box;
}

/* Ensure the chevron icon in the button is white */
.vacbook-menu-button .glyphicon,
nav.gcweb-menu .vacbook-menu-button .glyphicon,
.vacbook-menu-button .expicon,
nav.gcweb-menu .vacbook-menu-button .expicon {
    color: #fff !important;
}

/* HOVER EFFECT + OPEN STATE */
.vacbook-menu-button:hover,
.vacbook-menu-button[aria-expanded="true"],
nav.gcweb-menu .vacbook-menu-button:hover,
nav.gcweb-menu .vacbook-menu-button[aria-expanded="true"] {
    background-color: #26374a !important;
    color: #fff !important;
    text-decoration: none;
}

/* ACTIVE STATE */
.vacbook-menu-button:active,
nav.gcweb-menu .vacbook-menu-button:active {
    background-color: #26374a !important;
    color: #fff !important;
}

/* FOCUS (accessible but subtle, no layout shift) */
.vacbook-menu-button:focus,
nav.gcweb-menu .vacbook-menu-button:focus {
    outline: 2px solid #26374a !important; /* visible on white background, consistent with button */
    outline-offset: 2px;
}

/* Prevent GCWeb / Footer overrides from reverting to white */
.gcweb-menu .vacbook-menu-button,
.gcweb-menu .vacbook-menu-button:hover,
.gcweb-menu .vacbook-menu-button:focus,
.gcweb-menu .vacbook-menu-button:active,
.gcweb-menu .vacbook-menu-button[aria-expanded="true"] {
    background-color: #26374a !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.gcweb-menu .vacbook-menu-button:hover,
.gcweb-menu .vacbook-menu-button:focus,
.gcweb-menu .vacbook-menu-button[aria-expanded="true"] {
    background-color: #26374a !important;
    color: #fff !important;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: #000 !important;
    text-decoration: underline !important;
}

/* PANEL */
.vacbook-menu-panel,
.gcweb-menu .vacbook-menu-panel {
    width: 260px !important;
    max-width: calc(100vw - 2rem) !important;
    background: #26374a !important; /* match banner button */
    border: 1px solid #26374a !important;
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 1000;
    overflow: hidden !important; /* ensures borders don't overflow */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.gcweb-menu .container {
    position: relative !important;
}

.vacbook-menu-panel[hidden],
.gcweb-menu .vacbook-menu-panel[hidden] {
    display: none !important;
}

.vacbook-menu-panel li,
.gcweb-menu .vacbook-menu-panel li {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* REMOVE INTERNAL BORDER FROM FIRST ITEM */
.vacbook-menu-panel li:first-child,
.gcweb-menu .vacbook-menu-panel li:first-child {
    border-top: none !important;
}

/* APPLY SEPARATORS ONLY BETWEEN ITEMS */
.vacbook-menu-panel li + li,
.gcweb-menu .vacbook-menu-panel li + li {
    border-top: 1px solid #333 !important; /* subtle divider on dark */
}

/* BASE ITEM - ENSURE NO BORDERS OR SHADOWS */
.vacbook-menu-panel a,
.gcweb-menu .vacbook-menu-panel a {
    display: block;
    width: 100%;
    box-sizing: border-box !important;
    padding: 13px 18px; /* INCREASE HEIGHT */
    margin: 0;
    border: none !important;
    box-shadow: none !important;
    background: #26374a !important; /* matches banner button */
    color: #fff !important; /* white text */
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-decoration: none;
}

/* Ensure icons/chevrons in the menu items are white */
.vacbook-menu-panel a .glyphicon,
.gcweb-menu .vacbook-menu-panel a .glyphicon,
.vacbook-menu-panel a .expicon,
.gcweb-menu .vacbook-menu-panel a .expicon {
    color: #fff !important;
}

/* HOVER + FOCUS */
.vacbook-menu-panel a:hover,
.vacbook-menu-panel a:focus,
nav.gcweb-menu .vacbook-menu-panel a:hover,
nav.gcweb-menu .vacbook-menu-panel a:focus {
    background: #fff !important;
    color: #26374a !important; /* dark navy for contrast */
    text-decoration: none !important;
}

/* Ensure icons/chevrons in the menu items change color on hover/focus */
.vacbook-menu-panel a:hover .glyphicon,
.gcweb-menu .vacbook-menu-panel a:hover .glyphicon,
.vacbook-menu-panel a:focus .glyphicon,
.gcweb-menu .vacbook-menu-panel a:focus .glyphicon,
.vacbook-menu-panel a:hover .expicon,
.gcweb-menu .vacbook-menu-panel a:hover .expicon,
.vacbook-menu-panel a:focus .expicon,
.gcweb-menu .vacbook-menu-panel a:focus .expicon,
.vacbook-menu-panel a:active .glyphicon,
.gcweb-menu .vacbook-menu-panel a:active .glyphicon,
.vacbook-menu-panel a:active .expicon,
.gcweb-menu .vacbook-menu-panel a:active .expicon {
    color: #26374a !important;
}

/* ACTIVE / SELECTED */
.vacbook-menu-panel a:active,
.vacbook-menu-panel a.active,
.vacbook-menu-panel a[aria-current="page"],
nav.gcweb-menu .vacbook-menu-panel a:active,
nav.gcweb-menu .vacbook-menu-panel a.active,
nav.gcweb-menu .vacbook-menu-panel a[aria-current="page"] {
    background: #fff !important;
    color: #26374a !important;
    text-decoration: none !important;
}

/* PREVENT BORDER OFFSET ISSUES */
.gcweb-menu .vacbook-menu-panel,
.gcweb-menu .vacbook-menu-panel li,
.gcweb-menu .vacbook-menu-panel a {
    box-sizing: border-box !important;
}

/* SAFETY: ensure no pseudo-element borders exist */
.vacbook-menu-panel li::before,
.vacbook-menu-panel li::after,
.gcweb-menu .vacbook-menu-panel li::before,
.gcweb-menu .vacbook-menu-panel li::after {
    display: none !important;
}

/* FIX ALIGNMENT + NO SHIFT */
.vacbook-menu-panel a,
.vacbook-menu-panel a:hover,
.vacbook-menu-panel a:focus,
.vacbook-menu-panel a:active,
.gcweb-menu .vacbook-menu-panel a,
.gcweb-menu .vacbook-menu-panel a:hover,
.gcweb-menu .vacbook-menu-panel a:focus,
.gcweb-menu .vacbook-menu-panel a:active {
    box-sizing: border-box !important;
}

/* REMOVE GCWeb WHITE OVERRIDES */
.gcweb-menu .vacbook-menu-panel a,
.gcweb-menu .vacbook-menu-panel a:visited {
    background-color: #26374a !important; /* Ensure default background is navy */
    color: #fff !important; /* Ensure default text is white */
    font-weight: 400 !important;
    text-decoration: none !important;
}

.gcweb-menu .vacbook-menu-panel a:hover,
.gcweb-menu .vacbook-menu-panel a:focus,
.gcweb-menu .vacbook-menu-panel a:active {
    background-color: #fff !important;
    color: #26374a !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* RESPONSIVE */
@media (max-width: 767px) {
    .vacbook-menu-panel,
    .gcweb-menu .vacbook-menu-panel {
        width: 100% !important;
        max-width: 100% !important;
    }

    .vacbook-menu-panel a,
    .gcweb-menu .vacbook-menu-panel a {
        padding: 14px 18px !important;
    }
}

/* SUBMIT BUTTON STYLES */
#submit-button,
#submit-button-fr {
    background-color: #000 !important;
    color: #fff !important;
    min-width: 250px;
    padding-left: 30px;
    padding-right: 30px;
    border: 1px solid #000 !important;
    transition: opacity 0.2s;
}

#submit-button:hover,
#submit-button:focus,
#submit-button-fr:hover,
#submit-button-fr:focus {
    opacity: 0.8;
    color: #fff !important;
}

/* FORCE GREEN UNDERLINE FOR TITLES AND HIDE WET RED LINE */
h1 {
    /*border-bottom: 4px solid #1ca56f !important;*/
}

h1::after {
    display: none !important;
    content: none !important;
    border: none !important;
    height: 0 !important;
    width: 0 !important;
}
