html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
:after,
:before {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin-block-start: .5rem;
  margin-block-end: 1rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-block-start: 0;
  margin-block-end: .9rem;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

details {
  display: block;
}

summary {
  display: list-item;
}

figcaption {
  font-size: 16px;
  color: #333;
  line-height: 1.4;
  font-style: italic;
  font-weight: 400;
}

@media print {
  *,
  :after,
  :before {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  blockquote,
  pre {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    border: 1px solid #ccc;
  }

  thead {
    display: table-header-group;
  }

  img,
  tr {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }

  h2,
  h3,
  p {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    -moz-column-break-after: avoid;
    break-after: avoid;
  }
}

label {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}