/*
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 /  | |    | |__| |_| | |  | | |  | | |_| | |\  || |  | |   | |
 |____/___|  \_/  |___|    \____\___/|_|  |_|_|  |_|\___/|_| \_|___| |_|   |_|

*/


/* 
** CENTRER DU CONTENU VERTICALEMENT 
** Voir tuto : https://www.divi-community.fr/snippets-divi/centrer-du-contenu-verticalement
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** 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%;
}


/***** CSS OASIS PROJET *****/

	/* Bannière WES */
	#message-wes {
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 10;
		cursor: pointer;
		border: none !important;
		display: none;
	}
	body.home #message-wes {
		display: block;
		animation: 10s ease-in-out 1s both display_banner;
	}
	#message-wes.closed {
		animation: 0.5s ease-in-out both close_banner !important;
	}
	@keyframes display_banner {
	  0% {
		top: -50px;
	  }
	5% {
		top: 0;
	  }
	95% {
		top: 0;
	  }
	  100% {
		top: -50px;
	  }
	}
	@keyframes close_banner {
	  0% {
		opacity: 1;
	  }
		99% {
		opacity: 0;
	  }
	  100% {
		opacity: 0;
		  display: none;
	  }
	}



	/* Accordeon images */
	.dsm_image_accordion .dsm_image_accordion_active_item:hover>div.et_pb_module_inner:before,
	.dsm_image_accordion .dsm_image_accordion_active_item>div.et_pb_module_inner:before {
		background: rgba(0, 0, 0, 0.4) !important;
	}

	/* Menu déroulant */
	.lwp-hide-mobile-menu.et_pb_menu .et_pb_menu__menu,
	.lwp-hide-mobile-menu.et_pb_fullwidth_menu .et_pb_menu__menu {
		display: flex!important;
	}

	.lwp-hide-mobile-menu .et_mobile_nav_menu {
		display: none;
	}


	/*** CUSTOM MENU ***/
	body .custom-menu .et_mobile_nav_menu {
		/*display: none;*/
	}
	body .custom-menu .nav li {
		position: relative;
	}

		/* Menu déroulant niveau 1 */
		body .custom-menu .nav li ul {
			width: 300px;
			box-shadow:0 10px 10px -5px rgba(0,0,0,0.33);
		}
		body .custom-menu ul.sub-menu {
			padding: 5px 0 !important;
			background-color: #fff !important;
			border-radius: 5px;
		}
		body .custom-menu ul.sub-menu li {
			padding: 0 !important;
			width: 100% !important;
			transition: all .2s ease-in-out !important;
			position: relative;
		}
		body .custom-menu ul.sub-menu li a {
			padding: 7px 15px;
			width: 100% !important;
			font-weight: 400 !important;
			transition: all .2s ease-in-out !important;
		}
		body #menu-menu-principal ul.sub-menu li a {
			color: #000 !important;
			font-size: 15px;
			line-height: 1.5em;
		}
		body .custom-menu ul.sub-menu li:hover,
		body .custom-menu ul.sub-menu li.toggled {
			background-color: #f5f5f5;
		}
		body .custom-menu ul.sub-menu li a:hover {
			background-color: transparent;
			opacity: 1;
			padding-left: 20px;
		}

		/* Menu déroulant niveau 2 */
		body .custom-menu ul.sub-menu ul.sub-menu {
			display: block;
			position: relative;
			visibility: visible;
			opacity: 1;
			top: 0;
			left: 0;
			width: auto;
			border-top: none;
			border-bottom: none;
			box-shadow: none;
			display:none;
			transition: none;
			background-color: #f5f5f5 !important;
			padding-top: 0 !important;
			border-radius: 0;
		}
		body .custom-menu ul.sub-menu ul.sub-menu a {
			text-transform: none;
			background:none;
			font-size: 14px !important;
			font-weight: 300 !important;
			padding-left: 25px;
			color: #fff;
		}
		body .custom-menu ul.sub-menu ul.sub-menu li a:hover {
			padding-left: 30px;
		}

		/* Lien Menu actif */
		body .custom-menu #menu-menu-principal ul.sub-menu .current_page_item > a {
			color: #0096c3 !important;
		}
		body .custom-menu ul.sub-menu li {
			display: block;
			width: fit-content;
		}
		body .custom-menu ul.sub-menu li a {
			width:fit-content;
			display: inline-block;
		}

		/* Fleches sous-menu */
		body .custom-menu li li.menu-item-has-children>a:first-child:after,
		body .custom-menu li span.custom-menu-sub-toggle {
			display: none !important;
		}
		body .custom-menu li li span.custom-menu-sub-toggle {
			display: block !important;
		}
		body span.custom-menu-sub-toggle {
			font-family: 'ETmodules';
			font-size: 20px;
			border-radius: 25px;
			display: inline-block;
			line-height: 24px;
			text-align: center;
			width: 25px;
			height: 25px;
			margin: 6px;
			transition: .3s ease;
			cursor: pointer;
			position: absolute;
			right: 0;
			top: 0;
			padding: 0;	
		}
		body span.custom-menu-sub-toggle:hover {
			background-color: #0096c3;
			color: #fff;
		}
		body .toggled > span.custom-menu-sub-toggle {
			transform: rotate(180deg);
			background-color: #0096c3;
			color: #fff;
		}

		/* Menu mobile */
		.custom-menu .et_mobile_menu {
			padding: 0 !important;
		}
		.custom-menu .et_mobile_menu li {
			text-align: left !important;
			position: relative;
		}
		.custom-menu .et_mobile_menu .menu-item-has-children > a {
			background-color: #FFF;
		}
		.custom-menu .et_mobile_menu li.toggled,
		.custom-menu .et_mobile_menu ul.sub-menu li.menu-item-has-children > a,
		.custom-menu .et_mobile_menu li.menu-item-has-children.toggled ul,
		.custom-menu .et_mobile_menu li.menu-item-has-children.toggled > a {
			background-color: #f5f5f5 !important;
		}
		.custom-menu .et_mobile_menu ul.sub-menu {
			border-bottom: solid 2px #fff;
		}
		.custom-menu .et_mobile_menu li a {
			padding: 10px 60px 10px 20px !important;
		}
		.custom-menu .et_mobile_menu ul.sub-menu li a {
			padding: 10px 30px !important;
			font-size: 16px;
		}
		.custom-menu .et_mobile_menu ul.sub-menu ul.sub-menu li a {
			padding: 10px 40px !important;
			font-size: 15px;
		}
		.custom-menu .et_mobile_menu li span.custom-menu-sub-toggle {
			display: block !important;
			line-height: 35px;
			height: 36px;
			width: 36px;
			right: 15px;
		}
		.custom-menu .et_mobile_menu li li span.custom-menu-sub-toggle {
			display: none !important;
		}
		.custom-menu .et_mobile_menu li span.custom-menu-sub-toggle + ul.sub-menu {
			display: none !important;
		}
		.custom-menu .et_mobile_menu li.toggled span.custom-menu-sub-toggle + ul.sub-menu {
			display: block !important;
		}


	/* Bouton contact du header */
	@media (min-width: 981px) {
		.btn-contact {
			margin-top: -5px !important;
			margin-left: 40px !important;
		}
		.btn-contact a {
			padding-bottom: 0 !important;
		}
	}
	.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu .btn-contact a {
		color: #ffffff !important;
		text-align: center !important;
		padding-right: 20px !important;
	}
	.et_mobile_menu .btn-contact {
		margin: 10px 20px 20px;
		text-align: center !important;
	}



	@media (max-width: 1080px) {
		.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu {
			right: -5vw;
			left: auto;
			top: 55px;
			width: 100vw;
			padding-top: 5px !important;
		}
		.et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu {
			right: -5vw;
			left: auto;		
			width: 100vw;
		}
	}
	@media (min-width: 768px) {
		.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu {
			padding: 30px !important;
		}
	}
	.et_mobile_menu {
		padding: 10px !important;
	}
	.et_mobile_menu li {
		text-align: center !important;
	}
	.et_mobile_menu li a {
		border-bottom: none !important;
	}

	/* carrousel de témoignages */
	.carrousel-temoignages .dsm_card_wrapper  {
		display: flex;
		flex-direction: column;
	}
	.carrousel-temoignages .dsm_card_carousel_child_image_wrapper {
		position: unset;
	}
	.carrousel-temoignages .dsm_card_carousel_child_badge_text {
		position: absolute;
		bottom: 30px;
	}
	.carrousel-temoignages .et_pb_module_inner {
		position: relative;
	}
	.carrousel-temoignages .dsm_card_carousel_child_subtitle {
		order: 4;
	}
	.carrousel-temoignages .et_pb_more_button {
		margin-top: 10px;
		margin-bottom: 20px;
	}
	.carrousel-temoignages .et_pb_more_button:after {
		content: " >";
		display: inline-block;
	}

	/* Supreme Card témoignage */
	.temoignage .dsm_card_wrapper  {
		display: flex;
		flex-direction: column;
		height: fit-content;
		/*display: block;*/
	}
	.temoignage .dsm_card_image_wrapper  {
		position: unset;	
	}
	.temoignage .dsm_card_description {
		padding-bottom: 30px;
	}
	.temoignage .dsm_card_badge_text {
		position: absolute;
		bottom: 0px;
	}
	.temoignage .et_pb_module_inner {
		position: relative;
	}
	.temoignage .dsm_card_subtitle {
		order: 4;
	}


	/* Blog */
	.dsm-entry-meta .dsm-meta-seperator:first-child {
		display: none;
	}
	

	/* Animation fond accueil mobile */
	@keyframes bg_animation {
	  0% {
		background-size: 200%;
		  background-position: left top;
	  }

	  50% {
		background-size: 300%;
		  background-position: left bottom;
	  }

	100% {
		background-size: 200%;
		background-position: left top;
	  }
	}

	@media (max-width: 767px) {
		.bg_anim {
			background-position: left top;
			animation-name: bg_animation;
			animation-duration: 30s;
			animation-iteration-count: infinite;
			animation-direction: alternate;
			animation-timing-function: ease-in-out;
		}
	}

/* Blog */
.et_pb_post .entry-featured-image-url img {
	border-radius: 15px;
}
.et_pb_post .entry-featured-image-url .et_overlay {
	border: none !important;
}
.dtb-post-wrap .entry-title {
	line-height: 1.3em !important;
}
.dtb-post-wrap .post-meta {
	color: #000 !important;
}
.dtb-post-wrap .post-meta a {
	color: #0096C3 !important;
}
.dtb-post-wrap .dtb-read-more,
.dtb-blog .more-link {
	text-align: right;
    display: block !important;
}




/* Formations */
.tableau-formation * {
	border: none !important;
}
.tableau-formation th,
.tableau-formation td {
	padding: 5px 0 !important;
	vertical-align: top;
}
.tableau-formation th {
	color: #fff !important;
}
.tableau-formation em {
	font-size: 15px !important;
	font-weight: 300;
}

/* FORMULAIRE */
body .formulaire-op .wpcf7-not-valid {
	border: solid 1px #dc3232 !important;
}

.cv-upload p {
	background-color: #ffffff !important;
	border-radius: 15px;
	padding: 15px !important;
}
.cv-upload label span {
	font-weight: 500;
	font-size:16px;
	
}

.champ-select p {
	background-color: #ffffff !important;
	border-radius: 15px;
	padding: 15px !important;
	margin-top: 10px;
    margin-bottom: 10px;
}

.champ-select select {
    border: none;
    font-size: 16px;
    color: #000 !important;
    font-weight: 500;
    padding-left: 0;
	margin-left: 0;
}

/*Formulaire contact*/
.formulaire-op .wpcf7 input::placeholder, 
.formulaire-op .wpcf7 textarea::placeholder {
    color: #000 !important;
}
.formulaire-op .wpcf7 input:focus, 
.formulaire-op .wpcf7 textarea:focus {
	color: #000 !important;
}
.formulaire-op .wpcf7-text {
	padding:15px!important;
	border-radius: 15px;
	border: none!important;
	  -webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	background-color: #ffffff !important;
	width: 100%;
	font-size:16px;
    color: #000 !important;
	font-weight: 500;
	margin-top:10px;
	margin-bottom:10px;
}
@media (min-width:480px) {
	.flex {
		display:flex;
		margin : 0 -10px;
	}
	.flex-50 {
		width: 50%;
		padding: 0 10px;
	}
	.flex-100 {
		width: 100%;
		padding: 0 10px;
	}

	
}

.formulaire-op .wpcf7-textarea {
  padding:15px;
  border-radius: 15px;
  border: none !important;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
  background-color: #ffffff !important;
  font-size:16px;
  color: #000 !important;
	font-weight: 500;
  width: 100%;
		margin-top:10px;
	margin-bottom:10px;
}

.formulaire-op input.text, input.title, input[type="email"], input[type="text"], input[type="tel"], select, textarea
{
	font-size:16px;
    color: #e85D0F ;
	font-weight: 500;
}

#bouton:hover {
  background-color: rgba(0,0,0,0.0);;
  color: #000!important;
  border: 2px solid #000000;
	  border-radius: 15px;
}
.formulaire-op #form-text{
	margin-bottom:20px;
}
.formulaire-op .formulaire-contact .label-obligatoire {
	color:#000000 !important;
	 font-size:18px;
}

.formulaire-op .link {
	color:#0096C3 !important;
}

/*Formulaire contact*/
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder {
    color: #000000!important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
	color: #000000;
}
.wpcf7-text {
	padding:15px!important;
	border-radius: 15px;
	border: none!important;
	  -webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	background-color: #ffffff !important;
	width: 100%;
	font-size:16px;
    color: #000000 ;
	font-weight: 500;
}

.wpcf7-textarea {
  padding:10px;
  border-radius: 15px;
  border: none !important;
		  -webkit-border-radius: 15px;
	-moz-border-radius: 15px;
  background-color: #ffffff !important;
  font-size:16px;
  color: #000000 ;
	font-weight: 500;
  width: 100%;
}
.wpcf7-submit:hover {
  background-color: #000000!important;
  color: #000!important;
  border: 2px solid #000000;
	border-radius: 15px;
}

input.text, input.title, input[type="email"], input[type="text"], input[type="tel"], select, textarea
{
	font-size:15px;
    color: #000000 ;
	font-weight: 500;
}

#form-text{
	color: #000000 !important;
}

.formulaire-contact .label-obligatoire {
	color:#000000 !important;
	 font-size:15px;
}

.link {
	color:#4d4b4c !important;
}

.wpcf7-date {
	padding:15px!important;
	border-radius: 15px;
	border: none!important;
	  -webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	background-color: #ffffff !important;
	width: 100%;
	font-size:16px;
    color: #000000 ;
	font-weight: 500;
}
.wpcf7-list-item.first {
	margin-left: 0;
}


/*FORMULAIRE RGPD*/
.demande_grpd-data-type-input {
	width:20px !important;
}
#demande_grpd-submit-button {
    color: #003c55!important;
    border: 4px solid #003c55!important;
    border-radius: 100px;
    letter-spacing: 2px;
    font-size: 16px;
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 700!important;
    text-transform: uppercase!important;
	padding:10px 25px !important;
}
.demande_grpd-data-type-label {
	margin-top:0 !important;
}
#demande_grpd-radio-label {
	font-weight:bold !important;
}
.demande_grpd-data-type-input:checked::after,
.demande_grpd-data-type-input:checked::before{
	display:none !important;
}
.demande_grpd-field demande_grpd-field-email {
	margin-bottom:20px !important;
}

.demande_grpd-errors
{
	color:red !important;
}
.demande_grpd-success {
	color:green !important;
}

body #menu-menu-principal ul.sub-menu li.lien-menu-voir-tout a,
body .custom-menu ul.sub-menu li.lien-menu-voir-tout a {
	font-weight: 500 !important;
	color:#0096c3 !important;
}

.et_portfolio_image {
    background: #eee;
}