@import url("//hello.myfonts.net/count/38dbaf"); /* IMPORTANT ! = page view counter */

/* ## TYPOGRAPHY ############################################################# */
@font-face {
    font-family: 'CalvertMTStd-Light';
    src: url('../font/38DBAF_0_0.eot');
    src: url('../font/38DBAF_0_0.eot?#iefix') format('embedded-opentype'),
    url('../font/38DBAF_0_0.woff2') format('woff2'),
    url('../font/38DBAF_0_0.woff') format('woff'),
    url('../font/38DBAF_0_0.ttf') format('truetype');
}
@font-face {
    font-family: 'CalvertMTStd';
    src: url('../font/38DBAF_1_0.eot');
    src: url('../font/38DBAF_1_0.eot?#iefix') format('embedded-opentype'),
        url('../font/38DBAF_1_0.woff2') format('woff2'),
        url('../font/38DBAF_1_0.woff') format('woff'),
        url('../font/38DBAF_1_0.ttf') format('truetype');
}
@font-face {
    font-family: 'CalvertMTStd-Bold';
    src: url('../font/38DBAF_2_0.eot');
    src: url('../font/38DBAF_2_0.eot?#iefix') format('embedded-opentype'),
        url('../font/38DBAF_2_0.woff2') format('woff2'),
        url('../font/38DBAF_2_0.woff') format('woff'),
        url('../font/38DBAF_2_0.ttf') format('truetype');
}

/* ## STRUCTURE ########################################################## */
.ftlHTML {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size:20px;
    color:#000;
    padding:0 0 20px 0;

}
/* ## HELPERS ########################################################## */
.rouge{
    color:#ed1c27 !important;
}
.bleu{
    color:#005EAD !important;
}
.vert{
    color:#009444 !important;
}
.block{
    display:block;
}
/* ## ELEMENTS RECURENTS ################################################ */
.ftlHTML .btn {
    display:inline-block;
    /*background-color:#ed1c27;*/
	background-color:#005EAD;
    color:#FFF;    
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 0.8em;
    font-weight: 700;
    font-style:normal;
    line-height: 1;
    white-space: nowrap;
    border-radius: 3px;
    padding: 1.15em 2em 1.1em 2em;
    text-align: center;
    text-decoration: none;
}
.ftlHTML .btn:hover{
    /*background-color: #ca1821; */
	background-color:#004d8b;
}
.zoneLink:hover{
	opacity:0.8;
}
/* ## HEADER ############################################################# */
.sectionHeader {
	background:url(../images/deco/bg-header-desktop.jpg) no-repeat top right;
	padding:1em 0 0 0;
    margin-bottom:2.5em;
}

	.sectionHeader-title{
		max-width:360px;
		font-family:'CalvertMTStd-Bold', Georgia, Times, serif;
		font-size:1em;
		font-weight:normal;
		line-height:1;
		margin: 0 0 0.5em 0;
	}
		.sectionHeader-title-label{
			display:block;
			font-size:2em;
			line-height:1.1;
		}
	.sectionHeader-subtitle {
		max-width:360px;
		color:#747474;
		font-size:0.9em;
		font-weight:300;
		line-height:1.4em;
		margin:0.8em 0 0 0;
	}
		.sectionHeader-subtitle dt,
		.sectionHeader-subtitle dd{
			padding:0;
			margin:0;
		}
		.sectionHeader-subtitle dt{
			font-weight:700;
		}


/* ## MAIN # Commons ##################################################### */
/* ## Titres ## */
.sectionTitle{
    font-family:'CalvertMTStd-Bold', Georgia, Times, serif;    
    font-weight:normal;
    font-size:1.3em;
    line-height:1.1;
    padding:0;
    margin:1.5em 0 0.7em 0;
}
.sectionTitle:first-child{
	margin-top:0;
}
.sectionHeader + .sectionTitle{
    margin-top:1em;
}
.sectionSubtitle{
	color:#747474;
    font-size:0.9em;
    line-height:1.4;
    padding:0;
    margin:-0.3em 0 0.8em 0;
}

/* ## Bandeaux promo ## */
.sectionBanner{
	display:block;
    margin:2em auto;
}

.sectionTitle + .sectionBanner,
.sectionSubtitle + .sectionBanner
{
    margin-top:0;
}
.sectionBanner a:hover,
a.sectionBanner:hover{
    opacity:0.8;
}
	.sectionBanner img{
		display:block;
		margin:0 auto;
		max-width:100%;
	}

/* ###  Slider & Blocks ### */
/* = fleches du slider */
.slick-prev:before,
.slick-next:before{
    border-color:#000;
}
/* = pager du slider */
.slick-dots li button{
    background-color: #DDD;
}
.slick-dots li.slick-active button{
    background-color: #005EAD;
}
/* = Commons */
.sliderBase{
	display:flex;
	justify-content: flex-start;
	align-items: stretch;
	margin:-1.2em -1.2em 0 0;
}
	.sliderBase > div{
		margin:1.2em 1.2em 0 0;;
	}
/* = style des blocks */
.withShadow,
.blkGenerique{
	border: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
}



/* ## Section "How To" (steps) ## */
/*.sectionHowTo{}*/
.sectionHowTo-subtitle{
	color: #005EAD;
	font-size: 0.9em;
	font-weight: 700;
	text-align: center;
	margin:1em 0 ;
}
.steps + .sectionHowTo-subtitle{
	margin-top:2.5em;
}
.steps{
	display:flex;
	justify-content: space-between;
	align-content: flex-start;
	list-style-type: none;
	padding:0;
	margin:0 auto;
    position:relative;
}
.steps:before{
    display:block;
    content: "";
    position:absolute;
    left:0;
    right:0;
    top:1.5em;    
    height:0px;
    border-top:2px dashed #005EAD;
    margin:0 auto;
}
.steps--3steps:before{
    width:67%;
} 
	.steps-item{
		flex-basis:33.33%;
		text-align:center;
		padding:0 2.5%;
	}
		.steps-item-rank{
			display:block;
			margin:0 auto 1.5em auto;    
			position:relative;
		}
			.steps-item-rank-number{
				display:block;
				width:2.3em;
				height:2.3em;
				line-height:2.3em;
				text-align:center;
				border-radius: 50%;
				background-color: #005EAD;
				font-weight:700;
				font-size:1.3em;/*26px*/    
				font-style: normal;            
				color: #FFF;
				margin:0 auto;    
			}
		.steps-item-picto{
			display:block;
			height:3em;
			max-width:3em;
			margin:0 auto 0.75em auto;
		}
		.steps-item-label{
			display:block;
			max-width:260px;
			font-size: 0.8em;
			line-height: 1.5;
			padding:0;
			margin:0 auto;
		}

/* ## */
.row2blocks{
	display:flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top:2.5em ;
	margin-bottom:2.5em;
}
.row2blocks.reverse{
	flex-direction: row-reverse;
}
	.row2blocks-visuel{
		flex-basis: 48.8%;
		display: block;
		max-width:100%;
	}
	.row2blocks-main{
		flex-basis:48.8%;
	}
		.row2blocks p{
			font-size:0.8em;
			line-height:1.4;
			margin:0 0 1em 0;
		}
		.row2blocks p:last-child{
			margin-bottom: 0;
		}
		.row2blocks p.row2blocks-subtitle{
			font-size:0.9em;
		}

/* ## Bloc générique (Article édito, Conseils D&V..) */
.blkGenerique{
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	align-items:stretch;
	justify-content:space-between;
    background-color:#FFF;
	padding:1.2em;
}
.sliderBase .blkGenerique{
	flex-basis:calc( ( 100% - ( 2 * 1.2em ) ) / 2);
}
.blkGenerique.zoneLink:hover{
    opacity:0.8;
}
	.blkGenerique-visuel{
		flex-basis: 100%;
	}
		.blkGenerique-visuel img{
			display:block;
			max-width:100%;
			margin:0 auto;
		}
	.blkGenerique-label{
		flex-basis: 100%;
		min-height: 25%;
		display:flex;
		flex-wrap:wrap;
		flex-direction:row;
		justify-content: flex-start;
		align-items: flex-start;
		align-content:space-between;
		text-align:center;
		color:#353535;
		padding:0.8em 0.8em 0 0.8em;
	} 
		.blkGenerique-label-title{
			flex-basis:100%;
			max-width:400px;
			font-weight:700;
			font-size:0.9em;
			line-height:1.5;
			margin:0 auto 0 auto;
			color:#353535;
		}
			.blkGenerique-label-title a,
			.blkGenerique-label-title a:hover,
			.blkGenerique-label-title a:active,
			.blkGenerique-label-title a:focus{
				color:inherit;
				text-decoration:none;    
			}    
		.blkGenerique-label-intro{
			flex-basis:100%;
			color:#747474;
			font-size:0.9em;
			line-height:1.6;
			margin:0.4em 0 0 0;
		}
		.blkGenerique-label-readme{
			flex-basis:100%;
			font-size:0.8em;
			font-weight: 700;
			text-decoration:none;
			color:#005EAD;
			text-align:right;
			margin:1em 0 0 0;
		}


/* ## Mentions légales ## */
.mentions-legales {
    padding:1.8em 1.8em;
    font-size: 0.6em;
    color: #989898;
    background-color: #F2F2F2;
    margin:2.5em 0;
}
    .mentions-legales dl,
	.mentions-legales dt,
	.mentions-legales dd{
		padding:0;
        margin:0;
    }
	.mentions-legales dt{
		font-weight:500;
	}
    .mentions-legales p{
        margin:1em 0 0 0;
    }

/* ## fonctionnement plié-deplié ## */
.js-publiAccordionLight-toggle{
    cursor: pointer;
}
.js-publiAccordionLight-content{
    display: none;
}
.js-publiAccordionLight-content.js-publiAccordionLight-content--default {
    display: block;
}

/* ############################################################################################ */
/* ==== RESPONSIVE behaviour ================================================================== */
/* ############################################################################################ */

@media (max-width: 767px){ /* ================================================================ */
	/* ## STRUCTURE ##################################### */
	.ftlHTML{
		font-size:18px;
		max-width:640px;
		margin:0 auto
	}
	#dcom_main_container .site .ftlHTML{ /* template Darty menu Mobile */
		width: 100vw;
	}
	#dcom_main_container > table .ftlHTML{ /* template Darty header XXL */
		width:calc(100vw - 20px);
	}
	#dcom_main_container > table{
		background-color:#FFF !important;
	}
	.withGuttersOnMobile{
		width:90.625vw;
		max-width:580px;
		margin-left:auto;
		margin-right:auto;
	}   
	.ftlHTML img{
		max-width:100%;
	}

 /* ## HEADER ########################################### */
	.sectionHeader {
		background:url(../images/deco/bg-header-mobile.jpg) no-repeat top center;
		background-size:100%;
		padding-top:39.0625%;
		padding-bottom:0;
	}
		.sectionHeader-title{
			display:flex;
			align-items: center;
			max-width:unset;
			margin:0.5em auto;
		}	
		.sectionHeader-subtitle{
			max-width:unset;
		}
 /* ## MAIN ############################################# */ 
	/* ## */
	.row2blocks{
		display:block;
	}
	.row2blocks-visuel{
		margin-bottom:1em;
	}
	/* ## */
	.mentions-legales {
		padding: 1em 2em;
		font-size: 0.8em;
	}
}

@media (max-width: 480px){  /* ================================================================ */
	/* ## */
    .ftlHTML{
        padding:0 0 1.5em 0;
        font-size:15px;
    }
	/* ## */
	.sectionHeader-title-label{
		font-size:1.5em;
		line-height: 1.2;
	}
	/* ## */
	.sectionHowTo{
		width:100vw;
		overflow: scroll;
		padding-bottom:7px;
	}	
		.steps{
			display:inline-flex;
			width:150vw;
			margin: 0 25vw;
		}	
		.steps:after{
			display:inline-flex;
			content:"";
			width:1px;
		}
	/* ## */
	.sliderBase{
		flex-wrap:nowrap;
		width:100vw;
		margin:-1em -1em 0 0;
	}
	.sliderBase > div{
		margin:1em 1em 0 0;
	}
		.sliderBase .slick-list{
			width:100vw;		
			padding-top:2px !important;
			padding-bottom:6px !important;
			margin-right:0;
			margin-left:0;
		}
			.sliderBase .slick-track{ /* si slidesToShow: x.4 => position de depart decalee */
				left:1em;
			}
				.sliderBase .slick-track > div:last-child,
				.sliderBase .slick-track > li:last-child{
					margin-right:2em ; /* permet de laisser un espace à droite apres la derniere slide */
				}
}

@media (max-width: 320px){  /* ================================================================ */
	/* ## */
    .ftlHTML{
		font-size:14px;
	}
}