/* Add animatedLists (without a dot) to a list or its enclosing container. */
.animatedLists {
	--aps-list-duration: 550ms;
	--aps-list-stagger: 100ms;
	--aps-list-distance: 12px;
}

/* Content stays visible without JavaScript. Only viewport-triggered items animate.
 * Individual translate preserves any transform supplied by the theme.
 * Backwards fill hides delayed items; no forwards fill locks their final styles.
 */
.animatedLists ul > li.aps-list-enter,
ul.animatedLists > li.aps-list-enter {
	animation-name: aps-list-enter;
	animation-duration: var(--aps-list-duration, 550ms);
	animation-delay: calc(var(--aps-list-index, 0) * var(--aps-list-stagger, 100ms));
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-fill-mode: backwards;
	animation-iteration-count: 1;
}

@keyframes aps-list-enter {
	from {
		opacity: 0;
		translate: calc(-1 * var(--aps-list-distance, 12px)) 0;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@media (prefers-reduced-motion: reduce), print {
	.animatedLists ul > li.aps-list-enter,
	ul.animatedLists > li.aps-list-enter {
		animation: none;
	}
}
