@media all {
  *, html * {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  select {
    padding: 1px;
  }
  
  option {
    padding-left: 0.4em;
  }

  * html body * {
    overflow: visible;
  }
  
  body {
    font-size: 100%;
    background: #fff;
    color: #000;
    text-align: left;
  }

  div:target,
  h1:target,
  h2:target,
  h3:target,
  h4:target,
  h5:target,
  h6:target {
    outline: 0 none;
  }

  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  main,
  nav,
  section,
  summary {
    display: block;
  }

  audio,
  canvas,
  video {
    display: inline-block;
  }

  audio:not([controls]) {
    display: none;
  }

  [hidden] {
    display: none;
  }

  html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  input[type="checkbox"],
  input[type="radio"] {
    padding: 0;
  }

  input[type="search"] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
  }

  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  svg:not(:root) {
    overflow: hidden;
  }

  figure {
    margin: 0;
  }

  fieldset,
  img {
    border: 0;
  }

  img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
  }

  ul,
  ol,
  dl {
    margin: 0 0 1em 1em;
  }

  li {
    line-height: 1.5em;
    margin-left: 0.8em;
  }

  dt {
    font-weight: bold;
  }

  dd {
    margin: 0 0 1em 0.8em;
  }

  blockquote {
    margin: 0 0 1em 0.8em;
  }

  q {
    quotes: none;
  }

  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: '';
    content: none;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
}
