body.dp-mobile-menu-enabled {
	--dp-mobile-menu-background: linear-gradient(135deg, #10172a, #2d225f);
	--dp-mobile-menu-text: #fff;
	--dp-mobile-menu-accent: #9b84ff;
	--dp-mobile-menu-backdrop: rgba(8, 12, 24, .64);
	--dp-mobile-menu-width: 360px;
	--dp-mobile-menu-duration: 360ms;
	--dp-mobile-menu-align: left;
}

body.dp-mobile-menu-lock {
	overflow: hidden !important;
	overscroll-behavior: none;
}

/* A real button sits beside the parent link, so the link remains navigable. */
.dp-mobile-menu-enabled .et_mobile_menu li.dp-mobile-submenu-parent {
	position: relative !important;
}

.dp-mobile-menu-enabled .et_mobile_menu li > a {
	float: none !important;
}

.dp-mobile-menu-enabled .et_mobile_menu li.menu-item-has-children > a {
	position: relative;
	padding-inline-end: 66px !important;
}

/* Divi draws its own chevron on the link. Hide that duplicate so the only
 * visible/tappable arrow is our independent submenu button. */
.dp-mobile-menu-enabled .et_mobile_menu li.dp-mobile-submenu-parent > a::after {
	display: none !important;
	content: none !important;
	pointer-events: none !important;
}

.dp-mobile-submenu-toggle {
	position: absolute !important;
	top: 0 !important;
	inset-inline-end: 0 !important;
	z-index: 20 !important;
	display: inline-grid !important;
	box-sizing: border-box;
	width: 60px !important;
	height: var(--dp-mobile-submenu-row-height, 52px) !important;
	min-width: 60px !important;
	min-height: 44px !important;
	place-items: center;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	cursor: pointer;
	appearance: none;
	pointer-events: auto !important;
	touch-action: manipulation;
}

.dp-mobile-submenu-toggle::before {
	content: "3" !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	font-family: "ETmodules" !important;
	font-size: 28px !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	transition: transform 160ms ease !important;
	-webkit-font-smoothing: antialiased;
}

.dp-mobile-submenu-toggle::after { display: none !important; content: none !important; }
.dp-mobile-submenu-toggle[aria-expanded="true"]::before { content: "2" !important; }

.dp-mobile-submenu-toggle:hover,
.dp-mobile-submenu-toggle:focus-visible {
	background: color-mix(in srgb, currentColor 12%, transparent) !important;
	outline: 2px solid transparent !important;
}

.dp-mobile-submenu-toggle:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dp-mobile-menu-accent) 64%, transparent) !important;
}

.dp-mobile-submenu[hidden] {
	display: none !important;
}

/* Custom modes are portaled to body, avoiding transformed Theme Builder ancestors. */
.dp-mobile-menu__panel[data-dp-style="slide"],
.dp-mobile-menu__panel[data-dp-style="push"],
.dp-mobile-menu__panel[data-dp-style="fullscreen"] {
	position: fixed !important;
	top: 0 !important;
	bottom: 0 !important;
	z-index: 2147481001 !important;
	display: block !important;
	box-sizing: border-box !important;
	width: min(var(--dp-mobile-menu-width), calc(100vw - 24px)) !important;
	max-width: none !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-height: none !important;
	margin: 0 !important;
	padding: max(72px, env(safe-area-inset-top)) 24px max(38px, env(safe-area-inset-bottom)) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--dp-mobile-menu-background) !important;
	box-shadow: 0 0 54px rgba(0, 0, 0, .2) !important;
	color: var(--dp-mobile-menu-text) !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: transform var(--dp-mobile-menu-duration) cubic-bezier(.22, .61, .36, 1), opacity var(--dp-mobile-menu-duration) ease, visibility 0s linear var(--dp-mobile-menu-duration) !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.dp-mobile-menu__panel[data-dp-side="left"] { left: 0 !important; right: auto !important; transform: translate3d(-102%, 0, 0); }
.dp-mobile-menu__panel[data-dp-side="right"] { right: 0 !important; left: auto !important; transform: translate3d(102%, 0, 0); }

.dp-mobile-menu__panel[data-dp-style="fullscreen"] {
	left: 0 !important;
	right: 0 !important;
	width: 100vw !important;
	padding-inline: clamp(24px, 9vw, 120px) !important;
	transform: scale(.985);
}

.dp-mobile-menu__panel.is-dp-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0) scale(1);
	transition-delay: 0s !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) li {
	box-sizing: border-box;
	width: 100%;
	padding: 0 !important;
	list-style: none !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) li > a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 13px 52px 13px 13px !important;
	border: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--dp-mobile-menu-text) 13%, transparent) !important;
	background: transparent !important;
	color: var(--dp-mobile-menu-text) !important;
	font-size: clamp(16px, 2.5vw, 20px) !important;
	line-height: 1.35 !important;
	text-align: var(--dp-mobile-menu-align) !important;
	text-decoration: none !important;
	transition: color 160ms ease, background-color 160ms ease !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) li > a:hover,
.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) li > a:focus-visible,
.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) .current-menu-item > a,
.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) .current_page_item > a {
	color: var(--dp-mobile-menu-accent) !important;
	background: color-mix(in srgb, var(--dp-mobile-menu-text) 8%, transparent) !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) ul.sub-menu {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 4px 0 7px 16px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) ul.sub-menu[hidden] {
	display: none !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) ul.sub-menu a {
	font-size: clamp(14px, 2vw, 17px) !important;
	opacity: .88;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) .dp-mobile-submenu-toggle {
	top: 0 !important;
	color: var(--dp-mobile-menu-text) !important;
}

.dp-mobile-menu__panel[data-dp-style="fullscreen"] > li:not(.dp-mobile-menu-close-item) > a,
.dp-mobile-menu__panel[data-dp-style="fullscreen"] > li:not(.dp-mobile-menu-close-item) > div > a {
	font-size: clamp(20px, 5vw, 38px) !important;
	text-align: center !important;
}

.dp-mobile-menu-close-item {
	position: absolute !important;
	top: max(16px, env(safe-area-inset-top));
	inset-inline-end: max(16px, env(safe-area-inset-right));
	z-index: 5;
	display: none;
	width: auto !important;
}

.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) > .dp-mobile-menu-close-item { display: block; }

.dp-mobile-menu-close {
	display: grid;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--dp-mobile-menu-text) 22%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--dp-mobile-menu-text) 8%, transparent);
	color: var(--dp-mobile-menu-text);
	font: 300 30px/1 system-ui, sans-serif;
	cursor: pointer;
	appearance: none;
}

.dp-mobile-menu-close:hover,
.dp-mobile-menu-close:focus-visible { color: var(--dp-mobile-menu-accent); }
.dp-mobile-menu-close:focus-visible { outline: 3px solid var(--dp-mobile-menu-accent); outline-offset: 2px; }

.dp-mobile-menu-backdrop {
	position: fixed;
	inset: 0;
	z-index: 2147481000;
	display: block;
	border: 0;
	background: var(--dp-mobile-menu-backdrop);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--dp-mobile-menu-duration) ease, visibility 0s linear var(--dp-mobile-menu-duration);
}

.dp-mobile-menu-backdrop.is-dp-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.dp-mobile-menu-push-target {
	transition: transform var(--dp-mobile-menu-duration) cubic-bezier(.22, .61, .36, 1) !important;
	will-change: transform;
}

body.dp-mobile-menu-open.dp-mobile-menu-style-push.dp-mobile-menu-side-left .dp-mobile-menu-push-target {
	transform: translate3d(min(var(--dp-mobile-menu-width), calc(100vw - 24px)), 0, 0) !important;
}

body.dp-mobile-menu-open.dp-mobile-menu-style-push.dp-mobile-menu-side-right .dp-mobile-menu-push-target {
	transform: translate3d(calc(0px - min(var(--dp-mobile-menu-width), calc(100vw - 24px))), 0, 0) !important;
}

@supports not (color: color-mix(in srgb, #fff 50%, transparent)) {
	.dp-mobile-submenu-toggle:hover,
	.dp-mobile-submenu-toggle:focus-visible { background: rgba(255,255,255,.1); }
	.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]) li > a { border-bottom-color: rgba(255,255,255,.14) !important; }
	.dp-mobile-menu-close { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.08); }
}

@media (prefers-reduced-motion: reduce) {
	.dp-mobile-menu__panel,
	.dp-mobile-menu__panel[data-dp-style]:not([data-dp-style="native"]),
	.dp-mobile-menu-backdrop,
	.dp-mobile-menu-push-target,
	.dp-mobile-submenu-toggle::before,
	.dp-mobile-submenu-toggle::after { transition-duration: 1ms !important; }
}

@media print {
	.dp-mobile-menu-backdrop,
	.dp-mobile-menu-close-item,
	.dp-mobile-submenu-toggle { display: none !important; }
	.dp-mobile-menu__panel { position: static !important; transform: none !important; }
}
