/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    font-size: 100%;
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

body {
    font-size: 0.75rem;
    color: #575656;
    font-family: 'nexity';
}

body:not([data-ipad="1"]) .btn-ipad-container {
    /* display: none; */
}


body .desktop.orientation {
    display: none;
}

body:not([data-ipad="1"]) .desktop.dd {
    display: block;
}


*, *:before, *:after {
    box-sizing: border-box;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
Fonts
========================================================================== */


@font-face {
    font-family: 'nexity';
    src: url('../fonts/nexity-medium-webfont.woff2') format('woff2'),
    url('../fonts/nexity-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'nexity';
    src: url('../fonts/nexity-light-webfont.woff2') format('woff2'),
    url('../fonts/nexity-light-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;

}

.light {
    font-weight: 300;
}

.text-center {
    text-align: center;
}


/* ==========================================================================
Mentions légales
========================================================================== */

.mentions {
    position: absolute;
    left: 0;
    bottom: 12px;
    right: 0;
    text-align: center;
    z-index: 104;
    pointer-events: none; /*PM*/

}

.mentions a {
    text-decoration: underline;
    color: #575656;
    pointer-events: initial; /*PM*/
}


.bassDef {
    position: absolute;
    right: 25px;
    top: 55px;
    background: #fff;
    width: 200px;
    padding: 12px;
    z-index: 999;
}

.closeBasseDef {
    position: absolute;
    right: 5px;
    top: 5px;
    line-height: 1;
    cursor: pointer;
}


/* ==========================================================================
Pages
========================================================================== */

.page {
    position: absolute;
    padding: 12px;
    bottom: 24px;
    right: 0px;
    background-color: #fff;
    color: #b4b8bd;
    font-size: 36px;
    font-weight: 300;
    line-height: 1;
    z-index: 99;
}


/* ==========================================================================
Cookie bandeau
========================================================================== */


.cookies,
.mentions-supp {
    position: absolute;
    /*bottom: 0;*/
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,0.7);
    padding: 15px;
    color: #fff;
    z-index: 99999;
}

.cookie-content {
    max-height: 33vh;
    overflow-y: auto;
}

.mentions-supp {
    position: fixed;
    opacity: 0;
    z-index: -1;
}

.mentions-supp .cookie-content p {
    font-size: 0.7rem !important;
    line-height: 1.1;
}

.mentions-supp.animate {
    z-index: 999999;
    animation-name: fade;
    animation-duration: 1s;
    animation-delay: 10s;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
    -moz-animation-fill-mode:forwards; /*FF 5+*/
    -o-animation-fill-mode:forwards; /*Not implemented yet*/
    -ms-animation-fill-mode:forwards; /*IE 10+*/
    animation-fill-mode:forwards;
}

.cookies p {
    margin: 0;
    color: #fff;
    font-size: 1rem;
}

.cookies a {
    color: #fff;
    text-decoration: underline;
}

.cookies .close,
.mentions-supp .close {
    width: 15px;
    height: 15px;
    background: url(../img/close.png) center no-repeat;
    background-size: contain;
    position: absolute;
    top: 12px;
    right: 12px;
    cursor: pointer;
}

@media screen and (max-width: 576px) {

    .cookies .close,
    .mentions-supp .close {
        width: 88px;
        line-height: 16px;
        font-size: 21px;
        font-weight: 300;
        background-position: center right;
    }
    .cookie-content {
        padding-top: 20px;
    }
}

/* ==========================================================================
Old browser
========================================================================== */

.old-browser {
    /*padding: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 496px;
    height: auto;
    background: #fff;
    z-index: 9999;
    margin-left: -233px;
    margin-top: -65px;*/
    background-color: #ffffff;
    width: 100%;
    height: auto;
    bottom: 0px;
    top: 0px;
    left: 0;
    position: absolute;
    z-index: 100000;
}

.old-browser-container {
    /*margin: 0;*/
    text-align: center;
    position: absolute;
    width: 435px;
    height: 300px;
    top: 50%;
    left: 50%;
    margin-top: -150px;
    margin-left: -217px;
}
.old-browser-logo{
    margin:20px;
}
.old-browser p{
    text-align: center;
    font-size: 1.5rem;
    color: #231f20;
}
.old-browser .grey{
    color:grey;
}
.old-browser a{
    font-size: 1.5rem;
    background: #ce162b;
}

/* ==========================================================================
Video screen
========================================================================== */

body {
    overflow: hidden;
}

.btn-generique {
    position: relative;
    top: 4px;
    text-decoration: underline;
    color: #fff;
}

@media screen and (min-width: 1024px) {
    .screen-video {
        overflow: hidden;
        height: 100vh;
        width: 100%;
        background: #000;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
    }

    .screen-video .video-container {
        position: relative;
    }

    .screen-video .video-container video {
        position: absolute;
        top: 0;
        left: 0;
        max-width: 100%;
        max-height: 100vh;
        opacity: 0;
        z-index: 1;
        transition: all 0.4s;
    }

    .screen-video .video-container video.first {
        position: relative;
        z-index: 9;
        opacity: 1;
    }

    /* pm change */
    .poster {
        opacity: 1;
        z-index: 12;
        /*height: 100vh;*/
        position: absolute;
        top: 0;
        left: 0;
        max-width: 100%;
        /*max-height: 100vh;*/
        transition: all 0.4s;
        vertical-align: middle;
    }

    .generique {
        position: absolute;
        left: 60px;
        bottom: 45px;
        font-size: 1.2rem;
        padding-left: 32px;
    }

    .generique .logout {
        position: absolute;
        top: -12px;
        right: -16px;
        transform: translateX(100%);
    }

    .btn-ipad-container {
/*        position: absolute;
        left: 50%;
        z-index: 99999;
        bottom: 50%;
        font-size: 1.2rem;*/
        position: absolute;
        left: 0;
        right: 0;
        width: 30%;
        z-index: 99999;
        bottom: 13%;
        font-size: 1.2rem;
        margin: auto;
    }

    .generique .btn {
        margin: 0px;
        padding: 15px 32px;
        font-size: 1.1rem;
        position: relative;
        z-index: 99;
        opacity: 0;
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 0.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }
    body[data-ipad="1"] .generique .btn {
        font-size: 1rem;
    }
}

/* ==========================================================================
IPAD
========================================================================== */


body[data-ipad="1"] .fieldText {
    font-size: 15px !important;
}

/* ==========================================================================
Formulaire
========================================================================== */

@media screen and (min-width: 1024px) {
    .formulaire {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 102;
    }
}

.title {
    margin: 0;
    font-size: 2.62vw;
    text-transform: uppercase;
    font-weight: normal;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
    margin-bottom: 8px;
    border-radius: 0;
    padding: 4px 0;
    background-color: transparent;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #575656;
    font-size: 1.1rem;
}

body input:-webkit-autofill,
input[type="text"]:-webkit-autofill,
input[type="email"]:-webkit-autofill,
input[type="tel"]:-webkit-autofill {
    background-color: transparent !important;
    background: transparent !important;
    -webkit-box-shadow: 0 0 0 30px #D6D663 inset;

}

input:focus {
    outline: none !important;
}

input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #575656;
    font-weight: 300;
}
input::-moz-placeholder { /* Firefox 19+ */
    color: #575656;
    font-weight: 300;
}
input:-ms-input-placeholder { /* IE 10+ */
    color: #575656;
    font-weight: 300;
}
input:-moz-placeholder { /* Firefox 18- */
    color: #575656;
    font-weight: 300;
}

label {
    font-size: 1.1rem;
    font-weight: 300;
}

/* ========== case a cocher ========== */
/* Cachons la case à cocher */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
    position: absolute;
    left: -9999px;
}

/* on prépare le label */
[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
    position: relative; /* permet de positionner les pseudo-éléments */
    padding-left: 25px; /* fait un peu d'espace pour notre case à venir */
    cursor: pointer;    /* affiche un curseur adapté */
}

/* Aspect des checkboxes */
/* :before sert à créer la case à cocher */
[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
    content: '';
    position: absolute;
    left:0; top: 2px;
    width: 17px; height: 17px; /* dim. de la case */
    border: 1px solid #575656;
    background: #fff;
    border-radius: 0px; /* angles arrondis */
}

/* Aspect général de la coche */
[type="checkbox"]:not(:checked) + label:after,
[type="checkbox"]:checked + label:after {
    content: '';
    position: absolute;
    top: 5px;
    left: 3px;
    width: 11px;
    height: 11px;
    background-color: #ce162b;
    transition: all .2s; /* on prévoit une animation */
}
/* Aspect si "pas cochée" */
[type="checkbox"]:not(:checked) + label:after {
    opacity: 0; /* coche invisible */
    transform: scale(0); /* mise à l'échelle à 0 */
}
/* Aspect si "cochée" */
[type="checkbox"]:checked + label:after {
    opacity: 1; /* coche opaque */
    transform: scale(1); /* mise à l'échelle 1:1 */
}

/* ========== radio ========== */
/* Cachons la case à cocher */
[type="radio"]:not(:checked),
[type="radio"]:checked {
    position: absolute;
    left: -9999px;
}

/* on prépare le label */
[type="radio"]:not(:checked) + label,
[type="radio"]:checked + label {
    position: relative; /* permet de positionner les pseudo-éléments */
    padding-left: 25px; /* fait un peu d'espace pour notre case à venir */
    cursor: pointer;    /* affiche un curseur adapté */
}

/* Aspect des checkboxes */
/* :before sert à créer la case à cocher */
[type="radio"]:not(:checked) + label:before,
[type="radio"]:checked + label:before {
    content: '';
    position: absolute;
    left:0;
    top: 2px;
    width: 17px;
    height: 17px; /* dim. de la case */
    border-radius: 20px;
    border: 1px solid #575656;
    background: #fff;
}

/* Aspect général de la coche */
[type="radio"]:not(:checked) + label:after,
[type="radio"]:checked + label:after {
    content: '';
    position: absolute;
    top: 5px;
    left: 3px;
    border-radius: 20px;
    width: 11px;
    height: 11px;
    background-color: #ce162b;
    transition: all .2s;
}
/* Aspect si "pas cochée" */
[type="radio"]:not(:checked) + label:after {
    opacity: 0; /* coche invisible */
    transform: scale(0); /* mise à l'échelle à 0 */
}
/* Aspect si "cochée" */
[type="radio"]:checked + label:after {
    opacity: 1; /* coche opaque */
    transform: scale(1); /* mise à l'échelle 1:1 */
}

.radio label {
    margin-left: 8px;
    display: inline-block;
    width: 22%;
}

.checkbox label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9rem;
}

@media screen and (min-width: 1024px) {
    .required-field {
        position: absolute !important;
        bottom: 5px;
        left: 0;
    }
}

@media screen and (max-width: 1100px) {
    .required-field {
        position: absolute !important;
        bottom: -5px;
        text-align: right;
        left: auto;
        right: 0;
    }
}

.display_error {
    color: #ce162b;
    font-size: 10px;
}

@media screen and (max-width: 1100px) {
    .display_error {
        font-size: 9px;
    }
}

.error {
    color: #ce162b !important;
    border-color: #ce162b !important;
}

[type="radio"].error:not(:checked) + label:before,
[type="radio"].error:checked + label:before,
[type="checkbox"].error:not(:checked) + label:before,
[type="checkbox"].error:checked + label:before {
    color: #ce162b !important;
    border-color: #ce162b !important;
}

[type="radio"].error:not(:checked) + label,
[type="radio"].error:checked + label,
[type="checkbox"].error:not(:checked) + label,
[type="checkbox"].error:checked + label {
    color: #ce162b !important;
    border-color: #ce162b !important;
}

input.error::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #ce162b !important;
}
input.error::-moz-placeholder { /* Firefox 19+ */
    color: #ce162b !important;
}
input.error:-ms-input-placeholder { /* IE 10+ */
    color: #ce162b !important;
}
input.error:-moz-placeholder { /* Firefox 18- */
    color: #ce162b !important;
}

@media screen and (min-width: 1024px) {
    #step_6 form {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        font-size: 19px;
    }

    #step_6 form > div:first-child {
        width: 60%;
    }

    #step_6 form > div:last-child {
        width: 40%;
    }
    #step_6 input {
        background-color: #fff;
        border-bottom: 0;
        padding: 8px 12px;
        text-align: center;
        color: #ce162b;
        font-size: 19px;
        height: 44px;
    }
    #step_6 input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
        color: #ce162b !important;
        font-weight: normal;
    }
    #step_6 input::-moz-placeholder { /* Firefox 19+ */
        color: #ce162b !important;
        font-weight: normal;
    }
    #step_6 input:-ms-input-placeholder { /* IE 10+ */
        color: #ce162b !important;
        font-weight: normal;
    }
    #step_6 input:-moz-placeholder { /* Firefox 18- */
        color: #ce162b !important;
        font-weight: normal;
    }
}



/* ==========================================================================
STEPS
========================================================================== */


@media screen and (min-width: 1024px) {
    .step {
        position: absolute;
    }

    #step_1 {
        left: 62.916%;
        right: 0;
        top: 47.268%;
    }

    #step_1 .title {
        width: 59.93%;

    }

    #step_1 .btn-container {
        margin-top: 15px;
        margin-right: 33.754%;
    }

    #step_2 {
        right: 15%;
        width: 25%;
        top: 26.5%;
        height: 46%;
    }

    #step_2 p {
        margin: 4px 0;
        font-size: 1rem;
        font-weight: 300;
    }

    #step_2 .display_error {
        position: absolute;
        bottom: -9px;
        transform: translateY(100%);
    }

    .submit_step_2 {
        margin: 0;
        position: absolute;
        bottom: -112px;
        left: 12%;
        width: 76%;
        transform: translateY(100%);
    }

    .submit_step_2 .btn {
        width: 100%;
    }

    #step_3:not(.hidden)  {
        top: 45%;
        left: 0;
        right: 0;
    }

    #step_3 .step_content {
        background-color: rgba(255,255,255,0.85);
        padding: 8px 35px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-around;
    }

    #step_3 .step_content a {
        width: 16.666%;
        padding: 5px 25px;
        text-align: center;
        text-decoration: none;
        font-size: 1.25rem;
        font-weight: 300;
        line-height: 1;
        color: #ce162b;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s;
    }
    #step_3 .step_content a .icon {
        display: block;
        margin: auto;
        position: relative;
        overflow: hidden;
    }
    #step_3 .step_content a:hover {
        -moz-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        -webkit-transform: translateY(-4px);
        -moz-transform: translateY(-4px);
        transform: translateY(-4px);
    }

    #step_3 .step_content a .icon img {
        transition: 0s;
        transform-style: preserve-3d;
        transition-timing-function: cubic-bezier(0.785, 0.135, 0.150, 0.860);
    }

    #step_3 .step_content a:hover .icon img {
        transform: rotate3d(0, 90, 0, 360deg);
        transition-timing-function: cubic-bezier(0.785, 0.135, 0.150, 0.860);
        transition: 0.5s;
    }

    .preview_pdf {
        position: absolute;
        left: -131%;
        width: 128%;
        bottom: -21.2%;
        height: 128%;
        background-image: url(../img/pdf-couv-generique.png);
        background-repeat: no-repeat;
        background-position: left center;
        -webkit-background-size: contain;
        background-size: contain;
        transition: all 0.4s;
    }

    #step_7 .preview_pdf {
        width: 128%;
left: -13px;
height: 260%;
padding-top: 63% !important;
padding-left: 9%;
transform: translateX(-100%) translateY(-31%);
    }

    .couv-homme {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        transition: all 0.4s;
        background-image: url('../img/pdf-couv-generique.png');
        background-repeat: no-repeat;
        background-position: left center;
        -webkit-background-size: contain;
        background-size: contain;
    }

    .couv-femme {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        opacity: 0;
        transition: all 0.4s;
        background-image: url('../img/pdf-couv-generique.png');
        background-repeat: no-repeat;
        background-position: left center;
        -webkit-background-size: contain;
        background-size: contain;
    }

    @media screen and (max-width: 1266px) {
        #step_3 .step_content a {
            font-size: 1.15rem;
        }
    }

    #step_3 .step_content img {
        display: block;
        margin: 0 auto 8px;
        width: 75px;
    }

    #step_4 {
        left: 68%;
        width: 19%;
        top: 40%;
    }

    .preload-image-map {
        opacity: 0;
        position: absolute;
    }

    .preload-image-map > * {
        width: 0;
        height: 0;
    }

    #step_5 {
        left: 36%;
        width: 37%;
        top: 26%;
        height: 67%;
        -webkit-background-size: contain;
        background-size: contain;
        transition: all  0.6s;

    }

    #step_5 img {
        max-height: 100%;
        opacity: 0;
        width: auto;
    }

    #step_5 .btn-container {
        position: absolute;
        top: 46%;
        width: 40%;
        right: -12px;
        transform: translateX(100%);
    }

    #step_6 {
        left: 63%;
        top: 50%;
        width: 27%;
        text-align: center;
    }

    #step_6 .btn {
        width: 100%;
        padding: 8px 12px;
        margin: 0;
        font-size: 19px;
        height: 44px;
        line-height: 1.4;
    }

    #step_7 {
        right: 14.8%;
        top: 36%;
        width: 22%;
        height: 25%;
    }

    [data-timecode] {
        opacity: 0;
    }
}

/* ==========================================================================
animations
========================================================================== */



@media screen and (min-width: 1024px) {
    body {
        overflow: hidden;
    }

    .step_content {
        position: relative;
        opacity: 0;
        height: 100%;
    }

    .mentions {
        opacity: 0;
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 1.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    .page {
        opacity: 0;
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 13s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    .animate.step_content {
        animation-name: fromLeft;
        animation-duration: 0.4s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_1 .animate.step_content {
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-delay: 12s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }


    #step_2 .animate.step_content {
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 10s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_2 .step_content form > div:not(.display_error) {
        opacity: 0;
    }

    #step_2 .step_content form > div.animate:first-child {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 10s;
    }

    #step_2 .step_content form > div.animate:nth-child(2) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 10.5s;
    }

    #step_2 .step_content form > div.animate:nth-child(3) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 11s;
    }

    #step_2 .step_content form > div.animate:nth-child(4) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 11.5s;
    }

    #step_2 .step_content form > div.animate:nth-child(5) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 12s;
    }

    #step_2 .step_content form > div.animate:nth-child(6) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 12.5s;
    }

    #step_2 .step_content form > div.animate:nth-child(7) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 13s;
    }

    #step_2 .step_content form > div.animate:nth-child(8) {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        animation-delay: 13.5s;
    }

    #step_2 .animate.step_content .preview_pdf {
        opacity: 0;
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-delay: 14.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #img_preview_2 {
        height: 40vh;
        padding-top: 46% !important;
        background-position: top left;
        top: 0;
        transform: translateY(-40%);
    }

    .preview_pdf {
        padding-top: 48%;
        padding-left: 27px;
    }

    .preview_pdf .preview_name {
        padding-left: 4px;
        display: inline-block;
        padding-top: 0px;
        margin: 0;
        text-transform: capitalize;
        text-align: left;
        font-size: 20px;
        color: #0080aa;
    }
    .preview_pdf .preview_forename {
        display: inline-block;
        margin-left: 4px;
        margin: 0;
        text-transform: capitalize;
        text-align: left;
        font-size: 20px;
        line-height: 1;
        color: #0080aa;
    }
    .preview_pdf .preview_civilite {
        display: inline-block;
        margin-right: 4px;
        text-transform: capitalize;
        text-align: left;
        font-size: 20px;
        line-height: 1;
        color: #0080aa;
    }

    #step_3 .animate.step_content {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 17s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .animate.step_content a {
        opacity: 0;
    }

    #step_3 .step_content a.animate:nth-child(1) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 17.2s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .step_content a.animate:nth-child(2) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 17.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .step_content a.animate:nth-child(3) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 18s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .step_content a.animate:nth-child(4) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 18.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .step_content a.animate:nth-child(5) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 19s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_3 .step_content a.animate:nth-child(6) {
        animation-name: fromTop;
        animation-duration: 1s;
        animation-delay: 19.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_4 .animate.step_content {
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 10s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_4 .animate.step_content a {
        opacity: 0;
    }

    #step_4 .btn {
        position: relative;
        top: 0;
        opacity: 0;
    }

    #step_4 .btn:hover {
        top: -3px;
    }

    #step_4 .animate.step_content a.animate:first-child {
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-delay: 12s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_4 .animate.step_content a.animate:nth-child(2) {
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-delay: 12.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_4 .animate.step_content a.animate:last-child {
        animation-name: fromLeft;
        animation-duration: 1s;
        animation-delay: 13s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_5 .animate.step_content {
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 12s; /* 12 */
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
        background-position: center;
        background-image: url(../img/map.png);
        -webkit-background-size: contain;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: top left;
    }

    #step_5 .animate.step_content .btn-container {
        opacity: 0;
    }

    #step_5 .animate.step_content .btn-container.animate {
        opacity: 0;
        animation-name: fade;
        animation-duration: 0.6s;
        animation-delay: 12.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }


    #step_6 .animate.step_content {
        animation-name: fade;
        animation-duration: 1s;
        animation-delay: 3s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }

    #step_7 .animate.step_content {
        opacity: 0;
        animation-name: fade;
        animation-duration: 0.6s;
        animation-delay: 27.5s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
        -moz-animation-fill-mode:forwards; /*FF 5+*/
        -o-animation-fill-mode:forwards; /*Not implemented yet*/
        -ms-animation-fill-mode:forwards; /*IE 10+*/
        animation-fill-mode:forwards;
    }


    #step_7 .animate.step_content #img_preview_2 {
        /*opacity: 0;
        animation-name: fade;
        animation-duration: 0.6s;
        animation-delay: 10s;
        animation-iteration-count: 1;
        -webkit-animation-fill-mode:forwards;
        -moz-animation-fill-mode:forwards;
        -o-animation-fill-mode:forwards;
        -ms-animation-fill-mode:forwards;
        animation-fill-mode:forwards; */
    }
}

@keyframes fromLeft {
    from {transform: translateX(-30px); opacity: 0;}
    to {transform: translateX(0px); opacity: 1;}
}

@keyframes fromTop {
    from {top: -30px; opacity: 0;}
    to {top: 0; opacity: 1;}
}

@keyframes fade {
    from {opacity: 0;}
    to {opacity: 1;}
}

/* ==========================================================================
BTN
========================================================================== */
.btn {
    display: block;
    margin-bottom: 15px;
    background: #ce162b;
    padding: 10px;
    border: 0;
    color: #fff;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s;
    transform: translateY(0);
    box-shadow: 0 5px 10px rgba(0,0,0,0.0);
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}

.btn-sencondary {
    background-color: #575656;
}

.btn-budget-moy {
    background-color: #c7d304;
}

.btn-budget-max {
    background-color: #f0a84e;
}

/* ==========================================================================
Media Queries
========================================================================== */

@media only screen and (min-width: 35em) {

}

@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {

}

/* ==========================================================================
Helper classes
========================================================================== */


@media screen and (max-width: 1023px) {
    .step {
        left: 0;
        opacity: 1;
        z-index: 1;
        transition: opacity 0.4s;
    }
    video {
        display: none;
    }
}

.play_pause {
    position: absolute;
    left: 0;
    top: 0;
    cursor: pointer;
    display: inline-block;
    opacity: 0;
    animation-name: fade;
    animation-duration: 1s;
    animation-delay: 0.5s;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/
    -moz-animation-fill-mode:forwards; /*FF 5+*/
    -o-animation-fill-mode:forwards; /*Not implemented yet*/
    -ms-animation-fill-mode:forwards; /*IE 10+*/
    animation-fill-mode:forwards;
}

.hidden {
    opacity: 0;
    position: absolute;
    left: -999999px !important;
    z-index: -1;
    transition: opacity 0.4s;
}


.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
Mobile (< 1024px)

========================================================================== */


@media screen and (max-width: 767px) {
    .btn-ipad-container {
        display: none;
    }
}

@media screen and (max-width: 1023px) {
    body {
        background: #ffffff;
        overflow: auto;
        padding-bottom: 15px;
    }
    .form_postit {
        background: #a7abb6;
        padding-bottom: 12px;
    }

    #step_29 {
        text-align: center;
    }

    #step_29 > div {
        padding: 20px;
    }
    #step_29 .btn {
        font-size: 18px;
        width: 100%;
    }
    .mentions {
        position: static;
    }
    img {
        max-width: 100%;
        display: block;
    }
    .page {
        top: 0;
        bottom: auto;
        z-index: 16;
        font-size: 1.1rem;
    }
    .step_content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .title {
        margin: 20px 0;
        text-align: center;
        font-size: 6.5vw;
        color: #ce162b;
    }
    #step_1 .btn-sencondary {
        padding-top: 0;
        background-color: transparent;
        text-decoration: underline;
        color: #575656;
        font-weight: 300;

    }

    input[type="text"], input[type="email"], input[type="tel"],
    .custom_select {
        background: #fff;
        border: 1px solid #575656;
        text-align: center;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .custom_select {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 8px;
        background:  #fff url(../img/select.png) right center no-repeat;
        -webkit-background-size: contain;
        background-size: contain;
    }
    .custom_select select {
        font-size: 1.2rem;
        text-align: center;
        font-weight: 300;
        padding: 5px 8px;
        width: 100%;
        height: 62px;
        border: none;
        box-shadow: none;
        background-color: transparent;
        background-image: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .custom_select select:focus {
        outline: none !important;
    }

    p.fieldText {
        text-align: center;
        color: #fff;
        font-size: 1.2rem;
        font-weight: 300;
    }

    .checkbox p {
        margin-bottom: 4px;
        color: #fff;
        font-weight: 300;
        font-size: 1.2rem;
    }
    .checkbox label {
        color: #fff;
    }
    .required-field {
        display: none;

    }
    #step_2 .btn,
    #step_6 .btn,
    #step_7 .btn {
        width: 100%;
        margin-top: 22px;
        font-size: 1.4rem;
        font-weight: normal;
    }
    #step_2 .post-it-form > .input_hidden {
        opacity: 0;
    }
    #step_2 .post-it-form > .input_hidden:first-child {
        opacity: 1;
    }
    #img_preview {
        display: none !important;
    }
    #step_3 .step_content:first-child {
        padding-top: 18px;
    }
    #step_3 .step_content a {
        position: relative;
        margin-bottom: 12px;
        display: block;
        height: 55px;
        background: #ce162b;
        color: #fff;
        text-align: left;
        padding-left: 65px;
        font-size: 1.4rem;
        text-decoration: none;
        line-height: 55px;
        vertical-align: middle;
    }
    #step_3 .step_content a span {
        margin-top: 4px;
        display: inline-block;
        line-height: 1;

    }
    #step_3 .step_content a span:first-child {
        margin-top: 0;
    }
    #step_3 .step_content a img {
        position: absolute;
        width: 45px;
        top: 6px;
        left: 10px;
    }
    #step_4 .step_content {
        padding-top: 12px;

    }
    #step_4 .step_content .btn {
        margin-bottom: 8px;
        font-size: 1.4rem;

    }
    #step_7 .title {
        font-size: 6vw;
    }
    #step_7 .tel {
        width: 90%;
        margin: auto;
    }
}

.orientation {
    z-index: 9999;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding-left: 25px;
    padding-right: 25px;
    background-color: rgba(206,22,43,0.95);
    font-size: 1.4rem;
    color: #fff;
    font-weight: 300;
}

.landscape {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.orientation img {
    margin: 45px auto 10px;
    max-width: 20%;
}

.close-orientation {
    display: none;
    position: absolute;
    top: 12px;
    right: 20px;
    width: 32px;
    height: 32px;
    background: url(../img/close-orientation.png) center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;

}

/* ==========================================================================
Print styles
========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
/**
 *
 * logo nexity etape-7
 *
 */

.logo_nexity {
    position: absolute;
    left: -234%;
    right: 0;
    top: -132%;
    width: 40px;
    height: 40px;
}
/**
 *
 * modal
 *
 */
 .modal-window {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.7);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.modal-window:target {
  opacity: 1;
  pointer-events: auto;
}

.modal-window>div {
  width: 500px;
  max-width: 95%;
  position: relative;
  margin: 10% auto;
  padding: 2rem;
  background: #fff;
  color: #444;
}
.modal-window>div a{
    color:black;
}
.modal-window header {
  font-weight: bold;
}

.modal-close {
  color: black;
  line-height: 50px;
  background: url(../img/close-noir.png) center no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  text-align: center;
  top: 10px;
  width: 15px;
  height:15px;

  text-decoration: none;
}

.modal-close:hover {
  color: #000;
}

.modal-window h1 {
  font-size: 150%;
  margin: 0 0 15px;
}


.d-none {
    display: none;
}

@media screen and (min-width: 768px) {
    .d-sm-none {
        display: none;
    }
}
