@import "../../styles/variables.less";

//
// Grid system (pulled from core Bootstrap)
// --------------------------------------------------

// Import Layout Mixins used to generate the grid classes
@import "mixins/grid-framework.less";
@import "mixins/grid.less";
@import "mixins/responsive-visibility.less";

// Add responsive utility classes
@import "utility/responsive-utilities.less";





// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.

.container {
  .container-fixed(20+@grid-gutter-width);
  @media screen and (max-width:@screen-md-max) {
    .container-fixed(20+@grid-gutter-width-md);
  }
  @media screen and (max-width:@screen-xs-max) {
    .container-fixed(@grid-gutter-width-xs);
  }

  @media (min-width: (1 + @screen-xs)) {
    width: @container-xs;
  }
  @media (min-width: @screen-sm-min) {
    width: @container-sm;
  }
  @media (min-width: @screen-md-min) {
    width: @container-md;
  }
  @media (min-width: @screen-lg-min) {
    width: auto;
  }
  @media (min-width: @screen-xlg-min) {
    width: @container-xlg;
  }
}


// Fluid container
//
// Utilizes the mixin meant for fixed width containers, but without any defined
// width for fluid, full width layouts.

.container-fluid {
  .container-fixed();
  @media screen and (max-width:@screen-md-max) {
    .container-fixed(@grid-gutter-width-md);
  }
}


// Row
//
// Rows contain and clear the floats of your columns.

.row {
  .make-row();
  @media screen and (max-width:@screen-md-max) {
    .make-row(@grid-gutter-width-md);
  }
  @media screen and (max-width:@screen-xs-max) {
    .make-row(@grid-gutter-width-xs);
  }
}

// Columns
//
// Common styles for small and large grid columns

.make-grid-columns();
@media screen and (max-width:@screen-md-max) {
  .make-grid-columns(@grid-gutter-width-md);
}
@media screen and (max-width:@screen-xs-max) {
  .make-grid-columns(@grid-gutter-width-xs);
}

// Extra small grid
//
// Columns, offsets, pushes, and pulls for extra small devices like
// smartphones.

.make-grid(xs);


// Small grid
//
// Columns, offsets, pushes, and pulls for the small device range, from phones
// to tablets.

@media (min-width: @screen-sm-min) {
  .make-grid(sm);
}


// Medium grid
//
// Columns, offsets, pushes, and pulls for the desktop device range.

@media (min-width: @screen-md-min) {
  .make-grid(md);
}


// Large grid
//
// Columns, offsets, pushes, and pulls for the large desktop device range.

@media (min-width: @screen-lg-min) {
  .make-grid(lg);
}

// Manually adding .clearfix() classes since LESSPHP has trouble with them.
.clearfix,
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}

// The magic ingredient
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
