/*clear*/
.cn {
    clear: none !important;
}

.clr {
    clear: both !important;
}

.cl {
    clear: left !important;
}

.cr {
    clear: right !important;
}

/*float*/
.fn {
    float: none !important;
}

.fl, .left {
    float: left !important;
}

.fr, .right {
    float: right !important;
}

/*text-align*/
.tal {
    text-align: left !important;
}

.tac {
    text-align: center !important;
}

.tar {
    text-align: right !important;
}

/* margin */
.nom {
    margin: 0 !important;
}

.noml {
    margin-left: 0 !important;
}

.nomr {
    margin-right: 0 !important;
}

/* padding */
.nop {
    padding: 0 !important;
}

.nopl {
    padding-left: 0 !important;
}

.nopr {
    padding-right: 0 !important;
}

/* images margin+floats */
img.mfr, .alignright {
    margin: 0 0 1em 1em !important;
    float: right !important;
}

img.mfl, .alignleft {
    margin: 0 1em 1em 0 !important;
    float: left !important;
}

.aligncenter {
    margin: 0 auto !important;
    display: block !important;
    clear: both !important;
}

/**
* For modern browsers
* 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 elements
*    that are clearfixed.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}