/* ITHERM Mobile Menu 1.11.1
 * Clean architecture:
 * - one widget root
 * - one trigger
 * - native <dialog> top layer
 * - no DOM portal, clone, wrapper relocation or MutationObserver
 */

.itherm-mobile-nav{
	--itherm-mm-panel:#fff;
	--itherm-mm-text:#17221d;
	--itherm-mm-active:#37871e;
	--itherm-mm-icon:#37871e;
	--itherm-mm-trigger:#37871e;
	--itherm-mm-brand-primary:#133a21;
	--itherm-mm-brand-secondary:#4a8f24;
	--itherm-mm-separator:#d9e2db;
	--itherm-mm-submenu:#f2f7ef;
	--itherm-mm-overlay:rgba(7,27,17,.44);
	--itherm-mm-cta-bg:#3f8e20;
	--itherm-mm-cta-text:#fff;
	--itherm-mm-width:min(86vw,390px);
	--itherm-mm-row:64px;
	--itherm-mm-icon-size:22px;
	--itherm-mm-item-gap:18px;
	--itherm-mm-logo-width:132px;
	--itherm-mm-pad-top:22px;
	--itherm-mm-pad-right:26px;
	--itherm-mm-pad-bottom:26px;
	--itherm-mm-pad-left:26px;
	position:relative;
	width:100%;
	max-width:none;
}

.itherm-mobile-nav--duplicate{display:none!important}

.itherm-mobile-nav-diagnostic{
	display:block;
	width:100%;
	padding:12px 16px;
	border:1px solid #d6e2d8;
	background:#f7faf7;
	color:#26422f;
	font-size:13px;
	line-height:1.4;
}

.itherm-mobile-nav--brand,
.itherm-mobile-nav--drawer-brand{
	--itherm-mm-panel:#347e20;
	--itherm-mm-text:#fff;
	--itherm-mm-active:#fff;
	--itherm-mm-icon:#fff;
	--itherm-mm-trigger:#fff;
	--itherm-mm-brand-primary:#fff;
	--itherm-mm-brand-secondary:#d9f1cb;
	--itherm-mm-separator:rgba(255,255,255,.23);
	--itherm-mm-submenu:rgba(9,61,27,.24);
	--itherm-mm-overlay:rgba(7,27,17,.52);
	--itherm-mm-cta-bg:#fff;
	--itherm-mm-cta-text:#245c17;
}

.itherm-mobile-nav__bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	min-height:76px;
	padding:12px 20px;
	background:#fff;
	border-bottom:1px solid #e5ebe7;
}

.itherm-mobile-nav--sticky-bar .itherm-mobile-nav__bar{
	position:sticky;
	top:0;
	z-index:20;
}

.itherm-mobile-nav__logo{
	display:inline-flex;
	flex-direction:column;
	line-height:.92;
	text-decoration:none;
}

.itherm-mobile-nav__logo--text{
	font-weight:900;
	letter-spacing:.015em;
}

.itherm-mobile-nav__logo-primary{
	color:var(--itherm-mm-brand-primary);
	font-size:22px;
}

.itherm-mobile-nav__logo-secondary{
	margin-top:5px;
	color:var(--itherm-mm-brand-secondary);
	font-size:11px;
	letter-spacing:.04em;
}

.itherm-mobile-nav__logo--image img{
	display:block;
	width:var(--itherm-mm-logo-width);
	max-height:56px;
	object-fit:contain;
	object-position:left center;
}

.itherm-mobile-nav__trigger,
.itherm-mobile-nav__close,
.itherm-mobile-nav__submenu-toggle{
	appearance:none;
	border:0;
	background:transparent;
	color:var(--itherm-mm-trigger);
	cursor:pointer;
}

.itherm-mobile-nav__trigger{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	padding:10px;
	flex:0 0 48px;
}

.itherm-mobile-nav__trigger--standalone{
	position:relative;
	margin-left:auto;
	background:#fff;
	border-radius:8px;
	box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.itherm-mobile-nav__trigger[hidden]{display:none!important}

.itherm-mobile-nav__burger{
	display:grid;
	gap:5px;
	width:27px;
}

.itherm-mobile-nav__burger i{
	display:block;
	width:100%;
	height:2px;
	background:currentColor;
	border-radius:99px;
}

/* Native browser top-layer surface. */
.itherm-mobile-nav__dialog{
	position:fixed;
	inset:0;
	width:100vw;
	height:100dvh;
	max-width:none;
	max-height:none;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	overflow:hidden;
}

.itherm-mobile-nav__dialog:not([open]){
	display:none;
}

.itherm-mobile-nav__dialog[open]{
	display:flex;
}

.itherm-mobile-nav--right .itherm-mobile-nav__dialog[open]{
	justify-content:flex-end;
}

.itherm-mobile-nav--left .itherm-mobile-nav__dialog[open]{
	justify-content:flex-start;
}

.itherm-mobile-nav__dialog::backdrop{
	background:var(--itherm-mm-overlay);
}

.itherm-mobile-nav__panel{
	display:flex;
	flex-direction:column;
	width:var(--itherm-mm-width);
	max-width:100%;
	height:100dvh;
	max-height:100dvh;
	padding:
		calc(var(--itherm-mm-pad-top) + env(safe-area-inset-top))
		var(--itherm-mm-pad-right)
		calc(var(--itherm-mm-pad-bottom) + env(safe-area-inset-bottom))
		var(--itherm-mm-pad-left);
	background:var(--itherm-mm-panel);
	color:var(--itherm-mm-text);
	overflow-y:auto;
	overscroll-behavior:contain;
	outline:0;
	box-shadow:-12px 0 44px rgba(12,38,23,.18);
	transform-origin:center right;
}

.itherm-mobile-nav--left .itherm-mobile-nav__panel{
	box-shadow:12px 0 44px rgba(12,38,23,.18);
	transform-origin:center left;
}

.itherm-mobile-nav--light .itherm-mobile-nav__panel,
.itherm-mobile-nav--brand .itherm-mobile-nav__panel{
	width:min(100%,430px);
}

.itherm-mobile-nav--drawer-light .itherm-mobile-nav__panel,
.itherm-mobile-nav--drawer-brand .itherm-mobile-nav__panel{
	width:var(--itherm-mm-width);
}

.itherm-mobile-nav__panel-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	min-height:58px;
	margin-bottom:18px;
}

.itherm-mobile-nav__close{
	position:relative;
	flex:0 0 44px;
	width:44px;
	height:44px;
	color:var(--itherm-mm-trigger);
}

.itherm-mobile-nav__close>span[aria-hidden=true]::before,
.itherm-mobile-nav__close>span[aria-hidden=true]::after{
	content:"";
	position:absolute;
	top:21px;
	left:10px;
	width:25px;
	height:2px;
	background:currentColor;
	border-radius:99px;
}

.itherm-mobile-nav__close>span[aria-hidden=true]::before{transform:rotate(45deg)}
.itherm-mobile-nav__close>span[aria-hidden=true]::after{transform:rotate(-45deg)}

.itherm-mobile-nav__nav{
	flex:1 1 auto;
	min-height:0;
}

.itherm-mobile-nav__list,
.itherm-mobile-nav__submenu{
	margin:0;
	padding:0;
	list-style:none;
}

.itherm-mobile-nav__item{
	margin:0;
	padding:0;
	border-bottom:1px solid var(--itherm-mm-separator);
}

.itherm-mobile-nav__row{
	display:flex;
	align-items:stretch;
	min-height:var(--itherm-mm-row);
}

.itherm-mobile-nav__link{
	display:flex;
	flex:1 1 auto;
	min-width:0;
	align-items:center;
	gap:var(--itherm-mm-item-gap);
	padding:11px 4px;
	color:var(--itherm-mm-text);
	font-size:15px;
	font-weight:750;
	line-height:1.25;
	text-decoration:none;
}

.itherm-mobile-nav__item.is-current>.itherm-mobile-nav__row>.itherm-mobile-nav__link,
.itherm-mobile-nav__link:hover,
.itherm-mobile-nav__link:focus-visible{
	color:var(--itherm-mm-active);
}

.itherm-mobile-nav__item-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 var(--itherm-mm-icon-size);
	width:var(--itherm-mm-icon-size);
	height:var(--itherm-mm-icon-size);
	color:var(--itherm-mm-icon);
	font-size:var(--itherm-mm-icon-size);
}

.itherm-mobile-nav__item-icon svg{
	width:100%;
	height:100%;
	fill:currentColor;
}

.itherm-mobile-nav__item-label{min-width:0}

.itherm-mobile-nav__submenu-toggle{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 46px;
	width:46px;
	color:var(--itherm-mm-text);
}

.itherm-mobile-nav__chevron{
	width:10px;
	height:10px;
	border-right:1.8px solid currentColor;
	border-bottom:1.8px solid currentColor;
	transform:rotate(45deg) translate(-2px,-2px);
}

.itherm-mobile-nav__item.is-open>.itherm-mobile-nav__row .itherm-mobile-nav__chevron{
	transform:rotate(225deg) translate(-1px,-1px);
}

.itherm-mobile-nav__submenu-wrap{
	margin:0 0 8px;
	padding:5px 12px 8px 44px;
	background:var(--itherm-mm-submenu);
	border-radius:4px;
}

.itherm-mobile-nav__submenu-wrap[hidden]{display:none!important}
.itherm-mobile-nav__submenu .itherm-mobile-nav__item{border-bottom:0}
.itherm-mobile-nav__submenu .itherm-mobile-nav__row{min-height:44px}

.itherm-mobile-nav__submenu .itherm-mobile-nav__link{
	position:relative;
	padding:8px 4px;
	font-size:13px;
	font-weight:600;
}

.itherm-mobile-nav__submenu .itherm-mobile-nav__link::before{
	content:"";
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--itherm-mm-active);
	margin-right:3px;
}

.itherm-mobile-nav__submenu .itherm-mobile-nav__item-icon{display:none}

.itherm-mobile-nav__cta-wrap{
	flex:0 0 auto;
	padding-top:22px;
}

.itherm-mobile-nav--sticky-cta .itherm-mobile-nav__cta-wrap{
	position:sticky;
	bottom:calc(-1 * var(--itherm-mm-pad-bottom));
	padding-bottom:var(--itherm-mm-pad-bottom);
	background:linear-gradient(180deg,transparent 0%,var(--itherm-mm-panel) 28%);
}

.itherm-mobile-nav__cta{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	min-height:58px;
	padding:12px 18px;
	background:var(--itherm-mm-cta-bg);
	color:var(--itherm-mm-cta-text);
	border-radius:4px;
	font-size:14px;
	font-weight:800;
	text-decoration:none;
	text-align:center;
}

.itherm-mobile-nav__cta:hover,
.itherm-mobile-nav__cta:focus-visible{
	color:var(--itherm-mm-cta-text);
	filter:brightness(.96);
	transform:translateY(-1px);
}

.itherm-mobile-nav__cta-icon{
	display:inline-flex;
	font-size:20px;
}

.itherm-mobile-nav__cta-icon svg{
	width:20px;
	height:20px;
	fill:currentColor;
}

.itherm-mobile-nav__trigger:focus-visible,
.itherm-mobile-nav__close:focus-visible,
.itherm-mobile-nav__submenu-toggle:focus-visible,
.itherm-mobile-nav__link:focus-visible,
.itherm-mobile-nav__cta:focus-visible{
	outline:3px solid #8dc85a;
	outline-offset:3px;
}


/* Only explicit Elementor Nav Menu toggles are suppressed. */
[data-itherm-mobile-legacy-hidden]{
	display:none!important;
	visibility:hidden!important;
	pointer-events:none!important;
}

html.itherm-mobile-nav-lock,
body.itherm-mobile-nav-lock{
	overflow:hidden!important;
	overscroll-behavior:none;
}


@media(min-width:768px){
	.itherm-mobile-nav--bp-767{display:none!important}
}

@media(min-width:1025px){
	.itherm-mobile-nav--bp-1024{display:none!important}
}

@media(min-width:1201px){
	.itherm-mobile-nav--bp-1200{display:none!important}
}

@media(max-width:479px){
	.itherm-mobile-nav{
		--itherm-mm-width:88vw;
		--itherm-mm-pad-right:20px;
		--itherm-mm-pad-left:20px;
		--itherm-mm-row:59px;
		--itherm-mm-item-gap:14px;
	}
	.itherm-mobile-nav__bar{
		min-height:70px;
		padding:10px 16px;
	}
	.itherm-mobile-nav__logo-primary{font-size:20px}
	.itherm-mobile-nav__logo-secondary{font-size:10px}
	.itherm-mobile-nav__link{font-size:14px}
}
