/* Float Shadow */
.hv-float-shadow {
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}
.hv-float-shadow:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    top: 100%;
    left: 5%;
    height: 10px;
    width: 90%;
    opacity: 0;
    background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, transparent 80%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, transparent 80%);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform, opacity;
    transition-property: transform, opacity;
}
.a, .hv-float-shadow:hover, .hv-float-shadow:focus, .hv-float-shadow:active {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
}
.a:before, .hv-float-shadow:hover:before, .hv-float-shadow:focus:before, .hv-float-shadow:active:before {
    opacity: 1;
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
}
/* Grow Shadow */
.hv-grow-shadow {
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow, transform;
    transition-property: box-shadow, transform
}

.hv-grow-shadow:active, .hv-grow-shadow:focus, .hv-grow-shadow:hover {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5);
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}