/**
 * Tablet and mobile navigation based on the responsive awo.org header.
 * Desktop starts at 1121px and is deliberately not touched here.
 */
@media (max-width: 1120px) {
	body.awo-mega-panel-open {
		overflow: hidden;
	}

	.elementor .awo-site-header,
	.elementor .awo-site-header__inner,
	.elementor .elementor-element-9a6ebf5.e-flexbox-base {
		height: 112px !important;
		min-height: 112px !important;
	}

	.elementor .awo-site-header__inner,
	.elementor .elementor-element-9a6ebf5.e-flexbox-base {
		display: grid !important;
		gap: 0 !important;
		grid-template-areas: "utilities utilities" "logo navigation";
		grid-template-columns: 1fr auto;
		grid-template-rows: 40px 72px;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.elementor .awo-header-main,
	.elementor .elementor-element-da40ccd.e-div-block-base {
		display: contents !important;
	}

	.elementor-widget-image.awo-site-logo,
	.elementor .elementor-element-8777573.e-div-block-base {
		align-items: center !important;
		display: flex !important;
		flex-basis: 152px !important;
		grid-area: logo;
		height: 72px !important;
		margin-left: 30px !important;
		padding: 8px 0 !important;
		width: 152px !important;
	}

	.elementor .awo-site-logo img,
	.elementor .elementor-element-de4014b.elementor-widget-theme-site-logo,
	.elementor .elementor-element-de4014b.elementor-widget-theme-site-logo img {
		height: 56px !important;
		object-fit: contain !important;
		width: 152px !important;
	}

	.elementor .awo-header-utilities {
		align-items: stretch !important;
		background: #efefef !important;
		display: flex !important;
		gap: 0 !important;
		grid-area: utilities;
		height: 40px !important;
		justify-content: flex-end !important;
		margin: 0 !important;
		max-width: none !important;
		min-height: 40px !important;
		width: 100% !important;
	}

	.elementor-widget-button.awo-utility-pill .elementor-button,
	.elementor-widget-button.awo-utility-pill--red .elementor-button {
		background: #efefef !important;
		border: 0 !important;
		border-radius: 0 !important;
		color: #000 !important;
		display: inline-flex !important;
		height: 40px !important;
		min-height: 40px !important;
		padding: 8px 16px !important;
		transform: none !important;
	}

	.elementor-widget-button.awo-utility-pill .elementor-button:is(:hover, :focus-visible),
	.elementor-widget-button.awo-utility-pill--red .elementor-button:is(:hover, :focus-visible) {
		background: #ddd !important;
		color: #000 !important;
	}

	.elementor .awo-native-navigation-row {
		align-items: center !important;
		display: flex !important;
		gap: 12px !important;
		grid-area: navigation;
		height: 72px !important;
		justify-content: flex-end !important;
		margin-right: 14px !important;
		width: 124px !important;
	}

	.elementor .awo-native-navigation-row > .elementor-widget-button.awo-header-search {
		margin: 0 !important;
		order: 1 !important;
	}

	.elementor .awo-native-navigation-row > .awo-native-main-menu {
		flex: 0 0 56px !important;
		margin: 0 !important;
		order: 2 !important;
		width: 56px !important;
	}

	.awo-native-main-menu .elementor-nav-menu--main {
		display: none !important;
	}

	.awo-native-main-menu .elementor-menu-toggle {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		color: #000 !important;
		display: flex !important;
		height: 56px !important;
		justify-content: center !important;
		margin: 0 !important;
		min-height: 56px !important;
		min-width: 56px !important;
		box-shadow: none !important;
		outline: 0 !important;
		padding: 0 !important;
		transform: none !important;
		width: 56px !important;
	}

	.awo-native-main-menu .elementor-menu-toggle:is(:hover, :focus-visible) {
		background: #efefef !important;
		color: #000 !important;
	}

	.awo-native-main-menu .elementor-menu-toggle.elementor-active {
		background: transparent !important;
		color: #e0001b !important;
	}

	.awo-native-main-menu .elementor-menu-toggle svg,
	.awo-native-main-menu .elementor-menu-toggle svg path {
		fill: currentColor !important;
	}

	.awo-native-main-menu nav.elementor-nav-menu__container {
		background: #fff !important;
		border: 0 !important;
		box-shadow: none !important;
		height: calc(100vh - 112px) !important;
		left: 0 !important;
		margin: 0 !important;
		max-height: calc(100vh - 112px) !important;
		overflow-y: auto !important;
		padding: 28px 30px 0 !important;
		position: fixed !important;
		top: 112px !important;
		width: 100vw !important;
		z-index: 1001 !important;
	}

	body.admin-bar .awo-native-main-menu nav.elementor-nav-menu__container {
		height: calc(100vh - 144px) !important;
		max-height: calc(100vh - 144px) !important;
		top: 144px !important;
	}

	.awo-native-main-menu nav.elementor-nav-menu__container > ul > li > .elementor-item {
		background: #fff !important;
		border-bottom: 1px solid #efefef !important;
		color: #000 !important;
		font-family: AWOFago, "Arial Narrow", "Aptos Narrow", Arial, Helvetica, sans-serif !important;
		font-size: 24px !important;
		font-weight: 700 !important;
		line-height: 29px !important;
		margin: 0 !important;
		min-height: 62px !important;
		padding: 16px 24px !important;
		transform: none !important;
	}

	.awo-native-main-menu nav.elementor-nav-menu__container > ul > li > .elementor-item .sub-arrow {
		display: none !important;
	}

	.awo-native-main-menu nav.elementor-nav-menu__container > ul > li > .elementor-item:is(:hover, :focus, :focus-visible, .highlighted, .elementor-item-active) {
		background: #fff !important;
		color: #e0001b !important;
	}

	/* Responsive second level: a separate screen, like awo.org. */
	.elementor .awo-mega-menu-layer.is-open {
		background: #fff !important;
		display: block !important;
		height: calc(100vh - 112px) !important;
		inset: 112px 0 auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
		pointer-events: auto !important;
		position: fixed !important;
		width: 100vw !important;
		z-index: 1002 !important;
	}

	body.admin-bar .elementor .awo-mega-menu-layer.is-open {
		height: calc(100vh - 144px) !important;
		inset-block-start: 144px !important;
	}

	.elementor .awo-mega-menu-layer.is-open > .e-con-inner {
		height: 100% !important;
		min-height: 100% !important;
	}

	.elementor .awo-mega-backdrop {
		display: none !important;
	}

	.elementor .awo-mega-panel {
		background: #fff !important;
		display: none !important;
		height: 100% !important;
		inset: 0 !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		pointer-events: auto !important;
		position: absolute !important;
		width: 100% !important;
	}

	.elementor .awo-mega-panel.is-active {
		display: block !important;
	}

	.elementor .awo-wrap.awo-mega-panel__content {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
		margin: 0 30px !important;
		max-width: none !important;
		padding: 90px 0 40px !important;
		width: auto !important;
	}

	.elementor .e-con.awo-mega-panel__intro {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
		width: 100% !important;
	}

	.elementor-widget-heading.awo-mega-panel__title,
	.elementor-widget-text-editor.awo-mega-panel__description {
		margin: 0 !important;
	}

	.elementor-widget-heading.awo-mega-panel__title .elementor-heading-title,
	.elementor-widget-heading.awo-mega-panel__title .elementor-heading-title a {
		color: #e0001b !important;
		font-family: AWOFago, "Arial Narrow", "Aptos Narrow", Arial, Helvetica, sans-serif !important;
		font-size: 30px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	.elementor-widget-text-editor.awo-mega-panel__description,
	.elementor-widget-text-editor.awo-mega-panel__description p {
		color: #000 !important;
		font-family: AWOFago, "Arial Narrow", "Aptos Narrow", Arial, Helvetica, sans-serif !important;
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: 24px !important;
		margin: 0 !important;
		max-width: 520px !important;
	}

	.elementor .e-con.awo-mega-panel__links {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		width: 100% !important;
	}

	.elementor-widget-button.awo-mega-panel__link,
	.elementor-widget-button.awo-mega-panel__link .elementor-widget-container,
	.elementor-widget-button.awo-mega-panel__link .elementor-button-wrapper {
		height: auto !important;
		width: 100% !important;
	}

	.elementor-widget-button.awo-mega-panel__link .elementor-button {
		align-items: center !important;
		background: #fff !important;
		border: 0 !important;
		border-bottom: 1px solid #efefef !important;
		border-radius: 0 !important;
		color: #000 !important;
		display: flex !important;
		font-family: AWOFago, "Arial Narrow", "Aptos Narrow", Arial, Helvetica, sans-serif !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		justify-content: flex-start !important;
		line-height: 22px !important;
		min-height: 50px !important;
		padding: 14px 0 !important;
		text-align: left !important;
		transform: none !important;
		width: 100% !important;
	}

	.elementor-widget-button.awo-mega-panel__link .elementor-button:is(:hover, :focus-visible) {
		background: #fff !important;
		color: #e0001b !important;
	}

	.elementor-widget-button.awo-mega-close {
		height: 38px !important;
		left: 30px !important;
		position: absolute !important;
		top: 16px !important;
		width: auto !important;
		z-index: 3 !important;
	}

	.elementor-widget-button.awo-mega-close .elementor-button {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		color: #000 !important;
		display: inline-flex !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 !important;
		transform: none !important;
		width: auto !important;
	}

	.elementor-widget-button.awo-mega-close .elementor-button::before {
		background: none !important;
		content: "‹" !important;
		font-size: 28px !important;
		height: auto !important;
		line-height: 1 !important;
		margin-right: 8px;
		position: static !important;
		transform: none !important;
		width: auto !important;
	}

	.elementor-widget-button.awo-mega-close .elementor-button::after {
		display: none !important;
	}

	body.awo-mega-panel-open .awo-native-main-menu nav.elementor-nav-menu__container {
		visibility: hidden !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar .awo-native-main-menu nav.elementor-nav-menu__container {
		height: calc(100vh - 158px) !important;
		max-height: calc(100vh - 158px) !important;
		top: 158px !important;
	}

	body.admin-bar .elementor .awo-mega-menu-layer.is-open {
		height: calc(100vh - 158px) !important;
		inset-block-start: 158px !important;
	}
}

@media (max-width: 767px) {
	.elementor-widget-image.awo-site-logo,
	.elementor .elementor-element-8777573.e-div-block-base {
		margin-left: 16px !important;
	}

	.elementor .awo-native-navigation-row {
		margin-right: 0 !important;
	}

	.awo-native-main-menu nav.elementor-nav-menu__container {
		padding-inline: 16px !important;
	}

	.elementor .awo-wrap.awo-mega-panel__content {
		margin-inline: 16px !important;
	}

	.elementor-widget-button.awo-mega-close {
		left: 16px !important;
	}
}
