.ab-07,
.ab-07 *,
.ab-07 *::before,
.ab-07 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.ab-07 ::selection {
  background: #7c3aed;
  color: #fff;
}

.ab-07 {
  font-family:'Quicksand',sans-serif;
  background: #0a0a14;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.ab-07__btn {
  margin:auto!important;
  max-width:200px!important;
  font-family:'Quicksand',sans-serif;
  font-size:17px;
  padding: .9rem 2.4rem;
  font-weight: normal;
  color: #fff;
  background:linear-gradient(90deg,#7c3aed,#06b6d4,#f43f5e,#7c3aed);
  background-size: 300% 300%;
  border: none;
  border-radius: 0px;
  cursor: pointer;
  outline: none;
  letter-spacing: .03em;
  animation: ab-07-shift 4s ease infinite;
  will-change: background-position;
  box-shadow: 0 4px 20px rgba(124,58,237,.4);
  transition: filter .2s,box-shadow .2s,transform .15s;
}

.ab-07__btn:hover {
  filter: brightness(1.12);
  box-shadow: 0 6px 32px rgba(124,58,237,.6);
  transform: translateY(-2px);
}

.ab-07__btn:active {
  transform: translateY(0);
  filter: brightness(.95);
}

@keyframes ab-07-shift {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ab-07__btn {
    animation: none;
    background: linear-gradient(90deg,#7c3aed,#06b6d4);
  }
}