/* The user agent style sheet is applied by default to all web page elements.
   Most of the specifications made here are specified and explained here:
   https://www.w3.org/TR/html5/rendering.html#rendering
*/

/* Hidden Elements
   https://www.w3.org/TR/html5/rendering.html#hidden-elements */
area, base, basefont, datalist, head, link,
meta, noembed, noframes, param, rp, script, source, style, template, track,
title {
  display: none;
}

/* The page
   https://www.w3.org/TR/html5/rendering.html#the-page */
html, body { display: block; }


/* Flow content
   https://www.w3.org/TR/html5/rendering.html#flow-content-0 */
address, blockquote, center, div, figure, figcaption, footer, form,
header, hr, legend, listing, p, plaintext, pre, xmp {
  display: block;
}
