@include b(button) {
  position: relative;
  padding: 0 14px;
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
  outline: none;
  &::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border: inherit;
    border-color: #000;
    border-radius: inherit;
    background-color: #000;
    opacity: 0;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
  }
  &-primary {
    border-color: $primary-color;
    background-color: $primary-color;
    color: $white;
    &:active {
      border-color: darken($primary-color,10);
      background-color: darken($primary-color,10);
    }
    &.disabled {
      color: hsla(0,0%,100%,.6);
      opacity: .4;
      cursor: not-allowed;
    }
  }
  &-secondary {
    border-color: $border-color;
    background-color: $white;
    color: $primary-text-color;
    &:active {
      border-color: darken($border-color,5);
      background-color: darken($white,5);
    }
    &.disabled {
      color: rgba(0,0,0,.3);
      opacity: .6;
    }
  }
  &-plain {
    border-color: $primary-color;
    background-color: $white;
    color: $primary-color;
    &:active {
      border-color: lighten($primary-color,10);
      background-color: lighten($primary-color,40);
    }
    &.disabled {
      opacity: .6;
      cursor: not-allowed;
    }
  }
  &-normal {
    height: 30px;
    border-radius: 3px;
    line-height: 28px;
    font-size: 13px;
  }
  &-loading-circle {
    width: $size-14;
    height: $size-14;
    padding-right: 5px;
    vertical-align: sub;
    svg {
      width: inherit;
      height: inherit;
      opacity: 1;
      animation: fsRotate .8s linear infinite;
      animation-duration: 2s;
      circle {
        stroke: currentColor;
        stroke-width: 4;
        stroke-linecap: round;
        animation: fsCircular 1.5s ease-in-out infinite;
      }
    }
  }
  &-large {
    width: 100%;
    height: 47px;
    border-radius: 5px;
    line-height: 45px;
    font-size: $size-18;
  }
  &-large &-loading-circle {
    width: $size-17;
    height: $size-17;
  }
}
