/* Roboto police variantes */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 100;
	src: url('../Fonts/Roboto/Roboto-Thin.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 100;
	src: url('../Fonts/Roboto/Roboto-ThinItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 300;
	src: url('../Fonts/Roboto/Roboto-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 300;
	src: url('../Fonts/Roboto/Roboto-LightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 400;
	src: url('../Fonts/Roboto/Roboto-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 400;
	src: url('../Fonts/Roboto/Roboto-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 500;
	src: url('../Fonts/Roboto/Roboto-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 500;
	src: url('../Fonts/Roboto/Roboto-MediumItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 700;
	src: url('../Fonts/Roboto/Roboto-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 700;
	src: url('../Fonts/Roboto/Roboto-BoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
  	font-weight: 900;
	src: url('../Fonts/Roboto/Roboto-Black.ttf') format('truetype');
}
@font-face {
	font-family: 'Roboto';
	font-style: italic;
  	font-weight: 900;
	src: url('../Fonts/Roboto/Roboto-BlackItalic.ttf') format('truetype');
}

/* Open Sans police variantes */
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 300;
	src: url('../Fonts/OpenSans/OpenSans-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 300;
	src: url('../Fonts/OpenSans/OpenSans-LightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 400;
	src: url('../Fonts/OpenSans/OpenSans-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 400;
	src: url('../Fonts/OpenSans/OpenSans-Italic.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 500;
	src: url('../Fonts/OpenSans/OpenSans-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 500;
	src: url('../Fonts/OpenSans/OpenSans-MediumItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 600;
	src: url('../Fonts/OpenSans/OpenSans-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 600;
	src: url('../Fonts/OpenSans/OpenSans-SemiBoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 700;
	src: url('../Fonts/OpenSans/OpenSans-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 700;
	src: url('../Fonts/OpenSans/OpenSans-BoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: normal;
  	font-weight: 800;
	src: url('../Fonts/OpenSans/OpenSans-ExtraBold.ttf') format('truetype');
}
@font-face {
	font-family: 'OpenSans';
	font-style: italic;
  	font-weight: 800;
	src: url('../Fonts/OpenSans/OpenSans-ExtraBoldItalic.ttf') format('truetype');
}

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

h1,
h2,
h3,
h4{
	font-family: 'Roboto';
}

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


.gEspaceur {
    height: 2em;
    width: 2em;
}

.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: "OpenSans";
	font-size: 1vw;
	color: #223654;
}

input {
	font-family: inherit;
}

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

.gContenu-Entete {
    height: 20vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

.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: 14;
}

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

/********************************************************************************************************* Filtres ***/

.gFiltres {
    display: flex;
    flex-direction: column;
    /*flex-direction: row;*/
    justify-content: space-between;
    font-size: 1rem;
	padding: 1em;
    color: #223654;
    background-color: #ececec;    
}

.gFiltres-Entete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.5em;
}

.gFiltres-Titre {
    margin: 0;
    font-size: 1.2em;
    line-height: 1.8em;
    font-weight: 700;
}

.gFiltres label {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.5em;
	margin-bottom: 0.1em;
}

.gFiltres-Contenu {
    flex: 1;
    display: flex;
    flex-direction: column;
    /*flex-direction: row;*/
    margin: 0;
    padding: 0;
}

.gFiltres-Section {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gFiltres-Groupe {
    display: flex;
    flex-direction: column;
}

.gFiltres-Groupe+label {
    font-size: 1.5em;
    padding: 1em;
}

.gFiltres-Groupe-Items {
	display: flex;
	flex-direction: column;
    border: solid thin;
	padding: 0 1em 1em 1em;
}

.gFiltres-Item {
    display: flex;
    flex-direction: column;
    font-size: 1em;
    padding: 1em 0 0 0;
}

.gFiltres-Item input {
    font-size: 1em;
    height: 2.5em;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    padding: 0.5em;
    border: 0.1em solid #6B778A;
    box-sizing: border-box;
    color: #6B778A;}

.gFiltres-Item select {
    height: 2.5em;
    font-size: 1em;
    -webkit-border-radius: 0;
    border-radius: 0;
    padding: 0.5em;
    border: 0.1em solid #6B778A;
    box-sizing: border-box;
    color: #6B778A;
}

.gFiltres-Controles {  
    display: flex;  
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2em 0 0 0;
}

.gFiltres-Appliquer {
    font-size: 1em;
    font-weight: bold;
    color: #095797;
    padding: 1em 1em;
    width: 100%;
    cursor: pointer;
	border: solid 1px #223654;
	background-color: transparent;
}

.gFiltres-Effacer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.gFiltres-Effacer a {
    font-size: 1em;
    font-weight: bold;
    color: #095797;
    text-decoration: none;
    padding: 1.2em 1em;
    cursor: pointer;
}

.gFiltres-Effacer a:visited {
    color: #095797;
}

.gFiltres-Erreur {
	display: none;
}

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

.gAccordeon {
	font-size: 1rem;
}

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

.gAccordeon-Section .gAccordeon-Section {
	border: none;
}

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

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

.gAccordeon-Entete .gAccordeon-Titre {
	position: relative;
	cursor: pointer;
	user-select: none;
	padding: 2em 0;
}
.gAccordeon-Titre {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.gAccordeon-Titre h3 {
	color: #095797;
	font-size: 2em;
}

.gAccordeon-Titre h4 {
	font-size: 1.5em;
}


.gAccordeon-Item .gAccordeon-Titre {
	padding: 1.5em 0 1.5em 1em;
}

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

.gAccordeon-Item .gAccordeon-Contenu {
	padding: 0 1em 1em 1em;
}

.gAccordeon-Entete .gAccordeon-Titre h3,
.gAccordeon-Entete .gAccordeon-Titre h4 {
	margin-block-start: 0;
	margin-block-end: 0;
	padding-right: 4em;
}

.gAccordeon-Entete .gAccordeon-Titre::after {
	position: absolute;
	right: 1em;
	width: 2em;
	height: 1em;
	content: "";
	background-image: url("../Icons/fleche_bas.svg");
	background-repeat: no-repeat;
	transition: transform 0.5s;
}

/*.gAccordeon-Contenu .gAccordeon-Section > .gAccordeon-Entete > .gAccordeon-Titre::after {*/
.gAccordeon-Contenu .gAccordeon-Titre::after {
    width: 1.5em;
	height: 0.75em;
}

.gAccordeon-Contenu {
	display: none;
}

.gAccordeon-Section.ouvert > .gAccordeon-Contenu {
	display: block;
}

.gAccordeon-Section.ouvert > .gAccordeon-Entete > .gAccordeon-Titre::after {
	transform: rotate(180deg);
}

.gAccordeon-Contenu p {
	font-size: 1em;
}

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

/*************************************************************************************************** TableMatieres ***/

.gTableMatieres {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.gTableMatieres-Section {
	flex-basis: 25%;
	position: relative;
	padding: 1rem 1rem 1rem 3rem;
}

.gTableMatieres-Titre a {
	color: #223654;
	text-decoration: none;
}

.gTableMatieres ul {
	list-style: none;
	padding-inline-start: 0;
}

.gTableMatieres-Section li a {
	font-size: 0.8rem;
	color: #223654;
	text-decoration: none;
}

.gTableMatieres-Icone {
	position: absolute;
	top: 0;
	left: 0;
}

.gTableMatieres-Plus a {
	font-size: 0.7rem;
	text-decoration: none;
}

/****************************************************************************************************** Pagination ***/

.gPagination {
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 1.1rem;
}

.gPagination ul {
	display: flex;
	flex-direction: row;
	list-style: none;
	margin-block-start: 0;
	margin-block-end: 0;
	padding-inline-start: 0;
}

.gPagination ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1em;
	width: 1em;
	/*padding: 0.15em 0.5rem 0.5rem 0.5rem;*/
}

.gPagination li a {
	color: #095797;
	text-decoration: none;
}

.gPagination li.active {
	color: #223654;
}

li.gPagination-Precedente,
li.gPagination-Suivante {
	padding-top: 0!important;
}

.gPagination-Precedente a,
.gPagination-Suivante a {
	font-size: 1.8em;
	padding-bottom: 0.2em;
	text-decoration: none;
}

.gPagination li a:hover {
	font-weight: bold;
	text-decoration: underline;
}

li.gPagination-Precedente a:hover,
li.gPagination-Suivante a:hover {
	text-decoration: none;
}

.gPagination-Elements {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: 1.125em;
	font-weight: 600;
	line-height: 1.75em;
	text-align: left;    
	border-bottom: 0.063em solid #223654;
  }
  
  .gPagination-Options {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 1.5em 0;
	border-bottom: 0.063em solid #c5cad2;
  }
  
  .gPagination-Options-Item label {
	font-size: 0.8em;
	font-weight: bold;
  }
  
  .gPagination-Options-Item input {
	font-size: 1em;
	width: 2em;
  }
  
  .gPagination-Options-Item select {
	font-size: 1em;
	height: 2.5em;
	-webkit-border-radius: 0;
	border-radius: 0;
	padding: 0.5em 0 0.5em 0.5em;
	background-color: transparent;
	border: 0.1em solid #6B778A;
	box-sizing: border-box;
  }
  
/******************************************************************************************* Bouton retour en haut ***/

.gRetourHaut {
    bottom: 4rem;
    right: 2rem;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #095797;
    box-shadow: 0px 2px 8px 0px rgba(34, 54, 84, 0.24);
    padding: 0.625rem;
}

.gRetourHaut:hover {
	background-color: #156BB2;
}

.gRetourHaut-fleche {
    width: 2rem;
    height: 2rem;
}

/******************************************************************************************************** Messages ***/

/*	Avis 
	frame-layout-20 : avis-general   
	frame-layout-21 : avis-avertissement
	frame-layout-22 : avis-erreur
	frame-layout-23 : avis-succes
	frame-layout-24 : avis-complementaire
*/
.typo3-messages li {
	list-style: none;
}

.typo3-messages,
.frame-layout-20,
.frame-layout-21,
.frame-layout-22,
.frame-layout-23,
.frame-layout-24 {
    background-color: #ffffff;
    border: 0.063rem solid #c5cad2;
    font-size: 1rem; 
    padding: 1.5rem 1.5rem 1.5rem 4rem;
    margin-bottom: 1rem;
    position: relative;
}

.typo3-messages .alert::before,
.frame-layout-20::before,
.frame-layout-21::before,
.frame-layout-22::before,
.frame-layout-23::before,
.frame-layout-24::before {
    position: absolute;
    margin-left: -4rem;
    padding: 0 0.63rem 0 0.63rem;
    top: 0;
    bottom: 0;
    padding-top: 2rem;
    width: 1.5rem;
}

.typo3-messages h4,
.frame-layout-20 > h2, 
.frame-layout-21 > h2,
.frame-layout-22 > h2,
.frame-layout-23 > h2,
.frame-layout-24 > h2,
.frame-layout-20 header > h2, 
.frame-layout-21 header > h2,
.frame-layout-22 header > h2,
.frame-layout-23 header > h2,
.frame-layout-24 header > h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.typo3-messages .alert-message,
.frame-layout-20 > p,
.frame-layout-21 > p,
.frame-layout-22 > p,
.frame-layout-23 > p,
.frame-layout-24 > p {
    margin: 0;
    font-weight: 400;
}

.frame-layout-20::before{
	content: "";
	background-image: url('../Icons/avis-general.svg');
	background-color: #dae6f0;
	background-repeat: no-repeat;
	background-size: 1.5em;
    background-position: center calc(100% - 1.5em);
    color: #095797;
	transform: scaleY(-1);
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
}

.typo3-messages .alert-warning::before,
.frame-layout-21::before{
	content: "";
	color: #ad781c;
	background-image: url('../Icons/avis-avertissement.svg');
	background-color: #f8e69a;
	background-repeat: no-repeat;
	background-size: 1.5em;
    background-position: center 1.5em;
}

.typo3-messages .alert-danger::before,
.frame-layout-22::before{
	content: "";
	color: #cb381f;
	background-image: url('../Icons/avis-erreur.svg');
	background-color: #ffdbd6;
	background-repeat: no-repeat;
	background-size: 1.5em;
    background-position: center 1.5em;
}

.typo3-messages .alert-success::before,
.frame-layout-23::before{
	content: "";
	color: #4f813d;
	background-image: url('../Icons/avis-succes.svg');
	background-color: #d7f0bb;
	background-repeat: no-repeat;
	background-size: 1.5em;
    background-position: center 1.5em;
}

.frame-layout-24::before{
	content: "";
	color: #223654;
	background-image: url('../Icons/avis-complementaire.svg');
	background-color: #f1f1f2;
	background-repeat: no-repeat;
	background-size: 1.5em;
    background-position: center 1.5em;
}

/*********************************************************************************************************************/
/****************************************************************************************************** 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 4vw 0vh 4vw;
	}

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

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

	.gAvecLateral {
		flex-direction: column;
	}

	.gFiltres-Entete {
		padding-bottom: 1em;
	}

	/*
	.gFlottant-Gauche,
	.gFlottant-Droite {
		display: none;
	}
	*/

	.gDemande-Acces {
		overflow: auto;
	}

	/* Bouton retour en haut */
	.gRetourHaut {
		visibility: visible;
	}

    .gAccordeon {
        font-size: 0.6rem;
    }
}