/* Class Animations for Elementor */
.cae-element { will-change: transform, opacity; }

.cae-fade-up,
.cae-hero-title,
.cae-image-reveal,
.cae-slide-left,
.cae-slide-right,
.cae-fade-in,
.cae-zoom-in {
	opacity: 0;
}

.cae-fade-up { transform: translateY(var(--cae-distance, 40px)); }
.cae-hero-title { transform: translateY(var(--cae-distance, 60px)); }
.cae-image-reveal { transform: translateY(var(--cae-distance, 60px)); }
.cae-slide-left { transform: translateX(calc(var(--cae-distance, 60px) * -1)); }
.cae-slide-right { transform: translateX(var(--cae-distance, 60px)); }
.cae-zoom-in { transform: scale(.92); }

.cae-fade-up,
.cae-hero-title,
.cae-image-reveal,
.cae-slide-left,
.cae-slide-right,
.cae-fade-in,
.cae-zoom-in {
	transition-property: opacity, transform;
	transition-duration: var(--cae-duration, 700ms);
	transition-delay: var(--cae-delay, 0ms);
	transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

.cae-visible {
	opacity: 1;
	transform: translate3d(0,0,0) scale(1);
}

/* Hover effects */
.cae-hover-lift,
.cae-hover-lift-large,
.cae-hover-scale,
.cae-hover-scale-small,
.cae-hover-slide-right {
	transition: transform .35s ease, box-shadow .35s ease;
}

.cae-hover-lift:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(15,62,24,.12);
}

.cae-hover-lift-large:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 60px rgba(0,0,0,.10);
}

.cae-hover-scale:hover { transform: scale(1.04); }
.cae-hover-scale-small:hover { transform: scale(1.015); }
.cae-hover-slide-right:hover { transform: translateX(6px); }

/* Parallax is updated by JavaScript */
.cae-parallax {
	will-change: transform;
	transform: translate3d(0,0,0);
}

/* Counter */
.cae-counter {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.cae-element,
	.cae-element *,
	.cae-hover-lift,
	.cae-hover-lift-large,
	.cae-hover-scale,
	.cae-hover-scale-small,
	.cae-hover-slide-right {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
