html { overflow-x: hidden; }
body { overflow-x: hidden; background-color: #FFF; }

.mobilSupr { display: inline-block !important; }
.justMobil { display: none !important; }

/* 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;
	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: 84%;
	margin: 0 auto;
	table-layout: fixed;
	word-spacing: -4em;
	overflow: visible;
	padding: 0;
}

.section { padding: 60px 0; }
.section.first { padding: 10px 0 60px 0; }
.sous-section { padding: 40px 0; }

.section.background {
	background-size: 250px;
	background-repeat: no-repeat;
}

/* 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; }
.color-typo-white { color: var(--color-white); }

/* BORDER */
.border-radius { border-radius: var(--border-radius-size); 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; }

.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; }

/* 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-40 { height: 40px; width: 100%; }
.espace-vide-50 { height: 50px; width: 100%; }
.espace-vide-100 { height: 100px; width: 100%; }

/* BANDES IMAGES */

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

.img-back {
	background-size: cover;
	background-position: center;
	border-radius: var(--border-radius-size);
}

/* H */

p {
	font-family: 'light', sans-serif;
	color: var(--color-projet-gris);
	font-size: 14px;
	line-height: 23px;
}

sup { line-height: 0px; }

h1 {
	font-family: 'regular', sans-serif;
	color: var(--color-projet-gris);
	font-size: 30px;
	line-height: 40px;
} h1 span { color: var(--color-projet-corpo); }

h2 {
	font-family: 'regular', sans-serif;
	color: var(--color-projet-gris);
	font-size: 26px;
	line-height: 36px;
} h2 span { color: var(--color-projet-corpo); }

h3 {
	font-family: 'regular', sans-serif;
	color: var(--color-projet-gris);
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 8px;
	text-transform: uppercase;
	padding: 0 0 30px 0;
}

p.img-full {
	display: inline-block;
	width: 100%;
	overflow: hidden;
	padding: 0; margin: 0;
}

p.img-full img {
	width: 100%;
	border-radius: var(--border-radius-size);
}

p.legende {
	display: block;
	width: 100%;
	font-family: 'light', sans-serif;
	display: inline-block;
	font-size: 13px;
	line-height: 17px;
	text-transform: uppercase;
	padding: 10px 0 0 0;
	letter-spacing: 2px;
}

p.credits {
	font-size: 10px;
	line-height: 16px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

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

a.bouton-simple {
	display: block;
	width: 100%;
	position: relative;
	background-color: var(--color-projet-corpo);
	padding: 16px 0px 14px 0;
	margin: 0 auto;
	border-radius: var(--border-radius-size);
	color: var(--color-projet-white);
	text-align: center;
	letter-spacing: 4px;
	text-transform: uppercase;
	cursor: pointer;
	transition-duration: 0.4s;
	font-size: 14px;
	line-height: 20px;
} a.bouton-simple:hover { background-color: var(--color-projet-gris); }

a.bouton-promotion {
	display: block;
	position: absolute;
	background-color: var(--color-projet-gris);
	padding: 14px 20px;
	border-radius: var(--border-radius-size);
	color: var(--color-projet-white);
	text-align: center;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 10px;
	line-height: 16px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition-duration: 0.4s;
} a.bouton-promotion:hover { background-color: var(--color-projet-corpo); }

/* MENU PRINCIPAL */

#menu-principal {
	position: relative;
	display: block;
	height: 100px;
	width: 100vw;
	margin: 0 auto;
	z-index: 100000;
	background-color: var(--color-projet-white);
	margin-bottom: 0px;
}

@media screen and (min-width: 1100px) {
	body#selecteur #menu-principal {
		position: fixed;
	}
}

#menu-principal ul.liste-liens {
	position: absolute;
	display: table;
	height: 100px;
	width: 70vw;
	left: 0;
}

#menu-principal ul.liste-liens li {
	display: inline-block;
	float: left;
	position: relative;
	height: 100%;
	vertical-align: middle;
	cursor: pointer;
}

#menu-principal ul.liste-liens li:nth-child(1) { width: 100px; }
#menu-principal ul.liste-liens li:nth-child(1) p, #menu-principal ul.liste-liens li:nth-child(1):hover p { padding: 0; margin: 0 auto; left: 50%; transform: translateX(-50%) translateY(-50%); text-align: center; }

#menu-principal ul.liste-liens li:nth-child(2) {
	width: 300px;
}

#menu-principal ul.liste-liens li:nth-child(2) div {
	position: absolute;
	top: 0px;
	height: 200px;
	width: 300px;
	background-color: var(--color-projet-white);
	border-radius: 0 0 var(--border-radius-size) 0;
	background-image: url('../svg/logotype-principal.svg');
	background-position: center;
	background-size: 80%;
}

#menu-principal ul.liste-liens li p {
	font-family: 'regular', sans-serif;
	padding: 20px 20px 20px 0px;
	position: relative;
	font-size: 12px;
	line-height: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--color-projet-gris);
	text-align: left;
	top: 50%;
	transform: translateY(-50%);
	transition-duration: 0.2s;
}

/*#menu-principal ul.liste-liens li p:hover { padding: 20px 30px 20px 10px; }*/

#menu-principal ul.liste-liens li.lien p span {
	display: inline-block;
	width: 2px;
	height: 12px;
	background-color: var(--color-projet-corpo);
	vertical-align: middle;
	margin: 0 10px 0 0;
}

/* LIGNES INTRO */

ul#ligne-haute {
	position: absolute;
	display: table;
	right: 0px;
	width: 30vw;
	height: 100%;
}

ul#ligne-haute li {
	position: relative;
	display: table-cell;
	height: 100px;
	vertical-align: middle;
}

ul#ligne-haute li p {
	display: inline-block;
	font-size: 12px;
	line-height: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-projet-gris);
}

ul#ligne-haute li:nth-child(2) {
	width: 100px;
	text-align: center;
}

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

/* INTRODUCTION */

#intruduction {
	display: inline-block;
	position: relative;
	width: 100vw;
	height: calc(100vh - 100px);
	min-height: 500px;
}

#intruduction-page {
	display: inline-block;
	position: relative;
	width: 100vw;
	height: calc(50vh - 100px);
	min-height: 500px;
}

#intruduction-fond {
	position: relative;
	display: block;
	width: calc(100% - 200px);
	height: calc(100% - 100px);
	margin: 0 auto;
	border-radius: var(--border-radius-size);
	background-color: var(--color-body-black);
	background-size: cover;
	background-position: center;
}

#intruduction ul#ligne-basse {
	display: table;
	height: 120px;
	width: calc(50% - 200px);
	position: absolute;
	bottom: 0px;
	left: 100px;
	vertical-align: middle;
	border-right: 30px solid var(--color-projet-white);
	border-radius: 0 var(--border-radius-size) 0 0;
	background-color: var(--color-projet-white);
	z-index: 100;
}

#intruduction ul#ligne-basse li {
	display: table-cell;
	margin: 0 20px 0 0;
	height: 100%;
	vertical-align: middle;
}

#intruduction ul#ligne-basse li p {
	display: inline-block;
	padding: 0 40px 0 0;
}

#intruduction ul#ligne-gauche, #intruduction ul#ligne-droite {
	position: absolute;
	display: table;
	height: 100px;
	width: calc(100vh - 300px);
	transform: rotate(-90deg);
	transform-origin: left bottom;
	z-index: 100;
}

#intruduction-page ul#ligne-droite {
	position: absolute;
	display: table;
	height: 100px;
	width: calc(50vh - 300px);
	min-width: 500px;
	transform: rotate(-90deg);
	transform-origin: left bottom;
}

#intruduction ul#ligne-gauche { left: 100px; }
#intruduction ul#ligne-droite, #intruduction-page ul#ligne-droite { left: 100%; }

#intruduction ul#ligne-gauche li, #intruduction ul#ligne-droite li, #intruduction-page ul#ligne-droite li {
	display: table-cell;
	position: relative;
	height: 100%;
}

#intruduction ul#ligne-gauche li p, #intruduction ul#ligne-droite li p, #intruduction-page ul#ligne-droite li p {
	display: inline-block;
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
}

#intruduction ul#ligne-gauche li:nth-child(1) { width: 120px; }
#intruduction ul#ligne-droite li:nth-child(1), #intruduction-page ul#ligne-droite li:nth-child(1) { width: 100px; }
#intruduction ul#ligne-gauche li:nth-child(1) p, #intruduction ul#ligne-droite li:nth-child(1) p, #intruduction-page ul#ligne-droite li:nth-child(1) p { text-align: center; }

#header-fond {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 0;
}

#header-fond #myVideo {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	object-fit: cover;
}

#bouton-son {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 30px;
	height: 30px;
	background-image: url('../svg/pictogramme-sonOff.svg');
	margin: 20px 20px 0 0;
	cursor: pointer;
  z-index: 100000;
}

#bouton-son.active {
	background-image: url('../svg/pictogramme-sonOn.svg');
}

#bouton-lecture {
	position: absolute;
	right: 0px;
	top: 50px;
	width: 30px;
	height: 30px;
	background-image: url('../svg/pictogramme-videoPause.svg');
	margin: 20px 20px 0 0;
	cursor: pointer;
  z-index: 100000;
}

#bouton-lecture.active {
	background-image: url('../svg/pictogramme-videoPlay.svg');
}

/* ANNONCE */

#intruduction-annonce {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40vw;
	max-width: 600px;
	height: auto;
	min-height: 100px;
	background-color: var(--color-projet-white);
	transform: translateX(-50%) translateY(-50%);
	border-radius: var(--border-radius-size);
	padding: 30px;
	z-index: 500000;
	transition-duration: 0.6s;
}

#intruduction-annonce.close {
	top: -100vh;
}

#intruduction-annonce p {
	color: var(--color-projet-gris);
	text-transform: uppercase;
	text-align: center;
	font-family: 'regular', sans-serif;
	font-size: 16px;
	line-height: 23px;
	padding: 5px 0;
}

#intruduction-annonce p.bleu {
	color: var(--color-projet-corpo);
	font-size: 14px;
	line-height: 20px;
	font-family: 'light', sans-serif;
}

#intruduction-annonce p.size-mini {
	font-size: 12px;
	line-height: 16px;
}

#intruduction-annonce a.fermeture {
	display: block;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 40px;
	height: 40px;
	background-image: url('../svg/picto-menu-close.svg');
	background-size: 60%;
	background-position: center;
	border-radius: 4px;
	box-shadow: inset 0 0 0 2px var(--color-projet-corpo);
	cursor: pointer;
	transition-duration: 0.6s;
	transform: rotate(90deg);
}

#intruduction-annonce a.fermeture:hover {
	transform: rotate(0deg);
}

#intruduction-annonce #formulaire-contact-problemes p {
	text-transform: none;
	font-size: 14px;
	line-height: 20px;
	padding: 1px 0;
}

/* ANGLES */

span.angle-haut-gauche, span.angle-bas-gauche, span.angle-haut-droite {
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;
}

span.angle-haut-gauche { box-shadow: inset 2px 2px 0 0 var(--color-projet-corpo); }
span.angle-haut-droite { box-shadow: inset -2px 2px 0 0 var(--color-projet-corpo); }
span.angle-bas-gauche { box-shadow: inset 2px -2px 0 0 var(--color-projet-corpo); }
span.angle-bas-droite { box-shadow: inset -2px -2px 0 0 var(--color-projet-corpo); }

span.deco-angle {
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;
	margin: 0 0 0 0;
}

/* PICTOGRAMME */

ul.picto {
	display: table;
	margin: 30px 0;
}

ul.picto li {
	display: table-cell;
}

ul.picto li span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 50px;
	height: 50px;
	box-shadow: inset 0 0 0 2px var(--color-projet-corpo);
	border-radius: var(--border-radius-size);
	background-position: center;
	background-size: 90%;
	background-repeat: no-repeat;
	margin-right: 20px;
}

ul.picto li p {
	display: inline-block;
	vertical-align: middle;
	font-family: 'regular', sans-serif;
	font-size: 13px;
	line-height: 17px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

ul.picto li span p {
	display: block;
	color: var(--color-projet-corpo);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	font-family: 'bold', sans-serif;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: 0px;
}


/* GALERIE POP */

#galerie-pop {
	position: absolute;
	top: -500px;
	width: calc(100vw - 180px);
	height: 0px;
	left: 90px;
	overflow: hidden;
	background-position: center;
	background-size: cover;
	cursor: pointer;
	border-radius: var(--border-radius-size);
	box-shadow: inset 0 0 0 2px var(--color-projet-gris);
	background-color: var(--color-projet-white);
	transition-duration: 1s;
	z-index: 10000001;
}

#galerie-pop.close {
	position: fixed;
	width: calc(100vw - 180px);
	height: 0px;
}

#galerie-pop.open {
	position: fixed;
	top: 90px;
	height: calc(100vh - 180px);
	box-shadow: 0 0 0 2px rgba(0,0,0,1);
}

#galerie-pop #fermeture-visualisation {
	position: absolute;
	left: 30px; top: 30px;
	cursor: pointer;
	text-transform: uppercase;
	border: none;
	background-image: url('../svg/picto-menu-close-white.svg');
	width: 50px;
	height: 50px;
	border-radius: var(--border-radius-size);
	background-position: center;
	background-size: 80%;
	background-repeat: no-repeat;
	transition-duration: 0.4s;
	z-index: 1000;
	background-color: var(--color-projet-corpo);
}

#galerie-pop #fermeture-visualisation:hover { transform: rotate(90deg); }

.pop { cursor: pointer; transition-duration: 1s; filter: grayscale(0); }
.pop:hover { filter: grayscale(0.5); }

/* VIDEO */

video {
	width: calc(100% - 0px);
	box-shadow: 0px 0px 0px 0px rgba(255,255,255,0);
}

/* PLAN MASSE */

div.legende-plan-masse {
	position: absolute;
	width: 8vw;
	height: 8vw;
	border-radius: var(--border-radius-size);
	background-color: rgba(255,255,255,0.6);
	transform: translateX(-50%) translateY(-50%);
	box-shadow: inset 0 0 0 2px var(--color-projet-corpo);
}

div.legende-plan-masse p {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	text-transform: uppercase;
	font-family: 'bold', sans-serif;
	color: var(--color-projet-corpo);
	font-size: 40px;
	transform: translateX(-50%) translateY(-40%) ;
}

/* GOOGLE */

.grecaptcha-badge { display: none; }
