.generating {
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}

.generating p {
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	width: 100%;
}

.generating .animation {
	font-size: 3em;
}

.generating .animation i {
	display: inline-block;
	width: 1em;
	height: 2em;
	position: relative;
}

.generating .animation i::before,
.loader i::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1em;
	height: 1em;
	background: var(--tag-color);
	border-radius: 50%;
	animation: generating 1s ease infinite;
}

.generating .animation i:nth-child(2)::before,
.loader i:nth-child(2)::before {
	animation-delay: 0.1s;
}

.generating .animation i:nth-child(3)::before,
.loader i:nth-child(3)::before {
	animation-delay: 0.2s;
}

.loader {
	display: block;
	text-align: center;
	padding: 2em 0;
}

.loader i {
	display: inline-block;
	width: 1em;
	height: 2em;
	position: relative;
	margin: 0 0.25em;
}

@keyframes generating {
	0 { bottom: 0; }
	25% { bottom: 1em; }
	50% { bottom: 0; }
}