/* normalize.css v8.0.1 */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

*,
*:after,
*:before {
	box-sizing: border-box;
}

a {outline:0 !important; text-decoration: none;}

/* LARGEURS SECTION 
**************************************************************/
.w-100 {margin-left:auto; margin-right:auto; width:100%;}
.w-r90, .w-s90 {margin:0; max-width:90%; width:100%;}
.w-L90 {margin:0 0 0 10%; max-width:90%; width:100%;}
.w-90 {margin-left:auto; margin-right:auto; width:calc(100% - 10vw);}
.w-85 {margin-left:auto; margin-right:auto; width:calc(100% - 15vw);}
.w-80 {margin-left:auto; margin-right:auto; width:calc(100% - 20vw);}
.w-75 {margin-left:auto; margin-right:auto; width:calc(100% - 25vw);}
.w-70 {margin-left:auto; margin-right:auto; width:calc(100% - 30vw);}
.w-60 {margin-left:auto; margin-right:auto; width:calc(100% - 40vw);}
.w-50 {margin-left:auto; margin-right:auto; width:calc(100% - 50vw);}


@media only screen and (min-width: 320px) and (max-width: 480px) {
	.w-50, .w-60, .w-70, .w-75 ,.w-80 {
		margin-left:auto; 
		margin-right:auto; 
		width:calc(100% - 15vw);
	}
}

@media only screen and (min-width: 481px) and (max-width: 1023px) {
	.w-50, .w-60, .w-70, .w-75 ,.w-80 {
		margin-left:auto; 
		margin-right:auto; 
		width:calc(100% - 15vw);
	}
}

/* VH HEIGHT 
**************************************************************/
.h_30vh {height: 30vh;}
.h_40vh {height: 40vh;}
.h_50vh {height: 50vh;}
.h_60vh {height: 60vh;}
.h_65vh {height: 65vh;}
.h_70vh {height: 70vh;}
.h_75vh {height: 75vh;}
.h_80vh {height: 80vh;}
.h_85vh {height: 85vh;}
.h_90vh {height: 90vh;}
.h_100vh {height: 100vh;}


/* ================================================================
 * LAYOUT
 * ============================================================== */
.pos-r {position: relative;}
.pos-a {position: absolute;}
.pos-f {position: fixed;}
.dFlex {display: flex;}

.grid {
	display: flex;
  	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
  	min-width: 100%;
	/*box-sizing: border-box;*/
}

/* Quickly set flex-direction: row */
.grid-d-row {
	flex-direction: row;
}
/* Quickly set flex-direction: column */
.grid-d-col {
	flex-direction: column;
}

.justify-left {justify-content: flex-start;}
.justify-center {justify-content: center;}
.justify-right {justify-content: flex-end;}

.v-top {align-content: flex-start;}
.v-center {align-content: center;}
.v-bot {align-content: flex-end;}

.align-top {align-items: flex-start;}
.align-center {align-items: center;}
.align-bot {align-items: flex-end;}


/* ================================================================
 * Largeurs Col Classes
 * ============================================================== */
[class*=col-], [class*=sm-], [class*=md-], [class*=lg-] {
	padding: 15px;
}
/* Sizing classes for columns */
.col-12 {flex: 0 0 100%; max-width: 100%;}
.col-11 {flex: 0 0 91.66666667%; max-width: 91.66666667%;}
.col-10 {flex: 0 0 83.33333333%; max-width: 83.33333333%;}
.col-9 {flex: 0 0 75%; max-width: 75%;}
.col-8 {flex: 0 0 66.66666667%; max-width: 66.66666667%;}
.col-7 {flex: 0 0 58.33333333%; max-width: 58.33333333%;}
.col-6 {flex: 0 0 50%; max-width: 50%;}
.col-5 {flex: 0 0 41.66666667%; max-width: 41.66666667%;}
.col-4 {flex: 0 0 33.33333333%; max-width: 33.33333333%;}
.col-3 {flex: 0 0 25%; max-width: 25%;}
.col-2 {flex: 0 0 16.66666667%; max-width: 16.66666667%;}
.col-1 {flex: 0 0 8.33333333%; max-width: 8.33333333%;}
.col-auto {flex: 1;}

.grid .order-1 {order:1;}
.grid .order-2 {order:2;}
.grid .order-3 {order:3;}
.grid .order-4 {order:4;}
.grid .order-5 {order:5;}
.grid .order-6 {order:6;}


/* ================================================================
 * NO GUTTERS
 * ============================================================== */
.no-gutters {
 	margin-left: 0;
	margin-right: 0;
}
.no-gutters > [class*=col-],
.no-gutters > [class*=sm-],
.no-gutters > [class*=md-],
.no-gutters > [class*=lg-] {
 	padding: 0;
}


/* ================================================================
 * GUTTERS-10
 * ============================================================== */
.gutters-10 {
 	margin-left: -10px;
	margin-right: -10px;
}
.gutters-10 > [class*=col-],
.gutters-10 > [class*=sm-],
.gutters-10 > [class*=md-],
.gutters-10 > [class*=lg-] {
 	padding: 10px;
}

/* ================================================================
 * GUTTERS-5
 * ============================================================== */
.gutters-5 {
 	margin-left: -5px;
	margin-right: -5px;
}
.gutters-5 > [class*=col-],
.gutters-5 > [class*=sm-],
.gutters-5 > [class*=md-],
.gutters-5 > [class*=lg-] {
 	padding: 5px;
}


/* ================================================================
 * COLONNES HAUTEUR EGALE
 * ============================================================== */
.grid--stretch > [class*=col-],
.grid--stretch > [class*=sm-],
.grid--stretch > [class*=md-],
.grid--stretch > [class*=lg-] {
	display: flex;
}


/* ================================================================
 * alignement des colonnes
 * ============================================================== */
.col-top {align-self: flex-start;}
.col-center {align-self: center;}
.col-bot {align-self: flex-end;}


/* ================================================================
 * Responsive Col Classes
 * ============================================================== */

/* Smartphone MODE PORTRAIT
*******************************************************************/
@media only screen and (min-width: 320px) and (max-width: 480px) {
	.grid [class*=col-] {
		flex: 0 1 100%;
		max-width: 100%; 
	}
	.sm-12 {flex: 0 0 100%; max-width: 100%;}
	.sm-11 {flex: 0 0 91.66666667%; max-width: 91.66666667%;}
	.sm-10 {flex: 0 0 83.33333333%; max-width: 83.33333333%;}
	.sm-9 {flex: 0 0 75%; max-width: 75%;}
	.sm-8 {flex: 0 0 66.66666667%; max-width: 66.66666667%;}
	.sm-7 {flex: 0 0 58.33333333%; max-width: 58.33333333%;}
	.sm-6 {flex: 0 0 50% !important; max-width: 50% !important;}
	.sm-5 {flex: 0 0 41.66666667%; max-width: 41.66666667%;}
	.sm-4 {flex: 0 0 33.33333333%; max-width: 33.33333333%;}
	.sm-3 {flex: 0 0 25%; max-width: 25%;}
	.sm-2 {flex: 0 0 16.66666667%; max-width: 16.66666667%;}
	.sm-1 {flex: 0 0 8.33333333%; max-width: 8.33333333%;}
	
	.order-sm-1 {order:1;}
	.order-sm-2 {order:2;}
	.order-sm-3 {order:3;}
	.order-sm-4 {order:4;}
	.order-sm-5 {order:5;}
	.order-sm-6 {order:6;}
}

/* Smartphone MODE PAYSAGE + Tablette MODE PORTRAIT
*******************************************************************/
@media only screen and (min-width: 481px) and (max-width: 1023px) {
	.md-12 {flex: 0 0 100%; max-width: 100%;}
	.md-11 {flex: 0 0 91.66666667%; max-width: 91.66666667%;}
	.md-10 {flex: 0 0 83.33333333%; max-width: 83.33333333%;}
	.md-9 {flex: 0 0 75%; max-width: 75%;}
	.md-8 {flex: 0 0 66.66666667%; max-width: 66.66666667%;}
	.md-7 {flex: 0 0 58.33333333%; max-width: 58.33333333%;}
	.md-6 {flex: 0 0 50%; max-width: 50%;}
	.md-5 {flex: 0 0 41.66666667%; max-width: 41.66666667%;}
	.md-4 {flex: 0 0 33.33333333%; max-width: 33.33333333%;}
	.md-3 {flex: 0 0 25%; max-width: 25%;}
	.md-2 {flex: 0 0 16.66666667%; max-width: 16.66666667%;}
	.md-1 {flex: 0 0 8.33333333%; max-width: 8.33333333%;}
	
	.order-md-1 {order:1;}
	.order-md-2 {order:2;}
	.order-md-3 {order:3;}
	.order-md-4 {order:4;}
	.order-md-5 {order:5;}
	.order-md-6 {order:6;}
}

/* Tablette MODE PAYSAGE / LAPTOP MIN
********************************************************************/
@media only screen and (min-width: 1024px) and (max-width: 1368px) {
	.lg-12 {flex: 0 0 100%; max-width: 100%;}
	.lg-11 {flex: 0 0 91.66666667%; max-width: 91.66666667%;}
	.lg-10 {flex: 0 0 83.33333333%; max-width: 83.33333333%;}
	.lg-9 {flex: 0 0 75%; max-width: 75%;}
	.lg-8 {flex: 0 0 66.66666667%; max-width: 66.66666667%;}
	.lg-7 {flex: 0 0 58.33333333%; max-width: 58.33333333%;}
	.lg-6 {flex: 0 0 50%; max-width: 50%;}
	.lg-5 {flex: 0 0 41.66666667%; max-width: 41.66666667%;}
	.lg-4 {flex: 0 0 33.33333333%; max-width: 33.33333333%;}
	.lg-3 {flex: 0 0 25%; max-width: 25%;}
	.lg-2 {flex: 0 0 16.66666667%; max-width: 16.66666667%;}
	.lg-1 {flex: 0 0 8.33333333%; max-width: 8.33333333%;}
	
	.order-lg-1 {order:1;}
	.order-lg-2 {order:2;}
	.order-lg-3 {order:3;}
	.order-lg-4 {order:4;}
	.order-lg-5 {order:5;}
	.order-lg-6 {order:6;}
}

/* Tablette MODE PAYSAGE / LAPTOP MIN
********************************************************************/
@media only screen and (min-width: 1369px) and (max-width: 1440px) {
	.xl-12 {flex: 0 0 100%; max-width: 100%;}
	.xl-11 {flex: 0 0 91.66666667%; max-width: 91.66666667%;}
	.xl-10 {flex: 0 0 83.33333333%; max-width: 83.33333333%;}
	.xl-9 {flex: 0 0 75%; max-width: 75%;}
	.xl-8 {flex: 0 0 66.66666667%; max-width: 66.66666667%;}
	.xl-7 {flex: 0 0 58.33333333%; max-width: 58.33333333%;}
	.xl-6 {flex: 0 0 50%; max-width: 50%;}
	.xl-5 {flex: 0 0 41.66666667%; max-width: 41.66666667%;}
	.xl-4 {flex: 0 0 33.33333333%; max-width: 33.33333333%;}
	.xl-3 {flex: 0 0 25%; max-width: 25%;}
	.xl-2 {flex: 0 0 16.66666667%; max-width: 16.66666667%;}
	.xl-1 {flex: 0 0 8.33333333%; max-width: 8.33333333%;}
	
	.order-xl-1 {order:1;}
	.order-xl-2 {order:2;}
	.order-xl-3 {order:3;}
	.order-xl-4 {order:4;}
	.order-xl-5 {order:5;}
	.order-xl-6 {order:6;}
}

/* ================================================================
 * MARGIN LEFT COLONNE
 * ============================================================== */
.grid .ml-1  {margin-left: 8.33333333%;}
.grid .ml-2  {margin-left: 16.66666667%;}
.grid .ml-3  {margin-left: 25%;}
.grid .ml-4  {margin-left: 33.33333333%;}
.grid .ml-5  {margin-left: 41.66666667%;}
.grid .ml-6  {margin-left: 50%;}
.grid .ml-7  {margin-left: 58.33333333%;}
.grid .ml-8  {margin-left: 66.66666667%;}
.grid .ml-9  {margin-left: 75%;}
.grid .ml-10 {margin-left: 83.33333333%;}
.grid .ml-11 {margin-left: 91.66666667%;}
.grid .ml-10per {margin-left: 10%;}

@media only screen and (min-width: 320px) and (max-width: 480px) {
	.grid [class*=ml-] {
		margin-left: 0;
	}
}

@media only screen and (min-width: 481px) and (max-width: 1023px) {
	.grid .mlmd-0  {margin-left: 0;}
	.grid .mlmd-1  {margin-left: 8.33333333%;}
	.grid .mlmd-2  {margin-left: 16.66666667%;}
	.grid .mlmd-3  {margin-left: 25%;}
	.grid .mlmd-4  {margin-left: 33.33333333%;}
	.grid .mlmd-5  {margin-left: 41.66666667%;}
	.grid .mlmd-6  {margin-left: 50%;}
}

@media only screen and (min-width: 320px) and (max-width: 480px) {
	.grid [class*=mlmd-] {
		margin-left: 0;
	}
}

/* ==============================================
 * Responsive grid classes
 * ============================================ */
.col-top {align-self: flex-start;}
.col-center {align-self: center;}
.col-bot {align-self: flex-end;}

.col-d-row {
	display: flex;
	flex-direction: row;
}
/* Quickly set flex-direction: column */
.col-d-col {
	display: flex;
	flex-direction: column;
}



@media only screen and (min-width : 768px) {
	.grid.grid-sm-row {
    	flex-direction: row;
  	}
  	.grid.grid-sm-col {
    	flex-direction: column;
  	}
}
@media only screen and (min-width : 992px) {
	.grid.grid-md-row {
    	flex-direction: row;
  	}
  	.grid.grid-md-col {
    	flex-direction: column;
  	}
}
@media only screen and (min-width : 1200px) {
  	.grid.grid-lg-row {
    	flex-direction: row;
  	}
  	.grid.grid-lg-col {
    	flex-direction: column;
  	}
}


/* ================================================================
 * IMAGES
 * ============================================================== */

/* Basic
*******************************************************************/
img {
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

/* Ratio Images  
*******************************************************************/
.imgRatio {
	position: relative;
	display: block;
	height: 0;
	overflow: hidden;
}
.ratio-1-1 {padding-top: 100%;}
.ratio-2-1 {padding-top: 50%;}
.ratio-3-1 {padding-top: 33.33%;}
.ratio-3-2 {padding-top: 66.66%;}
.ratio-4-3 {padding-top: 75%;}
.ratio-5-3 {padding-top: 60%;}
.ratio-5-4 {padding-top: 80%;}
.ratio-8-5 {padding-top: 62.5%;}
.ratio-16-9 {padding-top: 56.25%;}
.ratio-21-9 {padding-top: 42.86%;}
.ratio-1-2 {padding-top: 200%;}
.ratio-1-3 {padding-top: 300%;}
.ratio-2-3 {padding-top: 150%;}
.ratio-3-4 {padding-top: 133.33%;}
.ratio-3-5 {padding-top: 166.67%;}
.ratio-4-5 {padding-top: 125%;}
.ratio-5-8 {padding-top: 160%;}
.ratio-9-16 {padding-top: 177.78%;}
.ratio-9-21 {padding-top: 233.33%;}

.imgRatio img {
	position: absolute;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);
}

/* Fullscreen Image Background  
*******************************************************************/
.fs_bg {
	position: relative;
	display: flex;
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	overflow: hidden;
	z-index: 1;
}

/* Filtre Image Background  
*******************************************************************/
.filtre_bg::after {
	content: '';
  	position: absolute;
  	left: 0;
  	top: 0;
  	width: 100%;
  	height: 100%;
  	background: rgb(0,0,0);
    /*background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0,0,0,0) 100%);*/
  	z-index: -1;
  	opacity: 0.6;
}

/* Fullscreen Balise Image   
*******************************************************************/
.flexCover {
  	position: relative;
	display: flex;
  	width: 100%;
  	height: 100vh;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  	overflow: hidden;
}
.flexCover img {
	position: absolute;
  	display: block;
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	opacity: 1;
  	z-index: 0;
}
