/* Concorde Nav — mobile menu mirrored from the desktop header */

.cnav-toggle{
	position:absolute;top:50%;right:max(1.6rem,4vw);transform:translateY(-50%);
	z-index:30;
	width:44px;height:44px;padding:0;margin:0;border:0;background:none;
	display:flex;align-items:center;justify-content:center;
	cursor:pointer;color:#04314D;
}
.cnav-toggle:focus-visible{outline:3px solid #166A94;outline-offset:2px}
.cnav-toggle--light{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.cnav-toggle__bars{position:relative;display:block;width:26px;height:2px;background:currentColor;border-radius:2px;transition:background .2s ease}
.cnav-toggle__bars::before,.cnav-toggle__bars::after{
	content:"";position:absolute;left:0;width:26px;height:2px;background:currentColor;border-radius:2px;
	transition:transform .25s ease, top .2s ease;
}
.cnav-toggle__bars::before{top:-8px}
.cnav-toggle__bars::after{top:8px}

.cnav-open .cnav-toggle__bars{background:transparent}
.cnav-open .cnav-toggle__bars::before{top:0;transform:rotate(45deg)}
.cnav-open .cnav-toggle__bars::after{top:0;transform:rotate(-45deg)}

.cnav-scrim{
	position:fixed;inset:0;z-index:9998;background:rgba(4,49,77,.45);
	opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;
}
.cnav-scrim.is-open{opacity:1;visibility:visible}

.cnav-panel{
	position:fixed;top:0;right:0;bottom:0;z-index:9999;
	width:min(86vw,360px);
	background:#fff;
	box-shadow:-18px 0 50px rgba(4,49,77,.18);
	transform:translateX(100%);
	transition:transform .3s cubic-bezier(.22,.61,.36,1);
	display:flex;flex-direction:column;
	overflow-y:auto;-webkit-overflow-scrolling:touch;
	font-family:Montserrat,sans-serif;
}
.cnav-panel.is-open{transform:none}

.cnav-panel__head{display:flex;align-items:center;justify-content:flex-end;padding:1.4rem 1.6rem .6rem}
.cnav-close{
	width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;color:#04314D;
	display:flex;align-items:center;justify-content:center;
}
.cnav-close:focus-visible{outline:3px solid #166A94;outline-offset:2px}
.cnav-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

.cnav-list{list-style:none;margin:0;padding:0 1.8rem 1.4rem;display:flex;flex-direction:column}
.cnav-list--secondary{padding-top:1.2rem;margin-top:auto;border-top:1px solid #dbe3e9}

.cnav-list__item + .cnav-list__item{border-top:1px solid #eef2f5}
.cnav-list--secondary .cnav-list__item + .cnav-list__item{border-top:0}

.cnav-link{
	display:block;padding:1.05rem 0;
	color:#04314D;text-decoration:none;
	font-size:1.05rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
	line-height:1.3;
}
a.cnav-link:hover,a.cnav-link:focus{color:#166A94}
a.cnav-link:focus-visible{outline:3px solid #166A94;outline-offset:3px}
.cnav-link.is-current{color:#166A94}
span.cnav-link{opacity:.45;cursor:default}

.cnav-list--secondary .cnav-link{font-size:.92rem;padding:.6rem 0;letter-spacing:.1em;color:#4b5a66}

html.cnav-locked,body.cnav-locked{overflow:hidden}

@media(prefers-reduced-motion:reduce){
	.cnav-panel,.cnav-scrim,.cnav-toggle__bars,.cnav-toggle__bars::before,.cnav-toggle__bars::after{transition:none}
}
