@layer normalize {
  *, * ::before, * ::after {
    box-sizing:border-box
  }
  
  html, body, dialog, div, span, applet, button, input, select, textarea, object, iframe, h1, h2, h3, h4, h5, h6, hr, 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, time, mark, audio, video {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    background: transparent;
  }
  
  article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block;
  }
  
  body {
    line-height:1
  }
  
  ol, ul, menu {
    list-style: none;
  }
  
  blockquote, q {
    quotes: none;
  }
  
  blockquote:before, blockquote:after, q:before, q:after {
    content: none;
  }
  
  img, svg {
    display: block;
  }
  
  table {
    border-collapse: collapse;
    border-spacing:0
  }

  input,
  select,
  textarea {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
  }

  input[type=number]::-webkit-inner-spin-button, 
  input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
  }
}
