@font-face {
    font-family:'Raleway';
    src: url('../fonts/Raleway-SemiBold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family:'Raleway';
    src: url('../fonts/Raleway-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}
:root {
    --primary-color:#152c47;
    --secondary-color:#00ffff;
    --tertiary-color:#07192b;
    /*
    --archeology-color:#99c555;
    --art-color:#00b7ec;
    --industry-color:#6555c5;
    */
    --industry-color:linear-gradient(90deg,rgba(149, 193, 31, 1) 0%, rgba(65, 184, 146, 1) 100%);
    --industry-color-hover:linear-gradient(90deg,rgba(65, 184, 146, 1) 0%, rgba(65, 184, 146, 1) 100%);
    --art-color:linear-gradient(90deg,#2eb8b0 0%, rgba(0, 173, 239, 1) 100%);
    --art-color-hover:linear-gradient(90deg,#2eb8b0 0%, #2eb8b0 100%);
    --archeology-color:linear-gradient(90deg,#3c79d7 0%, rgba(101, 85, 198, 1) 50%);
    --archeology-color-hover:linear-gradient(90deg,#3c79d7 0%, #3c79d7 100%);
    --background-color:white;
    --grey-color:#f3f5f6;
    --light-blue-color:#00ffff;
    --text-color:#152c47;
    --font-family:'Raleway', sans-serif;
    --radius:2rem;
    --swiper-pagination-bullet-inactive-color:transparent;
    --swiper-pagination-bullet-size: 1rem;
    --swiper-pagination-color :var(--primary-color);
    --swiper-pagination-bullet-inactive-opacity:1;
    --transition: all .25s ease-in-out;
}
h1, h2, h3, h4, h5, h6 {
    font-family:'Raleway', sans-serif;color:var(--primary-color);font-weight:normal;text-transform:uppercase;line-height:1.2;letter-spacing:4px;margin-bottom:2rem;
    & span {
        display:block;font-size:70%;margin-top:.5rem;
    }
    &::after {
        content:'';display:block;width:2rem;height:.25rem;background-color:var(--secondary-color);margin-inline:0 auto;border-radius:var(--radius);margin-top:1rem;
    }
}
h1 {
    font-size:1.7rem;
}
h2 {
    font-size:1.5rem;
}
h3 {
    font-size:1.3rem;
}
p, ul, li {
    line-height:1.2;font-size:1rem;
    & a {
        font-weight:bold;
    }
}
.grid-container {
    max-width:100%;
}
.dark-bg {
    background-color:var(--primary-color);color:var(--background-color);
    & * {
        color:var(--background-color);
    }
    & a {
        color:var(--background-color);
        &:hover, &:focus {
            color:var(--secondary-color);
            & strong {
                color:var(--secondary-color);
            }
        }
        & strong {
            color:var(--background-color);
        }
    }
}
a {
    color:var(--tertiary-color);text-decoration:underline;
    &:hover {
        color:var(--primary-color);
    }
}
a.button {
    display:inline-block;padding:1rem 2rem;color:var(--primary-color);background-color:var(--secondary-color);text-decoration:none;font-weight:bold;border-radius:var(--radius);transition:all .25s ease;
    &:hover, &:focus {
        background-color:var(--primary-color);color:var(--background-color);
    }
}
img.logo {
    max-width:80%;height:auto;transition:all .25s ease-in-out;
}
.swiper {
    width:100%;
    &[class*="swiper-membres-"] {
        &:not(.swiper-initialized) {
            & .swiper-wrapper {
                display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:1rem;height:auto;
                & .swiper-slide {
                    width:100%;max-width:calc((100% / 4) - 1rem);flex:1 0 auto;box-sizing:border-box;
                }
            }
        }
    }
}

body {
    background:var(--background-color);font-family:var(--font-family);

    &[data-category="archeologie"], &[data-category="archaeology"] {
        & main {
            --secondary-color:var(--archeology-color);
        }
        & header {
            & ul.keywords {
                &::after {
                    background:var(--archeology-color);
                }
            }
        }
        & a.button {
            background:var(--archeology-color);color:var(--background-color);
            &:hover, &:focus {
                background:var(--archeology-color-hover);color:var(--background-color);
            }
        }
        & section {
            &.dark-bg {
                & a.button {
                    background:var(--archeology-color);color:var(--background-color);
                    &:hover, &:focus {
                        background:var(--background-color);color:var(--primary-color);
                    }
                }
            }
            &.applications {
                &.dark-bg {
                    & details {
                        & * {
                            color: var(--background-color);
                        }
                        & a.button {
                            &:hover, &:focus {
                                background:var(--background-color);color:var(--archeology-color);
                            }
                        }
                    }
                    & a.button {
                        background:none;color:var(--background-color);border:2px solid var(--background-color);
                        &:hover, &:focus {
                            background:var(--background-color);color:var(--primary-color);
                        }
                    }
                }
            }
        }
        & h1, & h2, & h3 {
            &::after {
                background:var(--archeology-color)!important;
            }
        }
    }
    &[data-category="art"] {
        & main {
            --secondary-color:var(--art-color);
        }
        & header {
            & ul.keywords {
                &::after {
                    background:var(--art-color);
                }
            }
        }
        & a.button {
            background:var(--art-color);color:var(--background-color);
            &:hover, &:focus {
                background:var(--art-color-hover);color:var(--background-color);
            }
        }
        & section {
            &.dark-bg {
                & a.button {
                    background:var(--art-color);color:var(--background-color);
                    &:hover, &:focus {
                        background:var(--background-color);color:var(--primary-color);
                    }
                }
            }
            &.applications {
                &.dark-bg {
                    & details {
                        & * {
                            color: var(--background-color);
                        }
                        & a.button {
                            &:hover, &:focus {
                                background:var(--background-color);color:var(--art-color);
                            }
                        }
                    }
                    & a.button {
                        background:none;color:var(--background-color);border:2px solid var(--background-color);
                        &:hover, &:focus {
                            background:var(--background-color);color:var(--primary-color);
                        }
                    }
                }
            }
        }
        & h1, & h2, & h3 {
            &::after {
                background:var(--art-color)!important;
            }
        }
    }
    &[data-category="industrie"], &[data-category="industry"] {
        & main {
            --secondary-color:var(--industry-color);
        }
        & header {
            & ul.keywords {
                &::after {
                    background:var(--industry-color);
                }
            }
        }
        & a.button {
            background:var(--industry-color);color:var(--background-color);
            &:hover, &:focus {
                background:var(--industry-color-hover);color:var(--background-color);
            }
        }
        & section {
            &.dark-bg {
                & a.button {
                    background:var(--industry-color);color:var(--background-color);
                    &:hover, &:focus {
                        background:var(--background-color);color:var(--primary-color);
                    }
                }
            }
            &.applications {
                &.dark-bg {
                    & details {
                        & * {
                            color: var(--background-color);
                        }
                        & a.button {
                            &:hover, &:focus {
                                background:var(--background-color);color:var(--industry-color);
                            }
                        }
                    }
                    & a.button {
                        background:none;color:var(--background-color);border:2px solid var(--background-color);
                        &:hover, &:focus {
                            background:var(--background-color);color:var(--primary-color);
                        }
                    }
                }
            }
        }
        & h1, & h2, & h3 {
            &::after {
                background:var(--industry-color)!important;
            }
        }
    }
/*
    &.page-id-144 {
        & header {
            min-height:fit-content;
            & h1 {margin-top:2rem;}
            & ul.keywords {display:none;}
        }
    }
*/
    & header {
        position:relative;min-height:50vh;background:var(--bgHeader) var(--primary-color) no-repeat center center/cover;animation:zoomBgIn 10s ease-in-out forwards;

        & .bg-header {
            position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background:var(--primary-color);mix-blend-mode:luminosity;overflow:hidden;
            &::after {
                content:'';position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(circle, transparent 70%, var(--primary-color) 100%);z-index:1;
            }
            & img {
                width:100%;height:100%;object-fit:cover;object-position:center;opacity:.35;filter:brightness(0.5) grayscale(100%);animation:zoomBgHeaderIn 10s ease-in-out forwards;
            }
        }
        & .grid-x {
            position:relative;z-index:1;
            &:has(nav) {
                z-index:5;
            }
        }

        /* Navigation */
        & .cell:has(nav) {
            display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;color:var(--background-color);
            & input[type="checkbox"] {
                display:none;
            }
            & label {
                &[for="navigation"] {
                    position:fixed;top:1rem;right:1rem;width:2rem;height:2rem;display:none;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;z-index:10;margin:0;
                    & .line {
                        width:100%;height:.25rem;background-color:var(--background-color);border-radius:var(--radius);transition:all .25s ease-in-out;
                    }
                }
            }
            & nav {
                & ul {
                    &.menu {
                        display:flex;justify-content:space-between;align-items:center;list-style:none;margin:0;padding:0;gap:.5rem;
                        &::after {
                            content:'';position:fixed;top:0;left:0;width:100%;height:80vh;pointer-events:none;background:linear-gradient(var(--primary-color) 4rem, transparent 100%);z-index:-1;opacity:0;transition:opacity .25s linear;
                        }
                        &:has( > li:hover) {
                            &::after {
                                opacity:1;
                            }
                        }
                        & > li {
                            margin:0;height:3rem;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:.9rem;
                            &.open {
                                & > a {
                                    background:var(--secondary-color);color:var(--primary-color);
                                    &[href*="archeo"] {
                                        background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="art"] {
                                        background:var(--art-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="indus"] {
                                        background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="contact"] {
                                        background:none;color:var(--tertiary-color);
                                    }
                                    &:hover, &.active {
                                        background:var(--secondary-color);color:var(--primary-color);
                                        &[href*="archeo"] {
                                            background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="art"] {
                                            background:var(--art-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="indus"] {
                                            background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="contact"] {
                                            background:none;color:var(--tertiary-color);
                                        }
                                    }
                                }
                                & ul.sub-menu {
                                    display:flex;
                                    &:has(ul.sub-menu a[href*="indus"]) {
                                        background:var(--industry-color);color:var(--background-color);
                                    }
                                    &:has(ul.sub-menu a[href*="art"]) {
                                        background:var(--art-color);color:var(--background-color);
                                    }
                                    &:has(ul.sub-menu a[href*="archeo"]) {
                                        background:var(--archeology-color);color:var(--background-color);
                                    }
                                }
                                & ul.sub-menu:not(:has(ul)) {
                                    padding:3rem;
                                }
                                & .sub-menu-wrapper {
                                    padding-top:.5rem;
                                    & ul:has(ul) {
                                        display:flex;flex-direction:row;gap:0;justify-content:flex-start;align-items:flex-start;padding:3rem;background:var(--secondary-color);border-radius:var(--radius);
                                        & ul {
                                            flex-direction:column;gap:.5rem;justify-content:flex-start;align-items:flex-start;padding:0;margin-top:1rem;
                                        }
                                    }
                                }
                                & > a:not(.button) {
                                    color:var(--primary-color);
                                    &[href*="indus"] {
                                        color:var(--background-color);
                                    }
                                    &[href*="art"] {
                                        color:var(--background-color);
                                    }
                                    &[href*="archeo"] {
                                        color:var(--background-color);
                                    }
                                    &:hover {
                                        background:var(--secondary-color);color:var(--primary-color);border-color:transparent;
                                        &[href*="indus"] {
                                            background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="art"] {
                                            background:var(--art-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="archeo"] {
                                            background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                        }
                                    }
                                }
                            }
                            &:nth-last-child(2) {
                                flex:1;display:flex;justify-content:flex-end;align-items:center;position: relative;
                                &:hover {
                                    & > a {
                                        background:var(--secondary-color);color:var(--primary-color);
                                    }
                                }
                                & .sub-menu-wrapper{
                                    & > ul.sub-menu{
                                        width: auto;
                                        min-width: 1px;
                                        padding: 1rem;
                                        & > .menu-item-has-children{
                                            & > a{
                                                margin-bottom: .5rem;
                                                text-transform: initial;
                                                font-weight: 400;
                                            }
                                        }
                                    }
                                    & ul:has(ul) {
                                        & ul {
                                            flex-direction: column;
                                            gap: .5rem;
                                            justify-content: flex-start;
                                            align-items: flex-start;
                                            padding: 0;
                                            margin-top: 0;
                                        }
                                    }
                                }
                            }
                            & a:not(.button) {
                                color:var(--background-color);text-decoration:none;font-weight:bold;border-radius:var(--radius);border:1px solid var(--background-color);padding-inline:2rem;min-width:12rem;text-align:center;line-height:1.6;letter-spacing:2px;padding:0;
                                &[href*="indus"] {
                                    color:var(--background-color);
                                }
                                &[href*="art"] {
                                    color:var(--background-color);
                                }
                                &[href*="archeo"] {
                                    color:var(--background-color);
                                }
                                &:hover {
                                    background:var(--secondary-color);color:var(--primary-color);border-color:transparent;
                                    &[href*="indus"] {
                                        background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="art"] {
                                        background:var(--art-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="archeo"] {
                                        background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                    }
                                }
                            }
                            & li a:not([href="#"]){
                                &::before {
                                    content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;font-size:12px;display:inline-block;margin-right:.5rem;
                                }
                            }
                            &.current-menu-parent, &.current-menu-item, &.current-page-ancestor {
                                & > a {
                                    background:var(--secondary-color);color:var(--primary-color);
                                    &[href*="archeo"] {
                                        background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="art"] {
                                        background:var(--art-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="indus"] {
                                        background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                    }
                                    &[href*="contact"] {
                                        background:none;color:var(--tertiary-color);
                                    }
                                    &:hover, &.active {
                                        background:var(--secondary-color);color:var(--primary-color);
                                        &[href*="archeo"] {
                                            background:var(--archeology-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="art"] {
                                            background:var(--art-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="indus"] {
                                            background:var(--industry-color);color:var(--background-color);border-color:transparent;
                                        }
                                        &[href*="contact"] {
                                            background:none;color:var(--tertiary-color);
                                        }
                                    }
                                }
                            }
                            &:last-of-type {
                                background:url('../img/bg-curves.svg') no-repeat left top/cover;
                                & a:not(.button) {
                                    width:10rem;margin-left:2.5rem;border:0;color:var(--primary-color);
                                    &:hover {
                                        background:none;color:var(--primary-color);
                                    }
                                }
                                &::after {
                                    content:'';position:absolute;top:0;right:-0.9375rem;width:1rem;height:100%;background:var(--background-color);
                                }
                            }
                        }
                    }
                    &.sub-menu {
                        position:absolute;top:100%;left:0;display:none;flex-direction:column;gap:.5rem;padding:0;align-items:flex-start;justify-content:flex-start;margin:0;padding:0;list-style:none;width:fit-content;max-width:none;align-items:stretch;min-width:100%;
                        & li {
                            text-transform:none;
                            & a:not(.button) {
                                background:none;color:var(--primary-color);text-decoration:none;padding-inline:1rem;white-space:nowrap;text-align:left;min-width:fit-content;letter-spacing:normal;border-color:transparent;font-size:.9rem;font-weight:normal;
                                &[href*="indus"] {
                                    color:var(--background-color);
                                }
                                &[href*="art"] {
                                    color:var(--background-color);
                                }
                                &[href*="archeo"] {
                                    color:var(--background-color);
                                }
                                &:hover {
                                    background:none;color:var(--primary-color);border-color:var(--primary-color);
                                    &[href*="indus"] {
                                        background:none;color:var(--background-color);border-color:var(--background-color);
                                    }
                                    &[href*="art"] {
                                        background:none;color:var(--background-color);border-color:var(--background-color);
                                    }
                                    &[href*="archeo"] {
                                        background:none;color:var(--background-color);border-color:var(--background-color);
                                    }
                                }
                            }
                            &.menu-item-has-children {
                                &:not(:first-child) {
                                    margin-left:1rem;border-left:1px solid var(--grey-color);padding-left:1rem;
                                }
                                & > a {
                                    background:var(--secondary-color);color:var(--primary-color);text-transform:uppercase;font-weight:bold;
                                    &:hover {
                                        background:var(--secondary-color);color:var(--primary-color);
                                    }
                                    &[href="#"] {
                                        pointer-events:none;cursor:default;
                                    }
                                }
                            }
                            &.menu-item-has-children:has([href*="archeo"], [href*="art"], [href*="indus"]) {
                                & > a {
                                    background:none;color:var(--primary-color);
                                    &:hover {
                                        background:none;color:var(--background-color);
                                    }
                                }
                            }
                            &.current-menu-item {
                                & > a {
                                    border-color:var(--background-color);
                                }
                            }
                            &:has(.button) {
                                position:absolute;bottom:3rem;right:3rem;
                            }
                        }
                        & .sub-menu {
                            position:relative;padding-top:.5rem;padding-left:2rem;min-width:100%;
                        }
                        & a.button {
                            background:var(--primary-color);color:var(--background-color);
                            &:hover, &:focus {
                                background:var(--secondary-color);color:var(--primary-color);
                            }
                        }
                    }
                }
            }
            & .language {
                position:absolute;top:.65rem;right:1.4rem;
                & img {
                    width:1.6rem;height:1.6rem;object-fit:fill;object-position:center;border-radius:50%;
                }
                & .country-selector.weglot-dropdown {
                    padding-inline:0;overflow:hidden;max-height:fit-content;height:10rem;transition:height .25s ease-in-out;background:none;
                    &.closed {
                        height:1.6rem;
                    }
                    & a {
                        padding:0;aspect-ratio:1;height:auto;line-height:1;font-size:0;
                    }
                    & ul {
                        max-width:100%!important;border:0;background:none;display:flex;align-items:flex-start;justify-content:center;gap:.5rem;padding:.5rem;background:white;border-radius:0 0 2rem 2rem;flex-direction:column;position:relative;
                        & li {
                            width:1.6rem;
                        }
                    }
                    & .weglot-flags>a:before, & .weglot-flags>span.wglanguage-name:before {
                        height:100%!important;width:100%!important;display:block;border-radius:50%!important;border:0;background-size:contain!important;background-position:center!important;
                    }
                    & .wgcurrent {
                        display:block;width:1.6rem;height:1.6rem;border-radius:50%;border:0;padding-inline:.5rem;box-sizing:content-box;
                        &::after {
                            display:none;
                        }
                        & a, & span {
                            height:100%;padding:0;font-size:0;
                        }
                    }
                }
            }
        }

        & p, & ul:not(.menu) {
            max-width:70%;
        }

        &.fixed {
            &.grid-container:not(.full) .navigation {
                position:fixed;top:0;left:0;width:100%;z-index:1000;background:var(--primary-color);margin:0;
                & > .grid-padding-x {
                    margin:0;
                }
                & img.logo {
                    height:3.75rem;
                }
            }
            & a.fiche-produit {
                position:fixed;top:var(--header-nav-height);bottom:auto;left:50%;transform:translateX(-50%) translateY(-50%) scale(.9);z-index:1001;padding:.5rem 1rem;
            }
        }
        /* END Navigation */

        & .grid-x:has(h1) {
            height:var(--header-content-height);display:flex;flex-direction:row;justify-content:center;align-items:center;
            & a.button {
                &:hover {
                    background:var(--background-color);color:var(--primary-color);
                }
            }
            & a.anchor {
                background:none;border:2px solid var(--background-color);color:var(--background-color);
                &:hover {
                    background:var(--background-color);color:var(--primary-color);
                }
                &:has(+ a.anchor), &:has(+ p + a.anchor) {
                    display:block;width:fit-content;
                }
                &::before {
                    content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;font-size:12px;display:inline-block;margin-right:.5rem;
                }
            }
            & p.text-anchor {
                padding-left:2rem;margin-bottom:2rem;
            }
        }

        & ul.keywords {
            position:absolute;top:50%;right:0;margin-inline:auto;display:flex;flex-direction:column;text-align:right;list-style:none;padding:.5rem 2rem;align-items:flex-end;gap:1rem;transform:translateY(-50%);
            & li {
                flex:1;color:var(--background-color);text-decoration:none;text-transform:uppercase;font-size:1rem;
            }
            &::after {
                content:'';display:block;width:.5rem;height:100%;background-color:var(--secondary-color);border-bottom-left-radius:var(--radius);border-top-left-radius:var(--radius);position:absolute;top:0;right:0;
            }
        }

        & .shortcuts {
            position:absolute;bottom:-8rem;left:10%;margin-inline:auto;display:flex;flex-direction:row;gap:0;width:80%;border-radius:var(--radius);background:var(--primary-color);overflow:hidden;
            & a {
                position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:2rem;color:var(--background-color);text-decoration:none;text-transform:uppercase;height:16rem;font-size:1.6rem;letter-spacing:5px;overflow:hidden;box-sizing:border-box;
                &::before {
                    content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:no-repeat center/150%;z-index:0;mix-blend-mode:soft-light;filter:grayscale(1);transition:all 1s ease-in-out;opacity:.75;
                }
                &:hover {
                    &::before {
                        background-size:200%;
                    }
                }
                & > * {
                    position:relative;z-index:1;
                }
                & span {
                    display:block;font-size:1rem;line-height:1.2;text-transform:none;letter-spacing:normal;padding-left:2rem;height:40%;
                }
                &[href*="archeologie"], &[href*="archaeology"] {
                    background:var(--archeology-color);color:var(--background-color);
                    &::before {
                        background-image:url('../img/image-archeologie.jpg');
                    }
                    & strong {
                        color:var(--background-color);
                    }
                }
                &[href*="art"] {
                    background:var(--art-color);color:var(--background-color);
                    &::before {
                        background-image:url('../img/image-art.jpg');
                    }
                    & strong {
                        color:var(--background-color);
                    }
                }
                &[href*="industrie"], &[href*="industry"] {
                    background:var(--industry-color);color:var(--background-color);
                    &::before {
                        background-image:url('../img/image-industrie.jpg');
                    }
                    & strong {
                        color:var(--background-color);
                    }
                }
            }
        }
        &:has(.shortcuts) {
            margin-bottom:12rem;
        }
        & a.fiche-produit {
            position:absolute;bottom:0;left:50%;transform:translateX(-50%) translateY(50%);background:var(--background-color);color:var(--primary-color);padding:1rem 2rem;margin:0;border-radius:var(--radius);font-weight:bold;transition:var(--transition);z-index:1;
            &:hover {
                background:var(--primary-color);color:var(--background-color);
            }
        }
        &:has(li:hover) {
            & a.fiche-produit {
                display:none;
            }
        }
    }

    &.home {
        & header {
            min-height:80vh;
        }
        & h1 {
            &::after {
                background:url('../img/drapeau-fr.svg') no-repeat center/cover;width:9.5rem;margin-top:.5rem;
            }
        }
    }

    & .text-center {
        & h1, & h2, & h3 {
            &::after {
                margin-inline:auto;
            }
        }
        & p, & ul {
            margin-inline:auto;
        }
        & li {
            max-width:fit-content;margin-inline:auto;
        }
    }

    &:has(header.fixed) {
        & section {
            padding-top:4rem;
        }
    }

    & section {
        position:relative;margin:2rem 0;padding:3rem;scroll-margin-top:4rem;

        &.dark-bg {
            position:relative;margin-top:0;margin-bottom:0;
            &::before {
                content:'';position:absolute;top:0;left:0;width:50%;height:auto;aspect-ratio:1;background:radial-gradient(circle,rgba(61, 160, 201, 1) 0%, rgba(61, 160, 201, 0) 60%);transform:translateY(-40%) translateX(-35%);z-index:0;mix-blend-mode:lighten;opacity:.7;pointer-events:none;
            }
            &:has(+ .section-swiper) {
                padding-bottom:23rem;
                & + .section-swiper {
                    margin-top:-23rem;
                    & h2 {
                        color:var(--background-color);
                    }
                }
            }
            &:has(+ .onglets) {
                padding-bottom:23rem;
                & + .onglets {
                    margin-top:-23rem;padding-top:0;
                    & h2 {
                        color:var(--background-color);
                    }
                    & .tabs {
                        & .tabs-title {
                            & > a {
                                &::before {
                                    background:var(--primary-color);
                                }
                            }
                        }
                    }
                }
            }
            &:has(+ .dark-bg) {
                margin-bottom:0;
            }
            &.faq {
                & details * {
                    color:var(--primary-color);
                }
            }
        }

        &:not(.dark-bg) {
            & + .dark-bg {
                overflow:hidden;
            }
        }

        &.leader-datation {
            background-image:url('../img/bg-leader-datation.jpg');background-repeat:no-repeat;background-position:bottom center;background-size:cover;
        }

        &.grid-container {
            max-width:90%;
            &.dark-bg {
                max-width:100%;
                & .grid-x {
                    max-width:90%;margin-inline:auto;
                    & p, & ul {
                        max-width:90%;
                    }
                    & details, &.block-bottom {
                        & p, & ul {
                            max-width:100%;
                        }
                    }
                }
            }
            & .reverse {
                flex-direction:row-reverse;
            }
        }
        &.fullwidth {
            max-width:100%;
            &.grid-container:not(.full)>.grid-padding-x {
                max-width:90%;margin-inline:auto;
            }
        }

        & .cell:has(figure) + .cell {
            display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
        }

        &.colonnes {
            & .cell:has(figure) + .cell {
                justify-content:flex-start;
                & figure {
                    margin-bottom:1rem;
                }
            }
        }

        & figure {
            &.map {
                position:relative;
                & figcaption {
                    position:absolute;top:50%;right:3rem;transform:translateY(-50%);text-transform:uppercase;letter-spacing:2px;color:var(--primary-color);
                    & p {
                        font-size:2.4rem;
                    }
                    & ul {
                        list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;padding-left:4rem;
                    }
                }
                & img, & video {
                    max-width:100%;height:auto;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:var(--radius);aspect-ratio:4/3;
                }
            }
        }

        & p, & ul {
            max-width:90%;
            & li {
                max-width:fit-content;margin-inline:auto;margin-bottom:.5rem;
            }
        }
        & ul {
            margin-left:0;padding-left:2rem;
        }
        & .large-6 {
            & p, & ul {
                max-width:100%;width:100%;
                & li {
                    max-width:100%;width:100%;
                }
            }
        }

        &.logos {
            padding-bottom:0;
        }

        & .swiper-logos {
            text-align:center;padding-bottom:4rem;
            &:has(.swiper-pagination.swiper-pagination-lock) {
                padding-bottom:0;
                & .swiper-wrapper {
                    justify-content:center;gap:30px;
                    & .swiper-slide {
                        margin-inline:0!important;
                    }
                }
            }
            & .swiper-slide {
                border-radius:50%;background:var(--grey-color);padding:1.5rem;box-sizing:border-box;
            }
            & img {
                aspect-ratio:1;object-fit:contain;object-position:center;width:100%;height:auto;mix-blend-mode:multiply;transition:all .25s ease-in-out;
            }
        }

        & .swiper-chiffres {
            & .swiper-slide {
                display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-transform:uppercase;padding:2rem 0;
                & span {
                    line-height:1.2;
                    &.number {
                        font-size:1.6rem;font-weight:bold;color:var(--primary-color);font-weight:normal;background:var(--background-color);aspect-ratio:1;display:flex;justify-content:center;align-items:center;border-radius:50%;border:6px solid var(--primary-color);width:8rem;height:8rem;position:relative;margin-bottom:2rem;
                        &::before {
                            content:'';position:absolute;top:-1rem;left:-1rem;width:10rem;height:10rem;border:1px solid var(--background-color);border-radius:50%;box-sizing:border-box;z-index:-2;
                        }
                        &::after {content:'';position:absolute;border-radius:50%;left:-20%;top:-20%;width:140%;height:140%;background-repeat:no-repeat;background-size:50% 50%;background-position:0 0;background-image:conic-gradient(var(--secondary-color), var(--secondary-color));aspect-ratio:1;display:block;z-index:-1;}
                    }
                }
            }
        }

        &.in-view {
            & span.number {
                &::after {animation:rotate 4s ease-in-out forwards;animation-delay:var(--delay);}
            }
        }

        & .swiper-temoignages {
            margin-bottom:3rem;
            & .swiper-slide {
                display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
                & p {
                    max-width:50rem;margin-inline:auto;
                    & strong {
                        color:var(--secondary-color);
                    }
                }
            }
        }

        &.section-swiper, &.section-enjeux, &#enjeux {
            & h2 {
                margin-bottom:3rem;
                &::after {
                    background-color:var(--secondary-color);
                }
            }
            & .figures {
                background:var(--background-color);padding:1.5rem .7rem;border-radius:var(--radius);
            }
            & figure {
                padding-right:.9375rem;padding-left:.9375rem;box-sizing:border-box;
                & img {
                    border-radius:var(--radius);width:100%;height:auto;aspect-ratio:505/379;object-fit:cover;object-position:center;
                }
                & figcaption {
                    position:static;text-align:center;margin-top:-4rem;width:100%;
                    & a.button {
                        width:calc(100% - 2rem);
                    }
                    & p {
                        margin:1rem auto;color:var(--primary-color);width:100%;max-width:90%;
                    }
                }
            }
        }
        &#enjeux {
            padding-top:1rem;padding-bottom:1rem;
        }
        &#encart {
            padding-top:0;padding-bottom:0;margin:1rem auto;
        }
        &#faq {
            &:has(+ #encart) {
                margin-bottom:0;
            }
            & .content {
                & p {
                    width:100%;max-width:100%;text-align:left;
                }
            }
        }
        &#nos-techniques:has(+ .onglets) {
            padding-bottom:0;
            & + .onglets {
                &::before {
                    background-color:var(--primary-color);position:absolute;top:0;left:0;width:100%;height:500px;content:'';z-index:-1;
                }
                & h2 {color:var(--background-color);}
            }
        }
        /* Tabs */
        & .tabs {
            background:none;border:0;max-width:100%;width:100%;margin-inline:auto;text-transform:uppercase;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0;
            &::after, &::before {
                display:none;
            }
            & .tabs-title {
                position:relative;padding-bottom:1rem;border-radius:var(--radius);border-bottom-left-radius:0;border-bottom-right-radius:0;transition:all .5s ease;z-index:1;flex:1 0 calc(100%/3 - .5rem);text-align:center;margin:0;float:none;max-width:none;
                & h3 {
                    font-size:1rem;margin-bottom:0;letter-spacing:normal;font-weight:normal;line-height:1.2;display:block;width:100%;color:var(--background-color);
                    &::after {
                        display:none;
                    }
                }
                & > a {
                    position:relative;color:var(--background-color);border-radius:var(--radius);font-size:1rem;text-decoration:none;
                    &[data-theme="archeology"] {
                        & h3 {
                            color:var(--archeology-color);
                        }
                    }
                    &[data-theme="art"] {
                        & h3 {
                            color:var(--art-color);
                        }
                    }
                    &[data-theme="industry"] {
                        & h3 {
                            color:var(--industry-color);
                        }
                    }
                    &[data-theme="archeology"] {
                        background:var(--archeology-color);color:var(--background-color);
                        & h3 {
                            color:var(--background-color);
                        }
                    }
                    &[data-theme="art"] {
                        background:var(--art-color);color:var(--background-color);
                        & h3 {
                            color:var(--background-color);
                        }
                    }
                    &[data-theme="industry"] {
                        background:var(--industry-color);color:var(--background-color);
                        & h3 {
                            color:var(--background-color);
                        }
                    }
                    &::before {
                        content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--background-color);border-radius:var(--radius);z-index:-1;
                    }
                }
                
                & span.angle-right {
                    position:absolute;bottom:0;right:-2rem;width:2rem;height:2rem;transition:all .05s linear;transform:scale(0);transform-origin:0 100%;
                }
                & span.angle-left {
                    position:absolute;bottom:0;left:-2rem;width:2rem;height:2rem;z-index:0;transition:all .05s linear;transform:scale(0);transform-origin:100% 100%;
                }
                &:has([data-theme="archeology"]) {
                    & span.angle-right svg path, & span.angle-left svg path {
                        fill:#3c79d8;
                    }
                    &::before {
                        background:var(--archeology-color);
                    }
                }
                &:has([data-theme="art"]) {
                    & span.angle-left svg path {
                        fill:#2eb8b0;
                    }
                    & span.angle-right svg path {
                        fill:#21adef;
                    }
                    &::before {
                        background:var(--art-color);
                    }
                }
                &:has([data-theme="industry"]) {
                    & span.angle-right svg path, & span.angle-left svg path {
                        fill:#42b993;
                    }
                    &::before {
                        background:var(--industry-color);
                    }
                }
                &.active {
                    &::before {
                        height:100%;
                    }
                    & span.angle-right, & span.angle-left {
                        transform:scale(1);
                    }
                }
                &:first-of-type {
                    & span.angle-left {
                        display:none;
                    }
                }
                &:nth-of-type(2) {
                    margin-inline:.7rem;
                }
                &:last-of-type {
                    & span.angle-right {
                        display:none;
                    }
                }
            }
        }
        & .tabs-content {
            background:none;border:0;margin-inline:auto;position:relative;z-index:1;
            &::before {
                content:'';position:absolute;top:0;left:-.9375rem;width:calc(100% + 1.875rem);height:25%;background:none;z-index:1;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);
            }
            &:has([data-theme="archeology"].active)::before {
                background:linear-gradient(0deg, rgba(0, 183, 236, 0) 0%, var(--archeology-color) 100%);
            }
            &:has([data-theme="art"].active)::before {
                background:linear-gradient(0deg, rgba(0, 166, 156, 0) 0%, var(--art-color) 100%);
            }
            &:has([data-theme="industry"].active)::before {
                background:linear-gradient(0deg, rgba(153, 197, 85, 0) 0%, var(--industry-color) 100%);border-top-right-radius:0;
            }
            & h4 {
                font-size:1rem;margin-bottom:1rem;letter-spacing:normal;font-weight:bold;line-height:1.2;color:var(--background-color);
                &::after {
                    display:none;
                }
            }
            & .tabs-panel {
                position:relative;display:flex;align-items:center;height:0;overflow:hidden;padding:0 2rem;border-radius:var(--radius);height:0;
                & .cell {
                    opacity:0;transition:opacity .25s .25s linear;padding-top: 2rem;padding-bottom: 2rem;
                }
                &.active {
                    & .cell {
                        opacity:1;z-index:1;
                    }
                    &::after {
                        opacity:.7;
                    }
                }
                &::after {
                    content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:no-repeat center/cover;background-image:var(--bg-tab);z-index:0;mix-blend-mode:soft-light;opacity:0;transition:opacity .25s .25s linear;
                }
                &::before {
                    content:'';position:absolute;top:0;right:0;width:100%;height:100%;z-index:1;
                }
                &[data-theme="archeology"] {
                    background:var(--archeology-color);color:var(--background-color);
                    &::before {
                        background:linear-gradient(92deg, #3c79d9 0%, rgb(60 121 217) 16%, rgb(60 121 217) 60%, #6556c600 100%);
                    }
                    &::after {
                        transform:scaleX(-1);
                    }
                }
                &[data-theme="art"] {
                    background:var(--art-color);color:var(--background-color);
                    &::before {
                        background:linear-gradient(90deg, #2eb8b0 30%, rgb(23 179 206) 50%, rgba(0, 173, 239, .6) 70%, rgba(0, 173, 239, 0) 100%);
                    }
                }
                &[data-theme="industry"] {
                    background:var(--industry-color);color:var(--background-color);
                    &::before {
                        background:linear-gradient(90deg, rgba(149, 193, 31, 1) 0%, rgba(66, 185, 148, 1) 32%, rgba(66, 185, 148, 1) 52%, rgba(66, 185, 148, 0) 100%);
                    }
                }
                & > * {
                    position:relative;z-index:2;
                }
                & p {
                    max-width:100%;
                }
                & a.button {
                    background:none;border:2px solid var(--background-color);color:var(--background-color);margin-left:0;display:block;width:fit-content;
                    &:hover {
                        background:var(--background-color);color:var(--primary-color);
                    }
                }
            }
        }
        /* END Tabs */

        /* FAQ */
        & details {
            background:var(--grey-color);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden;padding:1rem 2rem;text-align:center;color:var(--primary-color);text-align:left;
            & summary {
                position:relative;width:100%;font-weight:bold;cursor:pointer;display:block;
                & h3 {
                    font-size:1rem;margin-bottom:0;letter-spacing:normal;font-weight:bold;line-height:1.2;display:block;width:100%;color:var(--primary-color);
                    &::after {
                        display:none;
                    }
                }
                &::before {
                    position:absolute;right:-1rem;top:-.25rem;content:'\f00d';font-family:'FontAwesome';font-size:1.2rem;color:var(--primary-color);background:var(--light-blue-color);width:2rem;height:2rem;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:transform .3s ease;transform:rotate(-45deg);
                }
                & a.button {
                    margin-inline:auto;
                }
            }
            &[open] {
                & summary {
                    &::before {
                        transform:rotate(90deg);
                    }
                }
            }
            & ul {
                & li {
                    margin-left:0;
                }
            }
            & .content {
                overflow:hidden;height:0;transition:height 0.5s ease;margin:1rem auto;display:flex;flex-direction:column;align-items:center;
            }
        }
        & .block-cta-references {
            margin-top:2rem;
        }
        /* END FAQ */

        /* Applications */
        &.applications {
            & .list-applications {
                margin-top:2rem;margin-bottom:2rem;
                &:nth-child(2n+1) {
                    flex-direction:row-reverse;
                }
                & .cell:not(details) img {
                    width:100%;height:100%;border-radius:var(--radius);object-fit:cover;object-position:center;margin-bottom:1rem;aspect-ratio:856/438;transition:all .25s ease-in-out;
                }
            }
            & details {
                &[open] {
                    & summary {
                        margin-bottom:1rem;
                    }
                }
                & summary {
                    & h3 {
                        font-size:1rem;margin-bottom:0;letter-spacing:normal;font-weight:bold;line-height:1.2;display:block;width:100%;color:var(--primary-color);
                        &::after {
                            display:none;
                        }
                    }
                }
                & a.button {
                    background:none;border:2px solid var(--primary-color);color:var(--primary-color);margin-left:0;display:block;width:fit-content;
                    &:hover {
                        background:var(--primary-color);color:var(--background-color);
                    }
                }
            }
            &.dark-bg {
                & details {
                    background:var(--secondary-color);color:var(--primary-color);
                    & summary {
                        color:var(--primary-color);text-transform:uppercase;text-align:left;font-weight:bold;
                        &::before {
                            background:var(--background-color);color:var(--primary-color);
                        }
                    }
                    & * {
                        color:var(--primary-color);
                    }
                    & p, & ul, & li {
                        text-align:left;max-width:100%;
                    }
                }
                & .img-bottom {
                    background:var(--primary-color);
                    &::after {
                        background:linear-gradient(to bottom, var(--primary-color), transparent 100%) top, linear-gradient(to right, var(--primary-color), transparent 100%) left;
                    }
                }
            }
            &.grid-container:not(.full)>.grid-padding-x.block-bottom {
                max-width:90%;margin-inline:auto;
            }
            & .grid-x {
                position:relative;z-index:2;
            }
            & .img-bottom {
                position:absolute;bottom:0;right:0;width:50%;height:auto;aspect-ratio:1;z-index:0;display:flex;justify-content:center;align-items:center;
                &::after {
                    content:'';position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:linear-gradient(to bottom, var(--background-color), transparent 100%) top, linear-gradient(to right, var(--background-color), transparent 100%) left;background-repeat:no-repeat;background-size:100% 100%, 100% 100%;z-index:1;
                }
                & img {
                    width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;opacity:.55;filter:grayscale(100%);mix-blend-mode:luminosity;
                }
            }
            &[data-tags="enjeux"].dark-bg {
                & .list-applications {
                    & details {
                        & summary {
                            pointer-events:none;
                            &::before {
                                display:none;
                            }
                        }
                    }
                }
            }
        }
        /* END Applications */

        /* Équipe */
        &.equipe {
            & .grid-x {
                max-width:90%;margin-inline:auto;
                & .cell, & .swiper-slide {
                    display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
                    & img {
                        width:100%;height:auto;border-radius:var(--radius);aspect-ratio:5/6;margin-bottom:1rem;object-fit:cover;object-position:top;filter: grayscale(1);
                    }
                    & h3 {
                        font-size:1.2rem;margin-bottom:.5rem;letter-spacing:normal;font-weight:bold;line-height:1.2;color:var(--primary-color);
                        &::after {
                            margin-inline:auto;
                        }
                    }
                    & p {
                        max-width:100%;width:100%;text-align:center;margin-bottom:1rem;
                    }
                    &.text-center {
                        & p {
                            & strong {
                                font-size:1.1rem;
                            }
                        }
                    }
                }
                & .swiper-slide {
                    padding:1rem;box-sizing:border-box;
                    & figure {
                        position:relative;overflow:hidden;width:100%;height:100%;aspect-ratio:3/4;border-radius: var(--radius);overflow: hidden;
                        &:before{
                            content: '';
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            background: rgba(21, 44, 71, 0.3);
                            mix-blend-mode: color;
                            z-index: 1;
                        }
                        & figcaption {
                            position:absolute;left:0;width:100%;background:#152c4787;color:var(--background-color);padding:1rem 2rem;transition:bottom .25s ease-in-out;bottom:-100%;text-align:center;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;
                        }
                        &:hover {
                            & figcaption {
                                bottom:0;
                            }
                        }
                    }
                }
                & .swiper:has(.swiper-pagination.swiper-pagination-lock) {
                    & .swiper-wrapper {
                        justify-content:center;
                    }
                }
            }
            &.dark-bg {
                & .grid-x {
                    & .cell, & .swiper-slide {
                        color:var(--background-color);
                        & h3 {
                            color:var(--background-color);
                        }
                    }
                }
            }
        }

        /* Timeline */
        &.timeline {
            & .grid-x {
                max-width:90%;margin-inline:auto;
                & .swiper-slide {
                    display:flex;flex-direction:column;justify-content:center;align-items:center;
                }
                & .swiper {
                    max-height:30rem;overflow:hidden;padding:0;position:relative;
                    &::before {
                        content:'';position:absolute;top:0;left:50%;width:1px;height:100%;z-index:-1;border:1px dashed var(--secondary-color);
                    }
                    & .swiper-slide {
                        padding-left:calc(50% + 2rem);padding-right:1rem;text-align:left;box-sizing:border-box;justify-content:center;align-items:flex-start;
                        & .annee {
                            position:relative;font-size:2rem;color:var(--secondary-color);
                            &::after {
                                content:'';display:block;width:1rem;height:1rem;background:var(--secondary-color);border-radius:50%;position:absolute;top:1.1rem;left:calc(1px - 2.5rem);
                            }
                        }
                        & h3 {
                            text-align:left;width:100%;margin-bottom:.5rem;
                            &::after {
                                margin-inline:0 auto;
                            }
                        }
                        &:nth-child(odd) {
                            padding-right:calc(50% + 2rem);padding-left:1rem;text-align:right;align-items:flex-end;
                            & .annee {
                                &::after {
                                    left:auto;right:calc(0px - 1px - 2.5rem);
                                }
                            }
                            & h3 {
                                text-align:right;
                                &::after {
                                    margin-inline:auto 0;
                                }
                            }
                        }
                    }
                }
            }
            &.dark-bg {
                & .grid-x {
                    & .cell {
                        color:var(--background-color);
                        & h3 {
                            color:var(--background-color);
                        }
                    }
                }
            }
        }

        /* Coordonnées */
        &.coordonnees {
            & .grid-x {
                & .cell {
                    & p.adresse {
                        &::first-line {
                            font-weight:bold;
                        }
                    }
                    & a.button {
                        &:hover, &:focus {
                            background:var(--background-color);color:var(--primary-color);
                        }
                    }
                }
            }
        }

        /* Encart */
        .encart {
            border-radius:var(--radius);background:var(--primary-color);color:var(--background-color);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;
            & h2 {
                margin-bottom:0;
            }
            & a.button {
                &:hover, &:focus {
                    background:var(--background-color);color:var(--primary-color);
                }
            }
        }
        /* END Encart */

        /* Références */
        &.references, &.list-articles {
            margin-top:-3rem;z-index:1;
            & .category-filters {
                text-align:center;margin-bottom:2rem;transform:translateY(-50%);width:100%;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:nowrap;overflow-x:auto!important;-ms-overflow-style:none;scrollbar-width:none;scroll-snap-type:x mandatory;
                & .category-button {
                    display:inline-block;padding:1rem 1rem;color:var(--primary-color);background-color:var(--secondary-color);text-decoration:none;font-weight:bold;border-radius:var(--radius);transition:all .25s ease;cursor:pointer;border:2px solid transparent;white-space:nowrap;
                    &:hover, &:focus, &.active {
                        background:var(--background-color);color:var(--primary-color);border-color:var(--primary-color);
                    }
                }
            }
            & #references-container {
                & > p {
                    text-align:center;width:100%;max-width:100%;
                }
            }
            & h2 {
                text-align:center;
                &::after {
                    margin-inline:auto;
                }
            }
            & .reference-item {
                & p {
                    text-align:center;width:100%;max-width:100%;font-size:1.2rem;text-transform:uppercase;border-radius:var(--radius);background:var(--grey-color);padding:2rem 1rem;box-sizing:border-box;color:var(--primary-color);font-weight:bold;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;
                    & span {
                        display:block;font-size:65%;letter-spacing:1px;
                    }
                }
            }
        }
        /* END Références */

        .swiper-articles {
            margin-bottom:2rem;
            & .swiper-slide {
                display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem;box-sizing:border-box;transition:all .25s ease-in-out;border-radius:var(--radius);height:auto;
                &:hover {
                    background:var(--grey-color);
                }
                & > *:not(img) {
                    padding-inline:1rem;
                }
                & > a:has(img) {
                    padding-inline:0;position:relative;
                    & .article-categories {
                        position:absolute;top:2rem;left:0;z-index:1;
                        & span {
                            display:inline-block;background:var(--secondary-color);color:var(--primary-color);padding:.2rem 1rem;margin-right:.5rem;font-size:.8rem;border-radius:0 var(--radius) var(--radius) 0;text-transform:uppercase;
                            &[data-category="art"] {
                                background:var(--art-color);color:var(--background-color);
                            }
                            &[data-category="industry"] {
                                background:var(--industry-color);color:var(--background-color);
                            }
                            &[data-category="archeology"] {
                                background:var(--archeology-color);color:var(--background-color);
                            }
                        }
                    }
                }
                & img {
                    border-radius:var(--radius);aspect-ratio:2/1;object-fit:cover;object-position:center;margin-bottom:2rem;background:var(--grey-color);width:100%;height:auto;
                }
                & h3 {
                    text-align:left;text-transform:none;font-size:1rem;margin-bottom:0;letter-spacing:normal;font-weight:bold;line-height:1.2;display:block;width:100%;margin-bottom:.75rem;
                    &::after {
                        display:none;
                    }
                }
                & p {
                    max-width:100%;width:100%;text-align:left;
                    &:has(a.button) {
                        text-align:left;
                        margin-bottom: 0;
                        margin-top: auto;
                    }
                    &:not(:empty) {
                        position:relative;text-overflow:ellipsis;
                        &:has(.button) {
                            height:auto;
                        }
                    }
                }
                & a.button {
                    background:none;border:2px solid var(--primary-color);color:var(--primary-color);width:12rem;line-height:1.6;padding:0;
                    &:hover {
                        background:var(--primary-color);color:var(--background-color);
                    }
                }
            }
        }

    }

    &.home {
        & section {
            & figure {
                &.map {
                    & img {
                        max-width:80%;object-fit:contain;
                    }
                }
            }
        }
    }

    &.page-template-page-articles {
        & section {
            & article {
                &.article-item{
                    justify-content: flex-start;
                }
                display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem;box-sizing:border-box;transition:all .25s ease-in-out;border-radius:var(--radius);
                &:hover {
                    background:var(--grey-color);
                }
                & > *:not(img) {
                    padding-inline:1rem;
                }
                & img {
                    border-radius:var(--radius);aspect-ratio:506/379;object-fit:cover;object-position:center;margin-bottom:2rem;background:var(--grey-color);width:100%;height:auto;
                }
                & h3 {
                    height:auto;text-align:left;text-transform:none;font-size:1rem;margin-bottom:0;letter-spacing:normal;font-weight:bold;line-height:1.2;display:block;width:100%;margin-bottom:.75rem;
                    &::after {
                        display:none;
                    }
                }
                & p {
                    max-width:100%;width:100%;text-align:left;
                    &:has(a.button) {
                        text-align:left;
                        margin-top: auto;
                    }
                }
                & a.button {
                    margin-top:1rem;background:none;border:2px solid var(--primary-color);color:var(--primary-color);width:12rem;line-height:1.6;padding:0;
                    &:hover {
                        background:var(--primary-color);color:var(--background-color);
                    }
                }
            }
        }
    }

    &.single {
        & section {
            &.breadcrumb {
                margin:0;padding:1rem 3rem;
            }
            & ul {
                text-align:left;margin-bottom:2rem;
                & li {
                    width:100%;max-width:100%;margin-bottom:.5rem;
                }
            }
            & figure {
                margin-top:3rem;margin-bottom:3rem;border-radius:var(--radius);overflow:hidden;width:50rem;margin-inline:auto;max-width:80%;
            }
            & h2, & h3, & h4 {
                text-align:left;
                &::after {
                    margin-inline:0 auto;
                }
            }
            & p, & ul {
                max-width:100%;
                &:has(+ h2), &:has(+ h3) {
                    margin-bottom:3rem;
                }
            }
            &#articles {
                & h2, & h3, & h4 {
                    text-align:center;
                    &::after {
                        margin-inline:auto;
                    }
                }
            }
        }
    }

    &.page-template-page-landing {
        & a.demander-un-devis {
            display:none;
        }
    }

    &.has-blog-gutenberg-layout {
        --btnHoverBg:white;
        & header {
            min-height:0;
            & .bg-header {
                display:none;
            }
        }
        & .bg-blog-article {
            & .bg-panel-and-content {
                display:flex;
                & .bg-begin-content {
                    flex-basis:100%;
                }
            }
            & .bg-header {
                background-blend-mode:multiply;
                &::before {
                    display:none;
                }
                & h1 {
                    color:var(--background-color);
                }
                & .wp-block-group-is-layout-flex {
                    display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:1rem;
                    & .wp-block-separator {
                        border-bottom:1px solid;width:.5rem;margin:0;
                    }
                }
            }
            & .bg-flag-cta {
                & h2 {
                    color:var(--background-color);
                    &::after {
                        margin-inline:auto;
                    }
                }
            }
        }
        & .bg-gutenberg-faq {
            & .schema-faq-section {
                color:var(--btnColor);
                &:hover{
                    color:var(--btnColor);
                }
            }
        }
        & .bg-toc {
            & .bg-toc__list {
                & a {
                    color:var(--btnColor);
                    &:hover{
                        color:var(--btnColor);
                    }
                }
            }
        }
        & .bg-panel-banner {
            & .wp-block-cover {
                background: var(--btnColor);
                color: var(--btnBg);
                & .wp-element-button {
                    &:hover {
                        color: var(--btnColor);
                    }
                }
            }
        }
    }

    & footer {
        & .grid-container {
            max-width:90%;
            & .cell {
                display:flex;flex-direction:row;justify-content:flex-end;align-items:center;text-align:center;
                & img {
                    &.logo {
                        width:100%;margin:1rem 0;
                    }
                    &[src*="logo-fourmizz"] {
                        height:.9rem;vertical-align:sub;width:auto;
                    }
                }
                & p.mentions {
                    font-size:.7rem;line-height:1.2;color:var(--background-color);margin-top:1rem;text-transform:uppercase;letter-spacing:1px;width:100%;text-align:center;display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;
                    a {
                        color:var(--secondary-color);text-decoration:none;
                        &:hover {
                            text-decoration:underline;
                        }
                        &:has(i) {
                            font-size:1.6rem;line-height:1;vertical-align:-.3rem;
                        }
                    }
                    & .consent-manager{
                        color:var(--secondary-color);text-decoration:none;cursor:pointer;
                        &:hover {
                            text-decoration:underline;
                        }
                    }
                }
            }
        }
    }

}

@media (max-width: 900px) {
    body {
        &.has-blog-gutenberg-layout {
            & .bg-blog-article {
                & .bg-header {
                    padding: 2rem 0;
                    & h1 {
                        text-align: center;
                        &::after {
                            margin-inline:auto;
                        }
                    }
                    & .wp-block-group-is-layout-flex {
                        text-align:center;gap:.5rem;flex-direction:column;align-items:center;
                    }
                }
            }
        }
    }
}


/* SwiperJS */
.swiper {
    &:has(.swiper-pagination:not(.swiper-pagination-lock)):not(.shortcuts) {
        padding-bottom:1.5rem;
    }
    &.swiper-logos {
        & .swiper-pagination {
            display:none;
        }
    }
    & .swiper-pagination-bullet {
        border:2px solid var(--primary-color);
    }
    & .swiper-navigation {
        position:relative;display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;flex-direction:row-reverse;
        & .swiper-button-next, & .swiper-button-prev {
            position:relative;
        }
        & .swiper-button-next {
            &::after {
                content:'\f061';font-family:'FontAwesome';font-size:1.2rem;color:var(--primary-color);
            }
        }
        & .swiper-button-prev {
            &::after {
                content:'\f060';font-family:'FontAwesome';font-size:1.2rem;color:var(--primary-color);
            }
        }
    }
    & .swiper-pagination {
        &:has(+ .swiper-navigation) {
            position:absolute;transform:translateY(-1.5rem);
            & + .swiper-navigation {
                gap:12rem;
            }
        }
    }
}
.dark-bg {
    & .swiper {
        & .swiper-pagination-bullet-active {
            background:var(--background-color);
        }
        & .swiper-pagination-bullet {
            border-color:var(--background-color);
        }
        & .swiper-navigation {
            & .swiper-button-next {
                &::after {
                    color:var(--background-color);
                }
            }
            & .swiper-button-prev {
                &::after {
                    color:var(--background-color);
                }
            }
        }
    }
}

/* ANIMATIONS */
body:not(.single) section:not(.list-articles, .equipe), body:not(.single) section.list-articles article, body:not(.single) section.equipe .grid-x .swiper-slide figure, footer {
    opacity:0;/*transform:translateY(25%);*/
    &.in-view {animation:fadeInSection 1s ease-in-out forwards;}
}
section.list-articles {
    & article {
        &.in-view {
            animation:slideInFromBottomSection 1s ease-in-out forwards;
            &:nth-child(3n+1) {animation-delay:0s!important;}
            &:nth-child(3n+2) {animation-delay:.2s!important;}
            &:nth-child(3n)   {animation-delay:.4s!important;}
        }
        & figure {
            position:relative;padding:0;margin:0;
            & .article-categories {
                position:absolute;top:2rem;left:1rem;z-index:1;
                & span {
                    display:inline-block;background:var(--secondary-color);color:var(--primary-color);padding:.2rem 1rem;margin-right:.5rem;font-size:.8rem;border-radius:0 var(--radius) var(--radius) 0;text-transform:uppercase;
                    &[data-category="art"] {
                        background:var(--art-color);color:var(--background-color);
                    }
                    &[data-category="industry"] {
                        background:var(--industry-color);color:var(--background-color);
                    }
                    &[data-category="archeology"] {
                        background:var(--archeology-color);color:var(--background-color);
                    }
                }
            }
        }
        & h3 {
            height:3rem;
        }
    }
    & #pagination-container {
        margin-top:2rem;text-align:center;
    }
}
body:not(.single) section.equipe .grid-x .swiper-slide {
    & figure.in-view {
        animation:slideInFromBottomSection 1s ease-in-out forwards;
    }
    &:nth-child(6n+1) {
        & figure.in-view {
            animation-delay:0s!important;
        }
    }
    &:nth-child(6n+2) {
        & figure.in-view {
            animation-delay:.2s!important;
        }
    }
    &:nth-child(6n+3) {
        & figure.in-view {
            animation-delay:.4s!important;
        }
    }
    &:nth-child(6n+4) {
        & figure.in-view {
            animation-delay:.6s!important;
        }
    }
    &:nth-child(6n+5) {
        & figure.in-view {
            animation-delay:.8s!important;
        }
    }
    &:nth-child(6n) {
        & figure.in-view {
            animation-delay:1s!important;
        }
    }
}
@keyframes fadeInSection {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes slideInFromBottomSection {
    0% {opacity:0;transform:translateY(25%);}
    100% {opacity:1;transform:translateY(0);}
}
@keyframes scaleUp {
    0% {transform:scale(0);}
    75% {transform:scale(1.2);}
    100% {transform:scale(1);}
}
@keyframes rotate {
    100% {transform:rotate(450deg);}
}
@keyframes zoomBgIn {
    0% {background-size:100%;}
    100% {background-size:130%;}
}
@keyframes zoomBgHeaderIn {
    0% {transform:scale(1);}
    100% {transform:scale(1.3);}
}
@keyframes rotate {
    100% {transform:rotate(450deg);}
}
@keyframes slideInFromBottom {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes openTab {
    0% {max-height:0;padding:2rem;}
    100% {max-height:100vh;padding:2rem;}
}
@keyframes closeTab {
    0% {max-height:100vh;padding:2rem;}
    100% {max-height:0;padding:0 2rem;}
}



/* Form CF7 */
form {
    --padding:2px;
    --border-size:2px;
    --gap-form:1rem;
    display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap-form);width:100%;align-items:center;justify-content:center;position:relative;
    & h2 {
        flex-basis:100%;margin-bottom:0;text-align:center;text-transform:none;
        &::after {display:none;}
        & + p {flex-basis:100%;text-align:center!important;display:block;}
    }
    & > p {
        display:flex;flex-direction:row;flex-wrap:wrap;gap:0 var(--gap-form);max-width:80%!important;
    }
    & .flex {
        flex:0 0 calc(100%/3 - var(--gap-form));max-width:calc(100%/3 - var(--gap-form));
        & > p {
            display:flex;flex-direction:column;flex-wrap:wrap;gap:var(--gap-form);max-width:100%!important;
            & > * {flex:1 1 100%;}
        }
    }
    & [type=text], & [type=password], & [type=date], & [type=datetime], & [type=datetime-local], & [type=month], & [type=week], & [type=email], & [type=number], & [type=search], & [type=tel], & [type=time], & [type=url], & [type=color], & [type=file], & textarea, & select, & .login form .input {
        border:2px solid transparent;border-radius:var(--radius);background:var(--background-color);width:100%;padding:0 1rem;margin:0;height:auto;line-height:3;font-size:.9rem;color:var(--primary-color);box-shadow:none;max-height:100%;resize:none;border:2px solid var(--primary-color);
        &:focus {
            box-shadow:none;background:inherit;border:2px solid var(--secondary-color);
            &:not(:placeholder-shown) {
                background:var(--background-color);color:var(--primary-color);
            }
            & + span:not(.wpcf7-list-item-label) {
                top:-.5rem!important;background:var(--secondary-color);color:var(--primary-color)!important;font-size:.8rem!important;padding: .15rem 1rem;opacity:1;
            }
        }
        &:not(:placeholder-shown) {
            border-color:var(--secondary-color);
        }
        & + span:not(.wpcf7-list-item-label) {position:absolute;top:0;line-height:1;font-size:.9rem;left:1rem;top:calc(50% - 7.2px);font-weight:normal;transition:var(--transition);color:var(--primary-color);opacity:1;border-radius:var(--radius);}
        &:not(:placeholder-shown) + span:not(.wpcf7-list-item-label) {
            top:-.5rem!important;background:var(--background-color);color:var(--primary-color)!important;font-size:.8rem!important;padding: .15rem 1rem;opacity:1;border:2px solid var(--secondary-color);
        }
    }
    & textarea{
        & + span:not(.wpcf7-list-item-label){
            top: 1rem !important;
        }
    }
    
    & textarea[rows] {height:7.7rem;line-height:1.2;padding-top:1rem;padding-bottom:1rem;}
    & [type=file] {
        &::file-selector-button {display:none;}
    }
    & label {
        &.dark-bg {
            & .wpcf7-radio {
                border-color:transparent;
                & label {
                    & [type="radio"] {
                        width: calc(100% - 4rem);
                        margin-inline:2rem;
                        padding-inline:0;
                    }
                    &:hover {
                        & [type="radio"] {
                            background:var(--background-color);color:var(--primary-color);
                        }
                        & span {
                            color:var(--primary-color);
                        }
                    }
                }
            }
            &.error {
                background:red;
                & .wpcf7-radio {
                    & label {
                        & [type="radio"] {
                            &::before {
                                color: red;
                            }
                        }
                    }
                }
            }
        }
    }
    & .wpcf7-radio {
        position:relative;appearance:none;border-radius:var(--radius);border:var(--border-size) solid var(--primary-color);width:fit-content;margin:0 auto;text-align:center;line-height:1;transition:var(--transition);background:none;display:flex;padding:var(--padding);align-items:center;justify-content:center;padding:0;flex-wrap:wrap;
        & > span {flex:0 0 100%;display:block;margin:0;gap: .25rem;}
        & label {
            margin-bottom:0;height:100%;
            & span {
                position:absolute;color:var(--background-color);top:0;left:0;width:100%;text-align:center;height:100%;line-height:2.5;text-transform:uppercase;pointer-events:none;
            }
            & [type="radio"] {
                appearance:none;margin:0;width:100%;height:100%;border-radius:var(--radius);display:block;cursor:pointer;white-space:nowrap;border-radius:var(--radius);background:none;height:100%;transition:var(--transition);display:block;margin-left:0;text-align:center;line-height:2;text-transform:uppercase;padding-inline:2rem;border:2px solid transparent;color:white;
                &::after {
                    content:attr(value);border-radius:var(--radius);background:none;height:100%;transition:var(--transition);display:block;margin-left:0;text-align:center;line-height:2;text-transform:uppercase;padding-inline:2rem;border:2px solid transparent;color:transparent;border:1px solid #fff;
                }
                &::before{
                    content: '\f00c';font-family: 'Font Awesome 6 Free';font-weight: 900;color: var(--primary-color);position: absolute;left: 3rem;top: .25rem;
                }
                &:checked {
                    &::after {
                        background:var(--background-color);color:transparent;border-color:var(--background-color);
                    }
                    & + span {
                        color:var(--primary-color);
                    }
                }
            }
        }
    }
    &:has([value="Particulier"]:checked) {
        & .societe {
            display:none;
        }
    }
    & .institution {
        display:none;
    }
    &:has([value="Institution"]:checked) {
        & .societe {
            display:none;
        }
        & .institution {
            display:block;
        }
    }
    & .wpcf7-acceptance {
        background:var(--background-color);display:flex;padding:1rem;border-radius:var(--radius);align-items:center;justify-content:center;margin-bottom:1rem;flex-basis:100%;
        & label {display:flex;align-items:center;gap:.5rem;margin-bottom:0;color:var(--primary-color);}
        & span.wpcf7-list-item-label {line-height:1.2;text-align: left;}
        & [type="checkbox"] {
            position:relative;appearance:none;border-radius:var(--radius);border:var(--border-size) solid var(--primary-color);width:3rem;min-width:3rem;aspect-ratio:3/2;margin:0;text-align:center;line-height:1;transition:var(--transition);background:var(--background-color);display:inline-block;padding:var(--padding);
            &::after {content:'';border-radius:50%;background:var(--primary-color);height:100%;aspect-ratio:1;transition:var(--transition);display:block;margin-left:0;}
            &:checked {
                background:var(--primary-color);
                &::after {background:var(--background-color);margin-left:calc(50% - var(--border-size) - var(--padding));}
            }
        }
        & a:hover {color:var(--primary-color);text-decoration:underline;}
    }
    & input[type="submit"] {
        border:0;cursor:pointer;transition:var(--transition);border-radius:var(--radius);background:var(--primary-color);color:var(--background-color);font-size:1rem;text-transform:uppercase;padding-inline:3rem;line-height:2;margin-inline:auto;display:block;width:fit-content;
        &:hover {background:var(--secondary-color);color:var(--primary-color);}
        &:disabled {cursor:not-allowed;opacity:.5;}
    }
    & ::placeholder {color:var(--background-color);}
    & label {
        position:relative;margin-bottom:1rem;flex-basis:calc(50% - var(--gap-form));width:100%;
        &.fullwidth {flex-basis:calc(100% - var(--gap-form));}
        &.hide {display:none;}
        &.dark-bg {
            padding:2rem;border-radius:var(--radius);max-width:calc(50% - 1rem);
        }
        & span {
            &.title {
                font-size:1.2rem;line-height:1.2;display:block;margin-bottom:.5rem;text-transform:uppercase;
                & i {
                    font-size:3rem;display:block;margin-bottom:.5rem;
                }
            }
        }
    }
    &.invalid {
        & input.wpcf7-validates-as-required:placeholder-shown, & textarea.wpcf7-validates-as-required:placeholder-shown, & select.wpcf7-not-valid:not(:placeholder-shown) {border-color:red;}
    }
    &.submitting {
        pointer-events:none;
    }
    & .wpcf7-response-output {
        border:0!important;border-radius:calc(var(--radius)/2);background:var(--secondary-color);padding:1rem 2rem!important;text-align:center;display:block;
        &:not(:empty) {
            position:absolute;max-width:30rem;box-shadow:0 0 4px #152c47;
        }
        &:empty {
            display:none!important;
        }
        &::before {
            content:'\f00d';font-family:'FontAwesome';position:absolute;top:-1.5rem;right:-1.5rem;background:var(--secondary-color);color:var(--primary-color);width:2rem;height:2rem;display:flex;justify-content:center;align-items:center;border-radius:50%;cursor:pointer;
        }
    }
    & .wpcf7-spinner {
        background-color:var(--background-color);width:100%;height:100%;border-radius:0;position:absolute;top:0;left:0;opacity:.9;
        &::before {
            background-color:var(--primary-color);top:calc(50% - 48px);left:calc(50% - 48px);width:16px;height:16px;transform-origin:18px 18px;
        }
    }
    & .wpa-test-msg {
        display:none;
    }
}

a.demander-un-devis {
    position:fixed;bottom:2rem;right:2rem;z-index:10;display:flex;flex-direction:row;align-items:center;justify-content:center;background:var(--primary-color);color:var(--background-color);padding:1rem;border-radius:var(--radius);box-shadow:0 0 6px rgb(255 255 255 / 72%);transition:var(--transition);font-weight:bold;text-decoration:none;transform:scale(0);
    &.active {transform:scale(1);}
    & span {max-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:var(--transition);text-transform:uppercase;font-size:.8rem;}
    & i {font-size:1.5rem;aspect-ratio:1;width:1.5rem;text-align:center;}
    &:hover, &.open {
        background:var(--secondary-color);color:var(--primary-color);box-shadow:0 0 6px rgba(0,0,0,.15);transition:var(--transition);
        & span {max-width:200px;margin-inline:1rem;transition:var(--transition);}
    }
    &.inactive {
        display:none!important;
    }
}
@media screen and (min-width:640px){
    .grid-container:not(.full)>.grid-padding-x.swiper{
        margin-left: 0;
        margin-right: 0;
    }
}
@media screen and (max-width:640px) {
    form {
        & label {
            margin-bottom:1rem;
            flex-basis:100%;
            &.fullwidth {
                flex-basis: 100%;
            }
            &.paysSelect{
                margin-top: .5rem;
            }
            & textarea[rows].wpcf7-textarea {
                height: 10rem;
                border-radius: 1rem;
                padding-top: 1rem;
                &:not(:placeholder-shown) + span:not(.wpcf7-list-item-label), &:focus + span:not(.wpcf7-list-item-label){
                    left: 0;
                    font-size: .7rem !important;
                    width: 100%;
                }
                + span:not(.wpcf7-list-item-label){
                    width: calc(100% - 2rem);
                    text-align: left;
                }
            }
        }
        & > p {max-width:100%!important;}
        & .wpcf7-acceptance {
            padding-inline:0;width:100%;text-align:left;
            & label{
                display: flex;flex-direction: column;align-items: flex-start;
            }
            & [type="checkbox"] {
                min-width: 4rem;
                height: 2rem;
                flex-basis:unset;
                aspect-ratio: auto;
            }
        }
        & .wpcf7-radio {
            flex-direction:column;border-radius:calc(var(--radius)/2);padding:.2rem;width:100%;
            & > span {width:100%;}
        }
        & .flex {
            flex:0 0 100%;max-width:100%;
            & p {margin-bottom:0!important;}
        }
        & [type=text], & [type=password], & [type=date], & [type=datetime], & [type=datetime-local], & [type=month], & [type=week], & [type=email], & [type=number], & [type=search], & [type=tel], & [type=time], & [type=url], & [type=color], & [type=file], & textarea, & select, & .login form .input {font-size:1rem;line-height:2.6;}
    }
}

/* End Form CF7 */

/* Responsive */
@media (max-width: 1580px) {
    body {
        & header {
            & .cell:has(nav) {
                & nav {
                    margin-right: 3rem;
                    & ul {
                        &.menu {
                            & > li {
                                &:last-of-type {
                                    background-image: none;
                                    & a:not(.button) {
                                        width: auto;
                                        margin-left: 0;
                                        border: 1px solid var(--background-color);
                                        color: var(--background-color);
                                        &:hover {
                                            background: var(--secondary-color);
                                            color: var(--primary-color);
                                            border-color: transparent;
                                        }
                                    }
                                    &::after {
                                        content: none;
                                    }
                                }
                                & a:not(.button) {
                                    min-width: 1px;
                                    padding: .15rem 1rem;
                                }
                                &.open{
                                    & .sub-menu-wrapper{
                                        & > .sub-menu:has(ul){
                                            padding: 2rem 1rem;
                                        }
                                    }
                                }
                            }
                        }
                        
                    }
                    & .sub-menu-wrapper{
                        & > .sub-menu{
                            width: 80vw;
                            max-width: none;
                            left: auto;
                            right: 0;
                        }
                    }
                }
                & .language {
                    right: 1rem;
                }
            }
        }
    }
}
@media (max-width: 1530px) {
    body {
        & header {
            & .cell:has(nav) {
                & nav {
                    & ul {
                        &.menu {
                            & > li {
                                & a {
                                    min-width:11rem;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    form {
        & > p {
            max-width:90%!important;
        }
        & .wpcf7-acceptance {
            & [type="checkbox"] {
                width:4rem;aspect-ratio:2/1;
            }
        }
    }
}
@media (max-width: 1410px) {
    body {
        & header {
            & .cell:has(nav) {
                & nav {
                    & ul {
                        &.menu {
                            & > li {
                                & a {
                                    min-width:10rem;letter-spacing:1px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
@media (max-width: 1366px) {
    body {
        img.logo {
            max-width:100%;
        }
        &.home {
            & header {
                min-height:80vh;
            }
            & section {
                & figure {
                    &.map {
                        & img {
                            max-width: calc(100% - 2rem);
                        }
                    }
                }
            }
        }
        &.menu-open{
            &:before{
                content: "";
                position: fixed;
                top: 0;
                left: 0;
                width: 100vw;
                height: 100vh;
                background: rgba(20, 44, 71, 0.8);
                z-index: 7;
                user-select: none;
                pointer-events: none;
            }
            & .grid-container:not(.full) .navigation{
                z-index: 100;
            }
        }
        & header {
            /* Navigation */
            & .cell:has(nav) {
                & label {
                    &[for="navigation"] {
                        display:flex;
                    }
                }
                & input[type="checkbox"] {
                    &:checked {
                        & ~ label[for="navigation"] {
                            & span:nth-child(1) {
                                transform:rotate(-45deg) translate(-7px, 0px);transform-origin:100% 50%;
                            }
                            & span:nth-child(2) {
                                transform:scaleX(0);transform-origin:50% 50%;
                            }
                            & span:nth-child(3) {
                                transform:rotate(45deg) translate(-3px, 3px);transform-origin:100% 50%;
                            }
                        }
                        & ~ nav {
                            left:0;
                        }
                    }
                }
                & nav {
                    position:fixed;top:0;left:-100vw;width:100%;max-width:390px;height:100vh;background:var(--primary-color);z-index:8;padding:2rem;box-sizing:border-box;transition:all .25s ease-in-out;overflow:visible;
                    &::before {
                        content:url('../img/logo-ciram.svg');position:relative;width:80%;max-width:15rem;height:auto;margin-inline:auto;display:block;margin-bottom:2rem;
                    }
                    & ul {
                        &.menu {
                            justify-content:center;
                            &::after {
                                display:none;
                            }
                            & > li {
                                flex-direction:column;align-items:flex-start;justify-content:flex-start;height:auto;width:100%;
                                &:last-of-type {
                                    & a:not(.button) {
                                        width:100%;
                                    }
                                }
                                & .sub-menu-wrapper {
                                    width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-height:0;overflow:hidden;position: fixed;left:390px;top:0;height:100vh;width:calc(100vw - 390px);opacity: 0;
                                    & ul:has(ul) {
                                        display: block;width: 100%;background: none;padding: 0;gap:.25rem;padding: 2rem 1rem;height: 100%;border-radius: 0;
                                        & a{
                                            width: auto;
                                        }
                                        & ul.sub-menu {
                                            background:none;width:100%;padding:0;margin-bottom:.75rem;
                                        }
                                    }
                                }
                                & ul.sub-menu{
                                    align-items: flex-start;
                                }
                                & .sub-menu {
                                    max-height:inherit;padding:1rem 0;width: 100%;overflow:hidden;transition:none;
                                    & a {
                                        color:var(--background-color)!important;white-space:normal!important;
                                    }
                                    & li {
                                        &.menu-item-has-children {
                                            width: 100%;
                                            display: flex;
                                            flex-direction: column;
                                            align-items: flex-start;
                                            &:has(a[href="#"]){
                                                &:first-child {
                                                    border-bottom: 1px solid #fff;
                                                }
                                            }
                                            &:not(:first-child) {
                                                margin-left:0;border-left:0;padding-left:0;
                                            }
                                            & a {
                                                background-color: transparent;
                                            }
                                        }
                                        &:has(.button) {
                                            bottom:1rem;
                                            right: 1rem;
                                        }
                                    }
                                    & .sub-menu{
                                        height: auto;
                                    }
                                }
                                &.open {
                                    & > a {
                                        background: var(--secondary-color);
                                        color: var(--primary-color);
                                        border-color: transparent;
                                        &[href*="indus"] {
                                            background: var(--industry-color);
                                            color: var(--background-color);
                                            border-color: transparent;
                                        }
                                        &[href*="art"] {
                                            background: var(--art-color);
                                            color: var(--background-color);
                                            border-color: transparent;
                                        }
                                        &[href*="archeo"] {
                                            background: var(--archeology-color);
                                            color: var(--background-color);
                                            border-color: transparent;
                                        }
                                    }
                                    & .sub-menu-wrapper {
                                        max-height: 100vh;
                                        padding-top: 0;
                                        opacity: 1;
                                        transition: opacity .25s ease-in-out;
                                        & ul:has(ul) {
                                            display: block;
                                            padding: 2rem 1rem;
                                            height: 100%;
                                            border-radius: 0;
                                            gap: .25rem;
                                            & ul {
                                                margin-top: 0;
                                                gap: .25rem;
                                                &.menu-item-has-children {
                                                    width: 50%;
                                                }
                                            }
                                        }
                                    }
                                    & ul.sub-menu {
                                        gap:.25rem;
                                        &:has(ul.sub-menu) {
                                            background: var(--secondary-color);
                                        }
                                        &:has(ul.sub-menu a[href*="art"]) {
                                            background: var(--art-color);
                                            color: var(--background-color);
                                        }
                                        &:has(ul.sub-menu a[href*="indus"]) {
                                            background: var(--industry-color);
                                            color: var(--background-color);
                                        }
                                        &:has(ul.sub-menu a[href*="archeo"]) {
                                            background: var(--archeology-color);
                                            color: var(--background-color);
                                        }
                                        &:has(ul.sub-menu a[href*="techniques"]), &:has(ul.sub-menu a[href*="contact"]) {
                                            & a {
                                                color: var(--primary-color) !important;
                                            }
                                        }
                                    }
                                }
                                & a {
                                    width:100%;line-height:1.2;white-space:normal;padding-top:.5rem;padding-bottom:.5rem;
                                }
                            }
                        }
                        &.sub-menu {
                            display:flex;flex-direction:column;position:relative;top:0;left:0;width:90%;min-width:90%;height:fit-content;padding:0;overflow:hidden;max-height:0;transition:all .25s ease-in-out;gap:.25rem;
                            & .sub-menu {
                                min-width:1px;
                            }
                        }

                    }
                }
                & .language {
                    top: 1.2rem;right: 3.7rem;
                    & .country-selector.weglot-dropdown {
                        & ul {
                            border-radius:2rem;
                        }
                    }
                }
            }
            & .shortcuts {
                width:90%;left:5%;
                & a {
                    &::before {
                        background-size:185%;
                    }
                }
            }
        }
        & section {
            &:not(.dark-bg) {
                padding:0;
            }
            & .tabs {
                & .tabs-title {
                    height:4.5rem;
                    & > a {
                        & h3 {
                            font-size:.8rem;
                        }
                    }
                }
            }
            &.references {
                margin-top:0;
            }
        }
    }
}
@media screen and (max-width: 1366px) and (min-width: 1024px) {
    body{
        & header {
            /* Navigation */
            & .cell:has(nav) {
                & nav {
                    & ul {
                        &.menu {
                            & > li {
                                &.open {
                                    &:nth-last-child(2) {
                                        & .sub-menu-wrapper {
                                            & > ul.sub-menu {
                                                width: 100%;
                                                padding: 2rem 1rem;
                                                & a {
                                                    color: var(--primary-color) !important;
                                                }
                                            }
                                        }
                                    }
                                }
                                &:nth-last-child(2) {
                                    & .sub-menu-wrapper {
                                        & > ul.sub-menu {
                                            & a {
                                                color: var(--primary-color) !important;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
@media (max-width: 1023px) {
    :root {
        --swiper-pagination-bullet-size:.8rem;
    }
    h1, h2, h3, h4, h5, h6 {
        text-wrap: balance;
        & br {
            display:none;
        }
    }
    h1 {
        font-size:1.4rem;margin-top:2rem;
    }
    h2 {
        font-size:1.2rem;
    }
    h3 {
        font-size:1rem;
    }
    a:has(img.logo) {
        max-width:100%;margin-inline:0 auto;display:block;width: 150px;
        & img.logo {
            max-width:100%;
        }
    }
    a.button {
        margin-inline:auto;
    }
    body {
        & header {
            min-height: 1px;
            /* Navigation */
            & .cell:has(nav) {
                & nav{
                    overflow-y: scroll;
                    left: 0;
                    pointer-events: none;
                    user-select: none;
                    opacity: 0;
                    padding: 2rem 5% 4rem 5%;
                    &::before {
                        width: 150px;
                        max-width: 100%;
                    }
                    max-width: 100vw;
                    & ul {
                        &.menu {
                            & > li {
                                & > a, & > a:not(.button) {
                                    background: none;
                                    color: var(--background-color);
                                    border-color: var(--background-color);
                                    position: relative;
                                    &[href*="indus"] {
                                        background: none;
                                        color: var(--background-color);
                                        border-color: var(--background-color) !important;
                                    }
                                    &[href*="art"] {
                                        background: none;
                                        color: var(--background-color);
                                        border-color: var(--background-color) !important;
                                    }
                                    &[href*="archeo"] {
                                        background: none;
                                        color: var(--background-color);
                                        border-color: var(--background-color) !important;
                                    }
                                }
                                &:last-child{
                                    & > a, & > a:not(.button){
                                        background: var(--secondary-color);
                                        &::before{
                                            content: none;
                                        }
                                    }
                                }
                                & .sub-menu-wrapper {
                                    position: initial;
                                    left: auto;
                                    top: auto;
                                    height: auto;
                                    max-height: 100%;
                                    height: 0;
                                    opacity: 0;
                                    width: 100%;
                                    & .sub-menu{
                                        a.cloneLink{
                                            position: relative;
                                            width: calc(100% - 2rem);
                                            margin: 0 auto 1rem auto;
                                            &:before{
                                                content: '';
                                                width: 1rem;
                                                height: 1rem;
                                                position: absolute;
                                                left: .5rem;
                                                top: calc(50% - .5rem);
                                                background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1hcnJvdy1yaWdodC1pY29uIGx1Y2lkZS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTUgMTJoMTQiLz48cGF0aCBkPSJtMTIgNSA3IDctNyA3Ii8+PC9zdmc+');
                                                background-size: contain;
                                                background-repeat: no-repeat;
                                                background-position: center;
                                            }
                                        }
                                        li{
                                            &:has(.button) {
                                               a{
                                                 border-color: var(--background-color);
                                               }
                                            }
                                        }
                                    }
                                    & ul:has(ul) {
                                        padding: 1rem;
                                    }
                                    & > .sub-menu:has(ul) {
                                        padding: 1rem;
                                        margin: 1rem 0;
                                        border-radius: 1rem;
                                    }
                                    & ul.sub-menu{
                                        &:has(ul.sub-menu a[href*="techniques"]), &:has(ul.sub-menu a[href*="contact"]) {
                                            & .menu-item-has-children{
                                                & .sub-menu{
                                                    a{
                                                        color: var(--background-color)!important;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    
                                }
                                &.open {
                                    & .sub-menu-wrapper {
                                        width: 100%;
                                        max-height: 100%;
                                        height: auto;
                                        opacity: 1;
                                        & ul:has(ul) {
                                            padding: 1rem;
                                        }
                                        & > .sub-menu:has(ul) {
                                            padding: 1rem;
                                            margin: 1rem 0;
                                            border-radius: 1rem;
                                            width: 100%;
                                        }
                                    }
                                    & ul.sub-menu {
                                        gap:.25rem;
                                        &:has(ul.sub-menu) {
                                            background: none !important;
                                            color: var(--background-color);
                                            border: 1px solid var(--background-color) !important;
                                        }
                                        &:has(ul.sub-menu a[href*="art"]) {
                                            background: none !important;
                                            color: var(--background-color);
                                            border: 1px solid var(--background-color) !important;
                                            & .cloneLink{
                                                background: var(--art-color);
                                                border-color: transparent;
                                            }
                                        }
                                        &:has(ul.sub-menu a[href*="indus"]) {
                                            background: none !important;
                                            color: var(--background-color);
                                            border: 1px solid var(--background-color) !important;
                                            & .cloneLink{
                                                background: var(--industry-color);
                                                border-color: transparent;
                                            }
                                        }
                                        &:has(ul.sub-menu a[href*="archeo"]) {
                                            background: none !important;
                                            color: var(--background-color);
                                            border: 1px solid var(--background-color) !important;
                                            & .cloneLink{
                                                background: var(--archeology-color);
                                                border-color: transparent;
                                            }
                                        }
                                        &:has(ul.sub-menu a[href*="techniques"]), &:has(ul.sub-menu a[href*="contact"]) {
                                            background: none !important;
                                            border: 1px solid var(--background-color) !important;
                                            & .cloneLink{
                                                background:var(--secondary-color);
                                                color: var(--primary-color) !important;
                                                border-color: transparent;
                                                &:before{
                                                    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxNTJjNDciIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1hcnJvdy1yaWdodC1pY29uIGx1Y2lkZS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTUgMTJoMTQiLz48cGF0aCBkPSJtMTIgNSA3IDctNyA3Ii8+PC9zdmc+');
                                                }
                                            }
                                            & a, & > a{
                                                color: var(--background-color) !important;
                                            }
                                            &.menu-item-has-children{
                                                > a{
                                                    color: var(--background-color)!important;
                                                }
                                            }
                                        }
                                    }
                                }
                                & .sub-menu{
                                    & li{
                                        &:has(.button) {
                                            position: initial;
                                        }
                                    }
                                }
                                &:last-of-type {
                                    & > a:not(.button) {
                                        color: var(--primary-color);
                                        border-color: transparent;
                                    }
                                }
                            }
                        }
                    }
                }
                & label {
                    &[for="navigation"] {
                        display:flex;
                    }
                }
                & input[type="checkbox"] {
                    &:checked {
                        & ~ label[for="navigation"] {
                            & span:nth-child(1) {
                                transform:rotate(-45deg) translate(-7px, 0px);transform-origin:100% 50%;
                            }
                            & span:nth-child(2) {
                                transform:scaleX(0);transform-origin:50% 50%;
                            }
                            & span:nth-child(3) {
                                transform:rotate(45deg) translate(-3px, 3px);transform-origin:100% 50%;
                            }
                        }
                        & ~ nav {
                            opacity: 1;
                            user-select: initial;
                            pointer-events: initial;
                        }
                    }
                }
            }
            & ul.keywords {
                display:none;
            }
            & .grid-x:has(h1) {
                text-align:center;
                height: auto;
                & .large-6 {
                    padding-top:2rem;padding-bottom:4rem;text-align:left;padding-inline:4rem;
                    & h1 {
                        text-align:left;
                        text-wrap: balance;
                        &::after {
                            margin-inline:0 auto;
                        }
                    }
                    & p, & ul {
                        margin-inline:0 auto;max-width:1000%;
                    }
                }
                & a.anchor {
                    margin-inline: 0;
                }
            }
            & p, & ul:not(.menu) {
                margin-inline:auto;max-width:80%;
            }
            &.fixed {
                &.grid-container:not(.full) .navigation {
                    & img.logo {
                        margin-left:0;
                    }
                }
            }
            &:has(.shortcuts) {
                padding-bottom:8rem;
            }
            & .shortcuts {
                width:calc(100% - 2rem);left:1rem;margin-inline:1rem;
                & a {
                    padding-bottom:3rem!important;
                    &::before {
                        background-size:185%;
                    }
                }
            }
        }
        & main {
            & section {
                &.grid-container {
                    & .grid-x {
                        & details {
                            text-align:left;
                            & summary {
                                padding-right:2rem;box-sizing:border-box;
                                &:has(h3){
                                    &:before{
                                        top: -.5rem;
                                    }
                                }
                            }
                            & h3 {
                                font-size:.8rem;text-align:left;
                            }
                            & p, & ul {
                                max-width:100%;
                            }
                        }
                    }
                    &.dark-bg {
                        & .grid-x {
                            & p, & ul {
                                max-width:100%;
                            }
                        }
                    }
                }
                & figure {
                    margin-bottom:2rem;
                    &.map {
                        & img, & video{
                            max-width:100%;
                            width: 400px;
                        }
                        & figcaption {
                            position:relative;top:0;right:0;transform:none;
                            & p {
                                text-align:center;
                            }
                            & ul {
                                padding-left:0;margin-left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
                            }
                        }
                    }
                }
                &.onglets{
                    background-color: var(--primary-color);
                    padding-bottom: 2rem;
                }
                &:has(.tabs-panel) {
                    &::after {
                        content: none;
                    }
                }
                &#nos-techniques:has(+ .onglets) {
                    & + .onglets {
                        &::before {
                            content: none;
                        }
                    }
                }
                & .tabs {
                    display:flex;align-items:center;flex-wrap:wrap;
                    &::-webkit-scrollbar {
                        width:0;display:none;
                    }
                    & .tabs-title {
                        width:100%;flex:0 0 100%;max-width:100%;margin-inline:auto;height:5rem;scroll-snap-align:start;margin-inline:0;flex-shrink:0;
                        & .angle-right, & .angle-left {
                            display:none;
                        }
                        & h3 {
                            font-size:.8rem;
                        }
                        & a {
                            &:before{
                                content: '';
                                width: 1rem;
                                height: 1rem;
                                display: block;
                                position: absolute;
                                left: 1rem;
                                top: calc(50% - .5rem);
                                background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1hcnJvdy1kb3duLW5hcnJvdy13aWRlLWljb24gbHVjaWRlLWFycm93LWRvd24tbmFycm93LXdpZGUiPjxwYXRoIGQ9Im0zIDE2IDQgNCA0LTQiLz48cGF0aCBkPSJNNyAyMFY0Ii8+PHBhdGggZD0iTTExIDRoNCIvPjxwYXRoIGQ9Ik0xMSA4aDciLz48cGF0aCBkPSJNMTEgMTJoMTAiLz48L3N2Zz4=');
                                background-position: center;
                                background-size: contain;
                                background-repeat: no-repeat;
                                z-index: 1;
                                background-color: transparent;
                            }
                        }
                        &:nth-of-type(2) {
                            margin-inline: 0;
                        }
                    }
                }
                & .tabs-content {
                    & .tabs-panel {
                        &[data-theme="art"], &[data-theme="industry"] {
                            border-top-left-radius:var(--radius);
                        }
                        &:last-of-type {
                            border-top-left-radius: var(--radius);
                            border-top-right-radius: var(--radius);
                        }
                    }
                }
                &.section-swiper, &.section-enjeux, &#enjeux {
                    & .figures {
                        padding:1rem 0;width:100%;left:0;margin-inline:0;
                    }
                    & figure{
                        margin-bottom: 0;
                    }
                }
                & .swiper-enjeux, & .swiper.figures {
                    & .swiper-navigation {
                        margin-top: 1rem;
                    }
                }
                & .swiper.figures{
                    & .swiper-pagination {
                        transform: translate(0,10px);
                        &:has(+ .swiper-navigation) {
                            position: absolute;
                            transform: translateY(-1rem);
                        }
                    }
                }
                &.timeline {
                    & .grid-x {
                        & .swiper {
                            &::before {
                                content: none;
                            }
                            & .swiper-wrapper{
                                margin-bottom:1rem;
                            }
                            & .swiper-slide {
                                padding-left: 1rem;
                                padding-right: 1rem;
                                align-items: center;
                                text-align: center;
                                & .annee {
                                    &::after {
                                        content: none;
                                    }
                                }
                                & h3{
                                    text-align: center;
                                    &:after{
                                        margin-inline: auto;
                                    }
                                }
                                &:nth-child(odd) {
                                    padding-right: 1rem;
                                    padding-left: 1rem;
                                    text-align: center;
                                    align-items: center;
                                }
                                &:nth-child(2n+1) {
                                    & h3 {
                                        text-align: center;
                                        &:after{
                                            margin-inline: auto;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                &.references, &.list-articles {
                    margin-top: 0;
                    & .category-filters {
                        margin-bottom: 2rem;
                        margin-top: 2rem;
                        transform: translateY(0);
                        width: 100%;
                        max-width: 100%;
                        gap: 1rem;
                        flex-wrap: wrap;
                        & .category-button {
                            width: 100%;
                        }
                    }
                }
            }
        }
        & footer {
            & .grid-container {
                & .cell {
                    &.large-2 {
                        justify-content:center;
                        & a {
                            display:flex;flex-direction:column;align-items:center;justify-content:center;
                            &:has(img.logo) {
                                margin-inline:auto;
                                & img.logo {
                                    margin-bottom:0;
                                }
                            }
                        }
                    }
                    & p.mentions {
                        text-align:center;
                        flex-direction: column;
                        gap: 1rem;
                    }
                }
            }
        }
        &.home {
            & section {
                & figure {
                    &.map {
                        & img {
                            max-width:100%;
                        }
                    }
                }
            }
        }
        & form {
            & > p {
                position: relative;
            }
            & .wpcf7-radio {
                & label {
                    & [type="radio"] {
                        padding-inline: 0;
                        &::before {
                            left: 1rem;
                        }
                    }
                }
            }
            & .wpcf7-spinner {
                margin: 0;
            }
        }
    }
    @keyframes zoomBgIn {
        0% {background-size:275%;}
        100% {background-size:350%;}
    }
    @keyframes openTab {
        0% {max-height:0;padding:2rem;}
        100% {max-height:200vh;padding:2rem;}
    }
    @keyframes closeTab {
        0% {max-height:200vh;padding:2rem;}
        100% {max-height:0;padding:0 2rem;}
    }
}
@media screen and (max-width:768px) {
    p, ul, li {
        font-size:.9rem;
    }
    form {
        & label {
            &.dark-bg {
                flex-basis: 100%;
                max-width: 100%;
            }
        }
    }
}
@media screen and (max-width:639px) {
    body {
        & header {
            & .cell:has(nav) {
                & nav {
                    padding: 1rem 5% 6.5rem 5%;
                    &::before {
                        margin-inline: 0;
                        margin-bottom: 1rem;
                    }
                    & ul {
                        &.menu {
                            & > li {
                                & .sub-menu-wrapper {
                                    & > .sub-menu:has(ul) {
                                        padding: 1rem 0.3rem;
                                    }
                                }
                                &:hover{
                                    & .sub-menu-wrapper {
                                        & > .sub-menu:has(ul) {
                                            padding: 1rem 0.3rem;
                                        }
                                    }
                                }
                                 & .sub-menu {
                                    & li {
                                        &.menu-item-has-children {
                                            &:has(a[href="#"]) {
                                                &:first-child {
                                                    border-bottom: none;
                                                    position: relative;
                                                    &:after{
                                                        content: '';
                                                        position: absolute;
                                                        bottom: 0;
                                                        left: 1rem;
                                                        width: calc(100% - 2rem);
                                                        height: 1px;
                                                        background: #fff;
                                                    }
                                                }
                                            }
                                        }
                                        &:has(.button) {
                                            width: calc(100% - 2rem);
                                            margin-inline: auto;
                                        }
                                    }
                                }
                                & li a:not([href="#"]) {
                                    display: flex;
                                    &:before{
                                        margin-top: 2px;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            & .grid-x:has(h1) {
                & .large-6 {
                    padding-top: 2rem;
                    padding-bottom: 2rem;
                    padding-inline: 5%;
                }
                & a.anchor, & a.button {
                    padding: .7rem 1rem;
                }
            }
            & .shortcuts {
                margin-inline: 0 !important;
            }
        }
        & section {
            & .tabs-content {
                & .tabs-panel {
                    padding: 0 1rem;
                }
            }
        }
        & main {
            & section {
                &.grid-container {
                    &.dark-bg {
                        padding-left: 0;
                        padding-right: 0;
                        & .grid-x {
                            & .text-center{
                                & ul {
                                    padding-left: 0;
                                    list-style-position: inside;
                                }
                            }
                        }
                    }
                }
            }
        }
        & section {
            & details {
                border-radius: 1rem;
                padding: 1rem;
                & summary {
                    &::before {
                        right: 0rem;
                        top: calc(50% - .75rem);
                        font-size: 1rem;
                        width: 1.5rem;
                        height: 1.5rem;
                    }
                }
                & ul{
                    padding-left: 20px;
                }
            }
        }
    }
}
@media screen and (max-width:420px) {
    body {
        & header {
            & .grid-x:has(h1) {
                & a.anchor, & a.button {
                    width: 100%;
                    text-align: center;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    &:has(+ a.anchor), &:has(+ p + a.anchor) {
                        width: 100%;
                    }
                }
            }
            & .shortcuts {
                & a {
                    & span {
                        padding-left: 0;
                    }
                }
            }
        }
        & section {
            & .swiper-articles {
                & .swiper-slide {
                    & img {
                        margin-bottom: 1rem;
                    }
                    & h3{
                        text-align: center;
                    }
                    & p {
                        text-align: center;
                        &:not(:empty) {
                            &:has(.button) {
                                text-align: center;
                            }
                        }
                    }
                }
            }
            & ul {
                padding-left: 20px;
            }
            &.timeline {
                & .grid-x {
                    & .swiper {
                        margin-top: 2rem;
                    }
                }
            }
            &.equipe {
                & .grid-x {
                    & .swiper-slide {
                        & figure {
                            aspect-ratio: auto;
                        }
                    }
                }
            }
        }
    }
    a.demander-un-devis {
        right: 1rem;
        padding: .5rem 1rem;
        transform: scale(0);
    }
    form {
        & label {
            &.dark-bg {
                padding: 1rem;
                border-radius: 1rem;
            }
        }
    }
}

/* Safari Fix */
html.is-safari {
    & body {
        & header {
            & .shortcuts {
                & a {
                    &::before {
                        filter:none!important;
                    }
                }
            }
        }
    }
}

/* Complianz */
body {
    &.cmplz-document{
        & section {
            & details {
                & summary {
                    &::before {
                        content: none;
                    }
                }
            }
        }
        & #cmplz-document, & .editor-styles-wrapper .cmplz-unlinked-mode {
            width:1200px;
            margin-inline: auto;
            max-width: 100%;
        }
    }
    & .cmplz-cookiebanner .cmplz-categories .cmplz-category {
        & p{
            line-height: 1;
            font-size: .9rem;
            margin-bottom: 0;
        }
        & h3{
            margin-bottom: 0;
            &::after {
                content: none;
            }
        } 
    }   

    & #cmplz-manage-consent .cmplz-manage-consent{
        display: none;
    }
}