.tra-reveal-wrap {
	--tra-stagger: 60ms;
	--tra-duration: 700ms;
	--tra-start-delay: 0ms;
	display: block;
	overflow: visible;
}

.tra-heading {
	margin: 0;
	line-height: 1.25;
}

.tra-heading-link {
	color: inherit;
	text-decoration: none;
}

.tra-item {
	display: inline-block;
	will-change: transform, opacity, filter;
	opacity: 0;
	transition-property: transform, opacity, filter;
	transition-duration: var(--tra-duration);
	transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: calc(var(--tra-start-delay) + (var(--tra-index) * var(--tra-stagger)));
}

.tra-item-letter {
	white-space: pre;
}

.tra-item-line {
	display: block;
}

/* Fade Up */
.tra-reveal-wrap[data-tra-animation="fade-up"] .tra-item {
	transform: translateY(45px);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="fade-up"] .tra-item {
	opacity: 1;
	transform: translateY(0);
}

/* Fade Down */
.tra-reveal-wrap[data-tra-animation="fade-down"] .tra-item {
	transform: translateY(-45px);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="fade-down"] .tra-item {
	opacity: 1;
	transform: translateY(0);
}

/* Simple Fade */
.tra-reveal-wrap[data-tra-animation="fade-in"] .tra-item {
	transform: none;
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="fade-in"] .tra-item {
	opacity: 1;
}

/* Slide From Left */
.tra-reveal-wrap[data-tra-animation="slide-left"] .tra-item {
	transform: translateX(-60px);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="slide-left"] .tra-item {
	opacity: 1;
	transform: translateX(0);
}

/* Slide From Right */
.tra-reveal-wrap[data-tra-animation="slide-right"] .tra-item {
	transform: translateX(60px);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="slide-right"] .tra-item {
	opacity: 1;
	transform: translateX(0);
}

/* Zoom In */
.tra-reveal-wrap[data-tra-animation="zoom-in"] .tra-item {
	transform: scale(0.4);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="zoom-in"] .tra-item {
	opacity: 1;
	transform: scale(1);
}

/* Blur In */
.tra-reveal-wrap[data-tra-animation="blur-in"] .tra-item {
	filter: blur(10px);
	transform: translateY(20px);
}
.tra-reveal-wrap.tra-in-view[data-tra-animation="blur-in"] .tra-item {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

/* Editor preview: always show items so it's editable in Elementor editor */
.elementor-editor-active .tra-item {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	transition: none !important;
}
