@charset "utf-8";
/* CSS Document */

* {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
}

a {
    text-decoration: none;
    color: #003074;
}

ul {
    list-style: none;
}

img {
    border: 0;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}

body {
    font: 400 18px calibri, sans-serif;
    color: #808081;
}
body.page-id-373 header, body.error404 header  {
    top: 0;
    padding:20px 0;
}

/*.error404 main {min-height:74vh;}*/

.wrap {
    margin: 0 auto;
    width: 1370px;
}

#menu-header a:hover {
    text-decoration: underline;
}

.wrap::after {
    display: block;
    clear: both;
    content: " ";
}

a, a:hover, main .listing .item .caption, main .listing .item:hover .caption, main a .button , main a .button:hover , article .gform_wrapper .gform_footer input.button:hover, article .gform_wrapper .gform_footer input[type=submit]:hover, article .gform_wrapper .gform_footer input.button, article .gform_wrapper .gform_footer input[type=submit], nav ul.menu > li > a::after, .flexslider.history ul.slides li::after, .flexslider.history ul.slides li:hover::after, .presentation .activities .flex .item:hover > img, .presentation .activities .flex .item > img, nav ul.menu > li:hover > a::after, .presentation .activities .flex .item::before, .presentation .activities .flex .item:hover::before, .presentation .activities .flex .item .caption, .presentation .activities .flex .item:hover .caption, .homecontent .strategy .flex .item > img, .homecontent .strategy .flex .item:hover > img, .homecontent .strategy .flex .item .caption, .homecontent .strategy .flex .item:hover .caption {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.flex {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

@media all {

    /*************************************** HEADER ****************************************************/

    header  {
        position: fixed;
        top: 0;
        z-index: 999;
        width: 100%;
        background: #fff;
    }

    header + * {
        margin-top: 94px ;
    }

    header .flex {
        align-items: center;
    }

    #logo img {
        width: 160px;
    }

    /*** MENU ***/
    nav {
        flex: 1;
        margin-left: 60px;
        border-right: 1px solid #dfdfdf;
    }

    nav ul.menu {
        display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
    }

    nav ul.menu > li {
        flex: 1;
        text-align: center;
    }

    nav ul.menu > li > a {
        text-transform: uppercase;
        font-size: 18px;
        font-weight: 600;
        color: #003074;
        padding: 35px;
        display: block;
        position: relative;
    }

    nav ul.menu > li > a::after {
        content: '';
        height: 3px;
        width: 0;
        background: #003074;
        position: absolute;
        left: 0;
        bottom: 0;
    }

    nav ul.menu > li:hover > a::after {
        width: 100%;
    }

    nav ul.menu > li {
        list-style-type: none;
        position: relative;
        border-left: 1px solid #dfdfdf;
    }

    nav ul.menu > li ul.sub-menu {
        -webkit-transition: opacity 200ms;
        -khtml-transition: opacity 200ms;
        -moz-transition: opacity 200ms;
        -ms-transition: opacity 200ms;
        -o-transition: opacity 200ms;
        transition: opacity 200ms;
        position: absolute;
        margin: 0;
        top: 94px;
        left: 0;
        overflow: hidden;
        z-index: 1500;
        align-items: center;
        height: auto;
        background-color: rgba(255, 255, 255, 0.9);
        padding: 0px;
        width: 0;
        padding: 30px 0;
        text-align: left;
    }

    nav ul.menu > li:hover ul.sub-menu {
        width: 100%;
        -webkit-transition: opacity 200ms;
        -khtml-transition: opacity 200ms;
        -moz-transition: opacity 200ms;
        -ms-transition: opacity 200ms;
        -o-transition: opacity 200ms;
        transition: opacity 200ms;
    }

    nav ul.menu > li ul.sub-menu li a {
        padding: 3px 30px;
        display: block;
        color: #899095;
    }

    nav ul.menu > li ul.sub-menu li:hover a {
        font-weight: bold;
    }

    /* Menu secondaire */
    /*** MENU ***/
    .menu-basic {
        overflow-x: hidden;
    }

    .menu-trigger {
        width: 30px;
        height: 30px;
        margin: 0 0 0 60px;
        position: relative;
        cursor: pointer;
        z-index: 999;
    }

    .menu-trigger span {
        display: block;
        background: #404040;
        border-radius: 0;
    }

    .menu-trigger #hamburger {
        position: absolute;
        height: 100%;
        width: 100%;
    }

    .menu-trigger #hamburger span {
        width: 28px;
        height: 2px;
        position: relative;
        top: 0;
        left: 0;
        margin: 6px 0;
    }

    .menu-trigger #hamburger span:nth-child(1) {
        transition-delay: .5s;
    }

    .menu-trigger #hamburger span:nth-child(2) {
        transition-delay: .625s;
    }

    .menu-trigger #hamburger span:nth-child(3) {
        transition-delay: .75s;
    }

    .menu-trigger.active #hamburger span {
        width: 0%;
    }

    .menu-trigger.active #hamburger span:nth-child(1) {
        transition-delay: 0s;
    }

    .menu-trigger.active #hamburger span:nth-child(2) {
        transition-delay: .125s;
    }

    .menu-trigger.active #hamburger span:nth-child(3) {
        transition-delay: .25s;
    }

    .menu-trigger #cross {
        position: fixed;
        transform: rotate(45deg);
        width: 35px;
        height: 35px;
        right: 70px;
    }

    .menu-trigger #cross span:nth-child(1) {
        height: 0%;
        width: 2px;
        position: absolute;
        top: 0%;
        left: 17px;
        transition-delay: 0s;
    }

    .menu-trigger #cross span:nth-child(2) {
        width: 0%;
        height: 2px;
        position: absolute;
        left: 2px;
        top: 13px;
        transition-delay: .25s;
    }

    .menu-trigger.active #cross span:nth-child(1) {
        height: 30px;
        transition-delay: .625s;
    }

    .menu-trigger.active #cross span:nth-child(2) {
        width: 31px;
        transition-delay: .375s;
    }

    .menu-basic {
        position: fixed;
        right: 0;
        top: 0;
        width: 550px;
        height: 100%;
        background: url(images/home-bg.jpg) repeat center;
        display: block;
        transform: translateX(100%);
        transition: all 0.8s cubic-bezier(0.99, 0.01, 0.02, 0.99);
        z-index: 50;
        padding: 100px 60px;
    }

    .menu-basic .logo img {
        width: 170px;
    }

    .menu-basic nav {
        margin-left: 0;
        border-right: none;
    }

    .menu-basic nav ul.menu {
        width: 100%;
        margin: 70px auto 30px;
    }

    .menu-basic nav ul.menu > li {
        width: 100%;
        flex: auto;
        text-align: left;
        border-left: none;
    }

    .menu-basic nav ul.menu > li a {
        padding: 10px 0px;
    }

    .menu-basic nav ul.menu > li ul {
        width: 100%;
        top: 0;
        position: relative;
        padding: 20px;
    }

    .menu-basic nav ul.menu > li ul.sub-menu li a {
        padding: 0;
    }

    .menu-basic.open {
        transform: translateX(0);
    }

    .menu-basic .logo img {
        width: 160px;
    }

    /*************************************** ACCUEIL ****************************************************/

    .diaporama .tp-bullet {
        border-radius: 0;
        border: none;
        background: #acafb2 !important;
    }

    .diaporama .tp-bullet:hover, .diaporama .tp-bullet.selected {
        background: #fff !important;
    }

    .diaporama .fullcoveredvideo audio, .diaporama .fullscreenvideo audio .fullcoveredvideo video, .diaporama .fullscreenvideo video {
        background: transparent!important;
    }


    section h2 {
        text-align: center;
        font: 600 27px 'Source Sans Pro', sans-serif;
        padding-bottom: 5px;
        border-bottom: 2px solid #c3c4c9;
        color: #404040;
        display: table;
        margin: 0 auto 48px;
    }

    .about {
        background: url(images/about-bg.jpg) no-repeat center;
        padding: 100px 0 70px;
        color: #fff;
        background-size: cover;
    }

    .about a{
        color: #fff;
    }

    .about .content {
        max-width: 500px;
        margin: auto;
        text-align: justify;
    }

    .about h2 {
        color: #fff;
        border-color: #fff;
        padding-bottom: 30px;
    }

    .about p.more {
        text-align: center;
        margin-top: 40px;
    }

    .about p.more a {
        color: #fff;
        font-size: 35px;
    }

    .presentation {
        background: url(images/home-bg.jpg) repeat center;
        padding: 50px 0 100px;
    }

    .home .presentation .activities {
        padding: 0 130px;
    }

    .presentation .activities .flex {
        justify-content: center;
    }

    .presentation .activities .flex .item {
        flex: 1;
        width: 50%;
        min-width: 50%;
        position: relative;
        overflow: hidden;
        max-width: 50%;
    }

    .presentation .activities .flex .item > img {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        width: 100%;
    }

    .presentation .activities .flex .item:hover > img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }

    .presentation .activities .flex .item::before {
        content: '';
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        background: rgba(0, 24, 58, 0.5);
        z-index: 1;
    }

    .home .presentation .activities .flex .item::before {
        background: rgba(0, 24, 58, 0.3);
    }

    .presentation .activities .flex .item:hover::before, .presentation .activities .flex .item.clicactive::before {
        background: rgba(0, 24, 58, 0.8);
    }

    .home .presentation .activities .flex .item:nth-child(1):hover::before, .home .presentation .activities .flex .item:nth-child(4n+1):hover::before,
    .home .presentation .activities .flex .item:nth-child(1).clicactive::before, .home .presentation .activities .flex .item:nth-child(4n+1).clicactive::before{
        background: rgba(0, 44, 119, 0.8);
    }

    .home .presentation .activities .flex .item:nth-child(2):hover::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item:hover::before,
    .home .presentation .activities .flex .item:nth-child(2).clicactive::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item.clicactive::before{
        background: rgba(215, 115, 0, 0.8);
    }

    .home .presentation .activities .flex .item:nth-child(3):hover::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item  + .item:hover::before,
    .home .presentation .activities .flex .item:nth-child(3).clicactive::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item  + .item.clicactive::before{
        background: rgba(30, 53, 96, 0.8);
    }

    .home .presentation .activities .flex .item:nth-child(4):hover::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item + .item + .item:hover::before,
    .home .presentation .activities .flex .item:nth-child(4).clicactive::before, .home .presentation .activities .flex .item:nth-child(4n+1) + .item + .item + .item.clicactive::before{
        background: rgba(94, 106, 113, 0.8);
    }

    .presentation .activities.multi .flex .item {
        width: 33.33%;
        min-width: 33.33%;
        max-width: 33.33%;
    }

    .presentation .activities.multi .flex .item:nth-child(1), .presentation .activities.multi .flex .item:nth-child(2), .presentation .activities.multi .flex .item:nth-child(5n+1), .presentation .activities.multi .flex .item:nth-child(5n+1) + .item {
        width: 50%;
        min-width: 50%;
        max-width: 50%;
    }

    .presentation .activities.multi .flex .item:nth-child(1)::before, .presentation .activities.multi .flex .item:nth-child(5n+1)::before {
        background: rgba(129, 138, 143, 0.5);
    }

    .presentation .activities.multi .flex .item:nth-child(1):hover::before, .presentation .activities.multi .flex .item:nth-child(5n+1):hover::before {
        background: rgba(129, 138, 143, 0.8);
    }

    .presentation .activities.multi .flex .item:nth-child(2)::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item::before {
        background: rgba(54, 106, 181, 0.5);
    }

    .presentation .activities.multi .flex .item:nth-child(2):hover::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item:hover::before {
        background: rgba(54, 106, 181, 0.8);
    }

    .presentation .activities.multi .flex .item:nth-child(3)::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item::before {
        background: rgba(87, 168, 113, 0.5);
    }

    .presentation .activities.multi .flex .item:nth-child(3):hover::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item:hover::before {
        background: rgba(87, 168, 113, 0.8);
    }

    .presentation .activities.multi .flex .item:nth-child(4)::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item + .item::before {
        background: rgba(40, 162, 182, 0.5);
    }

    .presentation .activities.multi .flex .item:nth-child(4):hover::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item + .item:hover::before {
        background: rgba(40, 162, 182, 0.8);
    }

    .presentation .activities.multi .flex .item:nth-child(5)::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item + .item + .item::before {
        background: rgba(92, 110, 166, 0.5);
    }

    .presentation .activities.multi .flex .item:nth-child(5):hover::before, .presentation .activities.multi .flex .item:nth-child(5n+1) + .item + .item + .item + .item:hover::before {
        background: rgba(92, 110, 166, 0.8);
    }

    .presentation .activities.orange .flex .item::before {
        background: rgba(215, 115, 0, 0.5);
    }

    .presentation .activities.orange .flex .item:hover::before {
        background: rgba(215, 115, 0, 0.8);
    }

    .presentation .activities.orange .flex .item:nth-child(2)::before, .presentation .activities.orange .flex .item:nth-child(4n-1)::before, .presentation .activities.orange .flex .item:nth-child(4n-1) + .item + .item + .item::before {
        background: rgba(255, 163, 78, 0.5);
    }

    .presentation .activities.orange .flex .item:nth-child(2):hover::before, .presentation .activities.orange .flex .item:nth-child(4n-1):hover::before, .presentation .activities.orange .flex .item:nth-child(4n-1) + .item + .item + .item:hover::before {
        background: rgba(255, 163, 78, 0.8);
    }

    .presentation .activities.blue .flex .item::before {
        background: rgba(38, 59, 99, 0.5);
    }

    .presentation .activities.blue .flex .item:hover::before {
        background: rgba(38, 59, 99, 0.8);
    }

    .presentation .activities.blue .flex .item:nth-child(2)::before, .presentation .activities.blue .flex .item:nth-child(4n-1)::before, .presentation .activities.blue .flex .item:nth-child(4n-1) + .item + .item + .item::before {
        background: rgba(89, 106, 135, 0.5);
    }

    .presentation .activities.blue .flex .item:nth-child(2):hover::before, .presentation .activities.blue .flex .item:nth-child(4n-1):hover::before, .presentation .activities.blue .flex .item:nth-child(4n-1) + .item + .item + .item:hover::before {
        background: rgba(89, 106, 135, 0.8);
    }

    .presentation .activities.grey .flex .item::before {
        background: rgba(110, 118, 123, 0.5);
    }

    .presentation .activities.grey .flex .item:hover::before {
        background: rgba(110, 118, 123, 0.8);
    }

    .presentation .activities.grey .flex .item:nth-child(2)::before, .presentation .activities.grey .flex .item:nth-child(4n-1)::before, .presentation .activities.grey .flex .item:nth-child(4n-1) + .item + .item + .item::before {
        background: rgba(142, 148, 152, 0.5);
    }

    .presentation .activities.grey .flex .item:nth-child(2):hover::before, .presentation .activities.grey .flex .item:nth-child(4n-1):hover::before, .presentation .activities.grey .flex .item:nth-child(4n-1) + .item + .item + .item:hover::before {
        background: rgba(142, 148, 152, 0.8);
    }

    .presentation .activities .flex .item .caption, .presentation .activities .flex .item > h3 {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        width: 100%;
        padding: 20px 30px;
        text-align: center;
        color: #fff;
        z-index: 10;
    }

    .presentation .activities .flex .item h3 {
        font-size: 30px;
        color: #fff;
        font-weight: 500;
        line-height: 35px;
    }

    .presentation .activities .flex .item .caption h3 {
        margin-bottom: 10px;
    }

    .presentation .activities .flex .item .caption {
        transform: translateY(150%);
    }

    .presentation .activities .flex .item:hover .caption, .presentation .activities .flex .item.clicactive .caption {
        transform: translateY(-50%);
    }

    .presentation .activities .flex .item:hover img + h3, .presentation .activities .flex .item.clicactive img + h3, .presentation .activities .flex .item:hover > h3, .presentation .activities .flex .item.clicactive > h3 {
        opacity: 0;
    }

    .presentation .activities .flex .item p.more a {
        color: #fff;
        border: 1px solid #fff;
        padding: 8px 20px 12px;
        display: inline-block;
        margin-top: 20px;
        line-height: initial;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }

    .presentation .activities .flex .item p.more a:hover {
        color: #003074;
    }

    .presentation .activities .flex .item p.more a::before {
        content: '';
        z-index: -1;
        position: absolute;
        top: 50%;
        right: 100%;
        margin: -15px 0 0 1px;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: #fff;
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scale3d(1, 2, 1);
        transform: scale3d(1, 2, 1);
        -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
        transition: transform 0.3s, opacity 0.3s;
        -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
        transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    }

    .presentation .activities .flex .item p.more a:hover::before {
        -webkit-transform: scale3d(9, 9, 1);
        transform: scale3d(9, 9, 1);
    }

    .presentation .activities .flex .item h3 + p.more a {
        margin-top: 5px;
    }

    .presentation .history h2 {
        margin-bottom: 15px;
    }

    .presentation .history .item .date {
        font: 600 35px 'Source Sans Pro', sans-serif;
        color: #404040;
        display: block;
        margin-left: 15px;
        flex: auto;
        width: 100%;
    }

    .homecontent {
        padding: 55px 0 45px;
    }

    .homecontent .wrap {
        padding: 0 130px;
    }

    .homecontent .wrap > div + div, .presentation .wrap > div + div {
        margin-top: 70px;
    }

    .homecontent .figures .flex {
        justify-content: center;
    }


    .homecontent .figures .item > img {
        height: 60px;
        max-width: 100px;
        margin: 0 auto 20px;
        display: block;
    }

    .homecontent .figures .item {
        text-align: center;
        font-size: 18px;
        width: 14%;
        max-width: 14%;
        min-width: 14%;
        margin: 0 1% 15px;
    }

    .homecontent .figures .item span.chiffre {
        font-weight: 600;
        font-size: 40px;
        color: #003074;
        display: block;
        line-height: 35px;
        margin-bottom: 10px;
    }

    .homecontent .strategy .flex .item {
        flex: 1;
        width: 32.5%;
        max-width: 32.5%;
        margin-left: 1.7%;
        position: relative;
        overflow: hidden;
        max-height: 320px;
    }

    .homecontent .strategy .flex .item::before {
        content: '';
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        background: rgba(0, 24, 58, 0.5);
        z-index: 1;
    }

    .homecontent .strategy .flex .item > img {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        width: 100%;
    }

    .homecontent .strategy .flex .item:hover > img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
    }

    .homecontent .strategy .flex .item:nth-child(3n+1) {
        margin-left: 0;
    }

    .homecontent .strategy .flex .item .caption {
        position: absolute;
        top: 50%;
        transform: translateY(70%);
        left: 0;
        width: 100%;
        padding: 20px ;
        text-align: center;
        color: #fff;
        z-index: 10;
    }

    .homecontent .strategy .flex .item:hover .caption, .homecontent .strategy .flex .item.clicactive .caption {
        transform: translateY(-50%);
    }

    .homecontent .strategy .flex .item .caption h3 {
        margin-bottom: 7px;
        font-size: 22px;
        font-weight: 400;
    }

    .homecontent .strategy .flex .item .caption .captioncontent {
        transform: translateY(50px);
        height: 0;
        line-height: 19px;
        font-size: 16px;
    }

    .homecontent .strategy .flex .item:hover .caption .captioncontent, .homecontent .strategy .flex .item.clicactive .caption .captioncontent {
        transform: translateY(0);
        height: auto;
    }

    /* Slick slider */

    .slick-slider
    {
        position: relative;

        display: block;
        box-sizing: border-box;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;

        -webkit-touch-callout: none;
        -khtml-user-select: none;
        -ms-touch-action: pan-y;
        touch-action: pan-y;
        -webkit-tap-highlight-color: transparent;
    }

    .slick-list
    {
        position: relative;

        display: block;
        overflow: hidden;

        margin: 0;
        padding: 0;
    }
    .slick-list:focus
    {
        outline: none;
    }
    .slick-list.dragging
    {
        cursor: pointer;
        cursor: hand;
    }

    .slick-slider .slick-track,
    .slick-slider .slick-list
    {
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .slick-track
    {
        position: relative;
        top: 0;
        left: 0;

        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .slick-track:before,
    .slick-track:after
    {
        display: table;

        content: '';
    }
    .slick-track:after
    {
        clear: both;
    }
    .slick-loading .slick-track
    {
        visibility: hidden;
    }

    .slick-slide
    {
        display: none;
        float: left;

        height: 100%;
        min-height: 1px;
    }
    [dir='rtl'] .slick-slide
    {
        float: right;
    }

    .slick-initialized .slick-slide
    {
        display: block;
    }
    .slick-loading .slick-slide
    {
        visibility: hidden;
    }
    .slick-vertical .slick-slide
    {
        display: block;
        height: auto;
        border: 1px solid transparent;
    }
    .slick-arrow.slick-hidden {
        display: none;
    }

    /*************************************** CONTENU ****************************************************/

    .diaporama .tp-videolayer .tp-videoposter::before {
        content :'';
        background : url(images/video-icon.png) no-repeat center ;
        position :absolute;top : 50% ; transform : translateY(-50%);left : 0 ; right : 0 ;     width: 40px;
        height: 45px;
        margin: auto;
        z-index: 999999;
    }


    .diaporama.bandeau {
        position: relative;
    }

    .diaporama.bandeau .caption {
        position: absolute;
        bottom: 80px;
        left: 0;
        font-size: 25px;
        right: 0;
        text-align: center;
        color: #fff;
    }

    main, main.main {
        background: url(images/home-bg.jpg) repeat center;
        padding: 50px 0 80px;
        display: inline-block;
        width: 100%;
    }

    main h1 {
        text-align: center;
        font: 400 38px 'Source Sans Pro', sans-serif;
        padding-bottom: 5px;
        border-bottom: 2px solid #c3c4c9;
        color: #404040;
        display: table;
        margin: 0 auto 48px;
    }

    main.career h2 {
        color: #404040;
        display: table;
        margin: 0 auto 48px;
        text-align: center;
        font: 400 38px 'Source Sans Pro', sans-serif;
    }

    main.career h1, main.career h2, .presentation.page h1, .presentation.page h2 {
        font-size: 25px;
        border-bottom: none;
        position: relative;
        padding-bottom: 15px;
        color: #404040;
        text-align: center;
        margin-bottom: 30px;
        min-width: 140px;
    }

    main.career h1::after, main.career h2::after, .presentation.page h1::after, .presentation.page h2::after {
        content: '';
        background: #c3c4c9;
        height: 2px;
        width: 140px;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 0;
    }

    main h2 {
        font-size: 25px;
        font-weight: 500;
        color: #003074;
        margin-bottom: 10px;
    }

    main h3 {
        font-weight: 400;
        color: #7c7c7c;
        margin-bottom: 5px;
    }

    main p {
        line-height: 20px;
    }

    main li {
        line-height: 20px;
        padding-left: 1em;
        text-indent: -1em;
    }

    main li li {
        margin-left: 20px;
    }

    main li ul {
        margin-bottom: 5px;
    }

    main li::before {
        content: "\2022\ ";
        color: #003074;
        padding-right: 5px;
    }

    main a .button {
        border: 1px solid #003074;
        padding: 8px 30px 13px;
        display: inline-block;
        font-weight: bold;
        font-size: 17px;
        line-height: initial;
        margin-top: 25px;
    }

    main a .button:hover {
        background :  #003074;
        color :#fff ;
    }

    .alignright {
        float: right;
        margin-left: 30px;
    }

    .alignleft {
        float: left;
        margin-right: 30px;
    }

    .aligncenter {
        display: block;
        margin: 0 auto;
    }

    main .listing .wrap, main.presentation.page .wrap {
        padding: 0 130px;
    }

    main .listing .item {
        width: 50%;
        flex-grow: 1;
        text-align: center;
        font-size: 28px;
        font-weight: 400;
        color: #fff;
        /*padding: 130px 50px;*/
        max-width: 50%;
        position :relative ;
        overflow: hidden;
    }

    main .listing .item .caption, main .listing .item > h3 {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        width: 100%;
        padding: 20px 30px;
        text-align: center;
        color: #fff;
        z-index: 10;
    }

    main .listing .item .caption {
        transform: translateY(200%);
    }

    /*main .listing .item:hover .caption {
        transform: translateY(-50%);
    }

    main .listing .item:hover img + h3 {
        opacity: 0;
    }*/

    main .listing .item p.more a {
        color: #fff;
        border: 1px solid #fff;
        padding: 8px 20px 12px;
        display: inline-block;
        margin-top: 20px;
        line-height: initial;
        overflow: hidden;
        position: relative;
        z-index: 1;
        font-size: 20px;
    }

    main .listing .item p.more a:hover {
        color: #003074;
    }

    main .listing .item p.more a::before {
        content: '';
        z-index: -1;
        position: absolute;
        top: 50%;
        right: 100%;
        margin: -15px 0 0 1px;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: #fff;
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scale3d(1, 2, 1);
        transform: scale3d(1, 2, 1);
        -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
        transition: transform 0.3s, opacity 0.3s;
        -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
        transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    }

    main .listing .item p.more a:hover::before {
        -webkit-transform: scale3d(9, 9, 1);
        transform: scale3d(9, 9, 1);
    }

    main .listing .item h3 + p.more a {
        margin-top: 5px;
    }

    main .listing .item::before {
        content: '';
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        background: rgba(0, 48, 116, 0.5);
        z-index: 1;
    }

    /*main .listing .item:hover::before {
        background: rgba(0, 48, 116, 0.8);
    }*/

    main .listing .item .french {
        display: block;
        font-style: italic;
    }

    main .listing .item:nth-child(2)::before, main .listing .item:nth-child(4n-1)::before, main .listing .item:nth-child(4n-1) + .item + .item + .item::before {
        background: rgba(50, 88, 143, 0.5);
    }

    /*main .listing .item:nth-child(2):hover::before, main .listing .item:nth-child(4n-1):hover::before, main .listing .item:nth-child(4n-1) + .item + .item + .item:hover::before {
        background: rgba(50, 88, 143, 0.8);
    }*/

    main .productionsite, main .jobopportunity {
        padding-top: 60px;
    }

    main .jobopportunity {
        color: #404040;
        font-size: 25px;
    }

    main .jobopportunity p {
        line-height: 30px;
    }

    .flexslider ul.slides li, main .flexslider ul.slides li, main .flexslider li, .bandeau .flexslider ul.slides li, .bandeau .flexslider li {
        padding-left: 0;
        text-indent: 0;
        position: relative;
        list-style-type: none;
    }

    .bandeau .flexslider ul.slides li {
        max-height: 565px;
    }

    main .flexslider ul.slides li {
        max-height: 470px;
    }

    .flexslider ul.slides li::before {
        background: linear-gradient(to right, #003074, transparent);
        height: 100%;
        width: 70%;
        position: absolute;
        left: 0;
        top: 0;
    }

    .flexslider ul.slides li > img {
        width: 100%;
    }

    .flexslider {
        position: relative;
    }

    .flexslider .flex-control-paging {
        position: absolute;
        bottom: 40px;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
        width: 100%;
        display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        justify-content: center;
    }

    .flexslider .flex-control-paging li::before {
        display: none;
    }

    .flexslider .flex-control-paging li a {
        width: 11px;
        height: 11px;
        display: block;
        background: #acafb2;
        cursor: pointer;
        text-indent: -9999px;
    }

    .flexslider .flex-control-paging li + li {
        margin-left: 16px;
    }

    .flexslider .flex-control-paging li a:hover, .flexslider .flex-control-paging li a.flex-active {
        background: #fff;
    }

    .flexslider ul.slides li .caption {
        position: absolute;
        left: 180px;
        bottom: 100px;
        color: #fff;
        font-size: 25px;
    }

    .historyslide button.slick-prev , .historyslide button.slick-next  {
        position: absolute;
        top:180px;
        /*transform: translateY(-50%);*/
        left: -30px;
        text-indent: -999999px;
        height: 20px;
        width: 15px;
        background: url(images/prev-arrow.png) no-repeat center;
        border: none;
        cursor : pointer;
    }

    .historyslide button.slick-next  {
        right: -30px;
        background: url(images/next-arrow.png) no-repeat center;
        left: auto;
    }


    .presentation > .wrap > .history {
        padding: 0 50px;
    }

    .flexslider.history {
        padding: 0 40px;
        position :relative ;
    }

    .historyslide .slick-list {
        padding-top: 130px;
        padding-bottom: 40px;
        padding-left: 40px;
    }

    .historyslide::before {
        content: '';
        height: 1px;
        width: 100%;
        left: 0;
        position: absolute;
        top: 190px;
        /*transform: translateY(-50%);*/
        background: #acafb2;
    }

    .historyslide li.slick-slide {position :relative;     height: 120px;}

    .historyslide li.slick-slide::after {
        content: '';
        height: 12px;
        width: 12px;
        left: 0px;
        top: -25px;
        position: absolute;
        background: #acafb2;
        -moz-box-shadow: 0px 0px 0px 0px rgba(13, 77, 168, 0.15);
        -webkit-box-shadow: 0px 0px 0px 0px rgba(13, 77, 168, 0.15);
        -o-box-shadow: 0px 0px 0px 0px rgba(13, 77, 168, 0.15);
        box-shadow: 0px 0px 0px 0px rgba(13, 77, 168, 0.15);
        border-radius: 50%;
    }

    .historyslide li.slick-slide span.content {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0px;
        right: 0;
        margin: auto;
    }

    .historyslide li.slick-slide:hover span.content::before {
        background-color: #003074;
        content: '';
        width: 190px;
        height: 190px;
        position: absolute;
        left: -15px;
        top: 50%;
        border-radius: 50%;
        z-index: -1;
        transform: translateY(-50%);
    }

    .historyslide li.slick-slide:nth-child(even) {
        margin-top: 80px;
    }

    .historyslide li.slick-slide:nth-child(odd) {
        margin-top: -80px;
    }

    .historyslide li.slick-slide:nth-child(odd)::after {
        left: -5px;
        bottom: -27px;
        top: auto;
    }

    .historyslide li.slick-slide .legend {
        position: relative;
        padding-left: 15px;
        display: block;
        max-width: 170px;
        font-size: 15px;
    }

    .historyslide li.slick-slide .legend::before {
        content: '';
        height: calc(100% - 8px);
        width: 1px;
        left: 0;
        top: 6px;
        position: absolute;
        background: #acafb2;
    }

    .presentation .history .item:hover .date, .flexslider.history ul.slides li:hover .legend {
        color: #fff;
    }

    .historyslide li.slick-slide:hover .legend::before {
       display : none ;
    }

    .historyslide li.slick-slide:hover::after {
        background: #0d4da8;
        -moz-box-shadow: 0px 0px 0px 7px rgba(13, 77, 168, 0.15);
        -webkit-box-shadow: 0px 0px 0px 7px rgba(13, 77, 168, 0.15);
        -o-box-shadow: 0px 0px 0px 7px rgba(13, 77, 168, 0.15);
        box-shadow: 0px 0px 0px 7px rgba(13, 77, 168, 0.15);
    }

    .bandeau.diaporama .flexslider ul.slides li .caption {
        left: 0;
    }

    .presentation.page .activities + .activities {
        margin-top: 80px;
    }

    /** catégorie **/
    /**.article-blog { padding: 35px 30px; background:#f2f2f2;}
        .article-blog + .article-blog { margin-top:35px;}
        .img-blog { float:left; margin-right:3%;}
        .texte-blog { overflow:auto;}
        .article-blog p.readmore a { margin-top:35px;}

        /* pagination */
    /**.pagination { margin-top:40px; text-align:center;}
    .pagination ul{display:table; margin:auto; border-collapse: separate; }
    .pagination li{display:table-cell; padding-right: 15px; width:55px; height:55px;}
    .pagination li span, .pagination li span.current, .pagination li a{ padding:12px 20px; border-radius:50%;  font-weight: 700; font-size: 20px; line-height:22px; text-align: center;}
    .pagination li a{ background:#f0eee6; color:#000;-webkit-transition: all 500ms ease-in-out; -o-transition: all 500ms ease-in-out; transition: all 500ms ease-in-out;}
    .pagination li a:hover, .pagination li span, .pagination li span.current{background:#404040; color:#fff;}
    article .pagination li:before { content:none;}

/* contact */
    article form, article .gform_confirmation_message  {
        background-color: #fff;
        position: relative;
        padding: 60px;
    }

    article .gform_wrapper {
        max-width: 100%;
    }

    article form::after , article .gform_confirmation_message::after {
        content: '';
        background: #003074;
        position: absolute;
        left: 0;
        width: 100%;
        bottom: 0;
        height: 4px;
    }

    article .gform_wrapper li {
        text-indent: 0;
        margin: 0 0 20px 0;
        padding: 0;
    }

    article .gform_wrapper li::before, .gform_wrapper div.validation_error {
        display: none;
    }

    article ::-webkit-input-placeholder {
        color: #003074;
    }

    article ::-moz-placeholder {
        color: #003074;
    }

    article :-ms-input-placeholder {
        color: #003074;
    }

    article :-moz-placeholder {
        color: #003074;
    }

    article input:-webkit-autofill, article textarea:-webkit-autofill, article select:-webkit-autofill {
        border: none;
        -webkit-text-fill-color: #003074;
        -webkit-box-shadow: 0 0 0px 1000px transparent inset;
        transition: background-color 5000s ease-in-out 0s;
    }

    article .gform_wrapper .top_label .gfield_label, article .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label, article .gform_wrapper .top_label .gfield_label {
        font: 400 19px 'Source Sans Pro', sans-serif;
        color: #003074;
        margin-bottom: 5px;
        margin: 0;
    }

    article .gform_wrapper li input, article .gform_wrapper li select, article .gform_wrapper li textarea, .gform_wrapper .top_label input.medium, .gform_wrapper .top_label select.medium {
        border: none;
        background-color: transparent;
        border-bottom: 1px solid #003074;
        font: 400 18px calibri, sans-serif !important;
        padding: 10px 0 !important;
        width: 100%;
        border-radius: 0;
    }

    article .gform_wrapper li input[type="file"], .gform_wrapper .top_label input.medium[type="file"] {
        background: #003074;
        color: #fff;
        padding: 10px !important;
        margin-top: 10px;
    }

    article .gform_wrapper li input[type="checkbox"], article .gform_wrapper li input[type="radio"] {
        width: auto;
    }

    article .gform_wrapper textarea.medium {
        height: 200px;
        width: 100%;
        display: table;
    }

    article .gform_wrapper .gform_footer {
        padding: 0;
        text-align: center;
        margin-top: 40px;
    }

    article .gform_wrapper .gform_footer input.button, article .gform_wrapper .gform_footer input[type=submit] {
        background: #fff;
        border: 2px solid #003074;
        padding: 8px 25px 11px !important ;
        display: inline-block;
        color: #003074;
        text-transform: uppercase;
        cursor: pointer;
        font: 600 18px calibri, sans-serif;
        -webkit-appearance: none ;
        border-radius: 0;
    }

    article .gform_wrapper .gform_footer input.button:hover, article .gform_wrapper .gform_footer input[type=submit]:hover {
        background: #003074;
        color: #fff;
    }

    article .gform_wrapper .gfield_checkbox > li, article .gform_wrapper .gfield_radio > li {
        width: 100%;
        margin: 0 !important;
    }

    article .gform_wrapper select option {
        background: #fff;
        color: #212e3f;
    }

    article .gform_wrapper select option:checked {
        background: #212e3f;
        color: #fff;
    }

    article .gform_wrapper ul.gform_fields {
        display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
    }

    article .gform_wrapper li, article .gform_wrapper .top_label .gfield_error, article .gform_wrapper li.gfield.gfield_error.gfield_contains_required {
        margin: 0 2% 40px 2% !important;
        width: 46%;
    }

    article .gform_wrapper li.gfield.full, article .gform_wrapper .top_label .gfield_error.full, article .gform_wrapper li.gfield.gfield_error.gfield_contains_required.full {
        width: 98%;
    }

    body article .gform_wrapper label.gfield_label + div.ginput_container {
        position: relative;
    }

    article .gform_wrapper li.gfield.gfield_error, article .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
        border: none;
        background-color: transparent;
    }

    article .gform_wrapper .gfield_description.validation_message, .gform_wrapper .top_label .gfield_description.validation_message {
        color: #790000;
        font-weight: 600;
        font-size: 13px;
        font-style: italic;
        padding-top: 5px !important;
    }

    article .gform_wrapper li.gfield.gfield_error input, article .gform_wrapper li.gfield.gfield_error select, article .gform_wrapper li.gfield.gfield_error textarea {
        border: none;
        border-bottom: 1px solid #790000;
    }

    article .gform_wrapper .gfield_error .gfield_label, article .gform_wrapper .gfield_required {
        color: #003074;
        margin-left: 5px;
    }

    body article .gform_wrapper .gfield_error label.gfield_label + div.ginput_container::after {
        background: #003074;
    }

    article .gform_wrapper ul.gfield_radio, article .gform_wrapper ul.gfield_checkbox {
        margin: 10px 0 !important;
    }

    article .gform_wrapper ul.gfield_radio input[type="radio"], article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] {
        position: absolute;
        top: 0;
        left: -9999px;
        visibility: hidden;
    }

    article .gform_wrapper ul.gfield_radio > li, article .gform_wrapper ul.gfield_checkbox > li {
        position: relative;
        padding: 20px 0 20px 40px;
    }

    article .gform_wrapper .gfield_checkbox li label, article .gform_wrapper .gfield_radio li label {
        margin-left: 0;
        padding: 2px 0 10px 40px;
        font-size: 18px;
        cursor: pointer;
    }

    article .gform_wrapper ul.gfield_radio input[type="radio"] + label:before, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] + label:before, article .gform_wrapper ul.gfield_radio input[type="radio"] + label:after, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] + label:after {
        content: '';
        position: absolute;
        top: 50%;
        border-radius: 50%;
    }

    article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] + label:before, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] + label:after {
        border-radius: 0;
    }

    article .gform_wrapper ul.gfield_radio input[type="radio"] + label:before, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"] + label:before {
        left: 0;
        width: 21px;
        height: 21px;
        margin: -13px 0 0;
        background: #f7f7f7;
        border: 1px solid #c4c4c4;
    }

    article .gform_wrapper ul.gfield_radio input[type="radio"]:checked + label:after, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"]:checked + label:after {
        left: 4px;
        width: 13px;
        height: 13px;
        margin: -9px 0 0;
        opacity: 0;
        background: #003074;
        -webkit-transform: translate3d(-40px, 0, 0) scale(0.5);
        transform: translate3d(-40px, 0, 0) scale(0.5);
        transition: opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
    }

    article .gform_wrapper ul.gfield_radio label:after, article .gform_wrapper ul.gfield_checkbox label:after {
        left: 5px;
        width: 20px;
        height: 20px;
        margin: -10px 0 0;
        opacity: 0;
        background: #003074;
        -webkit-transform: translate3d(-40px, 0, 0) scale(0.5);
        transform: translate3d(-40px, 0, 0) scale(0.5);
        transition: opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
    }

    article .gform_wrapper ul.gfield_radio input[type="radio"]:checked + label:after, article .gform_wrapper ul.gfield_checkbox input[type="checkbox"]:checked + label:after {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }

    article .gform_wrapper.gf_browser_chrome .gfield_error input[type=email], .gform_wrapper.gf_browser_chrome .gfield_error input[type=number], .gform_wrapper.gf_browser_chrome .gfield_error input[type=password], .gform_wrapper.gf_browser_chrome .gfield_error input[type=tel], .gform_wrapper.gf_browser_chrome .gfield_error input[type=text], .gform_wrapper.gf_browser_chrome .gfield_error input[type=url], .gform_wrapper.gf_browser_chrome .gfield_error select, .gform_wrapper.gf_browser_chrome .gfield_error textarea, .gform_wrapper.gf_browser_chrome li.gfield_error.field_sublabel_above .ginput_complex input[type=text] {
        margin-bottom: 0px;
    }

    article .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label, body .gform_wrapper label.gfield_label + div.ginput_container {
        margin: 0;
        max-width: 100%;
    }

    article .gform_wrapper.gform_validation_error .top_label input.medium, article .gform_wrapper.gform_validation_error .top_label select.medium {
        width: 100%;
    }

    article .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper li.gfield_error textarea {
        border : none ;
        border-bottom: 1px solid #790000;
    }

    /*************************************** PIED DE PAGE ****************************************************/
    footer {
        background: #003074;
        padding: 40px 0 65px;
        color: #fff;
        font-size: 14px;
    }

    footer a {color :#fff ;}

    footer .wrap {
        padding: 0 40px;
    }

    footer .flex {
        align-items: center;
    }

    footer .flex > * + * {
        margin-left: 25px;
    }

    address img {
        width: 140px;
    }

    footer .flex .middle {
        margin-left: 120px;
        margin-right: auto;
    }

    .middle .bloc + .bloc {
        margin-left: 65px;
    }

    #social img {
        width: 20px;
        vertical-align: baseline;
    }

    #menu-footer a {
        color: #fff;
    }

    #IC img {
        width: 120px;
    = vertical-align: top;
    }

    footer .flex .contactbottom {
        position: fixed;
        left: 0;
        top: 50%;
        margin-left: 0;
        transform: translateY(-50%);
        width: auto;
    }

    .contactbottom a {
        background: rgba(255,255,255,0.6);
        color: #fff;
        padding: 15px 20px;
        font-size: 19px;
        font-weight: 600;
        display: inline-block;
    }

    .contactbottom a img{
       vertical-align: baseline;
    }

    .page-id-373 .contactbottom, .error404 .contactbottom {display:none;}

}

@media all and (max-width: 1400px) {
    .wrap {
        width: 96%;
    }

    main .listing .wrap, main.presentation.page .wrap , .homecontent .wrap, .home .presentation .activities{
        padding: 0 50px;
    }

    .flexslider ul.slides li .caption {
        left: 80px;
    }
}

@media all and (max-width: 1300px) {
    footer .flex .middle {
        margin-left: 70px;
    }

    main .listing .wrap, main.presentation.page .wrap , .homecontent .wrap, .home .presentation .activities{
        padding: 0;
    }

    .presentation .activities .flex .item .caption, .presentation .activities .flex .item img + h3 {
        padding: 20px 20px;
    }
    footer .flex .middle .bloc {
        flex: auto;
        width: 100%;
        margin-bottom: 10px;
    }

    .middle .bloc + .bloc {
        margin-left: 0;
    }
}

@media all and (max-width: 1100px) {

    .flexslider ul.slides li > img {
        min-height: 350px;
        object-fit: cover;
    }

    .homecontent .figures .item {
        width: 20%;
        max-width: 20%;
        min-width: 20%;
        margin: 0 1% 35px;
    }
    footer {
        padding: 20px 0;
        position: relative;
    }

    footer .flex > * {
        text-align: center;
        flex: auto;
        width: 100%;
    }

    footer #IC {
        position: absolute;
        right: 20px;
        bottom: 20px;
        width: auto;
    }


    footer .flex .middle, footer .flex > * + * {
        margin-left: 0;
        margin-top: 20px;
    }

    footer .flex .middle .bloc {
        flex: 1;
    }

    footer .flex .middle .bloc + .bloc {
        margin-top: 0;
    }

}

@media all and (max-width: 950px) {
    .presentation .activities.multi .flex .item {
        width: 50%;
        min-width: 50%;
        max-width: 50%;
        height: 350px;
    }
    .homecontent .strategy .flex {
        justify-content: center; }

    .homecontent .strategy .flex .item {
        width: 50%;
        max-width: 50%;
        min-width: 50%;
        margin-left: 0;
        height: 300px;

    }

    .presentation .activities .flex .item, .presentation .activities.multi .flex .item:nth-child(1), .presentation .activities.multi .flex .item:nth-child(2), .presentation .activities.multi .flex .item:nth-child(5n+1), .presentation .activities.multi .flex .item:nth-child(5n+1) + .item {
        height: 350px;
    }

    .presentation .activities .flex .item > img, .homecontent .strategy .flex .item > img  {
        height: 100%;
        object-fit: cover;
    }

    main .listing .item {
        font-size: 22px;
        /*padding: 90px 30px;*/
    }
}

@media all and (max-width: 835px) {
    .img-blog {
        float: none;
        margin: 0 0 20px;
    }

    /*main .listing .item {
        padding: 70px 10px;
    }*/

    header > .wrap > .flex > nav {display : none ;}
    header > .wrap > .flex > #logo  {
        padding: 20px 0;
        margin-right: auto;
    }


    .alignright, .alignleft {
        float: none;
        display: block;
        margin: 0 auto 20px;
    }
}

@media all and (max-width: 750px) {
    article .gform_wrapper li, article .gform_wrapper .top_label .gfield_error, article .gform_wrapper li.gfield.gfield_error.gfield_contains_required {
        width: 98%;
    }

    .presentation .activities .flex .item .caption {font-size : 16px; }

    .presentation .activities .flex .item .caption h3{font-size : 24px;    margin-bottom: 10px; }
    .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type=submit] {width : auto ; }
    .homecontent .figures .item {
        width: 31%;
        max-width: 31%;
        min-width: 31%;
    }
}

@media all and (max-width: 600px) {
    footer .flex .middle .bloc {
        flex: auto;
    }

    .homecontent .figures .item {
        width: 48%;
        max-width: 48%;
        min-width: 48%;
    }

    main .listing .item {
        width: 100%;
        max-width: 100%;
    }

    .presentation .activities .flex .item  img + h3::after, .homecontent .strategy .flex .item .caption h3::after {
        content: '+';
        left: 0;
        right : 0;
        margin : auto ;
        top: 80%;
        position: absolute;
        z-index: 1;
    }

    .homecontent .strategy .flex .item .caption h3::after {
        top: 65%;
    }

    .homecontent .strategy .flex .item:hover .caption h3::after, .homecontent .strategy .flex .item.clicactive .caption h3::after {
        display: none ;
    }

    main .listing .item:nth-child(2)::before, main .listing .item:nth-child(4n-1)::before, main .listing .item:nth-child(4n-1) + .item + .item + .item::before {
        background: rgba(0, 48, 116, 0.5);
    }

    main .listing .item:nth-child(2):hover::before, main .listing .item:nth-child(4n-1):hover::before, main .listing .item:nth-child(4n-1) + .item + .item + .item:hover::before {
        background: rgba(0, 48, 116, 0.8);
    }

    main .listing .item:nth-child(odd)::before {
        background: rgba(50, 88, 143, 0.5);
    }

    main .listing .item:nth-child(odd):hover::before {
        background: rgba(50, 88, 143, 0.8);
    }

    .flexslider ul.slides li .caption {
        left: 30px;
    }

    .presentation .activities .flex .item, .presentation .activities.multi .flex .item, .presentation .activities.multi .flex .item:nth-child(1), .presentation .activities.multi .flex .item:nth-child(2), .presentation .activities.multi .flex .item:nth-child(5n+1), .presentation .activities.multi .flex .item:nth-child(5n+1) + .item {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .presentation .activities.multi .flex .item, .presentation .activities .flex .item, .presentation .activities.multi .flex .item:nth-child(1), .presentation .activities.multi .flex .item:nth-child(2), .presentation .activities.multi .flex .item:nth-child(5n+1), .presentation .activities.multi .flex .item:nth-child(5n+1) + .item {
        height: 300px;
    }

    article form {
        padding: 30px;
    }

    .menu-basic {width : 95% ;}

    .homecontent .strategy .flex .item {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
    }

    main h1 {
        font: 400 30px 'Source Sans Pro', sans-serif;
    }

    footer #IC {
        position: relative;
        margin-top: 20px;
        right: 0;
        bottom: 0;
    }

    footer {
        padding: 40px 0;
    }
}

@media all and (max-width: 450px) {
    .menu-basic {   padding: 60px 25px 20px;
    }
    .historyslide .slick-list { padding-left: 10px;
    }
    .menu-trigger #cross {
        right: 20px;
    }

    footer .flex .contactbottom {
        top: 80%;
    }

    .menu-basic nav ul.menu { margin: 30px auto ;
    }

    .presentation .history .item .date {
        font: 600 23px 'Source Sans Pro', sans-serif;
    }
}