html,
body {
	margin: 0;
	padding: 0;
}

.image img {
	max-width: 100%;
	height: auto;
}

.Invisible {
	display: none !important;
}

.gEnvironnement {
	position: fixed;
	top: 0;
	left: 0;
	font-size: 2rem;
	font-weight: bold;
	color: red;
	text-transform: uppercase;
	z-index: 99999;
}

.gStandard {
	font-family: "Roboto", sans-serif;
	font-size: 1vw;
}

.gContenu {
	position: relative;
	flex: 1;
}

.gBaseInter {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	/*
  min-width: 100vw;
  */
	margin: 0;
	padding: 0;
	overflow: hidden;
}

/*
.gConteneur {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  background-color: #ffffff;
  color: black;
}
*/

.gMarges {
	width: 80vw;
	margin-left: 10vw;
	margin-right: 10vw;
	/*
  padding: 0vh 20vw 0vh 20vw;
  */
}

.gPadding {
	padding: 0vh 10vw 0vh 10vw;
}

.gHaut {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gRetourHaut {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 30px;
	z-index: 99;
	border: none;
	outline: none;
	cursor: pointer;
	height: 3vw;
	width: 4vw;
}

.gRetourHaut-Poly {
	stroke: #095797;
}

.gRetourHaut-Poly:hover {
	stroke-width: 16;
}

.gFlottant {
	position: fixed;
	top: 40vh;
	right: -1vw;
	width: fit-content;
	height: fit-content;
	padding: 2vh 2vw;
	border-style: solid none solid solid;
	border-width: 1px;
	border-color: transparent;
	border-radius: 0.75vw 0 0 0.75vw;
	color: #ffffff;
	background-color: #095797;
	transition: width 0.5s, height 0.5s;
	z-index: 99;
	cursor: pointer;
	overflow: hidden;
}

.gFlottant-Titre {
	display: flex;
	align-items: center;
	justify-content: center;
	height: fit-content;
	width: fit-content;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
}

.gFlottant-Lien {
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	height: 0;
	width: 0;
}

.gFlottant-Lien a {
	text-decoration: none;
	font-size: 1rem;
	white-space: nowrap;
	color: #fff;
}

.gFlottant:hover .gFlottant-Titre {
	opacity: 0;
	height: 0;
	width: 0;
}

.gFlottant:hover .gFlottant-Lien {
	opacity: 1;
	height: 3rem;
	width: fit-content;
}

.gFlottant-Bas {
	top: auto;
	right: 10vw;
	bottom: 0vh;
	border-radius: 0.75vw 0.75vw 0 0;
}

.gFlottant-Gauche {
	left: -1vw;
	border-style: solid solid solid none;
	border-width: 1px;
	border-color: transparent;
	border-radius: 0 0.75vw 0.75vw 0;
	transition: width 0.5s, height 0.5s;
}

.gAvecLateral {
	display: flex;
	flex-direction: row-reverse;
}

.gAvecLateral-Principal {
	flex: 1;
	margin-right: 1rem;
}

/******************************************************************************************************* Accordeon ***/

.gAccordeon-Section>header h2 {
	color: #095797;
	/*padding-left: 0!important;*/
}

.frame-accordeon {
	background-color: #ffffff;
	padding-bottom: 0;
	margin-bottom: 0;
	overflow: hidden;
}

.frame-accordeon:nth-of-type(odd) {
	background-color: #f3f3f3;
}

.gAccordeon-Section {
	border-top-style: solid;
	border-top-width: 1px;
	background-color: transparent !important;
}

.frame-accordeon header {
	position: relative;
	cursor: pointer;
	user-select: none;
	padding: 2vw 1vw 2vw 1vw;
}

.gAccordeon-Section>header {
	padding-left: 0;
}

.frame-accordeon:not(.gAccordeon-Section)>div {
	padding: 0 1vw 1vw 1vw;
}

.frame-accordeon header h2,
.frame-accordeon header h3 {
	margin-block-start: 0;
	margin-block-end: 0;
	/*padding: 1vw 3vw 1vw 1vw */
	padding-right: 4vw;
}

.frame-accordeon header::after {
	position: absolute;
	top: 3vw;
	right: 1vw;
	width: 1.5vw;
	height: 0.75vw;
	content: "";
	background-image: url("../Icons/fleche_bas.svg");
	background-repeat: no-repeat;
	transition: transform 0.5s;
}

.gAccordeon-Section>header::after {
	width: 2vw;
	height: 1vw;
}

.frame-accordeon>div {
	display: none;
}

.frame-accordeon.ouvert>div {
	display: block;
}

.frame-accordeon.ouvert>header::after {
	transform: rotate(180deg);
}


/*************************************************************************************************** Demande Acces ***/

.gDemande-Acces {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.gDemande-Acces-Liste table {
	border-collapse: collapse;
	border-spacing: 0;
}

.gDemande-Acces-Liste thead {
	color: #ffffff;
	background-color: #095797;
}

.gDemande-Acces-Liste th,
.gDemande-Acces-Liste td {
	border: solid 1px #ccc;
	padding: 0.8rem;
	text-align: start;
	vertical-align: top;
}

.gDemande-Acces-Liste td a {
	text-decoration: none;
	white-space: nowrap;
}

.gDemande-Acces-Liste td span {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-end;
	padding: 0.2rem;
}

.gDemande-Acces-Liste td span img {
	margin-right: 0.2rem;
}

.gDemande-Acces-NoWrap {
	white-space: nowrap;
}

.grecaptcha-badge {
	bottom: 10vh !important;
}

/*********************************************************************************************************************/
/****************************************************************************************************** media 1024 ***/
/*********************************************************************************************************************/

@media (max-width: 1024px) {

	.gStandard {
		font-size: 1.5vw;
	}

	.gMarges {
		width: 96vw;
		padding: 0 2vw;
		margin-left: 0;
		margin-right: 0;
	}

	.gMillieu {
		flex-direction: column;
	}

	.gGauche,
	.gDroite {
		max-width: none;
	}

	.gAccordeon-Section>header h2 {
		min-height: 6vh;
	}

}

/*********************************************************************************************************************/
/******************************************************************************************************* media 640 ***/
/*********************************************************************************************************************/

@media (max-width: 640px) {

	.gStandard {
		font-size: 3.5vw;
	}

	.gPadding {
		padding: 0vh 2vw 0vh 2vw;
	}

	.gRetourHaut {
		visibility: hidden;
		height: 8vw;
		width: 8vw;
	}

	.gFlottant span {
		font-size: 1rem;
	}

	.gAvecLateral {
		flex-direction: column;
	}

	/*
	.gFlottant-Gauche,
	.gFlottant-Droite {
		display: none;
	}
	*/
	.frame-accordeon header {
		padding: 4vw 1vw 4vw 1vw;
	}

	.frame-accordeon h2 {
		font-size: 1.25rem;
	}

	.frame-accordeon header h3 {
		padding-right: 7vw;
		font-size: 1rem;
	}

	.frame-accordeon>header::after {
		width: 4vw;
		height: 2vw;
	}

	.gAccordeon-Section>header::after {
		top: 4vw;
		width: 6vw;
		height: 3vw;
	}

	.gDemande-Acces {
		overflow: auto;
	}

}