/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra Child Theme by OuterBox
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* TOC:
- Variables
- Utility
- Typography
- Slider
- Carousel
- Video
- Tabbed Content
- Tables
- Forms
- Mobile Menu
*/

:root {
/* Spacing */
--space-base: 16px;
--space-xxs: calc(var(--space-base)* 0.25);
--space-xs: calc(var(--space-base)* 0.5);
--space-sm: calc(var(--space-base)* 0.75);
--space-md: calc(var(--space-base)* 1.5);
--space-lg: calc(var(--space-base)* 2);
--space-xl: calc(var(--space-base)* 2.5);
--space-xxl: calc(var(--space-base)* 4);
--space-xxxl: calc(var(--space-base)* 5);
--section-space: calc(var(--space-base)* 5);
--section-side-space: 16px;
--section-side-carousel-content: 64px;
--gutter: var(--space-xxl);
--gutter-sm: var(--space-lg);
--container-max: 1200px;

/* Fonts */
--text-base: 16px;
--text-sm: calc(var(--text-base)* 0.875);
--text-lg: calc(var(--text-base)* 1.125);
--heading-xxs: calc(var(--text-base)* 0.875);
--heading-xs: calc(var(--text-base)* 1);
--heading-sm: calc(var(--text-base)* 1.25);
--heading-md: calc(var(--text-base)* 1.5);
--heading-lg: calc(var(--text-base)* 2);
--heading-xl: calc(var(--text-base)* 2.5);
--heading-xxl: calc(var(--text-base)* 3);
--heading-xxxl: calc(var(--text-base)* 3.5);
--font-weight-regular: 400;
--font-weight-bold: 500;
--line-height-body:1.5;
--line-height-heading:1.25;
--font-family-heading: Archivo Black, sans-serif;
--font-family-sub-heading: Oswald, sans-serif;
--font-family-body: Outfit, sans-serif;


/* Colors */
--color-brand-01: #3B6E8F;
--color-brand-02: #8A2529;
--color-brand-03: #083653;
--color-brand-04: #EBF1F5;
--color-brand-05: #F7F7F7;
--color-text-black: #737475;
--color-text-white: #FFFFFF;
--color-ui-01: #EBF1F5;
--color-ui-02: #CCE2EA;
--color-ui-03: #4C636D;
--color-ui-white: #FFFFFF;
--Brand-Red: #AC1E2D;

/* Border Radius */
--border-radius-sm: 0px;
--border-radius-md: 0px;
--border-radius-lg: 0px;
--border-radius-button: var(--border-radius-sm);
--border-radius-element: var(--border-radius-lg);
}

@media only screen and (max-width : 991px) {	
    :root {	
	/*Mobile Styles*/
	--heading-xxs: calc(var(--text-base)* 0.875);
	--heading-xs: calc(var(--text-base)* 1);
	--heading-sm: calc(var(--text-base)* 1.125);
	--heading-md: calc(var(--text-base)* 1.25);
	--heading-lg: calc(var(--text-base)* 1.5);
	--heading-xl: calc(var(--text-base)* 2);
	--heading-xxl: calc(var(--text-base)* 2.5);
	--heading-xxxl: calc(var(--text-base)* 3);
	--section-space: calc(var(--space-base)* 2.5);
	--gutter: var(--space-xl);
	--gutter-sm: var(--space-md);
    }
}
html {
  scroll-behavior: smooth;
}

body.home .breadcrumb-wrapper {
  display: none;
}

#breadcrumbs{
	max-width: 100% !important;
}
#breadcrumbs a{
	text-decoration: none;
}
#breadcrumbs a:hover{
	text-decoration: underline;
}
.elementor-widget-text-editor p {
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}
main .elementor-widget-text-editor p a{
}
.search-results .site-main .entry-title.ast-blog-single-element a,
.search-results .site-main .read-more a{
	color: var(--color-brand-03);
}
.search-results .site-main .entry-title.ast-blog-single-element a:hover,
.search-results .site-main .read-more a:hover{
	text-decoration: underline;
}
.search .ast-container section.ast-archive-description{
    padding: var(--section-side-space) var(--section-side-space);
    border-bottom: 1px solid var(--color-ui-01);
}
.search-results  .post-content.ast-width-md-6{
    padding: 16px var(--section-side-space) 16px var(--section-side-space) !important;
}
.search-results  div#content {
    background: #fff;
}
.search-results .site-main p.ast-read-more-container.read-more a{
    display: none;
}
.site-main .elementor-widget-text-editor a {
    color: var(--color-brand-02);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}
.site-main .elementor-widget-text-editor a:hover{
    color: var(--color-brand-03);
}
main .elementor-widget-text-editor p a:hover{
	text-decoration: underline;
}
/* MENU */
.top-menu a {
    text-decoration: underline;
}
.top-menu a:hover {
    text-decoration: none;
}
.elementor-nav-menu .sub-arrow{
	padding: 10px 0px 10px 8px;
}
header i.fas.fa-phone {
	padding-top: 2px;
}
nav .menu-item-has-children > a[href="#"]  {
  cursor: default;
}
nav .elementor-sub-item.elementor-item-active {
    background: none;
}
nav > ul.elementor-nav-menu > li a::after {
    content: ""; /* required */
    position: absolute;
    left: 0px;          /* gap from left */
    right: 8px;         /* gap from right */
    bottom: -10px;           /* at the bottom of link */
    height: 3px;         /* thickness */
    background-color: #8A2529;
    transform: scaleX(0); /* start hidden */
    transform-origin: left;
    transition: transform 0.3s ease; /* smooth animation */
}
nav > ul.elementor-nav-menu > li > ul{
    margin-left: -30px !important;
    border-top: 1px solid var(--color-ui-02) !important;
    padding: 40px !important;
}

nav > ul.elementor-nav-menu > li > ul>li> a{
    padding: 0 !important;
    margin: 0px 0px 21px 0px !important;
}

nav > ul.elementor-nav-menu > li > ul>li:last-child > a{
    margin-bottom: 0 !important;
}


nav.elementor-nav-menu--main i.fas.fa-arrow-right {
    transform: rotate(45deg);
    color: var(--Brand-Red);
}
nav.elementor-nav-menu--main i.fas.fa-arrow-right:before{
	font-weight: 400;
}

nav .sub-menu {
    width: 346px !important;
    min-width: 346px !important;
    max-width: 346px !important;
    border-top: 1px solid var(--color-ui-02);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.10);
}
nav .sub-menu li{
    color: var(--color-brand-03);
    font-family: var(--font-family-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

nav .sub-menu li a:hover{
    background: none;
    text-decoration: underline;
    color: var(--color-brand-03);
}

/* Search Box */
.top-search-box input.e-search-input{
    width: 344px;
    max-width: 100%;
}
.search-box{
    max-width: 344px !important;
}
.search-box input{
    padding-left: 16px !important;
    padding-right: 55px!important;
}

.search-box .e-search-label {
    display: flex;
}

.search-box .e-search-label{
    right: 50px;
    order: 2; 
}

.search-box i.fas,fa-times {
    right: 35px !important;
}
/* Utility */
.border-radius-element {
    img, span, div, .elementor-slides .swiper-slide {
    border-radius: var(--border-radius-element);
}}

.padding-full {
    padding: var(--section-space) var(--section-side-space);
}

.padding-top {
    padding: var(--section-space) var(--section-side-space) 0 var(--section-side-space);
}

.padding-bottom {
    padding: 0 var(--section-side-space) var(--section-space) var(--section-side-space);
}

.padding-none {
    padding: 0px var(--section-side-space);
}

/* Typography */

a.elementor-element{
    text-decoration: none !important;
}

.eyebrow-heading {
    span, h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family-sub-heading);
	font-size: 16px !important;
	font-weight: var(--font-weight-regular);
	line-height: 150%; /* 24px */
	letter-spacing: 2.88px;
	text-transform: uppercase;
}}
.site-main .eyebrow-heading {
    span, h1, h2, h3, h4, h5, h6 {
		color: #3B6E8F !important;
	}
}
.headline-heading {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    font-size: var(--heading-xxxl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading1 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    /* font-size: var(--heading-xxl); */
	font-size: 44px !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

h1{
	line-height: 1.2em !important;
	font-size: 44px !important;
}

.heading2 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    /* font-size: var(--heading-xl);*/
	font-size: 38px !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading3 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    /* font-size: var(--heading-lg);*/
	font-size: 30px !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading4 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    /* font-size: var(--heading-md);*/
	font-size: 26px !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}


.heading5 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    /* font-size: var(--heading-sm);*/
	font-size: 20px !important;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}

.heading6 {
    span, h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-body);
    font-size: var(--heading-xs);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
}}


p {
    margin-bottom: 0!important;
    font-size: var(--text-base);
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
}

.p--small {
    font-size: var(--text-sm);
}

.p--large {
    font-size: var(--text-lg);
}

p + p {
    margin-top: var(--space-base)!important;
}

span, h1, h2, h3, h4, h5, h6, p {
    max-width: 768px!important;
}}

body, button, input, select, textarea, {
    font-family: var(--font-family-body);
}
h1{
	font-size: 44px !important;
}
h2{
	font-size: 38px !important;
}
h3{
	font-size: 30px !important;
}
h4{
	font-size: 26px !important;
}
h5{
	font-size: 20px !important;
}
input.search-submit,
.elementor-button{
	border-radius: 0;
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-style: normal;
	font-weight: var(--font-weight-bold);
	line-height: 150%; /* 24px */
	letter-spacing: 1.28px;
	text-transform: uppercase;
	padding: var(--space-base) !important;
}
/* Button Prumary */
input.search-submit:after,
.btn-primary .elementor-button-text::after,
.btn-secondary .elementor-button-text::after,
i.fa-solid.fa-arrow-up-right::before,
.rfq-btn .elementor-button-text::after{
    content: "\e09f";
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    margin-left: var(--space-xs);
    display: inline-block;
    transition: transform 0.2s ease;
}
input.search-submit{
  
}
input.search-submit,
.btn-primary .elementor-button-wrapper a.elementor-button{
	background: var(--color-brand-02) !important;
}
input.search-submit:hover,
.btn-primary:hover .elementor-button-wrapper a.elementor-button{
	background: var(--color-brand-03) !important;
}
.btn-secondary:hover .elementor-button-wrapper a.elementor-button{
    color:#fff !important;
    border-color: var(--color-brand-01) !important;
    background: var(--color-brand-01) !important;
}
.btn-secondary-light:hover .elementor-button-wrapper a.elementor-button{
    color:#fff !important;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%), var(--color-brand-03) !important;
}

/* Button Tertiary */
.btn-tertiary  .elementor-button{
    padding: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 12px;
    text-decoration-thickness: 2px !important;
}
.btn-tertiary  .elementor-button:hover{
    text-decoration-color: #0BB0DA !important;
}

/* Button Download */
.btn-download .elementor-button{
    width: 100%;
    padding: var(--space-md) !important;
}

.btn-download .elementor-button:hover{
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
}
.btn-download  .elementor-button-content-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.no-results-links ul a{
  color: var(--color-brand-01)!important
}
.no-results.not-found .search-form .search-field{
  padding: 10px 20px;
}
.no-results-links ul a:hover{
  text-decoration: underline;
}
/* GRAVITY FORM */

/* Target all form steps */
.form-step1{
	position: relative;
	width: calc(100% + 128px); /* adjust based on container padding */
	margin-left: -64px;
	margin-right: -64px;
	margin-top: -64px;
	margin-bottom: 64px;
	padding: 0px 64px var(--space-lg) 0px;
	background: #083653;
	display: flex;
	gap: var(--space-lg);
	align-items: center;
}


.form-step2,
.form-step3,
.form-step4,
.form-step5 {
	position: relative;
	width: calc(100% + 128px); /* adjust based on container padding */
	margin-left: -64px;
	margin-right: -64px;
	margin-top: 100px;
	margin-bottom: var(--gutter);
	padding: var(--section-space) 64px var(--space-lg) 0px;
	background: #083653; 
	display: flex;
	gap: var(--space-lg);
	align-items: center;
}

/* Optional spacing consistency */
.form-step1 span,
.form-step2 span,
.form-step3 span,
.form-step4 span,
.form-step5 span {
	display: block;
	margin-bottom: 8px;
	color: var(--color-brand-04) !important;
	font-family: var(--font-family-sub-heading) !important;
	font-size: 16px !important;
	font-weight: var(--font-weight-regular) !important;
	line-height: 150%; /* 24px */
	letter-spacing: 2.88px;
	text-transform: uppercase;
	margin-bottom: 0;
}
@media(max-width: 991px){
  .form-step1,
  .form-step2,
  .form-step3,
  .form-step4,
  .form-step5  {
      position: relative;
      width: calc(100% + 80px);
      margin-left: -40px;
      margin-right: -40px;
      margin-top: 0px;
      margin-bottom: 0px;
  
  }
  .form-step1{
    margin-top: -40px;
  }
}
.form-step1 h2,
.form-step2 h2,
.form-step3 h2,
.form-step4 h2,
.form-step5 h2 {
	color: var(--color-text-white);
	font-family: var(--font-family-heading) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 125%;
	margin-bottom: 0;
}

strong.red{
	color: var(--color-brand-02);
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 700;
	line-height: 150%;
    display: block;
}
strong.blue-text {
    color: var(--color-brand-01);
    font-family: var(--font-family-sub-heading);
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: 150%; /* 24px */
    letter-spacing: 2.88px;
    text-transform: uppercase;
    display: block;
}
.job-listing h2.elementor-heading-title{
	color: var(--color-brand-03);
	font-family: var(--font-family-heading);
	font-size: 30px;
	font-style: normal;
	font-weight: var(--font-weight-bold);
	line-height: 115%; /* 34.5px */
}

.job-listing .elementor-button-wrapper a.elementor-button::after {
    content: "\e09f"; /* Font Awesome: arrow-up-right */
    font-family: "Font Awesome 7 pro";
    font-weight: 300;
    display: inline-block;
    font-size:16px;
    transition: transform 0.3s ease;
    color: #fff;
}

.job-listing .elementor-button-wrapper .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px; /* space between text and arrow */
    position: relative;
    background: none;
    font-family: var(--font-family-body);
    font-size: var(--text-base);
}

.job-details strong.red,
.job-details strong.blue-text {
	margin-bottom: var(--space-base);
}

.job-application-form #gform_browse_button_4_40 {
  font-size: 0;
  background: none;
  box-shadow: none;
  padding: 0 !important;
  margin: 0;
  outline: none;
  margin-bottom: 10px;
}

.job-application-form #gform_browse_button_4_40::after {
  content: "Upload ↗";
  color: var(--color-brand-03);
  font-family: var(--font-family-body) !important;
  font-size: var(--text-base);
  font-weight: 700;
  line-height: 150%; /* 24px */
  letter-spacing: 1.28px;
  text-transform: uppercase;
}
.job-application-form label.gfield_label.gform-field-label,
.contact-us-wrapper label.gfield_label.gform-field-label{
    color: var(--color-text-black) !important;
    font-family: var(--font-family-body) !important;
    font-size: var(--text-base) !important;
    font-weight: 700 !important;
    line-height: 150% !important;
}
.gfield_radio{
    display: flex !important;
    flex-direction: row !important;
    gap: var(--space-xl) !important;
}
.radio-type-with-text .ginput_container.ginput_container_radio {
    margin-top: 10px;
}
.gfield.gfield--type-consent{
    display: flex;
    flex-direction: column !important;
}
.gfield_description.gfield_consent_description{
    border: none;
    padding: 0;
    outline: none;
}

.quick-contact-wrapper .elementor-widget-container {
    background: #EBF1F5 !important;
}
.gform_validation_errors {
    margin-bottom: 200px !important;
    position: relative;
}
.gfield--type-radio.gfield--type-choice,
.gfield.gfield--type-date{
    display: flex;
    flex-direction: column;
}
.datepicker.gform-datepicker{
    width: 100% !important;
}
.gfield_required{
    margin-right: 5px;
}
.gfield.gfield--type-checkbox .gfield_description{
    line-height: 24px !important;
}
.ginput_container.ginput_container_checkbox {
    border: 1px solid transparent;
}
.gform_wrapper .phone-type {
    align-content: center;
    margin-top: 40px;
    max-width: 300px;
	height: 32px;
}
.gform_wrapper .ginput_container select{
    align-items: center;
    gap: var(--space-xs);
    height: 48px;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
}
.gform_wrapper  .ginput_container input[type="text"],
.gform_wrapper  .ginput_container input[type="tel"],
.gform_wrapper  .ginput_container input[type="email"],
.gform_wrapper  .ginput_container select,
.gform_wrapper  .ginput_container textarea{
    border-radius: 0 !important;
    border: 1px solid #CCE2EA !important;
    background: #fff !important;
}

.gform_button.button,
.gform-page-footer .button{
    background: var(--color-brand-02) !important;
    border-radius: 0 !important;
    border: 0 !important;
    color: var(--color-text-white) !important;
    font-family: var(--font-family-body) !important;
    font-size: var(--text-base) !important;
    font-style: normal;
    font-weight: var(--font-weight-bold) !important;
}
.gform_button.button:hover,
.gform_button.button:focus,
.gform_button.button:active,
.gform-page-footer .button:hover,
.gform-page-footer .button:focus,
.gform-page-footer .button:active{
    outline: none !important; /* removes the default focus ring */
    box-shadow: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    background-color:#083653 !important;
    color: var(--color-text-white) !important;
}
label.gfield_label.gform-field-label {
    color: var(--color-brand-03) !important;
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-style: normal;
	font-weight: 700 !important;
	line-height: 150%; /* 24px */
}
span.gfield_required.gfield_required_text {
    color: var(--Template-UI-Warning, #A00) !important;
    font-family: var(--font-family-body) !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

/* Gravity Forms placeholder color */
.gform_wrapper ::placeholder {
    color: #737475;
    opacity: 1; /* Firefox */
}

.gform_wrapper :-ms-input-placeholder {
    color: #737475;
}

.gform_wrapper ::-ms-input-placeholder {
    color: #737475;
}
.gform_fileupload_multifile .gform_drop_area::before {
    color: #8A2529 !important;
}
.gform_fileupload_multifile .gform_drop_area.gform-theme-field-control{
    border-radius: 3px;
    border: 1px dashed var(--color-ui-02);
    background: var(--color-brand-05);
    height: 100px;
    display: flex;
    gap: 25px;
    align-content: center;
    align-items: center;
    justify-content: center;
}

@media(max-width:768px){
	.form-step1,
	.form-step2,
	.form-step3,
	.form-step4,
	.form-step5 {
 		padding: var(--section-space) 64px var(--space-lg) 20px;
		width: calc(100% + 105px);
 		flex-direction: column;
 		align-items: flex-start;
		gap: 12px;
	}
	
}

@media(max-width:600px){
	.gform_wrapper .phone-type{
		margin-top: 0;
		height: auto;
	}
	.gfield_radio{
		flex-direction: column !important;
		gap: 24px !important;
	}
}

p a:hover {
    color: #0BB0DA;
}

/* Bullet List */
main .elementor-widget-container ul{
    padding: 0;
    margin: 0px 15px;
}
main .elementor-widget-container ul li::marker {
    color: #8A2529;
    font-size: 17px;
}
main .elementor-widget-container ul li ul{
    list-style: none;
    padding-left: 24px;
}

main .elementor-widget-container ul li  ul li {
    position: relative;
}

main .elementor-widget-container ul li li::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 0.55em;
    width: 7px;
    height: 7px;
    background-color: #fff;
    border: 2px solid #0BB0DA;
    border-radius: 50%; 
    box-sizing: border-box;
}

/* VIDEO */
i.eicon-play {
    color: transparent !important;
    border: 1px solid #EBF1F5;
}

.eicon-play:after{
    content: '';
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path fill="%23EBF1F5" d="M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45.27C1.89-.53,0,.55,0,2.22Z"/></svg>') center center no-repeat transparent;
    background-size: 16px;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 2px;
    top: 1px;
}
.video-bucket .elementor-custom-embed-image-overlay img {
    transition: filter 0.3s ease, transform 0.3s ease;
}

.video-bucket:hover .elementor-custom-embed-image-overlay img {
    filter: brightness(70%);
}

/* Home Banner */
.home-banner-container {
    position: relative;
}

.home-banner-wrapper {
    position: absolute; /* keep absolute so it overlays the video */
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    text-align: center;
    z-index: 2; /* above the video */
}

/* Optional: for small screens */
@media (max-width: 768px) {
    .home-banner-wrapper {
        padding: 0 20px !important;
    }
}

.home-banner .e-hosted-video {
    position: relative;
    overflow: hidden;
}

.home-banner .e-hosted-video::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 1;
}

.home-banner .e-hosted-video video {
    position: relative;
    z-index: 1;
}
.home-banner-wrapper .elementor-widget-container h1 {
    max-width: 100% !important;
}

.home-banner video{
    height: calc(100vh - 250px) !important;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.home-banner {
    max-height: calc(100vh - 250px) !important;
}
.home-banner .elementor-wrapper{
    aspect-ratio:unset !important;
}
@media (max-width: 768px) {

    .home-banner {
        height: calc(100vh - 60px) !important;
		min-height: 480px;
    }
    .home-banner video {
        height: calc(100vh - 60px) !important;
    }
}

/* Slider */
.elementor-swiper{
    margin-bottom: 16px;
}
.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: -18px;
}
.elementor-element.elementor-arrows-position-outside .swiper{
    width: calc(100% - 80px);
}
.elementor-slides .swiper-slide{
    position: relative;
    overflow: hidden;
}


/* Carousel */
.swiper-pagination-bullet{
    opacity: 1;
    position: relative;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path fill="%23ffffff" d="M6,12c-3.31,0-6-2.69-6-6S2.69,0,6,0s6,2.69,6,6-2.69,6-6,6ZM6,1C3.24,1,1,3.24,1,6s2.24,5,5,5,5-2.24,5-5S8.76,1,6,1Z"/></svg>');
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
}
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet-active{
    mask: none;
}
.elementor-swiper-button .fa-arrow-left,
.elementor-swiper-button .fa-arrow-right,
.eicon-chevron-left,
.eicon-chevron-right{
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.38,11.06L10.66,1.34l1.34-1.34,12,12-12,12-1.34-1.34,9.72-9.72H0v-1.89h20.38Z" style="fill-rule:evenodd;"/></svg>');
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    display: block;
}
.elementor-swiper-button .fa-arrow-left:before,
.elementor-swiper-button .fa-arrow-right:before,
.eicon-chevron-left:before,
.eicon-chevron-right:before{
    background-color: currentColor;
}
.elementor-swiper-button .fa-arrow-left,
.eicon-chevron-left{
    transform: rotate(180deg);
}


/* Video */
.elementor-widget-video{
    border-radius: var(--border-radius-element);
    position: relative;
    overflow: hidden;
}
.elementor-custom-embed-image-overlay:after{
    content: '';
    background-color: var(--color-text-black);
    opacity: .3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.elementor-custom-embed-play{
    z-index: 2;
}
.elementor-custom-embed-image-overlay:hover .eicon-play{
    opacity: .8 !important;
}
.eicon-play{
    background-color: currentColor;
    border-radius: 100%;
    opacity: 1 !important;
}
.eicon-play:before{
    opacity: 0;
}
.eicon-play:after{
    content: '';
	/*
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path fill="%230E6E92" d="M0,2.22v17.56c0,1.68,1.89,2.75,3.45,1.96l17.31-8.78c1.65-.84,1.65-3.08,0-3.91L3.45.27C1.89-.53,0,.55,0,2.22Z"/></svg>') center center no-repeat transparent;
	*/
    background-size: 16px;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 2px;
    top: 1px;
}
    
/* Tabbed Content */
.tabs-left .e-n-tabs-heading button{
    position: relative;
}
.tabs-left .e-n-tabs-heading button:after{
    content:'';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background-color: var(--color-ui-01);
}
@media only screen and (max-width: 767px) {	
   .tabs-top .e-n-tabs-heading button{
       position: relative;
   }
   .tabs-top .e-n-tabs-heading button:after{
       content:'';
       width: 100%;
       height: 1px;
       position: absolute;
       bottom: 0;
       left: 0;
       display: block;
       background-color: var(--color-ui-01);
   }
	
	/* PRIMARY BUCKET CAROUSEL */
    .primary-bucket-carousel .elementor-swiper-button.elementor-swiper-button-prev ,
    .primary-bucket-carousel .elementor-swiper-button.elementor-swiper-button-next {
        display: none;
    }
    .primary-bucket-carousel.elementor-element.elementor-arrows-position-outside .swiper{
        width: 100%;
        height: 388px;
    }
    .primary-bucket-carousel.elementor-element.elementor-arrows-position-outside .swiper .elementor-button{
        opacity: 0;
    }
    .bucket-title-carousel .elementor-swiper-button.elementor-swiper-button-prev ,
    .bucket-title-carousel .elementor-swiper-button.elementor-swiper-button-next {
        display: none;
    }
    .bucket-title-carousel.elementor-element.elementor-arrows-position-outside .swiper{
        width: 100%;
    }
    .bucket-title-carousel.elementor-element.elementor-arrows-position-outside .swiper .elementor-button{
        opacity: 0;
    }
	#breadcrumbs{
		padding-left: 16px;
		padding-right: 16px;
	}
	.right-menu .rfq-btn .elementor-button{
		background: var(--color-brand-03) !important;
	}
}
@media(max-width:370px){
  .right-menu .eyebrow-heading a,
  .right-menu .rfq-btn .elementor-button-text{
    font-size: 14px !important;
  }
  .right-menu .rfq-btn .elementor-button-text::after{
    display: none !important;
  }
}
/* Tables */

.html-table{
   table{
      border: 0;
   }
   thead{
      background-color: var(--color-brand-01);
   }
   th{
      border-color: var(--color-text-white);
      color: var(--color-text-white);
      line-height: 1.5;
      font-size: var(--text-base);
      font-family: var(--font-family-body);
      text-transform: uppercase;
      font-weight:var(--font-weight-bold);
      padding: var(--space-sm) var(--space-base);
   }
   tbody tr:nth-child(odd){
      background-color: var(--color-ui-white);
   }
   tbody tr:nth-child(even){
      background-color: var(--color-ui-01);
   }
   td{
      border: 0;
      border-bottom: 1px solid var(--color-ui-02);
      text-align: center;
      font-size: var(--text-base);
      padding: var(--space-sm) var(--space-base);
   }
}

.html-table::-webkit-scrollbar-track {
  background: var(--color-text-white);
  border: 1px solid var(--color-brand-03);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar {
  width: 8px;
  background: var(--color-text-white);
  height: 8px;
  border-radius: 12px;
}
.html-table::-webkit-scrollbar-thumb {
  background: var(--color-brand-03);
  width: 40px;
  border-radius: 12px;
}

@media only screen and (max-width: 1024px) {	
   .html-table{
      overflow: auto;
      table{
         width: 1024px;
      }
   }
}


/* Forms */
form{
   .gfield_label{
      color: var(--color-text-black)  !important;
      line-height: 1.5;
      font-size: var(--text-base) !important;
      font-family: var(--font-family-body) !important;
      font-weight: 700!important;
      float: left;
   }
   .gfield_required{
      text-transform: lowercase;
      color: var(--color-ui-warning);
      font-size: var(--text-sm) !important;
   }
   .ginput_container input[type="text"],
   .ginput_container input[type="tel"],
   .ginput_container input[type="email"]{
      border: 1px solid var(--color-ui-03) !important;
      padding: var(--space-sm) var(--space-base) !important;
      height: 48px !important;
      line-height: 48px !important;
   }
   .ginput_container textarea{
      border: 1px solid var(--color-ui-03) !important;
      padding: var(--space-sm) var(--space-base) !important;
      height: 96px !important;
   }
   label + .gfield_description{
      text-transform: lowercase;
      color: var(--color-text-black);
      font-size: var(--text-sm) !important;
      left: 8px;
      top: 1px;
      position: relative;
   }
   .gform_fields{
      row-gap: var(--space-md) !important;
   }
   .gform_button{
      border-radius:var(--border-radius-button);
      padding:var(--space-sm) var(--space-md) !important;
      font-family: var(--font-family-heading) !important;
      font-weight: var(--font-weight-bold) !important;
      text-transform: uppercase !important;
      line-height: 1.35 !important;
      color: var(--color-text-white);
      border: 2px solid var(--color-brand-03) !important;
      background-color: var(--color-brand-03) !important;
      font-size: var(--text-base) !important;
   }
   .gform_button:hover{
      border: 2px solid var(--color-brand-03) !important;
      background-color: var(--color-ui-white) !important;
      color: var(--color-brand-03) !important;
   }
}

.form-wide form .gfield--width-half{
   grid-column: 1 / -1;
}

.form-light form .gfield_label,
.form-light form .gfield_required,
.form-light form .gfield_description{
   color: var(--color-text-white) !important;
}


.off-canvas-toggle a[aria-expanded="true"] i:before{
  content: '\f00d';
}
.elementor-widget-off-canvas{
  .e-off-canvas__overlay{
    background-color: transparent !important;
  }
  .e-off-canvas__content{
    width: 100%;
  }
  .e-off-canvas__main{
    height: calc(100% - 126px) !important;
    top: 147px !important;
    overflow-y: auto;
  }
}

@media only screen and (min-width:768px){
	.e-off-canvas {
	  margin-top: 0px !important;
	}
}
@media only screen and (max-width:767px){
	.e-off-canvas {
	  margin-top: -23px !important;
	}
	
}

.e-off-canvas .elementor-nav-menu--main{
  .menu-item-home-text{
    border: 0;
    padding: 10px 0;
    display: block;
	color: var(--color-brand-03);

	/* Text/Regular */
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 24px */
  }
  ul {
    position: relative;
    height: 100%;
  }
  ul li{
    position: relative;
  }
  ul li > .submenu-toggle {
    cursor: pointer;
    position: absolute;
    width: 40px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
  }
  ul li a{
    margin: 0;
    border: 0;
  }
  ul li a:after{
    content: '';
    opacity: 1 !important;
    height: 1px;
    width: 100%;
    background-color: var(--color-ui-03);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  ul li a > span{
    display: none !important;
  }
  ul ul {
    position: absolute;
    left: 100vw !important;
    transition: left 0.2s ease-in-out;
    z-index: 3;
    background-color: white;
    width: 100% !important;
    top: 0 !important;
    transition: none;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  ul li.submenu-active {
    position: static;
  }
  ul li.submenu-active > ul {
    left: 0 !important;
    transition: left 0.2s ease-in-out;
    z-index: 9;
    display: block !important; 
  }
  button.submenu-toggle{
    position: relative;
    width: 40px;
    height: 40px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5;
    color: var(--color-text-black);
    font-weight: var(--font-weight-bold);
    background-color: transparent;
    padding: 0;
  }
  button.submenu-toggle:before{
    content:'';
    width: 20px;
    height: 20px;
    display: block;
    background-color: var(--color-brand-01);
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg>');
    mask-repeat: no-repeat;
    mask-position: right center;
    mask-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .submenu-back{
    border-bottom: 1px solid  var(--color-ui-03);
  }
  button.submenu-back-button{
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    letter-spacing: 1px;
    border: 0;
    line-height: 1.5;
    padding: 13px 0;
    background-color: transparent;
	color: var(--color-brand-03);
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 700;
	line-height: 150%; /* 24px */
}
  .submenu-back-button:before{
	content:"\f060";
	font-family: "Font Awesome 7 Pro";
	width: 20px;
	display: block;
	color: var(--color-brand-02);
	line-height: 150%; /* 24px */
	 margin-right: 16px;
  }
}
.e-off-canvas .rfq-btn{
	width: 220px !important;
	background: var(--color-brand-02) !important;
	margin-left: 1px;
}
.e-off-canvas .elementor-nav-menu--main .elementor-item.menu-link.has-submenu,
.e-off-canvas .elementor-nav-menu--main .elementor-item.menu-link,
.e-off-canvas .elementor-element-ce49572 .elementor-button.elementor-button-link.elementor-size-sm{
    padding: 12px 0 !important;
    color: var(--color-brand-03);
    font-family: var(--font-family-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

#mobile-nav .search-container{
  padding: var(--space-md) 0;
  .search-form input{
    width: 100%;
  }
}
.mobile-nav__utility{
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-md);
  i{
    width: 20px;
    color: var(--color-brand-03);
  }
  a{
    text-decoration: none;
    color: var(--color-text-black);
  }
}


/* Mobile Menu */
.submenu-parent-title {
    color: var(--color-brand-03);
    font-family: var(--font-family-heading);
    font-size: 20px;
    font-weight: var(--font-weight-bold);
    line-height: 150%; /* 30px */
    margin-top: 12px;
    margin-bottom: 12px;
}
.mobile-menu button.submenu-toggle:before{
    mask-image: none !important;
    background: none !important;
    content: '\e09f' !important;
    font-family: "Font Awesome 7 Pro";
    color: #AC1E2D;
    font-size: 16px;
}
.mobile-menu .sub-menu.elementor-nav-menu--dropdown {
    width: 100% !important;
    max-width: 100% !important;
    z-index: 10000 !important;
    position: absolute !important;
    height: 100vh !important;
    padding: 24px 0 var(--space-md) 0 !important;
    background: #FFF !important;
	box-shadow: none;
}
.mobile-menu .sub-menu.elementor-nav-menu--dropdown li {
    background: #FFF !important;
}
.mobile-menu .elementor-nav-menu.sm-vertical li a{
    border-bottom: 1px solid #F0F1F3;
}
.mobile-menu .elementor-nav-menu.sm-vertical li a:after{
   background-color: #ffffff50 !important;
}
.mobile-menu .e-search-input::placeholder {
    color: #C7C6C6 !important;
}
.mobile-menu .submenu-back{
	border-color: #ffffff50 !important;
}
.mobile-menu .sub-menu.elementor-nav-menu--dropdown li a {
    color: var(--color-brand-03);
    padding: 12px 0 !important;
    margin:0 !important;
    font-family: var(--font-family-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.mobile-menu  input.e-search-input{
    border: 1px solid var(--color-ui-02) !important;
    background: var(--color-brand-05) !important;
} 


/* PRIMARY BUCKET */
.primary-bucket {
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    height: 100%;
    box-shadow: 0 4px 8px 0 rgba(8, 54, 83, 0.10);
}
.primary-bucket::before {
    content: "";
    position: absolute;
    inset: 0; 
    background: linear-gradient(180deg, rgba(23, 33, 46, 0.50) 0%, rgba(23, 33, 46, 0.00) 100%, lightgray 50%);
    z-index: 1; /* behind text but above image */
    pointer-events: none; /* so hover/click works on bucket */
}
.primary-bucket .elementor-widget-heading,
.primary-bucket .elementor-widget-text-editor,
.primary-bucket .btn-tertiary {
    position: relative;
    z-index: 2;
}
.primary-bucket .elementor-widget-heading {
    order: 1;
}
.primary-bucket .elementor-widget-text-editor {
    order: 2;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease;
    margin-top: 10px;

    /* Limit to 6 lines when shown */
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.primary-bucket .btn-tertiary {
    order: 3;
    margin-top: auto;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease;
}
.primary-bucket .btn-tertiary .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px; /* space between text and arrow */
    position: relative;
    background: none;
    font-family: var(--font-family-body);
    font-size: var(--text-base);
}

.primary-bucket .btn-tertiary .elementor-button::after {
    content: "\e09f"; /* Font Awesome: arrow-up-right */
    font-family: "Font Awesome 7 pro";
    font-weight: 300;
    display: inline-block;
    font-size:16px;
    transition: transform 0.3s ease;
}
@media(min-width:1201px){
	.primary-bucket:hover::before{
		background: var(--color-brand-01);
	}
	.primary-bucket:hover .elementor-widget-text-editor,
	.primary-bucket:hover .btn-tertiary {
		opacity: 1;
		max-height: 300px;
	}
	.primary-bucket:hover {
		cursor: pointer;
	}
	.primary-bucket .btn-tertiary .elementor-button:hover {
		background: none;
	}
}

@media(max-width:1200px){
	.primary-bucket {
		min-height: unset !important;
		height: 200px;
	}
	.primary-bucket:before{
		background:  linear-gradient(180deg, rgba(23, 33, 46, 0.50) 0%, rgba(23, 33, 46, 0.00) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	}

	.primary-bucket .btn-tertiary {
		opacity: 1;
		max-height: 300px;
	}
}

/* SECONDARY BUCKET */
.secondary-bucket {
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    height: 100%;
}

.secondary-bucket .elementor-widget-heading {
    order: 1;
}
.secondary-bucket .elementor-heading-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.secondary-bucket h2.elementor-heading-title,
.secondary-bucket h3.elementor-heading-title{
	font-weight: 400 !important;
}
.secondary-bucket .elementor-widget-text-editor {
    order: 2;
    overflow: hidden;
    transition: opacity 0.3s ease, max-height 0.3s ease;
    margin-top: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.secondary-bucket .btn-tertiary,
.secondary-bucket .btn-tertiary-blog {
    position: absolute;
    bottom: var(--space-md);
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

.secondary-bucket .btn-tertiary .elementor-button,
.secondary-bucket .btn-tertiary-blog .elementor-button{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px; /* space between text and arrow */
    position: relative;
    background: none;
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    color: var(--color-brand-03);
	padding-left:0 !important;
}
.secondary-bucket .btn-tertiary-blog .elementor-button{
	font-weight: 700;
}

.secondary-bucket .btn-tertiary .elementor-button:hover, 
.secondary-bucket .btn-tertiary-blog .elementor-button:hover {
    background: none;
}

.secondary-bucket .btn-tertiary .elementor-button::after,
.secondary-bucket .btn-tertiary-blog .elementor-button::after {
    content: "\e09f"; /* Font Awesome: arrow-up-right */
    font-family: "Font Awesome 7 pro";
    font-weight: 300;
    display: inline-block;
    font-size:16px;
    transition: transform 0.3s ease;
}

@media(min-width:1201px){
	.secondary-bucket:hover .elementor-heading-title,
	.secondary-bucket:hover .elementor-widget-text-editor,
	.secondary-bucket:hover .btn-tertiary,
	.secondary-bucket:hover .btn-tertiary-blog {
		color: #fff !important;
	}

	.secondary-bucket:hover {
		cursor: pointer;
		background: #3B6E8F !important;
	}
	.secondary-bucket:hover .btn-tertiary .elementor-button,
	.secondary-bucket:hover .btn-tertiary-blog .elementor-button {
		color: #fff;
	}
	
	.bucket-text:hover,
	.bucket-title:hover
	{
		background: #3B6E8F !important;
	}
	
	.bucket-title:hover .elementor-heading-title,
	.bucket-title:hover .fa-arrow-right{
		color: #fff !important;
	}
}

/* BUCKET TITLE */
.bucket-title .fa-arrow-right{
    font-style: normal;
    font-weight: 300;
}

.bucket-title .elementor-widget-icon{
	align-self: center;
}
@media (max-width: 1200px) {
	/*
    .secondary-bucket:hover{
        background: var(--color-brand-04) !important;
    }
    .secondary-bucket:hover .eyebrow-heading .elementor-heading-title {
        color: var(--color-brand-01) !important;
    }
    .secondary-bucket:hover .elementor-heading-title,
    .secondary-bucket:hover .btn-tertiary,
    .secondary-bucket:hover .btn-tertiary-blog,
    .secondary-bucket:hover .btn-tertiary .elementor-button,
    .secondary-bucket:hover .btn-tertiary-blog .elementor-button {
        color: var(--color-brand-03) !important;
    }
    
	.secondary-bucket:hover .elementor-widget-text-editor {
        color: var(--color-text-black) !important;
    }
	*/
	
	.bucket-title {
	  display: grid !important;
	  grid-template-columns: 1fr auto;
	  align-items: center;
	  column-gap: 8px;
	}
	.bucket-title .elementor-widget-heading {
	  min-width: 0;
	}

	.bucket-title .elementor-heading-title {
	  white-space: normal;
	  word-break: break-word;
	}

	.bucket-title .elementor-widget-icon {
	  white-space: nowrap;
	}

	.carousel-loop{
		padding-left: 10px;
		padding-right: 10px;
	}


}


/* Bucket Text */
.bucket-text-wrapper{ 
    gap: 0 !important;
}
.bucket-text{
    border-bottom: 1px solid var(--color-ui-01);
    padding: var(--space-base);
}
.bucket-text-wrapper .elementor-loop-container {
    row-gap: 0 !important;
}
.bucket-text .elementor-heading-title,
.bucket-text .elementor-shortcode{
	font-size: var(--text-base);
	font-style: normal;
	font-weight: 700;
	line-height: 150%;
    letter-spacing: 1.28px;
    text-transform: uppercase;
	color:#083653;
	font-family: var(--font-family-body);
}
.bucket-text .fas:before{
    color:#3B6E8F;
}

.bucket-text i.fas.fa-arrow-right:before{
    content: "\e09f";
    font-family: "Font Awesome 7 Pro";
}

@media(min-width:1201px){
	.bucket-text:hover{
		background: var(--color-brand-01);
		color: #fff;
	}
	.bucket-text:hover .elementor-heading-title,
	.bucket-text:hover .elementor-shortcode{
		color: #fff;
	}
	.bucket-text:hover .fas:before{
		color:#fff;
	}
}

/* Loop Carousel */
.elementor-widget-loop-carousel .swiper-pagination-bullet{
    border-radius: 0;
    mask-image: none;
    background: #fff;
    border: 1px solid var(--color-brand-02);
}
.elementor-widget-loop-carousel .swiper-pagination-bullet-active{
    background: var(--color-brand-02) !important;
}
/*Archive Posts */
.archive-posts h3.elementor-post__title {
    color: var(--color-brand-03);
    font-family: var(--font-family-heading) !important;
    font-size: 24px !important;
    font-weight: var(--font-weight-bold);
    line-height: 125%; /* 30px */
}

.archive-posts .elementor-post__excerpt p{
    color: var(--color-text-black);
    font-family: var(--font-family-body);
    font-size: var(--text-base) !important;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

.archive-posts a.elementor-post__read-more {
    color: var(--color-brand-03);
    font-family: var(--font-family-body);
    font-size: var(--text-base) !important;
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 150%; /* 24px */
    letter-spacing: 1.28px;
    text-transform: uppercase;
}

/*Blog */
.blog-sidebar .eyebrow-heading .elementor-heading-title{
	color: #fff !important;
}
.blog-sidebar button.e-filter-item:hover,
.blog-sidebar a .elementor-icon-list-text,
.blog-sidebar a:hover .elementor-icon-list-text,
.blog-sidebar a,
.blog-sidebar a:hover
{
	color: #083653 !important;
}
.blog-sidebar ul.elementor-icon-list-items.elementor-post-info a.elementor-post-info__terms-list-item::after,
.blog-sidebar span.elementor-icon-list-text.elementor-post-info__item.elementor-post-info__item--type-custom:after{
    content: "\e09f";
    color: #AC1E2D;
    font-family: "Font Awesome 7 Pro";
    font-size: var(--text-base);
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

.blog-sidebar .elementor-widget-taxonomy-filter .e-filter-item::after {
    content: "\e09f";
    color: var(--Brand-Red, #AC1E2D);
    font-family: "Font Awesome 7 Pro";
    font-size: var(--text-base);
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}
.blog-detail-content-wrapper .elementor-element.e-con-boxed{
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.blog-content-details .elementor-widget-container > .elementor {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* FOOTER */
.address {
    --label-width: 100px;
    margin-bottom: 32px !important;
}

.address p {
    display: grid;
    grid-template-columns: var(--label-width) 1fr;
    column-gap: 12px;
    align-items: start;
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 400;
	line-height: 150%;
}

.address strong {
    grid-column: 1;
    white-space: nowrap;
	color: var(--color-ui-02);
	font-family: var(--font-family-body);
	font-size: var(--text-base);
	font-weight: 400;
	line-height: 150%; /* 24px */
}

.address p strong ~ * {
    grid-column: 2;
}


@media (max-width: 767px) {
    .address p {
        grid-template-columns: 1fr !important;
        row-gap: 4px;
    }

    .address strong,
    .address p strong ~ * {
        grid-column: 1 !important;
    }
}

footer .helpful-links a{
    color: var(--color-brand-01);
    font-family: var(--font-family-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    text-decoration-line: underline;
}

.footer-top .elementor-icon-list-items.elementor-inline-items {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 10px;
}

.footer-top .elementor-icon-list-item.elementor-inline-item {
  display: block !important;
}

/* Prevent text from wrapping */
.footer-top .elementor-icon-list-text {
  white-space: nowrap;
}

footer .phone-number .elementor-widget-container p {
    display: flex;
    align-items: center;
    gap: 22px !important;
}

footer .phone-number .elementor-widget-container p b,
footer .phone-number .elementor-widget-container p strong {
    flex-shrink: 0;
    font-weight: 400;
}

footer .phone-number .elementor-widget-container p a {
    text-align: right;
    white-space: nowrap;
}

/* Mobile: 1 column */

@media (max-width: 1024px) {
	footer .phone-number.elementor-widget-text-editor .elementor-widget-container p{
		flex-direction: column;
		gap: 0px !important;
		align-items: center;
	}
	.footer-top .elementor-icon-list-items.elementor-inline-items {
		grid-template-columns: 1fr;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
    .top-slogan br {
        display: none;
    }
}

.footer-bottom ul.elementor-icon-list-items li:last-child a span::after{
    
    content: "\e09f"; /* arrow-up-right-from-square */
    font-family: "Font Awesome 7 Pro";
    font-weight: 300; /* light = 300, regular = 400, solid = 900 */
    margin-left: var(--space-xs);
    display: inline-block;
    transition: transform 0.2s ease;
}
.footer-bottom ul.elementor-icon-list-items li a{
    color: var(--color-brand-01);
    /* Text/Regular */
    font-family: var(--font-family-body);
    font-size: var(--text-base);
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}
.footer-bottom ul.elementor-icon-list-items li a:hover{
    text-decoration: none !important;
}


/* Base pagination container */
.elementor-pagination {
  display: flex;
  align-items: center;
  gap: 0;
}

/* Page numbers */
.elementor-pagination .page-numbers {
  padding: 6px 20px !important;
  text-decoration: none !important;
color: var(--color-text-black);
text-align: center;

/* Text/Regular */
font-family: var(--font-family-body);
font-size: var(--text-base);
font-style: normal;
font-weight: 400;
line-height: 150%; /* 24px */
  position: relative;
}

/* Active page */
.elementor-pagination .page-numbers.current {
  background-color: #8A2529;
  color: #fff;
  font-weight: 600;
  border-radius: 0;
  padding: 6px 12px !important;
}

/* Separator: add border-left to every item except the first */
.elementor-pagination .page-numbers + .page-numbers {
  border-left: 1px solid var(--color-ui-02);
  padding-left: 10px; /* spacing from separator */
  margin-left: 10px;  /* extra gap */
}

/* Remove separator if this or previous page is active */
.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers.current + .page-numbers {
  border-left: none;
  padding-left: 0;
  margin-left: 0;
}


@media(min-width:1201px){
	.rfq-btn .elementor-button-wrapper a.elementor-button{
		background: var(--color-brand-02) !important;
	}
	.rfq-btn:hover .elementor-button-wrapper a.elementor-button{
		background: var(--color-brand-03) !important;
	}
}
@media(max-width:1200px){
	.top-phone-mobile .fas:before{
		color: #8A2529;
	}
    .right-menu span.elementor-button-icon {
        display: none;
    }
    .right-menu {
        gap: 0 !important;
    }
    .right-menu .top-phone-mobile{
        width: 50% !important;
        background: #EBF1F5;
        padding: 4px 5px 5px 5px !important;
		margin: 0 !important;
    }
    .right-menu .rfq-btn{
        width: 50% !important;
	}
    .right-menu .rfq-btn .elementor-button{
		width: 100%;
		padding: 4px 5px 5px 5px !important;
	}
	.right-menu .rfq-btn:hover .elementor-button{
		background: var(--color-brand-03) !important;
	}
	.right-menu .rfq-btn,
	.right-menu .top-phone-mobile{
		height: 33px;
	}
}

/* Mobile-only fix */
@media (max-width:768px) {
	.primary-bucket:hover::before{
		display: none;
	}

	.primary-bucket:hover .elementor-widget-text-editor{
		display:none;
	}
	.primary-bucket:hover .btn-tertiary{
		display:block;
		opacity: 1 !important;
	}

	.primary-bucket:hover {
		cursor: pointer;
	}
	
	/*
	.bucket-title:hover .elementor-heading-title,
	.bucket-text:hover,
	.bucket-text:hover .elementor-heading-title{
		background: #fff !important;
		color: var(--color-brand-03) !important;
	}
	.bucket-title:hover .fa-arrow-right,
	.bucket-text:hover .fas:before{
		color: var(--color-brand-01) !important;
	}
	*/
    .right-menu .top-phone-mobile{
        width: 47% !important;
    }
    .right-menu .rfq-btn{
        width: 53% !important;
	}
}

/* ------ FAQ Accordions ---------- */
summary.e-n-accordion-item-title {
    background: var(--color-ui-01) !important;
}
.e-n-accordion-item:hover summary.e-n-accordion-item-title {
    background: var(--color-ui-02) !important; 
}
.e-n-accordion-item-title-text{
    color: var(--color-brand-03) !important;
}
.e-n-accordion span.e-n-accordion-item-title-icon .fas:before{
    color: var(--color-brand-02) !important;
    font-weight:700 !important;
}
.e-n-accordion-item .e-n-accordion-item-title,
.e-n-accordion-item .e-con-full.e-flex.e-con.e-child,
.e-n-accordion-item .e-flex.e-con-boxed.e-con.e-child{
    border: 1px solid var(--color-ui-01) !important;
}

.elementor-social-icons-wrapper.elementor-grid span.elementor-grid-item a {
    background: transparent !important;
}
h2.gform_submission_error{
  font-size: 20px!important;
}