:root{
--gradient:linear-gradient(135deg,#5B3DF5,#20D6C7);
}

.icon,body {
    font-weight: 400
}

.custom-control-label,.form,.form-group,label {
    position: relative
}

.btn-lg:after,.form,form {
    margin: 0 auto
}

.icon {
    font-family: icons!important;
    speak: never;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.icon-down-arrow:before {
    content: "\e90c";
  }
.check:before {
    content: "\e901"
}

*,::after,::before {
    box-sizing: content-box
}

label {
    font-size: 1.8rem;
    color: #292929; line-height: 2.6rem;
    margin-bottom: .5rem;font-weight: 600;
}

html {
    font-size: 62.5%
}

body {
    font-size: 1.4rem;
    color: #2c3d63;
    font-family: "Poppins", sans-serif;
    margin: 0
}
.form{max-width: 1150px;margin: 0 auto;
    box-shadow: 0px 30px 40px rgba(102, 126, 234, 0.18),
    0px 10px 25px rgba(0, 0, 0, 0.06);
    border-radius: 15px;border:1px solid #eceef7;
    }
.btn-lg {
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 1px
}
.btn-lg .small {
    font-size: 1.8rem;
    display: grid;
    font-weight: 500;
    text-transform: initial;
    letter-spacing: 0;
}
* {
    box-sizing: border-box
}
.p-0{padding:0 !important}
.mb-0{margin-bottom: 0 !important;}
.pl-0{padding-left: 0 !important;}
.pr-0{padding-right: 0 !important;}
.align-items-start{align-items:flex-start!important}

.title {
    text-align: center;
    padding: 1rem;
    display: flex;
    margin: 0;
    justify-content: center;
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    font-family: "Poppins", sans-serif;
    background: var(--gradient);border-radius: 15px 15px 0 0;
}

form {
    width: 100%;
    padding:2rem;
    background: #fff;border-radius:2rem;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.form-row>.col,.form-row>[class*=col-] {
    padding-right: 1rem;
    padding-left:1rem;
    margin-bottom: 1.5rem
}

.form-control+label {
    position: absolute;
    z-index: 2;
    top: 0.2rem;
    margin: 0;
    transition: all .2s ease-in-out;
    pointer-events: none;
    left: 1.7rem;font-weight: 500;
    font-size: 1.7rem;
    color: #545964
}

.pl-05 .form-control+label, .pr-05 .form-control+label{left: 1.2rem;}

.form-control {
    display: block;
    width: 100%;font-family: "Poppins", sans-serif;
    padding: 2rem .8rem .375rem .8rem;
    height: 5.2rem;
    font-size: 1.7rem;
    font-weight: 500;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #b2c0cd;
    border-radius: 0.8rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control.date{padding:.4rem .8rem .375rem .8rem;font-weight: 600;}
.form .select select{-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;}
.form .select:after{content: "\e90c";
    font-family: icons;
    position: absolute;
    display: inline-block;
    transform: translateY(-50%) rotate(0deg);
    top: 50%;
    right: 2rem;}

.form-control.valid,.form-control.has-value.valid {
    border-color: #198754;
}

.has-success .form-control:focus {
    -webkit-box-shadow: 0 0 0 0.35rem rgb(25 135 84 / 25%);
    box-shadow: 0 0 0 0.35rem rgb(25 135 84 / 25%);
}

.has-error .form-control{background:rgba(255,231,231,0.5)}
.has-success .form-control{background:rgba(25,135,84,0.02)}

.has-success > label, .has-success .form-control:focus ~ label{color:#198754}
.has-error > label, .has-error .form-control:focus ~ label{color:#dc3545}
.error ~ label{color:#dc3545}


.form-control:focus {
    box-shadow: 0 0 0 0.35rem rgb(13 110 253 / 25%);
    border-color: #86b7fe;
    background-color: #fff;
    outline: 0;
}

.form-control.error:focus {
    box-shadow: 0 0 0 0.35rem rgb(220 53 69 / 25%);
}

.form-control.has-value,.has-success .form-control {
    border-color: #198754;
    
}

.group-input-inline{border: 1px solid #b2c0cd;
    border-radius: 0.8rem;
				height: 5.2rem;
				background: #fff;
				display: flex;
    align-items: center;
  
}

input:disabled {
  background-color: #f3f3f3;cursor: not-allowed;
}
    .group-input-inline .custom-control{flex: 0 0 50%;max-width: 50%;padding-left:0;margin-right:0;height: 100%;align-items: center;} 
    .group-input-inline .custom-control:first-child{border-right:1px solid #b2c0cd}

    .group-input-inline .custom-control:first-child input[type=radio]:checked ~ label{border-radius:0.7rem 0 0 0.7rem;}
    .group-input-inline .custom-control:nth-child(2) input[type=radio]:checked ~ label{border-radius:0 0.7rem 0.7rem 0;}


    /* .group-input-inline .custom-control:checked,.group-input-inline .custom-control[checked]{background: #dceaf8;}  */

    .group-input-inline .custom-control-label{
        width: 100%;
        display: flex;height:100%;
        align-items: center;
        padding-left: 3.4rem;font-size: 1.6rem;
    }

    .group-input-inline .custom-control-label:after, .group-input-inline .custom-control-label:before{
        top: 1.3rem;
    left: 0.6rem;
    }
    .group-input-inline .custom-radio .custom-control-input:checked~.custom-control-label:after{
        top: 1.6rem;
    left: 1.4rem;
    }

    .group-input-inline input[type=radio]:checked ~ label {
        background-color: #dceaf8;
      }

      /* .group-input-inline input[type=radio]:checked + label { 
        background-image: none;
         background-color:#d0d0d0;
     } */

.custom-control-inline {
    display: inline-flex;
    margin-right: 1rem
}

.custom-control-input {
    position: absolute;
    z-index: -1;
    opacity: 0
}

.custom-control-input:checked~.custom-control-label:before {
    color: #fff;
    border-color: #b2c0cd;
    background-color: #5a40f4
}

.custom-radio .custom-control-label:before {
    border-radius: 50%
}

.custom-radio .custom-control-input:checked~.custom-control-label:after {
    content: "";
    position: absolute;
    top: 1px;
    left: -1rem;
    display: table;
    width: .4rem;
    height: 1rem;
    border: 3px solid #fff;
    border-top-width: 0;
    border-left-width: 0;
    transform: rotate(45deg)
}

.custom-control-label:after,.custom-control-label:before {
    top: 0;
    left: -2rem;
    display: block;
    width: 2rem;
    height: 2rem;
    content: ""
}

.custom-control-label {
    margin-bottom: 0;
    vertical-align: top;
    color: #444;
    font-size: 1.6rem;
    padding-left: 0.5rem;
    font-weight: 500
}

.custom-control-label:before {
    pointer-events: none;
    background-color: #fff;
    border: 1px solid #b2c0cd;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    position: absolute
}

.has-error .custom-control-label:before {
    border: 1px solid red;
}

.help-block {
    display: none
}

.custom-control-label:after {
    background: 48%/48% 48% no-repeat;
    position: absolute
}

.custom-control {
    position: relative;
    min-height: 1.5rem;
    padding-left: 1.5rem
}

.btn-comparez {
    margin: 1rem auto 1rem auto
}

.btn-lg {
    font-family: "Inter";
    background: #b31217;
    background: linear-gradient(to bottom, #e52d27 0%, #b31217 100%);
    border-radius: 20px;
    padding:2rem 2rem 2rem 3rem;
    color: #fff;
    cursor: pointer;
    text-transform: uppercase;
    border: none;
    display: flex;
    align-items: center;
    text-shadow: 0px 1px 0px rgba(0,0,0,.5);
    position: relative;
    box-shadow: 0 5px 13px rgb(0 0 0 / 30%);
    border: 1px solid #fff;
}

.btn-lg .check {
    top: 7px;
    font-size: 5.5rem;
    margin-left: 2rem
}

#conjoint,#div-rattachement_secu {
    padding-top: 1.5rem;
    border-radius: 10px;margin-bottom: 1.5rem;
}
#conjoint{background:#f3f8fc;}
#div-rattachement_secu{background: #eae7ff;}

.col-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-8,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8 {
    width: 100%;
    position: relative
}

.alert-danger {
    color: red;
    margin-bottom: 1.4rem;
    background-color: #f8d7da;
    padding: .75rem 1.25rem;
    border: 1px solid transparent;
    border-radius: .4rem;
    text-align: center;font-size: 1.5rem;
}
.alert-danger strong{font-weight: 600;}

.privacy {
    padding:0 0 0 2rem
}

.privacy label {
    color: #63638b !important;
    font-weight: 400;
    font-size: 1.7rem;
    padding-left: 2rem;
}
.d-none {
    display:none
}
.privacy .custom-radio .custom-control-label:before{border-radius:0.7rem}
.privacy .custom-control-label:before{width: 2.2rem; height: 2.2rem;}
.privacy .custom-radio .custom-control-input:checked~.custom-control-label:after{left: -1.2rem;width: 0.8rem;height: 1.4rem;}

.pt-1{padding-top: 1rem !important;}
.pr-05{padding-right: 0.5rem !important;}
.pl-05{padding-left: 0.5rem !important;}

#div-nb_enfants{margin-bottom: 0;}

@media only screen and (max-width: 1024px) {
html {
    font-size:54%
}
}

@media only screen and (min-width: 961px) {
	.col-xxl-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-xxl-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-xxl-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xxl-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-xxl-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xxl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    .col-xxl-12{
        flex: 0 0 100%;
        max-width: 100%
    }
}
@media only screen and (max-width: 960px) {
    #civ{display: none;}
	.col-xl-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-xl-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xl-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-xl-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }
    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
	.group-input-inline .custom-control-label{padding-left:3.5rem}
    .group-input-inline .custom-control-label:after,.group-input-inline .custom-control-label:before{left:0.7rem}
    .group-input-inline .custom-radio .custom-control-input:checked~.custom-control-label:after{left: 1.5rem;}
    #vide{display:none}
}

@media only screen and (min-width:600px) and (max-width: 750px) {
.order-lg-1{order: 1;-webkit-order: 1;}
.order-lg-2{order: 2;-webkit-order: 2;}
.order-lg-3{order: 3;-webkit-order: 3;}
.cached3{display: block !important;}

}
@media only screen and (max-width: 750px) {
    #civ1{display: none;}
    
    .col-auto {
        flex:0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-lg-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-lg-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }
    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    
    #div-nb_enfants{margin-left: auto;}
    form {
        padding: 2rem 1rem
    }

    .title {
        font-size: 2.6rem;
		margin: 0;
    }
}

@media only screen and (max-width:475px) {

     .title {
        font-size: 2.4rem;}  
	
}

@media only screen and (max-width: 600px) {
    .order1{order: 1;-webkit-order: 1;}
    .order2{order: 2;-webkit-order: 2;}
    .order3{order: 3;-webkit-order: 3;}
    .cached1{display:none}
    
    .col-md-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-md-2 {
        flex:0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }
    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-md-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }
    .col-md-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }
    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    .btn-comparez {
        margin: 1rem auto 0
    }
    #csc{margin-left: auto;}
    .form-control+label{left: 1.2rem;}
    .pl-05 .form-control+label, .pr-05 .form-control+label{left: 1rem;}
    .form-row>.col, .form-row>[class*=col-]{padding-left:0.5rem;padding-right:0.5rem}
    
    
}
@media only screen and (max-width: 520px) {
    .col-xmd-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-xmd-2 {
        flex:0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-xmd-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xmd-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xmd-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }
    .col-xmd-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-xmd-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }
    .col-xmd-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }
    .col-xmd-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-xmd-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
      
    
}

/* @media only screen and (min-width: 377px) and (max-width: 600px) {
#conjoint > .form-group:first-child{margin-bottom: -5rem;}
} */

@media only screen and (max-width: 480px) {
    
    .col-sm-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    #civ{display: block;}

}
@media only screen and (max-width: 400px) {
	form{padding:1rem 1rem 2rem 1rem}
.privacy label {
    font-size: 1.7rem;
    line-height: 2.2rem;
	padding-left: 1.5rem;
}
}

@media only screen and (max-width: 350px) {
    
    .col-xs-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xs-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xs-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-xs-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

}
@media only screen and (max-width: 300px) {
.col-nv-12{flex: 0 0 100%;max-width: 100%}
}
@media only screen and (max-width: 320px) {
    _:-ms-input-placeholder, :root .btn-lg {
        padding: 2rem;
    }
	.form {
    box-shadow: none
}

    .form-row>.col,.form-row>[class*=col-] {
        margin-bottom: 1rem!important
    }
	.btn-comparez{margin: 0 auto}
}



@media only screen and (max-width: 566px) {
    .btn-lg {
        padding:2rem 4rem 2rem 5rem
    }
   
}
@media only screen and (max-width: 320px) {
    .btn-lg {
        padding:2rem 3rem 2rem 4rem;
        font-size: 3rem;
    }
    .btn-lg .small {font-size: 1.6rem;}
    .btn-lg .check {
        font-size: 4.5rem;
        margin-left: 1rem;
    }
   
}
.hidden {
    position: relative;
    top: -100rem;
}
.cached{display:none}
.cached3{display:none}
#preloder {
    display: none;
    margin-right: 2rem;
}

.loader {
    width: 20px;
    height: 20px;
    border-radius: 60px;
    animation: loader 0.8s linear infinite;
    -webkit-animation: loader 0.8s linear infinite;
}

@keyframes loader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        border: 4px solid #fff;
        border-left-color: transparent;
    }

    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        border: 4px solid #fff;
        border-left-color: transparent;
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
        border: 4px solid #fff;
        border-left-color: transparent;
    }
}

/* FONTS */

/* inter-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/inter/inter-v20-latin-500.woff2') format('woff2'); 
}

/* inter-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/inter/inter-v20-latin-700.woff2') format('woff2'); 
}

/* poppins-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins/poppins-v24-latin-regular.woff2') format('woff2');
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins/poppins-v24-latin-500.woff2') format('woff2'); 
}

/* poppins-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/poppins/poppins-v24-latin-600.woff2') format('woff2'); 
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins/poppins-v24-latin-700.woff2') format('woff2'); 
}

@font-face {
    font-family: icons;
    src: url(fonts/icons/icons.eot);
    src: url(fonts/icons/icons.eot?#iefix) format("embedded-opentype"),url(fonts/icons/icons.woff2) format("woff2"),url(fonts/icons/icons.woff) format("woff"),url(fonts/icons/icons.ttf) format("truetype"),url(fonts/icons/icons.svg#icons) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}