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

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

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

.free-top { margin-top: auto }
.free-left { margin-left: auto }
.free-right { margin-right: auto }
.free-bottom { margin-bottom: auto }

.order-before { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1 }
.order-after { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1 }

.items-start { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start }
.items-end { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end }
.items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center }
.items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline }
.items-stretch { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch }

.self-center { -ms-flex-item-align: center; align-self: center }
.self-baseline { -ms-flex-item-align: baseline; align-self: baseline }
.self-stretch { -ms-flex-item-align: stretch; align-self: stretch }
.self-start { -ms-flex-item-align: start; align-self: flex-start }
.self-end { -ms-flex-item-align: end; align-self: flex-end }

.justify-start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start }
.justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end }
.justify-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
.justify-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between }
.justify-around { -ms-flex-pack: distribute; justify-content: space-around }
.justify-evenly { -ms-flex-pack: space-evenly; -webkit-box-pack: space-evenly; justify-content: space-evenly }
.justify-stretch { -ms-flex-pack: stretch; -webkit-box-pack: stretch; justify-content: space-evenly }

.content-start { -ms-flex-line-pack: start; align-content: flex-start }
.content-end { -ms-flex-line-pack: end; align-content: flex-end }
.content-center { -ms-flex-line-pack: center; align-content: center }
.content-between { -ms-flex-line-pack: justify; align-content: space-between }
.content-around { -ms-flex-line-pack: distribute; align-content: space-around }
.content-stretch { -ms-flex-line-pack: stretch; align-content: stretch }

.flex-min { min-height: 0; min-width: 0 }
.flex-max { max-height: 100%; max-width: 100% }

.flex-golden { -webkit-box-flex: 0; -ms-flex: 0 1 61.803398875%; flex: 0 1 61.803398875% }
.flex-initial { -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto }
.flex-auto { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto }
.flex-none { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto }

.flex-1 { -webkit-box-flex: 1; -ms-flex: 1; flex: 1 }
.flex-2 { -webkit-box-flex: 2; -ms-flex: 2; flex: 2 }
.flex-3 { -webkit-box-flex: 3; -ms-flex: 3; flex: 3 }
.flex-4 { -webkit-box-flex: 4; -ms-flex: 4; flex: 4 }
.flex-5 { -webkit-box-flex: 5; -ms-flex: 5; flex: 5 }
.flex-6 { -webkit-box-flex: 6; -ms-flex: 6; flex: 6 }
.flex-7 { -webkit-box-flex: 7; -ms-flex: 7; flex: 7 }
.flex-8 { -webkit-box-flex: 8; -ms-flex: 8; flex: 8 }
.flex-9 { -webkit-box-flex: 9; -ms-flex: 9; flex: 9 }
.flex-10 { -webkit-box-flex: 10; -ms-flex: 10; flex: 10 }
.flex-11 { -webkit-box-flex: 11; -ms-flex: 11; flex: 11 }
.flex-12 { -webkit-box-flex: 12; -ms-flex: 12; flex: 12 }

.grow-0 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0 }
.grow-1 { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1 }
.grow-2 { -webkit-box-flex: 2; -ms-flex-positive: 2; flex-grow: 2 }
.grow-3 { -webkit-box-flex: 3; -ms-flex-positive: 3; flex-grow: 3 }
.grow-4 { -webkit-box-flex: 4; -ms-flex-positive: 4; flex-grow: 4 }
.grow-5 { -webkit-box-flex: 5; -ms-flex-positive: 5; flex-grow: 5 }
.grow-6 { -webkit-box-flex: 6; -ms-flex-positive: 6; flex-grow: 6 }
.grow-7 { -webkit-box-flex: 7; -ms-flex-positive: 7; flex-grow: 7 }
.grow-8 { -webkit-box-flex: 8; -ms-flex-positive: 8; flex-grow: 8 }
.grow-9 { -webkit-box-flex: 9; -ms-flex-positive: 9; flex-grow: 9 }
.grow-10 { -webkit-box-flex: 10; -ms-flex-positive: 10; flex-grow: 10 }
.grow-11 { -webkit-box-flex: 11; -ms-flex-positive: 11; flex-grow: 11 }
.grow-12 { -webkit-box-flex: 12; -ms-flex-positive: 12; flex-grow: 12 }

.shrink-0 { -ms-flex-negative: 0; flex-shrink: 0 }
.shrink-1 { -ms-flex-negative: 1; flex-shrink: 1 }
.shrink-2 { -ms-flex-negative: 2; flex-shrink: 2 }
.shrink-3 { -ms-flex-negative: 3; flex-shrink: 3 }
.shrink-4 { -ms-flex-negative: 4; flex-shrink: 4 }
.shrink-5 { -ms-flex-negative: 5; flex-shrink: 5 }
.shrink-6 { -ms-flex-negative: 6; flex-shrink: 6 }
.shrink-7 { -ms-flex-negative: 7; flex-shrink: 7 }
.shrink-8 { -ms-flex-negative: 8; flex-shrink: 8 }
.shrink-9 { -ms-flex-negative: 9; flex-shrink: 9 }
.shrink-10 { -ms-flex-negative: 10; flex-shrink: 10 }
.shrink-11 { -ms-flex-negative: 11; flex-shrink: 11 }
.shrink-12 { -ms-flex-negative: 12; flex-shrink: 12 }

.basis-0 { -ms-flex-preferred-size: 0%; flex-basis: 0% }
.basis-1 { -ms-flex-preferred-size: 8.333333333%; flex-basis: 8.333333333% }
.basis-2 { -ms-flex-preferred-size: 16.6666666666%; flex-basis: 16.6666666666% }
.basis-3 { -ms-flex-preferred-size: 25%; flex-basis: 25% }
.basis-4 { -ms-flex-preferred-size: 33.3333333333%; flex-basis: 33.3333333333% }
.basis-5 { -ms-flex-preferred-size: 41.6666666666%; flex-basis: 41.6666666666% }
.basis-6 { -ms-flex-preferred-size: 50%; flex-basis: 50% }
.basis-7 { -ms-flex-preferred-size: 58.333333333%; flex-basis: 58.333333333% }
.basis-8 { -ms-flex-preferred-size: 66.6666666666%; flex-basis: 66.6666666666% }
.basis-9 { -ms-flex-preferred-size: 75%; flex-basis: 75% }
.basis-10 { -ms-flex-preferred-size: 83.3333333333%; flex-basis: 83.3333333333% }
.basis-11 { -ms-flex-preferred-size: 91.6666666666%; flex-basis: 91.6666666666% }
.basis-12 { -ms-flex-preferred-size: 100%; flex-basis: 100% }

.basis-100vw { -ms-flex-preferred-size: 100vw; flex-basis: 100vw }
.basis-100vh { -ms-flex-preferred-size: 100vh; flex-basis: 100vh }
.basis-100vmax { -ms-flex-preferred-size: 100vmax; flex-basis: 100vmax }
.basis-100vmin { -ms-flex-preferred-size: 100vmin; flex-basis: 100vmin }

.basis-golden { -ms-flex-preferred-size: 61.803398875%; flex-basis: 61.803398875% }
.basis-content { -ms-flex-preferred-size: content; flex-basis: content }
.basis-auto { -ms-flex-preferred-size: auto; flex-basis: auto }

@media (orientation: portrait) {
    .flex\@portrait { display: -webkit-box; display: -ms-flexbox; display: flex }
    .inline-flex\@portrait { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex }
    .flex-wrap\@portrait { -ms-flex-wrap: wrap; flex-wrap: wrap }
    .flex-nowrap\@portrait { -ms-flex-wrap: nowrap; flex-wrap: nowrap }
    .flex-wrap-reverse\@portrait { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse }
}

@media (orientation: landscape) {
    .flex\@landscape { display: -webkit-box; display: -ms-flexbox; display: flex }
    .inline-flex\@landscape { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex }
    .flex-wrap\@landscape { -ms-flex-wrap: wrap; flex-wrap: wrap }
    .flex-nowrap\@landscape { -ms-flex-wrap: nowrap; flex-wrap: nowrap }
    .flex-wrap-reverse\@landscape { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse }
}