@charset "UTF-8";
/* Simplify width and height calculations */

html {
	box-sizing: border-box;
}

:root {
	color-scheme: light dark;
	--light-background: white;
	--light-color: black;
	--dark-background: #151515;
	--dark-color: white;
}

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

body {
	color: light-dark(var(--light-color), var(--dark-color));
	background-color: light-dark(var(--light-background), var(--dark-background));
	font-family: "IBM Plex Mono", "Monaco", monospace, monospace;
	margin: 20px;
}

#wrapper {
	width: 100%;
	min-width: 5.5in;
	max-width: 11in;
	margin: 0px auto;
	border-width: 2px;
	border-style: solid;
	border-color: blue;
	border-radius: 10px;
	overflow: hidden;
	padding: 20px;
}

#menulink {
	display: none;
}

#navlinks {
	width: 100%;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
	background-color: #333;
	position: static;
}

#navlinks li {
	float: left;
	margin: 0em;
}

#navlinks li a {
	display: block;
	color: white;
	text-align: center;
	padding: 10px 15px;
	text-decoration: none;
	background-image: none;
	border-width: 2px;
	border-style: solid;
	border-color: transparent;
}

#navlinks li a:hover, #navlinks li a:focus {
	border-color: light-dark(mediumseagreen, greenyellow);
}

#navlinks li a:hover, #navlinks li a.thispage {
	background-color: blue;
}

#navlinks.condensed li a:hover, #navlinks.condensed li a.thispage {
	list-style-type: "> ";
}

.announcement {
	color: light-dark(darkorange, orange);
}

.banner {
	border-width: 2px;
	border-style: solid;
	border-color: light-dark(darkorange, orange);
	background-color: light-dark(whitesmoke, transparent);
	padding: 10px 15px;
}

.banner-old {
	border-width: 2px;
	border-style: solid;
	border-color: light-dark(var(--light-color), var(--dark-color));
	background-image: linear-gradient(to right, blue, green);
	padding: 10px 15px;
	color: white;
}

.paper {
	min-width: fit-content;
}

.paper .cover2, .paper .cover3 {
	width: 100%;
	margin: 20px 0px;
	display: grid;
	gap: 20px;
}

@media (min-width: 816px) {
	.paper .cover2 {
		grid-template-columns: 1fr 1fr;
	}

	.paper .cover3 {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.paper .cover2 > :nth-child(odd):last-child,
	.paper .cover3 > :nth-child(3n + 1):last-child {
		grid-column: 1 / -1;
	}

	.paper .cover3 > :nth-child(3n + 2):last-child {
		grid-column: 2 / -1;
	}
}

@media (max-width: 816px) {
	.paper .cover2, .paper .cover3 {
		grid-template-columns: 1fr 1fr;
	}

	.paper .cover2 > :nth-child(odd):last-child,
	.paper .cover3 > :nth-child(odd):last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 576px) {
	.paper .cover2, .paper .cover3 {
		grid-template-columns: 1fr;
	}
}

article.preview {
	border-width: 2px;
	border-style: solid;
	border-color: light-dark(var(--light-color), var(--dark-color));
	padding: 15px;
}

article.preview h3, article.preview h3 + h4 {
	margin-top: 0em;
}

article h4 {
	margin-bottom: 0.5em;
}

article.preview h4 + ul {
	margin-top: 0em;
}

article.preview ul {
	padding-left: 2ch;
}

article.preview li + li {
	margin-top: 0.5em;
}

article {
	max-width: 6.5in;
	margin: 0px auto;
}

article hgroup {
	margin-bottom: 1em;
}

article hgroup h2, article hgroup h3 {
	margin-bottom: 0.5em;
}

article hgroup h2 + p, article hgroup h3 + p, article hgroup p + p {
	margin-top: 0.5em;
}

.paper p {
	margin-top: 0em;
	margin-bottom: 0em;
	text-indent: 4ch;
}

.paper p:first-of-type,
.paper p.noindent,
.paper h2 + p, .paper h3 + p, .paper h4 + p,
.paper ul + p, .paper ol + p, .paper dl + p,
.paper hgroup p {
	text-indent: 0ch;
}

article.feature p:not(article :not(main) *, article main + *):first-of-type::first-letter {
	font-weight: bold;
	margin-inline-end: 0.1em;
	initial-letter: 2 1;
}

article.feature > :is(hgroup, h2, h3):first-of-type + p::first-letter,
article.intro p:first-of-type::first-letter,
article p.lede-large::first-letter {
	font-weight: bold;
	margin-inline-end: 0.1em;
	initial-letter: 2 1;
}

article.preview > :is(hgroup, h2, h3):first-of-type + p::first-letter {
	font-weight: bold;
	margin-inline-end: 0.1em;
	initial-letter: 3 1;
}

/* article.feature > :is(hgroup, h2, h3):first-of-type + p.lede-small::first-letter {
	font-weight: normal;
	margin-inline-end: 0em;
	initial-letter: normal;
} */

article.interview p {
	margin-top: 1em;
	text-indent: 0ch;
}

article.interview h3 {
	font-size: 1em;
}

hr {
	width: 100%;
	height: 2px;
	background-color: light-dark(var(--light-color), var(--dark-color));
	border-style: none;
}

hr.pagebreak {
	margin: 0.75in 0in;
}

h1.paper-title {
	text-align: center;
}

h2.paper-subtitle {
	text-align: center;
}

span.padded-right {
	padding-right: 0.25em;
}

a:hover, a:active, a:focus, a.thispage {
	color: light-dark(mediumseagreen, greenyellow);
}

ul {
	list-style-type: "- ";
}

ol {
	padding-inline-start: 4ch;
}

ol > ol {
	list-style-type: lower-alpha;
}

li + li, ul + li, ol + li {
	margin-top: 1em;
}

li + ol, li + ol > li {
	margin-top: 0.5em;
}

.condensed li + li {
	margin-top: 0em;
}

dt {
	font-weight: bold;
}

dd {
	margin-inline-start: 2ch;
}

dd + dt {
	margin-top: 1em;
}

em, .caps-lock {
	font-style: inherit;
	text-transform: uppercase;
}

blockquote {
	margin-left: 4ch;
	font-style: italic;
}

figure, .framed {
	margin: 1em 0ch;
	border-width: 2px;
	border-style: solid;
	border-color: light-dark(var(--light-color), var(--dark-color));
}

.framed {
	padding: 0.5em;
}

figure img {
	display: block;
}

figure img + figcaption {
	display: block;
	margin: 0.5em;
}

table {
	margin-top: 1em;
	border-width: 2px;
	border-style: none;
	border-color: light-dark(var(--light-color), var(--dark-color));
	border-collapse: collapse;
}

caption {
	caption-side: bottom;
	padding: 0.5em;
	text-align: left;
}

th, td {
	border-width: 2px;
	border-style: solid;
	border-color: light-dark(var(--light-color), var(--dark-color));
	padding: 0.25em 0.5em;
	vertical-align: top;
	text-align: left;
}

table.gallery {
	width: 100%;
	margin: 1em auto;
}

table.gallery td {
	text-align: center;
	padding: 0em;
}

table.gallery figure {
	display: inline-block;
	margin: 0ch;
	border-style: none;
}

table.archive th, table.archive td {
	border-style: none;
}

table.archive th, table.archive td:nth-child(2) {
	text-align: center;
}

table.crossword, table.nonogram,
table.sudoku4, table.sudoku6, table.sudoku9 {
	margin: 1em 0ch;
	border-collapse: collapse;
	text-align: center;
	background-color: light-dark(var(--light-background), var(--dark-background));
}

table.crossword td, table.nonogram td,
table.sudoku4 td, table.sudoku6 td, table.sudoku9 td,
table.colorable td {
	position: relative;
	width: 2em;
	height: 2em;
	border-width: 2px;
	font-size: x-large;
	vertical-align: middle;
	text-align: center;
}

table.nonogram td.sum {
	background-color: light-dark(#DDD, #333);
}

table.crossword td.unused, table.nonogram td.unused {
	background-color: light-dark(var(--light-color), var(--dark-color));
}

table.crossword td .number {
	position: absolute;
	font-size: small;
	top: 2px;
	left: 2px;
}

table.sudoku4 td:nth-child(even), table.sudoku6 td:nth-child(3n), table.sudoku9 td:nth-child(3n) {
	border-right-width: 4px;
}

table.sudoku4 td:nth-child(odd), table.sudoku6 td:nth-child(3n + 1), table.sudoku9 td:nth-child(3n + 1) {
	border-left-width: 4px;
}

table.sudoku4 tr:nth-child(odd) td, table.sudoku6 tr:nth-child(odd) td, table.sudoku9 tr:nth-child(3n + 1) td {
	border-top-width: 4px;
}

table.sudoku4 tr:nth-child(even) td, table.sudoku6 tr:nth-child(even) td, table.sudoku9 tr:nth-child(3n) td {
	border-bottom-width: 4px;
}

/* footer {
	text-align: center;
} */

/* Arial */
.arial-regular {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* IBM Plex Mono */
.ibm-plex-mono-thin {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 100;
	font-style: normal;
}

.ibm-plex-mono-extralight {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 200;
	font-style: normal;
}

.ibm-plex-mono-light {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 300;
	font-style: normal;
}

.ibm-plex-mono-regular {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 400;
	font-style: normal;
}

.ibm-plex-mono-medium {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 500;
	font-style: normal;
}

.ibm-plex-mono-semibold {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 600;
	font-style: normal;
}

.ibm-plex-mono-bold {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 700;
	font-style: normal;
}

.ibm-plex-mono-thin-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 100;
	font-style: italic;
}

.ibm-plex-mono-extralight-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 200;
	font-style: italic;
}

.ibm-plex-mono-light-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 300;
	font-style: italic;
}

.ibm-plex-mono-regular-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 400;
	font-style: italic;
}

.ibm-plex-mono-medium-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 500;
	font-style: italic;
}

.ibm-plex-mono-semibold-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 600;
	font-style: italic;
}

.ibm-plex-mono-bold-italic {
	font-family: "IBM Plex Mono", monospace, monospace;
	font-weight: 700;
	font-style: italic;
}

/* Sixtyfour */
.sixtyfour-regular {
	font-family: "Sixtyfour", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"BLED" 0,
		"SCAN" 0;
}

.sixtyfour-bold {
	font-family: "Sixtyfour", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-variation-settings:
		"BLED" 0,
		"SCAN" 0;
}

/* Silkscreen */
.silkscreen-regular {
	font-family: "Silkscreen", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.silkscreen-bold, table.techdumps th, dl.techdumps dt {
	font-family: "Silkscreen", sans-serif;
	font-weight: 700;
	font-style: normal;
}

/* Rock Salt */
.rock-salt-regular {
	font-family: "Rock Salt", cursive;
	font-weight: 400;
	font-style: normal;
}

/* Faster One */
.faster-one-regular {
	font-family: "Faster One", system-ui;
	font-weight: 400;
	font-style: normal;
}

/* Monoton */
.monoton-regular {
	font-family: "Monoton", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* Metal Mania */
.metal-mania-regular {
	font-family: "Metal Mania", system-ui;
	font-weight: 400;
	font-style: normal;
}

blockquote.metal-mania-regular {
	font-family: "Metal Mania", system-ui;
	font-weight: 400;
	font-style: normal;
	font-size: larger;
}

/* Rubik Distressed */
.rubik-distressed-regular {
	font-family: "Rubik Distressed", system-ui;
	font-weight: 400;
	font-style: normal;
}

/* Geologica */
.geologica-regular {
	font-family: "Geologica", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"slnt" 0,
		"CRSV" 0,
		"SHRP" 0;
}

/* Exo 2 */
.exo-2-regular {
	font-family: "Exo 2", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* Orbitron */
.orbitron-regular {
	font-family: "Orbitron", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* Montserrat */
.montserrat-regular {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* Roboto */
.roboto-regular {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}

/* Archivo Black */
.archivo-black-regular {
	font-family: "Archivo Black", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* Open Sans */
.open-sans-regular {
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}

/* Playfair Display */
.playfair-display-regular {
	font-family: "Playfair Display", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* EB Garamond */
.eb-garamond-regular {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/* Space Mono */
.space-mono-regular {
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-style: normal;
}

.space-mono-bold {
	font-family: "Space Mono", monospace;
	font-weight: 700;
	font-style: normal;
}

.space-mono-regular-italic {
	font-family: "Space Mono", monospace;
	font-weight: 400;
	font-style: italic;
}

.space-mono-bold-italic {
	font-family: "Space Mono", monospace;
	font-weight: 700;
	font-style: italic;
}

/*
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2
?family=Archivo+Black
&family=EB+Garamond:ital,wght@0,400..800;1,400..800
&family=Exo+2:ital,wght@0,100..900;1,100..900
&family=Faster+One
&family=Geologica:wght,CRSV@100..900,0
&family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700
&family=Metal+Mania
&family=Monoton
&family=Montserrat:ital,wght@0,100..900;1,100..900
&family=Open+Sans:ital,wght@0,300..800;1,300..800
&family=Orbitron:wght@400..900
&family=Playfair+Display:ital,wght@0,400..900;1,400..900
&family=Roboto:ital,wght@0,100..900;1,100..900
&family=Rock+Salt
&family=Rubik+Distressed
&family=Silkscreen:wght@400;700
&family=Sixtyfour
&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700
&display=swap" rel="stylesheet">
*/