html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
}
html, body {
    background: #fff;
}
body {
    line-height: 1;
}
h2, h3, h4, h5, h6, p, ul, ol, dl, table, address {
    margin-top: 1em;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    line-height: normal;
}
ul {
    list-style: none;
}
address {
    font-style: normal;
    line-height: normal;
}
blockquote, q {
    quotes: none;
}
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
th, td {
    text-align: left;
    vertical-align: top;
}
th {
    font-weight: bold;
}

/* =classes
-------------------------------------------------- */
.left { text-align: left !important; }
.right { text-align: right !important; }
.center { text-align: center !important; }

.middle { vertical-align: middle !important; }

.nomargin { margin: 0 !important; }
.nowrap { white-space: nowrap !important; }

.w1p { width: 1% !important; }
.w10p { width: 10% !important; }
.w20p { width: 20% !important; }
.w30p { width: 30% !important; }
.w40p { width: 40% !important; }
.w50p { width: 50% !important; }
.w60p { width: 60% !important; }
.w70p { width: 70% !important; }
.w80p { width: 80% !important; }
.w90p { width: 90% !important; }
.w100p { width: 100% !important; }

.hidden { display: none !important; }

/* =clear
-------------------------------------------------- */
.clear:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    line-height: 0;
    visibility: hidden;
}
* html .clear { height: 1px; }
*+html .clear { min-height: 1px; }