.link {
    font: 300 1.65rem/1.4 "Josefin Sans";
    text-transform: uppercase;
    letter-spacing: 0.13em;
    word-spacing: 0.3em;
    margin: 15px auto;
    text-decoration: none;
    display: flex;
    width: 10em;
}
.link__svg {
    width: 100%;
    height: auto;
    transform-box: fill-box;
    fill: #004683;
    stroke: #152b49;
    stroke-width: 0.05em;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.link__cloud {
    transform-origin: 50% 50%;
    animation: rotate normal infinite 60s linear;
    fill: rgba(255, 255, 255, 0.15);
}
.link__face, .link__arrow {
    transform-origin: 50% 50%;
    transition: transform 0.15s cubic-bezier(0.32, 0, 0.67, 0);
}
.link:hover .link__face, .link:hover .link__arrow {
    transform: scale(1.1);
    transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.link__arrow {
    stroke-width: 0.075em;
}
.link__text {
    animation: rotate normal infinite 15s linear;
    font-size: medium;
    transform-origin: 50% 50%;
}
.link:hover .link__text {
    animation-play-state: paused;
}
.link--alt {
    font-size: 1.15rem;
    letter-spacing: 0;
    word-spacing: 0;
}
@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}
@keyframes rotateReverse {
    to {
        transform: rotate(-360deg);
    }
}
