@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap);
@import url(https://fonts.googleapis.com/css?family=Inconsolata:700);
@import url(https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100;8..144,200&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);

p.espace-1, p.espace-2, p.espace-3, p.espace-4, p.espace-5 {
    display: block;
    margin-bottom: 0;
    position: relative
}

.preloader .preloader-circle, p.espace-1, p.espace-2, p.espace-3, p.espace-4, p.espace-5 {
    position: relative
}

.liste-col, .sliding-panel-content li {
    list-style: none
}

.article-author img, .carouselItem img {
    object-fit: cover;
    object-position: center
}

#map .st0, #map .st1, #map .st2, #map .st3 {
    fill: none
}

.articles-tags, .liste-event, .liste-pictos, .sitemap, .sitemap ul li, ol.numbers li {
    list-style-type: none
}

.header-activite #canvasContainer, .jarallax-img {
    filter: grayscale(100%) saturate(1) brightness(118%) contrast(200%)
}

body {
    font-size: 18px;
    line-height: 1.45em;
    overflow-x: hidden
}

.dropdown-item, .h1, h1, ol.numbers li {
    line-height: 1.2em
}

::selection {
    background-color: var(--primary);
    color: #fff
}

::-moz-selection {
    background-color: var(--primary);
    color: #fff
}

.preloader, .preloader .preloader-circle {
    background-color: #fff;
    o-transition: .6s;
    webkit-transition: .6s;
    transition: .6s
}

.preloader {
    bottom: 0;
    height: 100%;
    left: 0;
    margin: 0 auto;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 999999
}

    .preloader .preloader-circle {
        animation: 2s infinite zoom;
        border-bottom-color: var(--secondary);
        border-left-color: transparent;
        border-radius: 50%;
        border-right-color: transparent;
        border-style: solid;
        border-top-color: var(--primary);
        border-width: 1px;
        box-shadow: 0 1px 5px 0 rgba(0,0,0,.35);
        height: 100px;
        webkit-animation: zoom 2000ms infinite ease;
        webkit-box-shadow: 0 1px 5px 0 rgba(0,0,0,0.35);
        width: 100px;
        z-index: 10
    }

    .preloader .preloader-circle2 {
        border-top-color: #666
    }

    .preloader .preloader-img {
        display: inline-block;
        left: 0;
        margin: 0 auto;
        ms-transform: translateY(-50%);
        o-transition: .6s;
        padding-top: 6px;
        position: absolute;
        right: 0;
        text-align: center;
        top: 50%;
        transform: translateY(-50%);
        transition: .6s;
        webkit-transform: translateY(-50%);
        webkit-transition: .6s;
        z-index: 200
    }

        .preloader .preloader-img img {
            max-width: 55px
        }

    .preloader .pere-text strong {
        color: var(--primary);
        font-weight: 800;
        text-transform: uppercase
    }

@-webkit-keyframes zoom {
    0% {
        o-transition: .6s;
        transform: rotate(0);
        transition: .6s;
        webkit-transform: rotate(0deg);
        webkit-transition: .6s
    }

    100% {
        o-transition: .6s;
        transform: rotate(360deg);
        transition: .6s;
        webkit-transform: rotate(360deg);
        webkit-transition: .6s
    }
}

@keyframes zoom {
    0% {
        o-transition: .6s;
        transform: rotate(0);
        transition: .6s;
        webkit-transform: rotate(0deg);
        webkit-transition: .6s
    }

    100% {
        o-transition: .6s;
        transform: rotate(360deg);
        transition: .6s;
        webkit-transform: rotate(360deg);
        webkit-transition: .6s
    }
}

p.espace-5 {
    padding: 3rem
}

p.espace-4 {
    padding: 1.5rem
}

p.espace-3 {
    padding: 1rem
}

p.espace-2 {
    padding: .5rem
}

p.espace-1 {
    padding: .25rem
}

.logo {
    height: auto;
    max-width: 140px
}

.top {
    justify-content: flex-end
}

.fixed-top {
    top: -40px;
    transform: translateY(40px);
    transition: transform .3s;
    background: #fff;
    box-shadow: 0 0 30px rgb(25 239 239 / 20%);
    z-index: 1030 !important
}

@media only screen and (min-width:979px) {
    .dropdown:hover .dropdown-menu {
        display: block
    }

    .dropdown-menu {
        margin-top: 0;
        border: none;
        border-radius: 0;
        box-shadow: 0 0 20px rgb(0 0 0 / 30%)
    }
}

.dropdown-menu.megamenu {
    width: auto !important;
    min-width: max-content
}

.title.dropdown-item.active {
    background: 0 0;
    color: var(--secondary);
    border: 1px solid
}

.title.dropdown-item {
    font-size: 1.5em;
    color: var(--primary);
    margin-bottom: 10px
}

.navbar-light .navbar-nav .nav-link {
    position: relative;
    color: #000;
    text-transform: uppercase;
    background: #fff;
    border-radius: 1.25em;
    border: solid 1px var(--primary);
    font-size: 1.1em;
    padding: .5em;
    font-family: 'Bebas Neue',Arial;
    margin-left: .15em;
    margin-right: .15em
}

.nav-link.dropdown-toggle {
    padding: .5em 2.5em .5em 1em !important;
    text-align: left
}

.dropdown-toggle::after {
    margin-left: .255em;
    vertical-align: middle;
    font-family: Flaticon;
    content: "";
    font-size: 30px;
    border: none
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
    color: var(--secondary)
}

#topcontrol img, .case-studies-block, .dark-vid, .dropdown-toggle::after, .faq .accordionTitle::before, .faq .accordion__Heading::before, .jarallax.no-filter::after, .nav-toggle, .noLinktel::before, .sitemap li a[href='#']:hover::before {
    display: none
}

@media only screen and (max-width:1279px) {
    .nav-toggle {
        z-index: 1;
        width: 60px;
        height: 60px;
        border: none;
        background: 0 0;
        position: relative;
        webkit-appearence: none;
        display: block;
        align-self: center
    }

        .nav-toggle:active, .nav-toggle:focus {
            outline: 0
        }

        .nav-toggle .nav-label {
            opacity: 1;
            float: left;
            display: none;
            font-size: 14px;
            text-transform: uppercase
        }

        .nav-toggle.nav-open .nav-svg .dots {
            left: 24px;
            opacity: 0;
            background: #000;
            webkit-animation: showDots 0.2s 0.2s forwards;
            animation: .2s .2s forwards showDots
        }

            .nav-toggle.nav-open .nav-svg .dots:before {
                webkit-animation: toCloseDotsTop 0.6s 0.2s forwards;
                animation: .6s .2s forwards toCloseDotsTop
            }

            .nav-toggle.nav-open .nav-svg .dots:after {
                webkit-animation: toCloseDotsBottom 0.6s 0.2s forwards;
                animation: .6s .2s forwards toCloseDotsBottom
            }

        .nav-toggle.nav-open .nav-svg path.x {
            transition: .2s ease-in-out .2s;
            transform: rotate(45deg) translate(17%,-57%) scaleX(.75)
        }

            .nav-toggle.nav-open .nav-svg path.x:first-of-type {
                transform-origin: right center;
                transform: rotate(-45deg) translate(-17%,-28%) scaleX(.75)
            }

        .nav-toggle.nav-open .nav-svg path.yy {
            stroke-dashoffset: -1200;
            transition: .25s ease-in-out
        }

        .nav-toggle .nav-svg {
            display: inline-block;
            transform: translate(-1px,2px)
        }

            .nav-toggle .nav-svg .dots {
                top: 24px;
                left: 10px;
                width: 2px;
                height: 2px;
                border-radius: 1px;
                background: var(--danger);
                position: absolute;
                transition: background .25s ease-out,left .25s ease-out
            }

                .nav-toggle .nav-svg .dots:after, .nav-toggle .nav-svg .dots:before {
                    left: 0;
                    opacity: 1;
                    width: 2px;
                    content: "";
                    height: 2px;
                    border-radius: 1px;
                    background: var(--danger);
                    position: absolute
                }

                .nav-toggle .nav-svg .dots:before {
                    top: -7px
                }

                .nav-toggle .nav-svg .dots:after {
                    top: 7px;
                    transition-delay: 0.1s
                }

            .nav-toggle .nav-svg path {
                stroke: #000;
                stroke-width: 70
            }

                .nav-toggle .nav-svg path.x {
                    transition: .25s ease-in-out;
                    transform-origin: left center;
                    transform: rotate(0) translate(0,0) scale(1)
                }

                .nav-toggle .nav-svg path.yy {
                    stroke-dashoffset: 1700;
                    stroke-dasharray: 2520 3000;
                    transition: .2s ease-in-out .2s
                }

    .fixed-top .nav-toggle {
        margin-right: 40px
    }

    @-webkit-keyframes showDots {
        0% {
            opacity: 0
        }

        100% {
            opacity: 1
        }
    }

    @keyframes showDots {
        0% {
            opacity: 0
        }

        100% {
            opacity: 1
        }
    }

    @-webkit-keyframes toCloseDotsBottom {
        40%,75%,from,to {
            -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
            animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
        }

        0% {
            transform: translate3d(0,0,0)
        }

        40% {
            transform: translate3d(0,5px,0)
        }

        75% {
            transform: translate3d(0,-3px,0)
        }

        to {
            transform: none
        }
    }

    @keyframes toCloseDotsBottom {
        40%,75%,from,to {
            -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
            animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
        }

        0% {
            transform: translate3d(0,0,0)
        }

        40% {
            transform: translate3d(0,5px,0)
        }

        75% {
            transform: translate3d(0,-3px,0)
        }

        to {
            transform: none
        }
    }

    @-webkit-keyframes toCloseDotsTop {
        40%,75%,from,to {
            -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
            animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
        }

        0% {
            transform: translate3d(0,0,0)
        }

        40% {
            transform: translate3d(0,-5px,0)
        }

        75% {
            transform: translate3d(0,3px,0)
        }

        to {
            transform: none
        }
    }

    @keyframes toCloseDotsTop {
        40%,75%,from,to {
            -webkit-animation-timing-function: cubic-bezier(0.215,0.61,0.355,1);
            animation-timing-function: cubic-bezier(0.215,0.61,0.355,1)
        }

        0% {
            transform: translate3d(0,0,0)
        }

        40% {
            transform: translate3d(0,-5px,0)
        }

        75% {
            transform: translate3d(0,3px,0)
        }

        to {
            transform: none
        }
    }
}

.navbar-light .navbar-nav .nav-link::after, .navbar-light .navbar-nav .nav-link::before {
    content: '';
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    webkit-backface-visibility: hidden;
    webkit-transition: -webkit-transform 0.3s,opacity 0.3s;
    transition: transform .3s,opacity .3s;
    webkit-transition-timing-function: cubic-bezier(0.75,0,0.125,1);
    transition-timing-function: cubic-bezier(0.75,0,0.125,1)
}

.dropdown-toggler-icon::before {
    content: '\f078';
    font-family: 'Font Awesome 5 Pro'
}

.dropdown-item, .h1, .h2, .h3, .h4, .search .search-input, h1, h2, h3, h4 {
    font-family: var(--font-family-serif)
}

.dropdown-toggler-icon {
    display: block;
    font-size: 1.2rem;
    position: absolute;
    right: 15px;
    top: 25%
}

#metier, .accordion, .nav-item, .row-cards, .search, .with-arrow .nav-link.active {
    position: relative
}

.navbar-light .navbar-nav .nav-link::before {
    border: 3px solid var(--secondary);
    opacity: 0;
    webkit-transform: scale3d(1.2,1.2,1);
    transform: scale3d(1.2,1.2,1);
    background: var(--primary)
}

.dropdown-menu {
    transition: .2s linear;
    box-shadow: 0 0 30px rgba(0,0,0,.2);
    border-radius: 30px;
    border-bottom: solid 3px var(--primary);
    padding: 0;
    width: auto;
    min-width: 300px;
    background: #fff;
    background: -moz-linear-gradient(top,#fff 0,#ededed 100%);
    background: -webkit-linear-gradient(top,#fff 0,#ededed 100%);
    background: linear-gradient(to bottom,#fff 0,#ededed 100%)
}

.dropdown-item {
    white-space: normal;
    border-radius: 30px;
    color: var(--dark);
    font-size: 1.2em;
    letter-spacing: .025em
}

    .dropdown-item:focus, .dropdown-item:hover {
        color: var(--dark);
        text-decoration: none;
        background-color: var(--secondary)
    }

.navbar-light .navbar-nav .nav-link::before {
    border-width: 3px
}

.navbar-light .navbar-nav .nav-link::after {
    background: var(--primary)
}

.navbar-light .navbar-nav .nav-link:hover::before {
    opacity: 1;
    webkit-transform: scale3d(1,1,1);
    transform: scale3d(1,1,1)
}

.navbar-light .navbar-nav .nav-link:hover::after {
    opacity: 0;
    webkit-transform: scale3d(0.8,0.8,1);
    transform: scale3d(.8,.8,1)
}

.navbar-light .navbar-nav .nav-item.active .nav-link, .navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
    background: var(--secondary)
}

.nav-item {
    transition: .2s linear;
    width: 20%;
    text-align: center
}

    .nav-item .dropdown-menu {
        transform: translate3d(0,10px,0);
        visibility: hidden;
        opacity: 0;
        max-height: 0;
        display: block;
        margin: 0;
        transition: .2s linear
    }

    .nav-item.show .dropdown-menu {
        opacity: 1;
        visibility: visible;
        max-height: 999px;
        transform: translate3d(0,0,0);
        padding: 1.5rem .75rem
    }

.search .search-input {
    background: 0 0;
    border: 1px solid var(--primary);
    border-radius: 3.0625rem;
    height: 2rem;
    width: 2rem;
    color: var(--dark);
    padding: .5rem .8rem .6rem;
    letter-spacing: .03rem;
    transition: .3s;
    cursor: pointer
}

    .search .search-input:focus {
        outline: 0
    }

.search .cross {
    position: absolute;
    top: 0;
    right: 1.5rem;
    cursor: pointer;
    width: 14px;
    height: 14px;
    transform: translateX(28px) translateY(24px);
    transition: .3s
}

    .search .cross:after, .search .cross:before {
        content: "";
        display: block;
        background: var(--primary);
        position: absolute;
        width: .15rem;
        height: 1.4rem;
        transition: .3s;
        left: .8125rem;
        transform: rotate(-45deg)
    }

.search.opened .search-input {
    width: 20%;
    cursor: text;
    border-color: transparent;
    box-shadow: -1px 1px 20px -6px rgba(0,0,0,.2);
    webkit-box-shadow: -1px 1px 20px -6px rgba(0,0,0,0.2);
    moz-box-shadow: -1px 1px 20px -6px rgba(0,0,0,0.2);
    padding: .5rem 5rem .6rem .8rem;
    height: 2.5rem
}

.search.opened .cross {
    transform: translateX(5px) translateY(1px);
    transition-delay: 0s;
    top: .5rem;
    right: 30px
}

    .search.opened .cross:before {
        transition-delay: 0.3s;
        transform: rotate(45deg)
    }

.StreamsHero-image {
    background: #19efef;
    background: -moz-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: -webkit-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: linear-gradient(to right,#19efef 0,#bdffb5 100%);
    background-size: 350% 350%;
    animation: 8s infinite waveColors;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    margin: 0 auto
}

.section-intro::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1000;
    bottom: -1px;
    width: 100%;
    height: 35%;
    background: url(../img/forme-separation-section-1.png) top center/cover no-repeat
}

.bg-gradient {
    background: #19efef;
    background: -moz-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: -webkit-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: linear-gradient(to right,#19efef 0,#bdffb5 100%)
}

@-webkit-keyframes waveColors {
    0%,100% {
        background-position: 0 7%
    }

    50% {
        background-position: 100% 94%
    }
}

@keyframes waveColors {
    0%,100% {
        background-position: 0 7%
    }

    50% {
        background-position: 100% 94%
    }
}

#metier {
    z-index: 0;
    padding-bottom: 250px;
    min-height: 70vh
}

.bottom-section1 {
    width: 100%;
    height: auto;
    position: absolute;
    bottom: -1px;
    z-index: 100
}

#video-viewport, .fullsize-video-bg {
    height: 100% !important;
    overflow: hidden
}

#solutions::after {
    content: '';
    min-height: 100px;
    margin-top: -203px;
    content: '';
    display: block;
    width: 100%;
    height: 300px;
    background: -moz-linear-gradient(top,rgba(255,255,255,0) 0,#fff 61%,#fff 100%);
    background: -webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fff 61%,#fff 100%);
    background: linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 61%,#fff 100%);
    position: absolute;
    bottom: -20px;
    left: 0
}

#contenu-header::after, .header-home::after {
    bottom: -7.5px;
    left: -.5%;
    display: block;
    right: 0
}

#solutions {
    position: relative;
    background: url("../img/fond-solutions.png") top right/cover no-repeat;
    margin-top: -250px;
    z-index: 10;
    padding-top: 250px;
    padding-bottom: 150px;
    margin-bottom: 5rem
}

/*.mask-svg {
    webkit-mask-image: url(../img/mask-header.svg);
    mask-image: url(../img/mask-header.svg);
    webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}*/

#contenu-header::after {
    content: url(../img/after-header-pages.svg);
    position: absolute;
    width: 101%;
    height: auto
}

#video-viewport {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

video {
    display: block;
    height: auto;
    margin-left: -25%;
    margin-top: 5%;
    width: 100% !important
}

.fullsize-video-bg {
    position: relative
}

    .fullsize-video-bg:before {
        background: url("../img/degrade-metier.png") left center/cover no-repeat;
        content: '';
        height: 100%;
        position: absolute;
        width: 100%;
        z-index: 0
    }

.link-tel::before, ol.numbers li:before {
    background: var(--secondary);
    color: #fff
}

.header-home::after {
    content: url(../img/after-header-pages.svg);
    height: auto;
    position: absolute;
    width: 101%;
    z-index: 2
}

.header-home {
    height: 90vh;
    position: relative
}

.overlay-headerHome {
    background-color: transparent !important;
    bottom: -2px;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.sigle-home {
    margin-top: -5%;
    opacity: .8;
    position: relative;
    width: 25%;
    z-index: 4
}

.bg-video-wrap {
    height: 100%;
    overflow: hidden;
    position: absolute;
    width: 100%;
    z-index: 0
}

    .bg-video-wrap video {
        height: auto !important;
        margin-left: 0;
        margin-top: -12.5vh;
        min-height: 100vh;
        min-width: 100%;
        z-index: -1
    }

.letters span {
    color: #faebd7;
    text-shadow: 0 0 0 #faebd7;
    -webkit-animation: 1s ease-in-out infinite alternate letters
}

@-webkit-keyframes letters {
    to {
        text-shadow: 20px 0 70px #ff0266;
        color: #ff0266
    }
}

.letters span:nth-child(2) {
    -webkit-animation-delay: .1s
}

.letters span:nth-child(3) {
    -webkit-animation-delay: .2s
}

.letters span:nth-child(4) {
    -webkit-animation-delay: .3s
}

.letters span:nth-child(5) {
    -webkit-animation-delay: .4s
}

.letters span:nth-child(6) {
    -webkit-animation-delay: .5s
}

.letters span:nth-child(7) {
    -webkit-animation-delay: .6s
}

.letters span:nth-child(8) {
    -webkit-animation-delay: .7s
}

.letters span:nth-child(9) {
    -webkit-animation-delay: .8s
}

.letters span:nth-child(10) {
    -webkit-animation-delay: .9s
}

.letters span:nth-child(11) {
    -webkit-animation-delay: 1s
}

.letters span:nth-child(12) {
    -webkit-animation-delay: 1.1s
}

.letters span:nth-child(13) {
    -webkit-animation-delay: 1.2s
}

.letters span:nth-child(14) {
    -webkit-animation-delay: 1.3s
}

.letters span:nth-child(15) {
    -webkit-animation-delay: 1.4s
}

.letters span:nth-child(16) {
    -webkit-animation-delay: 1.5s
}

.letters span:nth-child(17) {
    -webkit-animation-delay: 1.6s
}

.letters span:nth-child(18) {
    -webkit-animation-delay: 1.7s
}

.letters span:nth-child(19) {
    -webkit-animation-delay: 1.8s
}

.letters span:nth-child(20) {
    -webkit-animation-delay: 1.9s
}

.letters span:nth-child(21) {
    -webkit-animation-delay: 2s
}

.letters span:nth-child(22) {
    -webkit-animation-delay: 2.1s
}

.letters span:nth-child(23) {
    -webkit-animation-delay: 2.2s
}

.letters span:nth-child(24) {
    -webkit-animation-delay: 2.3s
}

a {
    transition: .9s
}

    a:active, a:focus, a:hover {
        text-decoration: none !important;
        outline: 0 !important;
        box-shadow: none
    }

b, strong {
    font-weight: 800
}

.h1, h1 {
    font-size: 5rem;
    font-weight: 600;
    white-space: normal;
    letter-spacing: .05em
}

.h2, h2 {
    font-size: 6vw;
    font-weight: 400;
    line-height: .8em;
    margin-bottom: 3rem;
    letter-spacing: 0
}

.actus-2cols .jarallax h2, .h3, h3 {
    font-size: 3.5rem
}

.h3, .h4, h3, h4 {
    font-weight: 600
}

.h3, h3 {
    line-height: 1em
}

.h4, h4 {
    font-size: 2.2em;
    line-height: 1.1em
}

.h5, h5 {
    font-size: 1.4em;
    font-weight: 400;
    line-height: 1.5em
}

.h6, h6 {
    font-size: 1.1em;
    font-weight: 800;
    line-height: 1em;
    text-transform: uppercase
}

.blockquote {
    border-left: solid .25rem var(--light);
    font-size: 1em;
    line-height: 1.4em;
    margin: 0 0 1rem;
    padding-left: 1.5rem
}

.sous-titre {
    font-family: var(--font-family-sans-serif);
    font-size: 45%;
    display: block;
    position: relative;
    line-height: initial;
    margin-bottom: 30px
}

.btn-link, .font-serif, .link-tel::before, .text-kaizen, footer h5 {
    font-family: var(--font-family-serif)
}

.code, code {
    font-size: 87.5%;
    background: var(--light);
    padding: 2px;
    color: var(--red)
}

.code, .liste-event i, code, ol.numbers li:before {
    display: inline-block
}

code {
    word-wrap: break-word
}

.link-tel {
    font-size: 0;
    cursor: pointer
}

    .link-tel::before {
        content: 'Téléphoner';
        font-size: 1.4rem;
        text-transform: uppercase;
        padding: 6px 30px;
        border-radius: 25px;
        letter-spacing: 1px;
        line-height: 1.5em
    }

.noLink-tel {
    font-size: inherit
}

.smaller {
    font-size: 60%
}

.text-kaizen {
    letter-spacing: .075em
}

.blockquote-primary {
    border-color: var(--primary)
}

.blockquote-secondary {
    border-color: var(--secondary)
}

.blockquote-success {
    border-color: var(--success)
}

.blockquote-info {
    border-color: var(--info)
}

.blockquote-warning {
    border-color: var(--warning)
}

.blockquote-danger {
    border-color: var(--danger)
}

.lead {
    line-height: 1.5em;
    font-size: 1.15em
}

.snip1543 h3, .sur-titre {
    font-weight: 700;
    line-height: 1em
}

.sur-titre {
    font-size: 24px;
    letter-spacing: 0;
    color: var(--danger);
    position: relative
}

.author, .sub-title {
    letter-spacing: .05em
}

.btn-link {
    color: var(--dark);
    border-bottom: dotted 1px var(--primary)
}

    .btn-link:hover {
        border-bottom-color: var(--danger)
    }

.liste-stylisee, .resultats {
    list-style: none;
    padding-left: 0
}

    .liste-stylisee li {
        margin-bottom: .75em;
        padding-left: 1.5em
    }

        .liste-stylisee li:before {
            color: var(--danger);
            content: "\f00c";
            font-family: var(--font-family-pictos);
            margin-left: -1.5em;
            margin-right: .5em;
            font-weight: 500
        }

        .liste-stylisee li li {
            list-style-type: none;
            margin-bottom: .25em;
            margin-top: .25em
        }

            .liste-stylisee li li:before {
                content: '-'
            }

ol.numbers {
    counter-reset: numbers;
    padding-left: 0
}

    ol.numbers li {
        counter-increment: numbers;
        margin-bottom: 1.5em;
        padding-left: 1.75em
    }

        ol.numbers li:before {
            content: counter(numbers);
            padding: .15em .5em;
            vertical-align: top;
            moz-border-radius: 6px;
            font-weight: 600;
            font-size: 1.25em;
            margin-left: -1.75em;
            font-family: var(--font-family-monospace);
            border-radius: 6px;
            margin-right: .25em;
            position: relative
        }

        ol li ul li::before, ol.numbers li ol li::before {
            content: "•" !important;
            background: 0 0 !important;
            margin-left: -1em !important;
            padding: 0 !important;
            color: var(--secondary) !important
        }

        ol.numbers li ol li, ol.numbers li ul li {
            margin-left: -1em
        }

.liste-event {
    margin: 2.5rem auto;
    max-width: 600px;
    padding: 0;
    width: 100%
}

    .liste-event li {
        margin-bottom: 10px;
        border: solid 1px var(--primary);
        padding: .5rem 1.55rem;
        border-radius: 1.5rem
    }

    .liste-event i {
        font-size: 1.5em;
        vertical-align: middle;
        margin: 0 10px 0 0;
        color: var(--danger)
    }

.accordion dd, .accordion p, .accordion__panel, .counter p, .resultats h2 {
    margin-bottom: 0
}

.resultats li {
    padding-left: 60px;
    display: block
}

    .resultats li::before {
        content: "";
        margin-left: -60px;
        margin-right: 55px;
        background: url("../img/sigle-kaizen.png") center center/contain no-repeat;
        display: block;
        width: 50px;
        height: 50px;
        position: absolute
    }

.resultats h2 {
    font-size: 1.5em;
    font-weight: 700
}

.btn-lire {
    text-align: right;
    display: block
}

    .btn-lire a, .plot {
        transition: .8s
    }

        .btn-lire a:hover {
            margin-right: -10px
        }

.font-sans-serif {
    font-family: var(--font-family-sans-serif)
}

.font-monospace {
    font-family: var(--font-family-monospace)
}

.font-futurist {
    font-family: var(--font-family-futurist)
}

.contenu-header-text .breadcrumb {
    background: 0 0;
    justify-content: center;
    position: relative;
    padding-top: 30px
}

    .contenu-header-text .breadcrumb::before {
        content: '';
        display: block;
        height: 1px;
        width: 40%;
        margin: 10px auto;
        position: absolute;
        background: var(--danger);
        top: 0
    }

.contenu-header-text .breadcrumb-item {
    font-size: .95em;
    letter-spacing: .05em;
    font-family: var(--font-family-serif);
    color: var(--light)
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--primary);
    content: "\f105";
    font-family: var(--font-family-pictos);
    font-weight: 300;
    vertical-align: middle;
    line-height: 1.5em
}

.contenu-header-text .breadcrumb-item.active {
    color: var(--gray-light)
}

.breadcrumb {
    border-radius: 16px;
    background: rgba(255,255,255,.6);
    box-shadow: 0 0 30px rgba(0,0,0,.075)
}

.agences-footer h4, .breadcrumb-item + .breadcrumb-item::before {
    color: var(--danger)
}

.breadcrumb-item.active {
    color: var(--gray-dark)
}

.breadcrumb-item + .breadcrumb-item {
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    padding-right: 10px;
    display: inline-block;
    font-size: .85em;
    font-family: var(--font-family-sans-serif)
}

.accroche, .articles-tags, .date, .infos-articles, .liste-col li a, .type-writer-text, .with-arrow .nav-link {
    font-family: var(--font-family-serif)
}

.contenu-header-text .breadcrumb-item + .breadcrumb-item a, .sitemap li a:hover {
    color: #fff
}

.breadcrumb-item + .breadcrumb-item a {
    color: var(--dark)
}

.sub-title {
    display: block;
    font-size: 1.4rem;
    line-height: 1.1em
}

.breadcrumb-item a[href='#'], .sitemap a[href='#'] {
    cursor: default
}

    .sitemap a[href='#']:hover {
        color: initial
    }

.heading-primary {
    font-size: 2em;
    padding: 2em;
    text-align: center
}

.accordion p {
    padding: .5em 1em
}

.accordionTitle, .accordion__Heading {
    background-color: var(--white);
    padding: .15rem;
    display: block;
    text-decoration: none;
    transition: background-color .5s ease-in-out;
    border-bottom: none;
    text-transform: uppercase;
    font-size: .8em
}

    .accordionTitle:before, .accordion__Heading:before {
        content: "+";
        font-size: 2.5em;
        display: inline-block;
        font-weight: 200;
        transition: transform .3s ease-in-out;
        margin-right: 20px;
        vertical-align: middle
    }

    .accordionTitle.is-expanded:before, .accordionTitleActive:before {
        transform: rotate(-225deg)
    }

.faq .accordionTitle, .faq .accordion__Heading {
    border-radius: 1.5rem;
    border: none;
    margin-bottom: 7px;
    padding: .75em 1.5em;
    color: var(--dark);
    position: relative;
    text-transform: none;
    font-weight: 400;
    background: 0 0;
    font-family: var(--font-family-serif);
    font-size: 1.2em;
    box-shadow: 0 0 30px rgba(0,0,0,.1)
}

    .faq .accordionTitle:after, .faq .accordion__Heading:after {
        content: "\f063";
        font-size: .9em;
        display: inline-block;
        font-weight: 400;
        transition: transform .3s ease-in-out;
        margin-right: 0;
        vertical-align: middle;
        position: absolute;
        right: 4px;
        font-family: var(--font-family-pictos);
        border-radius: 100%;
        padding: 4px;
        width: 30px;
        height: 30px;
        background: var(--primary);
        color: #fff;
        text-align: center;
        line-height: 1.2em;
        top: 22%
    }

    .faq .accordionTitle.is-expanded, .faq .accordionTitleActive {
        font-weight: 500;
        background: #fff
    }

        .faq .accordionTitle.is-expanded:after, .faq .accordionTitleActive:after {
            transform: rotate(180deg);
            background: var(--danger)
        }

.accordionItem {
    height: auto;
    overflow: hidden;
    transition: max-height 1s
}

    .accordionItem.is-collapsed {
        max-height: 0
    }

.no-js .accordionItem.is-collapsed {
    max-height: auto
}

.animateIn {
    webkit-animation: accordionIn 0.45s normal ease-in-out both 1;
    animation: .45s ease-in-out both accordionIn
}

.animateOut {
    webkit-animation: accordionOut 0.45s alternate ease-in-out both 1;
    animation: .45s ease-in-out alternate both accordionOut
}

@-webkit-keyframes accordionIn {
    0% {
        opacity: 0;
        transform: scale(.9) rotateX(-60deg);
        transform-origin: 50% 0
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes accordionIn {
    0% {
        opacity: 0;
        transform: scale(.9) rotateX(-60deg);
        transform-origin: 50% 0
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@-webkit-keyframes accordionOut {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    100% {
        opacity: 0;
        transform: scale(.9) rotateX(-60deg)
    }
}

@keyframes accordionOut {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    100% {
        opacity: 0;
        transform: scale(.9) rotateX(-60deg)
    }
}

.nav-tabs {
    border-bottom: none;
    line-height: 1.8em;
    z-index: 10;
    position: relative
}

.with-arrow .nav-link {
    font-size: 2rem;
    color: #333
}

    .with-arrow .nav-link.active::after {
        content: '';
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-top: 12px solid var(--danger);
        position: absolute;
        bottom: -12px;
        left: 50%;
        transform: translateX(-50%);
        display: block
    }

.lined .nav-link {
    border: 1px solid var(--light);
    border-radius: 26px !important;
    padding: 1rem
}

    .lined .nav-link:hover {
        color: var(--dark) !important;
        background: var(--danger) !important
    }

    .lined .nav-link.active {
        background: var(--danger);
        color: #fff;
        border-color: var(--danger)
    }

.tab-content {
    box-shadow: 0 4px 20px rgb(0 0 0 / 5%)
}

#solutions .tab-content {
    box-shadow: none;
    z-index: 1;
    position: relative
}

.type-writer-text {
    font-size: 1.45em;
    max-width: 600px;
    text-align: justify;
    margin: .5rem auto;
    position: relative;
    line-height: 1.5em;
    padding: 2rem;
    background: var(--light);
    transition: 1.2s
}

    .type-writer-text::after {
        content: '';
        border-right: 1px solid var(--primary);
        animation: .8s infinite cursorblink;
        padding-left: 10px
    }

.border-corner:after, .border-corner:before, .border-corner > div:after, .border-corner > div:before {
    content: "";
    animation: 1.5s linear wh;
    position: absolute
}

@keyframes typewriter {
    from {
        width: 0
    }

    to {
        width: 28.5em
    }
}

@keyframes cursorblink {
    from {
        border-right: 1px solid var(--primary)
    }

    to {
        border-right: 1px solid #fff
    }
}

.border-corner {
    display: inline-block;
    position: relative;
    padding: 15px;
    margin: 25px auto;
    animation: 1.5s linear 2s pad;
    min-height: 180px
}

    .border-corner:after {
        left: 0;
        top: 20px;
        width: 40px;
        height: 40px;
        border-left: 2px solid var(--primary);
        border-top: 2px solid var(--primary)
    }

    .border-corner:before {
        right: 0;
        top: 0;
        width: 20px;
        height: 20px;
        border-right: 1px solid #fff;
        border-top: 1px solid #fff
    }

    .border-corner > div:after {
        right: 0;
        bottom: 20px;
        width: 40px;
        height: 40px;
        border-right: 2px solid var(--primary);
        border-bottom: 2px solid var(--primary)
    }

    .border-corner > div:before {
        left: 0;
        bottom: 0;
        width: 20px;
        height: 20px;
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff
    }

@keyframes wh {
    0% {
        width: 0;
        height: 0
    }

    50% {
        width: 20px;
        height: 0
    }

    100% {
        width: 40px;
        height: 40px
    }
}

@keyframes pad {
    0%,100% {
        padding: 25px;
        margin: 25px
    }

    30%,70% {
        filter: blur(0px)
    }

    50% {
        padding: 50px;
        margin: 0;
        filter: blur(3px)
    }
}

.author {
    font-size: 1.1em;
    text-align: center;
    margin-bottom: 0
}

    .author::before {
        content: '-';
        margin-right: 5px
    }

    .author::after {
        content: '-';
        margin-left: 5px
    }

.quote {
    margin-bottom: -2rem;
    z-index: 2;
    position: relative
}

#agences, .jarallax {
    z-index: 0
}

.fonction {
    font-size: .8em;
    color: inherit;
    text-align: center;
    opacity: .75
}

.photo-portrait {
    border: 10px solid rgba(255,255,255,.4);
    border-radius: 100%;
    display: block;
    height: 300px;
    margin: -150px auto 20px;
    overflow: hidden;
    width: 300px
}

    .img-fit-cover-center, .pho-temoignage-articles img, .photo-portrait img {
        height: 100%;
        object-fit: cover;
        object-position: center;
        width: 100%
    }

.img-fit-cover-left {
    height: 100%;
    object-fit: cover;
    object-position: left;
    width: 100%
}

.img-fit-cover-right {
    height: 100%;
    object-fit: cover;
    object-position: right;
    width: 100%
}

.image-link::before {
    content: '\f00e';
    font-size: 5rem;
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    color: var(--danger);
    background: rgb(23 162 184 / 60%);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .8s;
    opacity: 0
}

.image-link {
    position: relative;
    width: 100%;
    height: 100%;
    display: block
}

    #phone:hover .first-l, #phone:hover .second-l, #phone:hover .third-l, .close-container:hover label, .image-link:hover::before {
        opacity: 1
    }

.temoignage-thumb {
    display: block;
    position: relative;
    margin: -80px auto 50px;
    border-radius: 100%;
    max-width: 120px;
    height: auto
}

#carouselTemoignages .carousel-item {
    text-align: center;
    background: url(../img/motifs-metier.webp) left bottom/contain no-repeat #fff;
    box-shadow: 0 0 40px rgba(0,0,0,.1);
    border-radius: 30px
}

#carouselTemoignages .carousel-inner {
    padding: 40px
}

#carouselTemoignage {
    margin-top: 4rem
}

.carousel-control-next, .carousel-control-prev {
    width: 80px;
    height: 80px;
    top: 45%;
    opacity: 1;
    transition: .2s
}

    .carousel-control-next:hover, .carousel-control-prev:hover {
        opacity: .9;
        transform: scale(.9)
    }

.carousel-control-next {
    justify-content: end;
    padding-right: 20px;
    right: 10px;
    background: url("../img/fnd-nav-temoignages-r.png") right center/contain no-repeat
}

.carousel-control-prev {
    justify-content: start;
    padding-left: 20px;
    left: 10px;
    background: url("../img/fnd-nav-temoignages-l.png") left center/contain no-repeat
}

.insights {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: wrap
}

.snip1543 {
    background-color: #fff;
    color: #fff !important;
    margin: 10px;
    max-width: 40%;
    min-width: 300px;
    overflow: hidden;
    position: relative;
    text-align: left;
    width: 100%;
    webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.actus-2cols .extrait, .extrait {
    text-align: justify;
    line-height: 1.5em
}

.snip1543 *, .snip1543 :after, .snip1543 :before {
    webkit-box-sizing: border-box;
    box-sizing: border-box;
    webkit-transition: all 0.45s ease;
    transition: .45s
}

.snip1543 img {
    backface-visibility: hidden;
    width: 100%;
    vertical-align: top
}

.snip1543:after, .snip1543:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background-color: #a3de66;
    opacity: .5;
    webkit-transition: all 0.45s ease;
    transition: .45s
}

.snip1543.first:after, .snip1543.first:before {
    background-color: #a3de66
}

.snip1543:before {
    webkit-transform: skew(30deg) translateX(-80%);
    transform: skew(30deg) translateX(-80%)
}

.snip1543:after {
    webkit-transform: skew(-30deg) translateX(-70%);
    transform: skew(-30deg) translateX(-70%)
}

.snip1543 figcaption {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    bottom: 0;
    padding: 45px 50% 25px 20px
}

    .snip1543 figcaption:after, .snip1543 figcaption:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #29ccd9;
        box-shadow: 0 0 20px rgba(0,0,0,.7);
        content: '';
        opacity: .75;
        z-index: -1
    }

    .snip1543 figcaption:before {
        webkit-transform: skew(30deg) translateX(-100%);
        transform: skew(30deg) translateX(-100%)
    }

    .snip1543 figcaption:after {
        webkit-transform: skew(-30deg) translateX(-90%);
        transform: skew(-30deg) translateX(-90%)
    }

.snip1543 h3, .snip1543 p {
    margin: 0;
    opacity: 0;
    letter-spacing: 1px
}

.snip1543 h3 {
    font-size: 3rem;
    text-transform: uppercase
}

.snip1543 p {
    font-size: 1.2rem
}

.snip1543 a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1
}

.snip1543.hover h3, .snip1543.hover p, .snip1543:hover h3, .snip1543:hover p {
    webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: .9;
    webkit-transition-delay: 0.2s;
    transition-delay: 0.2s
}

.snip1543.hover:before, .snip1543:hover:before {
    webkit-transform: skew(30deg) translateX(-20%);
    transform: skew(30deg) translateX(-20%);
    webkit-transition-delay: 0.05s;
    transition-delay: 50ms
}

.snip1543.hover:after, .snip1543:hover:after {
    webkit-transform: skew(-30deg) translateX(-10%);
    transform: skew(-30deg) translateX(-10%)
}

.snip1543.hover figcaption:before, .snip1543:hover figcaption:before {
    webkit-transform: skew(30deg) translateX(-40%);
    transform: skew(30deg) translateX(-40%);
    webkit-transition-delay: 0.15s;
    transition-delay: 0.15s
}

.snip1543.hover figcaption:after, .snip1543:hover figcaption:after {
    webkit-transform: skew(-30deg) translateX(-30%);
    transform: skew(-30deg) translateX(-30%);
    webkit-transition-delay: 0.1s;
    transition-delay: 0.1s
}

.plus-insights {
    background: var(--danger);
    border: solid 4px var(--primary);
    border-radius: 100%;
    bottom: 10px;
    color: #fff;
    opacity: 1 !important;
    position: absolute;
    right: 10px;
    text-shadow: 0 0 2px #fff
}

.jarallax {
    position: relative;
    display: grid;
    align-items: center;
    width: 100%;
    height: 100vw;
    max-height: 60rem;
    min-height: 40rem
}

.text {
    z-index: 10;
    padding: 2rem;
    color: #fff;
    font-size: 6.5rem
}

.articles-tags a, .date, .liste-col li a {
    color: var(--danger)
}

.jarallax:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(23 162 184 / 60%)
}

.jarallax-img {
    webkit-filter: grayscale(100%) saturate(1) brightness(118%) contrast(200%)
}

.jarallax-link {
    position: absolute;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0);
    display: block;
    z-index: 100;
    transition: .8s;
    cursor: crosshair
}

.separation-left, .separation-right {
    background-image: linear-gradient(45deg,var(--primary) 0,#fff 24%,var(--secondary) 49%,var(--cyan) 75%,#fff 100%);
    height: 1px;
    background-size: 400% 400%;
    position: relative;
    animation: 8s infinite gradientborders;
    display: block
}

.burger-box, .close-container, .expertises .jarallax-link, .icon, .map text:hover, .plot:hover {
    cursor: pointer
}

.jarallax.no-filter {
    height: auto
}

    .jarallax.no-color img, .jarallax.no-filter img {
        filter: none
    }

.jarallax-link:hover {
    background: var(--danger);
    opacity: .6
}

.actus-2cols .jarallax, .agences .jarallax {
    max-height: 40rem
}

.expertises .jarallax {
    max-height: 20rem;
    min-height: 20rem
}

    .expertises .jarallax h2 {
        font-size: 4.5rem;
        margin-bottom: 0;
        display: inline;
        padding: 0 2rem;
        width: fit-content
    }

.extrait {
    font-size: 1.2rem;
    padding: 5rem 4rem 1rem
}

.actus-2cols .extrait {
    font-size: 1rem;
    padding: 0 2rem
}

#share, .accroche.perso, .accroche.perso::before, .agences-footer, .carouselItemInner, .map, .metiers-link, .row-cards h3 {
    text-align: center
}

.articles-tags, .infos-articles {
    font-size: 1.1em
}

.articles-tags {
    padding: 0
}

    .articles-tags li {
        display: inline-block;
        position: relative
    }

        .articles-tags li::after {
            content: '/';
            margin: 0 2px
        }

        .articles-tags li:last-child::after, .mentions li:last-child::after {
            content: ''
        }

    .articles-tags a {
        letter-spacing: .08em
    }

        .articles-tags a:hover {
            color: var(--gray)
        }

        .articles-tags a::before {
            content: '#';
            color: var(--dark)
        }

.accroche::before, .carouselItemInner a:hover, .close-container label {
    color: var(--primary)
}

.expert::before {
    content: '';
    display: block;
    background: url("../img/article-expert.gif") center center/contain no-repeat;
    width: 60px;
    height: 60px;
    margin: 10px auto;
    image-rendering: smooth
}

.separation-left::after, .separation-right::before {
    content: '';
    display: inline-block;
    position: absolute;
    padding: .5rem;
    background: var(--danger);
    vertical-align: middle;
    top: -.5rem;
    border-radius: 100%
}

.separation-right {
    margin: 3rem auto 3rem -10rem
}

.separation-left {
    margin: 3rem -5rem 3rem auto;
    z-index: 2
}

    .separation-left::after {
        right: 0
    }

.ph-actu.portrait .jarallax {
    max-height: 40vh;
    min-height: 40vh
}

.ph-actu.paysage .jarallax {
    max-height: 70vh;
    min-height: 30vh
}

.ph-actu.portrait .jarallax .text {
    font-size: 4rem
}

.accroche.perso {
    font-size: 1.2em;
    font-family: var(--font-family-sans-serif);
    line-height: 1.2em;
    font-weight: 500 !important;
    padding: 0 !important;
    margin: 2rem auto !important;
    word-break: initial
}

    .accroche.perso.ss-photo::before {
        margin: 0 auto 20px
    }

.pho-temoignage-articles {
    position: relative;
    border-radius: 100%;
    width: 100px;
    height: 100px;
    overflow: hidden;
    display: block;
    margin: 10px auto;
    border: 6px solid #fff;
    box-shadow: 0 0 15px rgba(0,0,0,.2)
}

.accroche.perso::before {
    content: '\f10d';
    transform: none;
    font-size: 6rem;
    display: block;
    position: relative;
    margin: 0 10% -30px auto;
    width: auto;
    font-style: normal
}

@keyframes gradientborders {
    0%,100% {
        background-position: 0 25%
    }

    50% {
        background-position: 100% 76%
    }
}

@media screen and (min-width:600px) {
    .jarallax {
        max-height: 70rem
    }
}

@media screen and (min-width:1200px) {
    .jarallax {
        width: 100%
    }
}

.articles .jarallax {
    max-height: 20rem !important;
    min-height: 15rem
}

    .articles .jarallax h2 {
        font-size: 2.5em
    }

.article img {
    max-width: 100%
}

.close-page {
    position: absolute;
    right: 2.5%;
    top: 0;
    z-index: 100;
    display: block
}

.close-container {
    position: relative;
    margin: 0 auto auto;
    width: 50px;
    height: 50px
}

.leftright, .rightleft {
    height: 4px;
    width: 50px;
    margin-top: 24px;
    border-radius: 2px;
    transition: .3s ease-in;
    position: absolute;
    background-color: var(--secondary)
}

.leftright {
    transform: rotate(45deg)
}

.rightleft {
    transform: rotate(-45deg)
}

.close-container label {
    font-size: .6em;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: .3s ease-in;
    opacity: 0
}

.liste-pictos strong, .mentions a {
    text-transform: uppercase;
    letter-spacing: .05em
}

.close-container .info-close {
    margin: 60px auto 0;
    position: absolute;
    width: 100%;
    text-align: center
}

.close-container:hover .leftright {
    transform: rotate(-45deg);
    background-color: var(--danger)
}

.close-container:hover .rightleft {
    transform: rotate(45deg);
    background-color: var(--danger)
}

.date {
    font-size: .95em
}

.ph-actu .jarallax:after {
    background-color: rgb(23 162 184 / 50%);
    filter: saturate(.9) brightness(99%) contrast(151%);
    webkit-filter: saturate(0.9) brightness(99%) contrast(151%)
}

.ph-actu .jarallax-img {
    filter: none;
    webkit-filter: none
}

#contenus-actu {
    background: url("../img/fnd-connect.png") bottom left/cover no-repeat fixed
}

.article {
    padding: 4rem;
    background: rgba(255,255,255,.8);
    box-shadow: 0 0 4rem rgba(0,0,0,.1);
    margin-right: auto;
    margin-left: auto;
    padding-botom: 5rem;
    border-radius: 30px;
    webkit-hyphens: auto;
    moz-hyphens: auto;
    ms-hyphens: auto;
    hyphens: auto
}

.dernieres-offres, .row-cards card {
    box-shadow: 0 0 30px rgba(0,0,0,.1)
}

.article-author, .article-author img {
    border-radius: 100%;
    position: relative
}

.article.long {
    z-index: 2;
    margin-top: -5rem;
    background: rgba(255,255,255,.95);
    hyphens: none
}

.article-author {
    width: 60px;
    height: 60px;
    overflow: hidden;
    background-image: linear-gradient(45deg,var(--primary) 0,#fff 24%,var(--secondary) 49%,var(--cyan) 75%,#fff 100%);
    padding: 5px;
    background-size: 400% 400%;
    animation: 8s infinite gradientborders
}

    .article-author img {
        width: 100%;
        height: 100%
    }

#share {
    position: absolute;
    right: -35px;
    top: 20px;
    width: 40px;
    background: #fff;
    padding: 10px;
    border-radius: 10px
}

.accroche {
    font-size: 4rem;
    line-height: 1em;
    padding-left: 7rem !important;
    position: relative;
    margin-top: 6rem;
    margin-bottom: 6rem !important
}

    .accroche::before {
        content: '\27';
        font-size: 15rem;
        line-height: .5em;
        position: absolute;
        top: 0;
        left: 0;
        font-family: var(--font-family-pictos);
        transform: rotate(180deg);
        font-weight: 700
    }

.page-link {
    border: none;
    border-radius: .75em !important
}

    .page-item.active .page-link, .page-link:hover {
        box-shadow: 0 0 15px rgb(0,0,0,.15)
    }

.page-item.disabled .page-link {
    color: var(--gray);
    font-size: .9em;
    cursor: not-allowed
}

.dernieres-offres {
    border-radius: 26px;
    border: 4px solid rgba(255,255,255,.2) !important;
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    display: block
}

.burger-box {
    position: fixed;
    top: 50vh;
    left: 0;
    display: block;
    width: 45px;
    height: 100px;
    z-index: 999999;
    background: var(--danger) !important;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px
}

.burger, .burger:after, .burger:before {
    position: absolute;
    width: 25px;
    height: 4px;
    background: #fff;
    transition: background .3s,transform .3s,top .3s;
    content: ""
}

.burger {
    font-size: 0px;
    user-select: none;
    top: 50%;
    left: 10px
}

    .burger:before {
        left: 0;
        top: -8px
    }

    .burger:after {
        left: 0;
        top: 8px
    }

.burger-box.is-open, .is-open .burger, .sliding-panel-content {
    moz-transition: all 0.25s linear;
    transition: .25s linear;
    webkit-transition: all 0.25s linear
}

.is-open .burger {
    background: 0 0
}

.burger-box.is-open {
    webkit-transform: translateX(48vw);
    moz-transform: translateX(48vw);
    ms-transform: translateX(48vw);
    o-transform: translateX(48vw);
    transform: translateX(48vw);
    background: #fff !important
}

.is-open .burger:before {
    top: 0;
    transform: rotateZ(-45deg);
    background: var(--danger)
}

.is-open .burger:after {
    top: 0;
    transform: rotateZ(45deg);
    background: var(--danger)
}

.sliding-panel-content {
    background: #fff;
    bottom: 0;
    height: 100%;
    left: 0;
    moz-transform: translateX(-50vw);
    ms-transform: translateX(-50vw);
    o-transform: translateX(-50vw);
    overflow-y: auto;
    padding: 4rem;
    position: fixed;
    right: auto;
    top: 0;
    transform: translateX(-50vw);
    webkit-overflow-scrolling: touch;
    webkit-transform: translateX(-50vw);
    width: 50%;
    z-index: 99999
}

    .sliding-panel-content ul {
        padding: 0;
        margin: 0
    }

    .sliding-panel-content li a {
        display: block;
        text-decoration: none
    }

        .sliding-panel-content li a:focus {
            background-color: var(--secondary)
        }

        .sliding-panel-content li a:hover {
            background-color: var(--primary);
            color: #fff
        }

.sliding-panel-fade-screen {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    webkit-transition: all 0.15s ease-out 0s;
    moz-transition: all 0.15s ease-out 0s;
    transition: .15s ease-out;
    background: #000;
    opacity: 0;
    visibility: hidden;
    z-index: 9999
}

    .sliding-panel-fade-screen.is-visible {
        opacity: .7;
        visibility: visible
    }

.sliding-panel-button {
    padding: 10px 16px;
    display: inline-block;
    cursor: pointer;
    position: relative;
    outline: 0
}

    .sliding-panel-button img {
        height: 1.3em
    }

.nice-select .list {
    scrollbar-color: var(--secondary) transparent;
    scrollbar-width: thin;
    padding-right: 30px;
    border: 10px solid #fff
}

.cartouche, .counter, .highlight, .row-cards card {
    border-radius: 16px
}

.nice-select .list::-webkit-scrollbar {
    width: 10px;
    max-height: 10px
}

.nice-select .list::-webkit-scrollbar-thumb {
    background: var(--secondary);
    width: 8px;
    max-height: 50px;
    padding-right: 30px;
    border-radius: 60px
}

.nice-select .list::webkit-scrollbar-track {
    width: 5px;
    padding-right: 30px
}

.nice-select .list::webkit-scrollbar-thumb {
    background: var(--secondary);
    border-radius: 20px;
    height: 30px;
    padding-right: 30px
}

.sliding-panel-content.is-visible {
    webkit-transform: translateX(0);
    moz-transform: translateX(0);
    ms-transform: translateX(0);
    o-transform: translateX(0);
    transform: translateX(0);
    scrollbar-color: var(--primary) transparent;
    scrollbar-width: thin
}

    .sliding-panel-content.is-visible::-webkit-scrollbar {
        max-height: 60px;
        width: 8px
    }

    .sliding-panel-content.is-visible::-webkit-scrollbar-thumb {
        background: var(--primary);
        border-radius: 8px;
        max-height: 60px;
        width: 8px
    }

    .sliding-panel-content.is-visible::webkit-scrollbar-track {
        width: 8px
    }

    .sliding-panel-content.is-visible::webkit-scrollbar-thumb {
        background: var(--primary);
        border-radius: 8px;
        height: 60px
    }

.liste-col {
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    ms-flex-wrap: wrap;
    flex-wrap: wrap
}

    .liste-col li {
        max-width: 48%;
        width: 100%
    }

        .liste-col li a::before {
            content: '# ';
            color: #000;
            font-weight: 400;
            margin-right: .35rem;
            margin-left: -1rem
        }

        .liste-col li a {
            font-weight: 400;
            font-size: 1.2em;
            padding: .25rem .25rem .25rem 1.5rem
        }

.row-cards card {
    width: 18%;
    position: relative;
    background: rgba(255,255,255,.9);
    padding: 4% 2% 1%;
    margin-top: 60px
}

.row-cards .picto-cards {
    position: relative;
    display: block;
    width: 120px;
    height: 120px;
    margin: -140px auto 40px;
    background: #fff;
    border-radius: 100%;
    padding: 20px;
    box-shadow: 0 0 20px rgba(0,0,0,.1)
}

#info, #map, #message, #phone, .picto-cards img {
    width: 100%;
    height: auto
}

.row-cards h3 {
    font-size: 1.8rem;
    color: var(--secondary)
}

.agences-back, .cards-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: block;
    background: url("../img/fnd-connect.png") center center/cover no-repeat;
    z-index: -1
}

#contentContainer, .cartouche {
    position: relative;
    width: 100%
}

.cards-back::before {
    background: linear-gradient(to bottom,#fff 0,rgba(153,153,153,0) 40%,rgba(0,0,0,0) 100%);
    background: -moz-linear-gradient(top,#fff 0,rgba(153,153,153,0) 40%,rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top,#fff 0,rgba(153,153,153,0) 40%,rgba(0,0,0,0) 100%);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.cards-back::after {
    background: linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(117,117,117,0) 46%,#fff 100%);
    background: -moz-linear-gradient(top,rgba(0,0,0,0) 0,rgba(117,117,117,0) 46%,#fff 100%);
    background: -webkit-linear-gradient(top,rgba(0,0,0,0) 0,rgba(117,117,117,0) 46%,#fff 100%);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%
}

.highlight {
    align-self: center;
    padding: 3rem;
    background: rgba(255,255,255,.8);
    box-shadow: 0 0 60px rgba(0,0,0,.1)
}

.cartouche {
    background: rgba(255,255,255,.9);
    padding: 1rem 1.5rem;
    box-shadow: 0 0 30px rgba(0,0,0,.1);
    margin-top: 80px
}

    .cartouche .picto-cards {
        margin: -70px auto 30px
    }

        .cartouche .picto-cards::before {
            content: '';
            display: block;
            position: absolute;
            width: 108%;
            height: 108%;
            background-image: linear-gradient(45deg,var(--primary) 0,#fff 24%,var(--secondary) 49%,var(--success) 75%,#fff 100%);
            background-size: 400% 400%;
            animation: 4s infinite gradientborders;
            border-radius: 100%;
            top: -4%;
            left: -4%;
            z-index: -1
        }

.counter h3 {
    font-weight: 400;
    font-size: 4em;
    margin-bottom: 0;
    color: var(--danger)
}

.counter {
    width: 18%;
    margin-bottom: .5rem;
    background: var(--light);
    padding: 2rem 1rem;
    align-content: center;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 2%;
    margin-right: 2%
}

.carouselItem, .carouselItemInner {
    width: 320px;
    height: 160px;
    top: 50%;
    margin-left: -160px;
    left: 50%
}

#fps {
    margin-top: 5px;
    margin-left: 35px
}

.trans3d {
    -webkit-transform-style: preserve-3d;
    -webkit-transform: translate3d(0,0,0);
    -moz-transform-style: preserve-3d;
    -moz-transform: translate3d(0,0,0);
    -ms-transform-style: preserve-3d;
    -ms-transform: translate3d(0,0,0);
    transform-style: preserve-3d;
    transform: translate3d(0,0,0)
}

#contentContainer {
    margin: 250px auto;
    transform: scale(2)
}

.h-600 {
    min-height: 600px
}

#carouselContainer {
    position: absolute;
    margin-left: -500px;
    margin-top: -475px;
    left: 50%;
    top: 50%;
    width: 1000px;
    height: 1000px
}

.carouselItem {
    position: absolute;
    margin-top: -90px;
    visibility: hidden;
    box-shadow: 0 0 30px rgb(0 0 0 / 30%);
    border-radius: 26px
}

    .carouselItem img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1
    }

.carouselItemInner span {
    display: block;
    width: 30px;
    height: 30px;
    font-size: .5em;
    background: url(../img/sigle-kaizen.png) center center/contain no-repeat;
    margin: 0 auto 20px;
    line-height: 30px;
    color: var(--danger)
}

.carouselItemInner {
    position: absolute;
    background-color: rgba(255,255,255,.75);
    border: 10px solid rgba(255,255,255,.5);
    color: #fff !important;
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 800;
    margin-top: -80px;
    overflow: hidden;
    border-radius: 26px
}

#agences, #canvasContainer, #sliding-bg, .expertises-techno, .liste-pictos, .parole-expert h3, .separation hr, .sitemap li a, header, main {
    position: relative
}

.metiers-link, footer .liste-stylisee a {
    font-size: 1.5em;
    font-family: var(--font-family-serif)
}

.carouselItemInner a {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    justify-content: center;
    color: #fff;
    font-family: var(--font-family-serif)
}

.parole-expert {
    padding: 0;
    background: var(--primary);
    color: #fff
}

    .parole-expert h3 {
        margin-left: -8rem;
        padding-right: 8rem;
        background: var(--primary);
        display: inline-block;
        line-height: 1.2em;
        font-weight: 400;
        padding-left: 1rem;
        width: auto
    }

        .parole-expert h3::before {
            content: '"';
            display: block;
            position: absolute;
            left: -2.5rem;
            font-size: 4em;
            line-height: 1em
        }

.module-video {
    background: url(../img/motifs-metier.webp) left bottom/contain no-repeat #fff;
    border-radius: 30px;
    padding: 2.5rem;
    border: solid 1px var(--light)
}

    .module-video .embed-responsive {
        border-radius: 30px;
        box-shadow: 0 0 60px rgba(0,0,0,.45)
    }

.titre-temoignage-video {
    padding-left: 3rem;
    margin: 0 auto -1rem;
    position: relative;
    display: block;
    z-index: 2;
    background: rgba(255,255,255,.9)
}

    .titre-temoignage-video::before {
        content: '"';
        font-size: 15rem;
        color: var(--primary);
        line-height: 0;
        position: absolute;
        z-index: -1;
        left: 0;
        top: .2em;
        margin: 2rem auto 0
    }

.liste-pictos strong, .metiers-link:hover, .sitemap ul ul li::before {
    color: var(--danger);
    color: var(--danger)
}

.fin-article {
    margin: 2rem auto -8rem
}

.metiers-link {
    align-items: center;
    background: rgba(255,255,255,.15);
    border-radius: 16px;
    box-shadow: 0 0 30px rgba(0,0,0,.1);
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.5rem 1rem;
    text-transform: uppercase
}

.metiers-icon {
    background-blend-mode: multiply;
    height: 100px;
    margin-bottom: 20px;
    transition: 2s;
    width: 100px
}

.metiers-item1 .metiers-icon {
    background-image: url("../img/expertises/metiers/Metiers-usages.svg");
    background-size: contain
}

.metiers-item1:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Metiers-usages.gif");
    background-size: contain
}

.metiers-item2 .metiers-icon {
    background-image: url("../img/expertises/metiers/Management-projets.svg");
    background-size: cover
}

.metiers-item2:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Management-projets.gif");
    background-size: cover
}

.metiers-item3 .metiers-icon {
    background-image: url("../img/expertises/metiers/Ingenierie-systeme-logiciel.svg");
    background-size: cover
}

.metiers-item3:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Ingenierie-systeme-logiciel.gif");
    background-size: cover
}

.metiers-item4 .metiers-icon {
    background-image: url("../img/expertises/metiers/IOT-embarque.svg");
    background-size: cover
}

.metiers-item4:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/IOT-embarque.gif");
    background-size: cover
}

.metiers-item5 .metiers-icon {
    background-image: url("../img/expertises/metiers/Software.svg");
    background-size: cover
}

.metiers-item5:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Software.gif");
    background-size: cover
}

.metiers-item6 .metiers-icon {
    background-image: url("../img/expertises/metiers/Cloud-IT.svg");
    background-size: cover
}

.metiers-item6:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Cloud-IT.gif");
    background-size: cover
}

.metiers-item7 .metiers-icon {
    background-image: url("../img/expertises/metiers/Data-algorithmie.svg");
    background-size: cover
}

.metiers-item7:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Data-algorithmie.gif");
    background-size: cover
}

.metiers-item8 .metiers-icon {
    background-image: url("../img/expertises/metiers/Devops-cybersecurite.svg");
    background-size: cover
}

.metiers-item8:hover .metiers-icon {
    background-image: url("../img/expertises/metiers/Devops-cybersecurite.gif");
    background-size: cover
}

.row.cta {
    padding: 2rem 0 2rem 2rem;
    background: rgba(255,255,255,.8);
    border-radius: 26px;
    box-shadow: 0 0 60px rgba(0,0,0,.1)
}

.col-btn-cta {
    margin-top: -2rem;
    margin-bottom: -2rem;
    align-content: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top-right-radius: 26px;
    border-bottom-right-radius: 26px
}

.cta-contenus h3 {
    font-size: 1.6em
}

.row.cta.cta-contenus {
    padding: 1.5rem 0 1.5rem 1.5rem
}

.cta-contenus .col-btn-cta {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem
}

.liste-pictos {
    padding: 0;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-size: .9em;
    line-height: 1.2em;
    justify-content: center
}

    .liste-pictos img {
        max-width: 50px;
        height: auto;
        float: left
    }

    .liste-pictos li {
        margin: 0 auto 20px;
        width: 45%;
        display: flex;
        align-items: center
    }

#svg-animation, .map svg {
    width: 100%
}

.liste-pictos strong {
    display: block;
    font-family: var(--font-family-serif);
    font-size: 1.2em;
    font-weight: 400
}

.liste-pictos span {
    padding: 0 .5rem
}

.double-col {
    column-count: 2;
    moz-column-count: 2;
    webkit-column-count: 2;
    column-gap: 40px;
    moz-column-gap: 40px;
    webkit-column-gap: 40px
}

.expertises-techno {
    justify-content: center
}

.btn-theme, .icon, footer {
    position: fixed
}

.expertises-techno .metiers-link {
    height: 100%;
    background-repeat: no-repeat !important;
    background-image: linear-gradient(to right,#19efef 0,#bdffb5 100%) !important;
    background-size: 140%;
    background-position: top center;
    box-shadow: 0 0 20px rgba(0,0,0,.15)
}

.metiers-link:hover {
    box-shadow: none
}

.btn-theme {
    background: url("../img/btn-light.png") center center/contain no-repeat;
    width: 90px;
    height: 90px;
    right: -12px;
    top: 100px;
    display: block;
    z-index: 999999
}

.icon {
    border-radius: 30px;
    transition: .3s;
    width: 50px;
    height: 50px;
    right: 15px;
    top: 0;
    display: block;
    z-index: 9
}

#bg div.visible.top, .z-index-2, header, main, svg {
    z-index: 2
}

.icon.black {
    background-color: #000;
    box-shadow: 0 0 30px rgb(25 239 239 / 80%);
    webkit-box-shadow: 0 0 30px rgb(25 239 239 / 80%);
    moz-box-shadow: 0 0 30px rgb(25 239 239 / 80%)
}

.icon.white, main {
    background-color: #fff
}

.icon.white {
    box-shadow: -1px 1px 20px -6px rgba(0,0,0,.2);
    webkit-box-shadow: -1px 1px 20px -6px rgba(0,0,0,0.2);
    moz-box-shadow: -1px 1px 20px -6px rgba(0,0,0,0.2)
}

.fixed-top .icon {
    transform: scale(.75);
    right: 0
}

.separation hr {
    border: none;
    border-collapse: collapse;
    height: 1.5rem;
    margin-top: 15px;
    margin-bottom: 15px;
    background: url("../img/separation.png") center center/contain no-repeat;
    display: block
}

.agences-carte {
    background: rgba(255,255,255,.9);
    box-shadow: 0 0 40px rgba(0,0,0,.1);
    border-radius: 30px
}

.agences-footer {
    font-size: 1.3em
}

.kenburns-top {
    -webkit-animation: 30s ease-in-out infinite alternate-reverse both kenburns-top;
    animation: 30s ease-in-out infinite alternate-reverse both kenburns-top
}

@-webkit-keyframes kenburns-top {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 16%;
        transform-origin: 50% 16%
    }

    100% {
        -webkit-transform: scale(1.25) translateY(-15px);
        transform: scale(1.25) translateY(-15px);
        -webkit-transform-origin: top;
        transform-origin: top
    }
}

@keyframes kenburns-top {
    0% {
        -webkit-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
        -webkit-transform-origin: 50% 16%;
        transform-origin: 50% 16%
    }

    100% {
        -webkit-transform: scale(1.25) translateY(-15px);
        transform: scale(1.25) translateY(-15px);
        -webkit-transform-origin: top;
        transform-origin: top
    }
}

.map svg {
    height: 100%
}

#map #point {
    transition: .6s
}

#map:hover #point {
    transform: translate(0,-20px)
}

#map .st0 {
    stroke: var(--primary);
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

#map .st1 {
    stroke: var(--danger);
    stroke-width: 6;
    stroke-miterlimit: 10
}

#map .st3 {
    stroke: var(--secondary);
    stroke-width: 6;
    stroke-linejoin: round;
    stroke-miterlimit: 10
}

#map .bg {
    stroke: none;
    fill: transparent
}

#phone .st0 {
    fill: none;
    stroke: var(--danger);
    stroke-width: 6;
    stroke-linecap: round;
    stroke-miterlimit: 10
}

#phone .st1 {
    fill: var(--primary)
}

#info .bg, #message .bg, #phone #bg {
    fill: transparent
}

#phone .first-l, #phone:hover .third-l {
    transition: .6s cubic-bezier(1, 0, .83, .95)
}

#phone .second-l, #phone:hover .second-l {
    transition: .4s cubic-bezier(1, 0, .83, .95)
}

#phone .third-l, #phone:hover .first-l {
    transition: .2s cubic-bezier(1, 0, .83, .95)
}

#phone .first-l, #phone .second-l, #phone .third-l, body.is-preload #bg {
    opacity: 0
}

#message .circle, #message .ellipse, #message .st0 {
    fill: none;
    stroke: var(--primary);
    stroke-width: 1.3px;
    stroke-miterlimit: 10
}

#message .envelope {
    webkit-transform: scale(1.4) translate(-18px,-8px);
    ms-transform: scale(1.4) translate(-18px,-8px);
    transform: scale(1.4) translate(-18px,-8px);
    transition: .4s
}

#message:hover .envelope {
    transform: scale(1) translate(0,0)
}

#message .lines .st0 {
    moz-transform: tranclate(-18px,0);
    ms-transform: tranclate(-18px,0);
    webkit-transform: translate(-18px,0);
    transform: translate(-18px,0)
}

    #message .lines .st0.first-line {
        transition: .4s;
        stroke: var(--danger)
    }

    #message .lines .st0.second-line {
        transition: .3s;
        stroke: var(--danger)
    }

    #message .lines .st0.third-line {
        transition: .2s;
        stroke: var(--danger)
    }

#message:hover .lines .st0 {
    moz-transform: translate(0,0);
    ms-transform: translate(0,0);
    webkit-transform: translate(0,0);
    transform: translate(0,0)
}

#info .st0 {
    fill: none;
    stroke: var(--primary);
    stroke-width: 6;
    stroke-miterlimit: 10
}

#info .st1 {
    fill: var(--success)
}

#info .st2 {
    fill: var(--primary);
    stroke: var(--success);
    stroke-width: 4;
    stroke-miterlimit: 10
}

#info .circle {
    moz-transform: scale(1,1);
    ms-transform: scale(1,1);
    webkit-transform: scale(1,1);
    transform: scale(1,1);
    moz-transform-origin: 50% 50%;
    ms-transform-origin: 50% 50%;
    webkit-transform-origin: 50% 50%;
    transform: 50% 50%;
    transition: .5s
}

#info:hover .circle {
    moz-transform: scale(-1,1);
    ms-transform: scale(-1,1);
    webkit-transform: scale(-1,1);
    transform: scale(-1,1)
}

#info:hover .st2 {
    fill: var(--danger);
    stroke: var(--primary);
    stroke-width: 4;
    stroke-miterlimit: 10
}

#info:hover .st0.circle {
    fill: none;
    stroke: #ff0066;
    stroke-width: 6;
    stroke-miterlimit: 10
}

.plot:hover {
    opacity: .6;
    transform: skewY(.8)
}

.map text {
    font-family: 'Bebas Neue',cursive !important;
    display: inline-block;
    text-shadow: 7px 0 0 #fff,7px 7px 0 #fff,0 7px 0 #fff,-7px 7px 0 #fff,-7px 0 0 #fff,-7px -7px 0 #fff,0 -7px 0 #fff,7px -7px 0 #fff;
    font-weight: 800 !important;
    font-size: 1.8rem !important;
    fill: #000;
    transition: .8s
}

    .map text:hover {
        fill: #ff0066
    }

#newsletter {
    background: #19efef;
    background: -moz-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: -webkit-linear-gradient(left,#19efef 0,#bdffb5 100%);
    background: linear-gradient(to right,#19efef 0,#bdffb5 100%);
    Padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    border-top-right-radius: 100%
}

.nl-page {
    background-size: contain;
    background-position: center bottom 0;
    background-repeat: no-repeat !important;
    background-image: url(../img/fnd-nl-pages.svg),linear-gradient(237deg,#19efef 0,#3cd8ad 100%) !important;
    Padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
    border-top-right-radius: 0 !important;
    box-shadow: inset 0 1px 0 #fff
}

.form-nl {
    border-top-left-radius: 1.25em !important;
    border-bottom-left-radius: 1.25em !important;
    padding: .75rem 1rem !important;
    height: calc(1.5em + 1rem + 12px);
    color: var(--dark);
    box-shadow: 0 0 0 rgb(255,0,102,.6);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

    .form-nl:focus {
        color: var(--dark) !important;
        box-shadow: 0 0 30px rgb(255,0,102,.6);
        border: solid 2px var(--danger)
    }

.btn-nl {
    color: var(--primary);
    background: var(--dark);
    border: solid 1px var(--dark);
    border-radius: 0 1.25em 1.25em 0 !important;
    height: calc(1.5em + 1rem + 10px);
    line-height: 2em;
    transition: .8s;
    box-shadow: 0 0 0 rgb(255,0,102,0)
}

    .btn-nl:hover {
        background: 0 0 !important;
        box-shadow: 0 0 30px rgb(255,0,102,.8);
        color: var(--dark) !important
    }

#topcontrol {
    background: url(../img/icon-upToTop-light.png) center center/contain no-repeat;
    width: 60px;
    height: 60px;
    padding: 20px;
    border-radius: 100%;
    z-index: 20
}

#bg, footer {
    width: 100%
}

    #bg, #bg div, .header-activite::before, .sitemap li a::before {
        height: 100%;
        position: absolute
    }

.page-item:first-child .page-link:hover, .page-item:last-child .page-link:hover {
    box-shadow: none;
    background: 0 0
}

.footer-whitespace {
    padding-bottom: 50vh !important;
    margin-bottom: -2vh
}

.bloc-text-ml, .bloc-text-mr, .bloc-text-mt {
    padding: 2.5rem;
    background: rgba(255,255,255,.9);
    z-index: 2;
    box-shadow: 0 0 60px rgb(0 0 0 / 10%)
}

footer {
    z-index: 0;
    bottom: 0;
    webkit-backface-visibility: hidden;
    moz-backface-visibility: hidden;
    ms-backface-visibility: hidden;
    min-height: 52vh;
    display: flex;
    align-items: center
}

.space-footer {
    margin-top: 400px
}

footer .liste-stylisee a {
    color: #fff;
    line-height: 1.5em
}

    footer .liste-stylisee a:hover {
        padding-left: 5px;
        color: var(--primary)
    }

.mentions {
    margin-bottom: 0;
    font-size: .85em
}

    .mentions a {
        font-size: .7em;
        color: var(--gray);
        font-weight: 500
    }

        .mentions a:hover {
            color: var(--gray-light) !important
        }

    .mentions li::after {
        content: '-';
        margin: 0 0 0 8px
    }

.logo-footer {
    width: 180px;
    height: auto;
    margin-bottom: 20px
}

.intro-footer {
    font-size: 14px;
    line-height: 19px;
    text-align: justify
}

.slogan {
    font-family: var(--font-family-serif);
    font-size: 2em;
    text-align: center;
    letter-spacing: .1em
}

.contenu-header-text {
    margin: 0;
    position: absolute;
    top: 60%;
    left: 50%;
    ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.expertise .contenu-header-text {
    top: 40%
}

.bloc-text-mr {
    margin-right: -8rem
}

.bloc-text-mt {
    margin-top: -8rem
}

.bloc-text-ml {
    margin-left: -8rem
}

@media (min-width:1279px) {
    .dropdown-toggle {
        position: relative
    }

    .dropdown .dropdown-menu {
        display: block;
        moz-transition: top 300ms ease-in;
        ms-transition: top 300ms ease-in;
        opacity: 0;
        o-transition: top 300ms ease-in;
        position: absolute !important;
        top: 20px;
        transition: top .3s ease-in,opacity .3s ease-in;
        webkit-transition: top 300ms ease-in;
        z-index: -1
    }

    .dropdown:hover .dropdown-menu {
        opacity: 1 !important;
        position: absolute !important;
        top: 60px;
        z-index: 5
    }

    .dropdown.show .dropdown-menu {
        opacity: 1;
        position: absolute !important;
        top: 43px;
        z-index: 5
    }

    .opacity-1 {
        opacity: 1 !important
    }

    .z-index-5 {
        z-index: 5 !important
    }
}

.fa-arrow-right {
    position: absolute;
    right: 18px;
    top: 6px
}

#sliding-bg {
    background-color: #000;
    min-height: 50vh;
    padding-top: 5rem !important
}

.col-bg-slide {
    color: #fff;
    border: 1px solid #fff;
    padding: 2rem;
    border-radius: 16px;
    margin: 5rem auto !important;
    z-index: 1
}

#bg {
    moz-transition: opacity 2s ease-in-out;
    webkit-transition: opacity 2s ease-in-out;
    ms-transition: opacity 2s ease-in-out;
    transition: opacity 2s ease-in-out;
    opacity: .375;
    z-index: 0;
    top: 0;
    left: 0
}

    #bg div {
        moz-transition: opacity 3s ease;
        webkit-transition: opacity 3s ease;
        ms-transition: opacity 3s ease;
        transition: opacity 3s;
        background-size: cover;
        opacity: 0;
        visibility: hidden;
        width: 150%
    }

        #bg div.visible {
            moz-animation: bg 45s linear infinite;
            webkit-animation: bg 45s linear infinite;
            ms-animation: bg 45s linear infinite;
            animation: 45s linear infinite bg;
            opacity: 1;
            visibility: visible;
            z-index: 1
        }

@media screen and (max-width:1280px) {
    #bg div.visible {
        -moz-animation: 29.25s linear infinite bg;
        -webkit-animation: 29.25s linear infinite bg;
        -ms-animation: bg 29.25s linear infinite;
        animation: 29.25s linear infinite bg
    }
}

@media screen and (max-width:736px) {
    #bg div.visible {
        -moz-animation: 18s linear infinite bg;
        -webkit-animation: 18s linear infinite bg;
        -ms-animation: bg 18s linear infinite;
        animation: 18s linear infinite bg
    }
}

#bg div:only-child {
    -moz-animation-direction: alternate !important;
    -webkit-animation-direction: alternate !important;
    -ms-animation-direction: alternate !important;
    animation-direction: alternate !important
}

@-moz-keyframes bg {
    0% {
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -moz-transform: translateX(-25%);
        -webkit-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
        transform: translateX(-25%)
    }
}

@-webkit-keyframes bg {
    0% {
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -moz-transform: translateX(-25%);
        -webkit-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
        transform: translateX(-25%)
    }
}

@-ms-keyframes bg {
    0% {
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -moz-transform: translateX(-25%);
        -webkit-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
        transform: translateX(-25%)
    }
}

@keyframes bg {
    0% {
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -moz-transform: translateX(-25%);
        -webkit-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
        transform: translateX(-25%)
    }
}

.visuel-404 {
    max-height: 450px;
    display: flex;
    align-items: center;
    overflow: hidden;
    justify-content: center;
    margin-bottom: 2rem
}

    .visuel-404 svg {
        width: 80%
    }

.erreur-search .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    background: #f5f5f5
}

.erreur-search .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.sitemap {
    margin: 0 auto;
    padding: 0
}

    .sitemap ul li a {
        color: var(--primary);
        font-size: 1.4em;
        font-weight: 400
    }

    .sitemap li a {
        color: #000;
        font-family: var(--font-family-serif);
        font-size: 1.8em;
        font-weight: 900;
        padding: .25em .5em;
        transition: .5s;
        z-index: 1
    }

    .sitemap li {
        margin: 1em
    }

        .sitemap li a::before {
            background: var(--primary);
            content: '';
            display: block;
            left: 0;
            moz-transform: scaleX(0);
            moz-transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
            ms-transform: scaleX(0);
            ms-transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
            o-transform: scaleX(0);
            o-transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
            top: 0;
            transform: scaleX(0);
            transition: .3s cubic-bezier(.175, .885, .32, 1.275);
            webkit-transform: scaleX(0);
            webkit-transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
            width: 100%;
            z-index: -1
        }

    .sitemap ul li a:before {
        background: #000 !important;
        bottom: 25%;
        height: 50%;
        top: 25%
    }

    .sitemap li a:hover::before {
        moz-transform: scaleX(1);
        ms-transform: scaleX(1);
        o-transform: scaleX(1);
        transform: scaleX(1);
        webkit-transform: scaleX(1)
    }

    .sitemap ul li {
        margin: 0 auto 15px;
        padding: 0
    }

    .sitemap ul {
        padding: 0 1.5em
    }

        .sitemap ul ul li a {
            color: #000;
            display: inline-block;
            font-family: inherit;
            font-size: inherit;
            vertical-align: top;
            width: 90%
        }

        .sitemap ul ul li {
            margin: 0 auto 5px
        }

            .sitemap ul ul li::before {
                content: "\f00c";
                content: '';
                font-family: var(--font-family-pictos);
                font-weight: 500;
                margin-left: -.5em;
                margin-right: 0
            }

@media only screen and (min-width:768px) {
    .mw-50 {
        max-width: 50%
    }
}

@media only screen and (min-width:1980px) {
    body {
        font-size: 19px
    }
}

@media only screen and (min-width:1025px) {
    .navbar {
        padding: 0
    }

    .article .h2, .article h2 {
        font-size: 3.5vw;
        font-weight: 500
    }

    .h-lg-600 {
        min-height: 600px
    }

    .dropdown-item {
        white-space: nowrap
    }
}

@media only screen and (max-width:1279px) {
    .navbar .navbar-brand {
        align-self: center;
        background: url("../img/logo-kaizen-solution-mobile.svg") center center/contain no-repeat;
        max-height: 60px;
        min-height: 50px;
        min-width: 180px
    }

    .navbar-light .navbar-nav .nav-link {
        display: block;
        font-size: 1.5em;
        text-align: left;
        width: 100%
    }

    #navbar_top, .top {
        background: #fff;
        z-index: 1
    }

    #temoignages, .top {
        position: relative
    }

    .counter {
        width: 48%
    }

    .bloc-text-ml, .bloc-text-mr {
        margin-left: auto;
        margin-right: auto
    }

    .dropdown-menu.megamenu {
        min-width: 100%
    }

    .dropdown-item {
        padding: .25rem 1rem
    }

    .navbar-brand.d-lg-none img {
        max-height: 80px;
        opacity: 0
    }

    #navbar_top {
        margin-left: -15px;
        margin-right: -15px
    }

    .navbar-toggler {
        border-color: transparent !important;
        color: var(--danger) !important
    }

    .nav-item {
        position: relative;
        text-align: center;
        transition: .2s linear;
        width: 100%
    }

        .nav-item.show .dropdown-menu {
            border-radius: 0 0 10px 10px;
            box-shadow: inset 0 0 8px rgba(0,0,0,.15);
            margin: 0 auto 10px;
            width: 92%
        }

    .burger-box.is-open {
        moz-transform: translateX(86vw);
        ms-transform: translateX(86vw);
        o-transform: translateX(86vw);
        transform: translateX(86vw);
        webkit-transform: translateX(86vw)
    }

    .collapse:not(.show), .navbar-collapse {
        padding-top: 10px
    }

    .search.opened .search-input {
        height: 2.5rem;
        padding: .5rem 2.5rem .6rem .8rem;
        width: 85%
    }

    .search.opened .cross {
        right: 30px
    }

    .bg-video-wrap video {
        margin-left: -25% !important;
        margin-top: -60% !important;
        min-height: 110vh !important;
        min-width: 150% !important
    }

    .fixed-top .icon {
        right: 10px;
        top: 15px;
        transform: scale(.75)
    }

    .header-home {
        height: 45vh !important
    }

    #metier {
        min-height: 45vh
    }

    #expertises .nav-item {
        width: 50%
    }

    #solutions {
        margin-bottom: 0;
        padding-bottom: 3rem;
        padding-top: 7rem
    }

    #temoignages {
        z-index: 10
    }

    .sliding-panel-content {
        moz-transform: translateX(-90vw);
        ms-transform: translateX(-90vw);
        o-transform: translateX(-90vw);
        transform: translateX(-90vw);
        webkit-transform: translateX(-90vw);
        width: 90%;
        padding: 1.5rem 1.2rem
    }

    .snip1543 figcaption {
        padding: 10px 40% 15px 10px
    }
}

@media only screen and (max-width:1280px) {
    body {
        font-size: 15px
    }

    .navbar-brand img {
        max-width: 150px
    }

    .h2, h2 {
        font-size: 4.75rem;
        hyphens: auto;
        margin-bottom: 1.5rem
    }

    .btn-nl {
        font-size: 1.4em
    }
}

@media only screen and (max-width:1023px) and (orientation:landscape) {
    .header-home {
        height: 75vh !important
    }
}

@media only screen and (max-width:1024px) {
    #carouselContainer, .carouselItem {
        left: 0;
        margin-left: 0;
        margin-top: 0;
        position: relative;
        top: 0
    }

    .light-vid {
        background: url("../video/capture-deco-1-white.jpg") bottom left/cover no-repeat
    }

        .bg-video-wrap video, .footer-whitespace, .light-vid video, .snip1543::after {
            display: none
        }

    .h1, h1 {
        font-size: 3rem;
        line-height: 1.1em
    }

    .expertises .jarallax h2 {
        font-size: 3em
    }

    #metier video {
        margin-top: unset
    }

    #solutions {
        padding-bottom: 0;
        padding-top: 150px
    }

        #solutions .menu__item-text {
            font-size: 4.5rem
        }

    .snip1543 h3 {
        font-size: 1.75em;
        line-height: 1em
    }

    .snip1543 p {
        font-size: 1em;
        font-weight: 700;
        line-height: 1.1em
    }

    .snip1543 h3, .snip1543 p {
        opacity: .9;
        transform: translateY(0);
        transition-delay: 0.2s;
        webkit-transform: translateY(0);
        webkit-transition-delay: 0.2s
    }

    .snip1543::before {
        transform: skew(30deg) translateX(-20%);
        transition-delay: 50ms;
        webkit-transform: skew(30deg) translateX(-20%);
        webkit-transition-delay: 0.05s
    }

    .snip1543 figcaption:before {
        transform: skew(30deg) translateX(-40%);
        transition-delay: 0.15s;
        webkit-transform: skew(30deg) translateX(-40%);
        webkit-transition-delay: 0.15s
    }

    .snip1543 figcaption:after {
        transform: skew(-30deg) translateX(-30%);
        transition-delay: 0.1s;
        webkit-transform: skew(-30deg) translateX(-30%);
        webkit-transition-delay: 0.1s
    }

    footer {
        min-height: auto;
        position: relative
    }

    #newsletter.nl-page {
        padding: 0 4rem
    }

    .actus-2cols .jarallax, .agences .jarallax {
        max-height: 30vh;
        min-height: 25vh
    }

    .ph-actu.paysage {
        margin-bottom: -10rem
    }

        .ph-actu.paysage .jarallax {
            max-height: 40vh;
            margin-bottom: 150px
        }

    .close-page {
        right: 0;
        top: 0
    }

    .carouselItem {
        height: 160px;
        transform: none;
        width: 320px;
        visibility: visible
    }

    #contentContainer {
        transform: scale(1);
        margin: 2.5rem 0 0
    }

    #carouselContainer {
        display: flex;
        flex-wrap: wrap;
        height: auto;
        justify-content: space-around;
        width: auto
    }

    #video-viewport {
        bottom: 0;
        top: auto;
        width: 150% !important
    }

    .bg-video-wrap {
        background: url("../img/hero-responsive.webp") center center/cover no-repeat
    }
}

#canvasContainer {
    z-index: -1;
    width: 100%;
    height: 800px;
    top: 0;
    left: 0
}

    #canvasContainer img {
        visibility: hidden;
        pointer-events: none;
        position: absolute
    }

.header-activite #canvasContainer {
    -webkit-filter: grayscale(100%) saturate(1) brightness(118%) contrast(200%);
    height: 500px
}

.header-activite::before {
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgb(0 138 154 / 80%)
}

@media only screen and (max-width:1023px) {
    .separation-left, .separation-right {
        height: 100%;
        margin: 0;
        position: absolute;
        top: -50px;
        width: 1px
    }

    .actus-2cols .jarallax h2, .agences .jarallax h2, .ph-actu .jarallax .text, .ph-actu.portrait .jarallax .text {
        font-size: 2.8em;
        line-height: 1em
    }

    .separation-right {
        right: 30px
    }

        .separation-right::before {
            right: -.5rem
        }

    .separation-left {
        left: 30px
    }

        .separation-left::after {
            left: -.5rem
        }

    .ph-actu.portrait .jarallax {
        max-height: 30vh;
        min-height: 20vh
    }

    .article, .article.long {
        padding: 2rem
    }

    .extrait {
        padding: 2rem 2rem 1rem;
        text-justify: distribute
    }

    .accroche {
        font-size: 3em;
        margin-bottom: 3.5rem;
        margin-top: 3.5rem;
        padding-left: 6rem
    }

        .accroche::before {
            font-size: 12rem
        }
}

@media only screen and (min-width:768px) and (max-width:1023px) {
    .agences-carte, .map {
        margin: 0 auto;
        width: 80%
    }

    .btn-lg {
        font-size: 1em
    }

    .mentions {
        font-size: 16px;
        padding-bottom: 3rem;
        padding-left: 4rem
    }
}

@media only screen and (max-width:979px) {
    .btn-nl {
        font-size: 1.45em
    }

    .h3, h3 {
        font-size: 2.8em;
        line-height: 1em
    }

    .h2, h2 {
        font-size: 3.8em;
        margin-bottom: 1.5rem
    }

    .col-bg-slide {
        margin: 2rem auto
    }
}

@media only screen and (max-width:800px) {
    body {
        font-size: 16px
    }

    .btn-nl {
        font-size: 1.35em
    }
}

@media only screen and (max-width:767px) {
    .faq .accordionTitle::after, .faq .accordion__Heading::after {
        border-radius: 100%;
        font-size: 1.2em;
        height: 20px;
        line-height: 1.2em;
        padding: 4px;
        top: 15%;
        width: 20px
    }

    .article.long, .col-btn-cta {
        border-top-right-radius: 0;
        margin-top: 0
    }

    .counter {
        width: 90%
    }

    #metier #video-viewport {
        bottom: 210px;
        height: 50vh !important;
        left: 0;
        overflow: hidden;
        position: absolute;
        top: auto;
        width: 100%;
        z-index: -1
    }

    .fullsize-video-bg::before {
        top: 110px
    }

    #metier video {
        bottom: 0;
        display: block;
        height: auto;
        margin-left: 0;
        margin-top: 5%;
        position: absolute;
        width: 150% !important
    }

    .liste-pictos li {
        display: inline-block;
        text-align: center
    }

    .liste-pictos img {
        display: block;
        float: none;
        margin: 0 auto 5px
    }

    .double-col {
        column-count: 1;
        column-gap: 0;
        moz-column-count: 1;
        moz-column-gap: 0;
        webkit-column-count: 1;
        webkit-column-gap: 0
    }

    .parole-expert h3 {
        margin-left: auto;
        padding-left: 2.5rem;
        padding-right: inherit
    }

        .parole-expert h3::before {
            left: 0;
            top: -1rem
        }

    .col-btn-cta {
        border-bottom-left-radius: 26px;
        padding: 2rem !important
    }

    .row.cta {
        padding: 2rem 0
    }

        .row.cta.cta-contenus {
            padding: 1.5rem 0 0
        }

    .cta-contenus .col-btn-cta {
        margin-bottom: -1.5rem;
        margin-top: 0;
        padding: 1.5rem !important
    }

    .liste-col li {
        max-width: 50%
    }

    #expertises .nav-link {
        font-size: 1.9em;
        line-height: 1.1em
    }

    #newsletter {
        background-image: url(../img/fnd-nl-pages.svg),linear-gradient(237deg,#19efef 0,#3cd8ad 100%) !important;
        background-position: center top 0;
        background-repeat: no-repeat !important;
        background-size: contain;
        border-top-right-radius: 0 !important;
        padding-bottom: 0 !important;
        Padding-top: 1.5rem !important
    }

        #newsletter.nl-page {
            padding-left: 0;
            padding-right: 0
        }

    .carousel-control-prev {
        background: url("../img/fnd-nav-temoignages-l.png") right center/contain no-repeat;
        left: 10px
    }

    .carousel-control-next {
        background: url("../img/fnd-nav-temoignages-r.png") left center/contain no-repeat;
        right: 10px
    }

    .carousel-control-next, .carousel-control-prev {
        height: 50px;
        width: 45px
    }

    #insights {
        padding-bottom: 0;
        padding-top: 4rem
    }

    #solutions .menu__item-text {
        font-size: 2.5rem
    }

    #solutions {
        padding-bottom: 2rem;
        padding-top: 4.5rem
    }

    .module-video {
        padding: 1rem
    }

    .article.long {
        border-top-left-radius: 0
    }

    #share {
        right: -10px;
        top: 0
    }

    .accroche {
        font-size: 2.5em;
        margin-bottom: 2rem;
        margin-top: 0;
        padding: 0
    }

        .accroche::before {
            display: block;
            font-size: 6rem;
            line-height: 1em;
            margin: 20px auto;
            position: relative;
            text-align: center
        }

    .ph-actu.paysage {
        margin-bottom: 0
    }

    .btn-lg {
        white-space: normal
    }

    .actus-2cols .extrait {
        font-size: 1.2em;
        line-height: 1.25em;
        text-align: left
    }

    .articles-tags, .infos-articles {
        font-size: 1.2em
    }

    #canvasContainer img {
        visibility: initial;
        width: 100%;
        height: 100%;
        object-fit: cover
    }
}

@media only screen and (max-width:767px) and (orientation:portrait) {
    #canvasContainer {
        max-height: 70vh;
        min-height: 70vh;
    }

    .contenu-header-text {
        height: auto;
        left: 10%;
        ms-transform: none;
        right: 10% !important;
        top: 20%;
        transform: none
    }

        .contenu-header-text .breadcrumb {
            background: rgba(0,0,0,.51);
            border-radius: 6px;
            box-shadow: 0 0 30px rgba(0,0,0,.6);
            padding: 5% 1%
        }

            .contenu-header-text .breadcrumb::before {
                display: none
            }

    .highlight {
        padding: 2rem
    }

    .form-nl {
        font-size: 1.25em !important
    }

    .actus-2cols .jarallax h2 {
        font-size: 1.8rem
    }
}

@media only screen and (max-width:640px) {
    body {
        font-size: 15px
    }

    .list-unstyled.list-inline.mentions {
        font-size: 16px;
        line-height: 1em;
        padding-bottom: 3.5rem;
        text-align: center
    }

    .mentions a {
        font-weight: 700;
        line-height: 0
    }

    footer .liste-stylisee li {
        margin-bottom: 4px
    }

    footer .liste-stylisee a {
        font-size: 18px
    }

    .ph-actu .jarallax .text, .ph-actu.portrait .jarallax .text {
        font-size: 1.8em
    }
}
