
/* Fresh rebuild of site style. */

/* We use the UI font to ensure we can cover triangles etc.*/
@font-face {
  font-family: 'ui';
  src: url('../fonts/ui.woff');
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  src: url('../fonts/LibreBaskerville-Regular.ttf');
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  src: url('../fonts/LibreBaskerville-Italic.ttf');
}

@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: bold;
  src: url('../fonts/LibreBaskerville-Bold.ttf');
}

html {
  font-family: "Libre Baskerville", Georgia, serif;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
}

/* Hidden checkboxes; must be displayed to work, 
 * but need to be offscreen. */
input.offscreen {
  position: absolute;
  left: -9000px;
  top: -9000px;
}

div.masthead {
  background-image: url('../images/site_logo_taller.jpg');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-top: 2rem;
  padding-bottom: 2rem;
  min-height: 8rem;
}

div.mastheadFlexible {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  min-height: 8rem;
  max-height: 15vmax;
  background-color: #aca8a5;
}

div.mastheadFlexible img {
  align-self: stretch;
}

h1 {
  padding: 1rem;
  text-align: right;
  margin: 0;
  line-height: 1;
}

h1 span.mainTitle {
  font-size: 2vmax;
  padding: 0;
  margin: 0;
}

h1 span.mainSubtitle {
  font-size: 1.6vmax;
  padding: 0;
  margin: 0;
}

h1 a {
  text-decoration: none;
  color: #000000;
}

/* Banner styles for small-format devices. */

@media only screen and (max-width : 600px) {
  h1 {
    text-align: center;
    line-height: 0.7;
  }
}

/* Main menu toggle links are hidden for regular
 * screens. */
a.mainMenuToggle {
  display: none;
}

nav.mainMenu > ul {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  background-color: #000000;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

nav.mainMenu > ul li {
  margin: 0;
  padding: 0;
  position: static;
}

nav.mainMenu > ul > li > a {
  display: block;
  padding: 0.7rem;
  color: #ffffff;
  background-color: #000000;
  border: solid 1px rgb(133, 144, 75);
  border-radius: 0.5rem;
  text-align: center;
  text-decoration: none;
  margin: 0.5rem;
  font-size: 0.8rem;
  cursor: pointer;
  line-height: 1;
}

nav.mainMenu > ul > li > a[href="search.html"]{
  color: transparent;
  text-shadow: 0 0 #fff;
}

nav.mainMenu > ul > li > a[href="search.html"].selected{
  color: inherit;
}

nav.mainMenu > ul > li > ul {
  display: none;
  background-color: transparent;
}

nav.mainMenu > ul > li:hover > ul,
nav.mainMenu > ul > li > a.selected + ul {
  /*display: block;*/
  position: absolute;
  top: 3rem;
  left: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  transition: background-color 1s linear;
  background-color: white;
  list-style-type: none;
  justify-content: center;
  width: 100%;
  padding: 0;
}

nav.mainMenu > ul > li:hover > ul {
  z-index: 1000;
}

/*nav.mainMenu>ul:hover>li>ul{
  display: none;
}*/

nav.mainMenu > ul > li > ul > li > a {
  display: block;
  padding: 0.7rem;
  background-color: #c0c0c0;
  color: #000000;
  border: solid 1px #ffffff;
  border-radius: 0.5rem;
  text-align: center;
  text-decoration: none;
  margin: 0.5rem;
  font-size: 0.8rem;
  cursor: pointer;
}

nav.mainMenu a.selected,
nav.mainMenu a:hover {
  background-color: #ffffff;
  color: rgb(133, 144, 75);
}

nav.mainMenu > ul > li > ul > li > a.selected,
nav.mainMenu > ul > li > ul > li > a:hover {
  background: linear-gradient(#e0e0e0, #ffffff);
  border-color: #e0e0e0;
}

label#mainMenuToggle {
  display: none;
}

/* Main menu styles for small-format devices. */

@media only screen and (max-width : 600px) {
  label#mainMenuToggle {
    display: block;
    text-align: right;
    text-decoration: none;
    cursor: pointer;
    background-color: #000000;
    color: #ffffff;
    padding: 0.3em;
    font-size: 1.1rem;
  }

  nav.mainMenu {
    display: none;
  }

  input#mainMenuCheckbox:checked ~ nav.mainMenu {
    display: block;
  }

  input#mainMenuCheckbox:checked ~ nav.mainMenu > ul {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }

  nav.mainMenu > ul > li > ul {
    transition: none;
    animation: none;
    display: none;
    margin-left: 1rem;
  }

  nav.mainMenu > ul > li > a:hover + ul,
  nav.mainMenu > ul > li > a + ul:hover,
  nav.mainMenu > ul > li > a.selected + ul {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    transition: none;
    animation: none;
    position: static;
  }

  nav.mainMenu > ul > li > a,
  nav.mainMenu > ul > li > ul > li > a {
    border-width: 1pt 0 0 0;
    margin: 0;
    border-radius: 0;
  }
}

div.main {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  ;
}

/* We'll wrap this for small-format devices. */
@media only screen and (max-width : 600px) {
  div.main {
    flex-wrap: wrap;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
  div.leftColumn {
    max-width: none;
  }
}

div.leftColumn {
  max-width: 20rem;
  min-width: 20rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-left: 1rem;
}

div.rightColumn {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 1rem;
  align-items: center;
}

/* A tweak to shrink the chronology 
 * column when the window gets a bit
 * narrow. */
@media only screen and (max-width : 70rem) and (min-width : 601px) {
  div.leftColumn {
    max-width: 15rem;
    min-width: 15rem;
  }
}

label#showNamesLabel {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-top: 1rem;
  cursor: pointer;
}

label#showNamesLabel::before {
  content: "☐ ";
  cursor: pointer;
}

input#showNamesCheckbox:checked ~ * label#showNamesLabel::before {
  content: "☑ ";
  cursor: pointer;
}

div.chronology {
  padding: 1em 0.5em 0;
  ;
  /*border: solid 1px #000000;*/
  font-size: 0.75rem;
}

div.chronology h3 {
  font-variant: small-caps;
  text-align: center;
  margin: 0.5em;
  font-size: 1rem;
  font-family: georgia;
}

div.chronology ul {
  padding-left: 1rem;
  ;
}

div.chronology li {
  margin-top: 0.2em;
}

/* Chronology styles for small-format devices. */

@media only screen and (max-width : 600px) {
  div.chronology h3 label {
    cursor: pointer;
  }
  div.chronology h3 label::before {
    content: "⏵ ";
    font-family: ui;
  }
  div.chronology input#chronologyCheckbox:not(:checked) ~ h3 ~ ul {
    display: none;
  }
  div.chronology input#chronologyCheckbox:checked ~ h3 label::before {
    content: "⏷ ";
    font-family: ui;
  }
}


/*div.content h3::before{
  content: "⏷";
}

div.contentLink a h3::before{
  content: "⏵";
}*/

/* Display of popup poems. */
div.indexLink {
  padding: 0.5em;
  text-align: right;
  width: 90%;
}

div.poem,
div.backMatter > div:target{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 2rem;
}

div.backMatter div:target {
  padding-bottom: 2rem;
}

div.poemBody {
  /*display: flex;*/
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  flex-shrink: 1;
}

div > a.closer {
  text-decoration: none;
  color: #000000;
  padding: 0.25em;
  text-align: right;
  cursor: pointer;
  display: block;
  position: fixed;
  right: 12%;
  font-size: 2.0rem;
  line-height: 0.4;
}

div > a.closer:hover {
  background-color: #c0c0c0;
}

div.poem h3 {
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1em;
  margin-top: 3rem;
}

/* Stanza headings are h4s. We centre them
 * by default. */
div.poemBody h4 {
  margin-bottom: 0;
  text-align: center;
}

div.poem ul,
div.poemBody ul,
div.poem p,
div.poemBody p {
  margin: 0.5em 0.5em 0.5em 2em;
  padding: 0;
  list-style-type: none;
}

div.poem p,
div.poemBody p,
div.poem div {
  max-width: 35em;
}

div.poemBody ul,
div.poemBody div,
div.poemBody p {
  align-self: start;
}

div.poemBody > ul {
  margin-bottom: 1.5em;
}

div.poemBody ul li {
  display: flex;
  flex-direction: row;
}

div.poemBody ul li span.lineNum {
  /*margin-left: 4rem;
  text-align: right;
  color: #909090;*/
  margin-left: -4rem;
  text-align: left;
  color: #909090;
  margin-right: 2rem;
  width: 2rem;
  text-align: right;
  display: inline-block;
}

div.poemBody ul li span.lineNum.modFive::after {
  content: attr(title);
}

div.poemBody ul li:hover span.lineNum::after {
  content: attr(title);
}

div.poem ul li {
  margin-bottom: 0;
}

div.poem ul li span.in1 {
  padding-left: 1em;
}

div.poem ul li span.in2 {
  padding-left: 2em;
}

div.poem ul li span.in3 {
  padding-left: 3em;
}

div.poem ul li span.in4 {
  padding-left: 4em;
}

div.poem ul li span.in5 {
  padding-left: 5em;
}

div.poem ul li span.in6 {
  padding-left: 6em;
}

div.poem ul li span.in7 {
  padding-left: 7em;
}

div.poem ul li span.in8 {
  padding-left: 8em;
}

div.poem ul li span.in9 {
  padding-left: 9em;
}

div.poem ul li span.in10 {
  padding-left: 10em;
}

div.poem ul li span.in11 {
  padding-left: 11em;
}

div.poem ul li span.in12 {
  padding-left: 12em;
}

div.backMatter > div {
  display: none;
}

div.backMatter > div:target,
div.backMatter > div.bio:target{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  position: fixed;
  right: 10%;
  top: 10%;
  max-height: 80%;
  max-width: 90rem;
  min-width: 35em;
  overflow-y: auto;
  padding: 0.5em 0.5em 0.5em 4em;
  background-color: #ffffff;
  color: #000000;
  transform-origin: top;
  animation-name: unrollFromTop;
  animation-duration: 0.3s;
  animation-timing-function: ease-out;
}

div.backMatter > div:not(:target) {
  transition: all 1s ease;
}

div.backMatter > div.bio:target{
  max-width: 25rem;
  font-size: 0.8rem;
  padding-left: 1em;
}

div.backMatter > div.bio:target > div{
  margin: 2rem 0 0 0;
}

div.backMatter div.poem {
  font-size: 0.8rem;
}

nav.timelineMenu {
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  min-width: 90%;
  font-weight: bold;
  font-family: "Times New Roman";
  font-size: 1.2rem;
  display: flex;
  flex-direction: row;
  background: linear-gradient(#909090, #707070);
  flex-wrap: wrap;
  justify-content: flex-start;
}

nav.timelineMenu a {
  display: block;
  min-width: 2em;
  padding: 0.5em 0.7em;
  color: #000000;
  text-align: center;
  text-decoration: none;
  margin: 0;
  cursor: pointer;
}

nav.timelineMenu a:hover {
  color: #ffffff;
}

nav.timelineMenu a.selected {
  background-color: #c0c0c0;
}

div.content,
div.contentLink {
  margin-top: 2rem;
  text-align: left;
  font-size: 0.75rem;
  border: solid 1px #000000;
  max-width: 70em;
  width: 80%;
  box-sizing: border-box;
}

div.footnote {
  margin-left: 2em;
  margin-right: 2em;
  font-size: 0.8rem;
  text-indent: -0.5em;
  margin-top: 1em;
  border-top: solid 1pt black;
  clear: both;
}

div.footnote ~ div.footnote {
  padding-top: 0;
  border-top: none;
}

div.footnote ul,
div.footnote ol {
  text-indent: 0;
}

div.poem div.footnote {
  max-width: 35em;
  margin-left: auto;
  margin-right: auto;
  padding: 1em;
}

div.content {
  padding: 2rem;
  line-height: 1.5;
  background: linear-gradient(to bottom, #d0d0d0, #ffffff 4rem);
}

div.content > div:not([class = 'footnote']) {
  font-size: 0.9rem;
}

div.content a,
div.chronology a {
  text-decoration: none;
}

div.content a[href ^= '#'],
div.chronology a[href ^= '#'] {
  color: #7c3938;
  text-decoration: underline;
  text-decoration-style: dotted;
/* Just for Safari: */
  text-decoration-skip: spaces;
/* For other browsers: */
  text-decoration-skip-ink: all;
}

div.contentLink {
  padding: 0;
}

div.content h3,
div.contentLink h3 {
  background-color: #000000;
  color: #ffffff;
  padding: 0.5rem;
  font-weight: 400;
}

div.content h3 {
  margin: -2rem -2rem 2rem -2rem;
  letter-spacing: 0.1em;
  background-color: #808080;
}

div.contentLink h3 {
  margin: 0;
}

div.content h3::before {
  content: "⏷ ";
  font-family: ui;
}

div.contentLink a h3::before {
  content: "⏵ ";
  font-family: ui;
}


div.contentLink > a {
  text-decoration: none;
  color: #ffffff;
  background-color: #000000;
}

div.content h4 {
  font-size: 1.3rem;
}

div.content p:last-of-type,
div.content figure:last-of-type {
  margin-bottom: 0;
}


/* Content styles for small-format devices. */
@media only screen and (max-width : 600px) {
  div.content,
  div.contentLink {
    text-align: left;
  }
}

div#footer {
  clear: both;
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0.25rem;
  text-align: center;
  font-size: 0.8rem;
}

div#footer p {
  margin: 0.1em;
}

input#showNamesCheckbox:checked ~ * span.name:not(.searchTarget) {
  background-color: #8fbc8f;
}

span.name[title] {
  border-bottom: 1px #c0c0c0 dotted;
  cursor: help;
}

*.searchTarget {
  background-color: #e8b3b2;
}

span.journalTitle,
span.bookTitle {
  font-style: italic;
}

em span.bookTitle,
em span.journalTitle,
span.bookTitle em,
span.journalTitle em,
figcaption em,
figcaption span.bookTitle,
figcaption span.journalTitle,
em span.artTitle,
span.artTitle em,
figcaption span.artTitle {
  font-style: normal;
}

q::before,
span.articleTitle::before,
span.chapterTitle::before,
span.poemTitle::before,
span.artTitle::before {
  content: "“";
}

q:after,
span.articleTitle:after,
span.chapterTitle:after,
span.poemTitle:after,
span.artTitle:after {
  content: "”";
}

q q:before,
q span.articleTitle:before,
q span.poemTitle:before,
q span.chapterTitle:before,
q span.artTitle:before {
  content: "‘";
}

q q:after,
q span.articleTitle:after,
q span.poemTitle:after,
q span.chapterTitle:after,
q span.artTitle:after {
  content: "’";
}

/* Popups created from title attributes with JavaScript. */
span.titlePopup {
  display: block;
  position: relative;
  max-width: 60%;
  left: 20%;
  border: solid 1px gray;
  padding: 1em;
  border-radius: 1em;
  background-color: black;
  color: white;
  cursor: pointer;
  text-align: left;
}

/* Gallery and image handling. */

figure img,
div.poem,
div.bio,
div#citation,
ul.gallery a.showLargeImage:hover img,
ul.gallery a.showLargeImage:focus img {
  outline: 1px solid rgba(255, 255, 255, .2);
  box-shadow: 0px 0px 30px rgba(0, 0, 0, .65);
}

ul.gallery a.hideLargeImage:focus img {
  outline: 4px solid rgba(255, 255, 255, .2);
  box-shadow: 0px 0px 50px rgba(255, 255, 255, .65);
}

figure a:target img {
  border-style: none;
  outline: 0;
}

a.showLargeImage,
a.hideLargeImage {
  border-style: none;
  border-width: 0;
  outline: 0;
  text-decoration: none;
  cursor: pointer;
  text-decoration: none;
}

ul.gallery a.showLargeImage:hover img {
  transform: scale(1.5);
  transition: transform 0.3s ease-in-out;
}

a.hideLargeImage,
div.galleryPopup {
  display: none;
  top: 0;
  left: 0;
}

a.hideLargeImage:target,
div.galleryPopup:target {
  display: flex;
  position: fixed;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  margin: 1vh;
}

img.largeVersion {
  max-height: 90vh;
  max-width: 90vw;
}

div.galleryPopup:target {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.8);
  margin: 0;
}

div.galleryPopup div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  align-items: center;
  width: 100%;
}

div.galleryPopup div.galleryLargeCaption {
  justify-content: center;
}


div.galleryPopup a.hideLargeImage {
  display: block;
  line-height: 0;
}


div.galleryPopup a {
  font-size: 8rem;
  text-decoration: none;
  color: #ffffff;
  font-family: ui;
  margin: 0.25em;
}

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

img.oval {
  border-radius: 50%;
  height: 12rem;
  width: auto;
}

figure.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

figure.leftFloat {
  text-align: center;
  float: left;
  max-width: 50%;
}

figure.rightFloat {
  text-align: center;
  float: right;
  max-width: 50%;
}

@media screen and (max-width : 70rem) {
  figure.leftFloat,
  figure.rightFloat {
    float: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
}

figcaption {
  font-style: italic;
  text-align: center;
  margin-top: 0.5rem;
}

ul li {
  margin-bottom: 1em;
}

/* Special styles for the site index. */
ul.letterLinks {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  font-size: 1rem;
}
ul.letterLinks li {
  margin: 0;
  padding: 0;
  text-align: center;
  border: solid 1px #ffffff;
  background-color: #000000;
  color: #909090;
  max-width: 2em;
  min-width: 2em;
}
ul.letterLinks li a,
ul.letterLinks li span {
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  padding: 0.5em;
}
ul.letterLinks li a {
  color: #ffffff;
}

ul.topicIndex > li > ul {
  margin-top: 0.5em;
}
ul.topicIndex > li > ul > li {
  margin: 0;
}
ul.topicIndex > li {
  list-style-type: none;
}

ul.topicIndex > li:not(.alphabetLetter)::before {
  font-family: ui;
  content: "⏵ ";
}

ul.topicIndex > li.selected::before {
  font-family: ui;
  content: "⏷ ";
}

ul.topicIndex > li > p {
  margin-left: 2em;
}

ul.topicIndex > li > ul,
ul.topicIndex > li > p {
  display: none;
}

ul.topicIndex > li.selected > ul,
ul.topicIndex > li.selected > p,
ul.topicIndex > li:target > ul,
ul.topicIndex > li:target > p {
  display: block;
}

ul.topicIndex > li.alphabetLetter {
  list-style-type: none;
  font-size: 1.2rem;
  padding: 0.25em;
  background-color: #000000;
  color: #ffffff;
  margin-left: -1em;
}


/* Site content pages are displayed without boxes etc. */
div.siteContent {
  margin-top: 1rem;
  text-align: left;
  font-size: 0.75rem;
  width: 80%;
  box-sizing: border-box;
  padding: 0.5rem;
  line-height: 1.5;
  max-width: 80%;
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
}

div.siteContent h3 {
  padding: 0.5rem;
  font-size: 1.3rem;
  text-align: center;
}

div.siteContent h4 {
  font-size: 1.2rem;
}

div.siteContent>div{
  /*max-width: 80%;*/
}

div.siteContent > div:not([class = 'footnote']) {
  font-size: 0.9rem;
}

div.siteContent a {
  text-decoration: none;
}

div.siteContent ul {
  text-align: left;
}

/* Small screen options for site content. */

@media only screen and (max-width : 600px) {
  div.siteContent {
    margin-left: 0;
    padding: 0.25rem;
  }
  div.siteContent ul,
  div.siteContent ol {
    padding: 0;
  }

  /* Special overrides for the home page. */
}

body.homePage {
  background-image: url('../images/bg_image.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100vw;
  height: 100vh;
  color: #ffffff;
}

body.homePage div.mastheadFlexible {
  background-color: transparent;
  background-image: none;
  color: #ffffff;
}

body.homePage div.mastheadFlexible img {
  display: none;
}

body.homePage h1 {
  color: #ffffff;
  text-align: center;
  padding-right: 0;
  line-height: 0.8;
  margin-bottom: 2rem;
}

body.homePage h1 a {
  color: #ffffff;
  font-size: 4rem;
}

body.homePage nav.mainMenu ul li a {
  font-size: 1rem;
}

body.homePage nav.mainMenu,
body.homePage nav.mainMenu ul,
body.homePage nav.mainMenu ul > li > ul {
  background-color: transparent;
}

body.homePage div#footer {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}

body.homePage div#footer a {
  color: #ffffff;
}

body.homePage div#footer img {
  display: none;
}

div.homePage {
  margin-right: calc(100vw - 20em);
  margin-left: 2rem;
  font-family: Federo, "Segoe UI", Optima, Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
  margin-top: 4rem;
}

@media only screen and (max-width : 600px) {
  body.homePage {
    display: flex;
    flex-direction: column;
  }
  div.homePage {
    margin-right: calc(100vw - 10em);
    flex: 1;
  }
  body.homePage div#footer {
    position: static;
    transform: unset;
  }
}


/* End of special overrides for the home page. */

/* Gallery page */
ul.gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style-type: none;
  justify-content: center;
}

ul.gallery li {
  margin: 0.5em;
}

/* Gratuitous animations. */
@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes slideInFromTop {
  0% {
    transform: translateY(-3rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes unrollFromTop {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(1);
  }
}

@keyframes rollToTop {
  0% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0);
  }
}

div.listPage div.contentLink {
  animation: 0.3s ease-out 0s 1 slideInFromRight;
}

div.content > div {
  transform-origin: top;
  animation: 0.3s ease-out 0s 1 unrollFromTop;
}

nav.mainMenu > ul > li > ul {
  transform-origin: top;
  animation: 0.5s ease-out 0s 1 slideInFromTop;
}

/* Statistics page table. */
table.statistics {
  margin-left: auto;
  margin-right: auto;
  border: solid 1px gray;
  border-collapse: collapse;
}

table.statistics th,
table.statistics td {
  padding: 1em;
  border: solid 1px black;
}

table.statistics th {
  font-weight: bold;
  text-align: center;
  background-color: silver;
}

table.statistics td:nth-child(2) {
  text-align: right;
}

/* Styles for the search page. */
fieldset > div > div[class = 'checkboxSet'] , ul[class='checkboxList'] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0.5em auto 1em auto;
}

fieldset > div[class = 'checkboxSet'] > span, ul[class='checkboxList'] > li {
  display: inline-block;
  margin: 1em;
}

fieldset > div[class = 'searchBox'] {
  display: flex;
  flex-direction: row;
}

fieldset > div[class = 'searchBox'] > input,
fieldset > div[class = 'searchBox'] > button, input#ssQuery, button#ssDoSearch {
  font-size: 1.25rem;
}

fieldset > div[class = 'searchBox'] > input[type = 'text'] {
  flex: 1;
}

blockquote {
  background-color: #e0e0e0;
  padding: 1em;
  border-radius: 1em;
  font-size: 90%;
}

div#citation {
  display: none; /* Will be overridden on show. */
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  padding: 0.5rem;
  background-color: #ffffff;
  color: #000000;
  font-size: 0.8rem;
  max-height: 90vh;
  width: 20rem;
  overflow-y: auto;
}

div#citation h4,
div#citation h5 {
  margin: 0.1rem;
}

div#citation:target {
  display: block;
}

a.smallCloser,
a.smallCloser:visited {
  text-decoration: none;
  display: inline-block;
  margin: 0.2em;
  vertical-align: middle;
  color: black;
  font-size: 2.0rem;
  padding: 0.25em;
  line-height: 0.4;
  cursor: pointer;
}

a.smallCloser:hover {
  background-color: #c0c0c0;
}

/* Special styles to override static search defaults. */
div#staticSearch fieldset {
  border-width: 0;
  margin-top: 1em;
}
div#staticSearch fieldset ul.ssCheckboxList, div#staticSearch fieldset ul.ssDescCheckboxList {
  list-style-type: none;
}
div#staticSearch fieldset ul.ssCheckboxList li, div#staticSearch fieldset ul.ssDescCheckboxList li  {
  display: inline;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

/* Styles for the Keats Map page. */

body.keatsMap.mapShowing div.mastheadFlexible, body.keatsMap.mapShowing div.mainMenu{
  display: none;
}

body.keatsMap.mapHidden div.mainMenu{
  display: block;
}

body.keatsMap.mapHidden div.mastheadFlexible{
  display: flex;
}


body.keatsMap.mapShowing #map, body.keatsMap.mapShowing #holRightBox{
  display: flex;
}

body.keatsMap.mapShowing div.timeline{
  display: grid;
}

body.keatsMap.mapHidden #map, body.keatsMap.mapHidden #holRightBox, body.keatsMap.mapHidden div.timeline{
  display: none;
}

div#holToolbar>button#btnMainMenu{
  margin-left: 0.5em;
}

div#holToolbar>button#btnMainMenu>img{
  margin: 0;
  padding: 0;
  object-fit: fill;
}

/* body.keatsMap.mapShowing div#holToolbar>button#btnMainMenu{
} */

body.keatsMap.mapHidden div#holToolbar>button#btnMainMenu{
  border-width: 3px;
  border-color: rgba(0, 60, 136, 0.5);
}

/* Styles specific to the relationship diagram page. */
/* Give the diagram more space to expand. */
div#divRelationships {
   margin-top: 1.5em;
}

/* The details/summary element is used for explanations. */
details{
  margin: 1em auto 1em auto;
}
summary{
  cursor: pointer;
}
