html { margin: 0px; overflow-x: hidden; }
body {
	margin: 0px;
	overflow-x: hidden;
	background-color: var(--color-body-back);
}

html, body {
		height: 100vh;
		width: 100vw;
		overflow-y: auto;
}

html::-webkit-scrollbar, body::-webkit-scrollbar  { display: none !important; }
html, body { -ms-overflow-style: none !important; scrollbar-width: none !important; }

.mobilOnly { display: none !important; }
.mobilOnlyRow { display: none !important; }
.mobilSupr { display: default !important; }
.mobilCenter { text-align: default !important; }
.tableCellMobil { display: none !important; }

/* WIDTH */

.contenu {
	position: relative;
	display: inline-block;
	background-size: cover;
	background-position: center;
	vertical-align: middle;
  word-spacing: 0em;
	overflow: visible;
}

/* PAGE CONTENU */

.width-full {
	display: table;
	position: relative;
	width: 100vw;
	height: auto;
	background-color: rgba(0,0,0,0);
	table-layout: fixed;
	word-spacing: -4em;
	margin: 0 auto;
	overflow: visible;
	vertical-align: middle;
}

.width-max {
	display: table;
	position: relative;
	width: 80%;
	margin: 0 auto;
	table-layout: fixed;
	word-spacing: -4em;
	overflow: visible;
	padding: 0;
}

.color {
	background-color: var(--color-projet-tonique);
}

/* MARGES */

.padding-top { padding-top: 120px; }
.padding-bottom { padding-bottom: 120px; }

.no-padding { padding: 0 !important; }
.no-margin { margin: 0 !important; }
.no-background-mobil { background-image: default; }

/* BORDER */
.border-radius { border-radius: 0px; overflow: hidden;}

/* BOX // WIDTH */
.entier {width: calc((100% / 1) - 60px); padding: 10px 30px; }
.entier-full {width: calc((100% / 1) - 0px); padding: 10px 0px; }
.demi {width: calc((100% / 2) - 60px ); padding: 0px 30px; }
.demi-full {width: calc((100% / 2) - 0px ); padding: 0px 0px; }
.tier {width: calc((100% / 3) - 60px); padding: 0px 30px; }
.tier-full {width: calc((100% / 3) - 0px); padding: 0px 0px; }
.deuxtier {width: calc(2*(100% / 3) - 60px); padding: 0px 30px; }
.deuxtier-full {width: calc(2*(100% / 3) - 0px); padding: 0px 0px; }
.quart {width: calc((100% / 4) - 60px); padding: 0px 30px; }
.quart-full {width: calc((100% / 4) - 0px); padding: 0px 0px; }
.troisquart {width: calc(3*(100% / 4) - 60px); padding: 0px 30px; }
.troisquart-full {width: calc(3*(100% / 4) - 0px); padding: 0px 0px; }
.cinquieme {width: calc((100% / 5) - 60px); padding: 0px 30px; }
.deuxcinquieme {width: calc(2*(100% / 5) - 60px); padding: 0px 30px; }
.deuxcinquieme-full {width: calc(2*(100% / 5) - 30px); padding: 0px 15px; }
.troiscinquieme {width: calc(3*(100% / 5) - 60px); padding: 0px 30px; }
.sixieme {width: calc((100% / 6) - 60px); padding: 0px 30px; }
.huitieme {width: calc((100% / 8) - 60px); padding: 0px 30px; }
.troishuitieme {width: calc(3*(100% / 8) - 60px); padding: 0px 30px; }
.troishuitieme-full {width: calc(3*(100% / 8) - 0px); padding: 0px 0px; }
.douzieme {width: calc((100% / 12) - 60px); padding: 0px 30px; }
.douzieme-full {width: calc((100% / 12) - 0px); padding: 0px 0px; }


.border-left:before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 10px;
	height: 100%;
	background-color: var(--color-projet-corpo);
	box-shadow: inset 0 -100px 0 0 var(--color-gris-fonce);
}

/* FONT // FAMILY */

.font-thin { font-family: 'SansThin', sans-serif; }
.font-light { font-family: 'SansLight', sans-serif; }
.font-regular { font-family: 'SansRegular', sans-serif; }
.font-bold, b { font-family: 'SansBold', sans-serif; }

.font-cap { text-transform: uppercase; }
.font-underline { text-decoration: underline; }
.font-italique { font-style: italic; }

.para-left { text-align: left; }
.para-justify { text-align: justify; }
.para-center { text-align: center; }
.para-right { text-align: right; }

/* ALIGNEMENT */
.vertical-align-top { vertical-align: top; }
.vertical-align-bottom { vertical-align: bottom; }

/* ESPACE VIDE */

.espace-vide-10 { height: 10px; width: 100%; }
.espace-vide-20 { height: 20px; width: 100%; }
.espace-vide-30 { height: 30px; width: 100%; }
.espace-vide-50 { height: 50px; width: 100%; }
.espace-vide-60 { height: 60px; width: 100%; }
.espace-vide-80 { height: 80px; width: 100%; }
.espace-vide-100 { height: 100px; width: 100%; }

/*BANDES IMAGES*/

.bande-20 { min-height: 20vh; }
.bande-30 { min-height: 30vh; }
.bande-40 { min-height: 40vh; }
.bande-50 { min-height: 50vh; }
.bande-70 { min-height: 70vh; }

/* H */

p {
	font-family: 'SansLight', sans-serif;
}

p.para-standard {
	text-align: justify;
	color: white;
	font-size: 17px;
	line-height: 30px;
	padding: 10px 0;
	font-family: 'SansLight', sans-serif;
}

p.atouts-picto {
	font-family: 'SansBold', sans-serif;
	padding: 40px 0 10px 0;
}

p.atouts-picto img { height: 40px; }

p.atouts-titre {
	font-family: 'SansBold', sans-serif;
	color: white;
	text-transform: uppercase;
	padding: 10px 0 10px 0;
	font-size: 17px;
	line-height: 25px;
	letter-spacing: 2px;
}

p.atouts-texte {
	font-family: 'SansLight', sans-serif;
	color: white;
	text-transform: uppercase;
	padding: 4px 0 20px 0;
	font-size: 15px;
	line-height: 28px;
}

p.typologie {
	font-family: 'SansBold', sans-serif;
	color: white;
	font-size: 50px;
	line-height: 50px;
	text-align: center;
}

p.typologie span {
	font-family: 'SansLight', sans-serif;
	font-size: 50%;
	text-transform: uppercase;
	letter-spacing: 0.2vw;
	line-height: 30px;
}

p.typologie-count {
	font-family: 'SansRegular', sans-serif;
	color: var(--color-selecteur-dispo);
	font-size: 12px;
	line-height: 40px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 2px;
}

p.typologie-count.off { color: var(--color-selecteur-vendu); }

p.listePuce {
	font-family: 'SansLight', sans-serif;
	color: white;
	text-transform: uppercase;
	padding: 10px 0;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
}

p.listePuce span {
	font-family: 'SansBold', sans-serif;
}

a {
	text-decoration: none;
	color: inherit;
}

#tableau-telechargement {
	display: table;
	width: 100%;
	table-layout: fixed;
	word-spacing: 0em;
	text-align: center;
}

a.lien-documents {
	display: block;
	font-family: 'SansBold', sans-serif;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
	color: white;
	text-align: center;
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
	cursor: pointer;
	transition-duration: 0.4s;
}

a.lien-documents:hover {
	background-color: #7d8466;
}

a.lien-documents img {
	display: inline-block;
	height: 80px;
	padding-bottom: 20px;
}

sup { line-height: 0px; }

h2 {
	font-family: 'SansLight', sans-serif;
	text-transform: uppercase;
	font-size: 1.4vw;
	line-height: 1.8vw;
	letter-spacing: 0.2vw;
	color: white;
	padding: 0 0 20px 0;
}

h3 {
	font-family: 'SansLight', sans-serif;
	text-transform: uppercase;
	font-size: 1.4vw;
	line-height: 2vw;
	letter-spacing: 0.1vw;
	color: white;
	padding: 40px 0;
}

p.chapitre {
	display: block;
	width: 100%;
	text-align: center;
	font-family: 'SansThin', sans-serif;
	font-size: 6vw;
	text-align: 10vw;
	letter-spacing: 3.5vw;
	text-transform: uppercase;
	color: var(--color-projet-corpo);
	opacity: 0.5;
	padding-top: 16px;
}

ul.image-legende {
	position: absolute;
	bottom: 0px;
	right: 0px;
	background-color: var(--color-projet-tonique);
	padding: 0;
	display: table;
	width: 50%;
	min-height: 100px;
}

ul.image-legende li {
	display: table-cell;
	padding: 0 20px;
	vertical-align: middle;
}

ul.image-legende li:nth-child(1) { width: 60px; padding: 20px 10px 20px 20px; }
ul.image-legende li:nth-child(1) p { text-align: center; }
ul.image-legende li:nth-child(2) { padding: 20px 20px 20px 10px; }

ul.image-legende li p {
	display: inline-block;
	color: white;
	width: 100%;
	font-family: 'SansLight', sans-serif;
	font-size: 12px;
	line-height: 15px;
	text-transform: uppercase;
	letter-spacing: 0.1vw;
	vertical-align: middle;
}

.image-back {
	background-size: cover;
}

ul.en-savoir-plus {
	position: absolute;
	bottom: 0px;
	right: 0px;
	background-color: white;
	padding: 0;
	display: table;
	width: 300px;
	min-height: 100px;
	cursor: pointer;
	transition-duration: 0.4s;
}

ul.en-savoir-plus li {
	display: table-cell;
	padding: 0 20px;
	vertical-align: middle;
}

ul.en-savoir-plus:hover {
	box-shadow: inset -1000px 0 0 0 var(--color-gris-light);
}

ul.en-savoir-plus li:nth-child(1) { padding: 20px 10px 20px 20px; text-align: right;}
ul.en-savoir-plus li:nth-child(2) p { text-align: center; }
ul.en-savoir-plus li:nth-child(2) { width: 60px; padding: 20px 20px 20px 10px; }

ul.en-savoir-plus li p {
	display: inline-block;
	color: var(--color-projet-corpo);
	width: 100%;
	font-family: 'SansLight', sans-serif;
	font-size: 12px;
	line-height: 15px;
	text-transform: uppercase;
	letter-spacing: 0.1vw;
	vertical-align: middle;
}

/* INTRODUCTION */

#introduction {
	position: relative;
	width: 100vw;
	height: auto;
	overflow: hidden;
}

body.index #introduction {
	position: relative;
	width: 100vw;
	height: 80vh;
	min-height: 800px;
	overflow: hidden;
}

body.page #introduction {
	position: relative;
	width: 100vw;
	height: 65vh;
	overflow: hidden;
}

body.selecteur #introduction { height: auto; }

#introduction div.galerie {
	position: absolute;
	width: calc(8*(100% / 8) - 0px); padding: 0px 0px;
	height: 100%;
	right: 0px;
}

#introduction div.galerie img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}

/* GALERIE */

#galerie-bouton-plus {
	position: absolute;
	width: 100px;
	height: 100px;
	background-color: var(--color-projet-tonique);
	right: 0px;
	bottom: 0%;
	background-image: url('../svg/picto-fleche-droite.svg');
	background-size: 22%;
	background-position: center;
	transition-duration: 0.4s;
	cursor: pointer;
}

#galerie-bouton-plus:hover {
	right: 10px;
}

ul#galerie-images {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--color-gris-fonce);
}

ul#galerie-images li {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transform: translateX(-200%);
	transition-duration: 0s;
}

ul#galerie-images li.active {
	transform: translateX(0%);
}

ul#galerie-puces {
	display: table;
	position: absolute;
	top: 0px;
	right: 0px;
	table-layout: fixed;
	width: calc(8*(100% / 8) - 0px); padding: 0px 0px;
}

ul#galerie-puces li {
	display: table-cell;
	height: 20px;
	box-shadow: inset 0 10px 0 0 var(--color-gris-fonce);
	transition-duration: 0.4s;
	cursor: pointer;
}

ul#galerie-puces li:hover {
	box-shadow: inset 0 20px 0 0 var(--color-gris-fonce);
}

ul#galerie-puces li.active {
	box-shadow: inset 0 20px 0 0 var(--color-projet-tonique);
}

a#boutonGalerieMobil {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0%;
	width: 160px;
	height: 160px;
	background-color: white;
	background-image: url('../svg/picto-visite.svg');
	background-position: center;
	background-size: 50%;
	transform: translate(0%, -50%);
	box-shadow: 0 0 0 20px var(--color-projet-tonique);
	transition-duration: 0.4s;
} a#boutonGalerieMobil:hover {
	box-shadow: 0 0 0 40px var(--color-projet-tonique);
}

/* MENU PRINCIPAL */

#menu-principal {
	display: inline-table;
	vertical-align: top;
}

body.page #menu-principal {
	box-shadow: 0 10px 0 0 var(--color-projet-corpo);
}

/* >>> */

#menu-principal p.logo-principal {
	text-align: center;
	padding: 50px 0 30px 0;
	background-color: var(--color-projet-tonique);
}

#menu-principal p.logo-principal img { width: 60%; }

#menu-principal ul { position: relative; width: 100%; }

#menu-principal ul li p { color: white; }

/* >>> */

#menu-principal ul.menu-bouton {
	background-color: var(--color-projet-tonique);
	cursor: pointer;
}

#menu-principal ul.menu-bouton li p {
	text-align: center;
	padding: 2px 0;
}

#menu-principal ul.menu-bouton li:nth-child(1) p,
#menu-principal ul.menu-bouton li:nth-child(3) p {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 auto;
	padding: 0;
	left: 50%;
	transform: translateX(-50%);
	background-size: 100%;
	background-position: center;
}

#menu-principal ul.menu-bouton li:nth-child(1) p {
	background-image: url('../svg/picto-menu-open.svg');
	background-size: 100%;
	transform-origin: 50%;
	transform: translateX(-50%) rotate(0deg);
	transition-duration: 0.4s;
}

#menu-principal ul.menu-bouton.active li:nth-child(1) p { transform: translateX(-50%) rotate(90deg); }

#menu-principal ul.menu-bouton li:nth-child(3) p {
	background-image: url('../svg/picto-fleche-haut.svg');
	background-size: 70%;
	opacity: 0;
	transition-duration: 0.4s;
}

#menu-principal ul.menu-bouton.active li:nth-child(3) p { opacity: 1; }

#menu-principal ul.menu-bouton li:nth-child(2) p {
	padding: 6px 0;
	font-family: 'SansBold', sans-serif;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 3px;
	text-transform: uppercase;
}

/* >>> */

#menu-principal ul.liste-lien.active { display: table; }
#menu-principal ul.liste-lien { display: none; }

#menu-principal ul.liste-lien {
	padding: 30px 0;
	background-color: var(--color-projet-tonique);
}

#menu-principal ul.liste-lien li { padding: 3px 0; }

#menu-principal ul.liste-lien li p {
	text-align: center;
	padding: 2px 0;
	font-family: 'SansLight', sans-serif;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
}

#menu-principal ul.liste-lien li:hover p {
	font-family: 'SansBold', sans-serif;
	color: var(--color-projet-corpo);
}

/* >>> */

#menu-principal ul.menu-disponibilite {
	display: table;
	background-color: var(--color-projet-tonique);
	transition-duration: 0.4s;
	cursor: pointer;
}

#menu-principal ul.menu-disponibilite:hover {
	box-shadow: inset -1000px 0 0 0 #7d8466;
}

#menu-principal ul.menu-disponibilite li {
	display: table-row;
	vertical-align: middle;
	padding: 20px;
	text-align: center;
}

#menu-principal ul.menu-disponibilite li:nth-child(1) { width: 30%; padding: 20px 10px 20px 20px; }
#menu-principal ul.menu-disponibilite li:nth-child(2) { width: 70%; padding: 20px 20px 20px 10px; }

#menu-principal ul.menu-disponibilite li:nth-child(1) p { text-align: center; }
#menu-principal ul.menu-disponibilite li:nth-child(2) p {
	font-family: 'SansLight', sans-serif;
	font-size: 14px;
	line-height: 18px;
	text-transform: uppercase;
	padding: 15px 0 5px 0;
}

#menu-principal ul.menu-disponibilite li:nth-child(3) p {
	font-family: 'SansBold', sans-serif;
	font-size: 9px;
	line-height: 9px;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 5px 0 20px 0;
}

/* >>> */

ul.menu-bouton-galerie {
	display: table;
	width: 100%;
}

body.page ul.menu-bouton-galerie {
	display: none;
}

ul.menu-bouton-galerie li {
	display: table-cell;
	width: 50%;
	background-color: var(--color-projet-tonique);
	cursor: pointer;
	transition-duration: 1s;
}

ul.menu-bouton-galerie li:nth-child(1) { opacity: 0.5; }
ul.menu-bouton-galerie li:nth-child(2) { opacity: 0.9; }

ul.menu-bouton-galerie li:hover {
	background-color: var(--color-gris-fonce);
}

ul.menu-bouton-galerie li p {
	text-align: center;
	padding: 50px 10px;
	font-family: 'SansLight', sans-serif;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	vertical-align: middle;
	color: white;
}

ul.menu-bouton-galerie li p img {
	width: 14px;
	vertical-align: middle;
	margin-bottom: 2px;
}

/**/

#actu {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(0%, -50%);
	z-index: 1000;
	width: 40%;
	max-width: 550px;
	word-spacing: 0em;
}

body.page #actu {
	display: none;
}

ul#signature-duboux,
ul#introduction-actu {
	display: table;
	background-color: var(--color-gris-fonce);
	width: 100%;
	vertical-align: top;
}

ul#signature-duboux li,
ul#introduction-actu li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 30px 0;
}

ul#signature-duboux li:nth-child(1),
ul#introduction-actu li:nth-child(1) { width: 20%; }
ul#signature-duboux li:nth-child(2) { width: 20%; }
ul#signature-duboux li:nth-child(3) { width: 60%; }

ul#signature-duboux li p,
ul#introduction-actu li p  {
	color: white;
}

ul#signature-duboux li:nth-child(3) p {
	text-align: left;
	font-size: 10px;
	line-height: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

ul#signature-duboux li:nth-child(3) p span {
	display: block;
	padding: 0 0 0 64px;
}

ul#signature-duboux li:nth-child(3) p img {
	display: block;
	padding: 0 30px 0 10px;
}

ul#introduction-actu li:nth-child(2) p.date {
	text-align: left;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 10px 10px 0 0;
}

ul#introduction-actu li:nth-child(2) p.info {
	text-align: left;
	font-size: 24px;
	line-height: 28px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0 10px 0 0;
}

p.bouton-visite {
	position: relative;
	vertical-align: top;
	background-color: white;
	text-align: center;
	display: inline-block;
	padding: 0;
	margin: 0;
	width: 100px;
	height: 100px;
	transition-duration: 0.4s;
	cursor: pointer;
}

p.bouton-visite img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

p.bouton-visite:hover {
	background-color: var(--color-gris-light);
}

p.permis-en-force {
	background-color: white;
	text-align: center;
	padding: 10px 0;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-gris-fonce);
}

/* LISTE PICTO */

table.listePicto {
	width: 80%;
	margin: 0px 10%;
	table-layout: fixed;
}

table.listePicto h2 {
	font-size: 38px;
	line-height: 42px;
	padding: 40px 0 40px 0;
}

/* TABLE */

table.fixed {
	width: 100%;
	margin: 0px;
	table-layout: fixed;
}

table.fixed ul.en-savoir-plus {
	position: relative;
	background-color: white;
	padding: 0;
	display: table;
	width: 100%;
	min-height: 100px;
	cursor: pointer;
	transition-duration: 0.4s;
}

table.fixed ul.en-savoir-plus li:nth-child(1) { padding: 20px 10px 20px 20px; text-align: center; }


/* DEMO SURVOL */

.demo-survol div:nth-child(1) {
	background-color: var(--color-gris-fonce);
}

ul.demo-down {
	display: flex;
	position: absolute;
	flex-direction: column;
  align-items: stretch;
	width: 100%;
	height: 100%;
	table-layout: fixed;
	background-size: cover;
	background-position: center;
}

ul.demo-down li {
	display: flex;
	position: relative;
	flex-direction: column;
	width: 100%;
	transition-duration: 0.4s;
}

ul.demo-down li.demo-image {
	flex-grow: 1;
	height: 100%;
	transform: translateY(-100%);
}

ul.demo-down li.demo-texte {
	background-color: var(--color-gris-fonce);
	transform: translateY(100%);
}

ul.demo-down li.demo-texte p { margin: 20px; color: white; text-transform: uppercase; }
ul.demo-down li.demo-texte p:nth-child(1) { margin: 10px 0 0 20px; }
ul.demo-down li.demo-texte p:nth-child(2) {
	font-family: 'SansLight', sans-serif;
	font-size: 14px;
	line-height: 18px;
	padding-bottom: 20px;
}

ul.demo-down li.demo-texte p:nth-child(3) {
	font-size: 12px;
	line-height: 14px;
	letter-spacing: 2px;
}

ul.demo-down li.demo-texte p.lien a {
	font-family: 'SansLight', sans-serif;
	font-size: 10px;
	line-height: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition-duration: 0.4s;
	text-transform: uppercase;
} ul.demo-down li.demo-texte p.lien a:hover {
	letter-spacing: 3px;
}

ul.demo-down li.demo-image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}

.demo-survol div {
	overflow: hidden;
	cursor: pointer;
}

.demo-survol div.demo-up {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 1;
	transition-duration: 0.4s;
}

.demo-survol div.demo-up p {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 50%;
	color: var(--color-white);
	font-family: 'SansLight', sans-serif;
	font-size: 10px;
	line-height: 14px;
	letter-spacing: 4px;
	text-transform: uppercase;
	text-align: center;
	transform: translateY(-50%);
}

.demo-survol div.demo-up p img {
	width: 40px;
	margin: 0 0 20px 0;
}

.demo-survol div.bande-texte p {
	color: var(--color-white);
	font-family: 'SansThin', sans-serif;
	font-size: 22px;
	line-height: 26px;
	text-transform: uppercase;
	margin: 20px 40px;
}

.demo-survol div.bande-texte p.legende {
	font-size: 16px;
	line-height: 23px;
}

.demo-survol div.bande-texte p.lien {
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 2px;
	font-family: 'SansBold', sans-serif;
}

/* >>> AU SURVOL */

.demo-survol div.effet-survol:hover div.demo-up {
	transform: translateX(-100%);
	width: 100%;
}

.demo-survol div.effet-survol:hover ul.demo-down li.demo-texte,
.demo-survol div.effet-survol:hover ul.demo-down li.demo-image {
		transform: translateX(0%);
}

/* AUTRES PROMOTIONS */

.autres-promotions, .autres-promotions div.contenu {
	height: 300px;
	max-height: 300px;
}

.autres-promotions div.effet-survol ul {
	box-shadow: inset 0 -10px 0 0 var(--color-gris-fonce);
}

.autres-promotions div.effet-survol ul.demo-down li {
	position: absolute;
	width: 100%;
	transition-duration: 0.4s;
	bottom: 0px;
	background-color: var(--color-gris-fonce);
}

.autres-promotions div.effet-survol:hover ul.demo-down li {
	transform: translateX(-100%);
}

.autres-promotions div.effet-survol ul.demo-down li p {
	color: white;
	text-transform: uppercase;
}

.autres-promotions div.effet-survol ul.demo-down li p.titre {
	padding: 10px 0 0 0;
	font-size: 2vw;
	line-height: 2.4vw;
	letter-spacing: 0.2vw;

}

.autres-promotions div.effet-survol ul.demo-down li p.sous-titre {
	padding: 10px 0 0 0;
	font-size: 1vw;
	line-height: 1.4vw;
	letter-spacing: 0.2vw;
	margin-top: 0px;
}

/* FORMULAIRE CONTACT */

table.formulaire-contact {
	width: 100%;
	table-layout: fixed;
	vertical-align: middle;
}

table.formulaire-contact td {
	padding: 10px 10px;
	vertical-align: middle;
}

table.formulaire-contact td.credits { vertical-align: bottom; }

table.formulaire-contact input,
table.formulaire-contact select,
table.formulaire-contact textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	height: 100%;
	padding: 10px 10px 30px 10px;
	width: calc(100% - 20px);
	border: none;
	font-size: 14px;
	line-height: 18px;
	font-family: 'SansRegular', sans-serif;
	box-shadow: inset 0 0 0 0px var(--color-gris-moyen);
	border-radius: 0px;
}

table.formulaire-contact select {
	width: 100%;
	text-transform: uppercase;
	color: var(--color-projet-tonique);
	letter-spacing: 1px;
	background-image: url('../svg/fleche-bas.svg');
	background-repeat: no-repeat;
	background-size: 10px;
	background-position: calc(100% - 10px) 50%;
}

table.formulaire-contact input[type="submit"] {
	border: none;
	box-shadow: inset 0 0 0 0px var(--color-gris-fonce);
	background-color: var(--color-gris-fonce);
	padding: 0;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 4px;
	padding: 40px 0px 40px 0px;
	width: calc(100% - 0px);
	color: white;
	cursor: pointer;
}

table.formulaire-contact h2 {
	font-size: 40px;
	line-height: 44px;
}

table.formulaire-contact p {
	font-family: 'SansLight', sans-serif;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0px;
	color: white;
	text-transform: uppercase;
	padding: 10px 0;
}

table.formulaire-contact p.credits {
	font-size: 10px;
	line-height: 12px;
	letter-spacing: 2px;
}

table.formulaire-contact p a {
	color: var(--color-projet-duboux);
	text-decoration: none;
}

/* ANNONCE */

#annonce {
	position: relative;
	background-color: var(--color-projet-tonique);
}

#annonce p, #annonce p a {
	padding: 10px 20px;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
	font-family: 'SansLight', sans-serif;
	text-transform: uppercase;
	color: white;
	transition-duration: 0.4s;
}

#annonce p a { padding: 0; }
#annonce p a:hover { color: var(--color-projet-corpo); }

#jpo {
	position: relative;
	background-color: var(--color-gris-fonce);
}

#jpo p {
	padding: 10px 20px;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
	font-family: 'SansLight', sans-serif;
	text-transform: uppercase;
	color: white;
}

/* COMPATIBILITÉ DU PLACEHOLDER */

::placeholder {
  color: var(--color-projet-tonique);
  opacity: 1;
	text-transform: uppercase;
	letter-spacing: 2px;
}

:-ms-input-placeholder {
  color: var(--color-projet-tonique);
	text-transform: uppercase;
	letter-spacing: 2px;
}

::-ms-input-placeholder {
  color: var(--color-projet-tonique);
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* GOOGLE */

.grecaptcha-badge { display: none; }

/* RETOURS FORMULAIRE */

.formulaire-contact-problemes, .formulaire-contact-envoi {
	margin: 0 auto 0 auto;
	position: relative;
	width: 100%;
	text-align: center;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 20px;
	padding: 30px 0;
}

.formulaire-contact-problemes { background-color: var(--color-selecteur-reser); }
.formulaire-contact-envoi { background-color: var(--color-selecteur-dispo); }

/* CHART */

.pie-chart {
	display: block;
	position: relative;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	margin: 20px auto 0 auto;
	transform: rotate(90deg);
	background: conic-gradient(
		from 0deg,
		/*var(--color-gris-moyen) 0, var(--color-gris-moyen) 25%,*/
		var(--color-projet-tonique) 0, var(--color-projet-tonique) 0%,
		white 0, white 100%
	);
}

.pie-chart::before {
	content: "";
	position: absolute;
	background-color: var(--color-projet-tonique);
	border-radius: 50%;
}

.pie-chart div.pie-chart-recap {
	display: table;
	position: relative;
	text-align: center;
	vertical-align: middle;
}

.pie-chart::before, .pie-chart div.pie-chart-recap {
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	left: 5px;
	top: 5px;
}

.pie-chart div.pie-chart-recap p {
	position: relative;
	display: table-cell;
  vertical-align: middle;
	font-size: 20px;
	line-height: 0px;
	font-family: 'regular', sans-serif;
	transform: rotate(-90deg);
}

.pie-chart div.pie-chart-recap p span { display: none; }

/* GALERIE EN LIGNE */

ul.galerie-en-ligne {
	position: absolute;
	width: 100%;
	height: 100%;
}

ul.galerie-en-ligne li {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background-size: cover;
	background-position: center;
	opacity: 0;
}

ul.galerie-en-ligne li.active {
	opacity: 1;
}

.bouton-image-suivante {
	position: absolute;
	top: 0px;
	right: 0px;
	background-color: var(--color-projet-tonique);
	width: 100px;
	height: 100px;
	background-image: url("../svg/picto-fleche-droite.svg");
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
	transition-duration: 0.4s;
	cursor: pointer;
}

.bouton-image-suivante:hover {
	width: 120px;
	background-color: var(--color-gris-fonce);
}

/* POP-UP */

#popup {
	position: fixed;
	top: -200vh;
	left: 50%;
	background-color: var(--color-gris-fonce);
	transform: translate(-50%, -50%);
	z-index: 100000;
	padding: 2vw 3vw;
	box-shadow: 0 0 0 10px white, 0 0 200px 20px rgba(0,0,0,1);
	transition-duration: 1s;
} #popup.active { top: 50%; }


#popup p.popup-titre {
	color: white;
	font-size: 2vw;
	line-height: 2.4vw;
	font-family: 'SansLight', sans-serif;
	text-align: center;
	text-transform: uppercase;
}

#popup p.popup-soustitre {
	color: white;
	font-size: 1.2vw;
	line-height: 2vw;
	font-family: 'SansThin', sans-serif;
	text-align: center;
	text-transform: uppercase;
	padding: 1vh 0;
}

#popup p a {
	display: inline-block;
	padding: 1vw 2vw;
	background-color: white;
	color: var(--color-gris-fonce);
	text-transform: uppercase;
	letter-spacing: 0.2vw;
	transition-duration: 0.4s;
	cursor: pointer;
}

#popup p a:hover { background-color: rgba(255,255,255,0.6); cursor: pointer; }

#popup div.popup-close {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 3vw;
	height: 3vw;
	background-color: var(--color-projet-tonique);
	transform: translate(0, -100%);
	transition-duration: 0.4s;
	cursor: pointer;
}

#popup div.popup-close span {
	display: block;
	position: absolute;
	width: 60%;
	height: 2px;
	background-color: white;
	top: 50%;
	left: 50%;
	transition-duration: 0.4s;
}

#popup div.popup-close span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
#popup div.popup-close span:nth-child(2) { transform: translate(-50%, -50%) rotate(-45deg); }
#popup div.popup-close:hover span:nth-child(1) { transform: translate(-50%, -50%) rotate(-45deg); }
#popup div.popup-close:hover span:nth-child(2) { transform: translate(-50%, -50%) rotate(45deg); }

/* LEAF */

body.selecteur {
  display: flex;
  flex-direction: column;
  height: 100vh;
	overflow: scroll;
	background-color: var(--color-body-back);
}

#selecteur-haut {
}


#selecteur-bas {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;          /* met les enfants en ligne */
  flex-direction: row;    /* côte à côte */
}

#selecteur-tables {
  flex: 0 0 25%;          /* prend un quart fixe */
  min-width: 200px;       /* optionnel, pour éviter trop petit si fenêtre réduite */
  overflow-y: auto;       /* scrolle si trop de contenu */
}

#selecteur-tables { -ms-overflow-style: none !important; scrollbar-width: none !important; }


#selecteur-graphique {
  flex: 1;                /* prend le reste */
  min-width: 0;           /* important pour que le flex accepte de rétrécir */
  overflow: auto;         /* scrolle si besoin */
}

ul.menu-naef {
	display: table;
	table-layout: fixed;
	width: 96% !important;
	margin: 0 auto;
}

ul.menu-naef li {
	display: table-cell;
	vertical-align: middle;
}

ul.menu-naef li:nth-child(1) { width: 30%; text-align: left; }
ul.menu-naef li:nth-child(3) { width: 30%; text-align: right; }
ul.menu-naef li:nth-child(4) { display: none; }

ul.menu-naef li:nth-child(1) img { height: 5vh; }
ul.menu-naef li:nth-child(2) img { height: 6vh; padding: 1vh 0; }
ul.menu-naef li:nth-child(3) img { height: 4vh; }

ul.liste-lien-naef {
	display: table;
	position: relative;
	width: auto !important;
 	height: auto;
	margin: 0 auto;
	table-layout: fixed;
}

ul.liste-lien-naef li {
	display: table-cell;
	text-align: center;
	text-transform: uppercase;
	box-shadow: inset 0 -0px 0 0 white;
	transition-duration: 0.4s;
}

ul.liste-lien-naef li:hover {
	box-shadow: inset 0 -3px 0 0 white;
}

ul.liste-lien-naef li p {
	padding: 1vh 2vw;
	font-size: 0.9vw;
	letter-spacing: 0.1vw;
}
