/* CSS Reset */
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, img, ins, kbd, q, s, samp, small, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

/* Reset list styles */
ol, ul {
    list-style: none;
}

/* Reset quotes */
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

/* Set table border-collapse for consistency */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Remove default styles for images */
img {
    border: 0;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic; /* for IE */
}

/* Remove text decorations and inherit color for links */
a {
    text-decoration: none;
    color: inherit;
}

/* Ensure media elements fit within their containers */
audio, video, canvas {
    max-width: 100%;
}

/* Add focus outline only for keyboard users */
:focus {
    outline: 0;
    outline: -webkit-focus-ring-color auto 5px;
}

/* Remove default padding and margin */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
