.theme-creative-link {
    margin: 0;
    padding: 0;
    display: flex;
    font-size: 1.1rem;
    position: relative;
}

.theme-creative-link a {
    color: #000;
    outline: none;
    color: inherit;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    text-decoration: none;
}

.theme-creative-link a:hover {
    outline: none;
}

.theme-creative-link a:focus {
    outline: none;
    background: #d3d3d3
}

.theme-creative-link a::after,
.theme-creative-link a::before {
    left: 0;
    top: 100%;
    width: 100%;
    height: 1px;
    position: absolute;
    pointer-events: none;
    background: currentColor;
}

.theme-creative-link a::before {
    content: "";
}

.theme-creative-link .theme-link-style-7::after,
.theme-creative-link .theme-link-style-7::before,
.theme-creative-link .theme-link-style-10::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%
}

.theme-creative-link .theme-link-style-10::before {
    transition: transform .3s;
}

.theme-creative-link .theme-link-style-7:hover::after,
.theme-creative-link .theme-link-style-7:hover::before,
.theme-creative-link .theme-link-style-10:hover::before {
    transform-origin: 0 50%;
    transform: scale3d(1, 1, 1);
}

.theme-creative-link .theme-link-style-7::after,
.theme-creative-link .theme-link-style-7::before {
    transition: transform .3s cubic-bezier(.7, 0, .2, 1);
}

.theme-creative-link .theme-link-style-7:hover::after,
.theme-creative-link .theme-link-style-7:hover::before {
    transition-timing-function: cubic-bezier(.4, 1, .8, 1)
}

.theme-creative-link .theme-link-style-7::after {
    content: "";
    top: calc(100% + 4px);
    transform-origin: 0 50%;
}

.theme-creative-link .theme-link-style-7:hover::after {
    transform-origin: 100% 50%;
}

.theme-creative-link .theme-link-style-12::before {
    transition: transform .3s cubic-bezier(.2, 1, .8, 1);
}

.theme-creative-link .theme-link-style-12:hover::before {
    transform-origin: 0 50%;
    transform: scale3d(1, 2, 1);
}

.theme-creative-link .theme-link-style-9::before,
.theme-creative-link .theme-link-style-12::after,
.theme-creative-link .theme-link-style-12::before {
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
}

.theme-creative-link .theme-link-style-12::after {
    content: "";
    top: calc(100% + 4px);
    transition: transform .4s .1s cubic-bezier(.2, 1, .8, 1);
}

.theme-creative-link .theme-link-style-12:hover::after,
.theme-creative-link .theme-link-style-12:hover::before {
    transition-timing-function: cubic-bezier(.7, 0, .2, 1)
}

.theme-creative-link .theme-link-style-9 {
    line-height: 2;
    overflow: hidden;
    font-weight: 700;
}

.theme-creative-link .theme-link-style-9::before {
    height: 2px;
    top: calc(100% - 5px);
}

.theme-creative-link .theme-link-style-9:hover::before,
.theme-creative-link .theme-link-style-12:hover::after {
    transform-origin: 0 50%;
    transform: scale3d(1, 1, 1);
}

.theme-creative-link .theme-link-style-9 span,
.theme-creative-link .theme-link-style-9::after,
.theme-creative-link .theme-link-style-9::before {
    transition: transform .3s cubic-bezier(.5, .5, .3, 1);
}

.theme-creative-link .theme-link-style-9::after {
    top: 0;
    height: 100%;
    background: 0 0;
    content: attr(data-text);
    transform-origin: 100% 50%;
    transform: translate3d(150%, 0, 0);
}

.theme-creative-link .theme-link-style-9:hover::after {
    transform: translate3d(0, 0, 0);
}

.theme-creative-link .theme-link-style-9 span {
    display: inline-block;
}

.theme-creative-link .theme-link-style-9:hover span {
    transform: translate3d(-150%, 0, 0);
}

.theme-creative-link .theme-link-style-5 {
    padding: 0 10px;
    text-indent: 1px;
    letter-spacing: 1px;
}

.theme-creative-link .theme-link-style-5 span,
.theme-creative-link .theme-link-style-5::before {
    transition: transform .3s cubic-bezier(.4, 1, .8, 1);
}

.theme-creative-link .theme-link-style-5::before {
    top: 50%;
    height: 2px;
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
}

.theme-creative-link .theme-link-style-5:hover::before {
    transform: scale3d(1, 1, 1);
    transform-origin: 0 50%;
}

.theme-creative-link .theme-link-style-5 span {
    display: inline-block;
}

.theme-creative-link .theme-link-style-5:hover span {
    transform: scale3d(1.1, 1.1, 1.1);
}

.theme-creative-link .theme-link-style-4::before {
    transform-origin: 50% 100%;
    transition: clip-path .3s, transform .3s cubic-bezier(.2, 1, .8, 1);
    clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%, 100% 100%, 100% 0%);
}

.theme-creative-link .theme-link-style-4:hover::before {
    transform: translate3d(0, 2px, 0) scale3d(1.08, 3, 1);
    clip-path: polygon(0% 0%, 0% 100%, 50% 100%, 50% 0, 50% 0, 50% 100%, 50% 100%, 0 100%, 100% 100%, 100% 0%);
}

.theme-creative-link .theme-link-style-4 span {
    display: inline-block;
    transition: transform .3s cubic-bezier(.2, 1, .8, 1);
}

.theme-creative-link .theme-link-style-4:hover span {
    transform: translate3d(0, -2px, 0);
}

.theme-creative-link .theme-link-style-2::after,
.theme-creative-link .theme-link-style-2::before {
    opacity: 0;
    transform-origin: 50% 0;
    transition-duration: .3s;
    transform: translate3d(0, 3px, 0);
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(.2, 1, .8, 1);
}

.theme-creative-link .theme-link-style-2:hover::after,
.theme-creative-link .theme-link-style-2:hover::before {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.theme-creative-link .theme-link-style-2::after {
    left: 15%;
    width: 70%;
    content: "";
    top: calc(100% + 4px);
}

.theme-creative-link .theme-link-style-2::before,
.theme-creative-link .theme-link-style-2:hover::after {
    transition-delay: .1s
}

.theme-creative-link .theme-link-style-2:hover::before {
    transition-delay: 0s
}

.theme-creative-link .theme-link-style-8 {
    font-weight: 600
}

.theme-creative-link .theme-link-style-8::before {
    top: 100%;
    opacity: 0;
    height: 10px;
}

.theme-creative-link .theme-link-style-8:hover::before {
    opacity: 1;
    animation: lineUp .3s ease forwards
}

@keyframes lineUp {
    0% {
        transform-origin: 50% 100%;
        transform: scale3d(1, .045, 1);
    }

    50% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 1, 1);
    }

    51% {
        transform-origin: 50% 0;
        transform: scale3d(1, 1, 1);
    }

    to {
        transform-origin: 50% 0;
        transform: scale3d(1, .045, 1);
    }
}

.theme-creative-link .theme-link-style-8::after {
    opacity: 0;
    content: "";
    transition-delay: 0s;
    transition: opacity .3s;
}

.theme-creative-link .theme-link-style-8:hover::after {
    opacity: 1;
    transition-delay: .3s;
}

.theme-creative-link .theme-link-style-1 {
    font-weight: 700
}

.theme-creative-link .theme-link-style-1::after,
.theme-creative-link .theme-link-style-1::before {
    transition: transform .3s;
}

.theme-creative-link .theme-link-style-1::before {
    transform-origin: 0 50%;
    transform: scale3d(0, 1, 1);
}

.theme-creative-link .theme-link-style-1:hover::before {
    transform: scale3d(1, 1, 1)
}

.theme-creative-link .theme-link-style-1::after {
    content: "";
    top: calc(100% + 4px);
    transform-origin: 100% 50%;
}

.theme-creative-link .theme-link-style-1:hover::after {
    transform: scale3d(0, 1, 1)
}

.theme-creative-link .theme-link-style-6 {
    font-weight: 700
}

.theme-creative-link .theme-link-style-6:hover span {
    animation: style-6Text .4s linear
}

@keyframes style-6Text {
    0% {
        opacity: 1;
        transform: translate3d(-10px, 0, 0) scale3d(-1, -1, 1);
        clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%)
    }

    10% {
        clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%)
    }

    20% {
        clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%)
    }

    35% {
        clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%)
    }

    50% {
        clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%)
    }

    60% {
        clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%)
    }

    70% {
        clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%)
    }

    80% {
        clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%)
    }

    90% {
        transform: translate3d(-10px, 0, 0) scale3d(-1, -1, 1)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%)
    }
}

.theme-creative-link .theme-link-style-6::before {
    opacity: 0;
    height: 2px;
}

.theme-creative-link .theme-link-style-6:hover::before {
    opacity: 1;
    animation: style-6Line .4s steps(2, start) forwards;
}

@keyframes style-6Line {
    0% {
        transform: scale3d(1, 1, 1)
    }

    10% {
        transform: translate3d(10px, 0, 0)
    }

    20% {
        transform: translate3d(0, 4px, 0)
    }

    30% {
        transform: scale3d(.1, 1.4, 1) translate3d(0, -25px, 0);
        transform-origin: 100% 0
    }

    40% {
        transform: scale3d(1, .3, 1) translate3d(0, 25px, 0)
    }

    50% {
        transform: scale3d(.5, .3, 1) translate3d(-100px, -80px, 0)
    }

    60% {
        transform: scale3d(1, 1.25, 1) translate3d(10px, -5px, 0)
    }

    70% {
        transform: scale3d(.5, .5, 1) translate3d(0, 20px, 0)
    }

    80% {
        transform-origin: 100% 0;
        transform: translate3d(-30, 10px, 0) scale3d(1, .4, 1);
    }

    90% {
        transform-origin: 0 50%;
        transform: scale3d(1, .5, 1) translate3d(0, -15px, 0);
    }

    to {
        opacity: 1
    }
}


.theme-creative-link .theme-link-style-11::before {
    top: 0;
    opacity: 0;
    height: 100%;
}

.theme-creative-link .theme-link-style-11:hover::before {
    opacity: 1;
    animation: coverUp .3s ease forwards
}

@keyframes coverUp {
    0% {
        transform: scale3d(1, .045, 1);
        transform-origin: 50% 100%;
    }

    50% {
        transform: scale3d(1, 1, 1);
        transform-origin: 50% 100%;
    }

    51% {
        transform: scale3d(1, 1, 1);
        transform-origin: 50% 0;
    }

    to {
        transform: scale3d(1, .045, 1);
        transform-origin: 50% 0;
    }
}

.theme-creative-link .theme-link-style-11::after {
    content: "";
    transition: opacity .3s;
}

.theme-creative-link .theme-link-style-11:hover::after {
    opacity: 0;
}

.theme-creative-link .theme-link-style-3 {
    font-weight: 700;
}

.theme-creative-link .theme-link-style-3::before {
    height: 7px;
    border-radius: 20px;
    transform: scale3d(1, 1, 1);
    transition: transform .2s, opacity .2s;
    transition-timing-function: cubic-bezier(.2, .57, .67, 1.53);
}

.theme-creative-link .theme-link-style-3:hover span,
.theme-creative-link .theme-link-style-3:hover::before {
    transition-timing-function: cubic-bezier(.8, 0, .1, 1);
    transition-duration: .4s
}

.theme-creative-link .theme-link-style-3:hover::before {
    opacity: 1;
    transform: scale3d(1.2, .1, 1)
}

.theme-creative-link .theme-link-style-3 span {
    display: inline-block;
    transform: translate3d(0, -4px, 0); 
    transition: transform .2s .05s cubic-bezier(.2, .57, .67, 1.53);
}

.theme-creative-link .theme-link-style-3:hover span {
    transition-delay: 0s;
    transform: translate3d(0, 0, 0);
}


.theme-creative-link .theme-link-style-13::before {
    height: 2px;
}

.theme-creative-link .theme-link-style-13::before {
    transition: transform .3s;
}

.theme-creative-link .theme-link-style-13:hover::before {
    animation: style-13Line 1s;
    animation-iteration-count: 1
}

@keyframes style-13Line {
    0% {
        left: 0%;
        width: 100%
    }

    45% {
        left: 100%;
        width: 0%
    }

    55% {
        left: 0%;
        width: 0%
    }

    100% {
        left: 0%;
        width: 100%
    }
}