.mainSite .cta.ctaAnimation,
.customModal .cta.ctaAnimation {
	--cta-animation-duration: .34s;
	--cta-animation-delay-in: .026s;
	--cta-animation-delay-out: .012s;
	--cta-animation-move: -2px;
	--cta-animation-text-move: -1.25em;
	--cta-animation-shadow: 0 4px 18px -4px rgba(var(--color-prim-rgb), .18);
	--cta-animation-italic-buffer: .12em;
	--cta-animation-icon-gap: .65rem;
	overflow: hidden;
	transform: translateY(0);
	transition: transform .24s ease, box-shadow .24s ease, color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

.mainSite .cta.ctaAnimation .ctaAnimationText,
.customModal .cta.ctaAnimation .ctaAnimationText {
	display: inline;
	line-height: inherit;
	vertical-align: baseline;
}

.mainSite .cta.ctaAnimation .ctaAnimationSource,
.customModal .cta.ctaAnimation .ctaAnimationSource {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

html:is(.translated-ltr, .translated-rtl) .mainSite .cta.ctaAnimation .ctaAnimationText,
html:is(.translated-ltr, .translated-rtl) .customModal .cta.ctaAnimation .ctaAnimationText {
	display: none;
}

html:is(.translated-ltr, .translated-rtl) .mainSite .cta.ctaAnimation .ctaAnimationSource,
html:is(.translated-ltr, .translated-rtl) .customModal .cta.ctaAnimation .ctaAnimationSource {
	position: static;
	width: auto;
	height: auto;
	overflow: visible;
	clip-path: none;
	white-space: normal;
}

.mainSite .cta.ctaAnimation > i + .ctaAnimationText,
.mainSite .cta.ctaAnimation > .ctaAnimationText + i,
.customModal .cta.ctaAnimation > i + .ctaAnimationText,
.customModal .cta.ctaAnimation > .ctaAnimationText + i {
	margin-left: var(--cta-animation-icon-gap);
}

.mainSite .cta.ctaAnimation .ctaAnimationWord,
.customModal .cta.ctaAnimation .ctaAnimationWord {
	display: inline-block;
	line-height: 1em;
	white-space: nowrap;
}

.mainSite .cta.ctaAnimation .ctaAnimationChar,
.customModal .cta.ctaAnimation .ctaAnimationChar {
	display: inline-block;
	height: 1.25em;
	line-height: 1em;
	margin-left: calc(var(--cta-animation-italic-buffer) * -1);
	margin-right: calc(var(--cta-animation-italic-buffer) * -1);
	overflow: hidden;
	padding-left: var(--cta-animation-italic-buffer);
	padding-right: var(--cta-animation-italic-buffer);
	position: relative;
	vertical-align: -0.16em;
}

.mainSite .cta.ctaAnimation .ctaAnimationCharInner,
.customModal .cta.ctaAnimation .ctaAnimationCharInner {
	display: block;
	line-height: 1.25em;
	text-shadow: 0 1.25em 0 currentColor;
	backface-visibility: hidden;
	transform: translateY(0) translateZ(0);
	transition: transform var(--cta-animation-duration) cubic-bezier(.33, 1, .68, 1);
	transition-delay: calc(var(--cta-animation-index, 0) * var(--cta-animation-delay-out));
}

.mainSite .cta.ctaAnimation:hover,
.mainSite .cta.ctaAnimation:focus-visible,
.customModal .cta.ctaAnimation:hover,
.customModal .cta.ctaAnimation:focus-visible {
	box-shadow: var(--cta-animation-shadow);
	transform: translateY(var(--cta-animation-move));
	text-decoration: none;
}

.mainSite .cta.ctaAnimation:hover .ctaAnimationCharInner,
.mainSite .cta.ctaAnimation:focus-visible .ctaAnimationCharInner,
.customModal .cta.ctaAnimation:hover .ctaAnimationCharInner,
.customModal .cta.ctaAnimation:focus-visible .ctaAnimationCharInner {
	transform: translateY(var(--cta-animation-text-move)) translateZ(0);
	transition-delay: calc(var(--cta-animation-index, 0) * var(--cta-animation-delay-in));
}

.mainSite .cta.ctaAnimation[disabled],
.mainSite .cta.ctaAnimation[disabled="disabled"],
.mainSite .cta.ctaAnimation.disabled,
.customModal .cta.ctaAnimation[disabled],
.customModal .cta.ctaAnimation[disabled="disabled"],
.customModal .cta.ctaAnimation.disabled {
	transform: none;
	box-shadow: none;
}

.mainSite .cta.ctaAnimation[disabled] .ctaAnimationCharInner,
.mainSite .cta.ctaAnimation[disabled="disabled"] .ctaAnimationCharInner,
.mainSite .cta.ctaAnimation.disabled .ctaAnimationCharInner,
.customModal .cta.ctaAnimation[disabled] .ctaAnimationCharInner,
.customModal .cta.ctaAnimation[disabled="disabled"] .ctaAnimationCharInner,
.customModal .cta.ctaAnimation.disabled .ctaAnimationCharInner {
	transform: none;
	transition-delay: 0s;
}

.mainSite .cta.ctaAnimationCmsSkip,
.customModal .cta.ctaAnimationCmsSkip,
.mainSite .adminElementHolder .cta.ctaAnimation,
.mainSite .adminElements .cta.ctaAnimation,
.mainSite .cta.ctaAnimation:has(.adminElementHolder),
.mainSite .cta.ctaAnimation:has(.adminElements),
.customModal .adminElementHolder .cta.ctaAnimation,
.customModal .adminElements .cta.ctaAnimation,
.customModal .cta.ctaAnimation:has(.adminElementHolder),
.customModal .cta.ctaAnimation:has(.adminElements) {
	transform: none;
	box-shadow: none;
}

.mainSite .cta.ctaAnimationCmsSkip .ctaAnimationCharInner,
.customModal .cta.ctaAnimationCmsSkip .ctaAnimationCharInner,
.mainSite .adminElementHolder .cta.ctaAnimation .ctaAnimationCharInner,
.mainSite .adminElements .cta.ctaAnimation .ctaAnimationCharInner,
.mainSite .cta.ctaAnimation:has(.adminElementHolder) .ctaAnimationCharInner,
.mainSite .cta.ctaAnimation:has(.adminElements) .ctaAnimationCharInner,
.customModal .adminElementHolder .cta.ctaAnimation .ctaAnimationCharInner,
.customModal .adminElements .cta.ctaAnimation .ctaAnimationCharInner,
.customModal .cta.ctaAnimation:has(.adminElementHolder) .ctaAnimationCharInner,
.customModal .cta.ctaAnimation:has(.adminElements) .ctaAnimationCharInner {
	transform: none;
	transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
	.mainSite .cta.ctaAnimation,
	.customModal .cta.ctaAnimation,
	.mainSite .cta.ctaAnimation .ctaAnimationCharInner,
	.customModal .cta.ctaAnimation .ctaAnimationCharInner {
		transition: none;
	}

	.mainSite .cta.ctaAnimation:hover,
	.mainSite .cta.ctaAnimation:focus-visible,
	.customModal .cta.ctaAnimation:hover,
	.customModal .cta.ctaAnimation:focus-visible,
	.mainSite .cta.ctaAnimation:hover .ctaAnimationCharInner,
	.mainSite .cta.ctaAnimation:focus-visible .ctaAnimationCharInner,
	.customModal .cta.ctaAnimation:hover .ctaAnimationCharInner,
	.customModal .cta.ctaAnimation:focus-visible .ctaAnimationCharInner {
		transform: none;
	}
}
