#girofix-scroll-progress{
	--gfix-bg1:#353535;
	--gfix-bg2:#171717;
	--gfix-bg3:#0d0d0d;
	--gfix-progress:#ffcc29;
	--gfix-progress-hover:#ffe16a;
	--gfix-track:rgba(255,255,255,.16);
	--gfix-border:rgba(255,204,41,.32);
	--gfix-arrow:#ffcc29;
	--gfix-arrow-hover:#ffe16a;

	position:fixed;
	right:25px;
	bottom:22px;

	width:60px;
	height:60px;

	margin:0!important;
	padding:0!important;

	display:grid;
	place-items:center;

	border:1px solid var(--gfix-border)!important;
	border-radius:50%!important;

	background:
		radial-gradient(
			circle at 35% 28%,
			var(--gfix-bg1) 0%,
			var(--gfix-bg2) 55%,
			var(--gfix-bg3) 100%
		)!important;

	box-shadow:
		0 14px 35px rgba(0,0,0,.28),
		inset 0 0 0 1px rgba(255,255,255,.025)!important;

	color:var(--gfix-arrow)!important;

	cursor:pointer;
	appearance:none!important;
	-webkit-appearance:none!important;
	z-index:9998;

	opacity:0;
	visibility:hidden;
	pointer-events:none;

	transform:translateY(24px) scale(.82);

	transition:
		opacity .3s ease,
		visibility .3s ease,
		transform .35s cubic-bezier(.2,.75,.25,1),
		box-shadow .25s ease,
		border-color .25s ease;

	-webkit-tap-highlight-color:transparent;
}

#girofix-scroll-progress.is-active{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateY(0) scale(1);
}

#girofix-scroll-progress .girofix-progress-svg{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	margin:0;
	transform:rotate(-90deg);
	pointer-events:none;
}

#girofix-scroll-progress .girofix-prog-bg{
	stroke:var(--gfix-track);
	stroke-width:2.5;
}

#girofix-scroll-progress .girofix-prog-bar{
	stroke:var(--gfix-progress);
	stroke-width:4;
	stroke-linecap:round;
	stroke-dasharray:163.363;
	stroke-dashoffset:163.363;
	filter:drop-shadow(0 0 3px rgba(255,204,41,.38));
	transition:stroke .2s ease;
}

#girofix-scroll-progress .girofix-prog-arrow{
	position:relative;
	z-index:2;
	width:24px;
	height:24px;
	display:grid;
	place-items:center;
	margin:0;
	padding:0;
	color:var(--gfix-arrow);
	pointer-events:none;
	transition:transform .25s ease,color .25s ease;
}

#girofix-scroll-progress .girofix-prog-arrow svg{
	display:block;
	width:22px;
	height:22px;
	margin:0;
	fill:none;
	stroke:currentColor;
	stroke-width:2.1;
	stroke-linecap:round;
	stroke-linejoin:round;
}

@media(hover:hover) and (pointer:fine){
	#girofix-scroll-progress:hover{
		transform:translateY(-4px) scale(1.07);
		border-color:var(--gfix-progress)!important;
		box-shadow:
			0 18px 42px rgba(0,0,0,.34),
			0 0 24px rgba(255,204,41,.12),
			inset 0 0 0 1px rgba(255,255,255,.04)!important;
	}

	#girofix-scroll-progress:hover .girofix-prog-arrow{
		transform:translateY(-3px);
		color:var(--gfix-arrow-hover);
	}

	#girofix-scroll-progress:hover .girofix-prog-bar{
		stroke:var(--gfix-progress-hover);
	}
}

#girofix-scroll-progress:focus-visible{
	outline:3px solid rgba(255,204,41,.42)!important;
	outline-offset:4px;
}

@media(max-width:767px){
	#girofix-scroll-progress .girofix-prog-arrow{
		width:21px;
		height:21px;
	}

	#girofix-scroll-progress .girofix-prog-arrow svg{
		width:20px;
		height:20px;
	}
}

@media(prefers-reduced-motion:reduce){
	#girofix-scroll-progress,
	#girofix-scroll-progress .girofix-prog-arrow,
	#girofix-scroll-progress .girofix-prog-bar{
		transition:none!important;
	}
}