/* Evoke Circular Title */

.evk-arc-title[data-flickering="1"] {
    opacity: 0;
}

.evk-arc-title {
    display: block;
    width: fit-content;
    height: fit-content;

    --evk-dimensions: 200px;
    --evk-duration: 9s;
    --evk-easing: linear;
}

.evk-arc-title:not(:has(> a)),
.evk-arc-title > a {
    min-height: var(--evk-dimensions);
    height: calc(2 * var(--evk-buffer, 100px));
    aspect-ratio: 1;
    display: grid;
    place-items: center;
}

.evk-arc-title .evk-arc__inner {
    --evk-inner-angle: calc((360 / var(--evk-char-count)) * 1deg);
    --evk-character-width: 1;
    font-size: calc(var(--evk-font-size, 1) * 1rem);
    position: relative;
    animation: evk-arc-spin var(--evk-duration) infinite var(--evk-easing);
}

.evk-arc-title[data-reverse='1'] .evk-arc__inner {
    animation: evk-arc-spin-reverse var(--evk-duration) infinite var(--evk-easing);
}

@keyframes evk-arc-spin {
    to { rotate: 360deg; }
}

@keyframes evk-arc-spin-reverse {
    to { rotate: -360deg; }
}

.evk-arc-title[data-scroll="true"] .evk-arc__inner {
    animation: unset;
}

.evk-arc-title .evk-arc__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.evk-arc-title .evk-arc__char {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform:
        translate(-50%, -50%)
        rotate(calc(var(--evk-inner-angle) * var(--evk-char-index)))
        translateY(var(--evk-radius));
}

/* Gradient support */
.evk-arc-title .evk-arc__inner[style*="background-image"] {
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
