// Grid system
//
// Generate semantic grid columns with these mixins.

// Centered container element
.container-fixed() {
    margin-right: auto;
    margin-left: auto;
    padding-left: var(--grid-gutter-width-half);
    padding-right: var(--grid-gutter-width-half);

    &:extend(.clearfix all);
}

// Creates a wrapper for a series of columns
.make-row() {
    margin-left: calc(var(--grid-gutter-width-half) * -1);
    margin-right: calc(var(--grid-gutter-width-half) * -1);

    &:extend(.clearfix all);
}

// Generate the extra small columns
.make-xs-column(@columns) {
    position: relative;
    float: left;
    width: percentage((@columns / @grid-columns));
    min-height: 1px;
    padding-left: var(--grid-gutter-width-half);
    padding-right: var(--grid-gutter-width-half);
}
.make-xs-column-offset(@columns) {
  margin-left: percentage((@columns / @grid-columns));
}
.make-xs-column-push(@columns) {
  left: percentage((@columns / @grid-columns));
}
.make-xs-column-pull(@columns) {
  right: percentage((@columns / @grid-columns));
}

// Generate the small columns
.make-sm-column(@columns) {
    position: relative;
    min-height: 1px;
    padding-left: var(--grid-gutter-width-half);
    padding-right: var(--grid-gutter-width-half);

  @media (min-width: @screen-sm-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-offset(@columns) {
  @media (min-width: @screen-sm-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-push(@columns) {
  @media (min-width: @screen-sm-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-pull(@columns) {
  @media (min-width: @screen-sm-min) {
    right: percentage((@columns / @grid-columns));
  }
}

// Generate the medium columns
.make-md-column(@columns) {
    position: relative;
    min-height: 1px;
    padding-left: var(--grid-gutter-width-half);
    padding-right: var(--grid-gutter-width-half);

    @media (min-width: @screen-md-min) {
      float: left;
      width: percentage((@columns / @grid-columns));
    }
}
.make-md-column-offset(@columns) {
    @media (min-width: @screen-md-min) {
        margin-left: percentage((@columns / @grid-columns));
    }
}
.make-md-column-push(@columns) {
    @media (min-width: @screen-md-min) {
        left: percentage((@columns / @grid-columns));
    }
}
.make-md-column-pull(@columns) {
  @media (min-width: @screen-md-min) {
    right: percentage((@columns / @grid-columns));
  }
}

// Generate the large columns
.make-lg-column(@columns) {
    position: relative;
    min-height: 1px;
    padding-left: var(--grid-gutter-width-half);
    padding-right: var(--grid-gutter-width-half);

    @media (min-width: @screen-lg-min) {
        float: left;
        width: percentage((@columns / @grid-columns));
    }
}
.make-lg-column-offset(@columns) {
    @media (min-width: @screen-lg-min) {
        margin-left: percentage((@columns / @grid-columns));
    }
}
.make-lg-column-push(@columns) {
    @media (min-width: @screen-lg-min) {
        left: percentage((@columns / @grid-columns));
    }
}
.make-lg-column-pull(@columns) {
    @media (min-width: @screen-lg-min) {
        right: percentage((@columns / @grid-columns));
    }
}
