/*---------------------------------------------------------------------------------
Theme Name:   Divi Child
Theme URI:    https://www.elegantthemes.com/
Description:  Divi Child theme by Web Hors Piste
Author:       Web Hors Piste
Author URI:   https://www.webhorspiste.com/
Template:     Divi
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
------------------------------ ADDITIONAL CSS HERE ------------------------------*/

/* ===========
* GLOBAL STYLES
* ==========*/

body.home .et_pb_text_inner h1{
	font-size: calc(1.525rem + 1.7vw);
}
h2{
	font-size: calc(1.325rem + .9vw);
}
.full-hero .et_pb_fullwidth_header_container{
	width:100%;
}
@media screen and (max-width: 980px) {
	.full-hero .et_pb_fullwidth_header_container{
		width:90%;
	}
	.full-hero .et_pb_fullwidth_header_container .header-content{
		margin:0;
		padding:0;
	}
}
.align-vertical{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
.align-vertical-special .et_pb_row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
@media screen and (max-width: 980px) {
	.reverse-mobile{
		flex-direction: column-reverse;
	}   
	.reverse-mobile-special .et_pb_row{
		flex-direction: column-reverse;
	}  

}
/* Cacher Recaptcha */
body.et_pb_recaptcha_enabled .grecaptcha-badge { 
	visibility: hidden;
}

/* Hero service page */

/* Bouton */
.et_pb_button{
	position: relative;       
	display: inline-block;     
	overflow: hidden;        
	z-index: 0;     
	padding: .3em 1em!important;
}
.et_pb_button:hover{
	box-shadow:0 0 15px rgba(255,255,255,.4) inset, 0 0 10px rgba(100,165,28,.3);
	transform:scale(1.02);
}
.et_pb_button::after {
	content:""!important; 
	position:absolute; 
	inset:0;
	background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);
	transform:translateX(-100%);
	transition:transform .8s ease;
	margin:0!important;
}
.et_pb_button:hover::after { 
	transform:translateX(100%); 
	transition-delay:.1s;
}
@media (max-width: 600px) {
	.et_pb_button{
		font-size:18px;
	}
}
/* animation lustre */
.animation_lustrage{}

/* Témoignage bouton */
.temoignages .et-pb-controllers > a{
	width: 30px;
	height: 15px;
}
.temoignages .logo-temoignages{
	width:130px;
}
.temoignages-service .logo-temoignages{
	width:100px;
}

/* ===========
* HEADER STYLES
* ==========*/
/*DARK HEADER */
body.error404 #header-section{
	background-color:#003274;
}
body.error404 header{
	/*display:none;*/
}

/* Ajout marge au contenu pour adapter au header*/
#page-container #et-main-area{
	/*padding-top:100px;*/

}
body.logged-in.admin-bar #et-main-area{
	/*padding-top:calc(100px + 32px);*/

}
@media screen and (max-width: 782px) {
	body.logged-in.admin-bar #et-main-area{
		/*padding-top:calc(100px + 46px);*/
	}

	body.logged-in.admin-bar #header-section{
		top:46px;
	}
}
/* box-shadow sur header au scroll*/
header.et-l--header #header-section{
	transition: all 0.3s ease;
	padding:0;
}
header.et-l--header #header-section.scrolled{
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	height:76px;
	background-color:white;
}

/*Heder z-index*/
header.et-l.et-l--header > div.et_builder_inner_content{
	z-index:89;
}
/* centrer verticalement bouton header */
@media (min-width: 981px) {
	#header-section > .et_pb_row{
		display:flex;
		align-items:center;
		justify-content: space-between;
	}
}
#header-section{
	display:flex;
	background-color:transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}
#header-section .et_pb_row .et_pb_column:last-child{
	width:100%;
}
#header-section .et_pb_row .et_pb_column:last-child{
	width:fit-content;
	margin-left:20px;
}
#header-section .et_pb_row .et_pb_column:last-child .et_pb_button_module_wrapper{
	display:flex;
}
#header-section .et_pb_row .et_pb_column:last-child .et_pb_button{
	text-wrap: nowrap;
	font-weight:bold;
}
@media (max-width: 980px) {
	#header-section .et_pb_row .et_pb_column:last-child{
		display:none;
	}
}
/* HEADER CLASSQUE */
#header-section.scrolled .et_pb_menu__logo .logo-blanc, /* On a scrollé dans la page --> logo blanc disparait */
body #header-section:not(.logo-classique) .et_pb_menu__logo .wp-image-106, /* Page qui a un header sans la class .logo-classique --> logo classique disparait */
#header-section.logo-classique .et_pb_menu__logo .logo-blanc{ /* Page avec header qui a la classe .logo-classique --> logo classique disparait */
	display:none;
}
#header-section .et_pb_menu__logo .logo-blanc,body #header-section.scrolled .et_pb_menu__logo .wp-image-106{
	display:block;
}
body.no-scroll #header-section.scrolled .et_pb_menu__logo .logo-blanc{
	display:block;
}
body.no-scroll #header-section.scrolled .et_pb_menu__logo .wp-image-106{
	display:none;
}
#header-section.scrolled #menu-principale > li.menu-item > a{
	color:#0078b6!important;
}
#menu-principale > li.menu-item > ul.sub-menu{
	border-radius:5px;
	border:0px solid transparent;
	padding: 0;
	width: 280px;
	overflow:hidden;
}
/* Activer ci-dessous si besoin de plus de place pour les elements du sous menu du header */
#menu-principale > li.menu-item > ul.sub-menu > li  {
	/*padding-left:10px;
	padding-right: 10px;*/
	padding-left:0px;
	padding-right: 0px;
}
/* Style des éléments sous-menus du header */
#menu-principale > li.menu-item > ul.sub-menu > li > a {
	font-size:16px;
	padding: 14px 20px;
	width:280px;
	color:#0078b6!important;
}
#menu-principale > li.menu-item > ul.sub-menu > li > a:hover {
	background-color: #f0faff;
	opacity: 1;
	color:#0078b6!important;
}

/* mobile menu scrollable */
#header-section .mobile_nav #mobile_menu1 {
	max-height: calc(100vh - 150px);
	overflow-y: auto;
	border-top:none;
}
/* Mobile header en haut lorsqu'on est connecter au backoffice et qu'on a scroller */
@media (max-width: 600px) {
	body.logged-in.admin-bar #header-section.scrolled{
		top:0;
	}
}
@media (max-width: 1205px) {
	#header-section > .et_pb_row .et_pb_menu__logo-wrap{
		max-width: 150px;
	}
	#menu-principale > li.menu-item > a  {
		font-size:16px;
	}
	#header-section .et_pb_row .et_pb_column:last-child .et_pb_button{
		font-size:16px;
	}
}
@media (max-width: 1100px) {
	#header-section .et_pb_row .et_pb_column:last-child{
		display:none;
	}
	#header-section .et_pb_row .et_pb_column:first-child{
		width:100%;
	}

}
@media (min-width: 980px) {
	header .devis-responsive{
		display:none!important
	}
}

/* Responsive header */
@media (max-width: 980px) {
	body.no-scroll {
		overflow: hidden;
	}
	#header-section .et_pb_menu__logo-wrap{
		z-index: 999999;
		max-width:170px;
	}
	#header-section .mobile_nav .mobile_menu_bar{
		z-index: 999999;	
	}
	#header-section .mobile_nav .mobile_menu_bar:before{
		font-size:40px;
		top:unset;
	}
	#header-section:not(.scrolled) .mobile_nav .mobile_menu_bar:before{
		color:white;
	}
	#header-section .mobile_nav.opened .mobile_menu_bar:before{
		content: '\4d';
		color:white;
	}
	#mobile_menu1{
		position: fixed;
		top: 0;
		bottom: 0px;
		max-height: 100%!important;
		padding-top:120px;
		background-color:#003274!important;
	}
	body.logged-in.admin-bar #mobile_menu1{
		padding-top:calc(120px + 32px);
	}
	#mobile_menu1 > li > a{
		padding-top:15px;
		padding-bottom:15px;
	}
	#mobile_menu1 > li > span.submenu-toggle{
		background-color: rgb(0 120 182 / 30%);
		/*background-color: rgba(0, 0, 0, .03);*/
		/*font-family: 'Barlow', Helvetica, Arial, Lucida, sans-serif;*/
		font-weight: 700;
		font-size: 20px;
		letter-spacing: 1px;
		padding:15px 5%;
		border-bottom: 1px solid rgba(250, 250, 225, .1);
		display: block;
		cursor:pointer;
		position:relative;
	}
	#mobile_menu1 > li > ul.sub-menu {
		max-height: 0;
		overflow: hidden;
		transition: all 0.5s ease;
		background-color:transparent!important
	}
	#mobile_menu1 > li > ul.sub-menu > li > a {
		font-size:17px;
		color:white!important;
	}
	#mobile_menu1 .submenu-toggle::after {
		/*content: "💧"; */
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		/*transform: translateY(-50%) rotate(-90deg);*/
		/*font-size: 0.8em;*/
		transition: transform 0.3s ease;
		content:"+"
	}
	#mobile_menu1 li.open > .submenu-toggle::after {

		/*transform: translateY(-50%) rotate(0deg);*/
		content:"-";
	}
}

/* ===========
* ACCUEIL STYLES
* ==========*/
/* Hero section */
#hero-section{
	display:flex;
	align-items:center;
	overflow:hidden;
	padding-top:100px;
}
#hero-section > .et_pb_row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
/*#hero-section > .et_pb_row > .et_pb_column:first-child {
width:50%;
margin-right:0;
}*/
#hero-section > .et_pb_row > .et_pb_column.image-column > .et_pb_module.image-hero{
	display: flex;
	justify-content: flex-end;
}
#hero-section > .et_pb_row > .et_pb_column.image-column .et_pb_image_wrap img{
	border-radius:250px;
}

#hero-section > .et_pb_row > .et_pb_column.image-column .et_pb_image_wrap{
	overflow:unset;
}
#hero-section > .et_pb_row > .et_pb_column.image-column .et_pb_image_wrap::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border-width: 2px;
	border-style: solid;
	border-color: #64a51c;
	border-image: initial;
	border-radius: 250px;

	top: 30px;
	left: 30px;
	z-index:9
}
/*Bulle deco*/
.deco-bulle {
	position: absolute;
	border-radius: 50%;
	opacity: 0.7;
	animation: float 6s ease-in-out infinite;
}

#grosse-bulle {
	width: 120px;
	height: 120px;
	/*background: #ff6b6b;*/
	animation-duration: 8s;
	animation-delay: 0s;
	top:0;
	left:20px;
}

#moyenne-bulle {
	width: 80px;
	height: 80px;
	/*background: #4ecdc4;*/
	animation-duration: 6s;
	animation-delay: 1s;
	top:50%;
	left:50%;
}

#petite-bulle {
	width: 40px;
	height: 40px;
	/*background: #45b7d1;*/
	animation-duration: 4s;
	animation-delay: 2s;
	top:0%;
	/*left:100%;*/
	left:calc(100% - 40px);
}

@keyframes float {
	0%, 100% {
		transform: translateY(0) translateX(0);
	}
	50% {
		transform: translateY(-20px) translateX(10px);
	}
}
/* Animation card secteur+services */
.service-nettoyage{
	/*flex-wrap:wrap;*/
	justify-content:center;
	gap:20px;
	flex-wrap:wrap;

}
.service-nettoyage .et_pb_column{
	min-width:350px!important;
	max-width:100%;
}

.service-nettoyage.specifique .et_pb_column,.service-nettoyage.associe .et_pb_column,.secteurs-activites  .et_pb_column{
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.service-nettoyage.specifique .et_pb_column::after, .service-nettoyage.associe .et_pb_column::after,.secteurs-activites .et_pb_column::after {
	content: "";
	z-index: -1;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 100%;
	border-radius: 100%;
	background-color: #0078b6;
	transform: translate(0, 100%);
	transition: opacity .45s cubic-bezier(.215, .61, .355, 1), border-radius 0s .45s, transform 0s .45s;
	opacity: 0;
}
.service-nettoyage.associe .et_pb_column::after,  .secteurs-activites .et_pb_column::after{
	background-color:white;
}
.service-nettoyage.specifique .et_pb_column:hover::after, .service-nettoyage.associe .et_pb_column:hover::after,.secteurs-activites .et_pb_column:hover::after  {
	/*bottom: 0;*/

	opacity: 1;
	border-radius: 0;
	transform: translate(0);
	transition: border-radius .45s cubic-bezier(.215, .61, .355, 1), transform .45s cubic-bezier(.215, .61, .355, 1);
}
.service-nettoyage.specifique .et_pb_column:hover p,.service-nettoyage.specifique .et_pb_column:hover h3 {
	color:white!important;
}
.service-nettoyage.associe .et_pb_column:hover p,.service-nettoyage.associe .et_pb_column:hover h3,.service-nettoyage.associe .et_pb_column:hover  .et_pb_text_inner,.secteurs-activites .et_pb_column:hover h3,.secteurs-activites .et_pb_column:hover p {
	color:#0078b6!important;
}
/* service-nettoyage */
/*@media (min-width: 1100px) {
.service-nettoyage.associe{
flex-wrap: nowrap;
overflow-x: scroll;
width: 100vw!important;
justify-content: flex-start;
padding-left:10px;
padding-right:10px;
}
}*/
@media (min-width:980px) and (max-width:1200px){
	.associe-container{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,450px));
		gap:24px;
		justify-content: center;
	}
	/* empêche les pseudos de devenir des items du grid */
	.associe-container::before,
	.associe-container::after{
		content:none !important;
		display:none !important;
	}
	/* cible seulement les colonnes réelles */
	.associe-container > .et_pb_column{
		margin:0 !important;
		width:auto !important;
	}
}

.service-nettoyage.specifique{
	gap:0;
}

.service-nettoyage.specifique .et_pb_column{
	margin:20px!important;
}
/*@media (max-width: 1100px) and (min-width: 700){
.service-nettoyage.associe{
gap:0;
}
.service-nettoyage.associe .et_pb_column{
margin:20px;
}
}*/
@media (max-width: 600px){
	.service-nettoyage .et_pb_column{
		/*min-width:unset!important;*/
	}
}
/* adresses-container */

/* ===========
* Formulaires STYLES
* ==========*/
/* Global */
form .et_pb_files_container{
	border-radius: 10px;
}
form .et_contact_bottom_container{
	margin:0;
}
form .et_pb_file_upload_button{
	padding-left: 50px!important;
	padding-right: 30px !important;
	border: 0!important;
	color:#0078b6!important;
}
form .et_pb_file_upload_button::before{
	display:block!important;

	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230078B3'%3E%3Cpath d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/%3E%3C/svg%3E") !important;
	width: 40px;
	height: 40px;
	content:"";
	margin:0;
	opacity:1;
}
form .et_pb_file_upload_button::after{
	display:none!important
}
/* Demande de devis */
.form-devis .et_pb_contact_field_options_title{
	color:#0078b6!important;
	font-weight: bold!important;
	font-size: 18px;
}
.form-devis .et_contact_bottom_container{
	margin:0;
}
/* ===========
* Qui sommes-nous ? - Pages
* ==========*/
.timeline-section {
	position: relative;
}

.timeline-section:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 2px;
	height: 100%;
	background: #0000001A;
	transform: translateX(-50%);
}
@media (max-width: 1200px) {
	.presentation-items{
		display: flex;
		align-items:center;
		flex-direction: column;
		row-gap:30px;
	}
	.presentation-items > .et_pb_column{
		padding:30px;
		max-width: 500px;
		margin-right:0!important;
		width:100%!important;
	}
}

@media (max-width: 980px) {
	.presentation-items{
		display: flex;
		align-items:center;
		flex-direction: column;
		row-gap:0px;
	}
	.presentation-items > .et_pb_column{
		padding:30px;
		max-width: 500px;
	}
	/* La ligne passe à gauche */
	.timeline-section:before {
		left: 20px;
		transform: none;
	}

	.timeline-item {
		padding-left:20px;
	}

	.timeline-bubble {
		/*left:10px;*/
	}
	.timeline-bubble .et_pb_sticky_module .et-pb-icon{
		left:10px!important;
		/*width:calc(100% - 10px);*/

	}

}
@media (min-width: 980px) {
	.demarche-rse > .et_pb_row{
		display: flex;
		align-items: center;
		column-gap:5%;
	}
	.demarche-rse > .et_pb_row > .et_pb_column:first-child{
		flex-basis: 40%;
		margin: 0;
	}
	.demarche-rse > .et_pb_row > .et_pb_column:last-child{
		flex-basis: 60%;
		margin: 0;
	}
	.demarche-rse > .et_pb_row:after{
		display:none;

	}
}



/* ===========
* Loader
* ==========*/
/*
#loader {
position: fixed;
top:0; left:0;
width:100%; height:100%;
background:#fff;
display:flex;
justify-content:center;
align-items:center;
z-index:99999;
}
.bubble {
width:12px; height:12px;
margin:5px;
border-radius:50%;
background:#64a51c;
animation:bounce 2s infinite alternate;
}
.bubble:nth-child(1){background:#64a51c;}
.bubble:nth-child(2){
background:#003274;
animation-delay:.2s;
}
.bubble:nth-child(3){
background:#0078b6;
animation-delay:.4s;
}

@keyframes bounce {to{opacity:.3; transform:translateY(-8px);} }
body.loaded #loader {opacity:0; pointer-events:none; transition:.3s;}
*/