* {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
}
html {
  height: 100%;
  overflow-y: scroll;
}
body {
  height: 100%;
  margin: 0 auto;
  max-width: 1042px;
  font-size: 10pt;
  color: #000;
}
menu {
  position: fixed;
  margin: 0;
  padding: 0;
  width: 9em;
  height: 100%;
  background-image: url('p4bl0.png');
  background-position: left 0.5em bottom 0.5em;
  background-repeat: no-repeat;
  list-style-type: none;
  font-family: sans-serif;
  background-color: #ccc;
}
menu li a {
  display: block;
  text-decoration: none;
  line-height: 5em;
  padding: 0 0.5em;
  font-weight: bold;
  text-align: right;
}
menu li a.welcome {
  line-height: 2em;
  font-size: 8pt;
}
#me {
  background-color: inherit;
  color: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  display: inline;
  font-family: sans-serif;
  font-weight: inherit;
}
menu .welcome { background-color: #000; color: #666; }
menu .home { background-color: #48f; color: #26c; }
menu .research { background-color: #8b2; color: #680; }
menu .teaching { background-color: #fd1; color: #c90; }
menu .activism { background-color: #d22; color: #a11; }
menu .software { background-color: #862; color: #650; }
menu .links { background-color: #818; color: #607; }
menu .miscellaneous { background-color: #f81; color: #d50; }
.welcome menu .welcome,
.home menu .home,
.research menu .research,
.teaching menu .teaching,
.activism menu .activism,
.software menu .software,
.links menu .links,
.miscellaneous menu .miscellaneous,
menu li a:hover, menu li a:focus { color: #fff !important; }
.welcome #content { border-color: #000; }
.home #content { border-color: #48f; }
.research #content { border-color: #8b2; }
.teaching #content { border-color: #fd1; }
.activism #content { border-color: #d22; }
.software #content { border-color: #862; }
.links #content { border-color: #818; }
.miscellaneous #content { border-color: #f81; }
.http404 h2 { background-color: #ccc; }
.home h2 { background-color: #37e; }
.research h2 { background-color: #7a1; }
.teaching h2 { background-color: #ec0; }
.activism h2 { background-color: #c11; }
.software h2 { background-color: #751; }
.links h2 { background-color: #707; }
.miscellaneous h2 { background-color: #e70; }
.home a:hover, .home a:focus { color: #26c; }
.research a:hover, .research a:focus { color: #680; }
.teaching a:hover, .teaching a:focus { color: #c90; }
.activism a:hover, .activism a:focus { color: #a11; }
.software a:hover, .software a:focus { color: #650; }
.links a:hover, .links a:focus { color: #607; }
.miscellaneous a:hover, .miscellaneous a:focus { color: #d50; }
#main {
  height: 100%;
  min-height: 100%;
  margin-left: 9em;
  border-color: #ccc;
}
#content {
  box-shadow: 0.1em 0 0.5em 0.1em #aaa inset, -4.5em 0 0.5em 4.7em #aaa;
  border-right: 2.5em solid;
  border-left: 2.5em solid;
  padding: 0.8em 1em;
  min-height: 100%;
  line-height: 150%;
  text-align: justify;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  background-color: #fff;
  font-family: sans-serif;
  border-color: #ccc;
}
#content:after {
  content: ' ';
  clear: both;
  display: block;
}
#localmenu {
  margin-bottom: 0.5em;
  text-align: right;
  font-family: monospace;
}
#localmenu li {
  font-size: 8pt;
  display: inline;
  margin: 0;
  padding: 0;
}
h2, h3 {
  font-weight: bold;
  display: inline-block;
  font-family: monospace;
}
h2 {
  color: #fff;
  padding: 0 0.5em;
  margin: 0.5em 0;
  line-height: 200%;
}
h2 ~ h2 { margin-top: 1em; }
#main h2:first-of-type { margin-top: 0; }
.fl { float: left; }
.fr { float: right; }
.cl { clear: left; }
.cr { clear: right; }
.cb { clear: both; }
.quote {
  clear: both;
  text-align: center;
  column-span: all;
  font-style: italic;
  font-family: serif;
}
.info {
  font-size: 8pt;
  line-height: 130%;
}
p.quote.fl:after {
  content: ' ';
  clear: left;
  display: block;
}
p { margin-bottom: 0.5em; }
ul, dl, ol { margin-bottom: 0.5em; }
ul, ol { margin-left: 2em; }
ul li {
  margin: 0 0 0.5em 0;
  list-style-type: circle;
  list-style-position: outside;
}
ul.col li {
  float: left;
  width: 33%;
  min-width: 17em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}
ul.col:after {
  content: ' ';
  clear: both;
  display: block;
}
ol.footnotes {
  font-size: 8pt;
  line-height: 130%;
  margin: 2em 1em 1em 1em;
  border-top: 1px dotted #aaa;
  padding: 1em 1em 1em 1.5em;
}
ol.footnotes li:target, a.fn:target {
  background-color: #ffa;
                        }
a.fn { text-decoration: none; }
i { font-family: serif; }
small { font-size: 7.5pt; }
sup { font-size: 8pt; }
blockquote {
  margin: 0 0 0.55em 1em;
  padding: 0 2.5em 0 1em;
  border-left: 0.5em solid #ccc;
  font-size: 9pt;
  font-family: serif;
}

.welcome #content {
  background-color: #000;
  box-shadow: -4.5em 0 0.5em 4.7em #aaa;
  text-transform: lowercase;
  padding: 1.5em 0;
}
.welcome p {
  padding: 0.3em 0;
  letter-spacing: -0.02em;
  word-spacing: -0.075em;
  line-height: 0.9em;
  font-weight: normal;
  font-size: 21pt;
  color: #fff;
  font-family: sans-serif;
  font-stretch: condensed;
  margin: 0;
  white-space: pre-line;
  text-align:left;
}
.welcome p a {
  text-decoration: none;
  color: #fff;
  letter-spacing: 0;
}
.welcome #blue { color: #37e; }
.welcome #green { color: #7a1; }
.welcome #yellow { color: #ec0; }
.welcome #red { color: #c11; }
.welcome #brown { color: #751; }
.welcome #violet { color: #707; }
.welcome #orange { color: #e70; }
.welcome #announcement {
  margin-top: 1.5em;
  padding: 0.5em;
  font-size: 12pt;
  font-weight: bold;
  border: 5px solid #d22;
  background-color: #fd1;
  color: #000;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  word-spacing: 0;
  line-height: 150%;
}
.welcome #announcement a { color: #000; text-decoration: underline; }

.home #presentation {
  float: left;
  width: 56%;
}
.home #news {
  float: right;
  width: 42%;
  margin: 0 0 0 2%;
}
.home #news dl {
  background-color: #ccc;
  padding-bottom: 0.2em;
}
.home #news dl dt {
  padding: 0.4em 0.5em;
  font-style: italic;
  font-size: 8pt;
  line-height: 120%;
}
.home #news dl dt time {
  float: right;
  font-style: normal;
  font-size: 7pt;
}
.home #news dl dd {
  background-color: #eee;
  margin: 0 0.2em 0.3em 0.2em;
  font-size: 7.5pt;
}
.home #news dl dd:after {
  content: ' ';
  clear: both;
  display: block;
}
.home #news dl dd p {
  margin-bottom: 0;
  padding: 0.2em;
  line-height: 130%;
}

.research dl dt { font-weight: bold; }
.research dl dt ~ dt { margin-top: 1em; }
.research dl dd ul { margin: 0; }
.research dl dd ul li { margin: 0; }
.research dl dd ul.authors li {
  display: inline;
  margin-left: 0;
}
.research dl dd ul.authors li:after {
  content: ',';
  margin-right: 0.5em;
}
.research dl dd ul.authors li:last-child:after {
  content: '';
  margin-right: 0;
}
.research dl dd ul.in li { list-style-type: none; }
.research dl dd ul.in li:before {
  color: #aaa;
  font-size: 8pt;
  font-variant: small-caps;
  margin-right: 0.5em;
}
.research dl dd ul.in li.workshop:before { content: 'workshop'; }
.research dl dd ul.in li.conference:before { content: 'conference'; }
.research dl dd ul.in li.journal:before { content: 'journal'; }
.research dl dd ul.info {
  display: inline;
  color: #444;
}
.research dl dd ul.info li {
  display: inline;
  margin-left: 0;
}
.research dl dd ul.info li:after {
  content: '·';
  margin: 0 0.3em;
}
.research dl dd label {
  color: #444;
  font-size: 8pt;
  margin: 0;
  cursor: pointer;
}
.research dl dd label:after {
  content: ' ';
  display: block;
}
.research dl dd p { margin-bottom: 0em; }
.research dl dd p.abs {
  display: none;
  margin: 0.3em 0 1em 0;
  border-left: 0.5em solid #ccc;
  padding: 0 0 0 0.5em;
  font-size: 9pt;
  font-family: serif;
}
.research dl dd input[type="checkbox"] { display: none; }
.research dl dd label span:first-of-type { display: inline; }
.research dl dd label span:last-of-type { display: none; }
.research dl dd input:checked ~ label span:first-of-type { display: none; }
.research dl dd input:checked ~ label span:last-of-type { display: inline }
.research dl dd input:checked ~ p.abs { display: block; }
.research dl dt:target + dd p.abs { display: block; }
.research dl dt:target + dd label span:first-of-type { display: none; }
.research dl dt:target + dd label span:last-of-type { display: inline; }
.research dl dt:target + dd input:checked ~ label span:first-of-type { display: inline; }
.research dl dt:target + dd input:checked ~ label span:last-of-type { display: none }
.research dl dt:target + dd input:checked ~ p.abs { display: none; }

.activism #toc {
  list-style-type: none;
  margin-left: 0;
}
.activism #toc ol {
  list-style-type: none;
  margin-bottom: 0;
}
.activism #intro em, .activism #intro strong { font-family: serif; }

@media print {
  body { font-size: 8pt; }
  menu { display: none; }
  #localmenu { display: none; }
  body { max-width: none; }
  #main { margin-left: 0; }
  #content { border: none; padding: 0; box-shadow: none; }
  h2 { font-size: 12pt; }
  p.quote.fl { display: none; }
  a:after { content: ' [' attr(href) ']'; font-size: 7pt; }
}
