/*
 Theme Name:     Soham
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Kevin Perez
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
/* ========= Général ========= */
#page-container{
	max-width: 100vw;
	overflow-x: hidden;
}
@media all and (min-width: 1921px){
	#page-container{
		max-width: 1920px;
		margin: 0 auto;
	}
}
.o-flexbox{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
 	-webkit-box-align: center;
 	    -ms-flex-align: center;
 	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
/*Preloader*/
.c-loader {
    width: 100vw;
    height: 100%;
    max-height: 100vh;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 10002;
}
.c-loader__logo{
  width: 240px;
	opacity: 0;
  -webkit-animation: loader 1.25s infinite 0.5s alternate ease-in-out;
          animation: loader 1.25s infinite 0.5s alternate ease-in-out;
}
.c-loader.is-loaded {
    -webkit-transition: opacity 0.3s, -webkit-transform 0s 0.4s;
    transition: opacity 0.3s, -webkit-transform 0s 0.4s;
    -o-transition: opacity 0.3s, transform 0s 0.4s;
    transition: opacity 0.3s, transform 0s 0.4s;
    transition: opacity 0.3s, transform 0s 0.4s, -webkit-transform 0s 0.4s;
    opacity: 0;
    -webkit-transform: translateX(-100vw);
    -ms-transform: translateX(-100vw);
    transform: translateX(-100vw);
}
@-webkit-keyframes loader {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loader {
	0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.c-loader__section{
	width: 52%;
	height: 100%;
	position: fixed;
	background: #2B303A;
	-webkit-transition: transform 1s 0.5s;
	-o-transition: transform 1s 0.5s;
	-webkit-transition: -webkit-transform 1s 0.5s;
	transition: -webkit-transform 1s 0.5s;
	transition: transform 1s 0.5s;
	transition: transform 1s 0.5s, -webkit-transform 1s 0.5s;
	z-index: 10001;
	top: 0;
}
.c-loader__section--left{
	left: -1%;
}
.c-loader__section--right{
	right: -1%;
}
.c-loader__section--left.is-loaded{
	-webkit-transform: translateX(-100%);
	    -ms-transform: translateX(-100%);
	        transform: translateX(-100%);
}
.c-loader__section--right.is-loaded{
	-webkit-transform: translateX(100%);
	    -ms-transform: translateX(100%);
	        transform: translateX(100%);
}
.c-loader.is-loaded{
	-webkit-transition: opacity 0.3s, -webkit-transform 0s 0.4s;
	transition: opacity 0.3s, -webkit-transform 0s 0.4s;
	-o-transition: opacity 0.3s, transform 0s 0.4s;
	transition: opacity 0.3s, transform 0s 0.4s;
	transition: opacity 0.3s, transform 0s 0.4s, -webkit-transform 0s 0.4s;
	opacity: 0;
	-webkit-transform: translateX(-100vw);
	    -ms-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
#page-container.is-loaded{/*Showing website once loaded*/
	opacity: 1 !important;
}

/*Suppression des espaces header et footer standards*/
#main-header, #main-footer {
	display: none;
}
#page-container{
	padding-top: 0!important;
}
/*Stylisation de la scrollbar*/
body{
  scrollbar-color: #FBE032 #061A19;
}
::-webkit-scrollbar{
  background: #061A19;
	width: 1rem;
}
::-webkit-scrollbar-thumb{
  background-color: #FBE032;
}
::-moz-selection{
	background: #FBE032;
}
::selection{
	background: #FBE032;
}
/*Bouton de retour en haut d'écran*/
.et_pb_scroll_top.et-pb-icon{
	background: #E48900;
	font-size: 20px;
	padding: 10px;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	bottom: 45px;
}
/*Centrage vertical de colonne (ou autre)*/
.o-vertical-col{
	display: flex;
  	flex-direction: column;
  	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}
.o-flex-aligned{
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}
.o-col--flex{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.et_pb_column.et_pb_column_empty.o-col--non-empty{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
/*Bug icons buttons*/
.o-icon-btn:after{
	display: inline-block!important;
	margin-left: 0.8em!important;
}
/*Typographie*/
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3, .et_pb_text h4, .et_pb_text h5, .et_pb_text h6{
	padding-bottom: 0;
}
.et_pb_text:not(.o-solo-txt) h1,.et_pb_text:not(.o-solo-txt) h2,.et_pb_text:not(.o-solo-txt) h3,.et_pb_text:not(.o-solo-txt) h4,.et_pb_text:not(.o-solo-txt) h5,.et_pb_text:not(.o-solo-txt) h6{
	margin-bottom: 20px;
}
.et_pb_text:not(.o-solo-txt) h1{
	margin-bottom: 30px;
}
.o-a{
	color: #49ABA3;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	text-decoration: underline;
}
.o-a:hover{
	color: #F0B519;
	text-decoration: underline;
}
.o-ul ul li:not(:last-child){
	margin-bottom: 15px;
}
.et_pb_text.o-ul ul{
	padding: 0;
}
.o-ul::before{
	margin-bottom: 15px;
}
.dsm-faq-content ul{
	margin-top: 30px;
}
/*Lien avec ligne latérale - CSS additionnel pour forcer l'application de certains styles*/
.o-link-lined{
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.o-link-lined::before{
	content:'';
	display: inline-block;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 2px;
	width: 10px;
	background: #f0b519;
	margin-right: 15px;
	max-width: 150px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.o-link-lined--fff::before{
	background: #fff;
}
.o-link-lined:hover::before{
	background: #e48900;
}
/* ========= Développements spécifiques ========= */
/* ========= Accueil */
@media all and (max-width: 1600px) and (min-width: 981px){
	.o-fili-header{
		display: none;
	}
}
@media all and (max-width: 1400px){
	.et_pb_image.o-logo{
		left: -20px;
	}
	.o-header .o-lined-title{
		position: relative;
		margin-top: 10px;
	}
	.o-header .o-lined-title:before, .o-header .o-lined-title:after{
		content: '';
		background: #fff;
		position: absolute;
	}
	.o-header .o-lined-title:before{
		width: 2rem;
		left: calc(-5vw - 1rem);
		height: calc(50% + 30px);
		top: -30px;
	}
	.o-header .o-lined-title:after{
		width: 2.5vw;
		left: -5vw;
		height: 2px;
		top: 50%;
		background: #5b6e6d;
	}
}
@media all and (max-width: 767px){
	.o-header .o-lined-title:before{
		left: calc(-8vw - 1rem);
		height: calc(50% + 30px);
		top: -30px;
	}
	.o-header .o-lined-title:after{
		width: 4vw;
		left: -8vw;
	}
}
/*Barre de changement*/
.o-change-bar{
	width: 100%;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	color: #5B6E6D;
	gap: 15px;
	max-width: 750px;
}
.o-change-bar--fff{
	color: #fff;
}
.o-change-bar__txt{
	font-size: 18px;
}
.o-change-bar__txt:last-child{
	text-align: right;
}
.o-change-bar__shape{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	position: relative;
	height: 12px;
	min-width: 100px;
	border-radius: 10px;
	background-image: -webkit-gradient(linear, left top, right top, from(#FBE032), to(#E48900));
	background-image: -o-linear-gradient(left, #FBE032, #E48900);
	background-image: linear-gradient(to right, #FBE032, #E48900);
}
.o-change-bar__shape:not(.o-change-bar__shape--noloc)::before{
	content: '';
	position: absolute;
	bottom: -36px;
    height: 23px;
    content: url('/wp-content/uploads/2023/09/arrow-prestas.png');
	-webkit-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}
.o-change-bar__shape--ayur::before{
	left: 20%;
}
.o-change-bar__shape--int::before{
	left: 50%;
}
.o-change-bar__shape--energ::before{
	left: 70%;
}
.o-change-bar--4mains .o-change-bar__shape::after{
	content: '';
	position: absolute;
	top: -36px;
    height: 23px;
	right: 40%;
    content: url('/wp-content/uploads/2023/09/arrow-prestas.png');
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
}

@media all and (max-width: 1350px) and (min-width: 981px), all and (max-width: 675px){
	.o-change-bar{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 10px;
	}
	.o-change-bar__shape{
		width: 100%;
		-webkit-box-flex: 1;
		    -ms-flex: auto;
		        flex: auto;
	}
	.o-change-bar__txt{
		margin-right: auto;
		max-width: 120px;
	}
	.o-change-bar__txt:last-child{
		margin-right: 0;
		margin-left: auto;
	}
}
@media all and (max-width: 480px){
	.o-change-bar__txt{
		font-size: 17px;
	}
}

/* Carrousel Accueil */
@media all and (max-width: 1300px) and (min-width: 981px){
	div.et_pb_section.o-section--carrousel{
		padding-right: 0;
	}
	div.et_pb_section.o-section--carrousel .et_pb_row{
		padding-left: 0px !important;
	}
}
.dsm_advanced_tabs.o-tabs .dsm-advanced-tabs-container .dsm-advanced-tabs-wrapper{
	padding: 70px 5vw 70px 20px;
	display: -webkit-box!important;
	display: -ms-flexbox!important;
	display: flex!important;
}
.dsm_advanced_tabs.o-tabs .dsm-advanced-tabs-wrapper:before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 12px;
	border-radius: 9px;
	height: calc(100% - 140px);
	margin: 70px 0;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#FBE032), to(#E48900));
	background-image: -o-linear-gradient(top, #FBE032, #E48900);
	background-image: linear-gradient(to bottom, #FBE032, #E48900);
}
.dsm_advanced_tabs.o-tabs .dsm-tab.dsm-active::before{
	background: none;
	height: 23px;
	right: auto;
	left: -55px;
	-webkit-clip-path: none;
	        clip-path: none;
	content: url("/wp-content/uploads/2023/09/arrow-prestas.png");
}
.dsm_advanced_tabs.o-tabs .dsm-tab .dsm-title, .dsm_advanced_tabs.o-tabs .dsm-tab .dsm-title a{
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.dsm_advanced_tabs .et_pb_video_box video, .o-vid .et_pb_video_box video{
	max-height: 500px;
}
/*Carrousel avis*/
.o-avis.et_pb_slider .et-pb-controllers a:not(.et-pb-active-control){
	background: #31726D;
}
.o-avis.et_pb_slider .et-pb-controllers a{
	width: 16px;
	height: 16px;
	border-radius: 16px;
	margin: 0 8px;
	text-align: center;
	color: #31726D;
}
.o-avis.et_pb_slider .et-pb-controllers a.et-pb-active-control{
	color: #F0B519;
}
.o-avis.et_pb_slider .et-pb-controllers{
	text-align: right;
}
.o-avis .et-pb-arrow-next, .o-avis .et-pb-arrow-prev{
	opacity: 1;
	font-size: 20px;
	padding: 8px;
	border-radius: 30px;
	background: #31726D;
	line-height: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.o-avis .et-pb-arrow-next:hover, .o-avis .et-pb-arrow-prev:hover{
	background: #F0B519;
}
.o-avis .et-pb-arrow-prev:before{
	content: "\44";
}
.o-avis .et-pb-arrow-next:before{
	content: "\45";
}
.o-avis .et-pb-arrow-prev, .o-avis.et_pb_slider:hover .et-pb-arrow-prev{
	left: 0;
}
.o-avis .et-pb-arrow-next, .o-avis.et_pb_slider:hover .et-pb-arrow-next{
	right: 0;
}
.o-avis .et_pb_slide_content p:last-child{
	font-style: normal;
	color: #B7CBCA;
	margin-top: 20px;
}
.o-avis .et_pb_slide_content p:last-child strong{
	color: #fff;
	font-size: 22px;
}
@media all and (max-width: 380px){
	.o-avis.et_pb_slider{
		padding-bottom: 60px;
	}
	.o-avis.et_pb_slider .et-pb-controllers{
		text-align: left;
		left: 12%;
	}
}

/* ========= Pages de contenus */
/*Vidéo d'intro*/
.o-vid .et_pb_video_box video{
	max-height: 500px;
}
.et_pb_video.o-flexbox .et_pb_video_box{
	min-width: 100%;
}
/*Navigation à ancres*/
.et_pb_column.o-anchor{
	min-height: 70px;
	padding-top: 5px;
}
.et_pb_column.o-anchor.o-anchor--active{
	background: #f0b519;
}
.et_pb_sticky .o-anchor{
	min-height: 58px;
}
/*Titre avec prix*/
.o-price-title{
	width: 100%;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	color: #15312f;
	gap: 25px;
	max-width: 750px;
	font-weight: 700;
}
h2.o-price-title__txt{
	padding: 0;
	line-height: 1.2;
	font-size: 28px;
}
.o-price-title--fff, .o-price-title--fff h2.o-price-title__txt{
	color: #fff;
}
.o-price-title__price{
	font-size: 26px;
	line-height: 1.2;
	min-width: 60px;
	text-align: right;
}
.o-price-title__price .u-color{
	color: #e48900;
	white-space: nowrap;
}
.o-price-title__bar{
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 2px;
	min-width: 17px;
	background: #A8B8B7;
}
@media all and (max-width: 980px){
	h2.o-price-title__txt{
		font-size: 26px;
	}
	.o-price-title__price{
		font-size: 24px;
	}
}
@media all and (max-width: 768px){
	h2.o-price-title__txt{
		font-size: 24px;
	}
	.o-price-title__price{
		font-size: 23px;
	}
}
@media all and (max-width: 500px){
	.o-price-title__price{
		white-space: wrap;
	}
	.o-price-title{
		gap: 15px;
	}
}
/*Multiples videos*/
.o-video, .o-video--hg{
	background: #000;
}
.o-video .et_pb_video_box video{
	height: 400px!important;
}
.o-video--hg .et_pb_video_box video{
	height: 600px!important;
}

/* ========= Navigation cross-pages */
/* === Stylisation de la nav principale === */
#menu-navigation-principale, #menu-navigation-principale-1{
	gap: 1.25rem;
}
.o-main-menu-col .et-menu li .sub-menu li a{
	width: 100%;
}
.o-main-menu-col .et-menu li{
	padding: 0;
}
.o-main-menu-col .nav li ul.sub-menu{
	width: 350px;
}
.o-main-menu-col .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li{
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.o-main-menu-col .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a{
	padding-bottom: 0;
}
.o-main-menu-col, .o-main-menu-col .et_pb_menu,
.o-main-menu-col .et_pb_menu .et_pb_menu_inner_container{
	height: 100%;
}
/* MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer */
.o-main-menu-col .et_mobile_menu {
	padding: 5%;
	width: 100vw;
	position: fixed;
	left: 0;
	top: 69px;
}
.o-main-menu-col .mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}

/* === Stylisation du footer === */
/*S filigrane de Soham*/
@media all and (max-width: 1530px) and (min-width: 1301px){
	.et_pb_image.o-footer__s-soham{
		top: -19px;
	}
}
@media all and (max-width: 1400px) and (min-width: 1301px){
	.et_pb_image.o-footer__s-soham{
		top: 0px;
	}
}
@media all and (max-width: 1250px){
	.et_pb_image.o-footer__s-soham{
		top: -16px;
	}
}
@media all and (max-width: 900px){
	.et_pb_image.o-footer__s-soham{
		top: 20px;
	}
}
@media all and (min-width: 768px){
	.et_pb_row .et_pb_column.o-footer__logo-col{
	width: 250px;
	}
	.et_pb_row .et_pb_column.o-footer__contacts{
		width: 390px;
	}
	.et_pb_row .et_pb_column.o-footer__opt-in-col{
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		width: auto;
		max-width: 1000px;
	}
	.o-footer__row{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}
.et_pb_row.et_pb_equal_columns.o-footer__rowtocome, 
#page-container #et-boc .et-l .et_pb_row.et_pb_equal_columns.o-footer__rowtocome{
	display: none;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
#menu-footer-nav>li>a{
	margin-bottom: 15px;
}
#menu-footer-nav-1>li>a{
	margin-bottom: 10px;
}
@media all and (max-width: 1300px){
	.o-footer__coltogo{
		display: none;
	}
	.et_pb_row.et_pb_equal_columns.o-footer__rowtocome, 
	#page-container #et-boc .et-l .et_pb_row.et_pb_equal_columns.o-footer__rowtocome{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.et_pb_row.et_pb_equal_columns>.et_pb_column.o-footer__colfullwidth, 
	#page-container #et-boc .et-l .et_pb_row.et_pb_equal_columns>.et_pb_column.o-footer__colfullwidth{
		width: 100%;
	}
}
@media all and (max-width: 980px) and (min-width: 768px){
	.et_pb_column.o-footer__50col{
		width: 50%;
	}
}

.o-footer__contacts-el .et_pb_blurb_content .et_pb_blurb_container{
	vertical-align: middle;
}
.o-footer__contacts-el .et_pb_blurb_content .et_pb_main_blurb_image{
	vertical-align: middle;
	text-align: center;
}
/* Désactiver menu mobile pour navigation footer + stylisation */
.no-mobile-menu.et_pb_menu .et_pb_menu__menu, .no-mobile-menu.et_pb_fullwidth_menu .et_pb_menu__menu, 
#page-container #et-boc .et-l .no-mobile-menu.et_pb_menu .et_pb_menu__menu, 
#page-container #et-boc .et-l .no-mobile-menu.et_pb_fullwidth_menu .et_pb_menu__menu{
    display: -webkit-box!important;
    display: -ms-flexbox!important;
    display: flex!important;
}
.no-mobile-menu .et_mobile_nav_menu, #page-container #et-boc .et-l .no-mobile-menu .et_mobile_nav_menu {
    display: none;
}
@media all and (max-width: 980px){
	.o-vertical-aligned.et_pb_menu--style-left_aligned .et_pb_menu__wrap, 
	#page-container #et-boc .et-l .o-vertical-aligned.et_pb_menu--style-left_aligned .et_pb_menu__wrap, 
	.no-mobile-menu.et_pb_menu .et_pb_menu__wrap{
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}
}
.o-footer__linkcol, #page-container #et-boc .et-l .o-footer__linkcol{
	min-width: 270px;
	width: auto;
}
.no-mobile-menu.et_pb_menu .et_pb_menu__menu>nav>ul{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
/*Form*/
.o-form .et_pb_button:after{
	margin-left: 0.8em!important;
	margin-bottom: 0.1em!important;
	top: 17px;
}
.o-form form p:last-of-type{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-top: 1rem;
}
.o-form .wpcf7-list-item{
	margin: 0;
}
.o-form .captcha-image .cf7ic_instructions span{
	color: #F0B519;
}
.o-form .captcha-image label > input:checked + svg, .o-form .captcha-image label > input:focus + svg{
	border: 2px solid #F0B519;
}
.o-form .captcha-image{
	font-size: 18px;
	padding: 25px 20px 15px 20px;
}
@media all and (max-width: 979px){
	.o-form .captcha-image{
		font-size: 17px;
	}
}
@media all and (max-width: 767px){
	.o-form .captcha-image{
		font-size: 16px;
	}
}
.o-form .captcha-image .cf7ic_instructions{
	margin-bottom: 10px;
}
.o-form.dsm_contact_form_7_0 .wpcf7-not-valid-tip{
	margin-top: 10px;
}