/* Header CSS */

/*------------------------------------*\
    Page Head
\*------------------------------------*/

.page-header {
	position: fixed;
	z-index: 999;
	width: 100%;
	top: 0;
	left: 0;
	padding: 0 0;
	background: #fff;
}

.header-notification-bar {
	background: #011635;
	padding: 8px 12px;
	text-align: center;
	font-size: clamp(15px, 4.4vw, 18px);
	font-weight: 400;
	line-height: 1.25em;
	color: #FFFFFF;
	text-transform: uppercase;
}

.page-header.hideheader.js-scrolled .header-notification-bar {
	display: none;
}

.header-notification-bar span {
	display: block;
}

.header-notification-bar a {
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 4px 0;
}

.header-notification-bar a i {
	color: #209AD6;
	font-size: 15px;
	display: inline-block;
	vertical-align: middle;
	font-weight: normal;
	padding: 0 0 1px 5px;
}

.header-top {
	background: #FF5F1F;
	padding: 10px 0;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
	color: #FFFFFF;
	text-transform: uppercase;
}

.header-top a {
	color: #FFFFFF;
	font-weight: 700;
}

.header-top a i {
	font-size: 24px;
	display: inline-block;
	vertical-align: middle;
	font-weight: normal;
	padding: 0 9px 3px 0;
}

.header-wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0;
}

.logo {
	max-width: 165px;
}

.logo-container {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.header-right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0 24px;
}

.toggle-menu {
	position: relative;
	cursor: pointer;
	font-size: 25px;
	font-weight: normal;
	line-height: 1em;
	color: #209AD6;
	width: 45px;
	height: 45px;
	border-radius: 8px;
	background: rgba(32, 154, 214, 0.25);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	border: 0;
	padding: 0;
}

.toggle-menu.is-active {
	background: #c9e5f4;
	color: #339cd4;
}

.toggle-menu.is-active .icon-menu {
	display: none;
}

.toggle-menu.is-active::before,
.toggle-menu.is-active::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 2px;
	background-color: currentColor;
	transition: all 0.3s ease;
}

.toggle-menu.is-active::before {
	transform: rotate(45deg);
}

.toggle-menu.is-active::after {
	transform: rotate(-45deg);
}

.header-phone {
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
	color: var(--dark-blue);
	text-transform: uppercase;
}

.header-phone a {
	font-weight: 500;
	color: #209AD6;
	background: transparent;
	border: none;
}

.header-phone i {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	font-weight: normal;
	padding: 0 5px 3px 0;
	color: #FF5F1F;
}

.js-search-toggle {
	cursor: pointer;
	font-size: 17px;
	font-weight: normal;
	line-height: 1em;
	color: #333333;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	padding: 0;
}

@media (min-width: 768px) {
	.header-notification-bar {
		padding: 8px 0;
		font-size: 20px;
	}

	.header-notification-bar span {
		display: inline-block;
	}

	.header-notification-bar a i {
		font-size: 17px;
		padding: 0 0 3px 8px;
	}

	.header-top {
		padding: 12px 0;
	}

	.header-wrap {
		padding: 18px 0 23px;
	}

	.logo {
		max-width: 221px;
	}

	.toggle-menu {
		font-size: 30px;
		width: 60px;
		height: 55px;
	}
}


@media (min-width: 1200px) {
	.page-header {
		position: fixed;
		padding: 0;
		top: 0;
	}

	/* .hideheader {
		top: -220px;
	} */

	.page-header.hideheader.js-scrolled .header-notification-bar {
		display: block;
	}

	.icon-search {
		font-size: 16px;
	}
	

	.page-header.js-scrolled {
		top: 0;
		position: fixed;
		/* transition: all 0.3s ease; */
		transition: none;
		box-shadow: 0px 4px 20px 0px rgba(51, 51, 51, 0.20);
	}

	.header-notification-bar {
		padding: 5px 0 6px 0;
	}

	/* .js-scrolled .header-notification-bar {
		display: none;
	} */

	.header-notification-bar a i {
		padding: 0 0 3px 10px;
	}

	.header-wrap {
		padding: 12px 0 15px;
	}

	.js-scrolled .header-wrap {
		padding: 15px 0;
	}

	.logo {
		max-width: 286px;
		margin-left: -5px;
	}

	.js-scrolled .logo {
		max-width: 286px;
		margin-left: -5px;
	}

	.header-right .js-search-toggle {
		margin-right: 0;
	}

	.header-right {
		gap: 0 33px;
	}

	.header-phone {
		color: #333;
	} 

	.header-phone a:hover,
	.js-search-toggle:hover {
		color: #FF5F1F;
	}

	.header-notification-bar a:hover {
		color: #209AD6;
		font-weight: 400;
	}

	.nav-primary ul li .sub-menu li.menu-item-has-children .icon-circle-right-arrow,
	.nav-primary ul li .sub-menu li .icon-circle-right-arrow {
		font-size: 15px;
	}

}










/*------------------------------------*\
    Mobile Nav
\*------------------------------------*/

.mobile-menu {
	position: fixed;
	width: 100%;
	top: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 999;
}

.mobile-menu .logo-container {
	margin-left: 12px;
}

.mobile-menu .btn-nav {
	padding: 10px 16px;
	font-size: 14px;
}

@media (max-width: 399px) {
	.mobile-menu .btn-nav {
		padding: 6px 10px;
		font-size: 12px;
	}
}

.mobile-right {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-right: 12px;
}

.mobile-right .icon-search {
	font-size: 24px;
	color: #374046;
	cursor: pointer;
}

	.mobile-right .toggle-menu {
		cursor: pointer;
		font-size: 24px;
		color: #209AD6;
		width: 44px;
		height: 44px;
	border-radius: 8px;
	background: rgba(32, 154, 214, 0.25);
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0;
		padding: 0;
	}

.mobile-search {
	position: fixed;
	top: 60px;
	left: 0;
	display: none;
	width: 100%;
	padding: 15px;
	background: #fff;
	z-index: 998;
	box-shadow: 0px 4px 20px 0px rgba(51, 51, 51, 0.20);
}

.mobile-search.active {
	display: block;
}

.mobile-search form {
	display: flex;
	position: relative;
	width: 100%;
}

.mobile-search form input {
	width: 100%;
	height: 40px;
	padding: 8px 20px;
	border: 1px solid #209AD6;
	border-radius: 30px;
	color: #414141;
	font-weight: 400;
	background: #fff;
}

.mobile-search form button {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	padding: 0 20px;
	background: #209AD6;
	color: #fff;
	border: none;
	border-radius: 0 30px 30px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1024px) {
	.mobile-menu {
		display: flex;
	}
	
	.desktop-menu {
		display: none;
	}
}

@media (max-width: 445px) {
	.mobile-right {
		gap: 15px;
	}
	
	.mobile-menu .logo-container {
		max-width: 140px;
	}
}

/*------------------------------------*\
    Desktop Nav
\*------------------------------------*/

.desktop-menu {
	display: none;
}

.desktop-menu__content {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 302px 1fr;
	grid-template-columns: 302px 1fr;
}

.desktop-menu__left {
	-ms-grid-row-align: center;
	align-self: center;
}

.desktop-menu__right {
	justify-self: flex-end;
}

.desktop-menu__top {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-top: 10px;
	padding-bottom: 10px;
}

.desktop-menu__phone,
.desktop-menu__search-toggle {
	margin-right: 33px;
	color: #374046;
	text-decoration: none;
}

.desktop-menu__phone:hover,
.desktop-menu__search-toggle:hover {
	color: var(--blue);
}

.desktop-menu__bottom {
	position: static;
	/* so megamenu is not defined by its width */
}

.desktop-menu__top:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: var(--border-color);
	bottom: 0px;
	right: 0;
}

/*------------------------------------*\
    Search
\*------------------------------------*/

.desktop-menu__search,
.desktop-menu__phone.js-search-active {
	height: 0;
	width: 0;
	visibility: hidden;
	opacity: 0;
}

.desktop-menu__search-inner {
	background: #EDF7FC;
	padding: 20px;
	border-radius: 0;
	display: flex;
    align-items: center;
    gap: 20px;
	box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
	border: 1px solid #d2dcee;
}

.desktop-menu__search-inner:after {
    content: '';
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 180px;
    background: #042452a8;
    z-index: -1;
	display: none;
}

.desktop-menu__search form {
	display: flex;
	position: relative;
	width: 100%;
}

.desktop-menu__search label {
	color: var(--blue);
	margin-bottom: 0;
	-ms-grid-row-align: center;
	align-self: center;
}

.desktop-menu__search button {
	position: absolute;
    right: 0;
    border-radius: 0 30px 30px 0;
    height: 100%;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    font-size: 18px;
}

.desktop-menu__search button .icon-search {
	font-size: 14px;
}

.desktop-menu__search input {
	border: 1px solid #209AD6;
	border-radius: 30px;
	width: 100%;
	height: 40px;
	padding: 8px 20px;
	margin-left: 0;
	color: #414141;
	font-weight: 400;
	background: #fff;
}

.desktop-menu__search-close {
    position: relative;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
	display: none;
	border: 0;
	background: transparent;
	padding: 0;
}

.desktop-menu__search-close::before,
.desktop-menu__search-close::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: #000;
    transition: all 0.3s ease;
}

.desktop-menu__search-close::before {
    transform: rotate(45deg);
}

.desktop-menu__search-close::after {
    transform: rotate(-45deg);
}

.desktop-menu__search-close:hover::before,
.desktop-menu__search-close:hover::after {
    background-color: #000;
}

.desktop-menu__search input::placeholder {
	color: #414141;
}

.desktop-menu__search input::-webkit-input-placeholder {
	font-size: 15px;
	color: #414141;
}

.desktop-menu__search input::-moz-placeholder {
	font-size: 15px;
	color: #414141;
}

.desktop-menu__search input:-ms-input-placeholder {
	font-size: 15px;
	color: #414141;
}

.desktop-menu__search input::-ms-input-placeholder {
	font-size: 15px;
	color: #414141;
}

.desktop-menu__search input::placeholder {
	font-size: 15px;
	color: #414141;
}

.js-search-toggle .search-inactive {
	visibility: visible;
	opacity: 1;
	width: auto;
}

.js-search-toggle .search-active {
	width: 0;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.5s linear;
}

.js-search-toggle .search-active span:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	display: inline-block;
}

.js-search-toggle.js-search-active .search-inactive {
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.5s linear;
	display: block;
	width: 0;
	height: 0;
}

.js-search-toggle.js-search-active .search-active {
	visibility: visible;
	opacity: 1;
	width: auto;
	

}

.desktop-menu__search {
	visibility: hidden;
	opacity: 0;
	width: 0;
	height: auto;
	position: absolute;
	left: 0;
	transition: all 0.2s ease;
	will-change: visibility, opacity, width, height;
}

.desktop-menu__search.js-search-active {
	visibility: visible;
	opacity: 1;
	width: 100%;
	
}
.btn--log-in,
.btn--contact-us {
	padding: 10px 26px;
}

.btn--log-in {
	margin-right: 16px;
	border: 1px solid var(--blue);
	background-color: #fff;
}

.btn--log-in:hover a {
	color: #fff;
}

.btn--log-in a,
.btn--contact-us a {
	text-decoration: none;
}

.btn--contact-us a {
	color: #fff;
}

.btn--log-in a {
	color: #374046;
}

@media (min-width: 1025px) {
	.mobile-menu {
		display: none;
	}

	.desktop-menu {
		display: block;
	}
}

/* Fix sticky header position for when admin bar visible
    TODO: Uncomment if design has sticky header */

/* .admin-bar .page-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .page-header {
        top: 46px;
    }
} */

@media (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) and (max-width: 1024px) { 
	
    .retina-logo img {
		display: none;
	}

	.retina-logo {
		background: url("/wp-content/uploads/2025/06/Color-ABRAHAM-AC-Main-Logo-Transparent-bg.png");
		background-size: 165px 37px;
		display: inline-block;
		height: 37px;
		width: 165px;
	}
		
}

/* iPhone 12 & 13 */
@media (-webkit-min-device-pixel-ratio: 3) and (max-width: 1024px) {
    .retina-logo img {
		display: none;
	}

	.retina-logo {
		background: url("/wp-content/uploads/2025/06/Color-ABRAHAM-AC-Main-Logo-Transparent-bg.png");
		background-size: 165px 37px;
		display: inline-block;
		height: 37px;
		width: 165px;
	}
}

/*------------------------------------*\
    Navigation
\*------------------------------------*/



/* General Styling */

.navbar {
	background: #EDF7FC;
	padding: 0;
}

.nav-primary {
	display: none;
	position: relative;
	z-index: 1;
}

.nav-primary.mobile-menu-active {
	display: block;
}

.nav-primary ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav-primary li {
	position: relative;
}

.nav-primary li:before,
.nav-primary li:after {
	display: none;
	/* hide any custom bullet styling */
}

.nav-primary a {
	display: block;
	text-decoration: none;
}


/* 1st Level */

.nav-primary>.menu>li {
	display: inline-block;
}


/* Sub Menus */

.nav-primary .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	max-width: 250px;
}

.nav-primary li:hover>.sub-menu {
	display: block;
}

.nav-primary .sub-menu li {
	display: block;
}


/* 3rd Level Sub Menus */

.nav-primary .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}


.nav-primary ul li .sub-menu li.menu-item-has-children .icon-down-carret {
	display: none;
}

.nav-primary ul li .sub-menu li.menu-item-has-children .icon-circle-right-arrow,
.nav-primary ul li .sub-menu li .icon-circle-right-arrow {
	font-size: 15px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 10px;
    color: #339cd4;
}

.nav-primary .sub-menu li.menu-item-has-children.js-toggled .icon-circle-right-arrow.js-toggled,
.nav-primary .sub-menu li.menu-item-has-children a:hover + .icon-circle-right-arrow,
.nav-primary ul li .sub-menu li a:hover + .icon-circle-right-arrow  {
	color: #FF5F1F !important;
}

.nav-primary ul li.current-page-parent > a {
	font-weight: 700;
}

.nav-primary .current_page_item > a {
	font-weight: 700;
}

.mobile-phone .icon-call {
	font-size: 19px;
    color: #333333;
}


@media (min-width: 1200px) {
	.navbar {
		display: block;
	}

	.navbar .container {
		position: relative;
	}

	.nav-primary {
		display: block;
		padding: 0 0 0 0;
	}

	.nav-primary ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.nav-primary ul li {
		line-height: 1em;
		padding: 8px 0;
		margin: 0 0 0 0;
	}

	.nav-primary ul li a {
		font-size: 16px;
		font-weight: 400;
		line-height: normal;
		color: #333333;                                                                                                                                                                                                                                                                                                                                                                                                                                                
		background: transparent;
		border: none;
		position: relative;
	}

	.nav-primary .current_page_item:hover > a {
		font-weight: 700 !important;
	}

	.nav-primary ul li.menu-item-has-children a {
		padding-right: 25px;
	}

	.nav-primary ul li span.sub-menu-toggle {
		position: absolute;
		right: 0;
		top: 15px;
		font-size: 13px;
		font-weight: normal;
		color: #FF5F1F;
	}

	.nav-primary ul li:hover > a {
		color: #333333;
		visibility: hidden;
	}

	.nav-primary ul li:hover > .sub-menu-toggle.icon-down-carret {
		transform: rotate(180deg);
	}

	.nav-primary ul li > a::after {
		content: attr(data-menu-title);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		display: none;
		font-weight: 800;
		white-space: nowrap;
		visibility: visible;
	}

	.nav-primary ul li:hover > a::after {
		display: block;
	}

	.nav-primary ul li > .sub-menu > li > a:after {
		display: none !important;
	}

	.nav-primary ul li > .sub-menu > li:hover > a {
		color: #333333;
		font-weight: 400;
		visibility: visible !important;
	}

	.nav-primary ul li .sub-menu {
		background: #fff;
        border: 1px solid #d2dcee;
        padding: 0;
        margin-top: 0;
        margin-left: 0;
        top: 40px;
        border-radius: 0 0 15px 15px;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
        max-width: unset;
        min-width: 200px;
	}

	.nav-primary ul li .sub-menu li {
		display: block;
		width: 100%;
		padding: 0;
	}

	.nav-primary ul li .sub-menu li:last-child a {
		border-radius: 0 0 15px 15px;
	}

	.nav-primary ul li .sub-menu li a {
		padding: 10px 20px;
	}

	.nav-primary ul li .sub-menu li:hover > a {
		background-color: #EDF7FC;
	}

	.desktop-menu__search-inner {
		background: #fff;
		border-radius: 0 0 15px 15px;
	}

	.desktop-menu__search button {
		padding: 10px 30px;
	}

	.desktop-menu__search-close {
		display: flex;
	}
}

/*------------------------------------*\
    Ubermenu - Starter CSS
\*------------------------------------*/

@media only screen and (max-width: 1024px) {

	/* forces mobile menu to push other menu items down when open instead of the sub-menu overlapping other menu items */
	.ubermenu .ubermenu-item .ubermenu-submenu-drop {
		position: relative !important;
	}

	.ubermenu-responsive.ubermenu {
		margin: 0;
		position: fixed;
		width: 100%;
		z-index: 900;
		background: #f0f0f0;
	}

	.ubermenu .ubermenu-item {
		position: relative !important;
	}

	/* styles the sub-menu indicator on mobile and tablet */
	.ubermenu-sub-indicator {
		position: absolute;
		right: 0;
		top: 0;
		padding: 20px;
		z-index: 900;
	}

	.ubermenu-responsive-toggle {
		float: right;
	}

	.ubermenu-skin-minimal.ubermenu-responsive-toggle {
		background: var(--bg-blue) !important;
		border-left: 1px solid #d2dcee;
		text-align: center;
	}
}

.ubermenu-responsive-toggle i {
	/* controls styling of mobile menu toggle */
	display: block;
	font-size: 30px;
	margin: 0 !important;
}

.ubermenu-sub-indicator-close {
	display: none !important;
}

@media only screen and (min-width: 768px) {
	.ubermenu-responsive.ubermenu {
		top: 100px;
		/* controls position of responsive menu on tablet size */
	}

}

@media only screen and (min-width: 1024px) {
	.ubermenu>ul>li>a {
		padding-top: 16px !important;
		/* controls top level menu items on desktop size */
		padding-bottom: 16px !important;
		display: block;
	}
}

.ubermenu-responsive.ubermenu {
	bottom: 80px;
	left: 0;
	overflow-x: scroll !important;
	z-index: 2000;
}

.desktop-menu .ubermenu-responsive-toggle {
	display: none;
	z-index: 2000;
	position: relative;
}

@media only screen and (min-width: 768px) {
	.ubermenu-responsive.ubermenu {
		position: static;
		top: auto;
		/* controls position of responsive menu on tablet size */
		bottom: auto;
		max-height: none !important;
		overflow-x: inherit !important;
	}

	.sticky-bar {
		display: none;
	}

	.desktop-menu .ubermenu-responsive-toggle {
		display: block;
	}
}

@media only screen and (min-width: 1025px) {
	.desktop-menu .ubermenu-responsive-toggle {
		display: none;
	}
}

/* controls sticky bar menu icon and overlay on mobile */
.sticky-bar .menu-is-active .fa-bars:before {
	content: "X";
	/* TODO: change this to be an icon from the icon font on the site */
}

/* Modern IPhone Fixes */
@media screen and (width: 375px) and (height: 813px) {
	.sticky-bar {
		/* ^ TODO: change classname to match mobile sticky bar class */

		/* prevents 'home indicator' overlap */
		padding-bottom: 34px;

		/* prevents content from being cut off in screen rounded corners */
		padding-left: 16px;
		padding-right: 16px;
	}
}

body:after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.25);
	z-index: -1000;
}

body.menu-is-active:after {
	z-index: 1000;
	display: block;
}

@media (max-width: 1024px) {
	.sticky-bar {
		z-index: 2000 !important;
	}
}

/*------------------------------------*\
    Ubermenu Custom Styles
\*------------------------------------*/
/* Styles specific to cwv.webpagefxstage.com */

/* Mobile & Desktop */
ul.top-menu {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
}

ul.top-menu li {
	margin-top: 0;
	margin-bottom: 0;
}

.ubermenu-target-title {
	font-size: 16px;
}

.ubermenu.ubermenu-main .ubermenu-item-level-0:hover>.ubermenu-target,
.ubermenu-main .ubermenu-item-level-0.ubermenu-active>.ubermenu-target {
	background: #fff !important;
	color: var(--blue) !important;
}

.ubermenu-submenu-drop li {
	display: block;
	width: 100%;
}

.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-3>.ubermenu-target>.ubermenu-target-title {
	font-weight: 500;
	color: var(--blue);
}

.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-3>.ubermenu-target+.ubermenu-submenu {
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 1750px) {
	.nav-primary .sub-menu .sub-menu {
		top: 0;
		left: auto;
		right: 100%;
	}


}

/* Mobile Only */
@media (max-width: 1024px) {
	.ubermenu .ubermenu-nav {
		background: var(--bg-blue) !important;
		width: 100%;
	}

	.logged-in .ubermenu.ubermenu-mobile-modal {
		max-height: unset !important;
		top: 120px !important;
	}

	.ubermenu.ubermenu-mobile-modal {
		max-height: unset !important;
		top: 76px !important;
	}

	body.menu-is-active:after {
		top: 120px;
	}

	body:after {
		top: 76px;
	}

	.ubermenu .ubermenu-nav>.ubermenu-item>.ubermenu-target {
		padding: 28px 20px;
	}

	.ubermenu .ubermenu-nav>.ubermenu-item>.ubermenu-submenu-drop {
		margin-top: 0px !important;
	}

	.ubermenu-sub-indicator {
		padding: 26px 20px;
		font-size: 17px;
		color: var(--blue);
	}

	.ubermenu .ubermenu-item .ubermenu-submenu-drop {
		box-shadow: none !important;
	}

	.ubermenu-current-menu-item>.ubermenu-target,
	.ubermenu-current-menu-item>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor>.ubermenu-sub-indicator {
		background: transparent !important;
		color: var(--blue) !important;
	}

	.ubermenu.ubermenu-main .ubermenu-item-level-0:hover>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-active>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-active>.ubermenu-sub-indicator {
		background: var(--blue) !important;
		color: #fff !important;
	}

	.ubermenu-current-menu-item>.ubermenu-target {
		padding: 27px 20px;
		font-size: 17px;
		color: var(--blue);
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-target,
	.ubermenu-main .ubermenu-submenu-type-flyout .ubermenu-item-level-1 .ubermenu-target {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ubermenu-column>.ubermenu-submenu {
		padding-bottom: 0 !important;
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-4>.ubermenu-target {
		padding-left: 28px !important;
	}

	.ubermenu-main .ubermenu-active .ubermenu-submenu-type-flyout {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.ubermenu-main .ubermenu-active .ubermenu-sub-indicator .ubermenu-icon {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}


	.ubermenu-skin-minimal .ubermenu-submenu.ubermenu-submenu-drop {
		border: none;
	}


	.ubermenu-skin-minimal.ubermenu-horizontal .ubermenu-item-level-0>.ubermenu-submenu-drop {
		border-top: none;
	}

	.ubermenu .ubermenu-mobile-footer .ubermenu-mobile-close-button,
	.ubermenu-skin-minimal.ubermenu-mobile-modal.ubermenu-mobile-view {
		background: var(--blue) !important;
		color: #fff;
	}

	/* Search */
	.ubermenu .ubermenu-content-block .ubermenu-search .ubermenu-searchform {
		background-color: #fff;
		margin: 0;
		width: 100%;
		margin-top: 10px;
	}

	.ubermenu .ubermenu-content-block .ubermenu-search input.ubermenu-search-input {
		width: 100% !important;
		border: 1px solid var(--border-color);
		border-radius: 4px;
		padding: 10px;
		background: #fff;
		color: var(--body-font-color);
		font-size: 16px;
	}

	.ubermenu .ubermenu-content-block .ubermenu-search .ubermenu-search-submit {
		background: var(--blue);
		color: #fff;
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
	}

	.ubermenu .ubermenu-content-block .ubermenu-search .ubermenu-search-submit .fa-search:before {
		content: "\e91a";
		font-family: "cwv-icons" !important;
		speak: never;
		font-style: normal;
		font-weight: 400;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		color: #fff;
		font-size: 16px;
	}

	.ubermenu-responsive-toggle .ubermenu-icon-essential {
		width: 30px;
		margin-right: 0;
		margin-bottom: 4px;
		font-size: 26px;
	}

	.ubermenu-skin-minimal.ubermenu-responsive-toggle {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

/* Desktop Only */
@media (min-width: 1025px) {
	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row {
		max-width: 1366px;
		margin-right: auto;
		margin-left: auto;
		padding-left: 32px;
		padding-right: 32px;
	}

	.ubermenu-main .ubermenu-submenu-type-flyout {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		border-top: 1px solid var(--border-color) !important;
	}

	.ubermenu-main .ubermenu-item-level-0>.ubermenu-target>.ubermenu-target-title+.ubermenu-sub-indicator {
		margin-left: 6px;
	}

	.ubermenu-main .ubermenu-submenu-type-flyout .ubermenu-target {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ubermenu-main .ubermenu-submenu-type-flyout .ubermenu-target:hover>.ubermenu-target-title {
		color: var(--blue);
	}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-0>.ubermenu-target .ubermenu-sub-indicator {}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-0>.ubermenu-target .ubermenu-sub-indicator:before {}

	/* Second Level Ubermenu */
	.ubermenu-main .ubermenu-nav .ubermenu-item-level-1>.ubermenu-target {}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-1>.ubermenu-target .ubermenu-sub-indicator {}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-1>.ubermenu-target .ubermenu-sub-indicator:before {}

	/* Third Level Ubermenu */
	.ubermenu-main .ubermenu-nav .ubermenu-item-level-2>.ubermenu-target {}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-2>.ubermenu-target .ubermenu-sub-indicator {}

	.ubermenu-main .ubermenu-nav .ubermenu-item-level-2>.ubermenu-target .ubermenu-sub-indicator:before {}

	/* Ubermenu submenu types */

	/* ubermenu-submenu-type-flyout */
	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-flyout {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-flyout .ubermenu-target {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-flyout .ubermenu-target:hover {}

	/* ubermenu-submenu-type-mega */
	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega .ubermenu-target {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega .ubermenu-target:hover {}

	/* ubermenu-tabs */
	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega .ubermenu-tabs .ubermenu-tab .ubermenu-tab-content-panel {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega .ubermenu-tabs .ubermenu-tab>.ubermenu-target {}

	.ubermenu-main .ubermenu-nav .ubermenu-submenu-type-mega .ubermenu-tabs .ubermenu-tab>.ubermenu-target:hover {}

	.ubermenu-main .ubermenu-submenu-type-mega {
		position: relative;
		border-top: 1px solid var(--border-color) !important;
		transition: all 0.3s ease;
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-3 .ubermenu-target .ubermenu-target-title {
		transition: all 0.3s ease;
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-3 .ubermenu-target:hover .ubermenu-target-title {
		color: var(--blue);
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-3>.ubermenu-target:hover>.ubermenu-target-title {
		text-decoration: underline;
		-webkit-text-decoration-color: var(--blue);
		text-decoration-color: var(--blue);
		text-decoration-thickness: 2px;
	}

	.megamenu-cta img {
		position: relative;
		border-radius: 4px;
	}

	.megamenu-cta h3 {
		font-size: 24px;
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.megamenu-cta p {
		font-size: 14px;
		margin-bottom: 15px;
		color: var(--body-text-color);
	}

	.ubermenu-main .ubermenu-submenu-type-mega .ubermenu-row .ubermenu-item-level-4>.ubermenu-target {
		padding-left: 20px !important;
	}

	.ubermenu-sub-indicators .ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator>.ubermenu-icon-essential {
		font-size: 10px;
		color: #333;
	}

	.ubermenu-current-menu-item>.ubermenu-target,
	.ubermenu-current-menu-item>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor>.ubermenu-target,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent>.ubermenu-sub-indicator,
	.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor>.ubermenu-sub-indicator {
		background: transparent !important;
		color: var(--blue) !important;
	}
}

/*------------------------------------*\
    Masthead
\*------------------------------------*/
.masthead--innerpage {
	position: relative;
	background: #1D87BA;
}

.masthead--innerpage__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	mix-blend-mode: multiply;
}

.masthead--innerpage__wrapper {
	position: relative;
	z-index: 4;
	padding: 45px 0 40px;
}

.has-promotional-deals + .masthead--innerpage .masthead--innerpage__wrapper {
	margin-top: 140px;
}

.logged-in .has-promotional-deals + .masthead--innerpage .masthead--innerpage__wrapper {
	margin-top: 110px;
}

.masthead--innerpage__text h1,
.masthead--innerpage__text .h1 {
	color: #fff;
	margin-bottom: 14px;
	font-size: clamp(34px, 10vw, 44px);
	line-height: 1.08em;
	max-width: 12.5em;
	margin-left: auto;
	margin-right: auto;
}

.masthead--innerpage__wave {
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: auto;
	z-index: 3;
}

.masthead--innerpage__wave.has-next-bg-light-blue path {
	fill: var(--light-blue);
}

.masthead--innerpage__wave.has-next-bg-dark-blue path {
	fill: var(--dark-blue);
}

@media (min-width: 768px) {
	.masthead--innerpage__wrapper {
		padding: 60px 0 65px;
	}

	.masthead--innerpage__text h1,
	.masthead--innerpage__text .h1 {
		font-size: clamp(42px, 6.4vw, 60px);
		line-height: 1.12em;
	}
}

@media (min-width: 1200px) {
	.masthead {
		margin-top: 174px;
	}
	
	.logged-in .masthead {
		margin-top: 142px;
	}

	.masthead--innerpage__wrapper {
		padding: 75px 0 100px;
	}

	.masthead--innerpage__text h1,
	.masthead--innerpage__text .h1 {
		font-size: clamp(48px, 4.6vw, 66px);
		max-width: 13.5em;
	}

	.has-promotional-deals + .masthead--innerpage .masthead--innerpage__wrapper {
		margin-top: 155px;
	}
	
	.logged-in .has-promotional-deals+.masthead--innerpage .masthead--innerpage__wrapper {
		margin-top: 124px;
	}
}



/**
 * Breadcrumbs
 */

.breadcrumbs {
	padding: 0 0 11px;
}

.breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	gap: 0 16px;
}

.breadcrumbs ul li {
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: 18px;
	line-height: normal;
	font-weight: 600;
	display: block;
	text-transform: capitalize;
}

.breadcrumbs ul li a {
	color: #FFFFFF;
	font-weight: 400;
	border: none;
	background: transparent;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	text-decoration: none;
}

.breadcrumbs ul li::before {
	display: none;
}

.breadcrumbs ul li::after {
	content: '';
	font-weight: normal;
	position: absolute;
	right: -9px;
	top: 50%;
	transform: translate(0, -50%);
	width: 1.5px;
	height: 16px;
	background: #fff;
}

.breadcrumbs ul li:last-child::after {
	display: none;
}

.breadcrumbs-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 18px;
	line-height: normal;
	font-weight: 600;
	color: #FFFFFF;
	border: none;
	padding: 0 0 0 31px;
	background: transparent;
	text-decoration: none;
	max-width: 280px;
	min-height: 44px;
	margin: 0 auto;
	text-align: left;
}

.breadcrumbs-link::before {
	content: '\e90c';
	font-family: 'hales-icon';
	font-weight: normal;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 11px;
	color: #fff;
	width: 20px;
	height: 20px;
	background: #042452;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.half-form-text__text .breadcrumbs-link::before {
	background: #209AD6;
}

@media (min-width: 768px) {
	.breadcrumbs-link {
		max-width: 100%;
	}

}


@media(min-width: 1200px) {
	.breadcrumbs ul li a:hover {
		color: #EDF7FC;
		font-weight: 600;
	}

	.breadcrumbs ul {
		display: flex !important;
	}

}


.mobile-right {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
}

.icon-search {
	font-size: 20px;
}

.mobile-right .icon-search {
	font-size: 30px;
	color: #374046;
}

.mobile-search form {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	gap: 20px;
	position: relative;
	width: 70%;
}

.mobile-search form label {
	margin: 0;
	position: absolute;
	left: 9px;
}

.mobile-search form input {
	padding: 13px 123px 13px 30px;
}

.mobile-search form button {
	line-height: 1;
	position: absolute;
	right: 0;
	width: auto;
}

.mobile-search {
	position: absolute;
	bottom: -79px;
	display: flex;
	flex-direction: row;
	padding: 15px;
	width: 100%;
	background: #fff;
	justify-content: center;
}

@media (max-width: 445px) {
	.mobile-right {
		gap: 15px;
	}
}



@media (max-width: 1199px) {
	.mobile-contact-us .container {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0;
	}

    .nav-primary {
        display: none;
        position: absolute;
        top: auto;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 0;
        box-shadow: 0 4px 20px rgba(51, 51, 51, 0.2);
        z-index: 998;
    }

    .nav-primary.mobile-menu-active {
        display: block;
    }

    .nav-primary ul {
        flex-direction: column;
    }

    .nav-primary ul li {
        width: 100%;
        padding: 0;
		margin-bottom: 0;
		background-color: #EDF7FC;
    }

    .nav-primary ul li a {
        font-size: 16px;
        padding: 0;
		color: #333;
		padding: 10px 20px;
    }

	.nav-primary .sub-menu > .menu-item > a  {
		width: calc(100% - 45px);
	}

	.nav-primary > ul > li > a {
		width: calc(100% - 86px);
	}

	.nav-primary ul li a:hover {
		font-weight: 600;
	}

	.nav-primary ul li.menu-item-has-children,
	.nav-primary li .sub-menu li,
	.nav-primary li .sub-menu li .sub-menu li { 
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 0 10px;
		margin-bottom: 0;
	}

	.nav-primary li .sub-menu li .sub-menu li {
		flex-wrap: nowrap;
	}

	.nav-primary ul li.menu-item-has-children.js-toggled > a {
		font-weight: 600;
	}

	.nav-primary ul li.menu-item-has-children .icon-down-carret {
		color: #FF5F1F;
		padding: 15px 30px;
	}

	.nav-primary ul li.menu-item-has-children.js-toggled .icon-down-carret.js-toggled {
		transform: rotate(180deg);
	}
	
	.nav-primary ul li.menu-item-has-children .icon-circle-right-arrow {
		color: #209AD6;
		padding: 15px 30px;
	}

    .nav-primary .sub-menu {
        position: static;
        display: none;
        padding-left: 0;
        box-shadow: none;
        border: none;
        max-width: 100%;
    }

    .nav-primary .sub-menu.js-toggled {
        display: block;
    }

    /* Remove hover effects on mobile */
	.nav-primary li .sub-menu {
		background-color: #fff;
	}

	.nav-primary li .sub-menu li {
		background-color: #FFFFFF;
	}

    .nav-primary li:hover > .sub-menu {
        display: none;
    }

    .nav-primary li.js-toggled > .sub-menu {
        display: block;
		background-color: #fff;
		width: 100%;
		padding: 20px;
    }

	.nav-primary li > .sub-menu .sub-menu {
		background-color: #fff;
		width: 100%;
		padding: 10px 20px;
	}
}

/* Add this CSS to create an abstract X for search toggle when active */
.js-search-toggle.js-search-active .icon-search {
    display: none;
}

.js-search-toggle.js-search-active::before,
.js-search-toggle.js-search-active::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 2px;
    background-color: currentColor;
    transition: all 0.3s ease;
}

.js-search-toggle.js-search-active::before {
    transform: rotate(45deg);
}

.js-search-toggle.js-search-active::after {
    transform: rotate(-45deg);
}

/* Ensure the toggle has proper positioning for the X */
.js-search-toggle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-right: 0;
}


/* Add these styles for mobile contact in nav */
@media (max-width: 1024px) {
	.nav-primary ul {
		background-color: #EDF7FC;
	}

    .nav-primary ul .mobile-contact-us {
        background: #021B3F;
		margin: 20px;
		padding: 30px 20px;
		text-align: center;
		border-radius: 20px;
    }

    .nav-primary ul .mobile-contact-us .header-phone {
		margin-bottom: 0;
        display: flex;
        align-items: center;
        justify-content: left;
        gap: 10px;
        color: #fff;
		width: 50%;
    }

	.nav-primary ul .mobile-contact-us .header-phone i {
		padding-bottom: 0;
	}

    .nav-primary ul .mobile-contact-us .header-btn {
        width: 50%;
		text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .nav-primary ul .mobile-contact-us .header-btn .btn {
        width:100%;
        justify-content: center;
    }
}

@media (max-width: 500px) {
	.nav-primary ul .mobile-contact-us {
		padding: 20px 0;
	}
	
	.nav-primary ul .mobile-contact-us .header-phone {
		gap: 6px;
		font-size: 12px;
	}

	.nav-primary ul .mobile-contact-us .header-btn .btn {
		width: 100%;
		font-size: 14px;
		padding: 10px 13px;

	}

	.nav-primary ul .mobile-contact-us .header-btn .btn i {
		font-size: 20px;
	}
}


@media (max-width: 768px) {
	.mobile-search form {
		width: 100%;
	}

	.nav-primary ul .mobile-contact-us {
		padding: 20px;
	}

	.nav-primary ul .mobile-contact-us .container {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
	}

	.nav-primary ul .mobile-contact-us .header-phone {
		width: 100%;
		justify-content: center;
    }

	.nav-primary ul .mobile-contact-us .header-phone i {
		padding-bottom: 0;
	}

    .nav-primary ul .mobile-contact-us .header-btn {
		width: 100%;
    }
}
