body {
  font-family: sans-serif;
  margin: 0;
  color: #333;
}

header,
footer {
  background: #000;
}

main h1 {
  font-size: 1.8em;
  margin: 0.5em 0;
}

p {
  margin-top: 0.5em;
}

h2 {
  font-size: 1.4em;
}

h2::first-letter {
  text-transform: capitalize;
}

h3 {
  font-size: 1em;
}

footer {
  border-top: 1px solid #000;
  padding: 0.25em 0.5em;
  margin-top: 1em;
  font-size: 0.8em;
  clear: both;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

ul.inline {
  display: inline-block;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

ul.inline li {
  display: inline;
}

ul.inline li+li:before {
  content: ", ";
}

table { 
  border-collapse: collapse;
}
table td {
  border: 1px solid #AAAAAA;
  padding: 0.25em;
}

button.action {
  padding: 2px;
}

button.beat-button,
button.action {
  width: 2em;
  height: 2em;
}

.beat-button[aria-pressed="true"]:hover {
  border: 2px inset red;
}

.beat-button[aria-pressed="false"]:hover {
  border: 2px outset red;
}

.beat-button.active[aria-pressed="true"] {
  background: red;
}

.beat-button.active[aria-pressed="false"] {
  background: red;
}

a.rhythm-link {
  font-family: monospace;
  color: #000;
  font-size: 130%;
  font-weight: bold;
  margin: 0 0.1rem;
}

a.rhythm-link:hover {
  text-decoration: underline;
}

a {
  color: #a00;
}

.note.active,
.rest.active {
  text-shadow: 0 0 0.25rem #ff0000;
  font-size: 125%;
}

.beat-dot:hover,
.rest-dot:hover,
.beat-dot.active,
.rest-dot.active {
  filter: drop-shadow(1px 1px 1px #f66) drop-shadow(1px -1px 1px #f66) drop-shadow(-1px 1px 1px #f66) drop-shadow(-1px -1px 1px #f66);
}

@font-face {
  font-family: Bravura;
  src: url(./fonts/Bravura.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
}

.bravura {
  font-family: Bravura;
}

@media (max-width:850px) { 
  header input.rhythm-input {
    width: 100%;
  }
  .rhythm-score {
    width: 95%;
  }
}

