@charset "UTF-8";

/* PAGE D'ACCUEIL */
h1.title {
	max-width: 43ch;
}
h2#references-title {
	display: none;
}
article p,
article ul,
article ol,
hr {
	width: 60%;
}
article ul {
	list-style-type: none;
}
article ul,
article ol {
	padding-left: 1.5rem;
}
hr {
	margin: 0 auto 0 0;
}
section.level2 {
	padding: 0;
}
article #sommaire ul,
article #sommaire ol,
article ul ul,
article ol ol,
article ul ol,
article ol ul {
	width: 100%;
}
article #sommaire > ol,
article #sommaire > ul {
	margin: 0;
}
article #sommaire > ul:first-of-type {
	margin-bottom: 0;
}
article #sommaire > ul:last-of-type {
	margin: 0 0 2rem 0;
}
section#remerciements * {
	hyphens: none;
	-ms-hyphens: none;
	-webkit-hyphens: none;
}
.lang-box {
	font-family: Inconsolata, monospace;
  display: flex;
  justify-content: space-between;
  width: 4rem;
}
.lang-flag {
	cursor: pointer;
	background-color: transparent;
	color: var(--font-color);
	border: 1px solid var(--font-color);
	border-radius: 5px;
}
.lang-flag--active {
	font-weight: bold;
	background-color: var(--font-color);
	color: var(--bg-color);
}
.box {
	border: 1px solid currentColor;
	padding: 1rem;
	width: 57%;
}
.box p {
	width: 100%;
	margin: 0;
}
p:has(a#pdf) {
	text-align: center;
}

[data-lang-en=""] {display:none;}

/* RESPONSIVENESS */

@media screen and (max-width: 700px) {
	body {
		width: 100%;
		margin: 0 auto;
		padding: 0 2.5%;
	}
	a {word-break: break-word;}
	article, .wrapper, #homepage {
		padding: 0;
		width: 100%;
	}
	#homepage {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
		width: 100%;
	}
	#homepage div,
	#homepage section {
	max-width: 100%;
	}
	.homepage-title {
		grid-row-start: 1;
		grid-row-end: 1;
	}
	.sidebar {
		grid-row-start: 2;
		grid-row-end: 2;
	}
	.homepage-toc {
		grid-row-start: 3;
		grid-row-end: 3;
	}
	#homepage > * {
		grid-column-start: 1;
	}
	article p,
	.box,
	figure,
	figure img.maincolumn,
	figcaption,
	iframe,
	table.sourceCode.numberLines,
	hr::after {
		width: 100%;
		max-width: none;
	}
	article > ul,
	article > ol,
	article > blockquote {
		width: 90%;
		max-width: none;	
	}
	h1.title { font-size: 1.6rem }
	h1 { font-size: 1.6rem }
	h2 { font-size: 1.4rem }
	h3 { font-size: 1.2rem }
	pre {
		width: 95%;
		overflow-x: scroll;
	}
	label.margin-toggle:not(.sidenote-number) {
		display: inline; color: var(--accent-color);
	}
	.sidenote, .marginnote {
		display: none;
	}
	.margin-toggle:checked + .sidenote,
	.margin-toggle:checked + .marginnote {
		display: block;
		float: left;
		left: 1rem;
		clear: both;
		width: 95%;
		margin: 1rem 2.5%;
		vertical-align: baseline;
		position: relative;
	}
	label {
		cursor: pointer;
	}
	.table-caption {
		display: block;
		float: right;
		clear: both;
		width: 98%;
		margin-top: 1rem;
		margin-bottom: 0.5rem;
		margin-left: 1%;
		margin-right: 1%;
		vertical-align: baseline;
		position: relative;
	}
	figcaption {
		float: none;
	}
	ul, ol {
		padding-left: 1em;
	}
}

/* TOC BUTTON */
.toc-btn {
	display: none;
}