html { margin: 0px; overflow-x: hidden; }
body {
	margin: 0px 0px 0 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; }

/* 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: 100%;
	height: auto;
	background-color: rgba(0,0,0,0);
	table-layout: fixed;
	word-spacing: -4em;
	margin: 0 auto;
	overflow: visible;
	box-shadow: inset 0 0 0 0px #E57F7F;
	vertical-align: middle;
}

.width-full .width-full {
	width: calc(100% - 160px);
	margin: 0 auto;
}

.width-full.footer .width-full {
	width: calc(100% - 80px);
	margin: 0 0 60px 80px;
}

.width-full.actualite {
	padding: 0 0 60px 0;
}

.width-full.actualite p { padding-bottom: 30px; }

.width-max {
	display: table;
	position: relative;
	width: 80%;
	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: 50px; }
.padding-top-mobil { padding-top: 0px; }
.padding-bottom { padding-bottom: 50px; }
.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: var(--color-gris-fonce); }
.color-background-tonique { background-color: var(--color-projet-tonique); }

/* COLOR // TYPO */
.color-typo-green { color: var(--color-selecteur-dispo); }

/* BORDER */
.border-radius { border-radius: 6px; overflow: hidden;}

/* BOX // WIDTH */
.entier {width: calc((100% / 1) - 60px); padding: 0px 30px; }
.entier-full {width: calc((100% / 1) - 0px); padding: 0px 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; }

/* FONT // FAMILY */
.font-bold, b { font-family: 'bold', sans-serif; }
.font-medium { font-family: 'medium', sans-serif; }
.font-regular { font-family: 'regular', sans-serif; }
.font-light { font-family: 'light', sans-serif; }

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

.left { text-align: left !important; }
.justify { text-align: justify; }
.center { text-align: center; }
.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-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; }

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

/* SEPARATION */
.espace-vide-30 { display: block; height: 30px; }
.espace-vide-60 { display: block; height: 60px; }

/* BANDES */
.bande-20 {	height: 20vh; min-height: 200px; padding: 0 0; transition-duration: 0.4s; }
.bande-30 {	height: 30vh; min-height: 300px; padding: 0 0; transition-duration: 0.4s; }
.bande-50 {	height: 50vh; min-height: 500px; padding: 0 0; transition-duration: 0.4s; }

@media screen and (min-width: 1300px) {
	.bande-20 {	height: 20vh; min-height: 200px; padding: 0 0; }
	.bande-30 {	height: 30vh; min-height: 300px; padding: 0 0; }
	.bande-50 {	height: 80vh; min-height: 500px; padding: 0 0; }
}

/* TEXTES */

p, a, h1, h2, h3, h4, h5 { color: var(--color-gris-fonce); }

p {
	font-family: 'regular', sans-serif;
	color: var(--color-gris-fonce);
	padding: 10px 0;
	font-size: 16px;
	line-height: 30px;
}

p.deux-colonnes {
	text-align: justify;
	column-count: 2;
	column-gap: 30px;
	margin: 0 0 60px 0;
}

p.intervenants {
	text-align: justify;
	font-size: 16px;
	line-height: 32px;
}

p.contact {
	font-size: 18px;
	line-height: 28px;
	color: var(--color-projet-tonique);
}

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

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

a.bouton-image {
	position: relative;
	display: block;
	width: calc(100% - 100px);
	background-color: var(--color-projet-tonique);
	font-family: 'bold', sans-serif;
	font-size: 1.2vw;
	line-height: 1.6vw;
	color: var(--color-white);
	text-transform: uppercase;
	padding: 15px 15px 15px 85px;
	letter-spacing: 0.1vw;
	transition-duration: 0.4s;
}

a.bouton-image:hover {
	background-color: var(--color-gris-moyen);
}

a.bouton-image span {
	display: block;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}

a.bouton-image span img {
	width: 30px;
}

sup { line-height: 0px; }

h2 {
	font-family: 'regular', sans-serif;
	font-size: 2.4vw;
	line-height: 2.8vw;
	text-transform: uppercase;
	color: var(--color-gris-clair);
	letter-spacing: 0.6vw;
	padding: 0px 0 60px 0;
}

.border-center { box-shadow: 0px -80px 0 0 white; }
.border-right { box-shadow: 500px -80px 0 0 white, 0px -80px 0 0 white; }
.border-left { box-shadow: -500px -80px 0 0 white, 0px -80px 0 0 white; }

h3 {
	font-family: 'regular', sans-serif;
	font-size: 2.2vw;
	line-height: 2.8vw;
	color: var(--color-projet-tonique);
	padding: 0 0 30px 0;
	letter-spacing: 0.07vw;
}

h4 {
	font-family: 'regular', sans-serif;
	font-size: 1.2vw;
	line-height: 1.8vw;
	text-transform: uppercase;
	color: var(--color-projet-tonique);
	padding: 0 0 30px 0;
	letter-spacing: 1vw;
}

h5 {
	font-family: 'regular', sans-serif;
	font-size: 1vw;
	line-height: 1.6vw;
	text-transform: uppercase;
	color: var(--color-gris-clair);
	padding: 0 0 30px 0;
	letter-spacing: 0.2vw;
}

/* INTRODUCTION */

html.accueil #introduction {
	position: relative;
	width: calc(100% - 160px);
	margin: 0 auto;
	height: 80vh;
	display: flex;
}

#introduction {
	position: relative;
	width: calc(100% - 160px);
	margin: 0 auto;
	height: 50vh;
	min-height: 400px;
	display: flex;
}

#intro-gauche {
	width: auto;
	height: 100%;
	z-index: 1;
}

#intro-droite {
	width: auto;
	flex: 1;
	height: 100%;
	z-index: 1;
}

#intro-gauche ul.identite {
	display: table;
	width: 100%;
	position: relative;
	background-color: var(--color-projet-tonique);
}

#intro-gauche ul.identite li {
	display: table-row;
	position: relative;
	width: 100%;
	text-align: center;
}

#intro-gauche ul.identite li:nth-child(1) img {
	width: 300px;
	padding: 30px 50px;
}

#intro-gauche ul.identite li:nth-child(2) {
	display: none;
}

#intro-gauche ul.identite li:nth-child(2) img {
	width: 30px;
	padding: 10px;
}

#intro-gauche ul.identite li:nth-child(2) img:nth-child(1) { display: none; }
#intro-gauche ul.identite li:nth-child(2) img:nth-child(2) { display: inline-block; }

#intro-gauche ul.identite li:nth-child(2).active img:nth-child(1) { display: inline-block;; }
#intro-gauche ul.identite li:nth-child(2).active img:nth-child(2) { display: none; }


#intro-gauche a.video {
	display: block;
	background-color: var(--color-white);
	text-align: center;
	cursor: pointer;
	transition-duration: 0.2s;
}

#intro-gauche a.video p {
	display: inline-block;
	background-color: var(--color-white);
	font-family: 'bold', sans-serif;
	font-size: 16px;
	line-height: 20px;
	text-transform: uppercase;
	color: var(--color-projet-tonique);
	padding: 20px 10px;
	letter-spacing: 4px;
	vertical-align: middle;
}

#intro-gauche a.video p img {
	width: 25px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 20px 0 0;
	transition-duration: 0.2s;
}

#intro-gauche a.video:hover p img { margin: 0 30px 0 0; }

ul.selecteur-galerie {
	position: relative;
	width: 100%;
	display: inline-block;
	table-layout: fixed;
	text-align: center;
	margin: 20px 0;
}

ul.selecteur-galerie li {
	display: inline-block;
}

ul.selecteur-galerie li span {
	display: inline-block;
	width: 26px;
	height: 26px;
	background-color: var(--color-white);
	margin: 12px 4px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 5px white;
	transition-duration: 0.4s;
}

ul.selecteur-galerie li.active span {
	background-color: var(--color-projet-tonique);
}

ul.selecteur-galerie li:hover span {
	background-color: rgba(255,255,255,0.5);
	cursor: pointer;
}

ul.selecteur-galerie li:last-of-type {
	width: auto;
}

ul.selecteur-galerie li:last-of-type span {
	background-image: url('../svg/picto-suivant-light.svg');
	background-size: 7px;
	background-position: center;
	box-shadow: none;
}

/* ACTU */

#actu {
	position: absolute;
	top: 70%;
	right: -100vw;
	width: 30%;
	min-width: 300px;
	height: auto;
	transform: translate(0%, -50%);
	background-color: var(--color-white);
	padding: 40px 0 40px 40px;
	z-index: 2;
	transition-duration: 0.8s;
}

#actu.open {
	right: 0%;
}

#actu p.annonce {
	font-size: 20px;
	line-height: 28px;
	color: var(--color-projet-tonique);
	padding: 0 0 20px 0;
}

#actu ul {
	display: table;
	width: 100%;
}

#actu ul li {
	display: table-cell;
	vertical-align: middle;
	padding: 0; margin: 0;
}

#actu ul li p  {
	margin: 0px;
	padding: 0px;
}

#actu ul li:nth-child(2) p  {
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 2px;
	color: var(--color-projet-tonique);
	text-transform: uppercase;
	margin: 0 20px;
}

#actu ul li p img  {
	display: block;
	vertical-align: middle;
}

/* TIMELINE */

ul#timeline-actu {
	position: relative;
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 0 0 50px 0;
}

ul#timeline-actu li {
	position: relative;
	display: table-cell;
	width: 100%;
	text-align: center;
}

ul#timeline-actu li span.rond {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 30px;
	box-shadow: inset 0 0 0 4px var(--color-gris-clair);
	border-radius: 50%;
	background-color: white;
	transition-duration: 0.4s;
}

ul#timeline-actu li:hover span.rond {
	box-shadow: inset 0 0 0 4px var(--color-projet-tonique);
	background-color: var(--color-projet-tonique);
}

ul#timeline-actu li span.date {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	font-family: 'regular', sans-serif;
	font-size: 12px;
	line-height: 16px;
	transform: translate(-50%, -250%);
	color: var(--color-projet-tonique);
	opacity: 0;
	transition-duration: 0.4s;
	letter-spacing: 2px;
}

ul#timeline-actu li:hover span.date {
	opacity: 1;
}

ul#timeline-actu li.active span.rond {
	box-shadow: inset 0 0 0 4px var(--color-projet-tonique);
	background-color: var(--color-projet-tonique);
}

ul#timeline-actu li.active span.date {
	opacity: 1;
}

/* TABLEAUX */

table.liste-a-puce, table.liste-a-puce-horiz {
	position: relative;
	width: 100%;
}

table.liste-a-puce p img, table.liste-a-puce-horiz p img {
	width: 1.8vw;
}

table.liste-a-puce tr td, table.liste-a-puce-horiz tr td {
	vertical-align: top;
	padding: 10px 5px 30px 5px;
}

table.liste-a-puce tr td p { padding: 0; margin: 0; }

table.liste-a-puce tr td:nth-child(2) p {
	font-size: 1.2vw;
	line-height: 1.8vw;
	color: var(--color-projet-tonique);
}

table.liste-a-puce-horiz tr p {
	font-size: 0.8vw;
	line-height: 1.4vw;
	text-transform: uppercase;
	color: var(--color-projet-tonique);
}

table.liste-a-puce-horiz tr td p { text-align: center; }
table.liste-a-puce-horiz tr td:nth-child(2n) p { text-align: left; }

/* FOOTER */

table.footer {
	width: 100%;
	table-layout: fixed;
	vertical-align: top;
}

table.footer tr td {
	padding: 40px;
	vertical-align: top;
}

/* MENU PRINCIPAL */

ul#menu-principal {
	display: table;
	width: 90%;
	height: 80px;
	table-layout: auto;
	background-color: var(--color-white);
	padding-left: 10%;
}

ul#menu-principal li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

ul#menu-principal li a {
	text-transform: uppercase;
	font-size: 0.8vw;
	line-height: 1vw;
	font-family: 'bold', sans-serif;
	letter-spacing: 0.2vw;
	color: var(--color-projet-tonique);
}

ul#menu-principal li.separation span {
	display: inline-block;
	vertical-align: middle;
	width: 2px;
	background-color: var(--color-projet-tonique);
	height: 10px;
}

/* MENU COLLANT */

ul#menu-collant {
	display: table;
	position: fixed;
	top: -100vh;
	background-color: var(--color-projet-tonique);
	width: 90vw;
	margin: 0 auto;
	z-index: 10;
	transition-duration: 0.8s;
	padding: 0 5vw;
}

ul#menu-collant.show {
	top: 0vh;
}

ul#menu-collant li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	height: 80px;
}

ul#menu-collant li a.open-menu-collant,
ul#menu-collant li a.close-menu-collant {
	display: none;
}

ul#menu-collant li a {
	display: inline-block;
	text-transform: uppercase;
	font-size: 0.8vw;
	line-height: 1vw;
	font-family: 'bold', sans-serif;
	letter-spacing: 0.2vw;
	color: var(--color-white);
	vertical-align: middle;
}

ul#menu-collant li a img {
	display: inline-block;
	vertical-align: middle;
}

ul#menu-collant li.separation span {
	display: inline-block;
	vertical-align: middle;
	width: 2px;
	background-color: var(--color-white);
	height: 10px;
}
/*
ul#menu-collant li.separation:last-child span {
	background-color: var(--color-projet-tonique);
}
*/
html.selecteur ul#menu-collant {
	top: 0vh !important;
}

/* SELECTEUR */

#selecteur-iframe {
	position: absolute;
	width: 100vw;
	height: 100vh;
	top: 0px;
	left: 0px;
	background-color: grey;
}

/* GALERIES */

ul.galerie-image {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

ul.galerie-image li {
	position: absolute;
	left: 100%;
	width: 100%;
	height: 100%;
	transition-duration: 0.4s;
	background-size: cover;
	background-position: center;
}

ul.galerie-image li.active {
	left: 0px;
}

/* GALERIE VIDEO */

#galerie-video {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: black;
	z-index: 10000;
	transform: translateY(-200vh);
	transition-duration: 0.3s;
}

#galerie-video.open {
	transform: translateY(0vh);
}

#galerie-video video {
	width: 100vw;
	height: 100vh;
}

div.bouton-close {
	position: absolute;
	top: 30px;
	right: 30px;
	width: 80px;
	height: 80px;
	background-color: white;
	background-image: url('../svg/picto-close.svg');
	background-size: 30px;
	background-position: center;
	box-shadow: 0 0 0 0 var(--color-projet-tonique);
	cursor: pointer;
	transition-duration: 0.4s;
	border-radius: 50%;
}

div.bouton-close:hover {
	box-shadow: 0 0 0 10px var(--color-projet-tonique);
}

/* GALERIE IMAGE */

#galerie-image {
	position: fixed;
	width: 100vw;
	height: 100vh;
	background-color: white;
	z-index: 10000;
	transform: translateY(-200vh);
	transition-duration: 0.3s;
}

#galerie-image.open {
	transform: translateY(0vh);
}

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

#galerie-image ul#images li {
	position: absolute;
	display: none;
	top: 0px;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-color: white;
}

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

#galerie-image ul#images li span {
	display: inline-block;
	position: absolute;
	top: 10vh;
	left: 50vw;
	transform: translate(-50%, 0%);
	background-color: white;
	color: var(--color-projet-tonique);
	padding: 10px 20px;
	border-radius: 20px;
	text-transform: uppercase;
	font-size: 14px;
	line-height: 20px;
	font-family: 'regular', sans-serif;
	letter-spacing: 0.2vw;
}

#galerie-image ul#vignettes {
	position: absolute;
	text-align: center;
	bottom: 30px;
	display: table;
	width: 80%;
	margin: 0 10%;
	height: 80px;
	border: none;
	transform: translateY(3px);
}

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

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

#galerie-image ul#vignettes li.active {
	width: 80px;
	box-shadow: inset 0 0 0 5px var(--color-projet-tonique);
	cursor: default;
}

#galerie-image #bouton-avant, #galerie-image #bouton-apres {
	position: absolute;
	display: block;
	bottom: 30px;
	width: 80px;
	height: 80px;
	background-color: white;
	cursor: pointer;
	background-position: 50% center;
	background-size: 30px;
	transition-duration: 0.4s;
	border-radius: 50%;
}

#galerie-image #bouton-avant {
	left: 30px;
	background-image: url('../svg/picto-precedant.svg');
	box-shadow: 0 0 0 0px var(--color-projet-tonique);
}

#galerie-image #bouton-apres {
	right: 30px;
	background-image: url('../svg/picto-suivant.svg');
	box-shadow: 0 0 0 0px var(--color-projet-tonique);
}

#galerie-image #bouton-avant:hover,
#galerie-image #bouton-apres:hover { box-shadow: 0 0 0 10px var(--color-projet-tonique); }

a.fermeture {
	display: block;
	position: absolute;
	top: 100px;
	right: 50px;
	width: 2vw;
	height: 2vw;
	min-width: 20px; min-height: 20px;
	max-width: 40px; max-height: 40px;
	border-radius: 50%;
	background-color: white ;
	box-shadow: 0 0 0 2px var(--color-projet-corpo);
	transition-duration: 0.2s;
	background-image: url('../svg/picto-close.svg');
	background-size: 70%;
	background-position: center;
	background-repeat: no-repeat;
	transform: rotate(0deg);
	z-index: 1;
}

#galerie-round {
	position: fixed;
	top: -200vh;
	left: 0px;
	width: 100vw;
	height: 100vh;
	box-shadow: inset 0 0 0 20px var(--color-projet-corpo);
	background-color: white;
	z-index: 7;
	transition-duration: 1s;
	background-size: cover;
	background-position: 50%;
	background-color: var(--color-projet-corpo);
}

#galerie-round.open {
	top: 0vh;
}

#galerie-round iframe {
	position: absolute;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	top: 20px;
	left: 20px;
	box-shadow: inset 0 0 0 20px var(--color-projet-corpo);
}