Button Hover Effect

Nice hover effect on a button

HTML

<a href="#" class="button">Hover Me!</a>

CSS

body {
    padding: 30px;
    text-align: center;
    background: #222;
}

h1 { color: white; margin: 0 0 30px 0; }

.button {
   border-top: 1px solid #96d1f8;
   background: #65a9d7;
   background: -webkit-gradient(linear, left top, left bottom, from(#3e779d), to(#65a9d7));
   background: -moz-linear-gradient(top, #3e779d, #65a9d7);
   padding: 5px 10px;
   -webkit-border-radius: 8px;
   -moz-border-radius: 8px;
   border-radius: 8px;
   -webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
   -moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
   box-shadow: rgba(0,0,0,1) 0 1px 0;
   text-shadow: rgba(0,0,0,.4) 0 1px 0;
   color: white;
   font-size: 14px;
   font-family: Georgia, serif;
   text-decoration: none;
   vertical-align: middle;
   position: relative;
   overflow: hidden;
   display: inline-block;
}

.button:before {
   content: "";
   width: 100px;
   height: 200%;
   position: absolute;
   top: -100%;
   left: -225%;
    background-image: -webkit-linear-gradient(135deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(255,255,255,0)); 
    background-image: -moz-linear-gradient(135deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(255,255,255,0));  
    -moz-transition: all 0.5s ease-out; 
    -o-transition: all 0.5s ease-out; 
    -webkit-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
}

.button:hover:before {
    top: 200%;
    left: 200%;   
}