@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300&family=Fira+Sans:wght@300;400;500;600;700;900&display=swap");

de-shared-navigation {
	display: block;
	position: relative;
	z-index: 99990;
	--de-nav-blue: #002f87;
	--de-nav-navy: #1d3b7e;
	--de-nav-bar-bg: #002f87;
	--de-nav-panel-bg: #fff;
	--de-nav-divider: #e9ecf3;
	--de-nav-faded: .38;
	--de-nav-pill-bg: #eef0f5;
	--de-nav-serif: "Cormorant Garamond", Georgia, serif;
	--de-nav-sans: "Fira Sans", Arial, sans-serif;
	--de-nav-bar-height: 84px;
	--de-nav-news-height: 72px;
	--de-nav-open-duration: 550ms;
	font-family: var(--de-nav-sans);
}

/* Hide only after the Web Component definition is active. If JavaScript is
 * blocked, :defined never matches and the fallback navigation stays visible. */
de-shared-navigation:defined {
	opacity: 0;
	pointer-events: none;
	transition: opacity 320ms ease-out;
}

de-shared-navigation:defined[data-status="ready"],
de-shared-navigation:defined[data-status="empty"],
de-shared-navigation:defined[data-status="error"] {
	opacity: 1;
	pointer-events: auto;
}

de-shared-navigation *,
de-shared-navigation *::before,
de-shared-navigation *::after { box-sizing: border-box; }

de-shared-navigation [data-enhanced="true"] > .de-shared-navigation__fallback,
de-shared-navigation[data-enhanced="true"] > .de-shared-navigation__fallback { display: none; }

de-shared-navigation .de-shared-navigation__fallback {
	background: #fff;
	border: 1px solid #dcdcde;
	color: #1d3b7e;
	padding: 16px;
}

de-shared-navigation .de-shared-navigation__fallback p { margin: 8px 0 0; }
de-shared-navigation .de-shared-navigation__fallback-links { display: flex; flex-wrap: wrap; gap: 10px 20px; }
de-shared-navigation .de-shared-navigation__fallback-links a { color: #002f87; font-weight: 600; }
de-shared-navigation .de-nav { color: #222; }

de-shared-navigation .de-nav__menu {
	height: 0;
	overflow: hidden;
	background: var(--de-nav-panel-bg);
	transition: height var(--de-nav-open-duration) cubic-bezier(.34,1.28,.64,1);
}

de-shared-navigation .de-nav.is-open .de-nav__menu { height: calc(100vh - var(--de-nav-bar-height)); }
de-shared-navigation .de-nav:not(.is-open) .de-nav__menu { transition: height 420ms cubic-bezier(.4,0,.2,1); }

de-shared-navigation .de-nav__frame {
	height: calc(100vh - var(--de-nav-bar-height));
	display: flex;
	flex-direction: column;
	opacity: 0;
	transition: opacity 1200ms ease-out;
}

de-shared-navigation .de-nav.is-open .de-nav__frame { opacity: 1; transition-delay: 280ms; }

@supports (height: 100dvh) {
	de-shared-navigation .de-nav.is-open .de-nav__menu,
	de-shared-navigation .de-nav__frame { height: calc(100dvh - var(--de-nav-bar-height)); }
}

de-shared-navigation .de-nav__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 42px;
	height: 42px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 9px;
	cursor: pointer;
	display: grid;
	place-items: center;
	z-index: 5;
}

de-shared-navigation .de-nav__close svg { width: 18px; height: 18px; fill: #002f87; }

de-shared-navigation .de-nav__body {
	flex: 1;
	display: grid;
	grid-template-columns: minmax(220px,280px) minmax(300px,1.25fr) minmax(0,1fr) minmax(0,1fr);
	min-height: 0;
	padding: 26px 40px 10px 0;
}

de-shared-navigation .de-nav__info {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
	padding: 30px 7px 0 10px;
	text-align: center;
	color: var(--de-nav-blue);
	font-size: 12.8px;
	font-weight: 400;
	line-height: 1.55;
}

de-shared-navigation .de-nav__info img { width: 160px; height: auto; display: block; }
de-shared-navigation .de-nav__info p { margin: 0; white-space: pre-line; }
de-shared-navigation .de-nav__info p:first-of-type::first-line,
de-shared-navigation .de-nav__info p:nth-of-type(2)::first-line { font-weight: 700; }
de-shared-navigation .de-nav__info a { color: inherit; text-decoration: underline; }
de-shared-navigation .de-nav__socials { display: flex; align-items: center; gap: 12px; }
de-shared-navigation .de-nav__social-link { display: block; width: 26px; height: 26px; text-decoration: none; border-radius: 50%; }
de-shared-navigation .de-nav__social-link svg { display: block; width: 26px; height: 26px; }

de-shared-navigation .de-nav__column {
	position: relative;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 26px 34px;
	scrollbar-width: thin;
	scrollbar-color: var(--de-nav-blue) var(--de-nav-divider);
}

de-shared-navigation .de-nav__column::-webkit-scrollbar { width: 6px; }
de-shared-navigation .de-nav__column::-webkit-scrollbar-track { background: var(--de-nav-divider); border-radius: 99px; }
de-shared-navigation .de-nav__column::-webkit-scrollbar-thumb { background: var(--de-nav-blue); border-radius: 99px; }
de-shared-navigation .de-nav__level-two,
de-shared-navigation .de-nav__level-three { border-left: 5px solid transparent; margin-left: 6px; opacity: 0; visibility: hidden; transform: translateX(18px); transition: opacity .3s, transform .3s, visibility .3s; }
de-shared-navigation .de-nav__level-one { padding-top: 34px; padding-left: 7px; }
de-shared-navigation [data-step="2"] .de-nav__level-two,
de-shared-navigation [data-step="3"] .de-nav__level-two,
de-shared-navigation [data-step="3"] .de-nav__level-three { opacity: 1; visibility: visible; transform: none; }

de-shared-navigation .de-nav__l1-item,
de-shared-navigation .de-nav__item,
de-shared-navigation .de-nav__marketing,
de-shared-navigation .de-nav__back {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	color: var(--de-nav-blue);
	cursor: pointer;
	text-decoration: none;
}

de-shared-navigation .de-nav__l1-item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	text-align: left;
	font-family: var(--de-nav-serif);
	font-size: 2.5rem;
	font-weight: 300;
	color: var(--de-nav-navy);
	padding: 0 0 6px;
	margin: 0 0 40px;
	line-height: 1.1;
	transition: opacity .25s;
}

de-shared-navigation [data-step="2"] .de-nav__l1-item:not(.is-selected),
de-shared-navigation [data-step="3"] .de-nav__l1-item:not(.is-selected),
de-shared-navigation [data-step="3"] .de-nav__level-two .de-nav__item:not(.is-selected),
de-shared-navigation [data-step="3"] .de-nav__level-two .de-nav__marketing:not(.is-selected) { opacity: var(--de-nav-faded); }
de-shared-navigation .de-nav__l1-item.is-selected,
de-shared-navigation .de-nav__item.is-selected,
de-shared-navigation .de-nav__marketing.is-selected { color: #002f87; opacity: 1; }

de-shared-navigation .de-nav__item {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	text-align: left;
	font-family: var(--de-nav-sans);
	font-weight: 300;
	font-size: 1rem;
	padding: 0;
	margin: 0 0 26px;
	transition: opacity .25s;
}

de-shared-navigation .de-nav__arrow { flex: 0 0 auto; width: 17px; height: 14px; }
de-shared-navigation .de-nav__arrow path { stroke: var(--de-nav-blue); }
de-shared-navigation .de-nav__l1-item > .de-nav__arrow { display: inline-block; width: 20px; height: 16px; }

de-shared-navigation .de-nav__marketing {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	text-align: left;
	font-family: var(--de-nav-sans);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.25;
	padding: 0;
	margin: 0 0 30px;
}

de-shared-navigation .de-nav__item-label,
de-shared-navigation .de-nav__marketing-label { position: relative; display: inline-block; overflow-wrap: anywhere; }
de-shared-navigation .de-nav__item-label::after,
de-shared-navigation .de-nav__marketing-label::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 1px;
	background: #cc9800;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s ease;
}

de-shared-navigation .de-nav__l1-item .de-nav__item-label::after { bottom: -8px; height: 1.5px; }
de-shared-navigation .de-nav__l1-item:hover .de-nav__item-label::after,
de-shared-navigation .de-nav__l1-item.is-selected .de-nav__item-label::after,
de-shared-navigation .de-nav__item:hover .de-nav__item-label::after,
de-shared-navigation .de-nav__item.is-selected .de-nav__item-label::after,
de-shared-navigation .de-nav__marketing:hover .de-nav__marketing-label::after,
de-shared-navigation [aria-current="page"] .de-nav__item-label::after { transform: scaleX(1); }

de-shared-navigation .de-nav__chevron {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--de-nav-blue);
	display: grid;
	place-items: center;
}

de-shared-navigation .de-nav__chevron svg { width: 15px; height: 15px; }
de-shared-navigation .de-nav__chevron path { stroke: #fff; stroke-width: 3.4; fill: none; stroke-linecap: round; stroke-linejoin: round; }

de-shared-navigation .de-nav__back {
	display: none;
	align-items: center;
	gap: 16px;
	font-family: var(--de-nav-serif);
	font-size: 34px;
	font-weight: 300;
	color: var(--de-nav-navy);
	text-align: left;
	padding: 0;
	margin: 0 0 22px;
}
de-shared-navigation .de-nav__back .de-nav__chevron { width: 44px; height: 44px; }
de-shared-navigation .de-nav__back .de-nav__chevron svg { transform: rotate(180deg); }
de-shared-navigation .de-nav__deep-list { list-style: none; padding: 0 0 0 18px; margin: -12px 0 20px; border-left: 1px solid var(--de-nav-divider); }
de-shared-navigation .de-nav__deep-list .de-nav__item { font-size: .9rem; margin-bottom: 16px; }

de-shared-navigation .de-nav__news {
	border-top: 1.5px solid var(--de-nav-blue);
	min-height: var(--de-nav-news-height);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 40px;
	color: var(--de-nav-blue);
	flex-wrap: wrap;
}
de-shared-navigation .de-nav__news-caption { font-weight: 900; font-size: 1rem; margin-right: 6px; }
de-shared-navigation .de-nav__news-inline { display: contents; }
de-shared-navigation .de-nav__category { color: var(--de-nav-blue); font-weight: 500; font-size: .95rem; text-underline-offset: 4px; text-decoration-thickness: 1px; }
de-shared-navigation .de-nav__category .de-nav__arrow,
de-shared-navigation .de-nav__pill .de-nav__arrow { display: none; }
de-shared-navigation .de-nav__separator { opacity: .7; font-weight: 300; }
de-shared-navigation .de-nav__news-pills { display: none; }

de-shared-navigation .de-nav__bar {
	position: sticky;
	top: 0;
	height: var(--de-nav-bar-height);
	overflow: hidden;
	background: var(--de-nav-bar-bg);
	color: #fff;
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 0 34px;
	z-index: 2;
}

de-shared-navigation .de-nav__login,
de-shared-navigation .de-nav__bar-link,
de-shared-navigation .de-nav__wordmark { color: #fff; text-decoration: none; }
de-shared-navigation .de-nav__login { display: flex; align-items: center; gap: 14px; font-weight: 500; font-size: 1rem; white-space: nowrap; }
de-shared-navigation .de-nav__login-icon { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
de-shared-navigation .de-nav__login-icon svg { width: 22px; height: 22px; fill: var(--de-nav-bar-bg); }
de-shared-navigation .de-nav__wordmark { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(430px,50vw); height: 40px; display: flex; align-items: center; justify-content: center; z-index: 0; }
de-shared-navigation .de-nav__wordmark img { display: block; width: auto; height: 100%; max-width: 100%; }
de-shared-navigation .de-nav__login,
de-shared-navigation .de-nav__bar-actions { position: relative; z-index: 1; }
de-shared-navigation .de-nav__bar-actions { display: flex; align-items: center; gap: 26px; margin-left: auto; }
de-shared-navigation .de-nav__bar-link { font-weight: 500; font-size: 1rem; white-space: nowrap; }
de-shared-navigation .de-nav__burger { background: none; border: 0; cursor: pointer; display: grid; place-items: center; padding: 4px; }
de-shared-navigation .de-nav__burger svg { width: 34px; height: auto; display: block; fill: #fff; }
de-shared-navigation .de-nav__mobile-logo { display: none; }

de-shared-navigation button:focus-visible,
de-shared-navigation a:focus-visible { outline: 3px solid #cc9800; outline-offset: 4px; }
de-shared-navigation [data-input-method="touch"] button:focus,
de-shared-navigation [data-input-method="touch"] a:focus { outline: none; box-shadow: none; }

@media (hover: none) and (pointer: coarse) {
	de-shared-navigation button,
	de-shared-navigation a { -webkit-tap-highlight-color: transparent; }
	de-shared-navigation button:focus,
	de-shared-navigation button:focus-visible,
	de-shared-navigation a:focus,
	de-shared-navigation a:focus-visible { outline: none !important; box-shadow: none !important; }
}

.de-shared-navigation-preview { min-height: 84px; padding: 20px; display: flex; flex-direction: column; justify-content: center; background: #002f87; color: #fff; font-family: Arial,sans-serif; }
.de-shared-navigation-preview span { font-size: 13px; opacity: .85; margin-top: 4px; }

@media (max-width: 1180px) {
	html.de-shared-navigation-open,
	html.de-shared-navigation-open body { overflow: hidden !important; }
	de-shared-navigation .de-nav__body { grid-template-columns: minmax(200px,240px) minmax(0,1fr) minmax(0,1fr); padding-right: 24px; }
	de-shared-navigation [data-step="2"] .de-nav__level-one,
	de-shared-navigation [data-step="3"] .de-nav__level-one { display: none; }
	de-shared-navigation [data-step="1"] .de-nav__level-two,
	de-shared-navigation [data-step="1"] .de-nav__level-three,
	de-shared-navigation [data-step="2"] .de-nav__level-three { display: none; }
	de-shared-navigation [data-step="2"] .de-nav__level-two,
	de-shared-navigation [data-step="3"] .de-nav__level-two { border-left: 0; margin-left: 0; }
	de-shared-navigation .de-nav__level-two .de-nav__back { display: flex; }
	de-shared-navigation .de-nav__level-two { padding-top: 30px; }
	de-shared-navigation .de-nav__bar-link { display: none; }
	de-shared-navigation .de-nav__news-inline .de-nav__category:not(.de-nav-item--sticky),
	de-shared-navigation .de-nav__news-inline .de-nav__separator:has(+ .de-nav__category:not(.de-nav-item--sticky)) { display: none; }
}

@media (max-width: 740px) {
	de-shared-navigation { --de-nav-bar-height: 64px; }
	de-shared-navigation .de-nav__frame { display: block; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	de-shared-navigation .de-nav__body { display: block; overflow: visible; padding: 18px 22px 10px; transition: opacity 400ms ease-out; }
	de-shared-navigation .de-nav__body.is-fading { opacity: 0; }
	de-shared-navigation .de-nav__info { display: none; }
	de-shared-navigation .de-nav__mobile-logo { width: 100px; display: grid; place-items: center; margin: 6px 0 34px; }
	de-shared-navigation .de-nav__mobile-logo img { width: 100%; height: auto; display: block; }
	de-shared-navigation [data-step="3"] .de-nav__mobile-logo { margin-left: auto; margin-right: auto; }
	de-shared-navigation .de-nav__column { overflow: visible; padding: 0; border: 0; margin: 0; }
	de-shared-navigation [data-step="1"] .de-nav__level-two,
	de-shared-navigation [data-step="1"] .de-nav__level-three,
	de-shared-navigation [data-step="2"] .de-nav__level-one,
	de-shared-navigation [data-step="2"] .de-nav__level-three,
	de-shared-navigation [data-step="3"] .de-nav__level-one,
	de-shared-navigation [data-step="3"] .de-nav__level-two { display: none; }
	de-shared-navigation .de-nav__level-two,
	de-shared-navigation .de-nav__level-three { opacity: 1; visibility: visible; transform: none; }
	de-shared-navigation .de-nav__l1-item { font-size: 2.5rem; margin-bottom: 34px; display: flex; align-items: center; gap: 12px; }
	de-shared-navigation .de-nav__l1-item > .de-nav__arrow { display: inline-block; width: 20px; height: 16px; }
	de-shared-navigation .de-nav__l1-item > .de-nav__arrow path { stroke: var(--de-nav-navy); }
	de-shared-navigation .de-nav__level-two .de-nav__back,
	de-shared-navigation .de-nav__level-three .de-nav__back { display: flex; border-bottom: 1.5px solid var(--de-nav-blue); padding-bottom: 20px; margin-bottom: 26px; width: 100%; font-size: 32px; }
	de-shared-navigation .de-nav__item { margin-bottom: 30px; }
	de-shared-navigation .de-nav__marketing { border-bottom: 1.5px solid var(--de-nav-blue); padding-bottom: 22px; margin-bottom: 24px; }
	de-shared-navigation [data-step="2"] .de-nav__news,
	de-shared-navigation [data-step="3"] .de-nav__news { display: none; }
	de-shared-navigation .de-nav__news { border-top: 0; display: block; padding: 26px 22px calc(180px + env(safe-area-inset-bottom, 0px)); }
	de-shared-navigation .de-nav__news-caption { display: block; font-size: .8rem; margin-bottom: 16px; }
	de-shared-navigation .de-nav__news-inline { display: none; }
	de-shared-navigation .de-nav__news-pills { display: flex; flex-wrap: wrap; gap: 10px; }
	de-shared-navigation .de-nav__pill { background: var(--de-nav-pill-bg); color: var(--de-nav-blue); font-weight: 700; font-size: .8em; text-decoration: none; padding: 9px 18px; border-radius: 999px; white-space: nowrap; }
	de-shared-navigation .de-nav__bar { padding: 0 16px; gap: 12px; }
	de-shared-navigation .de-nav__login { transform: scale(.765); transform-origin: left center; }
	de-shared-navigation .de-nav__burger { transform: scale(.765); transform-origin: right center; }
	de-shared-navigation .de-nav__login-text { display: none; }
	de-shared-navigation .de-nav__close { top: 10px; right: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	de-shared-navigation { transition: none !important; }
	de-shared-navigation *,
	de-shared-navigation *::before,
	de-shared-navigation *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
