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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

img {
  margin-bottom: 0;
}

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

a:hover {
  text-decoration: underline;
}

body {
  margin: 0;
}

input,
button {
  font: inherit;
}

input {
  min-width: 0;
}

button {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

button:hover {
  opacity: 90%;
}

button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

/* hidden attribute is good semantics but gets overridden by display property */
[hidden] {
  display: none !important;
}
