/* Axiom header/mobile nav hotfix for generated Divi static pages. */

.et_pb_button_module_wrapper,
.et_pb_button_module_wrapper .schedule-button,
.schedule-button {
	position: relative;
	z-index: 20;
	overflow: visible !important;
}

@media (min-width: 981px) and (max-width: 1100px) {
	.et_pb_divimenus_flex_0_tb_header .dd-logo img {
		width: 120px !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-flex {
		gap: 0 !important;
	}
}

@media (max-width: 1100px) {
	.et_pb_section_1_tb_header,
	.et_pb_section_1_tb_header.et_pb_section {
		display: block !important;
		background: #ffffff !important;
		z-index: 100000 !important;
	}

	.et_pb_row_1_tb_header,
	body #page-container .et-db #et-boc .et-l .et_pb_row_1_tb_header.et_pb_row {
		width: calc(100% - 40px) !important;
		max-width: 100% !important;
		padding: 12px 0 !important;
		margin: 0 auto !important;
	}

	.et_pb_divimenus_flex_0_tb_header {
		display: block !important;
		width: 100% !important;
		margin-bottom: 0 !important;
		overflow: visible !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-wrapper {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		gap: 16px !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-logo {
		display: block !important;
		flex: 0 0 auto !important;
		position: relative !important;
		z-index: 2 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-logo img {
		display: block !important;
		width: 132px !important;
		max-width: 48vw !important;
		height: auto !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu {
		flex: 0 0 auto !important;
		pointer-events: auto !important;
		overflow: visible !important;
		position: relative !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-flex {
		flex-direction: column !important;
		align-items: flex-end !important;
		justify-content: center !important;
		gap: 0 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-button {
		display: block !important;
		flex: initial !important;
		width: auto !important;
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		z-index: 3 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-button-content.dd-icon-content {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		border-radius: 6px !important;
		background: #203366 !important;
		color: transparent !important;
		font-size: 0 !important;
		line-height: 1 !important;
		transform: none !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-button-content.dd-icon-content::before {
		content: "";
		display: block;
		width: 24px;
		height: 2px;
		background: #ffffff;
		box-shadow: 0 -7px 0 #ffffff, 0 7px 0 #ffffff;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu:not(.axiom-mobile-open) > .et_pb_divimenus_flex_item {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open {
		background: #ffffff !important;
		border-radius: 8px !important;
		box-shadow: 0 14px 28px rgba(32, 51, 102, 0.16) !important;
		padding: 8px !important;
		min-width: min(88vw, 380px) !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open > .et_pb_divimenus_flex_item {
		display: block !important;
		position: relative !important;
		overflow: visible !important;
		width: 100% !important;
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open .dd-mi-w,
	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open .dd-mi,
	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open .dd-mi > a {
		display: block !important;
		width: 100% !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-divimenu.axiom-mobile-open .dd-item.dd-text {
		justify-content: space-between !important;
		width: 100% !important;
		padding: 13px 14px !important;
		border-radius: 6px !important;
		color: #203366 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub {
		position: static !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		/* No nested scroll box: iOS swallows taps inside a decelerating
		   overflow region, making submenu items feel dead. The menu is in
		   normal page flow, so the page itself scrolls. */
		max-height: none !important;
		overflow: visible !important;
		padding-top: 0 !important;
		border-radius: 8px !important;
	}

	/* Clamp submenu panels to the viewport: the panels embed desktop-width
	   Divi sections which blow the flex nav out to ~2000px and push all
	   submenu content offscreen right on phones. */
	.et_pb_divimenus_flex_0_tb_header .dd-divimenu,
	.et_pb_divimenus_flex_0_tb_header .et_pb_divimenus_flex_item,
	.et_pb_divimenus_flex_0_tb_header .dd-mi-w,
	.et_pb_divimenus_flex_0_tb_header .dd-mi {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub,
	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub .et_pb_section,
	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub .et_pb_row,
	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub .et_pb_row_inner {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.et_pb_divimenus_flex_0_tb_header .dd-menu-flex-sub .et_pb_column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: block !important;
		margin-right: 0 !important;
	}

	/* While the mobile menu is open, suppress the header's sticky pinning
	   so the (tall) open menu stays in page flow and normal page scrolling
	   reaches every submenu item. Sticky pinning made the menu clip to the
	   viewport with content below the fold unreachable. */
	.et_pb_section_1_tb_header:has(.dd-divimenu.axiom-mobile-open),
	.et_pb_section_1_tb_header.et_pb_sticky:has(.dd-divimenu.axiom-mobile-open) {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
	}
}
