@charset "UTF-8";
:root {
  --colour-text: #242424;
}

html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  background-color: #f5f5f5;
  font: 400 100%/1.5rem "Vollkorn", "Times New Roman", serif;
  color: #242424;
  overflow-x: hidden;
  overflow-y: scroll;
}

*, *:before, *:after {
  box-sizing: inherit;
}

html, body, top {
  margin: 0;
  padding: 0;
  border: 0;
  min-height: 100vh;
}

.top {
  height: 1.5rem;
}

main article {
  margin: 0;
  padding: 0;
  border: 0;
  padding: 0 1.5rem;
  width: 100%;
}

hr {
  margin: calc(1.5rem + 0rem) 0;
  padding: 0;
  border: 0;
}

div.wrap {
  display: grid;
  grid-template-columns: 14rem auto;
  grid-template-rows: auto;
  padding: 0 1.5rem;
  max-width: 100vw;
}

body.collapse-nav nav.left {
  display: none;
}
body.collapse-nav div.wrap {
  grid-template-columns: 0 auto;
}

body.hide-menu .main-menu {
  opacity: 0;
}
body.hide-menu .main-menu:hover {
  opacity: 1;
}

span.clear {
  display: block;
  clear: both;
}

.hide {
  display: none;
}

div.content-wrap {
  grid-column: 2/3;
  grid-row: 1/2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

main {
  max-width: 100vw;
}
main article {
  display: block;
}
main article.columns {
  -webkit-columns: 300px 3;
  -moz-column-count: 300px 3;
  column-count: 300px 3;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  -ms-column-gap: 1rem;
  column-gap: 1rem;
}

span.email:before {
  content: attr(data-website) "@" attr(data-user);
  unicode-bidi: bidi-override;
  direction: rtl;
}

footer {
  padding: 0 1.5rem;
}

.fineprint {
  padding: 0 1.5rem;
  margin-top: 3rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-size: 13px;
  line-height: 1.2rem;
  color: #aaa;
}

.copy {
  cursor: pointer;
}

img {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: 100%;
  margin-bottom: 2rem;
}

::selection {
  background-color: #3297fd;
  text-shadow: none;
}

a, a:link, a:hover, a:active, a:visited {
  color: #242424;
  text-decoration: none;
}

hr {
  display: block;
  width: 100%;
  height: 0.5625rem;
  background-color: rgba(255, 255, 255, 0.6);
}

div.menu-toggle {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 100vh;
  background-color: transparent;
}
div.menu-toggle:hover {
  cursor: pointer;
  background-image: linear-gradient(-45deg, #242424 25%, transparent 25%, transparent 50%, #242424 50%, #242424 75%, transparent 75%, transparent);
  background-size: 4px 4px;
}

nav.left {
  position: fixed;
  grid-column: 1/2;
  grid-row: 1/2;
  width: 14rem;
  padding: 3rem 1.5rem 0 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
}
nav.left ol.toc, nav.left ol.menu {
  margin: 0;
  padding: 0;
  border: 0;
}
nav.left ol.toc li, nav.left ol.menu li {
  margin: 0;
  padding: 0;
  border: 0;
}
nav.left ol.toc li strong, nav.left ol.menu li strong {
  font-weight: 500;
}
nav.left ol.toc li a, nav.left ol.menu li a {
  text-decoration: none;
  color: inherit;
  text-decoration-color: inherit;
  display: block;
}
nav.left ol.toc li a.social, nav.left ol.menu li a.social {
  display: inline-block;
}
nav.left ol.toc li a:hover, nav.left ol.menu li a:hover {
  color: #242424;
}
nav.left ol.toc li a.here, nav.left ol.menu li a.here {
  color: #242424 !important;
}
nav.left ol.toc li a.here::after, nav.left ol.menu li a.here::after {
  content: " •";
}
nav.left ol.toc li::before, nav.left ol.menu li::before {
  display: none;
}
nav.left ol.main-menu li a:hover {
  text-decoration: underline;
}
nav.left ol.main-menu li a.home-button:hover {
  text-decoration: none;
}
nav.left ol.mute-by-default li a {
  color: #aaa;
}
nav.left.muted ol.mute-on-scroll li a {
  color: #aaa;
}
nav.left.muted ol.mute-on-scroll li a:hover {
  color: #242424;
  text-decoration: none;
}

.command-palette {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(245, 245, 245, 0.6);
  z-index: 1000;
}
.command-palette > div {
  width: 600px;
  max-width: calc(100vw - 3rem);
  margin: 20vh auto 0 auto;
  border: 2px solid #000;
  overflow: hidden;
  background-color: #fff;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
}
.command-palette > div input {
  width: 100%;
  padding: 1.5rem;
  border: none;
  outline: none;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-size: 1rem;
}
.command-palette > div .results {
  padding: 0 0.75rem 0.75rem 0.75rem;
  max-height: 50vh;
  overflow-y: auto;
}
.command-palette > div .results a {
  display: block;
  padding: 0.6rem 0.75rem;
  border-radius: 5px;
  line-height: 1.5rem;
}
.command-palette > div .results a.selected {
  background-color: #f5f5f5;
}
.command-palette > div .results a .title {
  margin-bottom: 0.25rem;
}
.command-palette > div .results a .authors {
  font-size: 0.8rem;
  line-height: 1rem;
}

.hidden, *[hidden] {
  display: none !important;
}

.muted {
  color: #cdcdcd;
}

.faded {
  color: #aaa;
}

.monospace {
  font-family: monospace;
}

div.index {
  display: grid;
  grid-template-columns: repeat(6, 0.1666666667fr);
  grid-template-rows: auto;
  grid-column-gap: 1.5rem;
  grid-row-gap: 3rem;
}
div.index section {
  padding: 0 1.5rem;
}
div.index section h1 {
  font-size: 1rem;
  font-weight: 500;
  padding: 0;
  margin-bottom: 1.5rem;
  color: #aaa;
}
div.index section h1 [role=subtitle] {
  display: block;
  font-style: normal;
  font-size: 0.9rem;
  font-weight: 400;
  margin-top: 0.5rem;
  text-transform: none;
}
div.index section p {
  margin: 0;
}
div.index section[data-role=updates] {
  grid-column: 1/7;
  border: 1px solid #fff;
  padding: 0.85rem 1.5rem 0.75rem 1.5rem;
}
div.index section[data-role=updates] h1, div.index section[data-role=updates] p {
  display: inline;
}
div.index section[data-role=updates] h1 {
  margin-right: 1.5rem;
}
div.index section[data-set=curated] {
  grid-column: 1/4;
}
div.index section[data-set=newest] {
  grid-column: 4/7;
}
div.index section[data-role=others] {
  grid-column: 1/7;
}
div.index section[data-role=collab] {
  grid-column: 1/4;
}
div.index section[data-set=reference] {
  grid-column: 4/7;
}
div.index section[data-set=all] {
  grid-column: 1/7;
}
div.index section[data-set=shortform] {
  grid-column: 1/7;
}
div.index section[data-set=bridging] {
  grid-column: 1/7;
}
div.index section[data-set=understanding-recommenders] {
  grid-column: 1/7;
}
div.index section[data-role=fineprint] {
  grid-column: 1/7;
}
div.index section[data-set=bridging] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 3rem;
}
div.index section[data-set=bridging] h1 {
  grid-column: 1/3;
}
div.index section[data-set=bridging] figcaption {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  text-align: center;
  margin-bottom: 1.5rem;
  padding: 0 3rem;
}
div.index section[data-set=bridging] figcaption strong {
  font-weight: 600;
}
div.index section.box[data-set=shortform] {
  overflow: hidden;
}
div.index section.box[data-set=shortform] > div {
  display: flex;
  overflow-x: scroll;
}
div.index section.box[data-set=shortform] > div::-webkit-scrollbar, div.index section.box[data-set=shortform] > div::-webkit-scrollbar-track, div.index section.box[data-set=shortform] > div::-webkit-scrollbar-thumb {
  display: none;
}
div.index section.box[data-set=shortform] > div > div {
  display: block;
  font-size: 0.8rem;
  line-height: 1.1rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  width: 250px;
  min-width: 250px;
  padding: 0 20px 0 0;
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
}
div.index section.box[data-set=shortform] > div > div a.date {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #777;
  font-style: normal;
  padding-bottom: 5px;
  display: block;
}
div.index section.box[data-set=shortform] > div > div p {
  margin: 0 0 10px 0;
}
div.index section .tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin: 1.5rem 0 0 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  border-top: 1px solid #f5f5f5;
  border-left: 1px solid #f5f5f5;
}
div.index section .tiles a {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  margin: -1px 0 0 -1px;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
div.index section .tiles a:hover {
  background-color: #fff;
}
div.index section .tiles a span {
  padding-left: 0.2rem;
  color: #cdcdcd;
  font-weight: 700;
}

.publication-list-container {
  container-name: publication-list;
  container-type: inline-size;
}

.publication-list {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  width: calc(100% + 1.5rem);
  display: grid;
  grid-template-columns: auto auto 1fr;
  grid-column-gap: 1rem;
}
.publication-list .group {
  grid-column: 1/4;
  display: grid;
  grid: subgrid;
  grid-template-columns: subgrid;
  margin-bottom: 3rem;
}
.publication-list .group .label {
  grid-column: 1/2;
}
.publication-list .group .item {
  grid-column: 2/4;
  display: grid;
  grid: subgrid;
  grid-template-columns: subgrid;
}

.label {
  padding: 0.75rem 1.5rem 0.75rem 0;
  font-weight: 500;
  color: #aaa;
}

.card {
  padding: 0.75rem 1.5rem 0.75rem 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
.card + .card {
  border-top: none;
}
.card .icon {
  width: 2rem;
  height: 1rem;
  justify-self: end;
  margin-top: 0.24rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right center;
  filter: grayscale(1);
}
.card .abbr {
  width: fit-content;
  justify-self: end;
  margin-top: 0.15rem;
  padding: 0 0.3rem;
  background-color: rgba(0, 0, 0, 0.0666666667);
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2rem;
}
.card .title {
  line-height: 1.5rem;
  margin-bottom: 0.25rem;
}
.card .authors {
  font-size: 0.9rem;
  line-height: 1.25rem;
  margin-bottom: 0.25rem;
  color: rgba(0, 0, 0, 0.5333333333);
  padding-left: 5px;
}
.card .venue {
  font-size: 0.9rem;
  line-height: 1.2rem;
  color: rgba(0, 0, 0, 0.5333333333);
  font-style: italic;
  padding-left: 5px;
}
.card:hover {
  background-color: #fff;
}
.card:hover .icon {
  filter: none;
}
@container publication-list (max-width: 600px) {
  .publication-list {
    grid-template-columns: auto 1fr;
  }
  .publication-list .group {
    grid-column: 1/3;
    grid-template-columns: subgrid;
  }
  .publication-list .group .label {
    grid-column: 1/3;
    margin-bottom: 1.5rem;
  }
  .publication-list .group .item {
    grid-column: 1/3;
  }
}
@container publication-list (max-width: 400px) {
  .publication-list {
    grid-template-columns: 1fr;
  }
  .publication-list .group {
    grid-column: 1/2;
    grid-template-columns: subgrid;
  }
  .publication-list .group .label {
    grid-column: 1/2;
  }
  .publication-list .group .item {
    grid-column: 1/2;
  }
  .card .icon, .card .abbr {
    display: none;
  }
}
@media (max-width: 1500px) {
  div.index section[data-set=curated] {
    grid-column: 1/4;
  }
  div.index section[data-set=newest] {
    grid-column: 4/7;
  }
  div.index section[data-role=collab] {
    grid-column: 1/4;
  }
  div.index section[data-set=reference] {
    grid-column: 4/7;
  }
  div.index section[data-set=bridging] {
    grid-column: 1/7;
  }
  div.index section[data-set=understanding-recommenders] {
    grid-column: 1/7;
  }
}
@media (max-width: 1300px) {
  div.index section[data-set=curated] {
    grid-column: 1/7;
  }
  div.index section[data-set=newest] {
    grid-column: 1/7;
  }
  div.index section[data-role=collab] {
    grid-column: 1/7;
  }
  div.index section[data-set=reference] {
    grid-column: 1/7;
  }
}
header {
  display: grid;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto;
  background-color: rgba(255, 255, 255, 0.6);
}
header.post {
  margin-bottom: 1.5rem;
}
header.post.has-cover-image {
  min-height: 600px;
}
header.index {
  display: grid;
  grid-template-columns: 600px 1fr;
  grid-template-rows: auto;
  margin: 1.5rem 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  font-family: "Vollkorn", "Times New Roman", serif;
}
header.index a.dp {
  grid-column: 2/3;
  grid-row: 1/2;
  justify-self: end;
  width: 240px;
  height: 240px;
  margin: 1.5rem;
  padding: 0.5rem;
  display: grid;
  align-items: end;
  background-image: url(/img/me.jpg);
  background-size: cover;
  background-position: center;
  background-origin: border-box;
  filter: grayscale(1);
  opacity: 0.9;
  border: 2px solid transparent;
  color: transparent;
}
header.index a.dp:hover {
  border: 2px solid black;
  color: rgba(255, 255, 255, 0.6);
}
header.index .content {
  box-sizing: border-box;
  grid-column: 1/2;
  grid-row: 1/2;
  width: 600px;
  max-width: 100%;
  padding: 1.5rem calc(1.5rem - 1px);
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
}
header.index .content strong {
  font-weight: 500;
}
header.index .content p {
  width: 600px;
  max-width: 100%;
  margin-bottom: 1rem;
  font-weight: 400;
}
header.index .content p:last-of-type {
  margin-bottom: 0;
}
header.index .content ul {
  width: 100%;
  max-width: 100%;
  margin: 0 0 1rem 0;
}
header.index .content ul li {
  margin: 0 0 0.25rem 0;
}
header.index .content ul .links {
  --text-link-color: #777;
  color: var(--text-link-color);
}
header.index .content ul .links::before {
  content: "(";
}
header.index .content ul .links::after {
  content: ")";
}
header.index .content ul .links a, header.index .content ul .links a:link, header.index .content ul .links a:active, header.index .content ul .links a:visited {
  --text-link-color: #777;
}
header.index .content ul .links a:hover {
  --text-link-color: blue;
}
header .part.cover-image {
  grid-column: 1/3;
  grid-row: 1/2;
  background-size: auto 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
}
header .part.title {
  grid-column: 1/2;
  grid-row: 1/2;
  font-weight: 400;
  padding: 1.5rem;
  align-self: end;
}
header .part.title span.subtitle {
  color: #777;
  font-style: italic;
}
header .part.title h1 {
  font-size: 1.5rem;
  font-weight: 400;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
}
header .part.properties {
  grid-column: 2/3;
  grid-row: 1/2;
  justify-self: end;
  align-self: start;
  height: 100%;
  border-left: 1px solid #f5f5f5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
}
header .part.properties div.field {
  margin: 0;
  padding: 0;
  border: 0;
  flex-grow: 0;
  display: block;
  height: 1.5rem;
}
header .part.properties div.field span.label {
  display: block;
  float: left;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #777;
  padding: 0.05rem 0 0 0;
  font-style: normal;
  line-height: 1.5rem;
  min-width: 70px;
}
header .part.properties div.field span.value {
  display: block;
  float: left;
  font-size: 0.8rem;
  padding: 0;
  font-family: monospace;
  line-height: 1.5rem;
}
header .part.properties div.field span.value.only {
  grid-column: 1/3;
}

span.help {
  text-decoration: underline;
  text-decoration-color: #f6f6f6;
  cursor: help;
}

div.notification {
  display: none;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  padding: 0.5rem 1.5rem;
  margin-top: -1.5rem;
  margin-bottom: 1.5rem;
}
div.notification.warning {
  background-color: #fedb4a;
}
div.notification.message {
  background-color: #d0edfb;
}

div.table {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  margin: 0 0 1.5rem 0;
  width: 100%;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
}
div.table.post {
  margin-bottom: 4rem;
}
div.table .th {
  display: grid;
  margin: 0;
  padding: 0;
  border: 0;
  grid-template-columns: calc(100% - 26rem) 20rem 6rem;
  grid-template-rows: auto;
  padding: 0.25rem 1.5rem;
  width: 100%;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  margin-bottom: -1px;
  position: sticky;
  top: 0;
  z-index: 99;
  background-color: #f5f5f5;
}
div.table .tr {
  display: grid;
  margin: 0;
  padding: 0;
  border: 0;
  grid-template-columns: calc(100% - 26rem) 20rem 6rem;
  grid-template-rows: auto;
  padding: 0.25rem 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  width: 100%;
  overflow: hidden;
}
div.table .tr:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
}
div.table .tr:hover {
  background-color: rgba(255, 255, 255, 0.6);
}
div.table .tr .td {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: 1.5rem;
}
div.table .tr .td.title {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-right: 1.5rem;
  font-weight: 400;
}
div.table .tr .td.date {
  grid-column: 2/3;
  grid-row: 1/2;
  font-family: monospace;
  font-size: 0.8rem;
}
div.table .tr .td.state {
  grid-column: 3/4;
  grid-row: 1/2;
  font-family: monospace;
  font-size: 0.8rem;
  text-align: right;
  text-transform: uppercase;
}

.muffle:hover {
  background-color: transparent !important;
}

span.updated {
  display: block;
  margin: 0 0 4rem 0;
  max-width: 600px;
}

span.status {
  display: block;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  margin: 0 0 4rem 0;
  max-width: 600px;
}

span.addendum {
  display: block;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  margin: 8rem 0 0 0;
  max-width: 600px;
}

blockquote {
  display: block;
  margin: 0 0 2rem 0;
  padding: 0 0 0 1.5rem;
  border: 0;
  max-width: 600px;
  border-left: 3rem solid rgba(255, 255, 255, 0.6);
}
blockquote p {
  margin: 0;
  padding: 0;
  border: 0;
  max-width: 100%;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}

figure.c-blockquote {
  display: block;
  box-sizing: border-box;
  margin: 0 0 2rem 0;
  border-left: 3rem solid #fff;
  padding-left: 1rem;
  max-width: 600px;
}
figure.c-blockquote blockquote {
  border: 0;
  padding: 0;
  margin: 0 0 0.5rem 0;
}
figure.c-blockquote blockquote p {
  margin-bottom: 0.5rem;
  font-weight: 300;
  /*font-family: Vollkorn, serif !important;*/
}
figure.c-blockquote figcaption {
  margin-bottom: 1rem;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  text-align: left;
}
figure.c-blockquote figcaption a {
  text-decoration: underline;
  text-decoration-color: #aaa;
}
figure.c-blockquote figcaption a:hover {
  background-color: #fff;
}
figure.c-blockquote figcaption::before {
  content: "— ";
}

ul {
  margin: 0 0 2rem 0;
  padding: 0;
  border: 0;
  list-style: none inside none;
  max-width: 600px;
}
ul > li {
  display: block;
  margin: 0 0 0.75rem 0;
  padding: 0 0 0 2rem;
  border: 0;
}
ul > li::before {
  display: inline-block;
  width: 2rem;
  content: "•";
  margin-left: -2rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
ul > li p {
  margin-top: -1.5rem;
}
ul > li blockquote {
  margin: 0 0 3rem 0;
  padding: 0 0 0 1.5rem;
  border: 0;
  border-left: 1rem solid rgba(255, 255, 255, 0.6);
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
ul > li blockquote em {
  font-weight: 300;
}

ol {
  margin: 0 0 2rem 0;
  padding: 0;
  border: 0;
  list-style: none inside none;
  max-width: 600px;
}
ol > li {
  display: block;
  margin: 0 0 0.75rem 0;
  padding: 0 0 0 2rem;
  border: 0;
  counter-increment: step-counter;
}
ol > li::before {
  display: inline-block;
  width: 2rem;
  content: counter(step-counter);
  margin-left: -2rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 700;
  font-style: italic;
}
ol > li p {
  margin-top: -1.5rem;
}
ol > li blockquote {
  margin: 0 0 3rem 0;
  padding: 0 0 0 1.5rem;
  border: 0;
  border-left: 1rem solid rgba(255, 255, 255, 0.6);
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
}
ol > li blockquote em {
  font-weight: 300;
}

div.tableholder {
  display: block;
  width: 600px;
  max-width: 100%;
  margin: 0 0 2rem 0;
  padding: 0;
  border: 0;
}

table {
  margin: 0 auto 2rem auto;
  padding: 0;
  border: 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  table-layout: fixed;
  text-align: center;
}
table tbody {
  margin: 0 auto 0 auto;
  padding: 0;
  border: 0;
}
table tbody tr {
  margin: 0 auto 0 auto;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
table tbody tr th {
  font-weight: 700;
  margin: 0;
  padding: 0 1.5rem 1rem 0;
  border: 0;
}
table tbody tr td {
  margin: 0;
  padding: 0 1.5rem 0.3rem 0;
  border: 0;
}

sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.4rem;
}

sub {
  top: 0.4rem;
}

div.footnotes {
  display: block;
  margin: 0 0 2rem 0;
  padding: 0.4rem 0.75rem;
  border: 0;
  background-color: rgba(255, 255, 255, 0.6);
  max-width: 600px;
}
div.footnotes hr {
  display: none;
}
div.footnotes ol {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none inside none;
  max-width: 600px;
}
div.footnotes ol li {
  display: block;
  margin: 0;
  padding: 0 0 0 1rem;
  border: 0;
  counter-increment: step-counter;
}
div.footnotes ol li::before {
  display: block;
  float: left;
  width: 1rem;
  content: counter(step-counter);
  margin-left: -1rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.75rem;
}
div.footnotes ol li p {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 0.75rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
div.footnotes ol li p a:hover {
  background-color: #f5f5f5 !important;
}

input.big {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  width: 100%;
  background-color: #f5f5f5;
  font-size: 3rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
input.big:focus {
  outline: none;
}

::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  color: #cdcdcd;
}

:root {
  --cv-left-width: 9rem;
  --cv-middle-width: .5fr;
}

.list-controls {
  width: 100%;
  position: sticky;
  top: 0;
}
.list-controls input.search {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-size: 1rem;
  background-color: rgba(255, 255, 255, 0.6);
}
.list-controls input.search:focus {
  outline: none;
}

.cv-controls {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  margin-left: 2rem;
  display: flex;
}
.cv-controls button {
  grid-column: 2/3;
  justify-self: start;
  align-items: center;
  border: 0;
  outline: 0;
  padding: 2px 10px;
  margin: 0 20px 0 0;
  background-color: transparent;
  font-size: 0.85rem;
  letter-spacing: 1px;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 600;
  cursor: pointer;
  display: block;
  text-transform: uppercase;
  text-align: left;
  color: #141414;
  border: 1px solid #999;
  border-radius: 5px;
}
.cv-controls button.selected {
  background-color: rgba(255, 255, 255, 0.6);
  color: #242424;
}
.cv-controls button:hover {
  border: 1px solid #141414;
  color: #141414;
}
div.h-resume {
  padding: 1.5rem;
}
div.h-resume.hide-education .all-education, div.h-resume.hide-teaching .all-teaching, div.h-resume.hide-employment .all-employment, div.h-resume.hide-service .all-service, div.h-resume.hide-awards .all-awards, div.h-resume.hide-publications .all-publications, div.h-resume.hide-talks .all-talks, div.h-resume.hide-symposia .all-symposia, div.h-resume.hide-memberships .all-memberships {
  display: none !important;
}
div.h-resume .cv-links {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  grid-auto-flow: column;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  font-size: 0.9rem;
  max-width: 100%;
  justify-items: start;
  margin: 0 0 2rem 0;
}
div.h-resume .cv-links a {
  display: grid;
  grid-template-columns: 30px auto;
  align-items: center;
  margin-right: 3rem;
}
div.h-resume .cv-links a:hover .cv-link-text {
  text-decoration: underline;
}
div.h-resume div.p-name {
  padding-left: calc(var(--cv-left-width) + 1.5rem);
  margin-bottom: 1.5rem;
}
div.h-resume div.p-name h1 {
  margin: 4.5rem 0 0 0;
}
div.h-resume p {
  max-width: 100%;
}
div.h-resume em {
  font-weight: inherit;
}
div.h-resume h2 {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  font-style: italic;
  padding-top: 4.5rem;
  margin: 0 0 1.5rem 0;
  padding-left: calc(var(--cv-left-width) + 1.5rem);
}
div.h-resume h2 + h3 {
  margin-top: 1.5rem;
}
div.h-resume h3 {
  font-size: 0.7rem;
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #777;
  text-decoration-color: #aaa;
  padding-top: 0;
  margin: 1.5rem 0 0.75rem 0;
  padding-left: calc(var(--cv-left-width) + 1.5rem);
  display: none;
}
div.h-resume h4 {
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  margin: 0;
  padding-top: 0;
}
div.h-resume h4.symposia,
div.h-resume h4 span.subtype {
  font-weight: 400;
}
div.h-resume h4 strong {
  font-weight: 600;
}
div.h-resume .award {
  font-weight: 300;
}
div.h-resume .award h4 {
  font-weight: 400;
}
div.h-resume .award h4.important {
  font-weight: 600;
}
div.h-resume .talk {
  font-weight: 400;
}
div.h-resume .talk h4 {
  font-weight: 600;
}
div.h-resume .talk p.links a {
  font-size: 0.9rem;
  font-weight: 300;
  text-decoration: none;
}
div.h-resume .talk p.links a:hover {
  background-color: transparent;
}
div.h-resume .talk p.links a:hover span {
  text-decoration: underline;
  text-decoration-color: #aaa;
}
div.h-resume .abbr {
  display: inline-block;
  font-weight: 600;
  font-style: normal;
}
div.h-resume .abbr::before {
  content: "(";
  font-weight: 400;
}
div.h-resume .abbr::after {
  content: ")";
  font-weight: 400;
}
div.h-resume .symposium {
  font-weight: 300;
}
div.h-resume .symposium h4 {
  margin-top: 0.5rem;
}
div.h-resume .symposium h4:first-of-type {
  margin-top: 0;
}
div.h-resume .symposium h4 {
  font-weight: 500;
}
div.h-resume .symposium .role {
  font-size: 0.9rem;
}
div.h-resume .symposium .role::before {
  content: ", ";
}
div.h-resume .symposium .role:last-of-type::before {
  content: " and ";
}
div.h-resume .symposium .role:last-of-type::after {
  content: ".";
}
div.h-resume .symposium .role:first-of-type {
  text-transform: capitalize;
}
div.h-resume .symposium .role:first-of-type::before {
  content: "";
}
div.h-resume h3.symposium {
  font-weight: 600;
  text-decoration: none;
}
div.h-resume .cv-grid {
  display: grid;
  grid-template-columns: var(--cv-left-width) var(--cv-middle-width) 0.5fr;
  grid-column-gap: 1.5rem;
}
div.h-resume .cv-grid .cv-left {
  grid-column: 1/2;
  text-align: right;
  font-family: monospace;
  font-weight: 400;
  font-size: 0.75rem;
}
div.h-resume .cv-grid .cv-middle {
  grid-column: 2/3;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
}
div.h-resume .cv-grid .cv-middle .indent {
  padding-left: 0.5rem;
}
div.h-resume .cv-grid .cv-middle .note {
  color: blue;
  font-weight: 400;
  font-size: 1rem;
}
div.h-resume .cv-grid .cv-middle table {
  margin: 0 0 0 0.5rem;
  text-align: left;
  border-collapse: collapse;
}
div.h-resume .cv-grid .cv-middle table tr {
  border: none;
}
div.h-resume .cv-grid .cv-middle table td {
  padding: 0;
  vertical-align: top;
  border: none;
  line-height: 1.5rem;
}
div.h-resume .cv-grid .cv-middle td.key {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #777;
  font-style: normal;
  line-height: 1rem;
  padding: 0.37rem 0.5rem 0 0;
  text-align: right;
  white-space: nowrap;
}
div.h-resume .cv-grid .cv-middle td.value {
  font-weight: 300;
  font-size: 0.9rem;
}
div.h-resume .cv-grid .cv-right {
  grid-column: 3/4;
  padding-top: 0.5rem;
  font-family: "Vollkorn", "Times New Roman", serif;
  font-weight: 300;
  max-width: 600px;
}
div.h-resume .cv-grid .cv-right > p {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  margin-bottom: 0.5rem;
}
div.h-resume .cv-grid .cv-right ul {
  list-style-type: circle !important;
  margin: 0;
}
div.h-resume .cv-grid .cv-right ul li {
  padding: 0 0 0 1rem;
  margin: 0 0 0.5rem 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
div.h-resume .cv-grid .cv-right ul li::before {
  display: inline-block;
  width: 1rem;
  content: "•";
  margin: 0 0 0 -1rem;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}
div.h-resume .cv-grid .cv-right ul li p {
  display: inline;
}
div.h-resume .cv-grid .cv-right ul li p.media {
  display: block;
  margin-top: 0.5rem;
}
div.h-resume .cv-grid .cv-right .cv-subject-toggle {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #777;
  font-style: normal;
  line-height: 1rem;
  cursor: pointer;
  margin: 0.5rem 0;
}
div.h-resume .cv-grid .cv-right .cv-subject-toggle:focus {
  outline: none;
}
div.h-resume .cv-grid .cv-right .cv-subject-toggle::after {
  content: " +";
}
div.h-resume .cv-grid .cv-right .cv-subject-toggle.open::after {
  content: " -";
}
div.h-resume .cv-grid .cv-right .cv-subjects {
  columns: 1;
}
div.h-resume .cv-grid .cv-right .cv-subjects p {
  margin: 0 0 0.3rem 0;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-size: 0.9rem;
  line-height: 1rem;
}
div.h-resume .cv-grid .cv-right p.media a {
  font-size: 0.9rem;
  font-style: italic;
  text-decoration: none;
}
div.h-resume .cv-grid .cv-right p.media a:hover {
  text-decoration: underline;
  text-decoration-color: #aaa;
  background-color: transparent;
}
div.h-resume .cv-grid .cv-middle-right {
  grid-column: 2/4;
}
div.h-resume .cv-list {
  max-width: 100%;
  margin-bottom: 0;
}
div.h-resume .cv-list li {
  padding: 0;
}
div.h-resume .cv-list li::before {
  display: none;
}
div.h-resume .cv-list li article {
  padding: 0;
}
div.h-resume .cv-list li p {
  margin: 0 0 0 0;
}
div.h-resume.group-publications .cv-list[data-section=publications] {
  display: flex;
  flex-direction: column;
}
div.h-resume.group-publications .cv-list[data-section=publications] h3 {
  display: block;
}

@media (max-width: 1300px) {
  div.h-resume .cv-grid {
    display: grid;
    grid-template-columns: var(--cv-left-width) 1fr;
    grid-column-gap: 1.5rem;
  }
  div.h-resume .cv-grid .cv-left {
    grid-column: 1/2;
    text-align: right;
  }
  div.h-resume .cv-grid .cv-middle {
    grid-column: 2/3;
  }
  div.h-resume .cv-grid .cv-right {
    grid-column: 2/3;
    padding-left: 0.5rem;
  }
  div.h-resume .cv-grid .cv-middle-right {
    grid-column: 2/3;
  }
}
@media (max-width: 1050px) {
  div.h-resume .cv-links {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto auto auto auto;
    grid-auto-flow: column;
    width: 100%;
  }
}
@media (max-width: 900px) {
  :root {
    --cv-left-width: 0;
  }
  div.h-resume .cv-grid {
    display: grid;
    grid-template-columns: auto;
    grid-column-gap: 0;
  }
  div.h-resume .cv-grid .cv-left {
    grid-column: 1/2;
    text-align: left;
  }
  div.h-resume .cv-grid .cv-middle {
    grid-column: 1/2;
  }
  div.h-resume .cv-grid .cv-right {
    grid-column: 1/2;
  }
  div.h-resume .cv-grid .cv-middle-right {
    grid-column: 1/2;
  }
}
a.book:not([href]) {
  cursor: default !important;
}

.cover {
  display: none;
  height: 10rem;
  width: auto;
  margin: 0 1.5rem 1.5rem 0;
  box-shadow: 0 0 1px black;
  transition: position 1s, box-shadow 0.2s;
}

.cover:hover {
  box-shadow: 0 0 10px black;
}

fieldset {
  margin: 0 0 0.75rem 0;
  padding: 0;
  border: 0;
}
fieldset.log {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
fieldset button {
  display: block;
  background: linear-gradient(#ffffff, #f2f2f2);
  font: 0.75rem "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  margin: 0;
  padding: 0.16rem 0.45rem 0.24rem 0.45rem;
  border: 1px solid #aaa;
  border-right: none;
  text-align: center;
  float: left;
}
fieldset button.log {
  display: inline-block;
  float: none;
}
fieldset button.active {
  background: linear-gradient(#f2f2f2, #fff);
  box-shadow: 0 0 6px #ccc inset;
  color: #000;
}
fieldset button:focus {
  outline: none;
}
fieldset button:first-of-type {
  border-radius: 3px 0 0 3px;
}
fieldset button:last-of-type {
  border-radius: 0 3px 3px 0;
  border-right: 1px solid #aaa;
}
fieldset button:only-of-type {
  border-radius: 3px;
  border-right: 1px solid #aaa;
}

main div.scroll {
  margin-top: -1.5rem;
}

div.container {
  margin-bottom: -1.5rem;
}

div.read {
  display: none;
  margin: 0 0 2rem 0;
  padding: 0 0.3rem;
  border: 0;
  width: 100%;
}
div.read:last-of-type {
  margin-bottom: 0;
}
div.read .tit {
  display: block;
  float: left;
  font-weight: 700;
  margin: 0 0 0 100px;
  max-width: 100%;
}
div.read .tit .sub {
  display: block;
  font-weight: 300;
  font-style: italic;
}
div.read .aut {
  display: block;
  font-variant: small-caps;
  text-align: right;
  font-weight: 300;
}
div.read .aut .dat {
  display: block;
  font-variant: normal;
}

div.read.prior {
  display: block;
}

.full-width {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
}

.sans {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}

.small {
  font-variant: small-caps;
  text-transform: lowercase;
}

p em, span em {
  font-weight: 300;
}

.fa-certificate {
  color: red;
}

span.commend {
  display: inline-block;
  width: 100px;
  margin-left: -100px;
}

.fa-redo-alt, .fa-clock {
  color: #cdcdcd;
}

span.reread {
  display: inline-block;
  width: 75px;
  margin-left: -75px;
}

span.skim {
  display: inline-block;
  width: 50px;
  margin-left: -50px;
}

h4.year {
  display: block;
  margin: 6.5rem 0 2rem 100px;
  padding: 1.5rem 0.3rem 0 0.3rem;
  border: 0;
  text-transform: uppercase;
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "IBM Plex Sans", "Helvetica", "Arial", sans-serif;
  margin: 0 0 1rem 0;
  clear: both;
}

h1, h4 {
  font-weight: 700;
}

h1 {
  font-size: 1.8rem;
}

h2 {
  font-size: 1.5rem;
  font-weight: 700;
}

h3 {
  font-size: 1.5rem;
  font-weight: 500;
  font-style: italic;
  padding-top: 1.5rem;
  margin-top: -1.5rem;
}

h4 {
  padding: 1.5rem 0 0 0;
  margin-top: -1.5rem;
  font-size: 1rem;
}

p {
  margin: 0 0 2rem 0;
  max-width: 600px;
}

article.full-width p {
  max-width: 100%;
}

p a, p a:link, p a:hover, p a:active, p a:visited, span a, span a:link, span a:hover, span a:active, span a:visited, dd a, dd a:link, dd a:hover, dd a:active, dd a:visited, ul a, ul a:link, ul a:hover, ul a:active, ul a:visited, ol a, ol a:link, ol a:hover, ol a:active, ol a:visited {
  text-decoration: underline;
  text-decoration-style: solid;
  --text-link-color: var(--colour-text);
  color: var(--text-link-color);
  text-decoration-color: color-mix(in srgb, var(--text-link-color) 25%, transparent);
}
p a.clean-link, p a:link.clean-link, p a:hover.clean-link, p a:active.clean-link, p a:visited.clean-link, span a.clean-link, span a:link.clean-link, span a:hover.clean-link, span a:active.clean-link, span a:visited.clean-link, dd a.clean-link, dd a:link.clean-link, dd a:hover.clean-link, dd a:active.clean-link, dd a:visited.clean-link, ul a.clean-link, ul a:link.clean-link, ul a:hover.clean-link, ul a:active.clean-link, ul a:visited.clean-link, ol a.clean-link, ol a:link.clean-link, ol a:hover.clean-link, ol a:active.clean-link, ol a:visited.clean-link {
  text-decoration: none;
}
p a:hover, span a:hover, dd a:hover, ul a:hover, ol a:hover {
  --text-link-color: blue;
}

sup a {
  border-bottom: none !important;
}
sup a:hover {
  background-color: transparent;
}

em {
  font-style: italic;
}

@media (max-width: 1600px) {
  #collapse-nav-suggestion {
    display: block;
  }
  body.collapse-nav #collapse-nav-suggestion {
    display: none;
  }
}
@media (max-width: 1300px) {
  div.table .tr {
    grid-template-columns: calc(100% - 22rem) 16rem 6rem;
  }
}
@media (max-width: 1200px) {
  #small-screen-warning {
    display: block;
  }
  header.index {
    display: block;
  }
  header.index a.dp {
    display: none;
  }
}
@media (max-width: 1000px) {
  div.table .tr {
    grid-template-columns: calc(100% - 14rem) 14rem;
    grid-template-rows: 1.5rem auto;
  }
  div.table .tr .td.title {
    grid-row: 1/3;
  }
  div.table .tr .td.date {
    grid-column: 2/3;
    grid-row: 1/2;
    text-align: right;
  }
  div.table .tr .td.state {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  header {
    grid-template-columns: auto;
    grid-template-rows: 1fr auto;
  }
  header.post.has-cover-image {
    min-height: 0;
  }
  header .part.cover-image {
    grid-column: 1/2;
    grid-row: 1/3;
    background-size: 100% auto;
  }
  header .part.title {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  header .part.properties {
    grid-column: 1/2;
    grid-row: 2/3;
    justify-self: start;
    width: 100%;
    border-left: 0;
    border-top: 1px solid #f5f5f5;
    padding: 1.5rem;
  }
}
@media (max-width: 900px) {
  .top {
    height: 1.5rem;
  }
  main article {
    margin: 0;
    padding: 0;
    border: 0;
    padding: 0 1.5rem;
    width: 100%;
  }
  hr {
    margin: calc(1.5rem + 0rem) 0;
    padding: 0;
    border: 0;
  }
  main div.scroll {
    margin-top: -1.5rem;
  }
}
@media (max-width: 800px) {
  #collapse-nav-suggestion {
    display: none;
  }
  div.menu-toggle {
    display: none;
  }
  div.wrap, body.collapse-nav div.wrap {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    padding: 0;
  }
  nav.left, body.collapse-nav nav.left {
    display: block;
    position: relative;
    width: 100%;
    padding: 1.5rem 1.5rem 0 1.5rem;
    margin-bottom: -1.5rem;
  }
  nav.left ol.menu li, body.collapse-nav nav.left ol.menu li {
    display: inline-block;
  }
  nav.left ol.menu li::before, body.collapse-nav nav.left ol.menu li::before {
    margin: 0;
    padding: 0;
    border: 0;
    width: auto;
    font-weight: 300;
    display: inline;
    content: " | ";
    font-style: normal;
    color: #aaa;
  }
  nav.left ol.menu li:first-of-type::before, body.collapse-nav nav.left ol.menu li:first-of-type::before {
    display: none;
  }
  nav.left ol.menu li a, body.collapse-nav nav.left ol.menu li a {
    display: inline;
  }
  div.content-wrap {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .hide-when-narrow, ol.toc {
    display: none;
  }
  header {
    margin: 1.5rem 0;
  }
  header.post {
    margin-bottom: 1.5rem;
  }
  header.index {
    border-width: 1px 0;
  }
  article {
    margin-top: 1.5rem;
  }
  div.read .tit {
    margin-left: 0;
  }
  div.read .aut {
    clear: both;
  }
  span.commend, span.reread, span.skim {
    width: auto;
    margin: 0 0.5rem 0 0;
  }
  h4.year {
    margin: 8rem 0 2rem 0;
  }
  div.container.reading-list {
    padding-left: 1.5rem;
  }
}
@media (max-width: 720px) {
  main article {
    width: 100%;
  }
  #muted {
    color: #242424;
  }
}
@media (max-width: 600px) {
  div.table .tr {
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
  }
  div.table .tr .td.title {
    grid-row: 1/2;
  }
  div.table .tr .td.date {
    grid-column: 1/2;
    grid-row: 2/3;
    text-align: right;
  }
  div.table .tr .td.state {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  dt {
    margin-bottom: 1rem;
  }
  dd {
    margin: 0 0 1rem 0;
  }
  dl:last-of-type dd:last-of-type {
    margin: 0 0 -1rem 0;
  }
  div.feed .aspect-ratio {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 55%;
    margin-bottom: 20px;
  }
  div.feed .aspect-ratio iframe {
    position: absolute;
    width: 100%;
    max-width: 100%;
    height: 100%;
    left: 0;
    top: 0;
  }
}
@media (max-width: 500px) {
  footer span.email:before {
    content: "sserdda liame ypoC";
  }
  footer {
    display: block;
  }
  footer section {
    display: block;
  }
  footer section:last-of-type {
    position: relative;
    top: 0;
  }
}
@media (max-width: 350px) {
  footer span.email:before {
    content: "liame ypoC";
  }
  nav.left {
    margin-bottom: -1.5rem;
  }
  nav.left ol.menu li {
    display: block;
  }
  nav.left ol.menu li::before {
    display: none;
  }
  nav.left ol.menu li a {
    display: block;
  }
}

/*# sourceMappingURL=main.css.map */
