* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
section {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	min-height: 100vh;
	background: #042104;
	animation: animateBg 8s linear infinite;
}
@keyframes animateBg {
	0% {
		filter: hue-rotate(0deg);
	}
	100% {
		filter: hue-rotate(360deg);
	}
}
.container {
	display: flex;
}
.circle {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 0 -7.5px;
}
.circle span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: rotate(calc(18deg * var(--i)));
}
.circle span:before {
	content: "";
	position: absolute;
	top: calc(50% - 7.5px);
	right: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	transform: scale(0.1);
	background: #00ff0a;
	box-shadow: 0 0 10px #00ff0a, 0 0 20px #00ff0a, 0 0 40px #00ff0a,
		0 0 60px #00ff0a, 0 0 80px #00ff0a, 0 0 100px #00ff0a;
	animation: animate 4s linear infinite;
	animation-delay: calc(0.1s * var(--i));
}
@keyframes animate {
	0% {
		transform: scale(1);
	}
	50%,
	100% {
		transform: scale(0.1);
	}
}
.circle:nth-child(2) {
	transform: rotate(-180deg);
}
.circle:nth-child(2) span:before {
	animation-delay: calc(-0.1s * var(--i));
}
