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

a { text-decoration: none; color: unset; cursor: pointer; }

/* WIDTH */

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

/* PAGE ACCUEIL */

.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-y: visible;
	overflow-x: hidden;
	box-shadow: inset 0 0 0 0px #E57F7F;
	vertical-align: middle;

}

.width-max {
	display: table;
	position: relative;
	width: 75%;
	margin: 0 auto;
	table-layout: fixed;
	word-spacing: -4em;
	overflow: visible;
	box-shadow: inset 0 0 0 0px #7EC1AA;
	padding: 20px 0;
}

/* MARGES */
.margin-top { border-top: 50px solid rgba(0, 0, 0, 0); }
.margin-bottom { border-bottom: 50px solid rgba(0, 0, 0, 0); }
.padding-top { padding-top: 100px; }
.padding-bottom { padding-bottom: 100px; }
.padding-left { padding-left: 80px; }
.padding-right { margin-right: 6%; }
@media screen and (max-width: 1000px) { .padding-top, .padding-top { padding-top: 30px; } }

.no-padding { padding: 0 !important; }
.no-margin { margin: 0 !important; }

.no-background-mobil { background-image: default; }
.justMobil { display: none !important; }

/* COLONNES */
.deuxColones { column-count: 2; column-gap: 40px; }

/* COLOR // BACKGROUND */
.color-background-white { background-color: rgba(255,255,255,0.5); }
.color-background-grey { background-color: rgba(0,0,0,0.1); }
.color-background-black { background-color: #3e3f3f; }
.color-background-blue { background-color: #B1A586; }

/* COLOR // TYPO */
.color-typo-white { color: rgba(255,255,255,1) !important; }
.color-typo-grey { color: rgba(0,0,0,0.5); }
.color-typo-black { color: rgba(63,63,63,1); }
.color-typo-green { color: #87BBA2; }

/* 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; }
.cinquieme-full {width: calc((100% / 5) - 0px); padding: 0px 0px; }
.troiscinquieme { width: calc(3*(100% / 5) - 60px); padding: 0px 30px; }
.troiscinquieme-full { width: calc(3*(100% / 5) - 0px); padding: 0px 0px; }
.sixieme {width: calc((100% / 6) - 60px); padding: 0px 30px; }
.huitieme {width: calc((100% / 8) - 60px); padding: 0px 30px; }

.huitieme-full {width: calc((100% / 8) - 0px); padding: 0px 0px; }
.troishuitieme-full {width: calc(3*(100% / 8) - 0px); padding: 0px 0px; }
.cinqhuitieme-full {width: calc(5*(100% / 8) - 0px); padding: 0px 0px; }
.septhuitieme-full {width: calc(7*(100% / 8) - 0px); padding: 0px 0px; }

/* FONT // FAMILY */
.font-bold, b { font-family: 'bold', sans-serif; }
.font-light { font-family: 'light', 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, .center { text-align: center; }
.para-right { text-align: right; }

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

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

.size-mini { font-size: 10px !important; line-height: 16px !important; }
.size-petit { font-size: 12px !important; line-height: 14px !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; }

/* BORDER */
.border-bottom { margin-bottom: 46px; }
.border-right { box-shadow: inset -46px 0px 0px 0px white; }

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

/* IMAGE */

.gland {
	position: absolute;
	width: 240px;
	height: 400px;
	background-image: url('../svg/icon-principal.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 100;
}

.secondaire {
	position: absolute;
	width: 300px;
	height: 300px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 100;
}

.image-back { background-size: cover; background-position: center; background-repeat: no-repeat; }
.height80 { height: 80vh; min-height: 600px; }
.height50 { height: 50vh; min-height: 400px; }
.height30 { height: 30vh; min-height: 300px; }


.height30.round-right { border-top-right-radius: 15vh 15vh; border-bottom-right-radius: 15vh 15vh; }
.height50.round-left { border-top-left-radius: 25vh 25vh; border-bottom-left-radius: 25vh 25vh; }

.height50.round-right { border-top-right-radius: 25vh 25vh; border-bottom-right-radius: 25vh 25vh; }

/* TEXTES */

.espace-vide-30 { display: block; height: 30px; }
.espace-vide-60 { display: block; height: 60px; }
.espace-vide-90 { display: block; height: 90px; }

h2, h3, h4, p { color: #575756; }

h2 {
	font-family: 'regular', sans-serif;
	font-size: 1vw;
	line-height: 1.6vw;
	letter-spacing: .5vw;
	text-transform: uppercase;
	padding: 0 0 40px 0;
}

h3 {
	font-family: 'regular', sans-serif;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0 0 40px 0;
}

h4 {
	font-family: 'regular', sans-serif;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0 0 40px 0;
}

p {
	font-family: 'light', sans-serif;
	font-size: 15px;
	line-height: 24px;
	letter-spacing: 1px;
}

p.point-chiffre {
	display: inline-block;
	width: 60px;
	font-family: 'light', sans-serif;
	font-size: 60px;
	line-height: 66px;
	float: left;
	letter-spacing: -5px;
	text-align: right;
	padding-right: 30px;
	color: #9D9D9C;
}

p.point-texte {
	display: inline-block;
	width: calc(100% - 90px);
	font-family: 'regular', sans-serif;
	font-size: 15px;
	line-height: 20px;
	text-transform: uppercase;
	float: left;
	color: #9D9D9C;
}

p.point-texte span {
	display: inline-block;
	font-family: 'bold', sans-serif;
	color: #acc069;
	font-size: 10px;
	letter-spacing: 4px;
	margin-bottom: 4px;
}

p.point-texte i { color: #575756; }

.carte-suisse {
	margin-top: -90px;
}

p.credit {
	text-transform: uppercase;
	text-align: center;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 2px;
}

p.contact {
	font-family: 'bold', sans-serif;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 1px;
	color: #9D9D9C;
}

p.contact span { color: #575756; }

p.contact i { font-size: 80%; }

p.atout {
	font-size: 0.8vw;
	line-height: 1.2vw;
	text-transform: uppercase;
	font-family: 'bold', sans-serif;
}

sup {
	line-height: 0px;
}

.red {
	color: red !important;
}

/* BOUTONS */

a.bouton-plus {
	display: inline-block;
	width: 28px; height: 28px;
	background-color: white;
	border-radius: 50%;
	vertical-align: middle;
	margin-left: 20px;
	cursor: pointer;
	background-image: url('../svg/picto-plus-vertclair.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50%;
	box-shadow: inset 0 0 0 2px #acc069;
	transition-duration: 0.4s;
}

a.bouton-plus:hover { box-shadow: inset 0 0 0 2px #575756; }

a.bouton-plus::before {
	content: "en savoir plus";
	display: block;
	position: absolute;
	margin-left: 44px;
	width: auto;
	height: 28px;
	font-family: 'bold', sans-serif;
	font-size: 10px;
	line-height: 30px;
	letter-spacing: 2px;
	color: #acc069;
}

a.maps {
	display: inline-block;
	padding: 10px 40px 16px 40px;
	background-color: #white;
	color: #acc069;
	font-size: 20px;
	letter-spacing: 4px;
	font-family: 'regular', sans-serif;
	text-align: center;
	text-transform: uppercase;
	border-radius: 40px;
	transition-duration: 0.4s;
	box-shadow: inset 0 0 0 2px #acc069;
}

a.maps span { font-size: 10px; letter-spacing: 8px; }

a.telechargements {
	display: inline-block;
	padding: 17px 20px 16px 24px;
	margin-bottom: 20px;
	width: calc(100% - 40px);
	background-color: white;
	color: #acc069;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
	font-family: 'regular', sans-serif;
	text-align: center;
	text-transform: uppercase;
	border-radius: 40px;
	transition-duration: 0.4s;
	box-shadow: inset 0 0 0 2px #acc069;
}

a.maps:hover, a.telechargements:hover { color: #575756; box-shadow: inset 0 0 0 2px #575756; }

/* GALERIE EN LIGNE */

ul.bloc-legende {
	display: block;
	position: absolute;
	bottom: 30px;
	width: 100%;
	height: 60px;
}

ul.bloc-legende li {
	display: table;
	vertical-align: middle;
	max-width: 80%;
}

ul.bloc-legende li p {
	display: inline-flex;
	vertical-align: middle;
	height: 60px;
}

ul.bloc-legende li p.bloc-legende-text {
	display: inline-flex;
  justify-content: center;
  align-items: center;
	height: 60px;
	font-family: 'regular', sans-serif;
	padding: 0 40px;
	background-color: white;
	border-radius: 0 35px 35px 0;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

ul.bloc-legende li p.bloc-legende-text span {
	font-size: 20px;
	padding: 0 10px 0 0;
	color: #acc069;
}

ul.bloc-legende li p.bloc-legende-bouton a {
	display: inline-block;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #ea5284;
	padding: 0;
	margin: 0 0 0 20px;
	background-image: url('../svg/picto-fleche-droite.svg');
	background-size: 20%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	transition-duration: 0.4s;
}

ul.bloc-legende li p.bloc-legende-bouton a:hover {
	background-position: 60% 50%;
}

/* GOOGLE */

.grecaptcha-badge { display: none; }

/* GALERIE PRINCIPALE */

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

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

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

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

#galerie ul#vignettes li {
	display: inline-flex;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 8px white;
	margin: 5px 10px;
	background-size: cover;
	background-position: center;
	transition-duration: 0.4s;
	cursor: pointer;
}

#galerie ul#vignettes li:hover {
	box-shadow: inset 0 0 0 12px white;
}

#galerie ul#vignettes li.active {
	box-shadow: inset 0 0 0 8px #adc06b;
	cursor: default;
}

#galerie #bouton-avant, #galerie #bouton-apres {
	position: absolute;
	display: block;
	top: calc(50% - 50px);
	width: 80px;
	height: 80px;
	background-color: white;
	cursor: pointer;
	background-position: 50% center;
	background-size: 20%;
	transition-duration: 0.4s;
}

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

#galerie #bouton-avant {
	left: 0vw;
	border-radius: 0 50% 50% 0;
	background-image: url('../svg/picto-galerie-gauche.svg');
}

#galerie #bouton-apres {
	right: 0vw;
	border-radius: 50% 0 0 50%;
	background-image: url('../svg/picto-galerie-droite.svg');
}

/* COMMERCES */

.comm-local {
	display: block;
	font-family: 'bold', sans-serif;
	color: #acc069;
	font-size: 10px;
	letter-spacing: 4px;
	margin-bottom: 4px;
	text-align: center;
	text-transform: uppercase;
}

.comm-chiffre {
	display: block;
	font-family: 'light', sans-serif;
	font-size: 40px;
	line-height: 40px;
	letter-spacing: -2px;
	text-align: center;
	color: #9D9D9C;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.comm-txt {
	display: block;
	font-family: 'regular', sans-serif;
	font-size: 15px;
	line-height: 20px;
	text-transform: uppercase;
	text-align: center;
	color: #9D9D9C;
}

/* JPO */

ul#bouton-accueil {
	position: relative;
	display: table;
	height: 10%;
	top: calc(50% - 40px);
	left: 20%;
}

ul#bouton-accueil li {
	display: inline-flex;
	height: 100%;
	vertical-align: middle;
}

ul#bouton-accueil li a { margin: 0 10px; transition-duration: 0.3s; background-color: white; }
ul#bouton-accueil li a:hover { background-color: rgba(255,255,255,0.8); }

ul#bouton-accueil li a#bouton-video {
	display: inline-block;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-image: url("../svg/picto-video-gris.svg");
	background-position: 52% center;
	background-size: 30%;
}

ul#bouton-accueil li a#bouton-jpo {
	display: inline-block;
	width: 100%;
	height: 80px;
	border-radius: 40px;
	background-image: url("../svg/picto-jpo-gris.svg");
	background-position: 10% center;
	background-size: 30px;
}

ul#bouton-accueil li a#bouton-jpo p {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-size: 15px;
	line-height: 19px;
	text-transform: uppercase;
	font-family: "regular", sans-serif;
	padding: 0 40px 0 100px;
	margin-top: 20px;
}

/* 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: 'regular', sans-serif;
	box-shadow: inset 0 0 0 0px var(--color-gris-moyen);
	border-radius: 0px;
	background-color: var(--color-gris-light);
}

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

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

table.formulaire-contact input[type="submit"]:hover {
	background-color: var(--color-gris-moyen);
}

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

table.formulaire-contact p {
	font-family: 'regular', 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;
}

.formulaire-contact-problemes p {
	text-transform: uppercase;
	color: var(--color-selecteur-reser);
	text-align: center;
}

.formulaire-contact-envoi p {
	text-transform: uppercase;
	color: var(--color-selecteur-dispo);
	text-align: center;
}

/* COMPATIBILITÉ DU PLACEHOLDER */

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

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

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

/* SELECTEUR */

table.lot {
	display: table;
	table-layout: fixed;
	margin: 3vw auto;
}

table.lot tr td {
	text-align: center;
}

table.lot tr td p {
	text-transform: uppercase;
	padding: 6px 10px;
	font-size: 1vw;
	line-height: 1.2vw;
	font-family: 'light', sans-serif;
}

table.lot tr:nth-child(1) td p {
	color: var(--color-selecteur-dispo);
	font-size: 2vw;
	line-height: 2.4vw;
	font-family: 'regular', sans-serif;
} table.lot tr:nth-child(1) td p span { color: var(--color-gris-moyen); }

table.lot tr td p span {
	display: block;
	font-size: 0.5vw;
	line-height: 1.2vw;
	font-family: 'regular', sans-serif;
}

table.lot tr:nth-child(2) td {
	border: 2px solid var(--color-selecteur-dispo);
}

table.lot tr td p a {
	display: block;
	background-color: var(--color-selecteur-dispo);
	padding: 8px;
	border-radius: 40px;
	font-size: 0.8vw;
	line-height: 1vw;
	margin: 20px 0;
	color: white;
	font-family: 'regular', sans-serif;
	transition-duration: 0.4s;
} table.lot tr td p a:hover { background-color: var(--color-gris-moyen); }

/* LANDING */

p.landing-titre1, p.landing-titre2, p.landing-titre3 {
	text-transform: uppercase;
}

p.landing-titre1, p.landing-titre2 {
	font-size: 1.8vw;
	line-height: 2.3vw;
	color: #adc06a;
}

p.landing-titre2 {
	color: #006f32;
}

p.landing-titre3 {
	font-size: 1.2vw;
	line-height: 2vw;
}
