* {
    margin: 0;
    padding: 0;
}

section {    
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(65,0,0);
    animation: ColorAnimate 8s linear infinite;
}

@keyframes ColorAnimate {
    0% {
        filter: hue-rotate(0deg);
    }
    100%{
        filter:hue-rotate(360deg);
    }
}

h2 {
    margin: 0;
    padding: 0;
    
    position: absolute;
    top: 40%;
    transform: translateX(50%);
    
    width: 50%;
    
    text-align: center;
    color: #ddd;
    font-size: 1.5em;
    font-family: sans-serif;
    letter-spacing: 0.2em;
}

.container {
    /* border: 2px solid #fff; */
    display: flex;
}


.circulo {
    /* border: 2px solid #54c952; */
    position: relative;
    width: 150px;
    height: 150px;
    margin: 0 -7.5px;
}

.esfera {    
    position: absolute;
    height: 100%;
    width: 100%;
    /* background-color: black; */
    transform: rotate(calc(18deg * var(--esfera)));
}

.esfera::before {
    content: "";
    position: absolute;
    height: 15px;
    width: 15px;
    background-color: yellow;
    border-radius: 50%;
    right: 0;
    top: calc(50% - 7.5px);
    box-shadow: 0 0 10px yellow,0 0 20px yellow,0 0 40px yellow,0 0 80px yellow, 0 0 100px yellow;
    transform: scale(0.1);
    animation: Animate 4s linear infinite;
    animation-delay: calc(0.1s * var(--esfera));
}

@keyframes Animate {
    0% {
        transform: scale(1);
    }
    50%,100%{
        transform: scale(0.1);
    }
}

.circulo:nth-child(2) {
    transform: rotate(-180deg);
}

.circulo:nth-child(2) .esfera::before {
    animation-delay: calc(-0.1s * var(--esfera));
}

/* https://www.youtube.com/watch?v=8T7Ubeu-bKs */