/* KS LP Blocks — section animations */
[data-kslp-anim]:not([data-kslp-anim="none"]):not(.is-visible) {
	opacity: 0;
}

.kslp-anim {
	opacity: 0;
	will-change: transform, opacity;
	animation-duration: var(--kslp-anim-duration, 700ms);
	animation-delay: var(--kslp-anim-delay, 0ms);
	animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
	animation-fill-mode: both;
}


.kslp-anim.is-visible {
	opacity: 1;
}

.kslp-anim--fade-in.is-visible {
	animation-name: kslpFadeIn;
}

.kslp-anim--fade-up.is-visible {
	animation-name: kslpFadeUp;
}

.kslp-anim--fade-down.is-visible {
	animation-name: kslpFadeDown;
}

.kslp-anim--zoom-in.is-visible {
	animation-name: kslpZoomIn;
}

.kslp-anim--slide-left.is-visible {
	animation-name: kslpSlideLeft;
}

.kslp-anim--slide-right.is-visible {
	animation-name: kslpSlideRight;
}

@keyframes kslpFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes kslpFadeUp {
	from { opacity: 0; transform: translateY(40px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes kslpFadeDown {
	from { opacity: 0; transform: translateY(-40px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes kslpZoomIn {
	from { opacity: 0; transform: scale(0.92); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes kslpSlideLeft {
	from { opacity: 0; transform: translateX(60px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes kslpSlideRight {
	from { opacity: 0; transform: translateX(-60px); }
	to { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.kslp-anim {
		opacity: 1 !important;
		animation: none !important;
	}
}
