.topBox {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: space-around;
}
.topBox img {
  height: 10em;
  max-height: 10em;
  margin: 1em;
}

.topBoxL2 h1 {
  margin: 1em 0 6px 0;
  padding: 0;
  text-align: center;
}

.topBoxL2 p {
  margin: 0 0 2em 0;
  font-size: 1.3rem;
  color: #780000;
  text-align: center;
  text-wrap-style: balance;
}

.centerImage {
  width: 100%;
  padding: 1rem 0;
  text-align: center;
}
.centerImage img {
  max-width: 100%;
  border-radius: 6px;
}
.centerImage p {
  text-align: center;
  font-size: 0.9rem;
  width: 100%;
  margin-top: 0;
  padding: 0;
}

details {
  width: min(40em, 60vw);
  margin: 0.5em 0 0.5em 3em;
  border: solid 1px blue;
  border-radius: 6px;
  transition: all 500ms;
}

details[open] {
  width: min(50em, 80vw);
  margin: 0.5em 0 0.5em 2em;
  transition: all 500ms;
}

details[open] p {
  margin: 0.5em;
}

details[open] summary {
  margin-left: 1em;
  transition: all 500ms;
}

summary {
  background-color: #d6d6f0;
  padding: 1em;
  border-radius: 6px;
  font-size: 1.2rem;
}

@media (min-width: 40em) {
  .topBox {
    flex-flow: row;
  }
}
.largeTable {
  font-size: 0.9rem;
  max-height: 80vh;
  max-width: 100vw;
  overflow: auto;
}
.largeTable table {
  border: solid 2px var(--genBc);
}
.largeTable table th, .largeTable table .section td {
  background-color: #cccccc;
  color: #780000;
}
.largeTable table .section td {
  border-top: solid 1px var(--genBc);
  text-align: center;
  font-size: 1rem;
}
.largeTable td.label {
  color: #780000;
}