.spinner {
    display: inline-block;
    position: relative;
    width: var(--spinner-width);
    height: var(--spinner-height);
}

.spinner div {
    transform-origin: var(--spinner-transform-x) var(--spinner-transform-y);
    animation: spinner 0.8s linear infinite;
}

.spinner div:after {
    content: " ";
    display: block;
    position: absolute;
    top: var(--spinner-slice-top-position);
    left: var(--spinner-slice-left-position);
    width: var(--spinner-slice-width);
    height: var(--spinner-slice-height);
    background: var(--lttrshop-half-text-color);
    border-radius: var(--input-radius-xxl);
}

.spinner div:nth-child(1) {
    transform: rotate(1deg);
    animation-delay: -0.7s;
}

.spinner div:nth-child(2) {
    transform: rotate(46deg);
    animation-delay: -0.6s;
}

.spinner div:nth-child(3) {
    transform: rotate(91deg);
    animation-delay: -0.5s;
}

.spinner div:nth-child(4) {
    transform: rotate(136deg);
    animation-delay: -0.4s;
}

.spinner div:nth-child(5) {
    transform: rotate(181deg);
    animation-delay: -0.3s;
}

.spinner div:nth-child(6) {
    transform: rotate(226deg);
    animation-delay: -0.2s;
}

.spinner div:nth-child(7) {
    transform: rotate(271deg);
    animation-delay: -0.1s;
}

.spinner div:nth-child(8) {
    transform: rotate(316deg);
    animation-delay: 0s;
}

@keyframes spinner {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
