.flex-row,
.flex-col,
.flex-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.flex-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

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

.flex-row.reversed {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
}

.flex-row.stretched {
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch;
}

.row.flex-row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch;
}

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

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

.flex-col.reversed {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-flow: column-reverse;
    flex-flow: column-reverse;
}

.flex-row.center,
.flex-col.center,
.flex-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-row > .start,
.flex-col > .start {
    -ms-flex-item-align: start;
    align-self: flex-start;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex-row > .end {
    justify-self: flex-end;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.flex-col > .end {
    -ms-flex-item-align: end;
    align-self: flex-end;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex-row.content-end,
.flex-center.content-end  {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.flex-col.content-end {
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

.flex-row.fixed-width > *,
.flex-row.flex-fixed-width > * {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex-row.fixed-size > *,
.flex-row.flex-fixed-size > *,
.flex-col.fixed-size > *,
.flex-col.flex-fixed-size > * {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex-row.wide > *,
.flex-col.wide > *{
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.flex-row.space-between,
.flex-col.space-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex-row.even-spaces,
.flex-col.even-spaces {
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}

.flex-row.same-height {

}

.flex-row.row > * > .wrap {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

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

.flex-align-self-end {
    align-self: flex-end;
}