/* Only the Rested Cocoons navigation widget is styled here. */
.rc-navigation {
	--rc-panel-width: 300px;
	--rc-dropdown-width: 220px;
	--rc-hamburger-size: 24px;
	--rc-line-thickness: 2px;
	--rc-close-size: 22px;
	--rc-social-color: rgba(250, 227, 200, .65);
	--rc-social-hover: #deb295;
	width: 100%;
	color: #34294a;
	font-family: inherit;
}
.rc-navigation *, .rc-navigation *::before, .rc-navigation *::after { box-sizing: border-box; }
.rc-navigation nav { position: static; display: block; padding: 0; margin: 0; background: none; border: 0; }
.rc-navigation ul { list-style: none; padding: 0; margin: 0; }
.rc-navigation li { position: relative; margin: 0; padding: 0; }
.rc-navigation a { text-decoration: none; transition: color .2s, background-color .2s; overflow-wrap: anywhere; }
.rc-navigation button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-width: 44px;
	min-height: 44px;
	padding: 8px;
	margin: 0;
	border: 0;
	border-radius: 2px;
	background: transparent;
	color: inherit;
	font: inherit;
	line-height: 1;
	box-shadow: none;
	cursor: pointer;
	transition: color .2s, background-color .2s;
}
.rc-navigation button:hover, .rc-navigation button:focus { background: transparent; color: inherit; }
.rc-navigation a:focus-visible, .rc-navigation button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.rc-navigation .nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: 32px; }
.rc-navigation .nav-links > li { display: flex; align-items: center; }
.rc-navigation .nav-links > li > a { display: block; color: #7f788c; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; padding: 8px 0; }
.rc-navigation .nav-links a:hover, .rc-navigation .nav-links a:focus-visible, .rc-navigation .nav-links a[aria-current] { color: #34294a; }
.rc-navigation .rc-submenu-toggle { min-width: 36px; min-height: 36px; padding: 10px; }
.rc-navigation .rc-submenu-toggle span { width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.rc-navigation .rc-submenu-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
.rc-navigation .sub-menu { display: none; }
.rc-navigation .nav-links .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	z-index: 50;
	width: var(--rc-dropdown-width);
	max-width: calc(100vw - 24px);
	padding: 8px;
	background: #faf7f3;
	box-shadow: 0 8px 24px rgba(52, 41, 74, .12);
}
.rc-navigation .nav-links li.rc-submenu-open > .sub-menu { display: block; }
.rc-navigation .nav-links .sub-menu li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.rc-navigation .nav-links .sub-menu a { display: block; padding: 10px 12px; color: #34294a; font-size: 14px; }
.rc-navigation .nav-links .sub-menu .sub-menu { inset-block-start: 0; inset-inline-start: 100%; }
.rc-navigation .nav-links .rc-submenu-flip > .sub-menu { inset-inline-start: auto; inset-inline-end: 0; }
.rc-navigation .nav-links .sub-menu .rc-submenu-flip > .sub-menu { inset-inline-end: 100%; }
.rc-navigation .rc-mobile-trigger { align-items: center; justify-content: flex-end; }
.rc-navigation .hamburger { flex-direction: column; gap: 5px; color: #34294a; font-size: var(--rc-hamburger-size); }
.rc-navigation .hamburger > span { display: block; width: var(--rc-hamburger-size); height: var(--rc-line-thickness); background: currentColor; border-radius: 2px; }
.rc-navigation .hamburger svg, .rc-navigation .side-menu-close svg, .rc-navigation .rc-social-icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.rc-navigation .rc-menu-dialog {
	position: fixed;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	height: 100dvh;
	max-height: none;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: #fae3c8;
	/* Prevent dialog autofocus from scrolling the offscreen panel into view. */
	overflow: clip;
}
.rc-navigation .rc-menu-dialog:not([open]) { display: none; }
.rc-navigation .rc-menu-dialog[open] { display: block; }
.rc-navigation .rc-menu-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.rc-navigation .side-menu {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
	flex: 0 0 auto;
	width: min(100%, var(--rc-panel-width));
	height: 100%;
	padding: 64px 32px max(40px, env(safe-area-inset-bottom));
	background: #34294a;
	color: #fae3c8;
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(100%);
	transition: transform .25s ease;
}
.rc-navigation[data-side="left"] .side-menu, .rc-navigation[data-side="auto"]:dir(rtl) .side-menu { right: auto; left: 0; transform: translateX(-100%); }
.rc-navigation .rc-menu-dialog.is-open .side-menu { transform: translateX(0); }
.rc-navigation .side-menu-close { position: absolute; inset-block-start: 12px; inset-inline-end: 20px; color: #fae3c8; font-size: var(--rc-close-size); }
.rc-navigation .side-menu-links, .rc-navigation .side-menu-links .sub-menu { flex-direction: column; gap: 8px; }
.rc-navigation .side-menu-links { display: flex; }
.rc-navigation .side-menu-links li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.rc-navigation .side-menu-links a { display: block; padding: 12px 0; color: #fae3c8; font-size: 18px; font-weight: 300; letter-spacing: 1px; border-bottom: 1px solid rgba(250, 227, 200, .1); }
.rc-navigation .side-menu-links a:hover, .rc-navigation .side-menu-links a:focus-visible { color: #deb295; }
.rc-navigation .side-menu-links a[aria-current] { color: #ffde8a; }
.rc-navigation .side-menu-links .sub-menu { grid-column: 1 / -1; padding-inline-start: 16px; }
.rc-navigation .side-menu-links li.rc-submenu-open > .sub-menu { display: flex; }
.rc-navigation .side-menu-footer { display: flex; flex-direction: column; flex-wrap: wrap; align-items: flex-start; gap: 12px; margin-top: auto; }
.rc-navigation .rc-social-link { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; color: var(--rc-social-item-color, var(--rc-social-color)); font-size: 13px; }
.rc-navigation .rc-social-link:hover, .rc-navigation .rc-social-link:focus-visible { color: var(--rc-social-item-hover, var(--rc-social-hover)); }
.rc-navigation .rc-social-icon { display: inline-flex; flex-shrink: 0; font-size: 18px; line-height: 1; }
.rc-navigation .rc-menu-notice { margin: 0; font: 14px/1.5 sans-serif; color: inherit; }
@media (prefers-reduced-motion: reduce) {
	.rc-navigation .side-menu, .rc-navigation a, .rc-navigation button, .rc-navigation .rc-submenu-toggle span { transition: none; }
}
