[class*="#{$prefix}-col-"] {
  float: left;
  box-sizing: border-box;
}

.#{$prefix}-col-0 {
  display: none;
}

@for $i from 0 through 24 {
  .#{$prefix}-col-#{$i} {
    width: (1 / 24 * $i * 100) * 1%;
  }

  .#{$prefix}-col-offset-#{$i} {
    margin-left: (1 / 24 * $i * 100) * 1%;
  }

  .#{$prefix}-col-pull-#{$i} {
    position: relative;
    right: (1 / 24 * $i * 100) * 1%;
  }

  .#{$prefix}-col-push-#{$i} {
    position: relative;
    left: (1 / 24 * $i * 100) * 1%;
  }
}

@include res(xs) {
  .#{$prefix}-col-xs-0 {
    display: none;
  }
  @for $i from 0 through 24 {
    .#{$prefix}-col-xs-#{$i} {
      width: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xs-offset-#{$i} {
      margin-left: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xs-pull-#{$i} {
      position: relative;
      right: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xs-push-#{$i} {
      position: relative;
      left: (1 / 24 * $i * 100) * 1%;
    }
  }
}

@include res(sm) {
  .#{$prefix}-col-sm-0 {
    display: none;
  }
  @for $i from 0 through 24 {
    .#{$prefix}-col-sm-#{$i} {
      width: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-sm-offset-#{$i} {
      margin-left: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-sm-pull-#{$i} {
      position: relative;
      right: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-sm-push-#{$i} {
      position: relative;
      left: (1 / 24 * $i * 100) * 1%;
    }
  }
}

@include res(md) {
  .#{$prefix}-col-md-0 {
    display: none;
  }
  @for $i from 0 through 24 {
    .#{$prefix}-col-md-#{$i} {
      width: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-md-offset-#{$i} {
      margin-left: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-md-pull-#{$i} {
      position: relative;
      right: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-md-push-#{$i} {
      position: relative;
      left: (1 / 24 * $i * 100) * 1%;
    }
  }
}

@include res(lg) {
  .#{$prefix}-col-lg-0 {
    display: none;
  }
  @for $i from 0 through 24 {
    .#{$prefix}-col-lg-#{$i} {
      width: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-lg-offset-#{$i} {
      margin-left: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-lg-pull-#{$i} {
      position: relative;
      right: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-lg-push-#{$i} {
      position: relative;
      left: (1 / 24 * $i * 100) * 1%;
    }
  }
}

@include res(xl) {
  .#{$prefix}-col-xl-0 {
    display: none;
  }
  @for $i from 0 through 24 {
    .#{$prefix}-col-xl-#{$i} {
      width: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xl-offset-#{$i} {
      margin-left: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xl-pull-#{$i} {
      position: relative;
      right: (1 / 24 * $i * 100) * 1%;
    }

    .#{$prefix}-col-xl-push-#{$i} {
      position: relative;
      left: (1 / 24 * $i * 100) * 1%;
    }
  }
}