/*------------------------------------------------------------
  Flexbox
------------------------------------------------------------*/

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/*------------------------------------------------------------
  Center
------------------------------------------------------------*/

.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-center-h {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-center-v {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*------------------------------------------------------------
  Space Between
------------------------------------------------------------*/

.flex-sb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*------------------------------------------------------------
  Justify
------------------------------------------------------------*/

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

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

.justify-se {
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
}

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

/*------------------------------------------------------------
  Align
------------------------------------------------------------*/

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

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

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

/*------------------------------------------------------------
  Direction
------------------------------------------------------------*/

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
