@each $breakpoint in map-keys($grid-breakpoints) {
  $infix:                                                   breakpoint-infix($breakpoint, $grid-breakpoints);

  @for $i from 1 through $grid-columns {
    .col-width#{$infix}-#{$i} {
      &-plus {
        width:                                          percentage(($i + 0.5) / $grid-columns) !important;
      }
      width:                                            percentage($i / $grid-columns) !important;
    }
    .col-min-width#{$infix}-#{$i} {
      &-plus {
        min-width:                                          percentage(($i + 0.5) / $grid-columns) !important;
      }
      min-width:                                            percentage($i / $grid-columns) !important;
    }
    .col-max-width#{$infix}-#{$i} {
      &-plus {
        max-width:                                          percentage(($i + 0.5) / $grid-columns) !important;
      }

      @include                                                media-breakpoint-up($breakpoint) {
        max-width:                                            percentage($i / $grid-columns) !important;
      }
    }

    .col-input-group-min-width#{$infix}-#{$i} {
      &-plus {
        .input-group-prepend {
          min-width:                                        percentage(($i + 0.5) / $grid-columns) !important;
        }
        .input-group-text {
          min-width:                                        100% !important;
        }
      }
      .input-group-prepend {
        min-width:                                          percentage($i / $grid-columns) !important;
        .input-group-text {
          min-width:                                        100% !important;
        }
      }
    }
  }
}
