@font-face {
  font-family: "DOS"; 
  src: url('fonts/Px437_DOS-V_re_ANK24.woff2') format('woff2');
}

:root {
		--text: darkslategrey;
		--border: lightgrey;
		--accent: teal;
		--bg: #9CC024;
		--gradientTop: white;
		--gradientBottom: rgb(240, 248, 255, .8);
		--scrollbar-color: green
	}

body {
	padding: 10px;
	font-family: 'MS PGothic', sans-serif;
	color: var(--text);;
}

* { 
	image-rendering: pixelated;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	scrollbar-color: cadetblue gainsboro;
	overscroll-behavior: none;
}

ul {
	padding: 0px 10px 0px 20px;
	margin: 0px;
	text-align: left;
}

.border { /* .rope from https://maxbittker.github.io/broider/ */
  border: 7px solid transparent;
  border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
	background-color: rgb(255, 255, 255, 87%);
	padding: 18px 36px;
}
	
a.border:hover, a.border:focus { 
    border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAsElEQVQ4T7VVQQ7AIAib/3/0JktqagOiRjnphhVKwfJcsHIB8+lA32q4pFTjPV9u/2yv/u0sFuYAZz7A39jX1uqPfYvUA40AkcURUKQ7DepxpJxq5CmnAPVS9hTCdHEGP9daKHWIJDeqgVsoPZBFqlkuV38kwW1JcdTK6zFQNAFf0KXPXTLDa0TFsPc1Ve3/VKeRRCKJLUuKJRLRsA2qk2h5SkXzcTRTU05PvgBXnpMPNvIIJdPd95YAAAAASUVORK5CYII=") 7 /  7px / 0 round;
}
	
.clearfix::after {
	content: "";
	clear: both;
	display: table;
}

hr {
	border: none;
	border-top: 1px solid;
}

h3, h2, h1 { font-weight: normal; }

h3 { font-size: 1.25rem; line-height: 1; font-style: italic; }
h2 { font-size: 1.45rem; line-height: 1; text-transform: uppercase; }
h1 { font-size: 2.75rem; line-height: 1; }
		 
p, ol, ul, dl, code, details { font-size: 1rem; line-height: 1.3; }
		 
h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
	margin: 18px 0;
}

ul, dl {
	margin: 18px 0 18px 18px;
}

ol { margin: 18px 0 18px 54px; }
ol ol { margin: 0 0 0 54px; }

ul ul, dd { 
	margin: 0 0 0 18px;
}

details p { margin: 18px 0 18px 36px; }

summary { cursor: pointer; }

ul { list-style-type: square; }

code {
	background-color: white;
	font-family: 'DOS', monospace; 
	font-size: 80%;
	padding: 1px 4px;
}

pre {
	overflow-x: auto;
	padding: 1px 4px;
}

table {	border: 1px solid; }
tr, td, th { border: 1px dotted; }
td, th { padding: 5px; }

textarea {
	padding: 2px;
	font-size: 80%;
}

cite { 
	display: block;
	text-align: right;
}

blockquote { border-left: 1px solid; padding-left: 14px; }

details > summary {
    list-style-type: '► ';
}

details[open] > summary {
    list-style-type: '▼ ';
}

a {
	color: teal;
	padding: 1px;
}

a:hover, a:focus {
	background-color: teal;
	color: white;
}

button, input, textarea {	
	font-family: "DOS", "Courier New", Courier, monospace;
}

img { max-width: 100%; }
	
.new { 
	text-transform: uppercase;
	text-shadow: 0 -1px yellow, 1px 0 yellow, 0 1px yellow, -1px 0 yellow;
}

::selection {
	color: white;
	background-color: teal;
}

@media screen and (max-width: 600px){
	
	h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
		margin: 16px 0;
	}

	ul, dl {
		margin: 16px 0 16px 16px;
	}

	ol { margin: 16px 0 16px 48px; }
	ol ol { margin: 0 0 0 48px; }

	ul ul, dd { 
		margin: 0 0 0 16px;
	}

	details p { margin: 16px 0 16px 32px; }
	
	p, ol, ul, dl, code, details, table, figcaption { font-size: 0.9rem; }
}

@media (prefers-color-scheme: dark) {
	* { scrollbar-color: cadetblue darkslategrey; }
	body { color: white; }
	.border { background-color: rgb(0,20,20,75%); border-color: darkslategrey; }
	.new, code { color: black; }
	code, textarea { color: white; background: darkslategrey; }
	a { color: #b2d7c1; }
	a:hover, a:focus { color: darkslategrey; background-color: #b2d7c1; }
	a.border:hover, a.border:focus { border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
	}
}
html { scrollbar-color: gainsboro honeydew; scrollbar-gutter: stable; }
body {  background: radial-gradient(#eee,#eee,honeydew), honeydew; color: #23332a; background-attachment: fixed; padding: 0 10px; }
table { background: white; text-align: center; color: inherit; }
table, .tablething { margin: 1rem auto; }
.tablething {  
	display: grid;
	grid-template-columns: min-content auto;
	background: white;
	border: 1px solid;
	padding: 1px;
	margin-bottom: 3rem;
}
.tablething div, .tablething blockquote { border: 1px dotted; margin: 1px; padding: 5px; vertical-align: middle; }
.tablething div:nth-child(odd) { padding: 6px 5px; }
th { font-weight: normal; background: #eee; }
main { width: fit-content; padding: calc(5vh + 1.5vw) 1rem 0 1rem; }
aside { padding: calc(5vh + 1.5vw + 1.5rem) 1rem 0 1rem; }
nav, hr { margin: 1rem auto; }
h2 { text-transform: none; }
hr { border-color: #23332a; }
time {  border: none; padding-bottom: 0; margin-bottom: 1.5rem; }
img { max-width: 100%; }
blockquote { border-left: 1px solid; margin-left: 1.5rem; }
figcaption { text-align: right; }
aside { background: white; min-height: 100vh; margin: 0 1rem; outline: 2px dotted white;  }
aside div { position: sticky; top: calc(5vh + 1.5vw + 1.5rem); }
aside p, figcaption { font-size: 0.8rem; }
aside div > img { border:1px dotted; outline:1px solid; outline-offset:2px; margin:0 3px; }
body:has(aside) { display: grid; grid-template-columns: auto 228px; margin: 0 auto; max-width: 58rem; }
body:has(aside) nav p:last-child { text-align: center; }
body:has(aside) .tablething { grid-template-columns: auto; margin: 1rem auto; }
body:has(aside) .tablething p { margin: 0 4px; }
body:has(aside) .tablething p, td a { display: block; }
body:has(table) main { max-width: 342px; }
body:has(table) nav { margin-bottom: 3rem; }
body:has(table) h1 { font-style: italic; text-transform: uppercase; font-size: 2.5rem; margin-bottom: -5px; }
body:has(table) h2 { text-align: center; margin-top: 2rem; }
body:has(table) p { text-align: center; margin: 2rem 0; }
hr + ol {
	font-size: 0.8rem;
	margin-bottom: -1rem;
}


/*a:link { 
	color: teal;
	text-underline-offset: 2px;
	text-decoration-thickness: 2px;
	text-decoration-color: yellowgreen;
	padding: 0;
}*/


a:hover, a:focus { 
	/*color: teal;*/
	text-decoration-style: wavy;
	text-decoration-thickness: 1px;
	background: rgb(0,0,0,0);
}

ol li {
  font-family: 'MS PGothic', sans-serif;
  font-size: 16px;
}
div.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

div.gallery-item {
  margin: 5px;
}
#spin-icon {
		color: #70F202;
		animation: spin 25s linear infinite;
		display: inline-block;
		width: 160px;
		height: 160px;
		line-height: 0.9;
		margin: 0 auto;
	}
@keyframes spin {
		from { transform: rotate(0deg); }
		to { transform: rotate(360deg); }
	}
	