body {
      background-color: #FFFFFF;
      padding: 0px;
      font-family: EB Garamond, sans-serif;
      font-size: 1.2rem;
      color: #000000;
      
    }
    ul {
      list-style-type: none;
      padding: 0;
    }
    li {
      margin: 0;
    }
    a {
      color: #000000;
      text-decoration:none;
    }
    h1 {
      text-align: center;
      font-style: italic;
      font-variant-caps: small-caps;
    }
    h2 {
      width: 100%;
      font-weight: bold;
        
    }
    h3 {
        width: 60em;
        max-width: 95%;
        font-weight: bold;
    }
    div {
        padding: 10px;
        width: 60rem;
        max-width: 95%;
        text-align: justify;
    }
    
    .toc {
  display: grid;
  grid-template-columns: max-content 1fr max-content; /* number | title | page */
  grid-column-gap: 1rem; /* spacing between columns */
  width: 50em;
  max-width: 95%;
}

.toc-item {
  display: contents; /* allow grid children to align in the parent grid */
}

.section-number {
  justify-self: start; /* left-aligned */
}

.section-title {
  justify-self: start; 
}

.subsection-title {
  justify-self: stretch; /* middle fills remaining space */
  overflow-wrap: break-word; /* wrap long titles */
}

.page-number {
  justify-self: end; /* right-aligned */
}

.subsection .section-number {
  padding-left: 2rem; /* indent subsections */
}
