@font-face { font-family: 'Lora';               src: url('font/lora-v37-latin-regular.woff2') format('woff2');               font-weight: 400; font-display: swap; }
@font-face { font-family: 'Lora';               src: url('font/lora-v37-latin-500.woff2') format('woff2');               font-weight: 500; font-display: swap; }
@font-face { font-family: 'Lora';               src: url('font/lora-v37-latin-600.woff2') format('woff2');               font-weight: 600; font-display: swap; }
@font-face { font-family: 'Lora';               src: url('font/lora-v37-latin-700.woff2') format('woff2');               font-weight: 700; font-display: swap; }

:root {
	--vert-fonce: rgb(41, 49, 28);
	--vert-clair: rgba(232, 239, 228, 1);
	--vert-vif: rgba(134, 185, 52, 1);
	--vert-texte: rgb(62, 92, 30);
	--fond-blanc: rgba(255, 255, 255, 0.65);
	--blanc-chaud: rgb(252, 248, 230);
}

[id] {
	scroll-margin-top: 16px;
}

body {
	margin: 0;
	font-family: 'Lora', georgia;
	background-color: white;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center top;
}

section {
	display: flow-root;
	margin-left: 3%;
	margin-right: 3%;

	padding-bottom: 5%;

	min-height: 200px;
}

section, div {
	border-radius: 20px;
}

section h1 {
	font-style: normal;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	font-size: 300%;

	margin: 0%;
	margin-top: 5%;
	color: var(--vert-fonce);
	opacity: 1;
}

section h2 {
	font-weight: bold;
	text-align: center;
	font-size: 170%;
	margin: 0 0 12px 0;
	color: var(--vert-fonce);
}

section p {
	color: black;
	margin: 0 0 24px 0;
}

h3, h4, h5, h6 {
	font-weight: bold;
	font-size: 100%;
	color: black;
}

a {
	text-decoration: none;
	color: black;
}

a.lien-vert {
	color: rgba(134, 185, 52, 1);
}

.sac {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-content: center;
	padding-left: 7%;
	padding-right: 7%;
}

.bulle {
	flex: 0 1 30%;
	min-width: 0;
	min-height: 200px;
	margin-top: 4%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
}

.bulle h3, .bulle h4 {
	text-align: center;
	margin: 0.5% 10%;
}

.bulle p {
	text-align: center;
	margin: 0.5% 10%;
}

.bulle p a {
	white-space: nowrap;
}

.sac-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-content: center;
	padding-left: 7%;
	padding-right: 7%;
}

.bulle-logo {
	flex: 0 1 30%;
	min-width: 0;
	min-height: 200px;
	margin-top: 4%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.bulle-logo a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: inherit;
}

.bulle-logo img {
	display: block;
	width: 40%;
	max-width: 160px;
	aspect-ratio: 1;
	object-fit: contain;
}

.bulle-logo h3 {
	text-align: center;
	margin: 0.5% 10%;
}

.bulle-logo p {
	text-align: center;
	margin: 0.5% 10%;
}

.banniere1 {
	padding-top: 0;
	padding-bottom: 0;

	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.banniere1 div {
	display: flex;
	flex-direction: column;
	min-height: 500px;
	min-width: 100%;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.5);
}

.banniere1 h1, .banniere2 h1 {
	font-weight: 400;
	text-align: center;
	font-size: 400%;
	margin: 5% 0 3% 0;
	color: white;
}

.banniere1 h2, .banniere2 h2 {
	font-weight: 400;
	text-align: center;
	font-size: 120%;
	margin: 0;
	margin-bottom: 5%;
	color: white;
}

.banniere2 {
	padding-top: 0;
	padding-bottom: 0;
	background-color: rgb(41, 49, 28);
}

.banniere2 div {
	display: flex;
	flex-direction: column;
	min-height: 200px;
	min-width: 100%;
	justify-content: center;
}

.banniere2 h1, .banniere2 h2 {
	color: white;
	margin: 0;
}

.sommaire {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	border: none;

	margin: 2% 0 2% 0;
}

.sommaire a {
	margin: 0 2% 0 0;

	padding: 7px 16px;
	border-radius: 999px;
	border: 2px solid var(--vert-fonce);
	background: var(--vert-fonce);
	color: white;
	transition: background-color 0.2s, border-color 0.2s;
}

.sommaire a:hover, .sommaire a:focus-visible {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: var(--vert-texte);
	color: var(--vert-texte);
}

.titre-mobile {
	display: none;
}

.bouton {
	display: inline-block;
	align-self: center;
	padding: 7px 16px;
	border-radius: 999px;
	border: 2px solid var(--vert-fonce);
	background: var(--vert-fonce);
	color: white;
	transition: background-color 0.2s, border-color 0.2s;
	margin-top: 3%;
}

.bouton:hover, .bouton:focus-visible {
	background: var(--vert-texte);
	border-color: var(--vert-texte);
}

.boutons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.bouton-banniere {
	display: inline-block;
	align-self: center;
	padding: 14px 24px;
	border-radius: 999px;
	border: 2px solid var(--fond-blanc);
	background: var(--vert-fonce);
	color: white;
	transition: background-color 0.2s, border-color 0.2s;
	margin: 0;
}

.bouton-banniere:hover, .bouton-banniere:focus-visible {
	background: var(--vert-texte);
	border-color: var(--vert-texte);
}

.section2 {
	background-color: rgba(232, 239, 228, 1);
}

.section3 {
	background-color: rgba(200, 213, 177, 1);
}

.encadrement {
	margin: 3% 5% 0% 5%;
}

.encadrement h2, .descriptiftext h2 {
	margin: 0 0 2% 0;
}

.encadrement p {
	text-align: center;
}

.descriptiftext {
	display: flex;
	flex-direction: column;
	border-top: 2px rgb(42, 75, 23) solid;
	margin: 3% 10% 0% 10%;
	padding: 0 3% 1% 3%;
}

.descriptiftext h3, .descriptiftext h4 {
	text-align: center;
	margin: 3% 0 1% 0;
}

.descriptiftext p {
	text-align: justify;
	margin: 1% 0 1% 0;
}

.conteneur {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	max-width: 1040px;
	margin: 3% auto;
	padding-top: 2%;
}

.conteneur div {
	flex: 1 1 calc((100% - 36px) / 3);
	min-width: 260px;
	box-sizing: border-box;
	padding: 22px 22px 16px;
	background: var(--fond-blanc);
	border-radius: 16px;
	text-align: left;
}

.conteneur h3 {
	margin: 0 0 5% 0;
	text-align: center;
	font-size: 110%;
	color: var(--vert-fonce);
}

.conteneur p {
	margin: 0;
	text-align: justify;
	line-height: 1.5;
}

.conteneur ul {
	margin: 0 0 1% 0;
	line-height: 1.5;
}

.conteneur li {
	margin-bottom: 1%;
}

details.especes {
	background: var(--fond-blanc);
	border-top: 2px rgb(42, 75, 23) solid;
	border-bottom: none;
	border-left: none;
	border-right: none;
	border-radius: 20px;
	padding: 14px 22px;
	max-width: 1040px;
	margin: auto;
	margin-top: 1%;
	margin-bottom: 1%;
}

details.especes summary {
	cursor: pointer;
	font-weight: bold;
	color: rgb(62, 92, 30);
	text-align: center;
	list-style: none;
}

details.especes summary::-webkit-details-marker {
	display: none;
}

details.especes summary::before {
	content: "+ ";
}

details.especes[open] summary::before {
	content: "– ";
}

details.especes ul {
	text-align: left;
	width: auto;
	margin: 18px 0 4px 0;
	padding-left: 20px;
	columns: 3 260px;
	column-gap: 32px;
}

details.especes li {
	break-inside: avoid;
	margin-bottom: 4px;
	font-size: 98%;
}

.profil {
	margin: 3% 5% 0% 5%;
	padding: 0 5% 0 5%;
}

.profil h2 {
	margin: 0 0 5% 0;
}

.profil p {
	text-align: justify;
}

.statut {
	display: flex;
	flex-direction: column;
}

.statut h3, .statut h4 {
	text-align: center;
	margin: 0.5% 10%;
}

.statut p {
	text-align: justify;
	margin: 0.5% 10%;
}
