@-ms-viewport {
    width: device-width;
}

*, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;

    outline: none;
}

input, button, textarea {
    background-color: transparent;

    border: 0;
    outline: none;
}

body, html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;

    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;

    -ms-overflow-style: scrollbar;

    min-width: 320px;
    width: 100%;
    height: 100%;
}

a, a:active, a:focus, a:hover {
    text-decoration: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset, img {
    border: 0;
}

address, caption, cite, dfn, th, var {
    font-style: normal;
    font-weight: normal;
}

caption, th {
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: normal;
}

q:before, q:after {
    content: ' ';
}

abbr, acronym {
    border: 0;
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, font, form, h1, h2, h3, h4, h5, h6, hr, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, progress, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;
    vertical-align: baseline;

    font-size: 100%;
    font: inherit;
}
