:root{
	--pg-blue: #269dd6;
	--pg-blue-dark: #025c98;
	--pg-blue-darker:#0062cc;
	--pg-blue-light: #a0e0ff;
	--pg-accent: #f2f5f9;
	--pg-grey: #9CADBC;
	--footertext:#16243d;
}


html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}img{margin:0;padding:0;border:0;outline:0;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}a:focus{outline:0;text-decoration:none}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;transition:all .5s ease}a:hover{text-decoration:none}::-webkit-input-placeholder{opacity:1}:-moz-placeholder{opacity:1}::-moz-placeholder{opacity:1}:-ms-input-placeholder{opacity:1}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
a{color: #3262ff; font-weight: 400}
body {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
    line-height: 1.428571429;
    color: #14274d;
    background-color: #fff;
	min-width: 320px; overflow-x: hidden;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main{position: relative; padding-top: 2rem; padding-bottom: 2rem;background-color: #f0fbff; overflow: hidden}
main:after ,main:before{		content: "";display: block;height:100%; width: 100%;left: 0;top: 0; position: absolute; z-index: 0;}
main:after { background: -webkit-linear-gradient(0deg, rgba(255,255,255,0) 0, rgba(255,255,255,1) 100%);
  background: -moz-linear-gradient(0deg, rgba(255,255,255,0) 0, rgba(255,255,255,1) 100%);
  background: linear-gradient(0deg, rgba(255,255,255,0) 0, rgba(255,255,255,1) 100%);
  background-position: 50% 50%; opacity: 1;}
main:before { opacity: 0.05;
background-image: url("../img/pattern.png"); background-repeat: repeat; background-size: 150%; background-position: center bottom;
}

main .formSection, main .header{position: relative; z-index: 99;}

.progress_box,
.header{margin-bottom: 2rem}

.formSection{box-shadow: 0 5px 20px rgb(0 0 0 / 10%);   background: white; border-radius: 5px;  margin-bottom: 40px; max-width: 800px;overflow: hidden; padding: 2.5rem 1.5rem}
.form fieldset:not(:first-of-type) { display: none; }


.form {max-width: 430px; margin-left: auto; margin-right: auto}	


.step-title {font-size: 1.6rem;margin-bottom: 2rem; font-weight:700;text-align: center }
fieldset .form-cont, .form-btns {max-width: 320px; margin-left: auto; margin-right: auto; transition: all ease .5s}
.step-title.last:before{content: ""; width: 30px; height: 30px; display: block; background-repeat: no-repeat;background-size:100%;display: inline-block;margin-left: auto;margin-right: auto;float: none; background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='_x32_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='-51.2 -51.2 614.40 614.40' xml:space='preserve' fill='%2344c590' transform='rotate(2)'%3E%3Cpath d='M469.402,35.492C334.09,110.664,197.114,324.5,197.114,324.5L73.509,184.176L0,254.336l178.732,222.172 l65.15-2.504C327.414,223.414,512,55.539,512,55.539L469.402,35.492z'%3E%3C/path%3E%3C/svg%3E");background-position: center left; margin-right: 10px; position: relative; bottom: -5px;transform: scale(1.5);}


.step-desc{font-size: 1.1em;margin-bottom: 2rem; font-weight:400;text-align: center }


.form .form-control {
    font-size: 16px;
    line-height: 60px;
    padding: 0 25px;
    font-weight: 500;
    border: solid 1px transparent;
    margin-bottom: 1rem;
    border-radius: 8px;
	background-color: var(--pg-accent)
}

.form .form-control:active,.form .form-control:focus {
    border-color: #269dd6;
    outline: 0;
    -webkit-box-shadow: 0 0 0 3px var(--pg-blue-light);
    box-shadow: 0 0 0 3px  var(--pg-blue-light);
}
.form select.form-control {height: 60px !important; line-height: 60px;  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23696e77' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-position: center right 15px;-moz-appearance: none;appearance: none; background-repeat: no-repeat; background-size: 15px;}
.label{font-weight: 700; margin-bottom: .5rem}


.radio-btn label {position: relative; transition: all .15s linear; white-space: normal; margin-bottom: 15px;  line-height: 1;cursor: pointer;display: flex; flex-direction: row; align-items: center; font-weight: 700; border-radius: 5px;padding:0px 15px; height: 60px;  width: 100%; background-color: var(--pg-accent);  border: solid 1px transparent;     -webkit-user-select: none;  -moz-user-select: none; -ms-user-select: none; user-select: none; }
.radio-btn label span {padding-left: 40px}

.radio-btn label:before { content:" ";background-color: white;pointer-events: none;height: 20px;width: 20px;  box-shadow: 0 0 4px 2px #9cadbc7a inset; transition: all ease .3s; display: block; position: absolute; left: 0; top: 50%; margin-top: -8px; margin-left: 15px; -webkit-border-radius:50%;border-radius:50%;}
.radio-btn input:checked~label:before { box-shadow: 0 0 0 7px var(--pg-blue) inset; background-color: var(--pg-blue-light)}
.radio-btn label:hover:before{background-color: var(--pg-blue-light)}

.radio-btn label:hover,
.radio-btn input:checked~label{-webkit-box-shadow: 0 0 0 3px var(--pg-blue-light);box-shadow: 0 0 0 3px  var(--pg-blue-light); border-color: var(--pg-blue)}

.btn-loading~label span:after{content: ""; display: block; width: 100%; background:var(--pg-blue); height: 100%; position: absolute; left: 0; top: 0;}
.btn-loading~label span:before{content: ""; display: block; width: 24px; height: 24px;position: absolute; right: 0;     top: 50%;margin-top: -12px; left: 50%; margin-left: -12px;  z-index: 99;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 2v6h6M21.5 22v-6h-6'/%3E%3Cpath d='M22 11.5A10 10 0 0 0 3.2 7.2M2 12.5a10 10 0 0 0 18.8 4.2'/%3E%3C/svg%3E");

animation: rotating 1s linear infinite;}

select.btn-loading{background-color: var(--pg-blue)!important; color: #fff!important; font-weight: 700!important}
select.btn-loading::placeholder {color: #fff!important; font-weight: 700!important}

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.form .form-btn{font-style:normal;font-weight:600;font-size:1.2rem;padding:0 10px;position:relative; -webkit-transition:all .15s linear; -o-transition:all .15s linear; transition:all .15s linear;width:100%;background-color:var(--pg-blue);border: none;  color: #fff; margin-bottom: 20px;border-radius: 8px; margin-top: 1rem; display: flex; flex-direction: row; align-items: center; height: 60px; justify-content: center}
.form .btn-text {position: relative;  transition:all .15s linear;}
.form .form-btn:hover,.form .form-btn:active,.form .form-btn:focus{ background:var(--pg-blue-dark);; border-color: #893be8;}

.form .btn-text::before { opacity: 0;
content: ""; display:block; position: absolute; right: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E"); background-position:  center; background-repeat: no-repeat; background-size: 20px; width: 40px; height: 40px; 
transition-duration: 0.3s;transform: perspective(1px) translateZ(0);     top: 50%;
    margin-top: -20px;
}

.form .btn-link{ font-weight:600;color:var(--pg-blue) !important;text-decoration:none;border-bottom:solid 1px var(--pg-blue);border-radius:0;line-height:1;padding:0 0 3px 0;}








.form fieldset:not(:last-of-type) .form-btn:hover .btn-text{padding-right: 40px;}
.form fieldset:not(:last-of-type) .form-btn:hover .btn-text::before{opacity: 1;  animation: btn-arrow  1s ease-in-out infinite;}

.form fieldset:last-of-type .btn-text{padding-right: 40px;}
.form fieldset:last-of-type .btn-text::before{opacity: 1}
.form fieldset:last-of-type .form-btn{
  animation: pulse 1.5s infinite;
  -webkit-animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

@-webkit-keyframes pulse {
  0% { -webkit-transform: scale(1); }
  50% { -webkit-transform: scale(1.1); }
  100% { -webkit-transform: scale(1); }
}


@keyframes btn-arrow{
  16.65% {
    transform: translateX(6px);
  }
  33.3% {
    transform: translateX(-5px);
  }
  49.95% {
    transform: translateX(4px);
  }
  66.6% {
    transform: translateX(-2px);
  }
  83.25% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}


.no-gutter {margin-left: -5px; margin-right: -5px;}
.no-gutter > .col,
.no-gutter > [class*="col-"] {
  padding-right: 5px!important;
  padding-left: 5px!important;
}

@media (min-width: 769px) {
.birth > .no-gutter > .col, .birth > .no-gutter> [class*="col-"] { padding: 0 !important;text-align: center;}
.birth > .no-gutter > .col:nth-child(2) {max-width: 120px }
.birth > .no-gutter > .col:nth-child(2) .form-control{border-radius: 0 !important; border-left: 0; border-right:0; }
.birth > .no-gutter > .col:first-child .form-control{border-top-right-radius: 0; border-bottom-right-radius: 0}
.birth > .no-gutter > .col:nth-child(3) .form-control{border-top-left-radius: 0;border-bottom-left-radius: 0}
.birth {max-width: initial!important}
	
.physique .text-left{max-width: 100px !important}	
	
	
}

.physique .text-left + .col .row{gap:10px;}



#step-bedroom .no-gutter ,#step-bathroom .no-gutter, #step-stories .no-gutter  {margin-left: -5px; margin-right: -5px;}
#step-bedroom .no-gutter > .col, #step-bathroom .no-gutter > .col , #step-stories .no-gutter > [class*="col-"] { padding-left: 5px !important;text-align: center; padding-right: 5px;}




.checkbox input[type=checkbox],
.radio-btn input{margin:0;padding:0;-webkit-appearance:none !important;-moz-appearance:none !important; appearance:none !important;position:absolute;top:0;left: 0;border: none !important;opacity: 0 !important; width: 1px; height: 1px; }


.progress_box{position: relative; z-index: 9; text-align: center}
.progress_box .progress{max-width: 530px; margin-left: auto; margin-right: auto; height: 10px;}
.progress-bar {background-color: var(--pg-blue)}
.progress-val{margin-top: .5rem; font-weight:500!important;}
.progress-val span {font-weight: 700}



#tcpa_cont { padding-bottom: 25px;}
#tcpa_label {font-size: 13px; color: #000; max-width: 590px; margin-top: 25px; margin-left: auto; margin-right: auto; display: block;text-align: justify;}







footer{font-size:1rem; color: var(--footertext); background: var(--footer); text-justify: inter-character; text-align: center; padding-bottom: 30px; border-top: solid 1px #e5e7eb; padding-top:30px; }
.footer-menu  {gap:30px; margin-top: 1rem; margin-bottom: 2rem}
.footer-menu a:not(:last-of-type):after{content: " "; display: inline-block; margin: 0 15px; color: var(--footertext); font-size: .9rem}
footer .disclosure p{font-size: .7rem; color: black;font-weight: 300}
.footer-menu a{color: var(--pg-blue-dark); font-size: 0.813rem}



/*VALIDATION*/
div.error,.form-error-message {color: red;font-size: 12px;margin-bottom:0;display: none; text-align: center; margin-top: -5px;}


.two_col {margin-left: -5px; margin-right: -5px;}
.two_col > [class*="col-"] {padding-left: 5px; padding-right: 5px;}



@media (min-width: 769px) {#income > .col {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}}
	
	
@media (max-width: 768px) {
	header {margin-bottom: 20px;}
	header img {max-width: 200px !important}
	.birth > .no-gutter > .col{min-width: 100%}
	.progress_box .progress,
	.header{max-width: 300px; margin-left: auto; margin-right: auto}
	main{padding:0 20px;}
	.progress_box{margin-top: 20px;}
	.step-title:not(.last){font-size: 1.3rem}
	
	.physique .text-left{min-width: 100% !important}	
	
	.two_col .col-6,
	#coverage_length .col-6,
	#current_insurer .col-6{
		-webkit-box-flex: 0!important;
		-ms-flex: 0 0 100%!important;
		flex: 0 0 100%!important;
		max-width: 100%!important;
	}
}







/*
.auto .form.expand .form-cont {max-width: initial}*/
.auto .form  {max-width: 650px;}
.form-cont.expand{max-width: 100%}
.form-cont.md{max-width: 550px}

.grid-row {gap:10px;}

#vehicle_make-other, #search_model {max-width: 320px; margin-left: auto; margin-right: auto;}

[id*="step-vehicle_"] .no-gutter{margin-left: -5px !important; margin-right: -5px ;}
[id*="step-vehicle_"] .no-gutter > .col, [id*="step-vehicle_"] .no-gutter > [class*="col-"] { padding: 0 5px !important;text-align: center; }	



[id*="step-vehicle_"] .radio-btn label span {padding-left: 0px; width: 100%;}
[id*="step-vehicle_"] .radio-btn label:before{display: none}



#vehicle_year .col , #vehicle_year > [class*="col-"]  { max-width:80px; min-width: 100px;}	

#step-coverage-length .form-group.row  .col,
#current_insurer .col{    -webkit-box-flex: 0; -ms-flex: 0 0 50%;flex: 0 0 50%; max-width: 50%;}

.radio-btn.out{display: none;}
.radio-btn.in{display: block;}

.autocomplete-item {
    padding: 6px;
    display: flex;
    cursor: pointer;
    font-size: 13px;
    color: #14274d;
    align-items: center;
    border-bottom: 1px solid #ececec;
}
.autocomplete-item__label {
    margin-left: 6px;
}

.loading-text{display:block; width:100%; text-align: center !important}




.home-insurance #current_insurer .col{    -webkit-box-flex: 0; -ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%;}