/* Theme 26 */
#notification-bottom > a {
	pointer-events: visible;
}
#navigation_can {
	z-index: 1001;
}
.js body[style*=hidden] #navigation {
	z-index: 1002;
}
.nav-active #navigation_can {
	z-index: 9999;
}

/* === Drawer mode — only active when JS detects nav overflow === */
body.nav-overflow #navigation {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .1);
	box-shadow: 0 4px 30px rgba(0, 0, 0, .1);
	display: flex!important;
	flex-direction: column!important;
	height: 100% !important;
	inset: 0 !important;
	max-width: none;
	overflow: hidden;
	padding: 0!important;
	position: fixed!important;
	transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
	width: 100%!important;
	z-index: 1003!important;
}
body.nav-overflow #navigation.opened {
	opacity: 1!important;
	visibility: visible!important;
}
body.nav-overflow #navigation.closed {
	opacity: 0!important;
	visibility: hidden!important;
}
body.nav-overflow #navigation::before,
body.nav-overflow #navigation.opened::before {
	content: none;
	display: none;
	opacity: 0;
	visibility: hidden;
}

/* Nav list fills the middle — header/footer take their natural heights */
body.nav-overflow #navigation.opened > ul {
	counter-reset: count;
	display: flex!important;
	flex-direction: column!important;
	gap: 0;
	margin: 0!important;
	overflow-x: hidden!important;
	overflow-y: auto!important;
	padding: 0!important;
	width: 100%!important;
}

/* === Top-level and placeholder item reset === */
body.nav-overflow #nav li {
	border-top: 1px solid rgba(255, 255, 255, .1);
	line-height: .7;
	margin-top: 2rem;
	text-align: center;
	width: auto;
}

body.nav-overflow #nav > li,
body.nav-overflow #nav > .nav_placeholder,
body.nav-overflow #nav > .nav_placeholder > ul > li {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: block!important;
	flex: 0;
	float: none!important;
	line-height: .7;
	margin: 1rem 0!important;
	opacity: 1!important;
	padding: 0!important;
	position: relative!important;
	width: 100%!important;
}
body.nav-overflow #nav > .nav_placeholder {
	position: static!important;
}
body.nav-overflow #nav > .nav_placeholder > ul {
	background: #fff;
	box-shadow: none;
	display: block!important;
	left: auto!important;
	margin: 0!important;
	padding: 0!important;
	pointer-events: auto!important;
	position: static!important;
	right: auto!important;
	width: 100%!important;
	z-index: auto!important;
}
body.nav-overflow #nav > .nav_placeholder > ul:before,
body.nav-overflow #nav > .nav_placeholder > ul:after {
	content: none;
	display: none;
}
body.nav-overflow #nav > .nav_placeholder > ul li {
	background: transparent;
	flex: 0 0 auto!important;
	flex-grow: 0!important;
	text-align: left;
	width: 100%!important;
}

/* === Mega-menu sub-nav reset (must apply before nav opens, not scoped to .opened) ===
   The desktop mega-menu uses flex-flow:row-wrap on nav_placeholder > ul > li > ul
   and flex:1 0 50%; min-width:200px on items. Override without waiting for .opened. */
body.nav-overflow #nav > .nav_placeholder > ul > li > ul {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 6%, #fff);
	display: block!important;
	flex: none!important;
	flex-flow: unset!important;
	flex-wrap: unset!important;
	margin: 0!important;
	min-width: 0!important;
	opacity: 1!important;
	padding: 0!important;
	pointer-events: auto!important;
	position: static!important;
	transition: none!important;
	visibility: visible!important;
	width: 100%!important;
}
/* Catch sub-items at any nesting depth within nav_placeholder (handles both
   nav_drop columns and nav_placeholder mega-menu column headers) */
body.nav-overflow #nav > .nav_placeholder > ul li ul li {
	border-left: 3px solid color-mix(in srgb, var(--color-medium-blue, #3d5f8a) 45%, #fff)!important;
	display: block!important;
	flex: none!important;
	flex-grow: 0!important;
	margin: 0 0 0 1.5rem!important;
	min-width: 0!important;
	padding: 0!important;
	width: 100%!important;
}
body.nav-overflow #nav > .nav_placeholder > ul li ul li > a {
	color: var(--color-medium-blue, #3d5f8a)!important;
	display: block!important;
	font-size: 0.82rem!important;
	font-weight: 400!important;
	letter-spacing: 0.06em!important;
	line-height: 1.3!important;
	padding: 0.64rem 1.35rem!important;
	text-transform: uppercase!important;
	white-space: normal!important;
}
body.nav-overflow #nav > .nav_placeholder > ul li ul li.active > a,
body.nav-overflow #nav > .nav_placeholder > ul li ul li > a.active {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 14%, #fff);
	font-weight: 800!important;
}
body.nav-overflow #nav > .nav_placeholder > ul li ul li > a:hover {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 17%, #fff);
	color: var(--color-primary-blue, #21355a)!important;
}

/* === Top-level links === */
body.nav-overflow #navigation.opened #nav li a,
body.nav-overflow #navigation.opened #nav > .nav_placeholder ul li a {
	color: rgba(255, 255, 255, .5);
	display: inline-flex;
	font-family: var(--font-family);
	font-size: 6rem;
	font-weight: 900;
	justify-content: center;
	letter-spacing: -5px;
	line-height: .7;
	padding: 0;
	position: static;
	text-transform: uppercase;
	transition: color .25s ease, letter-spacing .3s ease;
}

#navigation #nav li a:before {
	content: '[' counter(count) ']';
	width: auto !important;
	left: initial !important;
	margin: 0 !important;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0;
	counter-increment: count;
}

body.nav-overflow #navigation.opened #nav > li a:hover,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li a:hover {
	color: #FFF;
	letter-spacing: -2px;
}

body.nav-overflow #navigation.opened #nav > li > a:active,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a:active {
	color: #FFF;
}

/* === Active / current page === */
body.nav-overflow #navigation.opened #nav > li.active > a,
body.nav-overflow #navigation.opened #nav > li > a.active,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li.active > a,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a.active {
	color: #FFF;
}

/* === Dropdown chevron === */
body.nav-overflow #navigation.opened #nav li a:after {
	border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
	bottom: auto;
	color: transparent;
	content: "I" !important;
	height: auto !important;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: auto !important;
	transform: none !important;
	width: auto !important;
}

body.nav-overflow #navigation.opened #nav li:last-child a:not(.nav_drop):after {
	content: none !important;
	display: none !important;
}

/* === Sub-nav dropdowns — shown inline === */
body.nav-overflow #navigation.opened #nav > li > ul,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > ul {
	background: none;
	border-radius: 0;
	box-shadow: none!important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	display: block!important;
	margin: 0!important;
	min-width: 0!important;
	opacity: 1!important;
	padding: 0!important;
	position: static!important;
	transition: none!important;
	visibility: visible!important;
	width: 100%!important;
	max-width: 100%!important;
}
body.nav-overflow #nav li ul li ul,
body.nav-overflow #nav li ul li ul li ul {
	position: static!important;
	opacity: 1!important;
	visibility: visible!important;
	pointer-events: auto!important;
	box-shadow: none!important;
	transition: none!important;
	text-align: center;
}

/* === Sub-nav list items === */
body.nav-overflow #navigation.opened #nav > li > ul > li,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > ul > li {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding: 0!important;
	width: 100%!important;
}

/* === Sub-nav links === */
body.nav-overflow #navigation.opened #nav > li > ul > li.active > a,
body.nav-overflow #navigation.opened #nav > li > ul > li > a.active,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > ul > li.active > a,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > ul > li > a.active {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 14%, #fff);
	font-weight: 800;
}
body.nav-overflow #navigation.opened #nav > li > ul > li > a:active,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > ul > li > a:active {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 22%, #fff);
}

body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li {
	border-left: 3px solid color-mix(in srgb, var(--color-medium-blue, #3d5f8a) 45%, #fff);
	border-top: 0;
	margin: 0 0 0 1.5rem!important;
	padding: 0!important;
	width: 100%!important;
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li.active,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li:has(> a.active) {
	border-left-color: var(--color-primary-blue, #21355a);
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a {
	color: var(--color-medium-blue, #3d5f8a)!important;
	display: block!important;
	font-size: 0.92rem!important;
	font-weight: 400!important;
	letter-spacing: 0.06em!important;
	line-height: 1.3!important;
	padding: 0.64rem 1.35rem!important;
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li:first-child > a {
	border-top: 0;
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li.active > a,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a.active {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 14%, #fff)!important;
	color: var(--color-medium-blue, #3d5f8a)!important;
	font-weight: 800!important;
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a:hover {
	background: color-mix(in srgb, var(--color-primary-blue, #21355a) 17%, #fff)!important;
	color: var(--color-primary-blue, #21355a)!important;
}
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a:active {
	background: #ccd4e5!important;
}

/* === Contact button in nav list — promoted to footer === */
body.nav-overflow #navigation.opened #nav a.btn,
body.nav-overflow #navigation.opened #nav .btn {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #1a2844;
	display: flex;
	justify-content: space-between;
	padding: 1.05rem 1.5rem;
	text-transform: uppercase;
}
body.nav-overflow #nav li.nav-contact-in-footer {
	display: none!important;
}

body.nav-overflow #navigation.opened #nav > li > a:not(.nav_drop)::after,
body.nav-overflow #navigation.opened #nav > .nav_placeholder > ul > li > a:not(.nav_drop)::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
}
body.nav-overflow #navigation.opened #header_contact,
body.nav-overflow #navigation.opened .notification-contact {
	display: none !important;
}

/* === Close (X) button when drawer is open === */
body.nav-overflow #navigation.opened + #nav-toggle {
	background: none;
	margin-top: 0!important;
	position: fixed!important;
	right: 3.5rem!important;
	z-index: 1004!important;
}

/* === Drawer header (company branding) === */
body.nav-overflow #navigation .nav-drawer-header,
body.nav-overflow #navigation .nav-drawer-footer {
	display: flex !important;
}
body.nav-overflow #navigation .nav-drawer-header {
	padding: 3rem;
	padding-right: 4rem;
	width: 100%;
}
body.nav-overflow #navigation .nav-drawer-header .company-branding {
	display: block;
	text-align: left;
}
body.nav-overflow #navigation .nav-drawer-header .header_logo {
	color: #FFF;
	font-size: 28px;
	margin: 0;
	padding: 0;
	text-align: left;
}
body.nav-overflow #navigation.opened .header_logo img {
	display: none!important;
}
body.nav-overflow #navigation .nav-drawer-header .company-name {
	color: var(--color-dark-blue, #1a2844);
	display: block;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-transform: none;
}
body.nav-overflow #navigation .nav-drawer-header .company-tagline {
	color: var(--color-medium-blue, #3d5f8a);
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-top: 0.15rem;
	text-transform: uppercase;
}

/* === Drawer footer (phone + contact CTA) === */
body.nav-overflow #navigation .nav-drawer-footer {
	background: rgba(255, 255, 255, .1);
	padding: 1rem 3rem;
	width: 100%;
}

body.nav-overflow #navigation .nav-drawer-footer > div {
	flex: 1;
}

body.nav-overflow #navigation .nav-drawer-footer a {
	align-items: center;
	color: #FFF;
	display: inline-flex;
	font-size: 30px;
	font-weight: 600;
	gap: 1rem;
	justify-content: center;
	padding: 1rem 2rem;
	text-decoration: none;
}

body.nav-overflow #navigation .nav-drawer-footer a:hover {
	background: rgba(255, 255, 255, .05);
}

body.nav-overflow #navigation .nav-drawer-footer a:after {
	--size: 1rem;
	--border: 1px;
	align-items: center;
	column-gap: .5rem;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	mask: conic-gradient(at var(--size) var(--size), #0000 75%, #000 0) 0 0 / calc(100% - var(--size)) calc(100% - var(--size)), linear-gradient(#000 0 0) content-box;
	outline: var(--border) solid rgba(255, 255, 255, .2);
	outline-offset: calc(var(--border) * -1);
	padding: 1rem;
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
}

body.nav-overflow #navigation .nav-drawer-phone .phone-call::before {
	align-items: center;
	content: "\f4b9";
	display: flex;
	flex-shrink: 0;
	font-family: "Ionicons";
	justify-content: center;
}