body{font:normal 80% Arial,Tahoma,Helvetica,Sans-Serif;margin:0;padding:0;color:#333;padding:20px;background:#fef7f6}
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:#47a813}
a.bouton{background-color:#47a813;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}

.bloc > div{position:relative;max-width:1100px;margin:0 auto}
.flex > div{border:3px solid #ededed;border-radius:10px;padding:15px}
.flex.first{background:url(/images/form/protection-mutuelle/famille.png) 0 0 no-repeat;min-height:868px}
.flex.first > div{margin-left:340px}

.table{display:inline-table;table-layout:fixed;width:100%;margin:0 auto}
.table .cell{display:table-cell;position:relative}

.header{position:relative}
.header > div{background:white;display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.header .logo{margin-left:20px;color:#f0634d}
.header .logo a{font-size:2em;font-weight:bolder;font-style:italic}
.header .logo img{vertical-align:middle}
.header .logo span{color:#f0634d}
.header .slogan{text-align:center}
.header .slogan p{font-size:20px;font-style:italic;width:500px}
.header .slogan p span{color:#47a813}
.header .slogan p:last-child{font-size:18px}
.header .phone{display:flex;justify-content:center;align-items:center;font-style:italic;gap:1rem;margin-right:20px}
.header .phone .icon{text-align:center;border-radius:50%;background-color:#70c045;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:#f0634d}

.bloc-step{cursor:default;margin-bottom:30px;position:relative}
.bloc-step::after{position:absolute;content:'';border:1px solid #ededed;left:0;top:20px;right:0;margin:0 auto}
.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}
.bloc-step ul li span{display:block;background:#ededed;color:#fff;border-radius:50px;width:40px;height:40px;margin:0 auto;font-size:2.5em;margin-bottom:5px}
.bloc-step ul li span i{font-size:.65em;display:block;padding-top:8px}
.bloc-step ul li.step {color:#f0634d}
.bloc-step ul li.step span{background:#f0634d}

.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-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{background:#FFF;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:#47a813}
.form h1 span:last-child{background:#f0634d;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 #f0634d;color:#f0634d;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:1px solid #47a813;color:#47a813;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 .field > div.R input{cursor:default}
.form .field > div.R p{font-size:1.1em;font-style:italic;margin-top:10px}
.form .field > div.R p.bold{font-weight:bolder;text-transform:uppercase;color:#5f5f61;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 .flex .btn{display:flex;justify-content:space-between;margin-top:auto}
.form .flex .btn.end{justify-content:end}
.form .flex .btn input[type=button]{display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#ededed;border-radius:4px;padding:8px 15px;cursor:pointer;color:#8c8c8c}
.form .flex .btn input[type=submit]{display:inline;width:auto;height:auto;border:0;font-size:1.2em;background:#47a813;border-radius:4px;padding:8px 15px;cursor:pointer;color:#fff;text-transform:uppercase;font-weight:bolder}
.form .flex .btn input[type=submit]:disabled{opacity:.5;cursor:default}
.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}

.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 #47a813;color:#47a813;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{width:90% !important;margin:35px auto !important}
.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:right;padding-right:30px;width:60%}
.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:20px auto !important}
div.checkbox a:hover{color:#47a813}
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:#47a813}
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 {border:2px solid #47a813;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 #f0634d}

.garanty{display:flex;margin-bottom:20px}
.garanty > div{display:flex;flex-direction:column;justify-content:space-evenly;width:20%;padding:10px 0;background:#f7f7f7}
.garanty > div i{display:block;font-size:1.5em;color:#47a813;width:35px}
.garanty > div:hover,
.garanty > div.valid{background:#47a813;color:#FFF;cursor:pointer}
.garanty > div:first-child{border:0;flex-direction:inherit;align-items:center;justify-content:inherit;background:transparent;width:25%;cursor:default}
.garanty > div:first-child:hover{background:none;color:inherit}
.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:1px 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:1px solid #ededed}
.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:inline}
.filter .more-filter .btn input{margin:10px !important;border:0}
.filter .more-filter .btn input:last-child{background:#47a813;color:#fff}
.filter .more-filter .btn input:last-child:hover{color:#fff}
.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:#f0634d}
.filter .garanty.off > div.valid div:last-child{color:#acacac}
.filter .garanty > div div:first-child{display:none}
.filter .garanty input[type=text]{height:auto}

.compare{margin:20px 0;padding:10px;border:1px solid #ededed;border-radius:10px}
.compare:hover,.compare.valid{border-color:#47a813}
.compare:hover .more-btn a {background:#47a813}
.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}
.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:#47a813;display:inline-block;width:30px;text-align:center}
.compare .price{padding:0 10px;text-align:center}
.compare .price .info span{font-size:2em;color:#47a813;font-weight:bolder}
.compare .price .btn-link{display:inline-block;margin:10px 5px;padding:5px 8px;border-radius:8px;background-color:#47a813;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 #ededed}
.compare .price .btn-info a{color:#47a813}
.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:#47a813}
.compare .flex.link{justify-content:space-around;text-transform:uppercase;border-top:1px dotted #ededed;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:12px;font-style:italic;color:#8d8d8d;line-height:22px;width:90%;margin:0 auto}
.footer .logo {text-align:center;margin-top:20px}
.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 #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}
    .header{box-shadow:none;padding:0}
    .header > div{flex-direction: column;gap: 1rem}
    .header .logo{text-align:center}
    .header .slogan{position:initial}
    .header > div, .footer > div{padding:20px}
    .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;margin:40px 0}
    .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}
    .form h1{text-align:center;border:0;width:auto;margin-bottom:10px}
    .form h1 span:first-child{margin-bottom:10px}
    .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 > 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 p{width:auto}
    .footer .logo{margin-top:10px}
    .footer .logo img{margin:10px}
    .garanty{display:inherit}
    .garanty > div{margin:10px auto !important;width:100%;padding:5px !important;box-sizing: border-box;border-radius:10px}
    .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 > div{width:auto;margin:0 auto;text-align:center !important}
    .compare .flex.info p {text-align:justify}
    .compare .offer{display:inline !important}
    .compare .price{margin-top:20px}
    .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}
}