DIV.layout-flex
{
    DISPLAY: flex;
    FLEX-FLOW: row wrap;
    MARGIN: 0 0 0 -25px;
}

DIV.layout-flex-columns
{
    BOTTOM: 0;
    DISPLAY: flex;

    FLEX-FLOW: row wrap;
    LEFT: 0;
    POSITION: absolute;
    RIGHT: 0;
    TOP: 0;
}

DIV.layout-flex-columns > DIV
{
    BACKGROUND: rgba(127, 127, 127, 0.05);
    FLEX: 1 1 auto;
}

DIV.layout-flex-block
{
    FLEX: 1 1 auto;
}

/* IE 10/11 bug fix */
DIV.layout-flex-block > DIV
{
    PADDING: 0 0 20px 25px;
}

DIV.layout-flex-weight
{
    BACKGROUND: rgba(127, 127, 127, 0.25);
}

@media (max-width: 640px)
{
    DIV.layout-flex-block
    {
        FLEX: 1 1 100% !important;
        MIN-WIDTH: 0 !important;
    }
}