/* --------- Variable ---------- */

:root{
	--color1: pink;
	--color2: green;
	--font1: "terminal", sans-serif;
	--font2: "alegreya", serif;
	--textsize : 1.1em;
}

.hide-for-small-only{
	display: block;
}

.show-for-small-only{
	display: none;
}

.show-for-large-only{
	display: block;
}

nav.languages{
	position: fixed;
	top: 30px;
	right:30px;
	z-index: 100;
}

nav.languages ul{
	list-style:none;
	display: flex;
	flex-wrap: wrap;
}

nav.languages li{
	margin-right: 5px;
	font-size: 16px;
}


nav.languages li.active a,
nav.languages li a:hover{
	color: #FFF;
	background: #000;
}

nav.languages a{
	text-decoration: none;
	white-space: normal;
	background: #FFF;
	color:#000;
	text-align: center;
	line-height: 1.2;
	border-radius: 20px;
	padding: 5px 10px;
	display: block;
	width:20px;
}

body.web{
	font-size: 20px;
}

body.web .layout {
  display: flex;
}

body.home a::after, body.web a::after{
  content: none;
}

body.web header {
	padding: 10px 10px 10px 20px;
	margin-bottom: 50px;
	width: 18%;
	position: sticky; 
	left: 0;
	top:20px;
	height: calc(100vh - 40px);
	overflow-y: scroll;
}


body.web header h1{
	font-size: 1.2em;
}

.dl-pdf{
	margin-top: 30px;
  margin-bottom: 40px;
}

.dl-pdf a{
	background: var(--color1);
  color: #FFF;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 30px;
}

body.web #toc{
	font-size: 1em;
	margin-top: 20px;
}

body.web #toc #toc-heading{
	border-bottom: 1px solid var(--color1);
	color: var(--color1);
	margin-bottom: 20px;
	font-family: var(--font1);
	font-size: 26pt;
}

body.web #toc li{
	list-style: none;
	margin-bottom: 10px;
	text-align: left;
	font-size: 1em;
	hyphens: none;
}

body.web #toc li a{
	color: var(--color1);
	text-decoration: none;
}

body.web #toc li a:hover{
	text-decoration: underline;
}

body.web #toc li a.active {
  text-decoration: underline;
} 

body.web .cover {
	position: relative;
	height: 48vh;
	min-height: 300px;
	width: 100%;
	top:-21px;
	overflow: hidden;
	text-align: center;
}

body.web .cover figure{
	width: 100%;
	height: 48vh;
	min-height: 300px;
	top: 0;
	left:0;
	overflow: hidden;
}

body.web .cover h2{
	top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	position: relative;
  background: #FFF;
  border-radius: 18px;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
}

body.web .cover h2 span{
	position: relative;
	left:0 !important;
}

body.web .cover h1{
	position: relative;
	transform: none;
	width: 70%;
	min-width: 500px;
	margin: auto;
	top:50%;
	transform: translateY(-50%);
	left:0;
}

body.web #p5-cover{
  filter:grayscale(100%) contrast(150%) brightness(200%)  blur(1px);
} 


body.web main{
	max-width: 680px;
	margin:auto;
	margin-top: 20px;
	flex-grow: 1;
	width: 100%;
}

body.web main .chapter {
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid var(--color1);
}

body.web .content p,,
body.web .content li{
	font-size: var(--textsize);
}

body.web .logbook figure{
	width: 100%;
}

body.web figcaption p, body.web figcaption{
	font-size: 15px !important;
}

body.web .chapter{
	margin-top: 0;
}

body.web .chapter .content{
	margin-top: 0;
}

body.web .chapter .content h2:first-child{
	margin-top: 48px;
}

body.web .burger-menu {
  position: fixed;
  top: 0px;
  left: 0px;
  border: none;
  font-size: 30px;
  padding: 0px 6px 6px;
  background-color: var(--color1);
  color: white;
  cursor: pointer;
  z-index: 1100;
  display: none;
}

/* --------- Responsive Styles ---------- */
@media only screen and (max-width: 1080px) {
	.hide-for-small-only{
		display: none;
	}

	.show-for-small-only{
		display: block;
	}

	body.web nav.languages{
		max-width: 40%;
  	right: 10px;
  	top: calc(48vh + 80px);
  	position: absolute;
	}

	nav.languages li{
		margin-right: 3px;
		font-size: 12px;
	}

	nav.languages a{
		padding: 5px 6px;
		width: 14px;
	}

  body.web .layout {
    display: block;
  }

  body.web .cover{
  	top: 48px;
/*  	height: 55vh;*/
  }

	body.web .cover figure{
/*		height: 55vh;*/
	}

	body.web .cover h1{
  	font-size: 40px;
  	width: 97%;
  	min-width: 0;
  	line-height: 2.3;
/*  	transform: none;
  	top: 10px;*/
  }

  body.web .cover h2{
  	font-size: 20px;
  	top:0px;
  }

	body.web .burger-menu {
		display: block;
	}

  body.web header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto;
    min-height: 30px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 10px;
    background-color: var(--color1);
  	color: white;
  	z-index: 1000;
  }

  body.web header h1{
  	font-size: 15px;
  	text-align: center;
  	color: #FFF;
  	width: calc(100% - 80px);
  	padding-left: 40px;
  	padding-right: 40px;
  }

  body.web #toc.open {
    transform: translateX(0);
    transition: transform 0.5s ease;
/*    display: block;*/
  }

  body.web #toc {
/*    display: none;*/
    position: fixed;
    top:25px;
    left:0;
    transform: translateX(-100%);
    transition: transform 0.5s ease;
    height: calc(100vh - 40px) !important;
    padding: 20px !important;
		background-color: #FFF;
    z-index: 9999;
  }

  body.web main {
  	margin-top: 80px;
    padding: 0px 20px;
    width: calc(100% - 40px);
  }
  
  body.web main .logbook-content p, 
  body.web main .story-content p, 
  body.web .content p, 
  body.web main .logbook-content li, 
  body.web main .story-content li, 
  body.web .content li{
  	font-size: 0.85em;
  }

  body.web .content h2{
  	font-size: 25px;
  } 

  .chapter .content h3{
  	font-size: 20px;
  }
}

@media only screen and (max-width: 768px) {
	
	body.web header h1{
  	font-size: 12px;
  }

  body.web .cover h1{
  	font-size: 20px;
  	line-height: 2.7;
  }

  body.web .cover h2{
  	font-size: 13px;
  }

	tr > th:first-child, 
	tr > th:nth-child(2){
		width:25%;
	}

	tr > td:first-child, 
	tr > td:nth-child(2){
		width:25%;
	}

}








