#fullscreen-loader {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: grid;
	gap: 4px;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto;
	transform: translate(-50%, -50%);
	animation: fullscreen-loader-rotate 1.2s linear infinite;
}

#fullscreen-loader > i {
	aspect-ratio: 1 / 1;
	inline-size: 14px;
	background-color: var(--colorPrimary);
	border-radius: 999rem;
	transform: scale(0.75);
	opacity: 0.3;
	animation: fullscreen-loader-opacity 1s linear infinite alternate;
}

#fullscreen-loader > i:nth-child(1) {
	animation-delay: 0s;
}

#fullscreen-loader > i:nth-child(2) {
	animation-delay: 0.4s;
}

#fullscreen-loader > i:nth-child(3) {
	animation-delay: 0.8s;
}

#fullscreen-loader > i:nth-child(4) {
	animation-delay: 1.2s;
}

@keyframes fullscreen-loader-opacity {
	to {
		opacity: 1;
	}
}

@keyframes fullscreen-loader-rotate {
	from {
		transform: translate(-50%, -50%) rotate(0turn);
	}

	to {
		transform: translate(-50%, -50%) rotate(1turn);
	}
}
