html {
    margin: 0;
	padding: 0;
    font-size: 14px;
}

body {
	margin: 0;
	padding: 0;
    font-family: 'Roboto', sans-serif;
    background: #fff;
    font-size: 14px;
    overflow-y: scroll;
    overflow-x: hidden;
}

@media screen and (max-width: 1023px) {
    body {
        font-size: 16px;
    }
}

* {
    box-sizing: border-box;
}

#vic div {
/*    position: relative;*/
}

#vic .clearboth {
    clear: both;
    margin-top: 0;
}

#vic div.clearboth::after {
    content: '';
    position: relative;
    display: block;
    clear: both;
}

#vic #loader {
    display: block;
    width: 64px;
    height: 64px;
    position: absolute;
    top: 50%;
    left: 50%;
    
    -webkit-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
}

#vic #loader:after {
    content: " ";
    display: block;
    width: 46px;
    height: 46px;
    margin: 1px;
    border-radius: 50%;
    border: 5px solid #fff;
    border-color: #fff transparent #fff transparent;
    -webkit-animation: loader 2s linear infinite;
            animation: loader 2s linear infinite;
    -webkit-transition: all .2s ease;
            transition: all .2s ease;
    opacity: 1;
}

@-webkit-keyframes loader {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes loader {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}



/* ////////////////////////////////// */
/* ////////////  TEXTES  /////////// */
/* //////////////////////////////// */


#vic strong {
    font-weight: 700;
}

#vic h1, #vic h2, #vic h3, #vic p, #vic span {
    margin: 0;
    padding: 0;
}

#vic h1, #vic h2, #vic h3 {
    font-weight: 700;
}

#vic h1 {
    color: #fff;
    font-size: 2.8vw;
    line-height: 4vw;
/*    white-space: nowrap;*/
}

#vic h1 sup {
    font-size: .4em;
}

#vic h2 {
    margin: 30px 0 60px 0;
    font-size: 4em;
    color: #0046fe;
    line-height: 1.3em;
    margin-top: 0;
}

#vic h3 {
    margin: 30px 0;
    font-size: 1.8em;
    line-height: 1.5em;
}

#vic h4 {
    margin: 30px 0;
    font-size: 1.2em;
    line-height: 1.5em;
}

@media screen and (max-width: 1023px) {
    #vic h1, #vic h2 {    
        font-size: 20px;
        line-height: 28px;
/*        white-space: inherit;*/
    }
    
}

#vic ul {
    
}

#vic li {
    font-size: 1.1em;
    line-height: 1.5em;
    margin-bottom: 15px;
}

#vic .hide {
    
}

@media screen and (max-width: 1023px) {
    #vic li {
        line-height: 1.5em;
        margin-bottom: 15px;
    }
    #vic .hide {
        display: none;
    }
}

#vic a {
    font-weight: 800;
    text-decoration: underline;
}




/* ////////////////////////////////// */
/* //////////  Container  ////////// */
/* //////////////////////////////// */


#vic {
    position: relative;
    z-index: 1;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    font-size: 1em;
    line-height: 1.3em;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    
}

#vic.hidden {
    opacity: 0;
}


/* ////////////////////////////////// */
/* ////////////  MENU  ///////////// */
/* //////////////////////////////// */


#vic_menu {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 22vw;
    height: 100vh;
    background: #383f51;
    box-shadow: 0px 0px 50px rgba(0,0,0,0);
    -webkit-transform: translateX(-22vw);
            transform: translateX(-22vw);
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    font-size: 1.2vw;
    line-height: 1.5vw;

/*    background: rgba(255, 0, 0, 0.31);*/
}

#vic_menu.showed {
    -webkit-transform: translateX(0vw);
            transform: translateX(0vw);
    box-shadow: 0px 0px 50px rgba(0,0,0,.4);
}

#vic_menu.hidden {
    -webkit-transform: translateX(-27vw);
            transform: translateX(-27vw);
    box-shadow: 0px 0px 50px rgba(0,0,0,.4);
}

#vic_menu #m_openClose {
    display: block;
    position: absolute;
    width: 5vw;
    height: 5vw;
    top: 0;
    right: -5vw;
    border: 0;
    box-shadow: 2px 2px 2px rgba(255,255,255,.2);
    cursor: pointer;
    background: center no-repeat;
    background-size: 50%;
    background-color: #383f51;
    background-image: url(img/burger.svg);
    -webkit-transition: opacity .3s ease;
            transition: opacity .3s ease;
}

#vic_menu.hidden #m_openClose {
    opacity: 0;
}

#vic_menu.showed #m_openClose { 
    background-image: url(img/close.svg);
}

#vic_menu > div {
    position: relative;
    padding: 3vh 2vw 0vh 2vw;
    width: 100%;
}

#vic_menu .m_logo { 
    
}

#vic_menu .m_logo img { width: 30%; }

#vic_menu .m_logo span { 
    display: block;
    font-size: 1.2em;
    line-height: 1.2em;
    font-weight: 400;
    padding-top: 1vh;
    color: #fff;
}

#vic_menu .m_top {
    text-align: right;
    position: absolute;
    top: 0;
    left: 0;
}

#vic_menu .m_top a {
    position: relative;
    display: inline-block;
    width: auto;
/*    margin-right: 1vh;*/
    background: #fff;
    border: 2px #fff solid;
    padding: .5vh 1vw;
    cursor: pointer;
    color: #545e80;
    text-align: center;
    font-weight: 700;
    font-size: 1em;
    line-height: 1.3em;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
    text-decoration: none;
}

#vic_menu .m_top a:hover {
    background: #ff9e16;
    color: #fff;
}

#vic_menu #m_list {
    
}

#vic_menu #m_list a {
    text-decoration: none;
    display: block;
    color: #fff;
    padding-left: 1vw;
}

#vic_menu #m_list ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#vic_menu #m_list li {
    display: block;
    margin: 0;
/*    padding: .5vh;*/
}

#vic_menu #m_list .m_sec,
#vic_menu #m_list .m_art {
    -webkit-transition: padding .2s ease;
            transition: padding .2s ease;
    padding: .4vh 1vw;
}  
    
#vic_menu #m_list .m_sec {
    font-size: 1.6em;
    line-height: 1.2em;
    font-weight: 400;
    padding-top: 1.4vh;
    margin-top: 1vh;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}

#vic_menu #m_list .m_art {
    font-size: 1em;
    font-weight: 100;
}

#vic_menu #m_list .m_art.disabled {
    display: none;
}

#vic_menu #m_list li.active .m_sec {
    color: #ff9e16;
    font-weight: 700;
    border-top: 1px solid #ff9e16;
}

#vic_menu #m_list li.active .m_art {
    color: #ff9e16;
    font-weight: 400;
    border-left: 2px solid #ff9e16;
}

#vic_menu #m_list ul:first-child li.active .m_sec,
#vic_menu #m_list ul:first-child .m_sec {
    border-top: none;
    padding-top: 0vh;
    margin-top: 0vh;
}

#vic_menu #m_list .m_sec:hover,
#vic_menu #m_list .m_art:hover {
    padding-left: 1.5vw;
}

@media screen and (max-width: 1023px) {
    
    #vic_menu {
        width: 270px;
        height: 100vh;
        -webkit-transform: translateX(-270px);
                transform: translateX(-270px);
        -webkit-transition: all .3s ease;
                transition: all .3s ease;
        font-size: 12px;
        line-height: 15px;
    /*    background: rgba(255, 0, 0, 0.31);*/
    }

    #vic_menu.showed {
        -webkit-transform: translateX(0vw);
                transform: translateX(0vw);
        box-shadow: 0px 0px 50px rgba(0,0,0,.4);
    }

    #vic_menu.hidden {
        -webkit-transform: translateX(-320px);
                transform: translateX(-320px);
        box-shadow: 0px 0px 50px rgba(0,0,0,.4);
    }

    #vic_menu #m_openClose {
        width: 50px;
        height: 50px;
        right: -50px;
    }

    #vic_menu > div {
        padding: 3vh 2vw 0vh 2vw;
    }

    
}

/* //////////////////////////////////// */
/* /////////////  HEADER  //////////// */
/* ////////////////////////////////// */


#vic header {
    position: relative;
    margin: 0;
    padding: 8vh 0 0 0;
    width: 100%;
    height: 100vh;
    color: #fff;
    background: #fff;
    text-align: center;
    overflow: hidden;
}

#vic header::before {
    position: absolute;
    content: '';
    width: 200%;
    height: 100%;
    bottom: 40%;
    left: -50%;
    background: #383f51;
    z-index: 0;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    -webkit-transform: rotate(-6deg);
            transform: rotate(-6deg);
}

#vic header > div {
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    z-index: 1;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

#vic header .veeva_logo {
    width: 18vw;
}

#vic header h1 {
    color: #fff;
    padding: 2.5vh;
}

#vic header .header_choice {
    margin-top: 5vh;
    padding: 5vh 1vw;
    position: relative;
    display: flex;
    justify-content: center;
}

#vic header .header_choice::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - .7vw);
    width: 1.4vw;
    height: 1.4vw;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

#vic header .header_choice button {
    position: relative;
    display: block;
    width: 21vw;
    height: 21vw;
    margin: 5vh 1.3vw;
    background: #fff;
    border: 4px #fff solid;
    box-shadow: 10px 10px 30px rgba(0,0,0,.2);
    cursor: pointer;
    
    color: #545e80;
    
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
}

#vic header .header_choice button:hover {
    background: #ff9e16;
    color: #fff;
}

#vic header .header_choice button strong {
    font-size: 2vw;
    line-height: 2.4vw;
    font-weight: 700;
}

#vic header .header_choice button p {
    padding-top: 1.2vw;
    font-size: 1vw;
    line-height: 1.4vw;
    font-weight: 400;
    opacity: .6;
}

#vic header .header_choice button .hbtn_svg {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: .5vw;
}

#vic header .header_choice button svg {
    position: relative;
    display: inline-block;
    height: 5vw;
}

#vic header .header_choice button svg .st0 {
    fill:transparent;
    stroke:#ff9e16;
    stroke-width:1.5;
    stroke-miterlimit:10;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
}

#vic header .header_choice button:hover svg .st0 {
    stroke:#fff;
}

#vic header .legals {
    position: absolute;
    bottom: 2vh;
    left: 0;
    width: 100%;
    text-align: center;
    color: #8e99a1;
    font-size: .7vw;
}

@media screen and (max-width: 1023px) {
    #vic header {
        overflow: visible;
        height: inherit;
        padding: 4vh 0 0 0;
    }
    #vic header::before {
        -webkit-transform: rotate(-16deg);
                transform: rotate(-16deg);
    }
    #vic header .veeva_logo {
        width: 200px;
    }
    #vic header .header_choice {
        margin-top: 0vh;
        padding: 4vh 2.75vw;
        position: relative;
        display: block;
    }
    #vic header .header_choice::before {
        width: 15px;
        height: 15px;
        left: calc(50% - 7px);
    }
    #vic header > div {
        position: relative;
        width: 100%;
        left: 0;
        top: 0;
        z-index: 1;
        -webkit-transform: none;
                transform: none;
    }
    #vic header .header_choice button {
        display: block;
        float: inherit;
        width: 100%;
        height: inherit;
        margin: 2vh 0;
        padding: 10px 5px 10px 80px;
        text-align: left;
    }
    #vic header .header_choice button strong {
        font-size: 18px;
        line-height: 18px;
    }

    #vic header .header_choice button p {
        font-size: 13px;
        line-height: 18px;
    }
    #vic header .header_choice button .hbtn_svg {
        position: absolute;
        display: block;
        width: 80px;
        height: 100%;
        left: 10px;
        top: 0;
        margin-bottom: 0;
    }

    #vic header .header_choice button svg {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 100%;
    }
    #vic header .legals {
        position: relative;
        bottom: inherit;
        left: 0;
        width: 100%;
        text-align: center;
        color: #8e99a1;
        font-size: 12px;
        padding-bottom: 2vh;
    }
}



/* /////////////////////////////////// */
/* /////////////  BLOCS  //////////// */
/* ///////////////////////////////// */


#vic #blocs {
    position: relative;
    width: 100%;
}

#vic #blocs > div {
    position: relative;
    width: 100%;
}


/* /////////////////////////////////////// */
/* ////////////  NAV HEADER  //////////// */
/* ///////////////////////////////////// */

#vic #top_nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 10vw;
    -webkit-transition: all .4s ease;
            transition: all .4s ease;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
}

#vic #top_nav.hidden {
    -webkit-transform: translateY(-200px);
            transform: translateY(-200px);
    opacity: 0;
}

@media screen and (max-width: 1023px) {
    #vic #top_nav {
        padding: 10px;
        height: auto;
/*        background: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.8) 100%);*/
    }
}
#vic #nav_header {
    position: absolute;
    top: 3vh;
    left: 10vw;
    font-size: 1.6vw;
    line-height: 2vw;
/*    background: rgba(0,0,0,.2)*/
}

#vic #nav_header .nh_bars {
    position: relative;
    padding: 0 0 2vh 0;
}

#vic #nav_header .nh_bars span {
    position: relative;
    display: block;
    float: left;
    width: 5vw;
    height: 3px;
    background: #d5dbe8;
    margin-right: .5vw;
    margin-left: .1vw;
    opacity: .3;
    -webkit-transition: background .2s ease;
            transition: background .2s ease;
}
#vic #nav_header.white .nh_bars span.active { background: #ff9e16; opacity: 1;}
#vic #nav_header .nh_bars span.active { background: #fff; opacity: 1;}
#vic #nav_header .nh_bars span:last-child {
    opacity: 0;
}
#vic #nav_header .nh_title {
    font-size: 2em;
    line-height: 1em;
    color: #fff;
    font-weight: 100;
}

#vic #nav_header.white .nh_title { color: #ff9e16; }

#vic #nav_header .nh_subtitle {
    font-size: 1em;
    line-height: 2em;
    color: #fff;
    font-weight: 100;
}

#vic #nav_header .nh_subtitle.change {
    -webkit-animation: titleChange .5s ease-in-out forwards;
            animation: titleChange .5s ease-in-out forwards;
}

@-webkit-keyframes titleChange {
    0% { background-color: rgba(255,255,255,0); }
    10% { background-color: rgba(255,255,255,.8); }
    100% { background-color: rgba(255,255,255,0); }
}

@keyframes titleChange {
    0% { background-color: rgba(255,255,255,0); }
    10% { background-color: rgba(255,255,255,.8); }
    100% { background-color: rgba(255,255,255,0); }
}


@media screen and (max-width: 1023px) {
    #vic #nav_header {
        position: relative;
        top: inherit;
        left: inherit;
        font-size: 15px;
        width: 100%;
        line-height: 18px;
        padding-left: 50px;
        min-height: 77px;
    }
    #vic #nav_header .nh_bars {
        display: flex;
    }

    #vic #nav_header .nh_bars span {
        flex-grow: 1;
        margin-right: 8px;
        max-width: 80px;
    }
    #vic #nav_header .nh_bars span:last-child {
        flex-grow: 0;
        margin: 0;
    }
}

/* /////////////////////////////////////// */
/* /////////////  NAV ICONS  //////////// */
/* ///////////////////////////////////// */

#vic #nav_icons {
    position: absolute;
    top: 3vh;
    right: 5vw;
    font-size: 1.6vw;
    line-height: 2vw;
    z-index: 20;
    -webkit-transition: all .4s ease;
            transition: all .4s ease;
/*    background: rgba(0,0,0,.2);*/
    font-size: 1vw;
}

#vic #nav_icons > div {
    float: left;
    text-align: center;
    padding: 1vh 1.5vw .5vh 1.5vw;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
}
#vic #nav_icons > div:last-child {
    padding-right: 0;
    border-right: none;
}

#vic #nav_icons svg {
    display: inline-block;
    width: 3.5vw;
    height: 3.5vw;
}

#vic #nav_icons svg .st0, 
#vic #nav_icons svg .st1 {
    fill: none;
    stroke:#D5DBE8;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;
    -webkit-transition: all .2s ease;
            transition: all .2s ease;
}

#vic #nav_icons .active svg .st0 {
    fill:#FFFFFF;
    stroke:#ffffff;
}
#vic #nav_icons .active svg .st1 {
    stroke:#383f51;
}

#vic #nav_icons span {
    display: block;
    color: #fff;
    font-size: 1em;
    line-height: 1em;
    padding-top: 2px;
    opacity: .6;
}
#vic #nav_icons .active span {
    opacity: 1;
}

#vic #nav_icons.white > div {
    border-color: rgba(255, 158, 22, 0.5);
}

#vic #nav_icons.white svg .st0, 
#vic #nav_icons.white svg .st1 {
    fill: none;
    stroke:#ff9e16;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;
    -webkit-transition: all .2s ease;
            transition: all .2s ease;
}

#vic #nav_icons.white .active svg .st0 {
    fill:#ff9e16;
    stroke:#ff9e16;
}
#vic #nav_icons.white .active svg .st1 {
    stroke:#fff;
}

#vic #nav_icons.white span {
    color: #ff9e16;
}

@media screen and (max-width: 1023px) {
    #vic #nav_icons {
        position: relative;
        top: inherit;
        left: inherit;
        font-size: 10px;
        width: 100%;
        line-height: 18px;
        display: flex;
        margin-top: 10px;
    }
    #vic #nav_icons > div { 
        padding: 5px;
        flex-grow: 1;
    }
    #vic #nav_icons > div:last-child {
        flex-grow: 1;
        padding: 5px;
    }
    #vic #nav_icons svg {
        display: inline-block;
        width: 30px;
        height: 30px;
    }

    
}

/* /////////////////////////////////////////////// */
/* ////////////  SECTION / ARTICLES  //////////// */
/* ///////////////////////////////////////////// */


#vic #blocs .bloc {
    position: relative;
    width: 100vw;
    display: none;
}

#vic #blocs .bloc.bloc_active {
    display: block;
}

#vic #blocs .bloc section {
    position: relative;
}

#vic #blocs .bloc article {
    min-height: 100vh;
    position: relative;
    display: flex; 
    justify-content: center; 
    align-items: center;
    -webkit-transform-origin: 50% 0;
            transform-origin: 50% 0;
/*    -webkit-transform: translateX(25vw);*/
/*            transform: translateX(25vw);*/
    opacity: 0;
    -webkit-transition: all .4s ease;
            transition: all .4s ease;
}
#vic #blocs .bloc article:nth-child(even) {
    -webkit-transform: translateX(-25vw);
            transform: translateX(-25vw);
    
}
#vic #blocs .bloc article.article_active {
    -webkit-transform: translateX(0vw);
            transform: translateX(0vw);
    opacity: 1;
    
}

#vic #blocs .bloc article div.abs_center {

    padding-top: 4vw;
}

#vic #blocs .bloc article div.flex {
    display: flex; 
    justify-content: center; 
    align-items: center;
}

#vic #blocs .bloc article div.flextop {
    align-items: start;
}

#vic #blocs .bloc article div.flexbottom {
    align-items: flex-end;
}

@media screen and (max-width: 1023px) {
    #vic #blocs .bloc article {
        display: block;
        min-height: 50vh;
        padding-top: 100px;
    }
    #vic #blocs .bloc article div.abs_center {
        position: relative;
        top: inherit;
        left: inherit;
        -webkit-transform: none;
                transform: none;
/*        padding-top: 140px;*/
        padding-bottom: 20px;
    }
    #vic #blocs .bloc article div.flex {
        display: block; 
    }
}



/*////////////////// BG COLORS ////////////////////*/

#vic #b0_s0, #vic #b1_s0, #vic #b2_s0, #vic #b3_s0 { background: #fff; }
#vic #b0_s1, #vic #b1_s1, #vic #b2_s1, #vic #b3_s1 { background: #4d9fd8; }
#vic #b0_s2, #vic #b1_s2, #vic #b2_s2, #vic #b3_s2 { background: #1274a6; }
#vic #b0_s3, #vic #b1_s3, #vic #b2_s3, #vic #b3_s3 { background: #0db2b7; }
#vic #b0_s4, #vic #b1_s4, #vic #b2_s4, #vic #b3_s4 { background: #f6950b; }


/*////////////////// GLOBAL ////////////////////*/

#vic #blocs .bloc p {
    font-size: 2.1vw;
    line-height: 3vw;
    font-weight: 700;
}

@media screen and (min-width: 1400px) {
    #vic #blocs .bloc p {
        font-size: 29px;
        line-height: 42px;
    }
}

#vic #blocs .cta {
    
    font-size: .8em;
    display: inline-block;
    padding: 1vw 2vw;
    color: #383f51;
    font-weight: 700;
    margin: 0px 0;
    text-decoration: none;
    background: #fff;
/*    border-radius: 100px;*/
    cursor: pointer;
    border: 2px solid #fff;
}

#vic #blocs .cta:hover {
    opacity: .8;
}

#vic #blocs .continue_scroll {
    width: 5vw;
    height: 4vw;
    position: absolute;
    left: calc(50% - 2.5vw);
    bottom: 5vh;
    background: url(img/scrolldown.svg) center no-repeat;
    background-size: contain;    
    -webkit-animation: scrolldown 2s ease-in-out infinite;
            animation: scrolldown 2s ease-in-out infinite;
    cursor: pointer;
}

#vic #blocs .end_scroll {
    width: 10vw;
    height: 5vw;
    position: absolute;
    left: calc(50% - 5vw);
    bottom: 5vh;
    background: url(img/scrolltop.svg) center no-repeat;
    background-size: contain;    
    -webkit-animation: scrolldown 2s ease-in-out infinite;
            animation: scrolldown 2s ease-in-out infinite;
    cursor: pointer;
    z-index: 2;
}

@-webkit-keyframes scrolldown {
    0% { -webkit-transform: translateY(-20%); }
    50% { -webkit-transform: translateY(20%);  }
    100% { -webkit-transform: translateY(-20%);  }
}

@keyframes scrolldown {
    0% { transform: translateY(-20%);  }
    50% { transform: translateY(20%);  }
    100% { transform: translateY(-20%);  }
}

#vic .video_box {
    min-width: 40vw;
}

#vic .video_container {
    display: block;
    position: relative;
    background: #000;
    box-shadow: 10px 10px 50px rgba(0,0,0,.2);
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

#vic .frame_bloc_tr,
#vic .frame_bloc_tl,
#vic .frame_bloc_br,
#vic .frame_bloc_bl {
    position: relative;
}
#vic .frame_bloc_tr::after,
#vic .frame_bloc_tl::after,
#vic .frame_bloc_br::after,
#vic .frame_bloc_bl::after {
    content:  '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: #fff;
}

#vic .frame_bloc_tr::after { top: -10px; right: -10px;}
#vic .frame_bloc_tl::after { top: -10px; left: -10px;}
#vic .frame_bloc_br::after { bottom: -10px; right: -10px;}
#vic .frame_bloc_bl::after { bottom: -10px; left: -10px;}


@media screen and (max-width: 1023px) {
    #vic #blocs .bloc p {
        font-size: 18px;
        line-height: 22px;
        font-weight: 700;
    }
    #vic #blocs .cta {
        display: inline-block;
        padding: 10px 15px;
    }
    #vic #blocs .continue_scroll {
/*        position: fixed;*/
        width: 60px;
        height: 40px;
        left: calc(50% - 30px);
        bottom: 20px;
    }
    #vic #blocs .end_scroll {
/*        position: fixed;*/
        width: 80px;
        height: 60px;
        left: calc(50% - 40px);
        bottom: 20px;
    }
    #vic .video_box {
        width: calc(100vw - 40px);
        margin-left: 20px;
    }
}


/*////////////////// SECTIONS 1 ////////////////////*/

#vic .s0 { color: #383f51; }
#vic .s0 font { color: #4d9fd8; }

#vic .s0 img { width: 40vw; }
#vic .s0 p { width: 40vw; padding-left: 5vw;}

@media screen and (max-width: 1023px) {
    #vic .s0 img { width: 80%; }
    #vic .s0 p { width: 100%; padding: 40px 20px;}
}


/*////////////////// SECTIONS 2 ////////////////////*/

#vic .s1 { color: #fff; }
#vic .s1 font { color: #3d455b; }

#vic .s1 .a1_top,
#vic .s1 .a1_bottom {
    position: relative;
    width: 80vw;
    display: flex;
    justify-content: space-evenly; 
    align-items: center;
    text-align: center;
}

#vic .s1 .a1_top::before {
    content: '';
    width: 95%;
    height: 50%;
    bottom: 0;
    left: 5%;
    display: block;
    position: absolute;
    border-top: 2px dashed #fff;
    border-right: 2px dashed #fff;
}

#vic .s1 .a1_bottom::before {
    content: '';
    width: 95%;
    height: 55%;
    top: 0;
    left: 5%;
    display: block;
    position: absolute;
    border-bottom: 2px dashed #fff;
    border-right: 2px dashed #fff;
}

#vic .s1 .a1_top > *,
#vic .s1 .a1_bottom > * {
    position: relative;
    display: inline-block;
}

#vic .s1 .a1_bottom {
    flex-direction: row-reverse;
    padding-top: 5vh
}

#vic .s1 .a1_flag {
    background: #fff;
    padding: 3vw 3vw 3vw 15vw;
    color: #4d9fd8;
    width: 34vw;
}

#vic .s1 .a1_flag::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 15vw;
    height: 100%;
    background: url(img/a1_flag.png) center no-repeat;
    background-size: 80%;
}

#vic .s1 .a1_flag font {
    color: #202e50;
}

#vic .s1 .a1_circle  {
    position: relative;
    background: #4d9fd8 ;
    padding: 2vw 1vw;
    -webkit-transition: transform .2s ease;
            transition: transform .2s ease;
}

#vic .s1 .a1_circle::before  {
    content: '';
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 0;
    padding-top: 120%;
    border: 1px solid rgba(255, 255, 255, 0.43);
    border-radius: 50%;
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
    -webkit-transition: all .2s ease;
            transition: all .2s ease;
}
/*
#vic .s1 .a1_circle:hover  {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
}

#vic .s1 .a1_circle:hover::before  {
    opacity: .6;
}
*/
#vic .s1 .a1_circle img  {
    width: 5vw;    
}


@media screen and (max-width: 1023px) {
    #vic .s1 .a1_top,
    #vic .s1 .a1_bottom {
        width: 100vw;
        text-align: center;
        display: block;  
        padding-top: 0vh;
    }
    #vic .s1 .a1_top::before {
        width: 50%;
        height: 100%;
        bottom: 0;
        left: 0%;
        border-top: none;
    }

    #vic .s1 .a1_bottom::before {
        width: 50%;
        height: 100%;
        bottom: 0;
        left: 0%;
        border-bottom: none;
    }
    #vic  #blocs .bloc .s1 .a1_flag {
        background: #fff;
        padding: 3vw 3vw 3vw 15vw;
        color: #4d9fd8;
        width: calc(100% - 40px);
        margin-bottom: 20px;
        font-size: 24px;
        line-height: 30px;
    }

    #vic .s1 .a1_circle::before  {
        display: none;
    }
    #vic .s1 .a1_circle  {
        width: calc(100% - 40px);
        margin: 10px 0;
        padding: 6px 3px;
    }
    #vic .s1 .a1_circle:last-child  {
        margin-bottom: 0;
    }
    #vic .s1 .a1_circle img {
        width: 75px;
    }
}

/*///////////////////////////////*/

#vic .s1 .a2_frame {
    position: relative;
    width: 30vw;
    padding: 3vw 1vw 3vw 8vw;
    margin-top: 8vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-left: none;
}
#vic .s1 .a2_frame::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 8vw;
    height: 100%;
    background: url(img/a2_check.png) center no-repeat;
    background-size: 80%;
}

#vic .s1 .a2_frame img {
    position: absolute;
    width: 15vw;
    top: -9.5vw;
    left: calc(50% - 7.5vw);
}

#vic .s1 .a2_video {
    width: 60vw;
}

@media screen and (max-width: 1023px) {
    #vic .s1 .a2_frame {
        width: calc(100vw - 40px);
        padding: 40px 5px 40px 80px;
        margin-top: 110px;
        margin-left: 20px;
        border-left: 2px solid rgba(255, 255, 255, 0.5);
    }
    #vic .s1 .a2_frame::before {
        width: 80px;
    }
    #vic .s1 .a2_frame img {
        width: 130px;
        top: -77px;
        left: calc(50% - 65px);
    }
    #vic .s1 .a2_video {
        width: calc(100vw - 40px);
    }
}




/*///////////////////////////////*/

#vic .s1 .a3_left {
    position: relative;
    width: 30vw;
}

#vic .s1 .a3_frame {
    position: relative;
    width: 100%;
    padding: 3vw 3vw 3vw 11vw;
/*    margin-top: 8vw;*/
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-right: none;
}

#vic .s1 .a3_frame::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 11vw;
    height: 100%;
    background: url(img/a3_rocket.png) center no-repeat;
    background-size: 80%;
}

#vic #blocs .bloc .s1 .a3_left > p {
    padding: 3vw 0 0 3vw;
/*    font-size: 2vw;*/
}

#vic .s1 .a3_video {
    width: 60vw;
}

@media screen and (max-width: 1023px) {
    #vic .s1 .a3_frame {
        width: calc(100vw - 40px);
        padding: 40px 5px 40px 80px;
        margin-top: 0;
        margin-left: 20px;
        border-right: 2px solid rgba(255, 255, 255, 0.5);
    }
    #vic .s1 .a3_frame::before {
        width: 80px;
    }#vic .s1 .a3_left {
        position: relative;
        width: calc(100vw - 40px);
    }
    #vic .s1 .a3_video {
        width: calc(100vw - 40px);
    }
    #vic #blocs .bloc .s1 .a3_left > p {
        padding: 30px;
        font-size: 18px;
        line-height: 26px;
    }
}



/*///////////////////////////////*/

#vic .s1 .a4_right {
    position: relative;
    width: 40vw;
    padding-left: 5vw;
}

#vic .s1 .a4_frame {
    position: relative;
    width: 70vw;
    padding: 5vh 3vw;
    margin-left: 10vw;
    text-align: center;
    margin-top: 0;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s1 .a4_frame img {
    position: absolute;
    width: 8vw;
    bottom: -2.5vw;
    left: -3.5vw;
}

@media screen and (max-width: 1023px) {
   #vic .s1 .a4_right {
        position: relative;
        width: calc(100vw - 40px);
        padding: 20px;
        margin: 0 20px;
        text-align: center;
    } 
    #vic .s1 .a4_frame {
        width: calc(100vw - 40px);
        padding: 20px 10px 60px 10px;
        margin-left: 20px;
    }
    #vic .s1 .a4_frame img {
        position: absolute;
        width: 90px;
        bottom: -40px;
        left: -18px;
    }
}


/*///////////////////////////////*/

#vic .s1 .a5_frame_1 {
    width: 50vw;
    padding: 5vh 5vw 0 5vw;
    text-align: right;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-bottom: none;
    height: 9vw;
    margin-bottom: 26vw;
}

#vic .s1 .a5_frame_1 img {
    position: absolute;
    left: -74px;
    width: 100%;
    top: 9vh;
}

#vic .s1 .a5_frame_2 {
    position: relative;
    width: 20vw;
    padding: 3vw 0vw 0 0vw;
    text-align: left;
    margin-bottom: 5vw;
    text-align: left;
    border-top: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s1 .a5_frame_3 {
    position: relative;
    width: 25vw;
    padding: 0vw 0vw 2vw 2vw;
    text-align: left;
    margin-bottom: 28vw;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s1 .a5_note {
    position: absolute;
    width: 27vw;
    right: 10vw;
    top: 45vh;
    padding: 2vw 2vw;
    text-align: left;
    color: #4d9fd8;
    font-size: 1.2vw;
    line-height: 1.8vw;
    background: #fff;
    box-shadow: -10px -10px 0 rgba(0,0,0,.2);
    font-weight: 700;
}

#vic .s1 .a5_note::after {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    right: 0;
    width: 2vw;
    height: 2vw;
    background: #fff url(img/a5_note.png) bottom right no-repeat;
    background-size: cover;
    
}
    
@media screen and (max-width: 1023px) {
    
    #vic .s1 .a5_frame_1 {
        width: calc(100vw - 40px);
        padding: 5vh 5vw 0 5vw;
        text-align: center;
        border: 2px solid rgba(255, 255, 255, 0.5);
        border-bottom: none;
        height: auto;
        margin-bottom: 0;
        margin-left: 20px;
    }

    #vic .s1 .a5_frame_1 img {
        position: relative;
        left: 0;
        width: 100%;
        margin-top: 20px;
        top: 0;
        max-width: 400px;
    }

    #vic .s1 .a5_frame_2 {
        position: relative;
        width: calc(100vw - 40px);
        padding: 20px;
        text-align: center;
        margin-bottom: 60px;
        margin-left: 20px;
        text-align: center;
        border-top: 2px solid rgba(255, 255, 255, 0.5);
    }
    
    #vic .s1 .a5_frame_3 {
        position: relative;
        width: calc(100vw - 40px);
        padding: 20px;
        text-align: center;
        margin-bottom: 60px;
        margin-left: 20px;
        text-align: center;
        border-bottom: none;
        border-left: 2px solid rgba(255, 255, 255, 0.5);
    }

    #vic .s1 .a5_note {
        font-size: inherit;
        line-height: inherit;
        position: relative;
        width: calc(100% - 40px);
        right: 0;
        top: 0;
        margin-left: 20px;
        padding: 20px;
        background-size: 30px;
    }
}



/*////////////////// SECTIONS 3 ////////////////////*/

#vic .s2 { color: #fff; }
#vic .s2 font { color: #7dcad4; }

#vic .s2 .a6_left,
#vic .s2 .a6_right {
    position: relative;
    width: 40vw;
}

#vic .s2 .a6_left_2{
    position: relative;
    width: 50vw;
    height: 50vh;
}

#vic .s2 .a6_right_2{
    position: relative;
    width: 30vw;
}

#vic .s2 .a6_graph_1,
#vic .s2 .a6_graph_2,
#vic .s2 .a6_graph_3,
#vic .s2 .a6_graph_5,
#vic .s2 .a6_graph_6,
#vic .s2 .a6_graph_7 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10vw;
}

#vic .s2 .a6_graph_1 {
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-bottom: 0;
}


#vic .s2 .a6_left p {
    padding: 6vw 4vw 3vw 4vw;
}

#vic .s2 .a6_left_2 p {
    padding: 3vw 4vw;
}

#vic .s2 .a6_left span {
    display: block;
    padding: 0vw 4vw 0vw 4vw;
    color: #7dcad4;
}

#vic .s2 .a6_right .video_box {
    position: relative;
    -webkit-transform: translateX(3vw);
            transform: translateX(3vw);
    z-index: 2;
}




#vic .s2 .a6_graph_4 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10vw;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s2 .a6_right span {
    position: relative;
    display: block;
    padding: 2vw 3vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
    z-index:1;
    line-height: 1.5em;
    font-size: 1.3em;
    margin-top: 2vw;
}
#vic .s2 .a6_right span img {
    position: absolute;
    width: 10vw;
    right: 2vw;
    bottom: -3vw;
}

#vic .s2 .a6_right_2 .a6_illu {
    position: absolute;
    bottom: -56vh;
    left: -3vw;
    width: 70vh;
}

#vic .s2 .a6_graph_5 {
    border-left: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s2 .a6_graph_6 {
    border-top: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s2 .a6_graph_6 img {
    position: absolute;
    left: 15vw;
    top: -4vw;
    width: 11vw;;
}

#vic .s2 .a6_graph_7 {
    border-left: 2px solid rgba(255, 255, 255, 0.5);
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    left: 50vw;
    width: 10vw;
}


@media screen and (max-width: 1023px) {
    #vic .s2 .a6_left,
    #vic .s2 .a6_right,
    #vic .s2 .a6_left_2,
    #vic .s2 .a6_right_2 {
        position: relative;
        width: calc(100vw - 40px);
        margin-left: 20px;
        height: inherit;
    }
    #vic .s2 .a6_graph_1,
    #vic .s2 .a6_graph_2,
    #vic .s2 .a6_graph_3,
    #vic .s2 .a6_graph_5,
    #vic .s2 .a6_graph_6,
    #vic .s2 .a6_graph_7 {
        height: 100px;
    }
    #vic .s2 .a6_graph_7 {
        left: 100%;
        width: 0;   
    }
    #vic .s2 .a6_graph_4 {
        display: none;
    }
    #vic .s2 .a6_right .video_box {
        -webkit-transform: none;
                transform: none;
        margin: 20px;
        margin-left: 0;
        z-index: 2;
    }

    #vic .s2 .a6_right span img {
        width: 100px;
        right: 10px;
        bottom: -20px;
    }
    
    #vic .s2 .a6_right span {
        font-size: 18px;
        line-height: 22px;
    }
    
    #vic .s2 .a6_right_2 .a6_illu {
        position: relative;
        bottom: inherit;
        left: inherit;
        width: 100%;
    }
}


/*//////////////////////*/

#vic .s2 .a7_illu {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40vw;
}

#vic .s2 .a7_left {
    width: 50vw;
}

#vic .s2 .a7_left img {
    width: 100%;
}

#vic .s2 .a7_right {
    width: 30vw;
    padding-left: 2vw;
}

#vic .s2 .a7_right.a7_right_2  {
    width: 45vw;
    padding-left: 2vw;
}

#vic .s2 .a7_right .a7_box {
    display: block;
    padding: 2vw;
    background: #fff;
    color: #1274a6;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.3em;
    margin-top: 20px;
    margin-bottom: 15vw;
}

#vic .s2 .a7_right .a7_box font {
    color: #0db2b7;
}

@media screen and (max-width: 1023px) {
    #vic .s2 .a7_left,
    #vic .s2 .a7_right,
    #vic .s2 .a7_right.a7_right_2 {
        width: calc(100vw - 40px);
        margin-left: 20px;
    }
    #vic .s2 .a7_illu {
        position: relative;
        bottom: 0;
        left: 0;
        width: 100vw;
    }
    #vic .s2 .a7_right .a7_box {
        font-size: 18px;
        line-height: 22px;
/*        margin-bottom: 400px;*/
    }
}



/*////////////////// SECTIONS 4 ////////////////////*/

#vic .s3 { color: #fff; }
#vic .s3 font { color: #383f51; }

#vic .s3 .a8_top,
#vic .s3 .a8_bottom {
    position: relative;
    width: 90vw;
}

#vic .s3 .a8_illu {
    position: absolute;
    bottom: 0;
    left: 2vw;
    width: 22vw;
}
#vic .s3 .a8_frame_1 {
    position: relative;
    width: 33vw;
    padding: 5vh 3vw;
/*    margin-bottom: 2vw;*/
    text-align: left;
    margin-top: 0;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-right: none;
}
#vic .s3 .a8_frame_1::after {
    content: '';
    display: block;
    position: absolute;
    width: 0; 
    height: 0; 
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid rgba(255, 255, 255, 0.5);
    bottom: -30px;
    left: 50%;
}

#vic .s3 .a8_frame_2 {
    position: relative;
    width: 10vw;
    height: 10vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-top: none;
    border-right: none;
}

#vic .s3 .a8_frame_3 {
    position: relative;
    width: 30vw;
    padding: 3vh 3vw;
    text-align: left;
    margin-top: 5vw;
    margin-right: 5vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s3 .a8_frame_4 {
    position: relative;
    width: 40vw;
    padding: 3vh 3vw;
    text-align: left;
    margin-top: 5vw;
    margin-right: 5vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s3 .a8_ico {
    width: 10vw;
    margin-top: 5vw;
}

@media screen and (max-width: 1023px) {

    #vic .s3 .a8_frame_1,
    #vic .s3 .a8_frame_3,
    #vic .s3 .a8_frame_4 {
        width: calc(100vw - 40px);
        padding: 20px 10px 20px 10px;
        margin-left: 20px;
        text-align: center;
    }
    #vic .s3 .a8_frame_1::after {
        display: none;
    }
    #vic .s3 .a8_frame_2 {  
        display: none;
    }
    #vic .s3 .a8_frame_1 {  
        border: 2px solid rgba(255, 255, 255, 0.5);
        border-bottom: none;
    }
    
    #vic .s3 .a8_ico {
        width: 100px;
        margin-left: calc(50vw - 50px);
        margin-top: 5vw;
    }
    #vic .s3 .a8_illu {
        position: relative;
        width: 200px;
        margin-left: calc(50vw - 100px);
        margin-top: 5vw;
    }
}


/*//////////////////////*/

#vic .s3 .a9_top{
    position: relative;
    width: 70vw;
}
#vic .s3 .a9_top .video_box {
    position: relative;
    width: 40vw;
}

#vic .s3 .a9_top .a9_topright {
    padding: 5vh 5vw;
}

#vic .s3 .a9_top img {
    position: relative;
    width: 8vw;
}

#vic .s3 .a9_frame {
    position: relative;
    width: 100%;
    padding: 3vh 3vw;
    text-align: center;
    margin-top: 1vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s3 .a9_frame img {
    position: absolute;
    width: 6vw;
    bottom: -3vw;
    right: -3vw;
}

#vic .s3 .a9_left,
#vic .s3 .a9_right {
    position: relative;
    width: 40vw;
    z-index: 1;
}

#vic .s3 .a9_right {
    z-index: 2;
}

#vic .s3 .a9_left img {
    width: 100%;
}

#vic .s3 .a9_right p {
    position: relative;
    width: 60%;
    margin-left: 30%;
    padding: 2vw;
    border-top: 2px solid rgba(255, 255, 255, 0.5);
    border-right: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s3 .a9_right img {
    position: absolute;
    width: 5vw;
    top: 2vw;
    left: 6vw;
}

#vic .s3 .a9_right p:before {
    position: absolute;
    content: '';
    display: block;
    width: 41.9vw;
    right: 0;
    bottom: 0;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
}

@media screen and (max-width: 1023px) {
    #vic .s3 .a9_top {
        width: 100vw;
    }
    #vic .s3 .a9_top .video_box {
        width: calc(100vw - 40px);
        margin-left: 20px;
    }
    #vic .s3 .a9_top .a9_topright {
        text-align: center;
        padding-bottom: 0;
    }
    #vic .s3 .a9_top img {
        width: 70px;
    }
    #vic .s3 .a9_frame {
        width: calc(100vw - 40px);
        margin-left: 20px;
    }
    
    #vic .s3 .a9_left,
    #vic .s3 .a9_right {
        width: calc(100vw - 40px);
        margin-left: 0px;
    }
    #vic .s3 .a9_right img {  
        width: 45px;
    }
    #vic .s3 .a9_right p {  
        width: 100%;
        margin-left: 0;
        padding: 16px 16px 16px 80px;
    }
}


/*//////////////////////*/


#vic .s3 .a10_bloc{
    position: relative;
    width: 30vw;
    background: #fff;
    padding: 3vw;
    color: #0db2b7;
}

#vic .s3 .a10_gears{
    position: absolute;
    width: 14vw;
    bottom: -10vw;
    left: -5vw;
}

#vic .s3 .a10_graph_1{
    position: relative;
    width: 12vw;
    height: 8vw;
    border-top: 2px solid rgba(255, 255, 255, 0.5);
    border-right: 2px solid rgba(255, 255, 255, 0.5);
}

#vic .s3 .a10_illu{
    position: relative;
    width: 33vw;
}

#vic .s3 .a10_bottom {
    text-align: right;
}
#vic .s3 .a10_frame_2 {
    position: relative;
    display: inline-block;
    width: 40vw;
    padding: 3vh 5vw;
    text-align: left;
/*    margin-top: 5vw;*/
    margin-right: 15vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-right: none;
}

#vic .s3 .a10_ico_1,
#vic .s3 .a10_ico_2 {
    position: absolute;
}

#vic .s3 .a10_ico_1 {
    right: -10vw;
    bottom: 0;
    width: 10vw;
}

#vic .s3 .a10_ico_2 {
    left: -9vw;
    width: 12vw;
    bottom: -3vw;
}

@media screen and (max-width: 1023px) {
    #vic .s3 .a10_bloc{
        width: calc(100vw - 80px);
        margin-left: 60px;
    }
    #vic .s3 .a10_gears{
        position: absolute;
        width: 80px;
        bottom: -50px;
        left: -40px;
    }

    #vic .s3 .a10_graph_1{
        display: none;
    }
    #vic .s3 .a10_illu{
        position: relative;
        width: 100%;
        max-width: 300px;
        margin-top: 50px;
    }
    #vic .s3 .a10_frame_2 {
        width: 90%;
        padding: 20px 15px;
        padding-right: 100px;
        margin-right: 0;
        margin-bottom: 50px;
    }
    #vic .s3 .a10_ico_1 {
        right: 20px;
        bottom: 15px;
        width: 80px;
    }

    #vic .s3 .a10_ico_2 {
        left: -5px;
        width: 81px;
        bottom: -45px;
    }
}


/*//////////////////////*/


#vic .s3 .a11_frame{
    position: relative;
    width: 40vw;
    padding: 5vw;
    border: 2px solid rgba(255, 255, 255, 0.5);
    text-align: center;
}

#vic .s3 .a11_frame::before,
#vic .s3 .a11_frame::after{
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    left: calc(50% - 10px);
    background: #fff;
}
#vic .s3 .a11_frame::before{top: -10px;}
#vic .s3 .a11_frame::after{bottom: -10px;}

#vic .s3 .a11_ico {
    position: absolute;
    width: 8vw;
    top: -3vw;
    right: -14vw;
}
#vic .s3 .a11_illu{
    position: absolute;
    width: 35vw;
    left: 4vw;
    bottom: 3vw;
}


@media screen and (max-width: 1023px) {
    #vic .s3 .a11_frame{
        width: calc(100vw - 40px);
        margin-left: 20px;
        padding: 30px 10px;
    }
    #vic .s3 .a11_ico {
        position: relative;
        display: block;
        width: 50px;
        top: inherit;
        right: inherit;
        margin: 0 auto 20px auto;
    }
    #vic .s3 .a11_illu{
        position: relative;
        width: 100%;
        left: inherit;
        bottom: inherit;
        margin: 20px 0 70px 0;
    }
}



/*////////////////// SECTIONS 5 ////////////////////*/

#vic .s4 { color: #fff; }
#vic .s4 font { color: #383f51; }

#vic .s4 .a12_illu{
    position: absolute;
    z-index:1;
    width: 25vw;
    bottom: 50%;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    left: 62.5vw;
}

#vic .s4 .a12_text{
    position: absolute;
    bottom: 50%;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    left: 16vw;
    z-index:5;
    width: 40vw;
}


@media screen and (max-width: 1023px) {

    #vic #blocs .bloc #b0_s4_a12 {
        padding-top: 50px;
    }
    #vic .s4 .a12_illu{
        position: relative;
        z-index:1;
        width: 50vw;
        margin-left: 20px;
        margin-top: 40px;
        margin-bottom: 90px;
        bottom: inherit;
        left: inherit;
        -webkit-transform: none;
                transform: none;
    }

    #vic .s4 .a12_text{
        position: relative;
        bottom: inherit;
        left: inherit;
        z-index:5;
        width: calc(100vw - 40px);
        margin-left: 20px;
        -webkit-transform: none;
                transform: none;
    }
}



/* //////////////////////////////////// */
/* /////////////  footer  //////////// */
/* ////////////////////////////////// */


#vic footer {
    position: relative;
    margin: 0;
/*    padding: 8vh 0 0 0;*/
    width: 100%;
/*    height: 100vh;*/
    color: #fff;
    background: #f6950b;
    text-align: center;
    overflow: hidden;
    display: none;
}

#vic footer::before {
    position: absolute;
    content: '';
    width: 200%;
    height: 100%;
    bottom: 40%;
    left: -50%;
    background: #383f51;
    z-index: 0;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    -webkit-transform: rotate(-186deg);
            transform: rotate(-186deg);
}

#vic footer > div {
    position: relative;
    width: 100%;
    left: 0;
/*    top: 50%;*/
    z-index: 1;
/*    -webkit-transform: translateY(-50%);*/
/*            transform: translateY(-50%);*/
}

#vic footer h3 {
    color: #fff;
/*    padding: 2.5vh;*/
}

#vic footer .footer_choice {
/*    margin-top: 5vh;*/
    padding: 5vh 1vw;
    position: relative;
    display: flex;
    justify-content: center;
}

#vic footer .footer_choice::before {
    content: '';
    display: none;
    position: absolute;
    top: 0;
    left: calc(50% - .7vw);
    width: 1.4vw;
    height: 1.4vw;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

#vic footer .footer_choice button {
    position: relative;
    display: block;
    width: 21vw;
    height: 21vw;
    margin: 5vh 1.3vw;
    background: #fff;
    border: 4px #fff solid;
    box-shadow: 10px 10px 30px rgba(0,0,0,.2);
    cursor: pointer;
    
    color: #545e80;
    
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
}

#vic footer .footer_choice button:hover {
    background: #ff9e16;
    color: #fff;
}

#vic footer .footer_choice button strong {
    font-size: 2vw;
    line-height: 2.4vw;
    font-weight: 700;
}

#vic footer .footer_choice button p {
    padding-top: 1.2vw;
    font-size: 1vw;
    line-height: 1.4vw;
    font-weight: 400;
    opacity: .6;
}

#vic footer .footer_choice button .fbtn_svg {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: .5vw;
}

#vic footer .footer_choice button svg {
    position: relative;
    display: inline-block;
    height: 5vw;
}

#vic footer .footer_choice button svg .st0 {
    fill:transparent;
    stroke:#ff9e16;
    stroke-width:1.5;
    stroke-miterlimit:10;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;
}

#vic footer .footer_choice button:hover svg .st0 {
    stroke:#fff;
}

#vic footer .legals {
    position: relative;
    padding: 0 0 50px 0vh;
    width: 100%;
    text-align: center;
    color: #b6c2cb;
    font-size: 1vw;
}
#vic footer .legals a {
    color: #db6015;
}

@media screen and (max-width: 1023px) {
    #vic footer {
/*        overflow: visible;*/
        height: inherit;
        padding: 4vh 0 0 0;
    }
    #vic footer::before {
        -webkit-transform: rotate(-186deg);
                transform: rotate(-186deg);
    }
    #vic footer .veeva_logo {
        width: 200px;
    }
    #vic footer .footer_choice {
        margin-top: 0vh;
        padding: 4vh 2.75vw;
        position: relative;
        display: block;
    }
    #vic footer .footer_choice::before {
        width: 15px;
        height: 15px;
        left: calc(50% - 7px);
    }
    #vic footer > div {
        position: relative;
        width: 100%;
        left: 0;
        top: 0;
        z-index: 1;
        -webkit-transform: none;
                transform: none;
    }
    #vic footer .footer_choice button {
        display: block;
        float: inherit;
        width: 100%;
        height: inherit;
        margin: 2vh 0;
        padding: 10px 5px 10px 80px;
        text-align: left;
    }
    #vic footer .footer_choice button strong {
        font-size: 18px;
        line-height: 18px;
    }

    #vic footer .footer_choice button p {
        font-size: 13px;
        line-height: 18px;
    }
    #vic footer .footer_choice button .fbtn_svg {
        position: absolute;
        display: block;
        width: 80px;
        height: 100%;
        left: 10px;
        top: 0;
        margin-bottom: 0;
    }

    #vic footer .footer_choice button svg {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 100%;
    }
    #vic footer .legals {
        position: relative;
        bottom: inherit;
        left: 0;
        width: 100%;
        text-align: center;
        color: #8e99a1;
        font-size: 12px;
        padding-bottom: 2vh;
    }
}



