<div class="m-linkitem">
  <h1>Hover Below</h1>
  <a href="#">Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe quia natus repudiandae consequuntur tenetur consequatur.</a>
</div>
$f-title:'Roboto', sans-serif;
$f-body:'Open Sans', sans-serif;

@mixin centre($axis: "both") {
  position: absolute;
  @if $axis == "y" {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  @if $axis == "x" {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  @if $axis == "both" {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-51%, -50%);
    -moz-transform: translate(-51%, -50%);
    -ms-transform: translate(-51%, -50%);
    -o-transform: translate(-51%, -50%);
    transform: translate(-51%, -50%);
  }
}
@mixin font-size($sizeValue: 1.6, $lineHeight: 2.4) {
  font-size: ($sizeValue * 10) + px;
  font-size: $sizeValue + rem;
  line-height: ($lineHeight * 10) + px;
}
@mixin fontawesome {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@keyframes backgroundGradient { 
    0%{background-position:50% 0%}
    50%{background-position:50% 100%}
    100%{background-position:50% 0%}
}

@keyframes loadBounce { 
    0%{transform:translate(-50%, -50%) scale(0);}
  40%{transform:translate(-50%, -50%) scale(1.2);}
  60%{transform:translate(-50%, -50%) scale(1);}
  80%{transform:translate(-50%, -50%) scale(1.1);}
  100%{transform:translate(-50%, -50%) scale(1);}
}
  

body{
  margin:0;
  padding:0;
  width:100vw;
  height:100vh;
  font-family:$f-body;
  background: linear-gradient(180deg, #111, #00393c);
background-size: 400% 400%;
animation: backgroundGradient 30s ease infinite;
}

h1, h2, h3, h4{
  font-family:$f-title;
  font-weight:900;
  color:#fff;
}

p{
  @include font-size(1.8, 2.6);
}

.m-linkitem{
  @include centre();
  max-width:500px;
  width:100%;
  // text-align:center;
  transform-origin:center;
  animation: loadBounce 0.5s ease-in-out forwards;
  
  a{
    transition:all 1s linear;
    display:inline;
    @include font-size(2.2, 4.5);
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-weight:600;
    padding-bottom:5px;
    background: linear-gradient(to right, rgba(0,209,177,1) 0%,rgba(39,143,198,1) 98%);
    background-size:0px 2px;
    background-repeat: no-repeat;
    background-position:left 85%;
    text-shadow:0;
    
    &:hover{
      background-size:100% 2px;
      text-shadow:0 2.5px 4px rgba(0,0,0,0.5);
    }
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-3.2.1.js
  2. https://use.fontawesome.com/b5bf1bd49e.js