<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';
  -webkit-box-sizing: border-box;
  -moz-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;}
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js