/**
 * Burger Menu public CSS — aligned with Flyout Menu Awesome Pro / Codrops mlPushMenu.
 */

body.bm-menu-open {
	overflow: hidden;
}

.flyout-container.bm-root {
	position: relative;
	z-index: 99990;
}

.bm-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s, visibility 0.3s;
	z-index: 99991;
}

.bm-root.is-open .bm-overlay,
.mp-pusher.mp-pushed ~ .bm-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Trigger — floating, outside transform flow */
.bm-trigger,
.btn-activate-flyout-tgt {
	position: fixed;
	z-index: 99994;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--bm-btn-text-space, 10px);
	padding: var(--bm-btn-pad-v, 25px) var(--bm-btn-pad-h, 40px);
	border: 0;
	outline: none;
	cursor: pointer;
	border-radius: var(--bm-btn-radius, 77px);
	background: var(--bm-btn-bg, transparent);
	color: var(--bm-btn-color, #fff);
	font-size: var(--bm-btn-text-size, 14px);
	font-weight: var(--bm-btn-text-weight, normal);
	line-height: 1;
	transition: color 0.25s, background 0.25s;
	text-decoration: none;
}

.bm-trigger:hover,
.bm-trigger:focus {
	color: var(--bm-btn-hover, #d48c2c);
	background: var(--bm-btn-bg-hover, transparent);
}

.bm-trigger.top-right {
	top: var(--bm-btn-mt, 20px);
	right: var(--bm-btn-mr, 20px);
}

.bm-trigger.top-left {
	top: var(--bm-btn-mt, 20px);
	left: var(--bm-btn-ml, 20px);
}

.bm-trigger.bottom-right {
	bottom: var(--bm-btn-mb, 20px);
	right: var(--bm-btn-mr, 20px);
}

.bm-trigger.bottom-left {
	bottom: var(--bm-btn-mb, 20px);
	left: var(--bm-btn-ml, 20px);
}

.scroller,
.scroller-inner {
	position: relative;
}

.mp-pusher {
	position: relative;
	left: 0;
	height: 0; /* don't reserve layout space; menu is fixed */
}

/* ---- Menu panel (300px like reference) ---- */
.mp-menu {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99992;
	width: var(--bm-panel-width, 300px);
	max-width: 90vw;
	height: 100%;
	height: 100dvh;
	background-color: var(--bm-bg, #4d4d4d);
	background-image: var(--bm-bg-image, none);
	background-size: var(--bm-bg-size, cover);
	background-repeat: var(--bm-bg-repeat, no-repeat);
	background-position: var(--bm-bg-position, center);
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
	-webkit-transition: transform 0.5s;
	transition: transform 0.5s;
	/* IMPORTANT: do NOT clip — layout-4 subpanels slide outside */
	overflow: visible;
}

.bm-root.is-open .mp-menu,
.mp-pusher.mp-pushed .mp-menu {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.mp-level {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--bm-bg, #4d4d4d);
	background-image: var(--bm-bg-image, none);
	background-size: var(--bm-bg-size, cover);
	background-repeat: var(--bm-bg-repeat, no-repeat);
	background-position: var(--bm-bg-position, center);
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
	z-index: 1;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* Cover: submenu stacks inside the same panel */
.mp-cover .mp-level.mp-level-open {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	overflow-x: hidden;
	overflow-y: auto;
}

.mp-cover .mp-level.mp-level-open > .flyout-menus > .low > .mp-level:not(.mp-level-open) {
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

.mp-level .mp-level {
	background-color: var(--bm-submenu-bg, #3a3a3a);
	background-image: none;
}

/* overlays */
.mp-level::after,
.mp-level::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	content: "";
	opacity: 0;
}

.mp-level::after {
	background: rgba(0, 0, 0, 0.3);
	z-index: -1;
	transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
}

.mp-level.mp-level-overlay::after {
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: opacity 0.3s;
}

.mp-level.mp-level-overlay {
	cursor: pointer;
}

.mp-level.mp-level-overlay::before {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	opacity: 1;
}

/* overlap — 40px peek */
.mp-overlap .mp-level.mp-level-open {
	box-shadow: 1px 0 2px rgba(0, 0, 0, 0.2);
	-webkit-transform: translate3d(-40px, 0, 0);
	transform: translate3d(-40px, 0, 0);
}

.mp-menu > .mp-level,
.mp-menu > .mp-level.mp-level-open,
.mp-menu.mp-overlap > .mp-level,
.mp-menu.mp-overlap > .mp-level.mp-level-open {
	box-shadow: none;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* ---- Menu items (reference styles) ---- */
.flyout-menus {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	box-sizing: border-box;
	position: relative;
}

/* Submenu panels (OvS-style): vertically centered, no back header */
.mp-level .mp-level > .flyout-menus {
	justify-content: center;
	align-items: stretch;
	padding: 0;
	text-align: left;
	min-height: 100%;
	height: 100%;
	box-sizing: border-box;
}

.mp-level .mp-level > .flyout-menus > .mp-back {
	display: none !important;
}

.mp-level .mp-level > .flyout-menus > .low {
	width: 100%;
	border-bottom: none;
}

.mp-level .mp-level .flyout-menus .low a {
	padding: 14px 40px;
	text-align: left;
	background-color: var(--bm-sub-item-bg, transparent);
	box-shadow: inset 0 calc(-1 * var(--bm-item-border-width, 0)) var(--bm-submenu-border, transparent);
}

.mp-level .mp-level .flyout-menus .low a span {
	display: inline;
	width: auto;
	text-align: left;
}

.mp-level .mp-level .flyout-menus .low.has-sub-menu .djan a:before,
.mp-level .mp-level .flyout-menus .low.menu-item-has-children .djan a:before {
	left: auto;
	right: 20px;
	border-left: 0;
	border-top: 2px solid var(--bm-arrow-color, #fff);
	border-right: 2px solid var(--bm-arrow-color, #fff);
	transform: translateY(-50%) rotate(45deg);
}

.flyout-logo-head {
	padding: 3em 1.5em;
	text-align: center;
}

.flyout-logo-head a.bm-logo-link {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.flyout-logo-head img,
.flyout-logo-head a.bm-logo-link img {
	max-width: 120px;
	height: auto;
	display: block;
}

.flyout-site-title {
	margin: 0;
	color: var(--bm-font-color, #fff);
	font-size: 1.25rem;
}

.mp-menu .flyout-menus .low a {
	display: block;
	padding: 15px 20px 15px 50px;
	outline: none;
	background-color: var(--bm-item-bg, transparent);
	box-shadow: inset 0 calc(-1 * var(--bm-item-border-width, 0)) var(--bm-border-color, transparent);
	font-size: var(--bm-font-size, 13px);
	font-weight: var(--bm-font-weight, normal);
	line-height: var(--bm-line-height, 2);
	color: var(--bm-font-color, #fff);
	text-decoration: none;
	cursor: pointer;
	transition: color 0.3s, background 0.3s, box-shadow 0.3s;
	position: relative;
}

.mp-menu .flyout-menus .low a:hover {
	color: var(--bm-font-hover, #d48c2c);
	background-color: var(--bm-item-bg-hover, transparent);
}

.mp-menu .flyout-menus .low.active-menu > .djan a,
.mp-menu .flyout-menus .low.current-menu-item > .djan a,
.mp-menu .flyout-menus .low.current_page_item > .djan a {
	background-color: var(--bm-item-bg-active, transparent);
}

/* Hover wins on active / submenu-parent items too */
.mp-menu .flyout-menus .low > .djan a:hover,
.mp-menu .flyout-menus .low > .djan a:focus,
.mp-menu .flyout-menus .low.active-menu > .djan a:hover,
.mp-menu .flyout-menus .low.active-menu > .djan a:focus,
.mp-menu .flyout-menus .low.current-menu-item > .djan a:hover,
.mp-menu .flyout-menus .low.current_page_item > .djan a:hover,
.mp-menu .flyout-menus .low.has-sub-menu > .djan a:hover,
.mp-menu .flyout-menus .low.menu-item-has-children > .djan a:hover,
.mp-menu .flyout-menus .low.active-menu.has-sub-menu > .djan a:hover,
.mp-menu .flyout-menus .low.active-menu.menu-item-has-children > .djan a:hover {
	color: var(--bm-font-hover, #d48c2c) !important;
	background-color: var(--bm-item-bg-hover, transparent) !important;
}

.mp-menu .flyout-menus .low > .djan a:hover span,
.mp-menu .flyout-menus .low > .djan a:focus span,
.mp-menu .flyout-menus .low.active-menu > .djan a:hover span,
.mp-menu .flyout-menus .low.has-sub-menu > .djan a:hover span,
.mp-menu .flyout-menus .low.menu-item-has-children > .djan a:hover span {
	color: var(--bm-font-hover, #d48c2c) !important;
}

.mp-level .mp-level .flyout-menus .low a:hover,
.mp-level .mp-level .flyout-menus .low.active-menu > .djan a:hover,
.mp-level .mp-level .flyout-menus .low.has-sub-menu > .djan a:hover,
.mp-level .mp-level .flyout-menus .low.menu-item-has-children > .djan a:hover {
	color: var(--bm-font-hover, #d48c2c) !important;
	background-color: var(--bm-sub-item-bg-hover, transparent) !important;
}

.mp-level .mp-level .flyout-menus .low > .djan a:hover span {
	color: var(--bm-font-hover, #d48c2c) !important;
}

.mp-menu .flyout-menus .low a span {
	display: inline-block;
	cursor: pointer;
	color: inherit;
}

.mp-level.mp-level-overlay > .flyout-menus > .low > .djan > a {
	box-shadow: none;
}

.mp-menu .flyout-menus .low.has-sub-menu > .djan a:hover:before,
.mp-menu .flyout-menus .low.menu-item-has-children > .djan a:hover:before,
.mp-menu .flyout-menus .low.active-menu.has-sub-menu > .djan a:hover:before,
.mp-menu .flyout-menus .low.active-menu.menu-item-has-children > .djan a:hover:before {
	border-color: var(--bm-font-hover, #d48c2c);
}

.mp-menu .flyout-menus .low.has-sub-menu .djan a,
.mp-menu .flyout-menus .low.menu-item-has-children .djan a {
	position: relative;
}

.mp-menu .flyout-menus .low.has-sub-menu .djan a:before,
.mp-menu .flyout-menus .low.menu-item-has-children .djan a:before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 0.4em;
	height: 0.4em;
	border-top: 2px solid var(--bm-arrow-color, #fff);
	border-left: 2px solid var(--bm-arrow-color, #fff);
	transform: translateY(-50%) rotate(-45deg);
	opacity: 0.7;
}

.mp-menu .flyout-menus .low.has-sub-menu .low:not(.has-sub-menu) a:before,
.mp-menu .flyout-menus .low.menu-item-has-children .low:not(.menu-item-has-children) a:before {
	display: none;
}

.mp-menu .flyout-menus a.mp-back {
	display: block;
	padding: 10px 20px 10px 40px;
	font-size: 16px;
	position: relative;
	color: var(--bm-font-color, #fff);
	text-decoration: none;
	cursor: pointer;
}

.mp-menu .flyout-menus .mp-back::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 0.4em;
	height: 0.4em;
	border-top: 2px solid var(--bm-arrow-color, #fff);
	border-right: 2px solid var(--bm-arrow-color, #fff);
	transform: translateY(-50%) rotate(45deg);
	opacity: 0.7;
}

.icon-display {
	position: absolute;
	top: 10px;
	right: 8px;
	opacity: 0;
	pointer-events: none;
}

.mp-overlap .mp-level.mp-level-overlay .icon-display {
	opacity: 1;
}

.info-web-wrap {
	margin-top: auto;
	padding: 24px;
	text-align: center;
}

.social-wrap-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 16px;
}

.social-wrap-menu .social-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--bm-info-icon-bg, #d48c2c);
	color: var(--bm-info-icon, #fff);
	font-size: var(--bm-icon-size, 14px);
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.social-wrap-menu .social-item a:hover {
	background: var(--bm-info-icon-bg-hover, #c47a1a);
	color: var(--bm-info-icon-hover, #fff);
}

.copyright-text {
	color: var(--bm-info-text, #fff);
	font-size: 12px;
	line-height: 1.5;
}

.bm-no-menu {
	padding: 20px 24px;
	color: var(--bm-font-color, #fff);
	opacity: 0.7;
}

/* ---- Layout-4 Slide Right (fly-style-opat) ---- */
/* Parent levels must NOT clip — submenu sits at translateX(100%) outside the 300px panel */
.fly-style-opat .mp-menu,
.fly-style-opat .mp-menu > .mp-level,
.fly-style-opat .mp-level.mp-level-open {
	overflow: visible !important;
}

.fly-style-opat .mp-level .mp-level {
	transform: translate3d(0, 0, 0) !important;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow-x: hidden;
	overflow-y: auto;
}

.fly-style-opat .mp-level .mp-level.mp-level-open {
	transform: translate3d(100%, 0, 0) !important;
	z-index: 10;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	box-shadow: -2px 0 16px rgba(0, 0, 0, 0.3);
	background-color: var(--bm-submenu-bg, #3a3a3a);
	width: 100%;
	height: 100%;
}

.fly-style-opat .mp-level .mp-level .flyout-logo-head {
	opacity: 0;
}

.fly-style-opat .mp-menu .flyout-menus .low.has-sub-menu .djan a:before,
.fly-style-opat .mp-menu .flyout-menus .low.menu-item-has-children .djan a:before {
	left: auto;
	right: 20px;
	border-top: 2px solid var(--bm-arrow-color, #fff);
	border-right: 2px solid var(--bm-arrow-color, #fff);
	border-left: 0;
	transform: translateY(-50%) rotate(45deg);
}

.fly-style-opat .mp-menu a.mp-back {
	position: absolute;
	left: -50px;
	top: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	z-index: 5;
}

.fly-style-opat .mp-menu a.mp-back::before {
	content: "";
	position: absolute;
	width: 2px;
	height: 25px;
	background: rgba(255, 255, 255, 0.7);
	transform: rotate(-45deg);
	border-radius: 2px;
}

.fly-style-opat .mp-menu a.mp-back::after {
	content: "";
	position: absolute;
	left: 19px;
	top: 7px;
	width: 2px;
	height: 25px;
	background: rgba(255, 255, 255, 0.7);
	transform: rotate(45deg);
	border-radius: 2px;
	right: auto;
	border: 0;
}

/* ---- Layout-5 / 6 accordion ---- */
.fly-style-lima .mp-level .mp-level,
.fly-style-genep .mp-level .mp-level {
	position: relative;
	transform: none !important;
	max-height: 0;
	overflow: hidden;
	opacity: 1;
	z-index: 1;
	transition: max-height 0.35s ease;
	background-color: var(--bm-submenu-bg, #3a3a3a);
}

.fly-style-lima .mp-level .mp-level.mp-level-open,
.fly-style-genep .mp-level .mp-level.mp-level-open {
	max-height: 80vh;
}

/* Hide any leftover back controls in nested levels */
.mp-level .mp-level .mp-back,
.fly-style-hiji .mp-back,
.fly-style-dua .mp-level .mp-level .mp-back,
.fly-style-tilu .mp-level .mp-level .mp-back,
.fly-style-opat .mp-level .mp-level .mp-back,
.fly-style-lima .mp-back,
.fly-style-genep .mp-back {
	display: none !important;
}

/* layout-4: empty visual back (unused — kept for BC) */
.fly-style-opat .mp-back {
	display: none !important;
}

.fly-style-lima .mp-menu .flyout-menus .low.has-sub-menu .djan a:before,
.fly-style-lima .mp-menu .flyout-menus .low.menu-item-has-children .djan a:before,
.fly-style-genep .mp-menu .flyout-menus .low.has-sub-menu .djan a:before,
.fly-style-genep .mp-menu .flyout-menus .low.menu-item-has-children .djan a:before {
	left: auto;
	right: 20px;
	border-top: 2px solid var(--bm-arrow-color, #fff);
	border-right: 2px solid var(--bm-arrow-color, #fff);
	border-left: 0;
	transform: translateY(-50%) rotate(135deg);
}

.fly-style-lima .low.active-menu > .djan a:before,
.fly-style-genep .low.active-menu > .djan a:before {
	transform: translateY(-50%) rotate(-45deg);
}

.fly-style-genep .flyout-menus .flyout-menus .low a {
	padding-left: 60px;
}

.fly-style-genep .low.active-menu > .djan a {
	background: rgba(255, 255, 255, 0.08);
}
