/*
 * Apex Events — menu.css
 * The header menu: a glass side panel that slides in from the right.
 *
 * In Elementor the menu is an Accordion in the header (the "Menu" button is the accordion title,
 * the panel is its content). Opening/closing is native (<details>); assets/js/navigation.js adds
 * close-on-outside-click, Esc and close-after-link.
 */

/* Short slides rather than from fully off-screen: if an animation ever doesn't run, everything is still usable. */
@keyframes apex-menu-in {
	from { transform: translate3d(60px, 0, 0); }
	to { transform: none; }
}

@keyframes apex-menu-link {
	from { transform: translate3d(28px, 0, 0); }
	to { transform: none; }
}

/* The panel: right-hand side, full height, links centred vertically. The big box-shadow dims the page behind. */
html body .elementor-location-header .apex-menu-panel {
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	width: min(520px, 100vw);
	padding: 120px 48px !important;
	justify-content: center !important;
	align-items: stretch !important;
	background-color: rgba(14, 14, 16, .96) !important; /* Near-solid, so it stays dark over white pages too. */
	-webkit-backdrop-filter: blur(28px) saturate(160%);
	backdrop-filter: blur(28px) saturate(160%);
	border-left: 1px solid rgba(255, 255, 255, .12);
	box-shadow: -30px 0 80px rgba(0, 0, 0, .35), 0 0 0 100vmax rgba(0, 0, 0, .4);
	animation: apex-menu-in .5s cubic-bezier(.2, .7, .2, 1) both;
}

/* Links right-aligned, so their right edge lines up with the Menu icon (same 48px side padding as the header bar). */
html body .elementor-location-header .apex-menu-links {
	align-items: flex-end !important;
	width: 100%;
}

html body .elementor-location-header .apex-menu-links > * {
	font-size: 60px !important;
	line-height: 1.12 !important;
	letter-spacing: -1.5px !important;
	text-align: right;
	animation: apex-menu-link .5s cubic-bezier(.2, .7, .2, 1) both;
}

/* Links slide in one after another. */
html body .elementor-location-header .apex-menu-links > :nth-child(1) { animation-delay: .17s; }
html body .elementor-location-header .apex-menu-links > :nth-child(2) { animation-delay: .22s; }
html body .elementor-location-header .apex-menu-links > :nth-child(3) { animation-delay: .27s; }
html body .elementor-location-header .apex-menu-links > :nth-child(4) { animation-delay: .32s; }
html body .elementor-location-header .apex-menu-links > :nth-child(5) { animation-delay: .37s; }
html body .elementor-location-header .apex-menu-links > :nth-child(6) { animation-delay: .42s; }

/* Phones: still a side panel from the right (84% wide), padded to match the 20px header edge. */
@media (max-width: 767px) {
	html body .elementor-location-header .apex-menu-panel {
		width: 84vw;
		padding: 96px 20px !important;
	}

	html body .elementor-location-header .apex-menu-links > * {
		font-size: 44px !important;
		letter-spacing: -1px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .elementor-location-header .apex-menu-panel,
	html body .elementor-location-header .apex-menu-links > * {
		animation: none;
	}
}
