/* Loading Spinner */

#loading-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: hsl(var(--color-base, 220, 15%, 13%));
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.spinner {
	width: 50px;
	height: 50px;
	border: 6px solid hsl(var(--color-primary));
	border-top: 6px solid hsl(var(--color-base, 220, 15%, 13%));
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.loading-text {
	margin-top: 20px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	color: hsl(var(--color-primary));
	font-weight: 500;
}

.loading-dots {
	animation: loadingDots 1.5s infinite;
}

@keyframes loadingDots {
	0%,
	20% {
		content: ".";
	}
	40% {
		content: "..";
	}
	60%,
	100% {
		content: "...";
	}
}

.loading-dots::after {
	content: "";
	animation: loadingDots 1.5s infinite;
}
