/* Barbary Plante — shared reveal-on-scroll animation.
 *
 * Every element that should fade / translate in receives
 * `data-bp-reveal="true"` (handled by the widget template). The
 * JS file `bp-reveal.js` adds `.is-revealed` to each
 * `[data-bp-reveal]` element the first time it enters the
 * viewport.
 *
 * Decorative botanicals / branches / leaves / ornaments
 * (matched by class fragment) are EXCLUDED from this rule so
 * that they appear static the moment the page paints. They
 * must never fade in, translate, scale, or transition into
 * view. The widget still controls Width / X / Y / Rotation /
 * Opacity for these elements; only the entrance animation is
 * suppressed here.
 */

[data-bp-reveal]:not([class*="__botanical"]):not([class*="__botanical-motion"]):not([class*="__leaves"]):not([class*="__leaves-motion"]):not([class*="__decor"]):not([class*="__decoration"]):not([class*="__branch"]):not([class*="__branch-svg"]):not([class*="__foliage"]):not([class*="__ornament"]):not(.bp-botanical):not(.bp-decor):not(.bp-leaf) {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 600ms ease, transform 600ms ease;
	will-change: opacity, transform;
}

[data-bp-reveal].is-revealed:not([class*="__botanical"]):not([class*="__botanical-motion"]):not([class*="__leaves"]):not([class*="__leaves-motion"]):not([class*="__decor"]):not([class*="__decoration"]):not([class*="__branch"]):not([class*="__branch-svg"]):not([class*="__foliage"]):not([class*="__ornament"]):not(.bp-botanical):not(.bp-decor):not(.bp-leaf) {
	opacity: 1;
	transform: none;
}

[data-bp-reveal][data-bp-stagger="1"] { transition-delay: 80ms; }
[data-bp-reveal][data-bp-stagger="2"] { transition-delay: 160ms; }
[data-bp-reveal][data-bp-stagger="3"] { transition-delay: 240ms; }
[data-bp-reveal][data-bp-stagger="4"] { transition-delay: 320ms; }
[data-bp-reveal][data-bp-stagger="5"] { transition-delay: 400ms; }
[data-bp-reveal][data-bp-stagger="6"] { transition-delay: 480ms; }
[data-bp-reveal][data-bp-stagger="7"] { transition-delay: 560ms; }
[data-bp-reveal][data-bp-stagger="8"] { transition-delay: 640ms; }

@media (prefers-reduced-motion: reduce) {
	[data-bp-reveal],
	[data-bp-reveal].is-revealed {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
