.row {
  display: flex;
  flex-flow: row wrap;
  margin-left: -$s_gutter / 2;
  margin-right: -$s_gutter / 2;
}

.row .row {
  max-width: none;
  margin-left: -$s_gutter / 2;
  margin-right: -$s_gutter / 2;
}

.row.expanded {
  max-width: none;
}

.row.collapse > .col,
.row.collapse > .cols {
  padding-left: 0;
  padding-right: 0;
}

.col,
.cols {
  flex: 1 1 0px;
  padding-left: $s_gutter / 2;
  padding-right: $s_gutter / 2;
  min-width: initial;

  &:empty {
    padding-left: 0;
    padding-right: 0;
  }
}

.col--wrap {
  min-width: 0;
}

.col.row.row,
.row.row.cols {
  display: block;
}

.row .col.row.row,
.row .row.row.cols {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

.shrink {
  flex: 0 0 auto;
  max-width: 100%;
}

.row--noMargin {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.row--stretch {
  flex: 1;
}

.row--fullWidth {
  width: 100%;
}

.row--fullHeight {
  height: 100%;
}