#loading{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100vh;
	width: 100%;
	font-size: 16px;
	position: absolute;
	z-index: 10000;
	background-color: rgb(24, 24, 24);
}

#loading .dots div{
	width: 8px;
	height: 8px;
	background-color: var(--on-surface);
	border-radius: 50%;
	animation: dotBlink 1.5s infinite;
}
#loading .dots div:nth-child(1){
	animation-delay: 0s;
}

#loading .dots div:nth-child(2){
	animation-delay: 0.3s;
}

#loading .dots div:nth-child(3){
	animation-delay: 0.6s;
}
@keyframes dotBlink {
	0%, 20% {
		opacity: 0.2;
		transform: scale(0.8);
	}
	50% {
		opacity: 1;
		transform: scale(1);
	}
	80%, 100% {
		opacity: 0.2;
		transform: scale(0.8);
	}
}
.flex-loading-dots{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
.flex-loading-dots .dots{
	margin-left: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.grxloader {
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	contain: layout
}

.grxloader svg {
	transition: all 0.2s ease;
	contain: layout;
	margin: 0 auto;
}

.grxloader svg.mask {
	min-height: 200%;
	min-width: 200%
}

.grxloader svg.mask.plus {
	min-height: 250%;
	min-width: 250%
}

.grxloader svg.mask.plus path {
	transform: rotate(45deg)
}

.grxloader svg.shape {
	transform: translate(100px, 1px);
	animation: animate-cross 4.1s ease-in-out infinite forwards;
	fill: #000;
}

.grxloader img.shape {
	transform: translate(100px, 1px);
	animation: animate-cross 4.1s ease-in-out infinite forwards;
	fill: #000;
}

.grxloader svg path {
	transform-origin: center
}

.grxloader .mask path {
	opacity: 0;
	transform: scale(0.92)
}

@keyframes animate-cross {
	0% {
		transform: rotate(0deg) scale(0.92)
	}

	6.25% {
		transform: rotate(45deg) scale(1)
	}

	12.5% {
		transform: rotate(45deg)
	}

	18.75% {
		transform: rotate(90deg)
	}

	25% {
		transform: rotate(90deg)
	}

	31.25% {
		transform: rotate(135deg)
	}

	37.5% {
		transform: rotate(135deg)
	}

	43.75% {
		transform: rotate(180deg)
	}

	50% {
		transform: rotate(180deg)
	}

	56.25% {
		transform: rotate(225deg)
	}

	62.5% {
		transform: rotate(225deg)
	}

	68.75% {
		transform: rotate(270deg)
	}

	75% {
		transform: rotate(270deg)
	}

	81.25% {
		transform: rotate(315deg)
	}

	87.5% {
		transform: rotate(315deg)
	}

	93.75% {
		opacity: 1;
		transform: rotate(360deg)
	}

	100% {
		transform: rotate(360deg) scale(0.92)
	}
}

@keyframes background-fade {
	from {
		opacity: 1
	}

	to {
		opacity: 0
	}
}

.grxloader {
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
}

@keyframes loadingFadeOut{
	0%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}