/* @import url("http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic");
*/
body { 
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  background:#fff;
  color:#222;
  font-size:13pt;
  text-rendering:optimizeLegibility;
  line-height:1.2em;
  margin:0; 
  padding:0;
}

.main { margin:30px; }

@media (min-width: 900px) {
  .main { max-width: 1100px; margin: 40px auto; }
  .leftcol, .rightcol { float: left; width: 40%; }
  .leftcol { margin:0 6%; }
  .leftcolw { float:left; width:60%; margin:0 5%; }
  .rightcolw { float:left; width:25%; }
  .singlecol { max-width:700px; margin:0 auto; font-size:15pt; }
}
@media (max-width: 899px) {
  #wopic { display:none; }
  .rightcol { margin-top:-250px; }
}

a { color: #068; }
a:visited { color: #065975; }
.main a:hover { text-decoration:underline; }
a.citation { text-decoration:underline; text-decoration-style:dotted; color: #233949; }
b { font-weight: 500; }
p { margin:0.5em 0; }

.menubar { width: 100%; background: #f7f7f2; padding:18px 0 0; text-align: center; }
.menubar h1 { font-size: 22px; text-transform: uppercase; letter-spacing: 4px; color: #005566; font-weight: 500; margin: 0 0 15px 0; }
.menu { background: #6996a9; }
.menu a { display: inline-block; text-transform: uppercase; letter-spacing: 0.8px; color:#fff; font-weight: 500; text-decoration: none; padding: 9px 13px 4px 13px;}
.menu a.active { border-bottom: 5px solid #fffffc; }

@media (max-width: 580px) {
  .menu a { font-size:0.8em; padding: 9px 1% 4px 1%; }
}

/* home */
#wopic { text-align: left; }
#wopic img { border-radius:50%; }
#contact div { margin:2px 0; }

/* general layout with "blocks" */
.block { margin-bottom:60px; font-size:18px; line-height:1.4em }
.block h2 { margin: 0 0 22px 0; text-transform: uppercase; letter-spacing: 2px; color:#344; font-weight: 500; font-size: 1.1em; color: #444; border-bottom: 1px solid #eee; padding-bottom:2px }
.block a { text-decoration:none; }
.block ul { list-style: none; margin-left: 0; padding-left: 0; }
.block li { margin-bottom: 25px; }
.block li.narrow { margin-bottom: 12px; }
.block .itemtitle { margin:5px 0; }
.block .itemdescr { margin:5px 0 15px; }
.block .strong { font-weight:500; padding-right:2px; }
.pdflink:before { content:'🗋'; font-weight: bold; padding-right: 3px; }
.pubabstract { margin: 4px 0; line-height: 1.4em; }
.pubinfo { margin: 4px 0; color: #333; }
.pubyear { display: none; }
.singlecol ul { list-style: none; padding:0; margin:0; }
.singlecol li { margin:1.8em 0; }
#publications .pubabstract, #unpublications .pubabstract { margin: 8px 0; }
#publications .pubinfo { opacity:0.9; }
@media (min-width: 900px) {
  #publications .pubyear, #unpublications .pubyear { display:block; position:relative; top:0; left:-3em; width:3em; height:1.5em; margin-bottom:-1.5em; color:#acc; font-weight:bold; }
}


#papers dl { max-width:600px }
#papers dt { font-weight:bold; margin-top:2em; line-height:1.1em; }
#papers dt .pubstatus { display:block; margin-top:0.3em; font-weight:normal; font-size:smaller; }
#papers dd { margin:0.8em 2em 1em 3em; line-height: 1.2em; font-size:smaller; color:#333; } 
#papers .co { color:#333; font-weight:normal; }

/* teaching and coding and blog, single-column */
.singlecol h2 { color: #356; font-size:1.5em; text-transform:unset; letter-spacing:unset; margin:60px 0 20px; border-bottom-width:0px; }
.singlecol h3 { margin:35px 0 20px 0; font-weight:500; color:#234; letter-spacing:unset; font-size:1.2em; }
.singlecol h4 { margin:20px 0 10px 0; font-weight:500; color:#234; font-size:1.1em; }

/* blog overview */
.leftcolw h2 { margin:0 0 6px 0; text-transform:none; letter-spacing:unset; font-size:1.3em; }
.leftcolw h2 a { text-decoration: none; }
.leftcolw .sourceblock { display: none; }
.leftcolw .entry p { margin:0.3em 0; }
.prevnext td { background:transparent; border:none; }
.prevnext { margin:5px 0 50px; width:100%; }
.prevnext a { text-decoration:none; font-weight:500; }
.rightcolw a { text-decoration: none; }
.rightcolw .section { margin-bottom:30px; } 
.rightcolw h3 { margin:0 0 5px 0; font-weight:500; color:#456; letter-spacing:unset; font-size:1.1em; }
.rightcolw ul { margin:8px 0 30px 0; padding:0; text-align:left; list-style:none; }
.rightcolw li { margin:5px 0; padding:0; }
.rightcolw dt { margin:3px 0; }
.rightcolw dd { margin:0 0 10px 0px; color:#666; line-height:1.2em; }
.rightcolw dd a { color:#666; text-decoration:none; font-size:0.9em; }
#search ul { margin:20px 0; padding:0; list-style:none; }
#search li { margin:0; padding:0; }
form { margin:10px 0; }
#searchfield { background-color:#f9f9f9; border:1px solid #ccc; padding:3px; width:220px; }
#searchfield:focus { background-color:#fff; }
#searchbutton { background-color:#fff; border:none; padding:0; font-size:120%; }

/* single blog post */
.blogpost .entryheader { margin-bottom:30px; }
.blogpost .entryheader a.tag, .topich3 { display:inline-block; padding:1px 4px; background:#e9f0f6; }
.blogpost .comment { margin:30px 0 50px; line-height:1.3; }
.blogpost .commentheader { color:#666; background:#eef0f3; padding:3px 5px; margin-bottom:20px; }
.blogpost .email { color:#056; font-weight:500; border-bottom:1px dotted #699; cursor:help; }
.blogpost .comment p { text-indent:0; margin:8px 0; }
.blogpost .anchor { position:relative; top:-40px; }
.blogpost form { margin:10px 0 20px; border:1px solid #dde9e9; border-radius:15px; padding:8px 20px; background:#fafaf9; line-height:1.3em; }
.blogpost div { margin-top:-10px; }
.blogpost label { display:block; margin:0.2em 0; }
.blogpost form div>textarea { width:100%; height:20em; margin:10px 5px 10px 0; }
.blogpost input[type="submit"] { font-size:0.9em; }

/* blog post formatting for both kinds of pages */
.entry { margin-bottom:60px; line-height:1.6em;}
.topich3 { margin-bottom:40px; font-size:1.3em; color:#356; }
.entryheader { font-size:0.9em; color:#555; line-height:120%; margin:0 0 20px; }
.entryheader a { text-decoration:none; }
.entry .continue { margin-top:10px; }
.entry .continue a { text-decoration:none; }
.entry .continue a:before { content: "\00BB \0020"; }
.entry .hcounter { display:inline-block; margin-left:-1px; margin-right:4px; }
.entry ul { list-style:disc; padding:0em 1em; }
.entry ol { padding:0 1.2em; }
.entry li { padding:0; margin:0.5em 0; }
.entry blockquote { margin:0.8em 1.8em; padding:0.8em; background-color:#fafaf9; border-left:2px solid #e0e0c0;  }
.entry blockquote p { margin:0.4em 0;}
.entry p { margin:1em 0 1em; }
.entry tt { font-family:Arial,Helvetica,sans-serif; font-size:16px; white-space:nowrap; color:#333; }
.entry .code { padding:10px; white-space:pre; font-size:10pt; font-family:'Courier New',monotype; color:#060; }
.entry ol, .entry ul { margin:0.1em 1em; }
.entry table { table-layout: fixed; border-collapse: collapse; margin:1em 2em; }
.entry th, .entry td { background-color:#fafaf9; border:1px solid #ccc; padding:0.2em 0.6em; text-align: center; font-weight:normal; }
.entry td { vertical-align:top; padding-right:4px; }
.entry th { background-color:#f0f0e9; }
.entry img { vertical-align:middle; }
.entry .fla { margin:10px -100px 10px 30px; }
.entry .fla table { border-spacing: 0; border-collapse: collapse; }
.entry .fla table td { border:1px solid #999; padding:1px 5px; border-collapse: collapse; }
.math-display { padding:1em 0 0.5em 2em; }
.entry .references { margin:2em 0; font-size:0.9em; }
.entry .references:before { content:"References"; font-weight:500; font-size:1.1em; }
.entry .references div { margin:0.5em 0; line-height:1.3em;}
.entry code { font-size:85%; color:#060; background-color:#f9f9f3; }
.entry .sourceblock { margin:0 -50px 0 0; font-size:15px; }
.entry .locallink { cursor:pointer; border-bottom:1px dashed #356; color:#356; }
.entry .example { display: flex; align-items: flex-start; margin: 30px 0 30px 20px; }
.entry .example+.example { margin-top:-20px; }
.entry .exlabel { display: inline-block; margin-right: 0.5em; }


@media print {
  body { font-size:0.9em; }
  form { display:none; visibility:hidden; }
}



