<a class="btn btn-3"><span>Hover</span></a>
*{
 box-sizing: inherit;
 transition-property: all;
 transition-duration: .3s;
 transition-timing-function: ease;
}

a {
 text-decoration: none;
}

.btn {
 color: #fff;
 cursor: pointer;
 display: block;
 font-size: 16px;
 font-weight: 400;
 line-height: 45px;
 margin: 10px;
 max-width: 150px;
 width: 100%;
 height: 45px;
 text-align: center;
 position: relative;
 text-transform: uppercase;
}

.btn-3 {
 border-bottom: 2px solid #e02c26;
 overflow: hidden;
 position: relative;
}

.btn-3 span {
 z-index: 1;
}

.btn-3:after {
 content: ' ';
 display: block;
 width: 100%;
 height: 0px;
 background: #e02c26;
 transition: height 310ms ease-in-out;
 position: absolute;
 top: 0;
 right: 0; 
 z-index: -1;

}

.btn-3:hover:after {
 bottom: 0;
 top: 0;
 height:100%;
 background: #e02c26;
}