.fiburfi-animated-text-wrapper {
    display: block;
}

.fiburfi-animated-text-link {
    display: inline-flex;
    color: inherit;
    text-decoration: none;
}

.fiburfi-animated-text {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    color: var(--fiburfi-animated-text-color, currentColor);
    --fiburfi-animated-text-color: currentColor;
    --fiburfi-animated-text-hover-color: currentColor;
    --fiburfi-animated-text-stroke-color: currentColor;
    --fiburfi-animated-text-stroke-width: 10px;
    --fiburfi-animated-text-duration: 0.6s;
    --fiburfi-animated-text-extra-color: currentColor;
    text-decoration: none;
    transition: color var(--fiburfi-animated-text-duration, 0.6s) ease;
}

.fiburfi-animated-text__core {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fiburfi-animated-text-link:hover .fiburfi-animated-text,
.fiburfi-animated-text-link:focus .fiburfi-animated-text,
.fiburfi-animated-text-link:focus-visible .fiburfi-animated-text,
.fiburfi-animated-text:hover,
.fiburfi-animated-text:focus,
.fiburfi-animated-text:focus-within {
    color: var(--fiburfi-animated-text-hover-color, var(--fiburfi-animated-text-color, currentColor));
}

.fiburfi-animated-text__before,
.fiburfi-animated-text__after {
    position: relative;
    z-index: 1;
    color: var(--fiburfi-animated-text-extra-color, currentColor);
    display: inline-block;
}

.fiburfi-animated-text__before {
    margin-right: 0.35em;
}

.fiburfi-animated-text__after {
    margin-left: 0.35em;
}

.fiburfi-animated-text__label {
    position: relative;
    z-index: 2;
}

.fiburfi-animated-text__svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    z-index: 0;
    opacity: 0;
    transition: opacity var(--fiburfi-animated-text-duration, 0.6s) ease;
}

.fiburfi-animated-text--stroke .fiburfi-animated-text__svg {
    z-index: 3;
}

.fiburfi-animated-text--highlight .fiburfi-animated-text__svg {
    z-index: 4;
}

.fiburfi-animated-text__svg--underline {
    top: auto;
    bottom: -0.2em;
    height: 0.75em;
}

.fiburfi-animated-text__svg--stroke {
    top: 50%;
    transform: translateY(-50%);
    height: 0.8em;
}

.fiburfi-animated-text__svg--highlight {
    top: 50%;
    transform: translateY(-50%);
    height: 140%;
}

.fiburfi-animated-text__svg--circle {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 115%;
    height: 160%;
}

.fiburfi-animated-text__path {
    fill: none;
    stroke: var(--fiburfi-animated-text-stroke-color, currentColor);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition: stroke-dashoffset var(--fiburfi-animated-text-duration, 0.6s) ease;
    stroke-width: var(--fiburfi-animated-text-stroke-width, 10px);
}

.fiburfi-animated-text__path--underline {
    stroke-width: calc(var(--fiburfi-animated-text-stroke-width, 10px) * 0.6);
}

.fiburfi-animated-text__path--stroke {
    stroke-width: calc(var(--fiburfi-animated-text-stroke-width, 10px) * 0.5);
}

.fiburfi-animated-text__path--highlight {
    stroke-width: calc(var(--fiburfi-animated-text-stroke-width, 10px) * 2.2);
    stroke-opacity: 0.45;
    mix-blend-mode: multiply;
}

.fiburfi-animated-text__path--circle {
    stroke-width: calc(var(--fiburfi-animated-text-stroke-width, 10px) * 0.8);
}

.fiburfi-animated-text-link:hover .fiburfi-animated-text__path,
.fiburfi-animated-text-link:focus .fiburfi-animated-text__path,
.fiburfi-animated-text-link:focus-visible .fiburfi-animated-text__path,
.fiburfi-animated-text:hover .fiburfi-animated-text__path,
.fiburfi-animated-text:focus .fiburfi-animated-text__path,
.fiburfi-animated-text:focus-within .fiburfi-animated-text__path {
    stroke-dashoffset: 0;
}

.fiburfi-animated-text-link:hover .fiburfi-animated-text__svg,
.fiburfi-animated-text-link:focus .fiburfi-animated-text__svg,
.fiburfi-animated-text-link:focus-visible .fiburfi-animated-text__svg,
.fiburfi-animated-text:hover .fiburfi-animated-text__svg,
.fiburfi-animated-text:focus .fiburfi-animated-text__svg,
.fiburfi-animated-text:focus-within .fiburfi-animated-text__svg {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .fiburfi-animated-text,
    .fiburfi-animated-text__core,
    .fiburfi-animated-text__path,
    .fiburfi-animated-text__svg {
        transition-duration: 0.01ms !important;
    }
}
