@charset "UTF-8";

@font-face { font-display:swap; font-family:'PT Sans'; font-style:normal; font-weight:400; src:url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.woff2') format('woff2'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.woff') format('woff'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.ttf') format('truetype'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-regular.svg#PTSans') format('svg'); }
@font-face { font-display:swap; font-family:'PT Sans'; font-style:normal; font-weight:700; src:url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.woff2') format('woff2'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.woff') format('woff'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.ttf') format('truetype'), url('/assets/immutable/fonts/pt-sans-v17-latin_latin-ext-700.svg#PTSans') format('svg'); }

/* ======================== VARIABLES ======================== */

:root {

	/*colors */
  --color-bg-highlight:rgb(255,211,32); /* #ffd320 */
  --color-bg:rgb(255,255,255);
  --color-bg-light:#f7f7f7;
  --color-bg-breadcrumb:#ddd;
  --color-bg-card:#fff;
	--color-imagebg:#444;
  --color-text:rgb(51,51,51); /* #333 */
  --color-text-breadcrumb: #616161;
  --color-text-light:#717171;
  --color-text-linkhover:#000;
  --color-text-linkfocus:#000;
	--color-status-draft:#d16464;
	--color-status-unlisted:#7e9abf;
	--color-status-listed:#a7bd68;
	--color-linkunderline:var(--color-text-light);
	--color-divider: #ddd;
	--color-divider-dark: #aaa;

	/* font sizes */
  --font-size:1rem;
  --font-size-h1:2rem;
  --font-size-h2:1.6rem;
  --font-size-h3:1.2rem;
  --font-size-lead:var(--font-size-h3);
  --font-size-pre:.75rem;
  --font-size-caption:.8rem;
  --font-size-mini:.66rem;
  --font-size-micro:.55rem;

  /* to evaluate */
  --width-textcolumn: 464px;
  --maxwidth-contentpage: 1200px;
  --maxwidth-textcolumnplusmargin: calc(((100% - var(--width-textcolumn)) / 2) + var(--width-textcolumn));
  --maxwidth-textbodymargin: calc(((100% - var(--width-textcolumn)) / 2) - 2rem);

}
.s-invert {
  --color-text:#f7f7f7;
  --color-text-light:#9b9b9b;
  --color-text-linkhover:#fff;
  --color-bg:rgb(51,51,51);
}


/* ======================== RESET ======================== */

*, *::before, *::after { margin:0; padding:0; border:none; box-sizing:border-box; outline:none; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display:block; }
::-moz-selection { background-color:var(--color-bg-highlight); color:var(--color-black); }
::selection { background-color:var(--color-bg-highlight); color:var(--color-black); }
html { /* fallback for IE: */ background:#fff; color:#333; background:var(--color-bg); color:var(--color-text); overflow-y:scroll; position:relative; min-height:100%; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; -webkit-tap-highlight-color:var(--color-tap-highlight); }
ol, ul { list-style:none; }
[hidden] { display:none; }


/* ======================== DEFAULTS ======================== */

html { height:100%; }
body { min-height:100%; display:flex; flex-direction:column; background:var(--color-bg-light); }
html, html button, html input, html select, html textarea { font:normal 400 18px "PT Sans"; line-height:1.4; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, pre { font-size:inherit; line-height:inherit; font-weight:normal; }

/* links */
a { text-decoration:underline; color:inherit; text-decoration-color:var(--color-linkunderline); }
a:hover, a:focus { color:var(--color-text-linkhover); text-decoration-color:currentColor; }
a:focus { color:var(--color-text-linkfocus); background-color:var(--color-bg-highlight); }

/* icon for external links */
a[href].external:after,
a[href]:not(:where([href^="#"], [href^="mailto:"], [href^="/"]:not([href^="//"]), [href*="//sebastiangreger.net"], [href*="//staging.sebastiangreger.net"], [href*="//sgnet.test"])):after { background-position:top .1em right .1em; background-repeat:no-repeat; background-size:.6em .6em; padding-right:.9em; background-image:url("data:image/svg+xml,%3csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1408 928v320q0 119-84.5 203.5T1120 1536H288q-119 0-203.5-84.5T0 1248V416q0-119 84.5-203.5T288 128h704q14 0 23 9t9 23v64q0 14-9 23t-23 9H288q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113V928q0-14 9-23t23-9h64q14 0 23 9t9 23zm384-864v512q0 26-19 45t-45 19-45-19l-176-176-652 652q-10 10-23 10t-23-10L695 983q-10-10-10-23t10-23l652-652-176-176q-19-19-19-45t19-45 45-19h512q26 0 45 19t19 45z' fill='%23333'/%3e%3c/svg%3e"); content:''; }

/* details and anchor links */
a[href^="#"], details:not([open]) > summary { text-decoration:underline dashed; }
details > summary:focus { background:var(--color-bg-highlight); }

/* TODO: indicators for hreflang etc. */

/* a11y classes */
@media (prefers-reduced-motion: reduce) {
  *, *:after, *:before { animation: none !important; transition: none !important; }
}
.visuallyhidden { border:0; clip:rect(0 0 0 0); height:1px; margin:-1px !important; overflow:hidden; padding:0 !important; position:absolute; width:1px !important; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip:auto; height:auto; margin:0; overflow:visible; position:static; width:auto; }

/* headlines */
h1, .s-h1 { font-size:var(--font-size-h1); line-height:1.2; }
h2, .s-h2 { font-size:var(--font-size-h2); }
h3, .s-h3 { font-size:var(--font-size-h3); line-height:1.2; }
h4, h5, h6, .s-h4, .s-h5, .s-h6 { font-size:var(--font-size); line-height:1.25; }
	h1 .parent, h2 .parent, h3 .parent, h4 .parent, h5 .parent, h6 .parent,
	h1 .secondary, h2 .secondary, h3 .secondary, h4 .secondary, h5 .secondary, h6 .secondary { color:var(--color-text-light); }
	h1 .secondary, h2 .secondary, h3 .secondary, h4 .secondary, h5 .secondary, h6 .secondary { display:block; }
	h1 .separator, h2 .separator, h3 .separator, h4 .separator, h5 .separator, h6 .separator { color:var(--color-divider); }
.lead { font-size:var(--font-size-lead); margin-bottom:2rem; }

/* media, embeds */
svg.icon { width:1em; height:1em; fill:currentColor; }
figure { }
	img { font-size:var(--font-size-caption); line-height:1.2; color:var(--color-imagebg); display:block; max-width:100%; width:100%; height:auto; }
	img.icon { width:auto; height:auto; }
	figcaption { font-size:var(--font-size-caption); line-height:1.2; }

/* dividers */
hr { overflow:visible; padding:0; border:none; border-top:1px dashed var(--color-divider); color:var(--color-text); text-align:center; margin-top:2em; height:1.2em; }
hr.scissors::after { content:"\002702"; display:inline-block; position:relative; top:-0.75em; font-size:1.5em; color:var(--color-divider); background:var(--color-bg-light); }

/* expanders */
/* TODO: refactor this; direct copy from the old site */
.expander { cursor:pointer; }
h2.expander, h3.expander, .textbody h2.expander, .textbody h3.expander { padding:0; } /* overriding the lobotomized owl */
	.expander button { all:inherit; border:0; display:flex; justify-content:space-between; width:100%; padding:0.5em 0; }
		.expander button * { pointer-events:none; }
		.expander button:focus svg { background-color:var(--color-highlight); outline:6px solid var(--color-highlight); }
		.expander button svg { width:1rem; height:1rem; margin-left:0; margin-right:.5rem; margin-top:.6rem; }
		h3.expander button svg, .textbody h3.expander button svg { width:.8rem; height:.8rem; margin-left:0; margin-right:.5rem; margin-top:.3rem; }
		.expander button span { flex-grow:1; text-decoration:underline dashed; text-decoration-color:var(--color-text-light); margin-top:0; }
		.expander button:hover span { color:#000; text-decoration-color:var(--color-black); }
		.expander [aria-expanded="true"] .vert { display:none; }
			.expander [aria-expanded="true"] span { text-decoration:none; }
		.expander [aria-expanded] rect { fill:currentColor; }
		h3.expander, .textbody h3.expander { padding-left:1rem; }
		h3.expander ~ div, .textbody h3.expander ~ div { margin-left:2rem; }

/* a11ytabs*/
.a11ytabs {}
  .a11ytabs .tab-list { display:flex; }
    .a11ytabs .tab-list button { background:transparent; color:var(--color-text); margin-top:0; border:none; padding:.5rem 0; }
    .a11ytabs .tab-list button[aria-selected="true"] { font-weight:bold; background:var(--color-bg-breadcrumb); }
    .a11ytabs .tab-list button[aria-selected="false"] { text-decoration:underline dashed; }
  .a11ytabs [role="tabpanel"] { margin-top:0; }

/* blockquotes, code */
/* TODO: try out blockquote::before { content:open-quote; } ... + close-quote; lang attribute on blockquote */
blockquote { padding-left:1.2rem; margin-left:0; padding-right:0; position:relative; }
blockquote::before { content:open-quote; font-size:300%; line-height:1; float:left; margin-left:-1.2rem; }
blockquote::after { content:close-quote; right:0; bottom:0; font-size:1%; display:block; }
  blockquote p, blockquote ul, blockquote li { margin-right:1rem; padding-left:.5rem; }
code, pre { font-size:var(--font-size-pre); }

/* tag "pills" */
.tags { line-height:1.1; }
nav.tags { text-align:center; margin-bottom:1rem; }
	.tag { display:inline-block; text-decoration:none !important; padding:.1rem .25rem; text-decoration:none; text-transform:uppercase; font-size:var(--font-size-mini); background-color:var(--color-bg-light); border-radius:1rem; color:var(--color-text-light); }
	nav .tag { padding:.25rem .5rem; }
	.tag + .tag { margin-left:.25rem; }
	.tag[aria-current="page"] { font-weight:bold; background:var(--color-bg-breadcrumb); color:var(--color-text-breadcrumb); }

/* meta */
.meta { font-size:var(--font-size-mini); color:var(--color-text-light); display:flex; justify-content:space-between; }
	.meta .uuid { color:#ddd; }
	.meta .uuid:hover { color:var(--color-text-light); }

/* definitionlists */
dl { display:flex; font-size:var(--font-size-caption); flex-wrap:wrap; border-bottom:1px solid var(--color-divider-dark); }
	dt, dd { padding:.5rem; border:1px solid var(--color-divider-dark); border-bottom:none; flex-basis:75%; margin-top:0 !important; }
	dt { font-weight:bold; flex-basis:25%; border-right:none; }

/* === Textbody styles === */


/* === Accessible footnotes === */


/* === UI messages === */


/* icons */
.statusicon { width:.8em; height:.8em; margin-left:.1em; padding-bottom:.25em; }
.statusicon * { stroke:currentColor; fill:currentColor; stroke-width:.005em; }
.statusicon-draft * { stroke:#d16464; fill:#d16464; }
.statusicon-unlisted * { stroke:#7e9abf; fill:#7e9abf; }
.statusicon-listed * { stroke:#a7bd68; fill:#a7bd68; }

/* forms */
form { margin:1rem 0; }
/* input and labels */
input, textarea, input[type="submit"], button { font-size:1em; border:1px solid var(--color-text-light); padding:8px; resize:none; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; width:100%; }
input, textarea { background:var(--color-bg-light); }
textarea { height:6em; }
input:hover, textarea:hover { border-color:var(--color-text-linkfocus); }
input:focus, textarea:focus { background:var(--color-bg-card); border-color:var(--color-text-linkfocus); color:var(--color-text-linkfocus); }
label { display:block; margin-top:1rem; }
.checkbox { display:flex; gap:.5rem; }
.checkbox input { flex-basis:1rem; height:1rem; }
.checkbox label { margin-top:0; }
/* buttons */
input[type="submit"], button { font-size:1rem; margin-top:1rem; padding:4px; border-color:var(--color-text); background:var(--color-text); color:var(--color-bg-light); height:auto; }
input[type="submit"]:hover { background:var(--color-text-linkfocus); color:var(--color-bg); border-color:var(--color-text-linkfocus); }
input[type="submit"]:focus { background:var(--color-highlight); border-color:var(--color-text); color:var(--color-text-linkfocus); }
label.submit { display:block; float:left; padding:0 0 6px; font-style:italic; }
/* input fields */
input { width:100%; margin-top:5px; margin-bottom:5px; padding:2px 5px; }
input[name='author'], input[name='email'] { margin-right:5%; }
/* reset dropdowns */
.select-css { display:block; font-size:var(--font-size-caption); font-weight:normal; color:var(--color-imagebg); line-height:1.3; padding:.25rem 1.75rem .25rem .5rem; width:100%; max-width:100%; box-sizing:border-box; margin:0; border:1px solid var(--color-divider-dark); box-shadow:0 1px 0 1px rgba(255,255,255,1); border-radius:0; -moz-appearance:none; -webkit-appearance:none; appearance:none; background-color:var(--color-bg-light); background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, var(--color-bg-light) 0%,var(--color-bg-light) 100%); background-repeat:no-repeat, repeat; background-position:right .7em top 50%, 0 0; background-size:.65em auto, 100%; display:inline-block; width:100%; border:1px solid var(--color-text-light); }
.select-css::-ms-expand { display:none; }
.select-css:hover { border-color:#888; }
.select-css:focus { border-color:var(--color-text-linkfocus); box-shadow:0 0 1px 3px rgba(255, 255, 255, 1); box-shadow:0 0 0 3px -moz-mac-focusring; color:#000; outline:none; background-color:var(--color-bg-card); background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, var(--color-bg-card) 0%, var(--color-bg-card) 100%); }

/* pagination */
/* TODO: refactor; mostly a direct copy from the old CSS */
.pagination { margin:2em auto 0; max-width:600px; padding:1rem; }
.pagination:not(:last-child) { margin-top:0; margin-bottom:2rem; }
	.page-numbers, .page-prevnext { display:flex; }
	.page-numbers { list-style:none; font-size:var(--font-size-caption); justify-content:center; }
		.page-numbers li { flex-shrink:1; flex-grow:1; flex-basis:7rem; }
		.page-numbers li.ellipsis { flex-basis:3rem; }
			.page-numbers a, .page-numbers span { display:block; text-align:center; margin:.2rem; }
			.page-numbers li a, .page-numbers li span { background:white; padding:.5rem 0; text-decoration-color:var(--color-divider-dark); }
			.page-numbers li.ellipsis span { background:transparent; }
			.page-numbers li a:hover { background:var(--color-text-light); color:white; }
			.page-numbers li a:focus { background:var(--color-highlight); color:#000; }
			.page-numbers li span.current { background:var(--color-text); color:white; }


/* ======================== BLOCKS ======================== */

/* most blocks use standard margins */
.block { padding:2rem 1rem; max-width:var(--maxwidth-contentpage); margin-left:auto; margin-right:auto; }
.block-nomargin { padding:0; max-width:100%; }

/* default block uses the old layout */
.block-default { }
	.block-default-content, .block-default-content-wide, .block-default-content-narrow { }
	.block-default-content-narrow { max-width:100%; width:calc(var(--width-textcolumn) + 4rem); padding:2rem; margin-left:auto; margin-right:auto; }
		.block-default-content > * { max-width:var(--width-textcolumn); margin-left:auto; margin-right:auto; }
		.block-default-content > h1 { width:auto; max-width:unset; }

/* resource block has a sidebar */
.block-resource { display:flex; gap:2rem; justify-content:space-evenly; flex-wrap:wrap; }
	.block-resource-content { max-width:100%; flex-grow:1; flex-basis:60%; }
		.block-resource-content > * { max-width:var(--width-textcolumn); margin-left:auto; margin-right:auto; }
		.block-resource-content > h1, .block-resource-content > .lead { width:auto; max-width:unset; margin-bottom:2rem; }
		.block-resource-content .lastedited { font-size:var(--font-size-caption); color:var(--color-text-light); text-align:right; padding:1rem 0; }
	.block-resource-nav { flex-basis:310px; flex-grow:1; }
		.block-resource-nav .topicstree { max-width:100%; }

/* zettel block has a three-column design */
.block-zettel { display:flex; gap:2rem; }
	.block-zettel > * { width:20%; }
	.block-zettel-current { order:2; width:calc(var(--width-textcolumn) + 3rem); }
	.block-zettel-precursors { order:1; flex-grow:1; }
	.block-zettel-folgezettel { order:3; flex-grow:1; }
		.block-zettel-precursors h2,
		.block-zettel-folgezettel h2 { font-size:var(--font-size); }
@media only screen and (max-width: 850px) {
	.block-zettel { display:block; }
		.block-zettel > * { }
}

.topicstree { }
	.topicstree a { text-decoration-color:var(--color-linkunderline); }
	.topicstree .current > a { font-weight:bold; text-decoration:none; }
	.topicstree a.status-unlisted, .topicstree a.status-draft { color:var(--color-text-light); }
	.topicstree a.status-unlisted:hover, .topicstree a.status-draft:hover { color:var(--color-text); }
	.topicstree-topics { border-bottom:1px solid var(--color-divider); }
	.topicstree-topics > li { border-top:1px solid var(--color-divider); }
		.topicstree-topics > li > a { font-size:1rem; display:block; padding:.8rem 0 1rem; }
		.topicstree-topics > li.current > a, .topicstree-topics > li.open > a { padding-bottom:.25rem; }
		.topicstree-pages { padding-bottom:1rem; padding-top:.25rem; }
			.topicstree-pages li { display:inline; padding-bottom:.25rem; }
				.topicstree-pages li > a { margin-right:.5rem; font-size:var(--font-size-caption); line-height:1; }
				.topicstree-subpages { padding-left:.75rem; margin:.3rem 0 .3rem .5rem; border-left:1px solid var(--color-divider); }
					.topicstree-subpages li { }
						.topicstree-subpages li a { display:inline; margin-right:.5rem; font-size:var(--font-size-caption); line-height:1; }


/* ======================== CONTENT ======================== */

.text-private { color:var(--color-text-light); }

.text * + * { margin-top:1rem; }
.text .card *,
.text * + br,
.text * + input,
.text * + textarea,
.text * + select,
.text * + code { margin-top:0; }

.text > h2, .text > h3, .text > h4, .text > h5, .text > h6 { padding-top:1rem; }
.text a { text-decoration:underline; }
.text ul, .text ol { position:relative; vertical-align:baseline; }
.text ul { list-style:disc; }
.text ol { list-style:decimal; }
.text ul.nomargin, .text ol.nomargin { margin-bottom:1em; }
  .text li { padding-left:.5rem; margin-left:1.5rem; }
  .text ul.nomargin li, .text ol.nomargin li { margin-top:0; }
.text table { width:100%; border-collapse:collapse; }
  .text caption { font-size:.6rem; line-height:1.2; caption-side:top; text-align:left; }
  .text th { font-weight:bold; }
		/* TODO: check why this is right aligned with no padding in the first place? some legacy content? */
    .text td { text-align:right; border-bottom:1px solid #ccc; padding:.1rem 0; }
    .text .table-text td { text-align:left; padding-left:.5rem; vertical-align:top; }
    .text td:first-child { text-align:left; }
    .text .table-text td:first-child { padding-left:0; }
.text > pre[class*="language-"] { margin-top:1rem; } /* prism.js override */

.infobox { border:1px solid white; padding:1rem; }

/* special compact form, only used in search and pigeonpost forms */
.compactform { font-size:var(--font-size-caption); }
  .compactform div { display:flex; align-items:flex-end; }
  .compactform div.admin { justify-content:flex-start; }
    .compactform label { flex-grow:1; display:flex; align-items:center; padding-top:.3rem; flex-wrap:wrap; }
      .compactform label span { flex-basis:100%; }
    .compactform .admin label { flex-grow:0; margin-right:1rem; }
      .compactform .admin label span { flex-basis:unset; margin-top:0; padding-left:.5rem; }
    .compactform input,
    .compactform select { display:inline-block; margin:0; }
    .compactform label { margin-top:0; }
    .compactform input[type="checkbox"] { width:auto; }
    .compactform input[type="checkbox"]:focus { outline:var(--color-bg-highlight) auto 5px; }
    .compactform input[type="submit"] { font-size:var(--font-size-caption); width:auto; padding-top:5px; padding-left:1.5rem; padding-right:1.5rem; margin-left:.1rem; }
    #newslettersignup label:first-child { display:none; }


/* === Accessible footnotes === */

/* in text */
article { counter-reset:footnotes; }
.template-resource article, .template-resources article, .template-person article, .template-bookchapter article { flex-basis:70%; flex-grow:1; max-width:100%; width:0; }
a[aria-describedby="footnote-label"] { counter-increment:footnotes; text-decoration:none; color:inherit; cursor:default; outline:none; }
a[aria-describedby="footnote-label"]::after { content:counter(footnotes); font-weight:normal; vertical-align:super; font-size:0.6em; line-height:.6em; margin-left:2px; text-decoration:underline; cursor:pointer; }
a[aria-describedby="footnote-label"]:focus::after { outline:thin dotted; outline-offset:2px; }
a[aria-describedby="footnote-label"]:target { background:#fffec5; color:var(--color-text); }

/* content at bottom */
.footnotes :target { background:#fffec5; }
#footnote-label { font-size:var(--font-size-caption); margin:4em 0 .75em; }
.textbody .footnotes ol { list-style:none; counter-reset:footnotelist; margin-left:0; }
.textbody .footnotes li { counter-increment:footnotelist; padding-left:1.8em; font-size:var(--font-size-caption); margin:0 0 .5em; line-height:1.2em; }
.textbody .footnotes li:before { margin-right:10px; margin-left:-1.3em; content:counter(footnotelist); vertical-align:super; line-height:.6em; font-size:.8em; }
[aria-label="Back to content"] { margin-left:.5em; }

/* top margin for most standard templates */
main { padding:4rem 0; }
.template-home main { padding:0; }
.template-resource main, .template-resources main, .template-person main, .template-bookchapter main { width:100%; max-width:1200px; margin:0 auto; padding-left:2rem; padding-right:2rem; display:flex; flex-wrap:wrap; flex-direction:row-reverse; }
@media only screen and (max-width: 850px) {
  .template-resource main, .template-resources main, .template-person main, .template-bookchapter main { padding-left:0; padding-right:0; }
}
      .frontmatter { padding:0; margin:0 auto 4rem; max-width:var(--maxwidth-contentpage); position:relative; }
      .template-resource .frontmatter, .template-resources .frontmatter, .template-person .frontmatter, .template-bookchapter .frontmatter { display:flex; flex-direction:column; margin-bottom:2rem; }
      .template-blog .frontmatter { display:flex; flex-wrap:wrap; gap:2rem; }
      .frontmatter h1 { max-width:var(--maxwidth-textcolumnplusmargin); }
      .template-blog .frontmatter h1 { flex-basis:20rem; }
        .frontmatter h1 span.parent { color:var(--color-text-light); }
        .frontmatter h1 span.separator { color:var(--color-divider); }
      .frontmatter .statusicon { padding-bottom:.35em; }
      .template-post .frontmatter .statusicon-listed { display:none; }
      .frontmatter p { margin-top:1rem; }
      .template-blog .frontmatter p { flex-basis:20rem; flex-grow:1; margin-bottom:1rem; }
      .frontmatter .audience { font-size:var(--font-size-caption); color:var(--color-text-light); max-width:var(--maxwidth-textcolumnplusmargin); }
        .frontmatter .audience span { font-weight:bold; }
        .frontmatter .meta, .frontmatter .meta a { display:inherit; color:var(--color-text-light); text-decoration-color:var(--color-linkunderline); }
          .frontmatter .author { display:none; }
          .meta-uniqueid { font-size:var(--font-size-micro); color:#ddd; padding-right:1rem; }
          .meta-uniqueid:hover { color:var(--color-text-light); padding-right:1rem; }
          .frontmatter .meta-time { display:block; font-size:var(--font-size-caption); text-align:right; }

    /* blog post textbody */
    .textbody { padding:0; max-width:var(--maxwidth-contentpage); margin-left:auto; margin-right:auto; }
      .textbody > * { max-width:var(--width-textcolumn); margin-left:auto; margin-right:auto; }
      .template-bookchapter .textbody > * { margin-left:0; }
      .textbody > details.adminbox { max-width:unset; margin-left:unset; margin-right:unset; }
        .textbody > details.adminbox > div { max-width:var(--width-textcolumn); margin-left:auto; margin-right:auto; }
      .textbody > .lead, .frontmatter > .lead, body:not(.template-resources, .template-home) .textbody > h2:not(.h3) { width:auto; max-width:var(--maxwidth-textcolumnplusmargin); margin-left:0; }
      body.template-bookchapter .textbody > h2 { max-width:var(--width-textcolumn); }
      body:not(.template-resources, .template-home) .textbody > h2:not(.h3) { margin-bottom:2rem; }
      .template-resources .textbody > h2 { margin-top:2rem; margin-bottom:0; }
      .textbody > figure.wide,
      .textbody > table { max-width:100%; width:764px; }
      .template-resource .textbody hr, .template-resources .textbody hr { display:none; max-width:100%; margin:4rem 0 3rem; }
        .template-resource .textbody hr:first-of-type, .template-resources .textbody hr:first-of-type { display:block; }
      .textbody > pre[class*="language-"],
      .textbody > figure.medium { max-width:var(--maxwidth-textcolumnplusmargin); margin-right:0; margin-left:auto; }
      .textbody > figure.medium.left { margin-left:0; margin-right:auto; }
      @media only screen and (min-width: 1101px) {
        .textbody > figure.small { margin-top:0; float:right; max-width:var(--maxwidth-textbodymargin); }
        .textbody > figure.small.left { float:left; }
      }
      .textbody * + * { margin-top:1rem; }
      .textbody * + br,
			.textbody .card *,
      .textbody * + .statusicon,
      .textbody * + code { margin-top:0; }
      .textbody.f-image > * { max-width:100%; }

      /* feature: publication */
      .textbody > .publication { display:flex; padding:1rem; margin-top:1rem; margin-bottom:1rem; align-items:flex-start; background:var(--color-bg-light); font-size:var(--font-size-caption); }
      .textbody > .publication > * { flex-basis:40%; flex-grow:1; }
      .textbody > .publication > img { flex-grow:0; margin-right:5%; max-width:50%; }
          .textbody > .publication p { margin-top:0; margin-right:0; }
          .textbody > .publication .feature { font-weight:bold; margin-top:1rem; }
          .textbody > .publication .download { font-weight:bold; text-align:right; margin-top:1rem; }

      /* updatelog */
      .updatelog { font-size:var(--font-size-caption); }
        .updatelog summary { text-align:right; }
        .updatelog[open] summary { display:none; }
        .updatelog p { max-width:20rem; margin-left:auto; margin-right:0; text-indent:-1.5rem; padding-left:1.5rem; }

    /* inlays */
    .infoinlay { display:block; font-size:var(--font-size-caption); line-height:1.2; margin:1rem 0 1rem 2rem; padding:.5rem 0 0; text-decoration:none; border-top:1px solid; border-image:linear-gradient(to right, rgba(0,0,0,0.5) 25%, transparent 25% 100%) 100% 1; }
    @media only screen and (min-width: 400px) {
    .infoinlay { float:right; min-width:40%; width:var(--margin-infoinlay); margin-right:calc(-2rem - var(--margin-infoinlay)); }
    }
    /*.infoinlay.disclaimer { background:#fff9f9; }*/
      .infoinlay .title { display:block; margin-bottom:6px; font-weight:bold; }
        .infoinlay .title > span { display:block; margin-bottom:6px; font-weight:normal; }
      .infoinlay .more { display:block; margin-top:6px; text-align:right; }

    /* event meta info */
    .h-event { /* SebOS removed: margin:16px 0; */ border:1px dashed var(--color-text); padding:16px 32px; position:relative; }
      .h-event #upcoming { position:absolute; top:-5px; right:25px; background:#000; color:#fff; font-size:var(--font-size-caption); font-weight:bold; padding:2px 10px; }
      .h-event span { display:inline; }
      .h-event > .p-name { font-weight:bold; margin-right:100px; font-size:1.5rem; line-height:1.2em; }
      .h-event .date { text-align:left; margin-right:0; margin-left:0; padding-left:30px; background:url('../img/svg/clock-o.svg') 0 6px no-repeat; background-size:16px 16px; }
      .h-event .p-location { margin-right:0; padding-left:30px; background:url('../img/svg/map-marker.svg') 0 3px no-repeat; background-size:16px 16px; }
      .h-event .p-summary { font-style:italic; margin-right:0; padding-left:30px; background:url('../img/svg/exclamation-circle.svg') 0 3px no-repeat; background-size:16px 16px; }
      .h-event p.rsvp { margin-right:0; padding-left:30px; background:url('../img/svg/reply.svg') 0 3px no-repeat; background-size:16px 16px; }
      .h-event img { margin:16px 0; }

/* override for Prism.js a11y theme */
.textbody > pre[class*="language-"] { margin-top:1rem; }

/* privacy embeds plugin */
.privacyembed { font-size:var(--font-size-caption); line-height:1.4em; display:block; position:relative; width:100%; background:white; }
    .privacyembed .privacyembed_content_notrack { display:none; }
    .privacyembed .privacyembed_content_track { display:block; }
    .privacyembed.donottrack .privacyembed_content_notrack { display:block; }
    .privacyembed.donottrack .privacyembed_content_track { display:none; }
    .privacyembed img { display:block; width:100%; }
    .privacyembed_box { position:absolute; top:0; left:0; width:100%; height:100%; max-width:100%; max-height:100%; background:rgba(0,0,0,.75); color:white; display:block; text-align:center; }
        .privacyembed_note { padding:50px 50px 0; }
        .privacyembed_buttons { display:flex; margin:0 25px; }
            .privacyembed_buttons > a, .privacyembed_buttons > button { flex-basis:25%; flex-grow:1; margin:25px; padding:6px 6px 6px 21px; border:4px solid var(--color-text); line-height:1.2em; color:var(--color-bg-light); text-decoration:none; background:var(--color-text) url(../img/svg-white/play.svg) left 10px center no-repeat; background-size:1.1em; font-size:1em; }
            .donottrack .privacyembed_buttons > a, .donottrack .privacyembed_buttons > button { margin:25px 25%; }
            .privacyembed_buttons > a:nth-child(2), .privacyembed_buttons > button:nth-child(2) { background-image:url(../img/svg-white/external-link.svg); }
            .privacyembed_buttons > a:hover, .privacyembed_buttons > button:hover { color:#fff; text-decoration:none; }
            .privacyembed_buttons > a:focus, .privacyembed_buttons > button:focus { border-color:#fff; background-color:var(--color-text); }
            .privacyembed_buttons > a:after, .privacyembed_buttons > button:after { display:none; }
            .privacyembed_buttons > a.privacyembed_embedlink { cursor:pointer; }
            .privacyembed_buttons > a.privacyembed_externallink { display:block; }
        .privacyembed_policylink  { padding:0 50px; }
            .privacyembed_policylink a { color:white; }
@media only screen and (max-width: 1100px) and (min-width: 900px) {
.privacyembed { font-size:70%; line-height:1.1em; }
        .privacyembed_note { padding-top:25px; }
            .privacyembed_buttons > a, .privacyembed_buttons > button { margin-top:15px; margin-bottom:15px; }
}
@media only screen and (max-width: 800px) and (min-width: 560px) {
.privacyembed { font-size:70%; line-height:1em; }
        .privacyembed_note { padding-top:25px; }
            .privacyembed_buttons > a, .privacyembed_buttons > button { margin-top:15px; margin-bottom:15px; }
}
@media only screen and (max-width: 500px) {
.privacyembed { font-size:var(--font-size-mini); line-height:1.1em; }
        .privacyembed_note { padding-top:25px; }
            .privacyembed_buttons > a, .privacyembed_buttons > button { margin-top:10px; margin-bottom:10px; }
}

/* privacy promise page */
.content_privacypolicy { padding:1rem 0; }
    .content_privacypolicy h3 { padding-left:.8em; }
        .content_privacypolicy .backgrounder,
        .content_privacypolicy .datacollected,
        .content_privacypolicy .legalbasis { font-size:80%; line-height:1.4em; margin-bottom:16px; padding-left:30px; background:url(/assets/img/legacy/info-circle.svg) top 1px left no-repeat; background-size:1.2em; }
        .content_privacypolicy .content_privacy_topic > .backgrounder,
        .content_privacypolicy .content_privacy_topic > .datacollected,
        .content_privacypolicy .content_privacy_topic > .legalbasis { margin-left:32px; }
        .content_privacypolicy .datacollected { background-image:url(/assets/img/legacy/clipboard.svg); }
        .content_privacypolicy .legalbasis { background-image:url(/assets/img/legacy/gavel.svg); }
            .content_privacypolicy .datacollected:before { content:'Personal data processed: '; font-weight:bold; }
            .content_privacypolicy .legalbasis:before { content:'Legal basis: '; font-weight:bold; }
            .content_privacypolicy .backgrounder:before { content:'Background: '; font-weight:bold; }
        .textbody .content_privacypolicy ul { margin-bottom:1em; margin-left:0; list-style:none; }
            .textbody .content_privacypolicy li { margin:0; padding-left:22px; background:url(/assets/img/legacy/info-circle.svg) top 1px left no-repeat; background-size:1.2em; }
            .textbody .content_privacypolicy li.datacollected-name { background-image:url(/assets/img/legacy/user.svg); }
            .textbody .content_privacypolicy li.datacollected-email { background-image:url(/assets/img/legacy/envelope.svg); }
            .textbody .content_privacypolicy li.datacollected-photo { background-image:url(/assets/img/legacy/camera.svg); }
            .textbody .content_privacypolicy li.datacollected-ip { background-image:url(/assets/img/legacy/laptop.svg); }
            .textbody .content_privacypolicy li.datacollected-url { background-image:url(/assets/img/legacy/link.svg); }
            .textbody .content_privacypolicy li.datacollected-message { background-image:url(/assets/img/legacy/pencil.svg); }
            .textbody .content_privacypolicy li.datacollected-thirdparty { background-image:url(/assets/img/legacy/arrow-right.svg); }
            .textbody .content_privacypolicy li.datacollected-none { background-image:url(/assets/img/legacy/ban.svg); }
