<div class="wrapper">
<a href="#">Access to this product now<span class="arrow"><span></span></span></a>
</div>
@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700,300);
* {
margin:0;
padding:0;
outline:none;
list-style:none;
text-decoration:none;
box-sizing:border-box;
}
html, body {
height: 100%;
width: 100%;
}
body {
background: #202020;
font-family: 'Roboto', sans-serif;
}
.wrapper {
margin:0 auto;
width: 400px;
height: 100px;
position: relative;
top:50%;left:50%;
margin-left:-200px;
margin-top:-50px;
}
.wrapper a {
position: relative;
background: #121212;
bottom: 0;
color: #fff;
height: 45px;
line-height: 45px;
position: absolute;
width: 100%;
padding: 0 0 0 20px;
font-size: 12px;
font-weight:700;
font-family: 'Arial';
box-sizing: border-box;
box-sizing: border-box;
box-sizing: border-box;
text-transform: uppercase;
transition:0.1s all ease-in;
}
.wrapper a span{
display: block;
width: 8px;
top: 0;
bottom: 0;
margin: auto;
right: 10px;
height: 10px;
position: absolute;
}
.wrapper a span span{
background: url(http://thomaspodgro.com/source/arrow.png);
display: block;
width: 8px;
top: 0;
bottom: 0;
margin: auto;
right: 0px;
height: 10px;
opacity: 1;
position: absolute;
}
.wrapper a .arrow:before {
content:"";
background: url(http://thomaspodgro.com/source/arrow.png);
display: block;
width: 8px;
top: 0;
bottom: 0;
margin: auto;
right: 10px;
height: 10px;
position: absolute;
opacity: 0.5;
}
.wrapper a .arrow:after {
content:"";
background: url(http://thomaspodgro.com/source/arrow.png);
display: block;
width: 8px;
top: 0;
bottom: 0;
margin: auto;
right: 20px;
height: 10px;
position: absolute;
opacity: 0.3;
}
.wrapper a:hover .arrow:before{
animation: animate-arrow-2 1s ease-in-out infinite 0.1s;
}
.wrapper a:hover .arrow:after{
animation: animate-arrow-3 1s ease-in-out infinite 0.2s;
}
.wrapper a:hover .arrow span{
animation: animate-arrow-1 1s ease-in-out infinite;
}
@keyframes animate-arrow-1 {
0%{transform:translateX(-40px);opacity: 0;}
70%,100%{transform:translateX(0px);opacity: 1;}
}
@keyframes animate-arrow-2 {
0%{transform:translateX(-20px);opacity: 0;}
70%,100%{transform:translateX(0px);opacity: 0.5;}
}
@keyframes animate-arrow-3 {
0%{transform:translateX(-10px);opacity: 0;}
70%,100%{transform:translateX(0px);opacity: 0.3;}
}
This Pen doesn't use any external CSS resources.