#main-header {
    background-color: black;
    position: fixed;
    width: 100%;
    transition: height 0.4s ease-in-out;
    height: 128px;
    z-index: 1000;
}

.wordpress-header {
    height: 128px;
}

#main-header.et-fixed-header {
    height: 77px;
}

@media only screen and (min-width: 991px) {
    .et-fixed-header .logo_container {
        height: 77px;
        width: 200px;
    }

    .et-fixed-header #logo {
        max-height: 76px;
    }

    span.mobile_menu_bar::before {
        display: none;
    }
}

.et-fixed-header #logo {
    max-height: 76px;
    transition: max-height 0.4s ease-in-out;
}

#et-main-area {
    padding-top: 168px;
    transition: padding-top 0.4s ease-in-out;
}

.et-fixed-header~#et-main-area {
    padding-top: 88px;
}

.et_menu_container {
    z-index: 99;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media only screen and (min-width: 1240px) {
    .et_menu_container {
        max-width: 1240px !important;
    }
}

.et_search_outer {
    display: none;
}

.container.clearfix.et_menu_container {
    display: flex;
    align-items: flex-start;
}

#et-top-navigation {
    height: 100%;
    margin-top: 24px;
    transition: margin-top 0.4s ease-in-out;
}

.et-fixed-header #et-top-navigation {
    margin-top: 0;
}

#top-menu-nav {
    height: 100%;
}

#top-menu {
    height: 100%;
    margin: 0;
}

.logo_container {
    height: 168px;
    transition: height 0.4s ease-in-out;
    width: 200px;
    display: flex;
    align-items: flex-start;
}

.et-fixed-header .logo_container {
    height: 88px;
    width: 200px;
}

#logo {
    max-height: 127px;
    transition: max-height 0.4s ease-in-out;
    object-fit: contain;
    width: auto;
    margin: 0;
}


#top-menu li {
    margin-top: 13px;
    padding-right: 22px;
    max-width: 155px;
}

#top-menu li:nth-child(odd) {
    text-align: center;
}

#top-menu li a {
    color: white;
    font-size: 19px;
    line-height: 1;
    transition: all 0.4s ease-in-out;
    text-decoration: none;
}

#top-menu li a:hover {
    color: white;
    opacity: 0.7;
}

#top-menu li.menu-item-has-children::after {
    font-family: ETmodules;
    content: "3";
    color: #fff;
}

/* Styles pour le footer */
.et-l--footer {
    color: white;
}

.et-l--footer .et_pb_row {
    display: flex;
    justify-content: space-between;
    max-width: 1080px;
    margin: 0 auto;
    padding: 27px 0 0 0;
}

.et_pb_text_0_tb_footer .et_pb_text_inner>p {
    display: none;
}

@media only screen and (max-width: 990px) {
    .et-l--footer .et_pb_row {
        flex-direction: column;
        padding: 27px 20px;
    }

    .et-l--footer .et_pb_column {
        width: 100% !important;
        margin-right: 0;
        margin-bottom: 30px;
    }

    .et_pb_column {
        width: 100% !important;
    }

    .et_pb_column_4_tb_footer {
        text-align: left;
        padding-right: 0;
    }
}

.et_pb_column_2_3 {
    width: 64.83%;
    margin-right: 30px;
}

.et_pb_text_1_tb_footer {
    padding-top: 27px !important;
}

@media (min-width: 981px) {
    .et_pb_gutters3 .et_pb_column_1_3 .et_pb_module,
    .et_pb_gutters3.et_pb_row .et_pb_column_1_3 .et_pb_module {
        margin-bottom: 9.27%;
    }
}
@media (max-width: 980px) {
    .et_pb_column .et_pb_module {
      margin-bottom: 30px;
    }
  }

.et_pb_text_2_tb_footer {
    min-height: 4.8px;
    margin-bottom: 14px !important;
    width: 99.1%;
}

.et-l--footer .et_pb_column:last-child {
    margin-right: 0;
}

.et-l--footer h2 {
    color: white;
    margin-bottom: 20px;
}

.et-l--footer .et_pb_text_inner {
    color: white;
    line-height: 1.6;
}

.et_pb_social_media_follow li a {
    color: #000;
    background-color: transparent !important;
    border: 1px solid white;
    border-radius: 50%;
    margin-right: 10px;
    text-align: center;
}

.et_pb_social_media_follow li a:hover {
    background-color: white !important;
    color: black !important;
}

.et_pb_social_icon a.icon::before {
    font-family: ETmodules;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    direction: ltr;
    font-size: 21px;
    line-height: 42px;
    height: 42px;
    width: 42px;
}

.et_pb_social_media_follow_network_name {
    display: none;
}

.et-social-facebook a.icon::before {
    content: "\e093";
}

.et-social-instagram a.icon::before {
    content: "\e09a";
}

.et-social-linkedin a.icon::before {
    content: "\E09D";
}

.et_pb_section {
    padding: 20px 0 0 0;
}

.et_pb_row_1_tb_footer.et_pb_row {
    margin-top: -30px !important;
}

.et_pb_column_4_tb_footer {
    text-align: right;
    padding-right: 36px;
}

.et_pb_column_4_tb_footer .et_pb_text_inner {
    margin: 0 14px 14px 0;
}

.et_pb_column_1_3 {
    width: 29.6667%;
    text-align: center;
}

footer a {
    color: #ccc;
    text-decoration: none;
}

footer a:hover {
    color: #1fdda7;
}

ul.et_pb_social_media_follow {
    list-style-type: none !important;
    text-align: center;
    padding: 0 0 0 8px;
}

.et_pb_social_media_follow li {
    display: inline-block;
    margin-bottom: 8px;
    position: relative;
}

.et_pb_social_media_follow_0_tb_footer li a.icon {
    height: 42px;
    width: 42px;
}

.et_pb_social_media_follow li a.icon {
    border-radius: 3px;
    background-color: #FFFFFF !important;
    vertical-align: middle;
    margin-right: 8px;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    position: relative;
}

body #page-container .et_pb_section .et_pb_button_0_tb_footer {
    color: #FFFFFF !important;
    border-width: 3px !important;
    border-color: #1fdda7;
    font-size: 20px;
    background-color: RGBA(255, 255, 255, 0);
}

/* Styles de base pour tous les boutons */
.et_pb_button {
    font-size: 20px;
    font-weight: 500;
    padding: .3em 1em;
    line-height: 1.7em !important;
    border: 3px solid #1fdda7;
    border-radius: 69px;
    background-color: transparent;
    color: #FFFFFF;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
    position: relative;
    transition: all 300ms ease 0ms;
    font-family: "subset-dirtyego", Helvetica, Arial, Lucida, sans-serif;
}

/* Style au survol */
.et_pb_button:hover {
    color: #000000 !important;
    background-color: #1fdda7;
    border-color: #1fdda7;
    padding: .3em 2em .3em .7em;
}

/* Style spécifique pour le bouton du footer */
.et_pb_button_module_wrapper>a {
    display: inline-block;
}

.et_pb_button::after {
    font-family: ETmodules !important;
    margin-left: .3em;
    opacity: 0;
    content: "U";
    transition: all 300ms ease 0ms;
    font-size: 20px;
    line-height: 1.7em;
    position: absolute;
    margin-left: -1em;
}

.et_pb_button:hover::after {
    opacity: 1;
    margin-left: 6px;
}

/* Styles pour le sous-menu de l'utilisateur */
.menu-item-has-children>.sub-menu {
    display: block;
    position: absolute;
    background-color: black;
    padding: 20px;
    z-index: 1000;
    border-top: 2px solid #1fdda7;
    border-radius: 0;
    margin-top: 18px;

    /* Modification de l'animation */
    opacity: 0;
    visibility: hidden;
    transform-origin: top;
    transform: scaleY(0);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}

.menu-item-has-children:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
}

.menu-item-has-children>.sub-menu li {
    width: 200px;
    max-width: 200px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left;
    display: block;
}

.menu-item-has-children>.sub-menu li a {
    width: 100%;
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    display: block;
    text-align: left;
}

#et_mobile_nav_menu .select_page {
    display: none !important;
}

@media only screen and (max-width: 990px) {
    #main-header {
        position: relative;
        /* Enlever le positionnement fixe */
        height: 80px !important;
        /* Hauteur fixe pour le mode mobile */
    }

    .wordpress-header {
        height: 80px !important;
    }

    .logo_container {
        height: 50px !important;
        /* Fixer la taille du logo sur mobile */
        width: 100px !important;
        /* Fixer la largeur du logo sur mobile */
        position: absolute;
        left: 8px;
        top: 14px;
    }

    #logo {
        max-height: 50px !important;
        /* Fixer la hauteur maximale du logo sur mobile */
    }

    #et_top_search {
        display: none;
    }

    #top-menu-nav {
        display: none;
        width: 100vw;
        position: absolute;
        top: 80px;
        left: 0;
        background-color: black;
        height: auto;
        min-height: fit-content;
        padding: 10px 0;
        border-top: 3px solid #1fdda7 !important;
    }

    /* Quand le menu est affiché (display: block), on ajoute l'animation */
    #top-menu-nav[style*="display: block"] {
        animation: slideDown 0.5s ease-out forwards;
        transform-origin: top;
    }

    /* Animation de fermeture */
    #top-menu-nav.closing {
        animation: slideUp 0.5s ease-out forwards;
        transform-origin: top;
    }

    /* Définition des animations */
    @keyframes slideDown {
        from {
            transform: scaleY(0);
        }

        to {
            transform: scaleY(1);
        }
    }

    @keyframes slideUp {
        from {
            transform: scaleY(1);
        }

        to {
            transform: scaleY(0);
        }
    }

    #et_mobile_nav_menu {
        display: block;
        /* Assurez-vous que le menu mobile est visible */
        position: absolute;
        right: 20px;
        top: 20px;
    }

    span.mobile_menu_bar::before {
        font-family: ETmodules;
        content: "a";
        font-size: 32px;
        color: #1fdda7 !important;
        position: relative;
        left: 0;
        top: 0;
        cursor: pointer;
    }

    .mobile_nav.closed #top-menu {
        display: none;
    }

    .mobile_nav.opened #et-top-navigation {
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background-color: black;
        padding: 10px 0;
        margin-top: 0 !important;
    }

    .mobile_nav.closed #et-top-navigation {
        display: none;
    }

    .mobile_nav.opened #et-top-navigation {
        display: block;
    }

    #top-menu {
        padding: 5% 5% 2% 5%;
    }

    #top-menu li {
        display: block;
        width: 100%;
        max-width: 100%;
        text-align: left !important;
        padding: 10px 20px;
        font-size: 16px;
        margin-top: 0 !important;
    }

    #top-menu li a {
        padding: 10px 5px;
        font-size: 14px;
        color: #fff;
        font-weight: bold;
    }

    .menu-item-has-children>.sub-menu {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        margin-top: 0 !important;
        border: 0 !important;
    }

    .menu-item-has-children>.sub-menu li {
        width: 100% !important;
        max-width: 100% !important;
    }

    .menu-item-has-children>.sub-menu li a {
        padding: 10px 5% !important;
        font-size: 14px !important;
        color: #fff !important;
        font-weight: bold !important;
        line-height: 23px !important;
    }

    .menu-item-has-children::after {
        display: none !important;
    }
}
