
* {

	--textcolor: #121212;
	--link: #8c8c8c;
	--linkhover: #999999;
	--dark: #000;
	--light: #fff;
  
}

body {
	font-family: Verdana, sans-serif;
	font-size: 15px;
	text-align: justify;
	background: var(--dark);
	margin: 0 auto;
	position: relative;
	cursor: default;
	height: 100vh;
	width: 100vw;
}

body a {
  text-decoration: none;
}

.banner {
  z-index: 1;
	width: 489px;
	height: 220px;
	background-repeat: no-repeat;
	margin: 0vh 10vh;
	position: absolute;
}

hr {
	border: 0;
	height: 1px;
	width: 100%;
	background: var(--dark);
	background-image: linear-gradient(to right, #ccc, #333, #ccc);
	margin-bottom: 20px;
}

audio {
	background: #000;
	width: 50px;
	height: 20px;
}

table.guide {
	width: 100%;
}

table.guide th {
	color: #fff;
	background-color: #000;
	text-align: left;
	padding: 5px;
	font-weight: 600;
}

table.guide td {
	padding-left: 5px;
}

table.guide tr:nth-child(even) {background-color: #f2f2f2;}

th {
  font-weight: normal;
  text-align: center;
  padding-bottom: 10px;
}

/* ------- HOVER TEXT ------- */

span[data-spell] {
  display: inline-block;
  border-bottom: 1px dotted;
  cursor: none;
}

span[data-spell]::before,
span[data-spell]::after {
  display: none;
}

span[data-spell]::before {
  content: attr(data-spell);
}

span[data-spell]::after {
  content: attr(data-original);
}

span[data-original]:not(:hover)::before,
span[data-spell]:hover::after {
  display: block;
}

/* ------- NAVIGATION ------- */

.navigation {
	font-weight: bold;
	position: absolute;
	color: var(--light);
	background: transparent;
	width: 489px;
	height: 80vh;
	margin: 20px 0px 0px 100px;
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-color: #000 #ffffff00;
	scrollbar-width: thin;
}

.navigation::-webkit-scrollbar {
  display: none;
}

nav {
	color: var(--light);
	margin-bottom: -30px;
}

nav a {
  color: var(--link);
  text-decoration: none;
  font-weight: normal;
  text-shadow: 0 0 1px #fff;
  transition: all .2s;
  -webkit-transition: all .2s;
}

nav a:hover {
	color: transparent;
  text-shadow: 0 0 2px rgba(255, 255, 255,0.7);
}

nav li {
	text-decoration: none;
	color: var(--light);
	list-style: none;
	display: block;
	padding: 1px;
}

#section{
	background-color: transparent;
 }

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

#submenu {
	overflow: hidden;
	height: 0px;
	margin: 0;
}

#backbutton {
	z-index: 1;
	width: 100px;
	margin: 0px 1500px;
	position: absolute;
	font-size: 70px;
}

/* ------- SECTIONS ------- */

section {
	display: none;
	position: absolute;
	color: var(--dark);
	background: var(--light);
	width: 38vw;
	height: 80vh;
	padding: 20px 22px 30px 30px;
	margin: 50px 0px 0px 690px;
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-color: #d8d8d8 #ffffff00;
	scrollbar-width: thin;
	box-shadow: 0 0 10px 15px #FFF;
}

section:target {
	display: block;
}

section img {
	max-width: 100%;
}

section a {
  color: #000;
  font-weight: normal;
  text-decoration: none;
  text-shadow: 0 0 1px #000;
  transition: all .2s;
  -webkit-transition: all .2s;
}

section a:hover {
	color: transparent;
  text-shadow: 0 0 2px rgba(0,0,0,0.7);
}

section b {
  text-shadow: 0 0 1px #000;
}

section::-webkit-scrollbar {
  display: none;
}

h1 {
	margin-top: 0;
	text-shadow: 0 0 2px #000;
}

h2, h3, h4 {
	margin-bottom: 0;
	text-shadow: 0 0 2px #000;
}

/*section#home {
	display: block;
}*/

/* ------- TOOLTIP ------- */

.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
  cursor: pointer;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 110%;
  left: 50%;
  margin-left: -60px;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

/* ------- IMAGES ------- */

.thumbnail {
	background-color: transparent;
	width: 150px;
	height: 200px;
	display: inline-block;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	object-fit: cover;
}

.row {
	display: flex;
	flex-wrap: wrap;
	padding: 0 4px;
}

.column {
	flex: 25%;
	max-width: 50%;
	padding: 0 4px;
}

.column img {
	margin-top: 8px;
	vertical-align: middle;
	width: 100%;
}

/* ------- LIGHTBOX ------- */

.lightbox {
	display: none;
	color: var(--light);
}

.lightbox:target {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: grid;
	place-items: center;
	align-content: center;
	background: rgba(00, 00, 00/*, 0.9*/);
	border: 0;
	z-index: 3;
}

.lightbox img {
	max-height: 100vh;
	max-width: 100%;
	z-index: 4;
}

/* Loading spinner */

/*.lightbox:target:before { 
	content:"";
	height: 2em;
	width: 2em;
	animation: spin .8s infinite linear;
	border: 1px solid;
	border-right-color: transparent;
	border-radius: 50%;
	display: block;
	position: absolute;
	transform: translateX(-50%);
	opacity: .25;
}*/

.lightbox:target:after { /* Ã— to close */
	content: "\00D7";
	position: fixed;
	font-size: 2em;
	font-weight: 200;
	line-height: 0;
	top: .75em;
	right: .5em;
	z-index: 4;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ------- MOBILE ------- */

@media only screen and (min-device-width: 100px) and (max-device-width: 1280px) {
  #backbutton {
	margin: 0px 1050px;
  }
  section {
  width: 70vw;
  height: 85vh;
  }
}
