/*--------------------------------------------------------------
Normalize
Styles based on Normalize v5.0.0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/

html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article,
aside,
footer,
header,
nav,
section {
    display: block;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

figcaption,
figure,
main {
    display: block;
}

figure {
    margin: 1em 0;
}

hr {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
    outline-width: 0;
}

abbr[title] {
    border-bottom: 1px #767676 dotted;
    text-decoration: none;
}

b,
strong {
    font-weight: inherit;
}

b,
strong {
    font-weight: 700;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

dfn {
    font-style: italic;
}

mark {
    background-color: #eee;
    color: #222;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

audio,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    border: 1px solid #bbb;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    display: inline-block;
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details,
menu {
    display: block;
}

summary {
    display: list-item;
}

canvas {
    display: inline-block;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    -webkit-tap-highlight-color:transparent
}

a, button {
    text-decoration: none;
    outline: 0;
}

a, a:visited {
    color: #000;
    text-decoration: none;
    transition: color 300ms cubic-bezier(0.4, 0.8, 0.74, 1);
}

a:link, a:visited:link {
    -webkit-tap-highlight-color: transparent;
}

img.scale-with-grid {
    display: block;
    height: auto !important;
    width: 100% !important;
}

.transition {
    -webkit-transition: all .25s ease-out;
       -moz-transition: all .25s ease-out;
        -ms-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
}

.transition2 {
    -webkit-transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s;
    transition: transform 1s cubic-bezier(.75,0,.25,1),visibility 0s 1s,-webkit-transform 1s cubic-bezier(.75,0,.25,1);
    will-change: transform;
}

/* slightly enhanced, universal clearfix hack */
.clearfix:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
     }
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */

/*--------------------------------------------------------------
Fonts
--------------------------------------------------------------*/

@font-face {
  font-family: 'Nexa XBold';
  font-style: normal;
  font-weight: 400;
  src: local('Nexa XBold'),
       url('../fonts/Fontfabric-Nexa-XBold.woff2') format('woff2'), 
       url('../fonts/Fontfabric-Nexa-XBold.woff') format('woff'),
       url('../fonts/Fontfabric-Nexa-XBold.ttf') format('ttf'),
       url('../fonts/Fontfabric-Nexa-XBold.eot') format('eot');
}

@font-face {
  font-family: 'Nexa Book';
  font-style: normal;
  font-weight: 400;
  src: local('Nexa Book'),
       url('../fonts/Fontfabric-Nexa-Book.woff2') format('woff2'), 
       url('../fonts/Fontfabric-Nexa-Book.woff') format('woff'),
       url('../fonts/Fontfabric-Nexa-Book.ttf') format('ttf'),
       url('../fonts/Fontfabric-Nexa-Book.eot') format('eot');
}

/*--------------------------------------------------------------
Structure
--------------------------------------------------------------*/

body {
    color: #fff;
    background-color: #00d66c;
    font-family: 'Nexa XBold',Helvetica,Arial,sans-serif;
    font-weight:100;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
}

body, html {
    width: 100%;
    height: 100%;
}

html {
  font-size: 62.5%;
  /*font-size: calc(1em * 0.625); IE */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

h1 {
    font-size: 3rem;
    text-align: center;
    margin-top: 0;
    margin-bottom: 60px;
    text-transform: uppercase;
}

h2 {
    /*font-size: 2.0rem;*/
    font-size: 1.6rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
}

h3 {
    font-size: 1.6rem;
    font-weight: 400;
    text-align: center;
}

h4 {
    font-size:1em;
}

input, select, th, td {font-size:1em;}


.wrapper {
    width:100%;
    overflow: hidden;
}

.decor1 {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 25%;
}

.decor2 {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 25%;
    opacity: 0.8;
}

.decor1 img, .decor2 img {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0.8;
}

section {
    position: relative;
    min-height: 100vh;
    padding:50px 0; 
}

section#home {

}

.container {
    position: relative;
    margin: auto;
    z-index: 1;
    width: 80%;
    max-width: 500px;
    text-align: center;
    /*overflow-y: hidden;*/
}

.container.center {
    position: absolute;
    top: 50%;
    left: 50%;
    /*width: 100%;*/
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);    
}

.text {
    margin: 10px 0;
}

.step {
    display: none;    
}
.step__start {
    /*display: block;   */
    /*opacity: 0.2; */
}

.intro {
    /*min-height: 100vh;*/
}
/*.intro {
    position: absolute;
    width: 80%;
    max-width: 500px;
    text-align: center;
    min-height: 100vh;
    padding: 50px 0;    
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);        
}
*/

.q__num {
    border-radius: 50%;
    width: 90px;
    height: 90px;
    line-height: 90px;
    border: 4px solid #fff;
    color: #fff;
    font-size: 3rem;
    display: block;
    margin: auto auto 20px auto;
}

.q__title {
    margin: auto;
    background: #fff;
    color: #2800a0;
    border-radius: 20px;
    width: 100%;
    max-width: 400px;
    padding: 10px 20px;

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    /*flex-direction: column;*/
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
/*    justify-content: center;
    align-content: center;
    align-items: center;   */

    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;     
}

.q__title .left {
    width: 80%;
    font-size: 2.8rem;
    line-height: 3.0rem;
    text-align: left;
    padding: 10px 0;
}

.q4 .q__title .left {
    font-size: 2.5rem;
    line-height: 2.8rem;
} 

.q__title .right {
    width: 20%;
    font-size: 11rem;
    padding-top: 3rem;
    font-family: 'Nexa Book';
    line-height: 0;
    padding-left: 5px;
}

.reps {
    position: relative;
    margin: 10px 0;
    opacity: 0;
}

.rep {
    border-radius: 15px;
    border: 3px solid #fff;
    cursor: pointer;
    position: relative;
    color: #fff;
    background: transparent;
    width: 70%;
    display: inline-block;
    /*opacity: 0;*/
    margin: 10px auto;
    padding: 10px;
    text-transform: none;
    /*font-size: 3.2rem;
    line-height: 2.2rem;*/
    font-family: 'Nexa XBold',Helvetica,Arial,sans-serif;
    font-size: 2.8rem;
    line-height: 3.0rem;   
    font-weight: 400;
/*    -webkit-transition: all .1s ease-in;
    -moz-transition: all .1s ease-in;
    -ms-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    transition: all .1s ease-in;*/
}

.q4 .rep {
    font-size: 2.4rem;
    line-height: 2.9rem; 
}  


/*.reps .rep:nth-child(1) {

}
.reps .rep:nth-child(2) {
    margin-left: 10%;
}
.reps .rep:nth-child(3) {
    margin-left: 0;
}*/

.rep2 {
    margin-left: 10%;
}
.rep3 {
    margin-left: 5%;
}

.rep .txt {
    padding-top: 0.3rem;
    z-index: 50;
    position: relative;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
    display: inline-block;
    vertical-align: middle;
}

.rep .illustration {
    display: inline-block;
    vertical-align: middle;
    /*width: 18%;*/
    height: 38px;
    padding-left: 20px;
    padding-left: 20px;
}

.q4 .illustration {
    display: none !important;
}

.rep .illustration img {
    display: inline-block;
    /*vertical-align: middle;*/
    /*width: 18%;*/
    height: 100%;
    width: auto
    
}

.rep .illustration img.bleu, .rep .illustration img.rouge {
    display: none;
}

.rep.true {
    color: #2800a0;
}

.rep.true:after, .rep.false:after {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    background: #fff;
    border-radius: 15px;
    z-index: -1;
}

.rep.false {
    color: #ff3268;
}
.rep.true img.blanc, .rep.false img.blanc {
    display: none;
}
.rep.false img.rouge {
    display: inline-block;
}
.rep.true img.bleu {
    display: inline-block;
}

.rep.disabled {
    cursor: auto;
}

.bulle {
    display: none;
    position: absolute;
    top: 7px;
    left: -60px;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    background: #fff;
}
.bulle .fas {
    display: none;
    font-size: 2.8rem;
    line-height: 45px;    
}

.rep.true .bulle, .rep.false .bulle {
    display: inline-block;
    animation-name: bulleanim;
    animation-duration: .25s;
    animation-timing-function: ease-in-out;
    /*animation-direction: alternate-reverse;*/
    animation-iteration-count: 1;
    /*transform: scale(0);        */
}

.rep.true .bulle .fa-check, .bulle.true .fa-check {
    display: inline-block;
    color: #2800a0;

}
.rep.false .bulle .fa-times, .bulle.false .fa-times {
    display: inline-block;
    color: #ff3268;

}

@-webkit-keyframes bulleanim {
  0% {
    -webkit-transform: scale(.01);
            transform: scale(.01);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }    
}

@keyframes bulleanim {
  0% {
    -webkit-transform: scale(.01);
            transform: scale(.01);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }     
}

.q__next {
    background: transparent;
    cursor: pointer;
    border: none;
    font-size: 4.8rem;
    color: #fff;
    display: none;
    margin: auto;
    position: relative;

}

p {
    text-align: justify;
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 10px 0;
}

img.logo {
    width: 28%;
    height: auto;
    max-width: 400px;
    display: inline-block;
    margin-bottom: 10px;  
}

.gifts__container {
    margin: 0px auto;
    display: inline-block;
    width: 100%;
    z-index: 100;
    position: relative;
}

.gift {
    padding: 8px;
    float: left;
    width: 50%;
}
.gift.tickets {
    width: 100%;
    padding: 8px;
    float: none;
}

.gift__box {
    background: #fff;
    color: #2800a0;
    width: 100%;
    border-radius: 20px;
    position: relative;
    display: block;
    overflow: hidden;
}

.tickets__header {
    background: #2800a0;
    color: #fff;
    width: 100%;
    padding: 13px 0 5px 0;
    font-size: 3rem;
    line-height: 3rem;
}
.tickets__header img {
    width: 27%;
    height: auto;
    display: block;
    margin: auto;
}

.gift__header img {
    width: auto;
    height: 35px;
    display: block;
    margin: 10px auto auto auto;
}

.gift__text {
    padding: 10px;
    font-size: 2rem;
}

.tickets__text {
    padding: 10px 20px;
    font-size: 2.5rem;
    text-align: left;
    vertical-align: middle;
    vertical-align: middle;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.tickets__text img {
    width: 18%;
    height: auto;
    padding: 10px;    
}

.tickets__text span {
    width: 80%;
    padding-left: 10px;
}

a.button {
    color: #fff;
    background: transparent;
    text-transform: uppercase;
    font-weight: 400;
    display: inline-block;
    font-size: 2.5rem;
    position: relative;
    margin: 10px auto 10px;
    /*padding: 10px 40px 4px 60px;*/
    line-height: 125px;

    position: relative;
    overflow: hidden;
    width: 120px;
    height: 120px;
    border-radius: 50%;
}


.animLeft, .animRight {
    /*opacity: 0;*/
}

.levitate {
  animation: do-levitation 1.2s alternate ease-in-out infinite;
}
@keyframes do-levitation {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0.5em, 0);
  }
}

.levitate2 {
  animation: do-levitation-two 1.2s alternate ease-in-out infinite;

}
@keyframes do-levitation-two {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0.45em, 0);
  }
}

.levitate3 {
  animation: do-levitation-three 1.2s alternate ease-in-out infinite;
}
.levitate4 {
  animation: do-levitation-two 1.2s alternate ease-in-out infinite;
}
@keyframes do-levitation-three {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0.25em, 0);
  }
}

.zoomIn { animation-name:zoomIn }

.animated{
    animation-duration:.5s;
    animation-fill-mode:both;
    animation-delay: 1.0s;
}

@keyframes zoomIn {
    0%{
        opacity:0;
        transform:scale3d(.3,.3,.3)
    }
    50%{
        opacity:1;
    }
}


a.button.start__btn {
    border: 3px solid #ff3268;
    background: #ff3268;
    /*animation: border .4s ease 1 forwards;*/
    /*animation-delay: 1.0s;*/
    /*cursor: none;*/
}

@keyframes border {
  0% {
    box-shadow: 60px -60px 0 2px #00d66c, -60px -60px 0 2px #00d66c, -60px 60px 0 2px #00d66c, 60px 60px 0 2px #00d66c, 0 0 0 2px #00d66c;
  }
  25% {
    box-shadow: 0 -125px 0 2px #00d66c, -60px -60px 0 2px #00d66c, -60px 60px 0 2px #00d66c, 60px 60px 0 2px #00d66c, 0 0 0 2px #fff;
  }
  50% {
    box-shadow: 0 -125px 0 2px #00d66c, -125px 0px 0 2px #00d66c, -60px 60px 0 2px #00d66c, 60px 60px 0 2px #00d66c, 0 0 0 2px #fff;
  }
  75% {
    box-shadow: 0 -125px 0 2px #00d66c, -125px 0px 0 2px #00d66c, 0px 125px 0 2px #00d66c, 60px 60px 0 2px #00d66c, 0 0 0 2px #fff;
  }
  100% {
    box-shadow: 0 -125px 0 2px #00d66c, -125px 0px 0 2px #00d66c, 0px 125px 0 2px #00d66c, 120px 40px 0 2px #00d66c, 0 0 0 2px #fff;
  } 
}

@media screen and (min-width: 960px) {
/*    a.button {
        margin: 10px auto 10px;
        padding: 10px 30px 4px 50px;
        font-size: 2.8rem;
    }*/
}

.home__footer {
    position: relative;
    z-index: 100;
    margin-top: 10px;
}

.home__footer .avec {
    color: #fff;
    font-weight: 100;
    font-size: 1rem;
    margin: auto;
}

.home__footer img {
    width: 150px;
    height: auto;
    display: block;
    margin: auto;
}


.reveal-animate {
    opacity: 0;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100px, 0);
    transform: translate3d(0, 100px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.visible {

/*    -webkit-transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1),-webkit-transform .5s cubic-bezier(.75,0,.25,1);
    will-change: transform;    */ 
    
    /*animation-timing-function: cubic-bezier(.75,0,.25,1);
    -webkit-animation-timing-function: cubic-bezier(.75,0,.25,1);*/

    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;   

    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;      
}


/*--------------------------------------------------------------
END
--------------------------------------------------------------*/

#formWrapper {
    position: relative;
    margin-top: -50px;
}

.arrow {
    /*background: rgba(255,255,255,0.75);*/
    background: #007549;
    width: 50px;
    height: 50px;
    line-height: 70px;
    border-radius: 50%;
    position: fixed;
    z-index: 500;
    top: auto;
    bottom: 20px;
    left: 50%;
    display: none;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);    
}

.arrow .fas {
    color: #fff;
    font-size: 3rem;
}

.arrow.anim {
    animation: Test 1.75s infinite;
}
@-webkit-keyframes Test {
    0%{opacity: 1;}
    70%{opacity: 1;}
    100%{opacity: 0;}    
}
@keyframes Test{
    0%{opacity: 1;}
    70%{opacity: 1;}
    100%{opacity: 0;}
}

img.bravo {
    display: inline-block;
    margin: auto auto 20px auto;
    /*width: 50%;*/
    width: 85%;
    position: relative;
    margin-top: -80px;    
}

::-webkit-input-placeholder { color:#00d66c; }
:-moz-placeholder { color:#00d66c; opacity: 1;} /* firefox 19+ */
::-moz-placeholder { color:#00d66c; opacity: 1;} /* firefox 19+ */
:-ms-input-placeholder { color:#00d66c; } /* ie */
input:-moz-placeholder { color:#00d66c; }

#registration_container input[type="text"], #registration_container input[type="email"] {
    font-family: Arial,sans-serif;
    font-weight: 300;
    display: inline-block;
    text-align: left;
    font-size: 2rem;
    line-height: 40px;
    width: 100%;
    background-color: #fff;
    border: 1px solid #fff;
    margin-bottom: 0;
    color: #00d66c;
    vertical-align: middle;
    text-transform: none;
    height: 40px;
    margin: 5px auto 0px;
    padding: 2px 10px 0 10px;
    border-radius: 0;
    opacity: 1;
    box-sizing: border-box;
-webkit-appearance: none;
border-radius: 0;    
}

.checkboxWrapper {
    display: inline-block;
    text-align: left;
    width: 100%;
    margin-bottom: 30px;
}

.checkbox-txt {
    font-family: Arial,sans-serif;
    cursor: default;
    color: #fff;
    display: block;
    font-size: 1.2rem;
    text-align: left;
    margin: 15px 0 0 0;
    font-weight: 400;
    width: 100%;
}

.checkbox-txt a {
    color: #fff;
    text-decoration: underline;
}

.checkbox-custom, .checkbox-custom2, .checkbox-custom3 {
    margin-top: -3px !important;
    background-color: #fff;
    border: 2px solid #fff;
    width: 20px;
    height: 20px;
    float: left;
    margin-right: 8px;
    display: block;
    border-radius: 0px;
}

.checkbox-custom2 {
    margin-bottom: 10px;
}

.checkbox-custom.error, .checkbox-custom2.error, input.error {
    border: 2px solid #ff3268 !important;
}

.checkbox-custom.check, .checkbox-custom2.check, .checkbox-custom3.check {
    background: url(../images/picto-check.png) no-repeat center center #fff;
    background-size: cover;
}

a.button.register_me, a.button.replay {
    border: 3px solid #ff3268;
    background: #ff3268;
    font-size: 1.5rem;
    line-height: 120px;
}
a.button.replay {
    font-size: 1.8rem;
}

.gifts__end {
    background: #fff;
    border-radius: 15px;
    margin-top: 20px;
    color: #2800a0;
    font-size: 2.3rem;
    padding: 10px;
    margin-bottom: 30px;
}

.gifts__end__row {
    margin: 5px 0;
    padding: 10px;
}

.gifts__end__left {
    float: left;
    width: 15%;
    padding-right: 20px;
}

.gifts__end__left img {
    display: block;
    width: 100%;
    height: auto;
}

.gifts__end__right {
    float: left;
    width: 80%;
    text-align: left;
}

.step__end2 h3 {
    text-align: center !important;
}

.result {
    margin-top: 0px;
    margin-bottom: 20px;
}

.result .bulle {
    display: inline-block;
    position: relative;
    top: auto;
    left: auto;
    background: #fff;
    margin: 0 8px;
    vertical-align: middle;
}

.step__end, .step__q__ {
    padding-bottom: 160px;
}

.discover {
    display: inline-block;
    position: absolute;
    right: 0;
    width: 300px;
}

.step__q .discover {
    display: none;
    bottom: 50px;
}

.discover__bulle {
    background: #ff3268;
    border-radius: 15px 0 0 15px;
    color: #fff !important;
    font-size: 2.5rem;
    line-height: 2.7rem;
    padding: 15px 40px;
    margin-bottom: 10px;   
    position: relative; 
}

.discover__left {
    float: left;
    width: 80%;
    /*padding-right: 20px;*/
    text-align: left;    
}

.discover__right img {
    display: block;
    width: 100%;
    height: auto;
}

.discover__right {
/*    float: left;
    width: 20%;
    position: relative;*/
    position: absolute;
    top: 50%;
    right: 40px;
    width: 18%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);    
}

.discover__footer {
        text-align: center;
}

.discover__footer .avec {
    color: #fff;
    font-size: 1.8rem;
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    text-transform: none;
}
.discover__footer img {
    display: inline-block;
    vertical-align: middle;
    width: 160px;
    height: auto;
}

#registration_container {
    margin-bottom: 20px;
}

.loose2 {
    display: none;
}

/*--------------------------------------------------------------
Header
--------------------------------------------------------------*/

header {

}

header a.brand {
    display: inline-block;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    max-width: 200px;
}

header a.brand img {
    max-width: 100%;
    height: auto;
    display: block;
}

header img.deezer {
    display: inline-block;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    max-width: 120px;
}

#social-nav {
    position: absolute;
    top: 50%;
    right: 40px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.social-nav-item {
    display: inline-block;
    margin: 0 6px;
    vertical-align: middle;
}

.social-nav-item a {
    display: block;
    position: relative;
}

.social-nav-item a svg {
    fill: #000000;
}

.social-nav-item a:hover svg {
    fill: #666;
}

.menu-button {
    border: none;
    background: transparent;
    display: none;
    /*-webkit-transition: -webkit-transform cubic-bezier(.7,0,.3,1) .3s;
    transition: -webkit-transform cubic-bezier(.7,0,.3,1) .3s;
    transition: transform cubic-bezier(.7,0,.3,1) .3s;
    transition: transform cubic-bezier(.7,0,.3,1) .3s,-webkit-transform cubic-bezier(.7,0,.3,1) .3s;*/
    position: relative;
    z-index: 100;
}

.menu-button .line {
    width: 32px;
    height: 2px;
    background: #000;
    display: block;

    -webkit-transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: -webkit-transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1);
    transition: transform .5s cubic-bezier(.75,0,.25,1),-webkit-transform .5s cubic-bezier(.75,0,.25,1);
    will-change: transform;     
}

.menu-button .line:nth-child(2) {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.menu-button .line {
    margin-top: 5px;
}

.menu-open .menu-button .line:nth-child(1) {
    -webkit-transform: rotate(-45deg) translate(-1px,2px);
    transform: rotate(-45deg) translate(-1px,2px);
}

.menu-open .menu-button .line:nth-child(2) {
    -webkit-transform: scale(1) rotate(45deg) translate(-3px,-3px);
    transform: scale(1) rotate(45deg) translate(-3px,-3px);
}

.menu-open .menu-button .line:nth-child(3) {
    -webkit-transform: scale(0);
    transform: scale(0);
}


@media screen and (max-width: 960px) {
     
}

/*--------------------------------------------------------------
Main Nav
--------------------------------------------------------------*/

#main-nav-container {
}

ul#main-nav-list li {
    margin: 0 12px;
    display: inline-block;
}

ul#main-nav-list li:first-child {
    margin-left: 0;
}

ul#main-nav-list li:last-child {
    margin-right: 0;
}

.main-nav-item a {
    display: block;
    position: relative;    
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: rgba(62,88,119,.2);
    -webkit-transition: all .25s ease-out;
       -moz-transition: all .25s ease-out;
        -ms-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
}

.main-nav-item a:hover, .main-nav-item.active a { 
    color: #000;
}

@media screen and (max-width: 960px) {
    #main-nav {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);        
    }   
    ul#main-nav-list li {
        margin: 20px 0;
        display: block;
        text-align: center;
    }   
}

/*--------------------------------------------------------------
Footer
--------------------------------------------------------------*/

footer {
    padding: 100px 0;
    background: #fff;
    position: relative;
    color: rgba(62,88,119,.2);
}

footer ul#main-nav-list li {
    margin: 0 5px;
}

footer .main-nav-item a {
    display: block;
    position: relative;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

/*--------------------------------------------------------------
Loading
--------------------------------------------------------------*/

body.loading {
    height: 100%;
    overflow: hidden;
}

#loading {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #00d66c;
    z-index: 10000;
}

#loading .ripple1 {
    background-color: rgba(255,255,255,0.1);
}

#loading .ripple2 {
    animation-delay: -250ms;
    background-color: rgba(255,255,255,0.3);
}

#loading .ripple3 {
    animation-delay: -500ms;
    background-color: rgba(255,255,255,0.5);
}

#loading .ripple4 {
    animation-delay: -750ms;
    background-color: rgba(255,255,255,0.7);
}

#loading .ripple {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
    animation-name: ripple;
    animation-duration: 1s;
    animation-timing-function: ease-in-out;
    animation-direction: alternate-reverse;
    animation-iteration-count: infinite;
    transform: scale(0);
    opacity: 0.6;
}

@-webkit-keyframes ripple {
  0% {
    -webkit-transform: scale(.01);
            transform: scale(.01);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }    
}

@keyframes ripple {
  0% {
    -webkit-transform: scale(.01);
            transform: scale(.01);
  }

  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }     
}

/*--------------------------------------------------------------
General Media Queries
--------------------------------------------------------------*/


@media screen and (min-width: 760px) {
    h1 {
        font-size: 3.8rem;
    }
    h2 {
        /*font-size: 3.0rem;*/
        font-size: 2.2rem;
    }    
    h3 {
        font-size: 2.2rem;
    } 
    footer .main-nav-item a {
        font-size: 1.2rem;
    }  
}

@media screen and (min-width: 760px) and (max-width: 1180px) {
    section {
        padding: 20px 0;
    }
}

@media screen and (max-width: 760px) {
    .decor2, .decor1 {
        width: 38%;
    }
    header a.brand {
        max-width: 120px;
    }
    header img.deezer {
        max-width: 80px;
    }    
    .container {
        width: 92%;
    }    
    img.logo {
        width: 32%;
    } 
    .tickets__header {
        font-size: 2.3rem;
    }    
    .tickets__header img {
        width: 27%;
    }
    .tickets__text {
        font-size: 1.85rem;
        padding: 10px 10px 5px;
    }  
    .gift__text {
        padding: 7px 5px;
        font-size: 1.45rem;
    } 
    .gift__header img {
        height: 20px;
    }  
    .gift {
        padding: 5px;
    }    
    .gift.tickets {
        padding: 5px;
    } 
    a.button.start__btn {
        font-size: 1.8rem;
        line-height: 95px;
        width: 90px;
        height: 90px;
    }     
    .q__num {
        width: 60px;
        height: 60px;
        line-height: 60px;
        border: 3px solid #fff;
        font-size: 2rem;
    }
    .q__title .left {
        width: 80%;
        font-size: 2.2rem;
        line-height: 2.5rem;
        padding: 10px 0;
    }    
    .q4 .q__title .left {
        font-size: 1.8rem;
        line-height: 2.0rem;
    }        
    .q__title .right {
        font-size: 9rem;
        padding-top: 2.6rem;
    }
    .rep {
        /*font-size: 2.8rem;
        line-height: 1.8rem;*/
        font-size: 2.2rem;
        line-height: 2.4rem;       
    } 
    .q4 .rep {
        font-size: 1.7rem;
        line-height: 1.9rem; 
        padding: 6px 10px;      
    }             
    .rep .illustration {
        height: 25px;
    }   
    .bulle {
        left: -48px;
        width: 35px;
        height: 35px;
    }  
    .bulle .fas {
        font-size: 2.2rem;
        line-height: 38px;
    }      

    img.bravo {
        margin: auto auto 10px auto;
        width: 60%;
    }
    #formWrapper {
        margin-top: -25px;
    }

    .gifts__end {
        margin-top: 10px;
        font-size: 2.0rem;
        padding: 5px;
        margin-bottom: 10px;
    }   
    .gifts__end__row {
        margin: 0;
        padding: 5px;
    }       

    .discover {
        width: 260px;
    }    
    .discover__bulle {
        font-size: 2.2rem;
        padding: 20px 30px;
    } 
    .discover__right {
        right: 20px;
        width: 18%;
    }       

    .q__next {
        margin: auto auto 15px auto;
    }        

    .step__q {
        padding-bottom: 160px;
    }

    .step__q .discover {
        bottom: auto;
    }

}


@media screen and (min-width: 1600px) {
    section {
        padding: 150px 0 50px 0;
    }
}



