htm, body {
  margin: 0;
  padding: 0; 
  color: rgba(0, 0, 0, 0.6);
}

@media (min-aspect-ratio: 1/1) {

  section.art-and-cap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background: rgba(216, 223, 225, 0.8);
    height: 100vmin;
    }
  
  div.caption {    
    width: 40vw;
    padding: 2vh 4vw;
  }

  div.illustration {
    max-height: 70vh;
    width: 40vw;
    flex-shrink: 1;
  }
  
  section.wide-text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background: rgba(216, 223, 225, 0.8);
    min-height: 100vmin;
    font-size: 2.3vmax;
  }

  .scroll-down-arrow {
    position: absolute;
    margin-top: 85vh;
}
}


@media (max-aspect-ratio: 1/1) {
  
  section.art-and-cap {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background: rgba(216, 223, 225, 0.8);
    height: auto;
  }
  
  div.caption {    
    width: 90vmin;
    padding: 5vh 4vw;
  }

  div.illustration {
/*     max-height: 70vmin; */
    width: 90vw;
/*     flex-shrink: 1; */
    padding: 5vh 4vw;
  }
  
  section.wide-text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    min-height: 85vh;
    background: rgba(216, 223, 225, 0.8);
    font-size: 2.3vmax;
  }
}


div.right {
  text-align: right;
}

div.left {
  text-align: left;
}

div.caption p {
  font-size: 2.2vmax;
  margin: 0.75vmax 0;
}

img {
  max-width: 100%;
  height: auto;
}

#author-photo {
  float: right;
  width: 25vw;
  height: auto;
}

canvas {
  width: 100%;
  height: auto;
}

div#dart-counter-bar {
  width: 100%;
  height: 25px;
  float: left;
  display: block;
  position: relative;
  margin: 10px 0;
  background-color: rgb(223, 223, 223);
}

div#hit-counter-bar {
  max-width: 100%;
  width: 10%;
  height: 25px;
  background-color: rgb(100, 100, 100);
}

div#true-area-bar {
  position: absolute;
  left: 0%;
  top: 0%;
  width: 41.65%;
  height: 25px;
  background-color: rgba(0,0,0,0);
  border-right: 2px solid crimson;
}

button {
  margin-top: 10px;
}


#drivel-div {
  width: 700px;
  margin: 20px auto;
  padding: 10px;
  border: 1px solid #7f7f7f;
}

#drivel-scroller {
  max-width: 100%;
  height: 50vh;
  background-color: rgb(232,232,238);
  border: 1px solid #7f7f7f;
  overflow-y: scroll;
}

#drivel-scroller > p {
  padding: 10px;
  background-color: rgb(232,232,238);
  font-family: Garamond, Palatino, Times, serif;
  font-size: 2.0vmax;
  line-height: 2.7vmax;
  word-wrap: break-word;
  color: rgb(100, 100, 100);
}


.wide-text > p {
  width: 85vw;
  margin: 0.75vmax 0;
}

.centered-list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: baseline;
}

.left-column {
  text-align: right;
  width: 30vh;
  padding: 10px;
  background-color: cornsilk;
  margin: 0;
}

.right-column {
  text-align: left;
  padding: 10px;
  background-color: #dcf6ff;
  margin: 0;
}

h3 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 2.2vmax;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0;
}

a {
  text-decoration: none;
  color: #ff5800;
}

section.toc {
  margin-top: 0;
}

.wide-text > p.chapter-title {
  font-size: 2.3vmax;
  margin-top: 3vh;
  margin-bottom: 0;
}

.wide-text > p.chapter-subtitle {
  font-size: 2.0vmax;
  font-style: italic;
  margin-top: 0;
  margin-bottom: 0;
}

.wide-text > p.tag-line {
  text-align: right;
  margin-top: 0;
  font-size: 1.6vmax;
}

.scroll-down-arrow {
  display: inline-block;
  font-size: 48px;
}