/*
Theme Name: ergopix
Theme URI: http://www.ergopix.ch
Description: Thème responsive de ergopix sàrl
Author: ergopix sàrl
Version: 1.0
*/

/*
FONTS
*/

	
	@font-face {
		font-family: Antarctica; /* SimplonNormBold */ 
		font-weight: 700;
		src: url("./fonts/Antarctica-Bold.woff2") format("woff2");
	}
	
	@font-face {
		font-family: Antarctica; /* SimplonNormBold */ 
		font-weight: 400;
		src: url("./fonts/Antarctica-Regular.woff2") format("woff2");
	}
	
	@font-face {
		font-family: Systmastencil; 
		font-weight: 700;
		src: url("./fonts/systmastencil-bold.woff2") format("woff2");
		descent-override: 22%; 
		ascent-override: 98%;  
		line-gap-override: 0%;
	}
	
	@font-face {
		font-family: Systmastencil; 
		font-weight: 400;
		src: url("./fonts/systmastencil-regular.woff2") format("woff2");
		descent-override: 22%;
		ascent-override: 98%; 
		line-gap-override: 0%;
	}
	

.mm-listitem__text {
	flex-grow: initial;
	flex-basis: initial;
}

.mm-listitem__text:not(:first-child) {
	padding-left: 0px;
	
}

:root {
	--edition-color: #000;
	--systm-font: "Systmastencil";
	--antartica-font: "Antarctica";
	--dashed-color: #000;
	--dashed-thickness: 1px;
	--dashed-length: 4px;
	--dashed-gap: 1px;
}

.article-info {
	padding-bottom: 10px;
	display: block;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 10px!important;
  padding-left: 10px!important;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -10px!important;
  margin-left: -10px!important;
}

.gm-style-iw-ch {
  padding-top: 0px!important;
}

.dashed-top,
.dashed-bottom {
  background-image: repeating-linear-gradient(
	to right,
	var(--dashed-color) 0 var(--dashed-length),
	transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
  );
  background-size: calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness);
  background-repeat: repeat-x;
}
.dashed-top    { background-position: left top; }
.dashed-bottom { background-position: left bottom; }

.dashed-left,
.dashed-right {
  background-image: repeating-linear-gradient(
	to bottom,
	var(--dashed-color) 0 var(--dashed-length),
	transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
  );
  background-size: var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap));
  background-repeat: repeat-y;
}
.dashed-left  { background-position: left top; }
.dashed-right { background-position: right top; }


.dashed-all,
.map-anchor-link a.active {
  background-image:
	repeating-linear-gradient(to right, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
	repeating-linear-gradient(to right, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
	repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
	repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap)));
  background-size:
	calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness),
	calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness),
	var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap)),
	var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap));
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-position: left top, left bottom, left top, right top;
}

.header-title {
	color: var(--edition-color);
	font-family: var(--systm-font);
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.overlay-header {
	position: absolute;
	z-index: 1;
}
.overlay-header.overlay-top {
	top: 0;
	left: 44%;
	right: 9.3%;
}

.overlay-header.overlay-bottom {
	bottom: 1rem;
	right: calc(15px + 1rem);
	width: 100px;
}

.container-fluid {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
}

.edition-color {color: var(--edition-color);}

.new23-button.fois-2 {
    margin-top: 0 !important;
}
	.new23-button.fois-2 span {
		font-size: 28px !important;
		line-height: 1.1;
	}
	
@media (max-width: 991px) {
	.new23-button.fois-2 span {font-size: 21px !important;}
	}
@media (max-width: 767px) {}
@media (max-width: 580px) {}
@media (max-width: 480px) {}

/* 
ROLES
*/

	.role-participant_jsia #wp-admin-bar-root-default li#wp-admin-bar-archive,
	.role-participant_jsia #wp-admin-bar-root-default li#wp-admin-bar-new-content,
	.role-participant_jsia #wp-admin-bar-user-actions li#wp-admin-bar-user-info,
	.role-participant_jsia #wp-admin-bar-top-secondary li#wp-admin-bar-search {
		display:none !important;
	}
	
/*
GENERAL
*/

	html, .mm-page {background-color:#fff !important;}

	embed,
	iframe,
	object,
	video {
		max-width: 100%;
	}
	
	.alignleft {
		float: left;
	}
	
	.alignright {
		float: right;
	}
	
	.aligncenter {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
	figure.wp-caption.alignleft, img.alignleft {
		margin: 7px 24px 7px 0;
	}
	
	.wp-caption.alignleft {
		margin: 7px 14px 7px 0;
	}
	
	figure.wp-caption.alignright, img.alignright {
		margin: 7px 0 7px 24px;
	}
	
	.wp-caption.alignright {
		margin: 7px 0 7px 14px;
	}
	
	img.aligncenter, .wp-caption.aligncenter {
		margin-top: 7px;
		margin-bottom: 7px;
	}
	
	.wp-caption {
		margin-bottom: 24px;
	}
	
	.wp-caption img[class*="wp-image-"] {
		display: block;
		margin: 0;
	}
	
	::-webkit-input-placeholder {
		color: #939393;
	}
	
	:-moz-placeholder {
		color: #939393;
		opacity: 1;
	}
	
	:-ms-input-placeholder {
		color: #939393;
	}
	
	.wp-caption, img {
		max-width: 100%;
	}
	
	body {
		background: #FFF;
		font-size:19px;
	}
	
	a,
	a .caption-img,
	.caption-img {
		color: var(--edition-color);
		text-decoration: none;
	}
	
	a:focus, a:hover,a:active {
		outline: 0 none!important;
		color: var(--edition-color);
		text-decoration: none;
	}
		a:focus .caption-img,
		a:hover .caption-img,
		a:active .caption-img {
		color: #444;
	}
	a._logo:hover {color:var(--edition-color);}
	
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		clear: both;
		font-weight: 700;
		margin: 36px 0 12px;
	}

	
	h2 {
		font-size: 24px;
		line-height: 1;
	}
	
	h3 {
		font-size: 22px;
		line-height: 1.0909090909;
	}
	
	h4 {
		font-size: 20px;
		line-height: 1.2;
	}
	
	h5 {
		font-size: 18px;
		line-height: 1.3333333333;
		margin:0;
	}
	
	h6 {
		font-size: 16px;
		line-height: 1.5;
	}
	
	p {
		margin-bottom: 10px;
	}
	
	ul, ol {
		list-style: none;
		margin: 0 0 24px 20px;
	}
	
	ul {
		list-style: disc;
	}
	
	ol {
		list-style: decimal;
	}
	
	
	#hamburger span {
		background: var(--edition-color);
		display:block;
		height:2.5px;
		margin:12px 0;
		position:relative;
		-webkit-transform:rotate(0);
		-ms-transform:rotate(0);
		transform:rotate(0);
		top:0;
		left:0;
		opacity:1;
		filter:alpha(opacity=100);
		-webkit-transition:none .5s ease;
		transition:none .5s ease;
		-webkit-transition-property:-webkit-transform,top,left,opacity;
		transition-property:transform,top,left,opacity;
	}
	#hamburger span.top-bar {
		margin-top: 4px;
	}
	#hamburger span.bottom-bar {
		margin-bottom: 4px;
	}
	
	body.mm-wrapper--opened #hamburger span {opacity: 0;}
	
	body.mm-wrapper--opened #hamburger span.top-bar {
		-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
		transform:rotate(45deg);
		top:12px;
	}
	
	body.mm-wrapper--opened #hamburger span.middle-bar {
		opacity:0;
		filter:alpha(opacity=0);
	}
	
	body.mm-wrapper--opened #hamburger span.bottom-bar {
		-webkit-transform:rotate(-45deg);
		-ms-transform:rotate(-45deg);
		transform:rotate(-45deg);
		top:-10px;
	}
	
	body.mm-wrapper--opened #hamburger span.middle-bar {
		left:-40px;
	}

	body.mm-wrapper--opened {
		overflow: hidden;
	}

	#side-menu-overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0,.5);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease;
		z-index: 10000;
	}
	body.mm-wrapper--opened #side-menu-overlay {
		opacity: 1;
		visibility: visible;
	}

	#side-menu-panel {
		position: fixed;
		top: 0;
		right: 0;
		width: 25%;
		min-width: 500px;
		height: 100vh;
		background: #fff;
		padding: 70px 30px 30px;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform .3s ease;
		z-index: 10001;
		border-left: solid 1px #000;
	}
	
	body.home #side-menu-panel {
		width: 25%;
		height: 100vh;
		background: #fff;
		padding: 70px 30px 30px;
		overflow-y: auto;
		transform: none;
		transition: transform .3s ease;
		z-index: 10001;
		border-left: solid 1px #000;
	}
	
	body.mm-wrapper--opened #side-menu-panel {
		transform: translateX(0);
	}

	#side-menu-close {
		position: absolute;
		top: 20px;
		right: 20px;
		background: none;
		border: 0;
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
	}
	#hamburger {
		background: none;
		border: 0;
		cursor: pointer;
		display: flex;
		align-items: center;
	}

	/* Header: the title and the burger must stay on the same line at every
	   width. nowrap prevents the wrap, min-width:0 lets the title column
	   shrink below its text (flex items default to min-width:auto), and
	   width:auto neutralises the width:100% of the base .col-* rule. */
	.header-mobile > .row {
		flex-wrap: nowrap;
		align-items: center;
	}

	.header-mobile > .row > .col {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.side-menu-list {
		list-style: none;
		margin: 0;
		padding: 0;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.side-menu-list li {
		margin-bottom: 0px;
		text-align: center;
	}
	.side-menu-list a {
		color: #000;
		text-align: center;
		leading-trim: both;
		font-family: var(--systm-font);
		font-size: 80px;
		font-style: normal;
		font-weight: 400;
		line-height: 0.9;
		text-transform: uppercase;
	}
	
	.side-menu-list a:hover {
		font-size: 82px;
		line-height: 0.85;
	}
	
	.side-menu-list li.current-menu-item a {
		font-weight: 700;
		font-size: 82px;
		line-height: 0.85;
	}

	@media (max-width: 768px) {
		#side-menu-panel {
			width: 100%;
			min-width: initial;
			/* the panel covers the whole screen, the separating line has nothing
			   left to separate it from */
			border-left: 0;
		}

		/* items packed at the bottom of the panel instead of spread over its
		   whole height */
		.side-menu-list {
			justify-content: flex-end;
			gap: 16px;
		}

		#side-menu-close img {
			width: 23px;
		}
	}

	.clear {
		clear:both;
	}
	
	.header-programme {
		padding-block: 20px;
		align-items: center;
	}


.menu-overlay {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(31, 31, 31, .6);
	z-index: 1030;
	transition: .75s;
	left: -100%;
}

body .fr-overlay-background {
  float: left;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 1;
}

body .fr-window-skin-fresco.fr-svg .fr-side-button-icon {
  opacity: 1;
}

/* --- Fresco lightbox -----------------------------------------------------
   The library ships a sprite for its close/arrow icons; everything below
   replaces that sprite with the theme's own assets and turns the thumbnail
   strip into the same squares as .image-switch-btn. */

/* X: the dotted cross of the mobile menu, on a transparent background.
   The icon box is 26px in fresco.css and the background would be cropped at
   36px, so it is resized too and re-centred in the 48px .fr-close. */
body .fr-window-skin-fresco .fr-close .fr-close-icon,
body .fr-window-skin-fresco .fr-close:hover .fr-close-icon,
body .fr-window-skin-fresco.fr-svg .fr-close .fr-close-icon {
  top: 6px;
  left: 6px;
  width: 36px;
  height: 36px;
  background-image: url(./images/croix-mobile.svg);
  background-position: 50% 50%;
  background-size: 36px 36px;
  opacity: 1;
}

body .fr-window-skin-fresco .fr-close-background,
body .fr-window-skin-fresco .fr-close:hover .fr-close-background {
  background-color: transparent;
}

/* Cross 20px from the top of the page: the button is 48px and insets its
   36px icon by 6px, so the button itself sits at 20 - 6 = 14px. */
body .fr-window-skin-fresco.fr-window-ui-outside .fr-close-outside {
  top: 14px;
}

/* Image starting at the bottom edge of the cross (20 + 36 = 56px).
   fresco.js centres the content in the box and writes the offset inline, so
   the alignment has to be forced. What caps the image height is the container
   padding-top, which fresco subtracts from both sides: 38px reserves the
   56px above plus 20px of clearance above the thumbnail strip. */
body .fr-window-skin-fresco.fr-window-ui-outside .fr-container {
  padding-top: 38px;
}

body .fr-window-skin-fresco.fr-window-ui-outside .fr-content,
body .fr-window-skin-fresco.fr-window-ui-outside .fr-content-background {
  top: 56px !important;
}

/* < > : one file, the previous arrow is the same one mirrored.
   The sprite rules they override are written as .fr-window-skin-fresco.fr-svg
   .fr-side-next .fr-side-button-icon, so the .fr-svg / .fr-no-svg variants are
   needed here to outweigh them — and to beat the :hover ones. */
body .fr-window-skin-fresco .fr-side .fr-side-button-icon,
body .fr-window-skin-fresco.fr-svg .fr-side .fr-side-button-icon,
body .fr-window-skin-fresco.fr-no-svg .fr-side .fr-side-button-icon {
  background-image: url(./images/fleche-lightbox.svg);
  background-position: 50% 50%;
  background-size: 33px 62px;
}

body .fr-window-skin-fresco .fr-side-previous .fr-side-button-icon {
  transform: scaleX(-1);
}

/* image counter (1/2) */
body .fr-window-skin-fresco .fr-position,
body .fr-window-skin-fresco .fr-position-outside,
body .fr-window-skin-fresco .fr-position-inside {
  display: none !important;
}

/* Thumbnails: squares instead of images.
   fresco.js sizes each thumbnail cell from the strip height, so a 20px strip
   gives 20px cells laid out edge to edge. The visible square is the wrapper
   below, kept at 15px: the 5px left over becomes the gap, which reproduces
   .image-switch-buttons exactly. (Going through the padding of
   .fr-thumbnails-thumbs instead would only ever give an even gap, since
   fresco reads it with parseInt and counts it on both sides.) */
body .fr-thumbnails-horizontal .fr-thumbnails {
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  margin-bottom: 20px;
}

body .fr-thumbnails-horizontal .fr-thumbnails-thumbs {
  padding: 0;
}

/* Left-aligned instead of centred (fresco.js sets the margin inline).
   19.5px lines the first square up with the left arrow: its 9px margin plus
   the (54 - 33) / 2 that centres the icon in the button. */
body .fr-thumbnails-horizontal .fr-thumbnails-wrapper {
  left: 19.5px;
  margin-left: 0 !important;
}

body .fr-window-skin-fresco .fr-thumbnail-wrapper {
  width: 15px;
  height: 15px;
  margin-top: 2.5px; /* centres the square in its 20px cell */
  background: #fff;
  border: 1px solid #000;
  box-shadow: none;
}

body .fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper {
  background: #000;
  box-shadow: none;
}

body .fr-window-skin-fresco .fr-thumbnail-image,
body .fr-window-skin-fresco .fr-thumbnail-loading,
body .fr-window-skin-fresco .fr-thumbnail-spinner,
body .fr-window-skin-fresco .fr-thumbnail-overlay-background,
body .fr-window-skin-fresco .fr-thumbnail-overlay-border {
  display: none !important;
}

body.mm-wrapper--opened .menu-overlay {
	left: 0;
}
	
/* MMenu */

	.mm-panels, .mm-panels * {
		background-color: #fff !important;
		border-color: #fff !important;
	}
		.mm-listitem a {
		    padding-top: 0;
		    padding-bottom: 10px;
		    font-weight: 400;
		    font-size: 30px;
    		line-height: 35px;
		}
	.mm-navbar__title > span {color: var(--edition-color);}
	
	a.mm-navbar__title > span {width:100%;}
	a.mm-navbar__title {line-height: 90px;font-size: 40px;}
	.mm-navbar__title span span {float: left;}
	
	li#li-login {margin-top: 20px;}

	button.menu-closer {
	    border: 0;
	    color: var(--edition-color);
	    font-size: 60px;
	    float: right;
	    cursor:pointer;
	}
	.mm-menu a:hover {color: var(--edition-color);}

/**********************************
	EFFECTS
*/

	.blink {
	  animation: Blinking 3s linear infinite;
	}
	@keyframes Blinking {
		0% {
			opacity: 0;
		}
		50% {
			opacity: 1;
		}
		100% {
			opacity: 0;
		}
	}

/**********************************
	STRUCTURE
*/

html, body {
	font-family: var(--antartica-font), sans-serif;
}

.wrapper {
	margin: 0 auto;
	position:relative;
	background-color:#fff;
}
.wrapper {
	z-index:1;
}
.container {
  width: 100%;
}
/*
.wrapper > .container {
	padding-left:0;
	padding-right:0;
}
*/
/**********************************
	HEADER
*/

.header-logo {
	position: absolute;
	right: 1px;
	top:45px;
	z-index:2;
	margin-bottom: 100px;
}

header {
   background: #fff;
	padding-block: 16px;
}
.home header {
	margin-bottom:30px;
	height: 200px;
}
	.menu {
	    margin: 0;
	    padding: 0;
	    font-weight:bold;
	}
	
	.menu li {
	    display: inline-block;
	    list-style: none;
	}
	
	/* Main Menu */
	.main-menu {
	    padding-left:35px;
	    padding-bottom: 35px;
	}
	.main-menu a {
		color: #fff;
		font-size: 24px;
		line-height: 28px;
	}
	.main-menu a:hover {
		color: #ccc;
	}
	
	.main-menu > li {
	    margin-right: 32px;
	}
	.main-menu > li.active a,
	.main-menu > li:hover a {
	    color: #ccc;
	    padding-bottom: 4px;
	   /* border-bottom: 2px solid #ccc; */
	}
	
	/* Menu Sup */
	
	.second-menu {
	    font-size: 12px;
	    padding-bottom: 20px;
	    padding-top:20px;
	    padding-left:35px;
	}
	
	.second-menu li {
	    margin-right: 16px;
	}
	.second-menu li a {
		font-size: 16px;
		line-height: 19px;
		color: #fff;
	}
	
		.second-menu li#li-login {
			margin-left: 64px;
			margin-right: 24px;
		}
		.second-menu li.active a,
		.second-menu li:hover a {
		    color: #ccc;
		    padding-bottom: 2px;
		    /* border-bottom: 2px solid #ccc; */
		}

		.language_selecter {
			color:#fff;
			text-transform:uppercase;
		}
		
	/* Text */
	
	.header-text {
		font-family: 'Systmastencil', serif;
	}
		.header_top_text {
			color: #fff;
			font-size: 24px;
			line-height: 32px;
			font-weight: bold;
		}
		.header_main_text,
		.header_main_text h1 {
			color:var(--edition-color);
			font-size: 75px;
			font-weight: bold;
			line-height: 80px;
		}
		
		
		.header_main_text h1 {
			font-size: 10.375rem;
			line-height: 1;
		}
		
		.single-objet .header_main_text h1 {
			font-size: 5rem;
			line-height: 1;
		}
		
		.home .header_main_text h1 {color:var(--edition-color);display: inline-block;}
		.home .header_main_text .cplmt-title {width:150px;font-size: 24px;line-height: 26px;display: inline-block;margin-left:10px;}
		.header_bottom_text {
			color: #fff;
			font-size: 16px;
			line-height: 24px;
			width:70%;
		}
	
	.title-date,
	.title-slogan {
		border-bottom:6px solid #000;
		display: block;
		height: 50px;
		float: left;
		margin-right: 20px;
		font-weight:700;
	}
	
	.title-date {font-size: 44px;
line-height: 60px;
width: 310px;}
	.title-slogan {font-size: 15px;
width: 400px;
line-height: 17px;}

.home-image {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	aspect-ratio: 2.15;
}	
	/* Filter / Search */
	
		
	.header-search-filter {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		min-height:116px;
		color: #fff;
		
	}
		.header-search-filter > .row > div {
			padding: 20px;
		}
		.header-search-filter .label {
			display:block;
			width:100%;
			padding: 30px 0 0 16px;
			font-size: 14px;
		    line-height: 17px;
		    opacity: 0.67;
		}
		.header-search-filter select {
			padding: 0 0 0 35px;
			font-size: 24px;
			line-height: 28px;
		}
			.header-search-filter select:focus option,
			.header-search-filter select:-moz-focusring option {
				color: #fff;
				font-size:12px;
			}
	
	.nav-tabs {
		border:none;
	}
		.nav-tabs > li > a {
			background: rgba(0, 0, 0, 0) none repeat scroll 0 0 !important;
			font-size:24px;
			margin-right:28px;
			border: medium none;
			font-weight:700;
			padding: 2px 15px;
			color:#ccc;
		}
		.nav-tabs > li > a:hover {
			color:#fff;
		}
		.nav-tabs > li.active > a, 
		.nav-tabs > li.active > a:hover, 
		.nav-tabs > li.active > a:focus {
			border-top:none !important;
			border-right:none !important;
			border-left:none !important;
			border-bottom:2px solid #626262;
			background: rgba(0, 0, 0, 0) none repeat scroll 0 0 !important;
			color:#fff;
		}
	.col-filter-numberbrochure span.label {padding-left:0;}
	.col-filter-numberbrochure input {margin-left:0 !important;}
	
	/********************************************************
	Filters Header and Row + Select Canton Subscription Form
	*********************************************************/
	
		.filters-row {
			margin-top:32px;
			background-color:#1FA17B;
			padding:16px;
		}
			.filters-row label {
				display: block;
				margin-bottom: 8px;
				width: 100%;
				color:#fff;
			}
			.header-search-filter button,
			.filters-row button {
				background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    			border: medium none;
    			color:#fff;
    			font-size: 20px;
    			float: right;
			}
			
	.design-select, 
	#gform_3 .participation_county select {
		border: medium none;
		display: inline-block;
		cursor:pointer;
		padding: 1em 2.5em 0 0;
		
		background: rgba(254,254,254,1);
		background: -moz-linear-gradient(top, rgba(254,254,254,1) 0%, rgba(254,254,254,0.92) 33%, rgba(235,235,235,0.77) 100%);
		background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(254,254,254,1)), color-stop(33%, rgba(254,254,254,0.92)), color-stop(100%, rgba(235,235,235,0.77)));
		background: -webkit-linear-gradient(top, rgba(254,254,254,1) 0%, rgba(254,254,254,0.92) 33%, rgba(235,235,235,0.77) 100%);
		background: -o-linear-gradient(top, rgba(254,254,254,1) 0%, rgba(254,254,254,0.92) 33%, rgba(235,235,235,0.77) 100%);
		background: -ms-linear-gradient(top, rgba(254,254,254,1) 0%, rgba(254,254,254,0.92) 33%, rgba(235,235,235,0.77) 100%);
		background: linear-gradient(to bottom, rgba(254,254,254,1) 0%, rgba(254,254,254,0.92) 33%, rgba(235,235,235,0.77) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#ebebeb', GradientType=0 );
		
		/* reset */

		margin: 0;      
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-appearance: none;
		-moz-appearance: none;
		
		/* arrow */
		
		background-image: url('./images/transparent.png');
		background-position:
		  calc(100% - 20px) calc(1em + 2px),
		  calc(100% - 15px) calc(1em + 2px),
		  calc(100% - 2.5em) 0.5em;
		background-repeat: no-repeat;
		
 
	}
	
	#gform_wrapper_3.gform_wrapper .top_label li ul.gfield_radio li {
		width: 50%;
		display: block;
		float: left;
	}
		#gform_wrapper_3.gform_wrapper .top_label li ul.gfield_radio li label {display: inline;}

	.design-select:focus {
		background-image: url('./images/transparent.png');
		background-repeat: no-repeat;
		border-color: #fff;
		outline: 0;
		
	}
	select.design-select:-moz-focusring {
		color: transparent;
		text-shadow: 0 0 0 #282828;
	}
			
	#catalogue input {
		margin: 8px 0 0 15px;
		background: rgba(0, 0, 0, 0) linear-gradient(0deg, rgba(0, 0, 0, 0.1) 100%, rgba(0, 0, 0, 0.1) 100%) repeat scroll 0 0;
	    border: medium none;
	    padding: 5px;
	    width: 50%;
	}
	.ui-autocomplete li {
		width:33%;
		float:left;
	}
		
	
	.search-filter-btn {
		text-align:center;
		display:table !important;
		border-bottom:6px solid #fff !important;
		padding:40px 16px 8px !important;
		width:auto !important;
		color: #fff;
		font-size: 20px;
		letter-spacing: 3px;
		line-height: 23px;
		text-transform:uppercase;
	}
	
	/* Select Complement */
	
		.select-hidden {
			display: none;
			visibility: hidden;
			padding-right: 10px;
		}
		
		.select {
			cursor: pointer;
			display: inline-block;
			position: relative;
			font-size:20px;
			color: #282828;
			width: 220px;
			height: 40px;
		}
		
		.select-styled {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
			padding: 8px 15px;
			-moz-transition: all 0.2s ease-in;
			-o-transition: all 0.2s ease-in;
			-webkit-transition: all 0.2s ease-in;
			transition: all 0.2s ease-in;
			color: #fff;
		}
		#gform_3 .participation_county .select-styled {
		 	font-size: 16px;
		 	font-weight:400;
		 	border: 1px solid #8f8f9d !important;
			box-shadow: none !important;
		}
		form#gform_3 .gform_body li select {
			background-color: transparent;
			border: 1px solid #8f8f9d;
			height: 40px;
			width: 100%;
			padding: 0 5px;
		}

		.select-styled:after {
			content: "";
			width: 0;
			height: 0;
			border: 7px solid transparent;
			border-color: #fff transparent transparent transparent;
			position: absolute;
			top: 16px;
			right: 10px;
		}
		.select-styled:hover {
			
		}
		.select-styled:active, .select-styled.active {
			
		}
		.select-styled:active:after, .select-styled.active:after {
			top: 9px;
			border-color: transparent transparent #fff transparent;
		}
		
		.select-options {
			display: none;
			position: absolute;
			top: 100%;
			right: 0;
			left: 0;
			z-index: 999;
			margin: 0;
			padding: 0;
			list-style: none;
			background-color: #fafafa;
		}
		.select-options li {
			margin: 0;
			padding: 4px 0;
			text-indent: 15px;
			border-top: 1px solid #282828;
			-moz-transition: all 0.15s ease-in;
			-o-transition: all 0.15s ease-in;
			-webkit-transition: all 0.15s ease-in;
			transition: all 0.15s ease-in;
			font-size: 14px;
		}
		.select-options li:hover {
			color: var(--edition-color);
			background: #fff;
		}
		.select-options li[rel="hide"] {
			display: none;
		}
		
		.col-filter-county .select-options li,
		#gform_3 .participation_county .select-options li {
			display: block;
			width: 20%;
			float: left;
		}
		.col-filter-county .select-options li:first-child {
			width: 100%;
			float: none;
			clear:both;
		}
		#gform_3 .participation_county .select-options li:first-child {
			display:none;
		}
		.col-filter-county .select-options li:last-child {
			width: 80%;
		}
		
		#gform_3 .participation_county .select2 .select2-selection__rendered {
			display:none !important;
		}
		
		#gform_3 .select-styled {
			color: #282828 !important;
		}
		
		.participation_county .select2-container {
			width: 100% !important;
		}
		
		#gform_3 .participation_billing_address {
			width: 100%;
		}
			#gform_3 .participation_billing_address ul {margin:0;padding:0;}
				#gform_3 .participation_billing_address ul li {display: block;width: 70px;float: left;}
		
	/* Cancel Btn */
		
		.col-filter-cancel {
			position:relative;
		}
			span.cancelbtn {
				position:absolute;
				top:50px;
				right:30px;
			}
			.col-filter-submit.col-filter-cancel span.cancelbtn.showCancel {
			    top: -40px;
			}
			span.cancelbtn i {
				font-size:24px;
				cursor:pointer;
			}
			.hideCancel {
				display: none;
			}
			.showCancel {
				display: block;
			}
		
	/* Arrow Down */
	
		.header-arrow-down {
			position:absolute;
			bottom:-42px;
    		text-align: center;
		}
		.header-arrow-down i {
			font-size:24px;
			cursor:pointer;
		}

/**********************************
	SIDE LINK
*/

	#side-link {
		background-color: var(--edition-color);
	    padding: 10px 25px;
	    text-align: center;
	    position: absolute;
	    z-index: 100000;
	    transform: rotate(-90deg);
	    width: 336px;
	    height: 44px;
	    top: 146px;
	    right: auto;
	    bottom: 0;
	    left:-250px;
	    font-weight: 700;
	}
		#side-link a {color:#fff;font-family: 'Systmastencil', serif;}

/**********************************
	RETURN BUTTONS
*/
	
	.single-objet .return-btn {
		border-bottom: 2px solid #000;
	}
		.return-btn a {
			color: #000;
			font-size: 20px;
			line-height: 23px;
			text-decoration:none;
		}
		
	.return-btn.green {
		border-bottom: 2px solid var(--edition-color);
		margin-top:32px;
		margin-left:0;
	}
		.return-btn.green a {
			color: var(--edition-color);
		}

/**********************************
	BACK TO TOP BUTTON
*/
	
	#backtotopBtn {
	    display: none;
	    position: fixed;
	    bottom: 20px;
	    right: 15px;
	    z-index: 99;
	    border: none;
	    outline: none;
	    background-color: var(--edition-color);
	    color: #ffffff;
	    cursor: pointer;
	    padding: 15px;
	}
	
	#backtotopBtn:hover {
	    background-color: #6c6c6c;
	}

/**********************************
	COOKIE NOTICE
*/

	.cn-set-cookie.button {
	    background: var(--edition-color) !important;
	    background-color: var(--edition-color) !important;
	    border: 1px solid #fff !important;
	    background-position: 0 !important;
	    border-radius: 0 !important;
	    color: #fff;
	    padding: 2px 10px;
	}

/**********************************
	FOOTER
*/

footer {
	color: #000;
	font-family: Antarctica;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	padding-top: 140px;
	padding-bottom: 16px;
}

footer a {
	text-decoration: underline;
}

	.copyright {
		width:100%;
		text-align:right;
		display: inline-block;
		margin-top:16px;
		opacity:0.5;
		font-size:12px;
		line-height:24px;
	}
		
/**********************************
	Pages
*/

	/* Home */
	
	.home-main-content .the-content p {
		color: #000;
	    font-size: 38px;
	    font-weight: 700;
	    line-height:44px;
	    margin-top:4px;
	}
		.home-main-content h2 {
			color: #0A0A0A;
			margin-bottom:0;
			font-size: 18px;
			line-height: 32px;
		}
		.home-readmore {
			color: #444;
			font-size: 24px;
		    font-weight: bold;
		    line-height: 28px;
		}
		.home-readmore:hover,
		.home-main-content .home-readmore:hover .the-content p {color:var(--edition-color);}
		/* .home-border {
			border-bottom: 6px solid #282828;
			border-top: 6px solid #282828;
		} */
	
/**********************************
	Articles / Pages
*/
.news-events {
  margin-top: 20px;
}
.news-events-categories {}
	.news-events-categories ul {margin:0;padding:0;}
		.news-events-categories ul li {display:inline-block;margin-right:8px;}
			.news-events-categories ul li a {}
.single .news-events,
.container .news-events, 
.container .archives-container /*, 
.container.single-obj:nth-child(2n) .row*/ {
	margin-top:32px;
}
	
	.news-events a {
		margin-bottom: 32px;
		display: block;
	}
	.news-events .the-content a {
		margin-bottom: 30;
		display: inline;
		color: #444;
	}
	.news-events .the-content a:hover {
		text-decoration: none;
		color: var(--edition-color);
	}
	.news-events h1 {
		font-family: 'Systmastencil', serif;
		font-size:80px;
		color: #000;
		margin-top: 0;
		font-weight: 400;
		margin-bottom: 80px;
		text-transform: uppercase;
		line-height: 0.9;
	}
	
	.news-events h2 {
		font-size: 40px;
		color: #000;
		text-transform: uppercase;
		margin-bottom: 0px;
	}
	
	.news-events h3 {
		font-size: 30px;
		color: #000;
		text-transform: uppercase;
		margin-bottom: 0px;
	}
	
	.news-events p {
		font-family: var(--antartica-font);
		font-size: 20px;
		font-weight: 400;
		line-height: 120%;
		margin-bottom: 0px;
	}
	
	.news-events h2,
	.news-events h3,
	.news-events h4, 
	.news-events h5  {
		font-weight: 400;
		font-family: 'Systmastencil', serif;
	}
		.news-events span.date {
			font-size:16px;
			line-height:24px;
			color:#7a7a7a;
			display:block;
			width:100%;
			margin-top: 16px;
		}
		.news-events span.excerpt {
			font-family: var(--antartica-font), serif;
			font-size:36px;
			line-height:40px;
			color:#141414;
			display:block;
			width:100%;
		}
		.news-events .more-news {
			font-size:24px;
			line-height:28px;
			color:#000;
			display:block;
			width:100%;
			margin-top: 110px;
		}
		.news-events .more-news:hover {color:var(--edition-color);}


.single-post h1,
.page-template-default h1 {
	margin-top:0;
}
.single-post .news-events span.excerpt,
.page-template-default .news-events span.excerpt,
.page-template-page-parcours .news-events span.excerpt{
	font-size:20px;
	line-height:24px;
}
.gallery-caption {
	font-size: 15px;
	line-height: 17px;
	font-family: var(--antartica-font);
}

/* Accordion sections of the standard pages (ACF repeater accordeon-item).
   Above 992px it is not an accordion at all: everything is open, the toggle
   does nothing and the chevron is hidden. Below 992px it becomes one, all
   items closed. The body text of the items picks up .news-events p
   (Antarctica 20px / line-height 120% = 24px). */

	.page-accordeon-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		padding: 0;
		border: 0;
		background: none;
		text-align: start;
		cursor: default;
	}

	.page-accordeon-toggle:focus {
		outline: none;
	}

	.page-accordeon-toggle:focus-visible {
		outline: 1px solid var(--edition-color);
	}

	.page-accordeon-title {
		color: #000;
		font-family: var(--systm-font), serif;
		font-size: 40px;
		font-style: normal;
		font-weight: 400;
		line-height: 0.9;
		text-transform: uppercase;
	}

	.page-accordeon-body {
		display: block;
	}

	/* the body starts right under its title: paragraphs keep the 1em top
	   margin that spaces them apart in this theme, except the first one */
	.page-accordeon-body > *:first-child {
		margin-top: 0;
	}

	.page-accordeon-chevron {
		display: none;
	}

	/* two lines of body text (2 x 24px) before the next title */
	.page-accordeon-item {
		margin-bottom: 48px;
	}

	.page-accordeon-item:last-child {
		margin-bottom: 0;
	}

	@media (max-width: 991.98px) {

		.page-accordeon-toggle {
			cursor: pointer;
		}

		.page-accordeon-title {
			font-size: 30px;
		}

		.page-accordeon-chevron {
			display: block;
			flex: 0 0 auto;
		}

		.page-accordeon-item.is-open .page-accordeon-chevron {
			transform: scaleY(-1);
		}

		.page-accordeon-body {
			display: none;
		}

		.page-accordeon-item.is-open .page-accordeon-body {
			display: block;
			padding-top: 20px;
		}

		/* Dashed rule under every item, including the last one, and shown
		   whether the item is open or closed: the padding puts it 10px under
		   the body (or under the title when the item is closed) and the margin
		   leaves 10px before the next title. */
		.page-accordeon-item {
			padding-bottom: 10px;
			margin-bottom: 10px;
			background-image: repeating-linear-gradient(
				to right,
				var(--dashed-color) 0 var(--dashed-length),
				transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
			);
			background-size: calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness);
			background-position: left bottom;
			background-repeat: repeat-x;
		}
	}

/* Standard pages: the featured image follows the scroll of the text column */

	@media (min-width: 992px) {

		/* The block has to stay shorter than the window, otherwise it is pinned
		   with its bottom permanently out of view and the scroll never reveals
		   it: the flex column caps the whole thing (image + caption) and lets
		   the image shrink to fit while keeping its ratio. */
		.page-image-sticky {
			position: sticky;
			top: 20px;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			max-height: calc(100vh - 40px);
		}

		.page-image-sticky img {
			min-height: 0; /* without it the image refuses to shrink */
			max-height: 100%;
			width: auto;
			max-width: 100%;
		}
	}

	@media (max-width: 991.98px) {

		/* stacked layout: keep the image off the text above it */
		.page-image-sticky {
			padding-top: 20px;
		}
	}

/* Objets Facet */

	.row-filters label {display: none;}

	/* Filters accordion: above 992px the panels are always open and the
	   toggles are hidden, so the layout stays exactly as before.
	   (the toggles share their look with .filter-anchor-link / #open-filter) */
	.row-filters .filter-accordion-toggle {display: none;}
	.filter-accordion-panel {display: block;}

	@media (max-width: 991.98px) {

		.row-filters .filter-accordion-toggle {
			display: flex;
			width: 100%;
		}

		/* Stacked toggles: every one but the last (and only while closed, so an
		   open item keeps the dash between its toggle and its panel) drops its
		   bottom dash, and the next item is pulled up by the dash thickness so
		   that its top dash lands exactly on the junction and acts as the single
		   separating line */
		.filter-accordion:not(:last-child):not(.is-open) .filter-accordion-toggle {
			background-image:
				repeating-linear-gradient(to right, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap)));
			background-size:
				calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness),
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap)),
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap));
			background-repeat: repeat-x, repeat-y, repeat-y;
			background-position: left top, left top, right top;
		}

		.filter-accordion + .filter-accordion {
			margin-top: calc(-1 * var(--dashed-thickness));
		}

		.filter-accordion-toggle i {
			transition: transform 0.2s ease;
		}

		.filter-accordion.is-open .filter-accordion-toggle i {
			transform: rotate(180deg);
		}

		/* The open panel continues the toggle box: dashed sides + inner padding */
		.filter-accordion-panel {
			display: none;
			padding: 10px;
			background-image:
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap)));
			background-size:
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap)),
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap));
			background-repeat: repeat-y, repeat-y;
			background-position: left top, right top;
		}

		.filter-accordion.is-open .filter-accordion-panel {display: block;}

		/* The reset button takes the look of the accordion toggles (it keeps its
		   own icon, moved to the right like the toggles' chevron) */
		.clear-filters {
			
			font-family: var(--antartica-font);
			font-size: 20px;
			font-weight: 400;  
			justify-content: space-between;
			gap: 0;
			padding: 9px;
			margin-top: calc(-1 * var(--dashed-thickness));
			color: var(--edition-color);
			background-image:
				repeating-linear-gradient(to right, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to right, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))),
				repeating-linear-gradient(to bottom, var(--dashed-color) 0 var(--dashed-length), transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap)));
			background-size:
				calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness),
				calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness),
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap)),
				var(--dashed-thickness) calc(var(--dashed-length) + var(--dashed-gap));
			background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
			background-position: left top, left bottom, left top, right top;
		}

		.clear-filters span {
			font-family: inherit;
			font-size: inherit;
			font-weight: inherit;
		}

		.clear-filters i,
		.clear-filters .clear-filters-icon {
			order: 2;
		}
	}

	.page-template-page-objets-facet-tpl .fs-wrap {width: 100% !important;height: 50px;}
	
	.page-template-page-objets-facet-tpl .fs-wrap.multiple .fs-search,
	.page-template-page-objets-facet-tpl .fs-wrap.single .fs-search {display:none;}
	.page-template-page-objets-facet-tpl .fs-wrap.single,
	.page-template-page-objets-facet-tpl .facetwp-dropdown,
	.page-template-page-objets-facet-tpl .fs-wrap.multiple {
	    width: 100%;height: 50px;
	}
	.page-template-page-objets-facet-tpl .facetwp-dropdown {
		height: 50px;
	}
	.fs-label-wrap .fs-label {
		height: 50px;line-height: 40px;background-color: #efefef;font-size: 20px;
	}
	.facetwp-type-fselect .fs-option .fs-option-label {
	    font-size: 17px;
	}
	.page-template-page-objets-facet-tpl .fs-label-wrap {max-width: 100%;width: 100%;    border: 1px solid #efefef;}
	.page-template-page-objets-facet-tpl .fs-dropdown {
		width: 100%; /*calc(100% - 30px)*/
		overflow-x: hidden;
		font-size: 20px;
	}
	.page-template-page-objets-facet-tpl .fs-dropdown .fs-options {
		overflow-x: hidden;
	}
	.page-template-page-objets-facet-tpl .fs-wrap .fs-options .fs-option:hover {
		background-color: #ccc;
	}
	.page-template-page-objets-facet-tpl .fs-wrap .fs-options .fs-option.selected {
		background-color: #999;
	}
	
	/* Radio marker: overrides the plugin's PNG on the left with an inline SVG
	   on the right — empty black circle, filled black disc once selected */
	body .facetwp-radio {
	  position: relative;
	  line-height: 1.75;
	  padding-left: 0;
	  padding-right: 25px;
	  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Ccircle cx='8.5' cy='8.5' r='8' fill='none' stroke='%23000'/%3E%3C/svg%3E");
	  background-position: right center;
	  background-size: 17px 17px;
	  background-repeat: no-repeat;
	  font-size: 20px;
	}

	body .facetwp-radio.checked {
	  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Ccircle cx='8.5' cy='8.5' r='8.5' fill='%23000'/%3E%3C/svg%3E");
	}
	
	body .facetwp-radio::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  right: 0;
	  bottom: -2px; /* ajuste selon l'espacement souhaité sous le texte */
	  height: var(--dashed-thickness);
	  background-image: repeating-linear-gradient(
		to right,
		var(--dashed-color) 0 var(--dashed-length),
		transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
	  );
	  background-size: calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness);
	  background-repeat: repeat-x;
	}
	
	body .facetwp-facet-fc_types_travaux .facetwp-radio::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px; /* ajuste selon l'espacement souhaité sous le texte */
		height: var(--dashed-thickness);
		background-image: repeating-linear-gradient(
		to right,
		var(--dashed-color) 0 var(--dashed-length),
		transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
		);
		background-size: calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness);
		background-repeat: repeat-x;
	}
	
	body .facetwp-template {margin: 0 0px;width: 100%;}
	
	/* Above 992px the reset button blends into the list of .facetwp-radio options */
	body .clear-filters {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 6px;
		border: 0;
		background-color: transparent;
		color: #000;
		cursor: pointer;
		text-align: start;
		line-height: 1.75;
		font-family: inherit;
		font-size: inherit;
		font-weight: inherit;
		width: 100%;
		padding-left: 0;
		position: relative;
		padding-right: 0;
	}
	
	body .clear-filters::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  right: 0;
	  bottom: -2px; /* ajuste selon l'espacement souhaité sous le texte */
	  height: var(--dashed-thickness);
	  background-image: repeating-linear-gradient(
		to right,
		var(--dashed-color) 0 var(--dashed-length),
		transparent var(--dashed-length) calc(var(--dashed-length) + var(--dashed-gap))
	  );
	  background-size: calc(var(--dashed-length) + var(--dashed-gap)) var(--dashed-thickness);
	  background-repeat: repeat-x;
	}
	
		body .clear-filters span {
			font-family: inherit;
			font-size: inherit;
			font-weight: inherit;
			color: inherit;
		}

	/* Same width as the .facetwp-radio markers (17px); the height follows the
	   17.9 x 22.6 viewBox of the icon */
	body .clear-filters .clear-filters-icon {
		width: 17px;
		height: auto;
		flex: 0 0 auto;
		/* the arrow's stroke overshoots the viewBox by half a unit at the bottom */
		overflow: visible;
	}
	
	/*.page-template-page-objets-facet-tpl */
	.row-results a {text-decoration:none !important;color:#000;position:relative;display: block;font-weight: 600;font-size:16px;}
	.row-results a .obj-header {position:relative;display: block;}
	.row-results .object-result h2,
	.row-results .object-result .object-type,
	.row-results .object-result .title-proxy {
		color: var(--edition-color);
		font-family: var(--antartica-font);
		font-size: 20px;
		font-weight: 400;
		line-height: 100%;
		margin-bottom: 0;
	}
	
	p.object-office {
		color: #000;
		font-family: var(--antartica-font);
		font-size: 30px;
		font-weight: 400;
		line-height: 110%;
	}
	
	.wrapper-inside-object {
		display: flex;
		height: 100%;
		flex-direction: column;
	}
	.wrapper-inside-object > a {
		flex-grow: 1;
	}
	
	
	.wrapper-inside-object > a:hover .num_brochure_tag,
	.wrapper-inside-object > a:hover .object-dates,
	.wrapper-inside-object > a.is-hover .num_brochure_tag,
	.wrapper-inside-object > a.is-hover .object-dates,
	.side-menu-list a:hover {
		font-weight: 700;

	}
	
	.separation-object {
		margin-bottom: 12px;
		width: 100%;
		height: 11px;
		background-image:
		repeating-linear-gradient(to right, currentColor 0 5px, transparent 5px 6px),
		repeating-linear-gradient(to right, currentColor 0 5px, transparent 5px 6px);
		background-size: 100% 5px;
		background-position: 0 0, 0 6px;
		background-repeat: no-repeat
	}
	
	.separation-object-long {
		width: 100%;
		object-fit: cover;
		height: 11px;
		width: 100%;
		height: 11px;
		background-image:
		repeating-linear-gradient(to right, currentColor 0 5px, transparent 5px 6px),
		repeating-linear-gradient(to right, currentColor 0 5px, transparent 5px 6px);
		background-size: 100% 4.95px;
		background-position: 0 0, 0 6px;
		background-repeat: no-repeat
	}
	
	.object-result {
		margin-bottom: 14px;
	}
	
	.row-results .object-result .object-type {
		margin-top: 0.33rem;
	}
	
	.mandataires-col {
		display: flex;
		flex-direction: column;
	}

	/* Cancelled object: the whole card is veiled and made inert,
	   with "ANNULÉ" centred on the image */
	.object-result.is-canceled .wrapper-inside-object {
		position: relative;
	}

	.object-result.is-canceled .wrapper-inside-object::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(255, 255, 255, 0.7);
		z-index: 2;
	}

	.object-result.is-canceled .obj-header {
		position: relative;
	}

	.object-result.is-canceled .obj-header::after {
		content: "ANNUL\00c9";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 3;
		font-family: var(--systm-font);
		font-size: 30px;
		font-weight: 400;
		line-height: 1;
		color: #000;
		white-space: nowrap;
	}

	.object-result.is-canceled a {
		pointer-events: none;
	}

	.row-results .obj-info-row {margin-top: 5px;}
	.row-results .obj-info-row .num_brochure_tag,
	.object-top-tags .num_brochure_tag,
	h1.page-title {
		color: var(--edition-color);
		font-family: var(--systm-font);
		font-size: 80px;
		font-style: normal;
		font-weight: 400;
		line-height: 1;
	}
	
	.parcours h1.page-title {
		padding-block: 6px;
	}
	
	.num_brochure_tag_map {
		font-family: var(--systm-font)!important;
		font-size: 30px!important;
		font-style: normal;
		font-weight: 400;
		line-height: 1;
	}

	/* Below 768px the icons drop from 80px to 60px (see facetMarkerSize() /
	   parcoursMarkerSize()): the label follows the same 0.75 ratio */
	@media (max-width: 767.98px) {

		.num_brochure_tag_map {
			font-size: 22.5px!important;
		}
	}
	
	.object-top-tags h1.page-title {
		display: inline;
	}
	
	.object-top-tags .num_brochure_tag {
		font-size: 40px;
		display: inline;
	}
	
	.row-results .obj-info-row .object-dates {
		color: var(--edition-color);
		text-align: right;
		font-family: var(--systm-font);
		font-size: 30px;
		font-style: normal;
		font-weight: 400;
		text-transform: uppercase;
		margin-right: 14px;
	}
	
	h1.page-title {
		text-transform: uppercase;
		margin-top: 0px;
		margin-bottom: 0px;
		line-height: 0.8;
	}
	
	.single-objet h1.page-title {
		line-height: 1.05;
	}

	/* "Objets à proximité" (single-objet.php) still uses the side-a/side-b flip layout */
	.objects-priximity a .side-a {display: block;}
	.objects-priximity a .side-b {position:absolute;top:0;left:0;right:0;bottom:0;width: 100%;height: 100%;display: block;}
	.objects-priximity a .obj-header {transition:all .7s ease;opacity:1;}
	.objects-priximity a .obj-header .num_brochure_tag {position:absolute;top:auto;right:auto;left:0;bottom:0;background-color:#000;color:#fff;padding:10px 15px;}
	.objects-priximity a:hover .object-opening,
	.objects-priximity a.a-hover .object-opening {opacity:1;}

	.objects-priximity .object-opening {
		opacity:0;
		transition:all .7s ease;
		background-color:#efefef;
		display: block;
		padding:20px 10px;
		aspect-ratio: 1.395348837209302;
		font-size:15px;
	}

	.objects-priximity .open-day {
		width:100%;
		margin-bottom:15px;
		   border-bottom: 1px solid #707070;
    	padding-bottom: 5px;
	}
	.objects-priximity .open-day:last-child {margin-bottom: 0;}
	.objects-priximity .open-day > .col-3 {
	    line-height: 12px;
	}
		.objects-priximity .open-day h5 {
			font-size:16px;
			line-height:16px;
			padding-bottom: 4px;
			margin-right: 5%;
			width: 95%;
		}
		.objects-priximity .open-day h5 span {
			font-weight:normal;
			font-size:15px;
			line-height:15px;
		}
		.objects-priximity .open-day ul {
			margin:0 12px 0 0;
			padding:0;
			list-style:none;
		}
			.objects-priximity .open-day ul li {
				font-weight:400;
				font-size:15px;
				line-height:15px;
				display: inline-block;
    			margin-right: 20px;
    			position:relative;
			}
				.objects-priximity .open-day ul li:not(:last-child)::after {
					content: "|";
					position:absolute;
					margin:0 10px;
					display:inline-block;
				}

	.opacity-0 {
		opacity: 0;
	}

	body .facetwp-facet {margin-bottom:0;}


	.objet-main-img {position:relative;display:block;aspect-ratio: 187 / 137;overflow:hidden;}
	.objet-main-img img {object-fit:cover;}
	.objet-main-img .image-slide {display:none;width:100%;height:100%;}
	.objet-main-img .image-slide.active {display:block;}

	.image-switch-buttons {display:flex;gap:5px;margin-top:10px;}
	.image-switch-btn {width:15px;height:15px;padding:0;background-color:#fff;border:1px solid #000;cursor:pointer;}
	.image-switch-btn.active {background-color:#000;}

	.object-top-tags {position:relative;margin-bottom:10px;}
	.object-top-tags .canceled {position:static;display:inline-block;float:none;margin-left:10px;}

	.see-timesheet {border: 1px solid #ccc;width: 100%;margin-top: 10px;}
	
	.row-filters .fs-arrow {right: 10px;}
	
	
	
	.objet-description {
		color: #000;
		font-family: var(--antartica-font);
		font-size: 20px;
		font-weight: 400;
		line-height: 120%; /* 24px */
	}
	
	
	
/**********************************
	OBJETS / PROGRAMME
*/

	.objects-gallery {
		margin: 32px auto;
		width: 1380px;/*width: 1170px;*/
	}
	.div-county {
		position:relative;
		display:block;
		width:100%;
		background-color:var(--edition-color);
		/*
		margin-bottom:133px;
		height:430px;
		max-width:322px;
		*/
		-webkit-transition: opacity 1s;
		-moz-transition: opacity 1s;
		-op-transition: opacity 1s;
		-ms-transition: opacity 1s;
		transition: opacity 1s;
		margin-left: 0;
    	margin-right: 0;
    	padding: 0 !important;
		aspect-ratio: 1.395348837209302;
	}
	.div-county:first-child(){
		margin-left: 0;
	}
		.div-county h2,
		.div-county h2 a {
			color:#fff;
			margin:0 auto;
			text-align:center;
			position:absolute;
			top:40%;
			font-size:64px;
			font-weight:700;
			width: 100%;
		}
	.objects-gallery .div-obj {
		max-width:352.5px;/*400px*/
		height: 563px;/*460px*/
		-webkit-transition: opacity 1s;
		-moz-transition: opacity 1s;
		-op-transition: opacity 1s;
		-ms-transition: opacity 1s;
		transition: opacity 1s;
	}
	.objects-gallery .row.scroll-d-none {display:none;opacity:0;transition: opacity 1s linear !important;}
		.div-obj li {
			list-style:none;
		}
		.div-obj a {
			margin: 0; /*0 auto 8px*/
		    /*display: block;*/
		    overflow: hidden;
		    position:relative;
		}
			.div-obj a span.canceled {
				font-size:15px;
				color:#fff;
				position:absolute;
				right:0;
				bottom:0;
				background-color:#cc2222;
				padding:5px 10px;
			}
			.div-obj span.address a {
				display: inline;
			}
		.div-obj h2,
		.parcours-grid h2,
		.parcours-grid-subtitle,
		.parcours-grid-date {
			color: #000;
			font-family: var(--systm-font);
			font-size: 40px;
			font-style: normal;
			font-weight: 400;
			line-height: 1;
			text-transform: uppercase;
			margin-block: 10px;
		}
		
		.parcours-grid h2,
		.parcours-grid-subtitle,
		.parcours-grid-date {
			margin-block: 14px;
		}
		
		.elem-data {
			margin-block: 10px;
			font-size: 20px;
			line-height: 1.2;
		}
		
		.elem-data > p {
			margin-bottom: 0;
		}
		
		.google-link {
			text-decoration: underline;
		}
		.div-obj .share-object {
			color:#9d9d9d;
			text-transform:uppercase;
			float:right;
		}
		.simplefavorite-button {
			border: none;
			background: none;
		}
			.sf-icon-star-full {
				color:#1fa17b;
			}
		.div-obj .object-location {
			display:block;
			width:100%;
			clear:both;
			font-size: 18px;
			line-height:24px;
		}
		.div-obj .object-location .obj-mandataire {
			text-transform: uppercase;
		}
			.div-obj .object-location .obj-mandataire.short {
				display: none;
			}
		
		.filling-case,
		.filling-case.filling-last:hover {
			background-color:var(--edition-color);
		}
		.filling-case.filling-last {
			background-color:var(--edition-color);
			cursor:pointer;
		}
		
	.single-obj span.work-type {
		display:block;
		float:left;
		margin-right:8px;
		margin-left:8px;
		line-height:36px;
	}
	.single-obj .canceled {
		display:block;
		float:right;
		color:#fff;
		background-color:#cc2222;
		padding:5px 10px;
		position: absolute;
	    top: auto;
	    bottom: 0;
	    left: auto;
	    right: 0;
	}
	/* ------------------------------------------------------------------
	   Smartphone (< 768px): the single-objet blocks are reordered.
	   The rows and the two text/image columns are flattened with
	   display:contents so that every block becomes a direct grid item of
	   .single-obj and can be placed with `order`. The two .div-obj columns
	   are deliberately NOT flattened: they must stay grouped to be moved
	   as a whole. Desktop is untouched, everything lives in this query.
	   ------------------------------------------------------------------ */
	@media (max-width: 767.98px) {

		.single-obj {
			display: grid;
			grid-template-columns: auto 1fr;
			align-items: start;
			/* only the first line uses the two columns: this is the gap
			   between the brochure number and the office */
			column-gap: 30px;
		}

		/* NB: every selector below walks the full path down from .single-obj.
		   Loose descendant selectors would also catch the cards of the
		   "à proximité" block, which reuse .num_brochure_tag, .canceled, etc. */

		.single-obj > .row,
		.single-obj > .row > .col-12:not(.div-obj),
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags {
			display: contents;
		}

		/* everything spans the full width, except the first line */
		.single-obj > .row > .div-obj,
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags > h1.page-title,
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags > .canceled,
		.single-obj > .row:nth-child(1) > .col-12 > .objet-description,
		.single-obj > .row:nth-child(1) > .col-12 > .objet-main-img,
		.single-obj > .row:nth-child(1) > .col-12 > .image-switch-buttons {
			grid-column: 1 / -1;
		}

		/* 1. brochure number + office on the same line, aligned on their
		   bottom edge; the 10px margin below both makes the line's own
		   bottom margin (a grid has no row element to carry it) */
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags > .num_brochure_tag {
			grid-column: 1;
			order: 1;
			align-self: end;
			margin-bottom: 10px;
		}

		.single-obj > .row:nth-child(1) > .col-12 > .object-office {
			grid-column: 2;
			order: 1;
			align-self: end;
			margin: 0 0 11px;
		}
		
		.objet-description {
		  font-size: 18px;
		}

		/* the cancelled badge is no longer positioned over the image here */
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags > .canceled {
			order: 0;
			position: static;
			float: none;
		}

		/* 2. title, 3. image */
		.single-obj > .row:nth-child(1) > .col-12 > .object-top-tags > h1.page-title { order: 2; }
		.single-obj > .row:nth-child(1) > .col-12 > .objet-main-img { order: 3; }
		.single-obj > .row:nth-child(1) > .col-12 > .image-switch-buttons { display: none; }

		/* 4. second .div-obj ("Infos"): its heading and the separator that
		   directly follows it are both dropped */
		.single-obj > .row:nth-child(2) > .div-obj:nth-child(2) { order: 5; }
		.single-obj > .row:nth-child(2) > .div-obj:nth-child(2) > h2,
		.single-obj > .row:nth-child(2) > .div-obj:nth-child(2) > h2 + .separation-object-long { display: none; }

		/* 5. description */
		.single-obj > .row:nth-child(1) > .col-12 > .objet-description { order: 6; margin-top:20px;}

		/* 6. first .div-obj (horaires / adresse) then 7. à proximité */
		.single-obj > .row:nth-child(2) > .div-obj:nth-child(1) { order: 7; }
		.single-obj > .row:nth-child(3) > .div-obj { order: 8; }
		
		
	}

	.single-obj span.address {
		display:block;
		width:100%;
		clear:both;
	}
	.mandataires-list {
		margin:0;
		padding:0;
		/*float:left;
		width:48%;
		margin-right:1%;*/
	}
	
	.div-obj {
		display: flex;
		flex-direction: column;
	}
	.mandataires-list .mandataire-type {
		/*display:block;
		width:100%;
		border-bottom: 1px solid #ccc;*/
		padding-bottom: 4px;
		color: #888;
	}
	.mandataires-list .mandataire-name {
		/*display:block;
		width:100%;*/
	}
	
	.open-day {
		width:100%;
	}
	.single-objet .div-obj  .open-day {
	    color: #000;
		font-family: var(--antartica-font);
		font-size: 20px;
		font-weight: 400;
		line-height: 1.2;
	}
	.single-objet .div-obj  .row.open-day > div {
	    padding: 10px 0;
	}
		span.month-text {
		    word-break: break-all;
		    display: block;
		    line-height: 13px;
		    font-size: 15px;
		    text-transform: uppercase;
			/*padding-bottom: 4px;*/
		}
		.open-day .day-text {
			font-weight:normal;
			font-size:11px;
			display:inline-block;
			width:100%;
			line-height:13px;
		}
		
		.open-day ul {
			margin:0 24px 0 0;
			padding:0;
		}
			.open-day ul li {
				font-weight:bold;
				font-size:18px;
				display: inline-block;
    			margin-right: 20px;
    			position:relative;
			}
				.open-day ul li:not(:last-child)::after {
					content: "|";
					position:absolute;
					margin:0 10px;
					display:inline-block;
				}
		
	.photo-credit {
		display:block;
		width:100%;
	}
	
	body:not(.single-objet) .objects-priximity {
		display:block;
		width:100%;
		margin-top:24px;
		overflow: hidden;
	}
		.objects-priximity span.obj-prox {
			display: block;
			margin: 0 auto;
			max-width: 150px;
		}
			/*.objects-priximity span span {
				float: right;
				line-height: 22px;
			}*/
	
	.green-button {
		color: #444;
		background-color:#fff;
		display:table;
		border:1px solid #444;
		text-transform:uppercase;
		text-align:center;
		padding:5px 15px;
		margin-top:32px;
	}
	.green-button:hover,
	.green-button:focus {
		color: #fff;
		background-color:#444;
	}
		 .aligned {
		 	display:inline-block;
		 	float:left;
		 	margin-right:15px;
		 }
		 .top-button {
		 	margin-top:0;
		 	margin-bottom:32px;
		 }
	
	.new23-button {margin-top: 24px !important;display: inline-block;}
		.new23-button span {font-size:16px;display:inline-block;}
		.new23-button i {font-size:26px;}
		.new23-button span.i {
			background-image:url(./images/fleche-droite.svg);background-size:contain;background-position:0 0;background-repeat: no-repeat;
		    display: inline-block;
		    width: 23px;
		    height: 37px;
    	}
    	.new23-button:hover span.i {
			background-image:url(./images/fleche-droite-hover.svg);
    	}
		.new23-button span.i-left {
			background-image:url(./images/fleche-gauche.svg);
		    margin-left: 0;
		    margin-right: 10px;
    	}
		.new23-button:hover span.i-left {
			background-image:url(./images/fleche-gauche-hover.svg);
    	}
		
		 
	.cb-post-url-qr-code {text-align:right;}
		.single-objet .cb-post-url-qr-code img {max-width: 100px;max-height: 100px;}
	
	
	/********************************
		Archives and documentation
	********************************/
	
		.div-county a {
			bottom: 16px;
			margin: 0 -15px;
			position: absolute;
			width: 100%;
		}
		.docs-title {
			width:100%;
			display:block;
			margin: 16px 0;
			font-weight:700;
			clear:both;
		}
		ul.docs-list {
			list-style:none;
			display: block;
			margin: 0;
			overflow: hidden;
			padding: 0;
		}
			ul.docs-list li {
				display:inline-block;
				height:70px;
				float:left;
				padding:5px;
			}
			ul.docs-list li a {
				display:block;
				width:100%;
				display: block;
				overflow: hidden;
			}
			ul.docs-list li a i {
				display:block;
				width: 15%;
				min-width: 40px;
				float:left;
				font-size:32px;
				margin-bottom:4px;
			}
			ul.docs-list li a span {
				display:block;
				float:left;
				text-align:left;
				width: 75%;
				line-height: 18px;
			}
			ul.pdfs-list a i {
				color:#E11E00;
			}
			ul.youtube-videos-list a i {
				color:#E62118;
			}
	

/************************
	Map
************************/


	ul.map-opening-dates {margin-top:32px;padding:0;list-style:none;}
		ul.map-opening-dates li {}
			ul.map-opening-dates li a {
				color:#444;
				height:48px;
				border: 1px solid #efefef;
				background-color:#efefef;
				line-height: 45px;
				margin: 0 0 8px 0;
				display: block;
				padding-left: 10px;
				padding-right: 10px;
				font-size: 20px;
			}
			ul.map-opening-dates li a:hover {
				background-color:#444;
				color:#fff;
			}
			ul.map-opening-dates li:last-child a {background-color:#000;color:#fff;text-align: center;}
			ul.map-opening-dates li:last-child a:hover {}
			
	.selection-mode {
		display: flex;
		padding: 9px;
	}
	
	.map-anchor-link {
		flex-basis: 50%;
		display: flex;
		align-items: center;
		color: var(--edition-color);
		font-family: var(--systm-font);
		font-size: 40px;
		font-weight: 400;
		line-height: 0.9;
		text-transform: uppercase;
	}
	
	.filter-anchor-link {
		font-family: var(--systm-font);
		font-size: 40px;
		font-weight: 400;
		line-height: 0.9;
		text-transform: uppercase;
	}
	
	.filter-anchor-link,
	.filter-accordion-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		color: var(--edition-color);
		padding: 6px;
		background-color: transparent;
		border: 0;
		text-align: left;
		cursor: pointer;
		padding-inline: 9px;
	}
	
	.filter-accordion-toggle {
		font-family: var(--antartica-font);
		font-size: 20px;
		font-weight: 400;
		line-height: 1.2;
	}
	
	.filter-anchor-link i {
		font-size: 1.5rem;
	}
		
		.map-anchor-link a {
			padding-inline: 9px;
			padding-top: 6px;
			padding-bottom: 5px;
		}

		/* Facet page: gallery / map columns toggle */

		.row-results.map-view .col-result .object-result {
			flex: 0 0 50% !important;
			max-width: 50% !important;
		}

		/* Below 1200px the steps of a parcours are listed on a single column */
		@media (max-width: 1200px) {

			.single-parcours .col-result .object-result {
				flex: 0 0 100%;
				max-width: 100%;
			}
		}

		/* Below 768px only one column is shown at a time.
		   Facet page: driven by its own gallery/map links.
		   Single parcours: same principle, driven by .parcours-selection-mode,
		   the .map-view class on .row-results carrying the state in both cases. */
		@media (max-width: 767.98px) {

			/* .parcours-selection-mode is shown further down, next to the rule
			   that hides it: that one comes later in this file and would win */

			body .facetwp-radio {
			  font-size: 18px;
			}
			
			#side-menu-close {
				top: 40px;
				right: 12px;
			}
			
			.row-results.map-view .col-result {
				display: none;
			}

			.row-results.map-view .col-carte {
				flex: 0 0 100%;
				max-width: 100%;
			}

			.single-parcours .row-results .col-result {
				flex: 0 0 100%;
				max-width: 100%;
			}

			.single-parcours .row-results .col-carte {
				display: none;
			}

			.single-parcours .row-results.map-view .col-carte {
				display: block;
				flex: 0 0 100%;
				max-width: 100%;
			}

			/* Full-screen map: the map starts at the very top of the page and the
			   two fixed headers float over it. The state is carried on <body> by
			   the switch handlers in scripts.js, because header and
			   .wrapper-en-tete-programme both sit outside .row-results.
			   The map height and the padding of .row-results are inline styles
			   set by adjustFacetHeaderOffsets(), which handles this case too. */
			/* One veil per stack. header covers 0 → 80 and
			   .wrapper-en-tete-programme the whole band below it, panel
			   included, so they are the only two elements painted: stacking a
			   second rgba(255,255,255,.7) on a nested element would composite to
			   1 - 0.3 x 0.3 = 0.91 and read as almost opaque. */

			/* Nested inside the two above, hence kept see-through — .wrapper is
			   the one that actually needs it, it carries a solid white. */
			body.map-view header .wrapper,
			body.map-view .header-programme {
				background: transparent;
			}

			/* Full-bleed map: .container-fluid pads 10px on each side, cancelled
			   by the negative margins of .row-results, but the column pads them
			   back in — and with !important, since the grid is redeclared that
			   way at the top of this file. */
			body.map-view .row-results .col-carte {
				padding-left: 0 !important;
				padding-right: 0 !important;
			}

			/* #open-filter and #collapse-filter need no veil of their own: both
			   sit inside .wrapper-en-tete-programme, which grows with the open
			   panel and already paints the 0.7 behind them. */
		}

		.col-carte-sticky {
			position: sticky;
			top: 20px;
		}

		#facet-map {
			height: 75vh;
			width: 100%;
		}

		/* Facet page: fixed header + programme header */

		.page-template-page-objets-facet-tpl header,
		.single-parcours header {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			z-index: 1030;
		}

		/* Scrolls on its own once taller than the window (its max-height is set
		   by adjustFacetHeaderOffsets in scripts.js). Only in the settled open
		   state: during the transition bootstrap uses .collapsing and needs to
		   keep its own overflow:hidden. */
		#collapse-filter.collapse.show {
			overflow-y: auto;
			overflow-x: hidden;
		}

		.page-template-page-objets-facet-tpl .wrapper-en-tete-programme,
		.single-parcours .wrapper-en-tete-programme {
			position: fixed;
			left: 0;
			right: 0;
			z-index: 1020;
			background: #fff;
			padding-left: 20px;
			padding-right: 20px;
			box-sizing: border-box;
		}

		#parcours-map {
			height: 75vh;
			width: 100%;
		}


		.gm-style > div > div > div > div > div {
			color: #fff !important;
		}
		.gm-style .gm-style-iw-d {
			color: #242424 !important;
		}
		.gm-style .gm-style-iw-d img {
			max-width: 100%;
		}

		/* Custom InfoWindow style (single-parcours + page-objets-facet maps) */

		/* The card height grows with its width (image + large brochure number),
		   so the width is also capped by the available height: on a short
		   viewport the bubble narrows instead of being cut off.
		   The 42vh factor is the tuning knob: lower it if cards are still
		   truncated, raise it for wider bubbles. */
		.single-parcours .gm-style-iw-c,
		.page-template-page-objets-facet-tpl .gm-style-iw-c {
			width: min(25vw, 42vh) !important;
			min-width: min(400px, 42vh) !important;
			max-width: 500px !important;
			border-radius: 0 !important;
			padding: 0 !important;
		}
		
		.gm-style .gm-style-iw-c {
		  box-shadow: none!important;
		}

		.single-parcours .gm-style-iw-d,
		.page-template-page-objets-facet-tpl .gm-style-iw-d {
			padding: 0 !important;
			max-width: none !important;
			overflow: hidden !important;
		}

		.single-parcours .gm-ui-hover-effect,
		.page-template-page-objets-facet-tpl .gm-ui-hover-effect {
			position: absolute !important;
			top: 14px !important;
			right: 16px !important;
			width: 20px !important;
			height: 20px !important;
			padding: 0 !important;
			margin: 0 !important;
			z-index: 10 !important;
		}

		.single-parcours .gm-ui-hover-effect > span,
		.page-template-page-objets-facet-tpl .gm-ui-hover-effect > span {
			width: 22px !important;
			height: 22px !important;
			margin: 0 !important;
		}

		/* The InfoWindow shows a clone of the list card (.object-result): the top
		   padding keeps the close button clear of the card */
		.map-infowindow {
			position: relative;
			padding: 41px 20px 20px 20px;
			background: #fff;
		}

		/* Neutralise the Bootstrap column sizing carried by the cloned card */
		.map-infowindow .object-result {
			flex: none !important;
			width: 100% !important;
			max-width: none !important;
			margin: 0 !important;
			padding: 0 !important;
		}

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


	nav.pagination {
		display: table;
    	margin: 32px auto;
    }
		nav.pagination span,
		nav.pagination a {
			display:inline-block;
			width:30px;
			height:30px;
			border: 1px solid #1fa17b;
			line-height: 27px;
	    	text-align: center;
	    	margin:0 1px;
		}
		nav.pagination span.current {
			background-color: #1fa17b;
			color:#fff;
		}
		nav.pagination a.page-numbers {
			background-color: #fff;
			color:#1fa17b;
		}
		nav.pagination a.next, 
		nav.pagination a.prev {
	    	width:80px;
	    }
		nav.pagination a:hover {
			background-color:#91dec8;
			color:#fff;
		}
		
	.pagination-top-container {
		display:block;
		margin:0 auto;
		/*width: 380px;*/
		padding-left: 15px;
    	padding-right: 15px;
	}
		
	nav.pagination-top {
    	margin: 0 auto 8px;
		float: right;
	}
		nav.pagination-top .page-numbers:not(.prev):not(.next) {
			display:none;
		}
		

/***********************************
	Secondary Object Images
***********************************/
	
	ul.secondary-object-images-list {
		list-style:none;
		overflow: hidden;
		margin:0;
		padding:0;
	}
	
		ul.secondary-object-images-list li {
			display:inline-block;
			position:relative;
			float: left;
			margin-right:16px;
			width:150px;
			height:175px;
			margin-bottom: 16px;
		}
		ul.secondary-object-images-list li.li-county {
			background-color:#444;
			height: 150px;
    		margin-bottom: 41px;
		}
		ul.secondary-object-images-list li.li-second-object-image {
			
		}
		ul.secondary-object-images-list li a {
			color:#fff;
			position:relative;
			top:0;
			left:0;
			right:0;
			bottom:0;
			width:100%;
			height:175px;
			text-align:center;
			display: block !important;
		}
		ul.secondary-object-images-list li a img {
			position:absolute;
			top:0;
			left:0;
			right:0;
			bottom:0;
			z-index:10;
		}
		ul.secondary-object-images-list li span {
			color:#fff;
			position:absolute;
			top:45%;
			left:0;
			right:0;
			width:100%;
			text-align:center;
			z-index:20;
			font-weight:700;
		}
		ul.secondary-object-images-list li.li-second-object-image span {
			top:auto;
			bottom:0;
			text-align:left;
			color: #292929;
			font-weight:400;
			font-size:18px;
		}
	
	
/***********************************
	 Forms : Demande de participation (3) - Contact (5)
*/

	form#gform_3 {
		
	}
	form#gform_3 .gform_body > ul > li {
		clear: none !important;
    	float: left;
    	height: 80px; /*118px*/
    	display: block;
    	margin-right: 16px;
    	width:100%;
	}
		form#gform_3 .gform_body > ul > li.gfield.participation_sentence {height: auto;}
		
	@media (min-width: 768px) {
		form#gform_3 .gform_body > ul > li.gfield.participation_sianum {width: 50%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_lang {width:0%;}
		form#gform_3 .gform_body > ul > li.gfield.participation_title {width:0%;}
		form#gform_3 .gform_body > ul > li.gfield.participation_email {width: 50%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_password {}
		form#gform_3 .gform_body > ul > li.gfield.participation_sentence {margin-top: 45px;height: auto;margin-bottom: 16px;}
		form#gform_3 .gform_body > ul > li.gfield.participation_company {width: 33.33333333333%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_name {width: 66.666666666666%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_destinataire {}
		form#gform_3 .gform_body > ul > li.gfield participation_street {width: 50%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield participation_complement {width: 50%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_place {width: 33.33333333333%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_npa {width: 33.33333333333%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_county {width: 33.33333333333%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.gfield.participation_country {}
		form#gform_3 .gform_body > ul > li.participation_instagram.participation_social {width: 50%;margin-right: 0;}
		form#gform_3 .gform_body > ul > li.participation_facebook.participation_social {width: 50%;margin-right: 0;}
	}
	@media (max-width: 767.98px) {
		.ginput_container .ginput_left, 
		.ginput_container .ginput_right {
		    width: 100% !important;
		    margin-right: 0 !important;
		    margin-left: 0 !important;
		    padding-left: 0 !important;
		    padding-right: 0 !important;
		}
		.ginput_container .name_first,
		.ginput_container .name_last {
		    width: calc(100% - 15px) !important;
		    margin-right: 0 !important;
		    margin-left: 0 !important;
		    padding-left: 0 !important;
		    padding-right: 0 !important;
		}
	}
	.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first, 
	.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last, 
	.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle,
	ul.gform_fields li.gfield span.name_first, 
	ul.gform_fields li.gfield span.name_last, 
	ul.gform_fields li.gfield span.name_middle {
	    padding-top: 0 !important;
	}
	
	form#gform_5 .gform_body li {
		clear: none;
    	float: left;
    	height: 118px;
    	display: block;
    	width:50%;
	}
		form#gform_3 .gform_body li label,
		form#gform_5 .gform_body li label {
			clear: both;
		    display: block;
    		height: 20px;
		    font-size: 16px;
		    left: 0;
		    position: relative;
		    top: 0;
		    color:#444;
		}
		.gform_wrapper .validation_error, 
		form#gform_3 .gform_body li input,
		form#gform_3 .gform_body li select,
		form#gform_3 .gform_body span.selection *,
		form#gform_5 .gform_body li input,
		form#gform_5 .gform_body li select,
		form#gform_5 .gform_body span.selection * {
			font-size: 16px !important;
		}
		form#gform_5 .gform_body li input,
		form#gform_5 .gform_body li select,
		form#gform_3 .gform_body li input,
		form#gform_3 .gform_body li select,
		form#gform_3 .gform_body li .select {
			width: 100% !important;
		}
		
	/* Participation */
	.participation_sianum {}
	.participation_lang_hidden {display:none !important;}
	.participation_lang {}
	.participation_lang li,
	.participation_lang .select2 {width: 100px;}
	.participation_lang li label {font-size: 12px !important;}
	.participation_company {width:30%;}
	
	.participation_title {clear: both !important;}
	.participation_name {}
	.participation_name .ginput_complex .control-label {display:none !important;}
	
	.participation_email {width:25%;clear: both !important;}
	.participation_password {}
	.participation_password .ginput_complex .control-label {font-size: 12px !important;}
	
	.participation_street {clear: both !important;width:30%;}
	.participation_street input {}
	.participation_complement {width:30%;}
	
	.participation_place {clear: both !important;width:15%;}
	.participation_place input {}
	.participation_npa {width:100px;}
	.participation_npa input {}
	.participation_county {}
	.participation_county select {}
	.participation_country {width:150px;}
	.participation_country select{}
	
	/* Contact */
	.contact-dest {}
	.contact-name {}
	.contact-email {}
	.contact-tel {}
	.contact-sia {}
	.contact-message {}
	.contact-captcha {}
	
	/*.green-button*/
	.gform_footer .btn {
		background-color: #444 !important;
		border: 1px solid #444 !important;
		color: #fff !important;
		display: table !important;
		margin-top: 0 !important;
		padding: 5px 15px !important;
		text-align: center !important;
		text-transform: uppercase !important;
		font-size:16px !important;
	}
	
	/* Activation de Compte */
	
	.ginput_complex.ginput_container.ginput_container_email input {
	    border: 1px solid #eed5d4 !important;
	}

/* Custom Login/Register/Password Code @ https://digwp.com/2010/12/login-register-password-code/ */

	/* tabbed list */
	ul.tabs_login {
		padding: 0;
		margin: 20px 0 0 0;
		position: relative;
		list-style: none;
		font-size: 14px;
		z-index: 1000;
		float: left;
	}
	ul.tabs_login li {
		border: 1px solid #E7E9F6;
		line-height: 28px; /* = */ height: 28px;
		padding: 0; margin: 0 5px 0 0;
		position: relative;
		background: #fff;
		overflow: hidden;
		float: left;
	}
	ul.tabs_login li a {
		text-decoration: none;
		padding: 0 10px;
		display: block;
		outline: none;
	}
	html ul.tabs_login li.active_login {
		border-left: 1px solid #E7E9F6;
		border-bottom: 1px solid #fff;
		background: #fff;
		color: #333;
	}
	html body ul.tabs_login li.active_login a { font-weight: bold; }
	.tab_container_login {
		background: #fff;
		position: relative;
		margin: 0 0 20px 0;
		border: 1px solid #E7E9F6;
		z-index: 999;
		float: left;
		width: 100%;
		top: -1px;
	}
	.tab_content_login {
		padding: 7px 15px 15px 15px;
		padding-top: 10px;
	}
	.tab_content_login ul {
		padding: 0; margin: 0 0 0 15px;
	}
		.tab_content_login li { margin: 5px 0; }
	/* global styles */
	#login-register-password {}
	#login-register-password h3 {
		border: 0 none;
		margin: 10px 0;
		padding: 0;
	}
	#login-register-password p {
		margin: 0 0 15px 0;
		padding: 0;
	}
	/* form elements */
	.wp-user-form {}
	.username, .password, .login_fields {
		margin: 7px 0 0 0;
		overflow: hidden;
		width: 100%;
	}
		.username label, .password label { float: left; clear: none; width: 25%; }
		.username input, .password input { 
			font: 12px/1.5 "PxGrotesk", Verdana, sans-serif;
			float: left; clear: none; width: 200px; padding: 2px 3px; color: #777;
		}
	.rememberme { overflow: hidden; width: 100%; margin-bottom: 7px; }
	#rememberme { float: left; clear: none; margin: 4px 4px -4px 0; }
	.user-submit { padding: 5px 10px; margin: 5px 0; }
	.userinfo { float: left; clear: none; width: 75%; margin-bottom: 10px; }
	.userinfo p { 
		margin-left: 10px; 
	}
	.usericon { float: left; clear: none; width: 15%; margin: 0 0 10px 22px; }
	.usericon img {
		border: 1px solid #F4950E;
		padding: 1px;
	}

/* Page Composer - CSS Starter Kit */


	/* Common */
	
		.naf-pc-element:not(._content_gallery):not(._content_carousel) {
			display: -ms-flexbox;
			display: flex;
		}
		.content_carousel > div,
		.content_gallery.gallery-masonry > div,
		.content_map_tag > div,
		.content_map > div,
		.content_links_block > div {
			-ms-flex: 0 0 100%;
			flex: 0 0 100%;
			max-width: 100%;
		}
		
		.section .fullwidth > .row {
		    margin-left: 0;
		    margin-right: 0;
		}
		.naf-pc-element .btn {
			color: #fff;
			background-color: #212529;
			border: 1px solid #212529;
			border-radius: 0;
		}
		
	/* Content Wide Section */

		.wide-section {width: 100%;}
		.wide-section-text {
		    padding: 2rem 4rem 2rem 15px;
    		font-size: 24px;
		}
		.wide-section .order-1 .wide-section-text {
		    padding: 2rem 15px 2rem 6rem;
		}
		.wide-section-text h2 {font-size:30px;font-weight:900;}
		.content-box {
			width:100%;
			height:700px;
			background-color: #e2e8db;
			position:relative;
		}
		.col-12:not(.order-1) > .content-box {
		    background-color: #CAE5DD;
		}
		
		.intermediaire-box {
		    height: 100%;
		    position: absolute;
		    background-color: #e2e8db;
		    display: block;
		    top: 0;
		    left: 0;
		    width: calc(100% + 125px);
		    z-index: -1;
		}
		.col-12:not(.order-1) > .content-box .intermediaire-box {
		    background-color: #CAE5DD;
		    left:auto;right:0;
		}
		
		.img-box.left, .img-box.right{
			bottom:0;
			width: calc(100% + 125px);
			background-repeat: no-repeat;
			background-size: cover;	
			top:0;
			background-position: center center;
		}
		
		.img-box.left {
			left: auto;
    		width: calc(100% + 125px);
    		right:0;
		}
		
		
		
/*****************/
/* Media Queries */
/*****************/

@media (max-width: 1800px) {
	
	body.home #side-menu-panel {
	  min-width: 500px;
	}
	
}

@media (max-width: 1750px) {
	
	.row-results .obj-info-row .num_brochure_tag, .object-top-tags .num_brochure_tag, h1.page-title {
	  font-size: 60px;
	}
	
	.object-top-tags .num_brochure_tag {
	  font-size: 40px;
	  display: inline;
	}
	
}


@media (max-width: 1400px) {
	body.home #side-menu-panel {
	  min-width: 400px;
	}
	
	body.home .side-menu-list a {

	  font-size: 60px;
	}
}

@media (max-width: 1440px) {
	
	.map-anchor-link,
	.filter-anchor-link {
	  font-size: 30px;
	}
	
	.row-results .obj-info-row .num_brochure_tag, .object-top-tags .num_brochure_tag, h1.page-title {
	  font-size: 60px;
	}
	
	.object-top-tags .num_brochure_tag {
	  font-size: 35px;
	  display: inline;
	}
	
	.single-objet h1.page-title {
		font-size: 50px;
	}
	
	header {
		margin-bottom: 16px;
	}
	
	.header_main_text h1 {
	  font-size: 8.25rem;
	  line-height: 1;
	}
	.home header {
		margin-bottom: 16px;
	}
	.objects-gallery {
		margin: 32px auto;
		max-width: 1180px; /*938px*/
	}
	.objects-gallery .div-obj {
		height: 463px;
		width: 295px;
	}
		.div-county h2 {
			font-size: 44px;
			top: 43%;
		}
		.div-obj .object-type {
			font-size: 11px;
		}
		.div-obj .object-location {
			font-size: 16px;
			line-height: 18px;
		}
		
		.wide-section-text {padding: 2rem 2rem 2rem 15px;}
		.wide-section .order-1 .wide-section-text {padding: 2rem 15px 2rem 4rem;}
		.wide-section-text {font-size: 20px;}
		
		.home header {
		  height: 160px;
		}

}
@media (max-width: 1230px) {
	.header_main_text, 
	.header_main_text h1 {
		font-size: 6rem;
		line-height: 1;
	}
	.objects-gallery {
		max-width: 938px;
	}
	.objects-gallery .div-obj {
		height: 368px;
		width: 234.5px;
	}
	
	._logo {
		font-size: 2.5rem;
	}
	
	._logo > div > div:first-child {
		margin-right: 4rem;
	}
}
@media (max-width: 1170px){
	
	.wide-section .order-1 .wide-section-text {padding: 2rem 15px 2rem 2rem;}
	.wide-section-text {font-size: 18px;}
	
}
@media (max-width: 1060px){
	.header-text {
		top:17%;
		width:80%;
	}
		.header_main_text, 
}	
@media (max-width: 991px){
	
	body .clear-filters {
		padding-left: 9px;
		padding-right: 10px;
	}
	
	.facetwp-facet-fc_types_travaux .facetwp-radio::after {
		background-image: none;
	}
	
	._logo {
		font-size: 2rem;
	}
	
	._logo > div > div:first-child {
		margin-right: 3rem;
	}
	
	.overlay-header.overlay-top {
		left: 30%;
	}
	
	.header_main_text, .header_main_text h1 {
	    font-size: 5.5rem;
	}
	.home .header_main_text .cplmt-title {
	    width: 110px;
	    font-size: 16px;
	    line-height: 16px;
	}
	.home-main-content .the-content p {
	    font-size: 30px;
	    line-height: 36px;
	}

	/*.home header,	header {
		height: 580px;
	}*/
	.col-filter-submit.col-filter-cancel span.cancelbtn.showCancel {
	    top: 35px;
	    right: auto;
	    left: 30px;
	}
	.single-obj img {
		display: block;
		margin: 0 auto;
	}
	.single-obj .photo-credit {
		margin: 0 auto 32px;
		max-width:570px;
	}
		.open-day {
			width: 25%;
		}
		.open-day:nth-child(2n+1) {
			clear: none;
		}
		
	.cb-post-url-qr-code {display:none;}
	
	form#gform_5 .gform_body li {height: auto;width: 100%;}
	form#gform_5 .gform_body li select,
	form#gform_5 .gform_body li input {width: 100% !important;}
	
	.intermediaire-box {width: auto;}
	.img-box.left, .img-box.right {width: calc(100% - 30px);left: 15px;}
	.content-box-image {background-color: transparent !important;height: 450px;}
	.wide-section-text {padding: 15px !important;}
	
}
@media (max-width: 767px) {
	
	
	
		
	body .clear-filters::after {
	  height: 0;
	}
	
	.single-objet .div-obj .open-day {
	  font-size: 16px;
	}
	
	.single-objet .elem-data {
		font-size: 16px;
	} 
	
	.object-top-tags .num_brochure_tag {
		font-size: 30px;
	}
	
	p.object-office {
		font-size: 18px;
	}
	
	.div-obj {
	  padding-right: 0 !important;
	  padding-left: 0 !important;
	}
	
	.container-fluid {
	  padding-right: 10px;
	  padding-left: 10px;
	}
	
	.filter-accordion-toggle {
	  font-size: 18px;
	}
	
	.single-objet .header_main_text h1 {
	  font-size: 8vw;
	  line-height: 1;
	}
	
	.home header {
		height: 120px;
	  }
	
	._logo {
		font-size: 1.5rem;
	}
	
	._logo > div > div:first-child {
		margin-right: 1.5rem;
	}
	
	.overlay-header.overlay-top {
		left: 10%;
	}
	
	.wrapper {padding:0;}
	.home-image {
		aspect-ratio: 1.33;
	}
	.tab-logo-burger {min-width:110px !important;}
	.logo-lettres {
		max-width: 40px;
	}
	.header-text {
		top: 8%;
		width: 90%;
	}
		.header_main_text,
		.header_main_text h1 {
			font-size: 4rem;
		}
		.home .header_main_text .cplmt-title {font-size: 16px;line-height: 16px;display: inline-block;margin-left:0;}
		
		#hamburger {
			width: 35px;
			margin-left: 10px;
			
		}
		#hamburger span {height: 3px;margin: 5.5px 0;}
		button.menu-closer {font-size: 35px;}

		a.mm-navbar__title {line-height: 60px;font-size: 30px;}
		
		.wide-section .container-fluid {padding:0;}
		.wide-section-text {
		    padding: 15px !important;
		    font-size: 20px;
		}
		.wide-section-text h2 {
		    font-size: 26px;
		}
		.content-box {height: auto;}
		.content-box-image {
		    padding: 0 15px;
		    background-color: transparent !important;
		}
		.img-box.left, .img-box.right {
		    position: relative !important;
		    left: auto !important;
		    width: 100% !important;
		    right: auto !important;
		    height: 350px;
		}
		.intermediaire-box {width: auto;}
		.wide-section-text a.new23-button {margin-bottom: 30px;}
		
		
	.tab-content {
		min-height: 200px;
	}
		.select {
			font-size: 16px;
		}
		.header-search-filter button, .filters-row button {
			font-size: 18px;
		}
	.single-post h1 {
		margin-top:32px;
	}
	.objects-gallery {
		max-width: 454px;
	}
	.div-county-ZZ h2 {
		font-size: 32px;
	}
		.div-obj .object-type {
			font-size: 11px;
			line-height: 24px;
		}
		.div-obj .object-location {
			font-size: 14px;
			line-height: 18px;
		}
		.open-day {
			width: 50%;
		}
		.open-day:nth-child(2n+1) {
			clear: both;
		}
	.objects-priximity.row div.div-obj {
		margin-bottom:16px;
	}
	.row.archives-container {
		margin-left: 0;
		margin-right: 0;
	}
		.archives-container .div-county {
			margin-bottom: 32px;
			margin-left: 0;
			margin-right: 0;
			/*max-width: 100%;*/
			height: 150px;
		}
		.archives-container .div-county h2 {
			top:32px;
		}
		.archives-container .div-county.div-year h2 {
			top: 30%;
		}
		
	/* Form */
	
		.participation_name,
		.participation_password {
			min-width: 60%;
			max-width: 100%;
			clear: both !important;
			float: none !important;
			width: 100% !important;
		}
		.participation_name .ginput_complex > span,
		.participation_password .ginput_complex > span {
			float: left;
			margin-right: 16px;
			width: 45%;
		}
	.objects-gallery .div-obj {
		height: 380px;
		width: 242px;
	}
	
	.filling-case:not(.filling-unique) {
		display: none;
	}
	
	a .caption-img, .caption-img {font-size: 14px;}
		
}
@media (max-width: 580px) {
	
	.home header {
		height: 100px;
	  }
	  
	.overlay-header.overlay-top {
		left: 25px;
		right: 25px;
	}
	
	.header_main_text h1 {
		font-size: 12vw;
	}
	
	.tab-logo-burger {min-width:100px !important;}
	.logo-lettres {max-width:40px;}
	.header-text {
		padding: 0 15px;
		top: 10px;
		width: 100%;
	}
		.header_top_text {
			font-size: 15px;
			line-height: 23px;
		}
		.header_main_text {
			font-size: 34px;
			line-height: 38px;
		}
		.header_bottom_text {
			font-size: 14px;
			line-height: 20px;
			width: 100%;
		}
	#catalogue {
		padding-top: 32px;
	}
	#catalogue input {
		width: 80%;
	}
	.tab-content {
		min-height: 390px;
	}
	.tab-content > .tab-pane > form > div {
		width: 100%;
	}
	.select {
		width: 100%;
	}
	
}
@media (max-width: 480px) {
	
	:root {
		--dashed-thickness: 0.5px;
	}
	
	body button:focus {
	  outline: 0px!important;
	}
	
	.side-menu-list a,
	.side-menu-list li.current-menu-item a {
		font-size: 45px;
	  }
	  
	  .side-menu-list a:hover {
		  font-size: 45px;
		  font-size: 47px;
		}
	
	header {
		/*height: 620px;*/
	}
	.home header {
		margin-bottom: 32px;
	}
	.home .header_main_text .cplmt-title {width:100%;font-size: 16px;line-height: 16px;display: inline-block;margin-left:0;}
	.header-text {
		top: 4%;
		width: 98%;
	}
		.header_top_text {
			font-size: 14px;
			line-height: 18px;
		}
		.header_main_text {
			font-size: 34px;
			line-height: 38px;
		}
		.header_bottom_text {
			font-size: 13px;
			line-height: 19px;
			width: 100%;
		}
	.nav-tabs > li > a {
		font-size: 20px;
		margin-right: 10px;
    	padding: 2px 5px;
	}
	#catalogue input {
		width: 70%;
	}
	.tab-content {
		min-height: 400px;
	}
		#catalogue > div {
			width:100%;
		}
		.header-search-filter .label {
			padding: 10px 0 0 15px;
		}
		.select {
			font-size: 16px;
			width: 100%;
		}
		.header-search-filter button, .filters-row button {
			font-size: 18px;
		}
	.home-main-content .the-content p {
		font-size: 20px;
		line-height: 32px;
	}
	.home-readmore {
		font-size: 20px;
		line-height: 28px;
	}
	.news-events {
		margin-top: 32px;
	}
		.news-events h2 {
			font-size: 26px;
			line-height: 34px;
		}
		.news-events span.excerpt {
			font-size: 20px;
			line-height: 24px;
		}
	.objects-gallery {
		max-width: 400px;
	}
		.div-county:first-child(){
			margin-left: 0;
		}
			.div-county h2 {
				margin:0 auto;
				top:45%;
				font-size:64px;
			}
		.objects-gallery .div-obj {
			max-width:300px;
			height: 460px;
			width:300px;
			display:block;
			margin:0 auto;
			float:none;
			clear:both;
		}
				.div-obj a span.canceled {
					font-size:15px;
					right:0;
					bottom:0;
					background-color:#cc2222;
					padding:5px 10px;
				}
		.open-day, 
		.mandataires-list {
			width: 100%;
			clear: both;
		}
		.open-day {
			width: 50%;
			clear:none;
		}
		
		.archives-container .div-county.div-year h2 {
		    top: 40%;
		    font-size: 34px;
		}
		
		.filling-case, 
		.filling-unique {
			display: none;
		}
		
}

@media (min-width: 768px) and (max-width: 991px) { /* SM */
	
	.home header {
		margin-bottom: 10px;
	}
	.header-text {
		top: 8%;
		width: 85%;
	}
		.header_main_text {
			font-size: 48px;
			line-height: 52px;
		}
	.tab-content {
		min-height: 200px;
	}
	.objects-gallery {
		margin: 32px auto;
		max-width: 722px; /*534px*/
	}
	.objects-gallery .div-obj {
		height: 297px;
		width: 188px;
	}
	.div-county h2 {
		font-size: 44px;
		top: 43%;
	}
	.div-county.div-year h2 {
		top: 37%;
	}
	.div-county-ZZ h2 {
		font-size:24px;
	}
	.div-obj .object-location .obj-mandataire {
		display: none;
	}
	.div-obj .object-location .obj-mandataire.short {
		display: block;
	}
	.div-obj .object-type {
		font-size: 11px;
		line-height: 22px;
		clear: both;
    	float: none;
    	margin-left: 0;
    	width: 100%;
	}
	.news-events {
		margin-top: 64px;
	}
	.news-events a.more-news {
		margin-bottom: 0;
		margin-top: 64px;
	}
	.home-border {
		margin-left:15px;
	}
}

@media (min-width: 1280px) {
	
	.wrapper > .container,
	header .container {
		width:1178px;
	}
	
	.home .header_top_text {
		width:60%;
	}
	
}

@media (min-width: 1170.02px) and (max-width: 1449.98px){
	.open-day h5 span {
		width: 100%;
		display: inline-block;
	}
	.objects-priximity .object-opening {padding: 10px 10px;}
	.objects-priximity .open-day {margin-bottom: 10px;}
	span.month-text {font-size: 13px;}
}

@media (min-width: 1280px) {
	.container {
		max-width: 1510px;
	}
}

@media (min-width: 1441px) {
	
	.wrapper > .container,
	header .container {
		width:100%; /*1374px*/
	}
	
	/*
	.objects-gallery .row > div:first-child, 
	.objects-gallery .row > div:nth-child(4n+1) {
		margin-left: 0;
	}
	.objects-gallery .row > div:nth-child(4n) {
		margin-right: 0;
	}
	*/
	
}


/* Hide elements on Account Activation Page */
.page-template-page-form-activation-tpl ul.second-menu,
.page-template-page-form-activation-tpl ul.main-menu,
.page-template-page-form-activation-tpl .header-text,
.page-template-page-form-activation-tpl .header-search-filter,
.page-template-page-form-activation-tpl .header-mobile a#hamburger,
.page-template-page-form-activation-tpl nav#menu-mobile {
	display:none !important;
}

/* Timeline */

.parcours-picture {
	aspect-ratio: 1;
	max-width: 150px;
	border-radius: 50%;
	overflow: hidden;
}

.timeline-content:hover .parcours-picture > img {
	transform: scale(1.1);
}

.parcours-picture > img {
	object-fit: cover;
	transition: transform 0.2s;
}

/* Parcours grid (page-parcours-liste.tpl.php) */

.parcours-grid {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	column-gap: 20px;
	align-items: start;
	margin-bottom: 3rem;
}

.parcours-grid-separator {
	grid-column: 1 / -1;
	width: 100%;
	margin-top: 20px;
}

/* The whole parcours block is one link: it spans the full grid and
   re-creates the same columns so its children stay aligned on the grid */
.parcours-grid-link {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	column-gap: 20px;
	align-items: start;
	color: inherit;
	text-decoration: none;
	position: relative;
}

/* Stretched link covering the whole block (kept below the carousel arrows) */
.parcours-grid-overlay-link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

/* Desktop: the carousel wrappers are transparent, images stay direct grid items */
.parcours-grid-images,
.parcours-grid-images-track {
	display: contents;
}

/* The title and the carousel toggle share one flex row; the toggle only
   appears below 1200px, so on desktop the title sits alone as before */
.parcours-grid-title-row {
	grid-column: span 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.parcours-carousel-toggle {
	display: none;
}

.parcours-carousel-toggle:focus {
	outline: none;
}

.parcours-carousel-toggle:focus-visible {
	outline: 1px solid var(--edition-color);
}

.parcours-grid-subtitle {
	grid-column: span 3;
}

.parcours-grid-date {
	grid-column: span 2;
}

.parcours-grid-lieu {
	grid-column: span 1;
	font-weight: 400;
	text-transform: none;
	font-family: var(--antartica-font);
	font-size: 20px;
	margin-top: 14px;
}

/* Same bold-on-hover as the object cards and the menu entries. The hover is
   read on the whole block, so it also fires from the stretched overlay link
   that covers it — and from the three texts themselves, which are inside. */
.parcours-grid-link:hover .parcours-grid-title,
.parcours-grid-link:hover .parcours-grid-subtitle,
.parcours-grid-link:hover .parcours-grid-date {
	font-weight: 700;
}



.parcours-grid-image {
	grid-column: span 1;
	display: block;
	aspect-ratio: 187 / 137;
	overflow: hidden;
}

.parcours-grid-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 1200px) {

	.parcours-grid,
	.parcours-grid-link {
		grid-template-columns: repeat(4, 1fr);
		column-gap: 16px;
	}
	
	.row-results.map-view .col-result .object-result {
	  flex: 0 0 100% !important;
	  max-width: 100% !important;
	}
	
	h2.parcours-grid-title {
		font-size: 60px;
		margin-block: 0px;
		margin-top: 4px;
	}
	
	.parcours-grid-subtitle {
		font-size: 30px;
		margin-block: 0px;
	}
	
	.parcours-grid-lieu,
	.parcours-grid-date {
		font-weight: 400;
		font-family: var(--antartica-font);
		font-size: 18px;
		margin-top: 6px;
		margin-bottom: 10px;	
		line-height: 1;	
	}

	.parcours-grid-title-row,
	.parcours-grid-subtitle {
		grid-column: 1 / -1;
	}

	.parcours-grid-date {
		grid-column: span 2;
	}

	.parcours-grid-lieu {
		grid-column: span 2;
	}

	/* Images become a one-row carousel: the extra ones overflow past the
	   container edge (clipped, so no horizontal scrollbar on the page) */
	.parcours-grid-images {
		display: block;
		grid-column: 1 / -1;
		position: relative;
		overflow: hidden;
		margin-top: 0px;
	}

	.parcours-grid-images-track {
		display: flex;
		column-gap: 16px;
		transition: transform 0.3s ease;
	}

	.parcours-grid-image {
		flex: 0 0 calc((100% - 48px) / 4);
	}

	/* Toggle between the first four and the last four images */
	.parcours-carousel-toggle {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		z-index: 2;
		padding: 0;
		border: 0;
		background: none;
		cursor: pointer;
	}

	/* pointing left once the last images are shown */
	.parcours-carousel-toggle.is-flipped svg {
		transform: scaleX(-1);
	}

	.parcours-carousel-toggle.is-hidden {
		display: none;
	}
}



/* Single parcours (single-parcours.php) */


.parcours-single-title {
	color: #000;
	font-family: var(--systm-font);
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
}

/* date + lieu, on a single line */
.parcours-single-date {
	color: #000;
	font-family: var(--antartica-font);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
}

/* Gallery / map switch: only below 768px, the two columns are side by side
   above. Both rules have to stay together and in this order — the media query
   adds no specificity, so a "display: none" declared after it would win at
   every width and the switch would never appear. */
.parcours-selection-mode {
	display: none;
}

@media (max-width: 767.98px) {

	.parcours-selection-mode {
		display: flex;
		margin-top: 10px;
	}
}


.title-parcours {
	color: var(--edition-color);
	font-size: 1.2em;
	line-height: 1.2;
}

.timeline-box .horaire {
	color: var(--edition-color);
	font-size: 1.2em;
}

.about-timeline{background-color:#f3f3f3; padding: 140px 0 125px;}

.timeline-box h6{font-size: 55px; line-height: 1; color: var(--edition-color); font-weight: 700; font-family: 'Poppins', sans-serif;background-color: #fff;position: relative; z-index: 1; display: inline-block; width: auto; padding: 0 10px;margin-top: 0;} 

.timeline-box p{font-size: 18px; line-height: 27px; color: #000000; font-weight: 400;margin-bottom: 26px;font-family: 'Inter', sans-serif;} 
.timeline-box p:last-of-type{margin-bottom:15px;} 
.start-point h4{font-size: 17px; line-height: 23px; color: #ffffff; font-weight: 600;text-transform: uppercase;background-color: #d21e1e;border-radius: 16px;display: block; width: auto; text-align: center; padding: 5px 25px;position: relative;margin-bottom: 45px;font-family: 'Inter',sans-serif;} 
.black-dot{width: 21px;height: 21px;background-color: #000;border-radius: 50%;display: block;margin: 0 auto 62px;z-index: 1;} 
.start-point{position: relative;display: flex; justify-content: center; flex-direction: column; align-items: center} 
.start-point:before{content:'';position: absolute;left: 0;height: 100%;width: 0px;background-color: #aaa;left: 50%;top: 0;transform: translate(-50%,0%);-webkit-transform: translate(-50%,0%);-moz-transform: translate(-50%,0%); border-left: 1px solid #aaa;} 

.timeline-row .horizontal-line {
	border-top: 6px solid var(--edition-color);
	width: 100%; 
	margin: 0 auto;
	position: absolute; top: 0;
	left: 0%; 
	z-index: 0; 
}

.timeline-row:nth-child(2n) .horizontal-line {
	right: 0; 
	left: initial;
}

.timeline-row .verticle-line { 
	margin: 0; 
	padding: 0; 
	width: 2px; 
	border-right: 6px solid var(--edition-color); 
	height: calc(100% - 140px); 
	position: absolute; 
	top: 0; 
	right: 0%;
	margin: auto 0; 
	bottom: 0; 
}

.timeline-row:nth-child(2n+2) .verticle-line { 
	left: 0;
	right: inherit; 
} 

.timeline-box:nth-child(3n) .horizontal-line {
	width: calc(100% - 75px);
}

.corner { 
	position: absolute; 
	border-right: 6px solid var(--edition-color);
	width: 76px; 
	height: 76px; 
	right: 0%; 
	border-top: 6px solid var(--edition-color);
	top: 74.9px; 
	border-radius: 0 70px 0 0;
	top: 0; 
} 
.timeline-row:nth-child(2n+2) .corner { 
	right: inherit; 
	left: 0; 
	border-left: 6px solid var(--edition-color); 
	border-right: 0;
	border-radius: 70px 0 0 0; 
} 
.corner.bottom { 
	bottom: -76px; 
	top: inherit; 
	border-radius: 0; 
	border-top: 0; 
	border-bottom: 6px solid var(--edition-color);
	border-radius: 0 0 70px 0; 
	right: 0;
	z-index: 1;
	bottom: -6px; 
}

.timeline-row:nth-child(2n+2) .corner { 
	right: inherit; 
	left: 0; 
	border-left: 6px solid var(--edition-color);
	border-right: 0; 
	border-radius: 70px 0 0 0; 
} 

.timeline-row:nth-child(2n+2) .corner.bottom { 
	border-radius: 0 0 0 70px; 
}

.timeline-row { 
	display: flex; 
	flex-wrap: wrap; 
	padding-bottom: 0px;
	 position: relative;
 } 
 
.timeline-row:nth-child(2n+2) { 
	
} 

.timeline-row:nth-child(2n+2) { 
	flex-direction: row-reverse; }
	 


.timeline-row:nth-child(odd) {
	margin: 0 0px 0 auto; 
	padding: 0 0 0 75px; 
 }
 
 .timeline-row:nth-child(even) {
	margin: 0 0px 0 auto; 
	padding: 0 75px 0 0;
	justify-content: end; 
  }

.parcours-header > h3 {
	color: var(--edition-color);
	font-size: 2rem;
}

.div-county a.parcours-link {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 1rem;
}

.div-county a.parcours-link h2 {
	position: static;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	font-size: 48px;
	justify-content: center;
}

/*.timeline-row:nth-child(2n+2) .timeline-content-txt { text-align: center; }*/
.timeline-main{margin-top: 75px;} 

.corner.bl{bottom: 0;left: 0;border-left: 1px solid #aaa; border-bottom: 1px solid #aaa; border-radius: 0 0 0px 100%; border-right: none; border-top: none; height: 76px; width: 76px;} .start-point .corner.bl{left: 50%; bottom: 0px; transform: translateY(100%); top: unset;} 
.timeline-box:before{content: '';position: absolute;left: 0;top: 27.5px;height: 1px;width: 100%;} 
.timeline-box-wrap { padding: 0px 50px; position: relative;margin-bottom: 50px; transform: translate(0,-30px); } 
/*.timeline-row:after{content: ''; position: absolute; left: 50%; top: 74.5px; height: 1px; width: 91%; background-color: #aaa; transform: translateX(-50%);top: 0;} .timeline-row .verticle-line { margin: 0; padding: 0; width: 1px; border-right: 1px solid #aaa; height:calc(100% - 126px); position: absolute; top: calc( 50% + 75px );; right: 0; margin: auto 0; bottom: unset; transform: translateY(-50%);top: 50%; } */
.timeline-row:first-child::after {left: -54px;width: 97%; transform: none; } 
/*.timeline-row:first-child .timeline-box:last-child{margin-right: 5%;} */
.timeline-content { padding: 10px 10px 0;} 
.timeline-content-txt { padding: 10px 0 0 0; } 
.timeline-box.img-right .timeline-content,.timeline-box.img-left .timeline-content{display: flex; align-items: flex-start;} 
.timeline-box.img-right .timeline-content img{margin-left: 18px;} 
.timeline-box.img-left .timeline-content img{margin-right: 18px;} 
.timeline-box.img-left .timeline-content{flex-direction: row-reverse;} 
.timeline-row:first-child .timeline-box:first-child img{filter: drop-shadow(0 0 27px rgba(0,0,0,0.16));-webkit-filter: drop-shadow(0 0 27px rgba(0,0,0,0.16));display: block;margin: 0;} 
.timeline-box-wrap .timeline-content img {filter: drop-shadow(0 0 27px rgba(0,0,0,0.16));-webkit-filter: drop-shadow(0 0 27px rgba(0,0,0,0.16));z-index: 2;position: relative;} 
.timeline-row:last-child .corner.bottom{display: none;} 
.timeline-box-wrap{text-align: center;}
.start-point.end-point:before{display: none;}
.start-point.end-point{ position: absolute; bottom: 0; right: 0%; transform: translateX(50%); }
.timeline-row:nth-child(2n+2) .start-point.end-point{left: 0;transform: translateX(-50%);right: unset;}

.timeline-box.img-right .timeline-content-txt {text-align: right;}
.timeline-box.img-left .timeline-content-txt {text-align: left;}
.timeline-box.img-left, .timeline-box.img-right {text-align: center;}
.timeline-row:first-child .timeline-box::after {left: auto; right: 0; -webkit-transform: translate(100%,-50%) rotate(0deg); transform: translate(100%,-50%) rotate(0deg);}
.timeline-row:first-child .timeline-box:first-child {width: 36%;}
.timeline-row .timeline-box:nth-child(3)::after {display: none;}
.timeline-row:last-child .verticle-line::after {display: none;}
.timeline-row:first-child .timeline-box:nth-child(2)::after {display: none;}

.timeline-content-img .timeline-content {position: relative;}

/*==============Responsive==============*/


/* @media screen and (max-width: 1800px) {

.timeline-box {max-width: 460px;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {max-width: 220px; max-height: 230px;}
  .timeline-box-wrap .timeline-content img {max-width: 100%;}
}




@media screen and (max-width: 1600px){
 
  .timeline-row:first-child .timeline-box:first-child {width: 38%;}
	.timeline-box {max-width: 380px;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {max-width: 180px; max-height: 190px;}
	.timeline-box h6 {font-size: 50px;}
	.about-timeline {padding: 120px 0 100px;}
	.timeline-box p {font-size: 16px;}
}

@media screen and (max-width: 1440px) {
  
  .about-timeline {padding: 100px 0 80px;}
	.start-point h4 {font-size: 15px; letter-spacing: 0;}
	.timeline-box h6 {font-size: 40px;}
	.timeline-row:first-child .timeline-box:first-child {width: 45%;}
	.timeline-box p {font-size: 15px; line-height: 1.4;}
	.timeline-box {max-width: 300px;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {max-width: 140px; max-height: 200px;}
	.timeline-box-wrap .timeline-content img {max-width: 100%;}
	.timeline-row:first-child .timeline-box:nth-child(2) {width: 150px;}
}


@media screen and (max-width: 1199px) {
  .about-timeline {padding: 90px 0 60px;}
	.timeline-box h6 {font-size: 34px;}
	.timeline-box {max-width: 240px;}
	.timeline-row:first-child {padding: 0 0 0 60px;}
	.timeline-row:first-child .timeline-box:first-child {width: 42%;}
	.timeline-box.img-right .timeline-content, .timeline-box.img-left .timeline-content {flex-wrap: wrap;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {max-width: 180px; max-height: 200px;}
	.top-timeline-arrow.timeline-content-img .timeline-content::after {right: 0;}
	.img-right.timeline-content-img .timeline-content::after {top: -20px; right: -45px;}
.timeline-box.img-right .timeline-content-txt {width: 90%;}
}

@media screen and (max-width: 1024px) {
.corner {display: none;}
	.timeline-row .horizontal-line {display: none;}
	.timeline-row:first-child {max-width: 100%; padding: 0;}
	.timeline-main {margin-top: 0;}
	.timeline-row .verticle-line {right: 50%; transform: translate(50%,0); height: calc(100% - 0px);}
	.timeline-row:nth-child(2n+2) .verticle-line {left: auto; right: 50%;}
	.verticle-line::after {display: none;}
  
  .timeline-row .timeline-box {width: 100%; max-width: 100%; margin: 0;}
	.timeline-row:first-child .timeline-box:first-child {width: 100%; margin: 0;}
	.timeline-row:first-child .timeline-box:nth-child(2) {width: 100%;}
	.timeline-box p br {display: none;}
	.timeline-box h6 {transform: translate(0,-0%); padding: 0;}
	.timeline-content {padding: 0;}
	.timeline-box.img-right .timeline-content-txt {width: 100%;}
	.start-point.end-point {right: 50%;}
	.start-point h4 {margin-bottom: 0;}
	.about-timeline {padding: 80px 0;}
	.timeline-box::after {-webkit-transform: translate(-100%,100%) rotate(180deg); transform: translate(-100%,100%) rotate(180deg); right: 50%; top: 20px; left: 50%;}
  .timeline-box-wrap {width: 50%; text-align: right; padding: 0 30px 0 0; margin: 40px 0 0 0;}
	.timeline-row .timeline-box img {margin: 0 0 0 auto;}
	.timeline-row:first-child .timeline-box:nth-child(2)::after {display: block;}
	.timeline-row:first-child .timeline-box:first-child img {margin: 0 0 0 auto;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {margin: 0 0 0 auto;}
	.timeline-row .timeline-box:nth-child(2n) .timeline-box-wrap {margin: 40px 0 0 auto; padding: 0 0 0 30px; text-align: left;}
  .timeline-row:nth-child(2n+1) .timeline-box::after {left: auto; right: 50%; -webkit-transform: translate(0%,100%) rotate(180deg); transform: translate(0%,100%) rotate(180deg); top: 20px;}
	.timeline-row .timeline-box:nth-child(2n)::after {transform: translate(100%,100%) rotate(0deg); -webkit-transform: translate(100%,100%) rotate(0deg); right: 50%; left: auto;}
	.timeline-row .timeline-box:nth-child(3)::after {display: block;}
	.timeline-box.img-left .timeline-content-txt {text-align: right;}
	.timeline-row:last-child {padding-bottom: 70px;}
}

@media screen and (max-width: 640px) {
  
  .about-timeline {padding: 50px 0;}
	.timeline-box h6 {font-size: 27px;}
	.timeline-box p {font-size: 14px; line-height: 1.4;}
	.timeline-box-wrap {margin: 30px 0 0 0;}
	.timeline-row .timeline-box:nth-child(2n) .timeline-box-wrap {margin: 30px 0 0 auto;}
	.timeline-box::after, .timeline-row:nth-child(2n+1) .timeline-box::after {top: 6px;}
	.timeline-box-wrap .timeline-content img {max-width: 100%;}
	.timeline-box.img-right .timeline-content img, .timeline-box.img-left .timeline-content img {max-width: 100%; max-height: unset;}
} */

@media screen and (max-width: 1600px){
 
 .timeline-box-wrap {
  	padding: 0px 30px;
  }
	
}


@media (max-width: 1200px){
	
	.timeline-row .verticle-line { 
		display: none;
	}
	
	.timeline-row:nth-child(odd) {
	  padding: 0 0 0 0; 

   }
   
   .timeline-row:nth-child(even) {
	 padding: 0 0 0 0;
   
   }
   
   .timeline-row:nth-child(odd) .timeline-box:nth-child(odd) {
	   border-right: solid 6px var(--edition-color);
   }
   
   .timeline-row:nth-child(odd) .timeline-box:nth-child(even) {
		border-left: solid 6px var(--edition-color);
		transform: translateX(-6px);
	}
	
	.timeline-row:nth-child(even) .timeline-box:nth-child(odd) {
		   border-left: solid 6px var(--edition-color);
		   transform: translateX(-6px);
	}
	   
   .timeline-row:nth-child(even) .timeline-box:nth-child(even) {
		border-right: solid 6px var(--edition-color);
		
	}
	.timeline-row .verticle-line,
	.timeline-row:nth-child(2n+2) .verticle-line {
	  right: 50%;
	  left: initial;
	  transform: translateX(3px);
	  height: 100%;
	}
	
	.timeline-row .horizontal-line,
	.corner {
	  display: none;
	}
	
	.timeline-box-wrap {
	  margin-bottom: -20px;
	}
	
	.timeline-row:nth-child(odd) .timeline-box:nth-child(even)  {
		margin-left: 50%;
	}
	
	.timeline-row:nth-child(even) .timeline-box:nth-child(odd)  {
		margin-left: 50%;
	}
	
	.timeline-row:nth-child(even) .timeline-box:nth-child(even)  {
		margin-right: 50%;
	}
	
	
	
}


@media (max-width: 768px){
	
	.page-template-page-objets-facet-tpl .wrapper-en-tete-programme, .single-parcours .wrapper-en-tete-programme {
	  padding-left: 10px;
	  padding-right: 10px;
	  padding-bottom: 12px;
	}
	
	.parcours-grid {
	  margin-bottom: 1.5rem;
	}
	
	h1.page-title {
		margin-bottom: 20px;
	}
	
	.filter-anchor-link {
	  padding: 8px;
	}
	
	.filter-accordion-toggle {
		padding-block: 14px;
	}
	
	.header-mobile > .row > .col-auto {
	  flex: 0 0 auto;
	  width: auto;
	}
	
	.selection-mode {
		margin-bottom: 8px;
		padding-top: 7px;
		padding-bottom: 6px;
		padding-block: 6px;
	}
	
	.map-anchor-link a {
	  padding-bottom: 2px;
	  padding-top: 2px;
	  padding-inline: 5px;
	}
	
	.header-programme {
	  padding-top: 30px;
	 padding-bottom:0px;
	}
	
	#collapse-filter {
		margin-top: -1px;
	}
	
	header {
		margin-bottom: 0px;
		padding-top: 40px;
		padding-bottom: 10px;
	}
	
	.header-title {
	  font-size: 30px;
	}
	
	.parcours-grid,
	.parcours-grid-link {
		column-gap: 10px;
	}
	
	.parcours-grid-images-track {
		column-gap: 10px;
	}
	
	.parcours-grid-image {
		flex: 0 0 calc((100% - 30px) / 4);
	}
	
	.timeline .parcours-header {
		text-align: center;
	}
	.timeline-row:nth-child(odd) .timeline-box:nth-child(even)  {
		margin-left: 0;
	}
	
	.timeline-row:nth-child(even) .timeline-box:nth-child(odd)  {
		margin-left: 0;
	}
	
	.timeline-row:nth-child(even) .timeline-box:nth-child(even)  {
		margin-right: 0;
	}
	
	.timeline-box-wrap {
	  margin-bottom: 2rem;
	}
	
	.timeline-row:nth-child(odd) .timeline-box:nth-child(odd) {
		   border-right: 0;
	   }
	   
	   .timeline-row:nth-child(odd) .timeline-box:nth-child(even) {
			border-left: 0;
			transform: translateX(0);
		}
		
		.timeline-row:nth-child(even) .timeline-box:nth-child(odd) {
			   border-left: 0;
			   transform: translateX(0);
		}
		   
	   .timeline-row:nth-child(even) .timeline-box:nth-child(even) {
			border-right: 0;
			
		}
 }





/* ── Home: retractable menu below 1200px ──────────────────────────────────
   Above 1200px the menu is a column of the home layout (body.home rules
   further up). Below, it becomes the same off-canvas panel as on every other
   page. Those body.home rules outweigh the generic #side-menu-panel ones by
   specificity, so the generic behaviour is restated here instead of just
   being switched off. */

@media (min-width: 1200px) {

	/* menu is part of the layout: nothing to open or close */
	body.home #hamburger,
	body.home #side-menu-close {
		display: none;
	}
}

@media (max-width: 1199.98px) {

	/* same spot as the header button of the other pages (20px / 35px), but
	   under the panel, which covers it once open just like there */
	body.home #hamburger {
		position: fixed;
		top: 20px;
		right: 35px;
		z-index: 101;
	}

	body.home #side-menu-panel {
		width: 25%;
		min-width: 500px;
		transform: translateX(100%);
	}

	body.home.mm-wrapper--opened #side-menu-panel {
		transform: translateX(0);
	}

	body.home .side-menu-list a {
		font-size: 80px;
	}

	body.home .side-menu-list a:hover {
		font-size: 84px;
	}
}

@media (max-width: 768px) {

	body.home #side-menu-panel {
		width: 100%;
		min-width: initial;
		border-left: 0;
	}
}

@media (max-width: 480px) {

	body.home .side-menu-list a {
		font-size: 45px;
	}
	
	.parcours-single-title {
	  font-size: 30px;
	  padding-bottom: 5px;
	}

	body.home .side-menu-list a:hover {
		font-size: 47px;
	}
	
	.parcours-grid-link:hover .parcours-grid-date {
	  font-weight: 400;
	}
	
	.single-parcours h1.page-title {
		margin-bottom: 6px;
	  }
}

@media (max-width: 767.98px) {

	/* Home burger anchored exactly where the panel's close cross is (top 40 /
	   right 12), so the two swap without moving. The icon is sized directly
	   rather than through the button box: the other pages get their 23px from
	   a 35px button minus the browser's default button padding, and that
	   default is wiped out on the home page by the * reset of style-anim.css. */
	body.home #hamburger {
		position: fixed;
		top: 40px;
		right: 12px;
		width: auto;
		padding: 0;
	}

	body.home #hamburger img {
		width: 23px;
		height: auto;
	}
}

/* Panel title: only below 768px, where the panel covers the whole screen and
   the header behind it is hidden. It reuses .header-title for the typography,
   so it follows that rule's own breakpoints (40px, 30px below 768). */
.side-menu-title {
	display: none;
}

@media (max-width: 767.98px) {

	/* top 40 / left 10 is where .header-title sits in the header, and top 40 is
	   also the close cross's own top — the three line up. */
	.side-menu-title {
		display: block;
		position: absolute;
		top: 40px;
		left: 10px;
	}
}

@media (max-width: 767.98px) {

	/* Keep the last menu item clear of the browser's bottom toolbar.
	   100vh is the height with that toolbar hidden, so the foot of the panel
	   ends up underneath it; dvh follows the area actually visible (browsers
	   without dvh simply keep the 100vh above and still get the padding).
	   The second selector is there to outweigh body.home #side-menu-panel. */
	#side-menu-panel,
	body.home #side-menu-panel {
		height: 100dvh;
		padding-bottom: 60px;
	}
	
	.news-events h1 {
	  margin-bottom: 20px;
	}
	
	
}
