/* Global variables
   ========================================================================== */
:root {
    /**
     * Colors
     */
    --mdr--eggplant-purple--rgb: 105 8 69;
    --mdr--pure-white--rgb: 255 255 255;
    --mdr--dark-grey--rgb: 27 27 27;
    --mdr--light-grey--rgb: 240 242 241; /*#F0F2F1*/
    --mdr--pure-black--rgb: 0 0 0;
    --mdr--light-beige--rgb: 240 203 184;
    --mdr--biscuit-beige--rgb: 253 240 234;

    --mdr--pure-white: rgb(var(--mdr--pure-white--rgb) / 100%);
    --mdr--pure-white--70: rgb(var(--mdr--pure-white--rgb) / 70%);
    --mdr--pure-white--60: rgb(var(--mdr--pure-white--rgb) / 60%);
    --mdr--pure-white--40: rgb(var(--mdr--pure-white--rgb) / 40%);
    --mdr--pure-white--30: rgb(var(--mdr--pure-white--rgb) / 30%);
    --mdr--pure-white--20: rgb(var(--mdr--pure-white--rgb) / 20%);
    
    --mdr--eggplant-purple: rgb(var(--mdr--eggplant-purple--rgb) / 100%);
    --mdr--eggplant-purple--90: rgb(var(--mdr--eggplant-purple--rgb) / 90%);
    --mdr--eggplant-purple--30: rgb(var(--mdr--eggplant-purple--rgb) / 30%);
    
    --mdr--dark-grey: rgb(var(--mdr--dark-grey--rgb) / 100%);
    --mdr--dark-grey--70: rgb(var(--mdr--dark-grey--rgb) / 70%);
    --mdr--dark-grey--40: rgb(var(--mdr--dark-grey--rgb) / 40%);
    --mdr--dark-grey--30: rgb(var(--mdr--dark-grey--rgb) / 30%);
    
    --mdr--light-grey: rgb(var(--mdr--light-grey--rgb) / 100%);
    
    --mdr--pure-black: rgb(var(--mdr--pure-black--rgb) / 100%);
    --mdr--pure-black--40: rgb(var(--mdr--pure-black--rgb) / 40%);
    --mdr--pure-black--0: rgb(var(--mdr--pure-black--rgb) / 0%);
    
    --mdr--light-beige: rgb(var(--mdr--light-beige--rgb) / 100%);
    --mdr--light-beige--40: rgb(var(--mdr--light-beige--rgb) / 40%);
    
    /* pas sûr que ces couleurs existent encore (la DA a géchan) */
    --mdr--biscuit-beige: rgb(var(--mdr--biscuit-beige--rgb) / 100%); /* hex = #fdf0ea (was #F0CBB8) */
    --mdr--sea-green: #9BC9C1;
    
    
    /**
     * Lengths
     */
    --mdr--padding-vertical: 50px;
    --mdr--padding-horizontal: 22px;
    --mdr--header--height: 70px;
    
    
    /**
     * Z-indexes
     */
    --z-index--header: 10001; /* dunno why testinmony-slider nav is above when header is z-index:4 */
    /* leadIa is z-index 10000 ! */
    
    --z-index--bottom-bar: 3;
    /* 1 (and 2) are reserved for swiper and other components */
    
}
@media screen and (min-width: 768px) {
    :root {
        --mdr--padding-vertical: 90px;
        --mdr--padding-horizontal: 48px;
    }
}
@media screen and (min-width: 1085px) {
    :root {
        --mdr--header--height: 162px;
    }
}

/* @font-face rules
   ========================================================================== */
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 900;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Black.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Black.ttf") format("truetype");
}
/*
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 800;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-ExtraBold.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-ExtraBold.ttf") format("truetype");
}
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 700;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Bold.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Bold.ttf") format("truetype");
}
*/
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 600;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-SemiBold.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-SemiBold.ttf") format("truetype");
}
/*
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 500;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Medium.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Medium.ttf") format("truetype");
}
*/
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 400;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Regular.otf") format("opentype"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Regular.ttf") format("truetype");
}
/*
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 300;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Light.otf") format("otf"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Light.ttf") format("truetype");;
}
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 200;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-ExtraLight.otf") format("otf"),
         url("../fonts/Mango_Noir/TTF/BlackMango-ExtraLight.ttf") format("truetype");;
}
@font-face {
    font-family: "Black Mango";
    font-style: normal;
    font-stretch: normal;
    font-weight: 100;
    src: url("../fonts/Mango_Noir/OTF/BlackMango-Thin.otf") format("otf"),
         url("../fonts/Mango_Noir/TTF/BlackMango-Thin.ttf") format("truetype");;
}

/* Body
   ========================================================================== */
body {
    font-family: "Work Sans", sans-serif; /* default body font */
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: var(--mdr--dark-grey);
}
@media screen and (min-width: 768px) {
    body {
        font-size: 18px;
        line-height: 25px;
    }
}


/* Titles
   ========================================================================== */
   
.h1 {
    font-family: "Black Mango";
    font-weight: 400;
    font-size: 58px;
    line-height: 1em;
}
.h2 {
    font-family: "Black Mango";
    font-weight: 400;
    font-size: 38px;
    line-height: 1.1em;
}
.h3 {
    font-family: "Black Mango";
    font-weight: 400;
    font-size: 28px;
    line-height: 1.1em;
}

@media screen and (min-width: 768px) {
    .h1 {
        font-size: 102px;
        line-height: 1em;
    }
    .h2 {
        font-size: 82px;
        line-height: 1.1em;
    }
    .h3 {
        font-size: 58px;
        line-height: 1.1em;
    }
}

/* CTA
   ========================================================================== */
.cta {
    position: relative;
    font-family: "Work Sans", sans-serif;
    font-size: 11px;
    line-height: 1em;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    min-width: 9mm;
    
    display: inline-block;
}
@media screen and (min-width: 768px) {
    .cta {
        font-size: 12px;
    }
}

.cta--filled {
    color: var(--secondary-color);
    background-color: var(--primary-color);
    border: 1px solid var(--border-color);
    
    z-index: 2;
    padding: 20px 30px;
    border-radius: 10px;
    overflow: hidden;
    transition: color 500ms ease-in-out;
}

.cta--filled::after {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width: 101%;
    height: 100%;
    z-index: -1;
    background-color: var(--cta-parent-bgcolor, var(--secondary-color));
    transform: scale3d(0,1,1);
    transform-origin: 100% 50%;
    transition: transform 500ms ease-in-out;
}

.cta--filled:hover::after {
    transform: scale3d(1,1,1);
    transform-origin: 0 50%;
}

.cta--filled:hover {
    color: var(--primary-color);
}

.cta--outlined {
    z-index: 2;
    --border-width: 1px;
    color: var(--primary-color);
    
    padding: calc(20px - var(--border-width)) calc(30px - var(--border-width));
    border: var(--border-width) solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    transition: color 500ms ease-in-out;
}

.cta--outlined::after {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width: 101%;
    height: 100%;
    z-index: -1;
    background-color: var(--primary-color);
    transform: scale3d(0,1,1);
    transform-origin: 100% 50%;
    transition: transform 500ms ease-in-out;
}

.cta--outlined:hover::after {
    transform: scale3d(1,1,1);
    transform-origin: 0 50%;
}
.cta--outlined:hover {
    color: var(--secondary-color);
}

.cta--inline-arrow {
    --arrow--width: 0.776em;
    --arrow--margin: 0.5em;
    --arrow--hr-space: calc(var(--arrow--margin) + var(--arrow--width));
    --transition: 0.125s ease 0s;
    
    color: var(--primary-color);
    padding: 11px 0px;
    
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    position: relative;
    
    transition: transform var(--transition);
}
.cta--inline-arrow::before,
.cta--inline-arrow::after {
    content: "";
    display: inline-block;
    width: var(--arrow--width);
    height: 0.795em;
    
    background-size: contain;
    background-repeat: no-repeat;
    
    transition: opacity var(--transition);
}
.cta--inline-arrow::before {
    position: absolute;
    padding-right: var(--arrow--margin);
    opacity: 0;
    transform: translateX(calc(-1 * var(--arrow--hr-space)));
}
.cta--inline-arrow::after {
    margin-left: var(--arrow--margin);
}
.cta--inline-arrow:hover {
    transform: translateX(var(--arrow--hr-space));
}
.cta--inline-arrow:hover::before {
    opacity: 1;
}
.cta--inline-arrow:hover::after {
    opacity: 0;
}
.cta--white {
    --primary-color: var(--mdr--pure-white);
    --secondary-color: var(--mdr--eggplant-purple);
    --border-color: var(--mdr--pure-white--30);
}
.cta--purple {
    --primary-color: var(--mdr--eggplant-purple);
    --secondary-color: var(--mdr--pure-white);
    --border-color: var(--mdr--eggplant-purple--30);
}
.cta--dark-grey {
    --primary-color: var(--mdr--dark-grey);
    --secondary-color: var(--mdr--pure-white);
    --border-color: var(--mdr--dark-grey--30);
}

.cta--inline-arrow.cta--purple::before,
.cta--inline-arrow.cta--purple::after {
    background-image: url('../images/svg/arrow-right--eggplant-purple.svg');
}
.cta--inline-arrow.cta--dark-grey::before,
.cta--inline-arrow.cta--dark-grey::after {
    background-image: url('../images/svg/arrow-right--dark-grey.svg');
}



/* rollover cursor attempt */
/*.cta.cta--white.cta--filled {*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*}*/
/* #cursor, */
/*.cta.cta--filled.cta--purple::before {*/
/*    content: "";*/
    
/*    --size: 3em;*/
/*    --width: var(--size);*/
/*    --height: var(--size);*/
/*    display: block;*/
/*    position: fixed;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 3em;*/
/*    height: 3em;*/
/*    border-radius: 1.5em;*/
/*    transform: translate(*/
/*        calc(100vw * var(--cursor--x) - var(--size) / 2), */
/*        calc(100vh * var(--cursor--y) - var(--size) / 2) */
/*    );*/
/*    pointer-events: none;*/
    
/*    scale: 0;*/
/*    background-color: var(--mdr--pure-white--20);*/
/*    transition: scale 0.3s ease 0s;*/
/*}*/

/*.cta.cta--filled.cta--purple:hover::before {*/
/*    scale: 1;*/
/*}*/


/* Swiper supercharge
   ========================================================================== */
   
.swiper-button-prev::after,
.swiper-button-next::after {
    content: none;
}
.swiper-pagination {
    position: static;
}

.swiper-button-lock {
    opacity: 0.3;
    pointer-events: none;
}

.swiper-wrapper.locked {
    transform: none !important;
    justify-content: center;
}
.swiper-wrapper.locked > .swiper-slide {
    width: auto !important;
    flex: 1;
}
.swiper-wrapper.locked > .swiper-slide:last-child {
    margin-right: 0px !important;
}

.swiper-button-prev,
.swiper-button-next {
    position: static;
    width: auto;
    height: auto;
    margin-top: 0px;
    width: 50px;
    height: 50px;
    padding: 0px;
    background-size: 9.31px 9.54px;
    background-position: center;
    background-repeat: no-repeat;
}
.swiper-button-prev.cta--filled.cta--white,
.swiper-button-next.cta--filled.cta--white,
.swiper-button-prev.cta--outlined.cta--dark-grey,
.swiper-button-next.cta--outlined.cta--dark-grey {
    background-image: url('../../assets/images/svg/arrow-right--dark-grey.svg');
}
.swiper-button-prev.cta--outlined.cta--white,
.swiper-button-next.cta--outlined.cta--white {
    background-image: url('../../assets/images/svg/arrow-right--pure-white.svg');
}
.swiper-button-prev {
    scale: -1;
}
@media screen and (min-width: 768px) {
    .swiper-button-prev,
    .swiper-button-next {
        width: 55px;
        height: 55px;
    }
}

/* Tags
   ========================================================================== */
.tags-container {
    font-size: 11.5px;
    line-height: 1.1em;
    font-weight: 500;
    text-transform: uppercase;
    
    display: flex;
    flex-flow: row wrap;
    gap: 5px 5px;
}
.tag {
    flex: none;
    padding: 8px;
    background-color: var(--mdr--pure-white--70);
    border-radius: 5px;
    color: var(--mdr--dark-grey);
}

/* 
   ========================================================================== */
.formation__bottom-mention {
    color: var(--mdr--dark-grey--70);
    padding: 35px var(--mdr--padding-horizontal);
    font-size: 14px;
    line-height: 1.4;
}


/* 
   ========================================================================== */
ol, ul {
    padding-left: 20px;
}
/*
@supports (counter-reset: test) {
    ol {
        counter-reset: tamere;
        padding-left: 5.1ch;
    }
    ul {
        padding-left: 4.5ch;
    }
    ol li {
        counter-increment: tamere;
    }
    ol li::marker {
        content: counter(tamere) ".\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0";
    }
    ul li::marker {
        content: "•\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0";
    }
}
*/

/* 
   ========================================================================== */
/* contributors might use <hr> tags in wysiwygs, replace it visually with a line-height wide spacing */
hr {
    border: none;
    height: 1ch;
}


/* 
   ========================================================================== */
#gform_wrapper_1[data-form-index="0"].gform-theme.gform_wrapper, 
[data-parent-form="1_0"] {
    --gf-ctrl-label-font-size-primary: 11.5px;
    --gf-ctrl-label-line-height-primary: 1.1em;
    --gf-ctrl-label-font-weight-primary: 500;
    --gf-ctrl-label-color-primary: var(--mdr--dark-grey);
    
    --gf-ctrl-border-color: #D1D1D1;
    --gf-radius: 0px;
    
    --gf-ctrl-desc-font-size-error: 14px;
    --gf-color-danger: #FF0101;
}

.gform_title {
    font-size: 28px;
    line-height: 1.1em;
    margin-bottom: 30px;
}

.gform-theme--framework .gfield_validation_message {
    --gf-local-line-height: 16px;
}
.gform-field-label {
    text-transform: uppercase;
}
.gform_wrapper {
    padding: var(--mdr--padding-vertical) var(--mdr--padding-horizontal);
    background-color: var(--mdr--light-grey);
}
.mdr-contact-form__main-tabs.gfield--type-choice .gfield_radio {
    flex-direction: row;
    column-gap: 0px;
}
.mdr-contact-form__main-tabs .gfield-choice-input {
    clip: rect(1px,1px,1px,1px);
    word-wrap: normal!important;
    border: 0;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.mdr-contact-form__main-tabs .gform-field-label--type-inline {
    --gf-local-line-height: 1em;
    --gf-local-margin-x: 0px;
    --gf-local-font-size: 12px;
    --gf-local-font-weight: 600;
    padding: 28px 0px;
    border-bottom: 2px solid transparent;
    
    cursor: pointer;
    text-align: inline;
}
.mdr-contact-form__main-tabs .gfield-choice-input:checked + .gform-field-label--type-inline {
    --gf-local-color: var(--mdr--eggplant-purple);
    border-bottom-color: var(--mdr--eggplant-purple);
}
.mdr-contact-form__main-tabs .ginput_container.ginput_container_radio { /* .swiper */
    position: relative;
    overflow: hidden;
    padding: 0;
    z-index: 1;
    touch-action: pan-y;
    margin: 0px calc(-1 * var(--mdr--padding-horizontal));
    display: block;
}
.mdr-contact-form__main-tabs .gfield_radio { /* .swiper-wrapper */
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
    box-sizing: content-box;
    transition-duration: 0ms;
    transform: translate3d(0px, 0px, 0px);
    transition-delay: 0ms;
}
.mdr-contact-form__main-tabs .gfield_radio.locked {
    justify-content: center;
    transform: translateX(0px) !important;
}
.mdr-contact-form__main-tabs.gfield--type-choice .gchoice { /* .swiper-slide */
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}
@media screen and (min-width: 768px) {
    .gform_wrapper {
        display: grid;
        grid-template-areas: ". title ."
                             ". err   ."
                             ". form  .";
        grid-template-columns: 1fr min(100%, 702px) 1fr;
    }
    .gform_heading {
        grid-area: title;
    }
    .gform_validation_errors {
        grid-area: err;
    }
    .gform_wrapper form {
        grid-area: form;
    }
    #gform_wrapper_1[data-form-index="0"].gform-theme.gform_wrapper, 
    [data-parent-form="1_0"] {
        --gf-ctrl-label-font-size-primary: 14.5px;
        --gf-ctrl-label-line-height-primary: 1.0em;
    }
    .gform_title {
        font-size: 58px;
        line-height: 1em;
        margin-bottom: 52px;
        text-align: center;
    }
}



/* Anywhere - apply Mederic pattern background image
   ========================================================================== */
.has-pattern-bg {
    background-image: var(--mdr--mederic-pattern);
    background-position: top center;
    background-repeat: repeat;
    background-size: 180px 180px;
    background-attachment: fixed;
}
@media screen and (min-width: 768px) {
    .has-pattern-bg {
        background-size: 250px 250px;
    }
}



/* Chatbot
   ========================================================================== */
leadia {
    --lead-ia-client-position-bottom: 100px !important;
    --lead-ia-client-position-left: 25px !important;
    --lead-ia-client-position-right: inherit !important;
}
leadia .lead-ia-chatCont {
    height: min(var(--lead-ia-core-window-height), 
        calc(
            100vh 
            - var(--wp-admin--admin-bar--height, 0px)
            - var(--lead-ia-client-position-bottom)
            - var(--lead-ia-core-closing-size)
            - var(--lead-ia-core-closing-gap)
            - var(--lead-ia-client-position-right)
        )
    ) !important;
    max-height:80% !important;
}

@media screen and (min-width: 768px) {
    leadia {
    --lead-ia-client-position-bottom: 60px !important;
    --lead-ia-client-position-right: inherit !important;
}
}

@media screen and (max-width: 768px) {
leadia mybot .lead-ia-chatbot_status .lead-ia-img-profile {
    min-width: 80px !important;
    width: 80px !important;
    height: 80px !important;
}
leadia {
    --lead-ia-client-position-left: inherit !important;
    --lead-ia-client-position-right: 10px !important;
}
}