/* 
 Theme Name:   Zeald Website Theme
 Theme URI:    
 Description:  Divi child theme containing any special customisations for this website
 Author:       Zeald
 Author URI:   http://www.zeald.com
 Template:     Divi
 Version:      1.0

 /* == Add your own styles below this line ==
--------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');

#page-container h1, 
#page-container h2, 
#page-container h3, 
#page-container h4, 
#page-container h5, 
#page-container h6,
body .et_pb_button,
#et-top-navigation nav>ul>li>a {
	font-family: "Onest", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

#page-container h1 { font-weight: 800 !important; }
/*#page-container h2 { font-size: 53px !important; }
#page-container h3 { font-size: 44px !important; }
#page-container h4 { font-size: 36px !important; }
#page-container h5 { font-size: 30px !important; }
#page-container h6 { font-size: 20px !important; }*/

#breadcrumbs {
    margin-top: 20px;
    margin-bottom: 40px;
	font-size: 13px;
}

.search-results #breadcrumbs { 
	display: none;
}

body .et_pb_button {
    min-height: 54px;
    min-width: 180px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ------ Header Section ------ */

#top-menu li a {
	font-size: clamp(0.875rem, 0.8257rem + 0.2105vw, 1.0625rem) !important;
}

#et_top_search { width: 36px; }

#et_search_icon:before {
	content: url("/wp-content/uploads/2026/01/famicons_search.png");
	width: 36px;
	height: 36px;
}

.header-buttons,
.header-links { 
	position: relative;
}

.header-buttons .et_pb_widget,
.header-links .et_pb_widget {
	position: absolute; 
}

.header-buttons .et_pb_widget { bottom: -15px; }
.et-fixed-header .header-buttons .et_pb_widget { bottom: -25px; }

.header-buttons li a,
.header-links li a {
	color: #FFF !important;
	text-transform: uppercase;
	font-family: "Onest", sans-serif;
	transition-duration: 0.2s;
}

.header-buttons li,
.header-links li {
	display: flex;
	line-height: 1;
}

.header-buttons ul {
	position: relative;
	z-index: 10px;
}

.header-buttons li {
	gap: 8px;
	text-align: center;
}

.header-buttons li:first-child a::before {
	content: url("/wp-content/uploads/2026/01/phone-solid.png");
	height: 15px;
}

.header-buttons li:first-child a {
	display: flex;
	align-items: center;
	gap: 10px;
}

.header-buttons li a {
	font-size: 16px;
	font-weight: 800;
	padding: 12px 16px;
	background-color: #2877E6;
	border-radius: 8px;
	width: 100%;
}

.header-buttons li a:hover {
	background-color: #194EAC;
}

.header-links .et_pb_widget {
	bottom: 7px;
}

.header-links ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.header-links li {
	gap: 15px;
	justify-content: end;
	margin-bottom: 0 !important;
}

.header-links li a {
	color: #FFFFFF !important;
	font-size: 12px;
	position: relative;
    display: flex;
    align-items: center;
    gap: 3px;
}

.header-links li a:hover {
	opacity: 0.8;
}

.header-links li a::after {
	content: url("/wp-content/uploads/2026/01/line-md_chevron-up.png");
	height: 13px;
}

.et-fixed-header .header-links .et_pb_widget {
	bottom: 0;
}

#top-menu li.current-menu-ancestor>a, 
#top-menu li.current-menu-item>a, 
#top-menu li.current_page_item>a {
	color: #2877E6 !important;
}

/* ------ Header Section End ------ */

/* ------ Footer Section ------ */
#footer-widgets .footer-widget:nth-child(2) {
	strong {
		font-size: 24px;
	}
}

#footer-widgets .footer-widget:nth-child(2) ul {
	margin-top: 14px;
}

#footer-widgets .footer-widget:nth-child(2) li {
	padding-left: 0;
}

#footer-widgets .footer-widget:nth-child(2) li:before {
	display: none;
}

#footer-widgets .footer-widget:nth-child(2) li a {
	text-decoration: underline;
}

.bottom-nav {
	border-top: 1px solid #ffffff1f;
	display: flex; 
	justify-content: space-between;
	gap: 10px;
}

.bottom-nav li {
	padding-right: 0;
}

.bottom-nav a {
	font-weight: 400;
}

#footer-bottom .container {
	display: flex;
	justify-content: space-between;
}

#footer-bottom #footer-info,
#footer-bottom .widget_nav_menu,
#footer-bottom .et-social-icons {
	float: none;
	width: 20%;
}

#footer-bottom .widget_nav_menu {
	width: 80%;
}

#footer-bottom .et-social-icons {
	text-align: right;
}

#footer-bottom .et-social-icons .et-social-twitter,
#footer-bottom .et-social-icons .et-social-rss {
	display: none;
}

#footer-bottom .widget_nav_menu .menu {
	display: flex;
    gap: 15px;
    text-transform: uppercase;
    font-weight: 700;
    justify-content: center;
}

#footer-bottom .widget_nav_menu .menu li {
	line-height: 1.2;
}

#footer-bottom .widget_nav_menu .menu li a {
	font-size: 11px;
	color: #FFF !important;
	text-transform: uppercase;	
}

#footer-bottom .widget_nav_menu .menu li a:hover {
	opacity: 0.7;
}

#footer-info, #footer-info a {
	color: #FFF !important;
}

/* ------ Footer Section End ------ */

.hp_services-cta .et_pb_promo:hover {
	backdrop-filter: blur(7.5px);
	-webkit-backdrop-filter: blur(7.5px);
}

.hp_services-cta .et_pb_promo_description .et_pb_module_header {
	padding-bottom: 20px;
}

.block_cta-withblur {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.block_cta-withblur .et_pb_promo_description,
.block_cta-withblur .et_pb_promo_description .et_pb_module_header {
	padding-bottom: 30px;
}

/* 1. Make each internal pricing column a flexbox */
.custom-pricing-table .et_pb_pricing_table {
    display: flex !important;
    flex-direction: column !important;
}

/* 3. Force the features list to stretch, pushing the button to the bottom */
.custom-pricing-table .et_pb_pricing_content {
    flex-grow: 1 !important;
}

/* 4. Ensure the button wrapper sits perfectly at the bottom */
.custom-pricing-table .et_pb_button_wrapper {
    margin-top: auto !important;
    padding-bottom: 30px !important; /* Adds a nice space below the button */
}

/* ============= */
/* Media Queries */

@media only screen and (min-width: 1441px) {
    /* 1. Force the pricing container to be a single row */
    .custom-pricing-table .et_pb_pricing {
        /*display: flex !important;
        flex-wrap: nowrap !important;*/
        width: 100% !important;
    }

    /* 2. Set each column to exactly 20% and make them flex containers */
    .custom-pricing-table .et_pb_pricing_table {
        width: 20% !important; 
        flex: 1 1 20% !important;
        margin-bottom: 0 !important; 
        display: flex !important;
        flex-direction: column !important;
    }

    /* 3. Equalize the blue heading heights */
    .custom-pricing-table .et_pb_pricing_heading {
        min-height: 140px !important; /* Adjust if your text wraps more */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important; /* Keeps the text vertically centered */
    }

    /* 4. Force the features list to stretch to fill empty space */
    .custom-pricing-table .et_pb_pricing_content {
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 5. Push the buttons to the floor */
    .custom-pricing-table .et_pb_button_wrapper {
        margin-top: auto !important;
        padding-bottom: 30px !important;
    }
}

@media (min-width: 981px) {
	
	#main-header .et_menu_container {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
	}
	
	#main-header .logo_container {
		position: inherit !important;
		width: 15% !important;
	}
	
	.logo_container span.logo_helper {
		display: flex;
	}
	
	#et-top-navigation {
		padding-left: 0 !important;
	    width: 85%;
	}
	
	#top-header, .header-phone-icon { 
		display: none !important;
	}
	
	.nav li ul {
		width: 320px;
	}
	
	#top-menu li li a {
		width: 280px;
	}
	
	/*#top-menu-nav { padding-left: 2.5vw; }
	
	.et-fixed-header #top-menu-nav { padding-left: 0; }*/
	
	#et_top_search { margin-left: 10px; }
	
	#et_search_icon:before {
		top: -57px;
	}
	
	.et_fullwidth_nav .et-search-form {
		right: 0;
	}
	
	.et_close_search_field {
		right: 30px;
	}
	
	.et-search-form input {
		width: 96%; 
		font-size: 24px !important;
	}
	
	form.et-search-form {
		background-color: #0a2472 !important;
	}
	
	.et-fixed-header #et_search_icon:before {
		top: -48px;
	}
	
	#et-top-navigation {
		float: none;
		display: grid;
		grid-template-columns: 3fr 63px 205px 110px;
    	align-items: center;
		gap: 10px;
	}
	
	#top-menu li li a {
		font-size: 15px; 
	}
	
	.et-fixed-header #top-menu li li a {
		color: #444 !important;
	}
	
	.header-badge {
		position: absolute;
		top: 150px; 
		right: 30px;
	}
	
	.et-fixed-header .header-badge {
		display: none;
	}
	
	#footer-widgets {
		display: grid;
		grid-template-columns: 20vw 1fr 1fr 180px;
    	gap: 30px;
		padding-top: 5%;
	}
	
	#footer-widgets .footer-widget {
		width: 100%;
	}
	
	#footer-widgets .footer-widget:last-child .widget_media_image {
		float: right;
	}
	
	.bottom-nav a {
		font-size: clamp(0.875rem, 0.8421rem + 0.1404vw, 1rem) !important;
	}
	
	.bottom-nav {
		padding: 40px 0;
	}
	

	.hp_services-cta .et_pb_promo {
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	
	.hp_services-cta .et_pb_promo .et_pb_button_wrapper {
		margin-top: auto;
	}
	
	.hp_services-cta .et_pb_promo .et_pb_promo_button {
		min-width: 16vw;
	}
	
	.custom-pricing-table .et_pb_pricing_table:last-child {
		margin-top: 0 !important;
	}
}

@media only screen and (min-width: 981px) and (max-width: 1440px) {

    /* Target the individual pricing columns */
    .custom-pricing-table .et_pb_pricing_table {
        width: 33.33% !important; /* Forces 3 columns */
        flex: 1 1 33.33% !important;
        margin-bottom: 0 !important; /* Prevents unwanted stacking margins */
		max-width: 100%;
    }
	
}

@media (min-width: 981px) and (max-width: 1630px) {
	
	/*#top-menu li a {
		font-size: 15px !important;
	}*/
	
	.et_header_style_left #et-top-navigation {
		padding-top: 40px !important;
	}
	
	.et_header_style_left #et-top-navigation nav>ul>li>a {
		padding-bottom: 40px !important;
	}
	
	.header-buttons .et_pb_widget,
	.et-fixed-header .header-buttons .et_pb_widget { 
		bottom: -30px; 
	}
	
	.header-links .et_pb_widget {
		bottom: -5px;
	}
	
	/*#logo {
		max-height: 35% !important;
	}

	.et_header_style_left #et-top-navigation {
		padding-left: 16vw !important;
	}

	#top-menu-nav { 
		padding-left: 0; 
	}
	
	.et_header_style_left #et-top-navigation nav>ul>li>a, 
	.et_header_style_split #et-top-navigation nav>ul>li>a {
		padding-bottom: 30px !important;
	}*/

}

@media (min-width: 981px) and (max-width: 1090px) {
	#et-top-navigation {
		grid-template-columns: 3fr 63px 205px;
	}
	
	.header-links .widget_nav_menu {
		bottom: 140px;
	}
	
	.et-fixed-header .header-links .widget_nav_menu {
		bottom: 120px;
		transition: 0.3s ease-in;
	}
	
	.header-links .menu {
		flex-direction: row;
	}
	
}

@media (min-width: 768px) {
	.bottom_bar {
		display: flex;
		align-items: center;
	}
	
	.bottom_bar-menulinks ul {
		padding-left: 0;
		padding-bottom: 0;
		display: inline-flex;
		gap: 20px;
		justify-content: center;
	}
	
	.pricing_table-flex .et_pb_pricing_table {
		align-self: stretch;
	}
}

@media (min-width: 480px) {
	#main-header {
		border-bottom: 4px solid #2877E6;
	}
	
	.hero_flex-buttons .et_pb_column {
		display: flex;
		gap: 20px;
	}
}

@media (max-width: 980px) {

	 #et_search_icon:before {
        top: 2px;
    }
	
	.header-badge,
	.header-buttons,
	.header-links { 
		display: none;
	}
	
	/*.et_header_style_left #logo {
		max-height: 61%;
	}*/
	
	.mobile_menu_bar:before {
		color: #FFF !important;
	}
	
	.mobile_menu_bar:before {
		font-size: 44px;
	}
	
	#et_top_search {
		margin-right: 10px;
	}
	
	.bottom-nav {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		padding: 20px 0;
	}
	
	.bottom-nav li {
		text-align: left;
	}
	
	#footer-bottom .et-social-icons li {
		margin-left: 0;
	}
	
	.hp_services-cta .et_pb_promo .et_pb_promo_button {
		width: 50%;
	}
	
	.header-phone-icon {
		width: 26px;
		height: 26px;
		margin: 6px 8px 0 0;
		position: relative;
		float: left;
	}
	
	.header-phone-icon .phone-icon-img {
	  display: inline-block !important;
	  width: 26px;
	  height: 26px;
	  background: url('/wp-content/uploads/2026/03/icon-phone-solid-mobile.png') no-repeat center/contain !important;
	  background-size: contain;
	  text-indent: -9999px; /* Hides text off-screen */
	  overflow: hidden;
	  font-size: 0;
	  transition: all 0.3s ease;
	}
}

@media (max-width: 767px) {
	#footer-bottom .widget_nav_menu .menu {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	
	#footer-bottom .container {
		flex-direction: column;
		align-items: center;
	}
	
	#footer-bottom .et-social-icons {
		text-align: center;
	}
	
	#footer-bottom #footer-info, #footer-bottom .widget_nav_menu, #footer-bottom .et-social-icons {
		width: 100%;
	}
}

@media (max-width: 479px) {
	
	.hero_flex-buttons .et_pb_button_module_wrapper {
		margin-bottom: 20px;
	}
	
	.hero_flex-buttons .et_pb_button {
		width: 100%;
	}
	
	.bottom-nav {
		display: grid;
		grid-template-columns: repeat(2,1fr);
	}
	
	#footer-widgets .et_pb_widget {
		float: none;
		text-align: center;
	}
	
	#footer-widgets .footer-widget:last-child {
		margin-bottom: 0 !important;
	}
	
	.et-search-field {
		width: 180% !important;
	    background: #0A2472 !important;
	}
	
	.hp_services-cta .et_pb_promo .et_pb_promo_button {
		width: 100%;
	}
}