.tooltip {
    opacity: 0;
    position: absolute;
    padding: 10px;
    background: rgba(0,0,0,0.7);
    color: white;
    border-radius: 5px;
    pointer-events: none;
}

.control {
    margin-bottom: 5px;
}

html{
  background-color: #fcfcfc;
  height: 100vh;
}

body{
  margin: 0;
  padding: 0 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
  font-weight: lighter;
  color: #292826;
}

header, .footer{
  padding: 0.25rem;
}

header {
    margin: 0.5rem 0 0.75rem;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    gap: 0.75rem;
    align-items: center;
}

header p{
  margin: 0;
}

.title {
  margin: 0;
  font-size: 26px;
  font-weight: lighter;
}

main {
    display: flex;
    align-items: flex-start;
}

figure {
  margin: 0; 
}

.legends {
  margin-top: 6.5rem; /* match caption height */
}

#x-axis {
  text-anchor: middle;
}

#y-axis {
  text-anchor: end;
}

#graph-title {
  margin: 0;
  text-anchor: middle;
}

#info {
    margin: 0 1rem;
    grid-column-start: 1;
    grid-column-end: span 2;
    justify-self: left;
    font-size: 0.9rem;
    line-height: 120%;
}

#legendGroup {
  font-size: 0.9rem;
}

.legends fieldset span {
    margin-right: 15px;
}

#author-checkboxes {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
    padding: 8px;
    margin-bottom: 20px;
}

#author-checkboxes label {
    display: block;
    padding: 4px 0;
    cursor: pointer;
}

.author-select {
  display: flex;
}

.author-select input {
  margin-right: 5px
}

button {
  font-family: sans-serif;
  font-weight: lighter
}

footer p {
  font-size: 0.8rem;
}

#reset-button {
  margin-left: 0.2rem;
}