.link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 5px;
    border-radius: 30%;
    box-shadow: 3px 3px 3px #bebebe, -3px -3px 3px #fff;
    position: relative;
    overflow: hidden;
    line-height: 90px;
    font-size: 10px;
    transition: 0.8s;
    text-align: center;
    padding: 5px;
}
.link svg {
    width: 60%;
    height: 60%;
    display: inline-block;
    vertical-align: middle;
}
.yt {
    color: #ff0000;
}
.fb {
    color: #4267b2;
}
.fb-circle {
    color: #1877f2;
}
.ig {
    color: #e949a3;
}
.git {
    color: #222;
}
.tweet {
    color: #1da1f2;
}
.x {
    color: #222;
}
.web {
    color: #1da1f2;
}
.yt:hover,
.fb:hover,
.fb-circle:hover,
.ig:hover,
.git:hover,
.x:hover,
.web:hover,
.tweet:hover {
    color: #f1f1f1;
}
.link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0%;
    z-index: -1;
    transition: 0.8s;
    border-radius: 0 0 50% 50%;
}
.yt::before {
    background: #ff0000;
}
.fb::before {
    background: #4267b2;
}
.fb-circle::before {
    background: #1877f2;
}
.ig::before {
    background: #e949a3;
}
.git::before {
    background: #222;
}
.tweet::before {
    background: #1da1f2;
}
.x::before {
    background: #222;
}
.web::before {
    background: #1da1f2;
}
.yt:hover::before,
.fb:hover::before,
.fb-circle:hover::before,
.ig:hover::before,
.git:hover::before,
.x:hover::before,
.web:hover::before,
.tweet:hover::before {
    height: 180%;
}