/*
Theme Name: Emotion
Theme URI: https://underscores.me/
Author: Cyberscope
Author URI: http://www.cyberscope.fr
Description: Un super thème optimisé par les meilleurs intés du monde.
Version: 1
License: GNU General Public License v1 or later
Text Domain: starter-theme
*/
body {
    margin: 0;
    padding: 0;
    width: 100vw;
    font-weight: 400;
    line-height: 1.3;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: var(--fs);
    color: var(--cLwhite);
    font-family: 'Quasimoda', sans-serif;

    & * {
        margin-block: 0;
        box-sizing: border-box;
    }
    & [style*="--w"] {
        width: var(--w)
    }
    & .flex,
    & .row {
        display: flex;
        flex-wrap: wrap;

        &.align-items-center {
            align-items: center;
        }

        &.direction-row-reverse {
            flex-direction: row-reverse;
        }

        &.direction-column {
            flex-wrap: nowrap;
            flex-direction: column;
            row-gap: min(3rem, 7vw);
        }

        &:has(>:is(.full, .half)) {
            gap: min(1.4rem, 5vw) 10%;
        }

        & .full {
            flex: 1 1 100%;
        }

        & .half {
            flex: 1 1 max(300px, 40%);
        }
    }
    & :is(section, footer) {
        position: relative;
        margin-block: -1px;
    }
    & [class^="container"]:not(:is([class*="leaflet"])) {
        width: 100%;
        margin-inline: auto;

        &.container {
            max-width: min(960px, 85vw)
        }

        &.container-xl {
            max-width: min(1170px, calc(100% - var(--pd)))
        }

        &.container-xxl {
            max-width: min(1410px, calc(100% - var(--pd)))
        }

        &.container-xxxl {
            max-width: min(1780px, calc(100% - var(--pd)))
        }

        &.container-max {
            /* padding-inline: 5vw; */
            max-width: 100vw
        }

        @media screen and (width < 1200px) {
            --pd: 13vw;
        }
    }

    /* forms */
    & input {
        &:not(:is(.qty-value, [type="radio"], [type="checkbox"], [type="submit"], [type=image], [type=file])) {
            width: 100%;
            line-height: 1;
        }

        &:is([type="radio"], [type="checkbox"]) {
            margin: 0;
            outline: none;
            flex: 0 0 auto;
            width: min(1.5rem, 6vw);
            height: min(1.5rem, 6vw);
            accent-color: var(--cLIndigoBlue);

            &[type="checkbox"] {
                box-shadow: inset 0 0 0 1px var(--cLIndigoBlue)
            }

            &[type="radio"]:not(:checked) {
                appearance: none;
                border-radius: 2rem;
                border: 1px solid var(--cLIndigoBlue)
            }
        }

        &[type="date"] {
            position: relative;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none
        }
        &.gform_button[type="submit"] {
            border: none;
            outline: none;
            border-radius: 5px;
            color: currentColor;
            color: currentColor;
            padding: min(0.7rem, 5vw);
            text-transform: uppercase;
            background-color: transparent;
            border: 1px solid currentColor;
        }
    }
    & input:not(:is(.qty-value, [type="radio"], [type="checkbox"], [type="button"], [type="submit"], [type="image"], [type="file"])),
    & select,
    & textarea {
        border: none;
        outline: none;
        border-radius: 0;
        font-size: inherit;
        height: min(50px, 13vw);
        padding: min(1rem, 2.5vw) 0;
        background-color: transparent;
        border-bottom: 1px solid var(--cLIndigoBlue);

        &:is([multiple="multiple"]) {
            height: auto
        }

        &::-webkit-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLIndigoBlue);
        }

        &::-moz-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLIndigoBlue);
        }

        &::-ms-input-placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLIndigoBlue);
        }

        &::placeholder {
            font-weight: 700;
            text-align: left;
            font-style: normal;
            color: var(--cLIndigoBlue);
        }

        &:is(textarea) {
            width: 100%;
            resize: none;
            font-family: inherit;
            height: min(200px, 30vw) !important
        }
    }
    & select {
        font-family: 'Broadacre';
        color: var(--cLIndigoBlue);
        font-size: min(13px,3.5vw) !important;
    }
    & label:not([class]):has(> input[type="radio"]),
    .accept {
        position: relative;
        display: flex;
        column-gap: min(1rem, 3vw);
    }
    & .accept {
        font-weight: 400;
        line-height: 1.5;
        font-size: min(14px, 4vws);
    }
    & :is(.label-form, label:not(:is([class], :has(input[type="radio"])))) {
        font-weight: 500;
        font-size: min(20px, 4vw);

        & span {
            font-weight: 400;
            font-size: min(20px, 3.5vw);
        }
    }
    /* Bg */
    &.bg-cLDeepNavy,
    & .bg-cLDeepNavy {
        color: var(--cLwhite);
        background-color: var(--cLDeepNavy);
    }
    &.bg-cLDeepNavy-gradient,
    & .bg-cLDeepNavy-gradient {
        color: var(--cLwhite);
        background: linear-gradient(180deg, transparent 0%, var(--cLIndigoBlue) 40%);
    }

    &.bg-cLwhite,
    & .bg-cLwhite {
        color: var(--cLIndigoBlue);
        background-color: var(--cLwhite);
    }

    &.bg-cLCyanBright,
    & .bg-cLCyanBright {
        color: var(--cLDeepNavy);
        background-color: var(--cLCyanBright);
    }

    &.bg-cLLightBlueGray,
    & .bg-cLLightBlueGray {
        color: var(--cLDeepNavy);
        background-color: var(--cLLightBlueGray);
    }

    & .cliping {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        clip-path: inset(0rem round 0rem);

        & img {
            position: fixed;
            inset: 0;
            height: 100%;
            width: 100%;
            object-fit: cover;
            object-position: center;
            filter: brightness(.8);
        }

        & video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        &~* {
            z-index: 1;
            position: relative;
        }
    }

    & picture {
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
        overflow: hidden;

        & img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            max-width: inherit;
        }
    }
    /* ICN */
    & .rs {
        display: flex;
        flex-wrap: wrap;
        gap: min(.7rem, 4vw);

        & [style^="--icn"] {
            border-radius: 5px;
            padding: min(0.7rem, 5vw);
            color: var(--cLCyanBright);
            text-transform: uppercase;
            background-color: transparent;
            border: 1px solid var(--cLCyanBright);

            &::before {
                scale: .9;
                padding: min(13px, 5vw);
            }

            &:hover {
                color: var(--cLDeepNavy);
                background-color: var(--cLCyanBright);
            }
        }
    }
    /* text */
    & .mask-text-image {
        background: var(--img) no-repeat center center fixed;
        background-size: cover;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        color: transparent;
        transform: initial !important;
    }

    /* slide */
    & .wp-slider {
        position: relative;
        width: 100%;
    }

    & .ct-slider,
    & .listing {
        position: relative;
        display: flex;
        column-gap: 2%;
    }
    & .slick-list {
        position: relative;
        overflow: hidden;
        width: 100%;

        & .slick-track {
            display: flex;
            flex-wrap: nowrap;
            will-change: transform;

            & .slick-slide {
                flex: 0 0 auto;
            }
        }
    }
    & .swiper {
        position: relative;
        width: 100%;
        overflow: hidden;

        & .swiper-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            box-sizing: content-box;
            transition-property: transform;
            transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);

            & .swiper-slide {
                height: 100%;
                display: block;
                flex-shrink: 0;
                transition-property: transform;
            }
        }

        &.swiper-android .swiper-slide,
        &.swiper-ios .swiper-slide,
        & .swiper-wrapper {
            transform: translate3d(0px, 0, 0);
        }

        &.swiper-backface-hidden .swiper-slide {
            transform: translateZ(0);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }
    }
    /* cards */
    & .article {
        position: relative;
        display: flex;
        row-gap: min(2rem,5vw);
        flex-direction: column;
        width: min(300px,100%);
        & picture {
            position: relative;
            width: 100%;
            height: min(200px,50vw);
        }
    }
    & .listing-articles {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: min(4rem,10vw) 3%;
        & .article {
            @media screen and (width > 0px) {
                & {
                    width: 100%;
                }
            }
            @media screen and (width > 760px) {
                & {
                    width: 42%;
                }
            }
            @media screen and (width >= 1200px) {
                & {
                    width: 31.33%;
                }
            }
        }
    }
    & .filter-nav {
        display: flex;
        flex-wrap: wrap;
        gap: min(1rem,3vw);
        justify-content: flex-end;
        & [class^=btn-] {
            font-weight: 400;
            text-transform: inherit;
            font-size: min(1.1rem,4vw);
        }
    }
    & .card {
        position: relative;
        width: min(750px, 100%);
        padding: min(2rem, 5vw);
    }
    & .loading-cards {
        position: relative;
        width: 100%;
        opacity: 0.02;
        display: block;
        height: min(450px, 70vw);
        background: var(--cLLightBlueGray);
        border: 1px solid var(--cLDeepNavy);
    }
    & .pagination {
        column-gap: 5px;
        & .page-btn {
            display: grid;
            cursor: pointer;
            width: 40px;
            height: 40px;
            padding: unset;
            align-content: center;
            border: 1px solid var(--cLwhite);
            background-color: var(--cLwhite);
            color: var(--cLTtheme, var(--cLDeepNavy));
            &.active {
                color: var(--cLwhite);
                background-color: var(--cLTtheme, var(--cLDeepNavy));
            }
        }
    }
    & .reference-item {
        position: relative;
        overflow: hidden;
        & .inner {
            position: relative;
            transition: all .3s;
            &:hover {
                scale: 1.03;
            }
            & picture {
                position: relative;
                width: 100%;
                height: min(450px, 70vw);
                & video {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    max-width: initial;
                }
                &::after {
                    position: absolute;
                    inset: 0;
                    content: '';
                    mix-blend-mode: multiply;
                    background: linear-gradient(0deg, rgb(21 21 42) 0%, rgb(21 21 42 / 0%) 50%);
                }
                & .icones {
                    position: absolute;
                    z-index: 2;
                    display: flex;
                    top: min(2rem, 5vw);
                    right: min(2rem, 5vw);
                    column-gap: min(0.5rem, 5vw);
                    filter: drop-shadow(0 0 6px #15152b69);
                    & [style^="--icn"] {
                        border-radius: 50%;
                        border: 1px solid currentColor;
                        &::before {
                            scale: 0.65;
                            padding: min(0.9375rem, 5vw);
                        }
                    }
                }
            }
            & .content {
                position: absolute;
                inset: 0;
                display: flex;
                align-items: flex-end;
                & > div {
                    width: 100%;
                    display: flex;
                    column-gap: 1rem;
                    align-items: start;
                    padding: min(2rem,5vw);
                    justify-content: space-between;
                    & .arrow {
                        rotate: -45deg;
                        color: currentColor;
                        border-color: currentColor;
                        background-color: currentColor;
                        &::before, &::after {
                            color: var(--cLTtheme, var(--cLDeepNavy));
                        }
                        &:is(.reference-item:hover &) {
                            background-color: var(--cLTtheme, var(--cLDeepNavy));
                            border-color: var(--cLTtheme, var(--cLDeepNavy));
                            &::before, &::after {
                                color: var(--cLwhite);
                            }
                        }
                    }
                }
            }
        }
    }
    & .references-grid {
        position: relative;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(500px,100%), 1fr));
    }
    & .realisation {
        position: relative;
        width: min(384.25px,100%);
        & picture {
            width: 100%;
            border-radius: 10px;
            height: min(494px,100vw);
            & img {filter: brightness(.8);}
            & .play {
                position: absolute;
                inset: 0;
                scale: .2;
                width: 100%;
                height: 100%;
                transition: all .3s;
                &:is(.realisation:hover &) {scale: .23;}
            }
            & video {
                width: 100%;
                height: 100%;
                object-fit: cover;
                max-width: initial;
            }
        }
        & .text {
            position: absolute;
            inset: 0;
            opacity: 0;
            visibility: hidden;
            transition: all .5s;
        }
    }
    & .card-rotate {
        position: relative;
        rotate: -10deg;
        margin-inline: auto;
        width: min(460px, min(100%, 80vw));
        & [class^="text"] {
            position: relative;
            border-radius: 10px;
            transition: all .3s;
            border-radius: 10px;
            color: var(--cLwhite);
            padding: min(2rem,5vw);
            justify-content: center;
            will-change: transform;
            font-size: min(16px,4vw);
            min-height: min(460px, 80vw);
            border: 1px solid var(--cLwhite);
            background-color: var(--cLDeepNavy);
            & .label {
                font-weight: 500;
                border-radius: 5px;
                color: var(--cLwhite);
                padding: min(10px,5vw);
                margin-bottom: min(1rem,5vw);
                font-family: 'Broadacre',sans-serif;
                background-color: var(--cLTtheme, var(--cLDeepNavy));
                border: .065rem solid var(--cLTtheme, var(--cLDeepNavy));
            }
            & .logo {
                position: relative;
                display: block;
                margin-inline: auto;
                width: min(120px,40%);
            }
            &:not(:last-child) {
                position: absolute;
                inset: 0;
            }
            @media screen and (width <= 1000px) {
                & {transition: all .3s linear;}
            }
        }
    }
    & .listing-icon-text {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        line-height: 1.1;
        gap: min(2rem,5vw) 5%;
        justify-content: center;
        & li {
            position: relative;
            display: flex;
            text-align: center;
            align-items: center;
            flex-direction: column;
            row-gap: min(1rem,5vw);
            font-size: min(16px,3.6vw);
            & [style^="--icn"]::before {
                padding: min(2rem, 5vw);
            }
            & .icn-shadow{
                position: relative;
                padding: min(32px,7vw);
                pointer-events: none;
                &::after {
                    position: absolute;
                    inset: 0;
                    content: '';
                    background-color: var(--cLwhite);
                    -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: var(--picto);
                    mask-image: var(--picto);
                }
                & > span {
                    position: absolute;
                    inset: 0;
                    scale: 1.1;
                    filter: blur(0.3rem);
                    &::before,&::after {
                        position: absolute;
                        inset: 0;
                        content: '';
                        background-color: var(--cLwhite);
                        -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: var(--picto);
                        mask-image: var(--picto);
                        background: linear-gradient(0deg, var(--cLCyanBright) 30%, var(--cLTtheme, var(--cLDeepNavy)) 70%);
                    }
                    &::before {
                        inset: 10%;
                        z-index: 2;
                    }
                }
            }
            /* & .icn-shadow {
                position: relative;
                z-index: 1;
                color: var(--cLwhite);
                filter: drop-shadow(2px 4px 6px #bd54e730);
                & [style^="--icn"] {
                    position: absolute;
                    inset: 0;
                    scale: 1.2;
                    z-index: -1;
                    width: max-content;
                    filter: blur(0.25rem);
                    &::before {
                        background: linear-gradient(0deg, var(--cLCyanBright) 0%, var(--cLTtheme, var(--cLDeepNavy)) 100%);
                    }
                }
            } */
            @media screen and (width > 0px) {
                width: 40%;
            }
            @media screen and (width > 900px) {
                width: 15.99%;
            }
        }
    }
    & .action {
        position: relative;
        width: min(330px, 100%);
        height: min(600px, 110vw) !important;

        & picture {
            position: relative;
            height: 100%;
            overflow: hidden;
            border-radius: 10px;
            & video {
                width: 100%;
                height: 100%;
                object-fit: cover;
                max-width: initial;
            }
            & img {
                transition: all .3s;

                &:is(.action:hover &) {
                    scale: 1.02;
                }
            }
            & .logo {
                position: absolute;
                top: 50%;
                left: 50%;
                z-index: 5;
                object-fit: contain;
                transition: all .3s;
                width: min(170px, 70%);
                height: min(112.43px, 70%);
                transform: translate(-50%, -50%);
                &:is(.action:hover &) {
                    opacity: 0;
                    translate: 0 -70%;
                    visibility: hidden;
                }
            }
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                opacity: .6;
                border-radius: 10px;
                mix-blend-mode: multiply;
                background: var(--cLDeepNavy);
            }
        }

        & [class^="text"] {
            position: absolute;
            inset: 0;
            opacity: 0;
            translate: 0 10%;
            visibility: hidden;
            transition: all .3s;
            color: var(--cLwhite);
            padding: min(2rem, 5vw);
            justify-content: center;

            &:is(.action:hover &) {
                opacity: 1;
                translate: 0 0%;
                visibility: visible;
            }
        }
    }
    & .label-quote {
        position: relative;
        z-index: 1;
        display: flex;
        aspect-ratio: 1/1;
        text-align: center;
        align-items: center;
        color: var(--cLwhite);
        width: min(198px,30vw);
        flex-direction: column;
        justify-content: center;
        text-transform: uppercase;
        font-size: min(20px,3.2vw);
        font-family: "Quasimoda",sans-serif;
        &::before {
            position: absolute;
            z-index: -1;
            content: '';
            inset: 0 0 -45%;
            background-color: var(--cLTtheme, var(--cLLightBlueGray));
            -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/quote.png);
            mask-image: url(assets/images/quote.png);
        }
        & .arrow {background-color: var(--cLwhite);}
    }
    & .event {
        position: relative;
        width: min(410px, 70vw);
        height: min(530px, 100vw) !important;

        & picture {
            border-radius: 10px;
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                border-radius: 10px;
                mix-blend-mode: multiply;
                background: linear-gradient(
180deg, rgba(255, 255, 255, 0) 20%, rgb(21 21 42) 80%);
            }
            & img {
                transition: all .3s;
                /* filter: brightness(.7); */

                &:is(.event:hover &) {
                    scale: 1.03;
                }
            }
        }
        & [class^="text"] {
            position: absolute;
            inset: 0;
            color: var(--cLwhite);
            padding: min(2rem, 5vw);
            justify-content: flex-end;
            & .fs23 {
                font-size: min(23px, 3.8vw);
            }
        }
    }
    & .pin-spacer {transition: all .4s !important;}
    & .pagination-article {
        position: relative;
        display: flex;
        gap: min(1rem,5vw);
        align-items: center;
        justify-content: center;
    }
    & .accordions {
        position: relative;
        display: flex;
        row-gap: 1rem;
        flex-direction: column;

        & .accordion-item {
            position: relative;
            display: grid;
            transition: all .3s;
            grid-template-rows: auto 0fr;
            &:has( input:checked) {
                grid-template-rows: auto 1fr;
                & .arrow {
                    rotate: 270deg;
                }
            }
            & .head {
                display: flex;
                cursor: pointer;
                border-radius: 5px;
                align-items: center;
                transition: all .3s;
                padding: min(10px, 4vw);
                font-size: min(20px, 5vw);
                background-color: transparent;
                justify-content: space-between;
                border: 1px solid currentColor;

                &:is(.is-open &) {
                    color: var(--cLDeepNavy);
                    background-color: var(--cLwhite);
                }

                & .arrow {
                    border-radius: 5px;
                    padding: min(1rem, 3.7vw);
                    color: var(--cLDeepNavy);
                    background-color: var(--cLTtheme, var(--cLCyanBright));
                }
            }
        }
        & .content {
            overflow: hidden;
            & .text {
                padding: min(1rem, 5vw) min(1.5rem, 5vw);
            }
        }
    }

    & .pagination {
        position: relative;
        display: flex;
        justify-content: center;
    }

    & [class^="container"] {
        position: relative;
    }

    .qouts {
        position: absolute;
        z-index: 2;
        pointer-events: none;
        inset: calc(min(3rem, 6vw) * -1) 0 0;
        background-color: var(--cLCyanBright);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: min(180px, 18vw);
        mask-size: min(180px, 18vw);
        -webkit-mask-position: left top;
        mask-position: left top;
        -webkit-mask-image: url(assets/images/Quote.svg);
        mask-image: url(assets/images/Quote.svg);
    }

    & section:not(:is([class*=bg-],:is(.sc15,.sc10):has( + .sc11), :has(>.cliping), .sc6,.sc-builder))+:is(section,footer):not(:is([class*=bg-], :has(>.cliping), .sc6))>[class^="container"]:not(*~*),
    & section:is(.line-separator + .bg-cLDeepNavy-gradient,.bg-cLwhite + .bg-cLwhite, .bg-cLLightBlueGray + .bg-cLLightBlueGray, .bg-cLDeepNavy + .bg-cLDeepNavy)>[class^="container"]:not(*~*) {
        padding-top: 0;
    }

    & #loading {
        position: fixed;
        inset: 0;
        display: flex;
        z-index: 20000;
        transition: all .3s;
        align-items: center;
        justify-content: center;
        background-color: var(--cLloading);
        & #loading-page {
            position: relative;
            z-index: 1;
            pointer-events: none;
            width: min(220px,40vw);
        }
    }

    /* main */
    & main {
        opacity: 0;
        overflow: clip;
        visibility: hidden;

        & .logo {
            position: relative;
            display: block;
            width: var(--logo);

            & img {
                width: 100%;
            }
        }
        & .type-1,
        & .type-2{
            opacity: 0;
            &:is(.type-2) {
                clip-path: inset(0 100% 0 0);
            }
        }
        &.type-3 {
            & > div {
                & > div {
                    opacity: 0;
                    scale: 1.2;
                }
            }
        }
        
        & .fadeScaleDown,
        & .fadIn {opacity: 0;}
        & .scaleUp {
            scale: .8;
            opacity: 0;
        }
        & .line-mask {line-height: 1.1;}
        & [style*="clip-path:"] {will-change: clip-path;}
        & [style*="transform"] {will-change: transform,opacity;}
        &>header {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            will-change: color;
            transition: all .3s;
            padding-block: min(1rem, 4vw);

            &.sticky {
                background-color: var(--cLDeepNavy);
            }

            & .row {
                align-items: center;
                justify-content: space-between;

                & .left {
                    flex: 1 1 max(100px, 13%);
                    & .logo {
                        position: relative;
                        top: min(0.6rem,5vw);
                    }
                }

                & .center {
                    flex: 1 1 max(300px, 63%);


                    & .primary {
                        position: relative;
                        display: flex;
                        align-items: center;
                        gap: min(60px, 5vw);
                        font-size: min(16px,5vw);
                        justify-content: center;

                        &>li {
                            text-transform: uppercase;
                            &:not(:has( li.title)) {
                                position: relative;
                            }
                            &>a {
                                position: relative;
                                max-width: 100%;
                                font-weight: 500;
                                width: max-content;

                                &::before {
                                    position: absolute;
                                    content: '';
                                    inset: 0 0 -5px;
                                    transition: all .2s;
                                    pointer-events: none;
                                    border-bottom: 1px solid transparent;

                                }
                                &:is(:is(li:hover, li.current-menu-item,li.current-menu-ancestor) &) {
                                    color: var(--cLVioletBright);

                                    &:before {
                                        border-color: var(--cLVioletBright);
                                    }
                                }
                                &:is(:is(li.event-class:hover, li.event-class.current-menu-item,li.event-class.current-menu-ancestor) > &) {
                                    color: var(--cLCoralPink);
                                    &:before {
                                        border-color: var(--cLCoralPink);
                                    }
                                }
                            }
                        }

                        & .menu-btn {
                            position: relative;

                            &>a {
                                padding: 10px;
                                border-radius: 5px;
                                color: var(--cLDeepNavy);
                                background-color: var(--cLCyanBright);

                                &:hover {
                                    color: var(--cLDeepNavy);
                                    background-color: var(--cLwhite);

                                }

                                &::before {
                                    content: none;
                                }
                            }
                        }

                        &>li {
                            &>.sub-menu {
                                & a {
                                    position: relative;
                                    z-index: 1;
                                    display: block;
                            
                                    &::after {
                                        position: absolute;
                                        top: 64%;
                                        content: '';
                                        z-index: -1;
                                        height: 20px;
                                        display: block;
                                        transition: all .3s;
                                        width: min(200px, 100%);
                                        clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
                                        background-color: var(--cLIndigoBlue);
                                        -webkit-mask-repeat: no-repeat;
                                        mask-repeat: no-repeat;
                                        -webkit-mask-size: min(240px, 100%);
                                        mask-size: min(240px, 100%);
                                        -webkit-mask-position: left bottom;
                                        mask-position: left bottom;
                                        -webkit-mask-image: url(assets/images/underline.svg);
                                        mask-image: url(assets/images/underline.svg);
                                    }
                                    &:is(li.event-class &)::after {
                                        background-color: var(--cLCoralPink);
                                    }
                            
                                    &:is(.current-menu-item > &)::after {
                                        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
                                    }
                            
                                    &:hover {
                                        color: inherit;
                            
                                        &::after {
                                            clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
                                        }
                                    }
                            
                                }
                                &>li {
                                    padding-bottom: min(1.5rem, 5vw);
                                    &.title {
                                        margin-bottom: min(1.3rem, 5vw);
                                        border-bottom: 1px solid #ffffff29;
                                    }
                                    &.title >a {
                                        font-weight: 700;
                                        pointer-events: none;
                                        text-transform: initial;
                                        font-size: min(28px, 5vw);
                                        color: var(--cLVioletBright);
                                        padding-left: 2rem;

                                        &::before {
                                            position: absolute;
                                            left: 0;
                                            top: 5px;
                                            content: "";
                                            transition: all .3s;
                                            pointer-events: none;
                                            padding: min(.7rem, 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/quote-one.svg);
                                            mask-image: url(assets/images/quote-one.svg);
                                        }
                                    }

                                    & ul {
                                        display: flex;
                                        flex-direction: column;
                                        row-gap: min(.9rem, 3vw);
                                        margin-top: min(1rem, 5vw);
                                    }
                                }

                                @media screen and (width>=1200px) {
                                    & {
                                        position: absolute;
                                        left: 50%;
                                        z-index: 2;
                                        opacity: 0;
                                        row-gap: .5rem;
                                        column-count: 2;
                                        overflow: initial;
                                        visibility: hidden;
                                        color: currentColor;
                                        top: calc(100% + 2rem);
                                        column-gap: min(8%, 5vw);
                                        min-height: min(629px, 80vh);
                                        transform: translateX(-50%);
                                        background: var(--cLDeepNavy);
                                        padding: min(2rem, 5vw) min(5rem, 5vw) !important;
                                        &:has( li.title) {width: max(100%, min(1660px, 95vw));}
                                        &:not(:has( li.title)) {
                                            left: 50%;
                                            display: flex;
                                            min-height: auto;
                                            width: min(300px,20vw);
                                            flex-direction: column;
                                            transform: translateX(-50%);
                                            padding: min(1rem,5vw) !important;
                                            &  li {
                                                position: relative;
                                                padding-bottom: .5rem;
                                            }
                                        }
                                        &::before {
                                            position: absolute;
                                            content: "";
                                            inset: -2rem 0 100%;
                                        }

                                        &:is(li:hover > &) {
                                            opacity: 1;
                                            visibility: visible;
                                        }

                                        &>li {
                                            position: relative;
                                            width: 100%;
                                            display: inline-block;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    @media screen and (width < 1200px) {
                        & {
                            position: fixed;
                            inset: 0;
                            opacity: 0;
                            visibility: hidden;

                            & nav {
                                position: relative;
                                width: min(500px, 100%);
                                padding: 5rem min(2rem, 5vw) 1rem;
                                background-color: var(--cLDeepNavy);

                                & .primary {
                                    position: relative;
                                    display: flex;
                                    line-height: 1;
                                    overflow-y: auto;
                                    margin-block: auto;
                                    flex-direction: column;
                                    row-gap: min(1.3rem, 4vw);
                                }
                            }

                        }
                    }
                }

                & .right {
                    flex: 1 1 max(60px, 10%);

                    & .open-nav {
                        position: relative;
                        z-index: 2;
                        height: 28px;
                        row-gap: 8px;
                        display: flex;
                        transition: .2s;
                        cursor: pointer;
                        margin-left: auto;
                        width: max-content;
                        align-items: center;
                        color: currentColor;
                        flex-direction: column;
                        justify-content: center;

                        &:is(header.nav-is-open .open-nav) {
                            row-gap: 0;
                            transform: rotate(45deg);
                        }

                        & span {
                            width: 1.8rem;
                            height: .15rem;
                            line-height: 0;
                            transition: .3s;
                            border-radius: 1rem;
                            pointer-events: none;
                            background: currentColor;
                            transform-origin: 55% center;

                            &:is(header.nav-is-open span:first-child) {
                                transform: translate(-.1rem, .2rem) rotate(90deg);
                            }

                            &:is(header.nav-is-open span:nth-child(2)) {
                                display: none;
                            }
                        }
                    }
                }
            }

            & .ct-nav {
                position: fixed;
                inset: 0;
                opacity: 0;
                visibility: hidden;
                transition: all .3s;
                background-color: rgba(70, 155, 164, 0.151);

                &:is(header.nav-is-open &) {
                    opacity: 1;
                    visibility: visible;
                }

                & nav {
                    position: relative;
                    left: 100%;
                    height: 100%;
                    margin-left: auto;
                    transition: all .3s;
                    will-change: left;
                    width: min(500px, 100%);
                    padding: 6rem min(3rem, 5vw) 1rem;
                    background-color: var(--cLDeepNavy);

                    &:is(header.nav-is-open &) {
                        left: 0%;
                    }

                    & .primary {
                        position: relative;
                        display: flex;
                        flex-direction: column;
                        row-gap: min(1rem, 4vw);

                        &>li {
                            &>a {
                                font-weight: 700;
                                text-transform: uppercase;
                            }

                            @media screen and (width>=1200px) {
                                &:not([hidden] ~ &) {
                                    display: none;
                                }
                            }
                        }

                        & li.menu-item-has-children {
                            position: relative;
                            display: grid;
                            transition: all .3s;
                            grid-template-rows: 1.3em 0fr;

                            &.open-sub-menu {
                                grid-template-rows: 1.3em 1fr;
                            }

                            & .up-down {
                                position: absolute;
                                top: 0;
                                right: 0;
                                top: .1rem;
                                z-index: 2;
                                width: 1rem;
                                cursor: pointer;
                                height: var(--h);
                                transition: all .2s;

                                &::before {
                                    position: absolute;
                                    inset: 0;
                                    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);
                                }
                            }

                            & .sub-menu {
                                display: flex;
                                overflow: hidden;
                                margin-top: 6px;
                                flex-direction: column;
                                row-gap: min(.3rem, 3vw);

                                & & {
                                    padding-left: min(1rem, 5vw);
                                }
                            }
                        }

                    }
                }
            }

        }
        & .sc1 {
            & .cliping {
                position: relative;
                height: min(455px, 70vh);
                mask-image: linear-gradient(0deg,
                        rgba(255, 255, 255, 0) 0%,
                        rgba(255, 255, 255, 1) 40%,
                        rgba(255, 255, 255, 1) 100%);
                mask-repeat: no-repeat;
                mask-size: cover;
                clip-path: circle(0% at 0 50%);
                @media screen and (width>=700px) {
                    & {height: clamp(700px, 100vh, 1000px);}
                }
            }
            & [class^="container"] {
                position: absolute;
                left: 50%;
                top: 50%;
                z-index: 1;
                transform: translate(-50%, -50%);

                & [class^="text"] {
                    & h1 {
                        & > * {opacity: 0;}
                        & .fs70 {
                            display: block !important;
                            @media screen and (width>=1200px) {
                                & {margin-bottom: calc(min(1.5rem,5vw) * -1);}
                            }
                        }
                        & .fakeserif {
                            will-change: color;
                            color: var(--cLVioletBright);
                        }
                    }
                    & p {
                        position: relative;
                        opacity: 0;
                        font-weight: 300;
                        & strong {font-weight: 700;}
                        &::before {
                            position: relative;
                            width: 0;
                            height: 0;
                            content: "";
                            display: block;
                            float: right;
                            pointer-events: none;
                            transform: translateY(100%);
                            padding: min(1.3rem, 3.4vw);
                            margin-inline: 0 calc(min(1.3rem, 3.4vw) * -2);
                            background-color: var(--cLCyanBright);
                            -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/Quote.svg);
                            mask-image: url(assets/images/Quote.svg);
                        }
                    }
                }
            }

            @media screen and (width < 700px) {
                &+.sc2 {
                    z-index: 1;
                    margin-top: calc(min(10rem, 15vw) * -1);
                }
            }
        }
        & .sc2 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                & .row {
                    gap: min(2rem, 10vw) 10%;
                    & .left {
                        flex: 1 1 max(300px, 65%);
                        & .accordion {
                            display: flex;
                            flex-direction: column;
                            row-gap: min(2rem, 3vw);
                            & .item {
                                opacity: 0;
                                display: grid;
                                transition: all .3s;
                                grid-template-rows: auto 0fr;
                                &:not(:last-child) {
                                    padding-bottom: min(2rem, 5vw);
                                    border-bottom: 1px solid var(--cLIndigoBlue)
                                }
                                &:hover {
                                    grid-template-rows: auto 1fr;
                                    @media screen and (width >=1200px) {
                                        & .arrow {
                                            transform: translateX(min(3rem, 5vw));
                                        }
                                    }
                                }
                                & .header {
                                    display: flex;
                                    cursor: pointer;
                                    align-items: center;
                                    column-gap: min(1rem, 4vw);
                                    justify-content: space-between;
                                    
                                    & strong {
                                        display: flex;
                                        line-height: 1;
                                        font-weight: 400;
                                        column-gap: min(2rem, 4vw);
                                        
                                        &:is(.item:hover &) {
                                            color: var(--cl,currentColor);
                                        }

                                        & .arrow {
                                            height: auto;
                                            color: currentColor;
                                        }
                                    }

                                    & [class^=btn-] {
                                        opacity: 0;
                                        left: -10%;
                                        visibility: hidden;
                                        transition: all .3s;
                                        border-color: var(--cl,currentColor);

                                        &:is(.item:hover &) {
                                            opacity: 1;
                                            left: 0;
                                            visibility: visible;
                                        }
                                        &:hover {
                                            color: var(--cLwhite);
                                            background-color: var(--cl,currentColor);
                                        }
                                    }

                                    & .arrow {
                                        position: relative;
                                        transition: all .3s;
                                        pointer-events: none;
                                        will-change: transform;
                                        &::after, &::before {transition: transform .3s;}
                                        @media screen and (width<700px) {
                                            & {
                                                margin: auto;
                                                rotate: 90deg;
                                                height: max-content;
                                                padding: min(0.8rem, 4vw);
                                            }
                                        }
                                    }
                                    @media screen and (width<1200px) {
                                        & .see {
                                            width: 100%;
                                            justify-content: space-between;
                                            & .arrow {margin-inline: auto 0;}
                                        }
                                    }
                                }
                                & .content {
                                    overflow: hidden;
                                    font-size: min(25px, 4.3vw);
                                    & .text {
                                        font-weight: 300;
                                        padding-top: min(1rem, 4vw);
                                    }
                                }
                            }
                        }
                    }
                    & .right {
                        scale: .6;
                        opacity: 0;
                        flex: 1 1 max(280px, 20%);
                        transform: translateY(50px);

                        & .text-center {
                            position: relative;
                            line-height: 1.3;
                            overflow: hidden;
                            border-radius: 10px;
                            transition: all .3s;
                            will-change: transform;
                            padding: min(2rem, 5vw);
                            color: var(--cLDeepNavy);
                            background-color: var(--cLCyanBright);

                            &::before {
                                position: absolute;
                                inset: 0;
                                content: "";
                                transition: all .3s;
                                background-color: var(--cLCoralPink);
                                clip-path: circle(0% at 50% calc(100% - (min(2rem, 5vw) + min(1.375rem, 4vw))));

                            }


                            &>*:not(.overlay) {
                                position: relative;
                                z-index: 1;
                            }

                            &:hover {
                                &::before {
                                    clip-path: circle(200% at 50% calc(100% - (min(2rem, 5vw) + min(1.375rem, 4vw))));
                                }

                                @media screen and (width >=1200px) {
                                    transform: scale(1.05) translateY(-10%);
                                }
                            }

                            & .broadacre.weight-500 {
                                font-weight: 700;
                                padding-block: min(1rem, 5vw);
                                border-bottom: 1px solid currentColor;

                                & strong {
                                    scale: .9;
                                    display: block;
                                    font-weight: 700;
                                    transition: all .3s;
                                    font-size: min(40px, 9vw);
                                    font-family: 'Quasimoda', sans-serif;
                                    &:is(.text-center:hover &) {
                                        scale: 1.1;
                                        color: var(--cLwhite);
                                        /* animation: jello-horizontal 1s infinite both; */
                                    }
                                }
                            }

                            & .arrow {
                                margin-top: min(2rem, 5vw);
                            }
                        }
                    }
                }
                /* & .text-center {
                    & h2 {
                       .fakeserif {
                        opacity: 0;
                        clip-path: inset(0 100% 0 0);
                       } 
                    }
                } */
            }
        }
        & .sc3 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                &:is(.sc3:has( + .sc4) &) {padding-bottom: 0;}
                & .flex-direction-column {
                    &:has( .ct-slider-zoom) {
                        row-gap: min(7rem, 20vw);
                    }
                }

                & .text-center {
                    row-gap: min(4rem, 8vw);
                }

                & .wp-slider {
                    position: relative;
                    display: flex;

                    &:has( .ct-slider-zoom) {
                        padding-top: min(3.3rem, 10vw);
                    }

                    & .ct-slider-zoom {
                        position: relative;
                        width: 100%;
                        display: flex;
                        overflow: visible;
                        & .swiper-slide {
                            scale: .8;
                            overflow: hidden;
                            border-radius: 0.5rem;
                            transform-origin: left center;
                            transition: scale 250ms ease-in-out;

                            &.swiper-slide-active {
                                scale: 1.2;
                                z-index: 10;
                            }

                            &.swiper-slide-prev {
                                opacity: 0;
                                scale: 0;
                                transition-duration: 150ms;
                            }

                            &.swiper-slide-next {
                                scale: 1.1;
                                z-index: 5;
                                transition-duration: 150ms;

                                &+.swiper-slide {
                                    scale: 1;
                                }
                            }

                            &.swiper-slide-next+div {
                                scale: .9;
                            }
                            &:first-child {opacity: 0!important;visibility: hidden !important;}

                        }
                    }
                    & .ct-slider-cards {
                        position: relative;
                        z-index: 2;
                        padding-top: 2em;
                        /* margin-bottom: calc(min(5rem, 10vw) * -1); */
                        /* & .card {
                            padding-bottom: calc(min(5rem, 10vw) * 2);
                            &::before {
                                -webkit-mask-image:
                                    linear-gradient(to bottom, black 50%, transparent 100%);
                                    
                                mask-image:
                                    linear-gradient(to bottom, black 50%, transparent 100%);
    
                                -webkit-mask-repeat: no-repeat;
                                mask-repeat: no-repeat;
    
                                -webkit-mask-size: 100% 100%;
                                mask-size: 100% 100%;
                            }
                        } */
                    }
                    & .card {
                        position: relative;
                        margin-top: min(5rem, 30vw);

                        &::before {
                            position: absolute;
                            content: '';
                            inset: 0;
                            opacity: .2;
                            background-color: var(--cLCyanBright);

                        }

                        & .text-center {
                            row-gap: min(3rem, 20vw);

                            & .number {
                                position: relative;
                                z-index: 1;
                                display: block;
                                margin-inline: auto;
                                margin-top: calc(min(8rem, 30vw) * -1);

                                &[class*="underline"]::after {
                                    bottom: calc(min(2rem, 5vw) * -1);
                                }

                                &::before {
                                    position: absolute;
                                    z-index: -1;
                                    color: transparent;
                                    content: attr(data-number);
                                    inset: 0;
                                    line-height: 1;
                                    font-family: 'FakeSerif', sans-serif;
                                    -webkit-text-stroke: 3px var(--cLCyanBright);
                                }
                            }
                        }
                    }
                    & .pagination {
                        &:is(.sc3:has(.ct-slider-cards) &) {
                            position: absolute;
                            top: 65%;
                            left: 50%;
                            justify-content: space-between;
                            transform: translate(-50%, -50%);

                            & .arrow {
                                border-radius: 5px;

                                &::after,
                                &::before {
                                    color: var(--cLDeepNavy);
                                }
                            }
                        }
                    }
                }
                & .carousel {
                    position: relative;
                    display: flex;
                    column-gap: 2%;
                    & article {
                        flex: 0 0 auto;
                    }
                }
            }
        }
        & .sc4 {
            mask-image: linear-gradient(0deg,
                    rgba(255, 255, 255, 0.5) 5%,
                    rgba(255, 255, 255, 1) 18%,
                    rgba(255, 255, 255, 1) 20%);
            mask-repeat: no-repeat;
            mask-size: cover;
            &>picture:not([class]) {
                position: absolute;
                inset: 0;
                z-index: 1;
                opacity: 0;
                transform: translateX(-10%);
                clip-path: inset(0rem round 0rem);
                & img {
                    position: absolute;
                    inset: 0;
                    object-fit: contain;
                    @media screen and (width<700px) {
                        & {
                            object-fit: cover;
                        }
                    }
                }
            }

            & .cliping {
                clip-path: inset(0 100% 0 0);
                mask-image: linear-gradient(90deg,
                        rgba(255, 255, 255, 0) 45%,
                        rgba(255, 255, 255, 1) 80%,
                        rgba(255, 255, 255, 1) 100%);
                mask-repeat: no-repeat;
                mask-size: cover;
            }

            & [class^="container"] {
                padding-block: min(8rem, 10vw);

                & .row {
                    gap: min(2rem, 10vw) 10%;

                    & .left {
                        flex: 1 1 max(300px, 65%);
                    }

                    & .right {
                        flex: 1 1 max(280px, 20%);
                    }
                }
            }
            /* & .text {
                & > * {opacity: 0;}
            } */
        }
        & .sc5 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);

                & .row {
                    & .pagination{
                        align-items: center;
                        margin-top: min(3rem, 12vw);
                        column-gap: min(2rem, 12vw);
                    }  
                    & .ct-slider {
                        position: relative;
                        width: initial;
                        margin-right: calc((100vw - min(1410px, calc(100% - var(--pd)))) / -2);
                    }
                }
            }
        }
        & .sc6 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);

                & .ct-slider {
                    display: flex;
                    width: max-content;
                    will-change: transform;
                    transform: translateZ(0);
                    animation-play-state: running;
                    & picture {
                        height: 70px;
                        width: 190px;
                        flex: 0 0 auto;
                        & img {
                            object-fit: contain;
                            pointer-events: none;
                        }
                    }
                }
                /* Fallback si pas d’animations CSS */
                &:is(.no-css-animation &) {
                    position: relative;
                    left: 0;
                    animation: none !important;
                }
            }
        }
        & .sc7 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                & .row {
                    & .content {
                        position: relative;
                        z-index: 1;
                        padding: min(3rem, 10vw);
                        border-radius: min(10px, 3vw);
                        background-color: var(--cLIndigoBlue);

                        &:is(.sc7:not([class*="bg-"]) &) {
                            margin-bottom: calc(min(30rem, 60vw) * -1);
                        }

                        & .grid {
                            display: grid;
                            grid-gap: 0px;
                            grid-template-columns: repeat(60, 1fr);
                            grid-template-rows: repeat(40, 1fr);

                            & > div {
                                & .broadacre strog {font-weight: 500;}
                            }
                            
                            &>div:not(:is(:last-child)) {
                                z-index: 1;
                                cursor: pointer;
                                transition: all .3s;
                                border-radius: min(1.4em,5vw);
                                color: var(--cLDeepNavy);
                                border: 1px solid transparent;
                                will-change: transform, opacity;

                                &:hover {
                                    scale: 1.03 !important;
                                }

                                & .text-center {
                                    height: 100%;
                                    row-gap: 5px;
                                    line-height: 1;
                                    justify-content: center;
                                    padding: min(1rem, 4vw);
                                    font-size: min(16px, 3.7vw);
                                }
                            }

                            &>div:nth-child(1) {
                                color: var(--cLDeepNavy);
                                grid-area: 2 / 1 / 17 / 10;
                                border-color: var(--cLwhite);
                                background-color: var(--cLwhite);
                            }

                            &>div:nth-child(2) {
                                grid-area: 19 / 1 / 31 / 10;
                                border-color: var(--cLCyanBright);
                                background-color: var(--cLCyanBright);
                            }

                            &>div:nth-child(3) {
                                color: var(--cLwhite);
                                grid-area: 9 / 11 / 20 / 20;
                                border-color: var(--cLwhite);
                            }

                            &>div:nth-child(4) {
                                color: var(--cLDeepNavy);
                                grid-area: 22 / 11 / 38 / 20;
                                border-color: var(--cLwhite);
                                background-color: var(--cLwhite);
                            }

                            &>div:nth-child(5) {
                                grid-area: 9 / 21 / 20 / 30;
                                border-color: var(--cLCyanBright);
                                background-color: var(--cLCyanBright);
                            }

                            &>div:nth-child(6) {
                                /* clip-path: inset( 0 0 0 100%); */
                                grid-area: 2 / 23 / 40 / 61;

                                & picture {
                                    border-radius: min(16px, 3vw);
                                    height: min(520px, 70vw);
                                }
                            }

                            @media screen and (width < 1200px) {
                                & {
                                    display: flex;
                                    flex-wrap: wrap;
                                    gap: min(1rem, 3vw) 3%;

                                    &>div:not(:is(:last-child)) {
                                        width: 48.4%;
                                    }
                                }

                            }
                        }

                        @media screen and (width < 1200px) {
                            & {
                                padding: min(2rem, 5vw);
                            }
                        }
                    }

                }
            }

            &:not([class*="bg-"]) + :is(section, footer) {
                padding-top: min(25rem, 50vw);
            }
        }
        & .sc8 {
            & [class^="container"] {
                position: relative;
                z-index: 1;
                padding-block: min(5rem, 10vw);

                & .row {
                    gap: min(2rem, 5vw) 10%;

                    & .left {
                        position: relative;
                        flex: 1 1 max(300px, 30%);

                        & .counter {
                            position: absolute;
                            top: 3%;
                            z-index: 2;
                            right: -14%;
                            &:is(.row.direction-row-reverse &) {
                                right: inherit;
                                left: -25%;
                            }
                            &::before {
                                position: relative;
                                content: '';
                                margin: -2em;
                                display: block;
                                height: min(595px, 30vw);
                                width: min(394.5px, 30vw);
                                background-color: var(--cLCyanBright);
                                -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/quote-border.svg);
                                mask-image: url(assets/images/quote-border.svg);
                            }
                            & .inner-counter {
                                position: absolute;
                                top: 0;
                                right: -8%;
                                z-index: 1;
                                line-height: 0.5;
                                color: transparent;
                                font-size: min(200px, 14vw);
                                font-family: 'FakeSerif', sans-serif;
                                -webkit-text-stroke: 2px var(--cLIndigoBlue);
                                text-shadow: -1px -9px 0px var(--cLCyanBright);
                            }
                            @media screen and (width < 1200px) {
                                & {
                                    right: 0;
                                    top: 90%;
                                }
                            }
                        }
                        & picture {
                            width: auto;

                            @media screen and (width >=1200px) {
                                & {
                                    margin-block: calc(min(5rem, 10vw) * -1);
                                    height: calc((min(5rem, 10vw) * 2) + 100%);

                                }

                                &:not(:is(.row.direction-row-reverse &)) {
                                    margin-left: calc((100vw - min(1410px, calc(100% - var(--pd)))) / -6);
                                }

                                &:is(.row.direction-row-reverse &) {
                                    margin-right: calc((100vw - min(1410px, calc(100% - var(--pd)))) / -6);
                                }
                            }


                            & img {
                                @media screen and (width >=1200px) {
                                    position: absolute;
                                    inset: 0;
                                }
                            }
                        }
                    }

                    & .right {
                        flex: 1 1 max(300px, 60%);

                        & .text {
                            row-gap: min(2rem, 5vw);
                            font-size: min(20px, 4.3vw);

                            &>*:last-child:has( [class^="btn"]) {
                                @media screen and (width>=1200px) {
                                    & {
                                        display: flex;
                                        flex-wrap: wrap;
                                        margin-block: min(5rem, 10vw) 0;
                                        &:is(.sc8:has( + section) &) {
                                            margin-block: min(5rem, 10vw) calc(min(5rem, 10vw) * -1);
                                        }
                                    }
                                    &:is(.sc8:has( + section) &):not(:hover) {
                                        color: var(--cLwhite);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            @media screen and (width>=1200px) {
                &+section {
                    padding-top: min(7rem, 10vw);
                    margin-top: calc(min(7rem, 10vw) * -1);
                    &:is(.sc9) {
                        padding-top: min(13rem, 23vw);
                    }
                }
            }
        }
        & .sc9 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                & h2.underline {
                    &::after {
                        top: 90%;
                        width: min(130px,min(40vw,100%));
                    }
                }
            }
        }
        & .sc10 {
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                & > .row {
                    row-gap: min(2rem, 7vw);
                    & > .text {
                       width: min(1200px,100%);
                    }
                }
                & .flex {
                    gap: min(2rem,5vw) 7%;
                    & .left {
                        position: relative;
                       flex: 1 1 max(300px,40%);
                    }
                    & .right {
                        position: relative;
                        flex: 1 1 max(300px,40%);
                        & picture {
                            border-radius: 10px;
                            margin-top: min(3rem,7vw);
                            height: calc(100% - min(3rem,7vw));
                        }
                        & .border-quote {
                            position: absolute;
                            bottom: 0;
                            right: 94%;
                            padding: min(3.1rem,7vw) min(5rem,10vw);
                            background-color: var(--cLTtheme, var(--cLCyanBright));
                            -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/Quote-border-2.svg);
                            mask-image: url(assets/images/Quote-border-2.svg);
                            &:is(.direction-row-reverse &) {
                                left: 94%;
                                right: initial;
                            }
                        }
                    }
                }
            }
        }
        & .sc11 {
            /* &:has( .grid) {
                background: linear-gradient(0deg, transparent 0%, var(--cLIndigoBlue) 100%);
            } */
            &:is(:is(.sc15,.sc10) + &) {padding-top: min(5rem, 5vw);}
            & [class^="container"] {
                padding-block: min(5rem, 10vw);
                /* & > .text-center{
                    & > p.fs40 {margin-bottom: calc(min(2rem,5vw) * -1);}
                } */
                &:is(.line-separator &) [class^="text"] {
                    position: relative;
                    &::before {
                        position: absolute;
                        content: '';
                        pointer-events: none;
                        border-top: 1px solid currentColor;
                        inset: calc(min(5rem, 10vw) / -2) 12% 0;
                    }
                }
                & .grid {
                    display: flex;
                    flex-wrap: wrap;
                    gap: min(1.5rem,5vw) 2%;
                    & .event {
                        position: relative;
                        transition: all .3s;
                        width: var(--widthEvent);
                        height: min(380px, 60vw) !important;
                        &:is(.grid:hover .event:not(:hover)) {
                            scale: .98;
                            filter: brightness(.8) grayscale(1);
                        }
                        & [class^="text"] {
                            padding: min(1rem,5vw);
                            & h4 {
                                font-size: min(20px,3.7vw);
                            }
                        }
                        @media screen and (width > 0px) {
                            --widthEvent: 49%;
                        }
                        @media screen and (width > 900px) {
                            --widthEvent: 32%;
                        }
                        @media screen and (width > 1200px) {
                            --widthEvent: 18.4%;
                        }
                    }
                }
            }
        }
        & .sc12 {
            & [class^="container"] {
                position: relative;
                padding-block: min(5rem, 10vw);
                & .quote {
                    position: absolute;
                    right: 0;
                    padding: min(10rem,12vw);
                    top: calc(min(6.2rem, 7.5vw) * -1);
                    background-color: var(--cLTtheme, currentColor) !important;
                    -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/quote-border.svg);
                    mask-image: url(assets/images/quote-border.svg);
                    @media screen and (width>=1900px) {
                        & {right: -12vw;}
                    }
                }
            }
        }
        & .sc13 {
            & [class^="container"] {
                position: relative;
                padding-block: min(3rem, 10vw);
                & .row {
                    align-items: center;
                    gap: min(4rem,15vw) 15%;
                    padding-block: min(7rem, 18vw);
                    border-top: 1px solid var(--cLLightBlueGray);
                    & .left {
                        flex: 1 1 max(300px,30%);
                    }
                    & .right {
                        flex: 1 1 max(300px,40%);
                    }
                }
            }
        }
        & .sc14 {
            & [class^="container"] {
                position: relative;
                padding-block: min(3rem, 10vw);
                & .wp-slider {
                    position: relative;
                    & .ct-slider {
                        position: relative;
                        width: initial;
                        margin-right: calc((100vw - min(1170px, calc(100% - var(--pd)))) / -2);
                    }
                    & .label-quote {
                        position: absolute;
                        top: 41%;
                        transform: translateY(-50%);
                        right: calc(100% - (min(198px,100vw) / 2));
                        & .quasimoda.fs20::first-line {font-weight: 600;}
                    }
                }
            }
        }
        & .sc15 {
            & [class^="container"] {
                position: relative;
                padding-block: min(5rem, 10vw);
                & .row {
                    gap: min(2rem,7vw) 5%;
                    align-items: flex-end;
                    & .left {
                        position: relative;
                        flex: 1 1 max(300px,30%);
                        & picture {
                            overflow: hidden;
                            border-radius: 10px;
                            height: min(550px,50vw);
                        }
                        & .border-quote {
                            position: absolute;
                            left: 80%;
                            bottom: -6%;
                            padding: min(3.1rem,7vw) min(5rem,10vw);
                            background-color: var(--cLTtheme, var(--cLCyanBright));
                            -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/Quote-border-2.svg);
                            mask-image: url(assets/images/Quote-border-2.svg);
                            &:is(.direction-row-reverse &) {
                                right: 80%;
                                left: initial;
                            }
                        }
                    }
                    & .right {
                        flex: 1 1 max(300px,40%);
                    }
                }
            }
        }
        & .sc16 {
            & [class^="container"] {
                padding-block: min(3rem, 10vw);
                & .row {
                    position: relative;
                    width: 100%;
                    & li {
                        position: relative;
                        flex: 1 1 max(300px,40%);
                        & article {
                            position: relative;
                            & .play {
                                position: relative;
                                opacity: 0;
                                scale: 1.3;
                                visibility: hidden;
                                transition: all .3s;
                                width: min(120px,20vw);
                                height: min(120px,20vw);
                                top: calc(50% - (min(120px,20vw) / 2));
                                left: calc(50% - (min(120px,20vw) / 2));
                                &:is(li:hover &) {
                                   scale: 1;
                                   opacity: 1;
                                   visibility: visible;
                                }
                            }
                            & picture {
                                position: relative;
                                height: min(564px,80vw);
                                & video {
                                    position: relative;
                                    width: 100%;
                                    height: 100%;
                                    object-fit: cover;
                                }
                            }
                        }
                    }
                    & .label-quote {
                        position: absolute;
                        z-index: 3;
                        top: calc(40% - (min(198px,30vw) / 2));
                        left: calc(50% - (min(198px,30vw) / 2));
                        & h2::first-line {font-weight: 600;}
                    }
                }
            }
        }
        & .sc20 {
            & > .row {
                padding-block: min(5rem, 10vw);
            }
            & .filters {
                display: flex;
                flex-wrap: wrap;
                gap: min(1rem,3vw);
                justify-content: flex-end;
                & select {
                    font-weight: 400;
                    appearance: none;
                    color: var(--cLwhite);
                    text-transform: inherit;
                    font-size: min(1.1rem,4vw);
                    background-repeat: no-repeat;
                    background-position: min(100% - 1rem) center;
                    background-image: url(assets/images/angle-down.svg);
                    border: 1px solid var(--cLTtheme, var(--cLIndigoBlue));
                    background-color: var(--cLTtheme, var(--cLIndigoBlue));
                    padding: min(.7rem,3vw) min(2.6rem,10vw) min(.7rem,3vw) min(1.5rem,6vw);
                }
            }
        }
        & footer {
            position: relative;
            & [class^="container"] {
                padding-block: min(5rem, 10vw) 0;
            }

            & .row {
                & .flex {
                    align-items: center;
                    gap: min(2rem, 10vw) 5%;
                    justify-content: space-between;

                    & p {
                        line-height: 1.9;
                    }
                }
            }

            & .nav {
                position: relative;
                z-index: 1;
                display: flex;
                flex-wrap: wrap;
                row-gap: min(1rem, 1vw);
                padding-block: min(2rem, 10vw) min(1rem, 5vw);

                &::before {
                    position: absolute;
                    inset: 0;
                    z-index: -1;
                    content: '';
                    opacity: .3;
                    pointer-events: none;
                    border-top: 1px solid var(--cLwhite);
                }

                &>li {
                    position: relative;
                    display: flex;
                    align-items: center;

                    &:not(:last-child)::after {
                        position: relative;
                        content: '-';
                        margin-inline: 10px;
                        display: inline-block;
                    }
                }
            }
        }
    }

    @media screen and (width <1200px) {
        .desk {
            display: none !important;
        }
    }

    @media screen and (width >=1200px) {
        .mob {
            display: none !important;
        }
    }
    &.loaded {
       & svg .annimate {animation: colorChange 3s infinite alternate;}
       & .sc1 {
            & .h1 {
                & .fakeserif {
                    animation: colorChangeH1 3s infinite alternate;
                }
            }
        }
        & .sc6 {
            & .ct-slider {
                animation: slidesc6 30s linear infinite;
            }
        }
        & .sc4 {
            &>picture:not([class]) {
                & img {
                    &:nth-child(1) {
                        animation: mask1 5s linear infinite alternate;
                    }

                    &:nth-child(2) {
                        animation: mask2 5s linear infinite alternate;
                    }

                    &:nth-child(3) {
                        animation: mask3 5s linear infinite alternate;
                    }
                }
            }
        }
    }
}
@keyframes colorChangeH1 {
    50% { color: #eb6478; }
    0% { color: #66ffff; }
    100% { color: #bd54e7; }
}
@keyframes colorChange {
    50% { fill: #eb6478; }
    0% { fill: #66ffff; }
    100% { fill: #bd54e7; }
}
@keyframes slidesc6 {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}
@keyframes mask1 {
    0% {
        filter: hue-rotate(1deg);
    }

    100% {
        filter: hue-rotate(360deg);
    }
}

@keyframes mask2 {
    0% {
        scale: 1.08;
        filter: hue-rotate(1deg);
    }

    100% {
        scale: 1;
        filter: hue-rotate(360deg);
    }
}

@keyframes mask3 {
    0% {
        mix-blend-mode: color-burn;
    }

    100% {
        mix-blend-mode: initial;
    }
}
@keyframes jello-horizontal {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}