/* =============================================================================
   reset.css — GGT USA Chicago
   Base: Eric Meyer's CSS Reset v2.0 | 20110126 | public domain
   http://meyerweb.com/eric/tools/css/reset/

   Additions marked [GGT]:
     - box-sizing: border-box  (Meyer wrote this before it became standard;
       without it padding expands element widths and responsive grids fight you)
     - `main` added to both blocks (HTML5, missing from original 2011 release)

   Philosophy: zero out every browser default so the design system in style.css
   owns 100% of the visual decisions. Nothing inherited, nothing assumed.
   ============================================================================= */

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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,  /* [GGT] main added */
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset — forces block rendering in older browsers.
   Still harmless and documents intent even on modern browsers. */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main { /* [GGT] main added */
    display: block;
}

/* [GGT] box-sizing: border-box — the single most important rule Meyer omitted.
   Padding and border are included in declared widths, not added on top.
   Applied universally via *, including pseudo-elements, so no element escapes.
   Responsive columns, grids, and padding all behave predictably. */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

/* Collapse double borders on adjacent table cells (the browser default
   draws a gap between them; collapse merges them into a single border). */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
