/*! original source, own modifications
* https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/grid.css
*/
.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.grid > .grid {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}

.grid-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
}

.grid-cell--min25 {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 25rem;
          flex: 1 0 25rem;
}

.grid--flexcells > .grid-cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/*! Helper to make .grid a column layout */
.grid--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/*! cross axis alignment */
.grid--top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.grid--bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.grid--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.grid--stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.grid--baseline {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

/*! Axis alignment options  */
.grid--justify-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.grid--justify-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.grid--justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.grid--justify-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.grid--justify-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

/*!
* whole Grid Grid-cell modifiers
*/
.grid--fit > .grid-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.grid--full > .grid-cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.grid--1of2 > .grid-cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

.grid--1of3 > .grid-cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.3333%;
          flex: 0 0 33.3333%;
}

.grid--1of4 > .grid-cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}

.grid--min25 > .grid-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 25rem;
          flex: 1 1 25rem;
}

/*!
* Single grid-cell override modifiers
* 
* Grid-cell self-align modifiers
*/
.grid-cell--top {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.grid-cell--bottom {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.grid-cell--center {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

/*! 
* grid-cell flex modifiers
*/
/*! == flex: 0 0 auto */
.grid-cell--size-auto {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.grid-cell--size-nogrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 0%;
          flex: 0 0 0%;
}

.grid-cell--size-stretch {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
}

.grid-cell--onerow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 70%;
          flex: 1 0 70%;
}

@media (min-width: 768px) {
  .small-grid--fit > .grid-cell {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .small-grid--full > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .small-grid--1of2 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .small-grid--1of3 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333%;
            flex: 0 0 33.3333%;
  }
  .small-grid--1of4 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
  }
}

@media (min-width: 1024px) {
  .med-grid--fit > .grid-cell {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .med-grid--full > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .med-grid--1of2 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .med-grid--1of3 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333%;
            flex: 0 0 33.3333%;
  }
  .med-grid--1of4 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
  }
}

@media (min-width: 1203px) {
  .large-grid--fit > .grid-cell {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .large-grid--full > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .large-grid--1of2 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .large-grid--1of3 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333%;
            flex: 0 0 33.3333%;
  }
  .large-grid--1of4 > .grid-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
  }
}

.grid--gutters {
  margin: -1em 0 1em -1em;
}

.grid--gutters > .grid-cell {
  padding: 1em 0 0 1em;
}

.grid--gutterslg {
  margin: -1.5em 0 1.5em -1.5em;
}

.grid--gutterslg > .grid-cell {
  padding: 1.5em 0 0 1.5em;
}

.grid--guttersxl {
  margin: -2em 0 2em -2em;
}

.grid--guttersxl > .grid-cell {
  padding: 2em 0 0 2em;
}

@media (min-width: 768px) {
  .small-grid--gutters {
    margin: -1em 0 1em -1em;
  }
  .small-grid--gutters > .grid-cell {
    padding: 1em 0 0 1em;
  }
  .small-grid--gutterslg {
    margin: -1.5em 0 1.5em -1.5em;
  }
  .small-grid--gutterslg > .grid-cell {
    padding: 1.5em 0 0 1.5em;
  }
  .small-grid--guttersxl {
    margin: -2em 0 2em -2em;
  }
  .small-grid--guttersxl > .grid-cell {
    padding: 2em 0 0 2em;
  }
}

@media (min-width: 1024px) {
  .med-grid--gutters {
    margin: -1em 0 1em -1em;
  }
  .med-grid--gutters > .grid-cell {
    padding: 1em 0 0 1em;
  }
  .med-grid--gutterslg {
    margin: -1.5em 0 1.5em -1.5em;
  }
  .med-grid--gutterslg > .grid-cell {
    padding: 1.5em 0 0 1.5em;
  }
  .med-grid--guttersxl {
    margin: -2em 0 2em -2em;
  }
  .med-grid--guttersxl > .grid-cell {
    padding: 2em 0 0 2em;
  }
}

@media (min-width: 1203px) {
  .large-grid--gutters {
    margin: -1em 0 1em -1em;
  }
  .large-grid--gutters > .grid-cell {
    padding: 1em 0 0 1em;
  }
  .large-grid--gutterslg {
    margin: -1.5em 0 1.5em -1.5em;
  }
  .large-grid--gutterslg > .grid-cell {
    padding: 1.5em 0 0 1.5em;
  }
  .large-grid--guttersxl {
    margin: -2em 0 2em -2em;
  }
  .large-grid--guttersxl > .grid-cell {
    padding: 2em 0 0 2em;
  }
}

/*# sourceMappingURL=maps/grid.css.map */
