.dvm-menu-shell {
	position: relative;
	z-index: 200000;
}

.dvm-menu-toggle {
	appearance: none;
	border: 0;
	border-radius: 12px;
	background: var(--dvm-hamburger-bg, #16244a);
	color: var(--dvm-hamburger-icon, #ffffff);
	width: var(--dvm-mobile-hamburger-size, 44px);
	height: var(--dvm-mobile-hamburger-size, 44px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	--dvm-toggle-icon-width: 20px;
	--dvm-toggle-icon-thickness: 2px;
	--dvm-toggle-icon-gap: 7px;
}

.dvm-menu-toggle-icon,
.dvm-menu-toggle-icon span {
	display: block;
	width: var(--dvm-toggle-icon-width);
	height: var(--dvm-toggle-icon-thickness);
	background: currentColor;
	position: relative;
	border-radius: 999px;
}

.dvm-menu-toggle-icon::before,
.dvm-menu-toggle-icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: var(--dvm-toggle-icon-width);
	height: var(--dvm-toggle-icon-thickness);
	background: currentColor;
	border-radius: 999px;
}

.dvm-menu-toggle-icon::before {
	top: calc(var(--dvm-toggle-icon-gap) * -1);
}

.dvm-menu-toggle-icon::after {
	top: var(--dvm-toggle-icon-gap);
}

.dvm-menu-toggle-desktop {
	width: var(--dvm-desktop-hamburger-size, 44px);
	height: var(--dvm-desktop-hamburger-size, 44px);
	background: var(--dvm-desktop-hamburger-bg, var(--dvm-hamburger-bg, #16244a));
	color: var(--dvm-desktop-hamburger-icon, var(--dvm-hamburger-icon, #ffffff));
	--dvm-toggle-icon-width: clamp(18px, calc(var(--dvm-desktop-hamburger-size, 44px) * 0.5), 42px);
	--dvm-toggle-icon-thickness: clamp(2px, calc(var(--dvm-desktop-hamburger-size, 44px) * 0.055), 4px);
	--dvm-toggle-icon-gap: clamp(5px, calc(var(--dvm-desktop-hamburger-size, 44px) * 0.16), 16px);
}

.dvm-menu-toggle-mobile {
	width: var(--dvm-mobile-hamburger-size, 44px);
	height: var(--dvm-mobile-hamburger-size, 44px);
	--dvm-toggle-icon-width: clamp(18px, calc(var(--dvm-mobile-hamburger-size, 44px) * 0.5), 42px);
	--dvm-toggle-icon-thickness: clamp(2px, calc(var(--dvm-mobile-hamburger-size, 44px) * 0.055), 4px);
	--dvm-toggle-icon-gap: clamp(5px, calc(var(--dvm-mobile-hamburger-size, 44px) * 0.16), 16px);
}

body.dvm-hamburger-icon-style-dynamic .dvm-menu-toggle-icon span {
	width: calc(var(--dvm-toggle-icon-width) * 0.68);
	margin-left: calc(var(--dvm-toggle-icon-width) * 0.16);
}

body.dvm-hamburger-icon-style-dynamic .dvm-menu-toggle-icon::before {
	width: calc(var(--dvm-toggle-icon-width) * 1);
	left: 0;
}

body.dvm-hamburger-icon-style-dynamic .dvm-menu-toggle-icon::after {
	width: calc(var(--dvm-toggle-icon-width) * 0.82);
	left: calc(var(--dvm-toggle-icon-width) * 0.1);
}

body.dvm-hamburger-icon-style-soft .dvm-menu-toggle-icon span {
	width: calc(var(--dvm-toggle-icon-width) * 0.9);
	margin-left: calc(var(--dvm-toggle-icon-width) * 0.05);
}

body.dvm-hamburger-icon-style-soft .dvm-menu-toggle-icon::before {
	width: calc(var(--dvm-toggle-icon-width) * 0.86);
	left: calc(var(--dvm-toggle-icon-width) * 0.08);
}

body.dvm-hamburger-icon-style-soft .dvm-menu-toggle-icon::after {
	width: calc(var(--dvm-toggle-icon-width) * 0.98);
	left: calc(var(--dvm-toggle-icon-width) * 0.01);
}

.dvm-menu-toggle-desktop,
.dvm-menu-toggle-mobile {
	display: none;
}

.dvm-menu-anchor {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

body.dvm-menu-open {
	overflow: hidden;
}

.dvm-menu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(10, 20, 40, 0.5);
	opacity: 0;
	transition: opacity 0.24s ease;
	pointer-events: none;
	z-index: 209997;
}

.dvm-menu-open .dvm-menu-overlay {
	opacity: 1;
	pointer-events: auto;
}

.dvm-menu-drawer {
	position: fixed;
	background: var(--dvm-mobile-bg, #16244a);
	color: var(--dvm-mobile-text, #ffffff);
	z-index: 209998;
	width: min(var(--dvm-desktop-sheet-width, 420px), 92vw);
	max-width: 92vw;
	max-height: 88vh;
	overflow: auto;
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
	transition: transform var(--dvm-drawer-animation-ms, 300ms) ease;
}

.dvm-menu-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.26);
}

.dvm-menu-drawer-title {
	font-size: 18px;
	font-weight: 700;
	color: inherit;
}

.dvm-menu-close {
	appearance: none;
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: transparent;
	color: inherit;
	width: 36px;
	height: 36px;
	border-radius: 6px;
	font-size: 24px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}

.dvm-menu-drawer-nav {
	padding: 0 0 10px;
}

.dvm-menu-list,
.dvm-menu-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dvm-menu-list > li {
	position: relative;
	overflow: hidden;
}

.dvm-menu-list > li::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 64px;
	width: 42px;
	height: 42px;
	transform: translateY(-50%);
	border-radius: 999px;
	pointer-events: none;
	z-index: 0;
	background-image: var(--dvm-menu-item-bg-image-1, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: var(--dvm-menu-item-bg-opacity, 0);
}

.dvm-menu-list > li:nth-child(even)::before {
	background-image: var(--dvm-menu-item-bg-image-2, var(--dvm-menu-item-bg-image-1, none));
}

.dvm-menu-list > li > a,
.dvm-menu-list .sub-menu a {
	display: block;
	color: inherit;
	font-family: var(--dvm-mobile-font-family, "Open Sans", sans-serif);
	font-size: var(--dvm-mobile-font-size, 22px);
	line-height: 1.3;
	padding: 11px 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	position: relative;
	z-index: 1;
}

.dvm-menu-list .menu-item-has-children > a {
	padding-right: 62px;
}

.dvm-menu-list .sub-menu a {
	font-size: calc(var(--dvm-mobile-font-size, 22px) - 2px);
	padding-left: 24px;
	color: var(--dvm-submenu-text, #ffffff);
}

.dvm-menu-list .sub-menu {
	background: var(--dvm-submenu-bg, #0f1f42);
}

.dvm-menu-list .menu-item-has-children {
	position: relative;
}

.dvm-submenu-toggle {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.66);
	background: var(--dvm-mobile-bg, #16244a);
	color: var(--dvm-mobile-text, #ffffff);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	padding: 0;
}

body.dvm-submenu-accordion-on .dvm-menu-list .menu-item-has-children > .sub-menu {
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--dvm-drawer-animation-ms, 300ms) ease;
}

body.dvm-submenu-accordion-on .dvm-menu-list .menu-item-open > .sub-menu {
	max-height: 2500px;
}

body.dvm-submenu-accordion-off .dvm-submenu-toggle {
	display: none;
}

.dvm-menu-list a:hover,
.dvm-menu-list a:focus {
	color: inherit;
	opacity: 1;
	background: rgba(255, 255, 255, 0.08);
}

.dvm-menu-drawer-extra {
	padding: 12px 14px 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.dvm-menu-drawer-intro {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	opacity: 0.92;
}

.dvm-menu-drawer-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dvm-drawer-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 16px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
}

.dvm-drawer-button-primary {
	background: #ff8a00;
	color: #ffffff;
}

.dvm-drawer-button-secondary {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.72);
}

@media (min-width: 850px) {
	body.dvm-desktop-mount-header_menu .top-bar .dvm-menu-anchor {
		display: none !important;
	}

	.header .header-nav-main .nav > li > a {
		color: var(--dvm-desktop-link, #223047);
		font-size: var(--dvm-desktop-font-size, 16px);
	}

	.header .header-nav-main .nav > li > a:hover {
		color: var(--dvm-desktop-hover, #0e4fa5);
	}

	.header .header-nav-main .nav > li.current-menu-item > a,
	.header .header-nav-main .nav > li.current_page_item > a,
	.header .header-nav-main .nav > li.active > a {
		color: var(--dvm-desktop-active, #0e4fa5);
	}

	body.dvm-desktop-hamburger-enabled .header .header-nav-main .nav {
		display: none !important;
	}

	body.dvm-desktop-hamburger-enabled .dvm-menu-toggle-desktop {
		display: inline-flex;
	}

	body.dvm-desktop-hamburger-enabled .dvm-menu-anchor {
		transform: translate(var(--dvm-desktop-hamburger-shift, 0px), var(--dvm-desktop-hamburger-shift-y, 0px));
	}

	body.dvm-desktop-hamburger-enabled .dvm-menu-drawer {
		max-height: none;
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-side .dvm-menu-drawer {
		top: var(--dvm-header-offset, 0px);
		height: calc(100vh - var(--dvm-header-offset, 0px));
		max-height: calc(100vh - var(--dvm-header-offset, 0px));
		border-radius: 0;
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-side.dvm-desktop-sheet-left .dvm-menu-drawer {
		left: 0;
		transform: translateX(-104%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-side.dvm-desktop-sheet-right .dvm-menu-drawer {
		right: 0;
		transform: translateX(104%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top .dvm-menu-drawer {
		top: var(--dvm-header-offset, 0px);
		left: 50%;
		right: auto;
		width: min(var(--dvm-desktop-sheet-width, 420px), calc(100vw - 48px));
		max-width: calc(100vw - 48px);
		max-height: calc(100vh - var(--dvm-header-offset, 0px));
		border-radius: 0 0 10px 10px;
		transform: translate(-50%, -102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom .dvm-menu-drawer {
		bottom: 0;
		left: 50%;
		right: auto;
		width: min(var(--dvm-desktop-sheet-width, 420px), calc(100vw - 48px));
		max-width: calc(100vw - 48px);
		max-height: 86vh;
		border-radius: 10px 10px 0 0;
		transform: translate(-50%, 102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top.dvm-desktop-sheet-left .dvm-menu-drawer {
		left: 24px;
		right: auto;
		transform: translate(0, -102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top.dvm-desktop-sheet-right .dvm-menu-drawer {
		right: 24px;
		left: auto;
		transform: translate(0, -102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom.dvm-desktop-sheet-left .dvm-menu-drawer {
		left: 24px;
		right: auto;
		transform: translate(0, 102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom.dvm-desktop-sheet-right .dvm-menu-drawer {
		right: 24px;
		left: auto;
		transform: translate(0, 102%);
	}

	body.dvm-desktop-hamburger-enabled.dvm-menu-open .dvm-menu-drawer {
		transform: translateX(0);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top.dvm-menu-open .dvm-menu-drawer,
	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom.dvm-menu-open .dvm-menu-drawer {
		transform: translate(-50%, 0);
	}

	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top.dvm-desktop-sheet-left.dvm-menu-open .dvm-menu-drawer,
	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-top.dvm-desktop-sheet-right.dvm-menu-open .dvm-menu-drawer,
	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom.dvm-desktop-sheet-left.dvm-menu-open .dvm-menu-drawer,
	body.dvm-desktop-hamburger-enabled.dvm-desktop-sheet-mode-bottom.dvm-desktop-sheet-right.dvm-menu-open .dvm-menu-drawer {
		transform: translate(0, 0);
	}
}

@media (max-width: 849px) {
	body.dvm-mobile-hamburger-enabled .dvm-menu-toggle-mobile {
		display: inline-flex;
	}

	body.dvm-mobile-hamburger-enabled .dvm-menu-toggle-mobile {
		transform: translate(var(--dvm-mobile-hamburger-shift-x, 0px), var(--dvm-mobile-hamburger-shift-y, 0px));
	}

	/* Verberg standaard Flatsome mobile menu icon als DVM mobile icon actief is. */
	body.dvm-mobile-hamburger-enabled .header .mobile-nav .menu-item a[aria-label="Menu"],
	body.dvm-mobile-hamburger-enabled .header .mobile-nav a[aria-label="Menu"],
	body.dvm-mobile-hamburger-enabled .header .mobile-nav a.mobile-nav-trigger,
	body.dvm-mobile-hamburger-enabled .header .mobile-nav .nav-icon a .icon-menu {
		display: none !important;
	}

	.dvm-menu-drawer {
		left: 50%;
		right: auto;
		margin: 0;
	}

	body.dvm-mobile-sheet-bottom .dvm-menu-drawer {
		bottom: 0;
		width: min(calc(var(--dvm-mobile-sheet-width-pct, 78) * 1vw), var(--dvm-mobile-sheet-max-width, 520px));
		max-width: calc(100vw - 44px);
		border-radius: 10px 10px 0 0;
		transform: translate(-50%, 102%);
	}

	body.dvm-mobile-sheet-bottom.dvm-menu-open .dvm-menu-drawer {
		transform: translate(-50%, 0);
	}

	body.dvm-mobile-sheet-bottom.dvm-mobile-sheet-side-left .dvm-menu-drawer {
		left: 22px;
		right: auto;
		transform: translate(0, 102%);
	}

	body.dvm-mobile-sheet-bottom.dvm-mobile-sheet-side-left.dvm-menu-open .dvm-menu-drawer {
		transform: translate(0, 0);
	}

	body.dvm-mobile-sheet-bottom.dvm-mobile-sheet-side-right .dvm-menu-drawer {
		right: 22px;
		left: auto;
		transform: translate(0, 102%);
	}

	body.dvm-mobile-sheet-bottom.dvm-mobile-sheet-side-right.dvm-menu-open .dvm-menu-drawer {
		transform: translate(0, 0);
	}

	body.dvm-mobile-sheet-top .dvm-menu-drawer {
		top: 0;
		width: min(calc(var(--dvm-mobile-sheet-width-pct, 78) * 1vw), var(--dvm-mobile-sheet-max-width, 520px));
		max-width: calc(100vw - 44px);
		border-radius: 0 0 10px 10px;
		transform: translate(-50%, -102%);
	}

	body.dvm-mobile-sheet-top.dvm-menu-open .dvm-menu-drawer {
		transform: translate(-50%, 0);
	}

	body.dvm-mobile-sheet-top.dvm-mobile-sheet-side-left .dvm-menu-drawer {
		left: 22px;
		right: auto;
		transform: translate(0, -102%);
	}

	body.dvm-mobile-sheet-top.dvm-mobile-sheet-side-left.dvm-menu-open .dvm-menu-drawer {
		transform: translate(0, 0);
	}

	body.dvm-mobile-sheet-top.dvm-mobile-sheet-side-right .dvm-menu-drawer {
		right: 22px;
		left: auto;
		transform: translate(0, -102%);
	}

	body.dvm-mobile-sheet-top.dvm-mobile-sheet-side-right.dvm-menu-open .dvm-menu-drawer {
		transform: translate(0, 0);
	}

	body.dvm-mobile-sheet-side .dvm-menu-drawer {
		top: 0;
		bottom: 0;
		max-height: none;
		width: min(92vw, 420px);
		border-radius: 0;
		left: 0;
	}

	body.dvm-mobile-sheet-side.dvm-mobile-sheet-side-left .dvm-menu-drawer {
		left: 0;
		right: auto;
		transform: translateX(-103%);
	}

	body.dvm-mobile-sheet-side.dvm-mobile-sheet-side-right .dvm-menu-drawer {
		right: 0;
		left: auto;
		transform: translateX(103%);
	}

	body.dvm-mobile-sheet-side.dvm-menu-open .dvm-menu-drawer {
		transform: translateX(0);
	}
}
