/* Navigation all elements styles */
.glacial-top-banner {
    position: fixed;
    width: 100%;
    left: 0;
    top: auto;
    padding: 10px;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 0 7px 0 rgb(0 0 0 / 17%);
}

.kc-banner-top-offset .glacial-top-banner {
    /*top: 50px;*/
}

/* ---- Header utility bar (slim click-to-call strip above the navbar) ---- */
.has-utility-bar {
    --utility-bar-h: 40px; /* single knob: bar height + navbar push-down */
    --utility-bar-bg: #2457c5; /* brand blue, matches the nav pills */
    --utility-bar-color: #fff;
}

.glacial-utility-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--utility-bar-h, 40px);
    z-index: 1001; /* above the navbar (1000) */
    background: var(--utility-bar-bg, #2457c5);
    color: var(--utility-bar-color, #fff);
    display: flex;
    align-items: center;
}

.glacial-utility-bar .utility-inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 35px;
    gap: 20px;
    display: flex;
    justify-content: flex-end; /* sit above the right-hand nav buttons */
    align-items: center;
}

.glacial-utility-bar .utility-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 0;
    white-space: nowrap;
}

.glacial-utility-bar .utility-phone svg {
    width: 15px;
    height: 15px;
    fill: currentColor;
}

.glacial-utility-bar .utility-phone:hover {
    text-decoration: underline;
}

/* Push the fixed navbar down so the bar sits above it. */
.has-utility-bar .glacial-top-banner {
    top: var(--utility-bar-h, 40px);
}

/* Shift page content down by the bar's height so nothing hides behind the
   now-taller fixed header. This is the bar height (not the navbar height):
   each template already clears the navbar via its own top margin, and the bar
   simply adds its height on top. Padding (not margin) so it can't collapse
   into the first section's margin. */
body.has-utility-bar {
    padding-top: var(--utility-bar-h, 40px);
}

.w-nav:after {
    content: "";
    display: none;
}

.brand {
    width: 100%;
    max-width: 250px;
    padding-left: 0;
    padding-right: 10px;
}

.no-js .site-navigation ul,
.site-navigation .sub-menu.toggled-on,
.site-navigation ul li:hover > ul {
    display: block;
}

.site-navigation a:focus,
button.toggle-dropdown:focus,
button.menu-button:focus {
    outline: 1px solid #999;
    outline-offset: -2px;
}

.site-navigation a:focus:not(:focus-visible),
button.toggle-dropdown:focus:not(:focus-visible),
button.menu-button:focus:not(:focus-visible) {
    outline: none;
}

.site-navigation {
    display: flex;
    font-family: var(--nav-font);
    font-size: var(--nav-font-size);
    flex: 1;
    position: static;
}

.site-navigation a[href="#"]:hover {
    cursor: default;
}

button.toggle-dropdown {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding: 0;
    width: auto;
    position: absolute;
    right: var(--nav-horz-pad);
    top: 0;
    height: 100%;
    pointer-events: none;
}

.sub-menu button.toggle-dropdown {
    right: 0;
}

.site-navigation ul .toggle-dropdown.toggled-on svg {
    transform: rotate(180deg);
}

.site-navigation ul ul .toggle-dropdown svg {
    transform: rotate(270deg);
}

.site-navigation ul ul .toggle-dropdown.toggled-on svg {
    transform: rotate(90deg);
}

.gl-top-level > li.edge > ul {
    left: auto;
    right: 0;
}

.gl-dropdown-1 > li.edge > ul {
    left: auto;
    right: 100%;
}

ul.sub-menu.gl-dropdown-2 {
    left: 240px;
    top: 0;
}

.site-navigation a {
    width: 100%;
    padding: var(--nav-vert-pad) var(--nav-horz-pad);
    text-decoration: none;
    text-transform: var(--transform-top);
    font-weight: var(--weight-top);
    transition: 0s;
}

.site-navigation a:not([href]) {
    cursor: default;
}

.site-navigation li.menu-item-has-children > a {
    padding-right: calc(var(--nav-horz-pad) + 17px);
}

.site-navigation > ul > li:not(.menu-item-has-children) > a {
    padding-right: var(--nav-horz-pad);
}

.site-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-navigation > ul {
    width: 100%;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    align-items: center;
    justify-content: var(--nav-justify);
}

.site-navigation ul ul {
    font-size: 15px;
    display: none;
    position: absolute;
    width: 240px;
    top: 100%;
    left: 0;
    margin-left: 0;
    z-index: 999;
    box-shadow: 0 15px 30px 0 rgba(48, 66, 118, 0.2);
}

.site-navigation ul ul ul.gl-dropdown-3 {
    left: 240px;
    top: 0;
}

.site-navigation ul ul .toggle-dropdown {
    width: 15%;
    padding: 2px;
}

.site-navigation ul ul li {
    margin: 0;
    padding: 0;
}

.site-navigation ul ul a {
    font-size: var(--nav-font-size-drop);
    padding: var(--nav-vert-pad-drop) var(--nav-horz-pad-drop);
    font-weight: var(--weight-drop);
    text-transform: var(--transform-drop);
}

.site-navigation ul li {
    display: flex;
    position: relative;
    margin-right: 10px;
    transition: 0s;
}

/*Top Level*/
.gl-top-level > li {
    background: var(--top-level-bg-color, none);
}

.gl-top-level > li > a {
    color: var(--top-level-color, #000);
}

.gl-top-level li > .toggle-dropdown svg {
    stroke: var(--top-level-color, #000);
}

.gl-top-level > li:hover {
    background: var(--top-level-bg-color-hover, none);
}

.gl-top-level > li:hover > a {
    color: var(--top-level-color-hover, #000);
}

.gl-top-level > li:hover > .toggle-dropdown svg {
    stroke: var(--top-level-color-hover, #000);
}

/* Current Menu Item*/
.gl-top-level > li.current-menu-item > a {
    color: var(--top-level-color-hover);
}

.gl-top-level li.current-menu-item > .toggle-dropdown svg {
    stroke: var(--top-level-color-hover);
}

.gl-top-level > li.current-menu-item {
    background: var(--top-level-bg-color-hover);
}

/* Dropdown 1 */
.gl-dropdown-1 > li {
    background: var(--lvl-1-bg-color);
}

.gl-dropdown-1 > li > a {
    color: var(--lvl-1-color);
}

.gl-dropdown-1 li > .toggle-dropdown svg {
    stroke: var(--lvl-1-color);
}

.gl-dropdown-1 > li:hover {
    background: var(--lvl-1-bg-color-hover);
}

.gl-dropdown-1 > li:hover > a {
    color: var(--lvl-1-color-hover);
}

.gl-dropdown-1 li:hover .toggle-dropdown svg {
    stroke: var(--lvl-1-color-hover);
}

/* Dropdown 2 */
.gl-dropdown-2 > li,
.gl-dropdown-2 ul > li {
    background: var(--lvl-2-bg-color);
}

.gl-dropdown-2 > li > a,
.gl-dropdown-2 ul > li > a {
    color: var(--lvl-2-color);
}

.gl-dropdown-2 .toggle-dropdown svg,
.gl-dropdown-2 ul .toggle-dropdown svg {
    stroke: var(--lvl-2-color);
}

.gl-dropdown-2 > li:hover,
.gl-dropdown-2 ul > li:hover {
    background: var(--lvl-2-bg-color-hover);
}

.gl-dropdown-2 > li:hover > a,
.gl-dropdown-2 ul > li:hover > a {
    color: var(--lvl-2-color-hover);
}

.gl-dropdown-2 li:hover .toggle-dropdown svg,
.gl-dropdown-2 ul li:hover .toggle-dropdown svg {
    stroke: var(--lvl-2-color-hover);
}

@media (max-width: 991px) {

    .site-navigation a:focus,
    button.toggle-dropdown:focus,
    button.menu-button:focus {
        outline: none;
        outline-offset: 0;
    }

    button.toggle-dropdown {
        pointer-events: all;
        position: static;
        height: auto;
        padding: 0;
        width: 64px;
        background: var(--mobile-button-background);
    }

    .site-navigation {
        height: 100%;
        padding-bottom: 12em;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        position: fixed;
        background: var(--mobile-bg-color);
    }

    .site-navigation > ul > li {
        border-bottom: 1px solid var(--mobile-border-color);
    }

    .site-navigation ul ul.toggled-on ul, .site-navigation ul ul.toggled-on {
        display: block;
        padding-left: 1em;
        padding-bottom: 5px;
    }

    .site-navigation > ul > li:hover > ul {
        display: none;
    }

    .site-navigation ul ul .toggle-dropdown {
        display: none;
        visibility: hidden;
    }

    .site-navigation > ul {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .site-navigation ul li {
        width: 100%;
        align-items: stretch;
        background: transparent;
        position: static;
        flex-wrap: wrap;
        margin-right: 0;
    }

    .site-navigation li:hover {
        background: transparent;
    }

    .gl-top-level > li.current-menu-item {
        background: var(--mobile-bg-color);
    }

    .gl-top-level > li.current-menu-item a {
        color: var(--mobile-color);
    }

    .site-navigation li:hover > a {
        color: var(--mobile-color);
    }

    .site-navigation li:hover .toggle-dropdown svg {
        stroke: var(--mobile-color);
    }

    .site-navigation ul li a {
        color: var(--mobile-color);
        padding: 12px 10px;
    }

    .site-navigation button.toggle-dropdown svg {
        stroke: var(--mobile-color);
        width: 17px;
        height: 17px;
    }

    .site-navigation ul ul {
        position: static;
        width: 100%;
        box-shadow: none;
    }

    .site-navigation ul li a {
        width: 100%;
        text-align: left;
    }

    .site-navigation ul li.menu-item-has-children > a {
        flex: 1;
    }

    .menu-item-has-children > a:after {
        display: none;
    }

    .glacial-top-banner:before {
        content: '';
        display: none;
    }

}

@media (max-width: 479px) {

    .brand {
        width: 100%;
        max-width: 150px;
        padding-left: 0;
        padding-right: 10px;
    }

    .glacial-top-banner {
        padding: 5px 10px;
    }
}