body{font:normal 80% 'Trebuchet MS',Sans-Serif;margin:0;padding:0;color:#333}
textarea{font:1em Arial,Tahoma,Helvetica,Sans-Serif}
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 #ededed;vertical-align:middle}
a{text-decoration:none;color:#2680df}
a.bouton{background-color:#2680df;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}
.center{text-align:center !important}
.hide{display:none !important}
.clear{clear:both}
.table{display:inline-table;table-layout:fixed;width:100%;margin:0 auto}
.table .cell{display:table-cell;position:relative}
.bloc-success{padding:50px}
.background{background: url(/images/form/altosante/famille.jpg) no-repeat top right;background-size:cover}

.first{max-width:600px;margin: 0 auto}
.first > div{border-radius:10px;padding:15px;background:linear-gradient(to bottom, #2680df 0%,#6da9ea 100%)}
.form1{margin-bottom:10px}
.form1 > .field{background-color:white;padding:20px;border-radius:10px;margin:0 10px}

.header{padding:20px;cursor:default}
.header > div{display:flex;align-items:center;justify-content:space-evenly}
.header .logo{font-size:3.5em;text-align:center}
.header .logo div:first-child{font-weight:bolder;color:#2680df;text-shadow:#FFF 1px 0 20px}
.header .logo div:last-child{font-size:.6em;font-weight:bolder}
.header .slogan{font-size:3em;text-align:center}
.header .slogan div:first-child{font-weight:bolder}
.header .slogan div:last-child{font-size:.5em}
.header .phone{display:flex;justify-content:center;align-items:center;font-style:italic;gap:1rem;background:rgba(255,255,255,1);border-radius:2rem;padding:.5rem;margin:0 -5rem}
.header .phone .icon{text-align:center;border-radius:50%;background-color:#f58617;color:white;width:1rem;height:1rem;padding:1rem;font-size:1.5rem;position: relative}
.header .phone .icon i{position: absolute;top:50%;left:50%;transform: translate(-50%, -50%)}
.header .phone .info :first-child{font-size:20px;margin-bottom:.25rem}
.header .phone .info :last-child{font-size:24px;font-weight:bolder;color:#2680df}

.bloc-step{cursor:default;margin:10px auto 20px;position:relative}
.bloc-step ul{display:flex;justify-content:space-around;margin:0 auto}
.bloc-step ul li{display:inline-block;color:#c4c4c4;text-align:center;font-size:1.2em;z-index:1;background:white;padding:10px;width:30%;border-radius:10px;box-sizing:border-box}
.bloc-step ul li span{display:block;background:#ededed;color:#fff;border-radius:50%;width:40px;height:40px;margin:0 auto;font-size:2em;margin-bottom:5px;line-height:40px}
.bloc-step ul li span i{font-size:.65em;display:block;padding-top:8px}
.bloc-step ul li.step {color:#fff;background:linear-gradient(to bottom, #f58515 0%,#ffc184 100%)}
.bloc-step ul li.step span{background:#2680df;border:2px solid #fff}

.bloc-text-1{padding:50px}
.bloc-text-1 h2{color:#2680df;font-weight:bolder}
.bloc-text-1 hr{border: 2px solid #2680df}
.bloc-text-1 .bloc-text{display:flex;align-items:start;justify-content:space-around;margin:50px;gap:10px}
.bloc-text-1 .bloc-text > div{text-align:center;font-size:2em}

.bloc-text-2{padding:50px}
.bloc-text-2{background-color:#2680df;color:#fff}
.bloc-text-2 .bloc-text{font-size:2em;line-height:1.5em}
.bloc-text-2 h2{font-weight:bolder}
.bloc-text-2 hr{border: 2px solid #fff}
.bloc-text-2 .bloc-text > div{margin:30px 60px}

.bloc-text-3{padding:50px}
.bloc-text-3{background-color:#6ca8ea;color:#fff}
.bloc-text-3 h2{font-weight:bolder}
.bloc-text-3 hr{border: 2px solid #fff}
.bloc-text-3 .bloc-text{display:flex;align-items:start;justify-content:space-around}
.bloc-text-3 .bloc-text > div{width:400px;background-color:#fff;padding:50px 20px 20px 20px;border-radius:10px;color:#333;text-align:justify;font-size:1.2em;margin-top:100px;line-height:30px;font-style:italic;position:relative}
.bloc-text-3 .bloc-text .homme{background: url(/images/form/altosante/homme.jpg) no-repeat center center;width: 100px;height: 100px; border-radius: 50%;display:block;border:5px solid #fff;position:absolute;top:-65px;left:160px}
.bloc-text-3 .bloc-text .femme{background: url(/images/form/altosante/femme.jpg) no-repeat center center;width: 100px;height: 100px; border-radius: 50%;display:block;border:5px solid #fff;position:absolute;top:-65px;left:160px}

.badge{color:#fff;width:100px;height:100px;margin:0 auto;border-radius:50%;margin-bottom:20px;line-height:120px}
.badge i{font-size:2em}
.badge-1{background-color:#9ec02e}
.badge-2{background-color:#2ca3b9}
.badge-3{background-color:#d65430}
.badge-4{background-color:#dd9d39}

.bloc-ville{background:#fff;position:absolute !important;z-index:99;border:1px solid #d5d5d5;width:100%;box-sizing:border-box;line-height:22px;height:100px;text-align:left;overflow-y:auto;padding:5px 10px;bottom:-99px;border-radius:10px}
.bloc-ville > a{display:block}

.form{padding:0 20px;text-align:center;position:relative;box-sizing:border-box}
.form h1{font-size:2em;font-weight:bold;margin-bottom:30px}
.form h1 span{display:inline-block}
.form h1 span:first-child{text-transform:uppercase;color:#2680df}
.form h1 span:last-child{background:#2680df;color:#fff;padding:4px 8px;border-radius:4px;letter-spacing:.1em}

.form .field > div{position:relative;margin:0 auto;width:100%}
.form .field > div.Q{font-size:2em}
.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 > 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 > div > span.valid,
.form .field > div.R > div > span:hover{border:1px solid #2680df;color:#2680df;transition:all .1s ease-out;cursor:pointer}
.form .field > div.R .inline input,
.form .field > div.R input,
.form .field > div.R > span, 
.form .field > div.R > div > span{display:block;border:2px solid #ededed;color:#2680df;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;text-align:center}
.form .field > div.R input{cursor:default;color:inherit}
.form .field > div.R p{font-size:1.25em;font-style:italic;margin-top:10px}
.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 .radio{width:280px;margin:15px 0}
.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,.form select.error{border:2px solid #e54d42 !important;color:#e54d42 !important}

.first .btn{display:flex;justify-content:space-between;margin-top:auto}
.first .btn.end{justify-content:end}
.first .btn input[type=button]{display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#ededed;border-radius:4px;padding:10px 20px;cursor:pointer;color:#8c8c8c}
.first .btn input[type=submit]{display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#f58617;border-radius:4px;padding:10px 20px;cursor:pointer;color:#fff;text-transform:uppercase;font-weight:bolder}
.first .btn input[type=submit]:disabled{opacity:.5;cursor:default}

.form fieldset{border:2px solid #ededed;border-radius:10px;margin-bottom:20px}
.form fieldset legend{padding:10px;margin-left:10px;font-weight:bolder;background-color: #FFF;text-transform:uppercase;font-size:1.2em;letter-spacing:1px;text-align:left}
.form fieldset > div{padding:10px}
.form fieldset p{width:80%;margin:0 auto;text-align:left}
.form fieldset p.legal{font-size:1em !important;text-align:justify !important;margin:0 auto 20px auto;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:1px solid #2680df;color:#2680df;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:hover,.form fieldset .inline > span.valid{border:1px solid #e54d42;color:#e54d42;transition:all .1s ease-out;cursor:pointer}

.form-alt .field{display:flex;flex-direction:inherit;align-items:center;margin-bottom:20px;font-size:1.2em}
.form-alt .field .info{font-weight:bolder;display:block}
.form-alt .field div:first-child{text-align:left;padding-right:30px;width:50%}
.form-alt .field div .info{text-transform:uppercase;margin-bottom:8px}
.form-alt .field input[type=number],.form-alt .field input[type=text],.form-alt .field input[type=email],.form-alt .field textarea,.form-alt .field select{background:#FFF;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%}
.form-alt .field input[type=number],.form-alt .field input[type=text],.form-alt .field input[type=email],.form-alt .field textarea{padding:10px;font-size:1em;color:gray}
.form-alt .field label{display:block;margin-bottom:5px}
.form-alt .field select{padding:10px;font-size:1em;color:gray}
.form-alt .field div.flex{display:flex;padding:0;justify-content:space-between}
.form-alt .field div.flex > div{padding:0}
.form-alt .field div.flex.flex-col-2 > div:nth-of-type(1){padding-right:16px}
.form-alt .field div.flex.flex-col-3 > div:nth-of-type(2){padding:0 16px}

div.checkbox{display:flex;text-align:left;font-size:1.1em;font-weight:bolder;line-height:22px;width:80%;margin:10px auto !important}
div.checkbox a:hover{color:#2680df}
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:#c8c8c8;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:#2680df}
span.switch input[type=checkbox]:checked ~ label:after{margin-left:2em}

input.prev{display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#dadada;border-radius:4px;padding:8px 15px;cursor:pointer;color:#8c8c8c}

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 {border:2px solid #2680df;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,span.radio:hover input[type=radio] ~ label {border:2px solid #e54d42}

.choices{margin-bottom:20px}
.title{text-align:left;font-weight:bolder;font-size:1.2em;text-indent:10px}
.legend{font-style:italic}
.garanty{display:flex;margin:10px 0;justify-content:space-evenly}
.garanty > div{display:flex;flex-direction:column;justify-content:space-evenly;width:23%;padding:5px 0;background:#d3e0ec}
.garanty > div i{display:block;font-size:1.5em;color:#2680df}
.garanty > div:hover,
.garanty > div.valid{background:#2680df;color:#FFF;cursor:pointer}
.garanty > div div:first-child{font-size:1.5em}
.garanty > div[data-value="1"]{border-top-left-radius:10px;border-bottom-left-radius:10px}
.garanty > div[data-value="4"]{border-top-right-radius:10px;border-bottom-right-radius:10px}

.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}

.filter{border-radius:10px;padding:10px;margin:20px 0;border:2px solid #ededed}
.filter .table{display:inline-table;table-layout:fixed;width:100%}
.filter .table .cell{display:table-cell}
.filter .table .cell:first-child{width:80%;border-right:2px solid #2680df}
.filter .flex{display:flex;flex-direction:row;justify-content:space-between;padding:0 5px;text-transform:uppercase;font-weight:bolder;border:0}
.filter .flex > div{border:0;padding:0}
.filter .more-filter{border-top:1px solid #ededed;padding-top:10px;margin-top:8px;display:none}
.filter .more-filter p{color:inherit !important}
.filter .more-filter input[type=text]{border-width:1px !important;text-align:center !important}
.filter .more-filter .btn{display:flex}
.filter .more-filter .btn input{margin:10px !important;border:0}
.filter .more-filter .btn input:last-child{background:#2680df;color:#fff;border:0}
.filter .more-filter .btn input:last-child:hover{color:#fff !important}
.filter .more-filter .inline{text-transform:uppercase;font-weight:bolder}
.filter .more-filter .inline span.radio{cursor:pointer}
.filter .more-filter .inline span.radio input[type=radio] ~ label {vertical-align:sub}
.filter .garanty{margin:10px auto;width:96%;line-height:initial}
.filter .garanty.off{pointer-events:none;opacity:.4}
.filter .garanty.off > div.valid{border-color:#ededed}
.filter .garanty.off > div.valid div:first-child{color:#2680df}
.filter .garanty.off > div.valid div:last-child{color:#acacac}
.filter .garanty > div:first-child{background:transparent;color:#333 !important;}
.filter .garanty > div div:first-child{display:none}
.filter .garanty > div {width:19%;padding:0}
.filter .garanty input[type=text]{height:auto}

.compare{margin:20px 0;padding:10px;border:2px solid #ededed;border-radius:10px}
.compare:hover,.compare.valid{border-color:#2680df}
.compare:hover .more-btn a {background:#2680df}
.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 .offer{width:40%;text-align:left;padding:0 10px;letter-spacing:1px;font-size:1.15em}
.compare .offer > div{font-size:1.2em;font-weight:bolder;text-transform:uppercase;padding:0 6px;margin-bottom:6px}
.compare .offer > ul li{line-height:28px}
.compare .offer > ul li span{font-weight:bolder}
.compare .offer > ul li i{font-size:1.5em;vertical-align:sub;color:#2680df;display:inline-block;width:30px;text-align:center}
.compare .price{text-align:center;display:flex;align-items:center;gap:10px}
.compare .price .info span{font-size:2em;color:#2680df;font-weight:bolder}
.compare .price .btn-link{display:inline-block;margin:10px 5px;padding:5px 8px;border-radius:8px;background-color:#2680df;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-top:5px}
.compare .price .btn-info{background-color:transparent;border:1px solid #2680df}
.compare .price .btn-info a{color:#2680df}
.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;border:0;padding:0}
.compare .flex > div{border:0;padding:0}
.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}
.compare .flex.info ul li i{margin-right:5px;font-size:1.2em;color:#2680df}
.compare .flex.link{justify-content:space-around;text-transform:uppercase;border-top:1px dotted #2680df;padding-top:10px}
.compare .flex.link a:hover{text-decoration:underline}
.compare .more-btn a{display: inline-block;background:#cacaca;color:#fff;border-radius:10px;padding:2px 10px}
.compare .more-btn a i{font-size:.9em}
.compare .more-info{display:none}

.footer{line-height:18px;text-align:justify}
.footer > div{background:#fff;padding:20px 0}
.footer p{font-size:1.2em;font-style:italic;color:#8d8d8d;line-height:22px;width:90%;margin:20px auto}
.footer .logo {text-align:center;margin-top:20px}
.footer .logo img{vertical-align:top;margin:0 10px}

#bloc_2{margin:20px auto}
#step-05 .btn{display:flex;gap:5%}
#step-05 .btn .prev{border:0}
#step-05 .btn .next{border:0;background-color:#2680df;color:#fff}

#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 #ededed}
#msgBox > div:nth-child(3) button{font-size:1.2em !important}
input[type=button]:hover,input[type=button]:focus{border:0 !important;color:#8c8c8c !important}
input[type=submit]:hover,input[type=submit]:focus{border:0 !important;color:#fff !important}

@media screen and (max-width: 990px) {
    h2, h3{font-size:30px}
    .background{background-size:auto}
    .header > div{flex-direction:column;gap: 1rem}
    .header .logo, .header .slogan{margin-bottom:20px}
    .header{box-shadow:none;padding:0}
    .flex.first{background:none}
    .flex.first > div{margin-left:auto}
    .table{display:flex;flex-direction:column}
    .table .cell{display:block !important}
    .bloc-ville{width:100%;left:0;bottom:-110px;padding:10px !important}
    .bloc-ville a{padding-bottom:10px}
    .bloc-step{text-align:center}
    .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-text-1 .bloc-text{display:block}
    .bloc-text-1 .bloc-text > div{margin-bottom:20px}
    .bloc-text-2 .bloc-text > div{margin:30px 0}
    .bloc-text-3 .bloc-text{display:block}
    .bloc-text-3 .bloc-text > div{width:auto}
    .bloc:not(:first-child) > div{padding:0}
    .form{padding:0}
    .form h1{text-align:center;border:0;width:auto;margin-bottom:10px}
    .form h1 span:first-child{margin-bottom:10px}
    .form1 > .field{margin:0}
    .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}
    .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 > 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.bold{margin-top:20px !important}
    .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%}
    .form .flex .btn input[type="submit"]{font-weight:normal}
    .form-alt{width:100% !important}
    .form-alt .field div:first-child{text-align:left;width:auto;margin-bottom:5px}
    .load{font-size:1em}
    .footer .logo{margin-top:10px}
    .footer .logo img{margin:10px}
    .garanty > div{margin:10px auto !important;width:100%;padding:5px !important;box-sizing:border-box}
    .garanty > div:first-child{text-align:left;display:block;width:100%;margin-bottom:10px !important}
    .garanty > div i{display:inline;margin-right:5px}
    .compare{padding:10px !important}
    .compare .flex{display:inherit}
    .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;display:block}
    .compare .price .btn-link{display:block}
    .checkbox{display:flex !important}
    .filter .table .cell:first-child{width:85%;margin:0 auto;border:0}
    .filter .more-filter p{margin-top:20px}
    #step-01 div.R{width:auto !important}    
    #overlay #close{display:block;border-radius:0}
    #lightBox{width:90% !important;height:80% !important}
}