/*! modern reset */

/* ==========================================
   Box sizing
========================================== */

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

/* ==========================================
   Document
========================================== */

html {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

/* ==========================================
   Typography
========================================== */

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

address {
  font-style: normal;
}

small {
  font-size: 0.8em;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================
   Links
========================================== */

a {
  color: inherit;
  text-decoration: none;
}

/* ==========================================
   Embedded content
========================================== */

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

/* ==========================================
   Forms
========================================== */

button,
input,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
}

button:disabled,
input:disabled {
  cursor: default;
}

button {
  padding: 0;
  border: 0;
  background: none;
}

textarea {
  resize: vertical;
}

/* ==========================================
   Tables
========================================== */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ==========================================
   Interactive elements
========================================== */

summary {
  cursor: pointer;
}

details > summary {
  list-style: none;
}

details > summary::-webkit-details-marker {
  display: none;
}

/* ==========================================
   Accessibility
========================================== */

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

[hidden] {
  display: none !important;
}