// Animations - Keyframes and animation utility classes
// This file contains all animation-related definitions

// Animation keyframes
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

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

@keyframes slideInFromTop {
	from {
		opacity: 0;
		transform: translateY(-10px);
		max-height: 0;
	}
	to {
		opacity: 1;
		transform: translateY(0);
		max-height: 500px;
	}
}

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

@keyframes slideOutToTop {
	from {
		opacity: 1;
		transform: translateY(0);
		max-height: 500px;
	}
	to {
		opacity: 0;
		transform: translateY(-10px);
		max-height: 0;
	}
}

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

@keyframes pulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
}

@keyframes shimmer {
	0% {
		background-position: -200px 0;
	}
	100% {
		background-position: calc(200px + 100%) 0;
	}
}

@keyframes scaleIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

// Transition classes
.fade-in {
	animation: fadeIn 0.6s ease-out forwards;
}

.fade-in-delayed {
	opacity: 0;
	animation: fadeIn 0.8s ease-out 0.2s forwards;
}

.fade-in-delayed-more {
	opacity: 0;
	animation: fadeIn 1s ease-out 0.4s forwards;
}

.slide-in-from-top {
	animation: slideInFromTop 0.3s ease-out forwards;
}

.slide-out-to-top {
	animation: slideOutToTop 0.1s ease-in forwards;
}
