/****************************************************************************
 * It's Eric Woodward (dotcom)
 *
 * Copyright 2015-2023 Eric Woodward
 * Source released under CC0 Public Domain License v1.0
 * https://www.itsericwoodward.com/licenses/cc0/
 * http://creativecommons.org/publicdomain/zero/1.
 ****************************************************************************/

:root {
	--color-bg: #040308;
	--color-bg-translucent: rgba(4, 3, 8, 0.9);
	--color-button-border: #726f6a;
	--color-grid: #04778f;
	--color-main: #9aa8bc;
	--color-header: #25baba;
	--color-header-translucent: rgba(37, 171, 171, 0.3);
	--color-link: #049c74;
	--color-link-translucent: rgba(4, 156, 116, 0.8);
	--color-menubar: #282c32;
	--color-other-dark: #0d1852;
	--color-other-dark-translucent: rgba(13, 24, 82, 0.5);
	--color-other-light: #04778f;
	--color-other-link: #1e6e58;
	--color-pre-text: #ddd;
	--color-wtf-update-footer: #423f4d; /* retired in favor of --color-menubar */
	--color-wtf-embargoed: #151222 /* retired in favor of --color-other-dark-translucent */
}

body {
	background: #040308;
	color: #9aa8bc;
	color: var(--color-main);
	font-family: "exo_2", sans-serif;
	font-size: 100%;
	line-height: 1.5em;
}

body.themeAdmiral {
	--color-bg: #3000FF;
	--color-bg-translucent: rgba(48, 0, 255, .8);
	--color-button-border: #ecfbff;
	--color-grid: #ecfbff;
	--color-header: #ecfbff;
	--color-header-translucent: rgba(236, 251, 255, .3);
	--color-link: #79BAEC;
	--color-link-translucent: rgba(236, 251, 255, .8);
	--color-main: #e6f4f1;
	--color-menubar: rgba(236, 251, 255, .1);
	--color-other-light: #ecfbff;
	--color-other-link: #79BAEC;
}

body.themeAntsy92 {
	--color-bg: #000;
	--color-bg-translucent: rgba(0, 0, 0, .7);
	--color-button-border: #0cc;
	--color-grid: #00c;
	--color-header: #c0c;
	--color-header-translucent: rgba(204, 0, 204, .3);
	--color-link: #0cc;
	--color-link-translucent: rgba(0, 204, 204, .8);
	--color-main: #fff;
	--color-menubar: rgba(204, 0, 0, .2);
	--color-other-light: #00c;
	--color-other-link: #0c0;

	background: var(--color-bg);
}

body.themeAntsy92 .menubar {
	background-color: var(--color-bg);
	border: 1px solid var(--color-grid);
	border-left: none;
	border-right: none;
}

body.themeBingo {
	--color-bg: #1C71C6;
	--color-bg-translucent: rgba(28, 113, 198, .9);
	--color-button-border: #ecfbff;
	--color-grid: #ecfbff;
	--color-header: #ecfbff;
	--color-header-translucent: rgba(236, 251, 255, .3);
	--color-link: #79BAEC;
	--color-link-translucent: rgba(236, 251, 255, .8);
	--color-main: #e6f4f1;
	--color-menubar: rgba(236, 251, 255, .1);
	--color-other-light: #ecfbff;
	--color-other-link: #79BAEC;
}

body.themeCyber77 {
	/* Based on https://github.com/endormi/vscode-2077-theme/ */
	--color-bg: #030d22;
	--color-bg-translucent: rgba(3, 13, 34, .8);
	--color-button-border: #c832ff;
	--color-grid: #e92778;
	--color-header: #39C0FF;
	--color-header-translucent: rgba(57, 192, 255, .3);
	--color-link: #ff2e97;
	--color-link-translucent: rgba(233, 29, 120, .8);
	--color-main: #e6f4f1;
	--color-menubar: rgba(236, 251, 255, .1);
	--color-other-light: #e92778;
	--color-other-link: #ff2cf1;
}

body.themeLightCyan {
	/* Based on a technique described at https://web.dev/articles/building/a-color-scheme */

	--brand: #049c74;
	--brand-hue: 164;
	--brand-saturation: 95%;
	--brand-lightness: 31%;

	--color-bg: hsl(var(--brand-hue), 25%, 90%);
	--color-bg-translucent: hsla(var(--brand-hue), 25%, 90%, .9);
	--color-button-border: hsl(var(--brand-hue), var(--brand-saturation), 25%);
	--color-grid: hsl(var(--brand-hue), var(--brand-saturation), 10%);
	--color-header: hsl(var(--brand-hue), var(--brand-saturation), 25%);
	--color-header-translucent: hsla(var(--brand-hue), var(--brand-saturation), 10%, .3);
	--color-link: hsl(var(--brand-hue), var(--brand-saturation), var(--brand-lightness));
	--color-link-translucent: hsla(var(--brand-hue), var(--brand-saturation), var(--brand-lightness), .8);
	--color-main: hsl(var(--brand-hue), var(--brand-saturation), 10%);
	--color-menubar: hsla(var(--brand-hue), 20%, 40%, .2);
	--color-other-link: #1e6e58;
	--color-other-light: hsl(var(--brand-hue), 30%, 30%);

	--color-shadow: hsla(var(--brand-hue), 10%, 20%, .3);
}

body.themeLightCyan .siteTitle-link {
	text-shadow: 0px 1px 1px var(--color-shadow);
}

body.themeLightCyan .siteTitle-link:hover {
	text-shadow: 0px 2px 2px var(--color-shadow);
}


body.themeTerminalGreen {
	--color-bg: #040308;
	--color-bg-translucent: rgba(3, 3, 3, .8);
	--color-button-border: #a3af9e;
	--color-grid: #009600;
	--color-header: #f0fdec;
	--color-header-translucent: rgba(0, 194, 167, .3);
	--color-link: #009600;
	--color-link-translucent: rgba(0, 150, 0, .8);
	--color-main: #dff8d5;
	--color-menubar: rgba(236, 236, 236, .1);
	--color-other-light: #009600;
	--color-other-link: #00964b;
}

body.themeVagabond {
	--color-bg: #2C0F2A;
	--color-bg-translucent: rgba(44, 15, 42, .8);
	--color-button-border: #ecfbff;
	--color-grid: #E94E5C;
	--color-header: #E94E5C;
	--color-header-translucent: rgba(233, 78, 92, .3);
	--color-link: #44FCFC;
	--color-link-translucent: rgba(68, 252, 252, .8);
	--color-main: #FADBB0;
	--color-menubar: rgba(236, 251, 255, .1);
	--color-other-light: #F6BC43;
	--color-other-link: #CC45B6;
}

body.themeVagabond .siteTitle-link:visited {
	color: var(--color-link);
}

body.themeVagabond .navMenu-list-link:visited {
	color: var(--color-link);
}

body.themeVagabond .navMenu-list-link.isCurrentSection {
	color:  var(--color-bg);
}

a {
	border: 1px solid transparent;
	border-bottom: 1px dashed #25baba;
	border-bottom-color: var(--color-header);
	color: #049c74;
	color: var(--color-link);
	font-weight: bold;
	padding: 0 0.2rem;
	text-decoration: none;
	transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
	-webkit-transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
}

a[target="_blank"]::after {
	content: " \29C9";
	font-weight: normal;
}

a:hover {
	background-color: #25baba;
	background-color: var(--color-header);
	border: 1px solid #25baba;
	border-color: var(--color-header);
	border-radius: 0.3rem;
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

a:hover:visited {
	color: #040308;
	color: var(--color-bg);
}

a:visited {
	color: #1e6e58;
	color: var(--color-other-link);
}

article img {
	max-width: 100%;
}

blockquote {
	border-left: 2px solid #04778f;
	border-left-color: var(--color-other-light);
	font-style: italic;
	margin: 1em 0;
	padding: 0 1em;
}

code,
kbd {
	background-color: #0d1852;
	background-color: rgba(13, 24, 82, 0.5);
	background-color: var(--color-other-dark-translucent);
	color: #ddd;
	color: var(--color-pre-text);
	font-size: 0.9em;
	padding: 0.25em;
}

figcaption {
	font-size: 0.9em;
}

figure {
	display: block;
	margin: 1em auto;
	text-align: center;
}

/* for figure images */

figure[data-type="image"] a {
  display: inline-block;
  padding: .5rem .5rem .3rem;
}

figure[data-type="image"] img {
	display: inline-block;
	margin: auto;
}

/* for figure images */
figure[data-type="video"] {
	margin-top: .5rem;
	padding: .5rem;
}

figure[data-type="video"] video {
	width: 100%;
}

h1 {
	color: #25baba;
	color: var(--color-header);
	font-size: 2em;
	line-height: 1.2em;
}

h2 {
	color: #25baba;
	color: var(--color-header);
	font-size: 1.5em;
	line-height: 1.2em;
}

h3 {
	color: #25baba;
	color: var(--color-header);
	font-size: 1.22em;
	line-height: 1.2em;
}

h4 {
	color: #25baba;
	color: var(--color-header);
	font-size: 1.12em;
	line-height: 1.2em;
}

h5 {
	color: #25baba;
	color: var(--color-header);
	font-size: 1.06em;
	line-height: 1.2em;
}

h6 {
	color: #25baba;
	color: var(--color-header);
	font-size: 1em;
}

iframe {
	max-width: 100%;
}

li {
	margin-bottom: 0.6em;
}

li ul {
	margin-top: 0.6em;
}

main {
	font-size: 0.95em;
}

main img {
	max-width: 100%;
}

ol,
ul {
	padding-left: 1.2em;
}

pre {
	background-color: #0d1852;
	background-color: rgba(13, 24, 82, 0.5);
	background-color: var(--color-other-dark-translucent);
	color: #ddd;
	color: var(--color-pre-text);
	font-size: 0.9em;
	overflow: auto;
	padding: 0.25em;
}

pre code,
pre kbd {
	background-color: transparent;
}

samp {
	font-size: 0.9em;
}

.actionBox {
	align-items: stretch;
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	margin: 2rem 0 1rem;
}

.actionBox-title {
	display: inline-block;
}

.actionBox.js-actionBox > .topLink {
	align-items: center;
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	max-width: 5rem;
	padding: 0.5em;
	text-align: center;
	width: auto;
}

.anaCardImg {
	height: auto;
	margin: 0;
	vertical-align: middle;
	width: 100%;
}

.anaCardLink {
	display: block;
	margin: 0 auto;
	max-width: 15em;
	padding: 0.5em;
}

.anaLink-billy {
	background: url("/images/anachronism/links/billy_the_kid.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-constitution {
	background: url("/images/anachronism/links/the_us_constitution.jpg")
		no-repeat center;
	background-size: cover;
}

.anaLink-dictator {
	background: url("/images/anachronism/links/the_dictator.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-earp {
	background: url("/images/anachronism/links/wyatt_earp.jpg") no-repeat center;
	background-size: cover;
}

.anaLink-grant {
	background: url("/images/anachronism/links/ulysses_s_grant.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-lee {
	background: url("/images/anachronism/links/robert_e_lee.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-lincoln {
	background: url("/images/anachronism/links/abraham_lincoln.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-stetson {
	background: url("/images/anachronism/links/stetson_hat.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLink-washington {
	background: url("/images/anachronism/links/george_washington.jpg") no-repeat
		center;
	background-size: cover;
}

.anaLogo {
	display: block;
	margin: 0 auto 1em;
	width: 100%;
}

.asideBio {
	line-height: 1.35em;
	padding: 0.5em;
	text-align: center;
}

.asideBio-div {
	display: none;
	margin: 0.5em auto;
	text-align: center;
}

.asideBio-div-img {
	max-width: 7.5em;
}

.asideBio-div-imgLink {
	border: 1px solid transparent;
	display: inline-block;
	padding: 0.5em 0.5em 0.3em;
	transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
	-webkit-transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
}

.asideBio-div-link {
	white-space: nowrap;
}

.asideBio-div-textLink {
	display: none;
}

.asideContent {
	border-top: 1px dotted #04778f;
	border-top-color: var(--color-other-light);
}

.asideMenu-divider {
	border: 1px dashed #25baba;
	border-color: var(--color-header);
	color: #25baba;
	color: var(--color-header);
	width: 80%;
}

.asideMenu-item {
	align-self: auto;
	display: inline-block;
	flex: none;
	margin: 0.5em;
}

.asideMenu-link {
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: inline-block;
	padding: 0.25em;
}

.asideMenu-list {
	align-content: center;
	align-items: center; /* or stretch */
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.asideMenu-subtitle {
	font-size: 1.1em;
	margin: 1.3em auto;
	text-align: center;
}

.asideMenu-subtitle-link {
	border: 1px solid transparent;
	display: inline-block;
}

.asideMenu-title {
	font-size: 1.3em;
	margin: 1.5em auto;
	text-align: center;
}

.asideMenu-title-link {
	border: 1px solid transparent;
	display: inline-block;
}

.asideRight {
	padding: 0 1em 1em;
}

.authorHidden {
	display: none;
}

.backLink {
	clear: both;
	font-size: 0.8em;
	margin: 1em auto;
	text-align: center;
}

.backLink-link {
	border: 1px solid #25baba;
	border-color: var(--color-header);
	color: #25baba;
	color: var(--color-header);
	display: inline-block;
	padding: 0.25em 0.5em;
}

.boxLink {
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: inline-block;
	padding: 0.25em;
}

.boxLink.isCurrent {
	background-color: #049c74;
	background-color: rgba(4, 156, 116, 0.8);
	background-color: var(--color-link-translucent);
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

.boxLink.isCurrent:hover {
	background-color: #25baba;
	background-color: var(--color-header);
}

.container {
	color: #ddd;
	color: var(--color-pre-text);
}  

.dataTable td {
	border-left: 1px solid #9aa8bc;
	border-left-color: var(--color-main);
	border-right: 1px solid #9aa8bc;
	border-right-color: var(--color-main);
	padding: 0.1em 0.2em;
	text-align: center;
}

.dataTable th {
	border: 1px solid #9aa8bc;
	border-color: var(--color-main);
	color: #25baba;
	color: var(--color-header);
	padding: 0.2em 0.4em;
	text-align: center;
}

.dataTable thead tr {
	background-color: #0d1852;
	background-color: var(--color-other-dark);
}

.dataTable tr {
	border-bottom: 1px solid transparent;
	border-top: 1px solid transparent;
}

.dataTable tbody tr:last-child {
	border-bottom: 1px solid #9aa8bc;
	border-bottom-color: var(--color-main);
}

.dataTable tbody:nth-child(even) tr:nth-child(even) {
	background-color: #0d1852;
	background-color: var(--color-other-dark);
}

.dataTable tr:hover td {
	border-bottom: 1px solid #25baba;
	border-bottom-color: var(--color-header);
	border-top: 1px solid #25baba;
	border-top-color: var(--color-header);
	color: #25baba;
	color: var(--color-header);
}

.dirList {
	padding: 0;
}

.dirList-item {
	display: inline-block;
	margin: 0.5em;
}

.dosboxScreen {
	margin: 1rem 0;
	width: 100%;
}

.dosboxScreen > div > div > .relative > .flex {
	background-color: #000;
	padding: .5rem;
}

.embed {
	display: block;
	margin: 1em auto;
	width: 30em;
	max-width: 100%;
}

.embedLink {
	padding: 0.2rem;
}

.embedImg {
	width: 100%;
}

.embedSwitch {
	margin-bottom: 1em;
	text-align: right;
}

.embedTwitter {
	width: 100%;
}

.embedVimeo {
	height: 15em;
	max-height: 50vw;
}

.embedYoutube {
	min-height: 21em;
	width: 100%;
}

.entry-content {
	display: block;
	min-height: 2.6em;
	padding-top: 0.2em;
}

.entry-reacji {
	cursor: default;
	float: left;
	font-size: 2.2em;
	margin-right: 0.2em;
	vertical-align: middle;
}

.entry-reply {
	display: block;
}

.feedLine {
	border-color: #25baba;
	border-color: rgba(37, 171, 171, 0.3);
	border-color: var(--color-header-translucent);
	clear: both;
	margin: 2.5em auto;
	width: 80%;
}

.feedLine:last-child {
	display: none;
}

.footnote {
	font-size: 0.8em;
}

.gameCardImg {
	border-radius: 1rem;
	max-width: 100%;
}

.gameCardImgLand {
	border-radius: 2rem;
	max-width: 100%;
}

.gridContainer::after {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	background-clip: content-box;
	-webkit-background-clip: content-box;
	background-position: center bottom;
	background-size: 20px 20px;
	background-color: var(--color-grid);
	background-image: url('/images/grid.svg');
	bottom: 0;
	contain: paint;
	content: "";
	display: block;
	height: 100vh;
	left: 0;
	mask-image: gradient(linear, left 90%, left top, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
	-webkit-mask-image: -webkit-gradient(linear, left 90%, left top, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
	outline: 1px solid transparent;
	padding: 1px;
	position: fixed;
	right: 0;
	transform: perspective(60vh) rotateX(20deg) scale(2,2) translateZ(0);
	transform-origin: bottom center;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	width: 100%;
	will-change: transform;
}

.gridContainer.js-isAnimated::after {
	animation: move-up 50s infinite;
	animation-timing-function: ease-out;
	animation-fill-mode: backwards; 
}

@keyframes move-up {
	0% { background-position: 0 0; }
	100% { background-position: 0 -50%; }
}

.heroImage {
	clear: both;
	display: block;
	margin: auto;
	max-width: 100%;
}

.icon {
	display: inline-block;
	font-size: 2em;
	font-style: normal;
	text-transform: none;
	vertical-align: middle;
}

.imgAttrib {
	font-size: 0.8em;
}

.js-momentTime {
	display: inline-block;
}

.licenseImg {
	vertical-align: middle;
}

.licenseLink {
	border: 1px solid transparent;
	border-bottom: 1px solid transparent;
	display: inline-block;
	vertical-align: baseline;
}

.linkButton {
	margin: 1em auto;
	text-align: center;
}

.linkButton-link {
	border: 1px solid #25baba;
	border-color: var(--color-header);
	color: #25baba;
	color: var(--color-header);
	display: inline-block;
	padding: 0.25em 0.5em;
}

.llmFun {
	visibility: hidden;
	position: fixed;
	left: -999em;
	max-height: 1px;
}

.magicDeck {
	display: grid;
	grid-template-columns: 1fr;
}

.magicDeck-content {
	grid-column: 1;
	grid-row: 1;
}

.magicDeck-images {
	align-items: center;
	align-self: top;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	grid-column: 1;
	grid-row: 2;
	justify-content: center;
}

.magicDeck-images-list {
	margin-top: -1em;
}

.magicDeck--saheeli .magicCard-img {
	border-radius: 1em;
}

.magicCard-img {
	border-radius:.75em;
	display: block;
	margin: 0 auto;
	max-width: 15em;
}

.magicCard-link {
	border: 1px dashed transparent;
	display: block;
	margin: 0 auto;
	max-width: 18em;
	padding: 0.5em;
}

.magnetLink {
	display: block;
	font-size: x-small;
	margin: auto;
	text-align: center;
}

.mainBio-div-img {
	height: auto;
	margin: 0;
	vertical-align: middle;
	width: 100%;
}

.mainBio-div-imgLink {
	border: 1px solid transparent;
	display: block;
	margin: 0 auto;
	max-width: 15em;
	padding: 0.5em;
	transition: 0.3s background-color, 0.3s color, 0.3s border-radius,
		0.3s border-width;
	-webkit-transition: 0.3s background-color, 0.3s color, 0.3s border-radius,
		0.3s border-width;
}

.mainBio-div-imgLink:hover {
	border-width: 3px;
}

.mainBio-div-textLink {
	display: none;
}

.menubar {
	background: #282c32;
	background-color: var(--color-menubar);
	display: static;
}

.navMenu {
	line-height: 2em;
	padding: 0 0 0.5em;
	text-align: center;
}

.navMenu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.navMenu-list-link {
	border: 1px solid transparent;
	text-decoration: none;
}

.navMenu-list-link:visited {
	color: #25baba;
	color: var(--color-header);
}

.navMenu-list-link.isCurrentSection {
	background-color: #049c74;
	background-color: var(--color-link);
	border: 1px solid #25baba;
	border-color: var(--color-header);
	border-radius: 0.3rem;
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

.navMenu-list-link.isCurrentSection:hover {
	background-color: #25baba;
	background-color: var(--color-header);
}

.navMenu-list-item {
	display: inline-block;
	line-height: 2em;
	margin: 0 0.25em;
	text-align: center;
}

.navMenu-search-fieldset {
	border: none;
	font-size: 0.8em;
	padding: 0;
}

.page {
	background: #040308;
	background: rgba(4, 3, 8, 0.9);
	background: var(--color-bg-translucent);
	border: 1px solid #9aa8bc;
	border-color: var(--color-main);
	border-top: none;
	border-bottom: none;
	display: block;
	margin: 0 auto;
	max-width: 40em;
	min-height: 100vh;
	padding: 0;
	position: relative;
	z-index: 1;
}

.pageFooter {
	border-top: 1px solid #04778f;
	border-top-color: var(--color-other-light);
	margin: 0 auto;
	padding: 0.5em 1em;
	width: 100%;
}

.pageFooter a {
	text-decoration: none;
}

.pageFooter-inner {
	font-size: 0.8em;
	text-align: center;
	width: 100%;
}

.pageFooter-inner p {
	text-align: left;
}

.pageHeader {
	width: 100%;
}

.pageHeader-titleBlock {
	width: 100%;
}

.pageMain {
	min-height: 28em;
	padding: 1em;
}

.pageMenu {
	clear: both;
	margin: 0 auto 2.5em;
	max-width: 25em;
	padding: 0px;
	text-align: center;
}

.pageMenu-anaCardLink {
	border: 1px solid transparent;
	display: inline-block;
	margin: 0 auto;
	padding: 0.5em;
}

.pageMenu-anaCards {
	align-items: center;
	display: flex;
	flex-direction: column;
	max-width: 100%;
}

.pageMenu-caption {
	bottom: 0.5em;
	left: 0;
	position: absolute;
	right: 0;
}
.pageMenu-gameCards {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pageMenu-gameCardLink {
	border: 1px solid transparent;
	display: flex;
	margin: 0 auto;
	max-width: 24em;
	padding: 0.5em;
}

.pageMenu-item {
	align-items: center;
	border: 2px solid transparent;
	border-radius: 0.3rem;
	display: flex;
	justify-content: center;
	margin-left: 0;
	max-width: 340px;
	text-align: center;
	text-decoration: none;
	transition: 0.3s background-color, 0.3s border-color, 0.3s color;
	-webkit-transition: 0.3s background-color, 0.3s border-color, 0.3s color;
}

.pageMenu-item:hover {
	border-color: #25baba;
	border-color: var(--color-header);
}

.pageMenu-link {
	display: block;
	height: 6.8em;
	position: relative;
	width: 6.8em;
}

.pageMenu-link:hover .pageMenu-text {
	background-color: #25baba;
	background-color: rgba(150, 150, 150, 0.8);
	background-color: var(--color-header-translucent);
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
	width: 100%;
}

.pageMenu-text {
	background: rgba(50, 50, 50, 0.8);
	display: inline-block;
	margin: 0 auto;
	transition: 0.3s background-color, 0.3s color;
	-webkit-transition: 0.3s background-color, 0.3s color;
	width: 100%;
}

.pageSection {
	word-wrap: break-word;
}

.postsByYear {
	clear: both;
	display: block;
	float: right;
}

.postsByYear {
	clear: both;
	font-size: 0.8em;
	margin: 1em auto;
	text-align: center;
}

.postsByYear-list {
	display: inline;
	margin: 0;
	max-width: 25em;
	padding: 0px;
}

.postsByYear-list li {
	border-radius: 0.3rem;
}

.postMenu {
	max-height: 0;
	overflow: hidden;
}
.postMenu-item {
	align-self: auto;
	display: inline-block;
	flex: none;
	margin: 0.5em;
}

.postMenu-link {
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: inline-block;
	padding: 0.25em;
}

.postMenu-list {
	align-content: center;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.postMenu-title {
	font-size: 1.3em;
	margin: 1.5em auto;
	text-align: center;
}

.postMenu-title-link {
	border: 1px solid transparent;
	display: inline-block;
}

.pubDate {
	font-size: 0.9em;
	visibility: hidden;
}

.raceTable-name {
	font-weight: bold;
	text-align: left;
}

.readTime {
	font-size: 0.9em;
	font-style: italic;
	text-align: right;
	text-transform: capitalize;
}

.replyTo {
	margin: 0 1.25em;
}

.replyTo-arrow {
	font-size: 1.75em;
}

.scrollToggle {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.searchBox-query {
	background: #040308;
	background: rgba(4, 3, 8, 0.9);
	background: var(--color-bg-translucent);
	border-radius: 0.3rem;
	color: #ddd;
	color: var(--color-pre-text);
	width: 10em;
}

.siteTitle {
	text-align: center;
	width: 100%;
}

.siteTitle-link {
	border: 1px solid transparent;
	border-radius: 1rem;
	color: #25baba;
	color: var(--color-header);
	display: inline-block;
	font-style: normal;
	padding: 0.2em;
	position: relative;
	text-decoration: none;
	text-shadow: 0px 2px 2px rgba(16, 16, 16, 0.6);
	transition: 0.3s border-color, 0.3s color, 0.3s text-shadow,
		0.3s border-radius;
	-webkit-transition: 0.3s border-color, 0.3s color, 0.3s text-shadow,
		0.3s border-radius;
}

.siteTitle-link:visited {
	color: #25baba;
	color: var(--color-header);
}

.tagPage-counts {
	font-size: 0.9em;
	font-style: italic;
}

.tagPage-list {
	padding-left: 0;
}

.tagPage-listItem {
	display: inline;
	list-style: none;
	padding: 0.3em 0.5em;
}

.teaseLink {
	clear: both;
	font-size: 0.8em;
	margin: 1em auto;
	text-align: center;
}

.teaseLink-link {
	color: #25baba;
	color: var(--color-header);
	display: inline-block;
	padding: 0.25em 0.5em;
}

.themeSwitch select {
	background-color: transparent;
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	color: #049c74;
	color: var(--color-link);
}

.titleLink {
	border-bottom: none;
}

.titleLink:active,
.titleLink:hover {
	border: 1px solid #25baba;
	border-color: var(--color-header);
}

.toggleBox {
	align-items: center;
	display: flex;
	justify-content: end;
}

.toggleSwitch {
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
}

.toggleSwitch-checkbox {
	display: none;
}

.toggleSwitch-checkbox::selection,
.toggleSwitch-checkbox::-moz-selection,
.toggleSwitch-checkbox:after::selection,
.toggleSwitch-checkbox:after::-moz-selection,
.toggleSwitch-checkbox:before::selection,
.toggleSwitch-checkbox:before::-moz-selection,
.toggleSwitch-checkbox *::selection,
.toggleSwitch-checkbox *::-moz-selection,
.toggleSwitch-checkbox *:after::selection,
.toggleSwitch-checkbox *:after::-moz-selection,
.toggleSwitch-checkbox *:before::selection,
.toggleSwitch-checkbox *:before::-moz-selection,
.toggleSwitch-checkbox + .toggleSwitch-status::selection,
.toggleSwitch-checkbox + .toggleSwitch-status::-moz-selection {
	background: none;
}

.toggleSwitch-checkbox:checked + .toggleSwitch-status {
	background: #1e6e58;
	background: var(--color-other-link);
}

.toggleSwitch-checkbox:checked + .toggleSwitch-status:before {
	bottom: -100%;
}

.toggleSwitch-checkbox:checked + .toggleSwitch-status:after {
	bottom: 0;
}

.toggleSwitch-description {
	color: #049c74;
	color: var(--color-link);
	font-weight: bold;
	padding: .5rem;
	text-decoration: none;
	transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
	-webkit-transition: 0.3s background-color, 0.3s color, 0.3s border-radius;
}

.toggleSwitch-status {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	background: transparent;
	border-radius: 0 0 0.3em 0.3em;
	cursor: pointer;
	display: block;
	font-family: sans-serif;
	height: 2em;
	outline: 0;
	overflow: hidden;
	position: relative;
	transition: all 0.2s ease;
	user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	width: 100%;
}

.toggleSwitch-status:after,
.toggleSwitch-status:before {
	color: #049c74;
	color: var(--color-link);
	content: "";
	display: inline-block;
	font-weight: bold;
	height: 100%;
	line-height: 2em;
	position: absolute;
	text-align: center;
	transition: all 0.2s ease;
	width: 100%;
}

.toggleSwitch-status:after {
	border-top: 1px solid transparent;
	bottom: 100%;
	color: #040308;
	color: var(--color-bg);
	content: attr(data-ts-on);
	left: 0;
}

.toggleSwitch-status:before {
	border-top: 1px solid #726f6a;
	border-top-color: var(--color-button-border);
	bottom: 0;
	content: attr(data-ts-off);
	left: 0;
}

/* hover effects only on devices with fine pointers (AKA not phones) */
@media(hover: hover) and (pointer: fine) {	
	.toggleSwitch:hover {
		border: 1px solid #25baba;
		border-color: var(--color-header);
	}

	.toggleSwitch:hover > .toggleSwitch-description {
		background-color: #25baba;
		background-color: var(--color-header);
		color: #040308;
		color: var(--color-bg);
		text-decoration: none;
	}
}

.topAnchor {
	border: none;
	height: 0;
	margin: 0;
	padding: 0;
}

.topLink {
	border: 1px solid #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: block;
	margin: 2em auto;
	padding: 0.25em;
	text-align: center;
	width: 7rem;
}
.topLink:visited {
	color: #049c74;
	color: var(--color-link);
}

.twitter-tweet {
	margin: 0;
}

.update-citation {
	display: block;
	text-align: right;
}

.update-footer {
	align-items: start;
	color: #423f4d;
	color: var(--color-menubar);
	display: flex;
	flex-direction: column;
	font-size: 0.9em;
	font-style: italic;
	margin-top: 1em;
}

.update-footer-author {
	display: none;
}

.update-footer-time {
	margin-left: auto;
}

.update-nav {
	border-top: 1px dotted;
	display: flex;
	margin-top: 1em;
	padding-top: 1em;
	width: 100%;
}

.update-nav-link {
	border: 1px dashed #726f6a;
	border-color: var(--color-button-border);
	border-radius: 0.3em;
	display: block;
	padding: 0.5em;
}

.update-nav-linkWrapper {
	max-width: 45%;
}

.update-nav-pubDate {
	font-size: 0.8em;
}

.update-nav-nextWrapper {
	margin-left: auto;
	text-align: right;
}

.update-tags {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-top: 1em;
	text-align: left;
}

.update-tags > .boxLink {
	margin: 0.5em;
}

/****************************************************************************
 * State Overrides
 ****************************************************************************/

.asideBio.hideBio {
	display: none;
}

.asideBio-div.showPhoto {
	display: inline-block;
}

.asideMenu-link.isCurrent {
	background-color: #049c74;
	background-color: rgba(4, 156, 116, 0.8);
	background-color: var(--color-link-translucent);
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

.asideMenu-link.isCurrent:hover {
	background-color: #25baba;
	background-color: var(--color-header);
}

.asideUpdates .update-citation {
	display: none;
}

.asideUpdates .update-footer-time {
	margin: 1em 0 2em;
}

.asideUpdates .js-momentTime {
	display: none;
}

.asideUpdates .reacji {
	float: left;
}

.feature hr {
	border: 1px 0 0 0;
	border-color: #0d1852;
	border-color: var(--color-other-dark);
	border-style: solid;
	color: #0d1852;
	color: var(--color-other-dark);
	max-width: 90%;
}

.pageMenu-link.isCurrent .pageMenu-text {
	background-color: #049c74;
	background-color: rgba(4, 156, 116, 0.8);
	background-color: var(--color-link-translucent);
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

.pageMenu-link.isCurrent:hover .pageMenu-text {
	background-color: #25baba;
	background-color: var(--color-header);
}

.textMenu-link.isCurrent {
	background-color: #049c74;
	background-color: rgba(4, 156, 116, 0.8);
	background-color: var(--color-link-translucent);
	color: #040308;
	color: var(--color-bg);
	text-decoration: none;
}

.textMenu-link.isCurrent:hover {
	background-color: #25baba;
	background-color: var(--color-header);
}

.update.isDraft {
	background-color: #282c32;
	background-color: var(--color-menubar);
}

.update.isEmbargoed {
	background-color: #151222;
	background-color: var(--color-other-dark-translucent);
}

/****************************************************************************
 * JS Overrides
 ****************************************************************************/

.js .pubDate.isDone {
	transition: 0.3s visibility;
	-webkit-transition: 0.3s visibility;
	visibility: visible;
}

.no-js .pubDate {
	visibility: visible;
}

/****************************************************************************
 * Media Queries
 ****************************************************************************/

 @media all and (min-width: 34em) {
	.magicDeck {
		display: block;
	}
	
	.magicDeck-images {
		align-items: center;
		align-self: top;
		display: flex;
		flex-direction: column;
		float: right;
		grid-column: 2;
		justify-content: start;
	}

	.magicCard-img {
		width: 15em;
	}
	
}

@media all and (min-width: 38em) {
	.navMenu {
		padding: 0;
	}

	.navMenu-list {
		float: left;
		text-align: left;
	}

	.navMenu-list-item {
		margin-left: 0.75em;
	}

	.searchBox {
		float: right;
		margin-right: 0.75em;
	}
}

@media all and (min-width: 52em) {
	body {
		font-size: 1.1em;
	}
}

@media all and (min-width: 70em) {
	.actionBox {
		border-top: 1px dashed white;
		flex-direction: column-reverse;
	}	
	  
	.asideContent {
		background: #040308;
		background: rgba(4, 3, 8, 0.9);
		background-color: var(--color-bg-translucent);
		border: 1px solid #9aa8bc;
		border-color: var(--color-main);
		font-size: 0.8em;
		position: absolute;
		top: 5em;
	}

	.asideLeft {
		left: -14em;
		width: 14em;
	}

	.asideMenu-divider {
		display: none;
	}

	.asideRight {
		max-height: 80%;
		overflow-y: auto;
		right: -15em;
		width: 15em;
	}

	.asideRight .asideMenu-link {
		max-width: 13em;
	}

	.postMainIndex .feedLine:last-child {
		display: block;
	}

	.postMenu {
		max-height: none;
	}

	.scrollToggle {
		margin-top: 1rem;
	}

	.socialList-item {
		display: inherit;
	}
}

/****************************************************************************
 * CHIM / JS-DOS Pages Only
 ****************************************************************************/

#jsChimDb {
    width: 100%;
    height: 24em;
}

#jsChimDb a {
    color: #049c74;
}

#jsChimDb a:hover {
    color: #040308;
}

#jsChimDb a:hover:visited {
    color: #040308;
}

#jsChimDb a:visited {
    color: #1e6e58;
}

#jsChimDb .dosbox-canvas {
    display: block;
    margin: auto;
}

.dosbox-overlay, .dosbox-loader {
    background-color: #111;
    background-color: rgba(3,3,3,.7);
}

.dosbox-start {
	color: #049c74;    
}
