/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

html {
	font-size:var(--font-size-html);
	scroll-behavior: smooth;
}
.screen-reader-text {
	display: none;
}
*:focus, *:active, *:visited {
	outline: none!important;
}
body {
	overflow-x: hidden;
	overflow-y:auto;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	position: relative;
}
ol {
    color: var(--gris-2);
}


body.open {
	overflow: hidden;
}
/** module animations aux scroll*/
/*
.tfi {
	opacity: 0;
	transition-property: opacity;
	transition-duration: 0.6s;
	transition-delay: 0s;
}
.tfi .tfi {
	transition-duration: 0.6s;
	transition-delay: 0.6s;
}
.tfi.in-view {
	opacity: 1;
}*/
.modaal-content-container #mouse-circle,
.modaal-content-container #top_header,
.modaal-content-container #site-header,
.modaal-content-container #site-footer,
.modaal-content-container .breadcrumb,
.modaal-content-container  #sub_footer{
	display:none;
}
.modaal-content-container  #main  {
	padding-top: 0;
}
/*module transitions*/
.ease, .ease:before, .ease:after{
	-webkit-transition:var(--ease);
	-o-transition:var(--ease);
	transition:var(--ease);
}
/** modules classes utiles*/
.tac {
	text-align:center;
}
.relative {
	position:relative;
}
.ov_h{
  overflow:hidden;	
}
.pad0 {
	padding: 0;
}
.padTop0 {
	padding-top: 0;
}
.padBot0 {
	padding-bottom: 0;
}
.mt_0{
	margin-top:0;
}

.full_pad {
	padding:var(--container-full-pad);
}
.margin_top {
	margin-top:var(--big-space-v);
}
.padding_top {
	padding-top:var(--big-space-v);
}
.margin_bottom {
	margin-bottom:var(--big-space-v);
}	
.padding_bottom {
	padding-bottom:var(--big-space-v);
}
@media(max-width:979px) {
	.s-pad {
		padding-left:var(--big-space-h);
		padding-right:var(--big-space-h);
	}
	.s-nopad {
		padding-left:0!important;
		padding-right:0!important;
	}
	.desktop_only {
		display:none;
	}
}
@media(min-width:980px) {
	.l-pad {
		padding-left:var(--big-space-h);
		padding-right:var(--big-space-h);
	}
	.l-nopad {
		padding-left:0!important;
		padding-right:0!important;
	}
	.mobile_only {
		display:none;
	}
}
.under {
	position: absolute;
	z-index: 0;
	overflow: hidden;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.under img {
	display: block;
	min-width: 100%;
	min-height: 100%;
	max-width: none;
	-o-object-fit: cover;
	   object-fit: cover;
	position:absolute;
	top:50%;
	left:50%;
	z-index:1;
	-webkit-transform:translate3d(-50%,-50%,0);
	        transform:translate3d(-50%,-50%,0);
}
@media(min-width:980px) {
	.desktop_covered {
		position:relative;
		overflow:hidden;
	}
	.desktop_covered img{
		display: block;
		min-width: 100%;
		min-height: 100%;
		max-width: none;
		-o-object-fit: cover;
		   object-fit: cover;
		position:absolute;
		top:50%;
		left:50%;
		z-index:1;
		-webkit-transform:translate3d(-50%,-50%,0);
		        transform:translate3d(-50%,-50%,0);
	}
}
.over {
	position: relative;
	z-index: 0;
	overflow: hidden;
	background: rgba(0,0,0,0.5);
}
.cover {
	position: relative;
}
.radius {
	border-radius:var(--box-radius);
	overflow: hidden;
}
.deborde {
	max-width: none;
}
.cover_link {
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	width:100%;
	height:100%;
}
.hide_text_link {
	font-size:0;
	color:rgba(255,255,255,0);
}
.grid,
.grid-s3 {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--space-teaser) 1fr var(--space-teaser) 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: var(--space-teaser);
	grid-row-gap: var(--space-teaser);
}
.grid-s2 {
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;	
}
.grid-s1 {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;	
}
@media(min-width:480px) {
	.grid-m2{
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;	
	}
}
@media(min-width:980px) {
	.grid-l3{
		-ms-grid-columns: 1fr 1fr 1fr;
		grid-template-columns: 1fr 1fr 1fr;	
	}
}
.flex-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.flex-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.flex-grow {
    flex-grow:1;
}
.flex-wrap {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.flex-aic {
	-webkit-box-align:center;
	    -ms-flex-align:center;
	        align-items:center;
}
.flex-aifs {
	-webkit-box-align:start;
	    -ms-flex-align:start;
	        align-items:flex-start;
}
.flex-aife {
	-webkit-box-align:end;
	    -ms-flex-align:end;
	        align-items:flex-end;
}
.flex-ais {
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.flex-jcc {
	-webkit-box-pack:center;
	    -ms-flex-pack:center;
	        justify-content:center;
}
.flex-jcfs {
	-webkit-box-pack:start;
	    -ms-flex-pack:start;
	        justify-content:flex-start;
}
.flex-jcfe {
	-webkit-box-pack:end;
	    -ms-flex-pack:end;
	        justify-content:flex-end;
}
.flex-jcs {
	-webkit-box-pack:stretch;
	    -ms-flex-pack:stretch;
	        justify-content:stretch;
}
.flex-jcsb {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.flex-jcsa {
	-ms-flex-pack: distribute;
	    justify-content: space-around;
}
.flex-jcse {
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
}
.between {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.flex-column.gauche {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.flex-column.droit {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.flex-just-start {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: start;
}
.flex-full {
	-webkit-box-pack: stretch;
	    -ms-flex-pack: stretch;
	        justify-content: stretch;
}
.flex-start {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.flex-row.bas {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.flex-row.haut {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.flex-row.flex-gauche {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
.flex-row.flex-droit {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.flex-centre {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.flex-row.flex-stretch, 
.flex-stretch {
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.w-100 {
	width: 100%;
}
.w1-6 {
	width: calc(100% / 6 - var(--space-h));
}
.w-20, .w1-5 {
	width: calc(20% - var(--space-h));
}
.w-25 {
	width: calc(25% - var(--space-h));
}
.w-30 {
	width: calc(30% - var(--space-h));
}
.w1-3, .w-33 {
	width: calc(100% / 3 - var(--space-h));
	margin-bottom:calc(1.5 * var(--space-h));
}
.w-40 {
	width: calc(40% - var(--space-h));
}
.w-50 {
	width: calc(50% - var(--space-h));
}
.w-60 {
	width: calc(60% - var(--space-h));
}
.w-66, .w2-3 {
	width: calc(200% / 3 - var(--space-h));
}
.w-70 {
	width: calc(70% - var(--space-h));
}
.w-75 {
	width: calc(75% - var(--space-h));
}
.w1-2 {
	width: calc(50% - var(--space-h));
}
.real-25 {
	width: calc(25% - var(--space-h));
}
.real-33 {
	width: calc(100% / 3 - var(--space-h));
}
.real-40 {
	width: calc(45% - var(--space-h));
}
.real-50 {
	width: calc(50% - var(--space-h));
}
.real-60 {
	width: calc(55% - var(--space-h));
}
.real-66 {
	width: calc(200% /3 - var(--space-h));
}
.real-70 {
	width: calc(70% - var(--space-h));
}
.real-75 {
	width: calc(75% - var(--space-h));
}
.flex-stretch > * {
	margin-top: 0!important;
	margin-bottom: 0!important;
}
@media(max-width:479px) {
	.xxs-w100 {
		width: 100%;
	}
    .xxs-column {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
            -ms-flex-direction:column;
                flex-direction:column;
    }
    .xxs-row {
        -webkit-box-orient:horizontal;
        -webkit-box-direction:normal;
            -ms-flex-direction:row;
                flex-direction:row;
    }
}
@media(min-width:480px) and (max-width:639px) {
	.xs-w1-2 {
		width: calc(50% - var(--space-h));
	}
}
@media(min-width:640px) and (max-width:979px) {
	.sm-w1-3 {
		width: calc(100% / 3 - var(--space-h));
	}
}
@media(min-width:480px) and (max-width:767px) {
	.xsm-w1-2 {
		width: calc(50% - var(--space-h));
	}
}
@media(min-width:768px) and (max-width:1279px) {
	.m-w1-3 {
		width: calc(100% / 3 - var(--space-h));
	}
}
@media(min-width:480px) and (max-width:979px) {
	.sm-w1-2 {
		width: calc(50%  - var(--space-h));
	}
}
@media(max-width:979px) {
	.container > .s-w100 + .s-w100 {
		margin-top:var(--space-v);
	}
}
@media(max-width:1279px) {
	.m-w100 {
		width: 100%;
	}
	.m-block {
		display: block;
	}
	.m-pad0 {
		padding: 0;
	}
}
@media(max-width:1023px) {
	.s-block {
		display: block;
	}
	.s-pad0 {
		padding: 0;
	}
	.s-w50 {
		width: calc(50% - var(--space-h));
	}
	.s-w100 {
		width: 100%;
	}
}
@media(max-width:639px) {
	.xs-w100 {
		width: 100%;
	}
	.xs-block {
		display: block;
	}
	.xs-pad0 {
		padding: 0;
	}
}