/* ============================================================
   Sticky header compact mode (header template #209)
   header-sticky.js toggles .shab-header-compact on the sticky
   container (cc7418d) once the page is scrolled (on at 100px,
   off again at 40px), so at the very top of the page the
   original header is always shown. Rules below restyle the
   compact state only.
   :not(.elementor-sticky__spacer) keeps Elementor's sticky
   layout-spacer clone at its original size so the content
   below the header does not jump.
   ============================================================ */

/* ---------- Nav menu render delay fix (all widths) ----------
   The jet-mega-menu widget has a fadeIn entrance animation
   ("_animation":"fadeIn"), which keeps it invisible until
   Elementor's waypoint JS kicks in - the menu appeared with a
   delay on page load. Show it immediately and skip the fade. */
.elementor-209 .elementor-element.elementor-element-d40527b.elementor-invisible {
	/* inherit (not visible): inside the hidden sticky spacer clone the
	   menu must stay hidden, everywhere else the parent is visible */
	visibility: inherit;
}
.elementor-209 .elementor-element.elementor-element-d40527b {
	animation: none !important;
	opacity: 1 !important;
}

/* Elementor's sticky layout spacer is a full clone of the header and
   must never be seen; without this, rules that force visibility on
   descendants (menu above, the site's own mobile search rule) leak
   a ghost copy of the nav row into view while scrolling. */
.elementor-sticky__spacer,
.elementor-sticky__spacer * {
	visibility: hidden !important;
}

/* ---------- Desktop (>=1025px): collapse the header into the
   nav row alone: logo on the right, menu in the middle, search
   on the left (RTL site - DOM order logo > menu, with the
   search forced to the flex end, gives that arrangement once
   wrapping is disabled). */
@media (min-width: 1025px) {

	/* hide everything above the nav row: social icons row + heading */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-fae8254,
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-68fe67f {
		display: none;
	}

	/* logo/menu/search container becomes one tight non-wrapping row */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) {
		--margin-bottom: 0px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-201cc97 {
		--flex-wrap: nowrap;
		--align-items: center;
		--justify-content: space-between;
		--gap: 0px 12px;
		--row-gap: 0px;
		--column-gap: 12px;
		--padding-top: 4px;
		--padding-bottom: 4px;
		/* keep the logo clear of the fixed UserWay button (top-right) */
		--padding-right: 60px;
	}

	/* logo: shrink and pin to the start (right in RTL) of the nav row */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 {
		width: auto;
		max-width: none;
		flex-grow: 0;
		flex-shrink: 0;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 85px;
	}

	/* menu: share the row, never wrap. Items must not shrink -
	   otherwise the dropdown arrows wrap under the item text and
	   jet-menu's roll-up width math (live outerWidth) goes wrong. */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b {
		min-width: 0;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b ul.jet-menu {
		flex-wrap: nowrap;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b ul.jet-menu > .jet-menu-item {
		flex-shrink: 0;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu-item-wrapper {
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	/* slightly smaller menu typography so all items fit in one row */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu .jet-menu-item .top-level-link {
		font-size: 15px;
		padding-left: 4px;
		padding-right: 4px;
	}

	/* search: compact fixed width at the end (left in RTL) of the
	   row. On desktop the widget has no flex order of its own, so it
	   would land between the logo and the menu; force it to the end. */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		flex-grow: 0;
		flex-shrink: 0;
		width: 150px;
		order: 99999;
		align-self: center;
		--align-self: center;
	}
}

/* keep the single row fitting on narrower desktop screens;
   anything that still overflows tucks into jet-menu's "..."
   roll-up item, which header-sticky.js recalculates on toggle */
@media (min-width: 1025px) and (max-width: 1300px) {
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu .jet-menu-item .top-level-link {
		font-size: 13px;
		padding-left: 3px;
		padding-right: 3px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		width: 140px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 75px;
	}
}
@media (min-width: 1025px) and (max-width: 1240px) {
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-201cc97 {
		--gap: 0px 8px;
		--column-gap: 8px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu .jet-menu-item .top-level-link {
		font-size: 12px;
		padding-left: 2px;
		padding-right: 2px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		width: 120px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 70px;
	}
}
@media (min-width: 1025px) and (max-width: 1140px) {
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-201cc97 {
		--gap: 0px 6px;
		--column-gap: 6px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu .jet-menu-item .top-level-link {
		font-size: 11px;
		padding-left: 1px;
		padding-right: 1px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		width: 110px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 65px;
	}
}

@media (min-width: 1025px) and (max-width: 1060px) {
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-d40527b .jet-menu .jet-menu-item .top-level-link {
		font-size: 10px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		width: 100px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 60px;
	}
}

/* ---------- Tablet + mobile (<=1024px): on scroll keep only the
   hamburger menu and the site logo; hide the social icons row,
   the heading row and the search field row. */
@media (max-width: 1024px) {
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-fae8254,
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-68fe67f,
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-a48ea33 {
		display: none;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) {
		--margin-bottom: 0px;
	}
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-201cc97 {
		--gap: 0px 0px;
		--row-gap: 0px;
		--padding-top: 4px;
		--padding-bottom: 4px;
	}
	/* slightly smaller logo for a tighter bar */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-1d21851 img {
		width: 95px;
	}
	/* keep the hamburger clear of the fixed UserWay button (top-right) */
	.elementor-209 .elementor-element.elementor-element-cc7418d.shab-header-compact:not(.elementor-sticky__spacer) .elementor-element-c6faccc {
		margin-right: 60px;
	}
}

/* smooth size change of the logo when entering/leaving compact mode */
.elementor-209 .elementor-element.elementor-element-1d21851 img {
	transition: width 0.25s ease;
}

