/*
Theme Name: Divi Community Child Theme
Description: Theme enfant de Divi par Divi Community
Author: Julien - WebMate
Author URI: https://www.divi-community.fr
Template: Divi
Version: 1.1
*/

/*
  ____ _____     _____      ____ ___  __  __ __  __ _   _ _   _ ___ _______   __
 |  _ \_ _\ \   / /_ _|    / ___/ _ \|  \/  |  \/  | | | | \ | |_ _|_   _\ \ / /
 | | | | | \ \ / / | |    | |  | | | | |\/| | |\/| | | | |  \| || |  | |  \ V /
 | |_| | |  \ V /  | |    | |__| |_| | |  | | |  | | |_| | |\  || |  | |   | |
 |____/___|  \_/  |___|    \____\___/|_|  |_|_|  |_|\___/|_| \_|___| |_|   |_|

*/


/*** SPE HEADER ***/
header .et_pb_row.et_pb_equal_columns, 
header .et_pb_row_inner.et_pb_equal_columns, 
header .et_pb_section.et_pb_equal_columns>.et_pb_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	/*margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);*/
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}

/* Menu haut */
.et-menu li li a {
    padding: 6px 6px;
}

/* Menu mobile */
@media only screen and (max-width : 767px) {
	.et_mobile_menu {
		width: 100vw !important;
		right: 0 !important;
		left: auto !important;
		margin: auto !important;
		top: 150% !important;
	}
}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.menu-devis-mobile.current-menu-item a,
.et_pb_menu_0_tb_header.et_pb_menu ul li.menu-devis-mobile.current-menu-item a,
.et_pb_menu_0_tb_header.et_pb_menu ul li.menu-devis-mobile a {
	color: #fff !important;
	background-color: #25a06d !important;
	background-image: linear-gradient(90deg,#25a06d 1%,#3d5570 100%) !important
}
@media only screen and (min-width : 1024px) {
	.menu-devis-mobile {
		display: none !important;
	}
}



/*** Boites actu ***/
body:not(.single) article.et_pb_post {
	border: 1px solid #ccc;
	border-radius: 5px;
	overflow: hidden;
}


/*************************/
/**** CONTACT FORM 7 *****/
/*************************/
.wpcf7-ligne {
	margin-bottom: 15px;
	font-size: 0;
}
.wpcf7-colonne,
.wpcf7-colonne-seule {
	display: inline-block;
	font-size: 16px;
	width: 100%;
}
.wpcf7-ligne .wpcf7-colonne:first-child {
	margin-bottom: 15px;
}
.wpcf7-ligne p {
	margin-bottom: 0;
	padding-bottom: 0;
}
@media only screen and (max-width : 1320px) {
	.chiffres .percent p{
		font-size: 50px!important;
	}
}
@media only screen and (min-width : 768px) {
	.wpcf7-colonne {
		width: 50%;
		vertical-align: top;
	}
	.wpcf7-ligne .wpcf7-colonne:first-child {
		padding-right: 7px;
		margin-bottom: 0px;
	}
	.wpcf7-ligne .wpcf7-colonne:last-child {
		padding-left: 7px;                          
	}
	.wpcf7-submit {
		width: inherit;

	}
	.wpcf7-obligatoire {
		text-align:right;
	}
}
.wpcf7 label {
	margin-bottom: 5px;
	padding-right: 15px;
}
.wpcf7 p > label {
	font-size: 14px;
    font-weight: 600;
    color: #000;
	display: inline-block;
}
.wpcf7 label,
.wpcf7-form-control-wrap.dsm-contact-form-7-select {
	display: block;             
}
.wpcf7 span + label,
.wpcf7-list-item-label {
	display: inline;
	font-weight: normal;
}
.wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 0.8em;
    line-height: 1em;
}

.wpcf7-text, .wpcf7-textarea, .wpcf7-captchar, .wpcf7-select {
	background-color: #fff !important;
	border: solid 2px #CCC !important;
	width: 100% !important;
	-moz-border-radius: 5px !important;
	-webkit-border-radius: 5px !important;
	border-radius: 5px !important;
	font-size: 14px;
	font-weight: 600;
	color: #000 !important;
	padding: 16px !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.wpcf7-select {
	-moz-appearance: auto;
    -webkit-appearance: auto;
    appearance: auto;
	padding: 15px !important;
}
.wpcf7-textarea {
	height: 150px;
}
.wpcf7-text::placeholder, 
.wpcf7-textarea::placeholder, 
.wpcf7-captchar::placeholder, 
.wpcf7-select, 
.wpcf7-textarea::placeholder {
	font-size: 14px;
	font-weight: 600;
	color: #000;
}

.wpcf7-list-item {
    margin: 0 !important;
}
.wpcf7-obligatoire {
	font-weight: normal;
	font-style: italic;
	text-align: center;
}
.wpcf7-submit {
	width: 100%;
}
.wpcf7-submit.et_pb_button.et_pb_bg_layout_light {
	color: #fff !important;
	background-color: #F68712 !important;
	border: 2px solid #F68712 !important;
	text-transform: uppercase !important;
	margin: 8px auto 0;
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding: 6px 20px;
	line-height: 1.7em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.wpcf7-submit.et_pb_button.et_pb_bg_layout_light:hover { 
	color:#022b69 !important; 
	background-color: #fff !important; 
	border: 2px solid #022b69 !important;
	padding: 6px 20px !important; 
	border-radius: 5px !important;
}
.wpcf7-acceptance input[type=checkbox] {
	margin: 0 10px 0 0;
    transform: scale(1.5);
    transform-origin: 0 50%;
}
.wpcf7-spinner {
	display: none;
}

/*** FOOTER ***/
#menu-liens-du-bas {
    padding-bottom: 0 !important;
}
#menu-liens-du-bas li {
    display: inline-block;
    margin: 0 10px;
}

/*** STORE LOCATOR ***/
.wpsl-search {
    background: #ffffff;
	border-radius: 15px;
}
.wpsl-input label, #wpsl-radius label, #wpsl-category label {
    min-width: 160px;
}
#wpsl-search-wrap div label {
    line-height: 38px;
}
#wpsl-search-wrap .wpsl-select-wrap {
	/*text-align: right;*/
}
@media (max-width: 570px) {
	#wpsl-radius, #wpsl-results {
		width: 100%;
	}
}
.wpsl-search-btn-wrap {
	float: right !important;
    margin-right: 0 !important;
}
#wpsl-search-btn {
    height: 40px;
    font-size: 16px;
}

/*** RECRUTEMENT ***/
.job_custom_message {
	font-size: 13px;
    font-weight: 600;
	font-style: italic;
}
.job-post .job-image img {
    width: revert-layer !important;
}
.jobs-modal.open {
    z-index: 10010 !important;
}

/*** LIST ICON ***/
@media (max-width: 570px) {
	.dsm_icon_list_text {
		width: calc(100% - 80px);
	}
	.dsm_icon_list_child:after {
		margin-top: -40px !important;;
	}
}


/*************************/
/*** BOUTONS FLOTTANTS ***/
/*************************/
.boutons-flottants {
	display: none;
}
/* On masque sur certaines pages (Maintenance, 404...) */
.error404 .boutons-flottants,
.page-id-946 .boutons-flottants,
.page-id-1279 .boutons-flottants,
.page-id-1285 .boutons-flottants {
	display: none !important;
}

@media only screen and (min-width : 1280px) {
	.boutons-flottants {
		display: block;
		right: 0;
		top: 640px;
		z-index: 10000;
		position: fixed;  
	}
	.bouton-etude-gratuite {
		display: block;
		text-align: left;
		background: #3d5570;
		background-image: linear-gradient(90deg,#25a06d 1%,#3d5570 100%)!important;
		border: solid 2px #fff;
		border-right: none;
		color: #FFF;
		width: 180px;
		padding: 15px 20px;
		font-size: 20px;
		line-height: 1.2;
		font-weight: 600;
		text-transform: uppercase;
		transition: all 250ms ease-in-out 0s;
		box-shadow: rgb(0 0 0 / 10%) 0px 5px 5px 1px;
		border-radius: 5px 0 0 5px;
	}
	.bouton-etude-gratuite:hover {
		width: 230px;
		box-shadow: rgb(0 0 0 / 70%) 0px 5px 20px 1px;
	}
}

/*************************/
/****** MENU MOBILE ******/
/*************************/

.et_mobile_menu .sub-menu a {
	font-weight: 400 !important;
}

/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}


/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	/*width: 44px;*/
	width: 100%;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	/*text-align: center;*/
	text-align: right;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	right: 0px;
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: #333333;
	background: #eeeeee;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

/* Plan du site sur 2 colonnes */
.wsp-container > ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

/* Bookly */
.bookly-extras-title-mark {
	min-height: 120px;
}

@media (width > 64rem) {
	.bookly-css-root .bookly\:w-60 {
		width: 32% !important;
	}
}
@media (width <= 64rem) {
	.bookly-css-root .bookly\:w-60 {
		width: 47% !important;
	}
}
@media (width < 40rem) {
	.bookly-css-root .bookly\:w-60 {
		width: 96% !important;
	}
}