/* Fonts */
body {
  font-size: 16px;
  line-height: 1.4;
  color: #333333;
  text-rendering: optimizeLegibility;
  display: flex; }

/* Text layout */
html, button, input, select, textarea {
  font-family: "Lato", 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.5em; }

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;
  padding-bottom: 0.2em; }

/* Icons */
@font-face {
  font-family: 'icons';
  src: url("fonts/icons.woff2?07192018") format("woff2"), url("fonts/icons.woff?07192018") format("woff"); }
[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'; }

/* Root flexbox */
#root {
  display: flex; }

.padding {
  flex-grow: 1; }

/* Main container */
#container {
  max-width: 48em;
  display: flex;
  flex-flow: row wrap;
  flex-grow: 1;
  flex-basis: 48em; }

/* Page header */
/* header */
#header {
  margin: 1em;
  margin-bottom: 0;
  padding: 0 0 0.83em 0;
  border-bottom: 1px solid #d3d3d3;
  flex: 1 100%;
  display: flex;
  flex-flow: row wrap; }

#header p {
  margin: 0; }

#header-text {
  padding: 0; }

#header h1 {
  line-height: 1.4;
  margin: 0; }

#header .header-cell {
  flex: 1 100%; }

@media screen and (min-width: 48em) {
  #header .header-cell {
    flex: 1 0; } }
/* Page content */
#content {
  padding: 1em;
  flex: 1 100%; }

#content p {
  margin-top: 0; }

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

/* Homepage */
/* Container */
.index #container {
  max-width: 64em;
  flex-basis: 64em; }

.index #left {
  background-color: #002546; }

/* Sidebar */
#sidebar {
  padding: 1em;
  background-color: #002546;
  color: #EDF4FA;
  flex: 1 100%; }

#sidebar a {
  color: #BEC5CC;
  text-decoration: none; }

#sidebar i {
  color: #CAD1D9; }

#sidebar a:hover {
  color: #CEE0F2;
  text-decoration: none; }

#sidebar h1 {
  line-height: 1.0;
  margin: 0 0 0.3em 0; }

#sidebar-img {
  max-width: 8em;
  display: inline-block;
  padding: 0;
  vertical-align: top;
  margin-right: 1em;
  margin-bottom: 1em; }

#sidebar-img img {
  max-width: 100%;
  height: auto;
  display: block; }

#sidebar-content {
  display: inline-block;
  vertical-align: top; }

#sidebar p {
  margin: 0; }

@media screen and (min-width: 48em) {
  #sidebar {
    flex: 1 0px;
    padding: 1.5em; }

  #sidebar-img {
    display: block;
    max-width: none;
    margin-right: 0; }

  #sidebar p {
    margin: 0.8em 0; } }
/* Content */
@media screen and (min-width: 48em) {
  .index #content {
    padding: 1.5em;
    flex: 3.1 0px; } }
/* 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: #777777;
  text-align: left;
  line-height: 1.2; }

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: 0.8em; }

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;
  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; }

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; } }
