/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/** 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;
}
.box_pad {
    padding:var(--box-pad);
}
.box_pad_s {
    padding:var(--box-pad-s);
}
.full_pad {
	padding:var(--container-full-pad);
}
.margin_top {
	margin-top:var(--gap-l);
}
.padding_top {
	padding-top:var(--gap-l);
}
.margin_bottom {
	margin-bottom:var(--gap-l);
}	
.padding_bottom {
	padding-bottom:var(--gap-l);
}
@media(max-width:979px) {
	.s-pad {
		padding-left:var(--gap-m);
		padding-right:var(--gap-m);
	}
	.s-nopad {
		padding-left:0!important;
		padding-right:0!important;
	}
	.desktop_only {
		display:none!important;
	}
}
@media(min-width:980px) {
	.l-pad {
		padding-left:var(--gap-l);
		padding-right:var(--gap-l);
	}
	.l-nopad {
		padding-left:0!important;
		padding-right:0!important;
	}
	.mobile_only {
		display:none!important;
	}
}
.under {
	position: absolute;
	z-index: 0;
	overflow: hidden;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.under img {

	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

@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;
}
.cover {
	position: relative;
}
.radius {
	border-radius:var(--border-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(--gap) 1fr var(--gap) 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: var(--gap);
	grid-row-gap: var(--gap);
}
.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;	
	}
}
.gap,
.gapped {
	gap:var(--gap);
}
.gap-h {
	-webkit-column-gap:var(--gap-h);
	   -moz-column-gap:var(--gap-h);
	        column-gap:var(--gap-h);
}
.gap-v {
	row-gap:var(--gap-v);
}


.gap-h > *,
.gap > *,
.gapped > *,
.gap-v > *,
.gap_m > *, 
.gap_l > *,
.gap-s > * {
    margin-bottom: 0;
    margin-top: 0;
}

.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 {
    -webkit-box-flex:1;
        -ms-flex-positive:1;
            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;
}
.gap-s,
.gap_s{
    gap:var(--gap-s);
    --space-h: var(--gap-s);
    --space-v: var(--gap-s);
}
.gap {
	gap:var(--gap);
	--space-h: var(--gap);
	--space-v: var(--gap);
}
.gap-m,
.gap_m {
    gap:var(--gap-m);
    --space-h: var(--gap-m);
    --space-v: var(--gap-m);
}
.gap-l,
.gap_l {
    gap:var(--gap-l);
    --space-h: var(--gap-l);
    --space-v: var(--gap-l);
}
.gap-xl,
.gap_xl  {
	gap:var(--gap-xl);
    --space-h: var(--gap-xl);
    --space-v: var(--gap-xl);
}
:root {
    --total-space-h:var(--space-h);
}
.cols_1 {
    --total-space-h:0;
}
.cols_2 {
    --total-space-h:var(--space-h);
}
.cols_3 {
    --total-space-h:calc(2 * var(--space-h));
}
.cols_4 {
    --total-space-h:calc(3 * var(--space-h));
}
.cols_5 {
    --total-space-h:calc(4 * var(--space-h));
}
.cols_6 {
    --total-space-h:calc(5 * var(--space-h));
}
.cols_7 {
    --total-space-h:calc(6 * var(--space-h));
}
.cols_8 {
    --total-space-h:calc(7 * var(--space-h));
}
.cols_9 {
    --total-space-h:calc(8 * var(--space-h));
}
.cols_10 {
    --total-space-h:calc(9 * var(--space-h));
}
.cols_11 {
    --total-space-h:calc(10 * var(--space-h));
}
.cols_12 {
    --total-space-h:calc(11 * var(--space-h));
}

.w-10 {
    width: calc((100% - var(--total-space-h)) * 0.1);
}
.w-20, .w1-5 {
	width: calc((100% - var(--total-space-h)) * 0.2)
}
.w-25, .w1-4 {
	width: calc((100% - var(--total-space-h)) * 0.25);
}
.w-30 {
	width: calc((100% - var(--total-space-h)) * 0.3);
}
.w-33, .w1-3 {
	width: calc((100% -  var(--total-space-h)) / 3);
}
.w-40 {
	width:  calc((100% -  var(--total-space-h)) * 0.4);
}
.w-50, .w1-2 {
    width: calc((100% - var(--total-space-h)) * 0.5 );
}
.w-60 {
	width:  calc((100% -  var(--total-space-h)) * 0.6);
}
.w-66, .w2-3 {
	width: calc((200% - (2 * var(--total-space-h))) / 3);
}
.w-70 {
	width: calc((100% -  var(--total-space-h)) * 0.7);
}
.w-75, .w3-4 {
	width: calc((100% - var(--total-space-h)) * 0.75);
}
.w-80, .w4-5 {
    width:  calc((100% - var(--total-space-h)) * 0.8);
}
.w-90 {
    width: calc((100% - var(--total-space-h)) * 0.9);
}
.w-100 {
	width: 100%;
}


.real-10 {
    width: 10%;
}
.real-20 {
    width: 20%;
}
.real-25 {
	width: 25%;
}
.real-33 {
	width: calc(100% / 3);
}
.real-40 {
    width:40%
}
.real-50 {
    width:50%
}
.real-60 {
    width:60%
}
.real-66 {
    width:66%
}
.real-70 {
    width:70%
}
.real-75 {
    width:75%
}
.real-80 {
    width:80%
}
.real-90 {
	width:90%
}



.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(max-width:979px) {
	.container > .s-w100 + .s-w100 {
		margin-top:var(--space-v);
	}
}
@media(max-width:1279px) {
	.m-w100 {
		width: 100%;
	}
	.m-w50 {
		/* width: calc((100% - var(--space-h)) / 2); */
		width: calc((100% - var(--total-space-h)) * 0.5);
	}
	.m-w33 {
		/* width: calc((100% - var(--space-h)) / 3); */
		width: calc((100% - var(--total-space-h)) /3);
	}
	.m-block {
		display: block;
	}
	.m-pad0 {
		padding: 0;
	}
	.m_cols_2 {
		--total-space-h:var(--space-h);
	}
	.m_cols_3 {
		--total-space-h:calc(2 * var(--space-h));
	}
}
@media(max-width:979px) {
	.s-block {
		display: block;
	}
	.s-pad0 {
		padding: 0;
	}
	.s-w50 {
		/* width: calc((100% - var(--space-h)) / 2); */
		width: calc((100% - var(--total-space-h)) * 0.5);
	}
	.s-w100 {
		width: 100%;
	}
	.s_cols_2 {
		--total-space-h:var(--space-h);
	}
	.s_cols_3 {
		--total-space-h:calc(2 * var(--space-h));
	}
}
@media(max-width:639px) {
	.xs-w100 {
		width: 100%;
	}
	.xs-block {
		display: block;
	}
	.xs-pad0 {
		padding: 0;
	}
	.xs_cols_2 {
		--total-space-h:var(--space-h);
	}
	.xs_cols_3 {
		--total-space-h:calc(2 * var(--space-h));
	}
}


.uppercase {
    text-transform: uppercase;
}
.radius,
.box-radius,
.rounded {
    border-radius: var(--border-radius);
}
.fs-base {
    font-size: var(--fs-base);
}

.fs-m {
    font-size: var(--fs-m);
}

.fs-l {
    font-size: var(--fs-l);
}

.fs-xl {
    font-size: var(--fs-2xl);
}

.fs-2xl {
    font-size: var(--fs-2xl);
}

.fs-number {
    font-size: var(--fs-number);
}

.my-base {
    margin-bottom: var(--space-v);
    margin-top: var(--space-v);
}

.mt-base {
    margin-top: var(--space-v);
}

.mb-base {
    margin-bottom: var(--space-v);
}

.m-0 {
    margin: 0;
}

.mx-0 {
    margin-left: 0;
    margin-right: 0;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.mt-0 {
    margin-top: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.ms-0 {
    margin-left: 0;
}

.me-0 {
    margin-right: 0;
}

.p-0 {
    padding: 0;
}

.px-0 {
    padding-left: 0;
    padding-right: 0;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.pt-0 {
    padding-top: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.ps-0 {
    padding-left: 0;
}

.pe-0 {
    padding-right: 0;
}



/* end */