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

	body.web .layout {
	  display: flex;
	}

	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;
	}

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

	body.web #toc #toc-heading{
		border-bottom: 1px solid var(--main-color);
		color: var(--main-color);
		margin-bottom: 20px;
	}

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

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

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

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

	body.web figure.blue{
		background-color: var(--main-color);
	}

	body.web figure.blue img{
		mix-blend-mode: screen;
		vertical-align: top;
	}

	body.web p:has(.mono){
		background-color: var(--main-color);
		position: relative;
	}

	body.web p:has(.mono) img{
		mix-blend-mode: screen;
		vertical-align: top;
	}

/*	body.web p:has(.mono) figcaption{
		position: absolute;
		background-color: #FFF;
		width: 100%;
	}*/




	body.web .cover {
		margin-bottom: 100px;
	}

	body.web .cover figcaption{
		display: none;
	}

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

	body.web .backcover figcaption{
		display: none;
	}



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

	body.web .chapter h1{
		font-size: 2em;
		text-align: center;
	}

	body.web .chapter h2{
		font-size: 1.4em;
		text-align: center;
		margin-top: calc((var(--font-size) * var(--line-height) * 4));
	}

	body.web .chapter h3{
		font-size: 1.1em;
		text-align: center;
		margin-top: calc((var(--font-size) * var(--line-height) * 2));
	}

	body.web main {
		margin-bottom: 200px;
	}

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

	body.web .chapter:has(#table-of-contents){
		display: none;
	}

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

	body.web figcaption{
		background: #FFF;
	  margin-top: 0;
	  padding: 20px 40px 20px 40px;
	}

	body.web blockquote,
	body.web blockquote p{
		font-size: 16px;
	}

/*	body.web .chapter .image-margin,
	body.web .chapter .full-page figcaption,
	body.web .chapter:has(.half-right){
		display: none;
	}*/

	body.web .chapter p img{
		width: 100%;
	}

	body.web .chapter p img.portrait{
		width: 60%;
	}

	body.web .chapter .images-mosaique p img {
  	width: calc(50% - 0.6cm);
  }

/*  body.web .chapter .images-mosaique figcaption{
  	display: none;
  }*/

  body.web .ants figcaption,
  body.web .associating figcaption{
  	display: none;
  }

  body.web .chapter .tag{
  	max-width: 100%;
  	margin-top: calc((var(--font-size) * var(--line-height) * 4));
  	margin-bottom: calc((var(--font-size) * var(--line-height) * 2));
  }

  body.web .chapter .snippet.snippet-even{
	  margin-left: 10%;
	}

	body.web .chapter .snippet.snippet-odd{
	  margin-left: 0;
	}

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

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

	body.web .entrance h1{
		color: var(--main-color);
	}

	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;
	/*  border-radius: 10px;*/
	  padding: 0px 6px 6px;
	  background-color: var(--main-color);
	  color: white;
	  cursor: pointer;
	  z-index: 1100;
	  display: none;
	}

	body.web .half-left,
	body.web .half-right{
		position: relative;
	}

	body.web.home header{
		position: fixed;
		width: 100%;
		height: auto;
		overflow: hidden;
		top: 0;
		background-color: var(--main-color);
	}

	body.web.home header h1{
		font-size: 30px;
		color: #FFF;
		text-align: center;
		margin-bottom: 0;
	}

	body.web.home main{
		max-width: 100%;
	}

	body.web.home .home-main-wrapper{
		margin-top: 100px;
	}

	body.web.home .home-main-wrapper main{
		padding: 40px 80px;
	}

	.links-btn{
		display: flex;
	}

	.links-btn div{
		background-color: var(--main-color);
		font-family: var(--title-font);
		margin-right: 20px;
		padding: 10px 20px;
	}

	.links-btn div a{
		color: #FFF;
	}

	body.web.home h2{
		margin-bottom: 20px;
	}

	.homeprint{
		margin-top: 30px;
		padding: 10px 30px 30px 30px;
  	box-shadow: 0px 0px 12px var(--main-color-opacity);
	}

	.homeprint li{
		margin-top: 20px;
	}

	.homeprint a{
		background-color: var(--main-color);
		font-family: var(--title-font);
		color: #FFF;
		padding: 5px 10px;
	}



	/* --------- Responsive Styles ---------- */
	@media only screen and (max-width: 1080px) {
	  body.web .layout {
	    display: block;
	  }

	  body.web .cover{
	  	top: 48px;
	  }

		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: 30px;
	    padding-left: 0;
	    padding-right: 0;
	    padding-top: 10px;
	    background-color: var(--main-color);
	  	color: white;
	  	z-index: 1000;
	  }

	  body.web header h1{
	  	font-size: 19px;
	  	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: 1000;
	  }

	  body.web main {
	  	margin-top: 80px;
	    padding: 0px 20px;
	    width: calc(100% - 40px);
	  }

	  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: 19px;
	  }

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

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

	  body.web.home header h1{
	  	font-size: 18px;
	  }

	  body.web.home .home-main-wrapper main{
	  	padding: 30px;
	  }

	  body.web.home .home-main-wrapper main{
	  	margin-top: 20px;
	  	margin-bottom: 20px;
	  }

	}








