/* FWS full-screen mobile menu (restyles the ElementsKit off-canvas menu on phones and tablets). */
/* desktop dropdown: wide enough that service names don't wrap */
@media (min-width: 1025px) {
	.elementskit-navbar-nav .elementskit-dropdown { min-width: 260px !important; }
	.elementskit-navbar-nav .elementskit-dropdown li a { white-space: nowrap; }
}

/* logos keep their natural proportions whatever file is in the slot */
.elementor-widget-image img[src*="logo" i], .elementor-widget-image img[src*="Logo"] { height: auto !important; width: auto !important; max-width: 100% !important; max-height: 110px; object-fit: contain !important; }
.elementskit-nav-logo img { max-height: 60px !important; width: auto !important; }

/* contact block only exists for the phone menu */
.fws-menu-contact { display: none; }

@media (max-width: 1024px) {
	/* bigger hamburger button */
	.elementskit-menu-hamburger { width: 56px !important; height: 52px !important; padding: 12px !important; }
	.elementskit-menu-hamburger .elementskit-menu-hamburger-icon { height: 3px !important; margin: 5px auto !important; }

	/* the sliding panel becomes a full-screen dark green sheet */
	.elementskit-menu-container.elementskit-menu-offcanvas-elements {
		width: 100% !important; max-width: 100% !important; height: 100% !important;
		background: #1D332B !important; padding: 24px 24px 32px !important; box-shadow: none !important;
		display: flex !important; flex-direction: column !important; overflow-y: auto !important;
	}
	.elementskit-menu-overlay { background: rgba(0, 0, 0, .35) !important; }

	/* close button top-right */
	.elementskit-menu-container .elementskit-nav-identity-panel { order: -1; display: flex !important; align-items: center; justify-content: flex-end; padding: 0 0 16px !important; border: 0 !important; min-height: 0 !important; }
	.elementskit-menu-container .elementskit-nav-identity-panel .elementskit-site-title { display: block !important; margin: 0 !important; }
	.elementskit-menu-container .elementskit-nav-identity-panel .elementskit-site-title img { max-height: 70px !important; width: auto !important; background: #fff; border-radius: 12px; padding: 6px; }
	.elementskit-menu-container .elementskit-menu-close {
		position: static !important; width: 48px !important; height: 48px !important; border-radius: 10px !important;
		background: #EF6E1F !important; color: #fff !important; font-size: 0 !important; border: 0 !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center;
	}
	.elementskit-menu-container .elementskit-menu-close::before { content: "\00d7"; font-size: 34px; line-height: 1; font-weight: 300; color: #fff; }

	/* the links: large, uppercase, full width, divided */
	.elementskit-menu-container ul.elementskit-navbar-nav { width: 100% !important; padding: 0 !important; margin: 0 !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav > li { border-bottom: 1px solid rgba(255, 255, 255, .28) !important; margin: 0 !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link {
		display: block !important; padding: 20px 0 !important; margin: 0 !important; background: transparent !important;
		color: #fff !important; font-family: "Poppins", Arial, sans-serif !important; font-size: 1.35rem !important; font-weight: 600 !important;
		text-transform: uppercase !important; letter-spacing: .02em !important; line-height: 1.3 !important;
	}
	.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link:hover,
	.elementskit-menu-container ul.elementskit-navbar-nav > li > a.ekit-menu-nav-link.active { color: #EF6E1F !important; background: transparent !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav > li.fws-mobile-only > a.ekit-menu-nav-link { color: #EF6E1F !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav > li.fws-mobile-only > a.ekit-menu-nav-link::after { content: " \2192"; }

	/* dropdown groups inside the phone menu */
	.elementskit-menu-container ul.elementskit-navbar-nav > li.menu-item-has-children > a.ekit-menu-nav-link { padding-right: 60px !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav .elementskit-dropdown-menu-toggle, .elementskit-menu-container ul.elementskit-navbar-nav .elementskit-submenu-indicator {
		position: absolute !important; right: 0 !important; top: 10px !important; width: 44px !important; height: 44px !important; border-radius: 8px !important;
		background: rgba(255,255,255,.08) !important; color: #fff !important; display: flex !important; align-items: center; justify-content: center;
	}
	.elementskit-menu-container ul.elementskit-navbar-nav > li { position: relative; }
	.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown { position: static !important; width: 100% !important; min-width: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 0 12px 18px !important; margin: 0 !important; border: 0 !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown li { border: 0 !important; }
	.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown li a {
		display: block !important; padding: 12px 0 !important; color: #C7C7C7 !important; font-family: "Poppins", Arial, sans-serif !important;
		font-size: 1.05rem !important; font-weight: 500 !important; text-transform: none !important; background: transparent !important; border: 0 !important;
	}
	.elementskit-menu-container ul.elementskit-navbar-nav ul.elementskit-dropdown li a:hover { color: #EF6E1F !important; }

	/* contact details pinned to the bottom (added by mobile-menu.js) */
	.fws-menu-contact { display: block; margin-top: auto; padding-top: 28px; color: #C7C7C7; font-family: "Poppins", Arial, sans-serif; font-size: .95rem; line-height: 1.7; }
	.fws-menu-contact a { color: #fff; font-weight: 600; text-decoration: none; display: block; margin-bottom: 6px; font-size: 1.05rem; }
	.fws-menu-contact a:hover { color: #EF6E1F; }
	.fws-menu-contact .fws-menu-note { font-size: .8rem; opacity: .75; margin-top: 10px; }
}
