.loader {
    --color-1: #fcc72e;
    --color-2: #f36c20;
    --size: 1px;

    width: calc(48 * var(--size));
    height: calc(48 * var(--size));
    border-radius: 50%;
    position: relative;
    animation: rotate 1s linear infinite;
}
.loader::before,
.loader::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: calc(5 * var(--size)) solid var(--color-1);
    animation: prixClipFix 2s linear infinite;
}
.loader::after {
    transform: rotate3d(90, 90, 0, 180deg);
    border-color: var(--color-2);
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes prixClipFix {
    0% {
        clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
    }
    50% {
        clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
    }
    75%,
    100% {
        clip-path: polygon(
            50% 50%,
            0 0,
            100% 0,
            100% 100%,
            100% 100%,
            100% 100%
        );
    }
}
