/* Fonts */
body {
  font-size: 17px;
  line-height: 1.35;
  color: #333333;
  text-rendering: optimizeLegibility; }

/* Text layout */
html, button, input, select, textarea {
  font-family: "Carlito", Helvetica, Arial, sans-serif;
  font-weight: 400; }

p {
  margin: 0.8em 0; }

code, pre {
  font-family: "Inconsolata", Consolas, monospace, sans-serif;
  font-weight: 400;
  white-space: pre-wrap; }

b, strong, h1, h2, h3, h4 {
  font-weight: 600; }

h1, h2, h3, h4 {
  margin: 0.4em 0; }

h1, h2 {
  margin-top: 1.0em; }

h3 {
  margin-top: 0.8em; }

h1 {
  font-size: 160%; }

h2 {
  font-size: 130%; }

h3 {
  font-size: 117%; }

h4 {
  font-size: 104%;
  margin-bottom: 0; }

p.header-link {
  display: inline;
  font-size: 16px;
  font-weight: 400;
  margin-left: 1em; }

a {
  color: #0365C0;
  text-decoration: none; }

a:hover {
  color: #0A4C8B;
  text-decoration: none; }

/* section headers get a rule */
.sec {
  border-bottom: 1px solid #d3d3d3;
  margin-bottom: 0.2em; }

/* Icons (fontello.com) */
@font-face {
  font-family: 'icons';
  src: url("fonts/icons.woff2?20190614") format("woff2"), url("fonts/icons.woff?20190614") format("woff");
  font-display: fallback; }
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-mail:before {
  content: '\e800'; }

.icon-building:before {
  content: '\f0f7'; }

.icon-pdf:before {
  content: '\f1c1'; }

.icon-github:before {
  content: '\f09b'; }

.icon-globe:before {
  content: '\e801'; }

.icon-doc:before {
  content: '\f0f6'; }

/* Page content */
#content {
  padding: 1em;
  max-width: 48em;
  margin-left: auto;
  margin-right: auto; }

#content p {
  margin-top: 0; }

#content img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
  min-width: 250px; }

@supports (padding: max(0px)) {
  #content {
    padding-left: max(1em, env(safe-area-inset-left));
    padding-right: max(1em, env(safe-area-inset-right));
    padding-bottom: env(safe-area-inset-bottom); } }
.twitter-tweet {
  margin-left: auto;
  margin-right: auto; }

/* Header */
#header-container {
  border-bottom: 1px solid #435082; }

#header {
  padding: 1em 1em 0 1em;
  max-width: 48em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap-reverse; }

@supports (padding: max(0px)) {
  #header {
    padding-left: max(1em, env(safe-area-inset-left));
    padding-right: max(1em, env(safe-area-inset-right));
    padding-top: max(1em, env(safe-area-inset-bottom)); } }
#header a {
  text-decoration: none; }

#header .header-link {
  display: inline-block; }

#header .header-link-pad {
  margin-right: 1em; }

#header h1 {
  font-size: 175%;
  line-height: 1.0;
  margin: 0 0 0.3em 0; }

#header-img {
  display: inline-block;
  padding: 0;
  vertical-align: top;
  margin-right: 1em; }

#header-img img {
  max-height: 10em;
  height: auto;
  display: block; }

#header-content {
  display: inline-block;
  vertical-align: top;
  padding-bottom: 1em; }

.header-block {
  display: inline-block;
  margin-right: 1em; }

/* spacing only on homepage */
/* Blog post lists */
div.blog-post {
  padding-bottom: 0.8em; }

div.blog-post:last-of-type {
  padding-bottom: 0; }

div.blog-date {
  font-size: 80%;
  color: #666666;
  text-align: left;
  line-height: 1.2; }

.blog-desc-title {
  font-weight: 600; }

div.blog-desc {
  padding-left: 0; }

div.blog-posts {
  margin: 0.4em 0; }

div.blog-posts blockquote {
  margin: 0 0 0 40px;
  font-style: italic; }

div.blog-posts p {
  display: inline; }

.subscribe-link {
  margin-left: 1.5em;
  font-size: 16px;
  font-weight: 400; }

/* Paper lists */
ul.paper-list p {
  margin: 0; }

.paper-title {
  font-weight: 600; }

.paper-authors, .paper-venue, .paper-extra, .paper-links {
  font-size: 16px; }

.paper-meta {
  line-height: 1.2; }

ul.paper-list {
  padding: 0;
  margin: 0; }

ul.paper-list li {
  list-style: none;
  margin-bottom: 1em; }

ul.paper-links {
  padding: 0;
  margin: 0;
  font-size: 14px; }

ul.paper-links li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline; }

ul.paper-links li:after {
  content: ", "; }

ul.paper-links li:last-child:after {
  content: ""; }

/* Blog entries */
h2.blog-title {
  margin: 0;
  font-size: 145%; }

h3.blog-date {
  color: #666666;
  font-size: 17px;
  font-weight: 400;
  margin-top: 0 !important; }

blockquote, pre {
  margin: 0.7em 0 0.7em 40px;
  padding: 0 5px; }

blockquote {
  border-left: 5px solid #eee;
  color: #555; }

blockquote.blog-summary {
  border: 0;
  padding: 0;
  font-style: italic;
  color: #333; }

blockquote.callout {
  border: 1px solid #B2E6FF;
  margin: 0.8em 0;
  padding: 0.8em;
  padding-bottom: 0.6em;
  background-color: #D9F2FF;
  color: #333; }

blockquote.callout p {
  margin: 0; }

.highlight pre {
  background: #eeeeee; }

figure.highlight {
  margin: 0; }

p > code {
  background: #eeeeee;
  white-space: pre-wrap;
  line-height: 1.0; }

div.footnotes {
  border-top: 1px solid #999; }

.blog-vega {
  /* force plots to scroll without making the container wider */
  margin-left: auto;
  margin-right: auto; }

@media print {
  body {
    font-size: 16px; }

  h1 a {
    color: #333333; } }
/* CV */
body.cv, body.cv-2p {
  /* Header */
  /* Employment */
  /* Education */
  /* Papers */
  /* Awards */
  /* Teaching */
  /* Service */
  /* Presentations */ }
  body.cv #content, body.cv-2p #content {
    max-width: 38em; }
  body.cv h2, body.cv-2p h2 {
    border-bottom: 1px solid #d3d3d3; }
  body.cv ul, body.cv-2p ul {
    padding: 0;
    margin: 0; }
  body.cv li, body.cv-2p li {
    list-style: none; }
  body.cv section, body.cv-2p section {
    margin-bottom: 2em; }
  body.cv p#cv-pdf, body.cv-2p p#cv-pdf {
    font-size: 70%;
    color: #a3a3a3; }
  body.cv section#cv-head, body.cv-2p section#cv-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
  body.cv section#cv-head h1, body.cv-2p section#cv-head h1 {
    margin-top: 0;
    margin: 0; }
  body.cv section#cv-head div#cv-contact, body.cv-2p section#cv-head div#cv-contact {
    display: block;
    flex-grow: 1;
    text-align: right;
    font-size: 90%; }
  body.cv section#cv-head p, body.cv-2p section#cv-head p {
    margin: 0; }
  body.cv section#cv-employment li, body.cv-2p section#cv-employment li {
    margin-bottom: 1rem; }
  body.cv section#cv-employment li div, body.cv-2p section#cv-employment li div {
    display: flex; }
  body.cv section#cv-employment p, body.cv-2p section#cv-employment p {
    margin-bottom: 0; }
  body.cv section#cv-employment p.cv-employer,
  body.cv section#cv-employment p.cv-job, body.cv-2p section#cv-employment p.cv-employer,
  body.cv-2p section#cv-employment p.cv-job {
    flex: 1; }
  body.cv section#cv-employment p.cv-employer, body.cv-2p section#cv-employment p.cv-employer {
    font-weight: 600; }
  body.cv section#cv-education li, body.cv-2p section#cv-education li {
    margin-bottom: 1rem; }
  body.cv section#cv-education li div, body.cv-2p section#cv-education li div {
    display: flex; }
  body.cv section#cv-education p, body.cv-2p section#cv-education p {
    margin-bottom: 0; }
  body.cv section#cv-education p.cv-school,
  body.cv section#cv-education p.cv-degree, body.cv-2p section#cv-education p.cv-school,
  body.cv-2p section#cv-education p.cv-degree {
    flex: 1; }
  body.cv section#cv-education p.cv-school, body.cv-2p section#cv-education p.cv-school {
    font-weight: 600; }
  body.cv section#cv-education li ul, body.cv-2p section#cv-education li ul {
    padding-left: 1rem; }
  body.cv section#cv-education li ul li, body.cv-2p section#cv-education li ul li {
    list-style: disc;
    margin-bottom: 0; }
  body.cv .paper-title, body.cv-2p .paper-title {
    font-weight: 400;
    font-style: italic; }
  body.cv section#cv-awards li, body.cv-2p section#cv-awards li {
    margin-bottom: 0.3rem; }
  body.cv section#cv-awards li div, body.cv-2p section#cv-awards li div {
    display: flex; }
  body.cv section#cv-awards p, body.cv-2p section#cv-awards p {
    margin-bottom: 0; }
  body.cv section#cv-awards p.cv-award, body.cv-2p section#cv-awards p.cv-award {
    flex: 1; }
  body.cv section#cv-teaching li, body.cv-2p section#cv-teaching li {
    margin-bottom: 1rem; }
  body.cv section#cv-teaching li div, body.cv-2p section#cv-teaching li div {
    display: flex; }
  body.cv section#cv-teaching p, body.cv-2p section#cv-teaching p {
    margin-bottom: 0; }
  body.cv section#cv-teaching p.cv-course,
  body.cv section#cv-teaching p.cv-role, body.cv-2p section#cv-teaching p.cv-course,
  body.cv-2p section#cv-teaching p.cv-role {
    flex: 1; }
  body.cv section#cv-teaching p.cv-course, body.cv-2p section#cv-teaching p.cv-course {
    font-weight: 600; }
  body.cv section#cv-service li, body.cv-2p section#cv-service li {
    margin-bottom: 0.3rem; }
  body.cv section#cv-service li div, body.cv-2p section#cv-service li div {
    display: flex; }
  body.cv section#cv-service p, body.cv-2p section#cv-service p {
    margin-bottom: 0; }
  body.cv section#cv-service p.cv-what, body.cv-2p section#cv-service p.cv-what {
    flex: 1; }
  body.cv section#cv-presentations h3, body.cv-2p section#cv-presentations h3 {
    font-size: 100%;
    margin: 0;
    margin-bottom: 0.3rem;
    border-bottom: 1px dotted #d3d3d3;
    font-style: italic;
    font-weight: 400; }
  body.cv section#cv-presentations li.cv-talk, body.cv-2p section#cv-presentations li.cv-talk {
    margin-bottom: 1rem; }
  body.cv section#cv-presentations li.cv-event, body.cv-2p section#cv-presentations li.cv-event {
    margin-bottom: 0.3rem; }
  body.cv section#cv-presentations li div, body.cv-2p section#cv-presentations li div {
    display: flex; }
  body.cv section#cv-presentations p, body.cv-2p section#cv-presentations p {
    margin-bottom: 0; }
  body.cv section#cv-presentations p.cv-what, body.cv-2p section#cv-presentations p.cv-what {
    flex: 1; }

@media print {
  @page {
    margin: 0.4in; }
  body.cv, body.cv-2p {
    font-size: 14px;
    color: black;
    orphans: 2; }
    body.cv a, body.cv-2p a {
      color: black; }
    body.cv #content, body.cv-2p #content {
      max-width: none; }
    body.cv h1, body.cv h2, body.cv h3, body.cv-2p h1, body.cv-2p h2, body.cv-2p h3 {
      break-after: avoid; }
    body.cv p, body.cv-2p p {
      break-inside: avoid; }
    body.cv p#cv-pdf, body.cv-2p p#cv-pdf {
      display: none; } }
