@charset "UTF-8";
/*
Theme Name: krea3-spsr
Theme URI: https://www.krea3.fr/
Description: Theme iCommune Saint-Pierre-sur-Risle
Version: 1.0
Author: Krea3
Author URI: http://www.krea3.fr
Text Domain: krea3
Domain Path: /languages
*/

@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
@import url("https://fonts.googleapis.com/css?family=Exo+2:700,400&subset=latin,cyrillic");

/*
 * Personnalisation client uniquement.
 * Toute la structure commune du site est dans assets/css/parent.css.
 * Les couleurs, polices et tailles principales sont pilotees par les variables :root de header.php.
 */

body {
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	color: #666;
	background: var(--couleur-blanc, #fff);
}

/* Galeries photos des fiches annuaire : supprimer la marge blanche des vignettes. */
#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery ul,
#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery ul.clearfix {
	align-items: flex-start !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	justify-content: flex-start !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb,
#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb.large {
	background: var(--couleur-blanc, #fff) !important;
	border: 1px solid rgba(0, 106, 108, .16) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .08) !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	float: none !important;
	height: auto !important;
	line-height: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	padding: 6px !important;
	width: fit-content !important;
}

#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb a {
	background: transparent !important;
	box-sizing: border-box !important;
	display: block !important;
	height: auto !important;
	line-height: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	padding: 0 !important;
	width: fit-content !important;
}

#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery img.pgthumbimg,
#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb img {
	display: block !important;
	height: 150px !important;
	margin: 0 !important;
	max-width: min(190px, 100%) !important;
	object-fit: cover !important;
	padding: 0 !important;
	width: 190px !important;
}

@media (max-width: 640px) {
	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery ul,
	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery ul.clearfix {
		gap: 12px !important;
	}

	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb,
	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb.large {
		width: calc(50% - 6px) !important;
	}

	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb a,
	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery img.pgthumbimg,
	#content_large #repere-sticky-fiche.taille-texte-variable #description-fiche .plusgallery li.pgthumb img {
		width: 100% !important;
	}
}

a {
	color: var(--couleur-principale, #125d60);
}

a:hover,
a:focus {
	color: var(--couleur-secondaire, #047d8a);
}

button,
input[type="submit"],
input[type="button"],
.btn {
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
}

/* ==========================================================================
   Personnalisation globale du theme
   ========================================================================== */

#diapo-accueil .searchform input[type="text"],
#diapo-accueil .searchform input[type="search"],
#diapo-accueil #searchform input[type="text"],
#diapo-accueil #searchform input[type="search"],
#diapo-texte .searchform input[type="text"],
#diapo-texte .searchform input[type="search"],
#diapo-texte #searchform input[type="text"],
#diapo-texte #searchform input[type="search"] {
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--couleur-noir, #000) !important;
	caret-color: var(--couleur-noir, #000);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	outline: 0 !important;
}

#diapo-accueil .searchform input[type="text"]::placeholder,
#diapo-accueil .searchform input[type="search"]::placeholder,
#diapo-accueil #searchform input[type="text"]::placeholder,
#diapo-accueil #searchform input[type="search"]::placeholder,
#diapo-texte .searchform input[type="text"]::placeholder,
#diapo-texte .searchform input[type="search"]::placeholder,
#diapo-texte #searchform input[type="text"]::placeholder,
#diapo-texte #searchform input[type="search"]::placeholder {
	color: rgba(0, 0, 0, 0.62) !important;
	opacity: 1;
}

#diapo-accueil .searchform input[type="text"]:-webkit-autofill,
#diapo-accueil .searchform input[type="search"]:-webkit-autofill,
#diapo-accueil #searchform input[type="text"]:-webkit-autofill,
#diapo-accueil #searchform input[type="search"]:-webkit-autofill,
#diapo-texte .searchform input[type="text"]:-webkit-autofill,
#diapo-texte .searchform input[type="search"]:-webkit-autofill,
#diapo-texte #searchform input[type="text"]:-webkit-autofill,
#diapo-texte #searchform input[type="search"]:-webkit-autofill {
	-webkit-text-fill-color: var(--couleur-noir, #000) !important;
}

#diapo-accueil .searchform input[type="submit"] {
	background: url(assets/images/loupe.png) no-repeat scroll center center / 25px 25px !important;
	border: none !important;
	cursor: pointer;
	display: block;
	float: right;
	font-size: 0;
	font-weight: normal;
	height: 35px !important;
	margin: 3px 0 0;
	padding: 0;
	text-align: center;
	text-indent: -5000px;
	width: 35px !important;
}

#diapo-accueil .searchform input[type="text"],
#diapo-accueil #searchform input[type="text"] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	display: block !important;
	float: left !important;
	font-size: clamp(1.45rem, 2.1vw, 1.9rem) !important;
	font-weight: 400 !important;
	height: 41px !important;
	line-height: 41px !important;
	margin: 0 !important;
	max-width: 550px;
	outline: 0 !important;
	padding: 0 18px !important;
	width: 80% !important;
}

#diapo-accueil #recherche_site,
#diapo-accueil .recherche_site {
	align-items: center !important;
	box-sizing: border-box !important;
	display: flex !important;
	min-height: 54px !important;
	padding: 6px 20px !important;
}

#diapo-accueil #searchform,
#diapo-accueil .searchform {
	align-items: center !important;
	display: flex !important;
	width: 100% !important;
}

#diapo-accueil #searchform input[type="submit"],
#diapo-accueil .searchform input[type="submit"] {
	flex: 0 0 35px !important;
	margin: 0 0 0 auto !important;
}

#top-header .recherche_site {
	display: inline-block;
	list-style-type: none;
	margin: 0;
	padding: 4px 0 0;
}

#top-header .recherche_site label {
	display: none;
}

#top-header .searchform input[type="text"] {
	border: rgba(0, 0, 0, 0.1);
	display: block;
	float: left;
	font-size: 1em;
	height: 40px;
	margin: 0 10px 0 0;
	padding: 0 10px;
	width: 180px;
}

#top-header .searchform input[type="submit"] {
	display: block;
	float: left;
	font-size: 0;
	font-weight: normal;
	height: 40px;
	margin: 0;
	padding: 0;
	text-indent: -5000px;
	width: 40px;
}

#content,
#content_large,
.taille-texte-variable {
	color: var(--gris-fonce, #444);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1rem;
	line-height: 1.65;
}

#content h1,
#content_large h1,
.page-title,
.titre-fiche {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police, Georgia, serif);
	font-size: clamp(2.45rem, 4vw, 4.8rem);
	font-weight: var(--gras, 700);
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 2rem;
	padding-bottom: 1rem;
	position: relative;
}

#content h1::after,
#content_large h1::after,
.page-title::after,
.titre-fiche::after {
	background: var(--couleur-secondaire, #047d8a);
	bottom: 0;
	content: "";
	display: block;
	height: 4px;
	left: 0;
	position: absolute;
	width: 118px;
}

#content h2,
#content_large h2,
.taille-texte-variable h2 {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police, Georgia, serif);
	font-size: clamp(1.85rem, 2.6vw, 3rem);
	font-weight: var(--gras, 700);
	letter-spacing: 0;
	line-height: 1.15;
	margin: 2.2rem 0 1.1rem;
}

#content h3,
#content_large h3,
.taille-texte-variable h3 {
	color: var(--couleur-noir, #111);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(1.25rem, 1.8vw, 1.8rem);
	font-weight: var(--gras, 700);
	line-height: 1.25;
	margin: 1.6rem 0 0.8rem;
}

#content h4,
#content_large h4,
.taille-texte-variable h4 {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	font-weight: var(--gras, 700);
	line-height: 1.3;
	margin: 1.4rem 0 0.7rem;
}

#content p,
#content_large p,
#content li,
#content_large li {
	line-height: 1.65;
}

#content a,
#content_large a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

#content a:hover,
#content a:focus,
#content_large a:hover,
#content_large a:focus {
	text-decoration-thickness: 2px;
}

/* ==========================================================================
   Fil d'Ariane et outils
   ========================================================================== */

#ligne-outils {
	align-items: center;
	background: rgba(18, 93, 96, 0.06);
	border-left: 5px solid var(--couleur-principale, #125d60);
	box-sizing: border-box;
	column-gap: clamp(1.4rem, 3vw, 2.8rem);
	display: flex;
	justify-content: space-between;
	margin: 0 0 2.2rem;
	max-width: none;
	padding: 1rem clamp(1rem, 3vw, 1.8rem);
	width: 100%;
}

#fil_ariane {
    color: #626262;
    flex: 1 1 0;
    font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
    font-size: clamp(0.95rem, 1.2vw, 1.08rem);
    font-weight: var(--reguliere, 400);
    line-height: 1.45;
    max-width: none !important;
    min-width: 0;
    overflow-wrap: normal !important;
    width: auto;
    word-break: normal !important;
}

#fil_ariane a {
	color: var(--couleur-principale, #125d60);
	font-weight: var(--gras, 700);
	margin: 0 0.18rem;
	text-decoration: none;
}

#fil_ariane a:hover,
#fil_ariane a:focus {
	color: var(--couleur-secondaire, #047d8a);
	text-decoration: underline;
}

#fil_page {
	color: #555;
	margin-left: 0.18rem;
}

#outils {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 0.65rem;
    justify-content: flex-end;
    margin-left: auto;
    max-width: max-content;
    min-width: max-content;
    width: auto;
}

#outils a,
#outils button {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 0;
	color: var(--couleur-principale, #125d60);
	display: inline-flex;
	height: 2.65rem;
	justify-content: center;
	min-width: 2.65rem;
	text-decoration: none;
}

#outils a:hover,
#outils a:focus,
#outils button:hover,
#outils button:focus {
	background: var(--couleur-principale, #125d60);
	color: var(--couleur-blanc, #fff);
}

/* ==========================================================================
   Menu gauche des pages
   ========================================================================== */

#gauche #sidebar-pages {
	border-right: 1px solid rgba(18, 93, 96, 0.18);
	box-sizing: border-box;
	padding: 0 clamp(1.2rem, 2.6vw, 2.4rem) 2rem 0;
}

#gauche #menu_pages,
#gauche #menu_pages ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#gauche #menu_pages .pagenav > a,
#gauche #menu_pages .pagenav {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police, Georgia, serif);
	font-size: clamp(1.9rem, 3vw, 3.2rem);
	font-weight: var(--gras, 700);
	line-height: 1.05;
	margin: 0 0 1.8rem;
}

#gauche #menu_pages .pagenav > ul {
	display: grid;
	gap: 0.85rem;
}

#gauche #menu_pages li {
	margin: 0;
	position: relative;
}

#gauche #menu_pages a {
	box-sizing: border-box;
	color: var(--couleur-principale, #125d60);
	display: block;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-weight: var(--gras, 700);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#gauche #menu_pages .niv-2 > a {
	background: rgba(18, 93, 96, 0.07);
	border-left: 4px solid transparent;
	color: var(--couleur-noir, #111);
	font-size: clamp(1rem, 1.35vw, 1.22rem);
	line-height: 1.25;
	padding: 1rem 1.15rem;
}

#gauche #menu_pages .niv-2.current_page_item > a,
#gauche #menu_pages .niv-2.current_page_parent > a,
#gauche #menu_pages .niv-2.current_page_ancestor > a,
#gauche #menu_pages .niv-2 > a:hover,
#gauche #menu_pages .niv-2 > a:focus {
	background: var(--couleur-principale, #125d60);
	border-left-color: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff);
}

#gauche #menu_pages .children {
	background: rgba(18, 93, 96, 0.035);
	border-left: 3px solid rgba(18, 93, 96, 0.18);
	padding: 0.55rem 0 0.65rem 0.75rem;
}

#gauche #menu_pages .niv-3 > a {
	color: var(--couleur-principale, #125d60);
	display: block;
	font-size: clamp(0.95rem, 1.15vw, 1.08rem);
	line-height: 1.3;
	padding: 0.72rem 0.8rem 0.72rem 2.45rem;
	position: relative;
}

#gauche #menu_pages .niv-3 > a::before {
	background: var(--couleur-secondaire, #047d8a) !important;
	border-radius: 50%;
	content: "" !important;
	height: 0.48rem !important;
	left: 1.15rem !important;
	margin: 0 !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 0.48rem !important;
}

#gauche #menu_pages .niv-3.current_page_item > a,
#gauche #menu_pages .niv-3 > a:hover,
#gauche #menu_pages .niv-3 > a:focus {
	background: var(--couleur-blanc, #fff);
	color: var(--couleur-principale, #125d60);
	text-decoration: underline;
	text-decoration-color: var(--couleur-secondaire, #047d8a);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.35em;
}

/* ==========================================================================
   Contenus editoriaux et citations
   ========================================================================== */

blockquote,
.taille-texte-variable blockquote {
	background: linear-gradient(135deg, rgba(18, 93, 96, 0.08), rgba(18, 93, 96, 0.025));
	border: 0 !important;
	border-left: 6px solid var(--couleur-secondaire, #047d8a) !important;
	box-sizing: border-box;
	color: var(--couleur-principale, #125d60) !important;
	margin: clamp(2rem, 4vw, 3.6rem) 0;
	padding: clamp(1.5rem, 3.5vw, 2.7rem) clamp(1.4rem, 4vw, 3rem);
	position: relative;
}

blockquote::before,
.taille-texte-variable blockquote::before {
	color: rgba(18, 93, 96, 0.2);
	content: "“";
	font-family: Georgia, serif;
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 700;
	left: 0.35em;
	line-height: 1;
	position: absolute;
	top: 0.1em;
}

blockquote p,
.taille-texte-variable blockquote p {
	color: #334f4f;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: clamp(1.1rem, 1.7vw, 1.45rem);
	font-style: italic;
	font-weight: var(--reguliere, 400);
	line-height: 1.65;
	margin: 0;
	padding-left: clamp(2.5rem, 7vw, 5.2rem);
}

blockquote cite {
	color: var(--couleur-principale, #125d60);
	display: block;
	font-style: normal;
	font-weight: var(--gras, 700);
	margin-top: 1rem;
}

/* ==========================================================================
   Formulaire de contact
   ========================================================================== */

.krea3_formulaire,
form.krea3_formulaire,
#content .krea3_formulaire,
#content_large .krea3_formulaire {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.14);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	margin: 2rem auto 4rem;
	max-width: 1180px;
	padding: clamp(1.4rem, 4vw, 3.5rem);
}

.krea3_formulaire label {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-weight: var(--gras, 700);
}

.krea3_formulaire input[type="text"],
.krea3_formulaire input[type="email"],
.krea3_formulaire input[type="tel"],
.krea3_formulaire select,
.krea3_formulaire textarea {
	background: rgba(18, 93, 96, 0.04);
	border: 1px solid rgba(18, 93, 96, 0.24);
	box-sizing: border-box;
	color: var(--couleur-noir, #111) !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1.05rem;
	min-height: 3.4rem;
	padding: 0.85rem 1rem;
	width: 100%;
}

.krea3_formulaire textarea {
	min-height: 11rem;
	resize: vertical;
}

.krea3_formulaire input:focus,
.krea3_formulaire select:focus,
.krea3_formulaire textarea:focus {
	border-color: var(--couleur-principale, #125d60);
	box-shadow: 0 0 0 3px rgba(18, 93, 96, 0.16);
	outline: 0;
}

.krea3_formulaire .descriptioncontact {
	color: #626262;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.95rem;
	line-height: 1.35;
}

@media (min-width: 641px) {
	.krea3_formulaire p:not(.rgpd-wrapper) .descriptioncontact {
		clear: both !important;
		display: block !important;
		margin: 0.45rem 0 0 !important;
		max-width: none !important;
		text-align: left !important;
		white-space: normal !important;
	}
}

.krea3_formulaire p.phrase_form_contact_rgpd {
	display: none !important;
}

.krea3_formulaire p.rgpd-wrapper {
	align-items: start !important;
	background: rgba(18, 93, 96, 0.055);
	border: 1px solid rgba(18, 93, 96, 0.18);
	border-left: 6px solid var(--couleur-principale, #125d60);
	box-sizing: border-box;
	column-gap: 1rem;
	display: grid !important;
	grid-template-areas:
		"checkbox label"
		". desc" !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	margin: 2rem 0 !important;
	padding: 1.45rem clamp(1.2rem, 3vw, 2rem) !important;
	row-gap: 0.55rem;
	text-align: left !important;
}

.krea3_formulaire p.rgpd-wrapper .rgpd-label {
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: var(--gras, 700);
	grid-area: label !important;
	line-height: 1.45;
	margin: 0 !important;
}

.krea3_formulaire p.rgpd-wrapper .rgpd-consent {
	display: contents !important;
}

.krea3_formulaire p.rgpd-wrapper input[type="checkbox"] {
	appearance: auto !important;
	grid-area: checkbox !important;
	height: 22px !important;
	margin: 0.15rem 0 0 !important;
	position: static !important;
	width: 22px !important;
}

.krea3_formulaire p.rgpd-wrapper #descriptionrgpd,
.krea3_formulaire p.rgpd-wrapper .descriptioncontact {
	color: #626262;
	display: block !important;
	font-size: 0.98rem;
	grid-area: desc !important;
	line-height: 1.45;
	margin: 0 !important;
	max-width: none !important;
	text-align: left !important;
	white-space: normal !important;
}

.krea3_formulaire input[type="submit"],
.krea3_formulaire button[type="submit"],
#content .krea3_formulaire input[type="submit"] {
	background: var(--couleur-principale, #125d60) !important;
	border: 2px solid var(--couleur-principale, #125d60) !important;
	box-sizing: border-box;
	color: var(--couleur-blanc, #fff) !important;
	cursor: pointer;
	display: block !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: 1.05rem;
	font-weight: var(--gras, 700);
	line-height: 1.2;
	margin: 2.2rem auto 0 !important;
	min-height: 3.75rem;
	min-width: min(360px, 100%) !important;
	padding: 1rem 1.8rem !important;
	text-align: center;
	text-transform: uppercase;
	width: auto !important;
}

.krea3_formulaire input[type="submit"]:hover,
.krea3_formulaire input[type="submit"]:focus,
.krea3_formulaire button[type="submit"]:hover,
.krea3_formulaire button[type="submit"]:focus {
	background: var(--couleur-secondaire, #047d8a) !important;
	border-color: var(--couleur-secondaire, #047d8a) !important;
	color: var(--couleur-blanc, #fff) !important;
}

.krea3_formulaire p:has(input[type="submit"]),
.krea3_formulaire p.submit {
	text-align: center !important;
}

/* ==========================================================================
   Listings annuaire, associations et commerces
   ========================================================================== */

#content_large #listing-annuaire.grid-annuaire,
#content_large .listing.grid-annuaire {
	align-items: stretch;
	display: grid !important;
	gap: clamp(1.35rem, 2.4vw, 2.4rem);
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(270px, 1fr));
	list-style: none;
	margin: clamp(1.8rem, 3vw, 3rem) 0;
	padding: 0;
}

#content_large #listing-annuaire.grid-annuaire .un-bloc-listing {
	background: transparent !important;
	border: 0 !important;
	box-sizing: border-box;
	display: flex !important;
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 100%;
	padding: 0 !important;
	position: static !important;
	width: auto !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	box-shadow: 0 22px 54px rgba(18, 93, 96, 0.08);
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	height: 100% !important;
	min-height: clamp(360px, 34vw, 470px);
	overflow: hidden;
	position: relative;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	width: 100% !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire:hover,
#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire:focus-within {
	border-color: rgba(18, 93, 96, 0.34);
	box-shadow: 0 26px 64px rgba(18, 93, 96, 0.13);
	transform: translateY(-2px);
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > img {
	aspect-ratio: 16 / 10;
	background: rgba(18, 93, 96, 0.05);
	display: block;
	flex: 0 0 auto;
	height: auto !important;
	min-height: 0 !important;
	object-fit: cover;
	object-position: center;
	position: static !important;
	width: 100% !important;
	z-index: 0;
}

#content_large #listing-annuaire.grid-annuaire .commune-annuaire-listing {
	display: none !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a {
	align-items: center;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), var(--couleur-blanc, #fff)) !important;
	border-top: 1px solid rgba(18, 93, 96, 0.12);
	bottom: auto !important;
	color: var(--couleur-noir, #1f1f1f);
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	height: auto !important;
	justify-content: center;
	left: auto !important;
	margin: 0 !important;
	min-height: 150px;
	padding: clamp(1.15rem, 2vw, 1.8rem);
	position: static !important;
	right: auto !important;
	text-align: center;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	z-index: 1;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a:hover,
#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a:focus {
	background: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #1f1f1f);
	outline: 3px solid transparent;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a:focus-visible {
	outline: 3px solid var(--couleur-principale, #125d60);
	outline-offset: -6px;
}

#content_large #listing-annuaire.grid-annuaire h3 {
	color: var(--couleur-noir, #111);
	display: block !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(1.3rem, 1.45vw, 1.9rem);
	font-weight: var(--gras, 700);
	height: auto !important;
	line-height: 1.16;
	margin: 0;
	max-width: 100%;
	padding: 0 !important;
	position: static !important;
	text-align: center;
	width: 100%;
}

#content_large #listing-annuaire.grid-annuaire h3 > span,
#content_large #listing-annuaire.grid-annuaire h3 > span > span {
	display: block !important;
	text-align: center !important;
	vertical-align: initial !important;
	width: 100%;
}

#content_large #listing-annuaire.grid-annuaire h3 .bordure-titre-listing {
	background: transparent !important;
	display: block !important;
	min-height: 0 !important;
	overflow-wrap: anywhere;
	padding: 0 !important;
	word-break: normal;
}

#content_large #listing-annuaire.grid-annuaire h3 .type.agenda {
	color: inherit;
	display: block !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	height: auto !important;
	justify-content: center;
	margin: 0 !important;
	opacity: 1 !important;
	position: static !important;
	text-align: center;
	text-transform: none;
	transform: none !important;
	width: auto !important;
}

#content_large #listing-annuaire.grid-annuaire .ville-agenda-listing {
	align-items: center;
	background: rgba(18, 93, 96, 0.09) !important;
	border-radius: 999px;
	color: var(--couleur-principale, #125d60) !important;
	display: inline-flex !important;
	font-family: var(--police-secondaire, Arial, sans-serif);
	font-size: 0.82rem;
	font-weight: var(--gras, 700);
	gap: 0.35rem;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0 auto 0.8rem !important;
	opacity: 1 !important;
	padding: 0.42rem 0.82rem !important;
	position: static !important;
	text-transform: uppercase;
	transform: none !important;
	width: auto !important;
}

#content_large #listing-annuaire.grid-annuaire .ville-agenda-listing::before,
#content_large #listing-annuaire.grid-annuaire .ville-agenda-listing::after,
#content_large #listing-annuaire.grid-annuaire h3 .type.agenda::before,
#content_large #listing-annuaire.grid-annuaire h3 .type.agenda::after {
	content: none !important;
	display: none !important;
}

#content_large #listing-annuaire.grid-annuaire .ville-agenda-listing svg {
	color: currentColor !important;
	height: 0.9em;
	width: 0.9em;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire p {
	margin: 0;
	padding: 0 !important;
}

#content_large #listing-annuaire.grid-annuaire .categorie-annuaire-bloc-listing {
	color: var(--couleur-principale, #125d60);
	display: inline-block;
	font-size: 0.9rem;
	margin-top: 0.7rem;
}

/* ==========================================================================
   Fiches agenda, annuaire et association
   ========================================================================== */

#content_large #repere-sticky-fiche.taille-texte-variable {
	color: var(--gris-fonce, #444);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
}

#content_large #repere-sticky-fiche .titre-fiche {
	color: var(--couleur-principale, #125d60);
	margin-bottom: 2rem;
}

#content_large #annuaire-taxonomies,
#content_large #description-fiche,
#content_large .bloc-fiche {
	background: rgba(18, 93, 96, 0.04);
	border: 1px solid rgba(18, 93, 96, 0.12);
	box-sizing: border-box;
	margin-bottom: 1.7rem;
	padding: clamp(1.2rem, 2.5vw, 2rem);
}

#content_large #annuaire-taxonomies p,
#content_large #description-fiche p,
#content_large .bloc-fiche p {
	color: #5d5d5d;
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0 0 1rem;
}

#content_large #annuaire-taxonomies .taxo,
#content_large #annuaire-taxonomies .term {
	display: inline-flex;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-weight: var(--gras, 700);
}

#content_large #annuaire-taxonomies .term {
	background: rgba(18, 93, 96, 0.12);
	color: var(--couleur-principale, #125d60);
	margin-left: 0.35rem;
	padding: 0.35rem 0.65rem;
}

#content_large #sticky-bloc-fiche {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	border-top: 5px solid var(--couleur-principale, #125d60);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	padding: clamp(1.2rem, 2.4vw, 2rem);
}

#content_large #sticky-bloc-fiche h2 {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police, Georgia, serif);
	font-size: clamp(1.65rem, 2.2vw, 2.5rem);
	line-height: 1.15;
	margin: 1.4rem 0 1rem;
	padding-bottom: 0.65rem;
	position: relative;
}

#content_large #sticky-bloc-fiche h2:first-child {
	margin-top: 0;
}

#content_large #sticky-bloc-fiche h2::after {
	background: var(--couleur-secondaire, #047d8a);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	width: 82px;
}

#content_large #sticky-bloc-fiche p.btn {
	align-items: center;
	background: rgba(18, 93, 96, 0.06) !important;
	border: 0 !important;
	box-sizing: border-box;
	color: var(--couleur-principale, #125d60);
	display: grid !important;
	gap: 0.75rem;
	grid-template-columns: 24px minmax(0, 1fr);
	margin: 0 0 0.75rem !important;
	min-height: 3.2rem;
	padding: 0.8rem 0.95rem !important;
	text-align: left;
	width: 100% !important;
}

#content_large #sticky-bloc-fiche p.btn svg {
	color: var(--couleur-principale, #125d60);
	height: 1.15rem;
	width: 1.15rem;
}

#content_large #sticky-bloc-fiche p.btn a,
#content_large #sticky-bloc-fiche p.btn a.btn_je_reserve,
#content_large #sticky-bloc-fiche .btn_je_reserve {
	background: transparent !important;
	border: 0 !important;
	color: var(--couleur-noir, #111) !important;
	display: inline !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: 1rem;
	font-weight: var(--gras, 700);
	line-height: 1.3;
	min-height: 0 !important;
	overflow-wrap: anywhere;
	padding: 0 !important;
	text-align: left !important;
	text-decoration: none;
	text-transform: none;
	width: auto !important;
}

#content_large #sticky-bloc-fiche p.btn a:hover,
#content_large #sticky-bloc-fiche p.btn a:focus {
	color: var(--couleur-principale, #125d60) !important;
	text-decoration: underline;
}

#content_large .btn_itineraire {
	align-items: center;
	background: var(--couleur-principale, #125d60);
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-weight: var(--gras, 700);
	gap: 0.55rem;
	margin-top: 1rem;
	padding: 0.85rem 1.1rem;
	text-decoration: none;
}

#content_large .btn_itineraire:hover,
#content_large .btn_itineraire:focus {
	background: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff) !important;
}

@media (max-width: 900px) {
	#ligne-outils {
		align-items: flex-start;
		flex-direction: column;
	}

	#fil_ariane,
	#content #fil_ariane {
		max-width: none !important;
	}

	#outils {
		margin-left: 0;
	}

	#content_large #listing-annuaire.grid-annuaire,
	#content_large .listing.grid-annuaire {
		grid-auto-rows: auto;
		grid-template-columns: 1fr;
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire {
		min-height: 0;
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a {
		min-height: 130px;
	}

	#content_large #listing-annuaire.grid-annuaire h3 {
		font-size: clamp(1.35rem, 7vw, 1.75rem);
	}

	.krea3_formulaire p.rgpd-wrapper {
		grid-template-areas:
			"checkbox label"
			". desc" !important;
		grid-template-columns: 28px minmax(0, 1fr) !important;
	}
}

@media (max-width: 640px) {
	#content h1,
	#content_large h1,
	.page-title,
	.titre-fiche {
		font-size: clamp(2rem, 12vw, 3rem);
	}

	.krea3_formulaire,
	form.krea3_formulaire,
	#content .krea3_formulaire,
	#content_large .krea3_formulaire {
		padding: 1.2rem;
	}

	.krea3_formulaire p.rgpd-wrapper {
		padding: 1.1rem !important;
	}

	blockquote p,
	.taille-texte-variable blockquote p {
		padding-left: 2.2rem;
	}
}

/* ==========================================================================
   Personnalisation page de resultats de recherche
   ========================================================================== */

body.search #image-header-page {
	margin-bottom: 0;
	overflow: hidden;
}

body.search #image-header-page img {
	display: block;
	height: clamp(150px, 16vw, 240px);
	object-fit: cover;
	width: 100%;
}

body.search #main-page {
	background: linear-gradient(180deg, rgba(18, 93, 96, 0.06), rgba(255, 255, 255, 0) 240px);
}

body.search #la-page.largeur92 {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1280px;
	padding: 2.2rem clamp(1.2rem, 4vw, 3.8rem) 5rem;
	width: 100%;
}

.page-resultats-recherche {
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
}

.page-resultats-recherche .page-title {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police, Georgia, serif);
	font-size: clamp(2.6rem, 5vw, 5.2rem);
	font-weight: var(--reguliere, 400);
	letter-spacing: 0;
	line-height: 1.05;
	margin: 1.8rem 0 2.4rem;
	padding: 0 0 1.35rem;
	position: relative;
}

.page-resultats-recherche .page-title::after {
	background: var(--couleur-secondaire, #047d8a);
	bottom: 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 125px;
}

.page-resultats-recherche .page-title span {
	color: var(--couleur-noir, #000);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.58em;
	font-weight: var(--gras, 700);
}

.page-resultats-recherche .nav-results {
	align-items: center;
	display: flex !important;
	gap: 1rem;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 1.6rem;
	padding: 0;
	width: 100%;
}

.page-resultats-recherche .nav-results-bottom {
	border-top: 1px solid rgba(18, 93, 96, 0.14);
	margin: 2.2rem 0 0;
	padding-top: 1.6rem;
}

.page-resultats-recherche .nav-results li {
	margin: 0;
	padding: 0;
}

.page-resultats-recherche .nav-results .nav-suivant {
	margin-left: auto;
}

.page-resultats-recherche .nav-results a {
	align-items: center;
	background: var(--couleur-principale, #125d60);
	box-sizing: border-box;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.95rem;
	font-weight: var(--gras, 700);
	justify-content: center;
	line-height: 1.2;
	min-height: 2.8rem;
	min-width: 0;
	padding: 0.65rem 1.05rem;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
	width: auto !important;
}

.page-resultats-recherche .nav-results a:hover,
.page-resultats-recherche .nav-results a:focus {
	background: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff) !important;
	transform: translateY(-1px);
}

.page-resultats-recherche .krea3-resultats-recherche-liste {
	display: grid;
	gap: 1.4rem;
	margin: 0;
	padding: 0;
}

.page-resultats-recherche .krea3-resultat-recherche {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	border-left: 6px solid var(--couleur-principale, #125d60);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055);
	box-sizing: border-box;
	display: grid !important;
	gap: 1.5rem;
	grid-template-columns: 150px minmax(0, 1fr);
	margin: 0;
	min-height: 180px;
	padding: 1.5rem clamp(1.2rem, 3vw, 2.4rem);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.page-resultats-recherche .krea3-resultat-recherche:hover,
.page-resultats-recherche .krea3-resultat-recherche:focus-within {
	border-left-color: var(--couleur-secondaire, #047d8a);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
}

.page-resultats-recherche .krea3-resultat-recherche-image {
	align-items: center;
	background: var(--couleur-gris-tres-clair, #eef3f3);
	display: flex;
	height: 150px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	width: 150px;
}

.page-resultats-recherche .krea3-resultat-recherche-image img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.page-resultats-recherche .krea3-resultat-recherche-contenu {
	min-width: 0;
}

.page-resultats-recherche .krea3-resultat-recherche-titre {
	font-family: var(--police, Georgia, serif);
	font-size: clamp(1.55rem, 2.35vw, 2.45rem);
	font-weight: var(--gras, 700);
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 0.7rem;
}

.page-resultats-recherche .krea3-resultat-recherche-titre a {
	color: var(--couleur-noir, #000);
	text-decoration: none;
}

.page-resultats-recherche .krea3-resultat-recherche-titre a:hover,
.page-resultats-recherche .krea3-resultat-recherche-titre a:focus {
	color: var(--couleur-principale, #125d60);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.16em;
}

.page-resultats-recherche .krea3-resultat-recherche-extrait {
	color: var(--gris-fonce, #666);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0;
}

.page-resultats-recherche .krea3-resultat-recherche-arretelegal .krea3-resultat-recherche-image img,
.page-resultats-recherche .krea3-resultat-recherche-arrete_legal .krea3-resultat-recherche-image img,
.page-resultats-recherche .krea3-resultat-recherche-arrete-legal .krea3-resultat-recherche-image img,
.page-resultats-recherche .krea3-resultat-recherche-affichagelegal .krea3-resultat-recherche-image img,
.page-resultats-recherche .krea3-resultat-recherche-affichage_legal .krea3-resultat-recherche-image img,
.page-resultats-recherche .krea3-resultat-recherche-affichage-legal .krea3-resultat-recherche-image img {
	display: none !important;
}

.page-resultats-recherche .krea3-resultat-recherche-arretelegal .krea3-resultat-recherche-image,
.page-resultats-recherche .krea3-resultat-recherche-arrete_legal .krea3-resultat-recherche-image,
.page-resultats-recherche .krea3-resultat-recherche-arrete-legal .krea3-resultat-recherche-image,
.page-resultats-recherche .krea3-resultat-recherche-affichagelegal .krea3-resultat-recherche-image,
.page-resultats-recherche .krea3-resultat-recherche-affichage_legal .krea3-resultat-recherche-image,
.page-resultats-recherche .krea3-resultat-recherche-affichage-legal .krea3-resultat-recherche-image {
	background: linear-gradient(135deg, #f8fbfb, var(--couleur-gris-tres-clair, #eef3f3));
	border: 1px solid rgba(18, 93, 96, 0.22);
}

.page-resultats-recherche .krea3-resultat-recherche-arretelegal .krea3-resultat-recherche-image::before,
.page-resultats-recherche .krea3-resultat-recherche-arrete_legal .krea3-resultat-recherche-image::before,
.page-resultats-recherche .krea3-resultat-recherche-arrete-legal .krea3-resultat-recherche-image::before,
.page-resultats-recherche .krea3-resultat-recherche-affichagelegal .krea3-resultat-recherche-image::before,
.page-resultats-recherche .krea3-resultat-recherche-affichage_legal .krea3-resultat-recherche-image::before,
.page-resultats-recherche .krea3-resultat-recherche-affichage-legal .krea3-resultat-recherche-image::before {
	background:
		linear-gradient(135deg, transparent 0 18px, rgba(18, 93, 96, 0.12) 18px 100%),
		var(--couleur-blanc, #fff);
	border: 2px solid var(--couleur-principale, #125d60);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	content: "";
	height: 88px;
	width: 68px;
}

.page-resultats-recherche .krea3-resultat-recherche-arretelegal .krea3-resultat-recherche-image::after,
.page-resultats-recherche .krea3-resultat-recherche-arrete_legal .krea3-resultat-recherche-image::after,
.page-resultats-recherche .krea3-resultat-recherche-arrete-legal .krea3-resultat-recherche-image::after,
.page-resultats-recherche .krea3-resultat-recherche-affichagelegal .krea3-resultat-recherche-image::after,
.page-resultats-recherche .krea3-resultat-recherche-affichage_legal .krea3-resultat-recherche-image::after,
.page-resultats-recherche .krea3-resultat-recherche-affichage-legal .krea3-resultat-recherche-image::after {
	background: var(--couleur-noir, #000);
	bottom: 34px;
	color: var(--couleur-blanc, #fff);
	content: "PDF";
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.02em;
	padding: 0.18rem 0.45rem;
	position: absolute;
	transform: translateX(-50%);
}

.page-resultats-recherche div.hentry {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	border-left: 6px solid var(--couleur-principale, #125d60);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 150px minmax(0, 1fr);
	margin: 0 0 1.4rem;
	padding: 1.5rem clamp(1.2rem, 3vw, 2.4rem);
}

.page-resultats-recherche .search-result-thumbnail {
	display: block;
	height: 150px;
	overflow: hidden;
	width: 150px;
}

.page-resultats-recherche .search-result-thumbnail img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.page-resultats-recherche h3.entry-title {
	font-family: var(--police, Georgia, serif);
	font-size: clamp(1.55rem, 2.35vw, 2.45rem);
	line-height: 1.12;
	margin: 0 0 0.7rem;
}

.page-resultats-recherche h3.entry-title a {
	color: var(--couleur-noir, #000);
}

.page-resultats-recherche .entry-summary,
.page-resultats-recherche .entry-content {
	color: var(--gris-fonce, #666);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1.05rem;
	line-height: 1.65;
}

.page-resultats-recherche .no-results,
.page-resultats-recherche .not-found {
	background: var(--couleur-blanc, #fff);
	border-left: 6px solid var(--couleur-principale, #125d60);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.page-resultats-recherche #searchform,
.page-resultats-recherche .search-form {
	align-items: stretch;
	display: flex;
	gap: 0.8rem;
	margin-top: 1.5rem;
	max-width: 760px;
}

.page-resultats-recherche #searchform input[type="text"],
.page-resultats-recherche .search-field {
	background: var(--couleur-blanc, #fff);
	border: 2px solid rgba(18, 93, 96, 0.25);
	color: var(--couleur-noir, #000) !important;
	flex: 1 1 auto;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1.05rem;
	min-height: 3.4rem;
	padding: 0.85rem 1rem;
}

.page-resultats-recherche #searchform input[type="submit"],
.page-resultats-recherche .search-submit {
	background: var(--couleur-principale, #125d60);
	border: 0;
	color: var(--couleur-blanc, #fff) !important;
	cursor: pointer;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-weight: var(--gras, 700);
	min-height: 3.4rem;
	padding: 0.85rem 1.35rem;
}

@media (max-width: 720px) {
	body.search #la-page.largeur92 {
		padding: 1.5rem 1rem 3rem;
	}

	.page-resultats-recherche .page-title {
		font-size: clamp(2.1rem, 12vw, 3.2rem);
	}

	.page-resultats-recherche .nav-results {
		align-items: stretch;
		flex-direction: column;
	}

	.page-resultats-recherche .nav-results .nav-suivant {
		margin-left: 0;
	}

	.page-resultats-recherche .nav-results a {
		width: 100%;
	}

	.page-resultats-recherche .krea3-resultat-recherche,
	.page-resultats-recherche div.hentry {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 1rem;
		min-height: 150px;
		padding: 1rem;
	}

	.page-resultats-recherche .krea3-resultat-recherche-image,
	.page-resultats-recherche .search-result-thumbnail {
		height: 120px;
		width: 120px;
	}

	.page-resultats-recherche .krea3-resultat-recherche-titre,
	.page-resultats-recherche h3.entry-title {
		font-size: 1.35rem;
	}

	.page-resultats-recherche .krea3-resultat-recherche-extrait,
	.page-resultats-recherche .entry-summary,
	.page-resultats-recherche .entry-content {
		font-size: 0.98rem;
	}

	.page-resultats-recherche #searchform,
	.page-resultats-recherche .search-form {
		flex-direction: column;
	}
}

@media (max-width: 520px) {
	.page-resultats-recherche .krea3-resultat-recherche,
	.page-resultats-recherche div.hentry {
		grid-template-columns: 1fr;
	}

	.page-resultats-recherche .krea3-resultat-recherche-image,
	.page-resultats-recherche .search-result-thumbnail {
		height: 160px;
		width: 100%;
	}
}

/* ==========================================================================
   Personnalisation plugin Krea3 Service Public
   ========================================================================== */

#content #menu-top-guide-demarches,
#content #menu2-guide-demarches {
	list-style: none;
	margin: 2rem 0;
	padding: 0;
}

#content #menu-top-guide-demarches {
	align-items: stretch;
	display: grid !important;
	gap: clamp(0.9rem, 2vw, 1.5rem);
	grid-template-columns: repeat(3, minmax(11rem, 1fr));
	width: 100% !important;
}

#content #menu-top-guide-demarches li {
	box-sizing: border-box;
	display: block !important;
	margin: 0;
	padding: 0;
	width: auto !important;
}

#content #menu-top-guide-demarches a {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	border-top: 5px solid transparent;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	color: var(--couleur-principale, #125d60);
	display: flex !important;
	flex-direction: column;
	font-family: var(--police-secondaire2, var(--police, Arial, sans-serif));
	font-size: clamp(0.8rem, 1vw, 1.05rem);
	font-weight: var(--gras, 700);
	gap: 0.85rem;
	height: 100%;
	hyphens: none;
	justify-content: center;
	line-height: 1.08;
	min-height: clamp(8rem, 12vw, 10.5rem);
	min-width: 0;
	overflow-wrap: normal;
	padding: clamp(1.15rem, 2vw, 1.75rem);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
	white-space: normal;
	width: 100% !important;
	word-break: keep-all;
}

#content #menu-top-guide-demarches a:hover,
#content #menu-top-guide-demarches a:focus,
#content #menu-top-guide-demarches a.current-profil-comarquage {
	border-color: rgba(18, 93, 96, 0.18);
	border-top-color: var(--couleur-principale, #125d60);
	box-shadow: 0 18px 42px rgba(18, 93, 96, 0.15);
	color: var(--couleur-principale, #125d60);
	outline: 0;
	transform: translateY(-2px);
}

#content #menu-top-guide-demarches a img,
#content #menu-top-guide-demarches a svg {
	display: block;
	height: clamp(3.8rem, 6vw, 5.2rem);
	margin: 0 auto;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

#content #menu-top-guide-demarches a span {
	display: block;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: normal;
	white-space: normal;
	word-break: keep-all;
}

#content #menu-top-guide-demarches a:focus-visible,
#content #menu2-guide-demarches a:focus-visible,
#content .un-bloc-liens-comarquage a:focus-visible {
	outline: 3px solid var(--couleur-secondaire, #047d8a);
	outline-offset: 4px;
}

#content #menu2-guide-demarches {
	border-bottom: 1px solid rgba(18, 93, 96, 0.12);
	border-top: 1px solid rgba(18, 93, 96, 0.12);
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.75rem 0.9rem;
	justify-content: center;
	padding: 2rem 0;
	width: 100%;
}

#content #menu2-guide-demarches li {
	display: block !important;
	margin: 0;
	padding: 0;
	width: auto !important;
}

#content #menu2-guide-demarches a {
	align-items: center;
	background: var(--couleur-principale, #125d60);
	box-sizing: border-box;
	color: var(--couleur-blanc, #fff);
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: clamp(0.85rem, 1vw, 1rem);
	font-weight: var(--demi-gras, 600);
	line-height: 1.25;
	min-height: 2.75rem;
	padding: 0.75rem 1rem;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
	white-space: normal;
}

#content #menu2-guide-demarches a:hover,
#content #menu2-guide-demarches a:focus {
	background: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff);
	transform: translateY(-1px);
}

#content #menu-top-guide-demarches + hr,
#content #menu2-guide-demarches + hr,
#content .un-bloc-liens-comarquage hr {
	background: rgba(18, 93, 96, 0.12);
	border: 0;
	height: 1px;
	margin: 2rem 0;
}

#content #menu2-guide-demarches + hr + h1,
#content h1 + .un-bloc-liens-comarquage {
	margin-top: 2rem;
}

#content {
	--comarquage-gap: clamp(1.2rem, 2.2vw, 2rem);
}

#content:has(.un-bloc-liens-comarquage) {
	align-items: stretch;
	display: grid;
	gap: var(--comarquage-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#content:has(.un-bloc-liens-comarquage) > :not(.un-bloc-liens-comarquage) {
	grid-column: 1 / -1;
}

#content .un-bloc-liens-comarquage {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.13);
	box-shadow: 0 16px 42px rgba(18, 93, 96, 0.08);
	box-sizing: border-box;
	clear: none;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	grid-column: auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0;
	overflow: hidden;
	padding: clamp(1.35rem, 2vw, 2rem);
	position: relative;
	width: 100% !important;
}

#content .un-bloc-liens-comarquage.large,
#content .un-bloc-liens-comarquage.small,
#content .un-bloc-liens-comarquage.large + .un-bloc-liens-comarquage.small {
	grid-column: auto !important;
	margin: 0 !important;
	width: 100% !important;
}

#content .un-bloc-liens-comarquage::before {
	background: var(--couleur-principale, #125d60);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

#content .un-bloc-liens-comarquage h2 {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police-secondaire2, var(--police, Arial, sans-serif));
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: var(--gras, 700);
	line-height: 1.15;
	margin: 0 0 1.1rem;
}

#content .un-bloc-liens-comarquage p {
	border-bottom: 1px dashed rgba(18, 93, 96, 0.22);
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
	padding: 0.75rem 0;
}

#content .un-bloc-liens-comarquage p:last-child {
	border-bottom: 0;
}

#content .un-bloc-liens-comarquage p a {
	color: var(--couleur-principale, #125d60);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

#content .un-bloc-liens-comarquage p a::before {
	color: var(--couleur-secondaire, #047d8a);
	content: ">";
	display: inline-block;
	font-weight: var(--gras, 700);
	margin-right: 0.55rem;
}

#content .un-bloc-liens-comarquage p a:hover,
#content .un-bloc-liens-comarquage p a:focus {
	color: var(--couleur-secondaire, #047d8a);
}

#content .un-bloc-liens-comarquage .tous-les {
  border: 0;
  margin-top: auto;
  padding-bottom: 0;
  padding-top: 1rem;
}

#content .un-bloc-liens-comarquage .tous-les a {
	align-items: center;
	background: var(--couleur-principale, #125d60);
	box-sizing: border-box;
	color: var(--couleur-blanc, #fff);
	display: inline-flex;
	font-weight: var(--gras, 700);
	justify-content: center;
	padding: 0.75rem 1rem;
	text-decoration: none;
	width: 100%;
}

#content .un-bloc-liens-comarquage .tous-les a::before {
	color: currentColor;
}

#content .un-bloc-liens-comarquage .tous-les a:hover,
#content .un-bloc-liens-comarquage .tous-les a:focus {
	background: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff);
}

#content::after {
  clear: both;
  content: "";
  display: block;
}

#content:has(.un-bloc-liens-comarquage)::after {
  display: none;
}

@media (max-width: 980px) {
  #content:has(.un-bloc-liens-comarquage) {
    display: grid;
    grid-template-columns: 1fr;
  }

  #content .un-bloc-liens-comarquage,
  #content .un-bloc-liens-comarquage.large,
  #content .un-bloc-liens-comarquage.small {
    display: flex !important;
    float: none !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  #content #menu-top-guide-demarches {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
	}

	#content #menu-top-guide-demarches a {
		min-height: auto;
		padding: 1.35rem 1rem;
	}
}

@media (max-width: 640px) {
	#content #menu-top-guide-demarches {
		grid-template-columns: 1fr !important;
	}

	#content #menu2-guide-demarches {
		display: block;
		padding: 1.25rem 0;
	}

	#content #menu2-guide-demarches li + li {
		margin-top: 0.55rem;
	}

	#content #menu2-guide-demarches a {
		display: flex;
		width: 100%;
	}
}

/* ==========================================================================
   Personnalisation plugin Krea3 Affichage legal
   ========================================================================== */

#content #ligne-outils {
	background: rgba(18, 93, 96, 0.06);
	border-left: 5px solid var(--couleur-principale, #125d60);
	box-sizing: border-box;
	column-gap: clamp(1.4rem, 3vw, 2.8rem);
	margin: 2rem 0 2.5rem;
	max-width: none !important;
	padding: 1rem 1.25rem;
	width: 100%;
}

#content #fil_ariane {
    color: #5f6669;
    flex: 1 1 0;
    font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
    font-size: 0.98rem;
    font-weight: var(--reguliere, 400);
    line-height: 1.45;
    max-width: none !important;
    min-width: 0;
    overflow-wrap: normal !important;
    width: auto;
    word-break: normal !important;
}

#content #fil_ariane a {
	color: var(--couleur-principale, #125d60);
	font-weight: var(--gras, 700);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.2em;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

#content #fil_ariane a:hover,
#content #fil_ariane a:focus {
	color: var(--couleur-secondaire, #047d8a);
	text-decoration-color: currentColor;
}

#content #fil_page {
	color: var(--gris-fonce, #333);
	font-weight: var(--demi-gras, 600);
}

@media (max-width: 900px) {
	#content #fil_ariane {
		max-width: none !important;
	}
}

#content > h1,
#content .krea3-container > h1 {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police-secondaire2, var(--police, Arial, sans-serif));
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: var(--gras, 700);
	line-height: 1.05;
	margin: 0 0 2rem;
	position: relative;
}

#content > h1::after,
#content .krea3-container > h1::after {
	background: var(--couleur-secondaire, #047d8a);
	content: "";
	display: block;
	height: 4px;
	margin-top: 0.8rem;
	width: 6rem;
}

#content h2:not(.screen-reader-text),
#content h3.krea3-title {
	font-family: var(--police-secondaire2, var(--police, Arial, sans-serif));
	font-weight: var(--gras, 700);
	line-height: 1.15;
}

#content .krea3-filters {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.14);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	margin: 0 0 2.5rem;
	padding: clamp(1.25rem, 2vw, 2rem);
	position: relative;
}

#content .krea3-filters::before {
	background: var(--couleur-principale, #125d60);
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

#content #krea3-filters-form {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1.25fr 1fr;
}

#content .krea3-field,
#content .krea3-fieldset {
	border: 1px solid rgba(18, 93, 96, 0.14);
	box-sizing: border-box;
	margin: 0;
	padding: 1.25rem;
}

#content .krea3-field-search {
	grid-column: 1 / -1;
}

#content .krea3-field label,
#content .krea3-fieldset legend,
#content .krea3-period label {
	color: var(--couleur-principale, #125d60);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1rem;
	font-weight: var(--gras, 700);
	margin-bottom: 0.6rem;
}

#content .krea3-field label,
#content .krea3-period label {
	display: block;
}

#content .krea3-fieldset legend {
	padding: 0 0.35rem;
}

#content .krea3-search-wrapper {
	position: relative;
}

#content .krea3-search-wrapper input,
#content .krea3-period input {
	background: var(--couleur-gris-tres-clair, #f2f2f2);
	border: 1px solid rgba(18, 93, 96, 0.24);
	box-sizing: border-box;
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1rem;
	min-height: 3rem;
	padding: 0.8rem 1rem;
	width: 100%;
}

#content .krea3-search-wrapper input:focus,
#content .krea3-period input:focus {
	border-color: var(--couleur-principale, #125d60);
	box-shadow: 0 0 0 3px rgba(18, 93, 96, 0.16);
	outline: 0;
}

#content .krea3-checkboxes {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#content .krea3-checkbox {
	align-items: flex-start;
	display: flex;
	gap: 0.55rem;
}

#content .krea3-checkbox input {
	accent-color: var(--couleur-principale, #125d60);
	flex: 0 0 auto;
	height: 1.05rem;
	margin-top: 0.2rem;
	width: 1.05rem;
}

#content .krea3-checkbox label {
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.98rem;
	line-height: 1.35;
}

#content .krea3-checkbox .krea3-count,
#content .krea3-count {
	color: var(--couleur-principale, #125d60) !important;
	font-weight: var(--gras, 700);
}

#content .krea3-period {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#content .krea3-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	grid-column: 1 / -1;
	justify-content: flex-start;
}

#content .krea3-actions button,
#content .krea3-actions a {
	border: 2px solid var(--couleur-principale, #125d60);
	box-sizing: border-box;
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 1rem;
	font-weight: var(--gras, 700);
	line-height: 1.2;
	padding: 0.85rem 1.25rem;
	text-decoration: none;
}

#content .krea3-actions button {
	background: var(--couleur-principale, #125d60);
	color: var(--couleur-blanc, #fff);
	cursor: pointer;
}

#content .krea3-actions a {
	background: var(--couleur-blanc, #fff);
	color: var(--couleur-principale, #125d60);
}

#content .krea3-actions button:hover,
#content .krea3-actions button:focus,
#content .krea3-actions a:hover,
#content .krea3-actions a:focus {
	background: var(--couleur-secondaire, #047d8a);
	border-color: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff);
	outline: 0;
}

#content #krea3-results .krea3-container {
	margin: 0;
	max-width: none;
	padding: 0;
}

#content #krea3-results > .krea3-container > .krea3-count {
	background: rgba(18, 93, 96, 0.08);
	border-left: 5px solid var(--couleur-principale, #125d60);
	color: var(--couleur-principale, #125d60) !important;
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-weight: var(--gras, 700);
	margin: 0 0 1.5rem;
	padding: 0.7rem 1rem;
}

#content .krea3-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 2rem;
}

#content .krea3-card {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.14);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.055);
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	position: relative;
}

#content .krea3-card::before {
	background: var(--couleur-principale, #125d60);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

#content .krea3-card-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.35rem;
	width: 100%;
}

#content .krea3-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

#content .krea3-term {
	background: rgba(18, 93, 96, 0.08);
	color: var(--couleur-principale, #125d60);
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.82rem;
	font-weight: var(--gras, 700);
	line-height: 1.2;
	padding: 0.4rem 0.55rem;
}

#content h3.krea3-title {
	color: var(--gris-fonce, #333);
	font-size: clamp(1.15rem, 1.7vw, 1.55rem);
	margin: 0 0 1rem;
}

#content .krea3-date {
	align-items: center;
	color: #5f6669;
	display: flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.95rem;
	gap: 0.5rem;
	line-height: 1.35;
	margin: 0 0 1.25rem;
}

#content .krea3-date .krea3-icon {
	color: var(--couleur-principale, #125d60);
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem;
}

#content .krea3-file {
	margin-top: auto;
}

#content .krea3-file .krea3-link {
	align-items: flex-start;
	background: var(--couleur-gris-tres-clair, #f2f2f2);
	color: var(--gris-fonce, #333);
	display: flex;
	gap: 0.75rem;
	padding: 0.85rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#content .krea3-file .krea3-link:hover,
#content .krea3-file .krea3-link:focus {
	background: var(--couleur-principale, #125d60);
	color: var(--couleur-blanc, #fff);
	outline: 0;
}

#content .krea3-file .krea3-icon {
	color: currentColor;
	flex: 0 0 auto;
	height: 1.2rem;
	width: 1.2rem;
}

#content .krea3-file-text {
	flex: 1 1 auto;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: 0.94rem;
	line-height: 1.35;
	min-width: 0;
}

#content .krea3-file-name {
	overflow-wrap: anywhere;
}

#content .krea3-meta {
	font-size: 0.85rem;
	white-space: nowrap;
}

#content .krea3-external {
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem;
}

#content .krea3-grid:has(.krea3-file) {
	grid-template-columns: 1fr !important;
	gap: 1.25rem;
}

#content .krea3-grid:has(.krea3-file) .krea3-card {
	width: 100%;
}

#content .krea3-grid:has(.krea3-file) .krea3-card-body {
	align-items: center;
	display: grid;
	gap: 0.75rem 1.4rem;
	grid-template-columns: minmax(8.5rem, 12rem) minmax(0, 1fr) minmax(12rem, 18rem);
	padding: 1.35rem 1.6rem;
}

#content .krea3-grid:has(.krea3-file) .krea3-tags {
	grid-column: 1;
	grid-row: 1 / span 3;
	margin: 0;
}

#content .krea3-grid:has(.krea3-file) h3.krea3-title {
	font-size: clamp(1.35rem, 2vw, 2rem);
	grid-column: 2;
	grid-row: 1;
	margin: 0;
}

#content .krea3-grid:has(.krea3-file) h3.krea3-title:empty {
	display: none;
}

#content .krea3-grid:has(.krea3-file) .krea3-date {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
}

#content .krea3-grid:has(.krea3-file) .krea3-file {
	grid-column: 3;
	grid-row: 1 / span 3;
	margin: 0;
	min-width: 0;
	width: 100%;
}

#content .krea3-grid:has(.krea3-file) .krea3-file .krea3-link {
	align-items: center;
	border-radius: 999px;
	gap: 0.65rem;
	justify-content: center;
	padding: 0.75rem 1rem;
}

#content .krea3-grid:has(.krea3-file) .krea3-file-text {
	flex: 0 1 auto;
	font-weight: var(--demi-gras, 600);
	line-height: 1.25;
	min-width: 0;
}

#content .krea3-grid:has(.krea3-file) .krea3-file-text > strong,
#content .krea3-grid:has(.krea3-file) .krea3-file-name {
	display: inline;
}

#content .krea3-grid:has(.krea3-file) .krea3-meta {
	color: currentColor;
	opacity: 0.75;
}

#content .krea3-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: center;
	margin: 2.5rem 0 0;
}

#content .krea3-pagination .page-numbers {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.22);
	color: var(--couleur-principale, #125d60);
	display: inline-flex;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-weight: var(--gras, 700);
	justify-content: center;
	min-height: 2.6rem;
	min-width: 2.6rem;
	padding: 0.55rem 0.75rem;
	text-decoration: none;
}

#content .krea3-pagination .page-numbers:hover,
#content .krea3-pagination .page-numbers:focus,
#content .krea3-pagination .page-numbers.current {
	background: var(--couleur-principale, #125d60);
	border-color: var(--couleur-principale, #125d60);
	color: var(--couleur-blanc, #fff);
	outline: 0;
}

#content .krea3-pagination .dots {
	background: transparent;
	border-color: transparent;
	color: var(--gris-fonce, #333);
}

@media (max-width: 1100px) {
	#content .krea3-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	#content #krea3-filters-form,
	#content .krea3-checkboxes,
	#content .krea3-period,
	#content .krea3-grid {
		grid-template-columns: 1fr;
	}

	#content .krea3-grid:has(.krea3-file) .krea3-card-body {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	#content .krea3-grid:has(.krea3-file) .krea3-tags,
	#content .krea3-grid:has(.krea3-file) h3.krea3-title,
	#content .krea3-grid:has(.krea3-file) .krea3-date,
	#content .krea3-grid:has(.krea3-file) .krea3-file {
		grid-column: auto;
		grid-row: auto;
	}

	#content #ligne-outils {
		margin: 1.25rem 0 1.75rem;
	}

	#content .krea3-actions {
		align-items: stretch;
		flex-direction: column;
	}

	#content .krea3-actions button,
	#content .krea3-actions a {
		justify-content: center;
		width: 100%;
	}

	#content .krea3-file .krea3-link {
		flex-wrap: wrap;
	}

	#content .krea3-meta {
		white-space: normal;
	}
}

/* ==========================================================================
   Listings annuaire - cartes harmonisees
   ========================================================================== */

#content_large #centrale-dispo-container article,
#content #centrale-dispo-container article {
	min-width: 0;
}

#content_large #listing-annuaire.grid-annuaire,
#content #listing-annuaire.grid-annuaire {
	align-items: stretch;
	display: grid !important;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	list-style: none;
	margin: clamp(1.6rem, 3vw, 3rem) 0;
	padding: 0;
}

#content_large #listing-annuaire.grid-annuaire .un-bloc-listing,
#content #listing-annuaire.grid-annuaire .un-bloc-listing {
	display: flex !important;
	float: none !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 100%;
	padding: 0 !important;
	position: static !important;
	visibility: visible;
	width: auto !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire,
#content #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire {
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.2);
	box-shadow: 0 18px 46px rgba(18, 93, 96, 0.1);
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	height: 100% !important;
	min-height: 0 !important;
	overflow: hidden;
	position: relative;
	text-align: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	width: 100% !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire:hover,
#content_large #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire:focus-within,
#content #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire:hover,
#content #listing-annuaire.grid-annuaire .listing-item.listing-item-annuaire:focus-within {
	border-color: var(--couleur-principale, #125d60);
	box-shadow: 0 22px 52px rgba(18, 93, 96, 0.16);
	transform: translateY(-3px);
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > img,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire > img {
	aspect-ratio: 16 / 10;
	background: rgba(18, 93, 96, 0.06);
	display: block;
	flex: 0 0 auto;
	height: clamp(210px, 20vw, 285px) !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	object-fit: cover;
	object-position: center;
	position: static !important;
	width: 100% !important;
	z-index: 0;
}

#content_large #listing-annuaire.grid-annuaire .commune-annuaire-listing,
#content #listing-annuaire.grid-annuaire .commune-annuaire-listing {
	display: none !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire > a {
	align-items: center;
	background: var(--couleur-blanc, #fff) !important;
	border-top: 1px solid rgba(18, 93, 96, 0.14);
	color: var(--couleur-noir, #222);
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	min-height: 150px;
	padding: clamp(1.1rem, 2vw, 1.7rem) clamp(1rem, 2vw, 1.5rem);
	position: static !important;
	text-align: center;
	text-decoration: none;
	transform: none !important;
	width: 100% !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a::before,
#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a::after,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire > a::before,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire > a::after {
	content: none !important;
	display: none !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire h3,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire h3 {
	color: var(--couleur-noir, #1f1f1f);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(1.35rem, 1.6vw, 1.8rem);
	font-weight: var(--gras, 700);
	line-height: 1.15;
	margin: 0;
	max-width: 18ch;
	padding: 0 !important;
	position: static !important;
	text-align: center;
	width: 100%;
}

/* Resultats agenda/actualites dans les grilles annuaire : liste pleine largeur. */
#content_large #listing-annuaire.grid-annuaire:has(> li.un-bloc-listing.post),
#content #listing-annuaire.grid-annuaire:has(> li.un-bloc-listing.post) {
	align-items: start;
	grid-auto-rows: auto !important;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post {
	align-self: start;
	display: block !important;
	grid-column: 1 / -1;
	height: auto !important;
	min-height: 0 !important;
	width: 100% !important;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page {
	align-items: center;
	background: var(--couleur-blanc, #fff);
	border: 1px solid rgba(18, 93, 96, 0.16);
	box-shadow: 0 12px 32px rgba(18, 93, 96, 0.05);
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.2rem, 2.4vw, 2.2rem);
	grid-template-columns: minmax(130px, 220px) minmax(0, 1fr);
	margin: 0 !important;
	min-height: 0;
	padding: clamp(1.25rem, 2.4vw, 2rem) clamp(1.25rem, 2.4vw, 2rem) clamp(4.8rem, 5.2vw, 5.6rem);
	position: relative;
	width: 100%;
}

#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page {
	grid-template-columns: minmax(120px, 190px) minmax(0, 1fr);
}

#content .item.post .extrait_actu_page,
#content_large .item.post .extrait_actu_page {
	box-sizing: border-box;
	padding-bottom: clamp(4.7rem, 5.2vw, 5.5rem);
	position: relative;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette {
	align-self: start;
	border: 0;
	float: none;
	margin: 0;
	max-width: none;
	width: 100%;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette img,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette img {
	aspect-ratio: 1 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu {
	color: var(--gris-fonce, #333);
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif);
	font-size: clamp(0.95rem, 1.05vw, 1.08rem);
	line-height: 1.5;
	text-align: center;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 {
	color: var(--couleur-noir, #111);
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(2rem, 3.4vw, 3.6rem);
	font-weight: var(--reguliere, 400);
	line-height: 1.05;
	margin: 0 0 clamp(0.9rem, 1.8vw, 1.4rem);
	padding: 0;
	text-align: center;
}

#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 {
	font-size: clamp(1.9rem, 3.1vw, 3rem);
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2::after,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2::after {
	display: none;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a {
	color: inherit;
	font: inherit;
	text-decoration: none;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a:hover,
#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a:focus,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a:hover,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 a:focus {
	color: var(--couleur-principale, #125d60);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu small,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu small {
	color: var(--couleur-principale, #125d60);
	display: block;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(0.88rem, 1vw, 1rem);
	font-weight: var(--gras, 700);
	letter-spacing: 0;
	margin: clamp(0.9rem, 1.7vw, 1.25rem) 0 0;
	text-transform: uppercase;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu {
	align-items: center;
	background: var(--couleur-principale, #125d60);
	border: 2px solid var(--couleur-principale, #125d60);
	border-radius: 999px;
	bottom: clamp(1.2rem, 2.4vw, 2rem);
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex;
	float: none;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif));
	font-size: clamp(0.9rem, 1vw, 1rem);
	font-weight: var(--demi-gras, 600);
	justify-content: center;
	line-height: 1.2;
	margin: 0;
	min-height: 2.65rem;
	min-width: 8.5rem;
	justify-self: end;
	padding: 0.6rem 1.35rem;
	position: absolute;
	right: clamp(1.2rem, 2.4vw, 2rem);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#content .item.post .extrait_actu_page a.lire_actu,
#content_large .item.post .extrait_actu_page a.lire_actu {
	align-items: center;
	background: var(--couleur-principale, #125d60) !important;
	border: 2px solid var(--couleur-principale, #125d60) !important;
	border-radius: 999px !important;
	bottom: clamp(1.2rem, 2.4vw, 2rem);
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	float: none !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif)) !important;
	font-size: clamp(0.9rem, 1vw, 1rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	justify-content: center;
	line-height: 1.2 !important;
	margin: 0 !important;
	min-height: 2.65rem;
	min-width: 8.5rem;
	padding: 0.6rem 1.35rem !important;
	position: absolute;
	right: clamp(1.2rem, 2.4vw, 2rem);
	text-align: center;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu:hover,
#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu:focus,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu:hover,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu:focus {
	background: var(--couleur-secondaire, #047d8a);
	border-color: var(--couleur-secondaire, #047d8a);
	color: var(--couleur-blanc, #fff) !important;
	transform: translateY(-1px);
}

#content .item.post .extrait_actu_page a.lire_actu:hover,
#content .item.post .extrait_actu_page a.lire_actu:focus,
#content_large .item.post .extrait_actu_page a.lire_actu:hover,
#content_large .item.post .extrait_actu_page a.lire_actu:focus {
	background: var(--couleur-secondaire, #047d8a) !important;
	border-color: var(--couleur-secondaire, #047d8a) !important;
	color: var(--couleur-blanc, #fff) !important;
	transform: translateY(-1px);
}

#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .clearer,
#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .clearer {
	display: none;
}

@media (max-width: 900px) {
	#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page,
	#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page {
		grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
	}

	#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2,
	#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .texte-actu h2 {
		font-size: clamp(1.75rem, 6.5vw, 2.7rem);
	}
}

@media (max-width: 640px) {
	#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page,
	#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page {
		display: block;
		min-height: 0;
		padding: 1.2rem 1.2rem 5.2rem;
	}

	#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette,
	#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post .extrait_actu_page .vignette {
		margin: 0 auto 1.2rem;
		max-width: 220px;
	}

	#content_large #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu,
	#content #listing-annuaire.grid-annuaire > li.un-bloc-listing.post a.lire_actu {
		display: flex;
		margin: 0;
		position: absolute;
		right: 1.2rem;
		width: auto;
	}
}

body.home #ligne-carte {
  padding: clamp(3rem, 5vw, 5rem) 0;
}

body.home #ligne-carte .largeur92 {
  overflow: visible !important;
  border-radius: 10px;
}

body.home #ligne-carte iframe#carte-interactive {
  display: block;
  min-height: 500px;
  border-radius: 10px !important;
}

body.home #ligne-carte .texte-carte {
  top: 50%;
  right: 4%;
  bottom: auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(520px, 34%);
  min-width: 360px;
  min-height: 330px;
  padding: 76px 42px 48px;
  color: var(--couleur-blanc, #fff);
  background: var(--couleur-principale, #125d60);
  border-radius: 10px;
  text-align: center;
  transform: translateY(-50%);
}

body.home #ligne-carte .texte-carte svg,
body.home #ligne-carte .texte-carte > i {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0 !important;
  color: var(--couleur-blanc, #fff);
  font-size: clamp(4rem, 5vw, 5rem);
  transform: translate(-50%, -50%);
}

body.home #ligne-carte .texte-carte .titre-carte {
  margin: 0 0 1rem;
  color: var(--couleur-blanc, #fff);
  font-family: var(--police-secondaire2, var(--police-principale, Arial, sans-serif));
  font-size: clamp(1.3rem, 1.8vw, 1.8rem);
  font-weight: var(--gras, 700);
  line-height: 1.35;
}

body.home #ligne-carte .texte-carte .titre-carte::after {
  display: none;
}

body.home #ligne-carte .texte-carte p {
  margin: 0 0 2rem;
  color: var(--couleur-blanc, #fff);
  font-weight: var(--gras, 700);
  line-height: 1.6;
}

body.home #ligne-carte .texte-carte .btn-carte {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 34px;
  color: var(--couleur-noir, #111) !important;
  background: var(--couleur-blanc, #fff) !important;
  border: 2px solid var(--couleur-blanc, #fff) !important;
  font-weight: var(--gras, 700);
  text-decoration: none;
  text-transform: uppercase;
}

body.home #ligne-carte .texte-carte .btn-carte:hover,
body.home #ligne-carte .texte-carte .btn-carte:focus {
  color: var(--couleur-blanc, #fff) !important;
  background: transparent !important;
}

@media screen and (max-width: 900px) {
  body.home #ligne-carte {
    padding: 3rem 0;
  }

  body.home #ligne-carte .largeur92 {
    width: 92% !important;
  }

  body.home #ligne-carte iframe#carte-interactive {
    height: 320px !important;
    min-height: 320px;
  }

  body.home #ligne-carte .texte-carte {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 32px);
    min-width: 0;
    min-height: 0;
    margin: -42px auto 0;
    padding: 54px 24px 30px;
    transform: none;
  }

  body.home #ligne-carte .texte-carte svg,
  body.home #ligne-carte .texte-carte > i {
    font-size: 4rem;
  }

  body.home #ligne-carte .texte-carte .btn-carte {
    width: auto;
    max-width: 100%;
  }
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire h3 > span,
#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire .bordure-titre-listing,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire h3 > span,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire .bordure-titre-listing {
	align-items: center;
	display: flex !important;
	flex-direction: column;
	gap: 0;
	position: static !important;
	width: 100%;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire .type.agenda,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire .type.agenda {
	background: transparent !important;
	border: 0 !important;
	color: inherit !important;
	display: block !important;
	font-size: 0 !important;
	height: auto !important;
	line-height: 0 !important;
	margin: 0 0 0.85rem !important;
	opacity: 1 !important;
	padding: 0 !important;
	position: static !important;
	text-align: center !important;
	transform: none !important;
	width: auto !important;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire .ville-agenda-listing,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire .ville-agenda-listing {
	align-items: center;
	background: rgba(18, 93, 96, 0.1) !important;
	border-radius: 999px;
	color: var(--couleur-principale, #125d60) !important;
	display: inline-flex !important;
	font-family: var(--police-principale, Arial, sans-serif);
	font-size: 0.75rem !important;
	font-weight: var(--gras, 700);
	gap: 0.35rem;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	margin: 0 !important;
	max-width: 100%;
	padding: 0.35rem 0.75rem !important;
	position: static !important;
	text-transform: uppercase;
	white-space: normal;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire .ville-agenda-listing svg,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire .ville-agenda-listing svg {
	color: currentColor;
	flex: 0 0 auto;
	height: 0.85em;
	width: 0.85em;
}

#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire p,
#content #listing-annuaire.grid-annuaire .listing-item-annuaire p {
	color: var(--gris-fonce, #555);
	font-size: 0.95rem;
	margin: 0.85rem 0 0;
	padding: 0 !important;
}

#content_large #listing-annuaire.grid-annuaire .categorie-annuaire-bloc-listing,
#content #listing-annuaire.grid-annuaire .categorie-annuaire-bloc-listing {
	color: var(--couleur-principale, #125d60);
	font-weight: var(--gras, 700);
}

@media (max-width: 980px) {
	#content_large #listing-annuaire.grid-annuaire,
	#content #listing-annuaire.grid-annuaire {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > img,
	#content #listing-annuaire.grid-annuaire .listing-item-annuaire > img {
		height: 220px !important;
	}
}

@media (max-width: 640px) {
	#content_large #listing-annuaire.grid-annuaire,
	#content #listing-annuaire.grid-annuaire {
		gap: 1.25rem;
		grid-template-columns: 1fr;
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > img,
	#content #listing-annuaire.grid-annuaire .listing-item-annuaire > img {
		height: 200px !important;
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire > a,
	#content #listing-annuaire.grid-annuaire .listing-item-annuaire > a {
		min-height: 125px;
		padding: 1.2rem;
	}

	#content_large #listing-annuaire.grid-annuaire .listing-item-annuaire h3,
	#content #listing-annuaire.grid-annuaire .listing-item-annuaire h3 {
		font-size: clamp(1.2rem, 7vw, 1.55rem);
	}
}

body.home #ligne-carte {
	overflow: visible !important;
	padding: clamp(3rem, 5vw, 5rem) 0 !important;
}

body.home #ligne-carte .largeur92 {
	border-radius: 12px !important;
	overflow: visible !important;
	position: relative !important;
}

body.home #ligne-carte iframe#carte-interactive {
	border-radius: 12px !important;
	display: block !important;
	height: 520px !important;
	min-height: 520px !important;
	width: 100% !important;
}

body.home #ligne-carte .texte-carte {
	align-items: center !important;
	background: var(--couleur-principale, #125d60) !important;
	color: var(--couleur-blanc, #fff) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 330px !important;
	overflow: visible !important;
	padding: 74px 42px 48px !important;
	position: absolute !important;
	right: 4% !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: clamp(360px, 32vw, 520px) !important;
	z-index: 2 !important;
}

body.home #ligne-carte .texte-carte::before {
	background: var(--couleur-blanc, #fff);
	border-radius: 0 0 18px 0;
	content: "";
	height: 62px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 62px;
	z-index: 0;
}

body.home #ligne-carte .texte-carte svg,
body.home #ligne-carte .texte-carte > i {
	color: var(--couleur-principale, #125d60) !important;
	font-size: 2.15rem !important;
	height: 58px !important;
	left: 50% !important;
	position: absolute !important;
	top: -34px !important;
	transform: translateX(-50%) !important;
	width: 58px !important;
	z-index: 1 !important;
}

body.home #ligne-carte .texte-carte .titre-carte,
body.home #ligne-carte .texte-carte p,
body.home #ligne-carte .texte-carte .btn-carte {
	position: relative;
	z-index: 2;
}

body.home #ligne-carte .texte-carte .btn-carte {
	background: var(--couleur-blanc, #fff) !important;
	border-color: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #111) !important;
}

@media screen and (max-width: 900px) {
    body.home #ligne-carte {
        padding: 2.75rem 0 !important;
    }

	body.home #ligne-carte .largeur92 {
		width: 92% !important;
	}

	body.home #ligne-carte iframe#carte-interactive {
		height: 330px !important;
		min-height: 330px !important;
	}

	body.home #ligne-carte .texte-carte {
		margin: -40px auto 0 !important;
		min-height: auto !important;
		padding: 58px 24px 30px !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
        width: calc(100% - 28px) !important;
    }
}

/* ==========================================================================
   Correctif final fil d'Ariane / outils
   ========================================================================== */

body #ligne-outils,
body #content #ligne-outils,
body #content_large #ligne-outils {
    align-items: center !important;
    background: rgba(18, 93, 96, 0.06) !important;
    border-left: 5px solid var(--couleur-principale, #125d60) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: clamp(1rem, 2vw, 1.8rem) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    height: auto !important;
    justify-content: stretch !important;
    margin-bottom: 2rem !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 1.1rem clamp(1rem, 2.5vw, 1.6rem) !important;
    width: 100% !important;
}

body #ligne-outils > .clearer,
body #content #ligne-outils > .clearer,
body #content_large #ligne-outils > .clearer {
    display: none !important;
}

body #ligne-outils #fil_ariane,
body #content #ligne-outils #fil_ariane,
body #content_large #ligne-outils #fil_ariane {
    box-sizing: border-box !important;
    display: block !important;
    font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
    line-height: 1.55 !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    text-align: left !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    width: auto !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
}

body #fil_ariane *,
body #fil_ariane span,
body #fil_ariane a,
body #fil_ariane #fil_page {
    display: inline !important;
    float: none !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    width: auto !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
}

body #fil_ariane a {
    color: var(--couleur-principale, #125d60) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body #fil_ariane a:hover,
body #fil_ariane a:focus {
    text-decoration: underline !important;
    text-underline-offset: 0.18em !important;
}

body #fil_page {
    color: var(--couleur-noir, #242424) !important;
    font-weight: 700 !important;
}

body #ligne-outils #outils,
body #content #ligne-outils #outils,
body #content_large #ligne-outils #outils {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.65rem !important;
    justify-content: flex-end !important;
    margin-left: 0 !important;
    max-width: none !important;
    min-width: 11.5rem !important;
    width: auto !important;
}

body #ligne-outils #outils:empty,
body #content #ligne-outils #outils:empty,
body #content_large #ligne-outils #outils:empty {
    display: none !important;
    min-width: 0 !important;
}

body #ligne-outils #outils a,
body #ligne-outils #outils button,
body #content #ligne-outils #outils a,
body #content #ligne-outils #outils button,
body #content_large #ligne-outils #outils a,
body #content_large #ligne-outils #outils button {
    flex: 0 0 auto !important;
}

@media screen and (max-width: 900px) {
    body #ligne-outils,
    body #content #ligne-outils,
    body #content_large #ligne-outils {
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
    }

    body #ligne-outils #fil_ariane,
    body #content #ligne-outils #fil_ariane,
    body #content_large #ligne-outils #fil_ariane {
        max-width: none !important;
        width: 100% !important;
    }

    body #ligne-outils #outils,
    body #content #ligne-outils #outils,
    body #content_large #ligne-outils #outils {
        margin-left: 0 !important;
        min-width: 0 !important;
    }
}

/* ==========================================================================
   Menu gauche sobre
   ========================================================================== */

body #gauche #sidebar-pages {
	background: transparent !important;
	border-right: 1px solid rgba(18, 93, 96, 0.14) !important;
	box-sizing: border-box !important;
	padding: 0 clamp(1.1rem, 2.4vw, 2rem) 2rem 0 !important;
}

body #gauche #menu_pages,
body #gauche #menu_pages ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body #gauche #menu_pages > li.pagenav {
	color: var(--couleur-principale, #125d60) !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif)) !important;
	font-size: 1.05rem !important;
	font-weight: var(--gras, 700) !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

body #gauche #menu_pages > li.pagenav > ul {
	display: block !important;
	margin-top: 0.4rem !important;
}

body #gauche #menu_pages li {
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

body #gauche #menu_pages li::before,
body #gauche #menu_pages li::after,
body #gauche #menu_pages a::before,
body #gauche #menu_pages a::after {
	content: none !important;
	display: none !important;
}

body #gauche #menu_pages a {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(18, 93, 96, 0.12) !important;
	box-sizing: border-box !important;
	color: var(--couleur-noir, #111) !important;
	display: block !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: 0.98rem !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0.82rem 0 !important;
	text-decoration: none !important;
	transition: color 0.2s ease, padding-left 0.2s ease !important;
	width: 100% !important;
}

body #gauche #menu_pages .niv-2 > a {
	background: transparent !important;
	border-left: 0 !important;
	padding-left: 0 !important;
}

body #gauche #menu_pages .children {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(18, 93, 96, 0.12) !important;
	margin: 0 !important;
	padding: 0.35rem 0 0.55rem 0.85rem !important;
}

body #gauche #menu_pages .children a {
	border-bottom: 0 !important;
	color: rgba(0, 0, 0, 0.72) !important;
	font-size: 0.92rem !important;
	font-weight: var(--reguliere, 400) !important;
	padding: 0.48rem 0 !important;
}

body #gauche #menu_pages .current_page_item > a,
body #gauche #menu_pages .current_page_parent > a,
body #gauche #menu_pages .current_page_ancestor > a {
	color: var(--couleur-principale, #125d60) !important;
	font-weight: var(--gras, 700) !important;
}

body #gauche #menu_pages a:hover,
body #gauche #menu_pages a:focus {
	color: var(--couleur-principale, #125d60) !important;
	padding-left: 0.35rem !important;
	text-decoration: none !important;
}

body #gauche #menu_pages .children a:hover,
body #gauche #menu_pages .children a:focus {
	padding-left: 0.25rem !important;
}

@media screen and (max-width: 900px) {
	body #gauche #sidebar-pages {
		border-right: 0 !important;
		padding-right: 0 !important;
	}
}

/* ==========================================================================
   Sidebar cartographie Leaflet
   ========================================================================== */

body #sidebar-carto.leaflet-sidebar {
	background: transparent !important;
	box-sizing: border-box !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: 1rem !important;
	margin: 0 !important;
	max-width: calc(100% - 2rem) !important;
	padding: 0 !important;
	transition: width 0.2s ease !important;
	width: min(400px, calc(100% - 2rem)) !important;
}

body #sidebar-carto.leaflet-sidebar.krea3-carto-collapsed {
	width: 48px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs {
	background: var(--couleur-blanc, #fff) !important;
	border-right: 1px solid rgba(18, 93, 96, 0.14) !important;
	border-radius: 8px 0 0 8px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	overflow: hidden !important;
	width: 48px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body #sidebar-carto .leaflet-sidebar-tabs li {
	background: transparent !important;
	display: block !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 48px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs a {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	box-sizing: border-box !important;
	color: var(--couleur-noir, #222) !important;
	display: flex !important;
	font-size: 1.08rem !important;
	height: 48px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	width: 48px !important;
}

body #sidebar-carto .leaflet-sidebar-tabs li.active a,
body #sidebar-carto .leaflet-sidebar-tabs a:hover,
body #sidebar-carto .leaflet-sidebar-tabs a:focus {
	background: var(--couleur-principale, #125d60) !important;
	color: var(--couleur-blanc, #fff) !important;
}

body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-tabs li.active a {
	background: var(--couleur-blanc, #fff) !important;
	color: var(--couleur-noir, #222) !important;
}

body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-tabs li.active a:hover,
body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-tabs li.active a:focus {
	background: var(--couleur-principale, #125d60) !important;
	color: var(--couleur-blanc, #fff) !important;
}

body #sidebar-carto .leaflet-sidebar-content {
	background: rgba(255, 255, 255, 0.96) !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.12) !important;
	box-sizing: border-box !important;
	left: 48px !important;
	margin-left: 0 !important;
	max-height: min(78vh, 720px) !important;
	max-width: calc(100% - 48px) !important;
	min-height: 360px !important;
	min-width: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	position: absolute !important;
	right: auto !important;
	top: 0 !important;
	width: calc(100% - 48px) !important;
}

body #sidebar-carto.krea3-carto-collapsed .leaflet-sidebar-content {
	display: none !important;
}

body #sidebar-carto .leaflet-sidebar-pane {
	box-sizing: border-box !important;
	display: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 1.1rem 1.2rem !important;
	width: 100% !important;
}

body #sidebar-carto .leaflet-sidebar-pane.active {
	display: block !important;
}

body #sidebar-carto .leaflet-sidebar-header {
	align-items: center !important;
	background: var(--couleur-principale, #125d60) !important;
	border: 0 !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	display: flex !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif)) !important;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem) !important;
	font-weight: var(--gras, 700) !important;
	justify-content: space-between !important;
	letter-spacing: 0 !important;
	line-height: 1.15 !important;
	margin: 0 -1.1rem 1rem !important;
	min-height: 52px !important;
	overflow: hidden !important;
	padding: 0.8rem 0.9rem 0.8rem 1.1rem !important;
	text-transform: none !important;
	white-space: normal !important;
	width: auto !important;
}

body #sidebar-carto .leaflet-sidebar-header::before,
body #sidebar-carto .leaflet-sidebar-header::after {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .leaflet-sidebar-close {
	align-items: center !important;
	background: rgba(255, 255, 255, 0.14) !important;
	border-radius: 50% !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	flex: 0 0 1.9rem !important;
	font-size: 1rem !important;
	height: 1.9rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin-left: 1rem !important;
	padding: 0 !important;
	position: static !important;
	text-align: center !important;
	width: 1.9rem !important;
}

body #sidebar-carto .leaflet-sidebar-close i,
body #sidebar-carto .leaflet-sidebar-close svg,
body #sidebar-carto .leaflet-sidebar-close .svg-inline--fa {
	align-items: center !important;
	color: currentColor !important;
	display: inline-flex !important;
	font-size: inherit !important;
	height: 1em !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	transform: none !important;
	vertical-align: middle !important;
	width: 1em !important;
}

body #sidebar-carto .filtres-carte,
body #sidebar-carto #filtres-carte {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul,
body #sidebar-carto #liste-filtres-carte {
	box-sizing: border-box !important;
	list-style: none !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte > ul > li,
body #sidebar-carto #liste-filtres-carte > li {
	border: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent {
	box-sizing: border-box !important;
	display: block !important;
	gap: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li {
	background: transparent !important;
	border-bottom: 1px solid rgba(18, 93, 96, 0.14) !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	opacity: 1 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: relative !important;
	transform: none !important;
	transition: background-color 0.18s ease, color 0.18s ease !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li:hover,
body #sidebar-carto .filtres-carte ul.parent > li:focus-within,
body #sidebar-carto .filtres-carte ul.parent > li.show {
	background: rgba(18, 93, 96, 0.06) !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li span {
	box-sizing: border-box !important;
	color: var(--gris-fonce, #333) !important;
	display: block !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: 0.9rem !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	max-width: 100% !important;
	min-height: 2.75rem !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0.68rem 2rem 0.68rem 0 !important;
	position: relative !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	width: 100% !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span::before,
body #sidebar-carto .filtres-carte ul.parent > li span::after {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span i.fa-dot-circle,
body #sidebar-carto .filtres-carte ul.parent > li span i.fas,
body #sidebar-carto .filtres-carte ul.parent > li span svg.svg-inline--fa,
body #sidebar-carto .filtres-carte ul.parent > li span .svg-inline--fa {
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span i.fa-dot-circle::before,
body #sidebar-carto .filtres-carte ul.parent > li span i.fas::before {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li span i.fa-dot-circle::after,
body #sidebar-carto .filtres-carte ul.parent > li span i.fas::after {
	content: none !important;
	display: none !important;
}

body #sidebar-carto .filtres-carte ul.parent > li::after,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li::after {
	background: var(--couleur-blanc, #fff) !important;
	border: 2px solid var(--couleur-principale, #125d60) !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	content: "" !important;
	display: block !important;
	height: 0.78rem !important;
	margin: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 0.78rem !important;
	z-index: 2 !important;
}

body #sidebar-carto .filtres-carte ul.parent > li.show::after,
body #sidebar-carto #liste-filtres-carte > li.show > ul.parent > li.show::after {
	background: var(--couleur-principale, #125d60) !important;
	box-shadow: inset 0 0 0 2px var(--couleur-blanc, #fff) !important;
}

body .marker-cluster-small {
	background-color: var(--couleur-marker-cluster-small, rgba(236, 103, 38, 0.6)) !important;
}

body .marker-cluster-small div {
	background-color: var(--couleur-marker-cluster-small-div, rgba(236, 103, 38, 0.9)) !important;
}

body .marker-cluster-medium {
	background-color: var(--couleur-marker-cluster-medium, rgba(48, 164, 217, 0.6)) !important;
}

body .marker-cluster-medium div {
	background-color: var(--couleur-marker-cluster-medium-div, rgba(48, 164, 217, 0.9)) !important;
}

body .marker-cluster-large {
	background-color: var(--couleur-marker-cluster-large, rgba(20, 65, 105, 0.6)) !important;
}

body .marker-cluster-large div {
	background-color: var(--couleur-marker-cluster-large-div, rgba(20, 65, 105, 0.9)) !important;
}

body .marker-cluster div {
	color: var(--couleur-blanc, #fff) !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-weight: var(--gras, 700) !important;
}

@media screen and (max-width: 900px) {
	body #sidebar-carto.leaflet-sidebar {
		max-width: calc(100% - 1rem) !important;
		width: min(360px, calc(100% - 1rem)) !important;
	}

	body #sidebar-carto.leaflet-sidebar.krea3-carto-collapsed {
		width: 46px !important;
	}

	body #sidebar-carto .leaflet-sidebar-tabs,
	body #sidebar-carto .leaflet-sidebar-tabs li,
	body #sidebar-carto .leaflet-sidebar-tabs a {
		width: 46px !important;
	}

	body #sidebar-carto .leaflet-sidebar-tabs li,
	body #sidebar-carto .leaflet-sidebar-tabs a {
		height: 46px !important;
	}

	body #sidebar-carto .leaflet-sidebar-content {
		left: 46px !important;
		margin-left: 0 !important;
		max-height: 72vh !important;
		min-height: 300px !important;
		width: calc(100% - 46px) !important;
	}

	body #sidebar-carto .leaflet-sidebar-pane {
		padding: 0 1rem 1.15rem !important;
	}

	body #sidebar-carto .leaflet-sidebar-header {
		font-size: 1.05rem !important;
		margin-left: -1rem !important;
		margin-right: -1rem !important;
		min-height: 48px !important;
		padding: 0.8rem 0.9rem 0.8rem 1rem !important;
	}
}

/* ==========================================================================
   Correctifs carte accueil et liens sociaux
   ========================================================================== */

body.home #ligne-carte .largeur92 {
	isolation: isolate !important;
	position: relative !important;
}

body.home #ligne-carte iframe#carte-interactive {
	position: relative !important;
	z-index: 0 !important;
}

body.home #ligne-carte .texte-carte {
	pointer-events: auto !important;
	padding-top: clamp(4.4rem, 5vw, 5.6rem) !important;
	z-index: 30 !important;
}

body.home #ligne-carte .texte-carte::before {
	content: none !important;
	display: none !important;
}

body.home #ligne-carte .texte-carte svg,
body.home #ligne-carte .texte-carte > i {
	background: transparent !important;
	border: 0 !important;
	color: var(--couleur-blanc, #fff) !important;
	font-size: clamp(3rem, 4.2vw, 4.2rem) !important;
	height: auto !important;
	left: 50% !important;
	line-height: 1 !important;
	padding: 0 !important;
	position: absolute !important;
	top: clamp(1.1rem, 1.6vw, 1.55rem) !important;
	transform: translateX(-50%) !important;
	width: auto !important;
	z-index: 32 !important;
}

body.home #ligne-carte .texte-carte .titre-carte,
body.home #ligne-carte .texte-carte p,
body.home #ligne-carte .texte-carte .btn-carte {
	position: relative !important;
	z-index: 34 !important;
}

body.home #ligne-carte .texte-carte .btn-carte {
	pointer-events: auto !important;
}

#liens-reseaux-footer ul li a i,
#liens-reseaux-footer ul li a svg {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border: 2px solid var(--couleur-blanc, #fff) !important;
	border-radius: 50% !important;
	box-sizing: border-box !important;
	color: var(--couleur-principale, #125d60) !important;
	display: inline-flex !important;
	font-size: 1.4rem !important;
	height: 3rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	padding: 0 !important;
	text-decoration: none !important;
	width: 3rem !important;
}

#liens-reseaux-footer ul li a:hover i,
#liens-reseaux-footer ul li a:focus i,
#liens-reseaux-footer ul li a:hover svg,
#liens-reseaux-footer ul li a:focus svg {
	background: transparent !important;
	color: var(--couleur-blanc, #fff) !important;
}

#liens-reseaux-footer ul li a span {
	display: block !important;
	margin-top: 0.75rem !important;
}

/* ==========================================================================
   Correctif bloc accueil "Nos projets"
   ========================================================================== */

body.home #ligne3 {
	margin: 80px 0 !important;
	position: relative !important;
}

body.home #ligne3::before {
	border-bottom-color: var(--couleur-secondaire, #047d8a) !important;
	z-index: 0 !important;
}

body.home #ligne3 .largeur92 {
	position: relative !important;
	z-index: 1 !important;
}

body.home #gauche-ligne3 {
	background: var(--couleur-blanc, #fff) !important;
	border-radius: 10px 0 0 10px !important;
	color: var(--couleur-noir, #111) !important;
	overflow: hidden !important;
}

body.home #img-ligne3 {
	position: relative !important;
}

body.home #img-ligne3 img {
	display: block !important;
	height: auto !important;
	width: 100% !important;
}

body.home #img-ligne3::before {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0.08)) !important;
	bottom: 0 !important;
	content: "" !important;
	display: block !important;
	left: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	z-index: 10 !important;
}

body.home #img-ligne3 .titre-ligne3 {
	background: transparent !important;
	bottom: 0 !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	left: 0 !important;
	padding: clamp(2rem, 4vw, 3.8rem) !important;
	position: absolute !important;
	right: 0 !important;
	z-index: 15 !important;
}

body.home #img-ligne3 .titre-ligne3 h2 {
	color: var(--couleur-blanc, #fff) !important;
	font-family: var(--police, Georgia, serif) !important;
	font-size: clamp(4rem, 7.2vw, 7.3rem) !important;
	font-weight: var(--gras, 700) !important;
	letter-spacing: 0 !important;
	line-height: 0.95 !important;
	margin: 0 0 1.6rem !important;
	text-transform: uppercase !important;
}

body.home #img-ligne3 .titre-ligne3 h2::after {
	display: none !important;
}

body.home #img-ligne3 .titre-ligne3 span {
	color: var(--couleur-blanc, #fff) !important;
	display: block !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif)) !important;
	font-size: clamp(1.85rem, 3vw, 3rem) !important;
	font-weight: var(--gras, 700) !important;
	line-height: 1.12 !important;
	margin: 0 !important;
}

body.home #gauche-ligne3 p {
	color: var(--couleur-noir, #111) !important;
	font-family: var(--police-secondaire, Arial, Helvetica, sans-serif) !important;
	font-size: clamp(1.35rem, 2vw, 2rem) !important;
	font-weight: var(--reguliere, 400) !important;
	line-height: 1.22 !important;
	margin: 0 !important;
	padding: clamp(2rem, 3vw, 3.8rem) clamp(2rem, 4vw, 3.8rem) !important;
}

body.home #gauche-ligne3 > #content-gauche-ligne3 > a {
	background: var(--couleur-principale, #125d60) !important;
	border: 2px solid var(--couleur-principale, #125d60) !important;
	color: var(--couleur-blanc, #fff) !important;
	float: right !important;
	font-family: var(--police-secondaire2, var(--police-secondaire, Arial, sans-serif)) !important;
	font-size: clamp(1.3rem, 2vw, 2rem) !important;
	font-weight: var(--demi-gras, 600) !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 1.45rem 2.6rem !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.home #gauche-ligne3 > #content-gauche-ligne3 > a:hover,
body.home #gauche-ligne3 > #content-gauche-ligne3 > a:focus {
	background: transparent !important;
	color: var(--couleur-principale, #125d60) !important;
}

@media screen and (max-width: 900px) {
	body.home #img-ligne3 .titre-ligne3 {
		padding: 1.6rem !important;
	}

	body.home #img-ligne3 .titre-ligne3 h2 {
		font-size: clamp(2.8rem, 12vw, 4.5rem) !important;
	}

	body.home #img-ligne3 .titre-ligne3 span {
		font-size: clamp(1.35rem, 6vw, 2rem) !important;
	}

	body.home #gauche-ligne3 p {
		font-size: 1.2rem !important;
		padding: 1.6rem !important;
	}

	body.home #gauche-ligne3 > #content-gauche-ligne3 > a {
		font-size: 1.15rem !important;
		padding: 1.1rem 1.5rem !important;
	}
}

/* ==========================================================================
   Correctif liens sociaux du diaporama accueil
   ========================================================================== */

body.home #diapo-accueil #liens-reseaux {
	bottom: clamp(1.25rem, 2.3vw, 2.4rem) !important;
	left: auto !important;
	right: clamp(2rem, 9vw, 11rem) !important;
	transform: none !important;
	z-index: 20 !important;
}

body.home #diapo-accueil #liens-reseaux ul {
	align-items: center !important;
	display: flex !important;
	gap: clamp(1rem, 2vw, 2.1rem) !important;
	justify-content: flex-end !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.home #diapo-accueil #liens-reseaux ul li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.home #diapo-accueil #liens-reseaux ul li a {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	height: 1.8rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	width: 1.8rem !important;
}

body.home #diapo-accueil #liens-reseaux ul li a i,
body.home #diapo-accueil #liens-reseaux ul li a svg {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-block !important;
	font-size: clamp(1.05rem, 1.45vw, 1.45rem) !important;
	height: auto !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

@media screen and (max-width: 900px) {
	body.home #diapo-accueil #liens-reseaux {
		bottom: 1.25rem !important;
		right: clamp(1.1rem, 5vw, 2.4rem) !important;
	}

	body.home #diapo-accueil #liens-reseaux ul {
		gap: 1rem !important;
	}

	body.home #diapo-accueil #liens-reseaux ul li a i,
	body.home #diapo-accueil #liens-reseaux ul li a svg {
		font-size: 1.05rem !important;
	}
}

body.home #diapo-accueil #liens-reseaux ul li a:hover i,
body.home #diapo-accueil #liens-reseaux ul li a:focus i,
body.home #diapo-accueil #liens-reseaux ul li a:hover svg,
body.home #diapo-accueil #liens-reseaux ul li a:focus svg {
	color: var(--couleur-secondaire, #047d8a) !important;
}

/* ==========================================================================
   Popup cartographie Leaflet
   ========================================================================== */

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) {
	max-width: min(620px, calc(100vw - 2rem)) !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .leaflet-popup-content-wrapper {
	border-radius: 8px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18) !important;
	overflow: hidden !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .leaflet-popup-content {
	box-sizing: border-box !important;
	margin: 0 !important;
	max-width: min(620px, calc(100vw - 2rem)) !important;
	padding: 0 !important;
	width: min(620px, calc(100vw - 2rem)) !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup {
	background: var(--couleur-blanc, #fff) !important;
	border-radius: 18px !important;
	box-sizing: border-box !important;
	max-height: min(420px, calc(100vh - 130px)) !important;
	max-width: 100% !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: 1.1rem 1.25rem !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper {
	align-items: flex-start !important;
	display: flex !important;
	gap: 1.35rem !important;
	max-width: 100% !important;
	width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image {
	flex: 0 0 165px !important;
	margin: 0 !important;
	max-width: 165px !important;
	width: 165px !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) img,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image img {
	aspect-ratio: 4 / 3 !important;
	border-radius: 8px !important;
	display: block !important;
	height: auto !important;
	max-height: 132px !important;
	max-width: 165px !important;
	object-fit: cover !important;
	padding: 0 !important;
	width: 165px !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content {
	align-items: flex-start !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	padding-right: 1.8rem !important;
	text-align: left !important;
	width: auto !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) h2,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) h3,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-title {
	color: var(--couleur-principale, #125d60) !important;
	font-size: clamp(1.25rem, 1.9vw, 1.65rem) !important;
	line-height: 1.12 !important;
	margin: 0 0 0.65rem !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) p,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .texte,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .description,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-description {
	color: #555 !important;
	font-size: 0.88rem !important;
	line-height: 1.45 !important;
	margin: 0 0 0.85rem !important;
	max-width: 100% !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-description {
	max-height: 150px !important;
	overflow-y: auto !important;
	padding-right: 0.35rem !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-buttons {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.65rem !important;
	margin-top: auto !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a {
	font-size: 0.85rem !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) a.btn,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .btn,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .lire-suite,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .itineraire,
body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-btn {
	align-items: center !important;
	background: var(--couleur-principale, #125d60) !important;
	border-radius: 999px !important;
	color: var(--couleur-blanc, #fff) !important;
	display: inline-flex !important;
	font-size: 0.86rem !important;
	font-weight: var(--demi-gras, 600) !important;
	min-height: 2.35rem !important;
	padding: 0 1rem !important;
	text-decoration: none !important;
}

body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .leaflet-popup-close-button {
	align-items: center !important;
	background: var(--couleur-blanc, #fff) !important;
	border-radius: 50% !important;
	color: #333 !important;
	display: flex !important;
	font-size: 1.3rem !important;
	height: 2rem !important;
	justify-content: center !important;
	line-height: 1 !important;
	right: 0.45rem !important;
	top: 0.35rem !important;
	width: 2rem !important;
	z-index: 5 !important;
}

@media screen and (max-width: 900px) {
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso),
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .leaflet-popup-content {
		max-width: min(360px, calc(100vw - 1.5rem)) !important;
		width: min(360px, calc(100vw - 1.5rem)) !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .krea3-popup {
		max-height: min(430px, calc(100vh - 110px)) !important;
		padding: 1rem !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-general-wrapper {
		align-items: center !important;
		flex-direction: column !important;
		gap: 0.9rem !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image,
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) img,
	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-image img {
		margin: 0 auto 1rem !important;
		max-width: 150px !important;
		width: 150px !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-content {
		padding-right: 0 !important;
		width: 100% !important;
	}

	body .leaflet-popup.krea3-leaflet-popup:not(.krea3-leaflet-popup-carte-perso) .popup-description {
		max-height: 145px !important;
	}
}

@media screen and (max-width: 1217px) {
	#header #menu-principal button.toggleMenu,
	#header #menu-principal button.toggleMenu.active,
	body.menu-open #header #menu-principal button.toggleMenu,
	body.menu-open #header #menu-principal button.toggleMenu.active {
		align-items: center !important;
		background: var(--couleur-blanc, #fff) !important;
		border: 3px solid var(--couleur-noir, #000) !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		display: flex !important;
		height: 72px !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 0 !important;
		position: fixed !important;
		right: 16px !important;
		top: 16px !important;
		transform: none !important;
		width: 72px !important;
		z-index: 40000 !important;
	}

	#header #menu-principal button.toggleMenu span,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"] {
		background: var(--couleur-noir, #000) !important;
		display: block !important;
		height: 3px !important;
		left: auto !important;
		margin: 0 !important;
		opacity: 1 !important;
		padding: 0 !important;
		position: relative !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: 32px !important;
	}

	#header #menu-principal button.toggleMenu span::before,
	#header #menu-principal button.toggleMenu span::after,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::before,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::after {
		background: var(--couleur-noir, #000) !important;
		content: "" !important;
		display: block !important;
		height: 3px !important;
		left: 0 !important;
		position: absolute !important;
		width: 32px !important;
	}

	#header #menu-principal button.toggleMenu span::before,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::before {
		top: -10px !important;
	}

	#header #menu-principal button.toggleMenu span::after,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::after {
		top: 10px !important;
	}

	#header #menu-principal button.toggleMenu.active span,
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"],
	body.menu-open #header #menu-principal button.toggleMenu span,
	body.menu-open #header #menu-principal button.toggleMenu span[aria-hidden="true"] {
		background: transparent !important;
	}

	#header #menu-principal button.toggleMenu.active span::before,
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"]::before,
	body.menu-open #header #menu-principal button.toggleMenu span::before,
	body.menu-open #header #menu-principal button.toggleMenu span[aria-hidden="true"]::before {
		top: 0 !important;
		transform: rotate(45deg) !important;
	}

	#header #menu-principal button.toggleMenu.active span::after,
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"]::after,
	body.menu-open #header #menu-principal button.toggleMenu span::after,
	body.menu-open #header #menu-principal button.toggleMenu span[aria-hidden="true"]::after {
		top: 0 !important;
		transform: rotate(-45deg) !important;
	}
}

@media screen and (max-width: 1217px) {
	#header #menu-principal button.toggleMenu,
	#header #menu-principal button.toggleMenu.active {
		background-image: none !important;
		position: fixed !important;
	}

	#header #menu-principal button.toggleMenu span[aria-hidden="true"],
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"] {
		background: transparent !important;
		display: block !important;
		height: 0 !important;
		overflow: hidden !important;
		position: static !important;
		width: 0 !important;
	}

	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::before,
	#header #menu-principal button.toggleMenu span[aria-hidden="true"]::after,
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"]::before,
	#header #menu-principal button.toggleMenu.active span[aria-hidden="true"]::after {
		content: none !important;
		display: none !important;
	}

	#header #menu-principal button.toggleMenu::before,
	#header #menu-principal button.toggleMenu::after {
		background: var(--couleur-noir, #000) !important;
		content: "" !important;
		display: block !important;
		height: 3px !important;
		left: 50% !important;
		margin: 0 !important;
		position: absolute !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: 30px !important;
	}

	#header #menu-principal button.toggleMenu:not(.active)::before {
		transform: translate(-50%, calc(-50% - 9px)) !important;
	}

	#header #menu-principal button.toggleMenu:not(.active)::after {
		transform: translate(-50%, calc(-50% + 9px)) !important;
	}

	#header #menu-principal button.toggleMenu:not(.active) span[aria-hidden="true"] {
		background: var(--couleur-noir, #000) !important;
		height: 3px !important;
		left: 50% !important;
		overflow: visible !important;
		position: absolute !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: 30px !important;
	}

	#header #menu-principal button.toggleMenu.active::before,
	body.menu-open #header #menu-principal button.toggleMenu::before {
		transform: translate(-50%, -50%) rotate(45deg) !important;
	}

	#header #menu-principal button.toggleMenu.active::after,
	body.menu-open #header #menu-principal button.toggleMenu::after {
		transform: translate(-50%, -50%) rotate(-45deg) !important;
	}
}
