.loader {
    display: inline-block;
    position: absolute;
    top: calc(50% - 2.5rem);
    left: calc(50% - 2.5rem);
    width: 5rem;
    height: 5rem;
    z-index: 999;
}
.loader div {
    position: absolute;
    border: 0.5rem solid var(--color-theme);
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.loader div:nth-child(2) {
    animation-delay: -0.5s;
}
@keyframes lds-ripple {
0% {
    top: 2rem;
    left: 2rem;
    width: 0;
    height: 0;
    opacity: 0;
}
4.9% {
    top: 2rem;
    left: 2rem;
    width: 0;
    height: 0;
    opacity: 0;
}
5% {
    top: 2rem;
    left: 2rem;
    width: 0;
    height: 0;
    opacity: 1;
}
100% {
    top: 0px;
    left: 0px;
    width: 4rem;
    height: 4rem;
    opacity: 0;
}
}
  