// =============================================================================
// LAYOUT (Tools)
// =============================================================================

@mixin u-clearFloats($important: null) {

    &:before,
    &:after {

        // ---------------------------------------------------------------------
        //
        // 1. The space content is one way to avoid an Opera bug when the
        //    'contenteditable' attribute is included anywhere else in the
        //    document. Otherwise it causes space to appear at the top and
        //    bottom of the element.
        // 2. The use of `table` rather than `block` is only necessary if using
        //    ':before' to contain the top-margins of child elements.
        //
        // ---------------------------------------------------------------------

        content: " " $important; // 1
        display: table $important; // 2
    }

    &:after {

        clear: both $important;
    }
}
