/* Header and footer layout for phone, tablet, and desktop. */

.elementor-location-header {
	--baudax-navy: #002b50;
	--baudax-link: #0085b8;
}

.elementor-22 .elementor-element-2ed2a230 {
	--width: min(1170px, calc(100% - 32px)) !important;
	max-width: calc(100% - 32px);
	box-sizing: border-box;
}

.elementor-location-header a:focus-visible,
.elementor-location-footer a:focus-visible,
.elementor-location-header .elementor-menu-toggle:focus-visible {
	outline: 2px solid var(--baudax-link, #0085b8);
	outline-offset: 3px;
}

/* Switch to the compact header before the fixed bar can clip the logo. */
@media (max-width: 1199px) {
	.elementor-22 .elementor-element-5372cb2c {
		--padding-left: 0px;
		--padding-right: 0px;
	}

	.elementor-22 .elementor-element-2ed2a230 {
		--width: calc(100% - 24px) !important;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px);
		align-items: center;
		position: relative;
		--padding-top: 8px;
		--padding-bottom: 8px;
		--padding-left: 16px;
		--padding-right: 12px;
	}

	.elementor-22 .elementor-element-56270459,
	.elementor-22 .elementor-element-1fef6cdb {
		--width: auto !important;
		width: auto !important;
		max-width: none;
		padding: 0 !important;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}

	.elementor-22 .elementor-element-56270459 {
		flex: 0 1 auto !important;
		min-width: 0;
		align-items: flex-start !important;
		justify-content: center !important;
	}

	.elementor-22 .elementor-element-1fef6cdb {
		flex: 0 0 auto !important;
		margin-left: auto !important;
		justify-content: flex-end !important;
		align-items: center !important;
		position: static !important;
	}

	.elementor-22 .elementor-element-76c3f7df {
		width: auto !important;
		max-width: 100%;
	}

	.elementor-22 .elementor-element-76c3f7df img {
		width: auto !important;
		height: auto !important;
		max-width: min(260px, 62vw) !important;
		max-height: 42px;
	}

	.elementor-22 .elementor-widget-nav-menu,
	.elementor-22 .elementor-widget-nav-menu .elementor-widget-container {
		width: auto !important;
		position: static !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
		display: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0 !important;
		padding: 0;
		border-radius: 4px;
	}

	.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: calc(100% + 8px) !important;
		width: 100% !important;
		margin: 0 !important;
		background: #ffffff !important;
		box-shadow: 0 16px 32px rgba(0, 43, 80, 0.16);
		z-index: 300;
		border-radius: 0 0 4px 4px;
	}

	.elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		display: block !important;
		overflow: auto !important;
		max-height: min(70vh, 520px) !important;
		transform: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu,
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu li,
	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu {
		display: block !important;
		position: static !important;
		width: 100% !important;
		float: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		height: auto !important;
		background: transparent;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item {
		display: flex !important;
		align-items: center;
		min-height: 48px;
		padding: 12px 20px !important;
		color: #1c1c1c !important;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		white-space: normal;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu a,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item {
		min-height: 44px;
		padding-left: 36px !important;
		font-weight: 500;
		font-size: 15px;
		color: #333333 !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a:hover,
	.elementor-location-header .elementor-nav-menu--dropdown a:focus {
		color: var(--baudax-link, #0085b8) !important;
		background: #f4f8fb;
	}
}

@media (max-width: 480px) {
	.elementor-22 .elementor-element-2ed2a230 {
		--width: calc(100% - 16px) !important;
		width: calc(100% - 16px) !important;
		max-width: calc(100% - 16px);
		--padding-left: 12px;
		--padding-right: 4px;
	}

	.elementor-22 .elementor-element-76c3f7df img {
		max-width: min(180px, 60vw) !important;
		max-height: 36px;
	}
}

/* Footer: copyright and legal links share one row, then stack cleanly. */
.elementor-location-footer .elementor-element-57bdda10 > .e-con-inner,
.elementor-location-footer .elementor-element-fff1fbec > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 8px 32px !important;
	width: min(1170px, 100%) !important;
	max-width: 1170px;
}

.elementor-location-footer .elementor-element-19728250,
.elementor-location-footer .elementor-element-2a2e9e38,
.elementor-location-footer .elementor-element-ee44c5d3,
.elementor-location-footer .elementor-element-ea58c7b7 {
	--width: auto !important;
	width: auto !important;
	max-width: 100%;
}

.elementor-location-footer .elementor-element-19728250,
.elementor-location-footer .elementor-element-2a2e9e38 {
	flex: 1 1 280px !important;
	padding: 0 !important;
	--padding-right: 0px;
	--padding-left: 0px;
}

.elementor-location-footer .elementor-element-ee44c5d3,
.elementor-location-footer .elementor-element-ea58c7b7 {
	flex: 1 1 260px !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
	align-items: center !important;
	gap: 0 28px !important;
	padding: 0 !important;
}

.elementor-location-footer .elementor-widget-text-editor p {
	margin: 0;
	line-height: 1.5 !important;
}

.elementor-location-footer .elementor-widget-heading .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 0;
}

@media (max-width: 900px) {
	.elementor-location-footer .elementor-element-57bdda10 > .e-con-inner,
	.elementor-location-footer .elementor-element-fff1fbec > .e-con-inner {
		align-items: flex-start !important;
		gap: 4px !important;
	}

	.elementor-location-footer .elementor-element-19728250,
	.elementor-location-footer .elementor-element-2a2e9e38,
	.elementor-location-footer .elementor-element-ee44c5d3,
	.elementor-location-footer .elementor-element-ea58c7b7 {
		flex: 1 1 100% !important;
	}

	.elementor-location-footer .elementor-element-ee44c5d3,
	.elementor-location-footer .elementor-element-ea58c7b7 {
		justify-content: flex-start !important;
		gap: 0 28px !important;
	}
}

@media (max-width: 767px) {
	.elementor-location-footer .elementor-element-2911e275,
	.elementor-location-footer .elementor-element-76a075c5,
	.elementor-location-footer .elementor-element-1d2dad6a {
		--padding-top: 28px;
		--padding-bottom: 28px;
		--padding-left: 20px;
		--padding-right: 20px;
	}

	.elementor-location-footer .elementor-element-57bdda10 > .e-con-inner,
	.elementor-location-footer .elementor-element-fff1fbec > .e-con-inner {
		align-items: flex-start !important;
		gap: 4px !important;
	}

	.elementor-location-footer .elementor-element-ee44c5d3,
	.elementor-location-footer .elementor-element-ea58c7b7 {
		justify-content: flex-start !important;
		gap: 0 22px !important;
	}

	.elementor-131 .elementor-element-167c7075,
	.elementor-131 .elementor-element-167c7075 > .e-con-inner {
		--content-width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-131 .elementor-element-ea09bafa,
	.elementor-131 .elementor-element-ea09bafa .elementor-widget-container,
	.elementor-131 .elementor-element-ea09bafa p {
		text-align: left !important;
	}

	.elementor-131 .elementor-element-1d2dad6a {
		padding-right: 64px !important;
		padding-bottom: 24px !important;
	}

	#ast-scroll-top {
		right: 12px;
		bottom: 16px;
	}
}
