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

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

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

.selecteur .no-select { display: none !important; }
.index .no-select { display: default !important; }

.index .no-index { display: none !important; }
.selecteur .no-index { display: default !important; }

/* STRUCTURE */

.enveloppe {
	position: relative;
	width: 100vw;
	height: auto;
}

.enveloppe.decalage {
	margin-bottom: -10vh;
	transition-duration: 0.8s;
}

.enveloppe.decalage.hide {
	margin-bottom: -0vh;
}

.enveloppe-space {
	position: relative;
	display: block;
	width: 100vw;
	height: 10vh;
	background-image: url('../svg/deco-vert-rose.svg');
	background-size: auto 4vh;
	background-repeat: no-repeat;
	background-position: right top;
}

.enveloppe.slider { display: none !important; }
.enveloppe.active { display: block !important; }

.row {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 96%;
	margin: 6vh auto;
	gap: 3vw;
	height: auto;
}

.row.full {	width: 100%; }
.row.small { width: 78%; }
.row.moyen { width: 88%; }
.selecteur .row.small { width: 92%; }
.row.small-left { width: 89%; margin: 6vh 0 6vh auto; }
.row.small-right { width: 89%; margin: 6vh auto 6vh 0; }

.row.low-margin { margin: 2vh auto; }

.row.rounded {
	border-radius: 0 8vw;
	overflow: hidden;
}

.row.rounded-reverse {
	border-radius: 8vw 0;
	overflow: hidden;
}

.col {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.col.bottom { justify-content: flex-end; }
.col.top { justify-content: flex-start; }

.col.space { justify-content: space-between; }

.col.double { flex: 2; }
.col.demi { flex: 0.5; }
.col.quart { flex: 0.25; }

.espace-vide-2 { display: block; height: 2vh; }
.espace-vide-3 { display: block; height: 3vh; }
.espace-vide-5 { display: block; height: 5vh; }
.espace-vide-10 { display: block; height: 10vh; }
.espace-vide-15 { display: block; height: 15vh; }
.espace-vide-20 { display: block; height: 20vh; }
.espace-vide-30 { display: block; height: 30vh; }

/* DECO */

ul.deco { display: table; }

li.deco {
	display: table-cell;
	min-width: 10px;
	height: 0.6vh;
}

li.deco.vert { background-color: var(--color-projet-corpo); }
li.deco.rose { background-color: var(--color-projet-tonique); }
li.deco.blan { background-color: white; }

li.deco.w1 { width: 1vw; }
li.deco.w2 { width: 2vw; }
li.deco.w3 { width: 3vw; }
li.deco.w4 { width: 4vw; }
li.deco.w5 { width: 5vw; }

.back-white { background-color: white; }
.bord-white { box-shadow: -6vw -7vh 0 0 white, -0vw -7vh 0 0 white; }

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

/* ALIGNEMENT */

.vertical-align-bottom {
	vertical-align: bottom !important;
}

/* P // H */

h2 {
	position: relative;
	font-family: 'SansRegular';
	font-size: 2.2vw;
	line-height: 2.8vw;
	text-transform: uppercase;
	color: var(--color-gris-fonce);
	margin: 2vh 0;
}

h2:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 3vh;
	background-image: url('../svg/deco-vert.svg');
	transform: translate(0, calc(-100% - 4vh));
	background-size: auto 4vh;
	background-repeat: repeat-x;
}

h2 span {
	display: inline-block;
	padding-bottom: 2vh;
	border-bottom: 0.6vh solid var(--color-projet-tonique);
}

h3 {
	font-family: 'SansBold';
	font-size: 0.7vw;
	line-height: 1vw;
	letter-spacing: 0.2vw;
	text-transform: uppercase;
	color: var(--color-gris-fonce);
	margin: 2vh 0 4vh 0;
}

h3 span {
	display: inline-block;
	padding-bottom: 2vh;
	border-bottom: 0.6vh solid var(--color-projet-corpo);
}

h4 {
	font-family: 'SansExtra';
	font-size: 1.4vw;
	line-height: 1.8vw;
	text-transform: uppercase;
	color: var(--color-gris-fonce);
	margin: 2vh 0;
}

p {
	font-family: 'SansRegular', sans-serif;
	font-size: 0.95vw;
	line-height: 1.8vw;
	color: var(--color-gris-fonce);
}

b {
	font-family: 'SansMedium', sans-serif;
}

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

p.annonce {
	font-family: 'SansRegular', sans-serif;
	font-size: 0.65vw;
	line-height: 0.85vw;
	letter-spacing: 0.05vw;
	text-transform: uppercase;
	text-align: right;
	margin-bottom: 0.4vw;
}

p.atouts {
	font-size: 0.85vw;
	line-height: 1.2vw;
	text-transform: uppercase;
	margin: 1vh 0;
}

p.contact {
	display: block;
	font-size: 0.85vw;
	line-height: 1.2vw;
	text-transform: uppercase;
	margin: 0.8vh 0;
}

p.contact img.client {
	height: 4vw;
	margin: 2vh 0;
}

p.contact i {
	display: block;
	font-size: 0.65vw;
	line-height: 1.0vw;
	letter-spacing: 0.1vw;
	margin: 0.4vh 0;
}

p.contact i.small {
	letter-spacing: 0vw;
}

p.credits {
	font-size: 0.6vw;
	line-height: 0.9vw;
	letter-spacing: 0.05vw;
	text-transform: uppercase;
	font-family: 'SansRegular', sans-serif;
}

p.credits img {
	display: inline-block;
	vertical-align: bottom;
	width: 3vw;
	margin: 0 0.2vw;
}

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

a.atouts-go {
	background-color: var(--color-projet-tonique);
	display: inline-block;
	padding: 0.5vh 0.5vw;
	font-family: 'SansMedium', sans-serif;
	color: white;
	text-transform: uppercase;
	font-size: 0.7vw;
	line-height: 0.9vw;
	letter-spacing: 0.1vw;
	transition-duration: 0.4s;
}

a.atouts-go:hover {
	background-color: var(--color-selecteur-dispo);
}

a.inline {
	background-color: var(--color-gris-fonce);
	display: inline-block;
	padding: 0.7vh 0.8vw 0.6vw 0.8vw;
	margin: 1vh 0;
	font-family: 'SansRegular', sans-serif;
	color: white;
	text-transform: uppercase;
	font-size: 0.7vw;
	line-height: 0.9vw;
	letter-spacing: 0.1vw;
	transition-duration: 0.4s;
	cursor: pointer;
}

a.inline.block {
	display: block;
	text-align: center;
	background-color: var(--color-projet-tonique);
}

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

a.inline.block:hover {
	background-color: var(--color-gris-fonce);
}

a.dl img { width: 8vw; }

/* VIDEO */

#galerie-video {
	position: fixed;
	top: -100vh;
	left: 0px;
	width: 100vw;
	height: 100vh;
	background-color: var(--color-gris-fonce);
	background-image: url("../svg/deco-vert.svg");
	background-size: cover;
	background-position: center;
	z-index: 1000;
	transition-duration: 0.6s;
}

#galerie-video.active {
	top: 0px;
}

#galerie-video video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

a.btn-video, a.btn-video-close {
	position: absolute;
	top: 0%;
	left: 50%;
	width: auto;
	height: auto;
	padding: 1vh 1.8vw;
	transform: translate(-50%, -50%);
  border: 0px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(100px) saturate(180%);
  -webkit-backdrop-filter: blur(100px) saturate(180%);
  color: white;
  font-weight: 500;
  letter-spacing: 0.3px;
  transition: all 0 ease;
	z-index: 100;
	transform-origin: center;
	color: white;
	font-family: 'SansRegular', sans-serif;
	font-size: 1vw;
	line-height: 1.4vw;
	letter-spacing: 0.2vw;
	text-transform: uppercase;
	transition-duration: 0.4s;
}

a.btn-video-close {
	top: 0%;
	transform: translate(-50%, 0);
}

a.btn-video.hide {
	left: 50%;
	top: 0vh;
	transform: translate(-50%, 0%);
}

a.btn-video:hover, a.btn-video-close:hover {
	cursor: pointer;
}

a.btn-video::before a.btn-video-close:hover {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0.4) 0%,
    rgba(255,255,255,0.05) 40%,
    transparent 60%
  );
  opacity: 0.6;
  pointer-events: none;
}

/* TABLES */

ul.table {
	display: table;
	width: 100%;
}

ul.table li {
	display: table-cell;
	vertical-align: middle;
	/*border: 1px solid green;*/
}

ul.table.atouts {
	margin: 3vh 0 0.5vh 0;
}

ul.table.atouts li img {
	display: inline-block;
	width: 4vw;
}

ul.table.atouts li:nth-child(2) {
	text-align: right;
}

ul.table.atouts li p {
	font-size: 1.4vw;
}

ul.table.atouts li p i {
	font-size: 0.7vw;
	letter-spacing: 0.05vw;
	font-family: 'SansRegular', sans-serif;
	text-transform: uppercase;
}


/* GALERIE */

ul#galerie-photo {
	width: 100%;
	height: 50vh;
	background-color: var(--color-projet-corpo);
	background-image: url('../svg/deco-vert.svg');
	background-size: cover;
	background-repeat: no-repeat;
	transition-duration: 0.4s;
}

ul#galerie-photo.open {
	height: 100vh;
}

ul#galerie-photo li {
	transform: translate(-100%, 0);
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition-duration: 0.4s;
}

ul#galerie-photo li.back-bot {
	background-position: center 80%;
}

ul#galerie-photo li.active {
	transform: translate(0%, 0);
}

ul#galerie-photo-vignette {
	position: absolute;
	display: table;
	top: 2vh;
	right: 6%;
}

ul#galerie-photo-vignette.hide {
	position: absolute;
	display: table;
	top: 0vh;
	right: 6%;
}

ul#galerie-photo-vignette li {
	display: table-cell;
	width: 0.5vw;
	height: 100%;
	border-top: 2px solid var(--color-gris-fonce);
	border-right: 1px solid var(--color-gris-fonce);
	border-left: 1px solid var(--color-gris-fonce);
	border-bottom: 2px solid var(--color-gris-fonce);
	background-color: white;
	cursor: pointer;
}

ul#galerie-photo-vignette li:nth-child(1) {
	border-left: 2px solid var(--color-gris-fonce);
}

ul#galerie-photo-vignette li:hover {
	background-color: var(--color-projet-tonique);
}

ul#galerie-photo-vignette li.active {
	background-color: var(--color-projet-corpo);
}

ul#galerie-photo-vignette li.btn-open-gal {
	padding: 0.5vh 1vw;
	background-color: var(--color-gris-fonce);
	color: white;
	font-family: 'SansRegular', sans-serif;
	text-transform: uppercase;
	font-size: 0.75vw;
	letter-spacing:0.1vw;
	line-height: 1vw;
}

.galerie-fleche {
	position: absolute;
	top: 50%;
	width: 2.5vw;
	height: 6vw;
	transform: translate(0, -50%);
	transition-duration: 0.4s;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(100px) saturate(180%);
  -webkit-backdrop-filter: blur(100px) saturate(180%);
}

.galerie-fleche:hover { width: 3vw; }

.galerie-fleche span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.2vw;
	height: 1.2vw;
	transform: translate(-50%, -50%);
	box-shadow: inset -0.2vw -0.2vw 0 0 white;
}

.galerie-fleche.droite { right: 0px; }
.galerie-fleche.gauche { left: 0px; }

.galerie-fleche.droite span {
	transform: translate(-75%, -50%) rotate(-45deg);
}
.galerie-fleche.gauche span {
	transform: translate(-25%, -50%) rotate(135deg);
}

/* NOTIFICATION */

.centre-notification {
	position: absolute;
	top: 0px;
	left: 0px;
	display: flex;
	flex-direction: column;
	width: 30vw;
	height: 100%;
	justify-content: flex-end;
}

.centre-notification table.notification {
	position: relative;
	width: 100%;
	display: table;
	flex-direction: row;
	justify-content: bottom;
	height: auto;
	background-color: white;
	margin: 0.4vh 0;
	border: 1vw solid white;
	transform: translate(-110%, 0);
	transition-duration: 0.4s;
}

.centre-notification table.notification.active {
	transform: translate(0%, 0);
}

.centre-notification table.notification.hide {
	transform: translate(-110%, 0);
}

.centre-notification table.notification.even { box-shadow: 0.6vh 0 0 0 var(--color-projet-tonique); }
.centre-notification table.notification.actu { box-shadow: 0.6vh 0 0 0 var(--color-selecteur-dispo); }

.centre-notification table.notification:last-of-type {
	margin: 0.4vh 0 5vh 0;
}

.centre-notification table.notification tr td {
	padding: 0.2vh;
	font-family: 'SansRegular', sans-serif;
	font-size: 1.1vw;
	line-height: 1.4vw;
	letter-spacing: 0.02vw;
	text-transform: uppercase;
	vertical-align: bottom;
}

.centre-notification table.notification tr td span {
	display: block;
	font-family: 'SansBold', sans-serif;
	font-size: 0.6vw;
	line-height: 0.7vw;
	letter-spacing: 0.02vw;
	padding: 0.5vh 0 0 0;
}

.centre-notification table.notification tr:nth-child(1) td:nth-child(1) {
	font-family: 'SansBold', sans-serif;
	font-size: 0.6vw;
	line-height: 0.8vw;
	letter-spacing: 0.5vw;
}

.centre-notification table.notification.even tr:nth-child(1) td:nth-child(1) { color: var(--color-projet-tonique); }
.centre-notification table.notification.actu tr:nth-child(1) td:nth-child(1) { color: var(--color-selecteur-dispo); }

.centre-notification table.notification tr td a.btn-notif {
	display: inline-block;
	font-family: 'SansBold', sans-serif;
	background-color: var(--color-gris-fonce);
	padding: 0.4vw 0.6vw;
	font-size: 0.6vw;
	line-height: 0.8vw;
	letter-spacing: 0.05vw;
	color: white;
	cursor: pointer;
	transition-duration: 0.4s;
}

.centre-notification table.notification.even tr td a.btn-notif:hover { background-color: var(--color-projet-tonique); }
.centre-notification table.notification.actu tr td a.btn-notif:hover { background-color: var(--color-selecteur-dispo); }

.centre-notification table.notification tr:nth-child(1) td { padding: 0 0 1vw 0; }
.centre-notification table.notification tr td:nth-child(2) { text-align: right; }


a.btn-notif-close {
	position: absolute;
	top: 0.5vw;
	right: 0.5vw;
	width: 0.8vw;
	height: 0.8vw;
	cursor: pointer;
}

a.btn-notif-close span {
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: var(--color-gris-fonce);
	width: 15%;
	height: 70%;
}

a.btn-notif-close span:nth-child(1) { transform: translate(-50%, -50%) rotate(-45deg); }
a.btn-notif-close span:nth-child(2) { transform: translate(-50%, -50%) rotate(45deg); }

/* MENU */

table#menu-principal  {
	display: table;
	width: 100%;
	border-left: 0.6vh solid var(--color-projet-corpo);
	border-right: 0.6vh solid var(--color-projet-corpo);
	cursor: pointer;
}

table#menu-principal tr.menu-hide { display: none !important; }
table#menu-principal tr.menu-hide.show { display: table-row !important; }


table#menu-principal tr.menu {
	display: table-row !important;
}

table#menu-principal tr.menu.hide { display: none !important; }


table#menu-principal tr.menu p img {
	width: 2vw;
}

table#menu-principal tr td p {
	display: block;
	font-family: 'SansRegular', sans-serif;
	font-size: 0.75vw;
	line-height: 1vw;
	letter-spacing: 0.06vw;
	padding: 0.7vh 0.5vw;
	text-align: center;
	text-transform: uppercase;
}

table#disponibilite {
	float: right;
}

table#disponibilite tr td {
	vertical-align: middle;
}


table#disponibilite tr td p.compte {
	display: block;
	font-family: 'SansRegular', sans-serif;
	font-size: 0.8vw;
	line-height: 1vw;
	padding: 0.5vh;
}

table#disponibilite tr td p sup {
	font-family: 'SansRegular', sans-serif;
	font-size: 60%;
}

table#disponibilite tr td p.compte span {
	position: relative;
	display: inline-block;
	height: 0.6vw;
	width: 0.2vw;
	background-color: var(--color-gris-light);
}

table#disponibilite tr td p.compte span i {
	position: absolute;
	bottom: 0px;
	left: 0px;
	background-color: var(--color-selecteur-dispo);
	width: 100%;
}

table#disponibilite tr td p.titre {
	display: block;
	font-family: 'SansRegular', sans-serif;
	font-size: 0.5vw;
	line-height: 0.7vw;
	letter-spacing: 0.06vw;
	padding: 0 0.5vh;
	text-transform: uppercase;
}

table#disponibilite tr td a.bouton-select {
	display: block;
	text-align: center;
	background-color: var(--color-projet-tonique);
	color: white;
	padding: 0.5vw 1vw;
	margin: 0 0 0 1vw;
	font-family: 'SansRegular', sans-serif;
	text-transform: uppercase;
	font-size: 0.55vw;
	line-height: 0.65vw;
	letter-spacing: 0.02vw;
}

/* SLIDE CONTENU */

table.slide-contenu {
	width: 100%;
	/*border: 1px solid red;*/
}

table.slide-contenu tr td {
	/*border: 1px solid green;*/
	padding: 0.5vw 0;
	vertical-align: middle;
}

table.slide-contenu tr:nth-child(1) td p {
	font-family: 'SansBold';
	font-size: 0.7vw;
	line-height: 1vw;
	letter-spacing: 0.2vw;
	text-transform: uppercase;
	color: var(--color-gris-fonce);
}


table.slide-contenu tr:nth-child(2) td {
	border-right: 0.4vw solid white;
	cursor: pointer;
	padding: 0 0 0.1vw 0;
	width: 10%;
}

table.slide-contenu tr:nth-child(2) td span {
	display: block;
	background-color: grey;
	width: 100%;
	height: 0.4vw;
}

table.slide-contenu tr:nth-child(2) td.active {
	width: 20%;
}

table.slide-contenu tr:nth-child(2) td.active span {
	background-color: var(--color-projet-corpo);

}

table.slide-contenu tr:nth-child(2) td:hover span {
	transition-duration: 0.4s;
	background-color: var(--color-projet-tonique);
	cursor: pointer;
}

table.slide-contenu tr:nth-child(2) td a.btn-suivant {
	display: block;
	text-align: center;
	background-color: var(--color-gris-fonce);
	color: white;
	padding: 0.5vw 1vw;
	margin: 0 0 0 1vw;
	font-family: 'SansRegular', sans-serif;
	text-transform: uppercase;
	font-size: 0.7vw;
	line-height: 0.75vw;
	letter-spacing: 0.05vw;
	transition-duration: 0.4s;
	cursor: pointer;
}

table.slide-contenu tr:nth-child(2) td a.btn-suivant:hover {
	background-color: var(--color-projet-tonique);
}

table.slide-contenu tr:nth-child(2) td p {
	text-align: right;
	font-family: 'SansBold';
	font-size: 0.7vw;
	line-height: 1vw;
	letter-spacing: 0.2vw;
	text-transform: uppercase;
	color: var(--color-gris-fonce);
}

/**/

a.btn-retour-select {
	display: inline-block;
	font-family: 'SansRegular', sans-serif;
	color: var(--color-gris-fonce);
	box-shadow: inset 0 0 0 2px var(--color-gris-fonce);
	padding: 0.4vw 0.6vw;
	font-size: 0.6vw;
	line-height: 0.8vw;
	letter-spacing: 0.05vw;
	cursor: pointer;
	transition-duration: 0.4s;
	text-transform: uppercase;
	text-align: center;
}

/* GOOGLE */

.grecaptcha-badge {
	display: none;
}
