/* Product search box (JS: header-search.js). Two placements:
   - Header 101719, HTML widget .ec-hs-wrap: >=1025px always-visible box between nav and "Get quote";
     <=1024px an icon next to the menu toggle opens a row under the header.
   - .ec-hs--hero: large inline box (home page hero). Any element with class .ec-hs-primary (the hero box, the box on
     search template 102294) makes the header box/icon step aside while it is on screen ("yield", bottom of file). */
.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{flex:0 0 340px;width:340px;max-width:none} /* fixed width; the nav (flex-grow) takes the rest */
@media (min-width:1025px) and (max-width:1199px){.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{flex-basis:270px;width:270px}}
.ec-hs{position:relative;font-family:Roboto,sans-serif;color:#1C2233}
.ec-hs__box{position:relative;flex:1;min-width:0}
.ec-hs .ec-hs__form{display:flex;align-items:stretch;height:44px;margin:0;border:1.5px solid #CFD5DD;border-radius:6px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.ec-hs .ec-hs__form:focus-within{border-color:#253993;box-shadow:0 0 0 3px rgba(37,57,147,.14)}
.ec-hs__ico{display:flex;align-items:center;padding-left:12px;color:#8A94A3}
.ec-hs svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ec-hs input.ec-hs__input{flex:1;min-width:0;height:auto;margin:0;padding:0 10px;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:#1C2233;font:400 15px/1.2 Roboto,sans-serif;-webkit-appearance:none;appearance:none}
.ec-hs input.ec-hs__input::-webkit-search-cancel-button{display:none}
.ec-hs input.ec-hs__input::placeholder{color:#8A94A3;opacity:1}
.ec-hs button.ec-hs__clear{display:flex;align-items:center;margin:0;padding:0 10px;border:0;border-radius:0;background:transparent;color:#8A94A3;font:400 20px/1 Roboto,sans-serif;cursor:pointer}
.ec-hs button.ec-hs__clear:hover,.ec-hs button.ec-hs__clear:focus{background:transparent;color:#1C2233}
.ec-hs button.ec-hs__clear[hidden]{display:none}
.ec-hs button.ec-hs__submit{margin:0;padding:0 18px;border:0;border-radius:0;background:#253993;color:#fff;font:700 14px/1 Roboto,sans-serif;letter-spacing:.02em;text-transform:none;cursor:pointer;transition:background .15s}
.ec-hs button.ec-hs__submit:hover,.ec-hs button.ec-hs__submit:focus{background:#1A2A70;color:#fff}

/* Dropdown */
.ec-hs__drop{position:absolute;top:50px;left:0;right:0;z-index:120;max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #E1E5EB;border-radius:8px;box-shadow:0 12px 32px rgba(28,34,51,.14);text-align:left}
.ec-hs__drop[hidden]{display:none}
.ec-hs__label{margin:0 0 10px;color:#8A94A3;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ec-hs__pop{padding:14px 16px 16px}
.ec-hs__chips{display:flex;flex-wrap:wrap;gap:8px}
.ec-hs button.ec-hs__chip{margin:0;padding:6px 12px;border:1px solid #D5DAE1;border-radius:999px;background:#F6F7F9;color:#1C2233;font:400 13px/1.3 Roboto,sans-serif;letter-spacing:normal;text-transform:none;cursor:pointer}
.ec-hs button.ec-hs__chip:hover,.ec-hs button.ec-hs__chip:focus{border-color:#253993;background:#F6F7F9;color:#1C2233}
.ec-hs__list{margin:0;padding:6px 0;list-style:none}
.ec-hs a.ec-hs__item{display:flex;align-items:center;gap:12px;padding:8px 16px;color:#1C2233;text-decoration:none}
.ec-hs a.ec-hs__item:hover,.ec-hs a.ec-hs__item.is-active{background:#F3F5F8;color:#1C2233}
.ec-hs__item img{flex-shrink:0;width:44px;height:44px;object-fit:contain;border:1px solid #EEF0F3;border-radius:4px;background:#fff}
.ec-hs__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ec-hs__name{overflow:hidden;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}
.ec-hs__cat{color:#6B7684;font-size:12px;line-height:1.3}
.ec-hs a.ec-hs__all{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #EEF0F3;background:#F8F9FB;color:#253993;font-size:14px;font-weight:600;text-decoration:none}
.ec-hs a.ec-hs__all:hover,.ec-hs a.ec-hs__all.is-active{background:#EEF1FA;color:#253993}
.ec-hs__all span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ec-hs__none{display:flex;flex-direction:column;gap:10px;padding:16px;font-size:14px;line-height:1.5}
.ec-hs a.ec-hs__finder{align-self:flex-start;color:#253993;font-weight:700;text-decoration:none}
.ec-hs a.ec-hs__finder:hover{color:#1A2A70;text-decoration:underline}
.ec-hs__msg{padding:14px 16px;color:#6B7684;font-size:14px}

/* Icon toggle + Cancel exist only in the header, below desktop */
.ec-hs button.ec-hs__toggle,.ec-hs button.ec-hs__cancel{display:none}

@media (max-width:1024px){
	.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{flex:0 0 auto;width:auto;min-width:0;max-width:none}
	/* The open row is positioned against the header bar, so nothing in between may be positioned */
	.elementor-widget.ec-hs-wrap,.ec-hs-wrap>.elementor-widget-container,.ec-hs-wrap .ec-hs{position:static}
	.ec-hs-wrap .ec-hs button.ec-hs__toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:4px;background:#EEF1FA;color:#1C2233;cursor:pointer}
	.ec-hs-wrap .ec-hs button.ec-hs__toggle:hover,.ec-hs-wrap .ec-hs button.ec-hs__toggle:focus-visible,.ec-hs-wrap .ec-hs.is-open button.ec-hs__toggle{background:#DCE1F3;color:#253993}
	.ec-hs-wrap .ec-hs__toggle svg{width:22px;height:22px}
	.ec-hs-wrap .ec-hs__panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:110;align-items:center;gap:10px;padding:12px 24px;background:#fff;border-bottom:1px solid #E6E8EC;box-shadow:0 8px 16px rgba(28,34,51,.08)}
	.ec-hs-wrap .ec-hs.is-open .ec-hs__panel{display:flex}
	.ec-hs-wrap .ec-hs button.ec-hs__cancel{display:block;height:44px;margin:0;padding:0 2px;border:0;background:transparent;color:#4A5563;font:600 14px/1 Roboto,sans-serif;letter-spacing:normal;text-transform:none;cursor:pointer}
	.ec-hs-wrap .ec-hs button.ec-hs__cancel:hover,.ec-hs-wrap .ec-hs button.ec-hs__cancel:focus{background:transparent;color:#1C2233}
	.ec-hs-wrap .ec-hs__drop{max-height:calc(100vh - 200px)}
}
@media (max-width:767px){
	.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{order:99998} /* next to the menu toggle, which Elementor moves to the end (99999) */
	.ec-hs-wrap .ec-hs__panel{padding:12px 16px}
	.ec-hs-wrap .ec-hs button.ec-hs__toggle{width:33px;height:33px} /* same box as the menu toggle */
	.ec-hs-wrap .ec-hs__toggle svg{width:20px;height:20px}
	.ec-hs input.ec-hs__input{font-size:16px} /* below 16px iOS zooms the page on focus */
	.ec-hs button.ec-hs__submit{padding:0 14px}
}

/* Hero variant (home page 26657): keeps the old Elementor search box's size, shadow and green button */
.ec-hs--hero .ec-hs__panel{display:block}
.ec-hs--hero .ec-hs__form{height:54px;border-color:#fff;box-shadow:0 6px 18px rgba(28,34,51,.12)}
.ec-hs--hero .ec-hs__form:focus-within{border-color:#2B8800;box-shadow:0 6px 18px rgba(28,34,51,.12),0 0 0 3px rgba(43,136,0,.18)}
.ec-hs--hero .ec-hs__ico{padding-left:16px}
.ec-hs--hero svg{width:20px;height:20px}
.ec-hs--hero input.ec-hs__input{padding:0 12px;font-size:16px}
.ec-hs--hero button.ec-hs__submit{padding:0 30px;background:#2B8800;font-size:16px}
.ec-hs--hero button.ec-hs__submit:hover,.ec-hs--hero button.ec-hs__submit:focus{background:#226C00}
.ec-hs--hero .ec-hs__drop{top:60px}
@media (max-width:767px){
	.ec-hs--hero .ec-hs__form{height:50px}
	.ec-hs--hero .ec-hs__ico{padding-left:12px}
	.ec-hs--hero button.ec-hs__submit{padding:0 18px}
	.ec-hs--hero .ec-hs__drop{top:56px}
}

/* Yield: while an .ec-hs-primary box is on screen the header box (desktop) / icon (mobile) folds away so the page shows
   one search box. JS sets .is-yield; before JS has run, :has() gives the same state so the header does not flash. */
.ec-hs-wrap{--ec-hs-gap:24px}
.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{transition:flex-basis .25s ease,width .25s ease,margin .25s ease,opacity .2s ease,visibility 0s linear 0s}
.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap.is-yield,
html:not(.ec-hs-ready) body:has(.ec-hs-primary) .e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{flex-basis:0;width:0;min-width:0;margin-left:calc(-1 * var(--ec-hs-gap));opacity:0;visibility:hidden;overflow:hidden;transition:flex-basis .25s ease,width .25s ease,margin .25s ease,opacity .2s ease,visibility 0s linear .25s}
@media (max-width:1024px){.ec-hs-wrap{--ec-hs-gap:16px}}
@media (max-width:767px){.ec-hs-wrap{--ec-hs-gap:8px}}
@media (prefers-reduced-motion:reduce){.e-con>.e-con-inner>.elementor-widget.ec-hs-wrap{transition:none!important}}

/* Narrow phones: logo + GET QUOTE + search icon + menu toggle must fit in one row (the icon added 41px; at 360px the
   menu toggle stuck out 9px and the page could be dragged sideways). Shrink the logo, drop the button's arrow. */
@media (max-width:400px){
	body .elementor-101719 .elementor-element.elementor-element-d491686e img{width:116px}
	body .elementor-101719 .elementor-element.elementor-element-028f1b21 .elementor-button-icon{display:none}
	body .elementor-101719 .elementor-element.elementor-element-028f1b21 .elementor-button{padding:10px 12px}
}
@media (max-width:340px){
	body .elementor-101719 .elementor-element.elementor-element-d491686e img{width:100px}
	body .elementor-101719 .elementor-element.elementor-element-3fce847a{--padding-left:12px;--padding-right:12px}
}
