.btn {
  border-radius: 0;
  transition: all 0.2s;
  .button-size(@padding-small-vertical; @padding-small-horizontal * 2; @font-size-small; @line-height-small; .25rem);
}

.button-variant(@color; @background:transparent; @border:@background) {
  color: @color;
  background: @background;
  border-color: @background;
  &:hover, &:focus, &:active, &.active, .open .dropdown-toggle& {
    background: lighten(@background, 7%);
  }
  &.disabled, &[disabled], fieldset[disabled] & {
    &, &:hover, &:focus, &:active, &.active {
      color: lighten(@color, 10%);
      background: desaturate(@background, 15%);
    }
  }
  &.btn-outline{
    color:@background;
    background-color:transparent
  }
}

.btn-link:before {
  border-color: transparent;
  &:hover, &:focus, &:active { border-color: @btn-primary-border; }
}

.btn-lg {
  // line-height: ensure even-numbered height of button next to large input
  .button-size(@padding-large-vertical; @padding-large-horizontal * 3; @font-size-large; @line-height-large; .25rem);
}

.btn-sm, .btn-xs {
  // line-height: ensure proper height of button next to small input
  .button-size(@padding-small-vertical; @padding-small-horizontal * 1.5; @font-size-small; @line-height-small; .25rem);
}

.btn-md {
  // line-height: ensure proper height of button next to small input
  .button-size(@padding-large-vertical; @padding-large-horizontal; 16px; @line-height-base; .25rem);
}

.btn-xs {
  padding: 1px 5px;
}
