/* Entrance effects for the five institutional pages; no layout properties. */
.bf-page-motion.animated {
	--bf-page-rise: 22px;
	animation-duration: 700ms;
	animation-delay: var(--bf-page-delay, 0ms);
	animation-timing-function: cubic-bezier(.22, 1, .36, 1);
	animation-fill-mode: both;
}
.bf-page-motion.animated-fast { animation-duration: 500ms; }
.bf-page-motion.animated-slow { animation-duration: 850ms; }
.bf-page-motion.fadeInUp { animation-name: bf-page-rise; }
.bf-page-motion.fadeIn { animation-name: bf-page-fade; }
.bf-page-motion.zoomIn { animation-name: bf-page-image; }

/* CSS delays retain their spacing even when browser timers run together. */
.bf-page-delay-80 { --bf-page-delay: 80ms; }
.bf-page-delay-100 { --bf-page-delay: 100ms; }
.bf-page-delay-120 { --bf-page-delay: 120ms; }
.bf-page-delay-160 { --bf-page-delay: 160ms; }
.bf-page-delay-180 { --bf-page-delay: 180ms; }
.bf-page-delay-200 { --bf-page-delay: 200ms; }
.bf-page-delay-240 { --bf-page-delay: 240ms; }
.bf-page-delay-260 { --bf-page-delay: 260ms; }

/* Independent transforms preserve existing positioning and transforms. */
@keyframes bf-page-rise {
	from { opacity: 0; translate: 0 var(--bf-page-rise, 22px); }
	to { opacity: 1; translate: none; }
}
@keyframes bf-page-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes bf-page-image {
	from { opacity: 0; scale: .985; }
	to { opacity: 1; scale: none; }
}

@media (max-width: 767px) {
	.bf-page-motion.animated {
		--bf-page-rise: 12px;
		--bf-page-delay: 0ms;
		animation-duration: 600ms;
		animation-timing-function: cubic-bezier(.2, .65, .3, 1);
	}
	.bf-page-motion.animated-fast { animation-duration: 400ms; }
	.bf-page-motion.animated-slow { animation-duration: 650ms; }
	.bf-page-motion.bf-page-secondary.animated { --bf-page-delay: 70ms; }
	.bf-page-motion.bf-page-copy.animated { --bf-page-delay: 110ms; }
	.bf-page-motion.bf-page-action.animated { --bf-page-delay: 180ms; }
	.bf-page-mobile-static {
		visibility: visible !important;
		opacity: 1 !important;
		animation: none !important;
	}
	/* Cards enter as they reach the viewport in the mobile reading order. */
	.bf-page-cards .bf-cards {
		--bf-entrance-distance: 12;
		--bf-entrance-duration: 600;
		--bf-entrance-delay: 0;
		--bf-entrance-stagger: 0;
	}
}

.bf-page-motion:focus-within {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
}
@media (prefers-reduced-motion: reduce), print {
	.bf-page-motion {
		visibility: visible !important;
		opacity: 1 !important;
		animation: none !important;
	}
}
