.calcWrapper{
	width: 90%;
	max-width: 952px;
	margin: auto;
	padding: 40px 0;
}

.calcWrapper p{
	margin-bottom: 2em;
}

.calcWrapper h3{
	color: #626262;
	font-family: montserrat, sans-serif;
	font-weight: 800;
	font-style: normal;
	margin-bottom: 2em;
}

.calcWrapper h4{
	color: #626262;
	font-family: work-sans, sans-serif;
	font-weight: 500;
    font-size: 1.1rem;
}

/* ---------------- CIRCLE STEP INDICATORS ---------------- */

.circleIndicators{
	display: flex;
    justify-content: center;
    align-items: center;
}

.circleBtnWrap{
    position: relative;
    display: flex;
    justify-content: center;
    color: #C4C4C4;
    border-color: #C4C4C4;
}

.circleBtnTitle{
	font-family: work-sans, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 15px;
	position: absolute;
	width: 100%;
	text-align: center;
	color: inherit;
}

.circleBtn{
	font-family: montserrat, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 26px;
	line-height: 32px;
	height: 61px;
	width: 61px;
	border: 2px solid;
	border-color: inherit;
	border-radius: 32px;
	background: #FFF;
	color: inherit;
	margin-top: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circleSeperator{
	width: 93px;
	background: #C4C4C4;
	height: 1px;
	margin-top: 24px;
}

.circleBtnWrap.active{
	color: #009CD2;
	border-color: #009CD2;
}

.circleSeperator.active{
	background-color: #009CD2;
}

/* ---------------- STEP ONE ---------------- */

.stepWrap{
	padding-top: 60px;
	display: none;
}

.stepWrap.active{
	display: block;
}

form{
	display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
}

form .fullWidth{
    flex-basis: 100%;
}

form .fullWidth input[type=text]{
    width: calc(50% - 8px);
}

form .halfWidth{
	position: relative;
    flex-basis: calc(50% - 8px);
    margin-right: 16px;
}

.info{
	width: 19px;
    height: 19px;
    position: absolute;
    right: 0px;
    border: 1px solid #C4C4C4;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0px;
    border-radius: 50%;
    color: #C4C4C4;
    cursor: pointer;
    font-size: 14px;
}

form .halfWidth:nth-child(2n+2){
	margin-right: 0px;
}

form .quarterWidth{
	flex-basis: calc(25% - 12px);
    margin-right: 16px;
}

form .quarterWidth:nth-child(4n+5){
	margin-right: 0px;
}

form .halfWidth input{
    width: 100%;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 0 10px;
    border-radius: 5px;
    border: 2px solid;
    border-color: #C4C4C4;
}

form .halfWidth input:focus {
  border-color: #009CD2;
}

form .fullWidth{
	width: 100%;
    margin-bottom: 3em;
    position: relative;
}

form .fullWidth input{
    width: 100%;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 0 10px;
    border-radius: 5px;
    border: 2px solid;
    border-color: #C4C4C4;
}

form .prev{
	flex-basis: 50%;
	justify-content:flex-start;
    margin-top: 3em;
}

form .next{
	flex-basis: 50%;
	display: flex;
    justify-content: flex-end;
    margin-top: 3em;
}

.rangeslider__fill {
    background: #009CD2;
    position: absolute;
}

.rangeslider--horizontal {
    height: 5px;
    width: 100%;
    margin: auto;
}

.rangeslider__fill{
	border-radius: 0px;
	box-shadow: none;
}

.rangeslider--horizontal .rangeslider__handle {
    top: -28px;
}

.rangeslider__handle:after{
	display: none;
}

.rangeslider__handle {
    background: white;
    background-image: none;
    border: 3px solid #009CD2;
    width: 57px;
    height: 57px;
    box-shadow: none;
}

input[type="range"]:focus + .rangeslider .rangeslider__handle{
	-moz-box-shadow: 0 0 8px rgba(0, 156, 210, 0.9);
    -webkit-box-shadow: 0 0 8px rgba(0, 156, 210, 0.9);
    box-shadow: 0 0 8px rgba(0, 156, 210, 0.9);
}

.sliderIcons{
	display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: baseline;
    margin: auto;
    margin-top: 40px;
    margin-bottom: 40px;
}

.sliderIcon{
    flex-basis: 25%;
    justify-content: center;
    display: flex;
}

.sliderOptions{
	display: flex;
    width: 100%;
    margin-top: 4em;
    justify-content: space-between;
    text-align: center;
}

.sliderOption{
	flex-basis: 100%;
	text-align: center;
}

.sliderOption p{
    padding: 10px;
}

.nextBtn{
	font-family: montserrat, sans-serif;
	font-weight: 800;
	font-style: normal;
    width: 281px;
    height: 55px;
    background: #009CD2;
    border-radius: 10px;
    border: 0px;
    color: #FFF;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s linear;
}

.nextBtn:hover{
	background: #0088b9;
}

.prevBtn{
	font-family: montserrat, sans-serif;
	font-weight: 800;
	font-style: normal;
    width: 281px;
    height: 55px;
    background: #FFF;
    border-radius: 10px;
    border: 2px solid;
    border-color: #C4C4C4;
    color: #C4C4C4;
    font-size: 20px;
}

.iconBlocks{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3em;
    width: 100%;
}

.iconBlocks h4{
	flex-basis: 100%;
	margin-bottom: 2em;
    position: relative;
    padding-right: 30px;
}

form .quarterWidth input{
    width: 100%;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 0 10px;
    border-radius: 5px;
    border: 2px solid;
    border-color: #C4C4C4;
}

form .quarterWidth input:focus {
  border-color: #009CD2;
}

.iconText{
    border: 2px solid #009CD2;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 1em;
}

.selectable .iconText:hover, .selectable .iconText.selected{
	background:#009CD2;
}

.selectable .iconText:hover .text, .selectable .iconText.selected .text{
	color: #FFF;
}

.iconText .icon{
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.selectable .iconText:hover .icon img, .selectable .iconText.selected .icon img{
	filter: brightness(0) invert(1);
}

.selectable .iconText, .selectable .textOnly{
	cursor: pointer;
}

.iconText .icon img{
	height: 54px;
	width: auto;
}

.iconText .text{
    flex-basis: 100%;
    text-align: center;
    color: #009CD2;
    font-weight: 600;
    margin-top: 0.5em;
}

.textOnly{
	border: 2px solid #009CD2;
    border-radius: 10px;
    width: 100%;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
    height: 122px;
    font-size: 26px;
    font-weight: 700;
    color: #009CD2;
    box-sizing: border-box;
}

.radioButtons{
	width: 100%;
    position: relative;
    overflow: hidden;
}

.radioButtons ul{
    list-style: none;
    display: flex;
    padding: 0px;
}

.radioButtons ul li input[type=radio]{
  position: absolute;
  visibility: hidden;
}

.radioButtons ul li label{
    border: 2px solid #009CD2;
    border-radius: 10px;
    width: 100%;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
    height: 122px;
    font-size: 26px;
    font-weight: 700;
    color: #009CD2;
    box-sizing: border-box;
    cursor: pointer;
}

.radioButtons ul li:hover label{
	color: #FFFFFF;
}

.radioButtons ul li:hover label {
  background: #009CD2;
}

.radioButtons input[type=radio]:checked+label{
    background: #009CD2;
    color: #FFF;
}

.calcWrapper .radioButtons h4{
	margin-bottom: 2em;
    position: relative;
}

.money, .percentage{
	position: relative;
    font-weight: 700;
    font-size: 18px;
    line-height: 0px;
    color: #C4C4C4;
}

.money:before, .percentage:before{
	content: '£';
    position: absolute;
    left: 0px;
    top: -12px;
    width: 50px;
    height: 49px;
    border-right: 2px solid #C4C4C4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.money.error:before, .percentage.error:before{
	color: red;
	border-color: red;
}

.money:focus-within:before, .percentage:focus-within:before{
	border-right: 2px solid #009CD2;
	background: #009CD2;
	color: #FFF;
} 

 .percentage:before{
	content: '%';
    height: 49px;
 }
 
 .money input, .percentage input{
    padding-left: 60px!important;
 }

/* ---------------- DID YOU KNOW ---------------- */

.didYouKnow{
    display: flex;
    background: #F6F6F6;
    box-shadow: 0 3px 20px #0000004D;
    margin-top: 4em;
    border-radius: 10px;
}

.didYouKnow h3{
	margin-bottom: 0.5em;
}

.didYouKnow p{
	margin-bottom: 0;
}

.didYouKnow .icon{
	display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 30px;
}

.didYouKnow .icon img{
	height: 100px;
	width: auto;
	max-width: none;
}

.didYouKnow .content{
    align-self: center;
    padding: 0 20px 0 0;
}

.fullWidth .custom-select{
    width: calc(50% - 8px);
}

.fullWidth label .labelText{
	padding-right: 30px;
    display: inline-block;
}

.custom-select {
  position: relative;
  font-family: Arial;
  margin-bottom: 16px;
}

.custom-select select {
  display: none;
}

.select-selected {
  background-color: #FFF;
}

.select-selected:after {
    position: absolute;
    content: "";
    top: 20px;
    right: 16px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-color: #707070 transparent transparent transparent;
}

.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

.select-selected {
    color: #707070;
    padding: 11px 10px;
    border: 2px solid #C4C4C4;
    cursor: pointer;
    border-radius: 5px;
    margin-top: 10px;
}

.select-selected.select-arrow-active{
	border-color: #009CD2;
}

.select-items div{
	padding: 10px;
    cursor: pointer;
}

.select-items {
    position: absolute;
    background-color: #FFF;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
    border-left: 2px solid #009CD2;
    border-right: 2px solid #009CD2;
    border-bottom: 2px solid #009CD2;
    margin-top: -5px;
    border-bottom-left-radius:5px;
    border-bottom-right-radius:5px;
}

.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}

.checkbox input[type="checkbox"] {
    opacity: 0;
}

.checkbox label {
    position: relative;
    display: inline-block;
    padding-left: 40px;
}

.checkbox label::before,
.checkbox label::after {
    position: absolute;
    content: "";
    display: inline-block;
}

.checkbox label::before{
    height: 16px;
    width: 16px;
    border: 2px solid;
    border-radius: 2px;
    left: 0px;
    top: 22px;
}

.checkbox label::after {
    height: 7px;
    width: 16px;
    border-left: 3px solid #009CD2;
    border-bottom: 3px solid #009CD2;
    transform: rotate(-45deg);
    left: 4px;
    top: 22px;
}

.checkbox input[type="checkbox"] + label::after {
    content: none;
}

.checkbox input[type="checkbox"]:checked + label::after {
    content: "";
}

.checkbox input[type="checkbox"]:focus + label::before {
    outline: rgb(59, 153, 252) auto 5px;
}

/* ---------------- FORM ERRORS ---------------- */

form .fullWidth .error{
	border-color: red;
}

form .halfWidth .error{
	border-color: red;
}

form .quarterWidth .error{
	border-color: red;
}

.checkbox label.error{
	color: red;
}

.custom-select.error .select-selected{
    border-color: red;
}

@media screen and ( max-width: 800px ){
	
	form .halfWidth {
	    flex-basis: 100%;
	    margin-right: 0px;
	}
	
	.didYouKnow{
	    flex-wrap: wrap;
        justify-content: center;
        padding: 0 40px 40px;
	}
	
	form .prev {
    	flex-basis: 100%;
    	order: 2;
	    margin-top: 1em;
    }
	
	form .next {
    	flex-basis: 100%;
    }
    
    .prevBtn, .nextBtn {
	    width: 100%;
    }
    
    form .quarterWidth {
	    flex-basis: 100%;
	    margin-right: 0px;
	}
	
	
	.iconText .icon {
    	justify-content: left;
    }
	
	.iconText .text {
	    flex-basis: unset;
	    margin-top: 1em;
	    margin-left: 20px;
	}
	
	.next a{
		width: 100%;
	}
	
	.radioButtons .quarterWidth{
	    flex-basis: caclc(50% - 8px);
	}
	
	.radioButtons .quarterWidth:nth-child(1){
		margin-right: 16px;
	}
	
	.radioButtons ul li label{
		height: 90px;
	}
	
	.textOnly{
		height: 90px;
	}
	
	.fullWidth .custom-select {
    	width: 100%;
	}
	
	.sliderIcon{
	    padding: 10px;
	}
	
	.sliderOption p{
	    padding: 8px;
	    font-size: 0.7rem;
	}
	
}