// stylelint-disable declaration-no-important

.b {
  // Sizes
  @each $pos, $val in $positions {
    @each $size, $length in $border-widths {

      @if ($val) {
        &#{$pos}-#{$size} {
          @if (type-of($val) == string) {
            @if ($length == none) {
              border-#{$val}: $length !important;
            } @else {
              border-#{$val}: $length solid $border-color !important;
            }
          } @else if (type-of($val) == list) {
            @each $key-val in $val {
              @if ($length == none) {
                border-#{$key-val}: $length !important;
              } @else {
                border-#{$key-val}: $length solid $border-color !important;
              }
            }
          }
        }
      } @else {
        &-#{$size} { border: $length solid $border-color !important; }
      }

    }
  }

  // Colors
  @each $color, $value in $ui-colors {
    &-#{$color} { border-color: $value !important; }
  }
  &-transparent { border-color: transparent !important; }

  // Styles
  &s-dotted { border-style: dotted !important; }
  &s-dashed { border-style: dashed !important; }

  // Rounded styles
  &s-rounded { @include border-radius(2px); }
  &s-left-rounded { @include border-radius(2px 0 0 2px); }
  &s-right-rounded { @include border-radius(0 2px 2px 0); }
  &s-top-rounded { @include border-radius(2px 2px 0 0); }
  &s-bottom-rounded { @include border-radius(0 0 2px 2px); }
  &s-circle { @include border-radius(50%); }
}
