body{
	font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
	-webkit-font-smoothing: antialiased;
}

.post,
.page,
.page-content,
.entry-content,
.entry-summary{
	margin: 0 !important;
}

/*
* STYLES BLOCK
*/
.flex_center_spacebetween{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}
.flex_center_center{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.flex_center_start{
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
}
.flex_center_space_between_row{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.left{
	justify-content: flex-start;
}
.right{
	justify-content: flex-end;
}

body #et-boc .et_pb_section .et_pb_row.et_pb_row_fullwidth.max_width_1400{
    max-width: 1400px !important;
    width: calc(100% - 70px) !important;
	padding-left: 30px;
	padding-right: 30px;
}

/*
* STYLE TEXTES
*/
.w_200{
	font-weight: 200;
}
.w_400{
	font-weight: 400;
}
.w_600{
	font-weight: 600;
}
.w_700{
	font-weight: 700;
}
.w_800{
	font-weight: 800;
}
.w_900{
	font-weight: 900;
}
.white{
	color: #FFFFFF;
}
.purple{
	color: #3835C3;
}
.t_upper{
	text-transform: uppercase;
}
.t_left{
	text-align: left;
}
.t_right{
	text-align: right;
}
.lato{
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
}

.fullscreen:after{
    content: "";
    width: 100%;
    height: 14vw;
    max-height: 300px;
    background: url(http://cdnimg.act31.com/wp-content/uploads/2019/01/divider-act.svg);
    position: absolute;
    bottom: -2px;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}


#home_header{
	background-position: center;
	background-size: cover;
	position: relative;
	padding: 30px 0 0;
}
	#home_header > div{
		width: 100%;
		max-width: 1280px;
		padding: 0 40px;
		z-index: 2;
		margin-bottom: 100px;
	}
	#home_header h1{
		font-size: 60px;
		line-height: 1.1em;
	}
	#home_header h2{
		font-size: 16px;
		line-height: 1.8em;
		max-width: 550px;
	}
	#home_header h3{
		font-size: 16px;
		line-height: 1.4em;
		font-style: italic;
	}
	#home_header h1,
	#home_header h2,
	#home_header h3{
		margin-bottom: 30px;
	}

	#home_header .home_header_block{
		background-position: center left !important;
		background-size: cover !important;
		background-repeat: no-repeat !important;
	    border-radius: 0 12px 0 12px;
	    overflow: hidden;
	    padding-top: 20px;
	    padding-right: 20px;
	    padding-bottom: 40px;
	    padding-left: 20px;
	    margin-top: 80px;
	    box-shadow: 0px 16px 20px 0px rgba(0,0,0,0.2);
	    max-width: 549px;
	    width: 100%;
	    padding-top: 5vw;
	    max-height: 284px;
	    display: flex;
	    flex-direction: column;
	    justify-content: flex-end;
	}
	#home_header .home_header_block.align_to_right{
		align-items: flex-end;
	}
		#home_header .home_header_block h4{
		    letter-spacing: 1px;
		    line-height: 2.5em;
		    font-size: 28px;
		    width: 100%;
		}
		#home_header .home_header_block a{
			font-size: 14px;
			text-decoration: none;
			position: relative;
		}
		#home_header .home_header_block a:after{
		    width: 100%;
		    height: 2px;
		    content: "";
		    background: #3835C3;
		    position: absolute;
		    left: 0;
		    bottom: -6px;
		}
	#home_header > div > div{
		width: 50%;
		padding-right: 15px;
	}
	#home_header > div > div:last-child{
	    align-items: flex-end;
	    display: flex;
	    flex-direction: column;
	    padding-left: 15px;
	    margin-top: 100px;
	}

/*
* MENU HEADER RIGHT
*/
#page #site_header{
	position: fixed;
	right: calc(-350px + 70px);
	height: 100%;
	min-height: 100%;
	width: 350px;
	padding: 40px 0;
    z-index: 999999;
    background: #FFFFFF;
    transition: right 0.9s cubic-bezier(0.42, 0, 0.46, 1.2);
}
#page #site_header.active{
	right: 0px;
}
	#page #site_header_left{
		width: 70px;
		height: 100%;
	}
		#page #site_header .menu_icone{
		    position: relative;
		    margin-top: 0px;
		    margin-left: 6px;
		    cursor: pointer;
		}
		#page #site_header .menu_icone img{
			width: 30px;
			opacity: 0.4;
		}

		#page #site_header .reseaux_sociaux a{
			margin: 10px 0;
		}
			#page #site_header .reseaux_sociaux a img{
				height: 28px;
			}
	#page #site_header_right{
	    width: calc(100% - 70px);
	    text-align: right;
	}


#page .menu_contenu{
}
	#page .menu_contenu ul#menu-menu-principal{
	    margin: -10px 40px 0;
	    padding: 0;
	    list-style: none;
	}
		#page .menu_contenu ul#menu-menu-principal li a{
			font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
			font-size: 20px;
			font-weight: 800;
			font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
			text-decoration: none;
			line-height: 2.1em;
			color: #3835c391;
			transition: color 0.3s;
		}
		#page .menu_contenu ul#menu-menu-principal li a:hover{
			color: #3835c3;
		}

#page #content{
	margin-right: 70px;
	box-shadow: 3px -14px 20px rgba(0,0,0,0.30);
}

/*
* BLOG
*/
div#category_list_article{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}
	div#category_list_article > article{
		max-width: 546px;
		width: 50%;
		height: 289px;
		margin: 30px 0;
		display: inline-block;
	}
	div#category_list_article > article:nth-child(2n+1){
		padding-right: 30px;
	}
	div#category_list_article > article:nth-child(2n+2){
	    margin-top: 100px;
	    padding-left: 30px;
	}
		div#category_list_article > article > a {
		    height: 100%;
		    display: block;
		    background-size: cover;
		    background-repeat: no-repeat;
		    background-position: center;
		    border-radius: 0 12px 0 12px;
		    box-shadow: 0 10px 16px rgba(0,0,0,0.14);
		    display: flex;
		    flex-direction: column;
		    justify-content: flex-end;
		    padding: 0 !important;
			overflow: hidden;
		}
			div#category_list_article > article > a div.action{
			    background: rgba(255,255,255,0.9);
			    text-align: center;
			    padding: 10px;
			}
				div#category_list_article > article > a div.action h4{
					color: #000000;
					font-size: 20px;
					font-family: 'Lato', sans-serif;
					font-weight: 700;
				}
				div#category_list_article > article > a div.action .read_more{
					color: #000000;
					font-size: 14px;
					font-family: 'Lato', sans-serif;
					font-weight: 700;	
					width: 72px;	
					margin: 0 auto;			
				}
				div#category_list_article > article > a div.action .read_more:after{
					content: "";
					display: block;
					width: 100%;
					height: 2px;
					background: #000000;
					margin-top: 6px;
				}

@media screen and (max-width: 1200px) {
	#home_header > div{
	    display: block;
	}
	#home_header > div > div{
		display: flex;
		align-items: center;
		flex-direction: column;
		width: 100%;
		padding-right: 0;
	}
	#home_header > div > div:last-child{
		margin-top: 0;
		padding: 0;
		align-items: center;
	}
		#home_header .home_header_block{
			margin-top: 40px;
			padding-top: initial;
		}
}

@media screen and (max-width: 981px) {
/*
	#page #content{
		margin-right: 0;
	}

	#page #site_header{
		right: -120px;
		z-index: 999999;
		transition: right 1.2s cubic-bezier(0.42, 0.02, 0.45, 1.49);
	}
		#page #site_header .menu_icone{
		    position: fixed;
		    right: 40px;
		    background: #FFFFFF;
		    border-radius: 40px;
		    display: flex;
		    width: 34px;
		    height: 34px;
		    justify-content: center;
		    align-items: center;
		}
			#page #site_header .menu_icone img{
				width: 20px;
				opacity: 0.6;
			}
*/
	#home_header h1{
		margin-bottom: 50px;
	}
	#home_header > img{
	    position: fixed;
	    left: 40px;
	    max-width: 60px;
	}
	#home_header > div{
		padding: 70px 20px;
	}
		#home_header > div > div:first-child > div:first-child{
			text-align: center;
		}

	div#category_list_article > article{
		width: 100%;
		padding: 0 !important;
		margin: 0 0 60px;
		height: initial;
	}
	div#category_list_article > article:nth-child(2n+2){
		margin-top: 0 !important;
	}
		div#category_list_article > article a{
			padding: 37% 0 0 !important;
		}
}

@media screen and (max-width: 681px) {
	#page #content{
		margin-right: 0;
	}

	#page #site_header{
		padding: 20px 0;
        animation: background_opacity_off 0.9s;
        animation-fill-mode: forwards;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        right: -100vw;
	}
		#page #site_header #site_header_left{
			height: initial;
		}
		#page #site_header #site_header_right{
			margin-top: 30px;
			width: 100%;
			text-align: center;
		}
		#page #site_header .menu_icone{
		    background: #FFFFFF;
		    border-radius: 40px;
		    padding: 8px 9px 6px;
		}
		#page #site_header #site_header_left .menu_icone{
			position: fixed;
			right: 10px;
			top: 60px;
		}
			#page #site_header .menu_icone img{
				width: 20px;
			}
		#page .menu_contenu ul#menu-menu-principal li a{
			font-size: 30px;
		}
		#page #site_header_left .reseaux_sociaux{
		    position: absolute;
		    flex-direction: row;
		    bottom: 50px;
		    width: 100%;
		    left: 0;
		    justify-content: space-around;
		    display: flex;
		    visibility: initial;
	        opacity: 0;
	        transition: opacity 0.9s;
		}
		#page #site_header.active #site_header_left .reseaux_sociaux{
			opacity: 1;
		}
	#page #site_header.active{
        animation: background_opacity 0.9s;
        animation-fill-mode: forwards;
	}
	@-webkit-keyframes background_opacity {
		0% 		{ background: #FFFFFF00; }
	    100% 	{ background: #FFFFFF; }
	}
	@keyframes background_opacity {
		0% 		{ background: #FFFFFF00; }
	    100% 	{ background: #FFFFFF; }
	}
	@-webkit-keyframes background_opacity {
		0% 		{ background: #FFFFFF00; }
	    100% 	{ background: #FFFFFF; }
	}
	@keyframes background_opacity {
		0% 		{ background: #FFFFFF00; }
	    100% 	{ background: #FFFFFF; }
	}
	@-webkit-keyframes background_opacity_off {
		0% 		{ background: #FFFFFF; }
	    100% 	{ background: #FFFFFF00; }
	}
	@keyframes background_opacity_off {
		0% 		{ background: #FFFFFF; }
	    100% 	{ background: #FFFFFF00; }
	}
	@-webkit-keyframes background_opacity_off {
		0% 		{ background: #FFFFFF; }
	    100% 	{ background: #FFFFFF00; }
	}
	@keyframes background_opacity_off {
		0% 		{ background: #FFFFFF; }
	    100% 	{ background: #FFFFFF00; }
	}
}