/*--------------------------------------------------------------------------*\
		Horizontal alignment
\*--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------*\
		Display type
\*--------------------------------------------------------------------------*/

*:not(table).self-left,
*:not(table).self-center,
*:not(table).self-right {
    /*box*/
    display: block;
}

table.self-left,
table.self-center,
table.self-right {
    /*box*/
    display: table;
}

/*--------------------------------------------------------------------------*\
            Alignment
\*--------------------------------------------------------------------------*/

.self-left {
    /*box*/
    float: left;
}

.self-center {
    /*box*/
    margin-left: auto !important;
    margin-right: auto !important;
}

.self-right {
    /*box*/
    float: right;
}

/*--------------------------------------------------------------------------*\
            Flexbox child
\*--------------------------------------------------------------------------*/

.self-grow {
    /*box*/
    flex-grow: 1;
}