html { margin: 0px; overflow-x: hidden; }
body {
	margin: 0px;
	overflow-x: hidden;
	top: 100%;
	right: 50%;
	/*background-image: url('../svg/deco-footer.svg');*/
	background-size: 350px;
	background-position: right bottom;
}

.none {display: none !important; }
.table {display: table !important; }

/* MOBIL */
.mobilSupr { display: default !important; }
.justMobil { display: none !important; }
.justSmall { display: none !important; }
.tableMobil { display: none !important; }

.justBig { display: inline-block; }
.hideBig { display: none; }

@media screen and (max-width: 1700px) {
  .justBig { display: none; }
	.hideBig { display: inline-block; }
}

/* WIDTH */

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

/* PAGE CONTENU */

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

.width-full.decalage { top: -40px; }

.width-max {
	display: table;
	position: relative;
	width: calc( 100% - 100%/6 - 30px );
	margin: 0 auto;
	table-layout: fixed;
	word-spacing: -4em;
	overflow: visible;
	padding: 0;
}

/* MARGES */

.padding-top { padding-top: 80px; }
.padding-bottom { padding-bottom: 80px; }
.padding-left { padding-left: 80px; }
.padding-right { margin-right: 6%; }
.margin-top { margin-top: 0px; }
.margin-bottom { margin-bottom: 0px; }

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

/* COLOR // BACKGROUND */
.color-background-white { background-color: rgba(255,255,255,1); }
.color-background-grey { background-color: rgba(0,0,0,0.1); }
.color-background-black { background-color: #3e3f3f; }
.color-background-jaune { background-color: #e6c54f; }
.color-background-vert { background-color: #8a974b; }
.color-background-orange { background-color: #b69e3f; }
.color-background-rouge { background-color: #c90b19; }

/* COLOR // TYPO */
.color-typo-black { color: rgba(63,63,63,1); }
.color-typo-gris { color: rgba(0,0,0,0.6); }
.color-typo-vert { color: #8a974b; }
.color-typo-jaune { color: #e6c54f; }
.color-typo-orange { color: #b69e3f; }
.color-typo-rouge { color: #c90b19; }

/* BORDER */
.border-radius { border-radius: 10px; 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; }
.douzieme {width: calc((100% / 12) - 60px); padding: 0px 30px; }
.douzieme-full {width: calc((100% / 12) - 0px); padding: 0px 0px; }

/* FONT // FAMILY */

.font-light { font-family: 'light', sans-serif; }
.font-regular { font-family: 'regular', sans-serif; }
.font-bold, b { font-family: 'bold', sans-serif; }

i { font-style: italic; }

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

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

.para-center-mobil { text-align: default; }
@media screen and (max-width: 1100px) { .para-center-mobil { text-align: center !important; } }

.no-background-mobil { background: default; }
@media screen and (max-width: 1100px) {	.no-background-mobil { background: none !important; } }

.size-mini { font-size: 10px !important; line-height: 16px !important; }
.size-petit { font-size: 12px !important; line-height: 18px !important; }
.size-normal { font-size: 15px !important; line-height: 26px !important; }
.size-grand { font-size: 20px !important; line-height: 30px !important; }
.size-big { font-size: 30px !important; line-height: 40px !important; }
.size-ultra { font-size: 80px !important; line-height: 70px !important; }

.letter-spacing-1 { letter-spacing: 1px; }
.letter-spacing-2 { letter-spacing: 2px; }
.letter-spacing-4 { letter-spacing: 4px; }
.letter-spacing-8 { letter-spacing: 8px; }

/* 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-100 { height: 100px; width: 100%; }

/* H */

p {
	position: relative;
	font-family: 'light', sans-serif;
	color: rgba(0,0,0,0.8);
}

a {
	text-decoration: none;
	color: rgba(0, 0, 0, 0.8);
}

sup { line-height: 0px; }

h1 {
	display: block;
	font-family: 'bold', sans-serif;
	text-transform: uppercase;
	padding: 30px 0 30px 0px;
	text-align: center;
	letter-spacing: 6px;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8);
}

h2 {
	display: block;
	font-family: 'bold', sans-serif;
	text-transform: uppercase;
	font-size: 22px;
	line-height: 28px;
	text-align: center;
	padding: 30px 0;
	color: rgba(0,0,0,0.8);
	border-top: 2px solid rgba(0,0,0,0.8);
	letter-spacing: 1px;
}

h2.no-line { border-top: 0px solid rgba(0,0,0,0.8); }

h3 {
	display: block;
	font-family: 'light', sans-serif;
	font-size: 20px;
	line-height: 26px;
	text-align: center;
	padding: 0 10% 60px 10%;
	color: rgba(0,0,0,0.8);
}

a.bouton-plus {
	position: relative;
	font-family: 'bold', sans-serif;
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: 6px 0 4px 0;
	color: rgba(0,0,0,0.8);
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), inset 0px 0 0 0 #8a974b;
	font-size: 12px;
	line-height: 16px;
	text-transform: uppercase;
	letter-spacing: 4px;
	cursor: pointer;
	transition-duration: 1s;
} a.bouton-plus:hover { box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), inset 2000px 0 0 0 #e6c54f; }

p.vl { height: 60px; }
span.vl {
	display: inline-block;
	height: 100%;
	width: 2px;
	background-color: rgba(0,0,0,0.8);
}


p.hl { height: 2px; background-color: rgba(255,255,255,0); }
span.hl {
	position: relative;
	display: block;
	height: 2px;
	width: 50%;
	margin: 0 auto;
	background-color: rgba(0,0,0,0.8);
}

p.pi { height: 80px; }
span.pi {
	display: inline-block;
	height: 80px;
	width: 80px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8);
	background-position: center;
	background-size: 60%;
	background-color: white;
	background-repeat: no-repeat;
}

p.credits {
	display: block;
	font-family: 'light', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: rgba(0,0,0,0.6);
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 20px 0 60px 0;
	text-align: center;
} p.credits a { color: rgba(0,0,0,0.8); }

p.contact {
	display: block;
	font-family: 'light', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: rgba(0,0,0,0.8);
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 20px 0 60px 0;
	text-align: center;
}

p.contact img {
	width: 80%;
	max-width: 200px;
	padding: 0 0 20px 0;
}

p.para-prelude {
	font-family: 'light', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: rgba(0,0,0,0.8);
	letter-spacing: 2px;
	text-transform: uppercase;
}

p.para-prelude img {
	width: 24px;
	vertical-align: middle;
}

p.para-prelude a {
	display: inline-block;
	padding: 1px 10px 0px 10px;
	margin: 10px 0;
	font-size: 8px;
	font-family: 'bold', sans-serif;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), inset 0px 0 0 0 #8a974b;
	cursor: pointer;
	transition-duration: 1s;
} p.para-prelude a:hover { box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), inset 1000px 0 0 0 #e6c54f; }

p.liste-situation-temps {
	display: block;
	font-family: 'light', sans-serif;
	font-size: 18px;
	line-height: 22px;
	color: rgba(0,0,0,0.8);
	text-align: center;
	text-transform: uppercase;
	padding: 24px 0 20px 0;
	letter-spacing: 1px;
}

p.liste-situation-moyen {
	display: block;
	font-family: 'regular', sans-serif;
	font-size: 22px;
	line-height: 26px;
	color: rgba(0,0,0,0.8);
	text-align: center;
	text-transform: uppercase;
	padding: 20px 0;
	letter-spacing: 4px;
}

p.liste-projet-nombre {
	position: relative;
	width: calc(50% - 40px);
	display: inline-block;
	font-family: 'regular', sans-serif;
	font-size: 100px;
	line-height: 100px;
	text-align: center;
	text-transform: uppercase;
	padding: 20px 20px 0px 20px;
	margin: 0 25%;
	letter-spacing: 1px;
	box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.8);
}

p.liste-projet-pieces {
	position: relative;
	width: calc(50% - 40px);
	display: inline-block;
	font-family: 'regular', sans-serif;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	text-transform: uppercase;
	padding: 10px 20px 8px 20px;
	margin: 0 25%;
	letter-spacing: 3px;
}

p.liste-projet-info {
	display: block;
	font-family: 'regular', sans-serif;
	font-size: 14px;
	line-height: 18px;
	color: rgba(0,0,0,0.8);
	text-align: center;
	text-transform: uppercase;
	padding: 24px 0 20px 0;
	letter-spacing: 1px;
}

/* IMAGES */

.image-back {
	background-size: cover;
	background-position: center;
	overflow: hidden;
	margin: 0 15px;
	padding: 15px;
}

.border-radius { border-radius: 10px; }

.height100 { height: 100vh; min-height: 600px; }
.height80 { height: 80vh; min-height: 600px; }
.height70 { height: 70vh; min-height: 500px; }
.height50 { height: 50vh; min-height: 400px; }
.height40 { height: 40vh; min-height: 350px; }
.height30 { height: 30vh; min-height: 300px; }
.height20 { height: 20vh; min-height: 200px; }

/* DECO */

.decoration {
	position: absolute;
	width: 400px;
	height: 400px;
	transform: translateY(-50%);
	background-position: center;
}

/* MENU PRINCIPAL */

.prelude-top { padding: 80px 0; }

#menu-principal {
	position: absolute;
	top: 0px;
	left: 50%;
	display: inline-block;
	background-size: cover;
	background-position: center;
	vertical-align: middle;
  word-spacing: 0em;
	overflow: hidden;
	text-align: center;
	width: calc( 100% / 5 );
	max-width: 300px;
	z-index: 1000;
	transform: translate(-50%);
	padding: 0 0 10px 0;
}

#menu-principal a {
	display: inline-block;
	font-size: 12px;
	line-height: 16px;
	font-family: 'bold', sans-serif;
	text-transform: uppercase;
	color: rgba(0,0,0,0.8);
	cursor: pointer;
	padding: 0px;
	letter-spacing: 1px;
}

#menu-principal img.logo-principal {
	width: 60%;
	max-width: 280px;
}

#menu-principal ul#liste-liens {
	display: block;
	padding: 10px 0;
}

#menu-principal ul#liste-liens.close {
	display: none;
}

#menu-principal ul#liste-liens li {
	padding: 4px 0;
	font-size: 16px;
	line-height: 22px;
	font-family: 'light', sans-serif;
	text-transform: uppercase;
	letter-spacing: 2px;
	cursor: pointer;
} #menu-principal ul#liste-liens li:hover { font-family: 'regular', sans-serif; }

#menu-principal p a.ouverture {
	display: block;
	padding: 40px 5px 10px 5px;
	background-image: url('../svg/picto-menu-open.svg');
	background-size: 24px;
	background-position: center 10px;
	letter-spacing: 1px;
} #menu-principal p a.ouverture:hover { letter-spacing: 4px; }

#menu-principal p a.ouverture.close {
	background-image: url('../svg/picto-menu-close.svg');
}

#rond {
	position: absolute;
	top: 80px;
	left: 50%;
	transform: translate(-50%);
	background-color: white;
	width: 20vw;
	height: 20vw;
	max-width: 360px;
	max-height: 360px;
	border-radius: 50%;
	z-index: 0;
	z-index: 500;
	transition-duration: 0.4s;
}

#rond-page {
	position: absolute;
	top: 80px;
	left: 50%;
	transform: translate(-50%);
	background-color: white;
	width: 10vw;
	height: 10vw;
	max-width: 360px;
	max-height: 360px;
	border-radius: 50%;
	z-index: 0;
	z-index: 500;
	transition-duration: 0.4s;
}

#rond.open, #rond-page.open {
	top: 100px;
	width: 20vw;
	height: 20vw;
	max-width: 560px;
	max-height: 560px;
}

a.video-txt {
	padding: 10px 20px !important;
	border-radius: 20px;
	background-color: white;
}

p.video-btn span { cursor: pointer; transition-duration: 0.4s; }
p.video-btn span:hover { box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), 0 0 0 10px #e6c54f; }

/* GALERIE VIDEO */

#galerie-video {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0px;
	left:-200vw;
	background-color: white;
	z-index: 2000;
	transition-duration: 0.6s;
}

#galerie-video.on {
	left:0vw;
}

#myVideo {
	width: 100%;
	height: 100%;
}

#bouton-stop {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 40px;
	right: 40px;
	background-color: white;
	border: 8px solid white;
	box-shadow: inset 0 0 0 2px black;
	background-image: url('../svg/picto-close.svg');
	background-repeat: no-repeat;
	background-size: 40%;
	background-position: center;
	cursor: pointer;
}

/* GALERIE PRINCIPALE */

#galerie {
  position: fixed;
  top: 0vh;
	left: -120vw;
  z-index: 10000;
  transition-duration: 1s;
	background-color: white;
}

#galerie.active {
  left: 0vw;
}

#galerie .entier-full {
  padding: 0 !important;
}

#galerie ul#images {
	position: absolute;
	display: block;
	top: 0px;
	width: 100%;
	height: 100%;
}

#galerie ul#images li {
	position: absolute;
	display: none;
	top: 40px;
	left: 40px;
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	background-size: cover;
	background-position: center;
	border-radius: 10px;
	/*box-shadow: inset 0 0 0 40px white, inset 0 0 0 42px rgba(0,0,0,0.8);*/
}

#galerie ul#images li.active { display: block; }

#galerie ul#vignettes {
	position: absolute;
	text-align: center;
	bottom: 37px;
	display: table;
	width: 100%;
	height: 60px;
}

#galerie ul#vignettes li {
	display: inline-flex;
	width: 80px;
	height: 60px;
	padding: 0;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), 0 0 0 8px rgba(255,255,255,1);
	margin: 0px 20px;
	background-size: cover;
	background-position: center;
	transition-duration: 0.4s;
	cursor: pointer;
}

#galerie ul#vignettes li.active {
	filter: grayscale(0);
	cursor: default;
	width: 200px;
}

#galerie #bouton-avant, #galerie #bouton-apres {
	position: absolute;
	display: block;
	top: calc(50% - 50px);
	width: 40px;
	height: 100px;
	background-color: white;
	cursor: pointer;
	background-position: 50% center;
	background-size: 70%;
	transition-duration: 0.4s;
	box-shadow: inset 0 0 0 2px black, 0 0 0 8px white;
}

#galerie #bouton-avant:hover { background-position: 40% center; }
#galerie #bouton-apres:hover { background-position: 60% center; }

#galerie #bouton-avant {
	left: 40px;
	background-image: url('../svg/picto-galerie-gauche.svg');
}

#galerie #bouton-apres {
	right: 40px;
	background-image: url('../svg/picto-galerie-droite.svg');
}

#contenu-navigation-galerie {
  position: absolute;
  margin: 40px 0 0 0;
  z-index: 1000;
}

#contenu-navigation-galerie ul#nav-principal-galerie {
	position: relative;
	left: 40px;
}

#contenu-navigation-galerie ul#nav-principal-galerie li.close {
  border-radius: 0;
  cursor: pointer;
	font-family: 'bold', sans-serif;
	text-transform: uppercase;
	padding: 12px 15px 10px 15px;
	font-size: 10px;
	letter-spacing: 2px;
	line-height: 0px;
	height: auto;
	box-shadow: inset 0 0 0 2px rgba(0,0,0,0.8), 0 0 0 12px white;
	border-radius: 0px;
	background-color: white;
}

/* GOOGLE */

.grecaptcha-badge { display: none; }
