.aspire-scroll-to-top {
	--aspire-stt-hover-scale: 1.05;
	--aspire-stt-transition: 250ms;
	--aspire-stt-horizontal-offset: 30px;
	--aspire-stt-progress: 0%;
	--aspire-stt-progress-color: #60a5fa;
	--aspire-stt-track-color: rgba(37, 99, 235, .2);
	--aspire-stt-progress-width: 3px;
	--aspire-stt-water-opacity: .75;
	--aspire-stt-glow-intensity: 1;
	--aspire-stt-glow-duration: 1.8s;
	--aspire-stt-glow-opacity: .2;
	--aspire-stt-glow-peak-opacity: .4;
	--aspire-stt-glow-inset-blur: 4px;
	--aspire-stt-glow-blur: 6px;
	--aspire-stt-glow-spread: 0px;
	position: fixed;
	right: var(--aspire-stt-horizontal-offset);
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity var(--aspire-stt-transition) ease, transform var(--aspire-stt-transition) ease, visibility var(--aspire-stt-transition) ease, color var(--aspire-stt-transition) ease, background-color var(--aspire-stt-transition) ease;
}
.aspire-scroll-to-top__progress {
	position: absolute;
	pointer-events: none;
}
.aspire-scroll-to-top--style-simple .aspire-scroll-to-top__progress { display: none; }
.aspire-scroll-to-top--style-border .aspire-scroll-to-top__progress {
	inset: calc(var(--aspire-stt-progress-width) * -2);
	border-radius: inherit;
	background: conic-gradient(var(--aspire-stt-progress-color) var(--aspire-stt-progress), var(--aspire-stt-track-color) 0);
	padding: var(--aspire-stt-progress-width);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
}
.aspire-scroll-to-top--style-water { overflow: hidden; }
.aspire-scroll-to-top--style-water .aspire-scroll-to-top__progress {
	left: -12%;
	right: -12%;
	bottom: -4px;
	height: calc(var(--aspire-stt-progress) + 4px);
	background: var(--aspire-stt-progress-color);
	opacity: var(--aspire-stt-water-opacity);
	transition: height 120ms linear;
}
.aspire-scroll-to-top--style-water .aspire-scroll-to-top__progress::before,
.aspire-scroll-to-top--style-water .aspire-scroll-to-top__progress::after {
	content: '';
	position: absolute;
	left: 50%;
	width: 180%;
	aspect-ratio: 1;
	border-radius: 42%;
	transform: translateX(-50%);
	animation: aspire-stt-wave 5s linear infinite;
}
.aspire-scroll-to-top--style-water .aspire-scroll-to-top__progress::before {
	top: -13px;
	background: rgba(255, 255, 255, .45);
}
.aspire-scroll-to-top--style-water .aspire-scroll-to-top__progress::after {
	top: -10px;
	background: var(--aspire-stt-progress-color);
	opacity: .65;
	animation-duration: 7s;
	animation-direction: reverse;
}
.aspire-scroll-to-top--style-glow .aspire-scroll-to-top__progress {
	inset: 0;
	border-radius: inherit;
	opacity: var(--aspire-stt-glow-opacity);
	box-shadow:
		inset 0 0 var(--aspire-stt-glow-inset-blur) var(--aspire-stt-progress-color),
		0 0 var(--aspire-stt-glow-blur) var(--aspire-stt-glow-spread) var(--aspire-stt-progress-color);
	animation: aspire-stt-glow-pulse var(--aspire-stt-glow-duration) ease-in-out infinite;
	transition: box-shadow 120ms linear;
}
@keyframes aspire-stt-wave { to { transform: translateX(-50%) rotate(360deg); } }
@keyframes aspire-stt-glow-pulse {
	0%, 100% {
		opacity: var(--aspire-stt-glow-opacity);
		transform: scale(.94);
		filter: brightness(.9);
	}
	50% {
		opacity: var(--aspire-stt-glow-peak-opacity);
		transform: scale(1.08);
		filter: brightness(1.35);
	}
}
.aspire-scroll-to-top--fade { transform: none; }
.aspire-scroll-to-top--scale { transform: scale(.75); }
.aspire-scroll-to-top--none { transition: none; transform: none; }
.aspire-scroll-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.aspire-scroll-to-top.is-visible:hover { transform: scale(var(--aspire-stt-hover-scale)); }
.aspire-scroll-to-top__icon { position: relative; z-index: 1; display: inline-flex; line-height: 1; }
.aspire-scroll-to-top svg { display: block; fill: currentColor; }
.aspire-scroll-to-top:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.elementor-editor-active .aspire-scroll-to-top { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
@media (min-width: 768px) and (max-width: 1024px) { .aspire-scroll-to-top--hide-tablet { display: none !important; } }
@media (max-width: 767px) { .aspire-scroll-to-top--hide-mobile { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
	.aspire-scroll-to-top { transition-duration: 0.01ms; }
	.aspire-scroll-to-top__progress::before,
	.aspire-scroll-to-top__progress::after,
	.aspire-scroll-to-top--style-glow .aspire-scroll-to-top__progress { animation: none !important; }
}
