a {
position: relative;
display: inline-block;
padding: 1.2em 2em;
text-decoration: none;
text-align: center;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: white;
}
a::before {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: linear-gradient(135deg, #6e8efb, #a777e3);
border-radius: 4px;
transition: box-shadow .5s ease, -webkit-transform .2s ease;
transition: box-shadow .5s ease, transform .2s ease;
transition: box-shadow .5s ease, transform .2s ease, -webkit-transform .2s ease;
will-change: transform;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
-webkit-transform: translateY(var(--ty, 0)) rotateX(var(--rx, 0)) rotateY(var(--ry, 0)) translateZ(var(--tz, -12px));
transform: translateY(var(--ty, 0)) rotateX(var(--rx, 0)) rotateY(var(--ry, 0)) translateZ(var(--tz, -12px));
}
a:hover::before {
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
a::after {
position: relative;
display: inline-block;