.gm-flex-flex {
  flex: 1;
}

.gm-flex-auto {
  flex: auto;
}

.gm-flex-none {
  flex: none;
}

.gm-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  box-sizing: border-box;

  &.gm-flex-grow {
    flex-grow: 1;
  }

  &.gm-flex-wrap {
    flex-wrap: wrap;
  }

  &.gm-flex-nowrap {
    flex-wrap: nowrap;
  }

  &.gm-flex-row {
    flex-direction: row;
  }

  &.gm-flex-column {
    flex-direction: column;
  }

  &.gm-flex-justify-start {
    justify-content: flex-start;
  }

  &.gm-flex-justify-end {
    justify-content: flex-end;
  }

  &.gm-flex-justify-center {
    justify-content: center;
  }

  &.gm-flex-justify-between {
    justify-content: space-between;
  }

  &.gm-flex-justify-around {
    justify-content: space-around;
  }

  &.gm-flex-align-start {
    align-items: flex-start;
  }

  &.gm-flex-align-end {
    align-items: flex-end;
  }

  &.gm-flex-align-center {
    align-items: center;
  }

  &.gm-flex-align-baseline {
    align-items: baseline;
  }

  &.gm-flex-align-stretch {
    align-items: stretch;
  }

  &.gm-flex-align-content-start {
    align-content: flex-start;
  }

  &.gm-flex-align-content-end {
    align-content: flex-end;
  }

  &.gm-flex-align-content-center {
    align-content: center;
  }

  &.gm-flex-align-content-between {
    align-content: space-between;
  }

  &.gm-flex-align-content-around {
    align-content: space-around;
  }

  &.gm-flex-align-content-stretch {
    align-content: stretch;
  }
}