/* h5 reset by https://github.com/murtaugh/HTML5-Reset */

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-weight: normal;
    font-style: normal;
    vertical-align: baseline;
    background: transparent;
}

main, article, aside, figure, footer, header, nav, section, details, summary {
    display: block;
}

html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

object,
embed {
    max-width: 100%;
}

/* Note: keeping IMG here will cause problems if you're using foreground images as sprites. */
img {
    max-width: 100%;
}

ul, ol {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
}

/* tables still need cellspacing="0" in the markup */
table {
    border-collapse: separate;
    border-spacing: 0;
}

th {
    font-weight: bold;
    vertical-align: bottom;
}

td {
    font-weight: normal;
    vertical-align: top;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

pre {
    white-space: pre; /* CSS2 */
    white-space: pre-wrap; /* CSS 2.1 */
    word-wrap: break-word; /* IE */
}

input[type="radio"] {
    vertical-align: text-bottom;
}

input[type="checkbox"] {
    vertical-align: text-bottom;
}

select, input, textarea {
    font: 99% sans-serif;
}

table {
    font-size: inherit;
    font: 100%;
}

small {
    font-size: 85%;
}

strong {
    font-weight: bold;
}

td, td img {
    vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* standardize any monospaced elements */
pre, code, kbd, samp {
    font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
    cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
    margin: 0;
}

/* make buttons play nice in IE */
button,
input[type=button] {
    width: auto;
    overflow: visible;
}

/* ----- custom ----- */

/* display */

.show {
    display: block;
}

.hide {
    display: none;
}

/* float */

.fleft {
    float: left;
}

.fright {
    float: right;
}

.fclear {
    clear: both;
}

.cl:after,
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}

/* separate */

hr.separate {
    margin: 2.5px 0;
    border-color: transparent;
}

span.separate {
    display: inline-block;
    padding: 0 5px;
    text-align: center;
}