/*
 * Scroll reveals for page content.
 *
 * Elements are tagged by reveal.js, never by hand, so the effect survives
 * Elementor edits. A 26px rise is enough to be noticed without reading as a
 * page that has not finished loading.
 */

.rb-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 700ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: var(--rb-reveal-delay, 0ms);
	will-change: opacity, transform;
}

.rb-reveal.is-visible {
	opacity: 1;
	transform: none;
	will-change: auto;
}

/* Never let a failed observer leave content invisible. */
.no-js .rb-reveal,
.rb-reveal-off .rb-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.rb-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
