/*
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
 */

/*--------------- REPRISE BOOTSTRAP ----------------*/
/* GRID - Bootstrap v5.1.3  */

* {
    box-sizing: border-box;
}
.text-center { text-align: center;}
.hidden { display : none;}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
    margin-right: -15px;
    margin-left: -15px;
}
.row > * {
    box-sizing: border-box;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-top: 0;
}

.col {
    flex: 1 0 0%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

.col-1 , .col-md-1 , .col-sm-1 ,
.col-2 , .col-md-2 , .col-sm-2 ,
.col-3 , .col-md-3 , .col-sm-3 ,
.col-4 , .col-md-4 , .col-sm-4 ,
.col-5 , .col-md-5 , .col-sm-5 ,
.col-6 , .col-md-6 , .col-sm-6 ,
.col-7 , .col-md-7 , .col-sm-7 ,
.col-8 , .col-md-8 , .col-sm-8 ,
.col-9 , .col-md-9 , .col-sm-9 ,
.col-10, .col-md-10, .col-sm-10,
.col-11, .col-md-11, .col-sm-11,
.col-12, .col-md-12, .col-sm-12{
    flex: 0 0 auto;
}

.col-1 , .col-md-1 , .col-sm-1 {
    width: 8.33333333%;
}

.col-2 , .col-md-2 , .col-sm-2 {
    width: 16.66666667%;
}

.col-3 , .col-md-3 , .col-sm-3 {
    width: 25%;
}

.col-4 , .col-md-4 , .col-sm-4 {
    width: 33.33333333%;
}

.col-5 , .col-md-5 , .col-sm-5 {
    width: 41.66666667%;
}

.col-6 , .col-md-6 , .col-sm-6 {
    width: 50%;
}

.col-7 , .col-md-7 , .col-sm-7 {
    width: 58.33333333%;
}

.col-8 , .col-md-8 , .col-sm-8 {
    width: 66.66666667%;
}

.col-9 , .col-md-9 , .col-sm-9 {
    width: 75%;
}

.col-10, .col-md-10, .col-sm-10 {
    width: 83.33333333%;
}

.col-11, .col-md-11, .col-sm-11 {
    width: 91.66666667%;
}

.col-12, .col-md-12, .col-sm-12 {
    width: 100%;
}

@media (max-width: 768px) {
    .col-sm-1 , .col-sm-2 , .col-sm-3 , .col-sm-4 , .col-sm-5 , .col-sm-6 ,
    .col-sm-7 , .col-sm-8 , .col-sm-9 , .col-sm-10, .col-sm-11, .col-sm-12 {
        width: 100% !important;
    }
    .col-md-1 , .col-md-2 , .col-md-3 , .col-md-4 , .col-md-5 , .col-md-6 ,
    .col-md-7 , .col-md-8 , .col-md-9 , .col-md-10, .col-md-11, .col-md-12 {
        width: 100% !important;
    }
}


.btn {
    display: inline-block;
    text-decoration : none;
    text-align: center;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button:hover {
    cursor: pointer;
}
img {
    vertical-align: middle;
}
.h1, .h2, .h3, h1, h2, h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}
:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
a {
    text-decoration : none;
}
ol, ul {
    margin-top: 0;
    margin-bottom: 10px;
}
hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
p {
    margin: 0 0 10px;
}

.dropdown {
    position: relative;
}

/*----------------- Variables -------------------*/
/* Définitions des variables par défaut */
    .is_page, .divCMSSection{
        /*
        --spec-background-color : #FFFFFF;

        --spec-color : #000000;
        --spec-color-10 : #0000001A;
        --spec-color-05 : #0000000D;

        --spec-color-h1 : #2d95f8;
        --spec-color-h2 : #2d95f8;
        --spec-color-h3 : #2d95f8;

        --spec-link-color : #2d95f8;
        --spec-linkHover-color : #33beee;

        --spec-cta-background-color : #eed330;
        --spec-ctaHover-background-color : #eee752;
        --spec-cta-color : #ffffff;
        --spec-ctaHover-color :rgba(255, 255, 255, 0.9);
        */
    }

/* -----------------------------
Attribution des variables
Elle seront surchargé dans pageTemplate_code_forCss
----------------------------- */
    .is_page {
        background: var(--spec-background-color);
        color: var(--spec-color);
        overflow-wrap: break-word;
    }
    .is_page .divCMSSection:not(.divCMSSectionCadre),
    .is_page .divCMSSection .sectionCadre,
    .is_page.divCMSSection {
        background: var(--spec-background-color);
        color: var(--spec-color);
    }

    .is_page .divCMSSection h1,
    .is_page.divCMSSection h1 {
    color: var(--spec-color-h1);
    }
    .is_page .divCMSSection h2,
    .is_page.divCMSSection h2 {
    color: var(--spec-color-h2);
    }
    .is_page .divCMSSection h3,
    .is_page.divCMSSection h3 {
    color: var(--spec-color-h3);
    }
    .is_page .divCMSSection h4,
    .is_page.divCMSSection h4 {
    color: var(--spec-color-h3);
    }

    .is_page .divCMSSection a,
    .is_page.divCMSSection a {
    color: var(--spec-link-color);
    }
    .is_page .divCMSSection a:hover,
    .is_page.divCMSSection a:hover {
    color: var(--spec-linkHover-color);
    }
    .is_page .divCMSSection .btn,
    .is_page.divCMSSection .btn {
        background: var(--spec-cta-background-color);
        color: var(--spec-cta-color);
    }
        .is_page .divCMSSection .btn.btn_secondary,
        .is_page.divCMSSection .btn.btn_secondary {
            background: var(--secondary-btn-background );
            color: var(--secondary-btn-color);
            border : 1px solid var(--secondary-btn-border);
        }
    .is_page .divCMSSection .btn:hover,
    .is_page.divCMSSection .btn:hover {
    background: var(--spec-ctaHover-background-color);
    color: var(--spec-ctaHover-color);
    }
        .is_page .divCMSSection .btn.btn_secondary:hover,
        .is_page.divCMSSection .btn.btn_secondary:hover {
            background: var(--secondary-btnHover-background );
            color: var(--secondary-btnHover-color);
            border : 1px solid var(--secondary-btnHover-border);
        }
    .is_page .divCMSSection .btn p,
    .is_page.divCMSSection .btn p {
        margin : 0;
    }

    .is_page .divCMSSection a svg *,
    .is_page.divCMSSection a svg * {
    fill: var(--spec-link-color);
    }
    .is_page .divCMSSection a:hover svg *,
    .is_page.divCMSSection a:hover svg * {
    fill: var(--spec-linkHover-color);
    }

    /* Spec menu */
    .is_page .divCMSSection .navbar-default,
    .is_page.divCMSSection .navbar-default {
    background: var(--spec-background-color);
    color: var(--spec-color);
    }
    .is_page .divCMSSection .navbar-default a,
    .is_page.divCMSSection .navbar-default a {
    color: var(--spec-link-color);
    }

    .is_page .divCMSSection .borderColorLink,
    .is_page.divCMSSection .borderColorLink {
    border-color: var(--spec-link-color) ;
    }

    /* Grid Focus (in grid)  */
    .is_page .columFocus,
    .is_page.columFocus {
        color: var(--spec-focus-color);
    }
    .is_page .columFocus:before,
    .is_page.columFocus:before,
    .is_page .columFocusBase {
        background: var(--spec-focus-background-color);
        color: var(--spec-focus-color);
    }
    .is_page .columFocus .btn, .is_page .columFocus .btn:hover,
    .is_page.columFocus .btn, .is_page.columFocus .btn:hover,
    .is_page .columFocusBase .btn,  .is_page .columFocusBase .btn:hover {
        background: var(--spec-focus-btn-background-color);
        color: var(--spec-focus-btn-color);
    }
    .is_page .columFocus h1, .is_page.columFocus h1, .is_page .columFocusBase h1 { color: var(--spec-focus-h1); }
    .is_page .columFocus h2, .is_page.columFocus h2, .is_page .columFocusBase h2 { color: var(--spec-focus-h2); }
    .is_page .columFocus h3, .is_page.columFocus h3, .is_page .columFocusBase h3 { color: var(--spec-focus-h3); }
    .is_page .columFocus h4, .is_page.columFocus h4, .is_page .columFocusBase h4 { color: var(--spec-focus-h3); }

        /* Grid Focus Base (in block)  */
        .is_page .columFocusBase {
            padding : 20px;
            border-radius: var(--spec-btn-radius);
        }

    /* Grid Focus Second (in grid) */
    .is_page .columFocusSecond,
    .is_page.columFocusSecond {
        color: var(--spec-focussecond-color);
    }
    .is_page .columFocusSecond:before,
    .is_page.columFocusSecond:before,
    .is_page .columFocusBaseSecond {
        background: var(--spec-focussecond-background-color);
        color: var(--spec-focussecond-color);
    }
    .is_page .columFocusSecond .btn, .is_page .columFocusSecond .btn:hover,
    .is_page.columFocusSecond .btn, .is_page.columFocusSecond .btn:hover,
    .is_page .columFocusBaseSecond .btn, .is_page .columFocusBaseSecond .btn:hover  {
        background: var(--spec-focussecond-btn-background-color);
        color: var(--spec-focussecond-btn-color);
    }
    .is_page .columFocusSecond h1, .is_page.columFocusSecond h1, .is_page .columFocusBaseSecond h1  { color: var(--spec-focussecond-h1); }
    .is_page .columFocusSecond h2, .is_page.columFocusSecond h2, .is_page .columFocusBaseSecond h2  { color: var(--spec-focussecond-h2); }
    .is_page .columFocusSecond h3, .is_page.columFocusSecond h3, .is_page .columFocusBaseSecond h3  { color: var(--spec-focussecond-h3); }
    .is_page .columFocusSecond h4, .is_page.columFocusSecond h4, .is_page .columFocusBaseSecond h4  { color: var(--spec-focussecond-h3); }

        /* Grid Focus Second Base(in block) */
        .is_page .columFocusBaseSecond {
            padding : 20px;
            border-radius: var(--spec-btn-radius);
        }


/*--------------- STRUCTURE ----------------*/

*{
    box-sizing:border-box;
}
.text-center {text-align: center;}
.text-left {text-align: left;}
.text-right {text-align: right;}
.text-block-center {
    display: flex;
    justify-content: center;
}

.divCMSSection {
    padding-top : 80px;
    padding-bottom : 80px;
    position: relative;
}
.divCMSSection.divCMSElementDYN {
    padding-top : 0px;
    padding-bottom : 0px;
}

.divCMSSection > .container,
.divCMSSection > .blockPlaceholder,
.divCMSSection > #loaderBlockPlaceholder {
    z-index: 10;
    position: relative;
}
.divCMSSection .backGeneral,
.divCMSSection .backTop,
.divCMSSection .backBottom {
    top : 0; right : 0; bottom : 0; left : 0;
    position: absolute;
    z-index: 1;
    border : 0px !important;
}


    .divCMSSection .backGeneral {
        z-index: 1;
        background-repeat : no-repeat;
        overflow: hidden;
        background-position: center;
    }
    .divCMSSection .backTop {
        z-index: 2;
        background-repeat : no-repeat;
        background-position: center top;
        top : -2px;
    }
    .divCMSSection .backBottom {
        z-index: 3;
        background-repeat : no-repeat;
        background-position: center bottom;
        bottom : -2px;
    }
        .divCMSSection .divBack.repeat-x {
            background-repeat : repeat-x;
        }
        .divCMSSection .divBack.repeat-y {
            background-repeat : repeat-y;
        }
        .divCMSSection .divBack.repeat {
            background-repeat : repeat;
        }
        .divCMSSection .divBack.cover {
            background-size : cover;
        }
        .divCMSSection .divBack.cover_fixed {
            background-size : cover;
            background-attachment: fixed ;
        }
        .divCMSSection .divBack.contain {
            background-size : contain;
        }
        .divCMSSection .divBack.fixed {
            background-attachment: fixed ;
        }
        .divCMSSection .divBack.expand-x {
            background-size: 100% auto ;
        }

.divCMSGrid {
    display: flex;
    align-items: stretch;
}
    .divCMSGrid.vertical_alignCenter .for_block  {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .divCMSGrid.vertical_alignBottom .for_block  {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    .divCMSGrid > .is_grid {
         margin : auto;
         padding : 20px 20px 0px 20px;
     }
    .divCMSGrid > .is_grid {
        margin : unset;
    }

.divCMSBlock {
    position: relative;
    margin-top : 20px;
    position: relative;
    /*z-index: 0;*/
}
    .divCMSBlock:last-child {
        margin-bottom : 0px;
    }
    .divCMSGrid:last-child .divCMSBlock:last-child {
        margin-bottom : 20px;
    }



.divCMSGrid .row{
    display: flex;
    align-items: stretch;
}

.flexAlignCenter {
    display: flex;
    align-items: center;
}
    .flexAlignCenter > div{
        width: 100%;
    }
    .is_block {
        /*overflow: auto;*/
        /*border: 1px solid transparent;*/
        border : 1px solid transparent;
    }
    .hideElement {
        display: none;
    }

    .toggleHide {
        display: none;
    }

@media only screen and (max-width: 768px) {
    .divCMSGrid{
        flex-direction: column;
    }
}

/*--------------- Style global ----------------*/
html {
}
body {
    font-family: 'open sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
h1, h2, h3, h4 {
    font-family: 'Montserrat', sans-serif;
    color : unset;
    line-height: 1.4;
}
h1 {
    font-weight: 900;
    font-size: 2.4em;
}
h2 {
    font-weight: 800;
    font-size: 2em;
}
h3 {
    font-weight: 700;
    font-size: 1.7em;
}
h4 {
    font-weight: 600;
    font-size: 1.4em;
}
.light {
    font-weight: 300;
}
@media (min-width: 1200px) {
    .container {
        max-width: 1400px;
        width: 100%;
    }
}
@media (max-width: 1200px) {
    .container {
        max-width: 1170px;
        width: 100%;
    }
}
@media (max-width: 992px) {
    .container {
        max-width: 970px;
        width: 100%;
    }
}
@media (max-width: 768px) {
    .container {
        max-width: 750px;
        width: 100%;
    }

    .divCMSGrid .row{
        flex-direction: column;
    }

    h1, h2, h3, h4 {
        text-align: center !important;
    }
    h1 {
        font-size: 2em;
    }
    h2 {
        font-weight: 800;
        font-size: 1.7em;
    }
    h3 {
        font-weight: 700;
        font-size: 1.5em;
    }
    h4 {
        font-weight: 600;
        font-size: 1.2em;
    }
    h1 br, h2 br, h3 br, h4 br {
        display: inline-block;
    }
    h1 div, h2 div, h3 div, h4 div {
        display: inline;
    }

    h1 *, h2 *, h3 *, h4 * {
        font-size: unset !important;
    }
}

.surlignage {
    background : var(--spec-highlight-background-color);
    color : var(--spec-highlight-color);
    padding : 5px 10px;
    box-shadow: 0 .1em 0 rgba(0,0,0,.1);
    white-space: pre-wrap;
}
    .lightText {
        font-weight: 300;
    }
.svgColorLink  {
    display: inline-flex;
}
.svgColorLink svg * {
    fill : var(--spec-link-color);
}
form {
    margin : 10px 0 ;
}
.video-responsive {
    display: block;
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.video-responsive iframe {
    left:0;
    top:0;
    height:100% !important;
    min-height:100% !important;
    width:100% !important;
    position:absolute;
}

#blockTop {
    padding-top: 100px;
}

.flexVertical {
    display: flex;
    /*align-items: center;*/
    align-items: stretch;
    /*justify-content: space-evenly;
    flex-wrap: wrap;*/
    gap : 20px;
}
    .flexVertical > div{
        display: flex;
        align-items: center;
    }
.pastilleRound {
    border-radius: 50%;
    flex: 0 0 auto;
    align-items: flex-start !important;
}
    .pastilleRound > div {
        border-radius: 50%;
        box-shadow: 0 3px 10px rgba(0,0,0,.1);
        overflow: hidden;
        flex: 0 0 auto;
        border: 5px solid white;
    }
    .pastilleRound img{
        max-width: unset;
        width: 150px;
        margin : 0;
    }

.block_left {
    display: block !important;
    text-align: left;
}
.block_right {
    display: block !important;
    text-align: right;
}
.block_center {
    display: block !important;
    text-align: center;
}

.blockDirection_horizontal {
    display: flex;
    gap : 10px;
    align-items: center;
}
.blockDirection_vertical {
    display: flex;
    flex-direction: column;
    gap : 10px;
}

.blockStyle_shadow {
    border-color : var(--spec-link-color-20);
    box-shadow : 0 20px 40px var(--spec-link-color-20);
}
.blockStyle_border {
    border : 1px solid var(--spec-link-color);
}
.zoneText a {
    text-decoration: underline;
}
.zoneText a:hover {
    text-decoration: none;
}

/*
.btn {
    border-radius: 25px;
    padding: 8px 15px;
    border : 1px solid transparent;
    background: #0b96de;
    color : white;
    font-size: unset;
    line-height: unset;
}
.btn:hover {
     filter: brightness(1.1);
     color : white;
 }
*/
.is_page .btn {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-radius: var(--spec-btn-radius);
    padding: 8px 15px;
    border : 1px solid transparent;
    background: #0b96de;
    color : white;
    margin-left : 10px;
    margin-right : 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--spec-cta-font-size);
    font-weight: 500;
}
.is_page .btn:first-child {
    margin-left: unset;
}
.is_page .btn:last-child {
    margin-right: unset;
}

.is_page input {
    border-radius: 25px;
    border-radius: var(--spec-btn-radius);
    padding: 8px 20px;
    border : 1px solid lightgrey;
    border : 1px solid var(--spec-color);
    color : var(--spec-color);
    background-color : var(--spec-background-color);
    background-image : linear-gradient( var(--spec-color-05), var(--spec-color-05) );
}
input::placeholder {
    color : var(--spec-color);
}

.is_page .columFocus,
.is_page.columFocus,
.is_page .columFocusSecond,
.is_page.columFocusSecond {
    position: relative;
    padding: 20px 40px;
}
.is_page .columFocus:before,
.is_page.columFocus:before,
.is_page .columFocusSecond:before,
.is_page.columFocusSecond:before {
    content: "";
    position: absolute;
    top : 20px; right : 15px; bottom : 20px; left : 15px;
    border-radius: var(--spec-btn-radius);
}

img {
    max-width: calc(100% - 2px);
    margin : 1px;
}
hr {
    border-bottom-color : var(--spec-color);
    border-bottom-width : 1px;
    border-bottom-style : solid;
    opacity: .7;
}

.formCMS.formError input:invalid {
    border : 1px solid red;
    background-color: #ffdecf;
    color : darkRed;
}
.formCMS .elementForm {
}
    .formCMS {
        margin: auto;
        width: 300px;
    }
    .formCMS.formOneLine {
        display: flex;
        gap : 20px;
        justify-content: center;
        width: unset;
    }
    .formCMS div {
       margin-bottom : 20px;
    }
    .formCMS.formOneLine div.elementForm {
        display: inline-block;
        width: unset;
    }
    .formCMS input[type='text'],
    .formCMS input[type='email'],
    .formCMS input[type='number'],
    .formCMS textarea {
        display: inline-block;
        width: 100%;
    }
    .formCMS .containerSubmit {
        text-align: center;
    }
    .formCMS .elementFormCheckbox {
        padding-left : 20px;
        padding-right : 20px;
        display: flex;
        gap: 10px;
    }
    /*
    .formCMS .elementFormCheckbox label {
        display : inline;
    }
    */
    @media only screen and (max-width: 767px) {

        .formCMS  {
            width: 80%;
        }
        .formCMS.formOneLine  {
            flex-direction: column;
            gap: 0;
            width: 80%;
        }
        .formCMS a.btn, .formCMS button  {
            width: 100%;
        }
    }

/* --- Spec List --- */

.list-puce-svg ul {
    padding-top: 20px;
    padding-left: 0;
}
    .list-puce-svg li {
        list-style-type: none;
        margin-bottom: 20px;
        display: flex;
        gap : 15px;
    }
    .list-puce-svg li svg {
        line-height: 1em;
        vertical-align: bottom;
        flex-shrink: 0;
        margin-bottom : -5px;
    }

/* --- SPEC MENU --- */


.divCMSSectionMenu {
    padding-top: unset;
    padding-bottom: unset;
    position: sticky;
    top : 0;
    z-index: 1000;
}
.divCMSSectionMenu .navbar {
    margin-bottom: unset;
    padding: 10px;
}
.menuBeforeSpacer {
    height: 80px;
    opacity: 0;
}
nav.menuFix {
    position: fixed;
    align-items: center;
    top : 0;
    left : 0;
    right : 0;
    padding : 5px 0;
    background: var(--spec-background-color);
    font-family: 'Montserrat', sans-serif;
    min-height: 80px;
    display: flex;
    font-size: 1.05em;
    font-weight: 500;
}
nav.menuFlux {
    display: flex;
    align-items: center;
    padding : 5px 0;
    background: var(--spec-background-color);
    font-family: 'Montserrat', sans-serif;
    min-height: 80px;
    font-size: 1.05em;
    font-weight: 500;
}
    .menuContainer {
        display: flex;
        justify-content: space-between;
    }
    .menuContainer li {
        list-style-type: none;
        padding: 0;
    }
    .menuZoneSpacer {
        flex : 2;
    }
    .menuZoneLlink {
        display: flex;
        gap : 10px;
        align-items: center;
        height: 100%;
        padding : 0;
    }
    .dropdown-menu {
        background: var(--spec-background-color);
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        display: none;
        float: left;
        min-width: 160px;
        padding: 10px;
        margin: 2px 0 0;
        text-align: left;
        list-style: none;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
        border: 1px solid rgba(0,0,0,.15);
        border-radius: calc(var(--spec-btn-radius) / 1.5);
        -webkit-box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
        box-shadow: 0 6px 12px rgb(0 0 0 / 18%);
    }
    .dropdown-menu>li>a{
        display : block;
        padding: 5px 10px !important;
        font-size: .95em;
    }
    /*.dropdown-menu>li>a:hover {
        color : unset;
        background: unset;
        filter: brightness(.2);
    }*/
    .menuZoneLlink li a {
        padding: 10px;
        border: 1px solid transparent;
        white-space: nowrap;
    }
    .menuZoneLlink li > a:hover,
    .menuZoneLlink li > a:active,
    .menuZoneLlink li > a:focus,
    .menuZoneLlink li.dropdown.open,
    .menuZoneLlink li.dropdown.open > a
    {
        background: var(--spec-color-10);
        color: var(--spec-color);
        border-radius: var(--spec-btn-radius);
        border: 1px solid transparent !important;
        text-decoration: none !important;
        outline: unset;
    }
    .menuZoneLlink li a .caret {
        margin-left : 5px;
        opacity: .5;
        color: var(--spec-color);
    }
    .menuZoneLlink li a .caret svg *{
        fill: var(--spec-color);
    }
    .toggleMenuMobile {
        display: none;
    }

@media only screen and (max-width: 767px) {
    .menuIsDisplay {
        overflow: hidden;
    }

    nav.menuFix {
        max-height: 100vh;
        overflow-y: auto;
        min-height: unset;
        display: block;
    }
    nav.menuFlux {
        min-height: unset;
    }
    .menuContainer {
        flex-direction: column;
        align-items: stretch;
        gap : 20px;
    }
    .hideByBurger  {
        display : none;
    }
    .menuZoneSpacer {
        display : none;
    }
    .menuContainerLogo {
        display: flex;
        justify-content: space-between;
        padding: 5px;
        align-items: center;
        height: 50px;
    }
    .menuBeforeSpacer {
        height: 50px;
    }
    .menuZoneLlink {
        flex-direction: column;
        padding-bottom: 30px;
        margin-top : 0px;
    }
    .dropdown-menu {
        position: relative;
        top : unset; left:  unset; right: unset; bottom : unset;
        float : none;
        background: unset;
        width: 100%;
        box-shadow: unset;
        text-align: center;
        border: 0;
        padding: 0;
    }
    .menuZoneLlink li {
        width: 100%;
        text-align: center;
    }
        .menuZoneLlink li a {
            display: inline-block;
            width: 100%;

            background: var(--spec-color-10);
            color: var(--spec-color);
            border-radius: var(--spec-btn-radius);
        }

        .menuZoneLlink .dropdown-menu li a {
            margin : 10px 20px 0 20px;
            width: calc(100% - 40px);
        }

    .menuShowMobile .menuFixZoneClose {
        display: block;
        position: fixed;
        z-index: 900;
        top : 0; right : 0; bottom :0; left : 0;
        background: rgba(0, 0, 0, 0.5);
        /*box-shadow: 0 0 0 200vh rgba(0, 0, 0, .5);*/
    }
    .menuShowMobile .container{
        position: relative;
        z-index: 1000;
    }
    .toggleMenuMobile {
        display: flex;
        align-items: center;
    }

}



/*--------------- navbar-nav ------------------*/
    .navbar .container {
        display: flex;
        align-items: center;
    }
    .navbar-default {
        border: unset;
    }
    .navbar-nav img {
        max-height: 50px;
    }
    .navbar-brand {
        display: flex;
        padding: 0;
        align-items: center;
        margin-right : 20px;
    }
    .navbar-brand img{
        max-height: 50px;
    }
    .navbar li {
        margin : 0 10px;
    }
    .navbar li a {
        padding: 10px;
        border: 1px solid transparent;
    }
    .navbar .navbar-nav > li a:hover,
    .navbar .navbar-nav > li a:active,
    .navbar .navbar-nav > li a:focus,
    .navbar .navbar-nav > li.dropdown.open,
    .navbar .navbar-nav > li.dropdown.open > a
    {
        background: var(--spec-color-10);
        color: var(--spec-color);
        border-radius: 25px;
        border: 1px solid transparent;
    }

        .navbar ul .dropdown-menu {
            border-radius: 10px;
        }
    .navbar-header button span {
        background: var(--spec-link-color);
    }
    .navbar-right {
        flex-grow: 2;
        text-align: right;
    }
    .navbar-right .nav li {
        display: inline-block;
    }
    nav.menuFix .menuContainer {
        position: relative;
    }
    .elementSubmenu {
        display: none;
        margin : auto;
        box-shadow: 0 20px 45px rgba(0,0,0,.2);
        position : absolute;
        border-radius: 20px;
        top : 90px;
        left : 0;
        right : 0;
        max-width: 1200px;
    }
        .elementSubmenu .divCMSSection  {
            border-radius: 20px;
        }

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

    .navbar .container {
        flex-direction: column;
    }
    .elementSubmenu {
        position : relative;
        top : unset;
     }
}



/* --- SPEC Grid --- */

    /* --- SPEC grid_5 --- */
    .grid_5 {
        display : flex;
        justify-content: center;
        align-items: center;
        gap : 30px;
    }
    .gridFlex_left { justify-content: left; }
    .gridFlex_right { justify-content: right; }
    .gridFlex_center { justify-content: center; }
    .gridFlex_space-around { justify-content: space-around; }
    .gridFlex_space-between { justify-content: space-between; }

    .grid_5 > *{
        min-width: 100px;
        display: flex;
        align-items: center;
    }

    .divCMSGrid .grid_5  .divCMSBlock:last-child {
        margin-bottom : 0px;
    }
    .grid_5  .divCMSBlock {
        margin-bottom : 0px;
        margin-top : 0px;
    }

    @media only screen and (max-width: 767px) {
        .grid_5 {
            display : flex;
            flex-direction: column;
            align-items: center;
        }
    }
/* --- SPEC Block --- */

    /* --- SPEC blockTemplate_003 blockTemplate_004 --- */
    .blockTemplate_003, .blockTemplate_004 {
        display : flex;
        gap : 20px;
        justify-content: center;
    }
        .blockTemplate_003 .containerWysiwyg, .blockTemplate_004 .containerWysiwyg{
            min-width: 100px;
            flex : 1;
        }
        .blockTemplate_003 .containerImage, .blockTemplate_004 .containerImage{
            min-width: 100px;
            max-width: 50%;
            text-align: center;
        }
        .blockTemplate_003 .containerImage img, .blockTemplate_004 .containerImage img {
            max-width: 100%;
        }

    @media only screen and (max-width: 767px) {
        .blockTemplate_003, .blockTemplate_004 {
            align-items: center;
        }
        .blockTemplate_003 {
            flex-direction: column;
        }
        .blockTemplate_004 {
            flex-direction: column-reverse;
        }
        .blockTemplate_003 .containerImage, .blockTemplate_004 .containerImage{
            width: 100%;
        }
    }

    /* --- SPEC blockTemplate_007b link_card --- */
    .linkCard {
        border-radius: var(--spec-btn-radius);
        overflow: hidden;
        width: 100%;
    }
        .linkCard > p {
            padding: 10px;
        }
        .linkCard > img {
            width: 100%;
        }
        a.linkCard:hover {
            filter : brightness(1.1);
        }
        .linkCard.blockDirection_horizontal > .linkCardImg {
            width: 30%;
            display: inline-flex;
            justify-content: center;
            align-items: center;
        }

        .linkCard.blockDirection_horizontal > p {
            width: 70%;
        }

    /* --- SPEC blockTemplate_018 unwrap --- */
    .containerUnwrap {
        border-top-color : var(--spec-color-10);
        border-top-width : 1px;
        border-top-style : solid;
        border-bottom-color : var(--spec-color-10);
        border-bottom-width : 1px;
        border-bottom-style : solid;

    }
    .clickUnwrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        margin: 0;
        padding: 1em;
    }
    .clickUnwrap:hover {
        background: var(--spec-link-color-20);
    }
    .clickUnwrap .carret svg{
        height: 1em;
    }
    .clickUnwrap .carret svg *{
        fill: var( --spec-link-color );
    }
    .clickUnwrap .carret svg {
        transition: transform .5s;
    }
    .clickUnwrap.active .carret svg {
        transform: scaleY(-1);
    }
    .containerUnwrap > p {
        padding: .5em;
    }

    @media only screen and (max-width: 767px) {
    }


/* --- RESPONSIVE --- */
@media only screen and (min-width: 767px) {
    body:not(.editingMode) .onlyMobile, .versionMobile {
        display: none !important;
    }
    /*
    .onlyDesktop {
        display: block !important;
    }
    */
}
@media only screen and (max-width: 767px) {
    /*
    .onlyMobile, .versionMobile {
        display: block !important;
    }
     */
    body:not(.editingMode) .onlyDesktop, .versionDesktop,
    body:not(.editingMode) .onlyDesktop > *, .versionDesktop > *{
        display: none !important;
    }
    .is_page .btn {
        white-space: unset;
        min-width: 80%;
        margin: 0;
    }
}


blockTemplate_505 .labelInclus svg *{
    fill : white;
}
.blockTemplate_504 .oneFunctionText h3{
    font-size: 2.5em;
}
.blockTemplate_504 .oneFunctionText h3 > *{
    display: inline-block;
}
.blockTemplate_504 .imagePath {
    display: block;
    margin : -100px auto;
    position: relative;
    z-index : 1;

    background-position : center center ;
    background-repeat : no-repeat;
    width: 100%;
    height : 380px;
    transform: scaleX(-1);
}
.blockTemplate_504 .image-droite .imagePath {
    transform: scaleX(1);
}
.blockTemplate_504 .no-path .imagePath {
    display: none !important;
}

.blockTemplate_903 .versionDesktop {
    text-align: center;
}
.blockTemplate_903 .screenshot_container {
    position: relative;
    display: inline-block;
    max-width: 100%;
}
.blockTemplate_903 .screenshot_container > svg{
    width: 100%;
    height: unset;
    display: inline-block;
}
.blockTemplate_903 .screenshot_container > svg #blur{
    filter: blur(10px);
}
.blockTemplate_903 .screenshot_content {
    position: absolute;
    top: 17%;
    right: 23%;
    bottom: 29%;
    left: 23%;
}
.blockTemplate_903 .screenshot_content img{
    width: 100%;
    border-radius: 3px;
    aspect-ratio: 1600 / 900;
}
.blockTemplate_903 .screenshot_label {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
}
.blockTemplate_903 .screenshot_label > div{
    position: absolute;
}
.blockTemplate_903 .screenshot_label.deg-0 > div   { bottom : 0;            }
.blockTemplate_903 .screenshot_label.deg-45 > div  { bottom : 0; left : 0;  }
.blockTemplate_903 .screenshot_label.deg-90 > div  {             left : 0;  }
.blockTemplate_903 .screenshot_label.deg-135 > div { top : 0;    left : 0;  }
.blockTemplate_903 .screenshot_label.deg-180 > div { top : 0;               }
.blockTemplate_903 .screenshot_label.deg-225 > div { top : 0;    right : 0; }
.blockTemplate_903 .screenshot_label.deg-270 > div { right : 0;             }
.blockTemplate_903 .screenshot_label.deg-315 > div { bottom : 0; right : 0; }

.blockTemplate_903 .screenshot_label.deg-0 >   div:after  { content:url(../../../svg/cms/screenshot-label-arrow-deg-0.svg);   display: block; margin : -10px; }
.blockTemplate_903 .screenshot_label.deg-45 >  div:after  { content:url(../../../svg/cms/screenshot-label-arrow-deg-45.svg);  display: block; margin : -10px 0 -30px 0; }
.blockTemplate_903 .screenshot_label.deg-90 >  div:before { content:url(../../../svg/cms/screenshot-label-arrow-deg-90.svg);  display: block; margin : -10px; }
.blockTemplate_903 .screenshot_label.deg-135 > div:before { content:url(../../../svg/cms/screenshot-label-arrow-deg-135.svg); display: block; margin : -30px 0 -10px 0; }
.blockTemplate_903 .screenshot_label.deg-180 > div:before { content:url(../../../svg/cms/screenshot-label-arrow-deg-180.svg); display: block; margin : -10px; }
.blockTemplate_903 .screenshot_label.deg-225 > div:before { content:url(../../../svg/cms/screenshot-label-arrow-deg-225.svg); display: block; margin : -30px 0 -10px 0; text-align: right; }
.blockTemplate_903 .screenshot_label.deg-270 > div:after  { content:url(../../../svg/cms/screenshot-label-arrow-deg-270.svg); display: block; margin : -10px; }
.blockTemplate_903 .screenshot_label.deg-315 > div:after  { content:url(../../../svg/cms/screenshot-label-arrow-deg-315.svg); display: block; margin : -10px 0 -30px 0; text-align: right; }

.blockTemplate_903 .screenshot_label.deg-0 >   div  { display: flex; flex-direction : column; align-items: center }
.blockTemplate_903 .screenshot_label.deg-90 >  div  { display: flex; align-items: center }
.blockTemplate_903 .screenshot_label.deg-180 > div  { display: flex; flex-direction : column; align-items: center }
.blockTemplate_903 .screenshot_label.deg-270 > div  { display: flex; align-items: center }


.blockTemplate_903 .screenshot_label  span{
    display: block;
    position: relative;
    width: 320px;
    text-align: center;
}

.blockTemplate_903 .screenshot_label.deg-0   span {  }
.blockTemplate_903 .screenshot_label.deg-45  span { left : 20px; }
.blockTemplate_903 .screenshot_label.deg-90  span { width: unset; }
.blockTemplate_903 .screenshot_label.deg-135 span { left : 20px; }
.blockTemplate_903 .screenshot_label.deg-180 span {  }
.blockTemplate_903 .screenshot_label.deg-225 span { right : 20px; }
.blockTemplate_903 .screenshot_label.deg-270 span { width: unset; }
.blockTemplate_903 .screenshot_label.deg-315 span { right : 20px; }

.blockTemplate_903 .screenshot_label  span b{
    display: inline-block;
    border-radius: 10px;
    background: #FFD256;
    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.1);
    padding: 10px;
    font-weight: bold;

}
.blockTemplate_903 .screenshot_label  span b{
    display: inline-block;
    border-radius: 10px;
    background: #FFD256;
    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.1);
    padding: 10px;
    font-weight: bold;
    color: black;

}




@media only screen and (max-width: 767px) {
    .blockTemplate_504 .oneFunction .oneFunctionContainer,
    .blockTemplate_504 .oneFunction.image-droite .oneFunctionContainer {
        flex-direction: column;
    }
    .blockTemplate_504 .oneFunctionImage,
    .blockTemplate_504 .oneFunctionText {
        width: 100% !important;
        margin : none;
    }

    .blockTemplate_504 .oneFunctionImage img{
        max-width: 100%;
        margin-left: unset !important;
        margin-right: unset !important;
    }

    .blockTemplate_903 .versionMobile {
        text-align: center;
    }
    .screenshot_container_mobile {
        position: relative;
        display: inline-block;
        margin-right: 20%;
    }
    .blockTemplate_903 .screenshot_content img {
        display: inline-block;

        width: 100%;
        border-radius: 3px;
        aspect-ratio: 180 / 390;
    }
    .blockTemplate_903 .screenshot_content {
        position: absolute;
        top: 7.5%;
        right: 10%;
        left: 10%;
    }
    .blockTemplate_903 .screenshot_label {
        display: block;
        border-radius: 10px;
        background: #FFD256;
        box-shadow: 0 10px 5px rgb(0 0 0 / 10%);
        padding: 10px;
        font-weight: bold;
        position: relative;
        color: black;
    }
    .blockTemplate_903 .screenshot_label_content {
        position: absolute;
        width: 60%;
        top: 40%;
        left: 35%;
        z-index: 10;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .

}