/* ----------- COULEURS - Plaintes et recours ------------ */
/* ----------- background  ------------ */
.bgvertpale {
	background-color: #F6FBF5;
}

/* ------ BG Items ------- */
.fondgris {
	background-color: #eaeaea !important;
}

/* ------ Tableau ------- */
.fondblanc {
	background-color: #ffffff !important;
}

/* ------ Encadre Offre ------- */
.fondvertpale {
	background-color: #D3E5F9;
}

/* ------ Tableau ------- */
.fondgrispale {
	background-color: #f2f2f2 !important;
}

/* ------ Tableau ------- */

/* ----------- Textes  ------------ */
.vert {
	color: #43B02A;
}

.blanc {
	color: #FFFFFF;
}

.orange {
	color: #FF8C75;
}


/* ----------- Margin et Padding  ------------ */
.mb-20 {
	margin-bottom: 20px!important;
}
.mp-0 {
	margin: 0!important;
	padding: 0!important;
}

.mb-10 {
	margin-bottom: 10px!important;
}

.mt-30 {
	margin-top: 30px!important;
}

.mt-40 {
	margin-top: 40px!important;
}

.mt-20 {
	margin-top: 20px!important;
}

.mt-10 {
	margin-top: 10px!important;
}

/* -----------  Container - Plaintes et recours------------*/


.grid-container-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin: 0 auto;
	padding: 0;
	margin-bottom: 10px;
}

/* ----------- TUILES ENTETE - Plaintes et recours------------*/

/* ----------- Flex container -----------*/


.flex-container-accueil {
	display: flex;
	padding-bottom: 8px;
	gap: 8px;
	/*padding-bottom: 24px;*/
	/*flex-direction: row;*/
	/* flex-wrap: wrap; */
}

.flex-container-accueil>div {
	border-radius: 15px;
	height: 170px;
	/*max-width: 30%;*/
	/*min-width: 24%;*/
	background-color: #F6FBF5;
	/* margin: auto; */
	display: flex;
	/* align-items: center; */
	justify-content: center;
	padding-top: 5px;
	/* margin:4px;*/

}

.flex-container-accueil>div:hover,
.flex-container>div:hover {
	background-color: #30BD73;
}


.flex-container-accueil span,
.flex-container-accueil a {
	color: #FFFFFF;
	text-align: center;
	text-decoration: none !important;
	max-width: 120px;
	line-height: normal;
	padding-top: 10px;
	display: inline-block;
}

.flex-container-accueil a:hover,
.flex-container-accueil a:visited {
	color: #FFFFFF;
	text-align: center;
	text-decoration: none !important;
}

.flex-container-accueil img {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 95px;
	height: auto;
	padding: 3px;
}

/*.flex-container-accueil .row {
  margin:0!important;
})*/


.flex-container {
	display: flex;
	flex-flow: row wrap;
	align-content: space-between;
	gap: 8px;
}

.flex-container>div {
	border-radius: 15px;
	height: 120px;
	width: 120px;
	background-color: #F6FBF5;
	/*margin: auto;*/
	display: flex;
	align-items: center;
	justify-content: center;
}

.flex-container img {
	display: block;
	width: 80%;
	min-width: 100px;
	max-width: 125px;
	/*actual image width*/
	height: auto;
	/* maintain aspect ratio*/
	margin: auto;
	/*optional centering of image*/
}

.wrapper {
	background-color: #FFFFFF;
}


/* ---  CONTENU DE L'OFFRE - Plaintes et recours --- */

/* ----- Titre ----*/

h2.h2section {
	font-family: "Gotham Cond A", "Gotham Cond B";
	font-weight: 700;
	font-size: 3.5em;
	line-height: 0.8em;
	margin: 0 0 10px 0;
	position: relative;
	z-index: 2;
	padding-top: 0.8rem;
	text-transform: uppercase;
}

h2.h2section span {
	font-family: "Gotham Cond A", "Gotham Cond B";
	font-size: 0.8em !important;
	margin: 0px !important;
	line-height: 0.8em !important;
	text-transform: uppercase !important;
}

h2.titre-section {
	font-weight: 400 !important;
	padding-right: 20px;
	padding-left: 20px;
	font-size: 1.5rem !important;
	text-transform: uppercase;
	line-height: normal;
}

h2.titre {
	font-weight: 700;
	padding-right: 20px;
	padding-left: 20px;
	font-size: 3.5rem;
	text-transform: none;
	line-height: normal;
	letter-spacing: 1.8px;
}

h3.titre {
	color: #43B02A;
	font-weight: 700;
	padding-right: 70px;
	padding-left: 20px;
	font-size: 1.5rem;
}

div.row.profils {
	/*display: grid;
    grid-template-columns: repeat(2, 1fr);*/
	padding-left: 0px !important;
	padding-right: 10px;
	margin-bottom: 24px;
}

div.profils h3.titre {
	color: #43B02A;
	font-weight: 700;
	padding-right: 0px;
	padding-left: 0px;
}

div.row.questions {
	background: rgba(16, 178, 195, 0.15);
	border-radius: 15px;
	padding: 20px;
	color: #FFFFFF;
	margin: 0px 0px 24px 0px;
	border: 1px solid rgba(46, 57, 255, 1);
}


div.questions h3.titre {
	color: rgba(46, 57, 255, 1) !important;
	font-weight: 700;
	padding: 20px 0 0 0;
}

.box-questions {
	padding: 20px;
	border: 1px solid #43B02A;
	border-radius: 15px;
	min-height: 200px;
}

div.row.visiteurs {
	border: 1px solid #43B02A;
	border-radius: 15px;
	padding: 20px;
	margin: 24px 0px 0px 0px;
}

div.visiteurs h4.titre {
	font-weight: 700;
}

div.visiteurs p.sous-titre,
div.questions p.sous-titre {
	padding: 0px;
	color: #444444;
}

div.visiteurs p {
	word-wrap: break-word;
	white-space: normal;
	display: inline;
}

div.visiteurs img {
	float: left;
	margin-bottom: 20px;
}

.bulle-important {
	position: absolute;
	right: -20px;
	top: -40px;
}

/* ----- Texte ----*/
p.text-intro {
	padding-right: 20px;
	padding-left: 20px;
	font-style: italic;
}

p.text-intro a,
p.sous-titre a {
	font-weight: 600;
	text-decoration: none !important;
}

p.sous-titre {
	padding-left: 20px;
	padding-right: 70px;
}

.summary-titre {
	color: #43B02A;
	font-weight: 700;
	padding-right: 70px;
	padding-left: 20px;
	font-size: 1.3rem;
	font-family: "Gotham SSm A", "Gotham SSm B", Arial, sans-serif;
	font-style: normal;
	text-rendering: optimizeLegibility;
	/*display: inline-block;*/
	unicode-bidi: isolate;
	line-height: normal;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 1 0 0;
}

.summary-sous-titre {
	padding: 0px 40px 20px 20px;
	font-weight: 400;
	font-size: 14px;
	color: #444444;
	display: block;
	unicode-bidi: isolate;
	text-rendering: optimizeLegibility;
	line-height: normal;
	margin-top: 4px;
}

div.profils p.sous-titre {
	padding-left: 0px;
	padding-right: 8px;
}

.candidat {
	padding-right: 0px;
}

button.bouton-orange:hover {
    background: #FF8C75;
    color:#FFFFFF!important;
    text-decoration: none!important;
}

button.bouton-orange:hover a {
    color:#FFFFFF!important;
    text-decoration: none!important;
}

button.bouton-orange {
	border-radius: 4px;
	border: 2px solid #FF8C75;
	cursor: pointer;
	line-height: 16px;
	padding: 16px;
	position: relative;
	font-size: 14px;
    display: inline-block;
    width: auto;
    height: auto;
    background-color: transparent;
    text-decoration: none!important;
    text-transform: none;
    margin-bottom: 20px !important;

}

button.bouton-orange span, button.bouton-orange span a{
    text-decoration: none!important;
    font-weight:700!important;
}

/* -----Espace entre section ----*/
.space-margin {
	clear: both;
	margin-bottom: 1.5rem;
}


/* ----------- ACCORDEONS Plaintes et recours------------*/

.box-accordeons {
	width: 100%;
	/*margin-bottom: 25px !important;*/
	position: relative;
	list-style-image: none;
	border-radius: 15px;
	background-color: #F6FBF5;
	border: none;
	/*padding: 20px;*/
	/*border-top:0px solid #006D77 !important;*/
	/*border-bottom:1px solid #006D77 !important;*/
}

.box-accordeons a {
  color:#444444!important;
  text-decoration: underline!important;
  font-weight: 400!important;
}

.hyperlien a {
  color:#444444!important;
  text-decoration: underline!important;
  font-weight: 400!important;
}

.box-accordeons:hover {
	background: #F6FBF5;
}

.box-accordeons h4 {
	font-weight: 700;
}

.box-accordeons div {
	border-left: none;
}

.description {
	width: 100%;
	height: auto;
	margin-left: 5px;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #ffffff !important;
	display: inline-block;
}

.description h3 {
	color: #FF8C75;
	font-weight: 400;
	padding: 20px 20px 5px 20px;
}

.description h4 {
	font-size: 0.8rem;
	padding: 20px 20px 0px 20px;
	text-transform: uppercase;
	font-family: "Gotham SSm A", "Gotham SSm B", Arial, sans-serif;
}

.description h5 {
	padding: 5px 20px 0px 20px;
	font-weight: 700;
	text-transform: uppercase;
}

.savoir-plus h5 {
	padding: 5px 20px 0px 20px;
	font-weight: 600;
	font-size: 1rem;
	color: #555;
}

.description p,
.description-details p {
	padding: 5px 20px 0px 20px;
}

div.savoir-plus,
.savoir-plus p {
	padding: 0px 20px 0px 20px;
}

.description img {
	max-width: 240px;
	margin-top: 25px;
	width: 100%;
	margin-right: 20px;
	float: right;
}

.description ul {
	margin-left: 20px;
	padding-top: 5px;
}

.description ul li {
	margin-left: 23px;
}

.details-offre ul,
.details-offre ol {
	padding: 0px 20px 10px 20px;
}

/*.box-accordeons details[open]  {
    background:  rgba(16, 178, 195, 0.06);
    border-radius: 15px;
    padding:15px;
}*/

.box-accordeons details:last-child {
	border-bottom: none;
}


/*summary {
    padding-bottom: 20px;
}*/


details summary:before {
	color: #43B02A;
	content: "+";
	display: none;
}

details div {
	margin: 0px 0px 0px 0px !important;
	padding: 0px 0px 20px 0px !important;
}

.details-offre details div {
	margin: 0px 0px 0px 0px !important;
	padding: 0px 0px 0px 0px !important;
}

details summary {
	width: 100%;
	padding: 1rem 0rem 0rem 0rem;
	border-top: none;
	position: relative;
	cursor: pointer;
	font-weight: normal;
	list-style: none;
	list-style-image: none;
}

details summary:after {
	content: "+";
	color: #43B02A;
	position: absolute;
	font-size: 3rem;
	line-height: 0;
	top: 50%;
	right: 5%;
	font-weight: lighter;
	transform-origin: center;
	transition: 200ms linear;
}

details[open] summary:after {
	transform: rotate(180deg);
	font-size: 3rem;
	content: "–";
}

.details:last-child {
	border-bottom: 1px solid #43B02A;
}

details[open] summary:before {
	display: none;
}

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

/* ---  OPEN / CLOSE TOOGLE ---*/
/*.wrapper-cpa {
    padding-top: 2.5em;
    border-top: none;
}

.toggle-button-cpa {
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}*/

/* --- ANCRES --- */

/* #tuile1, #tuile2,#tuile3,#tuile4,#tuile5,#tuile6,#tuile7,#tuile8,#tuile9,#tuile10 {
   margin-top:0px;
}*/

.retour-en-haut a {
	margin: 20px 20px 0px 20px;
	font-weight: 400;
	font-size: smaller;
	float: right;
	color: #43B02A;
}

.panel {
	border:none!important;
    margin-top:20px!important;
}

/* ---------------- TABLEAU - Plaintes et recours --------------------*/

table {
	border-radius: 10px !important;
	border: #c5c5c5 !important;
}

.tableau-tarifs section {
	display: inline-block !important;
	padding-bottom: 0;
}


.tableau-tarifs table {
	border-collapse: collapse;
	width: 100%;
	border: none;
	margin-bottom: 10px;
	background: none;
}

.tableau-tarifs tr th:first-child,
.tableau-tarifs tr td:first-child {
	text-align: left;
	vertical-align: top;
	line-height: normal;
	max-width: 33%;
	min-width: 28%;
}

.tableau-tarifs tr th:not(:first-child),
.tableau-tarifs tr td:not(:first-child) {
	text-align: center;
	vertical-align: top;
	line-height: normal;
}


.tableau-tarifs tr:nth-child(even) {
	background-color: #f2f2f2;
}

.tableau-tarifs {
	padding-left: 25px !important;
	padding-right: 25px !important;
	padding-bottom: 20px;
	padding-top: 0;
}

section.tableau-tarifs:last-of-type {
	padding-left: 25px !important;
	padding-right: 25px !important;
	padding-bottom: 15px;
	padding-top: 0;
}

.tableau-tarifs .center {
	height: 40px;
	line-height: 40px;
	/* same as height! */
}

.tableau-tarifs th {
	background-color: rgba(46, 57, 255, 1) !important;
	color: #ffffff !important;
	font-weight: 700;
	/*height: 35px;*/
	line-height: normal;
	padding: 20px 5px 20px 10px;
}

.tableau-tarifs th h4 {
	color: #ffffff !important;
	font-weight: 700;
	line-height: normal;
	padding-bottom: 0;
	margin-bottom: 0;
}


/* tableau 2 colonnes */

.tableau-tarifs .deuxcol tr th:first-child {
	width: 66%;
}

.tableau-tarifs .deuxcol tr th:not(:first-child) {
	width: 33%;
}


/* tableau 5 colonnes */

.tableau-tarifs .cinqcol tr th:first-child {
	width: 28%;
}

.tableau-tarifs .cinqcol tr th:not(:first-child) {
	width: 18%;
}

/* Titre au dessus du tableau  */

.tableau-tarifs h5.title-tableau {
	margin-bottom: 10px !important;
	margin-left: 5px !important;
	font-weight: 600;
}

/* Texte dessus le tableau  */
.tableau-tarifs p {
	text-align: left;
	padding-bottom: 5px;
	margin-top: 0;
	margin-left: 5px !important;
}

span.small {
	font-size: smaller !important;
	padding-top: 0;
}

/* Couleur background des rangés */
.table-tarifs tr:nth-child(odd) {
	background-color: #e4e4e4;
}

.table-tarifs tr:nth-child(even) {
	background-color: #ffffff;
}


/* bordure de l'entête */
.tableau-tarifs th:first-child {
	border: none;
	border-top-left-radius: 10px;
}

.tableau-tarifs th:last-child {
	border: none;
	border-top-right-radius: 10px;
}


/* Lignes du tableau */
.tableau-tarifs td {
	border-right: 1px solid #c5c5c5;
}

.tableau-tarifs td:first-child {
	/*border-left: 1px solid #c5c5c5;*/
	border-left: none;
}

.tableau-tarifs td:last-child {
	/*border-right: 1px solid #c5c5c5!important;*/
	border-right: none;
}

.tableau-tarifs tr:last-of-type {
	/*border-bottom: 1px solid #c5c5c5;*/
	border-bottom: none;
	border-bottom-right-radius: 10px !important;
	border-bottom-left-radius: 10px !important;
}


/* Footer du tableau */
.table-footer td:last-child {
	border: none;
	border-bottom-right-radius: 10px !important;

}

.table-footer td:first-child {
	/*border: none;*/
	border-bottom-left-radius: 10px !important;
}

.table-footer .leftBC {
	border-bottom-left-radius: 10px;
}

.table-footer .rightBC {
	border: none;
	border-bottom-right-radius: 10px;
}


/* ----------- TRANSFORMER BLOC MOSAIQUE POUR ACCORDEONS ------------ */


.page-content .four-cols-block .content-core,
.page-content>.content-block {
	padding: 0 !important;
}

.four-cols-cta-core h1,
.four-cols-cta {
	display: none !important;
}

.four-cols-block .four-cols-block-content .four-cols-cta-core h2 {
	font-family: "Gotham Cond A", "Gotham Cond B";
	font-weight: 700 !important;
	font-size: 3.5em !important;
	line-height: 0.8em !important;
	margin: 0 0 10px 0;
	position: relative;
	z-index: 2;
	padding-top: 0.8rem;
	text-transform: uppercase;

}

.four-cols-block .four-cols-block-content .four-cols-cta-core h2 span {
	font-family: "Gotham Cond A", "Gotham Cond B";
	font-size: 0.8em !important;
	margin: 0px !important;
	line-height: 0.8em !important;
	text-transform: uppercase !important;
}

.four-cols-block {
	margin-left: calc(25vw - 2rem + 0.5rem) !important;
}

.four-cols-cta-core {
	border-bottom: 0px !important;
}

.four-cols-block .four-cols-block-content .four-cols-cta-core {
	padding: 0rem 0rem;
	border-left: 0px solid #d9dada;
	border-right: 0px solid #d9dada;
}

.four-cols-block .four-cols-block-content {
	flex-flow: column;
	margin-bottom: 20px;
}

.four-cols-block-content article {
	max-width: 100% !important;
}

.four-cols-block .four-cols-block-content article {
	margin: 0 !important;
}

.page-content section:nth-of-type(1) .four-cols-cta {
	display: block !important;
	width: 150px;
	border: 0px;
}

/*.page-content section:nth-of-type(1) .box-accordeons {
 display: none !important;
}*/

.page-content section:nth-of-type(1) .four-cols-block-content {
	flex-flow: column;
	margin-bottom: 50px;
}

.page-content section:nth-of-type(1) .four-cols-cta img {
	width: auto;
}

.page-content section:nth-of-type(1) .four-cols-cta {
	text-align: center;
}


.four-cols-block-content article:nth-child(1) .vertfonce {
	border-top: 0px solid #006D77 !important;
}


/* ----------- AUTRES ELEMENTS ------------ */

/******espace dans les pages entre les block******/

.lettre-q {
	position: absolute;
	left: calc(0% - 340px);
}

.lettre-e {
	position: absolute;
	right: calc(0% - 140px);
}

.lettre-r {
	position: absolute;
	left: calc(0% - 220px);
}

.des-question {
	position: absolute;
	left: calc(50% - 105px);
}

.bouton-regle {
	background-color: #006FBA !important;
	border-radius: 10px;
	color: #fff;
	height: fit-content;
	justify-content: center;
	align-items: center;
	width: fit-content;
	padding: 20px 20px;
	display: inline-flex;
	margin-top: 15px;
}

.bouton-regle:hover {
	background-color: #2695df !important;
}

.bouton-regle a,
.bouton-regle:hover a {
	color: #fff !important;
}

.demarche {
	display: flex;
	padding-top: 0px;
}

.div-g,
.div-d {
	flex: 1;
	/* Partage l'espace disponible de manière égale */
	margin: 0px;
	padding: 10px;
}

.demarche .div-g {
	text-align: right;
}

.demarche .div-d {
	text-align: left;
}

.demarche .chiffre {
	font-size: 3.5em;
	font-weight: 300;
	display: block;
	line-height: 1em;
}

.demarche .soustitre {
	font-size: 1.7em;
	font-weight: 700;
	display: block;
	line-height: 1em;
}

.demarche .zoneimg-d {
	display: flex;
	align-items: flex-end;
}

.demarche .zoneimg-g {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}

.text-question {
	max-width: 70%;
	display: inline-flex;
	justify-content: center;
	padding-top: 15px;
}

.section-contact {
	display: flex;
	padding-top: 20px;
}

/* -------------- ZONE VIDEOS ---------------*/
.bloc-video {
	padding: 0px;
	/* color:#fff; */
	border-radius: 10px;
}

.titre-video {
	padding-top: 5px;
	display: block;
}

.flex-video {
	margin-bottom: 0px !important;
	padding-top: 0px !important;
}

/* ---------- MOBILE - MÉDIA QUERY -------- */
/* -------- min-width: 768px - max-width: 1440px -------- */

@media (min-width: 768px) and (max-width: 1440px) {

	.grid-container {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 10px;
	}

	.doodle img,
	.doodle2 img {
		height: 60px;
		width: auto;
	}

	.doodle {
		position: absolute;
		top: calc(100% - 45px);
		right: -20px;
		z-index: 1;
	}

	.doodle2 {
		top: calc(100% - 40px);
		left: -20px;
		z-index: 1;
	}
}

/* -------- max-width: 1024px -------- */
@media (max-width: 1024px) {

	.four-cols-block .four-cols-block-content .four-cols-cta-core h2 {
		font-size: 3em !important;
	}

	.flex-container-accueil {
		display: flex;
		padding-bottom: 6px;
		gap: 6px;
		/*padding-bottom: 24px;*/
		flex-direction: row;
		/* flex-wrap: wrap; */
		float: left;
	}

	.description img {
		max-width: 180px;
		margin-top: 25px;
		margin-right: 20px;
		margin-left: 10px;
		width: 100%;
		float: left;
	}

	.tableau * {
		margin: auto;
		display: grid;
	}

	details summary:after {
		content: "+";
		color: #43B02A;
		position: absolute;
		font-size: 2.5rem;
		line-height: 0;
		top: 50%;
		font-weight: lighter;
		transform-origin: center;
		transition: 200ms linear;
	}

	details[open] summary:after {
		transform: rotate(180deg);
		font-size: 2.5rem;
		content: "–";
	}

	.summary-titre {
		font-size: 1rem;
	}

	.four-cols-block {
		margin-left: 0px !important;
	}

	.four-cols-block-content article {
		width: 95% !important;
	}

	/*.box-accordeons img{
        margin-right:20px;
        margin-left:20px;
    }*/

}

/* -------- max-width: 790px -------- */

@media (max-width: 790px) {

	.tableau-tarifs {
		padding-left: 3px !important;
		padding-right: 3px !important;
		padding-bottom: 20px;
	}

	.tableau-tarifs th {
		font-weight: 300;
		color: #ffffff !important;
	}


	.tableau-tarifs th,
	.tableau-tarifs td {
		font-size: 10px;
		line-height: 12px;
		vertical-align: top;
		padding: .4rem;
	}

	.description img {
		max-width: 240px;
		margin-top: 25px;
		margin-right: 20px;
		margin-left: 20px;
		width: 100%;
		float: left;
	}

	.flex-container-accueil span,
	.flex-container-accueil a {
		font-size: 0.88em;
	}

	.demarche {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}

	.demarche .div-d1 {
		justify-content: flex-end;
	}

	.demarche .div-g2 {
		text-align: left;
		order: 2;
	}

	.demarche .div-d2 {
		text-align: left;
		order: 1;
	}

	.demarche .zoneimg-g {
		justify-content: flex-start !important;
	}

	.demarche .zoneimg-d {
		justify-content: flex-end !important;
	}

	.demarche .div-g4 {
		display: none;
	}

	.section-contact {
		display: block;
	}

	.grid-container {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 10px;
	}

	.grid-container-3col {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 10px;
	}

	.grid-container-8col {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 10px;
	}

	.entete {
		display: block !important;
	}

}

/* -------- max-width: 485px -------- */

@media (max-width: 485px) {

	.grid-container-2col {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 10px;
	}
}