/* **********************************************************
 * SECTION COLUMN STYLES
 * ******************************************************** */

/* *****************************
 * CONTAINER ADDITIONAL STYLES
 * *************************** */
/* ******************************
 * SPACING VARIABLES
 * *************************** */
:root {
  --space-0: 0;	
  --space-1: 1rem;
  --space-1-5: 1.5rem;
  --space-xs: 2rem;
  --space-sm: 4rem;
  --space-md: 6rem;
  --space-lg: 8rem;
  --space-xl: 10rem;
}
@media (max-width: 1024px) {
  :root {
    --space-sm: 3rem;
    --space-md: 5rem;
    --space-lg: 7rem;
    --space-xl: 9rem;
  }
}
@media (max-width: 767px) {
  :root {
    --space-md: 4rem;
    --space-lg: 6rem;
    --space-xl: 8rem;
  }
}


/* ******************************
 * BACKGROUND COLORS
 * *************************** */
.bg-primary {
  background: var(--e-global-color-primary);
}
.bg-secondary {
  background: var(--e-global-color-secondary);
}
.bg-accent {
  background: var(--e-global-color-accent);
}


/* ******************************
 * PADDING Y (TOP + BOTTOM)
 * *************************** */
.padding-y-xs { padding-top: var(--space-xs) !important; padding-bottom: var(--space-xs) !important; }
.padding-y-sm { padding-top: var(--space-sm) !important; padding-bottom: var(--space-sm) !important; }
.padding-y-md { padding-top: var(--space-md) !important; padding-bottom: var(--space-md) !important; }
.padding-y-lg { padding-top: var(--space-lg) !important; padding-bottom: var(--space-lg) !important; }
.padding-y-xl { padding-top: var(--space-xl) !important; padding-bottom: var(--space-xl) !important; }

/* PADDING TOP */
.padding-top-xs.e-con,
.padding-top-xs.elementor-element { padding-top: var(--space-xs) !important; }
.padding-top-sm.e-con,
.padding-top-sm.elementor-element { padding-top: var(--space-sm) !important; }
.padding-top-md.e-con,
.padding-top-md.elementor-element { padding-top: var(--space-md) !important; }
.padding-top-lg.e-con,
.padding-top-lg.elementor-element { padding-top: var(--space-lg) !important; }
.padding-top-xl.e-con,
.padding-top-xl.elementor-element { padding-top: var(--space-xl) !important; }

/* PADDING BOTTOM */
.padding-bottom-xs.e-con { padding-bottom: var(--space-xs) !important; }
.padding-bottom-sm.e-con { padding-bottom: var(--space-sm) !important; }
.padding-bottom-md.e-con { padding-bottom: var(--space-md) !important; }
.padding-bottom-lg.e-con { padding-bottom: var(--space-lg) !important; }
.padding-bottom-xl.e-con { padding-bottom: var(--space-xl) !important; }

/* ******************************
 * PADDING X (LEFT + RIGHT)
 * *************************** */
.padding-x-xs { padding-left: var(--space-xs) !important; padding-right: var(--space-xs) !important; }
.padding-x-sm { padding-left: var(--space-sm) !important; padding-right: var(--space-sm) !important; }
.padding-x-md { padding-left: var(--space-md) !important; padding-right: var(--space-md) !important; }
.padding-x-lg { padding-left: var(--space-lg) !important; padding-right: var(--space-lg) !important; }
.padding-x-xl { padding-left: var(--space-xl) !important; padding-right: var(--space-xl) !important; }
/* PADDING LEFT */
.padding-left-xs.e-con { padding-left: var(--space-xs) !important; }
.padding-left-sm.e-con { padding-left: var(--space-sm) !important; }
.padding-left-md.e-con { padding-left: var(--space-md) !important; }
.padding-left-lg.e-con { padding-left: var(--space-lg) !important; }
.padding-left-xl.e-con { padding-left: var(--space-xl) !important; }
/* PADDING RIGHT */
.padding-right-xs.e-con { padding-right: var(--space-xs) !important; }
.padding-right-sm.e-con { padding-right: var(--space-sm) !important; }
.padding-right-md.e-con { padding-right: var(--space-md) !important; }
.padding-right-lg.e-con { padding-right: var(--space-lg) !important; }
.padding-right-xl.e-con { padding-right: var(--space-xl) !important; }
/* Small mobile: compress X only, Y stays at 767px values */
@media (max-width: 480px) {
    .padding-x-xs,
    .padding-left-xs.e-con,
    .padding-right-xs.e-con  { padding-left: var(--space-xs) !important; padding-right: var(--space-xs) !important; }
    .padding-x-sm,
    .padding-left-sm.e-con,
    .padding-right-sm.e-con  { padding-left: var(--space-xs) !important; padding-right: var(--space-xs) !important; }
    .padding-x-md,
    .padding-left-md.e-con,
    .padding-right-md.e-con  { padding-left: var(--space-xs) !important; padding-right: var(--space-xs) !important; }
    .padding-x-lg,
    .padding-left-lg.e-con,
    .padding-right-lg.e-con  { padding-left: var(--space-md) !important; padding-right: var(--space-md) !important; }
    .padding-x-xl,
    .padding-left-xl.e-con,
    .padding-right-xl.e-con  { padding-left: var(--space-lg) !important; padding-right: var(--space-lg) !important; }
}


/* ******************************
 * MARGIN Y (TOP + BOTTOM)
 * *************************** */
.margin-y-xs.e-con { margin-top: var(--space-xs) !important; margin-bottom: var(--space-xs) !important; }
.margin-y-sm.e-con { margin-top: var(--space-sm) !important; margin-bottom: var(--space-sm) !important; }
.margin-y-md.e-con { margin-top: var(--space-md) !important; margin-bottom: var(--space-md) !important; }
.margin-y-lg.e-con { margin-top: var(--space-lg) !important; margin-bottom: var(--space-lg) !important; }
.margin-y-xl.e-con { margin-top: var(--space-xl) !important; margin-bottom: var(--space-xl) !important; }

/* MARGIN TOP */
.margin-top-xs.e-con { margin-top: var(--space-xs) !important; }
.margin-top-sm.e-con { margin-top: var(--space-sm) !important; }
.margin-top-md.e-con { margin-top: var(--space-md) !important; }
.margin-top-lg.e-con { margin-top: var(--space-lg) !important; }
.margin-top-xl.e-con { margin-top: var(--space-xl) !important; }

/* MARGIN BOTTOM */
.margin-bottom-xs.e-con { margin-bottom: var(--space-xs) !important; }
.margin-bottom-sm.e-con { margin-bottom: var(--space-sm) !important; }
.margin-bottom-md.e-con { margin-bottom: var(--space-md) !important; }
.margin-bottom-lg.e-con { margin-bottom: var(--space-lg) !important; }
.margin-bottom-xl.e-con { margin-bottom: var(--space-xl) !important; }


/* ******************************
 * ZERO OVERRIDES
 * *************************** */
.no-padding-top.e-con,
.no-padding-top.elementor-element { padding-top: 0 !important; }
.no-padding-bottom.e-con,
.no-padding-bottom.elementor-element { padding-bottom: 0 !important; }
.no-padding-left.e-con,
.no-padding-left.elementor-element { padding-left: 0 !important; }
.no-padding-right.e-con,
.no-padding-right.elementor-element { padding-right: 0 !important; }
.no-margin-top.e-con { margin-top: 0 !important; }
.no-margin-bottom.e-con { margin-bottom: 0 !important; }


/* ******************************
 * GAP
 * *************************** */
.gap-xs .e-con-inner,
.gap-xs.content-wrapper { gap: var(--space-xs) !important; }
.gap-sm .e-con-inner,
.gap-sm.content-wrapper { gap: var(--space-sm) !important; }
.gap-md .e-con-inner,
.gap-md.content-wrapper { gap: var(--space-md) !important; }
.gap-lg .e-con-inner,
.gap-lg.content-wrapper { gap: var(--space-lg) !important; }
.gap-xl .e-con-inner,
.gap-xl.content-wrapper { gap: var(--space-xl) !important; }


/* *****************************
 * HERO
 * *************************** */
.hero {
	background-color: var(--color-primary) !important;
}
body.home .hero {
	padding: 20rem 0 15rem;
}
body:not(.home) .hero {
	padding: 15rem 0 10rem;
}


/* *****************************
 * HERO & FULL WIDTH BANNER SECTIONS CONTENT WRAPPER
 * *************************** */
.hero .content-wrapper,
.banner-section > .content-wrapper {
    max-width: 68%;
}
@media (max-width: 1600px) { .hero .content-wrapper, .banner-section > .content-wrapper { max-width: 75%; } }
@media (max-width: 1440px) { .hero .content-wrapper, .banner-section > .content-wrapper { max-width: 80%; } }
@media (max-width: 1200px) { .hero .content-wrapper, .banner-section > .content-wrapper { max-width: 90%; } }
@media (max-width: 1024px) { .hero .content-wrapper, .banner-section > .content-wrapper { max-width: 95%; } }
@media (max-width: 768px)  { .hero .content-wrapper, .banner-section > .content-wrapper { max-width: 100%; } }

/* *****************************
 * BANNER SECTION
 * *************************** */
.banner-section > .content-wrapper {
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .banner-section > .content-wrapper {
        padding-left: var(--space-xs) !important;
        padding-right: var(--space-xs) !important;
    }
}


/* *****************************
 * BG OVERLAY
 * *************************** */
/* BG Wrapper Overlay */
.bg-wrapper .overlay:before {
  background-image: linear-gradient(180deg, #000000 0%, #000000EE 50%, #00000000 100%) !important;
  opacity: .5;
}


/* *****************************
 * NO COLOR OR EFFECT BACKGROUND IMAGE CONTAINERS
 * *************************** */
/* BG IMAGE COLOR */
.srcset-bg .elementor-widget-container {
  background-color: transparent !important;	
}
.srcset-bg img {
    mix-blend-mode: none !important;
    opacity: 1 !important;
}


/* *****************************
 * COLOR BACKGROUND IMAGE CONTAINERS
 * *************************** */
/* BG IMAGE COLOR */
.bg-pic-overlay .srcset-bg .elementor-widget-container {
  background-color: var(--e-global-color-primary) !important;	
}
.bg-pic-overlay .srcset-bg img {
    mix-blend-mode: multiply !important;
    opacity: .9 !important;
}


/* *****************************
 * SECTION MULTIPLY OVERLAY
 * *************************** */
.bg-overlay-multiply:before {
	mix-blend-mode: multiply !important;
}


/* *****************************
 * BACKGROUND IMAGE USING IMAGE ELEMENT INSTEAD OF CONTAINER BG SETTINGS
 * BG SOURCESET FOR Elementor Image Widget, Widget Container, Image
 * *************************** */
.srcset-bg,
.srcset-bg .elementor-widget-container {
    height: 100% !important;
    width: 100% !important;
    position: absolute;
    top: 0px;
    left: 0px;
	overflow: hidden !important;
}
.srcset-bg img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover; 
    object-position: center center;
}

/* OPTIONAL Fixed / Parallax Background Image */
.bg-fixed .srcset-bg,
.bg-fixed .srcset-bg .elementor-widget-container,
.hero .srcset-bg,
.hero .srcset-bg .elementor-widget-container {
	clip-path: inset(0);
}
.bg-fixed .srcset-bg img,
.hero .srcset-bg img {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	will-change: transform;
}
/* END OPTIONAL Fixed / Parallax Background Image */


/* *****************************
 * BG OVERLAY - FLICKER FIX
 * Promotes overlay pseudo-element to its own compositor layer so it doesn't drop out during scroll repaints
 * *************************** */
.bg-wrapper .overlay:before {
    will-change: opacity;
    transform: translateZ(0);
    backface-visibility: hidden;
}


/* *****************************
 * FIXED BG IMAGE - DISABLE ON SMALL SCREENS
 * *************************** */
@media (max-width: 767px) {
    .bg-fixed .srcset-bg img,
    .hero .srcset-bg img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 0 !important;   /* was -1 — can't be negative with position:absolute or bg color buries it */
        will-change: auto;
    }
    .bg-fixed .srcset-bg,
    .bg-fixed .srcset-bg .elementor-widget-container,
    .hero .srcset-bg,
    .hero .srcset-bg .elementor-widget-container {
        clip-path: none !important;
        z-index: 0 !important;
    }
    /* Ensure content inside bg-fixed sections sits above the srcset-bg image */
    .bg-fixed > .e-con-inner > *:not(.srcset-bg):not(.bg-wrapper),
    .bg-fixed > .e-con-inner > .bg-wrapper ~ * {
        position: relative;
        z-index: 1;
    }
}


/* *****************************
 * SEARCH BAR ROW - like on Blog, Blog Category, Shop
 * *************************** */
.search-col, 
.search-col .site-search,
.search-col .jet-search, 
.search-col .jet-ajax-search,
.search-col .jet-ajax-search__form,
.view-all-col,
.btn-archive-view-all a {
    height: 100% !important;
    width: 100%;	
}
.btn-archive-view-all .elementor-button-wrapper,
.btn-archive-view-all .ha-creative-btn-wrap {
	display: flex;
    width: 100%;
}


/* *****************************
 * ELEMENTOR VIDEO BACKGROUND
 * *************************** */
.elementor-background-video-container {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
    z-index: 0;
}
.elementor-background-video-hosted {
    position: absolute !important;
    top: 50%;
    left: 50%;
    width: 100vw !important;  /* Full viewport width for extra coverage */
    height: auto !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    transform: translate(-50%, -50%);
    max-width: none !important;  /* Overrides any max limits */
}


/* *****************************
 * PARALLAX SECTION BACKGROUND
 * *************************** */
.section-bg-parallax {
	/* Adjust the Effect */
    transform: translateZ(-1px) scale(1.15); 
    background-position: center !important;
    position: absolute;
}


/* *****************************
 * FIXED BACKGROUND - OVERRIDE SO ALSO FIXED ON MOBILE
 * Add the class bg-fixed to the section - adjust as needed
 * *************************** */
.bg-fixed,
.bg-fixed .elementor-background-overlay,
.bg-fixed:before {
    background-attachment: fixed !important;
    transform: translateZ(1);
}
.ios .bg-fixed,
.ios .bg-fixed .elementor-background-overlay,
.ios .bg-fixed:before {
    background-attachment: scroll !important;
    transform: translateZ(0); /* This can help with rendering */
}
html:not(.ios) .bg-fixed,
html:not(.ios) .bg-fixed .elementor-background-overlay,
html:not(.ios) .bg-fixed:before {
    background-attachment: fixed !important;
}
@media (max-width: 1040px) {
	.mac .bg-fixed,
	.mac .bg-fixed .elementor-background-overlay,
	.mac .bg-fixed:before,
	.ios .bg-fixed,
	.ios .bg-fixed .elementor-background-overlay,
	.ios .bg-fixed:before {
		background-attachment: scroll !important;
		transform: translateZ(0);
		background-size: cover !important;
		background-repeat: no-repeat !important;
	}
}


/* ******************************
 * FIXED BACKGROUND - APPLE LANDSCAPE TWEAK
 * *************************** */
/* SAFARI */
@media only screen and (orientation: landscape) {
    .e--ua-appleWebkit.e--ua-safari .elementor-element.e-con::before {
        background-attachment: intial !important;
    }
}

/* OTHERS */
@media only screen and (orientation: landscape) {
    .e--ua-appleWebkit .elementor-element.e-con::before {
       background-attachment: initial !important;
    }
}


/* *****************************
 * COLUMN GRADIENT - use col-hover and colorX class on the column and change colors below, can add extra classes for different columns w/different colors
 e.g. Z Demo Content Page Custom Hover Image Boxes
 * *************************** */
.col-hover .elementor-widget-wrap.elementor-element-populated {
    background-color: transparent !important;
    background-image: none !important;
	overflow: hidden;
}
.col-hover .elementor-widget-wrap.elementor-element-populated:before,
.col-hover .elementor-widget-wrap.elementor-element-populated:after {
	content: "";
    display: block;
    position: absolute;
	margin: 1px;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    width: auto;
    height: auto;
	z-index: -1;	
	transition: all .5s ease-out;
}
.col-hover .elementor-widget-wrap.elementor-element-populated:before {
    z-index: -1;
	opacity: 1;
}
.col-hover .elementor-widget-wrap.elementor-element-populated:after {
    z-index: -1;
	opacity: 0;
}
.col-hover .elementor-widget-wrap.elementor-element-populated:hover:before {
	opacity: 0;
}
.col-hover .elementor-widget-wrap.elementor-element-populated:hover:after {
	 opacity: 1;
}
.col-hover.color1 .elementor-widget-wrap.elementor-element-populated:before {
	background-color: #99000050;
    background-image: linear-gradient(180deg, #fff 0%, #99000022 100%);
}
.col-hover.color1 .elementor-widget-wrap.elementor-element-populated:after {
	background-color: #99000050;
    background-image: linear-gradient(180deg, #99000022 0%, #fff 100%);	
}
.col-hover.color2 .elementor-widget-wrap.elementor-element-populated:before {
	background-color: #aaaaaa50;
    background-image: linear-gradient(180deg, #fff 0%, #aaaaaa22 100%);
}
.col-hover.color2 .elementor-widget-wrap.elementor-element-populated:after {
	background-color: #aaaaaa50;
    background-image: linear-gradient(180deg, #aaaaaa22 0%, #fff 100%);	
}


/* *****************************
 * FOR SECTIONS WITH 2 COLS - 1 FULL WIDTH 1 BOXED WIDTH - on Z Demo Content Pg
 * IMPORTANT!!! Change WIDTH BELOW to the TO THE MAX-WIDTH REM ADDED ABOVE in Site Settings > Layout
 * *************************** */
.full-container-boxed-col,
.alt-cols-full-boxed .boxed-col {
	max-width: calc(106rem / 2); /* set site boxed width & divide by 2 */
}

@media (max-width: 1024px){
	.full-container-boxed-col,
	.alt-cols-full-boxed .boxed-col {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
}


/* *****************************
 * SECTION CONTENT COLUMNS with INNER SECTION with PADDED COLUMNS 
   e.g. Z Demo Content Page - Services We Offer Cols
 * *************************** */
.section-content-cols.elementor-section.elementor-section-boxed > .elementor-container,
.section-content-cols.elementor-section.elementor-section-boxed > .elementor-container .inner-section-padded-cols .elementor-container {
	max-width: 77rem !important;
}
.inner-section-padded-cols {
    margin-left: -1rem; 
    margin-right: -1rem;	
}

@media (min-width: 1024px) {
	/* Equal Height */
	.section-content-cols .elementor-column.content-col {
		height: 100% !important;
	}
	.section-content-cols .elementor-inner-section .elementor-column-wrap {
		height: 100%;
		flex-direction: column;
	}
	.section-content-cols .inner-section-padded-cols .elementor-widget-wrap {
		height: 100%;
		flex-direction: column;
	}
	.section-content-cols .elementor-widget-icon {
	    margin-top: auto !important;
		padding: 1rem;
	}
}

@media (max-width: 1024px) {
	/* CONTENT COLUMNS */
	.section-content-cols .content-col.last {
		margin: 0 auto;
	}
}


/* *****************************
 * SECTION 3 COL INSET SHADOWS - like Contact
 * *************************** */
.section-3-cols .col1 {
    border-left: 0px solid #333 !important;
    border-right: 1px solid #000 !important; 
}
.section-3-cols .col2 {
    border-left: 1px solid #333 !important;
    border-right: 1px solid #000 !important;    
}
.section-3-cols .col3 {
    border-left: 1px solid #333 !important;
    border-right: 0px solid #000 !important;
}

@media (max-width:767px) {
    .section-3-cols .col1 {
        border-left: 0px solid #444 !important;
        border-right: 0px solid #000 !important; 
        border-top: 1px solid #444 !important; 
        border-bottom: 1px solid #000 !important;         
    }
    .section-3-cols .col2 {
        border-left: 0px solid #444 !important;
        border-right: 0px solid #000 !important;
        border-top: 1px solid #444 !important;        
        border-bottom: 1px solid #000 !important;        
    }
    .section-3-cols .col3 {
        border-left: 0px solid #444 !important;
        border-right: 0px solid #000 !important;  
        border-top: 1px solid #444 !important;         
    }   
}



/* ******************************************************* *
 *  WST CONTAINERS
 *  split-row-img-txt (image left, text right):
 *  split-col--img-sm + split-col--txt-lg IMG SM + TXT LG
 *  split-col--img-lg + split-col--txt-sm IMG LG + TXT SM
 *
 *  split-row-txt-img (text left, image right):
 *  split-col--txt-sm + split-col--img-lg TXT SM + IMG LG
 *  split-col--txt-lg + split-col--img-sm TXT LG + IMG SM
 *
 *  split-row-txt-boxes:
 *  split-col--txt-sm + split-col--boxes + content-box--img-full
 *
 *  split-fwrow-l-boxed-r-full:
 *  l-boxed + r full
 *
 *  split-fwrow-l-boxed-r-full:
 *     .col-boxed (left, BG full-bleed, content boxed-aligned) + .col-full (right, full-bleed)
 *
 *  split-fwrow-l-full-r-boxed:
 *     .col-full (left, full-bleed) + .col-boxed (right, BG full-bleed, content boxed-aligned)
 *
 *  split-fwrow-l-boxed-r-boxed:
 *     .col-boxed-left + .col-boxed-right (both full-bleed BG, content aligns boxed edges)
 * ****************************************************** */
/* *****************************
 * SPLIT ROW TXT IMG COLUMNS
 * *************************** */
/* Parent Row Containers */
.split-row-img-txt,
.split-row-txt-img {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    width: 100%;
}
.split-row-img-txt.e-con .e-con-inner,
.split-row-txt-img.e-con .e-con-inner {
    gap: .5rem;
}
/* Image Columns */
.split-col--img-sm.e-con {
    width: 35% !important;
    flex: 0 0 35% !important;
    max-width: 35%;
}
.split-col--img-lg.e-con {
    width: 65% !important;
    flex: 0 0 65% !important;
    max-width: 65%;
}
/* Text Columns */
.split-col--txt-sm.e-con {
    width: 35% !important;
    flex: 0 0 35% !important;
    max-width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-sm) var(--space-xs) var(--space-sm) 0 !important;
}
.split-row-img-txt .split-col--txt-sm.e-con {
    padding: var(--space-sm) 0 var(--space-sm) var(--space-xs) !important;
}
.split-col--txt-lg.e-con {
    width: 65% !important;
    flex: 0 0 65% !important;
    max-width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-md) var(--space-sm) !important;
}
/* Tablet: 768px–1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    .split-col--img-sm.e-con,
    .split-col--img-lg.e-con {
        width: 25% !important;
        flex: 0 0 25% !important;
        max-width: 25%;
    }
    .split-col--txt-sm.e-con,
    .split-col--txt-lg.e-con {
        width: 75% !important;
        flex: 0 0 75% !important;
        max-width: 75%;
    }
}
/* Mobile: ≤767px */
@media (max-width: 767px) {
    .split-row-img-txt,
    .split-row-txt-img {
        flex-direction: column !important;
    }
    .split-row-img-txt.e-con .e-con-inner,
    .split-row-txt-img.e-con .e-con-inner {
        flex-direction: column;
        gap: 0.5rem;
    }
    /* Text on top for split-row-img-txt (image is first in DOM) */
    .split-row-img-txt.e-con .e-con-inner {
        flex-direction: column-reverse !important;
    }
    .split-col--img-sm.e-con,
    .split-col--img-lg.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
        min-height: 250px; /* give image column height when stacked */
    }
    .split-col--txt-sm.e-con,
    .split-col--txt-lg.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
        padding: var(--space-sm) var(--space-0) !important;
    }
	.split-row-img-txt .split-col--txt-sm.e-con,
	.split-row-txt-img .split-col--txt-lg.e-con {
		padding: var(--space-sm) var(--space-0) !important;
	}
}

/* *****************************
 * SPLIT ROW TXT + COL BOXES
 * *************************** */
/* Parent Row Container */
.split-row-txt-boxes {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    width: 100%;
}
.split-row-txt-boxes.e-con .e-con-inner {
    gap: var(--space-xs);
    align-items: flex-start;
}
/* Text Label Column */
.split-row-txt-boxes .split-col--txt-sm.e-con {
    align-self: flex-start !important;
}
/* Boxes Column */
.split-col--boxes.e-con {
    width: 65% !important;
    flex: 0 0 65% !important;
    max-width: 65%;
    padding: 0 !important;
    align-self: flex-start !important;
    height: auto !important;
}
.split-col--boxes.e-con > .e-con-inner {
    flex-direction: column !important;
    gap: 1.5rem !important;
    padding: 0 !important;
}
/* Content Box Card */
.content-box.e-con,
.split-col--boxes .content-box.e-con {
    --flex-direction: row !important;
    background: var(--e-global-color-accent) !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    max-width: 100%;
    padding: var(--space-xs) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    align-items: stretch !important;
}
/* Image Column */
.content-box .img.e-con,
.split-col--boxes .content-box .img.e-con {
    width: 38% !important;
    flex: 0 0 38% !important;
    max-width: 38%;
    padding: 0 !important;
    overflow: hidden;
    align-self: stretch !important;
}
.content-box .img.e-con,
.content-box .img.e-con .elementor-widget-raven-image,
.content-box .img.e-con .elementor-widget-container,
.content-box .img.e-con .raven-image {
    height: 100% !important;
}
.content-box .img.e-con img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center top;
    display: block;
}
/* Content Box – Full Height Image Variant */
.content-box--img-full .img.e-con {
    --flex-grow: 1 !important;
    flex-grow: 1 !important;
    align-self: stretch !important;
    height: unset !important;
    min-height: 100% !important;
}
/* Text Column */
.content-box .txt.e-con,
.split-col--boxes .content-box .txt.e-con {
    width: 62% !important;
    flex: 0 0 62% !important;
    max-width: 62%;
    padding: 2.5rem 2.5rem 2rem !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    align-self: stretch !important;
    height: auto !important;
}
.content-box .txt.e-con h3 {
    font-size: var(--wst-card-title);
    margin-bottom: 0.75rem;
}
.content-box .txt.e-con p {
    font-size: var(--wst-card-text);
    margin-bottom: 1.25rem;
}
/* Tablet: ≤1024px */
@media (max-width: 1024px) {
    .split-row-txt-boxes {
        flex-direction: column !important;
    }
    .split-row-txt-boxes.e-con .e-con-inner {
        flex-direction: column !important;
        gap: 1rem;
    }
    .split-row-txt-boxes .split-col--txt-sm.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
        padding: 0 0 1rem 0 !important;
    }
    .split-col--boxes.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
    }
    .content-box.e-con,
    .split-col--boxes .content-box.e-con {
        --flex-direction: row !important;
    }
    .content-box .img.e-con,
    .split-col--boxes .content-box .img.e-con {
        width: 35% !important;
        flex: 0 0 35% !important;
        max-width: 35%;
    }
    .content-box .txt.e-con,
    .split-col--boxes .content-box .txt.e-con {
        width: 65% !important;
        flex: 0 0 65% !important;
        max-width: 65%;
        padding: 2rem 1.75rem !important;
    }
}
/* Mobile: ≤767px */
@media (max-width: 767px) {
    .content-box.e-con,
    .split-col--boxes .content-box.e-con {
        --flex-direction: column !important;	
    }
    .content-box .img.e-con,
    .split-col--boxes .content-box .img.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
    }
    .content-box .txt.e-con,
    .split-col--boxes .content-box .txt.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
        padding: 2rem 0rem !important;
    }
}
/* Mobile: ≤480px */
@media (max-width: 480px) {
    .content-box.e-con,
    .split-col--boxes .content-box.e-con {
        --flex-direction: column !important;
		padding: var(--space-1-5) !important;		
    }
}

/* *******************************************************
 *  FULL WIDTH SPLIT ROW - Boxed Left / Full Right  split-fwrow-l-boxed-r-full
 *  Full-width row: .col-boxed (left) + .col-full (right)
 *  BG fills full left half, content aligns with boxed containers
 * ******************************************************* */
.split-fwrow-l-boxed-r-full.e-con {
    padding: 0 !important;
}
.split-fwrow-l-boxed-r-full.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100% !important;
}
.split-fwrow-l-boxed-r-full .col-boxed.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding-top: var(--space-lg) !important;
    padding-bottom: var(--space-lg) !important;
    padding-left: max(var(--space-xs), calc((100vw - 106rem) / 2 + 2rem)) !important;
    padding-right: var(--space-md) !important;
    box-sizing: border-box;
}
.split-fwrow-l-boxed-r-full .col-full.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding: var(--space-sm) 0  !important;
    overflow: visible;
}
@media (max-width: 1024px) {
    .split-fwrow-l-boxed-r-full .col-boxed.e-con {
        padding-top: var(--space-lg) !important;
        padding-bottom: var(--space-lg) !important;
        padding-left: var(--space-sm) !important;
        padding-right: var(--space-sm) !important;
    }
}
@media (max-width: 767px) {
    .split-fwrow-l-boxed-r-full.e-con > .e-con-inner {
        flex-direction: column !important;
    }
    .split-fwrow-l-boxed-r-full .col-boxed.e-con,
    .split-fwrow-l-boxed-r-full .col-full.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
    }
    .split-fwrow-l-boxed-r-full .col-boxed.e-con {
        padding-top: var(--space-lg) !important;
        padding-bottom: var(--space-lg) !important;
        padding-left: var(--space-xs) !important;
        padding-right: var(--space-xs) !important;
    }
}

/* *******************************************************
 *  FULL WIDTH SPLIT ROW - Full Left / Boxed Right  split-fwrow-l-full-r-boxed
 *  Full-width row: .col-full (left) + .col-boxed (right)
 *  BG fills full right half, content aligns with boxed containers
 * ******************************************************* */
.split-fwrow-l-full-r-boxed.e-con {
    padding: 0 !important;
}
.split-fwrow-l-full-r-boxed.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100% !important;
}
.split-fwrow-l-full-r-boxed .col-full.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding: var(--space-sm) 0 !important;
    overflow: visible;
}
.split-fwrow-l-full-r-boxed .col-boxed.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding-top: var(--space-lg) !important;
    padding-bottom: var(--space-lg) !important;
    padding-left: var(--space-md) !important;
    padding-right: max(var(--space-xs), calc((100vw - 106rem) / 2 + 2rem)) !important;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .split-fwrow-l-full-r-boxed .col-boxed.e-con {
        padding-top: var(--space-lg) !important;
        padding-bottom: var(--space-lg) !important;
        padding-left: var(--space-sm) !important;
        padding-right: var(--space-sm) !important;
    }
}
@media (max-width: 767px) {
    .split-fwrow-l-full-r-boxed.e-con > .e-con-inner {
        flex-direction: column !important;
    }
    .split-fwrow-l-full-r-boxed .col-full.e-con,
    .split-fwrow-l-full-r-boxed .col-boxed.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
    }
    .split-fwrow-l-full-r-boxed .col-boxed.e-con {
        padding-top: var(--space-lg) !important;
        padding-bottom: var(--space-lg) !important;
        padding-left: var(--space-xs) !important;
        padding-right: var(--space-xs) !important;
    }
}

/* *******************************************************
 *  FULL WIDTH SPLIT ROW - Boxed Left / Boxed Right  split-fwrow-l-boxed-r-boxed
 *  Full-width row: .col-boxed-left (left) + .col-boxed-right (right)
 *  Both halves have full BG, content aligns with boxed edges meeting at center
 * ******************************************************* */
.split-fwrow-l-boxed-r-boxed.e-con {
    padding: 0 !important;
}
.split-fwrow-l-boxed-r-boxed.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100% !important;
}
.split-fwrow-l-boxed-r-boxed .col-boxed-left.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding-left: max(var(--space-xs), calc((100vw - 106rem) / 2 + var(--space-xs))) !important;
    padding-right: var(--space-md) !important;
    box-sizing: border-box;
}
.split-fwrow-l-boxed-r-boxed .col-boxed-right.e-con {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50%;
    padding-left: var(--space-md) !important;
    padding-right: max(var(--space-xs), calc((100vw - 106rem) / 2 + var(--space-xs))) !important;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .split-fwrow-l-boxed-r-boxed .col-boxed-left.e-con,
    .split-fwrow-l-boxed-r-boxed .col-boxed-right.e-con {
        padding-left: var(--space-sm) !important;
        padding-right: var(--space-sm) !important;
    }
}
@media (max-width: 767px) {
    .split-fwrow-l-boxed-r-boxed.e-con > .e-con-inner {
        flex-direction: column !important;
    }
    .split-fwrow-l-boxed-r-boxed .col-boxed-left.e-con,
    .split-fwrow-l-boxed-r-boxed .col-boxed-right.e-con {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100%;
        padding-left: var(--space-xs) !important;
        padding-right: var(--space-xs) !important;
    }
}

/* *****************************
 * INNER CONTAINER LAYOUTS
 * *************************** */
/* 2-Column Text with Divider */
.text-2-cols {
    display: flex !important;
    flex-direction: row !important;
    gap: var(--space-sm) !important;
    margin: var(--space-xs) 0 !important;
}
.text-2-cols > .elementor-element:first-child {
    border-right: 1px solid #000;
    padding-right: var(--space-xs);
    text-align: right;
}
/* Stack at ≤1024px, no divider */
@media (max-width: 1024px) {
    .text-2-cols {
        flex-direction: column !important;
        gap: 0 !important;
        margin: 0 !important;
    }
    .text-2-cols > .elementor-element:first-child,
    .text-2-cols .elementor-element {
        border-right: none;
        padding-right: 0;
        text-align: center !important;
    }
}


