JSFiddle - React, Tailwind, and code Playground

HTML

<a class="_it4vx _72fik">
  <span>AMMC</span>
</a>
<a class="button button-svg  animated-btn " href="http://teslakarting.com/training/schedule/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 339.3 66.3">
  
   <linearGradient id="grad1" gradientUnits="userSpaceOnUse">
      <stop class="stop-1" offset="0%" stop-color="#d585ff"/>
      <stop class="stop-2" offset="100%" stop-color="#2199ff"/>
    </linearGradient>
  
  <text transform="matrix(1 0 0 1 96.3537 40.6395)" class="st0 st1 st2 button-svg-text" x="8" y="0">Расписание</text> 
<path class="btn-border " d="M2.6 33.7c0-16.6 13.4-30 30-30h274c16.6 0 30 13.4 30 30 0 16.6-13.4 30-30 30h-274C16 63.7 2.6 50.3 2.6 33.7z"></path> 
 <path class="btn-border border-hover" d="M2.6 33.7c0-16.6 13.4-30 30-30h274c16.6 0 30 13.4 30 30 0 16.6-13.4 30-30 30h-274C16 63.7 2.6 50.3 2.6 33.7z"> </path>
   
 </svg> 
</a>

CSS

html{
  background: url(http://amm-c.ru/bitrix/templates/main/images/ammc_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
      width: 100%;
    height: 100%;
}
html:after{
 z-index: -1;
 top: 0;
 right: 0;
 left: 0;
 bottom: 0;
 content: "";
 position: absolute;
 width: 100%;
 background: #0000009c;
 height: 100%;
}
@keyframes LoadingBarProgress {
	0% {
		background-position: 0% 0
	}
	to {
		background-position: 125% 0
	}
}
@-webkit-keyframes LoadingBarEnter {
	0% {
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	to {
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
}

._it4vx {
  width: 200px;
  margin: 0 auto;
  margin-top: 10%;
  position: relative;
  height: 50px;
  display:block;
  border-radius: 50px;
	background: #d585ff linear-gradient(to right, #d585ff, #2199ff, #00ffee, #6652ff, #d585ff);
	background-size: 500%;
	transform-origin: left;
  cursor:pointer;
  margin: auto;
}
._it4vx:hover{
  	animation: 2s linear infinite LoadingBarProgress
}
._it4vx span{
  display: block;
  text-align: center;
  line-height: 43px;
  color:#fff;
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  border-radius: 50px;
  background: #636363;
}
.button {
    padding: 12px 20px 14px;
    width: 200px;
    margin: 0 auto;
  display: block;
  height: 50px;
  
}
.btn-border {
    fill: none;
    stroke: url(#grad1);
    stroke-width: 1;
    stroke-miterlimit: 10;
    stroke-dasharray: 1000;
}

stop{
  animation: colors 2s infinite linear;
}
.stop-1 {
    
}
.stop-2 {
    animation-delay: -6s;
}

@keyframes colors {
    20% {
        stop-color: #d585ff;
    }
    40% {
        stop-color: #2199ff;
    }
    60% {
        stop-color: #00ffee;
    }
    80% {
        stop-color: #6652ff;
    }
    100% {
        stop-color: #d585ff;
    }
}