/*
 * The menus in the public website's header (includes/public_site_header.php). These rules used to come from a plugin on
 * ns-rp.ca, and the pages' header fell apart each time the site changed that plugin (November 2026), so RIMS has its own.
 * Colours and sizes still come from the site's header stylesheet.
 */
.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-nav-menu ul,
.elementor-location-header .elementor-nav-menu li {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: normal;
}
.elementor-location-header .elementor-nav-menu { position: relative; z-index: 2; }
.elementor-location-header .elementor-nav-menu li { position: relative; border-width: 0; }
.elementor-location-header .elementor-nav-menu ul { display: none; }
.elementor-location-header .elementor-nav-menu a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 20px;
	line-height: 20px;
}
.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
	display: flex;
	flex-direction: column;
}

/* horizontal menu */
.elementor-location-header .elementor-nav-menu--layout-horizontal { display: flex; }
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu {
	display: flex;
	flex-wrap: wrap;
}
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu > li { display: flex; }
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu > li > a {
	white-space: nowrap;
	flex-grow: 1;
}
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu > li:not(:first-child) > a {
	margin-inline-start: var(--e-nav-menu-horizontal-menu-item-margin);
}
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu > li:not(:last-child) > a {
	margin-inline-end: var(--e-nav-menu-horizontal-menu-item-margin);
}
.elementor-location-header .elementor-nav-menu--layout-horizontal > .elementor-nav-menu > li:not(:last-child):after {
	content: var(--e-nav-menu-divider-content, none);
	height: var(--e-nav-menu-divider-height, 35%);
	border-left: var(--e-nav-menu-divider-width, 2px) var(--e-nav-menu-divider-style, solid) var(--e-nav-menu-divider-color, #000);
	align-self: center;
}
.elementor-location-header .elementor-nav-menu__align-right .elementor-nav-menu--layout-horizontal > .elementor-nav-menu {
	margin-left: auto;
	justify-content: flex-end;
}

/* dropdown panels of the horizontal menu */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul {
	position: absolute;
	top: 100%;
	left: var(--e-nav-menu-horizontal-menu-item-margin, 0);
	z-index: 100;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul ul { top: 0; left: 100%; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu li:hover > ul,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu li.public-menu-open > ul { display: block; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.public-menu-flip { left: auto; right: 0; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul ul.public-menu-flip { left: auto; right: 100%; }
.elementor-location-header .elementor-nav-menu .sub-arrow { display: flex; align-items: center; line-height: 1; }

/* menu button and the menu it opens: only on narrow windows */
.elementor-location-header .elementor-menu-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--nav-menu-icon-size, 22px);
	padding: .25em;
	cursor: pointer;
	border: 0 solid;
	border-radius: 3px;
	background-color: rgba(0, 0, 0, .05);
	color: #494c4f;
}
.elementor-location-header .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
.elementor-location-header .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close { display: none; }
.elementor-location-header .elementor-nav-menu--dropdown { background-color: #fff; font-size: 13px; }
.elementor-location-header .elementor-nav-menu--dropdown a { color: #494c4f; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 10px;
	max-height: 100vh;
	overflow-y: auto;
}
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item { font-size: .85em; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul a { border-left: 8px solid transparent; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container ul ul a { border-left-width: 16px; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container li.public-menu-open > ul { display: block; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu { justify-content: space-between; }
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu .sub-arrow::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}
.elementor-location-header .elementor-nav-menu--toggle .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { display: none; }
.elementor-location-header .elementor-nav-menu--dropdown-none .elementor-menu-toggle,
.elementor-location-header .elementor-nav-menu--dropdown-none .elementor-nav-menu--dropdown { display: none; }
@media (min-width: 1025px) {
	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown { display: none; }
}
@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main { display: none; }
}

/* the search box behind the magnifying glass */
.elementor-location-header .is-menu { position: relative; }
.elementor-location-header .is-menu form { display: none; }
.elementor-location-header .is-menu.public-menu-open form {
	display: block;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 100;
	width: 280px;
	background: #fff;
}
