.button {
  position: relative;
  display: inline-block;
  padding: 3px 9px;
  margin: 0.25rem;
  cursor: pointer;
  text-decoration: none !important;
  border-radius: 0.25rem;
  background-color: transparent;

  &__text {
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    @include translate(-50%, -50%);
  }

  &__micro {
    height: 20px;
    font-size: 14px;
    line-height: 14px;
  }

  &__mini {
    height: 24px;
    font-size: 15px;
    line-height: 15px;
  }

  &__small {
    height: 28px;
    font-size: 16px;
  }

  &__medium {
    height: 32px;
    font-size: 17px;
    line-height: 17px;
  }

  &__large {
    height: 36px;
    font-size: 18px;
  }

  @include themify($themes) {
    &[data-color="default"] {
      color: themed('link');
      border: 1px solid themed('link');

      @include on-event {
        color: themed('link-hover');
        border: 1px solid themed('link-hover');
      }
    }

    &[data-color="primary"] {
      color: themed('button-primary-color');
      border: 1px solid themed('button-primary-color');

      @include on-event {
        color: themed('link-hover');
        border: 1px solid themed('link-hover');
      }
    }

    &[data-variant="contained"] {
      &[data-color="primary"], &[data-color="default"] {
        color: #111;
        background: themed('button-primary-color');
        @include box-shadow(1px, 1px, 3px, 0, themed('share-shadow-color'));
        border: none;

        @include on-event {
          color: #111;
          background: darken(themed('button-primary-color'), 4%);
          border: none;
        }
      }
    }
  }
}