@layer base {
  *,
  *::before,
  *::after {
    padding: 0;
    margin: 0;
    border: none;
    box-sizing: border-box;
  }

  /* links */

  a,
  a:visited,
  a:hover {
    color: inherit;
    text-decoration: none;
  }

  a:focus,
  a:active {
    outline: none;
  }

  /* common */

  aside,
  nav,
  footer,
  header,
  section,
  main {
    display: block;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
  }

  p + p {
    margin-top: 1em;
  }

  ul {
    list-style: none;
  }

  img,
  svg {
    vertical-align: top;
    max-width: 100%;
    height: auto;
  }

  /* form */

  input,
  textarea,
  button,
  select {
    font-family: inherit;
    font-size: inherit;
  }

  input::-ms-clear {
    display: none;
  }

  button,
  input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
  }

  input:fovus,
  input:active,
  button:focus,
  button:active {
    outline: none;
  }

  button::-moz-focus-inner {
    padding: 0;
    margin: 0;
  }

  label {
    cursor: pointer;
  }
}
