.ws-border-beam{
    position: relative;

    overflow: hidden;

    border-radius: calc(var(--border-width) * 1px + 0.01px);
}
.ws-border-beam .ws-border-beam__mask{
    -webkit-mask: linear-gradient(transparent, transparent), linear-gradient(#fff, #fff);
    mask: linear-gradient(transparent, transparent), linear-gradient(#fff, #fff);

    border-radius: calc(var(--border-width) * 1px + 0.01px);
    border: calc(var(--border-width)* 1px) solid transparent;

    -webkit-mask-composite: source-in, xor !important;
    mask-composite: intersect !important;

    -webkit-mask-clip: padding-box, border-box !important;
    mask-clip: padding-box, border-box !important;

    inset: 0;
    position: absolute;
    pointer-events: none;
}
.ws-border-beam .ws-border-beam__mask::after{
    content: "";
    offset-path: rect(0 auto auto 0 round var(--size));
    offset-anchor: var(--anchor) 50%;
    background: linear-gradient(to left, var(--color-from), var(--color-to), transparent);

    animation: border-beam calc(var(--duration)) infinite var(--easing);

    width: var(--size);
    aspect-ratio: 1 / 1;
    position: absolute;

    max-height: 100%;
}
.elementor-editor-active .ws-border-beam[data-disable-builder="1"] .ws-border-beam__mask::after{
    animation: none;
    offset-distance: 50%;
}
@keyframes border-beam{
    100% {
        offset-distance: 100%;
    }
} 
