.btn {
  @apply inline-block border-0 rounded-none px-10 py-3.75 font-secondary font-light text-white transition-colors duration-300 cursor-pointer;

  &:focus {
    box-shadow: none;
  }

  .btn-area {
    @apply block overflow-hidden;

    span {
      @apply relative inline-block py-[2px] origin-left transition-transform duration-[900ms];
      transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);

      &::after {
        content: attr(data-text);
        @apply absolute left-0 top-[150%] origin-left;
        transform: skewY(30deg);
        transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
      }
    }
  }

  &:hover,
  &:visited {
    .btn-area {
      span {
        transform: translateY(-150%) skewY(7deg);

        &::after {
          transform: skewY(-7deg);
        }
      }
    }
  }
}

.btn-primary {
  @apply border-primary bg-primary/85 hover:bg-primary text-text-light;
}

.btn-secondary {
  @apply border-secondary bg-secondary/85 hover:bg-secondary text-text-light;
}
