/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


/*GENERAL*/
.elementor-button-icon svg {
    width: 1.5em;
}
p a {
    color: inherit;
    text-decoration: underline!important;
}
.countdown {
	font-size: 14px;
}
.countdown span {
	color: #3B6E8E;
}


/*HEADER*/


.header_scroll.active {
    height: 54px;
    background-color: #fff;
    padding-top: 0;
    --padding-top: 0;
    filter: drop-shadow(0px 5px 10px #00000052);
}
.header_scroll.active .e-con-inner {
    padding-block-start: 0;
}
.header_cont_scroll.active {
    height: 54px;
    min-height: 54px;
    padding: 0!important;
}

.header_cont_scroll.active .cont_logo {
        background-image: url(/wp-content/uploads/2025/06/logo_site_min-01.svg)!important;
        min-height: 40px;
}
.selecteur_lang .wpml-ls-item-toggle {
    border-radius: 100px;
    padding: 4px 16px;
    font-family: 'Open Sans';
    font-weight: bold;
    background-color: #F2F2F2;
    border: 0;
}
.selecteur_lang .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border-top: none;
}
.selecteur_lang .wpml-ls-link {
    border-radius: 100px;
    padding: 4px 16px;
    font-family: 'Open Sans';
    font-weight: bold;
    background-color: #ffffff;
    border: 0;
}



h2.elementor-heading-title span {
    color: #3b6e8e;
}
.h1_blanc_centre h1.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 0px;
    border-top: 1px solid #fff;
    left: calc(50%);
    bottom: -5px;
}

.h2_blanc_centre h2.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 0px;
    border-top: 1px solid #fff;
    left: calc(50%);
    bottom: -5px;
}

.h2_noir_centre h2.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 0px;
    border-top: 1px solid #3e3e3e;
    left: calc(50%);
    bottom: -5px;
}

.h1_blanc_centre.animated h1.elementor-heading-title:after, .h2_blanc_centre.animated h2.elementor-heading-title:after, .h2_noir_centre.animated h2.elementor-heading-title:after {
    animation: lineh2dst 0.6s ease-in forwards;
    animation-delay: 0.3s; /* Délai de 1 seconde */
}

.h2_noir_gauche h2.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 350px;
    border-top: 1px solid #3e3e3e;
    left: 0;
    bottom: -5px;
}
.h2_noir_centre h3.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 110px;
    border-top: 1px solid #3e3e3e;
    left: calc(50% - 55px);
    bottom: -5px;
}

.h2_noir_gauche.animated h2.elementor-heading-title:after {
    animation: lineh2dstgauche 0.6s ease-in forwards;
    animation-delay: 0.3s; /* Délai de 1 seconde */
}

@keyframes lineh2dst {
    0% {
    width: 0px;
    left: calc(50%);
}
100% {
    width: 350px;
    left: calc(50% - 175px);
}
}

@keyframes lineh2dstgauche {
    0% {
    width: 0px;
}
100% {
    width: 350px;
}
}


.sect_laurier:before {
    content: url("/wp-content/uploads/2025/06/sect_laurier_G.svg");
    position: absolute;
    left: 0;
    top: calc(50% - 283px);
}
.sect_laurier:after {
    content: url("/wp-content/uploads/2025/06/sect_laurier_D.svg");
    position: absolute;
    right: 0;
    top: calc(50% - 283px);
}

.offre_prix.prix_basic:before {
    content: "";
    position: absolute;
    width: 43px;
    border-top: 1px solid #3e3e3e;
    left: calc(50% - 21px);
    bottom: 15px;
}

.offre_prix.prix_silver:before {
    content: "";
    position: absolute;
    width: 43px;
    border-top: 1px solid #DBDBDB;
    left: calc(50% - 21px);
    bottom: 15px;
}
.offre_prix.prix_silver:after {
    content: url("/wp-content/uploads/2025/06/ailes_silver.svg");
    position: absolute;
    left: calc(50% - 83px);
    bottom: 10px;
}


.offre_prix.prix_gold:before {
    content: "";
    position: absolute;
    width: 43px;
    border-top: 1px solid #BCAC77;
    left: calc(50% - 21px);
    bottom: 15px;
}
.offre_prix.prix_gold:after {
    content: url("/wp-content/uploads/2025/06/ailes_gold.svg");
    position: absolute;
    left: calc(50% - 83px);
    bottom: 10px;
}


@media only screen and (max-width : 480px) {
    .sect_laurier:before {
    content: none;
}
.sect_laurier:after {
    content: none;
}
	@keyframes lineh2dst {
    0% {
    width: 0px;
    left: calc(50%);
}
100% {
    width: 50%;
    left: calc(50% - 25%);
}
}

@keyframes lineh2dstgauche {
    0% {
    width: 0px;
	left: calc(50%);
}
100% {
    width: 50%;
	left: calc(50% - 25%);
}
}
}




/*-------------------SECTION AVIS VIDEO-------------------------------*/




.avis_slide .elementor-loop-container {
    display: flex!important;
    gap: 10px!important;
}

/*.avis_slide .elementor-loop-container .avis_video .avis_specialite {
    opacity: 0;
    max-height: 0;
    transition-duration: 0.6s;
    transition-timing-function: ease;
}
.avis_slide .elementor-loop-container .avis_video:hover .avis_specialite {
    max-height: 20px;
    opacity: 1;
}*/

/* État par défaut : tous les éléments à 16% */
.avis_slide .elementor-loop-container .avis-video {
    width: 16%;
    transition: width 0.3s ease;
}
.avis_slide .elementor-loop-container .avis_video_lecteur {
    opacity: 0;
    transition-duration: 0.6s;
}
.avis_slide .elementor-loop-container .avis-video .avis_fond {
    background-size: cover;
}
.avis_slide .elementor-loop-container .avis-video .avis_cont {
        justify-content: space-between;
}

/* Premier élément à 36% par défaut */
.avis_slide .elementor-loop-container .avis-video:first-of-type {
    width: 36%;
}
.avis_slide .elementor-loop-container .avis-video:first-of-type .avis_fond:before {
    background-color: #00000000;
    background-image: linear-gradient(180deg, #00000000 0%, #000000 100%);
}
.avis_slide .elementor-loop-container .avis-video:first-of-type .avis_nom {
    text-align: left;
}
.avis_slide .elementor-loop-container .avis-video:first-of-type .avis_nom:after {
    content: "";
    position: absolute;
    width: 40px;
    border-top: 1px solid #ffffff;
    left: 0;
    bottom: -5px;
}
.avis_slide .elementor-loop-container .avis-video:first-of-type .avis_desc {
    max-height: 500px; /* Une valeur suffisamment grande pour contenir le contenu */
    transition: max-height 0.6s;
    opacity: 1;
}
.avis_slide .elementor-loop-container .avis-video:first-of-type .avis_video_lecteur {
    opacity: 1;
    transition-duration: 0.6s;
}

/* Au survol d'un élément (qui n'est pas le premier), il passe à 36% */
.avis_slide .elementor-loop-container .avis-video:not(:first-of-type):hover {
    width: 36%;
}
.avis_slide .elementor-loop-container .avis-video:not(:first-of-type):hover .avis_video_lecteur {
    opacity: 1;
    transition-duration: 0.6s;
}

/* Quand on survole un élément qui n'est pas le premier,
   le premier élément passe à 16% */
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type {
    width: 16%;
}
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type .avis_nom {
    text-align: center;
}
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type .avis_nom:after {
    width: 80px;
    left: calc(50% - 40px);
}
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type .avis_fond:before {
    background-color: var(--e-global-color-primary);
    background-image: none;
}
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type .avis_video_lecteur {
    opacity: 0;
    transition-duration: 0.6s;
}
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type .avis_cont {
        justify-content: space-between;
}

.avis_slide .elementor-loop-container .avis-video .avis_nom:after {
    content: "";
    position: absolute;
    width: 40px;
    border-top: 1px solid #ffffff;
    left: calc(50% - 20px);
    bottom: -5px;
}
.avis_slide .elementor-loop-container .avis-video:hover .avis_nom:after {
    width: 30px;
    left: 0;
}
.avis_slide .elementor-loop-container .avis-video:hover .avis_nom {
    text-align: left;
}
.avis_slide .elementor-loop-container .avis-video .avis_specialite {
    text-align: center;
}

/*test*/
.avis_slide .swiper-slide-active {
    width: 36%!important;
}
.avis_slide .swiper-slide-active .avis_fond:before {
    background-color: #00000000!important;
    background-image: linear-gradient(180deg, #00000000 0%, #000000 100%)!important;
}
.avis_slide .swiper-slide:hover {
    width: 36%!important;
}
.avis_slide .elementor-loop-container .avis-video {
	interactivity: initial;
}

@media only screen and (max-width : 480px) {
    .avis_slide .swiper-slide {
    height: 230px;
}
.avis_slide .swiper-slide-active {
    width: 80%!important;
    height: 230px;
}
}

/*AVIS VIDEO MOBILE*/

@media only screen and (max-width : 480px) {
.avis_slide .elementor-loop-container {
    flex-direction: column!important;
    gap: 10px!important;
}
/* État par défaut : tous les éléments à 16% */
.avis_slide .elementor-loop-container .avis-video {
    width: 100%;
    transition: width 0.3s ease;
	interactivity: initial;
}
.avis_slide .elementor-loop-container .avis-video .avis_fond {
    background-size: cover;
}

/* Premier élément à 36% par défaut */
.avis_slide .elementor-loop-container .avis-video:first-of-type {
    width: 100%;
    height: 264px;
}
/* Au survol d'un élément (qui n'est pas le premier), il passe à 36% */
.avis_slide .elementor-loop-container .avis-video:not(:first-of-type):hover {
    width: 100%;
}
.avis_slide .elementor-loop-container .avis-video:not(:first-of-type):hover .avis_fond {
    height: 278px;
}
/* Quand on survole un élément qui n'est pas le premier,
   le premier élément passe à 16% */
.avis_slide .elementor-loop-container:has(.avis-video:not(:first-of-type):hover) .avis-video:first-of-type {
    width: 100%;
    height: 120px;
}
.avis_slide .elementor-loop-container .avis-video .avis_nom.avis_nom:after {
    width: 30px;
    left: 0;
}
.avis_slide .elementor-loop-container .avis-video .avis_specialite {
    text-align: left;
}
}

/*AVIS GOOGLE*/
.avis_google .ti-widget.ti-goog .ti-verified-by-row {
    display: none;
}






/*-------------------SECTION EQUIPE------------------------*/


.equipe_slide .elementor-loop-container {
    display: flex!important;
    gap: 10px!important;
}
/* État par défaut : tous les éléments à 16% */
.equipe_slide .elementor-loop-container .equipe {
    width: 16%;
    transition: width 0.3s ease;
}
.equipe_slide .elementor-loop-container .equipe .equipe_fond {
    background-size: cover;
}

/* Premier élément à 36% par défaut */
.equipe_slide .elementor-loop-container .equipe:first-of-type {
    width: 36%;
}
.equipe_slide .elementor-loop-container .equipe:first-of-type .equipe_fond:before {
    background-color: transparent;
    --background-overlay: '';
    background-image: linear-gradient(180deg, #00000000 0%, #000000 100%);
}
.equipe_slide .elementor-loop-container .equipe:first-of-type .equipe_nom {
    text-align: left;
}
.equipe_slide .elementor-loop-container .equipe:first-of-type .equipe_nom:after {
    content: "";
    position: absolute;
    width: 40px;
    border-top: 1px solid #ffffff;
    left: 0;
    bottom: -5px;
}
.equipe_slide .elementor-loop-container .equipe:first-of-type .equipe_desc {
    max-height: 500px; /* Une valeur suffisamment grande pour contenir le contenu */
    transition: max-height 0.6s;
    opacity: 1;
    display: block;
}
.equipe_slide .elementor-loop-container .equipe:first-of-type .equipe_video {
    opacity: 1;
    transition-duration: 0.6s;
    display: block;
}

/* Au survol d'un élément (qui n'est pas le premier), il passe à 36% */
.equipe_slide .elementor-loop-container .equipe:not(:first-of-type):hover {
    width: 36%;
}

/* Quand on survole un élément qui n'est pas le premier,
   le premier élément passe à 16% */
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type {
    width: 16%;
}
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type .equipe_nom {
    text-align: center;
}
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type .equipe_nom:after {
    width: 80px;
    left: calc(50% - 40px);
}
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type .equipe_desc {
    max-height: 0;
    opacity: 0;
}
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type .equipe_fond:before {
    background-color: var(--e-global-color-primary);
    background-image: none;
}
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type .equipe_video {
    opacity: 0;
    transition-duration: 0.6s;
    display: none;
}


/*EQUIPE MOBILE*/
@media only screen and (max-width : 480px) {
.equipe_slide .elementor-loop-container {
    flex-direction: column!important;
    gap: 10px!important;
}
/* État par défaut : tous les éléments à 16% */
.equipe_slide .elementor-loop-container .equipe {
    width: 100%;
    transition: width 0.3s ease;
}
.equipe_slide .elementor-loop-container .equipe .equipe_fond {
    background-size: cover;
}

/* Premier élément à 36% par défaut */
.equipe_slide .elementor-loop-container .equipe:first-of-type {
    width: 100%;
    height: 264px;
}
/* Au survol d'un élément (qui n'est pas le premier), il passe à 36% */
.equipe_slide .elementor-loop-container .equipe:not(:first-of-type):hover {
    width: 100%;
}
.equipe_slide .elementor-loop-container .equipe:not(:first-of-type):hover .equipe_fond {
    height: 264px;
}
/* Quand on survole un élément qui n'est pas le premier,
   le premier élément passe à 16% */
.equipe_slide .elementor-loop-container:has(.equipe:not(:first-of-type):hover) .equipe:first-of-type {
    width: 100%;
    height: 100px;
}
}









.equipe_slide .elementor-loop-container .equipe .equipe_specialite {
    opacity: 0;
    max-height: 0;
    transition-duration: 0.6s;
    transition-timing-function: ease;
}
.equipe_slide .elementor-loop-container .equipe:hover .equipe_specialite {
    max-height: 20px;
    opacity: 1;
}

.equipe_slide .elementor-loop-container .equipe .equipe_nom {
  
}
.equipe_slide .elementor-loop-container .equipe .equipe_nom:after {
    content: "";
    position: absolute;
    width: 80px;
    border-top: 1px solid #ffffff;
    left: calc(50% - 40px);
    bottom: -5px;
}
.equipe_slide .elementor-loop-container .equipe:hover .equipe_nom:after {
    width: 40px;
    left: 0;
}
.equipe_slide .elementor-loop-container .equipe:hover .equipe_nom {
    text-align: left;
}

.equipe_sect {
    transition-duration: 0.6s!important;
     transition: height 0.6s ease; /* Ou utiliser 'all' pour animer toutes les propriétés */
}

.equipe_slide .elementor-loop-container .equipe .equipe_desc {
/*    height: 0;*/
    opacity: 0;
    transition: height 0.6s, opacity 0.6s; /* Spécifier les propriétés à animer améliore la performance */
    overflow: hidden; /* Cacher le contenu qui dépasse */
    transition-timing-function: ease;
}

.equipe_slide .elementor-loop-container .equipe:hover .equipe_desc {
    height: auto; /* Utiliser 'auto' pour une hauteur flexible */
    opacity: 1;
    transition: max-height 0.6s, opacity 0.6s;
    transition-timing-function: ease;
}

/* Pour utiliser max-height comme alternative pour animer la hauteur */
.equipe_slide .elementor-loop-container .equipe .equipe_desc {
    max-height: 0; /* au lieu de height: 0 */
    transition: max-height 0.6s;
}

.equipe_slide .elementor-loop-container .equipe:hover .equipe_desc {
    max-height: 500px; /* Une valeur suffisamment grande pour contenir le contenu */
    transition: max-height 0.6s;
}

/*FOOTER*/
.h2_noir_gauche_footer h2.elementor-heading-title:after {
    content: "";
    position: absolute;
    width: 160px;
    border-top: 1px solid #3e3e3e;
    left: 0;
    bottom: -5px;
}
#sect_contact a, .sect_credits a {
    color: #fff;
    text-decoration: underline;
}
.maps_lieux .i4ewOd-pzNkMb-tJHJj, .maps_lieux .i4ewOd-pzNkMb-haAclf {
    display: none!important;
}