/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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
*/

/* Add your custom styles here */

.mbottom-0 p {
    margin-bottom: 0 !important;
}

.teo-flex-start div.e-con-inner {
    justify-content: flex-start !important;
}

.teo-radius-filter button.e-filter-item[aria-pressed="true"] {
    border-radius: 25px !important;
}

.teo-radius-filter button:hover {
    border-radius: 25px !important;
}


@media (max-width:1024px) {
    /* #teo-menuMobile .e-n-menu-heading {
        border-top: 1px solid var(--white-color);
        padding-top: 10px;
        padding-bottom: 10px;
        background-color: var(--main-color) !important;
    } */
}



/* body, */
.teo-main-logo-js,
.teo-main-header-js {
    transition: all 0.3s ease-in-out;
}

/* START HEADER ----------------------------------------------------------------------- */
.teo-main-header-js {
    background-color: rgba(255, 255, 255, 0);
    z-index: 9999;
}

.teo-main-header-js .teo-menu-top nav ul li a {
    color: #ffffff !important;
}

.teo-main-header-js .teo-menu-top nav ul li a::after {
    background-color: #ffffff !important;
}

/* menu principal */
.teo-main-header-js .teo-menu-top nav ul li a span .icon-chevron-bottom-menu-black:before {
    content: "\e900";
    font-size: 10px;
    font-weight: 400;
    color: #ffffff !important;
}

.teo-main-header-js .teo-menu-top nav ul li a span svg {
    fill: #ffffff !important;
}



/* menu déroulant */
.teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span .icon-chevron-bottom-menu-black:before {
    content: "\e900";
    font-size: 10px;
    font-weight: 400;
    color: #000000 !important;
}

.teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span svg {
    fill: #000000 !important;
}


.teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a {
    color: #000000 !important;
}

.teo-main-header-js .teo-menu-top nav ul li ul.sub-menu ul.sub-menu li a {
    border-left: 1px solid rgba(0, 0, 0, 0.5);
}

.teo-main-header-js.scrolled {
    height: 80px;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    position: fixed;
    top: 0;
}


.teo-main-header-js.scrolled #teo-header-row {
    padding: 0;
}

.teo-main-header-js.scrolled .teo-main-logo-js {
    height: 50px;
}

.teo-main-header-js.scrolled .teo-main-logo-js img {
    height: 50px !important;
    width: auto !important;
}

/* END HEADER ------------------------------------------------------------------------- */


/* START HEADER WHITE ----------------------------------------------------------------------- */
.logo-menu-white {
    display: none;
}

body.teo-body-scroll .logo-menu-transparent,
body.teo-white-menu .logo-menu-transparent {
    display: none;
}

body.teo-body-scroll .logo-menu-white,
body.teo-white-menu .logo-menu-white {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

body.teo-body-scroll .teo-main-header-js,
body.teo-white-menu .teo-main-header-js {
    background-color: rgba(255, 255, 255, 1) !important;
    z-index: 9999;
}

.teo-menu-burger svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

body.teo-body-scroll .teo-main-header-js .teo-menu-burger svg {
    fill: #000000 !important;
    stroke: #000000 !important;
}

body.teo-white-menu .teo-main-header-js .teo-menu-burger svg {
    fill: #000000 !important;
    stroke: #000000 !important;
}


body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li a::after,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li a::after {
    background-color: #000 !important;
}

body.teo-body-scroll .teo-main-header-js .teo-connexion-top i::before,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li a span .icon-chevron-bottom-menu-black:before,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span .icon-chevron-bottom-menu-black:before,
body.teo-body-scroll .cpel-switcher__lang a,
body.teo-body-scroll i.cpel-switcher__icon.fas.fa-caret-down,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li a,
body.teo-white-menu .teo-main-header-js .teo-connexion-top i::before,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li a span .icon-chevron-bottom-menu-black:before,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span .icon-chevron-bottom-menu-black:before,
body.teo-white-menu .cpel-switcher__lang a,
body.teo-white-menu i.cpel-switcher__icon.fas.fa-caret-down,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li a {
    color: #000 !important;
}

body.teo-body-scroll .teo-main-header-js .teo-logout-top svg,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span svg,
body.teo-body-scroll .teo-main-header-js .teo-menu-top nav ul li a span svg,
body.teo-white-menu .teo-main-header-js .teo-logout-top svg,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li ul.sub-menu li a span svg,
body.teo-white-menu .teo-main-header-js .teo-menu-top nav ul li a span svg {
    fill: #000 !important;
}

.teo-menu-top nav ul li a:hover {
    opacity: 0.5 !important;
}

.teo-menu-top nav ul li ul.sub-menu li a:hover {
    opacity: 1 !important;
    text-decoration: underline;
}

.teo-menu-top nav ul li ul.sub-menu li a:hover span {
    opacity: 0 !important;
    text-decoration: none;
}

.cta-reserver-small {
    display: none;
}

/** 
Connexion = teo-showOnMobile teo-showOnNotLog / menu-item-5748
membres = teo-showOnMobile teo-showOnLogin / menu-item-5749
deconnexion = teo-showOnMobile teo-showOnLogin / menu-item-6477
langue = teo-showOnMobile / .menu-item-5726
 */

/**
 * PADDING TOP MENU DESKTOP SI CONNEXION
 */
body.logged-in .teo-menu-top ul li a {
    padding-left: 10px !important;
    padding-right: 10px !important;
}


/* showIsLogin */
@media (min-width:1024px) {

    .menu-item-5726,
    .teo-showOnMobile {
        display: none !important;
    }

    body.logged-in .menu-item-5749 {
        display: flex !important;
    }

}


#teo-cta-burger {
    cursor: pointer;
    transition: transform 0.3s ease;
}

#teo-menu-mobile .elementor-menu-toggle {
    display: none;
}

#teo-menu-mobile .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    margin-top: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    z-index: 9999;
    position: fixed;
    width: 100%;
    padding: 15px 20px 15px 10px;
}

body.teo-body-scroll #teo-menu-mobile .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    margin-top: 80px;
}

@media (min-width:1389px) and (max-width: 1440px) {
    .wrapper-nav-right {
        padding-left: 2px !important;
    }
}

@media (max-width:1388px) {
    .cta-reserver-big {
        display: none;
    }

    .cta-reserver-small {
        display: block;
    }

    .wrapper-nav-left {
        width: 200px !important;
    }

    .wrapper-nav-right {
        width: 100% !important;
    }

    .teo-menu-top ul li a {
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    body.logged-in .teo-menu-top ul li a {
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 15px !important;
    }

}



@media (max-width:1023px) {

    /* .teo-main-header-js {
        position: relative !important;
        width: 100%;
        height: 70px;
        background-color: rgba(0, 0, 0, 0.3);
        ;
    } */

    /* #teo-menu-top.elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon svg {
        fill: var(--main-color);
    }

    #teo-menu-top ul li:first-child div {
        padding-top: 1em;
    }

    #teo-menu-top ul li:last-child div {
        padding-bottom: 1em;
    }



    .teo-main-header-js.scrolled .teo-main-logo-js img,
    .teo-main-header-js.scrolled .teo-main-logo-js {
        height: 40px;
    } */
}

/* END HEADER ------------------------------------------------------------------------- */

/* START BLOG ------------------------------------------------------------------------- */

/* END BLOG ------------------------------------------------------------------------- */

/* START HEADER PAGE ------------------------------------------------------------------ */
.teo-breadcrumbs #breadcrumbs span a {
    text-decoration: underline;
}

/* END HEADER PAGE -------------------------------------------------------------------- */

/* START AVIS / TEMOIGNAGE ------------------------------------------------------------------ */
.teo-etoile-1 p::before {
    content: url(assets/img/teo-etoile-1.svg);
    display: inline-block;
    width: 115px;
}

.teo-etoile-2 p::before {
    content: url(assets/img/teo-etoile-2.svg);
    display: inline-block;
    width: 115px;
}

.teo-etoile-3 p::before {
    content: url(assets/img/teo-etoile-3.svg);
    display: inline-block;
    width: 115px;
}

.teo-etoile-4 p::before {
    content: url(assets/img/teo-etoile-4.svg);
    display: inline-block;
    width: 115px;
}

.teo-etoile-5 p::before {
    content: url(assets/img/teo-etoile-5.svg);
    display: inline-block;
    width: 115px;
}

/* END AVIS / TEMOIGNAGE ------------------------------------------------------------------ */

/* STRAT FOOTER ----------------------------------------------------------------------- */
#cta-gototop {
    display: none;
    transition: all 0.3s ease-in-out;
}

#cta-gototop.teo-show {
    display: block;
}

@media (min-width:1024px) {
    .teo-mlegales ul {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        column-gap: 22px;
    }
}

@media (min-width:1024px) and (max-width:1366px) {
    .teo-mlegales ul {
        column-gap: 15px;
    }
}

/* END FOOTER ------------------------------------------------------------------------- */

/* START HOME ------------------------------------------------------------------------- */
.teo-home-push {
    max-width: 450px !important;
    margin: 0 auto;
}

.teo-home-event {
    max-width: 520px !important;
    margin: auto;
}

.teo-slider-home .swiper-slide-inner {
    width: 1440px !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.teo-slider-home .swiper-slide-inner .elementor-slide-description {
    width: 60% !important;
    max-width: 100% !important;
}

.elementor-slides .swiper-slide-bg {
    background-position: top right !important;
}

.teo-slider-home .swiper-pagination {
    padding-block-end: 20px;
}

.teo-slider-home .swiper-pagination-bullet {
    width: 15% !important;
    border-radius: 0 !important;
    height: 4px !important;
}

.teo-chevron-boucles svg {
    width: 8px !important;
    transition: all 0.3s ease-in-out;
}

.teo-chevron-boucles a:hover {
    text-decoration: underline;
}

.teo-chevron-boucles a:hover svg {
    transform: translateX(5px);
}

.teo-chevron-revue svg {
    width: 16px !important;
    transition: all 0.3s ease-in-out;
}

.teo-slider-arrow i.icon {
    background-color: #ffffff;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;

}

.teo-slider-arrow i.icon:before {
    font-size: 14px;
}

.teo-slider-arrow:not(.wFull) i.icon.icon-slider-btn-left {
    transform: translateX(-35px);
}

.teo-slider-arrow:not(.wFull) i.icon.icon-slider-btn-right {
    transform: translateX(35px);
}

.teo-slider-arrow.wFull .swiper-pagination {
    margin-bottom: 40px;
}

.teo-link-underline.footer-right a:hover {
    text-decoration: underline;
    color: #CA272C;
}

.teo-link-underline.footer-right ul li:last-child a span {
    background-color: #CA272C;
    color: #ffffff !important;
    width: 100%;
    text-align: center;
    padding: 5px 0 5px 0;
    line-height: 1;
    border-radius: 999px;
}

.teo-link-underline.footer-right ul li:last-child a:hover span {
    background-color: rgba(0, 0, 0, 0.050) !important;
    color: #000 !important;
    text-decoration: none !important;
}
.teo-link-underline.footer-right ul li:last-child a:hover {
    text-decoration: none !important;
}

.teo-link-underline.footer-left a:hover {
    text-decoration: underline;
    color: #CA272C !important;

}

.teo-cta-don ul li a span {
    background-color: #CA272C;
    color: #ffffff !important;
    font-size: 16px !important;
    width: 100%;
    text-align: center;
    padding: 10px 15px 10px 15px;
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
}

.teo-cta-don ul li a:hover span {
    background-color: rgba(0, 0, 0, 0.050) !important;
    color: #000 !important;
}


@media (max-width: 1568px) {
    .teo-slider-home .swiper-slide-inner {
        padding: 0 64px 0 64px !important;
    }
}

@media (max-width: 1024px) {
    .teo-slider-home .swiper-slide-inner {
        padding: 0 30px 0 30px !important;
    }

    .teo-slider-home .swiper-slide-inner .elementor-slide-description {
        width: 70% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .teo-slider-home .swiper-slide-inner {
        padding: 0 20px 0 20px !important;
    }

    .teo-slider-home .swiper-slide-inner .elementor-slide-description {
        width: 100% !important;
        max-width: 100% !important;
    }
}



/* END HOME   ------------------------------------------------------------------------- */

/* START Genealogie ------------------------------------------------------------------------- */
@media (max-width:768px) {
    .teo-ressources-push {
        max-width: 450px !important;
        margin: auto;
    }
}

/* END Genealogie   ------------------------------------------------------------------------- */

/* START Nous rejoindre ------------------------------------------------------------------------- */
@media (min-width:768px) {
    .elementor-field-group-field_votre_raison .elementor-field-subgroup {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .elementor-field-group-field_votre_raison .elementor-field-subgroup span {
        display: block !important;
        width: 50% !important;
        flex-basis: 50% !important;
    }
}


#form_association input[type="checkbox"] {
    -moz-appearance: none;
    /* Spécifique à Firefox */
    -webkit-appearance: none;
    appearance: none;

    /* Définir une taille fixe */
    width: 20px !important;
    height: 20px !important;
    min-width: 20px;
    min-height: 20px;

    /* Réinitialiser le padding/margin */
    padding: 0 !important;
    margin: 0 5px 0 0;

    /* Style visuel */
    border: 1px solid transparent;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
    cursor: pointer;

    /* Forcer la forme */
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;

}

#form_association input[type="checkbox"]:checked {
    background: #fff;
    border-color: #CA272C;
}

#form_association input[type="checkbox"]:checked::after {
    content: '✓';
    display: block;
    text-align: center;
    color: #CA272C;
    font-size: 15px;
    line-height: 16px;
    /* Ajuster selon la taille */
}

/* END Nous rejoindre  ------------------------------------------------------------------------- */

/* START Connexion ----------------------------------------------------------------------------- */
#form_connexion button {
    flex-basis: 100% !important;
}

#form_connexion a.elementor-lost-password {
    margin: auto !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: underline;
}

#form_connexion .elementor-remember-me label {
    color: #000000 !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.5;
}

/* END Connexion  ------------------------------------------------------------------------------ */


/* START MEMBERS  ------------------------------------------------------------------------------ */
.members-access-error {
    text-align: center;
}

/* END MEMBERS --------------------------------------------------------------------------------- */


/* START FAQ  ------------------------------------------------------------------------------ */
.teo-accordeon .e-n-accordion {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.teo-accordeon .e-n-accordion details.e-n-accordion-item {
    width: 48%;
}

.teo-accordeon .e-n-accordion details.e-n-accordion-item summary.e-n-accordion-item-title {
    border-radius: 8px;
    background-color: #ffffff;
    padding: 22.5px 24px;
}

.teo-accordeon .e-n-accordion details.e-n-accordion-item summary.e-n-accordion-item-title[aria-expanded="true"] {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    background-color: #ffffff;
}

.teo-accordeon .e-n-accordion details.e-n-accordion-item summary.e-n-accordion-item-title[aria-expanded="true"] span.e-opened {
    transform: rotate(180deg);
}

/* END FAQ --------------------------------------------------------------------------------- */