/**
 * @file
 * Lightweight flexbox grid system replicating Bootstrap 3 column layout.
 */

.container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

/* Base column styles */
[class*="col-"] {
  position: relative;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

/* Extra small (mobile first) */
.col-xs-4  { flex: 0 0 33.333%; max-width: 33.333%; }
.col-xs-6  { flex: 0 0 50%; max-width: 50%; }
.col-xs-8  { flex: 0 0 66.667%; max-width: 66.667%; }
.col-xs-12 { flex: 0 0 100%; max-width: 100%; }

/* Small — 576px+ */
@media (min-width: 576px) {
  .col-sm-6  { flex: 0 0 50%; max-width: 50%; }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Medium — 768px+ */
@media (min-width: 768px) {
  .col-md-3  { flex: 0 0 25%; max-width: 25%; }
  .col-md-4  { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-md-6  { flex: 0 0 50%; max-width: 50%; }
  .col-md-8  { flex: 0 0 66.667%; max-width: 66.667%; }
  .col-md-9  { flex: 0 0 75%; max-width: 75%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Large — 992px+ */
@media (min-width: 992px) {
  .col-lg-3  { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4  { flex: 0 0 33.333%; max-width: 33.333%; }
  .col-lg-6  { flex: 0 0 50%; max-width: 50%; }
  .col-lg-8  { flex: 0 0 66.667%; max-width: 66.667%; }
  .col-lg-9  { flex: 0 0 75%; max-width: 75%; }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}
