.row.flex, .column.flex, .columns.flex {
    display: flex;
}

.flex.upndown, .row.flex.upndown, .column.flex.upndown, .columns.flex.upndown {
    flex-direction: column;
}

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

.flex.across, .row.flex.across, .column.flex.across, .columns.flex.across {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

.flex.across.margins, .flex.upndown.margins {
    justify-content: space-between;
}

.flex.across.middle, .flex.upndown.middle {
    justify-content: center;
}

.flex.across.start, .flex.upndown.start {
    justify-content: flex-start;
}

.flex.across.end, .flex.upndown.end {
    justify-content: flex-end;
}

.flex.upndown.center {
    align-items: center;
}

.row.flex.across.grow .columns {
    flex-grow: 1;
}

a.flex-button, .flex-truss {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flex.no-wrap, .row.flex.no-wrap, .column.flex.no-wrap {
    flex-wrap: nowrap;
}