[data-kb-anim] {
	--kb-anim-duration: 600ms;
	--kb-anim-delay: 0ms;
	--kb-anim-distance: 1.5rem;
	--kb-anim-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
	--kb-anim-stagger: 0ms;
	--kb-anim-intensity: 1;
	--kb-anim-iterations: 1;
}

.kb-anim-word,
.kb-anim-char {
	display: inline;
	white-space: pre-wrap;
}

@media (prefers-reduced-motion: no-preference) {
	.kb-js [data-kb-anim-type='text']:not([data-kb-anim-ready]) {
		opacity: 0;
	}

	.kb-js [data-kb-anim-type='reveal'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track-type='reveal'] > *,
	.kb-js [data-kb-anim-track-type='reveal'] > [data-kb-anim-child] {
		opacity: 0;
		transition-property: opacity, translate, scale, rotate, transform, filter, clip-path;
		transition-duration: var(--kb-anim-duration);
		transition-timing-function: var(--kb-anim-ease);
		transition-delay: calc(var(--kb-anim-delay) + (var(--kb-anim-index, 0) * var(--kb-anim-stagger)));
		will-change: opacity, translate;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(1) {
		--kb-anim-index: 0;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(2) {
		--kb-anim-index: 1;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(3) {
		--kb-anim-index: 2;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(4) {
		--kb-anim-index: 3;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(5) {
		--kb-anim-index: 4;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(6) {
		--kb-anim-index: 5;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(7) {
		--kb-anim-index: 6;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(8) {
		--kb-anim-index: 7;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(9) {
		--kb-anim-index: 8;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(10) {
		--kb-anim-index: 9;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(11) {
		--kb-anim-index: 10;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(12) {
		--kb-anim-index: 11;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(13) {
		--kb-anim-index: 12;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(14) {
		--kb-anim-index: 13;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(15) {
		--kb-anim-index: 14;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(16) {
		--kb-anim-index: 15;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(17) {
		--kb-anim-index: 16;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(18) {
		--kb-anim-index: 17;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(19) {
		--kb-anim-index: 18;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(20) {
		--kb-anim-index: 19;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(21) {
		--kb-anim-index: 20;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(22) {
		--kb-anim-index: 21;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(23) {
		--kb-anim-index: 22;
	}

	.kb-js [data-kb-anim-track] > *:nth-child(24) {
		--kb-anim-index: 23;
	}

	.kb-js [data-kb-anim-track]:not([data-kb-anim-ready]) > *,
	.kb-js [data-kb-anim-track]:not([data-kb-anim-ready]) > [data-kb-anim-child] {
		transition: none;
	}

	.kb-js [data-kb-anim-track] > .wp-block-cover__background,
	.kb-js [data-kb-anim-track] > .wp-block-cover__image-background,
	.kb-js [data-kb-anim-track] > .wp-block-cover__video-background,
	.kb-js [data-kb-anim-track] > .wp-block-cover__gradient-background,
	.kb-js [data-kb-anim-track] > [aria-hidden='true']:not(.kb-anim-word):not(.kb-anim-char),
	.kb-js [data-kb-anim-track] > [inert]:not(.kb-anim-word):not(.kb-anim-char),
	.kb-js [data-kb-anim-track] > style,
	.kb-js [data-kb-anim-track] > script {
		opacity: 1;
		transition: none;
		animation: none;
		translate: none;
		scale: none;
		rotate: none;
		transform: none;
		will-change: auto;
	}

	.kb-js [data-kb-anim='up'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='up'] > *,
	.kb-js [data-kb-anim-track='up'] > [data-kb-anim-child] {
		translate: 0 var(--kb-anim-distance);
	}

	.kb-js [data-kb-anim='down'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='down'] > *,
	.kb-js [data-kb-anim-track='down'] > [data-kb-anim-child] {
		translate: 0 calc(var(--kb-anim-distance) * -1);
	}

	.kb-js [data-kb-anim='from-left'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='from-left'] > *,
	.kb-js [data-kb-anim-track='from-left'] > [data-kb-anim-child] {
		translate: calc(var(--kb-anim-distance) * -1) 0;
	}

	.kb-js [data-kb-anim='from-right'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='from-right'] > *,
	.kb-js [data-kb-anim-track='from-right'] > [data-kb-anim-child] {
		translate: var(--kb-anim-distance) 0;
	}

	.kb-js [data-kb-anim='scale'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='scale'] > *,
	.kb-js [data-kb-anim-track='scale'] > [data-kb-anim-child] {
		scale: 0.94;
	}

	.kb-js [data-kb-anim='scale-down'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='scale-down'] > *,
	.kb-js [data-kb-anim-track='scale-down'] > [data-kb-anim-child] {
		scale: 1.08;
	}

	.kb-js [data-kb-anim='blur'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='blur'] > *,
	.kb-js [data-kb-anim-track='blur'] > [data-kb-anim-child] {
		filter: blur(0.5rem);
	}

	.kb-js [data-kb-anim='roll'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='roll'] > *,
	.kb-js [data-kb-anim-track='roll'] > [data-kb-anim-child] {
		transform: translateX(calc(var(--kb-anim-distance) * -1)) rotate(-15deg);
	}

	.kb-js [data-kb-anim='wipe-up'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='wipe-up'] > *,
	.kb-js [data-kb-anim-track='wipe-up'] > [data-kb-anim-child] {
		opacity: 1;
		clip-path: inset(100% 0 0 0);
	}

	.kb-js [data-kb-anim='wipe-right'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='wipe-right'] > *,
	.kb-js [data-kb-anim-track='wipe-right'] > [data-kb-anim-child] {
		opacity: 1;
		clip-path: inset(0 100% 0 0);
	}

	.kb-js [data-kb-anim='iris'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='iris'] > *,
	.kb-js [data-kb-anim-track='iris'] > [data-kb-anim-child] {
		opacity: 1;
		clip-path: circle(0% at 50% 50%);
	}

	.kb-js [data-kb-anim-type='reveal'][data-kb-anim-mode='self'][data-kb-anim-state='in'],
	.kb-js [data-kb-anim-track-type='reveal'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track-type='reveal'][data-kb-anim-state='in'] > [data-kb-anim-child] {
		opacity: 1;
		translate: 0 0;
		scale: 1;
		rotate: 0deg;
		transform: none;
		will-change: auto;
	}

	.kb-js [data-kb-anim='blur'][data-kb-anim-state='in'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='blur'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track='blur'][data-kb-anim-state='in'] > [data-kb-anim-child] {
		filter: blur(0);
	}

	.kb-js [data-kb-anim='wipe-up'][data-kb-anim-state='in'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim='wipe-right'][data-kb-anim-state='in'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='wipe-up'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track='wipe-up'][data-kb-anim-state='in'] > [data-kb-anim-child],
	.kb-js [data-kb-anim-track='wipe-right'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track='wipe-right'][data-kb-anim-state='in'] > [data-kb-anim-child] {
		clip-path: inset(0 0 0 0);
	}

	.kb-js [data-kb-anim='iris'][data-kb-anim-state='in'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track='iris'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track='iris'][data-kb-anim-state='in'] > [data-kb-anim-child] {
		clip-path: circle(75% at 50% 50%);
	}

	.kb-js [data-kb-anim-type='attention'][data-kb-anim-mode='self'],
	.kb-js [data-kb-anim-track-type='attention'] > *,
	.kb-js [data-kb-anim-track-type='attention'] > [data-kb-anim-child] {
		opacity: 0;
	}

	.kb-js [data-kb-anim-type='attention'][data-kb-anim-mode='self'][data-kb-anim-state='in'],
	.kb-js [data-kb-anim-track-type='attention'][data-kb-anim-state='in'] > *,
	.kb-js [data-kb-anim-track-type='attention'][data-kb-anim-state='in'] > [data-kb-anim-child] {
		animation-name: kb-fade-in, var(--kb-anim-effect);
		animation-duration: var(--kb-anim-duration);
		animation-delay: calc(var(--kb-anim-delay) + (var(--kb-anim-index, 0) * var(--kb-anim-stagger)));
		animation-timing-function: var(--kb-anim-ease);
		animation-fill-mode: both;
		animation-iteration-count: 1, var(--kb-anim-iterations);
	}

	[data-kb-anim='bounce'][data-kb-anim-mode='self'],
	[data-kb-anim-track='bounce'] > *,
	[data-kb-anim-track='bounce'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-bounce;
	}

	[data-kb-anim='pulse'][data-kb-anim-mode='self'],
	[data-kb-anim-track='pulse'] > *,
	[data-kb-anim-track='pulse'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-pulse;
	}

	[data-kb-anim='shake'][data-kb-anim-mode='self'],
	[data-kb-anim-track='shake'] > *,
	[data-kb-anim-track='shake'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-shake;
	}

	[data-kb-anim='float'][data-kb-anim-mode='self'],
	[data-kb-anim-track='float'] > *,
	[data-kb-anim-track='float'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-float;
	}

	[data-kb-anim='swing'][data-kb-anim-mode='self'],
	[data-kb-anim-track='swing'] > *,
	[data-kb-anim-track='swing'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-swing;
		transform-origin: top center;
	}

	[data-kb-anim='jelly'][data-kb-anim-mode='self'],
	[data-kb-anim-track='jelly'] > *,
	[data-kb-anim-track='jelly'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-jelly;
	}

	[data-kb-anim='wiggle'][data-kb-anim-mode='self'],
	[data-kb-anim-track='wiggle'] > *,
	[data-kb-anim-track='wiggle'] > [data-kb-anim-child] {
		--kb-anim-effect: kb-wiggle;
	}

	@supports (animation-timeline: view()) {
		[data-kb-anim-type='scroll'] {
			animation-name: var(--kb-anim-effect);
			animation-duration: 1ms;
			animation-timing-function: linear;
			animation-fill-mode: both;
			animation-timeline: view();
			animation-range: var(--kb-anim-range, entry cover);
			will-change: transform, opacity;
		}

		[data-kb-anim='parallax-up'] {
			--kb-anim-effect: kb-parallax-y;
		}

		[data-kb-anim='parallax-down'] {
			--kb-anim-effect: kb-parallax-y-reverse;
		}

		[data-kb-anim='parallax-left'] {
			--kb-anim-effect: kb-parallax-x;
		}

		[data-kb-anim='parallax-right'] {
			--kb-anim-effect: kb-parallax-x-reverse;
		}

		[data-kb-anim='scrub-fade'] {
			--kb-anim-effect: kb-scrub-fade;
		}

		[data-kb-anim='scrub-scale'] {
			--kb-anim-effect: kb-scrub-scale;
		}

		[data-kb-anim='scrub-rotate'] {
			--kb-anim-effect: kb-scrub-rotate;
		}

		[data-kb-anim='scrub-wipe'] {
			--kb-anim-effect: kb-scrub-wipe;
		}
	}

	@supports not (animation-timeline: view()) {
		.kb-js [data-kb-anim-type='scroll'] {
			opacity: 0;
			transition: opacity var(--kb-anim-duration) var(--kb-anim-ease);
		}

		.kb-js [data-kb-anim-type='scroll'][data-kb-anim-state='in'] {
			opacity: 1;
		}
	}
}

[data-kb-hover] {
	--kb-hover-duration: 240ms;
	--kb-hover-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
	--kb-hover-intensity: 1;
	--kb-hover-distance: 0.125rem;
	transition-property: color, background-color, border-color, box-shadow, translate, scale;
	transition-duration: var(--kb-hover-duration);
	transition-timing-function: var(--kb-hover-ease);
}

[data-kb-hover][data-kb-hover-ink]:where(:hover, :focus-visible) {
	color: var(--kb-hover-text) !important;
}

[data-kb-hover='sweep'] {
	background-image: linear-gradient(to right, var(--kb-hover-bg, currentColor) 0 100%);
	background-repeat: no-repeat;
	background-position: left center;
	background-origin: border-box;
	background-size: 0% 100%;
	transition-property: color, background-size, background-color;
	transition-duration: var(--kb-hover-duration), var(--kb-hover-duration), 0s;
}

[data-kb-hover='sweep']:where(:hover, :focus-visible) {
	background-size: 100% 100%;
	transition-duration: var(--kb-hover-duration), var(--kb-hover-duration), 1ms;
	transition-delay: 0s, 0s, var(--kb-hover-duration);
}

[data-kb-hover='grow'] {
	transition-property: color, background-color, box-shadow, scale;
}

[data-kb-hover='grow']:where(:hover, :focus-visible) {
	scale: calc(1 + (0.06 * var(--kb-hover-intensity)));
}

[data-kb-hover='lift']:where(:hover, :focus-visible) {
	translate: 0 calc(var(--kb-hover-distance) * -1);
	box-shadow: 0 calc(var(--kb-hover-distance) * 4) calc(var(--kb-hover-distance) * 8) rgb(0 0 0 / 0.16);
}

@keyframes kb-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes kb-bounce {
	0% {
		translate: 0 calc(var(--kb-anim-distance) * -1);
	}

	55% {
		translate: 0 0;
	}

	72% {
		translate: 0 calc(var(--kb-anim-distance) * -0.28);
	}

	88% {
		translate: 0 calc(var(--kb-anim-distance) * -0.08);
	}

	100% {
		translate: 0 0;
	}
}

@keyframes kb-pulse {
	0%,
	100% {
		scale: 1;
	}

	50% {
		scale: calc(1 + (0.08 * var(--kb-anim-intensity)));
	}
}

@keyframes kb-shake {
	0%,
	100% {
		translate: 0 0;
	}

	20% {
		translate: calc(var(--kb-anim-distance) * -0.5) 0;
	}

	40% {
		translate: calc(var(--kb-anim-distance) * 0.5) 0;
	}

	60% {
		translate: calc(var(--kb-anim-distance) * -0.25) 0;
	}

	80% {
		translate: calc(var(--kb-anim-distance) * 0.25) 0;
	}
}

@keyframes kb-float {
	0%,
	100% {
		translate: 0 0;
	}

	50% {
		translate: 0 calc(var(--kb-anim-distance) * -1);
	}
}

@keyframes kb-swing {
	0%,
	100% {
		rotate: 0deg;
	}

	25% {
		rotate: calc(5deg * var(--kb-anim-intensity));
	}

	75% {
		rotate: calc(-5deg * var(--kb-anim-intensity));
	}
}

@keyframes kb-jelly {
	0%,
	100% {
		scale: 1 1;
	}

	30% {
		scale: calc(1 + (0.2 * var(--kb-anim-intensity))) calc(1 - (0.15 * var(--kb-anim-intensity)));
	}

	60% {
		scale: calc(1 - (0.1 * var(--kb-anim-intensity))) calc(1 + (0.1 * var(--kb-anim-intensity)));
	}
}

@keyframes kb-wiggle {
	0%,
	100% {
		rotate: 0deg;
	}

	25% {
		rotate: calc(2deg * var(--kb-anim-intensity));
	}

	75% {
		rotate: calc(-2deg * var(--kb-anim-intensity));
	}
}

@keyframes kb-parallax-y {
	from {
		translate: 0 var(--kb-anim-distance);
	}

	to {
		translate: 0 calc(var(--kb-anim-distance) * -1);
	}
}

@keyframes kb-parallax-y-reverse {
	from {
		translate: 0 calc(var(--kb-anim-distance) * -1);
	}

	to {
		translate: 0 var(--kb-anim-distance);
	}
}

@keyframes kb-parallax-x {
	from {
		translate: var(--kb-anim-distance) 0;
	}

	to {
		translate: calc(var(--kb-anim-distance) * -1) 0;
	}
}

@keyframes kb-parallax-x-reverse {
	from {
		translate: calc(var(--kb-anim-distance) * -1) 0;
	}

	to {
		translate: var(--kb-anim-distance) 0;
	}
}

@keyframes kb-scrub-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes kb-scrub-scale {
	from {
		scale: calc(1 - (0.15 * var(--kb-anim-intensity)));
	}

	to {
		scale: 1;
	}
}

@keyframes kb-scrub-rotate {
	from {
		rotate: calc(-8deg * var(--kb-anim-intensity));
	}

	to {
		rotate: 0deg;
	}
}

@keyframes kb-scrub-wipe {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0 0 0 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-kb-anim],
	[data-kb-anim-track] > * {
		opacity: 1 !important;
		animation: none !important;
		transition: none !important;
		translate: none !important;
		scale: none !important;
		rotate: none !important;
		transform: none !important;
		filter: none !important;
		clip-path: none !important;
	}

	[data-kb-hover] {
		transition-duration: 1ms !important;
		transition-delay: 0s !important;
	}

	[data-kb-hover]:where(:hover, :focus-visible) {
		translate: none !important;
		scale: none !important;
	}
}
