body{font:normal 80% Arial,Tahoma,Helvetica,Sans-Serif;margin:0;padding:0;color:#333}
input,select{background:#fff}
h1,h2,h3,p,ul{margin:0;padding:0;list-style:none;}
h2,h3{font-size:40px;font-weight:normal;text-align:center;margin-bottom:30px}
input[type=date]{font-weight:bolder}
hr{height:1%;border:0;border-top:1px dotted #dadada;vertical-align:middle}
a{text-decoration:none;color:#006eff}
a.bouton{background-color:#21c175;border-radius:8px;color:#FFF;padding:10px 20px;font-size:20px;display:block;max-width:280px;margin:20px auto 0 auto;font-weight:bolder;text-align:center}
.left{text-align:left}
.center{text-align:center !important}
.hide{display:none !important}
.clear{clear:both}

.bloc > div{position:relative;max-width:1100px;margin:0 auto;padding:30px 0}
.table{display:inline-table;table-layout:fixed;width:100%;margin:0 auto}
.table .cell{display:table-cell;position:relative}

.header{border-bottom:1px solid #dadada;padding:10px}
.header > div{display:flex;align-items:center;justify-content:space-between;padding:0;max-width:none}
.header .logo{color:#006eff}
.header .logo a{font-size:2em;font-weight:bolder;font-style:italic}
.header .logo img{vertical-align:middle}
.header .logo span{color:#333}
.header .phone{font-size: 2em;color:#21c175;font-style: italic;font-weight: bold}
.background{background:#fff}
.background > div{min-height:600px;padding:0}

.bloc-step{cursor:default;margin:40px auto;position:relative;width:60%}
.bloc-step::after{position:absolute;content:'';border:1px dashed #dadada;left:0;top:25px;right:0;width:90%;margin:0 auto}
.bloc-step ul{display:flex;justify-content:space-between}
.bloc-step ul li{display:inline-block;color:#dadada;text-align:center;font-size:1.5em;z-index:1}
.bloc-step ul li span{display:block;background:#f0f0f0;color:#fff;border-radius:50px;width:50px;height:50px;font-weight:bolder;margin:0 auto;font-size:2.2em;margin-bottom:5px}
.bloc-step ul li span i{font-size:.8em;position:relative;top:-1px}
.bloc-step ul li.step {color:#21c175}
.bloc-step ul li.step span{background:#21c175}
.bloc-text{width:68%;margin:0 auto;text-align:center;font-style:italic;font-size:25px}
.bloc-encart{font-size:1.2em;line-height:22px;width:70%;margin:50px auto;color:#6e6e6e;font-style:italic;text-align:justify;padding:20px;border-radius:10px;background-color:#FFF;box-shadow:0 0 10px #D2D2D2}
.bloc-triptic{background:#21c175;display:inline-block;border-radius:10px;box-shadow:0 0 10px #D2D2D2;width:260px;height:200px;padding:20px;margin:30px;vertical-align:middle;text-align:center}
.bloc-triptic::before{color:#FFF;font-size:3em;font-weight:bolder;border:3px solid;border-radius:50px;padding:0 10px;margin-bottom:10px;display:inherit;display:inline-block}
.bloc-triptic:nth-child(1)::before{content:'1'}
.bloc-triptic:nth-child(2)::before{content:'2'}
.bloc-triptic:nth-child(3)::before{content:'3'}
.bloc-triptic p{color:#FFF;font-size:16px;text-align:justify;font-weight:bolder;line-height:22px}
.bloc-race,.bloc-ville{background:#f0f5fe;position:absolute;z-index:99;border:1px solid #006eff;width:80%;box-sizing:border-box;text-align:left;left:78px;border-radius:10px;margin-top:-10px}
.bloc-race div,.bloc-ville div{height:160px;margin:10px;overflow-y:auto}
.bloc-race div > a,.bloc-ville div > a{line-height:22px;display:block}
.bloc-race div > a,.bloc-ville div > a:hover{text-decoration:underline}

.form{width:90%;margin:10px auto;padding:10px;text-align:center;position:relative;box-sizing:border-box}
.form h1{font-size:3em}
.form h1 span{display:block;color:#006eff}
.form .field{display:flex;flex-direction:column}
.form .field > div{position:relative;width:80%;margin:0 auto}
.form .field > div.Q{font-size:2em}
.form .field > div.R{padding:20px 0;position:relative}
.form .field > div.R .inline input.valid, 
.form .field > div.R .inline input:hover,
.form .field > div.R .inline input:focus, 
.form .field > div.R .inline select.valid, 
.form .field > div.R .inline select:hover,
.form .field > div.R .inline select:focus, 
.form .field > div.R > span:hover, 
.form .field > div.R > span.valid, 
.form .field > div.R input.valid, 
.form .field > div.R input:hover,
.form .field > div.R input:focus, 
.form .field > div.R select.valid, 
.form .field > div.R select:hover,
.form .field > div.R select:focus, 
.form .field > div.R > div > span.valid,
.form .field > div.R > div > span:hover{border:1px solid #006eff;color:#006eff;transition:all .1s ease-out;cursor:pointer}
.form .field > div.R .inline input,
.form .field > div.R .inline select,
.form .field > div.R input,
.form .field > div.R select,
.form .field > div.R > span, 
.form .field > div.R > div > span{display:block;border:1px solid #d9e6ff;color:#006eff;background-color:#f0f5fe;border-radius:10px;width:80%;margin:8px auto 20px auto;box-sizing:border-box;padding:10px;text-align:left;font-size:1.6em;cursor:default;height:50px}
.form .field > div.R input{cursor:default}
.form .field > div.R p{font-size:1.2em;width:75%;margin:0 auto;text-align:left}
.form .field > div.R p.bold{font-weight:bolder;text-transform:uppercase;color:#333;margin-top:30px}
.form .field > div.R p.bold:first-child{margin-top:0}
.form .field > div.R .inline{display:inline-flex;justify-content:space-between;width:80%}
.form .field > div.R .inline input,
.form .field > div.R .inline select,
.form .field > div.R .inline .radio{width:280px;margin:8px 0 20px 0;background-color:#f0f5fe}
.form .flex .btn{display:flex;justify-content:space-between;margin-top:auto}
.form .flex .btn input[type=button]{text-transform:uppercase;display:inline;width:auto;height:auto;border:0;font-size:1.2em;border-radius:4px;padding:8px 15px;cursor:pointer}
.form .flex .btn input[type=submit]{text-transform:uppercase;display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#21c175;border-radius:4px;padding:10px 30px;cursor:pointer;color:#fff}
.form .flex .btn input[type=submit]:disabled{background-color:#92ddba;cursor:default}
.form .flex .btn input[type=button]:hover{border:0;color:#8c8c8c}
.form .flex .btn input[type=submit]:hover{border:0;color:#FFF}
.form .check{background:url(/images/check.png) no-repeat top center;text-align:center;text-transform:uppercase;font-weight:bolder;font-size:20px;padding-top:150px;color:#4dc447}
.form .error{border-radius:10px}
.form .error label{border-color:#e54d42 !important}
.form .error,.form input[type=text].error{border:1px solid #e54d42 !important;color:#e54d42 !important}

.form fieldset{border:1px solid #006EFF;border-radius:10px;margin-bottom:20px}
.form fieldset legend{padding:10px;margin-left:10px;text-transform:uppercase;font-size:1.2em;text-align:left;color:#006EFF}
.form fieldset > div{padding:10px}
.form fieldset p{width:80%;margin:0 auto}
.form fieldset p.legal{font-size:1em !important;text-align:justify !important;margin:0 auto 20px auto !important;line-height:20px}
.form fieldset .inline input{width:265px !important}
.form fieldset .inline input.iban{width:330px !important}
.form fieldset .inline input.bic{width:200px !important}
.form fieldset .inline > span{display:block;border:2px solid #dadada;color:#006eff;border-radius:10px;width:80%;margin:15px auto;box-sizing:border-box;padding:10px;text-align:left;font-size:1.6em;cursor:default;height:50px}
.form fieldset .inline > span.radio{width:265px !important}
.form fieldset .inline > span.valid,
.form fieldset .inline > span:hover{border:2px solid #006eff;color:#006eff;transition:all .1s ease-out;cursor:pointer}

.load{line-height:22px}
.load.error{border:0 !important}
.load .msg{font-size:1.2em;padding:10px}
.load img{margin:5px 0}
.load p{font-size:1.2em}

.compare{margin:20px 0;padding:10px;border:1px solid #d9e6ff;border-radius:10px;background:#f0f5fe}
.compare:hover,.compare.valid{border-color:#006eff}
.compare:hover .more-btn a {background:#006eff}
.compare .promo{background-color:#fdfde2;border-radius:10px;padding:5px;margin-bottom:15px;font-size:1.2em;letter-spacing:1px}
.compare .promo span{font-size:1.4em;color:#ee4769}
.compare .logo{padding:10px}
.compare .logo img{border-radius:10px}
.compare .offer{width:50%;text-align:left;padding:10px 20px}
.compare .offer > div{font-size:1.2em;font-weight:bolder;text-transform:uppercase;margin-bottom:5px}
.compare .offer > ul li{line-height:24px}
.compare .offer > ul li span{font-weight:bolder}
.compare .offer > ul li i{font-size:1.2em;color:#21c175;display:inline-block;width:20px;text-align:center}
.compare .price{padding:0 10px;text-align:center}
.compare .price .info span{font-size:2em;color:#006eff}
.compare .price .btn-link{display:inline-block;margin:10px 5px;padding:5px 8px;border-radius:8px;background-color:#21c175;text-transform:uppercase;font-weight:bolder}
.compare .price .btn-link a{color:#FFF;display:block}
.compare .price .btn-link a i{font-size:2em;padding:10px 20px}
.compare .price .btn-info{background-color:transparent;border:1px solid #dadada}
.compare .price .btn-info a{color:#0f72b7}
.compare .price .btn-phone{background-color:#47c7ee;border:1px solid #47c7ee}
.compare .price .btn-offer{background-color:#ee4769;border:1px solid #ee4769}
.compare .flex{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:auto}
.compare .flex.info {padding:10px 0}
.compare .flex.info div{flex:0 0 50%;text-align:left;padding:10px 20px;box-sizing:border-box;align-self:flex-start}
.compare .flex.info span{display:block;text-transform:uppercase;font-weight:bolder}
.compare .flex.info p{font-size:1em !important;text-align:justify !important;font-style:normal !important;color:inherit !important;width:auto !important;margin:10px auto !important}
.compare .flex.info ul li i{margin-right:5px;font-size:1.2em;color:#21c175}
.compare .flex.link{justify-content:space-around;text-transform:uppercase;border-top:1px dotted #006eff;padding-top:10px}
.compare .flex.link a:hover{text-decoration:underline}
.compare .more-btn a{display: inline-block;background:#006eff;color:#fff;border-radius:10px;padding:2px 10px}
.compare .more-btn a i{font-size:.9em}
.compare .more-info{display:none}

div.checkbox{display:flex;text-align:left;font-size:1.1em;font-weight:bolder;line-height:22px;width:80%;margin:20px auto 10px auto}
div.checkbox a:hover{color:#21c175}
span.switch{display:block;width:60px}
span.switch input[type=checkbox]:empty{display:none}
span.switch input[type=checkbox]:empty ~ label{position:relative;line-height:1.8em;text-indent:4.2em;cursor:pointer;margin:0;display:inline-block;height:23px;line-height:2}
span.switch input[type=checkbox]:empty ~ label:before,
span.switch input[type=checkbox]:empty ~ label:after{position:absolute;top:0;bottom:0;left:0;content:' ';width:3.58em;background-color:#006eff;transition:all 100ms ease-in;box-shadow:inset 2px 2px 2px 1px rgba(51,51,51,0.2);border-radius:4px}
span.switch input[type=checkbox]:empty ~ label:after{width:1.4em;top:2px;bottom:2px;margin-left:2px;background-color:#FFF;box-shadow:none;border-radius:2px}
span.switch input[type=checkbox]:checked ~ label:before{background-color:#21c175}
span.switch input[type=checkbox]:checked ~ label:after{margin-left:2em}

span.more{cursor:pointer !important}
span.radio span{padding:10px 5px 0 5px;margin:0 !important}
span.radio input[type=radio]{display:none !important}
span.radio input[type=radio] ~ label {background-color:#FFF;border:2px solid #d9e6ff;border-radius:10px;width:100%;display:inline-block;position:relative;width:1em;height:1em;cursor:pointer;font-size:small;vertical-align:middle}
span.radio input[type=radio]:checked ~ label {background:#FFF;border:2px solid #006eff}

.footer{line-height:18px;padding:10px;text-align:justify;color:#98bad5}
.footer a{text-decoration:underline;color:#b3b3b3}
.footer > div{padding:0}
.footer p{font-size:.85em;color:#b3b3b3;line-height:22px;width:90%;margin:20px auto}
.footer .logo {text-align:center;margin-top:30px}
.footer .logo img{vertical-align:top;margin:0 10px}

#msgBox > div:nth-child(1){font-size:1.8em !important}
#msgBox > div:nth-child(2) .prompt{text-align:center;padding:5px;width:280px}
#msgBox > div:nth-child(2) .prompt input{font-size: 1.2em;margin:20px auto 0 auto;padding:10px;border-radius:10px;border:2px solid #dadada;color:#0f72b7}
#msgBox > div:nth-child(3) button{font-size:1.2em !important}
#step-01 div.R span.radio{height:auto;text-align:center}
#step-01 div.R span.radio label{display:none}
#step-01 div.R span.radio img{vertical-align: middle;margin-bottom:10px}

@media screen and (max-width: 990px) {
    h2, h3{font-size:30px}
    .header{box-shadow:none;padding:0;text-align:center}
    .header > div{flex-direction:column}
    .header .logo{margin-bottom:10px}
    .table{display:flex;flex-direction:column}
    .table .cell{display:block !important}
    .bloc > div{padding:20px 0}
    .bloc-info{position:inherit;top:0;box-shadow:none;width:85%;margin:20px auto}
    .bloc-info ul li{background:none;padding:0;font-size:1.1em}
    .bloc-image{position:inherit;background:none;height:auto;background-color:rgba(255, 255, 255, .9);border-radius:8px;padding:20px;bottom:unset;left:unset;margin-left:0;width:85%;margin:20px auto}
    .bloc-image ul{position:inherit;top:0;left:0}
    .bloc-triptic{height:auto;display:block;box-shadow:none;margin:30px auto}
    .bloc-text{width:90%;font-size:1.5em}
    .bloc-encart{width:80%;margin:30px auto;box-shadow:none}
    .bloc-ville{width:100%;left:0;bottom:-110px;padding:10px !important}
    .bloc-ville a{padding-bottom:10px}
    .bloc-step{text-align:center;margin:40px 0;width:auto}
    .bloc-step::after{width:auto}
    .bloc-step ul {display:flex;justify-content:space-between}
    .bloc-step ul li{display:inline-block;margin:0;font-size:1.2em}
    .bloc-step ul li span{display:none}
    .bloc-race,.bloc-ville{width:100%;left:0}
    .form{border-radius:0;width:auto;box-shadow:none;margin:0 auto;background-image:none}
    .form h1{text-align:center;border:0;width:auto;margin-bottom:10px}
    .form > .flex{min-height:320px}
    .form .field{min-height:auto}
    .form .field > div{width:auto}
    .form .field > div.Q{font-size:1.8em;padding:10px}
    .form .field{display:block}
    .form .field div{padding:0;display:block}
    .form .field div.more-filter{display:none}
    .form .field div.filter div.flex{min-height:auto;line-height:22px;padding:10px 0}
    .form .field > div.R{padding:0}
    .form .field > div.R select{width:90%}
    .form .field > div.R > select, .form .field > div.R > span, .form .field > div.R > input, .form .field > div.R > div > span{width:100%;font-size:1.4em}
    .form .field > div.R .inline{display:inline}
    .form .field > div.R .inline input{width:90% !important}
    .form .field > div.R .inline .radio{display:block;width:auto}
    .form .field > div.R p{width:auto}
    .form .check{margin:50px 0 !important}
    .form fieldset input, .form fieldset .inline input.iban,.form fieldset .inline input.bic,
    .form fieldset span.radio{width: 90% !important;margin: 15px auto !important}
    .form fieldset p.legal{width:90%}
    .load{font-size:1em}
    .compare{padding:10px !important}
    .compare .logo{padding:10px !important}
    .compare > div{width:auto;margin:0 auto;text-align:center !important}
    .compare .flex.info p {text-align:justify}
    .compare .offer{display:inline !important;text-align:center}
    .compare .price{margin-top:20px}
    .compare .price .btn-link{display:block}
    .footer p{width:auto}
    .footer .logo{margin-top:10px}
    .footer .logo img{margin:10px}
    #overlay #close{display:block;border-radius:0}
}