/* styles */
h1, h2, h3, h4{
	margin: 0;
}
ol, ul{
	margin: 0;
    padding-left: 0;
    list-style: none;
}
p{
    margin: 0;
}
a{
    color: inherit;
    text-decoration: none;
}
img{
    display: block;
    margin: 0;
}
figure{
    margin: 0;
}
picture{
    display: block;
}
canvas{
    display: block;
}
iframe{
    display: block;
	border: 0;
}
fieldset{
    margin: 0;
    padding: 0;
	border: 0;
}
table{
	border-collapse: collapse;
    border-spacing: 0;
}
tbody, thead, tr, th, td{
	padding: 0;
}
svg{
	display: block;
}
video{
    display: block;
}
blockquote{
	margin: 0;
}
dl, dd{
    margin: 0;
}
button{
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background: none;
    cursor: pointer;
	padding: 0;
	border: 0;
}
:root {
    --font-1: 'BouyguesRead', Arial, sans-serif;
    --font-2: 'BouyguesSpeak', Arial, sans-serif;

    --ctr-width: 135rem;

    --color-text: #25465F;

    --color-gray-light: #EFF2F8;
    --color-gray: #ccc;
    --color-gray-dark: #ECECEC;

    --color-1: #25465F;
    --color-2: #00A0BD;
    --color-3: #EFF2F8;
    --color-4: #EB5B00;
    --color-5: #0055A4;
    --color-6: #009DCC;


    --layout:
        [full] var(--ctr-offset) [fluid ctr ctr-sm ctr-xs] auto [ctr-xs-end ctr-sm-end ctr-end fluid-end] var(--ctr-offset) [full-end];
}
@media(max-width: 840px) {
    :root {
        --ctr-offset: 1.6rem;
        --header-height: 7rem;
        --gap: 2rem;

        --margin-xs: 3rem;
        --margin-sm: 4rem;
        --margin-md: 4rem;
        --margin-lg: 6rem;
    }
}
@media (min-width: 841px) {
    :root {
        --ctr-offset: 3rem;
        --header-height: 9rem;
        --gap: 2rem;

        --margin-xs: 2rem;
        --margin-sm: 5rem;
        --margin-md: 8rem;
        --margin-lg: 11rem;

        --layout:
            [full] var(--ctr-offset) [fluid] 1fr [ctr-start] minmax(1vw, calc(var(--ctr-width)/2)) [center] minmax(1vw, calc(var(--ctr-width)/2)) [ctr-end] 1fr [fluid-end] var(--ctr-offset) [full-end];
    }
}
@media (min-width: 1141px) {
    :root {
        --ctr-offset: 4rem;
    }
}
@media (min-width: 1441px) {
    :root {
        --ctr-offset: 6rem;
    }
}
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
@media (min-width: 841px) {
html {
        font-size: 54.5%
}
    }
@media (min-width: 1141px) {
html {
        font-size: 62.5%
}
    }
body {
    margin: 0;
    font-family: var(--font-1);
    font-size: 1.6rem;
    color: var(--color-text);
    line-height: 2.4rem;
    -webkit-font-smoothing: antialiased;
}
body.hasPopin {
        height: 100vh;
        overflow: hidden !important;
        position: relative;
        touch-action: none;
        -webkit-overflow-scrolling: touch;
    }
.hero,
.article-footer,
.strate,
#footer,
#breadcrumb {
    display: grid;
    grid-template-columns: var(--layout);
    align-content: start;
 --ctr: ctr;
}
.hero >*, .article-footer >*, .strate >*, #footer >*, #breadcrumb >* {
        grid-column: ctr;
    }
.hero {
    padding-top: var(--header-height);
    box-sizing: border-box;
    --ctr: ctr;
}
.strate {
    --mb: var(--margin-md);
    --pt: var(--margin-md);
    --pb: var(--margin-md);
    margin-bottom: var(--mb);
    margin-top: var(--mt, 0);
}
.strate[class*="bg"] {
        padding-top: var(--pt);
        padding-bottom: var(--pb);
    }
.strate{

    --ctr: ctr;
    --ctr-sm: ctr;
    --ctr-xs: ctr;
}
@media (min-width: 841px) {
        .strate.ctr-sm {
            --ctr: ctr-sm;
        }

        .strate.ctr-xs {
            --ctr: ctr-sm;
        }
    }
@media (min-width: 1141px) {
        .strate.ctr-sm {
            --ctr: ctr-sm;
        }

        .strate.ctr-xs {
            --ctr: ctr-xs;
        }
    }
@media (min-width: 1441px) {
        .strate.ctr-xs {
            --ctr: ctr-xs;
        }
    }
.grid {
    display: grid;
    grid-template-columns:
        [full fluid ctr] 1fr [ctr-sm] 1fr [ctr-xs] 1fr 1fr [left-sm] 1fr [left] 1fr [center] 1fr [right] 1fr 1fr 1fr [ctr-xs-end]1fr[ctr-sm-end] 1fr[ctr-end fluid-end full-end];
   

 /*          grid-template-columns:
        [ctr] 1fr [ctr-sm] 1fr [ctr-xs] 1fr 1fr [left-sm] 1fr [left] 1fr [center] 1fr [right] 1fr 1fr 1fr [ctr-xs-end]1fr[ctr-sm-end] 1fr[ctr-end];
    */
        -moz-column-gap: var(--gap);
             column-gap: var(--gap);
    align-content: start;
}
.grid >* {
        grid-column: var(--ctr);
    }
/* access */
.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
/* admin editor */
.mce {
    padding: 14px;
}
/* BouyguesRead */
@font-face {
    font-family: "BouyguesRead";
    src: url(fonts/BouyguesRead-Light.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "BouyguesRead";
    src: url(fonts/BouyguesRead-Regular.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "BouyguesRead";
    src: url(fonts/BouyguesRead-Medium.woff2) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "BouyguesRead";
    src: url(fonts/BouyguesRead-Semibold.woff2) format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "BouyguesRead";
    src: url(fonts/BouyguesRead-Bold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
/* BouyguesSpeak */
@font-face {
    font-family: "BouyguesSpeak";
    src: url(fonts/bouygues-speak.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
}
/* margin */
.mb-0 {
    --mb: 0;
}
.mb-sm {
    --mb: var(--margin-sm);
}
.mb-md {
    --mb: var(--margin-md);
}
.mb-lg {
    --mb: var(--margin-lg);
}
.mt-0 {
    --mt: 0;
}
.mt-sm {
    --mt: var(--margin-sm);
}
.mt-md {
    --mt: var(--margin-md);
}
.mt-lg {
    --mt: var(--margin-lg);
}
/* padding */
.pb-0 {
    --pb: 0;
}
.pb-sm {
    --pb: var(--margin-sm);
}
.pb-md {
    --pb: var(--margin-md);
}
.pb-lg {
    --pb: var(--margin-lg);
}
.pt-0 {
    --pt: 0;
}
.pt-xs {
    --pt: var(--margin-xs);
}
.pt-sm {
    --pt: var(--margin-sm);
}
.pt-md {
    --pt: var(--margin-md);
}
.pt-lg {
    --pt: var(--margin-lg);
}
/* bg */
.bg-color-1 {
    background-color: var(--color-1);
    color: #fff;
    --color1: #fff;
    --color2: var(--color-1);
    --color3: var(--color-2);
    --color4: var(--color-3);
     --color5:#fff;
    --text: #fff;
}
.bg-color-3 {
    background-color: var(--color-3);

    --color1: #fff;
    --color2: var(--color-3);
    --color3: var(--color-1);
    --color4: #fff;
    --color5: var(--color-3);
    --text: var(--color-text);
}
/* rich text */
.rte h2 {
        margin-bottom: 2.8rem;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1;
    }
.rte h3 {
        font-size: 1.8rem;
        font-weight: 600;
        margin-bottom: 2rem
    }
.rte h4,
    .rte h5 {
        margin-bottom: 1rem;
        font-size: 1.6rem;
        font-weight: 700;
    }
.rte p {
        margin-bottom: 1.6rem;
    }
.rte ul,
    .rte ol {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        margin-bottom: 2rem;
        padding-left: 2rem;
    }
.rte ul li::marker, .rte ol li::marker {
                color: var(--theme-1, var(--color-text));
                font-weight: 600
            }
.rte ul {
        list-style: disc;
    }
.rte ul li::marker {
            color: var(--color-2);
        }
.rte ul li:has(.type-picto) {}
.rte ul:has(.type-picto) {
        list-style: none;
    }
.rte ul:has(.type-picto) li::marker {
                display: none
            }
.rte ul:has(.type-picto) li:before {
                content: "";
                display: block;
                width: 15px;
                height: 15px;
                border-radius: 50%;
                background-color: var(--color-2);
                background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%3E%0A%09%3Ccircle%20fill%3D%22%2300A0BD%22%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%2F%3E%0A%09%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%221.5%22%20d%3D%22M16.8%2C8.7l-6.6%2C6.6l-3-3%22%2F%3E%0A%3C%2Fsvg%3E');
                margin-left: -20px;
                margin-bottom: -20px;
                background-size: 100%;
            }
.rte ol {
        list-style: inside decimal;
    }
.rte ol li::marker {
            font-weight: 400;
        }
.rte small {
        font-weight: 400;
    }
.rte a {
        text-decoration: underline;
        color: var(--color-2);
        font-weight: 700;
    }
.rte blockquote {
        quotes: "\201C" "\201D" "\2018" "\2019";
        max-width: 80rem;
        margin: 0 auto 2rem;
        text-align: center;
    }
.rte blockquote::before,
        .rte blockquote::after {
            color: var(--theme-1);
            font-size: 6rem;
            vertical-align: -2rem;
            display: inline-block;
            line-height: 0;
        }
.rte blockquote::before {
            content: open-quote;
            margin-right: 1rem;
        }
.rte blockquote::after {
            content: close-quote;
            margin-left: 1rem;
        }
.rte blockquote p {
            font-size: 2.6rem;
            display: inline;
            line-height: 1.4;
        }
.rte *:nth-last-child(1) {
        margin-bottom: 0;
    }
.rte img {
        max-width: 100%;
        height: auto;
    }
@media (min-width: 1141px) {
        .rte h2 {
            font-size: 2.8rem;
            margin-bottom: 3.2rem
        }

        .rte h3 {
            font-size: 2.2rem;
            margin-bottom: 3.2rem
        }
    }
.form fieldset {
        padding: 0;
        border: 0;
        display: grid;
    }
.form fieldset:disabled {
            display: none;
        }
.form .field {
        display: grid;
        grid-column: 1 / -1;
        position: relative;
    }
.form .field[aria-invalid="true"] label:after {
            color: var(--color-error);
        }
.form label {
        font-weight: 600;
        margin-bottom: 1rem;
        display: block;
    }
.form label.placeholder {
            display: flex;
            align-items: center;
            transition: all .24s ease;
            box-sizing: border-box;
            grid-area: 1/1;
            height: 6rem;
            pointer-events: none;
            z-index: 1;

            font-size: 1.4rem;
            padding: 0 1rem 3.4rem;
            opacity: 1;
            margin: 0;
        }
.form .invalid-msg {
        font-size: 1.4rem;
        position: absolute;
        top: calc(100% + .5rem);
        color: var(--color-error)
    }
.form [required]~label:after {
        content: '*';
    }
.form [type="text"],
    .form [type="email"],
    .form [type="password"],
    .form [type="tel"],
    .form [type="date"],
    .form [type="number"],
    .form [type="url"],
    .form textarea {
        font-family: inherit;
        font-size: inherit;
        color: inherit;
        margin: 0;
        width: 100%;
        grid-area: 1/1;
        height: 6rem;
        padding: 0 1rem;
        transition: all .3s ease;
        border: none;
        border: 1px solid var(--color-gray);
        background: none;
        padding-top: 1.4rem;
    }
.form [type="text"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="email"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="password"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="tel"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="date"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="number"]:-moz-placeholder:not(:focus)~.placeholder, .form [type="url"]:-moz-placeholder:not(:focus)~.placeholder, .form textarea:-moz-placeholder:not(:focus)~.placeholder {
                font-size: 1.6rem;
                padding-bottom: 0rem;
                opacity: .8;
            }
.form [type="text"]:placeholder-shown:not(:focus)~.placeholder, .form [type="email"]:placeholder-shown:not(:focus)~.placeholder, .form [type="password"]:placeholder-shown:not(:focus)~.placeholder, .form [type="tel"]:placeholder-shown:not(:focus)~.placeholder, .form [type="date"]:placeholder-shown:not(:focus)~.placeholder, .form [type="number"]:placeholder-shown:not(:focus)~.placeholder, .form [type="url"]:placeholder-shown:not(:focus)~.placeholder, .form textarea:placeholder-shown:not(:focus)~.placeholder {
                font-size: 1.6rem;
                padding-bottom: 0rem;
                opacity: .8;
            }
.form textarea {
        min-height: 160px;
        resize: vertical;
        padding-top: 2.2rem;
    }
/* Radio / Checkbox */
.form .checkbox,
    .form .radio {
        display: flex;
        align-items: center;
    }
.form .checkbox[role="group"], .form .radio[role="group"] {
            display: block;
        }
.form .checkbox[role="group"] ul, .form .radio[role="group"] ul {
                display: grid;
                grid-gap: 10px;
            }
.form .checkbox[role="group"] li, .form .radio[role="group"] li {
                display: flex;
            }
.form .checkbox input~label, .form .radio input~label {
            cursor: pointer;
            align-items: center;
            margin: 0;
            font-weight: 400;
            line-height: 2rem;
            color: var(--color-text);
            text-transform: initial;
        }
.form input[type="checkbox"],
    .form input[type="radio"] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        background: none;
        margin: 0;
        font: inherit;
        color: currentColor;
        width: 1.3rem;
        height: 1.3rem;
        border: 1px solid var(--color-gray);
        display: grid;
        place-content: center;
        margin-right: 1.3rem;
        transition: all .3s ease;
        flex: 0 0 1.3rem;
        box-sizing: border-box;

    }
.form input[type="checkbox"]::before, .form input[type="radio"]::before {
            content: "";
            width: 1rem;
            height: 1rem;
            transform: scale(0);
            transition: transform .3s ease;
            box-sizing: border-box;
            background-color: var(--color-1);
        }
.form input[type="checkbox"]:checked, .form input[type="radio"]:checked {
            border: 1px solid var(--color);
        }
.form input[type="checkbox"]:checked::before, .form input[type="radio"]:checked::before {
                transform: scale(1);
            }
.form input[type="radio"] {
        border-radius: 50%;
    }
.form input[type="radio"]::before {
            border-radius: 50%;
        }
/* Select */
.form .select {
        min-width: 200px;

    }
.form .select label {
            grid-column: 1;
            grid-row: 1;
            width: calc(100% + 2rem);
            font-size: 1.4rem;
            margin-bottom: -3rem;
            padding-top: .8rem;
            opacity: .8
        }
.form .select select {
            grid-row: 2;
            grid-column: 1;
        }
.form .select .icon {
            fill: var(--color-gray);
            grid-row: 2;
            align-self: center;
            grid-column: 1;
            justify-self: end;
            rotate: 90deg;
        }
.form select {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        font-size: inherit;
        height: 6rem;
        outline: none;
        width: 100%;
        background: none;
        border: none;
        margin: 0;
        padding: 0;
        color: var(--color-text);
        border: 1px solid var(--color-gray);
        padding: 0 1rem;
    }
.form select option {
            color: var(--color-text);
            font-weight: 400;
        }
.form select:-moz-focusring,
        .form select::-moz-focus-inner {
            outline: none;
            color: transparent !important;
            text-shadow: 0 0 0 #000 !important;
        }
.form select::-ms-expand {
            display: none;
        }
/* Action */
.form .action {
        grid-column: span 2;
        display: flex;
        justify-content: space-between;
        margin-top: 2rem;
    }
.form [type="submit"] {
        border: none;
        cursor: pointer;
    }
.form [type="submit"]:disabled {
            pointer-events: none;
            opacity: .8;
        }
.form:disabled {
        opacity: 0.5;
        pointer-events: none;
    }
.form .msg {
        display: none;
        align-items: center;
        border: 1px solid var(--color);
        height: 5rem;
        padding: 1rem;
        box-sizing: border-box;
        color: var(--color,var(--color-text));
        scroll-margin: 10rem;
    }
.form .msg.show {
            display: flex;
        }
.form .msg .picto {
            background-color: var(--color);
            border-radius: 50%;
            margin-right: 1rem;
        }
.form .msg.error {
            --color: var(--color-error);
        }
.form .msg.valid {
            --color: var(--color-valid);
        }
.form input,
    .form select,
    .form button,
    .form textarea {
        box-sizing: border-box;
    }
.form input:focus, .form select:focus, .form button:focus, .form textarea:focus {
            outline: none;
            border: 1px solid var(--color-focus) !important;
        }
.form input[aria-invalid="true"]:not(:focus), .form select[aria-invalid="true"]:not(:focus), .form button[aria-invalid="true"]:not(:focus), .form textarea[aria-invalid="true"]:not(:focus) {
            border: 1px solid var(--color-error) !important;
        }
.form input[type="checkbox"][aria-invalid="true"]:not(:focus), .form select[type="checkbox"][aria-invalid="true"]:not(:focus), .form button[type="checkbox"][aria-invalid="true"]:not(:focus), .form textarea[type="checkbox"][aria-invalid="true"]:not(:focus) {
            border: 1px solid var(--color-error) !important;
        }
.form input:-webkit-autofill,
    .form input:-webkit-autofill:hover,
    .form input:-webkit-autofill:focus,
    .form textarea:-webkit-autofill,
    .form textarea:-webkit-autofill:hover,
    .form textarea:-webkit-autofill:focus,
    .form select:-webkit-autofill,
    .form select:-webkit-autofill:hover,
    .form select:-webkit-autofill:focus {
        -webkit-text-fill-color: inherit;
        box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 0) inset;
        background-color: rgba(255, 255, 255, 0);
        -webkit-transition: background-color 5000s ease-in-out 0s;
        transition: background-color 5000s ease-in-out 0s;
    }
.form input::-moz-placeholder {
        font-style: normal;
        font-family: inherit;
        opacity: 1;
        font-weight: 300;
        /* color: var(--color-gray); */
        font-size: inherit;
    }
.form input::placeholder {
        font-style: normal;
        font-family: inherit;
        opacity: 1;
        font-weight: 300;
        /* color: var(--color-gray); */
        font-size: inherit;
    }
@media (max-width: 1140px) {
        .form fieldset {
            grid-row-gap: 2rem;
        }

        .form textarea {
            min-height: 130px;
            padding-top: 2.8rem;
        }
    }
@media (min-width: 1141px) {
        .form fieldset {
            grid-template-columns: repeat(2, 1fr);
            grid-column-gap: 2rem;
            grid-row-gap: 3rem;
            align-content: start;
        }

        .form .right {
            grid-column: 2;
        }

        .form .left {
            grid-column: 1;
        }
    }
@media print{

body {
    width: auto;
    margin: auto;
    font-family: serif;
    font-size: 12pt;
    opacity: .4;
}

p,
blockquote {
    orphans: 3;
    /* pas de ligne seule en bas */
    widows: 3;
    /* pas de ligne seule en haut */
}

blockquote,
ul,
ol {
    page-break-inside: avoid;
    /* pas de coupure dans ces élements */
}

h1 {
    page-break-before: always;
    /* chaque titre commence sur une nouvelle page */
}

h1,
h2,
h3,
caption {
    page-break-after: avoid;
    /* pas de saut après ces éléments */
}

a {
    color: #000 !important;
    text-decoration: underline !important;
}

a[href]:after {
    content: " (" attr(href) ")";
    /* affichage des URL des liens */
}

#header {
    position: relative;
}

.btn-nav {
    display: none;
}

#footer {
    display: none;
}

article {
    padding-bottom: 50px;
}

main {
    padding-top: 0px;
}
}
/* components */
.title {
    line-height: 1.15;

}
.title strong {
        color: var(--color-2);
    }
.title span {
        font-feature-settings: "ss01";
    }
.title-1 {
    font-family: var(--font-2);
    font-weight: 700;
    font-size: 3.2rem;
}
@media (min-width: 1141px) {
.title-1 {
        font-size: 5.2rem
}
    }
.title-2 {
    font-family: var(--font-2);
    font-weight: 700;
    font-size: 2.8rem;
}
@media (min-width: 1141px) {
.title-2 {
        font-size: 4.4rem
}
    }
.title-3 {
    font-family: var(--font-2);
    font-weight: 700;
    font-size: 2rem;
}
@media (min-width: 1141px) {
.title-3 {
        font-size: 2.8rem
}
    }
.title-4 {
    font-family: var(--font-2);
    font-weight: 700;
    font-size: 1.8rem;
}
@media (min-width: 1141px) {
.title-4 {
        font-size: 2rem
}
    }
.link {
    display: inline-block;
}
.link:hover {
        text-decoration: underline;
    }
.link.link-1 {}
.link.link-2 {
        font-weight: 600;
    }
.btn {
    font-size: 1.6rem;
    font-weight: 600;
    background-color: var(--color-2);
    color: #fff;
    box-sizing: border-box;
    padding: 1.4rem 1.8rem;
    transition: opacity .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    border-radius: .4rem;
    text-align: center;
    justify-content: center;
    line-height: 2rem;
    text-align: center;
    white-space: nowrap;
    transition: background .3s ease;
}
.btn[aria-disabled=true] {
        opacity: .5;
    }
.btn:hover {
        background: #0090AA;
    }
@media (min-width: 1141px) {
.btn {
          padding: 1.6rem 2.4rem
}
    }
.tag{
    color:var(--color-2);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
}
.intro {
    font-size: 1.8rem;
    line-height: 1.4;
}
@media (min-width: 1141px) {
.intro {
       font-size: 2rem
}
    }
.header {
    margin-bottom: 4rem;
    display: grid;
    gap: 2.6rem;
    align-content: start;
    justify-items: start;
}
@media (min-width: 1141px) {
.header {
        margin-bottom: 6rem;
        gap: 3.2rem
}
    }
.picto {
    display: inline-grid;
    align-items: center;
    justify-items: center;
    color: #fff;
    width: 5rem;
    height: 5rem;
    flex: 0 0 5rem;
    border-radius: 50%;
    background-color: var(--color-2);
}
.picto img,
    .picto .icon,
    .picto span {
        grid-area: 1 /1;
    }
.picto img {
        width: 4rem;
        height: 4rem;
    }
.picto.xs {
        width: 3.8rem;
        height: 3.8rem;
        flex: 0 0 3.8rem;
    }
.picto.xs img {
            width: 2.8rem;
            height: 2.8rem;
        }
.picto.sm {
        width: 4.5rem;
        height: 4.5rem;
        flex: 0 0 4.5rem;
    }
.picto.sm img {
            width: 3.8rem;
            height: 3.8rem;
        }
@media (max-width: 840px) {
        .picto.sm {
            width: 4rem;
            height: 4rem;
            flex: 0 0 4rem;
        }

            .picto.sm img {
                width: 3.8rem;
                height: 3.8rem;
            }

            .picto.sm .icon {
                scale: .8;
            }
    }
.picto.lg {
        width: 7rem;
        height: 7rem;
        flex: 0 0 7rem;
    }
.picto.lg img {
            width: 7rem;
            height: 7rem
        }
.picto:before {
        content: "";
        width: 100%;
        height: 100%;
        background-color: inherit;
        border-radius: 50%;
        grid-area: 1 /1;
    }
.picto:has(.waves) {
        position: relative;
        z-index: -1;
        --waves: #000;
        --r1: 4.4rem;
        --r2: 6.8rem;
        --r3: 9.2rem;
    }
.picto:has(.waves).sm {
            --r1: 0;
            --r2: 3.6rem;
            --r3: 5rem;
        }
.picto:has(.waves).lg {
            --r1: 5.5rem;
            --r2: 9rem;
            --r3: 12.9rem;
        }
@keyframes animate1 {
            100% {
                r: var(--r1);
            }
        }
@keyframes animate2 {
            100% {
                r: var(--r2);
            }
        }
@keyframes animate3 {
            100% {
                r: var(--r3);
            }
        }
.picto:has(.waves) .waves {
            z-index: -1;
            position: absolute;
            left: 50%;
            top: 50%;
            width: 30rem;
            height: 30rem;
            translate: -50% -50%;


        }
.picto:has(.waves) .waves circle {
                r: 0;
            }
.picto:has(.waves).start .circle-1 {
                animation: animate1 1.5s cubic-bezier(.46, .03, .52, .96) both;
            }
.picto:has(.waves).start .circle-2 {
                animation: animate2 1.5s cubic-bezier(.46, .03, .52, .96) both;
                opacity: .7;
            }
.picto:has(.waves).start .circle-3 {
                animation: animate3 1.5s cubic-bezier(.46, .03, .52, .96) both;
                opacity: .7;
            }
/* modules */
.slider:not(.inactive) {
    display: grid;
    --nb: 1;
    --offset: 0px;
    grid-column: var(--ctr) / fluid;
    grid-template-columns: subgrid;
}
.slider:not(.inactive) .slider-content {
        margin-left: calc(-1 * var(--left));
        margin-right: calc(-1 * var(--right));
        display: grid;
        justify-content: start;
        grid-auto-flow: column;
        gap: var(--gap);
        overflow-y: hidden;
        overflow-x: scroll;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -ms-overflow-style: none;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        will-change: scroll-position;
    }
.slider:not(.inactive) .slider-content::-webkit-scrollbar {
            display: none;
        }
.slider:not(.inactive) .slider-wrapper {
        grid-column: inherit;
        container-type: inline-size;
    }
.slider:not(.inactive) .item {
        scroll-snap-align: start;
        scroll-margin: var(--left);
        width: calc((100cqw - (var(--gap) * (var(--nb) - 1))) / var(--nb) - var(--offset));
    }
.slider:not(.inactive) .item:first-child {
            margin-left: var(--left);
        }
.slider:not(.inactive) .item:last-child {
            margin-right: var(--ctr-offset);
        }
.slider:not(.inactive):not(.disable) .swipe {
            scroll-snap-type: unset;
            -webkit-user-select: none;
               -moz-user-select: none;
                    user-select: none;
        }
.slider:not(.inactive):not(.disable) .swipe .item {
                pointer-events: none;
            }
.slider:not(.inactive):not(.disable) .grab {
            cursor: grab;
        }
.slider:not(.inactive).disable {
        --offset: 0px;
    }
.slider:not(.inactive).disable .slider-btn {
            display: none;
        }
.slider-btn {
    cursor: pointer;
    grid-row: 2;
    grid-column: 1;
    width: 4rem;
    height: 4rem;
    background-color: var(--color-3);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color .25s ease, color .25s ease;
}
@media (min-width: 1141px) {
        .slider-btn:hover {
            background-color: var(--color-2);
            color: #fff;
        }
    }
.slider-btn.hide {
        display: none;
    }
.slider-btn.prev {
        justify-self: start;
    }
.slider-btn.next {
        justify-self: end;
    }
.slider-btn[aria-disabled=true] {
        opacity: .5;
        pointer-events: none;
    }
.slider-navigation {
    display: flex;
    gap: 1rem;
    justify-self: end;
}
.slider-navigation .slider-btn {
        width: 5rem;
        height: 5rem;
    }
.slider-navigation .slider-btn:hover {
            background-color: var(--color-2);
            color: #fff;
        }
.slider.inactive .slider-btn,
    .slider.inactive .slider-pagination {
        display: none
    }
/* common */
#header {
    --border: rgba(255, 255, 255, .3);
    position: fixed;
    height: var(--header-height);
    width: 100%;
    border-bottom: 1px solid var(--border);
    color: #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    z-index: 100;
    transition: background-color .2s ease, color .2s ease;
    top: 0;
    padding: 0 var(--ctr-offset);
}
#header .logo {
        display: flex;
        align-items: center;
        gap: 1.4rem;
    }
#header nav {
        display: flex;
        font-weight: 500;
    }
#header .lang-select {
        position: relative;
        border-left: 1px solid var(--border);
        padding-left: 2rem;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
#header .lang-select summary {
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: .8rem;
            font-weight: 500;
        }
#header .lang-select .options {
            position: absolute;
            display: grid;
            width: 100%;
        }
#header .lang-select a:hover {
            text-decoration: underline;
            ;
        }
#header .lang-select[open] .icon {
                rotate: 180deg
            }
#header:not(.trig):not(.open) .logo {
            --color-1: #fff;
            --color-2: #fff;
            --color-3: #fff;
            --color-4: #fff;
            --color-5: #fff;
            --color-6: #fff;
        }
#header.trig {
        background-color: #fff;
        color: var(--color-text);
        --border: rgba(0, 0, 0, 0.10);
    }
@media (max-width: 840px) {
        #header .logo {
            margin-left: 1rem;
            margin-right: 1rem;
        }

            #header .logo svg {
                width: 180px;
            }

        #header nav {
            position: fixed;
            width: 100%;
            height: 100dvh;
            background-color: var(--color-3);
            top: 0;
            right: 100%;
            z-index: -1;
            padding: var(--header-height) 0 4rem;
            overflow: hidden;
            box-sizing: border-box;
            color: var(--color-text);
            transition: translate .2s ease;
        }

            #header nav .nav-inner {
                border-top: 1px solid #DADADA;
                overflow-y: auto;
                display: flex;
                flex-direction: column;
                width: 100%;
            }

            #header nav img {
                display: none;
            }

            #header nav .lvl-0 {
                border-bottom: 1px solid #DADADA;
                margin-top: -1px;
            }
                    #header nav .item-lvl-0:first-of-type .btn-lvl-0 {
                        border-bottom: none;
                    }

            #header nav .link-lvl-0 {
                font-size: 2rem;
                font-weight: 700;
                font-family: var(--font-2);
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 2.5rem var(--ctr-offset);
                border-top: 1px solid #DADADA;
                box-sizing: border-box;
            }



                #header nav .link-lvl-0.desktop {
                    display: none;
                }

            #header nav .summary {
                display: flex;
                justify-content: space-between;
            }

                #header nav .summary button {
                    width: 40px;
                    margin-left: -40px;
                }

                    #header nav .summary button svg {
                        margin-right: var(--ctr-offset);
                        margin-left: auto;
                    }
                    #header nav .summary.open:has(.icon) {
                        color: var(--color-2);
                    }

                    #header nav .summary.open+.lvl-1 {
                        display: block
                    }

                    #header nav .summary.open .icon {
                        rotate: 180deg
                    }

            #header nav .lvl-1 {
                padding: 1rem 0;
                display: none;
                border-top: 1px solid #DADADA;
            }

            #header nav .link-lvl-1 {
                display: block;
                font-size: 1.6rem;
                font-weight: 600;

                padding: 1rem var(--ctr-offset);
            }

            #header nav .btn {
                margin: 3rem var(--ctr-offset);
            }

        #header .lang-select {
            margin-left: auto;
            padding-left: 1.6rem;
        }

        #header .btn-nav {
            margin-right: auto;
            font-size: 1.4rem;
            font-weight: 500;
        }

            #header .btn-nav div {
                width: 3rem;
                height: 1.5rem;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                margin-bottom: 3px;
            }

            #header .btn-nav span {
                width: 100%;
                height: 2px;
                background-color: var(--color-2);
                transition: all .2s ease;
            }

                #header .btn-nav span:first-of-type {
                    width: 50%;
                }

                #header .btn-nav span:nth-child(2) {
                    width: 75%;
                }

                #header .btn-nav span:last-of-type {
                    width: 100%;
                }

            #header .btn-nav:after {
                content: "Menu";
            }

        #header.open {
            color: var(--color-text);
        }

            #header.open nav {
                translate: 100%;
            }
                #header.open .btn-nav:after {
                    content: "Fermer";
                }

                #header.open .btn-nav div {
                    justify-content: center;
                    align-items: center
                }

                #header.open .btn-nav span {
                    width: 2rem;
                }

                    #header.open .btn-nav span:nth-child(1) {
                        translate: 0 2px;
                        rotate: 45deg;
                    }

                    #header.open .btn-nav span:nth-child(2) {
                        opacity: 0;
                    }

                    #header.open .btn-nav span:nth-child(3) {
                        translate: 0 -2px;
                        rotate: -45deg
                    }
    }
@media (min-width: 841px) {
#header {

        font-size:1.4rem
}
        #header .logo {
            width: 14rem;
        }

        #header nav {
            margin-left: auto;
            height: 100%;
            margin-right: 2rem;
        }

        #header .nav-inner {
            display: flex;
            gap: 2rem;
            align-items: center;
        }

        #header .lvl-0 {
            display: flex;
            gap: .9rem;
            position: relative;
            height: 100%;
        }

        #header .btn {
            padding: 1.2rem 1.2rem;
            font-size: inherit;
        }

            #header .btn svg {
                width: 1.7rem;
            }

        #header .lang-select {
            padding-left: 1.6rem;
        }

        #header .summary {
            display: none;
        }

        #header .item-lvl-0 {
            height: 100%;
            display: block;
        }
                #header .item-lvl-0:hover .lvl-1 {
                    opacity: 1;
                    pointer-events: initial;
                }

        #header .link-lvl-0 {
            position: relative;
            z-index: 2;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            padding: 0 .8rem;
        }

            #header .link-lvl-0:after {
                content: "";
                width: 100%;
                height: 0;
                background-color: var(--color-2);
                position: absolute;
                top: 100%;
                transition: height .3s ease;
            }
                #header .link-lvl-0[aria-current="page"]:after, #header .link-lvl-0:hover:after {
                    height: 4px;
                }
                #header .link-lvl-0:hover .icon {
                    rotate: 180deg;
                }
            #header .placeholder img {
                opacity: 1 !important;
                z-index: 0 !important;
            }

        #header .lvl-1 {
            position: absolute;
            top: 0;
            right: 0;
            padding-top: calc(var(--header-height) + 2rem);
            opacity: 0;
            transition: opacity .2s ease;
            pointer-events: none;
        }

            #header .lvl-1 .inner {
                background-color: #fff;
                padding: 1.6rem;
                border-radius: 1rem;
                display: grid;
                grid-template-columns: 198px 1fr;
                -moz-column-gap: 2.4rem;
                     column-gap: 2.4rem;
                border: 1px solid rgba(0, 0, 0, 0.10);
                align-content: start;
            }

            #header .lvl-1 picture {
                display: grid;
                overflow: hidden;
                border-radius: 1rem;
                position: relative;
            }
                    #header .lvl-1 picture img:first-of-type {
                        opacity: 1 !important;
                        z-index: 0 !important
                    }
                    #header .lvl-1 picture img{

                    grid-area: 1/1;
                    opacity: 0;
                    transition: opacity .3s ease .1s;
                    z-index: 1;
                    position: absolute;
                    height: 100%;
                    -o-object-fit: cover;
                       object-fit: cover;
	}

                    #header .lvl-1 picture img.show {
                        opacity: 1;
                        z-index: 3;
                        transition: opacity .3s ease 0s;
                    }
                #header .lvl-1 .placeholder img {
                    opacity: 1 !important;
                }

            #header .lvl-1 ul {
                color: var(--color-text);
            }

                #header .lvl-1 ul li {
                    display: grid;
                    gap: 2.4rem;
                }

                #header .lvl-1 ul a {
                    white-space: nowrap;
                    font-weight: 500;
                    padding: 1.4rem 0;
                    border-bottom: 1px solid var(--color-3);
                }

                    #header .lvl-1 ul a:hover {
                        color: var(--color-2);
                        /*font-weight: 600; */
                    }

                    #header .lvl-1 ul a[aria-current="page"] {
                        color: var(--color-2);
                        font-weight: 600;
                    }
    }
@media (min-width: 1141px) {
#header {
        font-size: 1.6rem
}

        #header .logo {
            width: 14rem;
        }

        #header nav {
            margin-right: 2.6rem;
        }

        #header .nav-inner {
            gap: 2.4rem;
        }


        #header .lvl-0 {
            gap: 1rem;
        }

        #header .link-lvl-0 {
            padding: 0 1rem;
        }

        #header .btn {
            padding: 1.6rem 2.4rem;
        }


            #header .btn svg {
                width: 2.3rem;
            }

        #header .lang-select {
            padding-left: 2.4rem;

        }
    }
@media (min-width: 920px) {
        #header .logo {
            width: 20rem;
        }
    }
@media (min-width: 1220px) {
        #header .logo {
            width: 23rem;
        }
    }
@media (min-width: 1441px) {
        #header .logo {
            width: 23rem;
        }
    }
/* en attendant que les langues soient faites, on cache le select */
#header.lang_select-hidden .lang-select {
            display: none;
        }
@media (max-width: 840px) {
#header.lang_select-hidden {
            display: grid;
            align-content: center;
            align-items: center
    }

            #header.lang_select-hidden .btn-nav {
                grid-area: 1/1;
                justify-self: start;
            }
            #header.lang_select-hidden .logo{
                grid-area: 1/1;
  justify-self: center;
  margin-left: 3rem;
            }
        }
@media (min-width: 1141px) {
            #header.lang_select-hidden nav {
                margin-right: 0;
            }
        }
#footer {
    color: #fff;
    z-index: 0;
    position: relative;
    background-repeat: no-repeat;
}
#footer .prefooter {
        background-color: var(--color-3);
        grid-row: 1;
        color: var(--color-text);
        z-index: 2;
        margin-bottom: 7rem;
        border-radius: 1rem;
        align-self: end;
        display: grid;
    }
#footer .prefooter .content {
            grid-area: 1/1;
            height: 100%;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 2;
            padding: 4rem;
            box-sizing: border-box;
        }
#footer .prefooter .title-2 {
            font-size: 2.8rem;
            margin-bottom: 2.4rem;
        }
#footer .prefooter .text {
            max-width: 66rem;
            line-height: 2.4rem;
        }
#footer .prefooter .cta {
            margin-top: 4rem;
        }
#footer .prefooter .bg {
            width: 100%;
            height: 100%;
            grid-area: 1/1;
        }
@media(max-width: 1140px) {}
@media(min-width: 1141px) {
#footer .prefooter {


            height: 458px
    }

            #footer .prefooter .title-2 {
                font-size: 4.6rem;
                margin-bottom: 3rem;
            }
        }
#footer .top {
        display: flex;
      /* flex-wrap: wrap; */
        align-items: start;
        grid-row: 2;
        gap: 5.3rem;
    }
#footer .top a {
            font-size: 1.5rem;
            line-height: 2rem;
        }
#footer .top nav ul {
                display: grid;
                gap: 1.4rem;
            }
#footer .top .title {
            font-size: 1.6rem;
            font-weight: 600;
            text-transform: uppercase;
            margin-bottom: 2rem;
        }
#footer .bouygues {
        border: 1px solid var(--Color-Bleu-clair, #00A3C1);
        border-radius: .4rem;
        padding: 1.6rem;
        grid-column: 1/-1;

    }
#footer .bouygues .title {
            margin-bottom: .6rem;
            font-size: 1.4rem;
          
            text-transform:none
        }
#footer .bouygues ul{
            line-height: 2.2rem;
        }
#footer .bouygues a{
            text-decoration: underline;
            font-weight: 500;  line-height: 1.2rem;
        }
#footer .bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.34);
        font-size: 1.4rem;
        font-weight: 500;
    }
#footer .bottom small {
            font-size: inherit;
            font-weight: inherit;
        }
#footer .bottom a {
            text-decoration: underline;
            text-underline-offset: .3rem;
            white-space: nowrap;
        }
#footer .socials {
        margin-top: 2.4rem;
    }
#footer .socials ul {
            display: flex;
            gap: .6rem;
        }
#footer .socials a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 4rem;
            height: 4rem;
            border: 1px solid #fff;
            border-radius: 50%;
        }
@media (max-width: 840px) {
#footer {
        background-image: url(./img/footer-mobile-1.webp);
        background-position: center 15rem;
        /*background-size: 105%; */
        text-align: center
}

        #footer .prefooter {
            margin-bottom: 0;
        }

        #footer .logo {
            display: flex;
            flex-direction: column;
            align-self: center;
            align-items: center;
            margin-top: 1rem;
            margin-bottom: 0;
        }
            #footer .logo svg{
                width: 140px;
                  height: 140px;
            }

        #footer .top {
            flex-direction: column;
            align-items: stretch;
            gap: 2rem;
        }

            #footer .top .title {
                margin-bottom: 1rem;
            }
                #footer .top nav ul {
                    display: grid;
                    gap: .6rem;
                }

        #footer .btn-top {
            display: none;
        }

        #footer .pages {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem 5rem;
            justify-content: center;
            justify-items: center;
            align-self: center;
        }

        #footer .bottom {
            display: flex;
            flex-direction: column-reverse;
            align-items: center;
            gap: 2rem;
            padding: 2.4rem 0 1rem;
            margin-top: 2.4rem;
        }

            #footer .bottom nav {
                width: -moz-min-content;
                width: min-content;
            }
            #footer .socials ul {
                justify-content: center;
            }

    }
@media (min-width: 841px) {
#footer {
        background-image: url(./img/footer-1.webp);
        background-position: center 20rem;
        align-content: start
}

        #footer .logo {
            margin-right: auto;
        }

        #footer .btn-top {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 4rem;
            height: 4rem;
            border: 1px solid rgba(255, 255, 255, 0.34);
            border-radius: 50%;
            grid-column: 2;
            grid-row: 3;
            align-self: end;
            justify-self: end;
            margin-top: 2.6rem;
            margin-bottom: 1.2rem;
        }

        #footer .bottom {
            display: flex;
            justify-content: space-between;
            height: 9rem;
            align-items: center;
            grid-row: 3;
        }

        #footer .pages {
            display: flex;
            gap: 6rem;
        }

        #footer .extra {
            display: flex;
            justify-content: space-between;
           /* flex: 1; */
            flex-direction: column;
        }
    }
@media (min-width: 1141px) {
        #footer .extra {
            display: grid;
            grid-template-columns: 1fr 5.2rem;
            flex: initial;
        }
  
    }
@media (min-width: 1441px) {
              #footer .top{
        
            gap: 11rem;
        }
     }
#quick_access {
    width: 100%;
    height: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    z-index: 5000;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
#quick_access:focus-within {
        height: auto;
    }
#quick_access:focus-within .content {
            color: #fff;
            background-color: #000;
            padding: 10px var(--ctr-offset);
            display: flex;
            gap: 15px;
        }
#breadcrumb {
   height: 0;
   color: #fff;
   line-height: 2rem;
   z-index: 1;
   position: relative;
}
#breadcrumb ol {
      display: flex;
      flex-wrap: wrap;
   }
#breadcrumb li {
      width: -moz-min-content;
      width: min-content;
      white-space: nowrap;
      color: var(--color-2);
      text-decoration: underline;
      font-weight: 500;
      font-size: 1rem;
   }
#breadcrumb li:after {
         content: ">";
         padding: 0 .4rem;
      }
#breadcrumb li:last-child {

         text-overflow: ellipsis;
         display: inline-block;
         width: 100%;
         overflow: hidden;
         flex: 1;
         white-space: nowrap;
      }
#breadcrumb li:last-child:after {
            display: none;
         }
#breadcrumb li:has(a) {
      color: #fff;
      text-decoration: none;
   }
@media (max-width: 1140px) {
#breadcrumb {
      translate: 0 calc(var(--header-height) + 1rem)
}

      #breadcrumb >div {
         overflow: hidden;
         height: 20px
      }

      ;
   }
@media (min-width: 1141px) {
#breadcrumb {
      translate: 0 calc(var(--header-height) + 2rem)
}

      #breadcrumb li {
         font-size: 1.4rem;
      }
   }
.shares {
    border-top: 1px solid rgb(from var(--color-1) r g b / 20%);
    padding-top: 1.6rem;
}
.shares .list {
        display: flex;
        gap: .6rem;
    }
.shares .title {
        font-size: 1.4rem;
        font-weight: 600;
        line-height: 2.2rem;
        text-transform: uppercase;
        margin-bottom: 1.4rem;
    }
.shares button {
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        border: 1px solid var(--color-2);
        width: 4rem;
        height: 4rem;
      
    }
.shares .tip {
        position: absolute;
        opacity: 0;
        translate: 0 calc(-100% - 1.1rem);
        color: var(--color-2);
        pointer-events: none;
        transition: all .25s ease;
        font-size: 1.3rem;
        font-weight: 500;
    }
.shares .tip.show {
            opacity: 1;
            translate: 0 calc(-100% - 1.3rem);
        }
@media (min-width: 1141px) {
.shares {
 grid-column: ctr-xs
}
      }
/* hero */
.hero-homepage {
  
    color: #fff;  
    padding-top: calc(var(--header-height) + 5rem);
    padding-bottom: 5rem;
    position: relative;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: var(--color-1);
}
.hero-homepage .grid{
    align-items: center;
    align-content: center;
    }
.hero-homepage .title {
        margin-bottom: 2.6rem;
    }
.hero-homepage .btn {
        justify-self: start;
        margin-top: 4rem;
    }
@media (max-width: 840px) {
.hero-homepage {
       background-image: url(./img/header-mobile.jpg)
}
    }
@media (min-width: 841px) {
.hero-homepage {
        background-image: url(./img/header.webp)
}

        .hero-homepage .title,
        .hero-homepage .text,
        .hero-homepage .btn {
            grid-column: ctr/right;
            margin-right: -2rem;
        }
    }
.hero-page {
    background-color: var(--color-1);
    color: #fff;
}
.hero-page .grid {
        align-items: center;
        align-content: center;
        grid-row: 1;
    }
.hero-page picture {
        overflow: hidden;
    }
.hero-page img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
@media (max-width: 1140px) {
        .hero-page .title {
            margin-top: 6rem;
        }

        .hero-page picture {
            grid-column: full;
            clip-path: path("M0,20.6C175.4,8.9,357.1,1.8,543.4,0l196.7,0c185.1,1.8,365.6,8.8,539.8,20.3V769H0V20.6z");
        }

        .hero-page .hero-content {
            margin-bottom: 4rem;
        }

        .hero-page .intro {
            margin-top: 2.6rem;
        }

        .hero-page img {
            aspect-ratio: 393/236;
        }
    }
@media (min-width: 1141px) {
.hero-page {
        height: 62rem;
        box-sizing: content-box
}

        .hero-page .hero-content {
            grid-column: ctr / left;
            grid-row: 1;
            height: 62rem;
            margin-right: var(--gap);
        }

        .hero-page picture {
            grid-column: center / full;
            height: 100%;
            grid-row: 1;
            clip-path: path("M2000,620H24.2C8.5,529,0,430.9,0,328.5C0,212.2,11,101.2,31,0h1969V620z");
            margin-left: var(--gap);
        }

        .hero-page h1 {
            grid-column: 1/6;
            margin-bottom: 3.4rem;
        }

        .hero-page .intro {
            grid-column: 1/6;
        }
    }
.hero-flexible {
    color: #fff;
    justify-items: center;
    text-align: center;
    position: relative;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: var(--color-1);
}
.hero-flexible .title {
        margin-top: 7.8rem;
    }
.hero-flexible .hero-content {
        width: 100%;
    }
.hero-flexible .visu {
        grid-column: full;
        display: grid;
        grid-template-columns: var(--layout);
        background: linear-gradient(rgba(0, 0, 0, 0) 50%, #fff 50%);
        width: 100%;
    }
.hero-flexible .visu picture {
            z-index: 2;
            grid-column: ctr;
            /*width: 100%;  */
            overflow: hidden;
            border-radius: 1rem;
        }
.hero-flexible .visu img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
        }
@media (max-width: 840px) {
.hero-flexible {
        background-image: url(./img/header-mobile.jpg)
}

        .hero-flexible .intro {
            margin-top: 1rem;
            margin-bottom: 5.5rem;
        }
            .hero-flexible .visu img {
                aspect-ratio: 364/300;
            }
    }
@media (min-width: 841px) {
.hero-flexible {
        background-image: url(./img/header.webp)
}

        .hero-flexible .intro {
            margin-top: 3.4rem;
            margin-bottom: 7rem;
        }
            .hero-flexible .visu img {
                aspect-ratio: 1352/530;
            }
    }
.hero-news {
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    padding-top: calc(var(--header-height) + 9rem);
    background-position: center top;
    background-repeat: no-repeat;
    background-color: var(--color-1);
    margin-bottom: var(--margin-md);
}
.hero-news .grid {
        justify-items: center;
        grid-column: ctr;
    }
.hero-news .tag {
        margin-bottom: 1.6rem;
        color: #fff
    }
.hero-news .title {
        font-weight: 500;
        font-family: var(--font-1);
    }
.hero-news .time {
        margin-bottom: 3rem;
        display: inline-flex;
    }
.hero-news .hero-content {
        z-index: 2;
    }
.hero-news .visu {
        grid-column: full;
        display: grid;
        grid-template-columns: var(--layout);
        background: linear-gradient(rgba(0, 0, 0, 0) 50%, var(--color-3) 50%);
        width: 100%;
    }
.hero-news .visu picture {
            z-index: 2;
            grid-column: ctr;
            
            overflow: hidden;
            width: 100%;
            border-radius: 1rem;
        }
.hero-news .visu img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
        }
.hero-news .intro {
        background-color: var(--color-3);
        color: var(--color-text);
        grid-column: full;
        display: grid;
        grid-template-columns: var(--layout);
        width: 100%;
    }
.hero-news .intro .text {
            font-size: 1.8rem;
            text-align: left;
            line-height: 150%;
        }
@media (max-width: 840px) {
.hero-news {
        background-image: url(./img/header-mobile.jpg)
}

        .hero-news .title {
            margin-bottom: 2.8rem;
            font-size: 2.6rem;
            line-height: 3.1rem;
        }

        .hero-news .time {
            margin-bottom: 4rem;
        }
            .hero-news .visu img {
                aspect-ratio: 364/300;
            }

        .hero-news .intro {
            padding: 3rem 0;
        }

        .hero-news .text {
            grid-column: fluid;
        }
    }
@media (min-width: 841px) {
.hero-news {
        background-image: url(./img/header.webp)
}
            .hero-news .visu img {
                aspect-ratio: 1352/530;
            }

        .hero-news .title {
            margin-bottom: 2.8rem;
            font-size: 3.6rem;
            grid-column: ctr-xs;
            line-height: 1.2
        }

        .hero-news .intro {
            padding: 8rem 0;
        }

        .hero-news .text {
            grid-column: ctr-sm;
        }
    }
.hero-highlight {
    color: #fff;
    justify-items: center;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    margin-bottom: var(--margin-md);
    background-position: center top;
    background-repeat: no-repeat;
    background-color: var(--color-1);
}
.hero-highlight .tag {
        grid-column: 1;
        grid-row: 1;
    }
.hero-highlight h2 {
        font-size: 2rem;
        font-weight: 500;
        grid-column: 1;
        grid-row: 2;
    }
.hero-highlight .hero-content {
        text-align: left;
        z-index: 2;
        grid-column: full;
        display: grid;
        grid-template-columns: var(--layout);
        background: linear-gradient(rgba(0, 0, 0, 0) 50%, #fff 50%);
        width: 100%;
    }
.hero-highlight picture {
        grid-column: ctr;
        grid-row: 1;
        overflow: hidden;
        border-radius: 1rem;
    }
.hero-highlight img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
.hero-highlight .box {
        display: grid;
        border-radius: 1rem;
        background: #fff;
        color: var(--color-text);
        align-self: end;
        grid-column: ctr;
        grid-row: 1;
    }
.hero-highlight .time {
        align-self: center;
    }
@media (max-width: 840px) {
.hero-highlight {
        background-image: url(./img/header-mobile.jpg);
        padding-top: 2rem
}

        .hero-highlight .title {
            margin-top: 15rem;
            font-size: 3.2rem;
        }

        .hero-highlight .intro {
            margin-top: 2.2rem;
            margin-bottom: 7rem;
        }

        .hero-highlight img {
            aspect-ratio: 364/300;
        }

        .hero-highlight .box {
            gap: 1rem;
            /* margin: 1.8rem 1.6rem; */
            /* padding: 1.6rem; */
            padding: 2.4rem 2.4rem 0;
            grid-row: 2
        }

        .hero-highlight h2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .hero-highlight .time {
            margin-top: 1rem;
        }

    }
@media (min-width: 841px) {
.hero-highlight {
        background-image: url(./img/header.webp)
}

        .hero-highlight .title {
            margin-top: 7.8rem;
        }

        .hero-highlight .intro {
            margin-top: 3.4rem;
            margin-bottom: 7rem;
        }

        .hero-highlight img {
            aspect-ratio: 1352/530;
        }

        .hero-highlight .box {
            grid-template-columns: 1fr min-content;
            gap: .9rem;
            margin: 2.4rem;
            padding: 3.4rem 4rem;
        }

        .hero-highlight .time {
            grid-column: 2;
            grid-row: 1/3;
            align-self: center;
        }
    }
/* cards*/
.card-keynumber {
    background-color: var(--color4, var(--color-3));
    padding: 2.6rem 2.6rem 2.2rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--color-text);
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.card-keynumber .value {
        font-family: var(--font-2);
        font-weight: 700;
        line-height: 1;
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        -moz-column-gap: .8rem;
             column-gap: .8rem;
    }
.card-keynumber .picto {
        margin-bottom: 1.5rem;
        --waves: var(--color5, #fff);
    }
.card-keynumber .picto+.value {
           /* margin-top: 3rem; */
           margin-top:auto;
          
        }
.card-keynumber .prefix {
        color: var(--color-2);
        font-size: 3.8rem;
    }
.card-keynumber .number {
        font-size: 5rem;
        white-space: nowrap;
    }
.card-keynumber .suffix {
        font-size: 3rem;
    }
.card-keynumber .text {
        margin-top: .6rem;
    }
@media (min-width: 1441px) {

        .card-keynumber .text {
            margin-top: 4.4rem;
        }
    }
.card-news {
    background-color: var(--color1);
    border-radius: 1rem;
    color: var(--color-text);
    height: 100%;
}
.card-news a {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
.card-news .content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        flex: 1;
    }
.card-news picture {
        border-radius: 1rem;
        overflow: hidden;
    }
.card-news .category {
        font-size: 1.5rem;
        font-weight: 600;
        color: var(--color-2);
        text-transform: uppercase;
        /* margin-bottom: 1rem; */
    }
.card-news picture {
        background-color: #f5f5f5;
        order: -1;
    }
.card-news h3 {
        font-size: 2rem;
        font-weight: 500;
        line-height: 2.6rem;
        margin-bottom: auto;
    }
.card-news img {
        width: 100%;
        height: auto
    }
@media (max-width: 1140px) {
        .card-news .content {
            padding: 2.4rem;
        }

        .card-news .time {
            margin-top: 1rem;
        }
    }
@media (min-width: 1141px) {
        .card-news .content {
            padding: 1.8rem;
            margin-bottom: 2rem;
        }

        .card-news .time {
            margin-top: 1.8rem;
        }
            .card-news:hover h3 {
                text-decoration: underline;
            }
    }
.time {
    display: flex;
}
.time time {
        font-size: 1.4rem;
    }
.time .readtime {
        border-left: 1px solid #D6E3F9;
        margin-left: 1rem;
        padding-left: 1rem;
        display: flex;
        gap: .8rem;
        font-size: 1.4rem;
        white-space: nowrap;
    }
.card-page picture {
        width: 100%;
        background-color: var(--color-3);
        border-radius: 1rem;
        overflow: hidden;
    }
.card-page .content {
        padding: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.6rem;
    }
.card-page img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
.card-page h3 {
        font-size: 2.4rem;
        line-height: 1;
        font-weight: 500;
    }
.card-page .picto {
        width: 4.5rem;
        height: 4.5rem;
        flex: 0 0 4.5rem;
        transition: background-color .3s ease;
    }
.card-page.sm .picto {
            width: 3rem;
            height: 3rem;
            flex: 0 0 3rem;
        }
.card-page.sm h3 {
            font-size: 1.6rem;
        }
.card-page.sm .content {
            padding: 1.6rem;
            margin-top: 1.2rem;
            padding: 0;
        }
@media (max-width: 1140px) {
        .card-page picture {
            aspect-ratio: 174/93;
        }
    }
@media (min-width: 1141px) {
        .card-page picture {
            aspect-ratio: 254/154;
        }
            .card-page:hover .picto {
                background: #0090AA;
            }
    }
.card-page{

    container: card / inline-size;
}
@container card (max-width:450px) {

    .card-page .picto {
            width: 3rem;
            height: 3rem;
            flex: 0 0 3rem;
        }

        .card-page h3 {
            font-size: 1.6rem;
        }

        .card-page .content {
            padding: 1.6rem;
            margin-top: 1.2rem;
            padding: 0;
        }

    }
.card-picto {
    background-color: var(--color1, var(--color-3));
    padding: 3.2rem;
    border-radius: 1rem;
    text-align: center;
    color: var(--color-text);
    height: 100%;
    box-sizing: border-box;
    padding-top: calc(3.2rem + 7rem);
}
.card-picto .picto {
        margin-bottom: 2rem;
    }
.card-picto:has(.picto) {
        padding-top: 3.2rem;
    }
.card-picto .text {
        margin-top: 1.2rem;
    }
.card-quote {
    background-color: var(--color1, var(--color-3));
    border-radius: 1rem;
    display: grid;
    height: 100%;
    box-sizing: border-box;
    color: var(--color-text);

}
.card-quote .picto {
        margin-bottom: 1.8rem;
    }
.card-quote .text {
        font-style: italic;
        font-size: 1.8rem;
        line-height: 2.5rem;
    }
.card-quote blockquote {
        display: grid;
        flex: 1;
    }
.card-quote .logo {
        justify-self: end;
        align-self: center;
    }
.card-quote .text {
        grid-column: 1/-1;
    }
.card-quote .big {
        display: none;
    }
.card-quote .content {
        display: flex;
        flex-direction: column;
    }
@media (max-width: 840px) {
.card-quote {
        padding: 1.6rem;
        position: relative

}

        .card-quote blockquote {
            grid-template-columns: 1fr min-content;
            grid-template-rows: 1fr min-content;
            gap: 2rem;
        }

        .card-quote .title {
            margin-bottom: 1.6rem;
        }

        .card-quote .text {
            grid-column: 1/3;
        }

        .card-quote cite {
            /*margin-top: 2rem; */
            /*padding-right: 12rem; */
            grid-row: last-line;
            align-self: end;
        }

        .card-quote .logo {
            grid-row: last-line;
            margin-top: 1.6rem;
            max-height: 6.4rem;
            max-width: 10rem;
            height: auto;
            width: auto;

        }

        .card-quote .small {
            display: block;
        }
    }
@media (min-width: 841px) {
.card-quote {
        padding: 3.3rem

}

        .card-quote .title {
            margin-bottom: 3rem;
        }

        .card-quote .text {
            font-size: 2.4rem;
            line-height: 3.3rem;
        }

        .card-quote blockquote {
            grid-template-columns: 1fr min-content;
            grid-template-rows: 1fr min-content;
            row-gap: 3.8rem;
            -moz-column-gap: 1rem;
                 column-gap: 1rem;
        }

            .card-quote blockquote img {
                align-self: center;
                max-height: 6.4rem;
                max-width: 10rem;
                height: auto;
                width: auto;
            }
    }
.card-quote .picto,
    .card-quote cite {
        grid-column: 1;
    }
.card-quote cite {
        /* margin-top: 3.8rem; */
        align-self: end;
    }
.card-quote .logo {
        grid-column: 2;
    }
.card-quote.hasbig {

        gap: 4rem;
        box-sizing: border-box;
    }
.card-quote.hasbig .big {
            border-radius: 1rem;
            overflow: hidden;
            display: block;
        }
.card-quote.hasbig .big img {
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
                -o-object-position: 0 15%;
                   object-position: 0 15%;
            }
.card-quote.hasbig .small {
            display: none;
        }
@media (max-width: 1140px) {
                .card-quote.hasbig .big img {
                    width: 100%;
                    height: 200px;
                    -o-object-fit: cover;
                       object-fit: cover;
                    -o-object-position: 0 15%;
                       object-position: 0 15%;
                }

            .card-quote.hasbig blockquote {
                gap: 0.5rem;
            }
    }
@media (min-width: 1141px) {
        .card-quote.hasbig {
            grid-template-columns: 29.3rem 1fr;
            padding: 4rem;
            gap: 4rem;
        }
    }
@media (min-width: 1441px) {
        .card-quote.hasbig {
            padding: 8rem;
            gap: 8rem;
        }
    }
cite {
    display: grid;
    grid-template-columns: min-content 1fr;
    grid-template-areas:
        "image name"
        "image function";
    gap: .6rem 0;
    font-style: normal;


}
cite img {
        border-radius: 50%;
    }
cite picture {
        grid-area: image;
        margin-right: 1rem;
    }
.name {
    grid-area: name;
    color: var(--color-2);
    align-self: end;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}
.function {
    grid-area: function;
    align-self: start;
    font-size: 1.6rem;
    line-height: 2.1rem;
}
.card-quote_cross {
    box-sizing: border-box;
    background: var(--color1, var(--color-3));
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
}
.card-quote_cross .picto {
        margin-bottom: 2.7rem;
    }
.card-quote_cross .text {
        font-style: italic;
        color: var(--color-text);
    }
.card-quote_cross .cites {
        margin-top: auto;
        display: flex;
    }
.card-quote_cross .name {
        font-size: 1.6rem;
        font-weight: 600;
        font-style: normal;
        text-transform: uppercase;
        color: var(--color-text);
    }
.card-quote_cross .function {
        font-style: normal;
        font-weight: 600;
        text-transform: uppercase;
        color: var(--color-2);
    }
@media (max-width: 1140px) {
.card-quote_cross {
        padding: 2rem 1.6rem 10rem;
        height: 100%
}

        .card-quote_cross .text {
            font-size: 2rem;
            line-height: 2.8rem;
            margin-bottom: 4rem
        }

        .card-quote_cross .cites {
            text-align: left;
            display: flex;
            gap: 3rem;
        }

        .card-quote_cross .name {
            font-size: 1.4rem;
        }

        .card-quote_cross .function {
            font-size: 1.4rem;
        }
    }
@media (min-width: 1141px) {
.card-quote_cross {
        height: 52rem;
        padding: 5rem
}

        .card-quote_cross .text {
            font-size: 2.2rem;
            line-height: 3.3rem;
        }
            .card-quote_cross cite:last-of-type {
                border-left: 1px solid #00486433;
                margin-left: 2.5rem;
                padding-left: 2.5rem
            }
    }
.card-timeline {
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    overflow: clip;
    background-color: var(--color1, var(--color-3));
    color: var(--color-text);
    height: 100%;
}
.card-timeline img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
       /* aspect-ratio: 336/200; */
        aspect-ratio: 413/224;
    }
.card-timeline .card-content {
        display: flex;
        flex-direction: column;
        padding: 2rem 1.6rem;
        flex: 1;
    }
.card-timeline .year {
        color: var(--color-2);
        margin-bottom: auto;
        font-weight: 300;
        line-height: 1;
        letter-spacing: -.32rem;
        font-size: 4rem;
        margin-bottom: auto;
    }
.card-timeline .text {
        margin-top: auto;
        line-height: 2.4rem;
    }
.card-timeline .title-3 {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
@media (min-width: 841px) {
        .card-timeline .year {
            font-size: 6rem;
        }

        .card-timeline img {
            aspect-ratio: 413/224;
        }

        .card-timeline .title-3 {
            font-size: 2.4rem;
        }
    }
.card-solution {
    background-color: var(--color-3);
    border-radius: 1rem;
    overflow: clip;
    gap: 1.6rem;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.card-solution .card-content {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        flex: 1;
    }
.card-solution .picto {
        margin-top: calc(-3.2rem - 4.4rem);
        margin-bottom: .6rem;
        border: 7px solid var(--color-3)
    }
.card-solution picture {
        width: 100%;
        overflow: hidden;
        background-color: rgba(0, 0, 0, .1);
    }
.card-solution picture img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
        }
.card-solution .text {
        margin-bottom: 2.4rem;
    }
.card-solution .btn {

        margin-top: auto;
        width: 100%;
    }
@media (max-width: 1140px) {
        .card-solution picture {
            aspect-ratio: 363/204;
        }

        .card-solution .card-content {
            padding: 1.6rem;
        }

        .card-solution .title {
            margin-bottom: 1rem;
        }
    }
@media (min-width: 1141px) {
        .card-solution picture {
            aspect-ratio: 437/226;
        }

        .card-solution .card-content {
            padding: 3.2rem 2.4rem;
        }

        .card-solution .title {
            margin-bottom: 2rem;
        }
    }
.card-auto {
    display: grid;
    height: 100%;
}
.card-auto .content {
        display: flex;
        border-radius: 1rem;
        color: var(--color-text);
    }
.card-auto .part {
        flex: 1;
    }
.card-auto .part .title {
            font-weight: 700;
            color: var(--color-2);
            font-family: var(--font-2);
        }
@media (max-width: 1140px) {
        .card-auto .content {
            flex-direction: column;
            background: var(--color-3);
            padding: 2rem;
        }


        .card-auto picture {
            display: none;
        }

        .card-auto .part {
            margin-bottom: 2rem;
        }

            .card-auto .part .title {
                margin-bottom: 1.6rem;
                font-size: 2rem;
            }
    }
@media (min-width: 1141px) {
        .card-auto picture {
            grid-area: 1/1;
            overflow: hidden;
            border-radius: 1rem;
        }

            .card-auto picture img {
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
                aspect-ratio: 1009/605;
            }

        .card-auto .content {
            grid-area: 1/1;
            align-self: end;
            background: #fff;
            border-radius: 1rem;
            padding: 2rem 3.2rem;
            margin: 3.2rem;
            display: flex;
            color: var(--color-text);
        }
            .card-auto .part .title {
                margin-bottom: 2.6rem;
                font-size: 32px;
            }
    }
.card-profit {
    text-align: left;
    box-sizing: border-box;
    align-items: center;
    height: 100%;
}
.card-profit .inner {
        height: -moz-max-content;
        height: max-content;
        align-self: center;
    }
.card-profit .rte ul {
        /*list-style-position: inside; */
    }
.card-profit .suptitle {
        justify-self: center;
        font-size: 1.5rem;
        font-weight: 600;
        text-transform: uppercase;
    }
.card-profit .title {
        font-weight: 700;
        font-style: normal;
        line-height: normal;
        font-family: var(--font-2);
         text-align: center;
    }
.card-profit .cta {
        margin-top: auto;
    }
.card-profit .hide {
        display: grid;
    }
.card-profit .hide .rte {
            visibility: hidden;
            grid-area: 1/1;
        }
.card-profit .hide .picto {
            grid-area: 1/1;
            align-self: end;
        }
.card-profit .picto {
        justify-self: center;
        width: 4.5rem;
        height: 4.5rem;
        flex: 0 0 4.5rem;
        --waves: var(--color1, var(--color-3));
    }
.card-profit .picto img {
            width: 3.8rem;
            height: 3.8rem;
        }
@media (max-width: 1140px) {
.card-profit {
        display: flex;
        flex-direction: column;
        align-content: center
}

        .card-profit .picto {
            margin-bottom: 2.4rem;
        }

        .card-profit .hide {
            display: none
        }

        .card-profit .suptitle {
            margin-bottom: 3.6rem;
        }

        .card-profit .title {
            font-size: 2.8rem;
            margin-bottom: 1.4rem;
        }

    }
@media (min-width: 1141px) {
.card-profit {
        padding: 0 8rem 0;
        display: grid
}

        .card-profit .inner {
            grid-area: 1/1;
            align-self: center;
            margin-top: 2rem;
            margin-bottom: 4rem;          padding-left: 2rem;
            padding-right: 2rem;
        }

        .card-profit .title {
            font-size: 3.2rem;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }

        .card-profit .text {
            font-size: 1.6rem;

        }
  

            .card-profit .text ul,
            .card-profit .text ol {
                text-align: left;
                display: flex;
                flex-direction: column;
               /* align-items: center; */
            }

                .card-profit .text ul li, .card-profit .text ol li {
                    text-align: left;
                }

        .card-profit .suptitle {
            grid-area: 1/1;
            align-self: start;
            margin-top: 2rem;
        }

        .card-profit .picto {
            grid-area: 1/1;
            align-self: start;
            margin-top: 15%;
        }
    }
@media (min-width: 1441px) {
        .card-profit .title {
            font-size: 4.2rem;
            margin-top: 3rem;
            margin-bottom: 2rem;

        }

        .card-profit .text {
            font-size: 1.8rem
        }

        .card-profit .picto {
            margin-top: 0;
            margin-top: -4.5rem;
        }
    }
.card-list {

    color: var(--color-text);
    height: 100%;
}
.card-list a {
        display: grid;
        align-items: start;
        height: 100%;
    }
.card-list img {
        scale: 1.05;
        transition: scale 1s ease;
    }
.card-list picture {
        grid-area: 1/1;
        overflow: hidden;
        border-radius: 1rem;
        height: 100%;
    }
.card-list .content {
        grid-area: 1/1;
        background-color: #fff;
        align-self: end;
        margin: 2.4rem;
        border-radius: 1rem;
        padding: 0 2.4rem 2.4rem 2.4rem;
        text-align: center;
        box-sizing: border-box;
        z-index: 2;
    }
.card-list .content .picto {
            width: 5.4rem;
            height: 5.4rem;
            border: 7px solid #fff;
            margin-top: -4rem;
            margin-bottom: 1rem;
        }
.card-list .content .picto img {
                width: 3.6rem;
                height: 3.6rem
            }
.card-list img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        aspect-ratio: 1;
    }
.card-list .cta {
        margin-top: 2.4rem;
    }
@media (max-width: 840px) {
        .card-list .content {
            padding: 1rem;
        }

            .card-list .content .picto {
                margin-bottom: 0;
            }

        .card-list .cta {
            margin-top: 1.4rem;
        }


    }
.card-download a {
        background: var(--color1, var(--color-3));
        display: flex;
        align-items: center;
        border-radius: 1rem;
        overflow: hidden;
        color: var(--color-text);
    }
.card-download .content {
        padding: 2.4rem;
        display: grid;
        gap: 1rem
    }
.card-download h3 {
        font-weight: 400;
        line-height: 1;
    }
.card-download .picto {
        transition: background-color .3s ease;
        margin: 0 2.4rem 0 auto
    }
.card-download .file {
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        text-transform: uppercase;
        color: var(--color-2)
    }
.card-download img {
        width: 13rem;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
@media (max-width: 1140px) {
        .card-download a {
            flex-wrap: wrap;
        }

        .card-download picture {
            width: 100%;
            height: 11.6rem;
            flex: 1 1 100%;
        }

        .card-download img {
            width: 100%;
            height: 100%;
        }

        .card-download .content {
            flex: 1;
        }

        .card-download h3 {
            font-size: 1.6rem;
            line-height: 150%;
        }
    }
@media (min-width: 1141px) {
        .card-download h3 {
            font-size: 1.8rem;

        }
        .card-download picture{
            align-self: stretch;
        }
            .card-download:hover .picto{
                background-color: rgb(0, 144, 170);;
            }
    }
/* strates */
.strate-infinite_loop header {
        text-align: center;
    }
.strate-infinite_loop .marquee {
        display: grid;
        margin-bottom: 1rem;
        overflow: hidden;
        grid-column: full;
    }
.strate-infinite_loop .marquee:last-of-type {
            margin-bottom: 0;
        }
.strate-infinite_loop .line {
        display: flex;
        gap: 1rem;
        translate: none;
        scale: none;
        will-change: transform;
        transform: translate3d(0, 0, 0);
    }
.strate-infinite_loop li {
        background-color: var(--color1, var(--color-3));
        width: 18.6rem;
        height: 9.4rem;
        border-radius: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
       
    }
@media (max-width: 1140px) {
.strate-infinite_loop {
        padding: 0
}

        .strate-infinite_loop img {
            max-height: 12rem;
            max-width: 13rem;
            height: 100%;
            -o-object-fit: contain;
               object-fit: contain;
        }
    }
@media (min-width: 1141px) {
        .strate-infinite_loop header {
            grid-column: ctr;
        }

        .strate-infinite_loop .line {
            gap: var(--gap);
        }

        .strate-infinite_loop .marquee {
            margin-bottom: var(--gap);
        }

        .strate-infinite_loop li {
            width: 30.6rem;
            height: 15.6rem;
        }

        .strate-infinite_loop img {
            max-height: 11rem;
            max-width: 28rem;
            height: 100%;
            -o-object-fit: contain;
               object-fit: contain;
        }
    }
.strate-cross_navigation .slider {
        --offset: 6rem; 
        --nb: 1;
    }
.strate-cross_navigation .slider-navigation {
        grid-row: last-line;
        margin-top: 2rem;
        grid-column: ctr;
    }
@media (max-width: 1140px) {
        .strate-cross_navigation .slider {
            --nb: 2;
        }
    }
@media (max-width: 840px) {
        .strate-cross_navigation .slider {
            --nb: 1;
        }
    }
@media (min-width: 1141px) {
        .strate-cross_navigation header {
            grid-column: var(--ctr) / center;
        }

        .strate-cross_navigation .slider-content {
            display: flex;
            gap: var(--gap);
        }

            .strate-cross_navigation .slider-content .item {
                flex: 1
            }
    }
.strate-download header {
        grid-column:  var(--ctr);
    }
.strate-download .list {
        display: grid;
        gap: 2rem;
        grid-column: var(--ctr);
    }
@media (max-width: 1140px) {
        
    }
.strate-download.ctr-xs header {
            grid-column: ctr-xs;
        }
.strate-hightlight .list {
        display: grid;
        gap: var(--gap);
    }
@media (max-width: 1140px) {
        .strate-hightlight header {
            margin-bottom: 4rem;
        }

            .strate-hightlight header .btn {
                justify-self: start;
            }
    }
@media (min-width: 841px) {
             .strate-hightlight .list {
            grid-column: ctr;
            grid-template-columns: repeat(2, 1fr);
        }
     }
@media (min-width: 1141px) {
        .strate-hightlight header {
            grid-template-columns: 1fr .5fr;
            grid-column: ctr;
        }

        .strate-hightlight header {
            margin-bottom: 4.8rem;
        }

            .strate-hightlight header .text,
            .strate-hightlight header .title {
                grid-column: 1;
            }

            .strate-hightlight header .btn {
                grid-column: 2;
                align-self: end;
                justify-self: end;
            }
                .strate-hightlight header:has(.text) .btn {
                    grid-row: 1/-3;
                }

        .strate-hightlight .list {
            grid-column: ctr;
            grid-template-columns: repeat(3, 1fr);
        }
    }
.strate-keynumbers header {
        justify-items: start;
    }
.strate-keynumbers:has(.is_title_center) header {
            text-align: center;
            justify-content: center;
            justify-items: center;
            grid-column: ctr-xs;

        }
@media (max-width: 1140px) {
.strate-keynumbers {
        display: grid
}

        .strate-keynumbers .slider {
            --offset: 4rem;
        }

        .strate-keynumbers .slider-navigation {
            margin-top: 1.6rem;
            justify-self: end;
            grid-column: ctr;
            grid-row: 2;
        }

        .strate-keynumbers .slider-btn {
            background-color: var(--color1,var(--color-3));
            color:  var(--color2,var(--color-text));
        }

        .strate-keynumbers picture {
            display: none;
        }
    }
@media (min-width: 841px) {
        .strate-keynumbers .slider {
            --nb: 2;
        }
    }
@media (min-width: 1141px) {
.strate-keynumbers {
        --header: var(--ctr)/center;
        --content: var(--ctr);
        --picture: ctr/center
}

        .strate-keynumbers .slider-navigation {
            display: none;
        }

        .strate-keynumbers .slider-content {
            display: flex;
            gap: var(--gap);
            grid-column: var(--ctr);
            flex-wrap: wrap;
        }

            .strate-keynumbers .slider-content .item {
                flex: 1 auto;
            }
            .strate-keynumbers.cols .slider-content, .strate-keynumbers.has_image .slider-content {
                display: grid;
                grid-template-columns: 1fr 1fr;
                align-content: start;
            }
            .strate-keynumbers.cols .slider {
                --content: right/ctr;
                grid-row: 1;
            }

            .strate-keynumbers.cols .card-keynumber {
                aspect-ratio: 267/207;
            }

            .strate-keynumbers.cols header {
                --header: ctr / center;
            }
                .strate-keynumbers.cols.reverse header {
                    --header: center / ctr;
                }

                .strate-keynumbers.cols.reverse .slider {
                    --content: ctr / left;
                }
            .strate-keynumbers.has_image .card-keynumber {
                aspect-ratio: 323/300;
            }

            .strate-keynumbers.has_image picture {
                grid-row: 2;
                overflow: hidden;
                border-radius: 1rem;
                aspect-ratio: 323/300;
            }

            .strate-keynumbers.has_image img {
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
            }

            .strate-keynumbers.has_image .slider {
                grid-row: 2;
                --content: center / ctr;
            }
                .strate-keynumbers.has_image.reverse picture {
                    --picture: center / ctr;
                }

                .strate-keynumbers.has_image.reverse .slider {
                    --content: ctr / center;
                }
                .strate-keynumbers.ctr-sm:not(.cols):not(.has_image) header, .strate-keynumbers.ctr-xs:not(.cols):not(.has_image) header {
                    --header: var(--ctr);
                }



        .strate-keynumbers header {
            grid-column: var(--header);
        }

        .strate-keynumbers picture {
            grid-column: var(--picture);
        }

        .strate-keynumbers .slider {
            grid-column: var(--content);
        }
    }
.strate-media {
    text-align: center;
}
.strate-media header {
        justify-content: center;
    }
.strate-media picture {
        overflow: hidden;
    }
.strate-media picture img {
            width: 100%;
            height: auto
        }
.strate-media .privacy {
        line-height: 1.25;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: .7rem;
        height: 100%;
        background-color: var(--color1, var(--color-3));
        color: var(--color-text);
        padding: 1rem;
        box-sizing: border-box;
    }
.strate-media .privacy .title {
            font-size: 1.8rem;
        }
.strate-media .privacy .btn-access {
     
            display: inline-block;
        }
.strate-media .privacy .btn-accept {
            margin-top: 0;
        }
.strate-media .privacy.show {
            display: flex;
        }
.strate-media .video {
        aspect-ratio: 16/9;
        width: 100%;
        height: auto;
        background-color: #000;
    }
.strate-media iframe {
        aspect-ratio: 16/9;
        width: 100%;
        height: auto;
    }
@media (min-width: 481px) {

            .strate-media .privacy .title {
                font-size: 2.8rem;
            }

            .strate-media .privacy .btn-access {
                margin-top: 1rem;
                display: inline-block;
            }

            .strate-media .privacy .btn-accept {
                margin-top: .5rem;
            }
    }
@media (min-width: 841px) {
        .strate-media .privacy {
            gap: 3rem;
            padding: 4rem;
        }
                .strate-media .privacy .rte p {
                    line-height: 1;
                }

            .strate-media .privacy .btn-access {
                margin-top: 2rem;

            }

            .strate-media .privacy .title {
                font-size: 4rem;
            }
    }
@media (min-width: 1141px) {
        .strate-media .privacy {
            gap: 3rem;
        }

            .strate-media .privacy .title {
                font-size: 4rem;
            }

            .strate-media .privacy .btn-accept {
                margin-top: 2rem;
            }

        .strate-media header {
            grid-column: var(--ctr);
        }

        .strate-media picture {
            grid-column: var(--ctr);
        }

        .strate-media .video {
            grid-column: var(--ctr);
        }
    }
.legend {
    margin-top: 3.2rem;
    grid-column: var(--ctr);
    font-size: 1.4rem;
}
.strate-quotes_cross picture {
        overflow: hidden;
        border-radius: 1rem;
    }
.strate-quotes_cross img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
.strate-quotes_cross .images {
        display: grid;
    }
.strate-quotes_cross .images .image {
            grid-area: 1/1;
            display: grid;
        }
.strate-quotes_cross .images .image img {
                opacity: 0;
                scale: 1.1;
                transition: scale .6s ease, opacity .6s ease;
            }
.strate-quotes_cross .images .image.active img {
                    opacity: 1;
                    scale: 1;
                }
.strate-quotes_cross .slider {
        overflow: hidden;
        border-radius: 1rem;
        --nb: 1;
    }
.strate-quotes_cross .slider-navigation {
        grid-column: ctr;
        align-self: end;
    }
.strate-quotes_cross .slider-btn {
        background-color: var(--color2, #fff);
        color: var(--text, var(--color-text));
    }
@media (max-width: 1140px) {
        .strate-quotes_cross img {
            aspect-ratio: 1;
        }

        .strate-quotes_cross header {
            grid-row: -2
        }

        .strate-quotes_cross .images {
            grid-row: -1;
            margin-bottom: 1.5rem;
            grid-column: var(--ctr);
        }

            .strate-quotes_cross .images .image {
                grid-template-columns: 1fr 1fr;
                grid-gap: 1.5rem;
            }

        .strate-quotes_cross .slider {
            grid-row: 2;
            grid-column: var(--ctr);
        }

        .strate-quotes_cross .slider-navigation {
            z-index: 2;
            margin: 2rem 1.6rem;
            grid-row: 1;

        }

        .strate-quotes_cross .slider-wrapper {
            grid-area: 1/1;
        }
    }
@media (min-width: 1141px) {
        .strate-quotes_cross header {
            grid-column: var(--ctr)/center;
        }

        .strate-quotes_cross img {
            aspect-ratio: 437 /250;
        }

        .strate-quotes_cross .images {
            grid-column: var(--ctr)/left-sm;
        }

            .strate-quotes_cross .images .image {
                grid-gap: 2.2rem;
            }

        .strate-quotes_cross .slider {
            grid-column: left-sm/var(--ctr);
        }

            .strate-quotes_cross .slider .item:last-child {
                margin-right: var(--right);
            }

        .strate-quotes_cross .slider-wrapper {
            grid-row: 1;
        }

        .strate-quotes_cross .slider-navigation {
            grid-row: 1;
            grid-column: 1/-1;
            z-index: 2;
            margin: 5rem;
        }

        .strate-quotes_cross .card-quote_cross {
            grid-column: 5/-1;
        }
            .strate-quotes_cross.ctr-sm header, .strate-quotes_cross.ctr-xs header {
                grid-column: var(--ctr);
            }
    }
.strate-quotes {
    z-index: 0;
    position: relative;
    --header: ctr;
    --slider: ctr;
}
.strate-quotes header {
        grid-row: 1;
    }
.strate-quotes .slider {
        --nb: 1;
    }
.strate-quotes .slider-btn {
        background: var(--color1, var(--color-3));
        color: var(--color-text);
    }
.strate-quotes .slider-navigation {
       /* grid-column: ctr; */
       grid-column: 1/-1;
    }
@media (max-width: 840px) {
        .strate-quotes .slider {
            --nb: 1;
        }

        .strate-quotes .slider-navigation {
            grid-row: 2;
            z-index: 2;
            align-self: end;
            margin-top: 1.6rem;
        }
    }
@media (min-width: 841px) {
.strate-quotes {
        --header:var(--ctr) /right;
        --slider: var(--ctr)
}
        
        .strate-quotes .slider{
            --nb:2;
        }

        .strate-quotes .slider-navigation {
            margin-bottom: 4rem;
            margin-top: -11rem;
        }
    }
@media (min-width: 1141px) {
        .strate-quotes.ctr-sm,
        .strate-quotes.ctr-xs {
            --header: var(--ctr)/right;
            --slider: var(--ctr)/fluid;
        }
    }
.strate-quotes header {
        grid-column: var(--header);
    }
.strate-quotes .slider {
        grid-column: var(--slider);
    }
.strate-quotes-slider {
    z-index: 0;
    position: relative;
    background-color: #fff;
    color: var(--color-text);
    --header: ctr-xs;
    --slider: ctr;
}
.strate-quotes-slider .card-quote {
        --color1: var(--color2);
        --color-text: var(--color4);
    }
.strate-quotes-slider header {
        grid-row: 1;
        justify-content: center;
        text-align: center;
    }
.strate-quotes-slider .slider {
        overflow: hidden;
        border-radius: 1rem;
        --nb: 1;
        background-color: var(--color2, var(--color-3));
    }
.strate-quotes-slider .slider .item:last-child {
            margin-right: var(--right);
        }
.strate-quotes-slider .slider-btn {
        background: #fff;

     /*   &[aria-disabled=true] {
            opacity: 1;
            pointer-events: initial;
        }*/
    }
.strate-quotes-slider .slider-btn:hover {
            background: var(--color-2);
        }
.strate-quotes-slider .slider-navigation {
        grid-row: 1;
        align-self: end;
        margin-right: 1.6rem;
        margin-bottom: 1.6rem;
        grid-column: ctr;
        z-index: 2;
    }
.strate-quotes-slider .slider-wrapper {
        grid-row: 1;
    }
.strate-quotes-slider .logo {
        display: none;
    }
.strate-quotes-slider .pattern {
        margin-top: -30rem;
        height: 34.5rem;
        background: var(--color-2) url(./img/pattern/pattern-6.svg) repeat 0 0;
        background-size: 28.1rem 13.3137256rem; /*.4754902 */
        background-size: 408px 194px; /*.4754902 */
        grid-column: full;
        z-index: -1
    }
@media (max-width: 840px) {
        .strate-quotes-slider .slider {
            --nb: 1;
        }

        .strate-quotes-slider .slider-navigation {
            grid-row: 2;
            z-index: 2;
            align-self: end;
            margin: 1.6rem;
        }
    }
@media (min-width: 841px) {
.strate-quotes-slider {
        --header: ctr/right;
        --slider: ctr
}

        .strate-quotes-slider .slider-navigation {
            margin: 4rem;
        }
    }
@media (min-width: 1141px) {

        .strate-quotes-slider.ctr-sm,
        .strate-quotes-slider.ctr-xs {
            --header: ctr/right;
            --slider: ctr
        }
    }
.strate-quotes-slider header {
        grid-column: var(--header);
    }
.strate-quotes-slider .slider {
        grid-column: var(--slider);
    }
.strate-quote {
    grid-column: ctr;
}
@media (min-width: 841px) {
        .strate-quote .card-quote {
            grid-column: ctr-sm;
        }
    }
@media (min-width: 1141px) {
        .strate-quote .card-quote {
            grid-column: var(--ctr);
        }
    }
.strate-slider_auto header {
        grid-column: ctr;
    }
.strate-slider_auto .item {
        width: 100%;
    }
.strate-slider_auto .card-quote {
        background: none;
        border-radius: 0;
    }
@media (max-width: 1140px) {
.strate-slider_auto {
        --ctr: ctr!important
}
 
        .strate-slider_auto .sticky {
            display: contents
        }

        .strate-slider_auto .card-quote {
            border-top: 1px solid rgba(0, 0, 0, 0.15);
            background: none;
            border-radius: 0;
            padding: 2rem 0 0 0;
        }

            .strate-slider_auto .card-quote .text {
                font-size: 1.8rem;
                letter-spacing: -0.18px;
                line-height: 2.5rem;
            }

            .strate-slider_auto .card-quote cite {
                gap: 0.4rem;
            }

            .strate-slider_auto .card-quote .name,
            .strate-slider_auto .card-quote .function {
                font-size: 1.2rem;
            }

            .strate-slider_auto .card-quote .logo {
                width: 10.2rem;
                height: auto;
            }

        .strate-slider_auto .slider {
            --offset: 5rem;
        }

        .strate-slider_auto .slider-navigation {
            margin-top: 2.4rem;
            grid-column: ctr;
            grid-row: last-line
        }
    }
@media (min-width: 1141px) {
.strate-slider_auto {
        height: calc(100vh * var(--nb))
}

        .strate-slider_auto header {
            grid-column: ctr;
            margin-bottom: 3rem;
            gap: 1.5rem;
            margin-top: 6rem;
        }
                .strate-slider_auto header .rte h3{
                    margin-bottom: 1rem;
                }

        .strate-slider_auto .sticky {
            height: 100vh;
            position: sticky;
            top: 0;
            grid-column: full;
            display: grid;
            grid-template-columns: subgrid;
            overflow: hidden;
            align-content: center;
            box-sizing: border-box;
        }

        .strate-slider_auto .marquee {
            grid-column: ctr / ctr;
            container-type: inline-size;
            will-change: translate;
        }

        .strate-slider_auto .slider-content {
            display: grid;
            gap: var(--gap);
            grid-auto-flow: column;
            width: -moz-max-content;
            width: max-content;
        }

        .strate-slider_auto .item {
            max-width: 74.5cqw;
        }

        .strate-slider_auto .card-quote {
            border-left: 1px solid rgba(0, 0, 0, 0.15);
            flex: .9;
            margin-left: 3.5rem;
            padding: 0 0 0 3.5rem;
        }

            .strate-slider_auto .card-quote .text {
                font-size: 1.8rem;
                letter-spacing: -0.18px;
                line-height: 2.2rem;
            }

            .strate-slider_auto .card-quote .name,
            .strate-slider_auto .card-quote .function {
                font-size: 1.2rem;
            }

            .strate-slider_auto .card-quote .logo {
                width: 13.3rem;
                height: 3.2rem;
            }

        .strate-slider_auto .slider-navigation {
            display: none;
        }

        @media (max-height: 900px) {
            .strate-slider_auto .item {
                max-width: 54.5cqw;
            }
        }
    }
.strate-slider_profit .images {
        display: grid;
    }
.strate-slider_profit .images li {
            grid-area: 1/1
        }
.strate-slider_profit .images picture {
            overflow: hidden;
            border-radius: 1rem;
            width: 100%;
        }
.strate-slider_profit .images picture.active img {
                    scale: 1;
                    opacity: 1;
                }
.strate-slider_profit .images img {
            width: 100%;
            height: auto;
            aspect-ratio: 1;
            -o-object-fit: cover;
               object-fit: cover;
            scale: 1.1;
            opacity: 0;
            transition: scale 1.2s ease, opacity 1.2s ease;
        }
.strate-slider_profit .slider_multi {
        display: grid;
    }
.strate-slider_profit .items {
        display: grid;
        grid-area: 1/1;
    }
.strate-slider_profit .slider-btn {
        z-index: 2;
        background: var(--color1, var(--color-3));
    }
@media (min-width: 1141px) {
            .strate-slider_profit .slider-btn:hover {
                background-color: var(--color-1);
            }
        }
.strate-slider_profit .slider-pagination {
        display: flex;
        gap: 2rem;
        justify-self: center;
        z-index: 3;
        height: 10px;
        align-self: end;
    }
.strate-slider_profit .slider-pagination button {
            width: 10px;
            height: 10px;
            background-color: var(--color-1);
            border-radius: 50%;
        }
.strate-slider_profit .slider-pagination button.active,
            .strate-slider_profit .slider-pagination button:hover {
                background-color: var(--color-2);
            }
.strate-slider_profit .item {
        grid-area: 1/1;
        z-index: 0;
        opacity: 0;
        transition: opacity 1.2s ease;
    }
.strate-slider_profit .item.active {
            opacity: 1;
            z-index: 1;
        }
@media (max-width: 1140px) {
        .strate-slider_profit .images {
            margin-bottom: 2.8rem;
        }

            .strate-slider_profit .images li {
                grid-area: 1/1
            }

            .strate-slider_profit .images img {
                height: auto;
                aspect-ratio: 364/254;
            }

        .strate-slider_profit .item {
            margin-bottom: 3rem;
        }

        .strate-slider_profit .slider-btn {
            align-self: end;
            grid-row: 2;
        }

        .strate-slider_profit .slider-pagination {
            grid-row: 2;
            grid-column: 1;
            align-self: center;
        }
    }
@media (min-width: 1141px) {

        .strate-slider_profit .images {
            grid-column: ctr /left;
        }

            .strate-slider_profit .images li {
                grid-area: 1/1
            }

            .strate-slider_profit .images picture {
                height: 100%;
            }

            .strate-slider_profit .images img {
                aspect-ratio: 1;
                height: 100%;
            }

        .strate-slider_profit .slider_multi {
            grid-column: left / ctr;
            display: grid;
        }

        .strate-slider_profit .slider-btn {
            align-self: center;
            grid-area: 1/1;
        }

            .strate-slider_profit .slider-btn.prev {
                margin-left: 2rem;
            }

            .strate-slider_profit .slider-btn.next {
                margin-right: 2rem;
            }

        .strate-slider_profit .slider-pagination {
            grid-area: 1/1;
            margin-bottom: 1rem;
        }
    }
.strate-list .labels {
        margin-top: auto;
    }
.strate-list .labels a {
            padding: 2rem 0;
            font-family: var(--font-2);
            font-size: 2.4rem;
            font-size: 1.8rem;
            font-style: normal;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.8rem;
            box-sizing: border-box;
        }
.strate-list .labels a .picto {
                opacity: 0;
                transition: opacity .3s ease;
            }
.strate-list .labels a:hover {
                color: var(--color-2);
            }
.strate-list .items {
        display: grid;
        background-color: var(--color-3);
        border-radius: 1rem;
    }
.strate-list .items .item {
            grid-area: 1/1;
            opacity: 0;
            transition: opacity 1s ease;
            z-index: 0;
        }
.strate-list .items .item.show {
                opacity: 1;
                z-index: 1;
            }
.strate-list .items .item.show img {
                    scale: 1;
                }
@media (max-width: 840px) {
        .strate-list header {
            margin-bottom: 2rem;
        }

        .strate-list .slider-btn {
            grid-row: 1;
            align-self: center;
            z-index: 2;
        }

            .strate-list .slider-btn.prev {
                translate: -1rem;
            }

            .strate-list .slider-btn.next {
                translate: 1rem;
            }

        .strate-list .labels {
            display: grid;
            border-top: 1px solid #EFF2F8;
            border-bottom: 1px solid #EFF2F8;
        }

            .strate-list .labels .labels-wrapper {
                grid-row: 1;
                grid-column: 1;       display: grid;
            }

            .strate-list .labels .list {position:relative;
                display: grid;
                grid-auto-flow: column;
                gap: 3rem;
                overflow: auto;
                scrollbar-color: var(--color-gray-light) rgba(0, 0, 0, 0);
                scrollbar-width: thin;
                justify-content: start;
                /*overscroll-behavior-y: contain; */
               /* scroll-snap-type: y mandatory; */
            }

                .strate-list .labels .list li {
                    scroll-snap-align: start;
                }

                .strate-list .labels .list li:first-child {
                    margin-left: 4rem;
                }

                .strate-list .labels .list li:last-child {
                    padding-right: 4rem;
                }

            .strate-list .labels a {
                white-space: nowrap;
                /* border-top: 1px solid #EFF2F8; */

            }

                .strate-list .labels a .picto {
                    display: none;
                }
    }
@media (min-width: 841px) {
         .strate-list .slider-btn {
            display: none;
         }
        .strate-list header {
            grid-column: ctr / center;
            margin-bottom: 0;
            display: flex;
            flex-direction: column;
        }

        .strate-list .labels {
            border-top: 1px solid #EFF2F8;
        }

            .strate-list .labels a {
                width: 100%;
                padding: 1.2rem 0;
                border-bottom: 1px solid #EFF2F8;
            }

                .strate-list .labels a span {
                    display: flex;
                    gap: 1rem;
                    translate: -4rem;
                    transition: translate .3s ease;
                    align-items: center;
                }
                    .strate-list .labels a:hover span {
                        translate: 0;
                    }

                    .strate-list .labels a:hover .picto {
                        opacity: 1;
                    }

        .strate-list .items {
            grid-column: center / ctr;
            height: 100%;
        }


    }
@media (min-width: 1141px) {
        .strate-list header {
            grid-column: ctr / left;
        }

        .strate-list .items {
            grid-column: center / ctr;
        }
    }
@media (max-width: 1140px) {
        .strate-cols_list header {
            order: -1;
        }

        .strate-cols_list picture {
            order: -2;
            margin-bottom: 3rem;
            overflow: hidden;
        }

        .strate-cols_list img {
            width: 100%;
            height: auto;
            -o-object-fit: cover;
               object-fit: cover;
            aspect-ratio: 396/253;
        }

    }
@media (min-width: 1141px) {
        .strate-cols_list header {
            grid-column: var(--ctr) / center;
        }
                .strate-cols_list:not(:has(img)).ctr-sm header, .strate-cols_list:not(:has(img)).ctr-xs header {
                    grid-column: var(--ctr);
                }
            .strate-cols_list:has(img) picture {
                grid-row: 1/last-line;
                grid-column: full / center;
                overflow: hidden;
                position: relative;
                border-radius: 0 1rem 1rem 0;
                width: calc(100% - var(--ctr-width)/3.83)
            }

            .strate-cols_list:has(img) .grid {
                grid-row: 1;
            }

            .strate-cols_list:has(img) img {
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
                position: absolute;
                left: 0;
                top: 0;
            }

            .strate-cols_list:has(img) header {
                grid-row: 2;
                grid-column: left-sm/ ctr;
                margin-top: 3rem;
                margin-bottom: 3rem;
                margin-left: -6rem;
            }

            .strate-cols_list:has(img) .table {
                grid-row: 3;
                grid-column: left-sm/ ctr;
                margin-bottom: 3rem;
                margin-left: -6rem;
            }
    }
.table {
    border-radius: 1rem;
    overflow: hidden;
}
.table .col {
        flex: 1;
        display: grid;
        align-content: start;
    }
.table .col li {
            padding: 2rem 1.6rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
.table .col li:not(:first-child) {
                border-top: 1px solid #fff;
            }
.table .col li:first-child {
                font-weight: 700;
                font-size: 1.8rem;
                padding: 2.3rem 1.6rem;
                font-family: var(--font-2);
            }
.table .col.pattern {
            background-image: url(./img/table-pattern.jpg);
            background-size: cover;
            background-position: center;
            color: #fff;
        }
.table .col.pattern li:not(:first-child) {
                    border-top: 1px solid rgba(255, 255, 255, .5);
                }
.table .picto {
        width: 2.4rem;
        height: 2.4rem;
        flex: 0 0 2.4rem;
    }
@media (min-width: 1141px) {
.table {
        display: flex;
        font-size: 1.8rem
}
            .table .col li {
                padding: 2.8rem 2.8rem;
            }

                .table .col li:first-child {
                    font-size: 2rem;
                    padding: 3.2rem 3.2rem;
                }
    }
.strate-text_animate.enable {
        color: var(--color1, #25465f71);
    }
.strate-text_animate .grid {
        text-align: center;
        justify-items: center;
    }
.strate-text_animate .grid:has(.tag):after {
                content: "";
                display: block;
                width: 64px;
                height: 2px;
                background-color: var(--color-2);
                grid-column: ctr;
                margin-top: 4rem
            }
.strate-text_animate .tag {
        margin-bottom: 4rem;
    }
.strate-text_animate .text {
        grid-column: var(--ctr);
        font-size: 3.2rem;
        font-weight: 700;
        font-family: var(--font-2);
        line-height: 1.18;
    }
.strate-text_animate .char {
        color: inherit;
        will-change: transform;
        transition: color .3s cubic-bezier(.19, 1, .22, 1);
    }
.strate-text_animate .show {
        color: var(--color3, var(--color-1));
    }
@media (min-width: 1141px) {
        .strate-text_animate .text {
            font-size: 5.2rem;
        }
    }
.strate-text_image .grid {
        align-items: center;
    }
.strate-text_image picture {
        overflow: hidden;
        border-radius: 1rem;
    }
.strate-text_image picture img {
            width: 100%;
            height: auto;
            aspect-ratio: 1;
            -o-object-fit: cover;
               object-fit: cover;
        }
.strate-text_image .strate-content .title {
            margin-bottom: 2.4rem;
        }
.strate-text_image .cta {
        margin-top: 4rem;
    }
.strate-text_image .title-col {
            display: none;
            margin-bottom: 3.2rem;
        }
@media (max-width: 840px) {
        .strate-text_image picture {
            margin-bottom: 2rem;
            grid-column: var(--ctr);
        }

            .strate-text_image picture img {
                aspect-ratio: 364/253;
            }

        .strate-text_image .cta {
            margin-top: 3.2rem;
        }
    }
@media (min-width: 841px) {
.strate-text_image {

        --center: center;
        --content: var(--center) / var(--ctr);
        --picture: var(--ctr) / center
}
        .strate-text_image .cta {
            margin-top: 4rem;
        }
            .strate-text_image.title_col header {
                display: none;
            }

            .strate-text_image.title_col .title-col {
                display: block;
            }

        .strate-text_image.reverse {
            --content: var(--ctr) / var(--center);
            --picture: center / var(--ctr);
        }

        .strate-text_image picture {
            grid-column: var(--picture);
            grid-row: last-line;
        }

        .strate-text_image .strate-content {
            grid-column: var(--content);
            grid-row: last-line;
        }
    }
@media (min-width: 1141px) {
.strate-text_image {
        --picture: var(--ctr) / left
}

        .strate-text_image.reverse {
            --picture: right / var(--ctr);
        }

       .strate-text_image.ctr-sm,
        .strate-text_image.ctr-xs {
            --center: left;
        }

            .strate-text_image.ctr-sm.reverse, .strate-text_image.ctr-xs.reverse {
                --center: right;
            }
    }
.strate-text_picto {
    z-index: 0;
    position: relative;
}
.strate-text_picto .grid {
        justify-items: center;
        text-align: center;
    }
.strate-text_picto .picto {
        margin-bottom: 2rem;
        --waves: var(--color1, #EFF2F8);
    }
.strate-text_picto .text {
        font-size: 2.4rem;
        line-height: 3rem;
    }
@media (min-width: 1141px) {
        .strate-text_picto .text {
            font-size: 3.4rem;
            line-height: 4.4rem;
            grid-column: var(--ctr);
        }
    }
.strate-text_pictos .list {
        display: grid;
        gap: var(--gap);
    }
@media (min-width: 481px) {
        .strate-text_pictos .list {
            grid-template-columns: 1fr 1fr;
            justify-content: start;
        }
    }
@media (min-width: 1141px) {
.strate-text_pictos {
        text-align: center
}

        .strate-text_pictos header {
            grid-column: ctr-xs;
            justify-items: center;
        }

        .strate-text_pictos .list {
            grid-template-columns: repeat(3, 1fr);
            grid-column: var(--ctr);
        }
            .strate-text_pictos.has_pattern .card-picto {
                background-size: 100%;
                padding: 2.4rem;
                background-size: 100% 100%;
                background-repeat: no-repeat;
                background-position: 0 0;
            }
                    .strate-text_pictos.has_pattern li:nth-child(1) .card-picto {
                        background-image: url(./img/card-pattern-0.jpg);
                    }
                    .strate-text_pictos.has_pattern li:nth-child(2) .card-picto {
                        background-image: url(./img/card-pattern-1.jpg);
                    }
                    .strate-text_pictos.has_pattern li:nth-child(3) .card-picto {
                        background-image: url(./img/card-pattern-2.jpg);
                    }
                    .strate-text_pictos.has_pattern li:nth-child(4) .card-picto {
                        background-image: url(./img/card-pattern-3.jpg);
                    }

        .strate-text_pictos.cols:not(.ctr-xs) {
            text-align: left;
        }

            .strate-text_pictos.cols:not(.ctr-xs) header {
                grid-column: var(--ctr) / left;
                justify-items: start;
            }

            .strate-text_pictos.cols:not(.ctr-xs) .list {
                grid-column: center / var(--ctr);
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                align-content: start;
            }

            .strate-text_pictos.cols:not(.ctr-xs) .card-picto {
                text-align: left;
            }
    }
.strate-text .cta {
        margin-top: 3.4rem;
    }
.strate-text.cols header .text {
                display: none
            }
.strate-text.cols header .cta {
                display: none
            }
@media (min-width: 1141px) {
        .strate-text.cols:not(.ctr-xs):not(.ctr-sm) {
            --left: left;
            --right: right;
            --header: var(--ctr) / var(--left);
            --content: center / var(--ctr);

            /* &.reverse {
                --header: var(--right) / var(--ctr);
                --content: var(--ctr) / center;
            }*/

            /* &.ctr-sm {
                --left: center;
                --right: center;
            }*/

            /* &.ctr-xs {
                --header: var(--ctr);
                --content: var(--ctr);
            }*/
        }

            .strate-text.cols:not(.ctr-xs):not(.ctr-sm) >* {
                grid-row: 1;
            }

            .strate-text.cols:not(.ctr-xs):not(.ctr-sm) header {
                grid-column: var(--header);
            }

            .strate-text.cols:not(.ctr-xs):not(.ctr-sm) .strate-content {
                grid-column: var(--content);
            }
    }
.strate-steps picture {
        align-self: start;
        overflow: hidden;
        border-radius: 1rem;
    }
.strate-steps img {
        width: 100%;
        height: auto;
        -o-object-fit: cover;
           object-fit: cover;
    }
@media (max-width: 840px) {
.strate-steps {
        text-align: left
}

        .strate-steps header {
            grid-column: var(--ctr);
        }

        .strate-steps picture {
            grid-column: var(--ctr);
            margin-bottom: 3rem;
        }

        .strate-steps img {
            aspect-ratio: 364/254;
        }
    }
@media (min-width: 841px) {
.strate-steps {
        text-align: left;

        --left: left;
        --right: right;
        --header: var(--ctr) / center;
        --picture: var(--ctr) / var(--left);
        --content: center / var(--ctr)
}

        .strate-steps img {
            aspect-ratio: 1;
        }

        .strate-steps .list-steps,
        .strate-steps picture {
            grid-row: last-line;
            align-self: center;
        }

        .strate-steps header {
            grid-column: var(--header);
            margin-bottom: 6rem;
        }

        .strate-steps picture {
            grid-column: var(--picture);
        }

        .strate-steps .list-steps {
            grid-column: var(--content);
        }

        .strate-steps.reverse {
            --picture: var(--right) / var(--ctr);
            --content: var(--ctr) / center;
        }

        .strate-steps.ctr-sm,
        .strate-steps.ctr-xs {
            --left: center;
            --right: center;
        }
    }
.list-steps .item {
        position: relative;
    }
.list-steps .item:before {
            content: "";
            background-color: #EFF2F8;
            position: absolute;
        }
.list-steps .item:last-child:before {
                display: none;
            }
.list-steps .picto {
        margin-bottom: 3rem;
        font-size: 1.8rem;
        font-weight: 600;
        --waves: #EFF2F8;
    }
.list-steps h3 {
        margin-bottom: 1.2rem;
        font-size: 2rem;
        font-weight: 600;
    }
@media (max-width: 840px) {
.list-steps {
        grid-column: var(--ctr);
        display: grid;
        align-content: start;
        gap: 3rem
}

        .list-steps .item {
            display: flex;
            gap: 1.8rem;
        }

            .list-steps .item:before {
                width: 2px;
                height: calc(100% - 4rem);
                top: 6rem;
                left: 2.2rem;
            }

            .list-steps .item h3 {
                margin-bottom: 1.2rem;
                font-size: 1.8rem;
            }

            .list-steps .item .content {
                margin-top: 1rem;
            }

            .list-steps .picto:after,
            .list-steps .picto:before {
                left: 29px;
                right: auto;
                top: auto;
                width: 2px;
                height: 100%;
            }

            .list-steps .picto:after {
                top: 60px;
            }

            .list-steps .picto:before {
                bottom: 100%;
            }
    }
@media (min-width: 841px) {
        .list-steps.cols {
            display: grid;
            align-content: start;
            gap: 3rem;
        }

            .list-steps.cols .item {
                display: flex;
                gap: 1.8rem;
            }

                .list-steps.cols .item:before {
                    width: 2px;
                    height: calc(100% - 4rem);
                    top: 6rem;
                    left: 2.2rem;
                }

                .list-steps.cols .item h3 {
                    margin-bottom: 1.2rem;
                    font-size: 1.8rem;
                }

                .list-steps.cols .item .content {
                    margin-top: 1rem;
                }

        .list-steps:not(.cols) {
            display: flex;
            gap: 10rem;
            justify-content: center;
        }

            .list-steps:not(.cols) .item {
                flex: 0 1 34rem;
            }

                .list-steps:not(.cols) .item:before {
                    height: 2px;
                    top: 2.2rem;
                    width: calc(100% + 3rem);
                    left: calc(50% + 3.5rem);

                }
                    .list-steps:not(.cols).animate .item:before {
                        width: calc(100% - 2rem);
                        left: calc(50% + 6rem);
                    }
    }
.strate-timeline_text picture{
        display: none;
    }
@media (max-width: 840px) {
        .strate-timeline_text header {
            grid-column: var(--ctr);
        }
    }
@media (min-width: 841px) {
.strate-timeline_text {
        text-align: center
}

        .strate-timeline_text header {
            grid-column: ctr-xs;
            justify-items: center;
        }
    }
.strate-timeline .dates {
        margin-top: 1rem;
        grid-column: full;
        overflow: hidden;
        display: grid;
        grid-template-columns: subgrid;
        margin-top: 2rem;
        --percent: 0;
    }
.strate-timeline .dates .inner {
            grid-column: ctr/full;
            padding-bottom: 8px;
        }
.strate-timeline .dates .controls {
            display: flex;
            gap: 50rem;
            margin-bottom: -4px;
        }
.strate-timeline .dates .timeline {
            width: 100%;
            height: 1px;
            background-color: #ccc;
        }
.strate-timeline .dates .timeline:after {
                content: "";
                width: var(--percent);
                height: 1px;
                background-color: var(--color-2);
                display: block
            }
.strate-timeline .dates button {
            display: flex;
            flex-direction: column;
            align-items: center;
            font-size: 2rem;
            font-weight: 600;
            gap: 1rem;
            justify-content: end;
            transition: color .3s ease;
            position: relative;
            width: 5rem;
            padding-bottom: 2rem;
        }
.strate-timeline .dates button:after {
                content: "";
                position: absolute;
                z-index: 1;
                bottom: 0;
                width: 8px;
                height: 8px;
                background-color: #fff;
                border-radius: 50%;
                transition: all .3s ease;
                border: 4px solid var(--color-2);
                box-sizing: border-box;
            }
.strate-timeline .dates button:before {
                content: "";
                position: absolute;
                z-index: 1;
                width: 5rem;
                height: 8px;
                background-color: var(--color2, #fff);
                bottom: 0;
            }
.strate-timeline .dates button:hover,
            .strate-timeline .dates button.active {
                color: var(--color-2);
            }
.strate-timeline .dates button:hover:after, .strate-timeline .dates button.active:after {
                    width: 16px;
                    height: 16px;
                    bottom: -4px
                }
.strate-timeline .test {
        width: -moz-max-content;
        width: max-content
    }
.strate-timeline .slider {
        --nb: 1;
        --gap: 2rem;
        --ctr: ctr;
        grid-column: var(--ctr);
    }
.strate-timeline .slider:not(.inactive) .item:last-child {
        margin-right: var(--right);
    }
.strate-timeline .slider-navigation {
        grid-column: ctr;
        margin-bottom: 4rem;
        margin-top: -11rem;
    }
.strate-timeline .slider-btn {
        background-color: var(--color1, var(--color-3));
        color: var(--color3)
    }
@media (max-width: 840px) {
        .strate-timeline .dates {
            display: block;
        }

            .strate-timeline .dates .controls {
                gap: 25vw;
            }
                .strate-timeline .dates button:first-of-type {
                    padding-left: 2rem;
                }

            .strate-timeline .dates .timeline {
                margin-left: 2rem;
                width: calc(100% - 2rem)
            }

        .strate-timeline .slider {
            --offset: 4rem;
        }

        .strate-timeline .slider-navigation {
            display: none;
        }
    }
@media (min-width: 481px) {
        .strate-timeline .slider {
            --nb: 2;
        }
    }
@media (min-width: 841px) {
        .strate-timeline header {
            grid-column: ctr / right;
        }

        .strate-timeline .test {
            padding-right: calc(var(--ctr-width) / 2);
            width: -moz-max-content;
            width: max-content
        }

        .strate-timeline .slider {
            --nb: 3;
            --gap: 2.5rem;
            --ctr: ctr;
        }
    }
@media (min-width: 1141px) {
        .strate-timeline .slider {
            --gap: 4.5rem;
        }
    }
@keyframes parallax {
    from {
        translate: 0 -8rem;
    }

    to {
        translate: 0 -5rem;
    }
}
.strate-separator {
    height: 8rem;
    overflow: clip;
    padding: 0 !important;
}
.strate-separator.pattern-1 {
        --pattern: url(./img/pattern/pattern-1.svg);
    }
.strate-separator.pattern-2 {
        --pattern: url(./img/pattern/pattern-2.svg);
    }
.strate-separator.pattern-3 {
        --pattern: url(./img/pattern/pattern-3.svg);
    }
.strate-separator.pattern-4 {
        --pattern: url(./img/pattern/pattern-4.svg);
    }
.strate-separator.pattern-5 {
        --pattern: url(./img/pattern/pattern-5.svg);
    }
.strate-separator.pattern-6 {
        --pattern: url(./img/pattern/pattern-6.svg);
    }
.strate-separator:before {
        content: "";
        grid-column: full;
        align-self: end;
        width: 100%;
        height: 16rem;

        background-color: transparent;
        background-image: var(--pattern);

        background-repeat: repeat;
        background-position: 0 center;
        background-size: 28rem 13.31rem; /*.47549 */
        display: block;
        animation-name: parallax;
        animation-range: 0 100vh;
        animation-timing-function: linear;
        animation-timeline: view();
    }
.strate-separator img {
        grid-column: full;
    }
.strate-text_cols .list {
        display: flex;
        text-align: center;
    }
.strate-text_cols .title {
        margin-bottom: 1.4rem;
        color: var(--color-2);
        font-size: 2rem;
        font-weight: 600;
    }
@media (max-width: 1140px) {
        .strate-text_cols .list {
            flex-direction: column;
            gap: 2.4rem;
        }
    }
@media (min-width: 1141px) {
        .strate-text_cols .list {
            gap: 8.6rem;
        }

            .strate-text_cols .list li {
                flex: 1
            }
    }
.strate-solutions header {
        grid-column: ctr-xs;
        text-align: center;
          justify-content: center;
    }
.strate-solutions .list {
        display: grid;
        gap: var(--gap);
    }
@media (min-width: 481px) {
        .strate-solutions .list {
            grid-template-columns: repeat(2, 1fr);
        }
    }
@media (min-width: 841px) {
        .strate-solutions .list {
            grid-template-columns: repeat(3, 1fr);
        }
    }
.strate-images picture {
        grid-column: var(--ctr);
        overflow: hidden;
        border-radius: 1rem;
    }
.strate-images picture img {
            width: 100%;
            height: auto
        }
.strate-images ul {
        display: flex;
        gap: var(--gap);
        grid-column: var(--ctr);
    }
.strate-images ul li {
            flex: 1;
        }
@media (max-width: 1140px) {
        .strate-images ul {
            flex-direction: column;
        }
    }
@media (min-width: 1141px) {
        .strate-images header {
            grid-column: var(--ctr) / center;
        }
            .strate-images.ctr-sm header, .strate-images.ctr-xs header {
                grid-column: var(--ctr);
            }
    }
.strate-news {
    margin-bottom: var(--margin-md);
}
.strate-news .list {
        display: grid;
        gap: var(--gap);
        list-style: none;
        padding: 0;
        margin: 0;
    }
.strate-news .pagination {
        justify-self: center;
        margin-top: var(--margin-md);
        margin-bottom: var(--margin-lg);
    }
.strate-news .pagination ul {
            display: flex;
            gap: 1rem;
        }
.strate-news .pagination .disabled{
            opacity: .5;
            width: 4rem;
            height: 4rem;
        }
.strate-news .pagination a,
        .strate-news .pagination span {
            display: flex;
            width: 4rem;
            height: 4rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            font-weight: 500
        }
.strate-news .pagination [aria-current="page"] {
            background-color: var(--color-2);
            color: #fff;
        }
@media (min-width: 1141px) {
        .strate-news .list {
            grid-template-columns: repeat(3, 1fr);
        }
    }
.strate-sitemap {
    row-gap: 4rem;
    padding-top: var(--margin-md);
}
.strate-sitemap .title {
        margin-bottom: 2rem;
    }
.strate-sitemap a:hover{
        text-decoration: underline;
    }
.strate-evidences {
    position: relative;
    z-index: 0;
}
.strate-evidences .list-steps .item:after,
            .strate-evidences .list-steps .item:before {
                display: none;
            }
@media (min-width: 841px) {
.strate-evidences {
        --left: center;
        --right: center
}

        .strate-evidences .grid {
            align-items: center;
        }

        .strate-evidences .list- {
            align-self: center;
        }

        .strate-evidences header {
            grid-column: var(--ctr)/var(--left);
            margin-bottom: 0;
        }

        .strate-evidences .list-steps {
            grid-column: var(--right)/var(--ctr);
        }
    }
@media (min-width: 1141px) {
.strate-evidences {
        --left: left;
        --right: right
}

        .strate-evidences.ctr-sm,
        .strate-evidences.ctr-xs {
            --left: center;
            --right: center;
        }
    }
/* pages */
.error404 #footer {
        display: none;
    }
.page-404 {
    background-color: var(--color-1);
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center; */
    color: #fff;
    min-height: 100vh;
    box-sizing: border-box;
    background-image: url(./img/bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    padding-top: calc(var(--header-height) + 2rem);
}
.page-404 .inner {
        margin-top: auto;
        margin-bottom: calc(var(--header-height));
        margin-bottom: auto;
        text-align: center;
        padding: 2rem;
    }
.page-404 h1 {
        margin-bottom: 4rem;
    }
.page-404 .text {
        font-size: 2rem;
    }
.page-404 .cta {
        margin-top: 3rem;
    }
/*# sourceMappingURL=styles.css.map */