html { margin: 0px; overflow-x: hidden; }
body {
	margin: 0px;
	overflow-x: hidden;
}

.mobilOnly { display: inline-block !important; }
.mobilSupr { display: none !important; }
.mobilCenter { text-align: center !important; }
.tableCellMobil { display: table-cell !important; }

/* WIDTH */

.width-max, .width-big { width: 90%; }

.width-max.with-side {
	width: 100%;
	margin: 0 auto;
}

.width-max.is-side {
	display: none;
}

/* BOX // WIDTH */
.entier,
.demi,
.tier,
.deuxtier,
.quart,
.troisquart,
.cinquieme,
.deuxcinquieme,
.troiscinquieme,
.sixieme,
.huitieme,
.douzieme {width: calc((100% / 1) - 60px); padding: 10px 30px; }

.entier-full,
.demi-full,
.tier-full,
.deuxtier-full,
.quart-full,
.troisquart-full,
.deuxcinquieme-full,
.douzieme-full {width: calc((100% / 1) - 0px); padding: 0px 0px; }

/* MARGES */

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

/* H */

p.paragraphe {
	font-size: 3.5vw;
	line-height: 5.5vw;
	text-align: justify;
}

p.paragraphe.colonnes {
	columns: 1;
	column-gap: 0%;
}

h3 {
  font-size: 7vw;
  line-height: 9vw;
}

a.ouverture {
	display: inline-block;
	width: 100%; height: 36px;
	box-shadow: inset 0 0 0 var(--border) var(--color-gris-moyen);
	background-image: url('../svg/bouton-ouverture.svg');
	background-size: 36px;
	background-position: center 100%;
	background-repeat: no-repeat;
	transition-duration: 0.4s;
	cursor: pointer;
}

a.bouton {
  font-size: 2.5vw;
  line-height: 4vw;
}

/* PROJETS CLIENT */

ul#projets-client-bouton li:nth-child(1),
ul#projets-client-bouton li:nth-child(4),
ul#projets-client-bouton li:nth-child(5) {
  display: none;
}

ul#projets-client-bouton li:nth-child(3) img { margin-right: 0px; }

/* MENU */

#barre-menu.fixed {
	position: relative;
	top: 0px;
}

/* TIROIR CONTACT */

#tiroir-contact {
	background-position: 90% 0%;
	background-size: 150%;
}

#tiroir-contact p {
  padding: 4px 0;
  font-size: 3.5vw;
	line-height: 5vw;
}

#tiroir-contact div.contenu:nth-child(3) p {
	padding: 5px 0 5px 0px;
}

#tiroir-contact table#equipe tr td:nth-child(1) { width: 20%; min-width: 0px; }

#tiroir-contact h2 {
	font-size: 8vw;
	line-height: 11vw;
}

#tiroir-contact h3 {
	font-size: 6.2vw;
	line-height: 7.6vw;
	padding: 10px 0;
}

#tiroir-contact h4 {
	font-size: 4.2vw;
	line-height: 6.6vw;
	padding: 10px 0;
}

#tiroir-contact p.sous-titre {
	font-size: 4vw;
	line-height: 4.4vw;
	padding: 10px 0;
}

#tiroir-contact p.tiroir-info {
	font-size: 4vw;
	line-height: 5.4vw;
	padding: 0 0 20px 0;
}

#tiroir-contact p.chiffre {
	width: 8vw;
	height: 8vw;
	margin: 0 10px 0 0;
	padding: 0px;
	font-size: 3.8vw;
	line-height: 8vw;
}

p.logo-client img {
	width: 50vw;
	margin: 30px 0 0 0;
}

table#compte-lot p.compte-titre {
	font-size: 4.4vw;
	line-height: 6.4vw;
	padding: 10px 0 0 0;
}

table#compte-lot p.compte-compte {
	font-size: 5.6vw;
	line-height: 4.6vw;
	padding: 0 0 10px 0;
}

table#compte-lot p.compte-legende {
	font-size: 2.6vw;
	line-height: 2.8vw;
	letter-spacing: 0.2vw;
	padding: 0 0 10px 0;
}

#bloc-compte-lot {
	border-top-right-radius: 10px;
	border-bottom-left-radius: 10px;
	margin: 10px 0 0 0;
}

#bloc-compte-lot span.picto-compte {
	width: 10vw;
	height: 10vw;
}

#tiroir-contact ul#carte-visite p.photo-courtier {
	width: 16vw;
	height: 16vw;
}

#tiroir-contact ul#carte-visite p.courtier {
	font-size: 2.8vw;
	line-height: 3.2vw;
	padding: 0 0 20px 0;
}

#tiroir-contact ul#carte-visite li table tr td {
	padding: 2vw;
}

#tiroir-contact p.compte-btn {
	font-size: 2.6vw;
	line-height: 2.6vw;
	letter-spacing: 0.1vw;
	padding: 20px 0 0 0;
}

#tiroir-contact p.compte-btn img {
	 height: 2.6vw;
}

/* INTRO */

#picto-scroll { display: none; }
#bouton-video { left: 30px; }

/* PRE-SELECTION */

ul.selection li { display: inline-block; }
ul.selection li.active { display: inline-block; }

/* BULLET POINT */

ul.bullet-point {
	display: table;
	vertical-align: middle;
	margin: 10px 0;
	width: 100%;
}

ul.bullet-point li {
	display: table;
  width: 100% !important;
}

ul.bullet-point li p {
  text-align: center;
  margin: 0px;
  padding: 10px 0px !important;
}

ul.bullet-point li.txt p {
  font-size: 3vw;
  line-height: 4vw;
}

ul.bullet-point li.num p {
  font-size: 8vw;
  line-height: 8vw;
}

span.picto {
  width: 10vw;
  height: 10vw;
}

/* BULLET BIG */

ul.bullet-big {
	display: table;
  width: 100%;
	vertical-align: middle;
	margin: 50px 0;
}

ul.bullet-big li {
	display: table;
  width: 100%;
	vertical-align: bottom;
	padding: 20px 0;
  text-align: center;
}

ul.bullet-big li.pic { width: 100%; }
ul.bullet-big li.txt { width: 0%; }

/* DECORATION */

.decoration-top, .decoration-bot { display: none; }
.decoration-img { width: 200px ; height: 200px; }

.decoration-img.mobil { width: 40vw; height: 40vw; }

.image-fond {
	position: absolute;
	width: calc(100% - 0px);
	height: calc(100% - 0px);
	background-size: cover;
	background-position: center;
}

/* JPO */

.jpo-titre { font-size: 3vw; line-height: 4vw; }
.jpo-date { letter-spacing: 2px; font-size: 4vw; line-height: 5vw; }

/* DECORATION */

.photoDownToUp {
	margin-top: 0px;
	opacity: 1;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
}

.transDelai { transition-delay: 0.5s; }

.decoLeftToRight {
	opacity: 1;
	margin-left: 0px;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
}

.decoRightToLeft {
	opacity: 1;
	margin-left: 0px;
	transition-duration: 0.8s;
	transition-timing-function: ease-out;
	transition-delay: 0.5s;
}

.photoUpToDown.visible, .photoDownToUp.visible {
	margin-top: 0px;
	opacity: 1;
}

.decoLeftToRight.visible {
	opacity: 1;
	margin-left: 0px;
}

.decoRightToLeft.visible {
	opacity: 1;
	margin-left: 0px;
}

/* INTRODUCTION */

#introduction {
	height: 70vh;
	min-height: 200px;
}

/* MENU-PRINCIPAL */

ul.menu-principal {
	margin: 5px 0 20px 0;
}

#barre-menu-gauche,
#barre-menu-droite {
	display: table;
	width: 100vw;
}

ul.menu-principal li:nth-child(1),
ul.menu-principal li:nth-child(6),
ul.menu-principal li:last-of-type {
	display: none;
}

ul.menu-principal li.lien p a {
	padding: 1.6vw 2vw;
	font-size: 2.7vw;
}

ul.menu-principal li.lien:hover p { transform: translate(0, 0%); }

ul.menu-principal li span.compte { display: none; }

#menu-mobil {
	display: table;
	width: 90%;
	table-layout: fixed;
	margin: 2vh 5%;
}

#menu-mobil tr td {
	padding: 0;
	vertical-align: middle;
}

#menu-mobil tr td:nth-child(1) {
	width: 50%;
}

#menu-mobil tr td p {
	display: block;
	color: white;
	font-family: 'light', sans-serif;
	font-size: 2vw;
	line-height: 2.6vw;
	letter-spacing: 0.2vw;
	text-transform: uppercase;
}

#menu-mobil tr td span {
	margin-top: 0vh;
	margin-bottom: 1vh;
}

#menu-mobil tr td:nth-child(2) span {
	display: inline-block;
	position: relative;
	width: 2.5vh;
	height: 2.5vh;
	background-image: url('../svg/picto-photo.svg');
	background-position: center;
	background-size: contain;
}

#menu-mobil tr td span.compteMobil {
	display: inline-block;
	position: relative;
	width: 1vw;
	height: 2.5vh;
	margin-left: 3px;
	margin-right: 3px;
	background-color: white;
}

#menu-mobil tr td span.compteMobil i {
	position: absolute;
	display: block;
	bottom: 0px;
	width: 100%;
}

#menu-mobil tr td span.compteMobil.compteDispo i { background-color: var(--color-selecteur-dispo); }
#menu-mobil tr td span.compteMobil.compteReser i { background-color: var(--color-selecteur-reser); }
#menu-mobil tr td span.compteMobil.compteVendu i { background-color: var(--color-selecteur-vendu); }

/* EVENEMENT */

table.jpo {
	width: 94%;
	margin: 1.4vh 3%;
}

.jpo-titre {
	font-size: 3vw;
	line-height: 6vw;
}

.jpo-sousTitre {
	font-size: 3vw;
	line-height: 4.2vw;
}

table.jpo td p a {
	padding: 1.6vw 3vw;
	font-size: 3vw;
	letter-spacing: 0.1vw;
}

/* ACTU */

#toggle-actu p {
	padding: 2.6vw 3vw;
	font-size: 2.65vw;
	letter-spacing: 0.2vw;
}

#barre-actu { width: 90%; }

#barre-actu.hide #toggle-actu p { padding: 2.6vw 4vw; }
#barre-actu.open #toggle-actu p { padding: 2.6vw; }

#toggle-actu p span.fleche {
	display: inline-block;
	width: 2.8vw;
	height: 2.8vw;
	vertical-align: middle;
	background-image: url('../svg/picto-left-fat.svg');
	background-position: center;
	background-size: cover;
}

p.actu-titre {
	font-size: 5vw;
	line-height: 6.6vw;
}

p.actu-sousTitre {
	font-size: 2.9vw;
	line-height: 4.2vw;
	letter-spacing: 0.1vw;
}

#barre-actu table td p a {
	padding: 1.6vw 4vw;
	font-size: 2.65vw;
	letter-spacing: 0.1vw;
}

/* GALERIE */

#galerie ul#vignettes {
	display: none;
}


/* TELECHARGEMENTS */

table#tableau-telechargement {
	width: 100%;
	table-layout: fixed;
	margin: 20px 0 100px 0;
}

table#tableau-telechargement tr td {
	display: table;
	width: 100%;
}
