*{
	box-sizing:border-box;
}

body{
	margin:0;
	font-family: "Lato", sans-serif;
}

.container-main{
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	position: relative;
	padding-bottom: 80px;
}

.flex{
	display: flex;
}

.space-around{
	justify-content:space-around;
}

.space-between{
	justify-content:space-between;
}

.center{
	justify-content:center;
}

.align{
	align-items:center;
}

.column{
	flex-direction:column;
}

.border{
	border-radius: 4px;
}

.error{
	margin-top:0 !important;
	font-family: "lato", sans-serif;
	margin-top: -5px;
	color: red !important;
	display: none;
}

a{
	font-family: "roboto", sans-serif;
}
/* HEADER */

header{
	display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 7px 0px;
}

header a{
	font-size: 16px;
	line-height: 19px;
    text-align: right;
	color: #63686E;
	text-decoration:none;
	position: relative;
}

header a:after{
	display: block;
    content: '';
    width: 100%;
    border-bottom: 1px dashed #63686E;
}

/* PROGRESS BAR */

.progress-box{
	width:100%;
	text-align: center;
}

.progress-box p{
	font-size: 18px;
	color: #bababa;
	margin-top: 15px;
}

.progress-bar{
	height: 16px;
	width: 100%;
	position: relative;
	background-color: #F8F8F9;
}

.progress-bar-animated{
	position: absolute;
	background: linear-gradient(360deg, #4C91F7 0%, #46C9F4 100%); 
	transition:all 0.4s;
	height: 16px;
	width: 0;
	left: 0;
	top: 0;
	border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
.step input {
    height: 64px;
    line-height: 42px;
}
/* FORM MAIN */

.form-main{
	position: relative;
	/* margin: auto 0; */
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0px 15px 80px;
}

/* FORM */

form{
	z-index: 999;
	width: 100%;
	height: 100%;
	position: relative;
	margin-top: 40px;
}

.image-absolute.left{
	left: 0;
}

.image-absolute{
	position: absolute;
	bottom: 90px;
}

.image-absolute.right{
	right: 0;
}

/* FORM STEPS */

.step{
	text-align: center;
	display: none;
}

.step_1	{
	display: block;
}

.step-heading{
	font-family: "Lato", sans-serif;
	font-weight: bold;
	font-size: 30px;
	line-height: 47px;
	color: #495464;
}
.opacity {
	position: absolute;
	opacity: 0;
	width: 0;		/* for internet explorer */
}

.visibility {
	visibility: hidden;
}

.hide{
	visibility: hidden;
	padding: 0 !important;
}

.nodisplay {
	display: none;
}

input[type=checkbox]+label {
	font-weight: normal;
}
input[type=checkbox]:checked+label {
	font-weight: bold;
}
input[type=checkbox]:focus+label {
	border: 1px dotted #000;
}
.back{
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 22px;
	text-align: center;
	color: #000000;
	text-decoration:none;
	margin-top:40px;
	display: block;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}

/* STEP 1 */
.step_1{
	max-width:570px;
	margin:auto;
}

.step_1 h3{
	line-height: 47px;
	color: #373640;
	margin-top: 0;
	font-size: 32px !important;
}

.step_1 p{
	line-height: 24px;
	color: #63686E;
}

.step_1 div{
	width: 100%;
}

.box-shadow{
	box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
	padding: 30px 115px 25px 115px;
	border-radius: 4px;
	margin-bottom: 65px;
}

.input-zip{
    justify-content: space-between;	
}

.input-zip input, .input-zip .button, .step .button, .step .button{
	width: 48%;
	height: 64px;
}

.step input{
	padding: 0px 40px;
	border: 1px solid #56606F;
	font-size: 16px;
}
.step input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color:#BABABA;
	font-style: normal;
	font-size: 16px;
	font-family: "Lato", sans-serif;
}

.step input:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:#BABABA;
	font-style: normal;
	font-size: 16px;
	font-family: "Lato", sans-serif;
}

.step input::-ms-input-placeholder { /* Microsoft Edge */
	color:#BABABA;
	font-style: normal;
	font-size: 16px;
	font-family: "Lato", sans-serif;
}

.step .button{
	background: #FF9900;
	border: none;
	color: #ffffff;
	margin: 30px auto;
	font-weight: bold;
	font-size: 16px;
	font-family: "Lato", sans-serif;
	width: 100%;
	max-width: 270px;
	display: flex;
	justify-content:center;
	align-items:center;
}

.step .button:hover{
	cursor: pointer;
	background-color: #fdb13f;
}

.step_1 .button{
	margin-top:0px;
}

/* STEP 2 */
.step_2 .input-radio, .step_4 .input-radio, .box-step-5 div  {
 max-width: 570px;
 margin: auto;
}
/*
input[type="radio"]{
    visibility: hidden;
    position: absolute;
}
*/
.input-radio label{
	width: 50%;
	max-width: 270px;
	height: 223px;
	border: 1px solid rgba(86, 96, 111, 0.5);
    justify-content: center;
    align-items: center;
    font-family: "Lato", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	color: #525252;
	cursor: pointer;
	background-color: #ffffff;
}
.input-radio span{
   	 font-family: "Lato", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	color: #525252;
}

.input-radio span.active{
	color:#58C579 !important;
}

.absolute-radio{
	margin-left: -15px;
	flex-direction:column;	
}

.absolute-radio img{
	margin: 0 auto 15px;
	max-width: 60px;
}

/* STEP 3 */
.step_3{
    max-width: 870px;
    width: 100%;
    margin: auto;
}

.step_3 .input-radio label{
	max-width: 200px;
}

.step_3 .absolute-radio{
	margin-left: -22px;
}

.step_3 br{
	display: none;
}

@media only screen and (max-width: 865px) {
	.step_3 .input-radio{
		justify-content: center;
	}
	
	.step_3 .input-radio label{
		 margin: 0 40px 4%;
	} 
	.step_3 .absolute-radio {
		margin-left: -15px;
	}
}

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

	.step_3 .input-radio label {
		margin: 0 auto 4%;
	}
	.step_3 .absolute-radio{
		max-width: 100%;;
	}
	.step_3 br{
		display: block;
	}
	.pt-20{
		padding-top: 20px;
	}
}


/* STEP 5 */

.box-step-5 div input{
	width: 50%;
	max-width: 270px;
}

/* STEP 6 */

.step_6 input, .step_7 input{
	width: 100%;
	max-width: 570px;
	margin: auto;
	height: 64px;
}
/* STEP 7 */
.step_7{
	max-width: 570px;
	margin: auto;
   
    height: 100%;
    justify-content: space-between;
}

.box-terms{
	margin-top: 50px;
	border-top: 1px solid #BABABA;
	background-color: #ffffff;
}

.box-terms p{
	font-family: Lato;
	font-style: normal;
	font-weight: 300;
	font-size: 12px;
	line-height: 14px;
	color: #000000;
	text-align: left;
}

/* FOOTER */

footer{
    padding: 25px 15px;
    background: #F8F8F9;
    width: 100%;
    position: absolute;
    bottom: 0;
}

footer div{
	max-width: 750px;
	margin:auto;
	padding: 0 15px;
	display:flex;
	justify-content:space-between;
}

footer a{
	font-size: 18px;
	text-align: center;
	color: #000000;
	text-decoration: none;
}

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

header img{
	max-width: 80%;
}
form{
	margin-top:0;
}

.progress-box p{
	margin-top: 5px;
	font-size: 16px; 
}

.step-heading, .step_1 h3{
	font-size	: 24px !important;
	line-height: 26px !important;
}

.container-main{
	padding-bottom: 140px;
}

.image-absolute.right{
	display: none
}

.image-absolute.left{
    position: relative;
    bottom: 0;
    margin: auto;
    max-width: 100%;
}

.form-main{
	margin:0;
	margin-bottom: 0;
	margin-top: 15px;
}

.input-radio span{
	font-size: 16px;
}

.absolute-radio img{
	max-width: 45px;
}

.absolute-radio.flex{
	align-items:center;
}

.box-shadow{
	box-shadow: none;
	padding: 0;
	margin-bottom: 20px;
}

.input-zip{
	flex-direction:column;
}

.input-zip input{
	width: 100%;
	margin-bottom:16px;
}

.input-radio{

}

.input-radio{
	flex-wrap:wrap;
}

.input-radio label{
	width: 46%;
	margin:0 auto 4%;
	height: 188px;
}


 input[type="radio"] {
 	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
 }

.box-step-5 input{
	width: 100% !important;
	max-width: 100% !important;
}

.box-step-5 input:nth-child(1){
	margin-bottom:16px;
}

.box-step-5 div{
	flex-wrap:wrap;
}

footer{
	position: absolute;
	bottom:0;
	padding-bottom: 0;
	padding-top: 30px;
}

footer div{
	flex-wrap:wrap;
	justify-content:center;
}

footer a {
	width: 50%;
	margin-bottom:20px;
}
}
.Notificaton {
    color: red;
    /* margin: 0px 0 0 0; */
    position: absolute;
    /* top: 0px; */
    left: 50%;
    top: 64%;
    transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
.Notificaton {
    top: 60% !important;
    left: 50%;
}
	}
@media only screen and (max-width: 320px) {
.Notificaton {
    top: 58% !important;
    left: 50% !important;
}
	}
	@media only screen and (max-width: 520px) {
.Notificaton {
    top: 59% !important;
    left: 50% !important;
}
	}