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

/* 2. Remove default margin */
* {
  margin: 0;
  padding: 0;
}

/*
    Typographic tweaks!
    3. Add accessible line-height
    4. Improve text rendering
    */
body {
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

/*
    5. Improve media defaults
    */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img {
  object-fit: cover;
}

/* 6. Remove built-in form typography styles */
input,
button,
textarea,
select {
  font: inherit;
}

/* 7. Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  hyphens: auto;
}

a {
  /* Places underlines below the descenders */
  /* text-underline-position: under; */

  /* Sets the thickness as a percentage of the font size */
  text-decoration-thickness: 8;
}
/* Remove link styles for links that are not in a paragraph */
a:not(p > a) {
  text-decoration: none;
  color: inherit;
}

/* Remove the outline for mouse users but keep it for keyboard users */
:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  --outline-size: max(2px, 0.15em);

  outline: var(--outline-width, var(--outline-size)) var(--outline-style, solid)
    var(--outline-color, currentColor);
  outline-offset: var(--outline-offset, var(--outline-size));
}

/* Cursor on interactive elements */
label,
button,
select,
summary,
[role="button"],
[type="radio"],
[type="submit"],
[type="checkbox"] {
  cursor: pointer;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

ul {
  list-style: none;
}
