body {
    --cLwhite: #FFFFFF;
    --cLblack: #000000;
    --cLdeepGreen: #18463D;
    --cLblackTransparent25: #0000003E;
    --cLoffWhite: #F5F2EF;
    --cLskyBlue: #78B3E5;
    --cLtransparent: #00000000;
    --cLblackTransparent9: #00000017;
    --cLgrayF0: #F0F0F0;
    --cLnavyBlue: #184260;
    --cLcamel: #C8AD85;
    --cLgray95: #95979B;
    --cLgrayF7: #F7F7F7;
    --cLpastelBlue: #CADAE8;
    --cLmidnightIndigo: #0B1834;
    --cLblackOpaqueC7: #000000C7;
    --cLblackOpaqueC6: #000000C6;
    --cLblackTransparent16: #00000029;
    --cLdarkBlue: #0B273B;
    --cLnavyTransparent: #152A447A;
    --cLblueTransparent: #1E2D4D00;
    --cLdeepNavy: #030C21;
    --cLblackTransparent33: #00000053;
    --cLsteelBlue: #0F2E45;
    --cLdeepOceanBlue: #004363;
    --cLorangeBright: #F3993F;
    --cLwhiteTransparent50: #FFFFFF80;
    --cLwhiteTransparent48: #FFFFFF7B;
    --cLwhiteTransparent225: rgb(255 255 255 / 12%);
    --cLcamelGoogle: #f3993f;
    --cLdarkBrown: #3E1504;
    --cLslate: #6A7284;
    --cLgrayBlue: #AEB6C7;
    --cLgrayBlue2: #AEB6C7;
    --cLlightGray: #D3D3D3;
    --cLlightGray2: #D3D3D3;
    --cLburntOrange: #E17341;
    --cLwhiteTransparent21: #FFFFFF36;
    --cLwhiteTransparent44: #FFFFFF6F;
    --cLwhiteTransparent54: #FFFFFF89;
    --cLblueSteel: #384A6F;
    --cLdarkTealBlue: #0F2C41;
    
    padding: 0;
    line-height: 1.7;
    color: var(--cLnavyBlue);
    font-size: min(16px,3.7vw);
    font-family: "effra",sans-serif;
}
* {margin: 0;box-sizing: border-box;}
img {
    display: block;
    max-width: 100%;
}
main{overflow-x:clip;}
main>header{z-index:1000;}
.cliping {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: inset(0rem round 0rem);
    &  ~ * {z-index: 1;position: relative;}
}
.overlay {position: absolute;inset: 0;z-index: 2;cursor: pointer;font-size:0;}


.swal2-modal .swal2-title {
    opacity: 1;
    margin-top: -35px!important;
    margin-bottom: 40px!important;
}

select.gt_selector.notranslate {
    height: 51px !important;
}


picture {
    height: 100%;
    display: block;
    overflow: hidden;
}

.sc10 picture {
    height: 350px;
    display: block;
    overflow: hidden;
    z-index: 3;
}


.sc1:has(.porteferme) #openProgramme {
    opacity: 0;
    cursor: auto;
    height: 0;
}

picture img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: inherit;
}
p:has([class^=btn-]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(1rem,4vw) min(10%,5vw);
}
a{color: inherit;text-decoration:none;}
a:not(:is([class],ul.rs a)):hover{color:var(--cLcamel);}
a.logo { position: relative; display: block; width: min(183px,45vw); }
ul:not([class]){padding-left:1rem;}
ul[class]{padding-left:0;list-style: none;}
ul.rs{position:relative;display:flex;column-gap:min(1rem,3vw)}
ul.rs a{display:block;color: var(--cLwhite);border-radius: 2rem;cursor: pointer;}
ul.rs a:hover {background-color: var(--cLsteelBlue);color: var(--cLcamel);}
ul.rs a::before {padding:min(1.25rem,4vw); scale: .5;}
strong {font-weight: 600;}
[style^="--icn"]::before {
    position: relative;
    content: "";
    display: block;
    transition: initial;
    pointer-events: none;
    padding: min(.7rem,3vw);
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: var(--icn);
    mask-image: var(--icn);
}
[style^="--icn"],.btn.next {display:inline-flex;align-items: center;column-gap: 10px;}
.txt-initial {text-transform: initial;}
.first-title {font-size: min(27px,5vw);font-weight: 300;}
section,footer {position: relative;}
.flex,[class^=flex],[class^=row]{display:flex;flex-wrap:wrap}
.ycenter:is(.flex,[class^=flex],[class^=row]) {align-items: center;}
.reverse:is(.flex,[class^=flex],[class^=row]){flex-direction:row-reverse;}
.y{flex-direction:column;row-gap:min(3.5rem,10vw);flex-wrap:nowrap;}
[class^=container]:not(:is([class*=leaflet])){width:100%;margin-inline:auto;padding-block: min(6rem,10vw);}
.container{max-width:min(998px,85vw)}
.container-xl{max-width:min(1316px,85vw)}
.container-xxl{max-width:min(1480px,85vw)}
.container-xxxl{max-width:min(1870px,95vw)}
.container-max{max-width:min(1920px,95vw)}
[style*="--w"] {width: var(--w);}
.arrow{position:relative;z-index:2;font-size:0;outline:0;flex:0 0 auto;cursor:pointer;max-width:100%;overflow:hidden;width:max-content;border-radius:3rem;transition:.2s;display:inline-block;color:var(--cLwhite);padding:min(1.4375rem,4.5vw);background-color:var(--cLcamel);border:.065rem solid var(--cLcamel)}
.arrow::after,.arrow::before{content:"";inset:30%;display:block;transition:inherit;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:url(../assets/images/arrow.svg);mask-image:url(../assets/images/arrow.svg)}
.arrow.slick-disabled {pointer-events:none;opacity:.2}
.arrow.prev{transform:rotate(-180deg)}
.arrow::after{translate:-100% 0;opacity:0}
.arrow:hover{color:var(--clwhite);background-color:var(--cLcamel);border-color:var(--cLcamel);}
.arrow::after,.arrow::before,.cliping{position:absolute;pointer-events:none}
a:hover .arrow::before,
.arrow:hover::before{translate:100% 0;opacity:0}
a:hover .arrow::after,
.arrow:hover::after{translate:0 0;opacity:1}
.arrow.rotate {rotate: -45deg;}
[class^=btn-]{z-index:1;line-height:1;font-weight:500;border-radius:2rem;font-size:min(18px,4vw);display:inline-flex;align-items:center;width:max-content;padding:min(.6875rem,3vw) min(1.2rem,3.35vw);white-space:inherit;text-transform:initial;transition:.3s;font-family:inherit;border:1px solid transparent;text-decoration:none}
[class^=btn-][style^=--icn]:before{padding:.5rem;scale: 1.5}
[class^=btn-] > input{margin:0!important;line-height:1!important;}
[class^=btn-]:has( input) {cursor: pointer;}
[class^=btn-] input:is([type="submit"],[type="button"]) {
    border: none;
    outline: none;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    background: transparent;
}
[class^=btn-] > .arrow{padding: min(0.8rem,2.5vw);scale:1.5;transform-origin:left center;}
[class^=btn-] > .arrow.rotate {transform-origin: center 25%;margin-left:min(2rem,4vw);}
.next[class^=btn-]::after{position:relative;content:'';scale:.6;left:5%;padding:min(.8rem, 2.5vw);display:inline-block;background-color:currentcolor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url(../assets/images/arrow.svg);mask-image:url(../assets/images/arrow.svg)}
.next.rotate[class^=btn-]::after {rotate: -45deg;}
.next[class^=btn-],[class^=btn-]:has( .arrow) {display:inline-flex;column-gap:.5rem;align-items:center;line-height:0rem;justify-content:space-between}
[class^="text"]{
    position: relative;
    width: 100%;
    display: flex;
    row-gap: min(20px,3vw);
    flex-direction: column;
}
[class^="text"] > p > a:not([class]) {
    color: var(--cLcamel);
    text-decoration: underline;
}
.text-center{
    align-items: center;text-align: center;
    & .underline::after {margin-inline: auto;}
}
.text-right{
    align-items: flex-end;text-align: right;
    & .underline::after {margin-inline: auto 0;}
}
.adventures + :is(h1,h2,h3,h4,h5,h6) {margin-top:calc(min(20px,3vw) * -1.1);}
.text-center > p:has([class^=btn-] + [class^=btn-]) {justify-content: center;}
[class^="text"] > p:has([class^=btn-] + [class^=btn-]) {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: min(1rem,4vw) 5%;
}
.slick-slider {
    width: 100%;
    & .slick-list {position: relative;overflow: hidden;width:100%;}
    & .slick-track {
        display: flex;flex-wrap: nowrap;
        & .slick-slide {flex: 0 0 auto;}
    }
}
h1,h2,h3,h4,h5,h6 {line-height: 1.3;font-weight: 400;text-transform: uppercase;text-wrap:balance;font-family: nove,sans-serif;}
:is(h1,h2,h3,h4,h5,h6) :is(em) {font-style: inherit;color: var(--cLcamel);font-size:min(14px,3.5vw);font-family:Effra,sans-serif;font-weight: 500;line-height: 1.5;display: block;}
h1 {font-size: min(40px,10vw);}
h2 {font-size: min(43px,7vw);}
h3 {font-size: min(35px,7vw);}
h4 {font-size: min(24px,5vw);}
h5 {font-size: min(20px,4vw);}
h6 {font-size: min(17px,4vw);}
.fs-67 {font-size: min(67px,6vw);}
.fs-44 {font-size: min(44px,6vw);}
.fs-43 {font-size: min(43px,6vw);}
.fs-40 {font-size: min(40px,6vw);}
.fs-38 {font-size: min(38px,6vw);}
.fs-37 {font-size: min(37px,6vw);}
.fs-30 {font-size: min(30px,6vw);}
.fs-28 {font-size: min(28px,5vw);}
.fs-26 {font-size: min(26px,5vw);}
.fs-24 {font-size: min(24px,5vw);}
.fs-23 {font-size: min(23px,5vw);}
.fs-22 {font-size: min(22px,5vw);}
.fs-17 {font-size: min(17px,4vw);}
/* other */
.fw700 {font-weight: 700;}
.cLslate {color: var(--cLslate);}
.cLcamel {color: var(--cLcamel);}
.cLnavyBlue {color: var(--cLnavyBlue);}
.cLdarkBrown {color: var(--cLdarkBrown);}
.upper-font-transform {text-transform: uppercase;}
.init-font-transform {text-transform: initial;}
.icn-cLcamel::before,.icone::before {padding: min(1.8rem,6.5vw) min(2.3rem,8vw);}
& .cat-label-btn {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(1rem,3vw) min(1.5rem,5vw);
    & .label-btn {
        color: var(--cLwhite);
        column-gap: min(2rem,6vw);
        font-size: min(16px, 4vw);
        border-radius: min(25px,5vw);
        background-color: var(--cLnavyBlue);
        padding: min(0.95rem, 4vw) min(1.5rem, 6vw);
        box-shadow: 0px 15px 30px var(--cLblackTransparent16);
        &::before {
            color: var(--cLcamel);
            padding: min(1.25rem,5vw);
        }
        & > span {
            position: relative;
            line-height: 1.3;
            padding-left: min(1rem,5vw);
            &::before {
                position: absolute;
                top: 50%;
                left: 0;
                content: '';
                opacity: .2;
                display: block;
                height: min(2.5rem,7vw);
                transform: translateY(-50%);
                border-left: 1px solid var(--cLwhite);
            }
        }
    }
}
.fixed-nav {
    position: fixed;
    left: 50%;
    bottom: 5px;
    display: flex;
    overflow: hidden;
    align-items: center;
    transition: all .3s;
    width: min(450px,97vw);
    transform: translateX(-50%);
    border-radius: min(2rem,5vw);
    justify-content: space-between;
    background-color: var(--cLnavyBlue);
    padding: min(5px,1.5vw) !important;
    & li {
        flex: 1;
        & a {
            width: 100%;
            display: flex;
            align-items: center;
            padding: min(5px,1.5vw);
            flex-direction: column;
            font-size: min(12px,2.6vw);
            border-radius: min(1.8rem,4.5vw);
            &:is(.current-menu-item > a) {background-color: var(--cLcamel);}
            & [style^="--icn"]::before {
                scale: 0.9;
                padding: min(1.5rem,4.4vw);
            }
        }
    }
    &:is(header.nav-is-open .fixed-nav) {bottom: -7rem;opacity: 0;visibility: hidden;}
}


header.nav-is-open .ct-nav:after {
    content: "";
    position: absolute;
    right: 0%;
    bottom: 0%;
    background: url(/wp-content/themes/volerie-des-aigles/assets/images/oiseau/oiseau-me_u.webp);
    width: 449px;
    height: 299px;
    background-size: contain;
}



.timeline {
    position: relative;
    &::before {
        position: absolute;
        top: 0;
        content: '';
        left: 50%;
        width: 1px;
        height: 100%;
        display: block;
        transform: translateX(-50%);
        background-color: var(--cLcamel);
    }
    & .item {
        position: relative;
        display: flex;
        justify-content: center;
        padding-block: min(1rem,5vw);
        gap: min(2rem,5vw) min(5rem,8vw);
        &:nth-child(even) {
            flex-direction: row-reverse;
            & .content .time::after {inset: 0 calc(min(5rem,8vw) / -2) 0 0;}
            & .content .time::before {
                right: initial;
                left: calc(100% + (min(5rem,5vw) / 2.4));
            }
        }
        & picture { 
            width: min(202px,40%);
            border-radius: min(20px,3vw); 
            box-shadow: 0px 15px 30px var(--cLblackTransparent16);
        }
        & .content { 
            width: min(202px,40%); 
            font-size: min(16px,3.7vw);
            & .time {
                position: relative;
                display: block;
                font-weight: 300;
                font-style: italic;
                font-size: min(32px,6vw);
                font-family: 'Effra',sans-serif;
                margin-bottom: min(1rem,4vw);
                &::before {
                    position: absolute;
                    top: 85%;
                    z-index: 1;
                    content: '';
                    width: 12px;
                    height: 12px;
                    border-radius: 2rem;
                    border: 1px solid var(--cLcamel);
                    background-color: var(--cLwhite);
                    right: calc(100% + (min(5rem,5vw) / 2.4));
                }
                &::after {
                    position: absolute;
                    content: '';
                    inset: 0 0 0 calc(min(5rem,8vw) / -2);
                    border-bottom: 1px dashed currentColor;
                }
            }
        }
    }
}
ul.step {
    position: relative;
    & > li {
        position: relative;
        padding-left: min(2rem,6vw);
        &::after {
            position: absolute;
            width: 0;
            left: 0;
            top: 15px;
            content: '';
            height: 100%;
            display: block;
            border-left: 1px solid currentColor;
        }
        &:last-child&::after {border-color: transparent;}
        &::before {
            position: absolute;
            top: 10px;
            z-index: 1;
            content: '';
            width: 12px;
            height: 12px;
            border-radius: 2rem;
            right: calc(100% - 7.2px);
            border: 1px solid var(--cLcamel);
            background-color: var(--cLwhite);
        }
    }
}
.txt-btn {
    display: flow-root;
    font-weight: inherit;
    &::before {
        content: "";
        display: table;
        margin-bottom: calc(-0.5lh + 0.5em);
    }
    &::after {
        content: "";
        display: table;
        margin-bottom: calc(-0.5lh + 0.38em);
    }
    &.blue {background-color: var(--cLskyBlue);}
}
.share {
    display: flex;
    align-items: center;
    margin-top: min(1rem,4vw);
    column-gap: min(1rem,4vw);
    text-transform: uppercase;
    justify-content: space-between;
    padding-block: min(1rem,2vw);
    border-block: 1px solid var(--cLlightGray);
}
.link {
  padding-bottom: 5px;
  color: var(--cLcamel);
  font-size: min(18px, 4vw);
  border-bottom: 1px solid currentColor;
  &.simple {
      padding-bottom: 0;
      border-bottom: none;
  }
  &.next,
  &.prev {
    display: inline-flex;
    align-items: center;
    column-gap: min(0.7rem, 4vw);
    &.prev::before,
    &.next::after {
      content: "";
      position: relative;
      display: block;
      padding: min(0.45rem, 3vw);
      background-color: currentColor;
      transition: inherit;
      -webkit-mask-image: url("../assets/images/arrow.svg");
      mask-image: url("../assets/images/arrow.svg");
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      -webkit-mask-size: contain;
      mask-size: contain;
    }

    &.prev::before {
      rotate: 180deg;
    }
  }
}
ul.tabs {
    position: relative;
    display: flex;
    column-gap: 0;
    max-width: 100%;
    width: max-content;
    padding: 7px 7px;
    align-items: center;
    border-radius: 2rem;
    color: var(--cLgray95);
    font-size: min(17px,4vw);
    backdrop-filter: blur(1rem);
    border-color: var(--cLwhite);
    background-color: var(--cLwhiteTransparent54);
    box-shadow: inset 0 0 20px -5px var(--cLwhiteTransparent225);
    &::before {
        position: absolute;
        inset: 0;
        z-index: 0;
        content: '';
        filter: url(#glass);
        isolation: isolate;
        border-radius: 5rem;
        pointer-events: none;
        backdrop-filter: blur(1rem);
    }
    & li {
        position: relative;
        z-index: 1;
        & > a {
            display: block;
            line-height: 1;
            width: max-content;
            border-radius: 2rem;
            padding: min(12px,3vw) min(1.5rem,4vw);
            &.active {
                font-weight: 700;
                color: var(--cLwhite);
                background-color: var(--cLcamel);
            }
        }
    }
    @media screen and (width < 1200px) {
        & {
            width: auto;
            display: flex;
            max-width: 75%;
            flex-wrap: nowrap;
            overflow-x: scroll;
            scrollbar-width: none;
            scroll-behavior: smooth;
            -ms-overflow-style: none;
            backdrop-filter: initial;
            column-gap: min(.6rem,3vw);
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-color: transparent transparent;
            &::-webkit-scrollbar {
                display: none;
            }
            & > li {scroll-snap-align: center;}
            &::marker {
                position: absolute;
                inset: 0;
                content: '' !important;
                border-radius: 2rem;
                box-shadow: inset -0.2rem 0 #00000061;
            }
        }
    }
}
.ct-slider,.listing {
    position: relative;
    display: flex;
    column-gap: 2%;
    &.listing {flex-wrap: wrap;}
}
.dots-bock {
    width: 5px;
    display: block;
    aspect-ratio: 1/1;
    color:  var(--cLblack);
    background-color: currentColor;
    box-shadow: -15px 0 0 currentColor,  15px 0 0 currentColor;
}
.accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    & .accordion-item {
        display: grid;
        overflow: hidden;
        transition: all .2s;
        grid-template-rows: 4em 0fr;
        &.active {grid-template-rows: 4em 1fr;}
        &:not(:last-child) {border-bottom: 1px solid var(--cLcamel);}
        & .accordion-header {
            display: flex;
            cursor: pointer;
            align-items: center;
            font-size: min(28px,5vw);
            transition: all 0.3s ease;
            column-gap: min(1rem,2vw);
            justify-content: space-between;
            padding-block: min(0.7rem,3vw);
            & .accordion-icon {
                position: relative;
                flex: 0 0 auto;
                margin-left: auto;
                border-radius: 50%;
                width: min(32px,5vw);
                height: min(32px,5vw);
                color: var(--cLcamel);
                background-color: transparent;
                border: 1px solid currentColor;
                &::before,
                &::after  {
                    position: absolute;
                    content: '';
                    display: block;
                    transition: all .3s;
                    transition: initial;
                    pointer-events: none;
                    mix-blend-mode: difference;
                    background-color: currentcolor;
                }
                &::before {inset: 20% 49%;transition:all .3s;}
                &:is(.accordion-item.active .accordion-icon)::before {inset: 50% 49%;}
                &::after {inset: 49% 20%;}
            }
        }
        & .accordion-content {
            overflow: hidden;
            & [class^="text"] {padding-block: 0 min(1rem,5vw);}
        }
    }
}
article:is(.actus,.agenda) {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    row-gap: min(1rem,4vw);
    flex-direction: column;
    background-color: var(--cLwhite);
}
article.actus {
    width: min(398px,100%);
    & picture {
        border-radius: 11px;
        height: min(170px,40vw);
        & img {
            transition: all .3s;
            &:is(.actus:hover picture > img) {scale:1.02;}
        }
    }
    & .text {
        line-height: 1.2;
        margin-inline: auto;
        width: min(331px,90%);
        color: var(--cLslate);
        row-gap: min(.7rem,4vw);
        font-size: min(14px,3.5vw);
        & h6 {
            font-weight: 700;
            text-transform: inherit;
            color: var(--cLnavyBlue);
            padding-bottom: min(.6rem,3vw);
            font-family: 'Affra',sans-serif;
            border-bottom: 1px solid var(--cLlightGray);
        }
        & p {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;  
            overflow: hidden;
        }
        & time {
            font-size: min(13px,3.2vw);
            color: var(--cLgrayBlue);
        }
    }
}
article.agenda {
    border-radius: 19px;
    padding: min(8px,4vw);
    width: min(313px,80vw);
    height: min(341px,90vw);
    box-shadow: 0px 3px 25px var(--cLblackTransparent16);
    & picture {
        border-radius: 11px;
        height: min(154px,40vw);
        & img {transition: all .3s;}
        &:is(.agenda:hover picture) > img {scale:1.03;}
    }
    & time {
        position: absolute;
        left: 50%;
        z-index: 1;
        top: -.5rem;
        max-width: 100%;
        width: max-content;
        transform: translateX(-50%);
    }
    & .text {
        line-height: 1.2;
        margin-inline: auto;
        width: min(250px,90%);
        color: var(--cLslate);
        row-gap: min(.7rem,4vw);
        font-size: min(14px,3.5vw);
        & h6 {
            font-weight: 700;
            text-transform: inherit;
            color: var(--cLnavyBlue);
            padding-bottom: min(.6rem,3vw);
            font-family: 'Affra',sans-serif;
            border-bottom: 1px solid var(--cLlightGray);
        }
        & p {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;  
            overflow: hidden;
        }
    }
    & .next[class^=btn-] {
        position: absolute;
        left: 50%;
        z-index: 2;
        bottom:-1.3rem;
        transform: translateX(-50%);
    }
}
article.aigle {
    position: relative;
    flex: 0 0 auto;
    width: min(373px,80vw);
    height: min(433px,90vw);
    & .arrow {
        position: absolute;
        top: min(1rem,5vw);
        right: min(1rem,5vw);
    }
    & picture {
        position: relative;
        width: 100%;    
        border-radius: min(20px,4vw);
        &::after {
            position: absolute;
            content: '';
            inset: 60% 0 0 0;
            mix-blend-mode: multiply;
            background: transparent linear-gradient(180deg, var(--cLtransparent) 0%, var(--cLnavyBlue) 100%) 0% 0% no-repeat padding-box;
        }
        & img {
            transition: all .3s;
            &:is(.aigle:hover picture img) {scale:1.04;}
        }
    }
    & .text-center {
        position: absolute;
        inset: 0;
        color: var(--cLwhite);
        justify-content: flex-end;
        padding: min(2rem,5vw) min(3rem,5vw);
        & h4 {
            font-weight: 700;
            font-size: min(30px,4vw);
            text-transform: inherit;
            font-family: 'Affra',sans-serif;
            &[class*="underline"]::after {width: 79px;}
        }
    }
}
.tag {
    position: relative;
    max-width: 100%;
    font-weight: 500;
    overflow: hidden;
    column-gap: 1.5rem;
    width: max-content;
    border-radius: 2rem;
    font-size: min(25px,4vw);
    text-transform: uppercase;
    padding: 5px min(1.5rem,6vw);
    background-color: var(--cLcamel);
    &[style^="--icn"]::before {z-index: 1;}
    &[style^="--icn"]::after {
       position: absolute;
       content: '';
       inset: 0 calc(100% - 3.7rem) 0 0;
       background-color: var(--cLsteelBlue);
    }
}
.label {
    position: relative;
    max-width: 100%;
    font-weight: 500;
    overflow: hidden;
    column-gap: 1.5rem;
    width: max-content;
    border-radius: 2rem;
    color: var(--cLwhite);
    font-size: min(25px,4vw);
    padding: min(0.95rem,2vw) min(1.5rem,6vw);
    background-color: var(--cLcamel);
    &[style^="--icn"]::before {z-index: 1;}
    &[style^="--icn"]::after {
        position: absolute;
        content: '';
        inset: 0 calc(100% - 3.7rem) 0 0;
        background-color: var(--cLsteelBlue);
    }
}
.arrow.slick-arrow {
    color: var(--cLcamel);
    border-color: var(--cLwhite);
    background-color: var(--cLwhite);
    box-shadow: 0px 10px 20px var(--cLblackTransparent16);
}
article.events {
    position: relative;
    transition: all .3s;
    color: var(--cLwhite);
    width: min(314px,100%);
    & picture {
        position: relative;
        border-radius: min(19px,4vw);
        &::after {
            position: absolute;
            content: '';
            inset: 0;
            mix-blend-mode: hard-light;
            background: transparent linear-gradient(180deg, var(--cLtransparent) 0%, var(--cLtransparent) 36%, var(--cLblackOpaqueC6) 100%) 0% 0% no-repeat padding-box;
        }
        & img {
            transition: all .3s;
            &:is(.events:hover picture > img) {scale: 1.04;}
        }
    }
    & .cat {
        position: relative;
        z-index: 4;
        display: block;
        max-width: 100%;
        cursor: pointer;
        font-weight: 700;
        width: max-content;
        margin-inline: auto;
        border-radius: 2rem;
        transition: all .3s;
        margin-bottom: -1rem;
        color: var(--cLwhite);
        background-color: var(--cLcamel);
        padding: min(.8rem, 3vw) min(1.5rem, 4vw);
        &.blue {background-color: var(--cLskyBlue);}
    }
    &:hover .cat {box-shadow: 0 1rem 2rem -0.6rem var(--cLblack);scale: 1.02;}
    & .text {
        position: absolute;
        inset: 0;
        padding: min(2rem,5vw);
        justify-content: flex-end;
    }
    & .times {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: min(5px,4vw);
        align-items: center;
        & li {
            display: block;
            font-weight: 700;
            padding: 7px 10px;
            border-radius: 2rem;
            font-size: min(13px,3vw);
            color: var(--cLnavyBlue);
            background-color: var(--cLcamel);
        }
    }
    & .arrow {
        position: absolute;
        border: none;
        top: min(.5rem,5vw);
        right: min(.5rem,5vw);
        background-color: transparent;
    }
    & :is(h1, h2, h3, h4, h5, h6) {
        color: inherit;
        font-weight: 500;
        text-transform: initial;
        font-family: 'Effra',sans-serif;
    }
}
article.cards {
    position: relative;
    display: flex;
    rotate: -1deg;
    flex-wrap: wrap;
    overflow: hidden;
    color: var(--cLwhite);
    border-radius: 1.5rem;
    row-gap: min(2rem,5vw);
    background: var(--cLnavyBlue);
    box-shadow: 0px 15px 60px var(--cLblackTransparent33);
    & picture {
        position: relative;
        height: inherit;
        flex: 1 1 max(300px, 35%);
    }
    & .text {
        position: relative;
        margin-block: auto;
        padding: min(2rem,5vw) min(3rem,5vw);
        flex: 1 1 max(300px,60%);
    }
    & h3 {
        font-weight: 700;
        text-transform: inherit;
        & > * {
            font-weight: 400;
            font-size: inherit;
            display: inline-block;
        }
    }
}
.card-block {
    position: relative;
    width: 100%;
    border-radius: min(42px,5vw);
    background-color: var(--cLwhite);
    padding: min(3rem,7vw) min(45px,5vw) min(45px,5vw);
    box-shadow: 0px 3px 26px var(--cLblackTransparent16);
    & .label {
        position: absolute;
        top: calc(min(1.5rem,5vw) * -1);
        left: 50%;
        transform: translateX(-50%);
    }
    & > p + p:not(:has([class^=btn-],.link)) {margin-top: calc(min(10px,2vw) * -1);}
}
[class^="mask"] {
    position: relative;
    z-index: 1;
    padding-inline: min(1.5rem,3vw);
    &::before {
        position: absolute;
        inset: -1rem 0;
        z-index: -1;
        content: '';
        background-color: var(--cLcamelGoogle);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-image: url(../assets/images/mask-title.svg);
        mask-image: url(../assets/images/mask-title.svg);
    }
}
[class*="underline"]::after {
    position: relative;
    height: 8px;
    content: '';
    width: 120px;
    display: block;
    pointer-events: none;
    color: var(--cLcamel);
    margin-top: min(.8rem,4vw);
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-image: url(../assets/images/soulignement-bleu.svg);
    mask-image: url(../assets/images/soulignement-bleu.svg);
    &.underline-cLwhite::after {color: var(--cLwhite);}
    &.underline-cLnavyBlue::after {color: var(--cLnavyBlue);}
    &.underline-cLorangeBright::after {color: var(--cLorangeBright);}
    &.underline-cLdarkBrown::after {color: var(--cLdarkBrown);}
    &.underline-79::after {
        width: 79px;
        height: 4px;
    }
}
time.nove {
    position: relative;
    & .date {
        display: flex;
        align-items: center;
        border-radius: 2rem;
        color: var(--cLwhite);
        column-gap: min(1.5rem,4vw);
        background-color: var(--cLnavyBlue);
        padding: min(7px,3vw) min(10px,3vw) min(7px,3vw) min(24px,3vw);
        & span {
            display: flex;
            /* line-height: 1; */
            flex-direction: column;
            &[style^="--icn"] {
                position: relative;
                left: -5px;
                z-index: 1;
                color: var(--cLsteelBlue);
            }
            &[style^="--icn"]::after {
                position: absolute;
                content: '';
                inset: 0;
                scale: 1.7;
                z-index: -1;
                border-radius: 50%;
                background-color: var(--cLwhite);
            }
        }
        & span strong {
            color: var(--cLcamel);
        }
        & span span {
            display: block;
            font-weight: 400;
            font-size: min(15px,4vw);
            font-family: Effra, sans-serif;
        }
    }
}
.gp[class^=btn-] {
    border-radius: 5rem;
    padding: min(30px,4vw) min(60px,5vw);
    & .arrow {
        scale: 2.6;
        transform-origin: 27% 0%;
        margin-left: min(2rem,2vw);
        @media screen and (width <= 1200px) {
            & {
                scale: 2;
                transform-origin: 47% 34%;
            }
        }
    }
}
[class^=btn-]:has( .date) {
    border-radius: 5rem;
    column-gap: min(1rem,5vw);
    padding: min(5px,3vw) min(24px,6vw) min(5px,3vw) min(5px,3vw);
}
.nove{font-family: nove,sans-serif;}
.effra{font-family: 'Effra',sans-serif;}
.cLdarkBrown {color: var(--cLdarkBrown);}
.cLorangeBright {color: var(--cLorangeBright);}
.btn-cLwhite {color: var(--cLnavyBlue);background-color: var(--cLwhite);border-color: var(--cLwhite);}
.btn-cLwhite:hover {color: var(--cLwhite);background-color: var(--cLgray95);border-color: var(--cLgray95);}
.btn-cLorangeBright {color: var(--cLnavyBlue);background-color: var(--cLorangeBright);border-color: var(--cLorangeBright);}
.btn-cLorangeBright:hover {color: var(--cLnavyBlue);background-color: var(--cLburntOrange);border-color: var(--cLburntOrange);}
.btn-cLcamel {color: var(--cLnavyBlue);background-color: var(--cLcamel);border-color: var(--cLcamel);}
.btn-cLcamel:hover {color: var(--cLwhite);background-color: var(--cLdeepNavy);border-color: var(--cLdeepNavy);}
.btn-cLnavyBlue {color: var(--cLwhite);background-color: var(--cLnavyBlue);border-color: var(--cLnavyBlue);}
.btn-cLnavyBlue:hover {color: var(--cLwhite);background-color: var(--cLorangeBright);border-color: var(--cLorangeBright);}
.btn-cLgrayF0 {color: var(--cLnavyBlue);background-color: var(--cLgrayF0);border-color: var(--cLgrayF0);}
.btn-cLgrayF0:hover {color: var(--cLgrayF0);background-color: var(--cLnavyBlue);border-color: var(--cLnavyBlue);}
.btn-cLwhiteTransparent48 {
    position: relative;
    color: var(--cLwhite);
    backdrop-filter: blur(1rem);
    border-color: var(--cLwhiteTransparent48);
    background: var(--cLwhiteTransparent225);
    box-shadow: inset 0 0 20px -5px var(--cLwhiteTransparent225);
    & * {
        position: relative;
        z-index: 1;
    }
    &::after {
        position: absolute;
        inset: 0;
        z-index: 0;
        content: '';
        filter: url(#glass);
        isolation: isolate;
        border-radius: 5rem;
        pointer-events: none;
        backdrop-filter: blur(1rem);
        /* border-color: var(--cLwhiteTransparent48); */
    }
    & .arrow {background-color: var(--cLnavyBlue);border-color: var(--cLnavyBlue);}
}
.btn-cLorangeBright > .arrow {background-color: var(--cLnavyBlue);border-color: var(--cLnavyBlue);}
[class*="bg-mask-"]::before {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 1920px;
    mask-size: 1920px;
    -webkit-mask-position: center top;
    mask-position: center top;
}
[class*="bg-mask-"] > *:not(.cliping) {z-index: 1;position: relative;}
@media screen and (width >= 2000px) {
    [class*="bg-mask-"]::before {
        -webkit-mask-size: 100%;
        mask-size: 100%;
    }
    
}

.bg-mask-green p {
    color: #fff;
}


.bg-mask-green {
    &::before {
        background-color: var(--cLdeepGreen);
        -webkit-mask-image: url(../assets/images/fond-vert.svg);
        mask-image: url(../assets/images/fond-vert.svg);
    }
    & :is(h1,h2,h3,h4,h5,h6) {color: var(--cLwhite);}
}
[class*="bg-mask-"]:has( + [class*="bg-mask-"]) {padding-bottom: calc(min(6rem,10vw) * 1.5);}
[class*="bg-mask-"] + [class*="bg-mask-"] {margin-top: calc(min(6rem,10vw) * -1.5);}
.bg-mask-cLskyBlue,.bg-mask-cLnavyBlue,.bg-mask-cLburntOrange {
    color: var(--cLwhite);
    &.bg-mask-cLskyBlue::before {background-color: var(--cLskyBlue);}
    &.bg-mask-cLnavyBlue::before {background-color: var(--cLnavyBlue);}
    &.bg-mask-cLburntOrange::before {background-color: var(--cLburntOrange);}
    &::before {
        -webkit-mask-image: url(../assets/images/fond-bleu.svg);
        mask-image: url(../assets/images/fond-bleu.svg);
    }
    & :is(h1,h2,h3,h4,h5,h6) :is(em) {color: var(--cLwhite);}
}

.bg-paper {
    color: inherit !important;
    background-color: var(--cLskyBlue);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-image: url(../assets/images/fond-papier.webp);
    mask-image: url(../assets/images/fond-papier.webp);
}
.bg-cLgrayF7 {background-color: var(--cLgrayF7);}
.bg-cLgrayF0 {background-color: var(--cLgrayF0);}
.bg-cLpastelBlue {background-color: var(--cLpastelBlue);}
section:has(+.bg-paper) {padding-bottom: min(5rem,10vw);}
section + .bg-paper {margin-top: calc(min(5rem,10vw) * -1);}
section:has(+.bg-mask-green) {padding-bottom: min(6rem,10vw);}
section + .bg-mask-green {margin-top: calc(min(7rem,10vw) * -1);}
section:has( .cliping):not(:has( .cliping > img[class])) {color: var(--cLwhite);}
/* dynamique sections */
section:not(:is([class*="bg-"],:has( > .cliping))) + section:not(:is([class*="bg-"],:has( > .cliping))) > *:not(* ~ *) {padding-top: 0;}
/* header */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    transition: all .3s;
    color: var(--cLwhite);
    padding-block: min(1.25rem,5vw);
    background-color: var(--cLdarkTealBlue);
    & .ct-nav {
        position: fixed;
        inset: 0;
        opacity: 0;
        z-index: -1;
        display: flex;
        visibility: hidden;
        transition: all .3s;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        background-color: var(--cLdeepOceanBlue);
        &:is(header.nav-is-open .ct-nav) {
            opacity: 1;
            visibility: visible;
        }
        & nav {
            position: relative;
            margin-inline: auto;
            width: min(1216px,80vw);
            margin-bottom: -10%;
            & .primary {
                position: relative;
                display: flex;
                flex-wrap: wrap;
                gap: min(1rem,2vw) 2%;
                padding-bottom: min(2rem,5vw);
            }
        }
        & .primary > li > a {
            font-weight: 700;
            font-size: min(20px,5.3vw);
        }
        & .nav-body {
            display: flex;
            flex-wrap: wrap;
            gap: min(1rem,5vw) 2%;
            justify-content: center;
            padding-block: min(2rem,5vw);
            border-block: 1px solid var(--cLblueSteel);
            & address {font-style: normal;}
        }
        & .nav-foot {
            display: flex;
            gap: min(2rem,7vw) 5%;
            padding-top: min(2rem,5vw);
            & ul.btns {
                display: flex;
                flex-direction: column;
                row-gap: min(1rem,4vw);
            }
            & :is(h1, h2, h3, h4, h5, h6) {
                font-weight: 700;
                text-transform: initial;
                font-family: 'Effra', sans-serif;
            }
        }
        & .sub-menu {
            display: flex;
            color: var(--cLcamel);
            row-gap: min(.7rem,3vw);
            flex-direction: column;
            font-size: min(16px,3.5vw);
            @media screen and (width < 1200px) {
                &:is(li.open-sub-menu > .sub-menu) {margin-top:min(.7rem,3vw);}
            }
        }
        @media screen and (width < 1200px) {
            padding-block: min(5rem,30vw) min(2rem,5vw);
            & nav {
                position: relative;
                height: 100%;
                overflow: hidden auto;
                font-size: min(17px,5vw);
                & :is(.nav-body) {
                    border: none;
                    padding-block: 0;
                }
                & .primary {
                    row-gap: 0;
                    & > li {
                        padding-block: min(1rem,5vw);
                        border-bottom: 1px solid var(--cLblueSteel);
                    }
                }
                & li {
                    width: 100%;
                    &:has( > ul) {
                        position: relative;
                        display: grid;
                        transition: all .3s;
                        grid-template-rows: 1.7em 0fr;
                        &.open-sub-menu {grid-template-rows: 1.5em 1fr;}
                        & .up-down {
                            position: absolute;
                            right: 0;
                            z-index: 2;
                            top: .9rem;
                            display: flex;
                            width: var(--h);
                            height: var(--h);
                            border-radius: 50%;
                            align-items: center;
                            transition: all .3s;
                            justify-content: flex-end;
                            background-color: var(--cLcamel);
                            &::before {
                                position: absolute;
                                inset: 0;
                                scale: .5;
                                content: '';
                                display: block;
                                pointer-events: none;
                                background-color: currentcolor;
                                -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
                                -webkit-mask-size: contain;
                                mask-size: contain;
                                -webkit-mask-position: center;
                                mask-position: center;
                                -webkit-mask-image: url(../assets/images/angle-down.svg);
                                mask-image: url(../assets/images/angle-down.svg);
                            }
                            &:is(li.open-sub-menu > .up-down) {rotate: -180deg;}
                        }
                        & > ul {overflow: hidden;}
                        & .sub-menu {font-size: inherit;}
                    }
                    &:has( > [class^=btn-]) {text-align: center;}
                }
            }
        }
    }
    & > [class^="container"] {padding-block: 0 !important;}
    & .canter {flex: 0;}
    & ul.nav {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: min(1rem,2vw);
    }
    & .right ul.nav {
        justify-content: flex-end;
        & select {
            height: auto;
            border-radius: 2rem;
            color: currentColor;
            font-size: min(14px,3vw);
            background-color: transparent;
            padding: 7.7px 12px !important;
        }
    }
    & span.menu {
        display: flex;
        cursor: pointer;
        column-gap: 1rem;
        align-items: center;
        padding-block: min(0.95rem,3vw);
    }
    & .open-nav {
        position: relative;
        z-index: 2;
        width: 16px;
        height: 16px;
        row-gap: 5px;
        display: flex;
        transition: .2s;
        cursor: pointer;
        margin-left: auto;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        color: var(--cLnavyBlue);
        & span {
            height: .1rem;
            line-height: 0;
            transition: .3s;
            border-radius: 1rem;
            width: min(2rem,5vw);
            pointer-events: none;
            background: currentColor;
            transform-origin: 55% center;
        }
        &:is(header.nav-is-open .open-nav) {
            row-gap: 0;
            rotate: 45deg;
            & > span:first-child {
                position: relative;
                top: 0rem;
                left: -0.1rem;
                rotate: -90deg;
            }
        }
    }
    @media (width < 1200px) {
        & {
            & span.menu {
                aspect-ratio: 1/1;
            }
            & [class^=btn-] {
                font-size: min(16px,3.3vw);
                & > .arrow {
                    padding: min(0.8rem,1.8vw);
                }
                &:before {padding: min(.5rem,1.8vw);}
            }
        }
    }
    @media (width >= 1200px) {
        & :is(.left,.right) {
            flex: 1 1 max(500px,40%);
        }
    }
    @media (width <= 1365px) {
        & .row {
            align-items: center;
            justify-content: space-between;
        }
    }
    @media (width >= 1366px) {
        & {
            & ul.nav {top: 10%;}
        }
    }
}
body:not(.home) header a.logo {
    width: min(183px,23vw);
    margin-block: calc(min(1.5rem,5vw) / -3);
}
body.home header {
    position: fixed;
    background-color: transparent;
    &::before {
        position: absolute;
        content: '';
        inset: 0 0 -100%;
        /* transition: inset .3s; */
        pointer-events: none;
        mix-blend-mode: multiply;
        background: transparent linear-gradient(180deg, var(--cLdarkBlue) 0%, var(--cLnavyTransparent) 58%, var(--cLblueTransparent) 100%) 0% 0% no-repeat padding-box;
    }
    &.sticky::before {
        inset: 0;
        background: transparent linear-gradient(180deg, var(--cLdarkBlue) 0%, var(--cLdarkBlue) 58%, var(--cLdarkBlue) 100%) 0% 0% no-repeat padding-box;
    }
    & a.logo {width: min(299px,23vw);transition: all .3s;}
    &.sticky a.logo {
        width: min(183px,23vw);
        margin-block: calc(min(1.5rem,5vw) / -3);
    }
}
body header.nav-is-open {
    background-color: transparent;
    &::before {
        inset: 0 0 -100% !important;
        background: transparent linear-gradient(180deg, var(--cLdarkBlue) 0%, var(--cLnavyTransparent) 58%, var(--cLblueTransparent) 100%) 0% 0% no-repeat padding-box !important;
    }
}
/* sc1 */
.sc1 { 
    & .cliping {filter: brightness(0.9);}
    & > [class^="container"] {padding-block: 0;}
    &::after {
        position: absolute;
        inset: 0;
        content: '';
        pointer-events: none;
        mix-blend-mode: multiply;
        background: transparent linear-gradient(0deg, #0b273bb0 0%, #152a441f 58%, #152a4447 100%) 0% 0% no-repeat padding-box;
    }
    & .text-center {
        justify-content: end;
        padding-bottom: min(10rem,40vw);
        height: clamp(700px, calc(100vh - min(4.5rem,10vw)), 1080px);
        & p .nove[class^="btn-"] {font-size: min(30px,5vw);}
        & time:has(+ p) {position: relative;z-index: 2;margin-bottom: calc(min(40px,4vw) * -1);} 
        @media screen and (width <= 1200px) {
            & {
                height: min(700px,calc(100vh - min(4.5rem,10vw)));
            }
        }
    }
}
/* sc2 */
section:has( + .sc2) {padding-bottom: min(6rem,10vw);}
section + .sc2 {
    margin-top: calc(min(10rem,40vw) * -1);
    & img.avis {
        rotate: 3deg;
        margin-block: calc(min(9rem,18vw) * -1) min(1.7rem,6vw);
    }
}


.sc2 {
    & .cliping {
        z-index: 2;
        .oiseau {
            position: absolute;
            top: 20%;
            left: 65%;
            width: min(632px,50vw);
            height: min(422px,40vw);
            @media screen and (width <= 600px) {
                & {
                    top: 10%;
                    left: 65%;
                }
            }
        }
    }
    & img.avis {
        position: relative;
        width: min(219px,30vw);
        border-radius: min(1rem,4vw);
        background-color: var(--cLwhite);
        padding: min(1rem,3vw) min(1.5rem,5vw);
        box-shadow: 0px 3px 16px var(--cLblackTransparent16);
    }
}
/* sc3 */
.sc3 {
    & .cliping .oiseau {
        position: absolute;
        top: 20%;
        right: 75%;
        width: 543px;
        height: 282px;
    }
    & .text-center > [style^="--icn"]::before {padding: min(1.5rem,4vw);}
    & .tabs {
        & a.active {
            font-weight: 700;
            color: var(--cLwhite);
            background-color: var(--cLcamel);
            &[href="#animations"] {background-color: var(--cLskyBlue);}
        }
    }
    & .gp-slider {
        position: relative;
        & .wp-slider {
            position: relative;
            opacity: 0;
            visibility: hidden;
            & .slick-track {padding-block: min(1rem,3vw);}
            & .slick-slide {
                rotate: 1deg;
                top: min(1rem,3vw);
                height: max-content;
                margin-inline: min(1rem,3vw);
                &:hover {rotate: -2deg;}
            }
            & .slick-slide:nth-child(odd) {
                rotate: -2deg;
                top: calc(min(1rem,3vw) * -1);
                &:hover {rotate: 2deg;}
            }
            & .pagination {
                position: relative;
                display: flex;
                align-items: center;
                margin-top: min(1rem,5vw);
                column-gap: min(1rem,5vw);
                justify-content: center;
                @media screen and (width >= 1200px) {
                    & {
                        position: absolute;
                        top: 50%;
                        height: 0;
                        left: -3.6vw;
                        margin-top: 0;
                        width: calc(100% + 7vw);
                        transform: translateY(-50%);
                        justify-content: space-between;
                    }
                }
            }
            & + .wp-slider {
                position: absolute;
                inset: 0;
                width: 100%;
            }
            &.active {
                opacity: 1;
                z-index: 2;
                visibility: visible;
            }
            @media screen and (width <= 600px) {
                & .slick-list {overflow: visible;}
            }
        }
    }
    & .cats {
        display: flex;
        align-items: center;
        column-gap: min(1rem,4vw);
        & .cat {
            position: relative;
            display: flex;
            border-radius: 3rem;
            font-size: min(20px,4vw);
            column-gap: min(2rem,4vw);
            padding: 5px min(1.5rem,4vw);
            border: 1px solid var(--cLwhite);
            background-color: var(--cLwhite);
            box-shadow: 0px 5px 45px #00000017;
            & > span {
                position: relative;
                z-index: 1;
            }
            & [style^="--icn"]::before {padding: 1rem;}
            & strong {
                color: var(--cLcamel);
                vertical-align: middle;
                font-size: min(34px,5vw);
            }
            &::after {
                position: absolute;
                content: '';
                border-radius: 3rem;
                background-color: var(--cLgrayF0);
                inset: 5px 5px 5px calc(100% - min(4.9rem,7vw));
            }
        }
        & :is(.cat-prev,.cat-next) {
            position: relative;
            padding: min(1rem,4vw);
            background-color: var(--cLcamel);
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-image: url(../assets/images/arrow-link.svg);
            mask-image: url(../assets/images/arrow-link.svg);
        }
        & .cat-prev {rotate: -180deg;}
    }
}
/* sc4 */
.sc4 {
    & .cliping .oiseau {
        position: absolute;
        top: 20%;
        right: 75%;
        width: 595px;
        height: 406px;
    }
    & .listing {
        column-gap: 3%;
        padding-block: min(1rem,4vw);
        @media screen and (width <= 1200px) {
        & {
            width: 100vw;
            display: flex;
            flex-wrap: nowrap;
            max-width: initial;
            overflow-x: scroll;
            margin-left: -7.5vw;
            padding-inline: 5vw;
            scrollbar-width: none;
            scroll-behavior: smooth;
            -ms-overflow-style: none;
            backdrop-filter: initial;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-color: transparent transparent;
            & article.aigle {
                width: min(350px,80%);
                scroll-snap-align: center;
            }
            &::-webkit-scrollbar {
                display: none;
            }
        }
    }
    }
    & article.aigle {
        width: 31.3%;
        transition: all .3s;
        &:nth-child(3n + 1) {
            rotate: -1.5deg;
            top: min(1rem,4vw);
            &:hover {rotate: -.5deg;}
        }
        &:nth-child(3n + 2) {
            &:hover {rotate: -1.5deg;}
            top: calc(min(1rem,4vw) * -1);
        }
        &:nth-child(3n + 3) {
            rotate: 1.5deg;
            top: min(1rem,4vw);
            &:hover {rotate: .5deg;}
        }
    }
}
/* sc5 */
.sc5 {
    & .cliping {
        height: auto;
        inset: -30% 0 0;
        & .oiseau {
            position: absolute;
            top: 8%;
            left: 67%;
            width: 819px;
            height: 424px;
            object-fit: contain;
        }
        & .nuage {
            position: absolute;
            top: 0%;
            left: 75%;
            width: 595px;
            height: 406px;
            object-fit: contain;
        }
    }
    & .row {
        gap: min(2rem,10vw) 10%;
        & .left {
            position: relative;
            z-index: 2;
            flex: 1 1 max(300px,45%);
            &::before {
                position: absolute;
                content: '';
                z-index: -1;
                rotate: -1.5deg;
                border-radius: 1.5rem;
                background-color: var(--cLoffWhite);
                inset: calc(min(6.5rem,10vw) * -1) -5vw calc(min(5rem,10vw) * -1) -50vw;
            }
            & article.agenda {width: 49%;}
            @media screen and (width <= 1200px) {
                & .listing {
                    width: 100vw;
                    display: flex;
                    flex-wrap: nowrap;
                    max-width: initial;
                    overflow-x: scroll;
                    margin-left: -7.5vw;
                    padding-inline: 5vw;
                    scrollbar-width: none;
                    scroll-behavior: smooth;
                    -ms-overflow-style: none;
                    backdrop-filter: initial;
                    scroll-snap-type: x mandatory;
                    -webkit-overflow-scrolling: touch;
                    scrollbar-color: transparent transparent;
                    padding-block: min(1rem,5vw) min(2rem,7vw);
                    & article.agenda {
                    width: min(300px,80%);
                    scroll-snap-align: center;
                }
                }
            }
        }
        & .right {
            flex: 1 1 max(300px,30%);
        }
    }
}


.block_cta {
    color: var(--cLwhite);
    & .cliping::after {
        position: absolute;
        content: '';
        inset: 0;
        opacity: 0.5;
        background-color: var(--cLmidnightIndigo);
    }
}
	
	
/* sc6 */
.sc6 {
    color: var(--cLwhite);
    & .cliping::after {
        position: absolute;
        content: '';
        inset: 0;
        opacity: 0.5;
        background-color: var(--cLmidnightIndigo);
    }
    & ul.breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        font-size: min(14px,3.5vw);
        & li:not(:last-child) {
            display: flex;
            align-items: center;
            &::after {
                position: relative;
                content: '>';
                display: block;
                margin-inline: min(.5rem,3vw);
            }
        }
    }
    & h1 {
        font-weight: 800;
        text-transform: initial;
        font-size: min(48px,6.5vw);
        font-family: 'affra', sans-serif;
        & em {
            color: inherit;
            font-weight: 400;
            font-size: inherit;
            display: inline-block;
        }
    }
}
/* sc7 */
.sc7 {
    & .text {
        position: relative;
        border-radius: 19px;
        padding: min(50px,5vw);
        background-color: var(--cLwhite);
        box-shadow: 0px 3px 25px var(--cLblackTransparent16);
        & :is(h1, h2, h3, h4, h5, h6) {
            font-weight: 700;
            text-transform: initial;
            font-family: 'Effra', sans-serif;
        }
        & picture {
            border-radius: 11px;
            height: min(269px,45vw);
        }
        & time {
            position: absolute;
            left: 50%;
            z-index: 1;
            top: -1.2rem;
            max-width: 100%;
            width: max-content;
            color: var(--cLwhite);
            transform: translateX(-50%);
        }
    }
}
/* sc8 */
.sc8 {
    & .listing {
        flex-wrap: wrap;
        row-gap: min(3rem,8vw);
        & article.agenda {
            width: 32%; 
            @media screen and (width <= 1050px) {
                & {
                    width: 49%;
                }
            }
            @media screen and (width <= 600px) {
                & {width: 100%; }
            }
        }
    }
}
/* sc9 */
.sc9 {
    & picture {
        border-radius: 11px;
        height: min(304px,50vw);
    }
    & time {
        color: var(--cLgray95);
        font-size: min(16px,3.8vw);
    }
    & .wp-slider {
        position: relative;
        display: flex;
        margin-inline: -20%;
        flex-direction: column;
        row-gap: min(2rem,6vw);
        & .ct-slider {
            position: relative;
            display: flex;
            gap: min(1rem,5vw);
            & picture {
                position: relative;
                height: min(264px,55vw);
                margin-inline: min(1rem,5vw);
                &::after {
                    position: absolute;
                    content: '';
                    inset: 60% 0 0 0;
                    mix-blend-mode: multiply;
                    background: transparent linear-gradient(180deg, var(--cLtransparent) 0%, var(--cLnavyBlue) 100%) 0% 0% no-repeat padding-box;
                }
            }
        }
        & .pagination {
            display: flex;
            gap: min(1rem,5vw);
            justify-content: center;
        }
        @media screen and (width <= 600px) {
            & {
                margin-inline: 0;
                & .slick-list {overflow: visible;}
            }
        }
    }
}
/* sc10 */
.sc10 {
    & .cliping > .oiseau {
        position: absolute;
        top: -16%;
        left: 71%;
        width: 655px;
        height: 390px;
        object-fit: contain;
    }
    & .row {
        gap: min(2rem,7vw) 5%;
        & .left {
            position: relative;
            flex: 1 1 max(300px,55%);
            & picture {border-radius: 11px;}
            & .icone {
                position: absolute;
                left: -8%;
                bottom: -14%;
            }
            & .icone::before {
                padding: min(3rem,8vw);
            }
        }
        & .right {
            flex: 1 1 max(300px,40%);
        }
        &.reverse > .left .icone {
            right: -5%;
            left: initial;
        }
    }
    & .container-xl > .row {
        column-gap: 10%;
        & .left { flex: 1 1 max(300px,48%); }
        & .right { flex: 1 1 max(300px,42%); }
    }
}
/* sc11 */
.sc11 {
    & .row {
        gap: min(3rem,8vw) 5%;
        .actus {
            width: 30%;
            background-color: transparent;
            & [class*="underline"]::after {width: 63px;}
            & picture {box-shadow: 0px 10px 20px var(--cLblackTransparent16);}
            & .text {width: 100%;}
            @media screen and (width <= 1200px) {
                & {width: 47.5%;}
            }
            @media screen and (width <= 600px) {
                & {width: 100%;}
            }
        }
    }
}


.infinite-scroll-posts-grid article.actus {
    background: transparent;
}

.infinite-scroll-posts-grid article.actus .text { width:100%;}

.infinite-scroll-posts-grid article.actus [class*="underline"]::after {
width: 63px;
}


section.sc11 + footer {
    background-color: var(--cLgrayF7);
}

/* sc12 */
.sc12 {
    & .row {
        gap: min(2rem,7vw) 5%;
        & .left {
            flex: 1 1 max(300px,50%);
            & .grid {
                position: relative;
                display: grid;
                grid-gap: min(15px,1.5vw);
                grid-template-columns: repeat(30, 1fr);
                grid-template-rows: repeat(30, 1fr);
                & picture {
                    border-radius: min(11px,2vw);
                    box-shadow: 0px 15px 30px var(--cLblackTransparent16);
                }
                & > div:nth-child(1) { grid-area: 6 / 3 / 26 / 19; }
                & > div:nth-child(2) { grid-area: 1 / 19 / 14 / 27; }
                & > div:nth-child(3) { grid-area: 14 / 19 / 31 / 31; }
                & > div:nth-child(4) { grid-area: 23 / 1 / 29 / 5; }
            }
        }
        & .right {
            flex: 1 1 max(300px,40%);
            & .ct-tabs {
                position: relative;
                width: 100%;
                display: flex;
                row-gap: min(20px,3vw);
                flex-direction: column;
                & .content:not(.active) {
                    position: absolute;
                    display: none;
                }
            }
        }
    }
}
/* sc13 */
.sc13 {
    & .flex {
        gap: min(2rem,7vw) 5%;
        & .left {
            flex: 1 1 max(300px,50%);
        }
        & .right {
            flex: 1 1 max(300px,40%);
        }
    }
}
.sc14 {
    .wp-slider {
        display: flex;
        align-items: center;
        row-gap: min(3rem,5vw);
        flex-direction: column;
        & .slick-list {
            overflow: visible;
            filter: drop-shadow(0px 15px 30px var(--cLblackTransparent16));
        }
        & picture {
            position: relative;
            border-radius: 19px;
            height: min(324px,58vw);
            margin-inline: min(.8rem,3vw);
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                pointer-events: none;
                mix-blend-mode: multiply;
                background: transparent linear-gradient(180deg, #00000000 0%, #00000000 36%, #000000C6 100%) 0% 0% no-repeat padding-box;
            }
        }
        & .pagination {
            position: relative;
            display: flex;
            column-gap: min(1rem,5vw);
        }
    }
}
/* sc16 */
.sc16 {
  .ct-tabs {
    ul.tabs {
      z-index: 2;
      border-color: var(--cLgrayF0);
      background-color: var(--cLgrayF0);
      margin-bottom: calc(min(1.7rem, 5vw) * -1);
    }
    .inner-tabs {
      position: relative;
      color: var(--cLwhite);
      border-radius: min(42px, 5vw);
      background-color: var(--cLnavyBlue);
      filter: drop-shadow(0px 3px 26px var(--cLblackTransparent16));
      padding: min(5rem, 10vw) min(2.5rem, 5vw) min(2.5rem, 5vw);
      .content {
        position: relative;
        &:not(.active) {display: none;}
        & :is(h1, h2, h3, h4, h5, h6) {
          display: inline-block;
        }
        @media screen and (min-width: 1200px) {
          :is(h1, h2, h3, h4, h5, h6) {
            display: flow-root;
          }
        }
        > *:not(:last-child) {margin-bottom: min(1rem,5vw);}
        > img {
            float: left;
            object-fit: cover;
            width: min(459px, 100%);
            height: min(300px, 55vw);
            margin-right: min(4rem, 5vw);
            clip-path: inset(0.1rem round 1.5rem);
        }
      }
    }
  }
}
/* sc18 */
.sc18 {
    .ct-tabs {
        display: flex;
        align-items: center;
        flex-direction: column;
        row-gap: min(2rem,5vw);
        & .listing {
            width: 100%;
            gap: min(2rem,5vw) 2%;
            & article.aigle {
                width: 23.5%;
                opacity: .1;
                transform: scale(0.95);
                height: min(350px,60vw);
                transition: opacity 0.3s ease, transform 0.3s ease;
                & h4 {font-size: min(24px,4vw);}
                &:not(:is(.loading,.active)) {display: none;}
                &.active {
                    opacity: 1;
                    transform: scale(1);
                }
                &.loading {
                    opacity: 0.1;
                    transform: scale(0.95);
                }

            }
            @media screen and (width < 1200px) {
                & {
                    width: 100vw;
                    display: flex;
                    margin-left: 0vw;
                    flex-wrap: nowrap;
                    max-width: initial;
                    overflow-x: scroll;
                    padding-inline: 5vw;
                    scrollbar-width: none;
                    scroll-behavior: smooth;
                    -ms-overflow-style: none;
                    backdrop-filter: initial;
                    scroll-snap-type: x mandatory;
                    -webkit-overflow-scrolling: touch;
                    scrollbar-color: transparent transparent;
                    &::-webkit-scrollbar {
                        display: none;
                    }
                    & article.aigle {
                        width: min(300px,80%);
                        scroll-snap-align: center;
                    }
                }
            }
        }
    }
}


.block_cartes_mea_homepage .aigle picture {
    height: 100%;
}



/* sc20 */
.sc20 {
    & .cliping img {
        position: fixed;
        inset: 0;
    }
   & .container {padding-block:min(4rem,10vw);}
}
/* sc21 */
.sc21 {
    font-size: min(21px,4vw);
    & .row {
        gap: min(2rem,10vw) 7%;
        & .left {
            flex: 1 1 max(300px,40%);
            & picture {
                rotate: -5deg;
                filter: drop-shadow(0px 15px 50px var(--cLblackTransparent16));
            }
        }
        & .right {
            flex: 1 1 max(300px,40%);
        }
    }
}
/* sc22 */
.sc22 {
    & .ct-form {
        position: relative;
        overflow: hidden;
        padding: min(3rem,5vw);
        border-radius: min(40px,5vw);
        box-shadow: 0px 15px 60px #00000029;
        & .head {
            display: block;
            text-align: center;
            color: var(--cLwhite);
            padding: min(1rem,5vw);
            background-color: var(--cLnavyBlue);
            margin: calc(min(3rem,5vw) * -1)  calc(min(3rem,5vw) * -1) min(1rem,5vw);
        }
    }
    & .sponsoring {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: min(2rem,7vw) 2%;
        justify-content: space-evenly;
        & picture {
            aspect-ratio: 2/1;
            width: min(200px,100%);
            & img {object-fit: contain;}
        }
    }
}
/* footer */
footer {
    & .container-xl {
        padding-bottom: 0 !important;
    }
    & .nav-head {
        display: flex;
        flex-wrap: wrap;
        gap: min(1rem,5vw) 2%;
        justify-content: center;
        padding-top: min(2rem,5vw);
    }
    & .nav-body {
        display: flex;
        flex-wrap: wrap;
        gap: min(2rem,7vw) 5%;
        padding-top: min(2rem,5vw);
        justify-content: space-evenly;
        & address {font-style: normal;}
        @media screen and (width < 1200px) {
            & a.logo {margin-inline: auto;}
            & > li {
                text-align: center;
                justify-content: center;
                flex: 1 1 max(300px,40%);
            }
        }
    }
    & .sub-menu {
        display: flex;
        transition: all .3s;
        color: var(--cLcamel);
        flex-direction: column;
        row-gap: min(0.7rem, 3vw);
        font-size: min(16px, 3.5vw);
    }
    & ul.btns {
        display: flex;
        flex-direction: column;
        row-gap: min(1rem, 4vw);
    }
    & .nav-foot {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        row-gap: min(1rem, 4vw);
        justify-content: center;
        text-transform: uppercase;
        font-size: min(14px, 2.7vw);
        padding-block: min(2rem, 5vw);
        border-top: 1px solid var(--cLblueSteel);
        & li {
            padding-inline: min(2rem, 3vw);
            &:not(:last-child) {border-right: 1px solid currentColor;}
        }
    }
    & :is(h1, h2, h3, h4, h5, h6) {
        font-weight: 700;
        text-transform: initial;
        font-family: 'Effra', sans-serif;
    }
}
/* responsive */
@media (width <= 1365px) {
    .desk {display: none !important;}
}
@media (width >= 1366px) {
    .mob {display: none !important;}
}



.blog section.sc10 picture {
    height: 350px;
}

.blog .infinite-scroll-posts-grid > *:first-child {
    display: none;
}



.sc16.rapacesul .container-xxl {
    padding-block: min(4rem, 10vw);
}


.grid2 {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 30px 70px;
}

.grid2 picture { border-radius: 11px; }


.grid2 .left { position:relative;}
.grid2 .left:after {
    content: "";
    background: url(/wp-content/uploads/2025/09/logo-beige.svg);
    width: 60px;
    height: 70px;
    background-size: contain;
    position: absolute;
    background-repeat: no-repeat;
    bottom: -20px;
    left: -35px;
}


.icn-cLcamel::before {
    background-color: rgb(24 66 96);
}

section.sc15.bg-mask-green .text {
    color: #fff;
}

.sc19 picture {
    height: 210px;
}

.sc18 ~ .sc14 {
    top: -135px;
}

.sc12 div:nth-child(2) picture {
    height: 225px;
}

.sc12 div:nth-child(3) picture {
    height: 300px;
}



/* === LIGHTBOX PROGRAMME === */
.lightbox-programme {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox-programme.open {
  opacity: 1;
}

.lightbox-programme.closing {
  opacity: 0;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(255 255 255 / 58%);
    backdrop-filter: blur(6px);
}

.lightbox-inner {
    position: relative;
    background: #2D4A5C;
    border-radius: 25px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    max-width: 900px;
    width: 95%;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.lightbox-header {
    padding: 20px 30px 5px 30px;
    background: #184260;
    position: relative;
    text-align: center;
}

.infosjournees {
    background: #f0f0f0;
    display: inline-flex;
    padding: 10px 20px;
    border-radius: 20px;
    margin-bottom: 10px;
    gap: 10px;
    align-items: center;
    font-size: 1.2em;
}

span.imglight {
    border: 1px solid #184260;
    width: 33px;
    height: 33px;
    border-radius: 50%;
    padding: 5px;
    background: #fff;
}

span.imglight img { width:100%; height:100%; object-fit:cover; }


p.horaires {
    display: flex;
    gap: 10px;
    justify-content: center;
    line-height: 1.1em;
    align-items: center;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

p.horaires img {
filter: brightness(0) saturate(100%) invert(78%) sepia(18%) saturate(586%) hue-rotate(357deg) brightness(83%) contrast(84%);
    width: 19px;
    height: auto;
 }


.now-indicator {
    position: absolute;
    top: 20px;
    right: 70px;
    background: rgba(255, 255, 255, 0.15);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 400;
    display: none;
}

.now-indicator strong {
  font-weight: 700;
}

.lightbox-header h2 {
    margin: 0 0 8px;
    font-size: 2em;
    color: white;
    font-weight: 400;
    text-transform: capitalize;
    opacity: 1;
    transform: translateY(0);
}

.lightbox-header .horaires, .lightbox-header .fermeture {
    margin: 0;
    font-size: 1.1em;
    color: #fff;
}

.lightbox-header .horaires strong {
    color: #bba27c;
    font-weight: 500;
    text-transform: uppercase;
}

/* Bouton fermer */
.closeLB {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.closeLB:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Timeline wrapper */
.timeline-wrapper {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    background: #184260;
    padding-top: 20px;
}

.timeline-grid {
    padding: 20px 30px 30px;
    min-width: 900px;
}

.timeline-hours {
    position: relative;
    height: 50px;
    margin-bottom: 0;
    margin-left: 200px;
}

.hour-mark {
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  /* background: rgba(255, 255, 255, 0.15); */
}


.timeline-row:nth-child(odd) {
	
	background:#254f6d;
}

.hour-mark span {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 13px;
    color: #fff;
    font-weight: 500;
    white-space: nowrap;
}

.nowline {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: transparent;
    z-index: 100;
    pointer-events: none;
    min-height: 280px;
    border-right: 2px dashed #bca37d;
}

.timeline-hours .nowline::before {
    content: attr(data-time);
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: #bca37d;
    color: #fff;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

/* Timeline body */
.timeline-body {
    position: relative;
    min-height: 150px;
}

/* Timeline row */
.timeline-row {
  display: flex;
  margin-bottom: 0;
  min-height: 70px;
  /* border-bottom: 1px solid rgba(255, 255, 255, 0.08); */
  --row-color: #f47c3c;
}

.timeline-row:last-child {
  border-bottom: none;
}

.row-label {
    width: 200px;
    flex-shrink: 0;
    padding: 10px 20px 10px 15px;
    color: var(--row-color);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1.3;
    white-space: pre-line;
    /* border-right: 2px dotted #91afc1; */
    margin-left: 2px;
}

.hour-mark:before {
    content: "";
    width: 1px;
    min-height: 150px;
    background: transparent;
    position: absolute;
    z-index: 1;
    border-right: 1px dotted #fff;
    top: 50px;
    height: 100%;
}

.label-text {
  flex: 1;
}

.info-btn {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid var(--row-color);
  background: transparent;
  color: var(--row-color);
  font-size: 12px;
  font-weight: 700;
  font-style: italic;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.info-btn:hover {
  background: var(--row-color);
  color: #2D4A5C;
}

.row-lane {
    flex: 1;
    position: relative;
    height: 75px;
    padding: 0px 0;
}

.event-box {
    position: absolute;
    top: 0px;
    height: calc(100% - 20px);
    min-height: 75px;
    background: var(--row-color);
    border-radius: 0;
    padding: 8px 5px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    overflow: hidden;
    z-index: 2;
    align-items: center;
    justify-content: center;
}


.timeline-row:first-of-type .event-box .event-title {
	display:none;
 
}

.timeline-row .label-text b {
    color: #fff;
    font-weight: normal;
}

.event-time {
    font-size: 16px;
    color: white;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -1px;
}

.event-title {
    font-size: 9px;
    color: white;
    line-height: 1.3;
    font-weight: 400;
    text-align: center;
}

.infosjournees span {
    color: #bca37d;
    font-weight: 600;
}

.event-info {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.2;
  margin-top: 4px;
}

.event-box.continu {
  justify-content: center;
  text-align: center;
}

.event-content-continu {
  font-size: 14px;
  color: white;
  font-weight: 600;
  line-height: 1.3;
}

/* Scrollbar styling */
.timeline-wrapper::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.timeline-wrapper::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
}

.timeline-wrapper::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 5px;
}

.timeline-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}

.timeline-wrapper::-webkit-scrollbar-corner {
  background: transparent;
}

/* Responsive */
@media (max-width: 1400px) {
  .timeline-grid {
    min-width: 1000px;
  }
}

@media (max-width: 768px) {
  .lightbox-inner {
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
  
  .lightbox-header {
    padding: 15px 20px;
  }
  
  .lightbox-header h2 {
    font-size: 18px;
    padding-right: 80px;
  }
  
  .now-indicator {
    top: 15px;
    right: 60px;
    padding: 6px 12px;
    font-size: 11px;
  }
  
  .timeline-grid {
    padding: 15px 20px 20px;
    min-width: 900px;
  }
  
  .timeline-hours {
    margin-left: 150px;
  }


.infosjournees {
    gap: 2px;
    flex-direction: column;
}


    .row-label {
        width: 150px;
    }
  
  .info-btn {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }
  
  .event-box {
    padding: 6px 10px;
  }
  
  .event-time {
    font-size: 13px;
  }
  
  .event-title {
    font-size: 11px;
  }
  
  .event-info {
    font-size: 10px;
  }
  
  .hour-mark span {
    font-size: 11px;
  }


.row-label {
    border-right: 2px solid #0f2c41;
}

.timeline-wrapper {
  overflow: hidden;
  position: relative;
}

.scrollresponsive {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

/* Conteneur global */
.timeline-grid {
  display: block;
  position: relative;
  min-width: 900px; /* largeur du contenu total */
}

    .timeline-row {
        display: flex;
        position: relative;
        align-items: stretch;
    }

/* Le label à gauche */
.row-label {
  flex: 0 0 140px;
  background: var(--row-color);
  color: #fff;
  padding: 10px;
  box-sizing: border-box;
  position: sticky; 
  left: 0;
    z-index: 7;
  display: flex;
  align-items: center;
  justify-content: center;
}

    .row-lane {
        flex: 1;
        overflow-x: auto;
        overflow-y: hidden;
        position: relative;
        -webkit-overflow-scrolling: touch;
        min-width: 700px;
    }

    .timeline-hours {
        display: flex;
        position: sticky;
        top: 0;
        z-index: 1;
        padding-left: 140px;
    }


}





/* AUTRES MOD CSS  */

/* Footer ou section spéciale : effet de chevauchement */
section:has(+ footer:last-child),
section:has(+ section.sc14) {
  padding-bottom: min(9rem, 10vw);
}

section:has(+ footer:last-child) + footer:last-child,
section:has(+ section.sc14) + section.sc14 {
  margin-top: calc(min(10rem, 40vw) * -1);
}


.reglement span.wpcf7-form-control-wrap {
    width: 100%;
    display: block;
}

.reglement span.wpcf7-form-control-wrap .reglementopt {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.reglement span.wpcf7-form-control-wrap .reglementopt .wpcf7-list-item {
    margin: 0;
}

.full.tirettarif {
    position: relative;
    text-align: center;
    font-weight: 700;
    color: var(--cLcamel);
    font-size: min(25px, 4vw);
}

.full.tirettarif:before {
    content: "";
    border-top: 1px solid #d3d3d3;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

strong.tarifglobal {
    background: #fff;
    position: relative;
    padding: 5px 30px;
}

.wpcf7-acceptance label {
    display: flex;
    gap: 15px;
}

.wpcf7-acceptance label span.wpcf7-list-item-label {
    font-weight: 400;
    line-height: 1.5;
    font-size: 15px;
    color: #0f2c41;
}

span.wpcf7-spinner {
    position: absolute;
}



.divise .half {
    background: #f0f0f0;
    border-radius: 13px;
    border: 1px solid #d3d3d3;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.divise .half p {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
}

.divise .half p em {
    font-size: 14px;
    min-width: 81px;
    text-align: center;
    font-weight: bold;
    font-style: normal;
    margin-left: 5px;
    line-height: 1em;
}

.divise .half p input {
    width: 91% !important;
    background: #ffffff;
    border: 1px solid #c8ad85;
    height: 45px;
    padding: 0 10px !important;
}




@media screen and (max-width: 850px) {

    header.nav-is-open .ct-nav:after {
        content: "";
        position: absolute;
        right: 0%;
        bottom: 0%;
        width: 230px;
        height: 153px;
        background-size: contain;
    }
    ul.rs {

    justify-content: center;
}
	
	
	
	
	
.sc18 ~ .sc14 {
        top: 4px;
        padding-top: 10px;
        padding-bottom: 130px;
    }
	
	
.block_texte_tabs_image ~ .sc14 { margin-top: calc(min(10rem, 10vw) * -1) !important;  }	

.block_faq ~ footer,
.sc8 ~ footer,
.block_details_programmes ~ footer,
.block_agenda_actu_homepage ~ footer,
.sc10 ~ footer
{ margin-top: calc(min(10rem, 10vw) * -1) !important;  }	
	
    .block_cta ~ footer {
        margin-top: calc(min(10rem, 10vw) * -1) !important;
    }
	
	
	ul.tabs {
            width: auto;
            display: flex;
            max-width: 100%;
            flex-wrap: wrap;
            overflow-x: initial;
            scrollbar-width: none;
            scroll-behavior: smooth;
            -ms-overflow-style: none;
            backdrop-filter: initial;
            column-gap: min(.6rem, 3vw);
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-color: transparent transparent;
            justify-content: center;
        }
		
		



.accordion-title {
    line-height: 1em;
}

.accordion .accordion-item .accordion-header {
            font-size: min(17px, 5vw);
        }


}


.image-anim {
  opacity: 0;
  transform: scale(1.1);
  clip-path: inset(0 100% 0 0); /* masque à droite */
  will-change: transform, opacity, clip-path, filter;
}
h2 {
  opacity: 0;
  transform: translateY(30px);
}