/********************************
             ___          
            /   \\        
       /\\ | . . \\       
     ////\\|     ||       
   ////   \\ ___//\       
  ///      \\      \      
 ///       |\\      |     
//         | \\  \   \    
/          |  \\  \   \   
           |   \\ /   /   
           |    \/   /    
           |     \\/|     
           |      \\|     
           |       \\     
           |        |     
           |_________\    

    GAZE UPON THE SPECIFICITY WAR, YE MIGHTY, AND DESPAIR.

    Just please somebody remind me that it's always easier to DIY.

    TODO

    - Latest:
     -- column distribution

********************************/

body {
    overflow-x: hidden;

    &:has(.ubermenu-responsive-toggle-open) {
        overflow: hidden;
    }
}

:root {
    --nav-shadow-height: 3px;
    --nav-shadow-z: 999;
}

.nav-shadow-container {
    position: relative;
    width: 100vw;
    overflow-y: visible;
    height: 1px;
}

.nav-shadow {
    width: 100%;
    height: var(--nav-shadow-height);
    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--nav-shadow-z);
    pointer-events: none;
    box-shadow: 0 var(--nav-shadow-height) var(--nav-shadow-height) 0 rgba(0, 0, 0, 0.25);
    transform: translateY(-2px);
}

.nav-container {
    --submenu-vertical-offset: 1.25rem;
    padding: 0;
    width: 50%;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    & .ubermenu-frankenmenu {
        display: none;
    }
    &.search-expanded {
        display: none;
    }
    & .ubermenu-sub-indicator, .ubermenu-sub-indicator-close {
        display: none;
    }
    & .sub-menu-toggle {
        display: none;
    }

    & .ubermenu-item-level-0 {
        font-family: var(--text-raleway);
        padding: var(--submenu-vertical-offset) 0;
    }

    & .ubermenu-main .ubermenu-item-level-0>.ubermenu-target {
        border: 0 solid transparent;
        font-size: 1.125rem;
    }
    & .ubermenu .ubermenu-item.ubermenu-item-level-2 > .ubermenu-target {
        width: 100%;
        margin-left: 1rem;
        padding-left: 1rem;
        &:hover {
            color: #ffffff;
            background-color: #404040;
        }
        &[href="#"]:hover {
            color: #404040;
            background-color: #ffffff;
        }
    }

    & .ubermenu-item-level-1 {
        font-family: var(--text-open-sans);
    }

    /*	I f*cking hate plugins look at this bullhockey */
    & .ubermenu-skin-minimal .ubermenu-submenu .ubermenu-item-header>.ubermenu-target {
        font-size: 1rem;
        font-weight: 400;

        &:hover {
            font-weight: 600;
        }
    }

    & .ubermenu-horizontal.ubermenu-items-align-flex .ubermenu-nav .ubermenu-item-level-0 {
    	flex: 1 1 0;
    }

    & .ubermenu {
        & .ubermenu-submenu {
            margin-top: var(--submenu-vertical-offset);
            background: var(--color-white);
        }
    }

    & .ubermenu-active {
        & .ubermenu-submenu.ubermenu-submenu-drop {
            box-shadow: 0 var(--nav-shadow-height) var(--nav-shadow-height) 0 rgba(0, 0, 0, 0.25);
        }
    }

    & .ubermenu-item-level-0.ubermenu-current_page_item > a > .ubermenu-target-title {
        --border-height: .25rem;
        --border-offset: 1.33rem;
        border-bottom: var(--border-height) solid;
        padding-bottom: var(--border-offset);
        margin-bottom: calc((var(--border-height) + var(--border-offset)) * -1);
    }

    & .ubermenu-skin-minimal.ubermenu-responsive-toggle {
        border: 2px solid;
        border-radius: .375rem;
        font-family: var(--text-raleway);
        font-weight: 600;
        font-size: 1.125rem;
        min-width: 7rem;
        width: 7.5rem;
        padding: .75rem;

        &:focus-visible {
            outline: 1px solid #2cc4ff;
            box-shadow: 0 0 5px #2cc4ff !important;
            z-index: 50;
            transition: outline .1s linear;
        }

        & .fas {
            display: none;
        }

        &:before {
            font-family: "Dashicons";
            display: inline-block;
            vertical-align: middle;
        }

        &:not(.ubermenu-responsive-toggle-open):before {
            transform: translateY(-1px);
            /* Dashicons menu icon */
            content: "\f228";
            font-family: "Dashicons";
            font-size: 2rem;
            margin-right: .5rem;
        }

        &.ubermenu-responsive-toggle-open {
            font-size: 0;

            &:before {
                font-size: 1.5rem;
                line-height: 1;
                transform: rotate(45deg);
                /* Dashicons "x" icon */
                content: "\f543";
                display: flex;
                justify-content: center;
            }
        }
    }

    /* Changes pointer cursor to auto for white spaces in menu for all devices */
    .ubermenu-item, .ubermenu-submenu, .ubermenu-column {
        cursor: auto;
    }
}

.ubermenu.ubermenu-mobile-modal {
    z-index: calc(var(--nav-shadow-z) - 1) !important;
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important;
    -webkit-transition-timing-function: revert !important;
    transition-timing-function: revert !important;
    margin-top: 1rem;
/*  
    This ruined everything. Don't do this.  
    &.ubermenu-main.ubermenu-loc-mega_menu {
        transform: translateY(-1px);
    }*/
	& .ubermenu-item-type-column > .ubermenu-submenu-type-stack > .ubermenu-item-normal:first-child {
		margin-top: 0;
	}
	& .ubermenu-submenu.ubermenu-submenu-type-stack {
		padding-bottom: 0;
	}

    & .ubermenu-nav {
        padding: 1rem;
        & .ubermenu-item {
        	& .ubermenu-submenu.ubermenu-submenu-drop {
        		top: 0;
        		height: 100%;
                padding-top: .75rem;
        	}
        	&.ubermenu-item-level-0 {
	            padding: .3rem;
	            display: flex;
	            justify-content: flex-start;

	            &:not(:last-child) {
	                border-bottom: 1px solid #999;
	            }

	            &>.ubermenu-target {
	                font-family: var(--text-open-sans);
	                font-weight: 400;
	                font-size: 1rem;
	                line-height: 1.6rem;
	                text-align: left;
	                padding-left: 0;
                    margin-right: 0;
                    width: 100%;
	            }

                &:hover {
                    background-color: #404040;
                    & > a.ubermenu-target {
                        color: #fff;
                    }
                    & .sub-menu-toggle {
                        background: #404040;
                        &:before {
                            content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M10 6L8.6 7.4l4.58 4.6-4.58 4.6L10 18l6-6-6-6z' fill='%23fff'/%3E%3C/svg%3E");
                        }
                    }     
                }
                &:last-of-type:hover {
                    &::before {
                        bottom: .5rem;
                    }
                }
	        }
            & .ubermenu-target {
                font-family: var(--text-open-sans);
                font-weight: 400;
                font-size: 1rem;
                line-height: 1.6rem;
                text-align: left;
                padding-left: 0;
                margin-right: 0;
                width: 100%;

                & .fas {
                    display: none;
                }
            }
            & .ubermenu-item-level-1 {
                &:hover > .ubermenu-target {
                    font-weight: 600;
                    transform: translateX(-1px);
                    cursor: pointer;
                }
                & .ubermenu-target {
                    --horizontal-margin: 1rem;
                    margin-left: var(--horizontal-margin);
                    margin-right: var(--horizontal-margin);
                    padding: .5rem;
                    display: inline-block;
                    width: calc(100% - (var(--horizontal-margin) * 2));
                }
                &:not(.ubermenu-item-level-1--mobile-faker) .ubermenu-target {
                    padding-top: .2rem;
                    padding-bottom: .2rem;
                }
            }
            & .ubermenu-item-level-1--mobile-faker .ubermenu-target {
                background: #404040;
                color: white;       
            }
            & .ubermenu-item-level-1--mobile-faker:hover .ubermenu-target {
                font-weight: 400;
                transform: none;
            }
        }
    }

    & .sub-menu-toggle {
        margin-left: auto;
        border: 0 solid transparent;
        background: #fff;

        & span.icon-plus,
        span.icon-minus {
            display: none;
        }

        &:before {
			/* Stupid firefox wasn't loading that one particular dashicon, so I'm using the ontario icon       	*/
			content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M10 6L8.6 7.4l4.58 4.6-4.58 4.6L10 18l6-6-6-6z' fill='%23000'/%3E%3C/svg%3E");
            font-size: 1.5rem;
            line-height: 1;
            display: flex;
            justify-content: center;
        }
    }

    & .ubermenu-retractor.ubermenu-retractor-mobile {
        font-size: 1rem;
        line-height: 1.6;
        padding-top: .5rem;
        padding-bottom: .5rem;
        display: flex;
        text-align: left;
        &:before {
            content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M15.4 7.4L14 6l-6 6 6 6 1.4-1.4-4.58-4.6 4.58-4.6z' fill='%23000'/%3E%3C/svg%3E");
            transform: translateY(1px);
        }
        &:hover {
            background-color: transparent;
            text-decoration: underline;
        }
        &:focus-visible {
            outline: 1px solid #2cc4ff !important;
            outline-offset: -2px;
            box-shadow: inset 0 0 4px 0px #2cc4ff !important;
        }
        & .fas {
            display: none;
        }
    }
}

@media (min-width: 40rem) and (max-width: 72.99rem) {
    /*  what have I become,
        my sweetest friend...  */
    .ubermenu.ubermenu-mobile-modal.ubermenu-loc-mega_menu.ubermenu-responsive {
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        & .ubermenu-nav {
            overflow-x: hidden !important;
            overflow-y: hidden !important;
        }
    }
}

.ubermenu-item-level-2 a.ubermenu-target .ubermenu-target-title.ubermenu-target-text .external-link-icon {
    transform: translate(-.25rem, .125rem);
}

.ubermenu-item-level-2:hover a.ubermenu-target .ubermenu-target-title.ubermenu-target-text .external-link-icon {
    fill: #fff;
}

@media (min-width: 40rem) {
    body {
        &:has(.ubermenu-responsive-toggle-open) {
            overflow-y: auto;
        }
    }
    .third-row .header-search {
        display: none;
    }   
    .nav-container {
    	--submenu-vertical-offset: 2rem;
        --submenu-vertical-offset-tablet: 1.1875rem;
        width: 100%;
        margin-left: 0;
        display: flex;
        padding: 0;
        &.search-expanded {
            display: flex;
        }

        & .ubermenu-responsive-toggle {
            margin-left: auto;
            margin-right: 1rem;
            margin-top: auto;
            margin-bottom: auto;
            height: 3.33rem;
            &.ubermenu-responsive-toggle-main.ubermenu-skin-minimal.ubermenu-loc-mega_menu:not(.ubermenu-responsive-toggle-open):before {
                margin-right: 3%;
            }
            &.ubermenu-responsive-toggle-main.ubermenu-skin-minimal.ubermenu-loc-mega_menu.ubermenu-responsive-toggle-open {
                font-size: 1.125rem;
                display: flex;
                justify-content: space-between;
                padding-right: 1rem;
            }
        }
        & .ubermenu-retractor.ubermenu-retractor-mobile {
            display: none;
        }
        & .ubermenu-frankenmenu {
            display: flex;
            margin-left: 1rem;
            & .ubermenu-target {
                font-family: var(--text-raleway);
                font-weight: 700;
                font-size: 1.125rem;
                line-height: 1.4rem;
                width: fit-content;
                text-align: left;
                padding-left: 1rem;
                padding-right: 1rem;
                color: #2d2d2d;
            }
            & .ubermenu-active .ubermenu-submenu {
                top: auto;   
                max-width: calc(100% - 2rem);
                left: 1rem;
                margin-top: 0;
                & .ubermenu-submenu {
                    margin-top: 0;
                }
                & .ubermenu-item-type-column {
                    width: 50%;
                }
            }
            & .ubermenu-submenu.ubermenu-submenu-drop {
                -webkit-transition-duration: 0s !important;
                -ms-transition-duration: 0s !important;
                transition-duration: 0s !important;
                -webkit-transition-timing-function: none !important;
                -ms-transition-timing-function: none !important;
                transition-timing-function: none !important;
            }
            & .ubermenu-item-level-0 {
                padding: var(--submenu-vertical-offset-tablet) 0;
                display: flex;
                align-items: center;
                &:hover {
                    cursor: pointer;
                }
            }
            & .ubermenu-item-level-0 > a {
                &:focus-visible {
                    outline: 1px solid #2cc4ff;
                    box-shadow: 0 0 5px #2cc4ff !important;
                }
            }
            & .ubermenu-item-level-1 .ubermenu-target-text {
                font-family: var(--text-open-sans);
                font-weight: 400;
                font-size: 1rem;
                line-height: 1.6rem;
                text-align: left;
            }
        }
	    & .ubermenu.ubermenu-mobile-modal {
	        margin-top: 0;
            background: transparent;
		    & li:has(a[href$="/en/"]),
		    li:has(a[href$="/fr/"]) {
		        display: flex;
		        justify-content: center;
		    }
		    & .ubermenu-nav {
		        padding: 0;

		        & .ubermenu-item {
                    &.ubermenu-item-level-0 > .ubermenu-target[href="#"] {
                        pointer-events: none;
                        font-weight: 700;
                    }
                    &.ontario-hide-for-desktop {
                        display: none;
                    }
                    & .ubermenu-submenu.ubermenu-submenu-drop {
                        top: auto;
                        height: fit-content;
                        padding: .5rem;
                        -webkit-transition-duration: 0s !important;
                        -ms-transition-duration: 0s !important;
                        transition-duration: 0s !important;
                        -webkit-transition-timing-function: none !important;
                        -ms-transition-timing-function: none !important;
                        transition-timing-function: none !important;
                        & .ubermenu-target {
                            padding: .25rem 1rem;
                        }
                    }
                    & .ubermenu-submenu.ubermenu-submenu-type-stack {
                        margin-top: 0;
                    }
                    &.ubermenu-has-submenu-stack {
                        width: 50%;
                    }
		        	&.ubermenu-item-level-0 {
			            padding: 0;
                        display: block;
                        &:hover {
                            cursor: pointer;
                        }
			            &:not(:last-child) {
			                border-bottom: 0 solid transparent;
			            }

			            &>.ubermenu-target {
                            height: 100%;
                            display: flex;
                            align-items: center;
			                font-family: var(--text-raleway);
			                font-weight: 700;
			                font-size: 1.125rem;
			                line-height: 1.4rem;
			                width: fit-content;
			                text-align: center;
			                padding-left: 1.25rem;
			                margin: 0 auto;
			            }
			        }
		        }
		    }
		    & .submenu {
		    	top: auto;
		    	margin-top: var(--submenu-vertical-offset);
		    }
		    & .sub-menu-toggle {
		        margin-left: auto;
		        border: 0 solid transparent;
		        background: #fff;

		        & span.icon-plus,
		        span.icon-minus {
		            display: none;
		        }

		        &:before {
		            content: "";
		        }
		    }
            & .ubermenu-retractor.ubermenu-retractor-mobile {
                display: none !important;
            }
	    }
    }
    /* Look at this absolute carnage */
    .ubermenu.ubermenu-mobile-modal.ubermenu-skin-minimal.ubermenu-mobile-view:not(.ubermenu-frankenmenu) {
        background: transparent;
        position: absolute;
        overflow-x: hidden;
        max-width: calc(100% - 2rem);
        max-height: none;
        height: 100%;        
        transform: scale(1);
        margin-left: 1rem;
        margin-right: 1rem;
        margin-top: 1px;
        & .ubermenu-submenu-type-stack {
            padding-bottom: 0;
        }
        & .ubermenu-nav {
            padding-top: 0;
            padding-right: 0;
            padding-left: 0;
            & .sub-menu-toggle {
                z-index: 1;
            }
            & .ubermenu-item {
                position: relative;
                max-width: 50%;
                margin-left: auto;
                background: #fff;
                z-index: 1;
                --border-width: 2px;
                --border: var(--border-width) solid rgba(0, 0, 0, 0.25);
                & .ubermenu-submenu:not(.ubermenu-submenu-type-stack) {
                    z-index: 1;
                    height: fit-content;
                    transform: translateX(100%) translateY(0); 
                    padding-bottom: 1rem;
                    border-left: var(--border);
                    border-right: var(--border);
                    border-bottom: var(--border);
                    & .ubermenu-item-level-1--mobile-faker {
                        display: none;
                    }

                    & .ubermenu-item-level-1.ubermenu-column + .ubermenu-column .ubermenu-item {
                        margin-top: 0;
                    }
                }
                &.ubermenu-item-level-0 {
                    border-bottom: 0 solid transparent;
                    border-left: var(--border);
                    border-right: var(--border);
                    padding-left: 1rem;
                    padding-right: 1rem;
                    &:hover {
                        cursor: pointer;
                    }
                    &:last-of-type {
                        border-bottom: var(--border);
                        padding-bottom: 1rem;
                    }
                    &.never-franked:hover {
                         &::before {
                            content: '';
                            position: absolute;
                            width: calc(100% - 1rem);
                            height: 2.5rem; /* why? */
                            background-color: #404040;
                            bottom: 0;
                            left: 50%;
                            transform: translateX(-50%);
                            pointer-events: none;
                        }
                        & > a.ubermenu-target {
                            color: #fff;
                        }
                        & .sub-menu-toggle {
                            background: #404040;
                            &:before {
                                content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M10 6L8.6 7.4l4.58 4.6-4.58 4.6L10 18l6-6-6-6z' fill='%23fff'/%3E%3C/svg%3E");
                            }
                        }                        
                    }
                    &.never-franked:last-of-type:hover {
                        &::before {
                            bottom: .6rem;
                        }
                    }
                    &.never-franked:focus-visible {
                        outline: 0 solid transparent;
                        & > a {
                            outline: 1px solid #2cc4ff;
                            box-shadow: 0 0 5px #2cc4ff !important;
                        }
                    }
                    &.first-never-franked {
                        transform: translateY(1px);
                        padding-top: 1rem;
                    }
                    &.ubermenu-active {
                        &::before {
                            content: '';
                            position: absolute;
                            width: calc(100% - 1rem);
                            height: 2.5rem; /* why? */
                            background-color: #404040;
                            bottom: 0;
                            left: 50%;
                            transform: translateX(-50%);
                            pointer-events: none;
                        }
                        & > a.ubermenu-target {
                            color: #fff;
                        }
                        & .sub-menu-toggle {
                            background: #404040;

                            &:before {
                                content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M10 6L8.6 7.4l4.58 4.6-4.58 4.6L10 18l6-6-6-6z' fill='%23fff'/%3E%3C/svg%3E");
                            }
                        }
                    }
                }
                & .ubermenu-item-level-2 {
                    max-width: 100%;
                }
            }
        }
        & .ubermenu-retractor.ubermenu-retractor-mobile {
            display: none !important;
        }
        & li.ubermenu-item.ubermenu-item-level-0.franked {
            display: none;
        }


    }
 
    .ubermenu.ubermenu-mobile-modal.ubermenu-skin-minimal.ubermenu-mobile-view:not(.ubermenu-frankenmenu) .ubermenu-nav:has(.ubermenu-active) .ubermenu-item.ubermenu-item-level-0.never-franked {
        transform: translateX(-100%) translateY(1px);
    }

    .ubermenu.ubermenu-mobile-modal .ubermenu-item-level-0.never-franked:last-of-type {
        margin-top: -1px;
    }

    .ubermenu-item-level-1--mobile-faker {
        display: none !important;
    }

    .ubermenu-responsive .ubermenu-item.ubermenu-active > ul.ubermenu-submenu.ubermenu-submenu-type-mega {
        max-height: 60vh;
        overflow-y: auto;
    }
}

/* Negative margin helps in removing faint blue dotted lines (caused by maybe overlapping styles) */
@media (min-width: 40rem) and (max-width: 72.99rem) {
  .ubermenu.ubermenu-mobile-modal.ubermenu-skin-minimal.ubermenu-mobile-view:not(.ubermenu-frankenmenu)
  .ubermenu-nav
  .ubermenu-item.ubermenu-item-level-0 {
    margin-bottom: -0.75px;
  }
}

@media (min-width: 45rem) {
/* Let the frankenmenu items have their proper padding when there's room  */
    .nav-container .ubermenu-frankenmenu .ubermenu-target {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

@media (min-width: 73rem) {
    .nav-container {
        --submenu-vertical-offset: 2rem;
        display: block;
        & .ubermenu {
            /* matters on resize */
            flex-basis: 100%;
            &.ubermenu-frankenmenu--container {
                flex-basis: 0;
                display: none;
            }
            & .ubermenu-submenu.ubermenu-submenu-drop.ubermenu-submenu-align-full_width {
                --designers-gonna-design: 7px;
                width: calc(100% - (var(--designers-gonna-design) * 2));
                margin-right: var(--designers-gonna-design);
            }
        }
        & .ubermenu.ubermenu-mobile-modal {
            background: #fff;
        } 
        & .ubermenu-responsive-toggle.ubermenu-responsive-toggle-main.ubermenu-skin-minimal.ubermenu-loc-mega_menu.ubermenu-responsive-toggle-open {
        	display: none;
        }
        .ubermenu-main .ubermenu-nav:has(.ubermenu-active) .ubermenu-item-level-0 {
            transform: none;
        }
        & .ubermenu.ubermenu-mobile-modal {
          & .ubermenu-nav {
            & .ubermenu-item.ubermenu-item-level-0 {
                padding: var(--submenu-vertical-offset) 0;
                &:hover {
                    background-color: #fff;
                    & > a.ubermenu-target {
                        color: #000;
                    }
                }
            }
            & .ubermenu-column + .ubermenu-column {
                margin-top: 0;
            }
          }
        }
    }

}

.ubermenu-responsive {
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important;
    -webkit-transition-timing-function: revert !important;
    transition-timing-function: revert !important;
}

.ubermenu-mobile-footer {
    display: none !important;
}

li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-initiative-heading .ubermenu-target, 
li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-program-heading .ubermenu-target, 
li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-apprentice-heading .ubermenu-target, 
li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-initiative-heading .ubermenu-target .ubermenu-target-title, 
li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-program-heading .ubermenu-target .ubermenu-target-title, 
li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-apprentice-heading .ubermenu-target .ubermenu-target-title, 
li.ubermenu-item.ubermenu-item-object-custom.ubermenu-item-type-custom:not(.ubermenu-item-level-0) .ubermenu-target[href="#"], 
li.ubermenu-item.ubermenu-item-object-custom.ubermenu-item-type-custom:not(.ubermenu-item-level-0) .ubermenu-target[href="#"] .ubermenu-target-title {
    font-weight: 700;
}

nav.ubermenu.ubermenu-main .ubermenu-item.ubermenu-item-level-2 > .ubermenu-target[href="#"]:hover, .ubermenu-item[tabindex="-1"]:not(.ubermenu-item-level-0):not([aria-haspopup="true"]):hover {
    cursor: default;
} 
nav.ubermenu.ubermenu-main .ubermenu-item-normal > .ubermenu-target:hover, nav.ubermenu.ubermenu-main .ubermenu-item-normal.ubermenu-active > .ubermenu-target {
    background-color: #404040;
}

nav.ubermenu.ubermenu-main li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-initiative-heading > .ubermenu-target:hover, 
nav.ubermenu.ubermenu-main li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-program-heading > .ubermenu-target:hover, 
nav.ubermenu.ubermenu-main li.ubermenu-item.ubermenu-item-type-post_type.ubermenu-item-auto.ubermenu-item-normal.ubermenu-item-object-apprentice-heading > .ubermenu-target:hover, 
nav.ubermenu.ubermenu-main li.ubermenu-item.ubermenu-item-object-custom.ubermenu-item-type-custom:not(.ubermenu-item-level-0) .ubermenu-target[href="#"]:hover{
    background-color: #fff;
    color: #111;
}

.ontario-visibility-none {
    visibility: hidden !important;
}

.ubermenu-item:focus-within {
    outline: none;
}

.ubermenu-item .ubermenu-target:focus {
    transition: none !important;
}

nav.ubermenu.ubermenu-accessible input:not(:hover):focus,nav.ubermenu.ubermenu-accessible:not(:hover) .ubermenu-target:focus {
    outline: none;
    box-shadow: none !important;
    transition: outline 0;
}

nav.ubermenu.ubermenu-accessible input:not(:hover):focus-visible,nav.ubermenu.ubermenu-accessible:not(:hover) .ubermenu-target:focus-visible {
    outline: 1px solid #2cc4ff;
    box-shadow: 0 0 5px #2cc4ff!important;
    z-index: 50;
    transition: outline 0 linear
}

.ubermenu-accessible .ubermenu-target.force-focus-ring {
  outline: 1px solid #2cc4ff;
  box-shadow: 0 0 5px #2cc4ff !important;
  z-index: 50;
}

@media screen and (max-width: 1167px) {
  .ubermenu-responsive .ubermenu-item.ubermenu-active > ul.ubermenu-submenu.ubermenu-submenu-type-mega {
    max-height: 76vh;
    overflow-y: auto;
  }
}

a.ubermenu-target:focus-visible {
    outline: 1px solid #2cc4ff !important;
    box-shadow: 0 0 5px #2cc4ff !important;
    z-index: 50;
    transition: outline .1s linear !important;
}

a.ubermenu-target[tabindex="-1"]:not([aria-haspopup="true"]):hover {
    cursor: default;
}

button.sub-menu-toggle:hover {
    cursor: pointer;
}