@import url('form.css');
:root {
    --dark-blue:#0d186c;
    --light-blue:#00ffff;
    --grey:#e6e6e6;
    --border-radius:4rem;
    --margin:3rem;
    --transition:all .25s ease-in-out;
}
@font-face {font-family:'Canaro';src:url('../fonts/Canaro-Book.woff2') format('woff2');font-weight:normal;font-style:normal;}
@font-face {font-family:'Canaro';src:url('../fonts/Canaro-Medium.woff2') format('woff2');font-weight:600;font-style:normal;}
@font-face {font-family:'Canaro';src:url('../fonts/Canaro-Bold.woff2') format('woff2');font-weight:bold;font-style:normal;}
@font-face {font-family:'SocialMediaCircled';src:url('../fonts/Social-Media-Circled.woff') format('woff');font-style:normal;font-weight:normal;}

/* Redefine Foundation */
.grid-container {max-width:100%;margin:0 auto;padding-inline:var(--margin);}
img:is([sizes="auto" i], [sizes^="auto," i]) {contain-intrinsic-size:initial;}
/* END Redefine Foundation */

body {
    font-family:'Canaro', sans-serif;font-size:.8rem;color:var(--dark-blue);padding-inline:var(--margin);background:white;overflow-x:hidden;
    & h1, & .h1, & h2, & .h2, & h3, & .h3, & h4, & .h4, & h5, & .h5, & h6, & .h6 {
        font-family:'Canaro', sans-serif;font-weight:bold;letter-spacing:2px;text-align:left;text-transform:uppercase;line-height:1.2;width:100%;
        & span, &:has(br)::first-line {display:block;font-size:60%;line-height:1;}
    }
    & h3 {font-size:1.4rem;}
    & p {
        line-height:1.2;font-size:.9rem;
        &:last-of-type:has(:not(+ ul)) {
            margin-bottom:0;
            & a {margin-bottom:0;}
        }
    }
    & ul, & ol {
        line-height:1.2;text-align:left;
    }
    & ol {
        margin-left:0;list-style:none;text-align:center;
        & li {
            counter-increment:li;max-width:50vw;margin-inline:auto;
            &::before {
                content:counter(li);margin-right:.5rem;display:block;font-size:1.6rem;background:var(--dark-blue);border-radius:50%;aspect-ratio:1;width:2rem;height:auto;color:white;padding:.5rem;box-sizing:content-box;margin-inline:auto;margin-bottom:1rem;line-height:2rem;
            }
        }
    }
    & a.button {
        display:inline-block;padding:.5rem 1rem;background:var(--light-blue);color:var(--dark-blue);border-radius:var(--border-radius);text-align:center;text-transform:none;font-weight:600;
        &:hover {background:var(--dark-blue);color:white;}
        &[data-type="checked"] {
            &:before {content:'\f00c';font-family:'Font Awesome 6 Free';margin-right:.5rem;}
        }
    }
    & .socials {
        font-family:'SocialMediaCircled';font-size:1.5rem;text-align:right;
        & a {
            color:white;
            &:hover {color:var(--light-blue);}
        }
    }
    &.single {
        & h1, & .h1, & h2, & .h2, & h3, & .h3, & h4, & .h4, & h5, & .h5, & h6, & .h6 {
            text-align:center;
        }
        & h1 {font-size:2rem;margin:2rem auto;}
        & section {
            max-width:50vw;margin-inline:auto;
            & .large-12 {
                & img {
                    display:block;margin-inline:auto;max-width:100%;border-radius:calc(var(--border-radius)/2);object-fit:cover;object-position:center;aspect-ratio:initial;
                }
                & .wp-block-image {
                    & img {
                        display:block;margin:0;max-width:100%;border-radius:calc(var(--border-radius)/2);object-fit:initial;object-position:initial;aspect-ratio:revert-layer;
                    }
                }
            }
        }
    }
    &.page-template-page-actualites {
        & main {
            & section {
                &.header {
                    margin-bottom:2rem;
                }
                & img {
                    width:100%;margin-bottom:1rem;
                }
                & h2 {
                    font-size:1.2rem;text-align:center;
                }
                & p:has(a.button) {
                    text-align:center;
                }
            }
            /* Pagination */
            & .pagination {
                display:flex;align-items:center;justify-content:center;padding:1rem;
                & .current {background:var(--dark-blue);border-radius:1rem;}
                & a {border-radius:1rem;}
                &::before, &::after {display:none;}
            }
        }
    }
    & header {
        position:relative;background:#152583;color:white;border-radius:var(--border-radius);margin-top:var(--margin);
        &::before {content:'';display:block;width:100%;height:100%;background:url('../img/bg-header.jpg') no-repeat center;background-size:cover;position:absolute;top:0;left:0;border-radius:var(--border-radius);opacity:.52;mix-blend-mode:soft-light;}
        & .grid-container {
            position:relative;
            &:first-of-type {padding:calc(var(--margin)/2);}
            &:nth-of-type(2) .grid-x {
                display:flex;align-items:center;justify-content:center;
            }
        }
        & .large-4 {
            display:flex;align-items:center;justify-content:flex-start;
            & .logo {
                display:flex;align-items:center;justify-content:flex-start;gap:.5rem;
                & img {width:20%;flex:1 0 20%;}
                & div {
                    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-transform:uppercase;color:white;font-size:2.2rem;line-height:.8;font-weight:600;
                    & span {
                        white-space:nowrap;
                        &:nth-of-type(2) {font-size:30%;margin-bottom:.4rem;}
                        &:nth-of-type(3) {font-size:45%;font-weight:600;}
                    }
                }
            }
        }
        & label.bt-menu:has(+ nav) {display:none;position:fixed;top:1rem;right:1rem;font-size:1.5rem;background:white;color:var(--dark-blue);padding:.5rem 1rem;border-radius:0;border-bottom-left-radius:var(--border-radius);z-index:99;}
        & input[name="menu"] {display:none;}
        & nav {
            & ul {
                display:flex;align-items:center;justify-content:flex-end;width:100%;list-style:none;padding:0;margin:0 0 .5rem 0;gap:.5rem;
                &:first-of-type:not(.sub-menu) {
                    & li a {
                        background:white;color:var(--dark-blue);padding-inline:1rem;line-height:2;border-radius:var(--border-radius);display:block;text-transform:uppercase;
                        &:hover {background:var(--light-blue);text-decoration:none;}
                    }
                }
                &:nth-of-type(2) {
                    margin:0;
                    & li {
                        position:relative;display:flex;align-items:center;justify-content:flex-start;
                        &::after {content:'|';display:inline-block;padding-inline:1rem;}
                        &:last-of-type::after {display:none;}
                        &.current-menu-parent {
                            & > a {color:var(--light-blue);}
                        }
                    }
                }
                & li {
                    & a {
                        color:white;text-transform:uppercase;
                        &[href="#"] {pointer-events:none;}
                        &:hover {color:var(--light-blue);text-decoration:underline;}
                        &.current-menu-item {color:var(--light-blue);text-decoration:underline;}
                    }
                    &:hover > ul.sub-menu {opacity:1;visibility:visible;}
                }
                &.sub-menu {
                    position:absolute;top:100%;left:0;width:fit-content;background:var(--dark-blue);padding:1rem 0;opacity:0;visibility:hidden;transition:all .25s ease-in-out;display:flex;flex-direction:column;gap:0;align-items:flex-start;z-index:4;
                    &:hover {
                        opacity:1;visibility:visible;
                    }
                    & li {
                        &::after {display:none;}
                        & a {
                            white-space:nowrap;transition:transform .25s ease-in-out;
                            &:hover {transform:translateX(1rem);}
                        }
                        &.current-menu-item a {color:var(--light-blue);transform:translateX(1rem);}
                    }
                }
            }
        }
        & h1 {
            font-size:2rem;margin-bottom:1rem;
        }
        & a.button {
            background:white;color:var(--dark-blue);text-transform:none;margin-bottom:1rem;transition:padding .25s ease-in-out;
            &:hover {background:var(--light-blue);color:var(--dark-blue);padding-inline:2rem;}
            &[data-type="checked"] {
                &:before {content:'\f00c';font-family:'Font Awesome 6 Free';color:var(--light-blue);}
            }
        }
        & .triangle {
            position:relative;overflow:hidden;
            & svg {
                position:absolute;top:0;left:0;width:100%;height:100%;aspect-ratio:722/770;z-index:2;
                & clipPath polygon {
                    animation:SVGTranslateMaskX 2s ease-in-out forwards;
                }
                & image {
                    animation:SVGTranslateImageX 2s ease-in-out forwards;
                }
                & text {
                    font-family:'Canaro', sans-serif;font-weight:bold;font-size:1.6rem;letter-spacing:1px;text-transform:uppercase;fill:var(--light-blue);text-shadow:-1px 1px 4px black;opacity:0;
                    &.text-1 {animation:textOpacity 2s 0s ease-in-out forwards;}
                    &.text-2 {animation:textOpacity 2s 1s ease-in-out forwards;}
                    &.text-3 {animation:textOpacity 2s 2s ease-in-out forwards;}
                }
            }
            & img {
                position:absolute;top:0;left:0;width:100%;height:100%;aspect-ratio:722/770;
                &[src*="background"] {position:relative;mix-blend-mode:soft-light;}
                &[src*="portrait"] {mask:url('../img/triangle-lydie-mask.png') no-repeat center;z-index:1;}
                &[src*="textes"] {z-index:3;}
            }
        }
    }
    & main {
        position:relative;z-index:1;
        & h2 {
            font-size:1.7rem;
            & span, & em {display:block;font-size:60%;line-height:1;font-style:normal;}
        }
        & ul, & ol {
            font-size:.9rem;
        }
        & section {
            position:relative;z-index:1;
            &.grid-container {
                padding-inline:calc(var(--margin)*2);margin-top:.5rem;margin-bottom:.5rem;
            }
            &.decalage-top {
                & img {margin-top:-5rem;}
            }
            &.align-right {
                & .grid-x {
                    flex-direction:row-reverse;
                    & .cell, & h2, & h3 {text-align:left;}
                }
            }
            &.header {
                background:var(--dark-blue);color:white;border-radius:var(--border-radius);margin-bottom:0;position:relative;z-index:0;margin-top:2rem;
                &::before {content:'';display:block;width:50%;height:100%;background:var(--background-header) no-repeat center;background-size:cover;position:absolute;top:0;left:0;border-radius:0;border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);pointer-events:none;}
                &:has(video) {
                    padding:0;
                    &.grid-container {
                        padding-right:calc(var(--margin)*2);
                    }
                    & .grid-x {
                        align-items:initial;
                    }
                    &::before {display:none;}
                    & video {
                        width:100%;height:100%;object-fit:cover;object-position:center;
                        border-radius:0;border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);
                        & + i {
                            position:absolute;top:calc(50% - 48px);left:calc(50% - 48px);z-index:3;font-size:6rem;color:#fff;opacity:.8;animation:animPlayWait 6s ease-in-out infinite forwards;
                        }
                    }
                    & .large-6 {
                        &:has(video) {
                            padding-top:0;padding-bottom:0;
                        }
                        & a:has(video) {
                            width:100%;height:100%;display:block;position:relative;
                        }
                        &:last-of-type {
                            background:none;padding-bottom:2rem;
                        }
                    }
                }
                & .large-6 {
                    padding-top:3rem;padding-bottom:10rem;
                    &:first-of-type {
                        &:has(img) {
                            padding:0;
                        }
                        & img {
                            border-radius:0;border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);
                        }
                    }
                    &:last-of-type {
                        background:var(--dark-blue);
                    }
                }
                & h1 {
                    font-size:1.8rem;margin-bottom:2rem;
                    &:has(span) br {display:none;}
                    &:has(br)::first-line {font-size:60%;}
                }
                & p, & ul {
                    margin-left:3rem;
                }
                & + section:not(:has(article)) img {
                    margin-top:-5rem;
                }
            }
            &.temoignages {
                padding-top:2rem;padding-bottom:10rem;margin-top:-1.5rem;z-index:0;
                &::before {content:'';display:block;width:calc(100% + var(--margin)*2);height:100%;background:url('../img/bg-header.jpg') no-repeat center;background-size:cover;position:absolute;top:0;left:calc(0rem - var(--margin));opacity:.52;mix-blend-mode:soft-light;pointer-events:none;}
                &::after {content:'';display:block;width:calc(100% + var(--margin)*2);height:100%;background:var(--grey);position:absolute;top:0;left:calc(0rem - var(--margin));z-index:-1;pointer-events:none;}
                & p {
                    text-align:center;
                    &:has(img) {display:none;}
                }
            }
            &.comite_orientation {
                & .membres {
                    display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;margin:2rem 0;
                    & img {border-radius:50%;}
                }
                & p {max-width:50vw;margin-inline:auto;}
                & a.button {margin-bottom:-3rem;}
            }
            & img {border-radius:calc(var(--border-radius)/2);aspect-ratio:733/528;object-fit:cover;object-position:center;}
            & .grid-x {
                display:flex;align-items:center;justify-content:center;
            }
            &.encart {
                background:#152583;color:white;border-radius:var(--border-radius);padding:0;padding-inline:calc(var(--margin)* 2);margin-top:-5rem;margin-bottom:5rem;position:relative;z-index:0;
                &::before {content:'';display:block;width:100%;height:100%;background:url('../img/bg-header.jpg') no-repeat center;background-size:cover;position:absolute;top:0;left:0;border-radius:var(--border-radius);opacity:.52;mix-blend-mode:soft-light;}
                & > div {position:relative;}
                & img[src$="png"] {aspect-ratio:initial;position:relative;bottom:-6rem;}
                & a.button {
                    transition:padding .25s ease-in-out;
                    &:hover {background:white;color:var(--dark-blue);padding-inline:2rem;}
                }
            }
            &.fond-bleu {
                & a.button {
                    transition:padding .25s ease-in-out;
                    &:hover {background:white;color:var(--dark-blue);padding-inline:2rem;}
                }
            }
            & .large-12 {
                text-align:center;
                & h2, & h3 {
                    text-align:center;margin-bottom:1.5rem;
                    &:has(br)::first-line {font-size:60%;}
                }
                & img {border-radius:0;max-width:25rem;margin-bottom:2rem;object-fit:contain;}
            }
            & ul li, & ol li {margin-bottom:.5rem;}
            & .les_missions {
                & h3 span {font-size:90%;color:#00B0F0;}
                & .images:has(img + img) {
                    display:flex;gap:.5rem;
                    & img {max-width:calc(50% - .5rem);aspect-ratio:366/528;}
                }
                    
            }
        }
    }
    &:not(.home) {
        & main {
            & section {
                &.header {
                    & .large-12 {
                        & h1 {text-align:center;margin:2rem 0;}
                    }
                }
                &.align-right {
                    & .grid-x {
                        & .cell, & h2, & h3 {text-align:left;}
                        & h2, & h3 {
                            &:has(br)::first-line {font-size:60%;}
                        }
                    }
                }
                &.prestations {
                    padding-inline:4rem;margin-top:3rem;
                    & .titre-prestations {
                        background:var(--dark-blue);border-radius:calc(var(--border-radius)*2);padding:1rem;margin-inline:4rem;position:relative;z-index:1;
                        & .cell:has(label) {
                            display:flex;align-items:center;justify-content:flex-start;font-size:1rem;font-weight:bold;list-style:none;line-height:1.5;
                        }
                        & label {
                            color:white;text-align:left;margin:0;text-transform:none;font-size:1.4rem;font-weight:bold;letter-spacing:2px;line-height:1.2;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;
                            &::before {
                                content:'+';background:var(--light-blue);color:var(--dark-blue);padding:0 1rem;border-radius:var(--border-radius);font-size:150%;margin-right:.5rem;height:100%;display:inline-block;
                            }
                            &:has(input[type="checkbox"]:checked) {
                                &::before {content:'-';}
                            }
                            &::first-line {font-size:100%;}
                            & span {color:var(--light-blue);font-size:100%;font-weight:bold;display:block;}
                            & input[type="checkbox"] {display:none;}
                        }
                        & + .grid-x {
                            background:var(--grey);border-radius:var(--border-radius);padding:0 5rem;margin-top:-2rem;margin-bottom:0;transition:var(--transition);max-height:0;overflow:hidden;
                        }
                        &:has(input[type="checkbox"]:checked) + .grid-x {
                            max-height:200vh;padding:5rem;
                        }
                    }
                    & p {
                        max-width:100%;width:100%;text-align:left;
                        &.titre_complement {
                            text-align:left;max-width:100%;width:100%;
                        }
                        & strong {border-radius:var(--border-radius);background:white;padding-inline:2rem;line-height:3;display:block;width:fit-content;margin-bottom:1rem;}
                    }
                    & ul {
                        list-style:none;margin-inline:auto;max-width:100%;text-align:left;
                        & li {
                            margin-bottom:.5rem;
                            &::before {content:'';background:var(--light-blue);width:1rem;height:1rem;display:inline-block;margin-right:.5rem;border-radius:50%;vertical-align:middle;}
                        }
                    }
                    & .cell.large-4 {
                        background:white;border-radius:var(--border-radius);display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative;padding:0;overflow:hidden;
                        & > * {flex:0 0 50%;}
                        & a {background:var(--light-blue);border-radius:var(--border-radius);text-align:center;line-height:4.3;text-transform:uppercase;font-weight:bold;letter-spacing:2px;color:var(--dark-blue);transition:var(--transition);}
                        &:hover a {
                            width:100%;flex:0 0 100%;
                            & + span {flex:0 0 0%;overflow:hidden;padding:0;max-width:0;}
                        }
                        & span {
                            display:flex;align-items:flex-end;justify-content:center;flex-direction:column;font-size:1.6rem;font-weight:bold;line-height:1;padding-right:1rem;white-space:nowrap;transition:var(--transition);
                            & em {font-style:normal;font-size:50%;}
                        }
                    }
                }
                &.praticiens_certifes {
                    &.grid-x .cell {width:100%;align-items:center;}
                    & h2 {width:100%;text-align:center;padding-left:0;}
                    & .praticiens {
                        display:flex;align-items:center;justify-content:space-around;width:80%;margin:2rem auto;
                        & .praticien img {border-radius:50%;}
                    }
                }
                &.texte_centre, &.bloc-cta {
                    margin-top:5rem;margin-bottom:5rem;
                    & p, & ul {max-width:50vw;margin-inline:auto;}
                    & .swiper-slide {
                        text-align:center;
                        & img {
                            margin-inline:auto;max-width:5rem;border-radius:50%;border:2px solid white;display:block;margin-bottom:2rem;
                        }
                        & h3 {
                            text-align:center;font-size:1rem;letter-spacing:normal;
                            & + p {height:3rem;}
                        }
                    }
                }
                &.fond-bleu {
                    background:#152583;color:white;border-radius:var(--border-radius);position:relative;z-index:0;padding:var(--margin);margin-top:2.5rem;margin-bottom:2.5rem;
                    & img {
                        aspect-ratio:initial;
                    }
                    &::before {
                        content:'';display:block;width:100%;height:100%;background:url('../img/bg-header.jpg') no-repeat center;background-size:cover;position:absolute;top:0;left:0;border-radius:var(--border-radius);opacity:.52;mix-blend-mode:soft-light;z-index:-1;
                    }
                    & thead, & tbody, & tfoot {border-color:white;background:none;}
                    & thead {background:none;color:var(--bleu-light);}
                    & tbody {
                        & tr:nth-child(even) {background:rgba(255, 255, 255, .1);}
                        & td {
                            background:none;color:white;text-align:left;padding:1rem;
                            & p {text-align:left;max-width:100%;}
                        }
                    }
                    & a:not(.button) {
                        color:var(--light-blue);
                        &:hover {color:white;text-decoration:underline;}
                    }
                }
                &.accordeon {
                    margin-top:3rem;
                    & h2 {margin-bottom:2rem;}
                    & details {
                        background:var(--dark-blue);color:white;padding:.2rem;border-radius:var(--border-radius);margin-bottom:1rem;width:100%;text-align:left;
                        & p {width:100%;max-width:100%;text-align:left;}
                        & a {color:var(--light-blue);}
                        &[open] {
                            padding:1rem;border-radius:calc(var(--border-radius)/2);
                            & > *:not(summary) {padding-inline:2rem;max-width:calc(100% - 4rem);}
                            & summary {
                                margin-bottom:2rem;
                                &::before {content:'-';}
                            }
                        }
                        & summary {
                            cursor:pointer;font-size:1rem;font-weight:bold;list-style:none;line-height:1.5;
                            &::before {content:'+';background:var(--light-blue);color:var(--dark-blue);padding:0 1rem;border-radius:var(--border-radius);font-size:150%;margin-right:.5rem;height:100%;display:inline-block;}
                        }
                    }
                } 
            }
            &:not(:has(section.temoignages)) {
                z-index:3;
            }
        }
    }
    & footer {
        position:relative;background:#152583;color:white;border-radius:var(--border-radius);margin-bottom:var(--margin);z-index:2;
        &::before {content:'';display:block;width:100%;height:100%;background:url('../img/bg-header.jpg') no-repeat center;background-size:cover;position:absolute;top:0;left:0;border-radius:var(--border-radius);opacity:.52;mix-blend-mode:soft-light;}
        &:has(a[href*="temoignages"]) {margin-top:-7.5rem;}
        & .grid-container {
            position:relative;
            &:first-of-type {padding:calc(var(--margin)/2);}
            &:nth-of-type(2) .grid-x {
                display:flex;align-items:center;justify-content:center;
            }
            & .large-12 {
                text-align:center;padding-bottom:5rem;
                & p {
                    margin-top:-2.5rem;
                    & a.button {
                        background:var(--light-blue);
                        &:hover {background:var(--dark-blue);color:white;}
                    }
                }
            }
            & .large-8 {
                display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
                & p {
                    & a {
                        color:white;
                        &:hover {color:var(--light-blue);}
                    }
                }
            }
        }
        & .logo {
            display:flex;align-items:center;justify-content:flex-start;gap:.5rem;
            & img {width:20%;flex:1 0 20%;}
            & div {
                display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-transform:uppercase;color:white;font-size:2.2rem;line-height:.8;font-weight:600;
                & span {
                    white-space:nowrap;
                    &:nth-of-type(2) {font-size:30%;margin-bottom:.4rem;}
                    &:nth-of-type(3) {font-size:45%;font-weight:600;}
                }
            }
        }
        & a.button {
            background:white;color:var(--dark-blue);text-transform:none;margin-bottom:1rem;
            &:hover {background:var(--light-blue);color:var(--dark-blue);}
            &[data-type="checked"] {
                &:before {content:'\f00c';font-family:'Font Awesome 6 Free';color:var(--light-blue);}
            }
        }
        & form {
            margin-bottom:1rem;justify-content:flex-end;
            & label {margin:0;}
            & input {
                border:0!important;
                &[type="email"] {
                    background:var(--grey);color:var(--dark-blue);
                    &:focus {background:var(--grey)!important;color:var(--dark-blue)!important;}
                    & + span:not(.wpcf7-list-item-label) {color:var(--dark-blue)!important;}
                    &::placeholder {color:var(--grey)!important;}
                }
                &[type="submit"] {
                    margin:0;margin-top:-2.7rem;position:relative;margin-left:auto;margin-right:-.1rem;line-height:2.8;font-size:.9rem;background:var(--light-blue);color:var(--dark-blue);
                    &:hover {background:var(--dark-blue);color:white;}
                }
            }
        }
    }
    &.home {
        & main {
            & section {
                &.align-right {
                    & .grid-x {
                        & .cell, & h2, & h3 {text-align:left;}
                    }
                }
                &:not(.align-right, .texte_centre, .encart, .temoignages) {
                    & .grid-x {
                        & .cell, & h2, & h3 {text-align:right;}
                    }
                }
            }
        }
    }
    &.page-template-page-temoignages-icerns {
        & section {
            & .grid-x{
                &.les-temoignages {
                    align-items:flex-start;display:flex;gap:2rem;padding:2rem 0;
                    & article {
                        flex:1 0 calc(100%/3 - 2rem);max-width:calc(100%/3 - 1rem);margin-bottom:1rem;padding:2rem;background:#f8f8f8;border-radius:var(--border-radius);
                        &:nth-child(odd) {background:var(--grey);}
                        & .cell {
                            background:var(--grey);padding:2rem;border-radius:1rem;display:block;width:100%;
                        }
                        & p, & div {
                            text-align:center;
                            &:empty {
                                display:none;
                            }
                            &:has(img) {
                                & img {
                                    aspect-ratio:auto;
                                    mix-blend-mode:multiply;
                                }
                            }
                        }
                    }
                }
            }
        }

    }
    &.page-template-page-produits {
        & main {
            & section {
                &.header {
                    margin-bottom:3rem;
                    & a {
                        color:var(--light-blue);
                        &:hover {text-decoration:underline;}
                    }
                    & .large-12:has(p) {
                        margin-bottom:2rem;
                    }
                }
                & .grid-x:has(article) {
                    align-items:flex-start;
                    & article {
                        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border-radius:var(--border-radius);margin-bottom:2rem;padding-top:1rem;
                        &:hover {background:var(--grey);}
                        & figure {
                            width:80%;margin-inline:auto;
                            & img {aspect-ratio:1;object-fit:contain;width:100%;display:block;}
                        }
                        & h2 {
                            font-size:1.2rem;text-align:center;
                        }
                        & p {text-align:center;}
                        &:last-of-type {
                            background:none;
                            &:hover {background:none;}
                            & img {aspect-ratio:initial;}
                        }
                    }
                }
            }
        }
    }
    &.page-template-page-mentions {
        & main {
            & section:not(.header) {
                margin-top:3rem;margin-bottom:3rem;
                & h3, & h4, & p, & ul {
                    text-align:left;max-width:50vw;margin-inline:auto;
                }
                & ul {
                    padding-left:2rem;
                }
            }
        }
    }
    &[data-slug="qui-sommes-nous"] {
        & section {
            &.comite_orientation {
                margin-top:3rem;
                & .membres {
                    justify-content:center;gap:3rem;align-items:flex-start;
                    & .membre {
                        display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 0 calc(100%/3 - 3rem);text-align:center;background:var(--grey);border-radius:var(--border-radius);padding:2rem;
                        & img {margin-top:0;margin-bottom:2rem;aspect-ratio:1;}
                        & h3 {font-size:1.2rem;text-align:center;}
                    }
                }
            }
        }
    }
    & .grecaptcha-badge {display:none;}
}

/* ANIMATIONS */
section{
    &.in-view {
        animation:slideInFromLeft 1s ease-in-out forwards;opacity:0;transform:translateX(-50%);
    }
    &:nth-child(odd) {
        &.in-view {
            animation:slideInFromRight 1s ease-in-out forwards;transform:translateX(50%);
        }
    }
}
article.in-view, .membre.in-view {
    animation:slideInFromBottom 1s ease-in-out forwards;opacity:0;transform:translateY(50%);
}
footer.in-view {
    animation:textOpacity 1s ease-in-out forwards;opacity:0;
}
@keyframes animPlayWait {
    0% {
        font-size: 6rem;
        top: calc(50% - 48px);
        left: calc(50% - 48px)
    }

    10% {
        font-size: 10rem;
        top: calc(50% - 80px);
        left: calc(50% - 80px)
    }

    15% {
        font-size: 4rem;
        top: calc(50% - 32px);
        left: calc(50% - 32px)
    }

    20% {
        font-size: 10rem;
        top: calc(50% - 80px);
        left: calc(50% - 80px)
    }

    25% {
        font-size: 6rem;
        top: calc(50% - 48px);
        left: calc(50% - 48px)
    }
}

@keyframes SVGTranslateMaskX {
    0% {transform:translate(-250px, -41px);}
    100% {transform:translate(17px, -41px);}
}
@keyframes SVGTranslateImageX {
    0% {transform:translate(250px, 41px);}
    100% {transform:translate(-17px, 41px);}
}
@keyframes textOpacity {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes slideInFromBottom {
    0% {opacity:0;transform:translateY(25%);}
    100% {opacity:1;transform:translateY(0);}
}
@keyframes slideInFromLeft {
    0% {opacity:0;transform:translateX(-25%);}
    100% {opacity:1;transform:translateX(0);}
}
@keyframes slideInFromRight {
    0% {opacity:0;transform:translateX(50%);}
    100% {opacity:1;transform:translateX(0);}
}
@keyframes rotate {
    0% {transform:rotate(0deg);}
    100% {transform:rotate(360deg);}
}

@media screen and (min-width:90rem) {
    body {
        & header, & footer {
            & .large-4 {
                & .logo {
                    & div {
                        & span {
                            &:nth-of-type(2) {
                                font-size:45%;margin-top:.25rem;
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (min-width:85rem) {
    body {
        & header, & footer {
            & .large-4 {
                & .logo {
                    & div {
                        & span {
                            &:nth-of-type(2) {
                                font-size:40%;margin-top:.25rem;
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:84rem) {
    body {
        & header, & footer {
            & .large-4 {
                & .logo {
                    & div {
                        font-size: 1.6rem;
                        & span {
                            &:nth-of-type(2) {
                                font-size:40%;margin-top:.25rem;
                            }
                        }
                    }
                }
            }
        }
        &:not(.home) {
            & main {
                & section {
                    &.prestations {
                        & .titre-prestations {
                            margin-inline:2rem;
                        }
                        & .cell.large-4 {
                            & a {letter-spacing:1px;}
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:78rem) {
    body {
        & header {
            & nav {
                & ul {
                    &.menu {
                        & li {
                            & a {
                                padding-inline:.5rem;
                            }
                        }
                    }
                    &:nth-of-type(2) {
                        & li {
                            &::after {padding-inline:.5rem;}
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:72rem) {
    body {
        &:not(.home) {
            & main {
                & section {
                    &.prestations {
                        & .titre-prestations {
                            margin-inline:2rem;
                            & label {
                                font-size:1.2rem;letter-spacing:1px;
                            }
                        }
                        & .cell.large-4 {
                            & span {font-size:1.2rem;}
                            & a {letter-spacing:0;font-size:.7rem;}
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:69rem) {
    body {
        & header {
            & nav {
                & ul {
                    &.menu {
                        & li {
                            & a {
                                padding-inline:.25rem;
                            }
                        }
                    }
                    &:first-of-type:not(.sub-menu) {
                        & li a {
                            font-size:.65rem;
                        }
                    }
                    &:nth-of-type(2) {
                        gap:.25rem;
                        & li {
                            &::after {padding-inline:.25rem;}
                            & a {padding:.15rem;}
                        }
                    }
                }
            }
        }
        &:not(.home) {
            & main {
                & section {
                    &.prestations {
                        & .titre-prestations {
                            & label {
                                font-size:1.1rem;letter-spacing:0;
                            }
                        }
                    }
                }
            }
        }
    }
}
@media screen and (max-width:60rem) {
    :root {
        --margin:1rem;
        --border-radius:2rem;
    }
    body {
        &:has(input[name="menu"]:checked) {
            &::before {content:'';display:block;width:100%;height:100%;background:white;position:fixed;top:0;left:0;z-index:1;}
        }
        & .socials {
            text-align:center;width:100%;margin:2rem auto;
        }
        & h1, & .h1, & h2, & .h2, & h3, & .h3, & h4, & .h4, & h5, & .h5, & h6, & .h6 {text-align:center;}
        & .grid-x > .medium-6 {width:100%;}
        & header {
            & .large-4 {
                & .logo {
                    justify-content:center;margin:2rem auto 1rem auto;
                }
            }
            & label.bt-menu:has(+ nav) {
                display:block;width:3.3rem;text-align:center;
                &:has(~ input[name="menu"]:checked) {
                    & i::before {content:'\f00d';}
                }
            }
            & nav {
                position:fixed;top:0;left:0;width:100%;height:100%;background:var(--dark-blue);padding:1rem 0;z-index:9;transition:all .25s ease-in-out;display:flex;flex-direction:column;align-items:center;justify-content:center;border:var(--margin) solid white;pointer-events:none;opacity:0;border-radius:calc(var(--border-radius)*1.5);
                & ul {
                    flex-direction:column;gap:.5rem;
                    &.menu {
                        flex-direction:column;gap:.5rem;
                        & li {
                            flex-direction:column;gap:.25rem;width:100%;
                            &::after {display:none;}
                        }
                    }
                    &:first-of-type:not(.sub-menu) {
                        flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;
                    }
                    &.sub-menu {
                        position:relative;top:0;opacity:1;visibility:visible;padding:.5rem;width:90%;background:#38418a;border-radius:var(--border-radius);
                        & li {
                            flex-direction:column;gap:.25rem;width:100%;text-align:center;
                            &.current-menu-item a {
                                transform:translateX(0);
                            }
                            & a {
                                white-space:initial;padding:0;line-height:2;
                                &:hover {
                                    transform:translateX(0);
                                }
                            }
                        }
                    }
                }
                &:has(+ input[name="menu"]:checked) {
                    opacity:1;pointer-events:initial;
                }
                & .socials {
                    margin:1rem auto 0 auto;
                }
            }
            & .grid-x:has(.large-6) {
                flex-direction:column-reverse;
            }
            & h1 {
                font-size:1.4rem;text-align:center;
            }
            & a.button {
                width:100%;
            }
        }
        & header, & footer {
            & .large-4 {
                & .logo {
                    & div {
                        font-size: 1.4rem;
                    }
                }
            }
        }
        & main {
            & section {
                &.header {
                    &::before {
                        width:100%;height:13rem;display:block;border-radius:0;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);
                    }
                    & h1 {
                        font-size:1.6rem;
                    }
                    & p, & ul {
                        margin-left: auto;
                    }
                    & ul {
                        padding-left:1rem;
                    }
                    & .large-6 {
                        &:last-of-type {border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);}
                    }
                    & + section:not(:has(article)) {
                        & .grid-x {
                            flex-direction:column-reverse;
                        }
                        & img {
                            margin-top:-10rem;margin-bottom:2rem;
                        }
                    }
                }
                &.decalage-top {
                    & img {
                        margin-top:0;
                    }
                }
                &.align-right, &:not(.align-right, .texte_centre, .encart, .temoignages) {
                    & .grid-x {
                        & .cell, & h2, & h3, p {text-align:center!important;}
                        &.les-temoignages {
                            & article {
                                flex:1 0 100%;max-width:100%;
                            }
                        }        
                    }
                }
                &.grid-container {
                    padding-inline:var(--margin);
                }
                & .large-12 {
                    & img {max-width:100%;}
                }
                &.encart {
                    padding-top:7rem;text-align:center;
                    & h2 {text-align:center;}
                    & img[src$="png"] {bottom:0;}
                }
            }
        }
        & footer {
            & .logo {
                transform:scale(.85);margin-top:1rem;
            }
            & .grid-container {
                &:first-of-type {
                    padding: var(--margin);
                }
            }
            & form {
                justify-content:center;
                & input {
                    &[type="submit"] {
                        margin-top:.5rem;margin-inline:auto;
                    }
                }
            }
        }
        &:not(.home) {
            & main {
                & section {
                    &.align-right {
                        & .grid-x {
                            flex-direction:column-reverse;
                            & img {margin-bottom:2rem;}
                            &.les_missions {
                                flex-direction:column;
                                & h3 {
                                    margin-top:2rem;
                                }
                            }
                        }                    
                    }
                    &.texte_centre, &.bloc-cta {
                        & .swiper-slide {
                            & h3 {
                                & + p {
                                    height: 4rem;
                                }
                            }
                        }
                        & p, & ul {
                            max-width:none;
                        }
                    }
                    &.accordeon {
                        & details {
                            & summary {
                                font-size:.7rem;
                                &::before {padding:0 .5rem;}
                            }
                            &[open] {
                                & > *:not(summary) {
                                    padding-inline:1rem;max-width:calc(100% - 1rem);margin-inline:0;
                                }
                            }
                        }
                    }
                    &.prestations {
                        padding-inline:0;
                        & .cell.large-4 {
                            & a {letter-spacing:0;}
                        }
                        & .titre-prestations {
                            border-radius:var(--border-radius);margin-inline:0;
                            & label {
                                font-size:1rem;letter-spacing:0px;margin-bottom:.5rem;
                            }
                            &:has(input[type="checkbox"]:checked) + .grid-x {
                                padding:4rem 1rem;
                            }
                        }
                    }
                    &.praticiens_certifes {
                        & .praticiens {
                            width:100%;flex-direction:row;flex-wrap:wrap;
                        }
                    }
                }
            }
        }
    }
    body {
        & main {
            & section {
                &.header {
                    &:has(video) {
                        &.grid-container {
                            padding-right:0;
                            & video {
                                border-radius:var(--border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;
                            }
                            & .large-6 {
                                &:last-of-type {
                                    padding-inline: 2rem;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    .membre.in-view {
        &.in-view {
            animation:slideInFromLeft 1s ease-in-out forwards;opacity:0;transform:translateX(-50%);
        }
        &:nth-child(odd) {
            &.in-view {
                animation:slideInFromRight 1s ease-in-out forwards;transform:translateX(50%);
            }
        }
    }
}