html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */ }

/*
remove default margin.
*/

body {
    margin: 0; }

/* html5 display definitions
========================================================================== */

/*
correct `block` display not defined for any html5 element in ie 8/9.
correct `block` display not defined for `details` or `summary` in ie 10/11
and firefox.
correct `block` display not defined for `main` in ie 11.
*/

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block; }

/*
1. correct `inline-block` display not defined in ie 8/9.
2. normalize vertical alignment of `progress` in chrome, firefox, and opera.
*/

audio,
canvas,
progress,
video {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */ }

/*
prevent modern browsers from displaying `audio` without controls.
remove excess height in ios 5 devices.
*/

audio:not([controls]) {
    display: none;
    height: 0; }

/*
address `[hidden]` styling not present in ie 8/9/10.
hide the `template` element in ie 8/9/11, safari, and firefox < 22.
*/

[hidden],
template {
    display: none; }

/* links
========================================================================== */

/*
remove the gray background color from active links in ie 10.
*/

a {
    background-color: transparent; }

/*
improve readability when focused and also mouse hovered in all browsers.
*/

a:active,
a:hover {
    outline: 0; }

/* text-level semantics
========================================================================== */

/*
address styling not present in ie 8/9/10/11, safari, and chrome.
*/

abbr[title] {
    border-bottom: 1px dotted; }

/*
address style set to `bolder` in firefox 4+, safari, and chrome.
*/

b,
strong {
    font-weight: bold; }

/*
address styling not present in safari and chrome.
*/

dfn {
    font-style: italic; }

/*
address variable `h1` font-size and margin within `section` and `article`
contexts in firefox 4+, safari, and chrome.
*/

h1 {
    font-size: 2em;
    margin: 0.67em 0; }

/*
address styling not present in ie 8/9.
*/

mark {
    background: #ff0;
    color: #000; }

/*
address inconsistent and variable font size in all browsers.
*/

small {
    font-size: 80%; }

/*
prevent `sub` and `sup` affecting `line-height` in all browsers.
*/

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }

sup {
    top: -0.5em; }

sub {
    bottom: -0.25em; }

/* embedded content
========================================================================== */

/*
remove border when inside `a` element in ie 8/9/10.
*/

img {
    border: 0; }

/*
correct overflow not hidden in ie 9/10/11.
*/

svg:not(:root) {
    overflow: hidden; }

/* grouping content
========================================================================== */

/*
address margin not present in ie 8/9 and safari.
*/

figure {
    margin: 1em 40px; }

/*
address differences between firefox and other browsers.
*/

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0; }

/*
contain overflow in all browsers.
*/

pre {
    overflow: auto; }

/*
address odd `em`-unit font size rendering in all browsers.
*/

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em; }

/* forms
========================================================================== */

/*
known limitation: by default, chrome and safari on os x allow very limited
styling of `select`, unless a `border` property is set.
*/

/*
1. correct color not being inherited.
   known issue: affects color of disabled elements.
2. correct font properties not being inherited.
3. address margins set differently in firefox 4+, safari, and chrome.
*/

button,
input,
optgroup,
select,
textarea {
    color: inherit; /* 1 */
    font: inherit; /* 2 */
    margin: 0; /* 3 */ }

/*
address `overflow` set to `hidden` in ie 8/9/10/11.
*/

button {
    overflow: visible; }

/*
address inconsistent `text-transform` inheritance for `button` and `select`.
all other form control elements do not inherit `text-transform` values.
correct `button` style inheritance in firefox, ie 8/9/10/11, and opera.
correct `select` style inheritance in firefox.
*/

button,
select {
    text-transform: none; }

/*
1. avoid the webkit bug in android 4.0.* where (2) destroys native `audio`
   and `video` controls.
2. correct inability to style clickable `input` types in ios.
3. improve usability and consistency of cursor style between image-type
   `input` and others.
*/

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */ }

/*
re-set default cursor for disabled elements.
*/

button[disabled],
html input[disabled] {
    cursor: default; }

/*
remove inner padding and border in firefox 4+.
*/

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0; }

/*
address firefox 4+ setting `line-height` on `input` using `!important` in
the ua stylesheet.
*/

input {
    line-height: normal; }

/*
it's recommended that you don't attempt to style these elements.
firefox's implementation doesn't respect box-sizing, padding, or width.
*
1. address box sizing set to `content-box` in ie 8/9/10.
2. remove excess padding in ie 8/9/10.
*/

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */ }

/*
fix the cursor style for chrome's increment/decrement buttons. for certain
`font-size` values of the `input`, it causes the cursor style of the
decrement button to change from `default` to `text`.
*/

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto; }

/*
1. address `appearance` set to `searchfield` in safari and chrome.
2. address `box-sizing` set to `border-box` in safari and chrome
   (include `-moz` to future-proof).
*/

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box; }

/*
remove inner padding and search cancel button in safari and chrome on os x.
safari (but not chrome) clips the cancel button when the search input has
padding (and `textfield` appearance).
*/

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/*
define consistent border, margin, and padding.
*/

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em; }

/*
1. correct `color` not being inherited in ie 8/9/10/11.
2. remove padding so people aren't caught out if they zero out fieldsets.
*/

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */ }

/*
remove default vertical scrollbar in ie 8/9/10/11.
*/

textarea {
    overflow: auto; }

/*
don't inherit the `font-weight` (applied by a rule above).
note: the default cannot safely be changed in chrome and safari on os x.
*/

optgroup {
    font-weight: bold; }

/* tables
========================================================================== */

/*
remove most spacing between table cells.
*/

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

td,
th {
    padding: 0; }