/*
 * Keep Elementor entrance animations subtle.
 *
 * Elementor's directional effects normally use percentages or values up to
 * 1000px. Override only the movement distance here; opacity, scale, rotation,
 * easing, and duration continue to come from Elementor.
 */

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 50px, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -50px, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-50px, 0, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(50px, 0, 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes slideInUp {
	from {
		transform: translate3d(0, 50px, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes slideInDown {
	from {
		transform: translate3d(0, -50px, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes slideInLeft {
	from {
		transform: translate3d(-50px, 0, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes slideInRight {
	from {
		transform: translate3d(50px, 0, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes bounceInLeft {
	0% {
		opacity: 0;
		transform: translate3d(-50px, 0, 0);
	}
	60% {
		opacity: 1;
		transform: translate3d(5px, 0, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes bounceInRight {
	0% {
		opacity: 0;
		transform: translate3d(50px, 0, 0);
	}
	60% {
		opacity: 1;
		transform: translate3d(-5px, 0, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes bounceInUp {
	0% {
		opacity: 0;
		transform: translate3d(0, 50px, 0);
	}
	60% {
		opacity: 1;
		transform: translate3d(0, -5px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes bounceInDown {
	0% {
		opacity: 0;
		transform: translate3d(0, -50px, 0);
	}
	60% {
		opacity: 1;
		transform: translate3d(0, 5px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes zoomInUp {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 50px, 0);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -5px, 0);
	}
	to {
		transform: none;
	}
}

@keyframes zoomInDown {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -50px, 0);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 5px, 0);
	}
	to {
		transform: none;
	}
}

@keyframes zoomInLeft {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(-50px, 0, 0);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(5px, 0, 0);
	}
	to {
		transform: none;
	}
}

@keyframes zoomInRight {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(50px, 0, 0);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(-5px, 0, 0);
	}
	to {
		transform: none;
	}
}

@keyframes lightSpeedIn {
	from {
		opacity: 0;
		transform: translate3d(50px, 0, 0) skewX(-30deg);
	}
	60% {
		opacity: 1;
		transform: skewX(20deg);
	}
	80% {
		transform: skewX(-5deg);
	}
	to {
		transform: none;
	}
}

@keyframes rollIn {
	from {
		opacity: 0;
		transform: translate3d(-50px, 0, 0) rotate3d(0, 0, 1, -120deg);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
