@media (max-width: 991px) {
	#nav-panel li.menu-item-has-children,
	.mobile-menu li.menu-item-has-children,
	.mobile-menu-wrapper li.menu-item-has-children {
		position: relative !important;
	}

	#nav-panel li.menu-item-has-children > a,
	.mobile-menu li.menu-item-has-children > a,
	.mobile-menu-wrapper li.menu-item-has-children > a {
		padding-left: 54px !important;
	}

	.bf-simple-arrow {
		position: absolute !important;
		left: 4px !important;
		top: 4px !important;
		width: 46px !important;
		height: 46px !important;
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		z-index: 20 !important;
		cursor: pointer !important;
		-webkit-tap-highlight-color: transparent !important;
		touch-action: manipulation !important;
	}

	.bf-simple-arrow::before {
		content: "" !important;
		position: absolute !important;
		left: 17px !important;
		top: 15px !important;
		width: 9px !important;
		height: 9px !important;
		border-right: 3px solid #07175c !important;
		border-bottom: 3px solid #07175c !important;
		transform: rotate(45deg) !important;
	}

	li.bf-simple-open > .bf-simple-arrow::before {
		transform: rotate(225deg) !important;
		top: 20px !important;
	}

	#nav-panel li.menu-item-has-children > ul.sub-menu,
	.mobile-menu li.menu-item-has-children > ul.sub-menu,
	.mobile-menu-wrapper li.menu-item-has-children > ul.sub-menu {
		display: none !important;
	}

	#nav-panel li.bf-simple-open > ul.sub-menu,
	.mobile-menu li.bf-simple-open > ul.sub-menu,
	.mobile-menu-wrapper li.bf-simple-open > ul.sub-menu {
		display: block !important;
	}

	#nav-panel li.menu-item-has-children > .arrow,
	#nav-panel li.menu-item-has-children > .open-child,
	#nav-panel li.menu-item-has-children > .sub-menu-toggle,
	.mobile-menu li.menu-item-has-children > .arrow,
	.mobile-menu li.menu-item-has-children > .open-child,
	.mobile-menu li.menu-item-has-children > .sub-menu-toggle,
	.mobile-menu-wrapper li.menu-item-has-children > .arrow,
	.mobile-menu-wrapper li.menu-item-has-children > .open-child,
	.mobile-menu-wrapper li.menu-item-has-children > .sub-menu-toggle {
		display: none !important;
	}

	/* Main menu toggle stays above the full-screen overlay. */
	.bf-main-toggle {
		position: relative !important;
		z-index: 2147483646 !important;
	}

	body.bf-menu-open .bf-main-toggle {
		position: fixed !important;
		left: var(--bf-toggle-left, 12px) !important;
		top: var(--bf-toggle-top, 12px) !important;
		width: var(--bf-toggle-width, 48px) !important;
		height: var(--bf-toggle-height, 48px) !important;
		margin: 0 !important;
		transform: none !important;
		z-index: 2147483646 !important;
	}

	body.bf-menu-open .bf-main-toggle i,
	body.bf-menu-open .bf-main-toggle svg,
	body.bf-menu-open .bf-main-toggle .porto-icon-bars,
	body.bf-menu-open .bf-main-toggle .fa-bars,
	body.bf-menu-open .bf-main-toggle .hamburger-box,
	body.bf-menu-open .bf-main-toggle .hamburger-inner {
		opacity: 0 !important;
		visibility: hidden !important;
	}

	body.bf-menu-open .bf-main-toggle::after {
		content: "×" !important;
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		font-family: Arial, sans-serif !important;
		font-size: 42px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		color: currentColor !important;
		pointer-events: none !important;
		z-index: 2147483647 !important;
	}

	html.bf-menu-open-html,
	body.bf-menu-open {
		overflow: hidden !important;
		overscroll-behavior: none !important;
	}

	/*
	 * Full viewport layer. The white background starts at the very top so it
	 * covers the page and every floating widget. Menu content starts below X.
	 */
	body.bf-menu-open #nav-panel {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		inset: 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: var(--bf-menu-content-top, 76px) 0 0 !important;
		box-sizing: border-box !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		background: #ffffff !important;
		transform: none !important;
		-webkit-transform: none !important;
		clip: auto !important;
		z-index: 2147483000 !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		touch-action: pan-y !important;
	}

	body.bf-menu-open #nav-panel > .container,
	body.bf-menu-open #nav-panel .mobile-nav-wrap,
	body.bf-menu-open #nav-panel .menu-wrap,
	body.bf-menu-open #nav-panel .mobile-menu {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		margin-top: 0 !important;
		box-sizing: border-box !important;
	}

	body.bf-menu-open #nav-panel > .container {
		padding-top: 0 !important;
		padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
	}

	body.bf-menu-open .mobile-menu-wrapper {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/* Hide all floating controls while menu is open. The X is the only control above it. */
	body.bf-menu-open .joinchat,
	body.bf-menu-open .joinchat__button,
	body.bf-menu-open .whatsapp,
	body.bf-menu-open .whatsapp-button,
	body.bf-menu-open .floating-whatsapp,
	body.bf-menu-open .call-button,
	body.bf-menu-open .phone-button,
	body.bf-menu-open .floating-button,
	body.bf-menu-open .floating-buttons,
	body.bf-menu-open .sticky-buttons,
	body.bf-menu-open .back-to-top,
	body.bf-menu-open #toTop,
	body.bf-menu-open .scroll-to-top,
	body.bf-menu-open .porto-sicon-box,
	body.bf-menu-open .accessibility,
	body.bf-menu-open .accessibility-button,
	body.bf-menu-open .accessibility-btn,
	body.bf-menu-open #accessibility,
	body.bf-menu-open [class*="accessibility"],
	body.bf-menu-open [id*="accessibility"],
	body.bf-menu-open [class*="whatsapp"],
	body.bf-menu-open [class*="floating"] {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	/* The actual menu button/X must never be hidden by broad selectors above. */
	body.bf-menu-open .bf-main-toggle,
	body.bf-menu-open .bf-main-toggle * {
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body.bf-menu-open .bf-main-toggle i,
	body.bf-menu-open .bf-main-toggle svg,
	body.bf-menu-open .bf-main-toggle .porto-icon-bars,
	body.bf-menu-open .bf-main-toggle .fa-bars,
	body.bf-menu-open .bf-main-toggle .hamburger-box,
	body.bf-menu-open .bf-main-toggle .hamburger-inner {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}


/* v1.4.1: dedicated close button, independent of Porto's hamburger state. */
@media (max-width: 991px) {
	body.bf-menu-open .bf-main-toggle {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	.bf-menu-close {
		display: none;
	}

	body.bf-menu-open .bf-menu-close {
		display: flex !important;
		position: fixed !important;
		left: max(12px, env(safe-area-inset-left)) !important;
		top: max(10px, env(safe-area-inset-top)) !important;
		width: 48px !important;
		height: 48px !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 0 0 3px !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		color: #3F655B !important;
		box-shadow: 0 2px 10px rgba(0,0,0,.12) !important;
		font-family: Arial, sans-serif !important;
		font-size: 40px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		text-align: center !important;
		cursor: pointer !important;
		z-index: 2147483647 !important;
		-webkit-tap-highlight-color: transparent !important;
		touch-action: manipulation !important;
	}

	body.bf-menu-open #nav-panel {
		padding-top: calc(max(10px, env(safe-area-inset-top)) + 62px) !important;
	}
}
