/* Motion: keyframes used by more than one section, and the reduced-motion switch. */
@media (prefers-reduced-motion: reduce) {
	.px *,
	.px *::before,
	.px *::after {
		animation: none !important;
		transition: none !important;
	}
}

@keyframes rise {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes pop {
	from {
		opacity: 0;
		transform: translateY(10px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes scrollshot {
	0%,
	8% {
		object-position: 50% 0;
	}

	92%,
	100% {
		object-position: 50% 100%;
	}
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes fillx {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes slidein {
	from {
		transform: translateX(100%);
	}

	to {
		transform: none;
	}
}

@keyframes logline {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* Not used by any rule at the moment. */
@keyframes sheetup {
	from {
		opacity: 0;
		transform: translateY(24px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes eq {
	0%,
	100% {
		transform: scaleY(0.4);
	}

	50% {
		transform: scaleY(1);
	}
}

@keyframes newpost {
	0%,
	5% {
		opacity: 0;
		transform: translateY(-10px);
	}

	11%,
	92% {
		opacity: 1;
		transform: none;
	}

	98%,
	100% {
		opacity: 0;
	}
}
