@keyframes loader {
	  0% { opacity: 0.25; }
	100% { opacity: 1; }
}

#buttons button {
	background-color: transparent;
	border: none;
	font-size: 32px;
}

#buttons div {
	bottom: 0;
	margin: auto;
	position: fixed;
	width: 40px;
	z-index: 2;
}

#buttons div:first-child {
	left: -756px;
	right: 0;
}

#buttons div:last-child {
	left: 0;
	right: -764px;
}

#content {
	min-height: calc(100vh - 40px);
}

#controls {
	background-color: rgba(0, 0, 0, 0.9);
	border: 2px solid hotpink;
	border-bottom: none;
	border-radius: 24px 24px 0 0;
	bottom: 0;
	left: 0;
	margin: auto;
	padding-top: 20px;
	position: fixed;
	right: 0;
	width: 800px;
	z-index: 2;
}

#controls > div:nth-child(2) {
	height: 3px;
	margin: -5px auto 0 auto;
}

#controls > div:nth-child(2) div {
	overflow-x: scroll;
	scroll-behavior: smooth;
	width: 710px;
}

#controls img {
	cursor: pointer;
	margin: 8px 4px;
	padding: 0;
}

#controls img.selected {
	cursor: auto;
	background-color: hotpink;
	margin: 7px 3px;
	padding: 1px;
}

#controls > table:first-child {
	line-height: 12pt;
	width: 720px;
}

#controls > table:first-child > tbody > tr > td {
	width: 240px;
}

#controls > table:first-child > tbody > tr > td:first-child div {
	text-align: left;
}

#controls > table:first-child > tbody > tr > td:first-child div table {
	margin-left: 0;
}

#controls > table:first-child > tbody > tr > td:last-child div {
	text-align: right;
}

#controls > table:first-child > tbody > tr > td:last-child div table {
	margin-right: 0;
}

#controls td {
	padding: 0;
}

#copyright {
	height: 40px;
	position: relative;
}

#copyright > table:first-child {
	bottom: 0;
	position: absolute;
	width: 100%;
}

#episode td.text {
	font-size: 12pt;
	padding: 4px;
}

#error {
	font-size: 200pt;
}

#gallery {
	background-color: rgba(16, 0, 16, 0.9);
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.5s linear;
	vertical-align: middle;
	width: 100%;
	z-index: 4;
}

#gallery > div:first-child {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}

#gallery > div:last-child {
	left: 10px;
	position: absolute;
	top: 10px;
}

#gallery > div:last-child a:hover {
	text-decoration: none;
}

#gallery div.go {
	background-color: black;
	border: 2px solid hotpink;
	font-size: 32px;
	height: 36px;
	line-height: 36px;
	position: absolute;
	top: calc(50vh - 20px);
	user-select: none;
	width: 36px;
}

#gallery div.go.left {
	left: 20px;
}

#gallery div.go.right {
	right: 20px;
}

#gallery img {
	max-height: calc(100vh - 160px);
	max-width: calc(100vw - 160px);
	transition: height 0.5s linear, width 0.5s linear;
	width: 120px;
}

#header {
	display: flex;
	height: 40px;
	justify-content: center;
	position: absolute;
	top: -40px;
	width: 100%
}

#header div {
	align-self: flex-end;
	background-color: black;
	border-radius: 8px;
	display: inline-block;
	padding: 4px 8px;
}

#info {
	position: absolute;
	width: 100%
}

#info div {
	background-color: black;
	border-radius: 12px;
	display: inline-block;
	font-size: 11pt;
	max-width: 640px;
	padding: 8px;
	text-align: left;
}

#jenny {
	background: url("images/jenny.png") center no-repeat;
	height: 260px;
	margin: auto;
	position: relative;
	width: 800px;
}

#jenny + div {
	font-size: 28px;
	left: 0;
	position: absolute;
	right: 680px;
	top: 230px;
}

#jenny + div a:hover {
	text-decoration: none;
}

#jenny + div div {
	display: inline-block;
}

#jenny + div div:nth-child(1) a {
	vertical-align: -3px;
}

#jenny + div div:nth-child(2) a {
	padding-right: 2px;
}

#jenny > img:first-child {
	left: 321px;
	position: absolute;
	top: 224px;
}

#jenny > img:nth-child(2) {
	left: -20px;
	position: absolute;
	top: 20px;
}

#jenny > div:nth-child(3) {
	background-image: url('images/navigation.png');
	height: 56px;
	left: 400px;
	position: absolute;
	top: 24px;
	width: 392px;
}

#jenny > div:nth-child(4) {
	cursor: pointer;
	left: 400px;
	position: absolute;
	top: 24px;
}

#jenny > div:nth-child(4) img {
	visibility: hidden;
}

#jenny > div:nth-child(4):hover img {
	visibility: visible;
}

#jenny > div:nth-child(5) {
	cursor: pointer;
	left: 521px;
	position: absolute;
	top: 26px;
}

#jenny > div:nth-child(5) img {
	visibility: hidden;
}

#jenny > div:nth-child(5):hover img {
	visibility: visible;
}

#jenny > div:nth-child(6) {
	cursor: pointer;
	left: 670px;
	position: absolute;
	top: 26px;
}

#jenny > div:nth-child(6) img {
	visibility: hidden;
}

#jenny > div:nth-child(6):hover img {
	visibility: visible;
}

#jenny > div:nth-child(7) {
	left: 0;
	position: absolute;
	top: 100px;
}

#jenny > div:nth-child(7) div {
	font-size: 10px;
	margin-top: -8px;
}

#jenny > div:nth-child(7) img {
	filter: grayscale(0.75);
}

#jenny > div:nth-child(7) img:hover {
	filter: none;
}

#jenny a {
	outline: 0;
}

#jenny a:hover {
	text-decoration: none;
}

#loader {
	display: inline-block;
	height: 64px;
	left: calc(50vw - 32px);
	position: absolute;
	top: calc(50vh - 32px);
	width: 64px;
}

#loader div {
	animation: loader 1.2s linear infinite;
	background: hotpink;
	border-radius: 50%;
	height: 8px;
	position: absolute;
	width: 8px;
}

#loader div:nth-child(1) {
	animation-delay: 0s;
	left: 29px;
	top: 6px;
}

#loader div:nth-child(2) {
	animation-delay: 0.1s;
	left: 41px;
	top: 9px;
}

#loader div:nth-child(3) {
	animation-delay: 0.2s;
	left: 50px;
	top: 18px;
}

#loader div:nth-child(4) {
	animation-delay: 0.3s;
	left: 53px;
	top: 29px;
}

#loader div:nth-child(5) {
	animation-delay: 0.4s;
	left: 50px;
	top: 41px;
}

#loader div:nth-child(6) {
	animation-delay: 0.5s;
	left: 41px;
	top: 50px;
}

#loader div:nth-child(7) {
	animation-delay: 0.6s;
	left: 29px;
	top: 53px;
}

#loader div:nth-child(8) {
	animation-delay: 0.7s;
	left: 18px;
	top: 50px;
}

#loader div:nth-child(9) {
	animation-delay: 0.8s;
	left: 9px;
	top: 41px;
}

#loader div:nth-child(10) {
	animation-delay: 0.9s;
	left: 6px;
	top: 29px;
}

#loader div:nth-child(11) {
	animation-delay: 1.0s;
	left: 9px;
	top: 18px;
}

#loader div:nth-child(12) {
	animation-delay: 1.1s;
	left: 18px;
	top: 9px;
}

#magnification {
	position: absolute;
	right: 15px;
	top: 10px;
}

#navigation {
	font-size: 15pt;
	left: 0;
	margin: auto;
	position: fixed;
	right: -706px;
	width: 40px;
	z-index: 3;
}

#navigation > table {
	width: 40px;
}

#navigation div {
	left: 661px;
	margin: auto;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	transition: left 0.5s ease, width 0.5s ease;
	width: 5px;
}

#navigation table:nth-child(1) {
	width: 100%;
}

#navigation table:nth-child(1) td:first-child {
	min-width: 5px;
}

#navigation:hover div {
	left: 0px;
	width: 666px;
}

#nightflower {
	background: url("images/nightflower.png") center no-repeat;
	height: 400px;
	margin: auto;
	padding-top: 20px;
	position: relative;
	width: 800px;
}

#nightflower a {
	outline: 0;
}

#nightflower > div > img {
	left: 16px;
	position: absolute;
	top: 48px;
}

#nightflower a img {
	left: 555px;
	position: absolute;
	top: 235px;
}

#rating {
	cursor: help;
	display: inline-block;
	position: relative;
}

#rating:hover span.tooltip {
	display: block;
}

#zoom {
	background-color: rgba(16, 0, 16, 0.9);
	cursor: zoom-out;
	height: 100%;
	left: 0;
	overflow: auto;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 4;
}

#zoom + div img {
	cursor: zoom-in;
}

#zoom table {
	height: 100%;
	vertical-align: middle;
}

.block {
	width: 640px;
}

.blurb {
	font-size: 10pt;
	padding: 4px 8px;
	text-align: justify;
	width: 420px;
}

.cursor {
	cursor: default;
}

.dark {
	filter: brightness(0.5);
}

.embed iframe {
	border: none;
	height: 360px;
	padding: 0;
	vertical-align: middle;
	width: 480px;
}

.episode td.text {
	font-size: 11pt;
	padding: 2px 4px;
}

.episode a:hover, .episode a:hover:visited, .episodes a:hover, .episodes a:hover:visited, .years a:hover, .years a:hover:visited {
	color: hotpink;
	text-decoration: none;
}

.episodes td:nth-child(2), .episodes td:nth-last-child(2) {
	width: 35%;
}

.fancy {
	font-weight: bold;
	text-shadow: 2px 2px 2px silver;
}

.frame td.embed {
	padding: 0;
}

.frame td.number {
	padding: 0 8px;
	text-align: right;
}

.frame td.paragraph {
	padding: 4px 8px;
}

.gallery {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	min-width: 640px;
	width: 80%;
}

.gallery > div {
	margin: 8px;
}

.gallery > div:hover div {
	display: block;
}

.gallery div {
	font-size: 12pt;
}

.game {
	margin: auto;
	position: relative;
	width: 640px;
}

.game .text {
	font-size: 11pt;
}

.game div.paragraph {
	padding: 4px 0;
	text-align: justify;
}

.game > div:first-child {
	position: absolute;
	right: 16px;
	top: 12px;
}

.game table {
	width: 100%;
}

.game [title] {
	margin-top: 2px;
}

.gaming {
	max-width: 640px;
	text-align: left;
}

.gaming .entry {
	background: url('style/bottom.png') left bottom no-repeat,
				url('style/top.png') left top no-repeat,
				url('style/column.png') left repeat-y;
	margin: 2px 8px 2px -5px;
	padding-left: 9px;
}

.gaming .hider {
	position: relative;
	z-index: 1;
}

.gaming .listing {
	display: flex;
	flex-wrap: wrap;
}

.gaming td.borderless {
	padding: 0px 4px;
}

.hidden {
	visibility: hidden;
}

.large {
	font-size: 15pt;
}

.larger {
	font-size: 20pt;
}

.largest {
	font-size: 40pt;
}

.off {
	filter: grayscale(1);
}

.permanent a:visited {
	color: skyblue;
}

.screenshots {
	display: flex;
	flex-direction: column;
}

.selected {
	border-color: hotpink;
}

.subtitle {
	font-size: 12pt;
}

.text {
	font-size: 10pt;
	text-align: justify;
}

.thumbs {
	display: flex;
	justify-content: space-evenly;
	margin: 4px 0;
}

.thumbs > div {
	position: relative;
}

.thumbs div div {
	bottom: 108px;
	display: none;
	font-size: 11pt;
	left: -100px;
	position: absolute;
	right: -100px;
	text-align: center;
	white-space: nowrap;
	z-index: 1;
}

.thumbs div:hover div {
	display: block;
}

.thumbs div:hover img {
	background-color: hotpink;
	border: hotpink solid 1px;
}

.thumbs span {
	background-color: black;
	border: hotpink solid 2px;
	border-radius: 4px;
	cursor: default;
	padding: 4px 6px 6px 4px;
}

.thumbs div img {
	background-color: hotpink;
	border: #9B0550 solid 1px;
	border-radius: 4px;
	cursor: zoom-in;
	margin: 8px;
	padding: 1px;
}

.thumbs div img:hover {
	background-color: hotpink;
	border: hotpink solid 1px;
}

.translucent {
	opacity: 0.5;
}

.wrap a {
	white-space: normal;
}

img {
	vertical-align: middle;
}

input[type='checkbox'] {
	display: none;
}

input[type='checkbox'] + label {
	background-color: gray;
	border-radius: 8px;
	cursor: pointer;
	display: inline-block;
	height: 12px;
	margin: -2px 4px 0 8px;
	vertical-align: middle;
	width: 12px;
}

input[type='checkbox']:checked + label {
	background-image: radial-gradient(pink, hotpink);
}