html {
  margin-left: calc(100vw - 100%);
  overflow: auto;
}
body {
  font: 1em Noto_Serif, serif;
  margin: 0 auto; /*center the content*/
  margin-top: 1em;
  width: 936px;
}
body > p, body .grid div p {
  font-size: 1em;
  line-height: 2;
  margin-bottom: 1em;
  padding-left: 1em;
  padding-right: 1em;
}
p:first-of-type .alert {
  color: red;
  font-family: Noto_Serif-italic, serif;
  letter-spacing: 0.062em;
  text-transform: uppercase;
}
.larger { font-size: larger } /*ANCHOR styling utility*/
.interests { /*P styling utility*/
  font-size: 1.1em;
  font-variant: small-caps;
  line-height: calc(1.1em * 1.5);
  margin-bottom: 0;
  padding-left: 16px; /*1em*/
  padding-right: 16px; /*1em*/
}
.signature {
  font-variant: small-caps;
  line-height: 1.25;
  margin-top: 2em;
}
p .br { display: block } /*BR replacement*/
sup { /*superscript*/
  font-size: 0.7em; /*same as SUB*/
  vertical-align: super;
}
sub { /*subscript*/
  font-size: 0.7em; /*same as SUP*/
  vertical-align: sub;
}
dfn {
  font-family: Noto_Serif-italic, serif;
  font-style: normal;
  letter-spacing: 0.062em;
}
/*general settings for tooltips START*/
abbr {
  text-decoration: underline;
  text-decoration-color: rgba(255, 140, 0, 0.5); /*darkorange*/
  text-decoration-skip-ink: none;
  text-decoration-style: dotted;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.125em;
}
abbr:hover {
  background-image: linear-gradient( transparent, rgba(255, 215, 0, 0.33) ); /*gold*/
  cursor: help;
  text-decoration-color: darkorange; /*looks better*/
  text-decoration-skip-ink: auto; /*looks better*/
}
/*general settings for tooltips END*/
code {
  font-family: Inconsolata, monospace;
  letter-spacing: 0.062em;
}
/*anchor START*/
a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(160, 32, 240, 0.5); /*purple*/
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.125em;
}
a:hover, a:focus {
  color: purple;
  text-decoration: none;
}
a[href^="mailto:"]::after { content: '\00A0 \2709' } /*no-break space followed by envelope*/
::selection, a:focus {
  background-color: gold; /*fallback*/
  background-color: rgba(255, 215, 0, 0.33); /*gold*/
  color: black;
  outline: none;
}
  /*back_to_top START*/
  .back_to_top {
    bottom: 16px;
    position: fixed;
    right: 16px;
    z-index: 2;
  }
  .image:focus, .back_to_top:focus { background-color: transparent } /*non-text anchors*/
  .back_to_top img { opacity: 0.5 }
  .back_to_top:hover img, .back_to_top:focus img {
    animation: feedback 1s; /*visual change to satisfy accessibility*/
    opacity: 1.0; /*end*/
  }
  /*back_to_top END*/
/*anchor END*/
/*search START*/
form {
  margin-bottom: calc(16px * 2.0);
  margin-left: calc(16px * 1.0);
  margin-top: calc(16px * 1.5);
}
form input {
  color: black;
  font-family: inherit;
  letter-spacing: 0.062em;
}
form input[type=search] {
  background-color: gold; /*fallback*/
  background-color: rgba(255, 215, 0, 0.33); /*gold*/
  border: none;
  box-sizing: border-box;
  margin-right: -4px; /*kludge*/
  /*top, right, bottom, left*/
  padding: 0.5ch 0 0.5ch 1ch;
  width: 33%;
}
form input[type=search]:focus {
  background-color: gold; /*fallback*/
  background-color: rgba(255, 215, 0, 0.10); /*gold*/
  outline: none;
}
form input[type=submit] {
  background: #E5CCE5; /*same color scheme as in menu.css*/
  border-bottom: 0;
  border-left: 1px solid black;
  border-right: 0;
  border-top: 0;
  cursor: pointer;
  /*top, right, bottom, left*/
  padding: 0.5ch 1ch 0.5ch 1ch;
}
form input[type=submit]:hover { background: #F2E5F2 } /*same color scheme as in menu.css*/
form input[type=submit]:focus {
  background: #F2E5F2; /*same color scheme as in menu.css*/
  outline: none;
}
/*search END*/
/*headings START*/
h1 {
  cursor: default;
  font-size: 2rem;
  font-variant: small-caps;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  line-height: 1.1em;
  margin: 1em 0 2ch;
  padding-left: 1ch;
  padding-right: 1ch;
  text-align: center;
}
h2 {
  cursor: default;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  line-height: 1.3;
  margin: 1em 0 1em;
  padding-left: 1ch;
  padding-right: 1ch;
}
h3 {
  cursor: default;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  margin: 1em 0 1em;
  padding-left: 1ch;
  padding-right: 1ch;
}
h4 {
  cursor: default;
  font-size: 1.13rem;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  margin: 1em 0 0.65em;
  padding-left: 1ch;
  padding-right: 1ch;
}
h5 {
  cursor: default;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  margin: 1em 0 0.5em;
  padding-left: 1ch;
  padding-right: 1ch;
}
h6 {
  cursor: default;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: calc(0.062em / 2);
  margin: 1em 0 0.5em;
  padding-left: 1ch;
  padding-right: 1ch;
}
/*headings END*/
ol, .ul { /*unordered list that does not conflict with the menu*/
  line-height: 1.75;
  margin-bottom: 1em;
  margin-left: 2.6em;
}
ol li, .ul li {
  padding-bottom: 0.5em;
  padding-right: 1em;
}
.ul { list-style: square }
.ul li::marker { color: purple }
.issues { /*UL*/
  line-height: calc(1em * 1.5);
  list-style: none;
  margin-left: 1em;
}
.issues li {
  padding-bottom: 1em;
  padding-right: 1em;
}
/*table START*/
table {
  /*top, right, bottom, left*/
  margin: 0 auto calc(164px / 3) auto;
  width: 100%; /*keep this*/
}
table thead {
  border-bottom: 2px solid gray;
  border-top: 2px solid gray;
}
table > thead > tr > th { /*Title & Author*/
  font-size: 1.1em;
  font-variant: small-caps;
  letter-spacing: 0.062em;
  padding-bottom: 0.25em;
  padding-top: 0.25em;
}
table > thead > tr > th:last-of-type {
  padding-right: 1ch;
  text-align: right;
}
table tbody tr td { padding-bottom: 0.5em } /*baseline padding*/
table tbody tr td ul {
  list-style: square;
  margin-left: 1em;
}
table tbody tr td ul li {
  padding-bottom: 0.25em;
  padding-right: 1em;
}
table tbody tr td ul li::marker { color: purple }
table tbody tr td ul li:last-of-type { margin-bottom: 0 }
table tbody tr td .thesis {
  list-style: none;
  margin-left: 0; /*no bullets, so don't need this*/
}
table tbody .page td:first-of-type { border-left: 1px solid lightgray }
table tbody .page td {
  background-color: #800080; /*fallback*/
  background-color: rgba(128, 0, 128, 0.05); /*purple*/
  /*top, right, bottom, left*/
  padding: 0.5em 0.75em 0.5em 0.75em; /*0.5em is baseline padding*/
}
table tbody .page .title, table tbody .page td a { font-family: Noto_Serif-bold, serif }
table tbody .page td a .Noto_Serif-bold-italic { letter-spacing: calc(0.062em / 2) }
table tbody .page td:last-of-type { /*Page*/
  border-right: 1px solid lightgray;
  cursor: default;
  text-align: right;
}
table tbody .bib td {
  padding-bottom: 0;
  padding-left: 0.75em; /*I need my space!*/
  padding-top: 0.5em; /*baseline padding*/
}
table tbody .author td {
  /*top, right, bottom, left*/
  padding: 0.5em 1em 0.5em 2em;
}
table tbody .padding-top td { padding-top: 0.25em } /*for neighboring PAGE styles*/
table tbody .padding-bottom td { padding-bottom: 0.25em } /*for neighboring PAGE styles*/
table > thead > tr > th, table > thead > tr > td, table > tfoot > tr > th, table > tfoot > tr > td { cursor: default } /*TABLE header and footer*/
table > thead > tr > th, table > thead > tr > td, table > tbody > tr > th, table > tbody > tr > td, table > tfoot > tr > th, table > tfoot > tr > td { vertical-align: top }
table > caption + thead > tr:first-child > th, table > caption + thead > tr:first-child > td, table > colgroup + thead > tr:first-child > th, table > colgroup + thead > tr:first-child > td, table > thead:first-child > tr:first-child > th, table > thead:first-child > tr:first-child > td { border-top: 0 }
table tfoot { font-size: smaller }
table tfoot tr td {
  color: dimgray; /*same in wrapper UL*/
  line-height: 1.5;
  /*top, right, bottom, left*/
  padding: 1em 1em 0 1em
}
table tfoot tr td .br { display: block } /*BR replacement*/
table tfoot tr td dfn abbr:hover { color: black } /*increase readability*/
/*table END*/
/*bubbles START*/
.bubble {
  background-color: gold;
  border-radius: 100%;
  bottom: 1em; /*where each bubble starts*/
  position: absolute;
  z-index: 1;
}
.bubbles { /*DIV*/
  overflow-x: hidden;
  position: relative;
  widows: inherit;
}
/*bubbles END*/
/*footer START*/
footer {
  background: whitesmoke;
  border-top: 1px dotted silver;
  bottom: 0;
  box-sizing: border-box;
  font-size: smaller;
  height: 280px; /*index.htm*/
  line-height: 1.5;
  margin-top: 2em;
  padding: 1em;
  position: relative;
}
footer .license { /*general settings*/
  position: absolute;
  z-index: 1;
}
footer .license::before {
  bottom: 100%;
  content: "Copyright";
  font-size: 17px;
  font-variant: small-caps;
  left: 0;
  letter-spacing: 0.062em;
  line-height: 1;
  position: absolute;
}
footer .ECU { /*ECU, index only*/
  position: absolute;
  right: 1em;
  z-index: 1;
}
footer .footer { /*ECU, everywhere else*/
  right: 252px;
  top: 10px;
}
footer .copyright {
  bottom: 21px;
  cursor: default;
  position: absolute;
  right: 1em;
  z-index: 1;
}
footer .copyright p {
  line-height: 1.25;
  text-align: right;
}
footer .error {
  bottom: 1em;
  left: 1em;
  position: absolute;
  z-index: 1;
}
footer .error a {
  color: red;
  text-decoration-color: rgba(255, 0, 0, 0.5); /*red*/
}
footer .error a:hover, footer .error a:focus { color: darkred }
.ATL { height: 80px } /*FOOTER element*/
.ATL .license {
  bottom: 9px;
  left: calc(4.95 * 88px);
}
.ATL .copyright { bottom: 14.5px }
.hide { display: none } /*copyright.htm*/
/*footer END*/
hr {
  background-image: linear-gradient( to right, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0) );
  border: 0;
  height: 1px;
}
/*styling utilities START*/
.underline {
  text-decoration: underline;
  text-decoration-color: rgba(102, 102, 102, 0.5); /*darkgray*/
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.125em;
}
.Inconsolata { font-family: Inconsolata, monospace }
.Inconsolata-bold { font-family: Inconsolata-bold, monospace }
.Noto_Serif { font-family: Noto_Serif, serif }
.Noto_Serif-bold, .Noto_Serif-italic, .Noto_Serif-bold-italic { letter-spacing: calc(0.062em / 2) }
.Noto_Serif-bold { font-family: Noto_Serif-bold, serif }
.Noto_Serif-italic { font-family: Noto_Serif-italic, serif }
.Noto_Serif-bold-italic { font-family: Noto_Serif-bold-italic, serif }
/*styling utilities END*/

@media only screen and (max-width: 936px) { /*design breakpoint*/
  body { width: inherit }
  .back_to_top { right: 19px }
  .bubbles footer .license { display: none }
  .bubbles footer a .ECU { display: none }
}

@media only screen and (max-width: 600px) { /*ruler breakpoint*/
  body { margin-top: 5px }
  body > form { display: none }
  table tbody .page td:first-of-type { border-left: 0 }
  table tbody .page td:last-of-type { border-right: 0 }
  .back_to_top { display: none }
  .bubbles footer .error, .bubbles footer .pdf { display: none }
}