/* 
=============================

            /$$$$$$    /$$                 /$$      
           /$$__  $$ /$$$$                | $$      
 /$$   /$$| $$  \__/|_  $$        /$$$$$$$| $$$$$$$ 
|  $$ /$$/| $$$$$$$   | $$       /$$_____/| $$__  $$
 \  $$$$/ | $$__  $$  | $$      |  $$$$$$ | $$  \ $$
   $$  $$ | $$  \ $$  | $$       \____  $$| $$  | $$
 /$$/\  $$|  $$$$$$/ /$$$$$$ /$$ /$$$$$$$/| $$  | $$
|__/  \__/ \______/ |______/|__/|_______/ |__/  |__/

=============================
*/

html, body, h1, h2, h3, h4, h5, input, textarea, header select {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 14px;
	word-wrap: break-word;
	background: #222;
	color: #c8c8c8;
}

b {
	background: #765898;
	color: #52d053;
	padding: 2px 1ch;
	border-radius: 3px;
}

hr {
	border: 0;
	height: 1px;
	border-top: 1px solid #ddd;
}

code {
	line-height: 1.25;
	padding: 1.5em;
	overflow-x: auto;
	overflow-y: hidden;
	display: inline-block;
	background: #333;
	border-radius: 2px;
/*	font-family: Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;*/
	font-family: "JetBrains Mono", monospace;
	font-size: 0.8em;
}

a, a:visited, a:hover, a:active {
	color: inherit;
	text-decoration: none;
}

a:hover {
	background-color: plum; color: #000;
}

h1 code, h2 code {
	font-size: 12pt;
}

h1 {
	display: flex;
	align-items: center;
	margin-top: 0.1em;
	margin-bottom: 0.1em;
}

h2 {
	display: flex;
	align-items: center;
	margin-top: 0.1em;
	margin-bottom: 0.1em;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, sans-serif;
}

h2::after {
	flex: 1;
	height: 1px;
	content: '';
	margin-left: 1rem;
	background-color: #ddd;
}

h3 {
	text-align: left;
}

body {
	line-height: 2em;
	margin: 0 auto;
	padding: 10px;
	padding-top: 0;
}

pre {
	white-space: pre-wrap;
	word-wrap: break-word;
	text-align: justify;
}

img {
	border: 1px solid #ddd;
	border-radius: 2px;
	padding: 4px;
	max-width: 98%;
	height: auto;
}

img.centre {
	display: block;
	margin: 0 auto;
}

ul.b {
	list-style-type: square;
}

div#header {
	color: #c8c8c8;
	font-size: 30px;
	margin-top: 20px;
}

#header .header-link {
	color: #c8c8c8;
	background: #222;
}

div#header h2 {
	display: flex;
	align-items: center;
	margin-top: 0.1em;
	margin-bottom: 0.1em;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, sans-serif;
	font-size: 30px;
}

div#wrapper {
	margin: 0px auto;
	position: relative;
	padding: 0 5px;
	width: 600px;
}

div#logo {
	color: #c8c8c8;
	height: 100px;
	white-space: pre;
	text-align: center;
	font: 80px fixed, monospace, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, sans-serif;
}

div#menu {
	text-align: center;
	font-family: "JetBrains Mono", monospace;
}

#menu .menu-link {
	color: #c8c8c8;
	background: #222;
}

div#footer {
	text-align: left;
	color: #ddd;
}

#footer .footer-link {
	color: #c8c8c8;
	background: #222;
}

nav {
	font-size: 0.95em;
	margin-top: 1px;
}

nav .bar {
	color: #606060;
	vertical-align: bottom;
	padding-left: 1px;
	padding-right: 1px;
}

nav h2 {
	color: #000000;
	font-size: 1.3em;
	font-weight: bold;
	display: inline;
}

nav a {
	font-weight: bold;
	text-decoration: none;
}

nav a,
nav a:visited {
	color: #606060;
}

nav h2 a,
nav h2 a:visited {
	color: #606060;
}

.link {
	text-decoration: none;
}

a:link {
	color: #52d053;
}

div#random {
	width: 100%;
	display: table;
	height: 80%;
	text-align: center;
}

div#openbsd {
	height: 30%;
	text-align: center;
	font: 15px fixed, monospace;
}

div#hw {
	height: 115px;
	text-align: center;
	font: 7px fixed, monospace;
}

div#work {
	height: 80%;
	white-space: pre;
	text-align: center;
	font: 5px fixed, monospace;
}

div#text-left {
	display: inline-block;
	margin-top: 5em;
}

div#text-hw {
	display: inline-block;
}

div#hw-machines {
	position: relative;
	background: transparent;
	font: 13px monospace;
}

/* image gallery */

ul.image-set {
	overflow: hidden;
	margin: 0;
	padding: 0; 
	list-style: none;
	background: #f3f3f3;
	border-radius: 3px;
	border: 1px solid #ddd;
	transition: background 1s, border-color .5s .5s;
	--webkit-transition: background 1s, border-color .5s .5s
}

ul.image-set:hover {
	border-color: #a7b;
	background: #fff
}

ul.image-set:hover li {
	width: 0%;
	opacity: 0;
	padding: 0
}

ul.image-set li {
	float: left;
	width: 25%;
	padding: 1em;
	transition: width .3s .5s, opacity .3s .5s, padding .3s .5s
}

ul.image-set li:hover {
	width: 100%;
	opacity: 1;
	background: #eee
}

ul.image-set li img {
	width: 100%;
	vertical-align: middle;
}

/* log */

pre code {
	max-width: 100%;
	overflow-x: scroll;
	tab-size: 8;
	border: 1px solid #999;
	display: block;
	padding: 10px;
	font: 13px fixed, monospace;
	background: #333;
}

/* responsive adjustments */

@media only screen and (max-width: 900px) {
	aside {
		display: none;
	}
}

@media only screen and (max-width: 780px) {
	html, body, h1, h2, h3, h4, h5, input, textarea, header select {
		font-size: 11pt;
	}

	nav {
		margin-top: 0;
		margin-right: 0;
	}

	div#wrapper {
		width: 100%;
	}
}
