/* === CSS combiné généré le 2026-09-02 10:18:40 === */

/* ---- Début de main.css ---- */
/* ---- Début de ./main-xs.css ---- */
:root {
    --fs-small: 12px;
    --fs-normal: 14px;
    --fs-large: 16px;
    --fs-h1: 40px;
    --fs-h2: 28px;
    --fs-h3: 22px;
    --fs-h4: 20px;
    --main-inline-padding: 10px;
    --top-header-height: 134px;
    --top-header-border-height: 4px;
    --bottom-header-height: 0px;
}
.container {
    width: calc(100% - 2 * var(--main-inline-padding));
    max-width: calc(100% - 2 * var(--main-inline-padding));
}
.search-form {
    display: flex;
    align-items: center;
    position: relative;
    gap: 1rem;
    label {
        width: 100%;
    }
    input {
        border: none;
        background-color: var(--gray-lighter-color);
        height: 45px;
        width: 100%;
        &::placeholder {
            color: var(--black-color);
        }
    }
    .search-button {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 35px;
        width: 35px;
        position: absolute;
        right: 5px;
        padding: 0;
        .mask-icon {
            background-color: var(--white-color);
        }
    }
}
/* ---- Fin de ./main-xs.css ---- */


/* ---- Début de ./main-sm.css ---- */
@media (min-width: 768px) {
    .container {
        width: calc(720px - 2 * var(--main-inline-padding));
        max-width: calc(720px - 2 * var(--main-inline-padding));
    }
    .sub-header-title {
        margin-inline-start: 1.3rem;
    }
}
/* ---- Fin de ./main-sm.css ---- */


/* ---- Début de ./main-lg.css ---- */
@media (min-width: 992px) {
    :root {
        --fs-small: 14px;
        --fs-normal: 16px;
        --fs-large: 18px;
        --fs-h1: 48px;
        --fs-h2: 36px;
        --fs-h3: 26px;
        --fs-h4: 22px;
        --main-inline-padding: 40px;
        --top-header-height: 134px;
        --bottom-header-height: 90px;
    }
    :root:has(body.touch-device) {
        --bottom-header-height: 0px;
    }
    .container {
        width: calc(992px - 2 * var(--main-inline-padding));
        max-width: calc(992px - 2 * var(--main-inline-padding));
    }
}
/* ---- Fin de ./main-lg.css ---- */


/* ---- Début de ./main-xl.css ---- */
@media (min-width: 1200px) {
    .container {
        width: calc(1200px - 2 * var(--main-inline-padding));
        max-width: calc(1200px - 2 * var(--main-inline-padding));;
    }
}
/* ---- Fin de ./main-xl.css ---- */


/* ---- Début de ./header/header.css ---- */
/* ---- Début de ./header/header-xs.css ---- */
header {
    display: flex;
    flex-direction: column;
    transition: transform .2s ease;
    z-index: 100;
    ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .top-header,
    .bottom-header {
        display: flex;
        padding-inline: var(--main-inline-padding);
    }
    .top-header {
        flex-direction: column;
        justify-content: center;
        border-bottom: 4px solid var(--secondary-color);
        background-color: var(--white-color);
        position: relative;
        height: var(--top-header-height);
        gap: .5rem;
        .top-top-header {
            display: flex;
            align-items: center;
        }
        .logo {
            display: flex;
            align-items: center;
            .svg-desktop {
                display: none;
                width: 270px;
                margin-bottom: -3px;
            }
            .svg-mobile {
                width: 50px;
            }
            svg {
                height: 52px;
                path {
                    fill: var(--primary-color);
                }
            }
        }
        .toggle-mobile-menu {
            border: none;
            height: 2rem;
            width: 2rem;
            .mask-icon {
                width: 20px;
                height: 20px;
                background-color: var(--primary-color);
            }
        }
        .mobile-nav-menu {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: calc(100% + var(--top-header-border-height));
            left: 0;
            height: max-content;
            background-color: var(--white-color);
            box-shadow: var(--shadow-gray);
            transform: translateX(-100%);
            transition: transform .2s ease;
            z-index: 1000;
            &.is-open {
                transform: translateX(0);
            }
            .current-menu-item > a {
                color: var(--primary-color);
            }
            .menu-item {
                display: flex;
                order: 1;
                transition-property: background-color, color;
                transition-duration: var(--transition-bezier-duration);
                transition-timing-function: var(--transition-bezier-timing);
                a,
                span:not(.mask-icon) {
                    max-width: 100%;
                    padding: 1rem 2rem;
                }
                .sub-menu {
                    margin-left: 2rem;
                    position: relative;
                    &::before {
                        content: "";
                        position: absolute;
                        top: 0;
                        bottom: 1rem;
                        left: 0;
                        width: 1px;
                        background: var(--gray-lighter-color);
                    }
                }
            }
            .menu-item-search {
                max-width: 100%;
                padding: 1rem 2rem;
                order: 0;
            }
            .menu-item-has-children {
                .sub-menu {
                    max-height: 0;
                    overflow: hidden;
                    transition: all .2s ease;
                }
                > a,
                > span {
                    display: flex;
                    align-items: center;
                    &:after {
                        content: "";
                        margin-left: auto;
                        width: 10px;
                        height: 10px;
                        background-image: url("../../images/chevron-right.svg");
                        background-repeat: no-repeat;
                        background-position: center;
                        background-size: contain;
                        transform: rotate(90deg);
                    }
                }
                &.open {
                    .sub-menu {
                        background-color: var(--white-color);
                        max-height: var(--submenu-max-height, 500px); 
                    }
                    > a,
                    > span {
                        &:after {
                            transform: rotate(-90deg);
                        }
                    }
                }
            }
            .menu-principal > .menu-item,
            .menu-principal {
                display: flex;
                flex-direction: column;
            }
            a {
                color: var(--black-color);
            }
        }
        .header-title {
            display: none;
            margin-left: var(--main-inline-padding);
            p {
                margin: 0;
            }
        }
        .top-header-right {
            display: flex;
            align-items: center;
            margin-left: auto;
            gap: .2rem;
            .btn {
                padding: .625rem;
            }
            .culture-change .custom-select__trigger {
                background-color: transparent;
                border: none;
            }
            .culture-change img {
                border-radius: 3px;
                vertical-align: middle;
                display: inline-block;
            }
            .culture-change .active-culture,
            .culture-change .custom-select__chevron {
                display: none;
            }
            .culture-change .custom-select__list span.notranslate {
                display: flex;
                width: 100%;
            }
        }
        .top-header-right {
            font-size: var(--fs-small);
            line-height: calc(var(--fs-small) + 4px);
        }
        .sub-header-title h1,
        .header-title,
        .header-title h1 {
            font-size: var(--fs-normal);
            line-height: calc(var(--fs-normal) + 4px);
            color: var(--primary-color)
        }
        .sub-header-title,
        .header-title {
            p {
                margin-bottom: 0;
            }
            h1 {
                font-weight: normal;
                margin: 0;
            }
        }
    }
    .bottom-header {
        display: none;
        align-items: center;
    }
}
@media (min-width: 360px) {
    header {
        .top-header {
            .top-header-right {
                gap: 1rem;
                .culture-change .active-culture,
                .culture-change .custom-select__chevron {
                    display: inline-block;
                }
            }
        }
    }
}
/* ---- Fin de ./header/header-xs.css ---- */


/* ---- Début de ./header/header-sm.css ---- */
@media (min-width: 768px) {
    header {
        .top-header {
            .logo {
                .svg-desktop {
                    display: block;
                }
                .svg-mobile {
                    display: none;
                }
            }
            .top-header-right {
                position: absolute;
                top: 0;
                bottom: 0;
                right: var(--main-inline-padding);
                gap: 2rem;
                .btn {
                    padding: 1rem;
                }
            }
        }
    }
}
/* ---- Fin de ./header/header-sm.css ---- */


/* ---- Début de ./header/header-lg.css ---- */
@media (min-width: 992px) {
    body:not(.touch-device) header {
        .top-header {
            .toggle-mobile-menu,
            .mobile-nav-menu {
                display: none;
            }
        }
        .sub-header-title {
            margin-top: .5rem;
        }
        .bottom-header {
            display: flex;
            background-color: var(--gray-lightest-color);
            font-size: var(--fs-small);
            height: var(--bottom-header-height);
            align-items: center;
            justify-content: center;
            .menu {
                width: 100%;
            }
            .menu-principal {
                display: flex;
                justify-content: center;
                gap: 1rem;
                .menu-item {
                    display: flex;
                    color: var(--black-color);
                    align-items: center;
                    justify-content: center;
                    border-radius: 8px;
                    &:not(.menu-item-search) {
                        background: var(--white-color, #FFF);
                        box-shadow: var(--shadow-gray);
                    }
                    a {
                        width: 100%;
                        padding: .7rem 1.2rem;
                    }
                }
                a {
                    color: inherit;
                    text-decoration: none;
                    white-space: nowrap;
                }
                .current-menu-item,
                .current-menu-parent {
                    color: var(--primary-color);
                }
                .menu-item-has-children {
                    position: relative;
                    &::after {
                        content: '';
                        position: absolute;
                        top: 100%;
                        left: 0;
                        width: 100%;
                        height: 0.5rem;
                    }
                    .sub-menu {
                        position: absolute;
                        top: calc(100% + 0.5rem);
                        background-color: transparent;
                        visibility: hidden;
                        min-width: 100%;
                        border-radius: 8px;
                        box-shadow: var(--shadow-gray);
                        overflow: hidden;
                        li {
                            background-color: var(--white-color);
                            box-shadow: unset;
                            border-radius: 0;
                            &:hover {
                                background-color: var(--gray-lightest-color);
                            }
                        }
                    }
                    &:hover .sub-menu,
                    &:focus-within .sub-menu {
                        visibility: visible;
                    }
                }
                .menu-item-search input {
                    width: 150px;
                }
            }
        }
    }
}
/* ---- Fin de ./header/header-lg.css ---- */


/* ---- Début de ./header/header-xl.css ---- */
@media (min-width: 1200px) {
    header {
        .bottom-header {
            font-size: var(--fs-normal);
            .menu-principal {
                gap: 1.5rem;
                .menu-item {
                    a {
                        padding: 1rem 1.5rem;
                    }
                }
            }
        }
    }
    body:not(.touch-device) header {
        .bottom-header {
            .menu-principal {
                .menu-item-search input {
                    width: auto;
                }
            }
        }
        .top-header {
            .header-title {
                display: block;
            }
            .sub-header-title {
                display: none;
            }
        }
    }
}
/* ---- Fin de ./header/header-xl.css ---- */


header {
    position: fixed;
    top: 0;
}
main {
    position: relative;
}
main .backdrop {
    display: none;
    background-color: rgba(85, 85, 85, 0.5);
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 10;
}
body:has(header .mobile-nav-menu.is-open) main .backdrop {
    display: block;
}
body:has(header .mobile-nav-menu.is-open) {
    overflow: hidden;
}
/* ---- Fin de ./header/header.css ---- */


/* ---- Début de ./footer/footer.css ---- */
/* ---- Début de ./footer/footer-xs.css ---- */
footer {
    color: var(--white-color);
    background-color: var(--primary-color);
    padding: var(--main-inline-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--main-inline-padding);
    ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .label-socials {
        display: none;
    }
    .socials,
    .socials ul,
    .socials ul li,
    .socials ul li a {
        display: flex;
        align-items: center;
    }
    .socials {
        display: flex;
        align-items: center;
        ul {
            gap: 1rem;
        }
    }
    .mask-icon {
        height: 1.5rem;
        width: 1.5rem;
        background-color: var(--white-color);
    }
    .right-footer {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 2rem;
        a:hover {
            text-decoration: underline;
        }
    }
    .footer-menu {
        width: auto;
        text-align: right;
        display: flex;
        flex-direction: row;
        gap: 2rem;
        li a {
            color: var(--white-color);
            &:hover {
                color: var(--white-color);
                text-decoration: underline;
            }
        }
    }
}
@media (max-width: 576px) {
    footer {
        .right-footer {
            display: flex;
            flex-direction: column;
            align-items: end;
            gap: 1rem;
            a:hover {
                text-decoration: underline;
            }
        }
        .footer-menu {
            width: 100%;
            flex-direction: column;
            gap: .5rem;
        }
    }
}
/* ---- Fin de ./footer/footer-xs.css ---- */


/* ---- Début de ./footer/footer-sm.css ---- */
@media (min-width: 768px) {
    footer {
        .label-socials {
            display: flex;
        }
        .socials ul {
            padding-inline: 1rem;
        }
        .mask-icon {
            height: 2rem;
            width: 2rem;
        }
    }
}
/* ---- Fin de ./footer/footer-sm.css ---- */


/* ---- Début de ./footer/footer-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de ./footer/footer-lg.css ---- */


/* ---- Début de ./footer/footer-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de ./footer/footer-xl.css ---- */
/* ---- Fin de ./footer/footer.css ---- */


/* ---- Début de ./listing/listing.css ---- */
/* ---- Début de ./listing/listing-xs.css ---- */
.listing-grid {
    display: grid;
    grid-template: auto / 1fr;
    column-gap: 2rem;
    row-gap: 1rem;
    article {
        display: flex;
        flex-direction: column;
    }
    article a {
        &:hover,
        &:focus {
            color: var(--black-color);
        }
    }
    .article-thumbnail {
        transition: all .2s ease;
        img {
            height: 235px;
            width: 100%;
        }
    }
    .article-meta {
        display: flex;
        flex-wrap: wrap;
        line-height: 20px;
        font-size: var(--fs-normal);
        margin-block: 10px;
        a {
            color: var(--primary-color);
            font-weight: bold;
        }
    }
    .article-categories {
        margin-right: auto;
        color: var(--primary-color);
    }
    .article-infos {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .article-title {
        margin: 0;
        font-size: var(--fs-h4);
        line-height: calc(var(--fs-h4) + 4px);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .article-excerpt {
        font-size: var(--fs-normal);
        line-height: calc(var(--fs-normal) + 4px);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.listing-category-has-childs,
#home-section-guide,
#home-section-recent {
    a {
        transition: all .2s ease;
    }
}
.listing-category-has-childs h2 {
    margin: 0;
}
#home-section-guide h2,
#home-section-temoignage h2 {
    margin-top: 0;
}
.listing-category-has-childs {
    display: flex;
    flex-direction: column;
    padding-top: 1rem;
    .child-category:not(:last-of-type) {
        border-bottom: 1px solid #eaeaea;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    .child-category-heading {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
        .child-category-link {
            display: flex;
            align-items: center;
            gap: .5rem;
            font-weight: bold;
            font-size: var(--fs-small);
            i {
                width: 12px;
                height: 12px;
            }
            &:hover {
                text-decoration: underline;
            }
        }
    }
}
.category-description {
    margin-bottom: var(--main-inline-padding);
    p {
        margin: 0;
    }
}
/* ---- Fin de ./listing/listing-xs.css ---- */


/* ---- Début de ./listing/listing-sm.css ---- */
@media (min-width: 768px) {
    .listing-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3rem;
        &.nb-col-2 {
            grid-template-columns: repeat(2, 1fr);
        }
        &.nb-col-3 {
            grid-template-columns: repeat(3, 1fr);
        }
        &.nb-col-4 {
            grid-template-columns: repeat(4, 1fr);
        }
        .article-meta {
            margin-block: 15px;
        }
        .article-excerpt,
        .article-meta {
            font-size: var(--fs-small);
        }
        .article-excerpt {
            -webkit-line-clamp: 3;
        }
    }
    .listing-category-has-childs {
        padding-top: 0;
        .child-category:not(:last-of-type) {
            padding-bottom: calc(var(--main-inline-padding) / 2);
            margin-bottom: calc(var(--main-inline-padding) / 2);
        }
        .child-category-heading {
            margin-bottom: 2rem;
        }
    }
}
/* ---- Fin de ./listing/listing-sm.css ---- */


/* ---- Début de ./listing/listing-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de ./listing/listing-lg.css ---- */


/* ---- Début de ./listing/listing-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de ./listing/listing-xl.css ---- */
/* ---- Fin de ./listing/listing.css ---- */


/* ---- Début de ./presse/presse.css ---- */
/* ---- Début de ./presse/presse-xs.css ---- */
#page-presse {
    .grid-contact {
        display: grid;
        grid-template: auto / 1fr;
        column-gap: 2rem;
        row-gap: 1rem;
    }
    .contact-name {
        font-weight: bold;
        font-size: 1.2rem;
    }
    .contact-description {
        font-size: .9rem;
    }
    .contact-details-list {
        display: flex;
        gap: .5rem;
        flex-direction: column;
        margin-block: 1rem;
        padding-left: 1rem;
        padding-top: .5rem;
        border-left: 2px solid var(--gray-lighter-color);
    }
    .contact-details-item {
        display: flex;
        gap: .3rem;
        white-space: nowrap;
        align-items: center;
        .mail-mask {
            width: 1.125rem;
            height: 1.125rem;
        }
    }
    .logos-list {
        display: grid;
        grid-template: auto / 1fr 1fr;
        row-gap: 1rem;
        column-gap: 1rem;
    }
    .logo-item {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--gray-lighter-color);
        position: relative;
        border-radius: 5px;
        padding: 1rem;
        .image-container {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            img {
                width: 100%;
                height: 100px;
                object-fit: contain;
            }
        }
        .download-logo {
            position: absolute;
            top: 1rem;
            right: 1rem;
            opacity: 0.8;
            transition: all 0.2s ease-in-out;
            padding: .5rem;
            &:hover {
                opacity: 1;
            }
            > i {
                width: 12px;
                height: 12px;
            }
        }
        figure {
            margin: 0;
            width: 100%;
        }
        figcaption {
            margin-top: .5rem;
            font-size: var(--fs-small);
            position: absolute;
            bottom: 1rem;
            left: 1rem;
        }
    }
}
/* ---- Fin de ./presse/presse-xs.css ---- */


/* ---- Début de ./presse/presse-sm.css ---- */
@media (min-width: 768px) {
    #page-presse {
        .grid-contact,
        .logos-list {
            grid-template-columns: repeat(3, 1fr);
            row-gap: 3rem;
            column-gap: 3rem;
        }
        .logo-item {
            .image-container {
                img {
                    height: 150px;
                }
            }
        }
    }
}
/* ---- Fin de ./presse/presse-sm.css ---- */


/* ---- Début de ./presse/press-xl.css ---- */
@media (min-width: 1200px) {
    #page-presse {
        .logo-item {
            .image-container {
                img {
                    height: 235px;
                }
            }
        }
    }
}
/* ---- Fin de ./presse/press-xl.css ---- */
/* ---- Fin de ./presse/presse.css ---- */


/* ---- Début de ./single/single.css ---- */
/* ---- Début de ./single/single-xs.css ---- */
.single-post {
    * {
        line-height: calc(1em + 4px);
    }
    .wp-block-quote.is-style-highlighted {
        font-style: italic;
        border-left: 4px solid var(--gray-lighter-color);
        padding-left: 1rem;
        color: var(--gray-darker-color);
        margin: 2rem 0;
    }
    .alignleft {
        float: left;
        margin-right: 1.5em;
        margin-bottom: 1em;
    }
    .alignright {
        float: right;
        margin-left: 1.5em;
        margin-bottom: 1em;
    }
    .aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .wp-block-image img {
        max-width: 100%;
        height: auto;
    }
}
/* ---- Fin de ./single/single-xs.css ---- */


/* ---- Début de ./single/single-sm.css ---- */
@media (min-width: 768px) {
}
/* ---- Fin de ./single/single-sm.css ---- */


/* ---- Début de ./single/single-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de ./single/single-lg.css ---- */


/* ---- Début de ./single/single-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de ./single/single-xl.css ---- */
/* ---- Fin de ./single/single.css ---- */


/* ---- Début de ./elements/elements.css ---- */
/* ---- Début de ./elements/buttons.css ---- */
.btn {
    display: inline-flex;
    border-radius: 5px;
    justify-content: center;
    align-items: center;
    appearance: button;
    text-decoration: none;
    text-align: center;
    user-select: none;
    background-color: transparent;
    border: 1px solid var(--black-color);
    color: var(--black-color);
    padding: 1rem;
    cursor: pointer;
    gap: 8px;
    flex-shrink: 0;
    transition-duration: var(--transition-bezier-duration);
    transition-property: background-color, color;
    transition-timing-function: var(--transition-bezier-timing);
}
.btn-primary {
    color: var(--white-color);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    .mask-icon {
        background-color: var(--white-color);
    }
    &.inverse {
        background-color: transparent;
        color: var(--black-color);
        .mask-icon {
            background-color: var(--black-color);
        }
        &:hover,
        &:focus,
        &:focus-within {
            background-color: transparent!important;
            color: var(--black-color)!important;
            .mask-icon {
                background-color: var(--black-color)!important;
            }
        }
    }
    &.btn-empty {
        background-color: transparent;
        color: var(--primary-color);
        &:hover {
            background-color: var(--primary-color)!important;
            color: var(--white-color)!important;
        }
    }
}
.btn-empty {
    &.inverse {
        border-color: var(--white-color);
        color: var(--white-color);
        &:hover,
        &:focus,
        &:focus-within {
            background-color: var(--white-color)!important;
            color: var(--black-color)!important;
        }
    }
}
.btn-empty,
.btn-primary {
    &:hover,
    &:focus,
    &:focus-within {
        background-color: var(--primary-light-color)!important;
        border-color: var(--primary-light-color)!important;
        color: var(--white-color)!important;
        .mask-icon {
            background-color: var(--white-color);
        }
    }
}
.btn-white {
    background-color: var(--white-color);
    border-color: var(--white-color);
    color: var(--black-color);
    .mask-icon {
        background-color: var(--black-color);
    }
    &:hover,
    &:focus {
        background-color: var(--white-color)!important;
        border-color: var(--white-color)!important;
        color: var(--black-color)!important;
        .mask-icon {
            background-color: var(--black-color)!important;
        }
    }
}
/* ---- Fin de ./elements/buttons.css ---- */


/* ---- Début de ./elements/mask.css ---- */
.mask-icon {
    display: inline-block;
    background-color: var(--black-color);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    width: 1rem;
    height: 1rem;
}
.magnifying-mask {
    mask-image: url("../../images/magnifying-glass.svg");
}
.facebook-mask {
    mask-image: url("../../images/facebook.svg");
}
.x-mask {
    mask-image: url("../../images/x.svg");
}
.linkedin-mask {
    mask-image: url("../../images/linkedin.svg");
}
.bars-mask {
    mask-image: url("../../images/bars.svg");
}
.pause-mask {
    mask-image: url("../../images/pause.svg");
}
.chevron-left-mask {
    mask-image: url("../../images/chevron-right.svg");
    transform: rotateY(180deg);
}
.chevron-right-mask {
    mask-image: url("../../images/chevron-right.svg");
}
.chevron-down-mask {
    mask-image: url("../../images/chevron-right.svg");
    transform: rotate(90deg);
}
.arrow-left-mask {
    mask-image: url("../../images/arrow-left.svg");
}
.phone-mask {
    mask-image: url("../../images/phone.svg");
}
.mail-mask {
    mask-image: url("../../images/mail.svg");
}
.download-mask {
    mask-image: url("../../images/arrow-dl.svg");
}
/* ---- Fin de ./elements/mask.css ---- */


/* ---- Début de ./elements/breadcrumbs.css ---- */
#breadcrumbs {
    padding-block: var(--main-inline-padding, 20px);
    margin: 0;
    line-height: calc(1rem + 4px);
    > span span {
        padding: 5px 10px;
        color: var(--black-color);
        &:first-of-type {
            padding-left: 0;
        }
    }
    a {
        text-decoration: underline;
        text-underline-offset: 2px;
    }
}
/* ---- Fin de ./elements/breadcrumbs.css ---- */


/* ---- Début de ./elements/carousel.css ---- */
.carousel {
    --swiper-pagination-bottom: -30px;
    --swiper-pagination-bottom-abs: 30px;
    --carousel-radius: 15px;
    --swiper-pagination-bullet-horizontal-gap: .5rem;
    margin: 0 0 calc(var(--main-inline-padding) + var(--swiper-pagination-bottom-abs) * 1.5);
    .swiper {
        overflow-y: visible;
        overflow-x: clip;
        .swiper-slide,
        .swiper-slide img,
        .article-infos,
        .carousel-caption {
            border-radius: var(--carousel-radius);
        }
        .swiper-slide {
            text-align: center;
            position: relative;
            display: flex;
            align-items: center;
            height: 444px;
            max-height: 444px;
            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            .slide-title,
            p {
                margin: 0;
            }
            .slide-title {
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
                font-size: var(--fs-h3);
                line-height: calc(var(--fs-h3) + 4px);
            }
            .article-infos,
            .carousel-caption {
                display: flex;
                flex-direction: column;
                text-align: left;
                gap: 1rem;
                position: absolute;
                left: 1rem;
                right: 1rem;
                background-color: var(--white-color);
                padding: 1.2rem;
                max-height: 80%;
                > .btn {
                    margin-top: auto;
                    width: max-content;
                    padding: .625rem;
                }
            }
            .carousel-caption {
                align-self: end;
                background-color: rgba(255, 255, 255, 0.7);
                margin-bottom: 2rem;
            }
            .article-categories {
                display: flex;
                flex-wrap: wrap;
                gap: 5px;
                a {
                    display: flex;
                    padding: 4px;
                    border-radius: 5px;
                    width: max-content;
                    color: var(--black-color);
                    font-size: var(--fs-small);
                    background-color: var(--secondary-color);
                    font-weight: bold;
                    white-space: nowrap;
                }
            }
            .article-excerpt {
                --excerpt-line-height: 18px;
                font-size: 14px;
                line-height: var(--excerpt-line-height);
                overflow: hidden;
                text-overflow: ellipsis;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 3;
            }
        }
        .swiper-button-next,
        .swiper-button-prev,
        .swiper-button-pause {
            display: none;
        }
    }
}
@media (min-width: 768px) {
    .carousel {
        margin: 0 0 calc(var(--main-inline-padding) + var(--swiper-pagination-bottom-abs));
        .swiper {
            .swiper-slide {
                height: 460px;
                max-height: 460px;
                .article-infos,
                .carousel-caption {
                    width: 30%;
                    left: 2rem;
                    right: auto;
                }
            }
            .swiper-nav-container {
                position: absolute;
                bottom: .625rem;
                right: 1rem;
                display: flex;
                align-items: center;
                gap: 8px;
                z-index: 1;
            }
            .swiper-button-next,
            .swiper-button-prev,
            .swiper-button-pause {
                display: grid;
                place-content: center;
                position: static;
                background-color: var(--white-color);
                border-radius: 50%;
                height: 40px;
                width: 40px;
                font-weight: 600;
                color: var(--black-color);
                margin: 0;
                cursor: pointer;
                box-shadow: var(--shadow-gray);
                &:after {
                    content: "";
                }
                .mask-icon,
                .swiper-navigation-icon {
                    width: 12px;
                    height: 12px;
                }
            }
        }
    }
}
/* ---- Fin de ./elements/carousel.css ---- */
/* ---- Fin de ./elements/elements.css ---- */


:root {
    --black-color: #000;
    --white-color: #FFF;
    --gray-darker-color: #222222;
    --gray-dark-color: #444444;
    --gray-color: #858585;
    --gray-light-color: #C3C3C3;
    --gray-lighter-color: #EAEAEA;
    --gray-lightest-color: #F7F7F7;
    --shadow-gray: 0 4px 14px 0 rgba(0, 0, 0, 0.05);
    --transition-bezier-duration: 0.15s;
    --transition-bezier-timing: cubic-bezier(0, 0, 0.3, 1);
    --main-top-padding: calc(var(--top-header-height) + var(--bottom-header-height) + var(--top-header-border-height));
}
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}
body {
    font-family: sans-serif;
    color: var(--black-color);
    font-size: var(--fs-normal);
    display: flex;
    flex-direction: column;
}
main {
    flex: 1;
    padding-top: var(--main-top-padding);
}
.container {
    padding: var(--main-inline-padding);
    margin-inline: auto;
    &.has-breadcrumbs {
        padding-top: 0;
    }
}
header {
    width: 100%;
}
h1 {
    font-size: var(--fs-h1);
    line-height: calc(var(--fs-h1) + 4px);
}
h2 {
    font-size: var(--fs-h2);
    line-height: calc(var(--fs-h2) + 4px);
}
h3 {
    font-size: var(--fs-h3);
    line-height: calc(var(--fs-h3) + 4px);
}
h4 {
    font-size: var(--fs-h4);
    line-height: calc(var(--fs-h4) + 4px);
}
a {
    color: var(--black-color);
}
a:not(.wp-element-button):hover,
a:not(.wp-element-button):focus {
    color: var(--primary-color);
}
a,
a:hover,
a:focus {
    text-decoration: none;
}
img {
    object-fit: cover;
    vertical-align: middle;
}
img,
.wp-block-image {
    border-radius: 15px;
    overflow: hidden;
}
.thumbnail-contain {
    object-fit: contain;
}
.thumbnail-cover {
    object-fit: cover;
}
input {
    display: flex;
    height: 50px;
    padding: 0 10px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 5px;
    border: 1px solid var(--gray-light-color);
    background: var(--gray-lightest-color);
    color: var(--black-color);
    font-size: var(--fs-small);
    line-height: calc(var(--fs-small) + 4px);
    outline: none;
    &::placeholder {
        color: var(--gray-light-color);
    }
    &:focus,
    &:active,
    &:focus-within {
        border-color: var(--primary-color);
    }
}
.primary-color {
    color: var(--primary-color);
}
.secondary-color {
    color: var(--secondary-color);
}
.primary-bg-color {
    background-color: var(--primary-color);
}
.secondary-bg-color {
    background-color: var(--secondary-color);
}
.font-weight-bold {
    font-weight: bold;
}
.bg-gray {
    background-color: var(--gray-lightest-color);
}
.color-white {
    color: var(--white-color)!important;
}
.d-none {
    display: none!important;
}
#contact-fixed {
    padding: .625rem;
    position: fixed;
    font-size: var(--fs-small);
    right: 2rem;
    bottom: 2rem;
    z-index: 10;
}
.custom-select {
    position: relative;
    display: inline-block;
}
.custom-select__trigger {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 0.625rem 1rem;
    cursor: pointer;
    font-weight: bold;
}
.custom-select__list {
    font-size: var(--fs-small);
    position: absolute;
    right: 0;
    top: 115%;
    background-color: var(--white-color);
    box-shadow: var(--shadow-gray);
    list-style: none;
    padding: 0;
    display: none;
    z-index: 10;
}
.custom-select.open .custom-select__list {
    display: block;
}
.custom-select__list li a {
    display: flex;
    width: 100%;
    height: 100%;
    line-height: calc(var(--fs-small) + 4px);
    padding: 0.625rem 1rem;
    align-items: center;
    gap: .5rem;
    cursor: pointer;
    color: var(--black-color);
}
.custom-select__list li:hover,
.custom-select__list li:focus {
    background-color: var(--gray-lightest-color);
    outline: none;
}
.custom-select img {
    width: 25px;
}
.custom-select__chevron {
    width: .8rem;
    height: .8rem;
    margin-top: -2px;
}
.custom-select.open .custom-select__chevron {
    transform: rotate(-90deg);
}
/* ---- Fin de main.css ---- */

/* ---- Début de elements/elements.css ---- */
/* ---- Début de elements/buttons.css ---- */
.btn {
    display: inline-flex;
    border-radius: 5px;
    justify-content: center;
    align-items: center;
    appearance: button;
    text-decoration: none;
    text-align: center;
    user-select: none;
    background-color: transparent;
    border: 1px solid var(--black-color);
    color: var(--black-color);
    padding: 1rem;
    cursor: pointer;
    gap: 8px;
    flex-shrink: 0;
    transition-duration: var(--transition-bezier-duration);
    transition-property: background-color, color;
    transition-timing-function: var(--transition-bezier-timing);
}
.btn-primary {
    color: var(--white-color);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    .mask-icon {
        background-color: var(--white-color);
    }
    &.inverse {
        background-color: transparent;
        color: var(--black-color);
        .mask-icon {
            background-color: var(--black-color);
        }
        &:hover,
        &:focus,
        &:focus-within {
            background-color: transparent!important;
            color: var(--black-color)!important;
            .mask-icon {
                background-color: var(--black-color)!important;
            }
        }
    }
    &.btn-empty {
        background-color: transparent;
        color: var(--primary-color);
        &:hover {
            background-color: var(--primary-color)!important;
            color: var(--white-color)!important;
        }
    }
}
.btn-empty {
    &.inverse {
        border-color: var(--white-color);
        color: var(--white-color);
        &:hover,
        &:focus,
        &:focus-within {
            background-color: var(--white-color)!important;
            color: var(--black-color)!important;
        }
    }
}
.btn-empty,
.btn-primary {
    &:hover,
    &:focus,
    &:focus-within {
        background-color: var(--primary-light-color)!important;
        border-color: var(--primary-light-color)!important;
        color: var(--white-color)!important;
        .mask-icon {
            background-color: var(--white-color);
        }
    }
}
.btn-white {
    background-color: var(--white-color);
    border-color: var(--white-color);
    color: var(--black-color);
    .mask-icon {
        background-color: var(--black-color);
    }
    &:hover,
    &:focus {
        background-color: var(--white-color)!important;
        border-color: var(--white-color)!important;
        color: var(--black-color)!important;
        .mask-icon {
            background-color: var(--black-color)!important;
        }
    }
}
/* ---- Fin de elements/buttons.css ---- */


/* ---- Début de elements/mask.css ---- */
.mask-icon {
    display: inline-block;
    background-color: var(--black-color);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    width: 1rem;
    height: 1rem;
}
.magnifying-mask {
    mask-image: url("../../images/magnifying-glass.svg");
}
.facebook-mask {
    mask-image: url("../../images/facebook.svg");
}
.x-mask {
    mask-image: url("../../images/x.svg");
}
.linkedin-mask {
    mask-image: url("../../images/linkedin.svg");
}
.bars-mask {
    mask-image: url("../../images/bars.svg");
}
.pause-mask {
    mask-image: url("../../images/pause.svg");
}
.chevron-left-mask {
    mask-image: url("../../images/chevron-right.svg");
    transform: rotateY(180deg);
}
.chevron-right-mask {
    mask-image: url("../../images/chevron-right.svg");
}
.chevron-down-mask {
    mask-image: url("../../images/chevron-right.svg");
    transform: rotate(90deg);
}
.arrow-left-mask {
    mask-image: url("../../images/arrow-left.svg");
}
.phone-mask {
    mask-image: url("../../images/phone.svg");
}
.mail-mask {
    mask-image: url("../../images/mail.svg");
}
.download-mask {
    mask-image: url("../../images/arrow-dl.svg");
}
/* ---- Fin de elements/mask.css ---- */


/* ---- Début de elements/breadcrumbs.css ---- */
#breadcrumbs {
    padding-block: var(--main-inline-padding, 20px);
    margin: 0;
    line-height: calc(1rem + 4px);
    > span span {
        padding: 5px 10px;
        color: var(--black-color);
        &:first-of-type {
            padding-left: 0;
        }
    }
    a {
        text-decoration: underline;
        text-underline-offset: 2px;
    }
}
/* ---- Fin de elements/breadcrumbs.css ---- */


/* ---- Début de elements/carousel.css ---- */
.carousel {
    --swiper-pagination-bottom: -30px;
    --swiper-pagination-bottom-abs: 30px;
    --carousel-radius: 15px;
    --swiper-pagination-bullet-horizontal-gap: .5rem;
    margin: 0 0 calc(var(--main-inline-padding) + var(--swiper-pagination-bottom-abs) * 1.5);
    .swiper {
        overflow-y: visible;
        overflow-x: clip;
        .swiper-slide,
        .swiper-slide img,
        .article-infos,
        .carousel-caption {
            border-radius: var(--carousel-radius);
        }
        .swiper-slide {
            text-align: center;
            position: relative;
            display: flex;
            align-items: center;
            height: 444px;
            max-height: 444px;
            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
            .slide-title,
            p {
                margin: 0;
            }
            .slide-title {
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
                font-size: var(--fs-h3);
                line-height: calc(var(--fs-h3) + 4px);
            }
            .article-infos,
            .carousel-caption {
                display: flex;
                flex-direction: column;
                text-align: left;
                gap: 1rem;
                position: absolute;
                left: 1rem;
                right: 1rem;
                background-color: var(--white-color);
                padding: 1.2rem;
                max-height: 80%;
                > .btn {
                    margin-top: auto;
                    width: max-content;
                    padding: .625rem;
                }
            }
            .carousel-caption {
                align-self: end;
                background-color: rgba(255, 255, 255, 0.7);
                margin-bottom: 2rem;
            }
            .article-categories {
                display: flex;
                flex-wrap: wrap;
                gap: 5px;
                a {
                    display: flex;
                    padding: 4px;
                    border-radius: 5px;
                    width: max-content;
                    color: var(--black-color);
                    font-size: var(--fs-small);
                    background-color: var(--secondary-color);
                    font-weight: bold;
                    white-space: nowrap;
                }
            }
            .article-excerpt {
                --excerpt-line-height: 18px;
                font-size: 14px;
                line-height: var(--excerpt-line-height);
                overflow: hidden;
                text-overflow: ellipsis;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 3;
            }
        }
        .swiper-button-next,
        .swiper-button-prev,
        .swiper-button-pause {
            display: none;
        }
    }
}
@media (min-width: 768px) {
    .carousel {
        margin: 0 0 calc(var(--main-inline-padding) + var(--swiper-pagination-bottom-abs));
        .swiper {
            .swiper-slide {
                height: 460px;
                max-height: 460px;
                .article-infos,
                .carousel-caption {
                    width: 30%;
                    left: 2rem;
                    right: auto;
                }
            }
            .swiper-nav-container {
                position: absolute;
                bottom: .625rem;
                right: 1rem;
                display: flex;
                align-items: center;
                gap: 8px;
                z-index: 1;
            }
            .swiper-button-next,
            .swiper-button-prev,
            .swiper-button-pause {
                display: grid;
                place-content: center;
                position: static;
                background-color: var(--white-color);
                border-radius: 50%;
                height: 40px;
                width: 40px;
                font-weight: 600;
                color: var(--black-color);
                margin: 0;
                cursor: pointer;
                box-shadow: var(--shadow-gray);
                &:after {
                    content: "";
                }
                .mask-icon,
                .swiper-navigation-icon {
                    width: 12px;
                    height: 12px;
                }
            }
        }
    }
}
/* ---- Fin de elements/carousel.css ---- */
/* ---- Fin de elements/elements.css ---- */

/* ---- Début de footer/footer.css ---- */
/* ---- Début de footer/footer-xs.css ---- */
footer {
    color: var(--white-color);
    background-color: var(--primary-color);
    padding: var(--main-inline-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--main-inline-padding);
    ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .label-socials {
        display: none;
    }
    .socials,
    .socials ul,
    .socials ul li,
    .socials ul li a {
        display: flex;
        align-items: center;
    }
    .socials {
        display: flex;
        align-items: center;
        ul {
            gap: 1rem;
        }
    }
    .mask-icon {
        height: 1.5rem;
        width: 1.5rem;
        background-color: var(--white-color);
    }
    .right-footer {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 2rem;
        a:hover {
            text-decoration: underline;
        }
    }
    .footer-menu {
        width: auto;
        text-align: right;
        display: flex;
        flex-direction: row;
        gap: 2rem;
        li a {
            color: var(--white-color);
            &:hover {
                color: var(--white-color);
                text-decoration: underline;
            }
        }
    }
}
@media (max-width: 576px) {
    footer {
        .right-footer {
            display: flex;
            flex-direction: column;
            align-items: end;
            gap: 1rem;
            a:hover {
                text-decoration: underline;
            }
        }
        .footer-menu {
            width: 100%;
            flex-direction: column;
            gap: .5rem;
        }
    }
}
/* ---- Fin de footer/footer-xs.css ---- */


/* ---- Début de footer/footer-sm.css ---- */
@media (min-width: 768px) {
    footer {
        .label-socials {
            display: flex;
        }
        .socials ul {
            padding-inline: 1rem;
        }
        .mask-icon {
            height: 2rem;
            width: 2rem;
        }
    }
}
/* ---- Fin de footer/footer-sm.css ---- */


/* ---- Début de footer/footer-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de footer/footer-lg.css ---- */


/* ---- Début de footer/footer-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de footer/footer-xl.css ---- */
/* ---- Fin de footer/footer.css ---- */

/* ---- Début de header/header.css ---- */
/* ---- Début de header/header-xs.css ---- */
header {
    display: flex;
    flex-direction: column;
    transition: transform .2s ease;
    z-index: 100;
    ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }
    .top-header,
    .bottom-header {
        display: flex;
        padding-inline: var(--main-inline-padding);
    }
    .top-header {
        flex-direction: column;
        justify-content: center;
        border-bottom: 4px solid var(--secondary-color);
        background-color: var(--white-color);
        position: relative;
        height: var(--top-header-height);
        gap: .5rem;
        .top-top-header {
            display: flex;
            align-items: center;
        }
        .logo {
            display: flex;
            align-items: center;
            .svg-desktop {
                display: none;
                width: 270px;
                margin-bottom: -3px;
            }
            .svg-mobile {
                width: 50px;
            }
            svg {
                height: 52px;
                path {
                    fill: var(--primary-color);
                }
            }
        }
        .toggle-mobile-menu {
            border: none;
            height: 2rem;
            width: 2rem;
            .mask-icon {
                width: 20px;
                height: 20px;
                background-color: var(--primary-color);
            }
        }
        .mobile-nav-menu {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: calc(100% + var(--top-header-border-height));
            left: 0;
            height: max-content;
            background-color: var(--white-color);
            box-shadow: var(--shadow-gray);
            transform: translateX(-100%);
            transition: transform .2s ease;
            z-index: 1000;
            &.is-open {
                transform: translateX(0);
            }
            .current-menu-item > a {
                color: var(--primary-color);
            }
            .menu-item {
                display: flex;
                order: 1;
                transition-property: background-color, color;
                transition-duration: var(--transition-bezier-duration);
                transition-timing-function: var(--transition-bezier-timing);
                a,
                span:not(.mask-icon) {
                    max-width: 100%;
                    padding: 1rem 2rem;
                }
                .sub-menu {
                    margin-left: 2rem;
                    position: relative;
                    &::before {
                        content: "";
                        position: absolute;
                        top: 0;
                        bottom: 1rem;
                        left: 0;
                        width: 1px;
                        background: var(--gray-lighter-color);
                    }
                }
            }
            .menu-item-search {
                max-width: 100%;
                padding: 1rem 2rem;
                order: 0;
            }
            .menu-item-has-children {
                .sub-menu {
                    max-height: 0;
                    overflow: hidden;
                    transition: all .2s ease;
                }
                > a,
                > span {
                    display: flex;
                    align-items: center;
                    &:after {
                        content: "";
                        margin-left: auto;
                        width: 10px;
                        height: 10px;
                        background-image: url("../../images/chevron-right.svg");
                        background-repeat: no-repeat;
                        background-position: center;
                        background-size: contain;
                        transform: rotate(90deg);
                    }
                }
                &.open {
                    .sub-menu {
                        background-color: var(--white-color);
                        max-height: var(--submenu-max-height, 500px); 
                    }
                    > a,
                    > span {
                        &:after {
                            transform: rotate(-90deg);
                        }
                    }
                }
            }
            .menu-principal > .menu-item,
            .menu-principal {
                display: flex;
                flex-direction: column;
            }
            a {
                color: var(--black-color);
            }
        }
        .header-title {
            display: none;
            margin-left: var(--main-inline-padding);
            p {
                margin: 0;
            }
        }
        .top-header-right {
            display: flex;
            align-items: center;
            margin-left: auto;
            gap: .2rem;
            .btn {
                padding: .625rem;
            }
            .culture-change .custom-select__trigger {
                background-color: transparent;
                border: none;
            }
            .culture-change img {
                border-radius: 3px;
                vertical-align: middle;
                display: inline-block;
            }
            .culture-change .active-culture,
            .culture-change .custom-select__chevron {
                display: none;
            }
            .culture-change .custom-select__list span.notranslate {
                display: flex;
                width: 100%;
            }
        }
        .top-header-right {
            font-size: var(--fs-small);
            line-height: calc(var(--fs-small) + 4px);
        }
        .sub-header-title h1,
        .header-title,
        .header-title h1 {
            font-size: var(--fs-normal);
            line-height: calc(var(--fs-normal) + 4px);
            color: var(--primary-color)
        }
        .sub-header-title,
        .header-title {
            p {
                margin-bottom: 0;
            }
            h1 {
                font-weight: normal;
                margin: 0;
            }
        }
    }
    .bottom-header {
        display: none;
        align-items: center;
    }
}
@media (min-width: 360px) {
    header {
        .top-header {
            .top-header-right {
                gap: 1rem;
                .culture-change .active-culture,
                .culture-change .custom-select__chevron {
                    display: inline-block;
                }
            }
        }
    }
}
/* ---- Fin de header/header-xs.css ---- */


/* ---- Début de header/header-sm.css ---- */
@media (min-width: 768px) {
    header {
        .top-header {
            .logo {
                .svg-desktop {
                    display: block;
                }
                .svg-mobile {
                    display: none;
                }
            }
            .top-header-right {
                position: absolute;
                top: 0;
                bottom: 0;
                right: var(--main-inline-padding);
                gap: 2rem;
                .btn {
                    padding: 1rem;
                }
            }
        }
    }
}
/* ---- Fin de header/header-sm.css ---- */


/* ---- Début de header/header-lg.css ---- */
@media (min-width: 992px) {
    body:not(.touch-device) header {
        .top-header {
            .toggle-mobile-menu,
            .mobile-nav-menu {
                display: none;
            }
        }
        .sub-header-title {
            margin-top: .5rem;
        }
        .bottom-header {
            display: flex;
            background-color: var(--gray-lightest-color);
            font-size: var(--fs-small);
            height: var(--bottom-header-height);
            align-items: center;
            justify-content: center;
            .menu {
                width: 100%;
            }
            .menu-principal {
                display: flex;
                justify-content: center;
                gap: 1rem;
                .menu-item {
                    display: flex;
                    color: var(--black-color);
                    align-items: center;
                    justify-content: center;
                    border-radius: 8px;
                    &:not(.menu-item-search) {
                        background: var(--white-color, #FFF);
                        box-shadow: var(--shadow-gray);
                    }
                    a {
                        width: 100%;
                        padding: .7rem 1.2rem;
                    }
                }
                a {
                    color: inherit;
                    text-decoration: none;
                    white-space: nowrap;
                }
                .current-menu-item,
                .current-menu-parent {
                    color: var(--primary-color);
                }
                .menu-item-has-children {
                    position: relative;
                    &::after {
                        content: '';
                        position: absolute;
                        top: 100%;
                        left: 0;
                        width: 100%;
                        height: 0.5rem;
                    }
                    .sub-menu {
                        position: absolute;
                        top: calc(100% + 0.5rem);
                        background-color: transparent;
                        visibility: hidden;
                        min-width: 100%;
                        border-radius: 8px;
                        box-shadow: var(--shadow-gray);
                        overflow: hidden;
                        li {
                            background-color: var(--white-color);
                            box-shadow: unset;
                            border-radius: 0;
                            &:hover {
                                background-color: var(--gray-lightest-color);
                            }
                        }
                    }
                    &:hover .sub-menu,
                    &:focus-within .sub-menu {
                        visibility: visible;
                    }
                }
                .menu-item-search input {
                    width: 150px;
                }
            }
        }
    }
}
/* ---- Fin de header/header-lg.css ---- */


/* ---- Début de header/header-xl.css ---- */
@media (min-width: 1200px) {
    header {
        .bottom-header {
            font-size: var(--fs-normal);
            .menu-principal {
                gap: 1.5rem;
                .menu-item {
                    a {
                        padding: 1rem 1.5rem;
                    }
                }
            }
        }
    }
    body:not(.touch-device) header {
        .bottom-header {
            .menu-principal {
                .menu-item-search input {
                    width: auto;
                }
            }
        }
        .top-header {
            .header-title {
                display: block;
            }
            .sub-header-title {
                display: none;
            }
        }
    }
}
/* ---- Fin de header/header-xl.css ---- */


header {
    position: fixed;
    top: 0;
}
main {
    position: relative;
}
main .backdrop {
    display: none;
    background-color: rgba(85, 85, 85, 0.5);
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 10;
}
body:has(header .mobile-nav-menu.is-open) main .backdrop {
    display: block;
}
body:has(header .mobile-nav-menu.is-open) {
    overflow: hidden;
}
/* ---- Fin de header/header.css ---- */

/* ---- Début de listing/listing.css ---- */
/* ---- Début de listing/listing-xs.css ---- */
.listing-grid {
    display: grid;
    grid-template: auto / 1fr;
    column-gap: 2rem;
    row-gap: 1rem;
    article {
        display: flex;
        flex-direction: column;
    }
    article a {
        &:hover,
        &:focus {
            color: var(--black-color);
        }
    }
    .article-thumbnail {
        transition: all .2s ease;
        img {
            height: 235px;
            width: 100%;
        }
    }
    .article-meta {
        display: flex;
        flex-wrap: wrap;
        line-height: 20px;
        font-size: var(--fs-normal);
        margin-block: 10px;
        a {
            color: var(--primary-color);
            font-weight: bold;
        }
    }
    .article-categories {
        margin-right: auto;
        color: var(--primary-color);
    }
    .article-infos {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .article-title {
        margin: 0;
        font-size: var(--fs-h4);
        line-height: calc(var(--fs-h4) + 4px);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .article-excerpt {
        font-size: var(--fs-normal);
        line-height: calc(var(--fs-normal) + 4px);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.listing-category-has-childs,
#home-section-guide,
#home-section-recent {
    a {
        transition: all .2s ease;
    }
}
.listing-category-has-childs h2 {
    margin: 0;
}
#home-section-guide h2,
#home-section-temoignage h2 {
    margin-top: 0;
}
.listing-category-has-childs {
    display: flex;
    flex-direction: column;
    padding-top: 1rem;
    .child-category:not(:last-of-type) {
        border-bottom: 1px solid #eaeaea;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    .child-category-heading {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
        .child-category-link {
            display: flex;
            align-items: center;
            gap: .5rem;
            font-weight: bold;
            font-size: var(--fs-small);
            i {
                width: 12px;
                height: 12px;
            }
            &:hover {
                text-decoration: underline;
            }
        }
    }
}
.category-description {
    margin-bottom: var(--main-inline-padding);
    p {
        margin: 0;
    }
}
/* ---- Fin de listing/listing-xs.css ---- */


/* ---- Début de listing/listing-sm.css ---- */
@media (min-width: 768px) {
    .listing-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3rem;
        &.nb-col-2 {
            grid-template-columns: repeat(2, 1fr);
        }
        &.nb-col-3 {
            grid-template-columns: repeat(3, 1fr);
        }
        &.nb-col-4 {
            grid-template-columns: repeat(4, 1fr);
        }
        .article-meta {
            margin-block: 15px;
        }
        .article-excerpt,
        .article-meta {
            font-size: var(--fs-small);
        }
        .article-excerpt {
            -webkit-line-clamp: 3;
        }
    }
    .listing-category-has-childs {
        padding-top: 0;
        .child-category:not(:last-of-type) {
            padding-bottom: calc(var(--main-inline-padding) / 2);
            margin-bottom: calc(var(--main-inline-padding) / 2);
        }
        .child-category-heading {
            margin-bottom: 2rem;
        }
    }
}
/* ---- Fin de listing/listing-sm.css ---- */


/* ---- Début de listing/listing-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de listing/listing-lg.css ---- */


/* ---- Début de listing/listing-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de listing/listing-xl.css ---- */
/* ---- Fin de listing/listing.css ---- */

/* ---- Début de presse/presse.css ---- */
/* ---- Début de presse/presse-xs.css ---- */
#page-presse {
    .grid-contact {
        display: grid;
        grid-template: auto / 1fr;
        column-gap: 2rem;
        row-gap: 1rem;
    }
    .contact-name {
        font-weight: bold;
        font-size: 1.2rem;
    }
    .contact-description {
        font-size: .9rem;
    }
    .contact-details-list {
        display: flex;
        gap: .5rem;
        flex-direction: column;
        margin-block: 1rem;
        padding-left: 1rem;
        padding-top: .5rem;
        border-left: 2px solid var(--gray-lighter-color);
    }
    .contact-details-item {
        display: flex;
        gap: .3rem;
        white-space: nowrap;
        align-items: center;
        .mail-mask {
            width: 1.125rem;
            height: 1.125rem;
        }
    }
    .logos-list {
        display: grid;
        grid-template: auto / 1fr 1fr;
        row-gap: 1rem;
        column-gap: 1rem;
    }
    .logo-item {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--gray-lighter-color);
        position: relative;
        border-radius: 5px;
        padding: 1rem;
        .image-container {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            img {
                width: 100%;
                height: 100px;
                object-fit: contain;
            }
        }
        .download-logo {
            position: absolute;
            top: 1rem;
            right: 1rem;
            opacity: 0.8;
            transition: all 0.2s ease-in-out;
            padding: .5rem;
            &:hover {
                opacity: 1;
            }
            > i {
                width: 12px;
                height: 12px;
            }
        }
        figure {
            margin: 0;
            width: 100%;
        }
        figcaption {
            margin-top: .5rem;
            font-size: var(--fs-small);
            position: absolute;
            bottom: 1rem;
            left: 1rem;
        }
    }
}
/* ---- Fin de presse/presse-xs.css ---- */


/* ---- Début de presse/presse-sm.css ---- */
@media (min-width: 768px) {
    #page-presse {
        .grid-contact,
        .logos-list {
            grid-template-columns: repeat(3, 1fr);
            row-gap: 3rem;
            column-gap: 3rem;
        }
        .logo-item {
            .image-container {
                img {
                    height: 150px;
                }
            }
        }
    }
}
/* ---- Fin de presse/presse-sm.css ---- */


/* ---- Début de presse/press-xl.css ---- */
@media (min-width: 1200px) {
    #page-presse {
        .logo-item {
            .image-container {
                img {
                    height: 235px;
                }
            }
        }
    }
}
/* ---- Fin de presse/press-xl.css ---- */
/* ---- Fin de presse/presse.css ---- */

/* ---- Début de single/single.css ---- */
/* ---- Début de single/single-xs.css ---- */
.single-post {
    * {
        line-height: calc(1em + 4px);
    }
    .wp-block-quote.is-style-highlighted {
        font-style: italic;
        border-left: 4px solid var(--gray-lighter-color);
        padding-left: 1rem;
        color: var(--gray-darker-color);
        margin: 2rem 0;
    }
    .alignleft {
        float: left;
        margin-right: 1.5em;
        margin-bottom: 1em;
    }
    .alignright {
        float: right;
        margin-left: 1.5em;
        margin-bottom: 1em;
    }
    .aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .wp-block-image img {
        max-width: 100%;
        height: auto;
    }
}
/* ---- Fin de single/single-xs.css ---- */


/* ---- Début de single/single-sm.css ---- */
@media (min-width: 768px) {
}
/* ---- Fin de single/single-sm.css ---- */


/* ---- Début de single/single-lg.css ---- */
@media (min-width: 992px) {
}
/* ---- Fin de single/single-lg.css ---- */


/* ---- Début de single/single-xl.css ---- */
@media (min-width: 1200px) {
}
/* ---- Fin de single/single-xl.css ---- */
/* ---- Fin de single/single.css ---- */

