/* Fonts */
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Light.woff2') format('woff2');
    font-weight:lighter;
    font-style:normal;
}
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Light_Italic.woff2') format('woff2');
    font-weight:lighter;
    font-style:italic;
}
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Medium.woff2') format('woff2');
    font-weight:normal;
    font-style:normal;
}
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Medium_Italic.woff2') format('woff2');
    font-weight:normal;
    font-style:italic;
}
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Bold.woff2') format('woff2');
    font-weight:bold;
    font-style:normal;
}
@font-face {
    font-family:'NeulisNeue';
    src: url('../fonts/Neulis_Neue_Bold_Italic.woff2') format('woff2');
    font-weight:bold;
    font-style:italic;
}
@font-face {
    font-family:'Permanent Marker';
    src:url('../fonts/PermanentMarker-Regular.woff2') format('woff2');
    font-weight:normal;
    font-style:normal;
}

:root {
    --ocre:#c19473;
    --blue-light:#74bac3;
    --blue-dark:#00464f;
    --blue-darker:#00252a;
    --text-color:white;
    --border-radius:2rem;
    --transition:all .25s ease-in-out;
    --nbPerRow:1;
    --swiper-dot-color:var(--text-color);
    --swiper-dot-active-color:var(--blue-light);
    --swiper-dot-width:.5rem;
    --swiper-dot-height:.5rem;
    --swiper-dot-gap:.5rem;
    --swiper-button-color:var(--text-color);
    --swiper-button-hover-color:var(--blue-light);
    --swiper-button-size:1.5rem;
}
@view-transition { navigation: auto; }

::view-transition-old(root) { animation: fade-out .5s ease forwards; }
::view-transition-new(root) { animation: fade-in .5s ease .5s backwards; }

@keyframes fade-out { to { opacity: 0; } }
@keyframes fade-in  { from { opacity: 0; } }
/* media query reduced-motion retiré le temps du test */

body:not(.login) {
    font-family:'NeulisNeue';margin:0;background:var(--blue-dark);color:var(--text-color);line-height:1.2;
    & h1, & .h1, & h2, & .h2, & h3, & .h3, & h4, & .h4, & h5, & .h5, & h6, & .h6 {
        font-family:'NeulisNeue';font-weight:bold;margin:0;margin-bottom:1rem;line-height:1;
    }
    & h1, & .h1 {
        font-size:clamp(0.875rem, 0.0057rem + 2vw, 2rem);
    }
    & h2, & .h2 {
        font-size:clamp(1rem, 0.0057rem + 2vw, 2rem);
    }
    & h3, & .h3 {
        font-size:clamp(1rem, 0.0057rem + 2vw, 1.5rem);
    }
    & p, & li {
        line-height:1.2;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
        &.visible {
            opacity:1;transform:translateY(0);
        }
    }
    & ul, & ol {
        & li {
            opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
            &.visible {
                opacity:1;transform:translateY(0);
            }
        }
    }
    & cite {
        font-family:'Permanent Marker';font-size:1.2rem;font-style:normal;margin:0;color:var(--blue-light);opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
        &.visible {
            opacity:1;transform:translateY(0);
        }
        &::before {
            display:none;
        }
    }
    & button:not(.swiper-dot, .swiper-btn, .csr-star, .cmplz-btn), & .button, & a.wp-element-button {
        display:block;width:fit-content;min-width:10rem;padding:1rem;background:var(--blue-light);color:var(--text-color);text-decoration:none;font-weight:bold;position:relative;transition:var(--transition);margin-top:.5rem;margin-bottom:.5rem;cursor:pointer;opacity:0;transform:translateY(10vh);transition:all .5s ease-in-out;overflow:hidden;mask-image:url('../img/mask-button.svg');-webkit-mask-image:url('../img/mask-button.svg');mask-size:100% 100%;-webkit-mask-size:100% 100%;white-space:nowrap;
        &.visible {
            opacity:1;transform:translateY(0);
        }
        &:hover, &:focus, &:focus-visible {
            background:var(--ocre);text-indent:150%;overflow:hidden;
            &::after {
                color:var(--ocre);
            }
            &::before {
                left:0;
            }
        }
        &::before {
            content:'\f061';position:absolute;top:0;left:-100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Font Awesome 7 Free';font-weight:900;font-size:1.2rem;color:var(--text-color);transition:all .5s ease-in-out;text-indent:0;
        }
        &[href="#rappel"]::before {
            content: "\f2a0";
        }
        &[href="#contact"]::before {
            content: "\f0e0";
        }
    }
    & .text-center {
        text-align:center;
        & a.button, & button:not(.swiper-dot, .swiper-btn) {
            margin-inline:auto;
        }
    }
    & .grid-container {
        max-width:90%;
    }
    & .grid-x {
        &.reverse {
            flex-direction:row-reverse;
        }
        &.encadre {
            & .cell:has(p, h2, h3, ul) {
                padding:2rem;border-radius:var(--border-radius);border:4px solid var(--blue-light);overflow:hidden;
                & ul {
                    list-style-type:none;padding:0;width:fit-content;
                    & li {
                        background:var(--blue-light);color:var(--text-color);padding:.5rem 1rem;border-radius:calc(var(--border-radius) / 4);margin-bottom:.5rem;font-weight:bold;position:relative;padding-left:2.5rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                        &.visible {
                            opacity:1;transform:translateY(0);
                        }
                        &::before {
                            content:'';display:block;width:1.6rem;height:1.6rem;background:url('../img/icon-checked-white.svg') no-repeat center/contain;position:absolute;top:.3rem;left:.3rem;
                        }
                    }
                }
            }
        }
    }
    & .ocre {
        color:var(--ocre);
    }
    & div[role="navigation"] {
        position:fixed;top:0;width:100%;z-index:100;transition:background .3s ease-in-out;background:transparent;overflow:hidden;padding-top:.5rem;padding-bottom:1rem;
        & a:has(object.logo) {
            transform:translateX(-2.5rem);display:block;
            & object.logo {
                pointer-events:none;transform-origin:left center;transition:var(--transition);clip-path:inset(0 0 0 0);
            }
        }
        & #menu-toggle {
            display:none;
        }
        & [for="menu-toggle"] {
            display:none;cursor:pointer;width:2rem;height:2rem;position:relative;margin:0 0 0 auto;z-index:999999;gap:.4rem;flex-direction:column;justify-content:center;
            & span {
                display:block;width:100%;height:3px;background:var(--text-color);position:relative;transition:var(--transition);border-radius:1rem;
            }
        }
        & .topbar {
            display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:column;background:none;
        }
        & nav {
            &:first-of-type {
                & ul.menu {
                    & li {
                        &::after {
                            content:'';margin:0 .25rem;
                        }
                        & a:not(.button) {
                            padding:0;line-height:1.4;
                            &.button {
                                &:hover {
                                    color:var(--text-color);
                                }
                            }
                        }
                    }
                }
            }
            & ul.menu {
                display:flex;list-style:none;margin:0;padding:0;align-items:center;justify-content:flex-end;
                & li {
                    display:flex;align-items:center;
                    &::after {
                        content:'|';margin:0 .25rem;color:var(--text-color);
                    }
                    &:last-child::after {
                        content:'';
                    }
                    & a:not(.button) {
                        color:var(--text-color);text-decoration:none;font-weight:bold;padding:0 .5rem;
                        &:hover {
                            color:var(--ocre);
                        }
                    }
                    &.current-menu-item {
                        & a:not(.button) {
                            color:var(--ocre);
                        }
                    }
                }
            }
        }
    }
    & header {
        & .large-5 {
            position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;align-items:flex-start;
            & p {
                & strong {
                    color:var(--ocre);
                }
            }
        }
        & .large-7 {
            position:relative;
            & img, & object, & video {
                width:80%;height:auto;
            }
        }
        &::before {
            content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:url('../img/bg-header.png') no-repeat top right/contain;z-index:0;
        }
    }
    & section {
        margin-bottom:3rem;
        &[data-section="bloc-encarts"] {
            & h2 {
                margin-bottom:2rem;color:var(--text-color);
                &:has(+ p) {
                    margin-bottom:1rem;
                }
            }
            & p {
                & em {
                    font-style:normal;color:var(--ocre);
                }
            }
            & ul {
                &.encarts {
                    list-style:none;margin:0;padding:0;display:flex;gap:1rem;margin-bottom:20vh;
                    & li {
                        display:flex;align-items:center;margin-bottom:1rem;flex-direction:column;align-items:flex-start;padding:2rem;border-radius:calc(var(--border-radius) / 2);background:var(--blue-light);color:var(--blue-darker);position:relative;flex:1 0 auto;font-size:.9rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                        &.visible {
                            opacity:1;transform:translateY(0);
                        }
                        & img {
                            width:3.5rem;height:auto;margin-bottom:0;
                        }
                        & h3 {
                            font-size:1rem;color:var(--text-color);margin:0;
                        }
                        & strong {
                            color:var(--text-color);font-size:1rem;
                        }
                        & a.button {
                            position:absolute;bottom:0;right:10%;transform:translateY(50%);background:var(--ocre);color:var(--text-color);
                            &::after {
                                color:var(--ocre);
                            }
                            &:hover {
                                background:var(--blue-darker);
                                &::after {
                                    color:var(--blue-darker);
                                }
                            }
                        }
                        & ul, & ol {
                            margin-bottom:1rem;
                        }
                        & li {
                            display:list-item;list-style:disc;margin-left:1.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--text-color);padding:0;font-weight:bold;
                        }
                    }
                }
            }

            &[data-nbitems] {
                & ul {
                    flex-wrap:wrap;
                    & li {
                        flex-basis:calc(100% / var(--nbPerRow) - 1rem);
                    }
                }
            }
        }
        &[data-section="bloc-photo-texte"] {
            & video, & img {
                aspect-ratio:1;border-radius:var(--border-radius);object-fit:cover;object-position:center;width:100%;height:auto;pointer-events:none;
            }
            & .large-5 {
                display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
            }
            & ol {
                counter-reset:li;list-style:none;margin:0;padding:0;
                & li {
                    font-size:1.2rem;color:var(--blue-light);font-weight:bold;margin-bottom:2rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    &::before {
                        content:counter(li) ". ";counter-increment:li;font-size:2rem;margin-bottom:0;
                    }
                }
            }
            & h2 ~ *:not(button, a.button) {
                padding-left:2rem;
            }
            & p {
                & em {
                    font-style:normal;color:var(--ocre);
                }
            }
            & ul {
                margin-left:4rem;
            }
            &#graineterie {
                & h2 {
                    display:flex;align-items:center;gap:1rem;
                    &::before {
                        content:'';display:block;width:auto;height:100%;background:url('../img/logo-white.svg') no-repeat center/contain;aspect-ratio:1;flex-shrink:0;
                    }
                }
            }
        }
        &[data-section="bloc-texte-sans-photo"] {
            & p {
                & em {
                    font-style:normal;color:var(--ocre);
                }
            }
            & ol {
                counter-reset:li;list-style:none;margin:0;margin-bottom:2rem;padding:0;display:flex;flex-direction:row;gap:1rem 2rem;flex-wrap:wrap;
                & li {
                    font-size:1.4rem;color:var(--text-color);font-weight:bold;margin-bottom:2rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;flex-basis:calc(25% - 2rem);background:var(--blue-light);padding:1rem;border-radius:var(--border-radius);margin:0;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    &::before {
                        content:counter(li) ". ";counter-increment:li;font-size:2rem;margin-bottom:0;display:block;
                    }
                }
            }
        }
        &[data-section="bloc-2-colonnes-texte"] {
            &.encadre {
                padding:2rem;border-radius:var(--border-radius);border:4px solid var(--blue-light);overflow:hidden;
            }
            & .grid-x {
                align-items:flex-start;
            }
            & .large-6 {
                display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
            }
            & p {
                & em {
                    font-style:normal;color:var(--ocre);
                }
            }
            & ol {
                counter-reset:li;list-style:none;margin:0;padding:0;
                & li {
                    font-size:1.4rem;color:var(--blue-light);font-weight:bold;margin-bottom:2rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    &::before {
                        content:counter(li) ". ";counter-increment:li;font-size:2rem;margin-bottom:0;
                    }
                }
            }
            & ul {
                list-style-type:none;padding:0;width:fit-content;
                & li {
                    font-size:1.4rem;color:var(--blue-light);font-weight:bold;margin-bottom:2rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;position:relative;padding-left:2.5rem;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    &::before {
                        content:'';display:block;width:1.6rem;height:1.6rem;background:url('../img/icon-checked-blue-light.svg') no-repeat center/contain;position:absolute;top:.3rem;left:.3rem;
                    }
                }
            }
        }
        &[data-section="bloc-resultats"] {
            & ul {
                list-style:none;margin:2rem 0 0 0;padding:0;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
                & li {
                    display:flex;align-items:center;flex-direction:column;align-items:center;position:relative;flex:1;font-size:.9rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    & > div {
                        display:flex;align-items:center;justify-content:center;text-align:center;gap:.5rem;aspect-ratio:1;flex-direction:column;width:12rem;height:12rem;padding:1rem;border-radius:50%;border:3px solid var(--text-color);color:var(--text-color);font-size:1rem;font-weight:bold;color:var(--blue-light);position:relative;
                        & span {
                            font-size:2.4rem;color:var(--text-color);line-height:1;
                        }
                        & p {
                            margin:0;font-size:.9rem;
                        }
                        &::before {
                            content:'';position:absolute;top:-8px;left:-8px;width:calc(100% + 16px);height:calc(100% + 16px);border-radius:50%;z-index:2;background:conic-gradient(var(--ocre) 0deg 90deg, transparent 90deg 360deg);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 16px), #000 calc(100% - 16px));mask:radial-gradient(farthest-side, transparent calc(100% - 16px), #000 calc(100% - 16px));
                        }
                    }
                }
            }
        }
        &[data-section="no-sections"] {
            position:relative;
            & a {
                color:var(--blue-light);
                &:hover {
                    color:var(--text-color);
                }
            }
            & #cmplz-document, & .editor-styles-wrapper .cmplz-unlinked-mode {
                max-width:none;
            }
        }
        &#ressources {
            & h2 {
                text-align:center;
            }
            & .swiper-wrap {
                box-sizing:border-box;
                & article {
                    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    & img {
                        width:100%;height:auto;border-radius:calc(var(--border-radius) / 2);aspect-ratio:556/330;object-fit:cover;pointer-events:none;
                    }
                    & h3 {
                        font-size:1.2rem;color:var(--text-color);margin:0;min-height:2.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
                    }
                    & p {
                        font-size:.9rem;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
                    }
                    & a {
                        color:var(--ocre);text-decoration:none;font-style:italic;font-weight:bold;text-align:left;margin-left:0;
                        &:hover {
                            color:var(--blue-light);
                        }
                    }
                }
            }
        }
        &#echanges {
            text-align:center;margin-bottom:5rem;margin-top:5rem;
            & .buttons {
                display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem;
                & a.button {
                    background:var(--blue-light);color:var(--text-color);
                    &::after {
                        color:var(--blue-light);
                    }
                    &:hover {
                        background:var(--ocre);
                        &::after {
                            color:var(--ocre);
                        }
                    }
                    &:last-child {
                        mask-image:url('../img/mask-button-2.svg');-webkit-mask-image:url('../img/mask-button-2.svg');;
                    }
                
                }
            }
        }
        &#partenaires {
            & h2 {
                text-align:center;
            }
            & .swiper-wrap {
                & article {
                    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border-radius:50%;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    & img {
                        width:80%;height:auto;border-radius:50%;aspect-ratio:1;object-fit:contain;pointer-events:none;background:var(--text-color);
                    }
                }
            }
        }
        &[data-section="bloc-edito"] {
            & img {
                display:block;margin-inline:auto 0;
            }
            & h2 {
                font-family:'Permanent Marker';font-size:2rem;color:var(--blue-light);margin-bottom:1rem;font-weight:normal;
            }
            & p {
                max-width:800px;margin-left:auto;margin-right:auto;
                & em {
                    font-style:normal;color:var(--ocre);
                }
                &.signature {
                    color:var(--blue-light);
                }
            }
        }
        &[data-section="bloc-equipe"] {
            & #swiper-membres {
                & .swiper-track {
                    align-items:flex-start;
                }
                & article {
                    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;width:calc(100% / 3);
                    &.visible {
                        opacity:1;transform:translateY(0);
                    }
                    & img {
                        width:15rem;height:auto;aspect-ratio:1;object-fit:contain;pointer-events:none;border-radius:50%;border:.25rem solid var(--text-color);max-width:80%;
                    }
                    & h3 {
                        font-size:1rem;color:var(--blue-dark);margin:0;
                    }
                    & p {
                        font-size:1rem;color:var(--blue-light);
                        &::first-line {
                            font-weight:bold;font-size:120%;
                        }
                        &:not(.infos) {
                            height:4rem;overflow:hidden;margin-bottom:0;
                        }
                        &.infos {
                            &::first-line {
                                font-weight:normal;font-size:100%;
                            }
                            font-size:80%;color:var(--text-color);display:block;
                        }
                    }
                    & .photo {
                        position:relative;
                    }
                }
            }
        }
    }
    & .video {
        width:100%;height:auto;mix-blend-mode:luminosity;position:absolute;z-index:-1;pointer-events:none;
        & video {
            width:100%;height:100%;object-fit:cover;
        }
        &::after {
            content:'';position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(0deg,var(--blue-dark) 0%, #00464f00 100%);
        }
        &::before {
            content:'';position:absolute;top:0;left:0;width:100%;height:50%;background:linear-gradient(0deg,#00464f00 0%, var(--blue-dark) 100%);
        }
    }
    & footer {
        text-align:center;padding:1rem 0;font-size:.8rem;color:var(--text-color);background:var(--blue-darker);
        & object {
            max-height:4rem;margin-left:0;margin-right:auto;
        }
        & .large-9 {
            display:flex;align-items:center;justify-content:flex-end;
            & a {
                color:var(--text-color);text-decoration:none;
                &:hover {
                    color:var(--blue-light);
                }
            }
        }
    }
    &.is-sticky {
        & div[role="navigation"] {
            background:#00464feb;backdrop-filter:blur(2px);padding-top:0;
            & a:has(object.logo) {
                & object.logo {
                    clip-path:inset(0 65% 0 0);transform:scale(.7);
                }
                &:hover {
                    & object.logo {
                        clip-path:inset(0 0 0 0);
                    }
                }
            }
        }
    }
    &:not(.single) {
        padding-top:var(--nav-h)!important;
    }
    &:not(.home) {
        & header {
            margin-bottom:4rem;
            & .large-7 {
                & img, & object, & video {
                    width:100%;height:auto;aspect-ratio:1037/511;border-radius:var(--border-radius);object-fit:cover;object-position:center;
                }
            }
        }
        & section {
            & .grid-x {
                align-items:center;
            }
            &[data-section="bloc-photo-texte"] {
                & h2 ~ *:not(button, a.button) {
                    padding-left:0;
                }
            }
            &[data-section="bloc-encarts"] {
                & ul {
                    &.encarts {
                        margin-bottom:0;
                    }
                }
            }
            &[data-section="bloc-2-colonnes-texte"] {
                & .grid-x {
                    align-items:flex-start;
                }
            }
        }
    }
    &.page-template-ressources {
        & main {
            position:relative;
            & .grid-x:has(article) {
                align-items:flex-start;
            }
            & .large-4 {
                display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem;margin-bottom:2rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                &.visible {
                    opacity:1;transform:translateY(0);
                }
                & img {
                    width:100%;height:auto;border-radius:calc(var(--border-radius) / 2);aspect-ratio:556/330;object-fit:cover;pointer-events:none;
                }
                & h3 {
                    font-size:clamp(.9rem, 1.1rem, 1.2rem);color:var(--text-color);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
                }
                & p {
                    font-size:.9rem;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
                }
                & a {
                    color:var(--ocre);text-decoration:none;font-style:italic;font-weight:bold;text-align:left;margin-left:0;
                    &:hover {
                        color:var(--blue-light);
                    }
                }
            }
        }
    }

    /* Blog */
    &.single {
        & div[role="navigation"] {
            position:fixed;width:100%;
        }
        & .bg-header {
            padding:30vh 0 10vh 0;
            & h1 {
                max-width:60vw;
            }
        }
        & .wp-element-button {
            border-radius:0;font-style:inherit;
        }
        & .wp-block-image {
            & img {
                aspect-ratio:3/1;object-fit:cover;object-position:center;border-radius:var(--border-radius);width:100%;height:auto;pointer-events:none;
            }
        }
        & .bg-resume-wrapper {
            overflow:hidden;position:relative;
        }
        & .bg-related-swiper {
            & article {
                display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem;padding:1rem;opacity:0;transform:translateY(10vh);transition:opacity 1s ease, transform 1s ease;
                &.visible {
                    opacity:1;transform:translateY(0);
                }
                & img {
                    width:100%;height:auto;border-radius:calc(var(--border-radius) / 2);aspect-ratio:556/330;object-fit:cover;pointer-events:none;
                }
                & p {
                    font-size:.9rem;margin-bottom:.5rem;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
                    &.bg-related-title {
                        font-size:1.2rem;color:var(--text-color);margin:0;-webkit-line-clamp:2;
                    }
                }
                & a {
                    color:var(--ocre);text-decoration:none;font-style:italic;font-weight:bold;text-align:left;margin-left:0;
                    &:hover {
                        color:var(--blue-light);
                    }
                }
            }
        }
    }

}

/* Swiper */
.swiper-wrap  {
    overflow:hidden;position:relative;
    & .swiper-track {
        display:flex;
        & .swiper-slide {
            flex-shrink:0;box-sizing:border-box;
        }
    }
    & .swiper-btn.prev, & .swiper-btn.next {
        position:absolute;left:0;top:50%;transform:translateY(-50%);width:var(--swiper-button-size);aspect-ratio:1;
        & svg {
            & path {
                fill:var(--swiper-button-color);
            }
        }
        &:hover, &:focus, &:focus-visible {
            & svg {
                & path {
                    fill:var(--swiper-button-color);
                }
            }
        }
    }
    & .swiper-btn.next {
        left:auto;right:0;transform:translateY(-50%);
    }
    & .swiper-dots {
        display:flex;justify-content:center;gap:var(--swiper-dot-gap, 8px);margin-top:1rem;
        & .swiper-dot {
            width:var(--swiper-dot-width, 8px);height:var(--swiper-dot-height, 8px);border-radius:50%;background:var(--swiper-dot-color);border:none;cursor:pointer;
            &.active {
                background:var(--swiper-dot-active-color);
            }
        }
    }
}


/* Modal */

.modal {
    position:fixed;z-index:-100;user-select:none;pointer-events:none;opacity:0;top:0;left:0;width:100%;max-width:100vw;height:100vh;padding:1rem;display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;background:rgba(29, 29, 27, 0.8);backdrop-filter:blur(2px);color:var(--text-color);text-align:center;
    & .grid-container {
        background:var(--blue-darker);padding:4rem;border-radius:calc(var(--border-radius) / 2);box-shadow:0px 0px 100px 0px rgba(0, 0, 0, 0.5);width:760px;max-width:80%;height:80%;position:relative;opacity:0;transform:translate(0, 4rem);overflow-y:auto;align-items:flex-start;justify-content:center;display:flex;
        & .closeModal {
            position:absolute;right:.5rem;top:.5rem;width:50px;height:50px;display:flex;align-items:center;padding:.5rem;border-radius:50%;background:var(--blue-light);cursor:pointer;box-shadow:0px 0px 100px 0px rgba(0, 0, 0, 0.5);transition:background-color 0.3s ease;z-index:10;
            & svg {
                fill:var(--text-color);
            }
        }
        &::-webkit-scrollbar {
            width:10px;height:10px;
        }
        &::-webkit-scrollbar-thumb {
            background:var(--blue-dark);border-radius:calc(var(--border-radius) / 4);
        }
        &::-webkit-scrollbar-track {
            background:var(--blue-darker);
        }
    }
}

body.rappelModalIsOpen .modal#rappel, body.contactModalIsOpen .modal#contact {
  -webkit-user-select:initial;-moz-user-select:initial;user-select:initial;pointer-events:initial;z-index:999;
}

/* Responsive */


@media screen and (max-width:1200px) {
    body:not(.login) {
        & h3, & .h3 {
            font-size: clamp(1rem, 0.0057rem + 2vw, 1.3rem);
        }
        & div[role="navigation"] {
            & a:has(object.logo) {
                transform:translateX(-1.5rem);
            }
        }
        &.is-sticky {
            & div[role="navigation"] {
                & a:has(object.logo) {
                    & object.logo {
                        transform:scale(.9);
                    }
                }
            }
        }
        &:not(.home) {
            & header {
                margin-top:2rem;
            }
        }
        & .grid-container {
            max-width:95%;
        }
        & section {
            &[data-section="bloc-photo-texte"] {
                & ol {
                    & li {
                        font-size:1.2rem;
                        &::before {
                            font-size:1.8rem;
                        }
                    }
                }
            }
            &#ressources {
                & .swiper-wrap {
                    & article {
                        & h3 {
                            font-size:1.1rem;
                        }
                    }
                }
            }
            &[data-section="bloc-2-colonnes-texte"] {
                & ol, & ul {
                    & li {
                        font-size: 1.2rem;
                    }
                }
            }
            &[data-section="bloc-texte-sans-photo"] {
                & ol {
                    & li {
                        font-size:1.2rem;
                    }
                }
            }
        }
        &.login {
            & p, & button:not(.swiper-dot, .swiper-btn), & .button {
                opacity:1;transform:translateY(0);
            }
        }
        &.single {
            & .bg-header {
                & h1 {
                    max-width:none;
                }
            }
        }
    }
}
@media screen and (max-width:1024px) {
    body:not(.login) {
        & h1, & .h1 {
            font-size:1.6rem;
        }
        & h2, & .h2 {
            font-size:1.4rem;
        }
        & h3, & .h3 {
            font-size:1.2rem;
        }
        & p {
            font-size:.9rem;
        }
        &.is-sticky {
            & div[role="navigation"] {
                & a:has(object.logo) {
                    & object.logo {
                        transform:scale(.8);
                    }
                }
            }
        }
        & div[role="navigation"] {
            & .large-9 {
                display:flex;align-items:center;justify-content:flex-end;
            }
            & .topbar {
                display:flex;position:fixed;top:0;left:0;width:100%;background:#00464feb;flex-direction:column-reverse;align-items:center;padding:1rem;z-index:99999;height:100%;justify-content:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out, visibility .3s ease-in-out;
            }
            & #menu-toggle:checked ~ .topbar {
                visibility:visible;opacity:1;pointer-events:initial;
            }
            & #menu-toggle:checked ~ [for="menu-toggle"] {
                & span {
                    &:nth-child(1) {
                        transform:rotate(45deg) translate(5px, 5px);
                    }
                    &:nth-child(2) {
                        opacity:0;
                    }
                    &:nth-child(3) {
                        transform:rotate(-45deg) translate(8px, -7px);
                    }
                }
            }
            & [for="menu-toggle"] {
                display:flex;
            }
            & nav {
                & ul.menu:not(:has(.button)) {
                    flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-size:1.4rem;
                    & li {
                        & a {
                            padding:1rem 0;
                        }
                        &::after {
                            display:none;
                        }
                    }
                }
                & ul.menu:has(.button) {
                    flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;
                    & a.button {
                        font-size:1.4rem;margin:0;min-width:15rem;
                    }
                }
            }
        }
        & section {
            &[data-section="bloc-photo-texte"] {
                & ul {
                    margin-left:2rem;
                }
                & ol {
                    & li {
                        font-size:1.1rem;
                        &::before {
                            font-size:1.6rem;
                        }
                    }
                }
            }
            &[data-section="bloc-texte-sans-photo"] {
                & ol {
                    & li {
                        flex-basis:calc(50% - 2rem);
                    }
                }
            }
            &[data-section="bloc-encarts"] {
                & ul {
                    &.encarts {
                        & li {
                            & ul, & ol {
                                margin-left:0;
                            }
                        }
                    }
                }
            }
            &[data-section="bloc-2-colonnes-texte"] {
                & ol, & ul {
                    & li {
                        font-size:1.1rem;
                    }
                }
                & ul {
                    margin-left:0;
                    & li {
                        &::before {
                            width:1.4rem;height:1.4rem;top:0;left:.3rem;padding-left:2.1rem;
                        }
                    }
                }
            }
            &#partenaires {
                & .swiper-wrap {
                    margin-inline:2.4rem;
                }
            }
        }
        &.is-sticky {
            & div[role="navigation"] {
                padding:.5rem 0;
                &:has(#menu-toggle:checked) {
                    background:none;backdrop-filter:none;overflow:initial;
                }
                & .topbar {
                    background:#00464feb;backdrop-filter:blur(2px);
                }
            }
        }
    }
}
@media screen and (max-width:820px) {
    body:not(.login) {
        &:not(.home) {
            & header {
                & .large-7 {
                    & img, & object, & video {
                        height:100%;
                    }
                }
            }
            & section {
                & .grid-x {
                    align-items:initial;
                }
            }
        }
        & section {
            &[data-section="bloc-photo-texte"] {
                & video, & img {
                    height:100%;aspect-ratio:auto;
                }
            }
            &[data-section="bloc-encarts"] {
                & ul {
                    &.encarts {
                        margin-bottom:10vh;
                    }
                }
            }
        }
    }
}
@media screen and (max-width:640px) {
    body:not(.login) {
        & h1, & .h1, & h2, & .h2, & h3, & .h3, & h4, & .h4, & h5, & .h5, & h6, & .h6 {
            text-align:center;display:block;width:100%;
        }
        & ul {
            text-align:left;
        }
        & header {
            &::before {
                display:none;
            }
            & .grid-x {
                flex-direction:column-reverse;align-items:center;text-align:center;
                & cite {
                    margin-inline:auto;
                }
                & button:not(.swiper-dot, .swiper-btn), & .button {
                    margin-inline:auto;
                }
                & .large-7 {
                    & img, & object, & video {
                        margin-bottom:1rem;
                    }
                }
            }
        }
        & div[role="navigation"] {
            & nav {
                & ul.menu:has(.button) {
                    & a.button {
                        font-size:1.2rem;
                    }
                }
                & ul.menu:not(:has(.button)) {
                    gap:.5rem;
                    & li {
                        & a {
                            font-size:1.2rem;
                        }
                    }
                }
            }
            & a:has(object.logo) {
                transform:translateX(-.5rem);
            }
        }
        &.is-sticky {
            & div[role="navigation"] {
                padding:0;
            }
        }
        & section {
            text-align:center;
            & cite {
                margin-inline:auto;
            }
            & button:not(.swiper-dot, .swiper-btn), & .button {
                margin-inline:auto;
            }
            &[data-section="bloc-photo-texte"] {
                & h2 ~ *:not(button, a.button) {
                    padding-left:0;
                }
                & .encadre {
                    & ul {
                        margin-left:0;
                    }
                }
                &#graineterie {
                    & h2 {
                        flex-direction:column;gap:.5rem;justify-content:center;align-items:center;
                        &::before {
                            width:3rem;height:3rem;margin:0;
                        }
                    }
                }
                & .cell:has(video, img) {
                    margin-bottom:2rem;
                }
            }
            &[data-section="bloc-encarts"] {
                & ul {
                    &.encarts {
                        margin-bottom:0;
                        & li {
                            text-align:center;
                            & img {
                                margin-inline:auto;
                            }
                            & a.button {
                                right:50%;transform:translate(50%, 50%);
                            }
                            & li {
                                text-align:left;
                            }
                        }
                    }
                }
            }
            &[data-section="bloc-texte-sans-photo"] {
                & ol {
                    & li {
                        text-align:center;width:100%;flex-basis:100%;margin:0;
                    }
                }
            }
            &#ressources {
                & .swiper-wrap {
                    & article {
                        align-items:center;text-align:center;
                        & h3 {
                            font-size:1.1rem;margin:.5rem 0;min-height:2.2rem;
                        }
                    }
                }
            }
        }
        &:not(.home) {
            & header {
                margin-top:0;
                & .large-7 {
                    & img, & object, & video {
                        margin-bottom:1rem;
                    }
                }
            }
        }
        & footer {
            & object {
                margin-bottom:1rem;
            }
        }
    }
    #Texte {
        display:block!important;
    }
    .modal {
        & .grid-container {
            padding:3rem 1rem;border-radius:calc(var(--border-radius) / 2);max-width:95%;height:90%;align-items:flex-start;
        }
    }
}