.link {
    text-decoration: none;
    line-height: 1;

    position: relative;
    z-index: 0;
    display: inline-block;
    padding: 5px 5px;
    overflow: hidden;
    color: #333;
    vertical-align: bottom;
    transition: color 0.3s ease-out;
}

.link::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    transform: translateY(calc(100% - 2px));
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right, #ee0979, #ff6a00);
    border-radius: 5px;
    transition: transform 0.25s ease-out;
}

.link:hover {
    color: #FFFFFF !important;
}
.link:hover::before {
    transform: translateY(0);
    transition: transform 0.25s ease-out;
}