#applicationform {width:100%;padding:20px;background-color: #c2eef8;text-align: center;border-radius: 20px;font-size: 14px;}

/* Paragraphs */
#applicationform p {margin:8px 4px;padding:0;text-align: center; line-height: 1.3em;}
#applicationform p.warning {color:red;}
#applicationform p.warning input, #applicationform p.warning select, #applicationform p.warning textarea  { border-color: red; }

/* Fieldsets */
#applicationform div.fieldsets { width: 100%;position: relative; overflow: hidden;  -webkit-transition: height 1s; /* Safari prior 6.1 */ transition: height 1s;}
#applicationform div.fieldsets fieldset { width: 100%; display: none; position: absolute;  border: none; float: left; padding:0;margin:0;}
#applicationform fieldset h2 {color:#15528c;padding: 0;text-align: center;}
#applicationform fieldset div.left{float:left;width:100%;padding: 0;text-align: left;line-height: 1.1em;margin: 10px 0 4px 0;font-weight:300;}
#applicationform fieldset div.right{float:right;width:100%;padding: 0;line-height: 1.5em;margin: 2px 0;text-align: left; font-weight: 300;}

#applicationform fieldset div.right.uploads {display:grid;grid-template-columns: 33.3333% 33.3333% 33.3333%;}

#applicationform fieldset div.right .warning {border-color: red;}
#applicationform fieldset div.right .warning .image_upload_preview {border-color: red;}

#applicationform .moneycheck {font-size: 18px;}

.section_success, .section_success_title, .section_success_blurb p {text-align: center;}
h2.section_success_title {color:#FFF;}

/* Circle Rules */
#applicationform .circle-down 	{ height: 34px; width: 34px; position: absolute; top: 0; left: 0; border: 3px solid #0e5e9b;border-radius: 17px;background-color: #ffffff;}
#applicationform .circle-down:after {
	content: "";
	width: 15px;
	position: absolute;
	height: 3px;
	background-color: #0e5e9b;
	top: 50%;
	margin-top: -1px;
	left: 50%; 
	margin-left: -7px;
	border-radius: 1.5px;
}
#applicationform .circle-up 	{ height: 34px; width: 34px; position: absolute; right: 0; top: 0; border: 3px solid #0e5e9b; border-radius: 17px;background-color: #ffffff;}
#applicationform .circle-up:after {
	content: "";
	width: 15px;
	position: absolute;
	height: 3px;
	background-color: #0e5e9b;
	top: 50%;
	left: 50%; 
	margin-top: -1px;
	margin-left: -7px;
	border-radius: 1.5px;
}
#applicationform .circle-up:before {
	content: "";
	width: 3px;
	position: absolute;
	height: 15px;
	background-color: #0e5e9b;
	top: 50%;
	left: 50%;
	margin-top: -7px;
	margin-left: -1px;
	border-radius: 1.5px;
}
.output-number {color: #0e5e9b;font-size:25px;}
.output-number output {color: #343848;font-weight: 300;}
.output-pad	{ padding: 0 25px; line-height: 25px; min-height: 25px; position: relative;text-align: center;margin-top: 25px;}
.circle-up:hover, .circle-down:hover { background-color: #cccccc; cursor: pointer; }
.circle-control {touch-action: none;}

/* Range */
.applicationform_slider_output {padding-top:18px;}

.applicationform,
.applicationform__fill {
	background: #ccc;display: block;height: 14px;
	-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;border-radius: 7px;}

.applicationform {position: relative;height: 14px;width: 100%;margin:25px 0;}

.applicationform--disabled {filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);opacity: 0.4;}

.applicationform__fill {height: 14px;width: 100%;background: #0e5e9b;position: absolute;top: 0;border-radius: 7px;}

.applicationform__handle {
	background: #fff;
	border: 3px solid #0e5e9b;
	cursor: pointer;
	display: inline-block;
	border-radius: 17px;
	width: 34px;
	height: 34px;
	position: absolute;
	top: -10px;
}

/* Inputs */
#applicationform input[type=button] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#applicationform span.select {
	position: relative !important;
	display: block !important;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	width: auto;
}
#applicationform input[type=text], #applicationform input[type=number], #applicationform input[type=tel], #applicationform input[type=email], #applicationform select, #applicationform textarea {
	width:100%;
	border: 1px solid #0e5e9b;
	border-radius: 17px;
	padding: 0 17px;
	box-sizing: border-box;
	color: #2C3E50;
	font-size: 14px;
	outline: none;
	line-height: 34px;
	background-color: #ffffff;
}

#applicationform .output-number input {text-align: center;font-size: 14px;padding:2px;}

#applicationform input[type=range] {
	background: none;
	border:none;
	padding:0;
	margin: 0;
}

.dategrid {display: grid;
	grid-template-columns: 32.66% 32.66% 32.66%;
	grid-gap: 1%;
}

#applicationform select {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: white;
	margin-right:6px;
	padding: 0 17px;
}

#applicationform select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

/* Checkbox */
#applicationform input[type="checkbox"] {display:none;}
#applicationform input[type="checkbox"] + label::before {
	width: 20px;
	height: 20px;
	border: 1px solid #0e5e9b;
	border-radius: 10px;
	background-color: #fff;
	display: block;
	content: "";
	float: left;
	margin-right: 5px;
}

#applicationform input[type="checkbox"].required+ label::before {border-color: #15528c;}
#applicationform input[type="checkbox"].warning + label::before {border-color: red;}
#applicationform input[type="checkbox"]:checked+label::before {
	box-shadow: inset 0px 0px 0px 3px #fff;
	background-color: #15528c;
}

/* Radio Buttons */
#applicationform .selectbutton input[type="radio"] {
  opacity: 0;
  position: fixed;
  width: 0;
}
#applicationform .selectbutton label {
	display: block;
	text-align: center;
	line-height: 30px;
	margin-top:12px;
	width: 100%;
	background-color:#E6E6E6;
	color: #09233a;
	cursor: pointer;
	box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.4);
}
#applicationform .selectbutton label:hover, #applicationform .selectbutton  input[type="radio"]:checked + label {color:#ffffff;background-color:#09233a !important;}

#applicationform ::placeholder {color: #CCCCCC;}
#applicationform input[type=text]:focus, #applicationform textarea:focus, #applicationform select:focus{border: 1px solid #000 !important;}

#applicationform p.warning > label { color: red;}
#applicationform .errormessage {clear:both;color: red;font-weight: 900; display:block;opacity:0;margin-top:12px;}
#applicationform .validator {margin-left: -999px;height:0;}

/* Arrows */
#applicationform select.minimal {
  background-image:
	linear-gradient(45deg, transparent 50%, gray 50%),
	linear-gradient(135deg, gray 50%, transparent 50%);
  background-position:
	calc(100% - 20px) calc(13px),
	calc(100% - 12px) calc(13px),
	calc(100% - .5em) 4px;
  background-size:
	8px 8px,
	8px 8px,
	1.5em 1.5em;
  background-repeat: no-repeat;
}

/* Outputs */
#applicationform .results {background-color: #ffffff;padding:17px;border-radius: 17px;clear:both;}
#applicationform table.output-table {width:100%;border-collapse: collapse;}
#applicationform table.output-table td {padding: 10px 0;border-bottom: 1px solid #ccc;vertical-align: middle !important;}
#applicationform table.output-table td.first {padding:  0 0 10px 0;}
#applicationform table.output-table td.last {border-bottom: none;padding: 10px 0 0 0;}
#applicationform table td.table-label {text-align: left;font-weight: 400;}
#applicationform table td.table-output {text-align: right;font-weight: 900;}

/* Buttons */
.buttons { height: 50px !important; clear:both;}
#applicationform .action-button {
	width: 100px;
	background: #333333;
	color: white;
	border: 0 none;
	cursor: pointer;
	padding: 10px 5px !important;
	margin: 0;
	bottom: 0;
	font-size: 14px !important;
	border-radius: 20px;
}
#applicationform .action-button:hover, #applicationform .action-button:focus {
	background: #555555;
}

#applicationform .nextslide, #applicationform .submit {position:absolute;right:0;}
#applicationform .previousslide {position:absolute; left:0;}

.employerdetails, .businessdetails, .businesspurchase, .debtdetails, .mortgagetype_hidden, .mortgagedetails, .vehicledetails_hidden, .billsother_hidden, .coborrower_hidden, .accomodation_hidden, .mortgagecontact {display:none;}

/* The Modal */
#applicationform .modal {
	display: none;
	position: fixed;
	z-index: 1;
	padding-top: 100px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.4);
}

/* Modal Content */
#applicationform .modal-content {
	background-color: #fefefe;
	margin: auto;
	padding: 20px 20px 40px 20px;
	border: 1px solid #888;
	width: 90%;
}

#applicationform .modal-content p,
#applicationform .modal-content h2,
#applicationform .modal-content li {
	color: #343848;
}

/* The Close Button */
#applicationform .closemodal {
	color: #aaaaaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

#applicationform .closemodal:hover,
#applicationform .closemodal:focus {
	color: #343848;
	text-decoration: none;
	cursor: pointer;
}

/* Image Uploader */
.file_input_holder {margin-top: 12px;font-style:italic;}
.image_upload_preview { width: 108px; height: 108px; border: 1px solid #0e5e9b; border-radius: 17px; cursor: pointer; background: url('img/upload.png') no-repeat center center,#ffffff; white-space: nowrap; position: relative;}

.image_upload_preview .helper { display: inline-block; height: 100%; width: 0px; vertical-align: middle; display: none; }
.image_upload_preview.has_image {text-align: center; }
.image_upload_preview.has_pdf { background-image: url('img/pdf.png'); }
.image_upload_preview img { max-width: 100%; max-height: 100%; vertical-align: middle; display: none; }
.image_upload_preview.has_image img { display: block; margin: auto; }
.image_upload_preview .progress { display: none; width: 100%; height: 100%; opacity: .1;position: absolute; bottom: 0; left: 0; }
.image_upload_preview .progress .bar { background-color: green; width: 0; height: 100%;
	-webkit-transition: width 2s; /* Safari */
	transition: width 2s;
}

/* Submitting Animation */
.working_loading {
	font: 300 4em/150% Impact;
	color: rgba(6, 115, 152, 1);
	text-align: right;
	position: relative;
	left: calc(100% - 30px);
	bottom: 18px;
}

.buttons_working { display: none; }

.working_loading:after {
	content: ' .';
	animation: dots 1s steps(5, end) infinite;
	color: rgba(6, 115, 152, 1);
}

@keyframes dots {
	0%, 20% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 0),
			-.5em 0 0 rgba(6, 115, 152, 0);
	}
	40% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 0),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
	60% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 1),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
	80%, 100% {
		color: rgba(6, 115, 152, 1);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 1),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
}

/* Small Screens */
@media only screen and (max-width: 800px) {
	#applicationform fieldset {padding: 5px 10px 80px 10px;box-sizing: border-box;border-radius: 10px;width: 100%;}
	#applicationform fieldset div.right.uploads {display:grid;grid-template-columns: 50% 50%;}
	#applicationform .outputs {width:100%}
}