.fp-gradient-border {
	overflow: hidden;
	isolation: isolate;
	border-color: transparent !important;
	border-width: 0 !important;
	border-style: solid !important;
}

.fp-gradient-border::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: var(--fp-gradient-border-width, 0px);
	border-radius: inherit;
	box-sizing: border-box;
	pointer-events: none;
	background: var(--fp-gradient-border-image, none);
	background-size: var(--fp-gradient-border-size, 100% 100%);
	background-position: var(--fp-gradient-border-pos-start-x, 50%) var(--fp-gradient-border-pos-start-y, 50%);
	animation: var(--fp-gradient-border-animation, none);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
}

@keyframes fp-gradient-shift-linear {
	0% {
		background-position: var(--fp-gradient-bg-pos-start-x, 0%) var(--fp-gradient-bg-pos-start-y, 50%);
	}

	50% {
		background-position: var(--fp-gradient-bg-pos-mid-x, 100%) var(--fp-gradient-bg-pos-mid-y, 50%);
	}

	100% {
		background-position: var(--fp-gradient-bg-pos-start-x, 0%) var(--fp-gradient-bg-pos-start-y, 50%);
	}
}

@keyframes fp-gradient-shift-radial {
	0% {
		background-position: var(--fp-gradient-bg-pos-start-x, 35%) var(--fp-gradient-bg-pos-start-y, 35%);
	}

	50% {
		background-position: var(--fp-gradient-bg-pos-mid-x, 65%) var(--fp-gradient-bg-pos-mid-y, 65%);
	}

	100% {
		background-position: var(--fp-gradient-bg-pos-start-x, 35%) var(--fp-gradient-bg-pos-start-y, 35%);
	}
}

@keyframes fp-gradient-border-shift-linear {
	0% {
		background-position: var(--fp-gradient-border-pos-start-x, 0%) var(--fp-gradient-border-pos-start-y, 50%);
	}

	50% {
		background-position: var(--fp-gradient-border-pos-mid-x, 100%) var(--fp-gradient-border-pos-mid-y, 50%);
	}

	100% {
		background-position: var(--fp-gradient-border-pos-start-x, 0%) var(--fp-gradient-border-pos-start-y, 50%);
	}
}

@keyframes fp-gradient-border-shift-radial {
	0% {
		background-position: var(--fp-gradient-border-pos-start-x, 30%) var(--fp-gradient-border-pos-start-y, 35%);
	}

	50% {
		background-position: var(--fp-gradient-border-pos-mid-x, 70%) var(--fp-gradient-border-pos-mid-y, 65%);
	}

	100% {
		background-position: var(--fp-gradient-border-pos-start-x, 30%) var(--fp-gradient-border-pos-start-y, 35%);
	}
}
