/*
 * Stratum Responsive Hero 6.2.16
 *
 * WPBakery is the single source of content. Stratum only provides responsive
 * art direction (<picture>) and optional alignment. No content cloning, no
 * responsive font resizing, no JavaScript and no ThemeMount image opacity.
 *
 * Breakpoints:
 * Desktop >= 1201px
 * Tablet  768px - 1200px
 * Mobile  <= 767px
 */

.stratum-responsive-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* A custom Stratum picture replaces only the visual background. The legacy
 * ThemeMount overlay/video is disabled so it cannot tint the selected image. */
.stratum-responsive-hero.stratum-hero-has-picture > .tm-row-wrapper-bg-layer,
.stratum-responsive-hero.stratum-hero-has-picture > .vc_video-bg {
	display: none !important;
}

.stratum-responsive-hero > .stratum-responsive-hero-picture {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 0 !important;
	pointer-events: none;
	overflow: hidden;
	background: transparent !important;
	opacity: 1 !important;
	filter: none !important;
	-webkit-filter: none !important;
	mix-blend-mode: normal !important;
}

.stratum-responsive-hero > .stratum-responsive-hero-picture > img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 1 !important;
	filter: none !important;
	-webkit-filter: none !important;
	mix-blend-mode: normal !important;
	background: transparent !important;
	transform: none !important;
}

/* Keep WPBakery's original DOM hierarchy. We only lift its normal direct
 * content above the decorative picture; no wrapper is inserted around it. */
.stratum-responsive-hero > .vc_row,
.stratum-responsive-hero > .container,
.stratum-responsive-hero > .wpb_column,
.stratum-responsive-hero > .vc_column_container,
.stratum-responsive-hero > [class*="vc_col-"] {
	position: relative;
	z-index: 2;
}

@media (min-width: 1201px) {
	.stratum-responsive-hero.stratum-hero-has-desktop-height {
		min-height: var(--stratum-hero-desktop-height) !important;
	}
	.stratum-responsive-hero > .stratum-responsive-hero-picture > img {
		object-fit: var(--stratum-hero-desktop-fit, cover) !important;
		object-position: var(--stratum-hero-desktop-position, center center) !important;
	}
}

@media (min-width: 768px) and (max-width: 1200px) {
	.stratum-responsive-hero.stratum-hero-has-tablet-height {
		min-height: var(--stratum-hero-tablet-height) !important;
	}
	.stratum-responsive-hero > .stratum-responsive-hero-picture > img {
		object-fit: var(--stratum-hero-tablet-fit, cover) !important;
		object-position: var(--stratum-hero-tablet-position, center center) !important;
	}
}

@media (max-width: 767px) {
	.stratum-responsive-hero.stratum-hero-has-mobile-height {
		min-height: var(--stratum-hero-mobile-height) !important;
	}
	.stratum-responsive-hero > .stratum-responsive-hero-picture > img {
		object-fit: var(--stratum-hero-mobile-fit, cover) !important;
		object-position: var(--stratum-hero-mobile-position, center center) !important;
	}
}

/* Alignment-only overrides. They do not alter font family, font size, line
 * height, color, margins, padding, animation classes or column widths. */
@media (min-width: 1201px) {
	.stratum-responsive-hero.stratum-hero-align-desktop-left,
	.stratum-responsive-hero.stratum-hero-align-desktop-left .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-desktop-left .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-desktop-left .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-desktop-left .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-desktop-left p,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h1,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h2,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h3,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h4,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h5,
	.stratum-responsive-hero.stratum-hero-align-desktop-left h6 { text-align: left !important; }

	.stratum-responsive-hero.stratum-hero-align-desktop-center,
	.stratum-responsive-hero.stratum-hero-align-desktop-center .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-desktop-center .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-desktop-center .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-desktop-center .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-desktop-center p,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h1,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h2,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h3,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h4,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h5,
	.stratum-responsive-hero.stratum-hero-align-desktop-center h6 { text-align: center !important; }

	.stratum-responsive-hero.stratum-hero-align-desktop-right,
	.stratum-responsive-hero.stratum-hero-align-desktop-right .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-desktop-right .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-desktop-right .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-desktop-right .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-desktop-right p,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h1,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h2,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h3,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h4,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h5,
	.stratum-responsive-hero.stratum-hero-align-desktop-right h6 { text-align: right !important; }
}

@media (min-width: 768px) and (max-width: 1200px) {
	.stratum-responsive-hero.stratum-hero-align-tablet-left,
	.stratum-responsive-hero.stratum-hero-align-tablet-left .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-tablet-left .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-tablet-left .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-tablet-left .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-tablet-left p,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h1,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h2,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h3,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h4,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h5,
	.stratum-responsive-hero.stratum-hero-align-tablet-left h6 { text-align: left !important; }

	.stratum-responsive-hero.stratum-hero-align-tablet-center,
	.stratum-responsive-hero.stratum-hero-align-tablet-center .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-tablet-center .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-tablet-center .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-tablet-center .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-tablet-center p,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h1,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h2,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h3,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h4,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h5,
	.stratum-responsive-hero.stratum-hero-align-tablet-center h6 { text-align: center !important; }

	.stratum-responsive-hero.stratum-hero-align-tablet-right,
	.stratum-responsive-hero.stratum-hero-align-tablet-right .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-tablet-right .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-tablet-right .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-tablet-right .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-tablet-right p,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h1,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h2,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h3,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h4,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h5,
	.stratum-responsive-hero.stratum-hero-align-tablet-right h6 { text-align: right !important; }
}

@media (max-width: 767px) {
	.stratum-responsive-hero.stratum-hero-align-mobile-left,
	.stratum-responsive-hero.stratum-hero-align-mobile-left .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-mobile-left .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-mobile-left .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-mobile-left .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-mobile-left p,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h1,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h2,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h3,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h4,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h5,
	.stratum-responsive-hero.stratum-hero-align-mobile-left h6 { text-align: left !important; }

	.stratum-responsive-hero.stratum-hero-align-mobile-center,
	.stratum-responsive-hero.stratum-hero-align-mobile-center .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-mobile-center .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-mobile-center .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-mobile-center .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-mobile-center p,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h1,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h2,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h3,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h4,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h5,
	.stratum-responsive-hero.stratum-hero-align-mobile-center h6 { text-align: center !important; }

	.stratum-responsive-hero.stratum-hero-align-mobile-right,
	.stratum-responsive-hero.stratum-hero-align-mobile-right .wpb_text_column,
	.stratum-responsive-hero.stratum-hero-align-mobile-right .wpb_wrapper,
	.stratum-responsive-hero.stratum-hero-align-mobile-right .vc_custom_heading,
	.stratum-responsive-hero.stratum-hero-align-mobile-right .vc_btn3-container,
	.stratum-responsive-hero.stratum-hero-align-mobile-right p,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h1,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h2,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h3,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h4,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h5,
	.stratum-responsive-hero.stratum-hero-align-mobile-right h6 { text-align: right !important; }
}


/* 6.2.9 — shared WPBakery content visibility
 * WPBakery/Bootstrap can attach vc_hidden-* or hidden-* to the banner column.
 * The server-side vc_column override removes those classes while this hero is
 * rendered. These rules are a structural fallback for cached/alternate column
 * markup and target containers only, so buttons and text retain their display
 * model and formatting. */
@media (max-width: 767px) {
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.vc_hidden-xs,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.vc_hidden-xs,
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.hidden-xs,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.hidden-xs {
		display: block !important;
		visibility: visible !important;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.vc_hidden-sm,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.vc_hidden-sm,
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.hidden-sm,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.hidden-sm {
		display: block !important;
		visibility: visible !important;
	}
}

@media (min-width: 992px) and (max-width: 1200px) {
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.vc_hidden-md,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.vc_hidden-md,
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.hidden-md,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.hidden-md {
		display: block !important;
		visibility: visible !important;
	}
}

@media (min-width: 1201px) {
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.vc_hidden-lg,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.vc_hidden-lg,
	.stratum-responsive-hero.stratum-hero-force-content-visible .vc_column_container.hidden-lg,
	.stratum-responsive-hero.stratum-hero-force-content-visible .wpb_column.hidden-lg {
		display: block !important;
		visibility: visible !important;
	}
}

/* 6.2.15 — clean interaction stack.
 *
 * Previous 6.2.9-6.2.14 compatibility patches assigned z-index values to
 * every nested WPBakery column/wrapper. On phones, an empty second inner
 * column can overlap the visible first column; because both were positioned
 * at z-index:5 and the empty column appears later in the DOM, it won mobile
 * hit-testing even while the CTA underneath remained visible.
 *
 * Keep only the actual media behind the normal WPBakery content. Internal
 * columns return to WPBakery's natural stacking order. No JavaScript bridge,
 * no forced z-index on buttons, and no pointer-event changes on content. */
.stratum-responsive-hero > .stratum-responsive-hero-picture,
.stratum-responsive-hero > .stratum-responsive-hero-picture *,
.stratum-responsive-hero > .tm-row-wrapper-bg-layer,
.stratum-responsive-hero > .tm-row-wrapper-bg-layer *,
.stratum-responsive-hero > .vc_video-bg,
.stratum-responsive-hero > .vc_video-bg * {
    pointer-events: none !important;
}

.stratum-responsive-hero > .stratum-responsive-hero-picture {
    z-index: 0;
}

/* The direct content wrapper sits above the responsive picture. Do not create
 * stacking contexts on its descendant columns/wrappers. */
.stratum-responsive-hero > .container,
.stratum-responsive-hero > .vc_row {
    position: relative;
    z-index: 2;
}

/* Explicitly undo the nested stacking contexts introduced by 6.2.9-6.2.14.
 * !important is required because those versions may still be present in a
 * combined LiteSpeed stylesheet until cache is purged. */
.stratum-responsive-hero .vc_row.vc_inner,
.stratum-responsive-hero .vc_row.vc_inner > .wpb_column,
.stratum-responsive-hero .vc_row.vc_inner > .wpb_column > .vc_column-inner,
.stratum-responsive-hero .vc_row.vc_inner > .wpb_column > .vc_column-inner > .wpb_wrapper {
    z-index: auto !important;
}

/* Ultimate Addons media inside a Stratum picture is decorative only. Keep it
 * from receiving taps without changing WPBakery columns, links or buttons. */
.stratum-responsive-hero.stratum-hero-has-picture > .upb_row_bg,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_row_bg *,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_video-wrapper,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_video-wrapper *,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_video-bg,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_video-bg *,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_bg_overlay,
.stratum-responsive-hero.stratum-hero-has-picture > .upb_bg_overlay * {
    pointer-events: none !important;
}

/* Preserve the browser/WPBakery native interaction model. */
.stratum-responsive-hero a[href],
.stratum-responsive-hero button,
.stratum-responsive-hero input,
.stratum-responsive-hero select,
.stratum-responsive-hero textarea {
    pointer-events: auto;
}


/* 6.2.16 — confirmed mobile WPBakery spacer-column fix.
 *
 * On responsive heroes, a desktop-only empty inner column may stack over the
 * content column after WPBakery collapses the row on phones. The column can be
 * visually empty while still receiving the tap. JavaScript marks only direct
 * inner-row columns whose immediate wpb_wrapper has no child elements and no
 * text. Hiding the marker below 768px reproduces the verified live fix while
 * leaving tablet/desktop layout untouched. */
@media (max-width: 767px) {
    .stratum-responsive-hero .vc_row.vc_inner > .wpb_column.stratum-mobile-empty-column {
        display: none !important;
        pointer-events: none !important;
    }
}
