@import url('variables.css');
@import url('fonts.css');
@import url('form.css');

* {-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family:'Stolzl';font-weight:500;text-transform:uppercase;line-height:1.2;
    & span {
        display:block;font-weight:300;
    }
}
h1 {font-size:1.8rem;}
h2 {font-size:1.6rem;}
h3 {font-size:1.4rem;}
h4 {font-size:1.2rem;}
h5 {font-size:1rem;}
h6 {font-size:.8rem;}
p, li {line-height:1.2;font-size:.9rem;text-align:justify;}

a {
    color:var(--blue);
    &:hover {
        color:var(--blue-light);
    }
    &.button {
        display:inline-block;text-align:center;text-transform:uppercase;font-size:.9rem;font-weight:500;line-height:2;padding:0 1rem;background:var(--blue);color:white;border-radius:var(--border-radius);text-decoration:none;
        &[href^="http"] {
            text-transform:none;
        }
        &.cta {
            background:var(--gradient);
        }
        &[data-domaine="enseignement"] {
            background:var(--enseignement);
        }
        &[data-domaine="recherche"] {
            background:var(--recherche);
        }
        &[data-domaine="expertise"] {
            background:var(--expertise);
        }
        &:hover {
            background:var(--blue-light);
        }
    }
}

.bg-blue {background:var(--blue-light);color:white;border-radius:var(--border-radius);}

body {
    font-family:'Stolzl';color:var(--text-color);background:var(--blue);
    & .grid-container {
        max-width:94vw;
    }
    &:not(.home, .single) {
        & header {
            padding-bottom:8rem;aspect-ratio:auto;
        }
    }
    & header {
        background:linear-gradient(200deg, var(--blue-light) 0%, var(--blue-lighter) 100%);border-radius:var(--border-radius);margin-top:3vw;aspect-ratio:1796/786;position:relative;margin-bottom:4rem;min-height:16rem;
        &.has-pays-selectionne {
            aspect-ratio:initial;
            & object {
                display:none;
            }
        }
        & nav {
            position:absolute;z-index:3;top:0;left:0;width:100%;
            & .cell {
                &:has(figure){
                    position:relative;
                    & figure {
                        background:var(--blue);border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);padding:1rem 0 .5rem 0;position:relative;z-index:1;width:80%;margin:0 auto 0 20%;
                        &::before, &::after {
                            content:'';background:url('../img/angle-rounded.svg') no-repeat;background-size:contain;width:2rem;height:auto;position:absolute;z-index:0;top:-.5px;left:-1.9rem;aspect-ratio:1;
                        }
                        &::after {
                            transform:rotate(-90deg);left:auto;right:-1.9rem;top:-.5px;
                        }
                        & img {
                            width:70%;height:auto;position:absolute;z-index:1;margin:0;display:block;bottom:10%;left:15%;
                        }
                    }
                }
                &:has(ul) {
                    padding-top:.9375rem;
                    & ul {
                        display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:white;border-radius:var(--border-radius);margin:0;width:100%;
                        & li {
                            list-style:none;text-transform:uppercase;font-size:1rem;font-weight:500;position:relative;
                            & a {
                                display:block;color:var(--text-color);text-decoration:none;border-radius:var(--border-radius);padding:0 1rem;line-height:2;
                                &:hover, &:focus, &.active, &[aria-current] {
                                    background:var(--gradient);color:white;
                                }
                            }
                            & ul {
                                position:absolute;top:100%;left:0;min-width:100%;width:fit-content;background:white;border-top-left-radius:0;border-top-right-radius:0;padding:1rem;display:none;
                                & li {
                                    white-space:nowrap;
                                }
                            }
                            &:hover {
                                & ul {
                                    display:block;
                                }
                            }
                            &.wpml-ls-item {
                                & a {
                                    display:flex;justify-content:center;align-items:center;width:2rem;height:2rem;border-radius:50%;overflow:hidden;padding:0 .5rem;box-sizing:content-box;
                                    &:hover {background:none;}
                                    & img {
                                        width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;display:block;
                                    }
                                }
                                &:hover {
                                    & ul {
                                        padding:.5rem 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        & .content-header {
            padding-top:4rem;color:white;
            & h1 {
                border-bottom:1px solid white;padding-bottom:1rem;margin-bottom:1rem;
            }
            & p, & ul {
                max-width:90%;margin-inline:auto;
            }
        }
        & .grid-x {
            &:has(object){
                overflow:hidden;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);
                & .cell {
                    &:has(object){
                        position:relative;margin-top:-5%;
                        &::before {
                            content:'';background:var(--blue);height:3vw;width:100%;position:fixed;top:0;left:0;z-index:1;display:none;
                        }
                        & object {
                            pointer-events:none;
                        }
                    }
                }
            }
            &:has(.content-header) {
                padding-top:5%;
            }
            & .cell:has(label) {
                display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;flex-wrap:wrap;
                & label:not(.switch) {
                    border-radius:var(--border-radius);background:var(--blue-light);color:white;display:inline-block;padding:0 1rem;line-height:2;font-weight:500;text-transform:uppercase;font-size:.9rem;margin:0;
                    & input[type="checkbox"] {
                        display:none;
                    }
                    &:has(input:checked) {
                        background:var(--blue);color:white;
                    }
                }
            }
        }
        & + #search-bar {
            position:absolute;width:30rem;left:calc(50% - 15rem);padding:1rem 2rem;background:white;border-radius:var(--border-radius);z-index:1;transform:translateY(-12rem);scroll-margin-top:2rem;
            & > span {
                display:block;text-transform:uppercase;font-size:1rem;font-weight:normal;color:var(--blue);background:white;border-radius:var(--border-radius);position:absolute;top:-1rem;padding-inline:1rem;font-weight:500;line-height:2;
            }
            & ul {
                display:flex;justify-content:space-between;align-items:center;margin:0;padding:0;
                & li {
                    list-style:none;text-transform:uppercase;font-size:1rem;font-weight:normal;width:100%;
                    & input, & select, & label {
                        border-radius:var(--border-radius);border:1px solid var(--blue-light);padding:.5rem 1rem;font-size:1rem;width:100%;font-weight:500;color:var(--blue);height:auto;line-height:2;margin:0;text-transform:uppercase;
                        &[type="checkbox"] {
                            display:none;
                            & + label {
                                text-align:center;
                            }
                            &:checked + label {
                                background:var(--blue);color:white;
                                &[for="enseignement"] {
                                    background:var(--enseignement);border-color:transparent;
                                }
                                &[for="recherche"] {
                                    background:var(--recherche);border-color:transparent;
                                }
                                &[for="expertise"] {
                                    background:var(--expertise);border-color:transparent;
                                }
                            }
                        }
                    }
                    &:has(select){
                        position:relative;
                        &::after {
                            content:'\f107';font-family:"Font Awesome 6 Free";font-weight:600;position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--blue);pointer-events:none;
                        }
                        & select {
                            appearance:none;background:none;
                        }
                    }
                }
            }
        }
    }
    & main {
        position:relative;z-index:1;
        &:has(section.block-encart, article.block-encart){
            margin-top:-10rem;
        }
        &:has(section.block-accordeon){
            margin-top:-6rem;
        }
        & section {
            margin-bottom:4rem;
            &#selection-pays {
                color:white;
                & object {
                    display:block;max-width:60%;margin-inline:auto;aspect-ratio:1;margin-bottom:2rem;pointer-events:none;
                }
                & h2 {text-align:center;}
                & ul {
                    margin:0;margin-bottom:2rem;padding:0;display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;
                    & li {
                        list-style:none;text-transform:uppercase;font-size:1rem;font-weight:500;display:flex;align-items:center;justify-content:center;
                        & a {
                            display:block;color:white;text-decoration:none;padding-inline:1rem;border-radius:var(--border-radius);line-height:2;text-align:center;font-size:.85rem;
                            &:hover {
                                background:var(--blue-light);color:white;
                            }
                        }
                        &::after {
                            content:'-';display:block;margin-inline:auto;width:fit-content;
                        }
                        &:last-child::after {
                            content:'';
                        }
                    }
                }
                & .cell:has(object) {
                    border-right:1px solid #3079d6;
                    &:nth-child(3n + 1) {
                        border-right:0;
                    }
                }
            }
            &#pays-selectionne {
                max-width:var(--width-container);margin-inline:auto;overflow:hidden;max-height:0;transition:all 1.5s ease-in-out;scroll-margin-top:3rem;
                & .bt-retour {
                    display:none;max-width:fit-content;margin-inline:auto;background:white;color:var(--blue);
                }
                &.open {
                    max-height:500vh;
                    & .bt-retour {
                        display:block;
                    }
                }
                & .grid-x {
                    background:white;border-radius:var(--border-radius);padding:2rem;margin-inline:.9375rem;
                }
                & h2, & h3 {
                    text-align:left;color:var(--blue-light);text-transform:uppercase;border-top:1px solid var(--blue-light);border-bottom:1px solid var(--blue-light);padding:1rem 0;margin:1rem 0;
                    &:first-of-type {
                        border-top:0;
                    }
                    & ~ * {
                        max-width:90%;margin-inline:auto;
                    }
                }
                & p {
                    &.domaine {
                        border-radius:var(--border-radius);background:var(--grey);width:fit-content;padding:0 2rem;line-height:2;margin-left:0;font-size:.8rem;font-weight:500;text-transform:uppercase;
                    }
                }
                & object {
                    pointer-events:none;
                }
                & .themes {
                    & ul {
                        margin:0 auto;padding:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:.5rem;
                        & li {
                            border-radius:var(--border-radius);background:var(--grey);text-align:center;list-style:none;width:fit-content;min-width:var(--width-container);line-height:2;padding-inline:2rem;margin-bottom:.5rem;font-weight:500;
                        }
                    }
                }
                & .equipes {
                    & p {
                        &:has(a[href]) {
                            display:flex;justify-content:flex-start;align-items:center;gap:.5rem;flex-wrap:wrap;
                        }
                        & a {
                            &::after {
                                content:'-';display:inline-block;margin-inline:.25rem -.25rem;width:fit-content;
                            }
                            &:last-child::after {
                                content:'';
                            }
                        }
                    }
                }
                & .domaines, & .pays {
                    & ul {
                        margin:0;padding:0;display:flex;justify-content:flex-start;align-items:center;flex-direction:row;flex-wrap:wrap;gap:1rem;max-width:100%;width:100%;
                        & li {
                            border-radius:var(--border-radius);background:var(--grey);text-align:center;list-style:none;width:fit-content;line-height:2;padding-inline:2rem;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;
                        }
                    }
                }
                & .galerie {
                    display:flex;justify-content:center;align-items:center;flex-direction:row;gap:1rem;flex-wrap:wrap;max-width:100%;width:100%;
                    & a {
                        display:block;flex:1 1 calc(100%/3 - 1rem);max-width:calc(100%/3 - 1rem);height:auto;aspect-ratio:1;object-fit:cover;object-position:center;position:relative;
                        & img {
                            & + .caption {
                                display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#1472f8c4;color:white;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;padding:.5rem;text-align:center;border-radius:var(--border-radius);
                            }
                        }
                        &:hover {
                            & img {
                                & + .caption {
                                    display:flex;
                                }
                            }
                        }
                    }
                    & img {
                        flex:1 1 100%;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:var(--border-radius);
                    }
                }
                & div {
                    &.cell {
                        margin-bottom:1rem;
                        &.bg-blue {
                            padding:1rem 2rem 2rem 2rem;
                            & h2, & h3 {
                                border:0;color:white;
                            }
                            & a {
                                color:white;
                            }
                            & .contacts {
                                text-transform:uppercase;font-weight:500;
                            }
                        }
                        &.resume {
                            & p {
                                max-width:90%;margin-inline:auto;
                            }
                        }
                    }
                    &.activites-groupe {
                        margin-bottom:2rem;max-width:100%;
                        &:last-of-type {
                            margin-bottom:0;
                        }
                        & article {
                            border-radius:var(--border-radius);padding:1rem 2rem;
                            &:hover {
                                background: var(--grey);
                            }
                        }
                    }
                }
            }
            &.block-encart, & article.block-encart, & details {
                max-width:var(--width-container);margin-inline:auto;border-radius:calc(var(--border-radius)/1.5);background:white;padding:2rem;margin-bottom:2rem;
                & h2 {
                    font-size:1.8rem;
                    & span {
                        display:block;font-weight:normal;text-transform:none;font-size:.9rem;
                    }
                }
                & img {
                    max-height:5rem;width:auto;margin-bottom:1rem;
                }
                & p, & ul {
                    max-width:80%;margin-inline:auto;
                }
                &:last-of-type {
                    margin-bottom:0;
                }
            }
            & details {
                padding:1rem 2rem;margin-bottom:1rem;
                & summary {
                    position:relative;font-size:1.2rem;font-weight:500;text-transform:uppercase;list-style:none;cursor:pointer;
                    &::after {
                        content:'\f107';font-family:"Font Awesome 6 Free";font-weight:600;position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--blue);pointer-events:none;transition:transform .25s ease-in-out;
                    }
                }
                &[open] {
                    padding-bottom:2rem;
                    & summary {
                        margin-bottom:2rem;
                        &::after {
                            transform:translateY(-50%) rotate(180deg);
                        }
                    }
                }
            }
            &.block-texte {
                max-width:var(--width-container);margin-inline:auto;padding:2rem;margin-bottom:2rem;color:white;
                & p, & ul {
                    max-width:80%;margin-inline:auto;
                }
            }
            & .pagination {
                display:flex;justify-content:center;align-items:center;gap:1rem;
                & .page-numbers {
                    border-radius:var(--border-radius);font-weight:500;color:white;
                    &.current {
                        background:var(--blue-light);
                    }
                    &:not(.current):hover {
                        background:var(--orange);
                    }
                }
            }
            &.simple-content {
                max-width:var(--width-container);margin-inline:auto;margin-bottom:2rem;
                & h2, & h3, & p, & ul {
                    color:white;
                }
                & a {
                    color:white;text-decoration:underline;
                    &:hover {
                        color:var(--blue-lighter);
                    }
                }
            }
            &.logos-encart {
                background:white;padding:0 4rem;border-radius:var(--border-radius);
                & .swiper {
                    padding-bottom:0;
                    & .swiper-wrapper {
                        justify-content:center;
                        & .swiper-slide {
                            display:flex;justify-content:center;align-items:center;flex-direction:column;gap:1rem;
                            & img {max-height:50%;}
                        }
                    }
                }
            }
        }
    }
    & footer {
        background:var(--blue-light);border-radius:var(--border-radius);padding:2rem 0;color:white;margin-bottom:3vw;
        & .cell {
            &:has(ul){
                display:flex;justify-content:flex-end;align-items:center;flex-direction:row;
                & ul {
                    margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;flex-direction:row;
                    & li {
                        list-style:none;text-transform:uppercase;display:flex;justify-content:center;align-items:center;
                        & a {
                            display:block;color:white;text-decoration:none;
                            &:hover {
                                color:var(--text-color);
                            }
                        }
                        &::after {
                            content:'|';display:block;margin-inline:auto;width:fit-content;padding-inline:1rem;
                        }
                        &:last-child::after {
                            content:'';
                        }
                    }
                }
            }
            & figure {
                max-width:80%;
            }
        }
    }
    &.single-activite, &.tax-pays {
        & main {
            margin-top:calc(0px - (10vw * 1796/696));
        }
        & section {
            max-width:var(--width-container);margin-inline:auto;--fill-path:var(--blue);
            & .grid-x {
                background:white;border-radius:var(--border-radius);padding:2rem;margin-inline:.9375rem;
            }
            & h1 {
                line-height:1;
            }
            & h2, & h3 {
                text-align:left;color:var(--blue-light);text-transform:uppercase;border-top:1px solid var(--blue-light);border-bottom:1px solid var(--blue-light);padding:1rem 0;margin:1rem 0;
                &:first-of-type {
                    border-top:0;
                }
                & ~ * {
                    max-width:90%;margin-inline:auto;
                }
            }
            & p {
                &.statut {
                    color:var(--orange);font-weight:bold;text-transform:uppercase;
                }
                &:has(span[data-country]){
                    margin-bottom:0;text-align:left;
                }
                & span {
                    &[data-country] {
                        text-transform:uppercase;
                        &::after {
                            content:'/';display:inline-block;margin-inline:.25rem;padding:0;
                        }
                        &:last-of-type::after {
                            content:'';
                        }
                    }
                }
            }
            & object {
                pointer-events:none;
            }
            & .themes {
                & ul {
                    margin:0 auto;padding:0;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:.5rem;
                    & li {
                        border-radius:var(--border-radius);background:var(--grey);text-align:center;list-style:none;width:fit-content;min-width:var(--width-container);line-height:2;padding-inline:2rem;margin-bottom:.5rem;font-weight:500;
                    }
                }
            }
            & .equipes {
                & p {
                    &:has(a[href]) {
                        display:flex;justify-content:flex-start;align-items:center;gap:.5rem;
                    }
                }
            }
            & .domaines, & .pays {
                & ul {
                    margin:0;padding:0;display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:1rem;max-width:100%;width:100%;
                    & li {
                        border-radius:var(--border-radius);background:var(--grey);text-align:center;list-style:none;width:fit-content;line-height:2;padding-inline:2rem;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;
                    }
                }
            }
            & .galerie {
                display:flex;justify-content:center;align-items:center;flex-direction:row;gap:1rem;flex-wrap:wrap;max-width:100%;width:100%;
                & a {
                    display:block;flex:1 1 calc(100%/3 - 1rem);max-width:calc(100%/3 - 1rem);height:auto;aspect-ratio:1;object-fit:cover;object-position:center;position:relative;
                    & img {
                        & + .caption {
                            display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#1472f8c4;color:white;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;padding:.5rem;text-align:center;border-radius:var(--border-radius);
                        }
                    }
                    &:hover {
                        & img {
                            & + .caption {
                                display:flex;
                            }
                        }
                    }
                }
                & img {
                    flex:1 1 100%;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:var(--border-radius);
                }
            }
            & div.cell {
                margin-bottom:1rem;
                &:has(object[data*="world.svg"]){
                    width:25%;
                    & + .cell {
                        width:50%;
                    }
                }
                &.bg-blue {
                    padding:1rem 2rem 2rem 2rem;
                    & h2, & h3 {
                        border:0;color:white;
                    }
                    & a {
                        color:white;
                    }
                    & .contacts {
                        text-transform:uppercase;font-weight:500;
                    }
                }
                &.resume {
                    padding:2rem 0;
                    & p {
                        max-width:90%;margin-inline:auto;
                    }
                }
            }
            &:has(+ .bt-retour) {
                margin-bottom:2rem;
            }
            & + .bt-retour {
                display:block;max-width:fit-content;margin-inline:auto;background:white;color:var(--blue);margin-bottom:4rem;
            }
        }
    }
    &.page-template-page-explorer-par-themes {
        & main {
            & section {
                &:has(+ .bt-retour) {
                    margin-bottom:2rem;
                }
                & + .bt-retour {
                    display:block;max-width:fit-content;margin-inline:auto;background:white;color:var(--blue);margin-bottom:4rem;
                }
            }
        }
    }
    &.page-template-page-nos-activites {
        & main {
            & section {
                & .activites-groupe {
                    margin-bottom:2rem;position:relative;
                    &:last-of-type {
                        margin-bottom:0;
                    }
                    & article {
                        position:relative;
                        &::before {
                            content:attr(data-domaine);position:absolute;top:-.8rem;left:2rem;border-radius:var(--border-radius);background:var(--grey);width:fit-content;padding:0 2rem;line-height:2;margin-left:0;font-weight:500;text-transform:uppercase;font-size:.8rem;
                        }
                        & p {
                            & a.button {
                                margin-bottom:0;
                            }
                        }
                    }
                }
            }
        }
    }
}

.swiper {
    padding-bottom:2rem;
    & .swiper-wrapper {
        align-items:center;
        & .swiper-slide {
            & img {
                & + .caption {
                    display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffbf;color:var(--text-color);align-items:center;justify-content:center;font-size:.8rem;font-weight:500;padding:.5rem;text-align:center;
                }
            }
            &:hover {
                & img {
                    & + .caption {
                        display:flex;
                    }
                }
            }
        }
    }
}

.switch {
    display:flex;width:30rem;height:auto;background:white;border-radius:var(--border-radius);padding:0;position:relative;margin-inline:auto;margin-top:2rem;cursor:pointer;
    & input {
        display:none;
        &:checked {
            & + .slider {
                left:50%;
            }
            & ~ .text:first-of-type {
                color:var(--text-color);
            }
            & ~ .text:last-of-type {
                color:white;
            }
        }
    }
    & .text {
        position:relative;color:var(--text-color);z-index:2;flex:0 0 50%;text-align:center;line-height:3;text-transform:uppercase;font-weight:500;
        &:first-of-type {
            color:white;
        }
    }
    & .slider {
        position:absolute;cursor:pointer;top:0;left:0;padding:0;margin:0;background:var(--orange);transition:.4s;border-radius:var(--border-radius);width:50%;height:100%;z-index:1;
    }
}

#loader {
    position:fixed;width:100%;height:100%;align-items:center;justify-content:center;top:0;left:0;display:none;background:rgba(0, 83, 200, .9);
    & .spinner {
        width: 50px;
        height: 50px;
        border: 5px solid #ddd;
        border-top: 5px solid #0073aa;
        border-radius: 50%;
        animation: spin 1s linear infinite;
        display: inline-block;
    }
}

/* Animations */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes openMenu {
    0% {max-width:0;max-height:0;width:0;border-radius:var(--border-radius);}
    25% {max-width:0;max-height:100%;width:0;border-radius:calc(var(--border-radius)/2);}
    100% {max-width:50%;max-height:100%;width:100%;border-radius:calc(var(--border-radius)/2);}
}
@keyframes openMenuLi {
    0% {margin-right:-15rem;}
    25% {margin-right:-15rem;}
    100% {margin-right:0;}
}

/* Responsive */
@media screen and (max-width:1385px) {
    body {
        &:not(.home) {
            & header {
                padding-bottom:8rem;aspect-ratio:auto;
            }
        }
        & header {
            & nav {
                & .cell {
                    &:has(ul) {
                        & ul {
                            & li {
                                & a {
                                    padding:0 .75rem;font-size:.9rem;
                                }
                            }
                        }
                    }
                }
            }
            & + #search-bar {
                & ul {
                    & li {
                        & input, & select, & label {
                            padding:.5rem .75rem;font-size:.9rem;
                        }
                        & select {
                            padding-right:2rem;
                        }
                    }
                }
            }
        }
        &.single-activite, &.tax-pays {
            & main {
                margin-top:-6rem;
            }
        }
    }
}
@media screen and (max-width:1230px) {
    body {
        & header {
            & nav {
                & .cell {
                    &:has(ul) {
                        & ul {
                            padding:1rem;
                            & li {
                                & a {
                                    padding:0 .5rem;font-size:.8rem;letter-spacing:0;
                                }
                            }
                        }
                    }
                }
            }
        }
        & footer {
            & .cell {
                &:has(ul) {
                    & ul {
                        & li {
                            font-size:.8rem;
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:1130px) {
    body {
        & header {
            & nav {
                & .cell {
                    &:has(ul) {
                        & ul {
                            & li {
                                & a {
                                    font-size:.8rem;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:1024px) {
    :root {
        --width-container:90%;
    }
    body {
        &:not(.home) {
            & header {
                padding-bottom:8rem;aspect-ratio:auto;
            }
        }
        & header {
            & nav {
                & .cell {
                    &:has(ul) {
                        & ul {
                            padding:1rem .5rem;gap:0;justify-content:flex-start;
                            & li {
                                & a {
                                    padding:0 .5rem;font-size:.7rem;
                                }
                                &.wpml-ls-item {
                                    & a {
                                        width:1.4rem;height:1.4rem;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            & + #search-bar {
                & ul {
                    & li {
                        font-size:.7rem;font-weight:normal;
                    }
                }
            }
            & .grid-x {
                & .cell:has(label) {
                    & label:not(.switch) {
                        font-size:.7rem;
                    }
                }
            }
        }
    }
}
@media screen and (max-width:1023px) {
    body {
        & header {
            & nav {
                & .cell {
                    &:has(figure) {
                        & figure {
                            & img {
                                width:70%;left:15%;
                            }
                        }
                    }
                    &:has(ul) {
                        display:flex;align-items:flex-start;justify-content:flex-end;
                        & ul {
                            padding:1.5rem;max-width:0;width:0;max-height:0;overflow:hidden;transition:all .5s ease-in-out;flex-direction:column;white-space:nowrap;box-sizing:content-box;
                            &.menu {
                                &::before {
                                    content:'\f0c9';font-family:"Font Awesome 6 Free";font-weight:600;position:absolute;right:0;top:0;width:100%;height:100%;color:var(--blue);pointer-events:none;background:white;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;
                                }
                            }
                            & li {
                                pointer-events:none;margin-right:-5rem;opacity:0;
                                & a {
                                    font-size:.75rem;
                                }
                            }
                            &.open {
                                animation:openMenu .5s ease-in-out forwards;max-width:0;max-height:0;width:0;
                                &::before {
                                    max-width:2rem;max-height:2rem;content:'\f00d';font-family:"Font Awesome 6 Free";font-weight:600;position:absolute;right:.5rem;top:.5rem;color:var(--blue);pointer-events:none;
                                }
                                & li {
                                    pointer-events:auto;animation:openMenuLi .5s ease-in-out forwards;opacity:1;
                                    &.wpml-ls-item {
                                        display:flex;justify-content:center;align-items:center;flex-direction:row;gap:.5rem;width:100%;
                                        & .sub-menu {
                                            position:relative;display:block;max-height:fit-content;min-width:fit-content;padding-inline:0;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        & main {
            & section {
                &#selection-pays {
                    & .cell:has(object) {
                        &:nth-child(4n) {
                            border-right:0;
                        }
                        &:nth-child(5n) {
                            border-right:1px solid #3079d6;
                        }
                    }
                    & ul {
                        & li {
                            & a {
                                padding-inline:.5rem;
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:970px) {
    body {
        & header {
            & + #search-bar {
                & > span {
                    font-size:.8rem;
                }
                & ul {
                    & li {
                        & input, & select, & label {
                            font-size:.8rem;
                        }
                    }
                }
            }
        }
        & footer {
            & .cell {
                &:has(ul) {
                    & ul {
                        flex-direction:column;align-items:flex-end;margin-right:2rem;
                        & li {
                            &::after {
                                display:none;
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:640px) {
    body {
        & header {
            & nav {
                & .cell {
                    &:has(figure) {
                        & figure {
                            margin-inline:auto;width:18rem;
                            & img {
                                width:50%;margin:-1rem auto 0 auto;display:block;position:relative;left:0;
                            }
                        }
                    }
                    &:has(ul) {
                        & ul {
                            position:fixed;top:2rem;z-index:9;gap:.5rem;
                            & li {
                                & a {
                                    text-align:center;
                                }
                                & ul {
                                    position:relative;display:flex;flex-direction:column;max-width:fit-content;max-height:fit-content;padding:1rem 0;
                                    & li {
                                        width:100%;text-align:center;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            & + #search-bar {
                position:relative;transform:none;margin-top:-6.5rem;margin-bottom:2rem;--width-container:70%;max-width:80%;left:10%;
                & ul {
                    flex-direction:column;gap:.5rem;
                    & li {
                        width:100%;
                        & input, & select, & label {
                            padding:.25rem .75rem;
                        }
                    }
                }
            }
        }
        & main {
            & section {
                &#selection-pays {
                    & .cell:has(object) {
                        border:0;
                        &:nth-child(5n) {
                            border:0;
                        }
                    }
                }
                &#pays-selectionne {
                    & object {
                        max-width:60%;margin-inline:auto;display:block;
                    }
                    & h2, & h3 {
                        margin-top:0;padding-top:0;
                    }
                    & .equipes {
                        & p {
                            flex-direction:column;
                        }
                    }
                }
                &.logos-encart {
                    & .swiper {
                        & .swiper-wrapper {
                            justify-content:flex-start;
                        }
                    }
                }
            }
        }
        & footer {
            & .cell {
                flex-direction:column;align-items:center;justify-content:center;display:flex;
                & figure {
                    max-width:10rem;
                }
                &:has(ul) {
                    & ul {
                        align-items:center;margin:2rem auto 0 auto;
                    }
                }
            }
        }
        &.single-activite, &.tax-pays {
            & section {
                & div.cell {
                    &:has(object[data*="world.svg"]) {
                        width:100%;
                        & + .cell {
                            width:100%;
                        }
                    }
                    & img {
                        max-width:60%;margin-inline:auto;display:block;
                    }
                }
            }
        }
    }
}
@media screen and (max-width:440px) {
    h2 {font-size:1.4rem;}
    body {
        & header {
            aspect-ratio:1796/796;
            & nav {
                & .cell {
                    &:has(figure) {
                        & figure {
                            margin-inline:auto;width:70%;
                            & img {
                                width:50%;margin:-1rem auto 0 auto;display:block;position:relative;left:0;
                            }
                        }
                    }
                }
            }
            & .content-header {
                & h1 {
                    font-size:1.6rem;text-align:center;margin-top:2rem;
                }
                & p, & ul {
                    margin-inline:auto;
                }
            }
            & + #search-bar {
                margin-top:-6rem;--width-container:80%;
                & ul {
                    & li {
                        &:has(select) {
                            & select {
                                text-align:center;
                            }
                        }
                    }
                }
            }
            & .grid-x {
                &:has(object) {
                    & .cell {
                        &:has(object) {
                            margin-top:0;
                            & object {
                                margin-top:2rem;
                            }
                        }
                    }
                }
            }
        }
        & main {
            & section {
                &#selection-pays {
                    & ul {
                        flex-direction:row;flex-wrap:wrap;
                        & li {
                            &::after {
                                display:none;
                            }
                        }
                    }
                }
                &#pays-selectionne {
                    --width-container:100%;
                    & .grid-x {
                        padding-inline:.5rem;margin-inline:0;
                    }
                    & div {
                        &.activites-groupe {
                            & article {
                                border-radius:calc(var(--border-radius)/2);padding:1rem;
                            }
                        }
                    }
                }
                &.block-encart, & article.block-encart, & details {
                    & h2 {
                        font-size:1.4rem;
                    }
                    & p, & ul {
                        max-width:100%;
                    }
                }
                &.block-texte {
                    & p, & ul {
                        max-width:100%;
                    }
                }
                & details {
                    & summary {
                        font-size:1rem;
                    }
                }
            }
        }
    }
    .switch {
        width:90%;
        & .text {
            font-size:.7rem;
        }
    }
    @keyframes openMenu {
        0% {max-width:0;max-height:0;width:0;border-radius:var(--border-radius);}
        25% {max-width:0;max-height:100%;width:0;border-radius:calc(var(--border-radius)/2);}
        100% {max-width:72%;max-height:100%;width:100%;border-radius:calc(var(--border-radius)/2);}
    }
}

#cmplz-manage-consent {
    display:none;
}
#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
    margin-inline:auto;color:white;
    & a {
        color:white;
    }
    & #cmplz-cookies-overview .cmplz-dropdown, & #cmplz-document .cmplz-dropdown, & .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown {
        max-width:100%;
    }
    & #cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose, & #cmplz-document .cmplz-dropdown .cookies-per-purpose, & .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose {
        background:none;
        & div {
            background:none;
        }
    }
    & #cmplz-cookies-overview .cmplz-dropdown summary div:after, & #cmplz-document .cmplz-dropdown summary div:after, & .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div:after {
        display:none;
    }
}
