/* OW Scroll Text Reveal 1.2.7 — native sticky stage */

.elementor-widget-ow-scroll-text-reveal {
	width: 100%;
	min-width: 0;
}

.ow-str-track {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	overflow: visible !important;
}

.ow-str-sticky {
	position: relative;
	top: auto;
	width: 100%;
	height: 100vh;
	min-height: 420px;
	box-sizing: border-box;
	padding: clamp(24px, 5vw, 80px);
	overflow: hidden;
}

.ow-str-content {
	position: relative;
	width: 100%;
	max-width: var(--ow-str-content-width, 900px);
	height: 100%;
	margin-inline: auto;
}

.ow-str-block {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.ow-str-block__title {
	margin-top: 0;
	margin-bottom: 12px;
	max-width: 100%;
}

.ow-str-block__title p {
	margin: 0;
}

.ow-str-block__title p + p {
	margin-top: 0.25em;
}

.ow-str-block__title > :last-child {
	margin-bottom: 0;
}

.ow-str-block__content > :last-child {
	margin-bottom: 0;
}

.ow-str-text-left .ow-str-block { text-align: left; }
.ow-str-text-center .ow-str-block { text-align: center; }
.ow-str-text-right .ow-str-block { text-align: right; }

/* Only activate overlapping content after JS initializes the widget. */
.ow-str-stage-ready {
	position: sticky !important;
	top: var(--ow-str-offset, 0px) !important;
	align-self: flex-start !important;
	z-index: 2;
	overflow: visible !important;
}

.ow-str-stage-ready .ow-str-content {
	position: relative;
	display: block;
	height: 100%;
}

.ow-str-stage-ready .ow-str-block {
	position: absolute;
	top: var(--ow-str-anchor-y, 50%);
	left: 0;
	width: 100%;
	max-height: none;
	overflow: visible;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, var(--ow-str-anchor-translate-y, -50%), 0);
	transform-origin: center center;
	will-change: opacity, transform, filter;
	pointer-events: none;
}

.ow-str-stage-ready .ow-str-block.is-active {
	visibility: visible;
	pointer-events: auto;
}

.ow-str-static {
	height: auto !important;
	min-height: 0 !important;
}

.ow-str-static .ow-str-sticky {
	position: relative !important;
	top: auto !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

.ow-str-static .ow-str-content {
	height: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 24px;
}

.ow-str-static .ow-str-block {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
	pointer-events: auto !important;
}

/* Elementor editor: show every block in normal document flow. */
body.elementor-editor-active .ow-str-track,
body.elementor-editor-active .ow-str-track.ow-str-js-ready {
	height: auto !important;
	min-height: 0 !important;
}

body.elementor-editor-active .ow-str-sticky,
body.elementor-editor-active .ow-str-stage-ready {
	position: relative !important;
	top: auto !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

body.elementor-editor-active .ow-str-content,
body.elementor-editor-active .ow-str-stage-ready .ow-str-content {
	height: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 24px;
}

body.elementor-editor-active .ow-str-block,
body.elementor-editor-active .ow-str-stage-ready .ow-str-block {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
	pointer-events: auto !important;
}
