html {
  height: 100%;
  min-height: 100%;
}

body {
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  color: black;
  background: #F0F0F0;
  font-family: sans-serif;
}

#content {
  min-height: calc(100% - 35px);
  width: 900px;
  margin: 0px auto;
  padding: 0px 10px 35px 10px;
  /*border: 1px solid black;*/
  /*border-radius: 10px;*/
  border-style: none solid none solid;
  border-width: 1px;
  border-color: black;
  color: black;
  background: white;
  text-align: left;
  position: relative;
}

@media (pointer:none), (pointer:coarse) {
  #content {
    width: 90%;
  }
}

#content p { text-align: left; }
#content a { text-decoration: none; color: blue; }
#content a:hover { text-decoration: underline; }
#content hr { width: 100%; margin-top: 10px; margin-bottom: 10px; }

.sr-only {
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}

#topdiv {
  position: relative;
  z-index: 999;
}

#header { padding-top: 5px; }

#name h1 {
  margin: 0;
  margin-right: 10px;
  font-size: 24pt;
  font-weight: normal;
}

#name a { text-decoration: none; color: black; }
#name a:hover { text-decoration: none; }
#address { float: right; margin-left: 10px; text-align: right; }
#footer {
 position: absolute;
 width: inherit;
 font-style: italic;
 font-size: 10pt;
 margin: 10px 10px auto 10px;
 bottom: 5px;
 right: 0;
}
#footer hr { width: 100%; margin: 10px auto 5px auto; }


/*
 * Navigation bar
 */

#topdiv {
  background-color: white;
  position: sticky;
  top: 0px;
}

#nav {
  margin: 10px 0px;
  padding: 5px 0 5px 0; /* 5px 10px 5px 5px; */
}

#nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: table;
  table-layout: fixed;
  text-align: center;
}

#nav li {
  margin: auto;
  display: table-cell;
  width: 100px;
  padding-top: 2px;
  border-style: dotted dotted solid dotted;
  border-radius: 10px 10px 0 0;
  border-color: black;
  border-width: 1px;
  white-space: nowrap;
}

#nav li:hover {
  border-style: solid;
  background-color: #f8f8f8;
}

#nav li a {
  display: block;
}

#nav li a:hover {
  text-decoration: none;
}

#nav li.currentpage {
  border-style: solid solid dotted solid;
  border-color: black;
}

#nav li.currentpage:hover {
  background-color: white;
}

#nav ul > li:last-child {
  border-style: none none solid none;
  width: 100%;
}

#nav ul > li:last-child:hover {
  background-color: white;
}

/*
 * Main content
 */

img.centered {
  display: block;
  margin: 10px auto 10px auto;
}

#text {
  min-height: 100%;
  /*margin-left: 90px;*/
}

#text p, dl, h2.cv, h2.course {
  margin-left: 2px;
  line-height: normal;
}

/*
 * Links page styles
 */

#text ul.links li {
  list-style: square;
  margin-bottom: 10px;
}

/*
 * Papers page styles
 */

div.papers {
  display: table;
  border-collapse: separate;
  border-spacing: 0px 3px;
  width: 100%;
  counter-reset: rownumber;
}

div.prow  {
  display: table-row;
  counter-increment: rownumber;
  /*background-color: #f4f4f4;*/
}

div.prow:nth-child(4n+1) { background-color: #e8e8e8; }
div.prow:nth-child(4n+2) { background-color: #e8e8e8; }
div.prow:nth-child(4n+3) { background-color: #f8f8f8; }
div.prow:nth-child(4n+4) { background-color: #f8f8f8; }

div.papers div.prow div.pbiblio:first-child::before {
  content: counter(rownumber) '. ';
  min-width: 1em;
}

div.pbiblio, div.plinks, div.pcode {
  display: table-cell;
  font-size: 11pt;
  line-height: 125%;
  vertical-align: middle;
}

div.pbiblio, div.pcode {
  padding: 8px 2px;
}

span.pname {
  font-weight: bold;
  white-space: pre-line;
}

span.pname:after {
  content: "\a";
  white-space: pre;
}

div.plinks {
  padding: 6px 6px;
  text-align: center;
}

div.pbiblio p, div.plinks p {
  margin: 1px 1px;
}

/*
div.plinks:hover {
  background-color: #d8d8d8;
}
*/

div.prow:hover div.pbiblio {
  background-color: #d8d8d8;
}

/*
div.prow:hover {
  background-color: #d8d8d8;
}
*/

div.abstract {
  display: none;
  background-color: white;
  position: relative;
  padding: 0;
  left: 0;
  width: 100%;
}

div.abstract p {
  padding: 10px 25px;
  margin: 1px;
  width: calc(100% - 50px);
  font-size: 11pt;
}

a.coauthor {
  text-decoration: none;
  color: black !important; 
}

a.coauthor:hover {
  text-decoration: underline;
}

a.toappear {
  text-decoration: none;
  color: black !important;
}

a.toappear:hover {
  text-decoration: none !important;
}

table.papers {
  border-collapse: separate;
  border-spacing: 2px 3px;
  counter-reset: rownumber;
}

table.papers tr {
  background-color: #F4F4F4;
}

table.papers tr div:first-child::before {
  content: counter(rownumber) '. ';
  min-width: 1em;
}

table.papers td {
  font-size: 10pt;
  padding: 5px 2px;
}

table.papers#lectures td {
  font-size: 12pt !important;
  padding: 5px 3px;
}

table.papers td.paper {
  padding: 5px 1px;
  border: 1px solid #F4F4F4;
  width: 100%;
  counter-increment: rownumber;
}

table.papers#papers td.paper:hover { border-color: black; }

table.papers tr.abstract {
  display: none;
  background-color: white;
}

table.papers td.abstract {
  padding: 10px 25px;
}

table.papers a.coauthor {
  text-decoration: none;
  color: black !important; 
}

table.papers a.coauthor:hover {
  text-decoration: underline;
}

/*
 *  CV page styles
 */

h2.cv {
  text-align: center;
}

ul.cv {
  margin-left: 10px;
  padding: 0;
  list-style: none;
}
ul.cv li {
  font-weight: bold;
  margin: 10px 0 0 0;
}

ul.cv-item { list-style: square; }
ul.cv-item li {
  font-weight: normal;
}

/*
 * Course page styles
 */

h2.course {
  text-align: center;
}

#text ul.course-data li {
  list-style: square;
  margin-bottom: 10px;
}

#text p.course-data {
  margin-left: 10px;
}
