/* Normalize CSS - Standards without resets */

/* Document */
html {
  line-height: 1.15; /* Correct line height in all browsers */
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
}

/* Sections */
body {
  margin: 0; /* Remove default margin in all browsers */
}

main {
  display: block; /* Render `main` element consistently in IE */
}

h1 {
  font-size: 2em;
  margin: 0.67em 0; /* Correct margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari */
}

/* Grouping content */
hr {
  box-sizing: content-box; /* Show overflow in Edge and IE */
  height: 0; /* Show overflow in Edge and IE */
  overflow: visible; /* Show overflow in Edge and IE */
}

pre {
  font-family: monospace, monospace; /* Correct inheritance and scaling of font size in all browsers */
  font-size: 1em; /* Correct odd `em` font sizing in all browsers */
}

/* Text-level semantics */
a {
  background-color: transparent; /* Remove gray background on active links in IE 10 */
}

abbr[title] {
  border-bottom: none; /* Remove bottom border in Chrome 57- */
  text-decoration: underline; /* Add correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline dotted; /* Add correct text decoration in Chrome, Edge, IE, Opera, and Safari */
}

b,
strong {
  font-weight: bolder; /* Add correct font weight in Chrome, Edge, and Safari */
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* Correct inheritance and scaling of font size in all browsers */
  font-size: 1em; /* Correct odd `em` font sizing in all browsers */
}

small {
  font-size: 80%; /* Add correct font size in all browsers */
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
img {
  border-style: none; /* Remove border when inside `a` element in IE 10 */
}

/* Forms */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* Correct font properties not being inherited */
  font-size: 100%; /* Correct font properties not being inherited */
  line-height: 1.15; /* Correct font properties not being inherited */
  margin: 0; /* Remove margin in Firefox and Safari */
}

button,
input {
  overflow: visible; /* Show overflow in IE and Edge */
}

button,
select {
  text-transform: none; /* Remove inheritance of text transform in Edge, Firefox, and IE */
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct inability to style clickable types in iOS and Safari */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none; /* Remove inner border and padding in Firefox */
  padding: 0; /* Remove inner border and padding in Firefox */
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; /* Restore focus styles unset by previous rule */
}

fieldset {
  padding: 0.35em 0.75em 0.625em; /* Correct padding in Firefox */
}

legend {
  box-sizing: border-box; /* Correct text wrapping in Edge and IE */
  color: inherit; /* Correct color not being inherited */
  display: table; /* Correct text wrapping in Edge and IE */
  max-width: 100%; /* Correct text wrapping in Edge and IE */
  padding: 0; /* Remove padding so developers are not caught out when they zero out fieldset elements in all browsers */
  white-space: normal; /* Correct text wrapping in Edge and IE */
}

progress {
  vertical-align: baseline; /* Add correct vertical alignment in Chrome, Firefox, and Opera */
}

textarea {
  overflow: auto; /* Remove default vertical scrollbar in IE 10+ */
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* Add correct box sizing in IE 10 */
  padding: 0; /* Remove padding in IE 10 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; /* Correct cursor style of increment/decrement buttons in Chrome */
}

[type="search"] {
  -webkit-appearance: textfield; /* Correct odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct outline style in Safari */
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove inner padding in Chrome and Safari on macOS */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Safari */
}

/* Interactive */
details {
  display: block; /* Add correct display in Edge, IE 10+, and Firefox */
}

summary {
  display: list-item; /* Add correct display in all browsers */
}

/* Misc */
template {
  display: none; /* Add correct display in IE 10+ */
}

[hidden] {
  display: none; /* Add correct display in IE 10 */
}