/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
button {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1.5;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
button {
  background: none;
}

/* Loading Fonts */

@font-face {
    font-family: 'Open Sans';
    src: url('/assets/webfonts/OpenSans-Bold.woff2') format('woff2'),
        url('/assets/webfonts/OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/assets/webfonts/OpenSans.woff2') format('woff2'),
        url('/assets/webfonts/OpenSans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/assets/webfonts/OpenSans-BoldItalic.woff2') format('woff2'),
        url('/assets/webfonts/OpenSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/assets/webfonts/OpenSans-Italic.woff2') format('woff2'),
        url('/assets/webfonts/OpenSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* Actual CSS */

/* Core */

:root {
  --color-background: #F8F8F8;
  --color-background-font: #666;
  --color-headline-font: #444;
  --color-selected: #D9E7F7;
  --color-grayed-out-font: #666;
  --color-dark-grayed-out-font: #444;
  --color-link-font: rgb(6, 69, 173);
  --color-line: #DDD;
  --space-default: 5px;
}
html, body {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  height: 100%;
}
body {
  display: flex;
  flex-direction: column;
}
.content {
  max-width: 800px;
  padding: var(--space-default);
  width: 100%;
}
nav, main, footer {
  display: flex;
  justify-content: center;
}
main {
  flex-grow: 1;
  padding-bottom: calc(4 * var(--space-default));
}
nav, footer {
  background-color: var(--color-background);
  color: var(--color-background-font);
  padding: var(--space-default);
}
nav a, footer a {
  color: var(--color-background-font) !important;
}
nav a.selected, footer a.selected {
  text-decoration: underline;
}
nav .content {
  display: flex;
  justify-content: space-between;
}
nav .links a {
  margin-left: calc(4 * var(--space-default));
}
h1, h2, h3 {
  color: var(--color-headline-font);
  margin-bottom: calc(2 * var(--space-default));
  margin-top: calc(6 * var(--space-default));
  display: flex;
  justify-content: space-between;
}
h1 {
  font-size: 2rem;
}
h2 {
  font-size: 1.5rem;
}
h3 {
  font-size: 1.25rem;
}
p {
  margin-bottom: calc(2 * var(--space-default));
}
i {
  font-style: italic;
}
input {
  padding: var(--space-default);
}
a, .resources > button {
  background: none;
  border: none;
  color: var(--color-link-font) !important;
  cursor: pointer;
  padding: 0px;
  text-decoration: none;
}
a:hover, .resources > button:hover {
  text-decoration: underline;
}
[aria-hidden="true"] {
  display: none !important;
}

/* Breadcrumbs */

.breadcrumbs {
  font-size: 0.8rem;
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs li a {
  color: var(--color-headline-font) !important;
}

/* Footer */

footer .content {
  text-align: right;
}

/* Filter */

.filter {
  margin-bottom: calc(4 * var(--space-default));
}
.filter input {
  width: 95%;
  max-width: 35rem;
}

/* Table of Contents */

.table-of-contents {
  margin-bottom: calc(12 * var(--space-default));
}
.table-of-contents li {
  list-style: url("data:image/svg+xml;utf8,<svg  xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 10'> <polyline fill='none' stroke='%23000' stroke-width='1.03' points='16 7 10 13 4 7'></polyline></svg>") inside;
  display: inline list-item;
  margin-right: calc(2 * var(--space-default));
}

/* Foldable Sections */

details.section {
  border-left: 1px solid var(--color-line);
  padding-left: var(--space-default);
  margin-bottom: calc(6 * var(--space-default));
}
details.section > summary {
  list-style: none;
  cursor: pointer;
}
details.section > summary:hover > h2 {
  color: black;
}
details.section > summary > h2 {
  margin-top: 0;
  display: inline-block;
}
details.section > summary > h2::after {
  content: "►";
  padding-left: calc(2 * var(--space-default));
}
details.section[open] > summary > h2::after {
  content: "▼";
}

/* Entries */

.entries > li, .entry {
  display: flex;
  gap: calc(4 * var(--space-default));
  padding: calc(2 * var(--space-default));
}
.entries > li:target {
  background-color: var(--color-selected) !important;
}
.entry-image > img {
  width: 105px;
}
.entry-body > .years {
  margin-left: calc(2 * var(--space-default));
}
.entries .years {
  color: var(--color-grayed-out-font);
  white-space: nowrap;
}

.resources a::before, .resources button::before, .resources a::after, .resources button::after {
  color: black;
}
.resources a::before, .resources button::before {
  content: "[";
}
.resources a::after, .resources button::after {
  content: "]";
}

/* Icon buttons */

a.icon svg, button.icon svg {
  cursor: pointer;
  display: inline-block;
  fill: var(--color-dark-grayed-out-font);
  opacity: 0.5;
  vertical-align: middle;
  width: 2rem;
}
a.icon:hover, button.icon:hover {
  text-decoration: none;
}
a.icon:hover svg, button.icon:hover svg {
  opacity: 1.0;
}

/* Element action buttons */

.element-actions {
  position: absolute;
  top: var(--space-default);
  right: var(--space-default);
  background-color: inherit;
}
.element-actions button.icon svg {
  width: 1.5rem;
}

/* People CV */
.cv {
  margin-bottom: calc(6 * var(--space-default));
}

/* Publications */

.bibtex {
  background-color: var(--color-background);
  font-family: monospace, monospace;
  margin-top: var(--space-default);
  padding: var(--space-default);
  position: relative;
  white-space: preserve;
}

