.back-to-top {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	text-decoration: none;
	border-radius: 50%;
	background: transparent;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition:
		opacity .4s ease,
		visibility .4s ease,
		transform .4s ease;
}

.back-to-top.visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.progress-circle {
	position: absolute;
	width: 60px;
	height: 60px;
	transform: rotate(-90deg);
	transform-origin: center;
}

.progress-circle .bg {
	fill: none;
	stroke: rgba(106,117,125,.3);
	stroke-width: 2;
}

.progress-circle .indicator {
	fill: none;
	stroke: rgba(192,141,87,1);
	stroke-width: 2;
	stroke-dasharray: 157;
	stroke-dashoffset: 157;
	transition: stroke-dashoffset .25s ease;
}

.back-to-top svg.arrow-icon {
	position: relative;
	z-index: 1;
	width: 18px;
	height: 18px;
	color: #c08d57;
	transition: color .2s ease;
}

.back-to-top:hover svg.arrow-icon {
	color: #fff;
}