/*	–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
	CORE/SCROLLREVEAL/CLASSES.CSS
	––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/**
 * VISIOFRAMEWORK
 * This file is part of VISIOFRAMEWORK.
 * @package		visioframework
 * @author		Agência Visio <contato@agenciavisio.com.br>
 * @copyright	Copyright (c) 2023-present. M. Souza & Souza LTDA. (CNPJ: 21.284.748/0001-33). All rights reserved.
 * @license		Proprietary
 * @link		https://www.agenciavisio.com.br
 */

/* What functions.js hides until it enters the viewport. Never in the markup: a page whose script fails shows it all */
.reveal--pending {
	opacity: 0 !important;
}

/* A hero caption enters from the first paint, before any script, with the motion functions.js plays */
@keyframes reveal--slide-upward {
	from { opacity: 0; translate: 0 150%; }
}

@keyframes reveal--slide-downward {
	from { opacity: 0; translate: 0 -150%; }
}

@keyframes reveal--slide-leftward {
	from { opacity: 0; translate: 150% 0; }
}

@keyframes reveal--slide-rightward {
	from { opacity: 0; translate: -150% 0; }
}

@keyframes reveal--fade-in {
	from { opacity: 0; }
}

[data-reveal='slide-upward']	{ --reveal-name: reveal--slide-upward; }
[data-reveal='slide-downward']	{ --reveal-name: reveal--slide-downward; }
[data-reveal='slide-leftward']	{ --reveal-name: reveal--slide-leftward; }
[data-reveal='slide-rightward']	{ --reveal-name: reveal--slide-rightward; }
[data-reveal='fade-in']			{ --reveal-name: reveal--fade-in; }

[data-reveal-delay='300']		{ --reveal-delay: 300ms; }
[data-reveal-delay='600']		{ --reveal-delay: 600ms; }
[data-reveal-delay='900']		{ --reveal-delay: 900ms; }
[data-reveal-delay='1200']		{ --reveal-delay: 1200ms; }

[data-reveal-duration='150']	{ --reveal-duration: 150ms; }
[data-reveal-duration='300']	{ --reveal-duration: 300ms; }
[data-reveal-duration='1200']	{ --reveal-duration: 1200ms; }
[data-reveal-duration='2400']	{ --reveal-duration: 2400ms; }

[data-reveal-load] {
	animation: var(--reveal-name) var(--reveal-duration, 600ms) cubic-bezier(0.5, 0, 0, 1) var(--reveal-delay, 0ms) backwards;
}

/* A slider's later slide is off screen at the first paint: its caption enters with the slide, in functions.js */
.hero-slider--slide--later [data-reveal-load] {
	animation: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal-load]:not([data-reveal-respect-reduced-motion='false']) {
		animation: none;
	}
}
