body {background: var(--bright);}

.application {
	border: 1px solid #999;
	background: var(--white);
	border-radius: var(--br-md);
	padding: 2rem;
}

.progress-bar {
	width: 100%;
	height: 2px;
	background: var(--blue);
	transition: width 0.4s ease;
}
.counter {
	font-size: .95rem;
	font-weight: var(--bold);
}

.form-spacer {padding-bottom: 2rem;}

/* Buttons */
.btn.next-btn, button.app-btn, .btn.back-btn {padding: 12px 50px;}

label.question {
	font-weight: var(--bold);
	margin-bottom: 1.25rem;
}

.form-check:not(.other-label) input {
	opacity: 0;
    width: 100%;
    height: 80px;
    border-radius: 0;
    top: 0;
    left: 0;
    position: absolute;
    margin-top: -3px;
    margin-left: -1px;
}
.form-check:not(.checkboxes) {
    position: relative;
	font-size: 1rem;
    border: 1px solid var(--grey);
    text-align: left;
	min-height: 45px;
    padding: 0;
	margin-bottom: 1rem;
    border-radius: var(--br-sm);
	transition: transform 0.3s ease-out;
	-webkit-transition: transform 0.3s ease-out;
	outline: 1px solid transparent;
}
.form-check:has(input[type="checkbox"]) {padding-right: 2.4rem;}
.form-check:active {transform: scale(0.9);}
.form-check-label {
	margin: .75rem 1rem;
	font-weight: var(--bold);
}
.form-check:not(.checkboxes):before {
	content: "";
	position: absolute;
	width: 20px;
    height: 20px;
	right: 0;
	margin-top: 14px;
	margin-right: 15px;
	border-radius: var(--br-sm);
	border: 1px solid var(--grey);
	transition: var(--transition);
	-webkit-transition: var(--transition);
}
.form-check:has(input[type="radio"]):before, .form-check.no-pre:before {content: none;}
.form-check:has(input[type="checkbox"]:checked):not(.checkboxes):before, .form-check.active-other:before, .form-check.pre-label.has-content:before {
	background: var(--blue);
	border-color: var(--blue);
}
.form-check:has(input[type="checkbox"]:checked):not(.checkboxes):after, .form-check.active-other:after, .form-check.pre-label.has-content:after {
	content: "";
	position: absolute;
	width: 15px;
    height: 16px;
	right: 0;
	top: 0;
	margin-top: 16px;
	margin-right: 17px;
	background-color: var(--white);
	-webkit-mask: url('/wp-content/uploads/2025/10/checkmark.svg') center / contain no-repeat;
}

.input-group-text {
	background-color: var(--blue);
    border-color: var(--blue);
	font-weight: var(--bold);
	color: var(--white);
}
.input-group>.form-control {border-color: var(--blue);}
.input-group>.form-control:focus {
	border-color: var(--blue);
	border-width: 2px;
	box-shadow: none;
}

.form-check input[type=text] {
    padding: 1rem;
    background: none;
	border: none;
	height: 50px;
	font-weight: var(--bold);
}
.form-check input[type=text], .form-check input[type=text]::placeholder {color: var(--black);}

.form-check-label, .form-check:hover, .form-check:focus {cursor: pointer;}
.form-check:hover, .form-check:has(input[type="radio"]:checked):not(.checkboxes), .form-check:has(input[type="checkbox"]:checked):not(.checkboxes), .form-check.active-other, .form-check:not(.checkboxes):hover, input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus, .input-group:hover, .input-group:focus {
	-moz-box-shadow:  0 3px 40px -1px rgba(26,26,26,.12);
	-webkit-box-shadow:  0 3px 40px -1px rgb(26 26 26 / 12%);
	box-shadow: 0 .6rem 2.4rem #0000001a;
}
.form-check:has(input[type="radio"]:checked):not(.checkboxes), .form-check:has(input[type="checkbox"]:checked):not(.checkboxes), .form-check.active-other, .form-check input.form-control[type=text]:focus, .form-check.has-content input.form-control[type=text] {
	background: var(--blue);
	border-color: var(--blue);
	color: var(--white);
	outline: none;
}
.form-check input.form-control[type=text]:focus {box-shadow: none;}

.pre-icon + .form-check-label {padding-left: 1.25rem;}
.pre-label .form-control {padding-left: 2.25rem !important;}
.pre-icon:before {
	content: "";
	position: absolute;
	width: 20px;
    height: 20px;
	margin-top: 14px;
	margin-left: 10px;
	background-color: var(--grey);
	transition: var(--transition);
	-webkit-transition: var(--transition);
}
.pre-icon.other:before {-webkit-mask: url('/wp-content/uploads/2025/10/other.svg') center / contain no-repeat;}

/* Text fields */
input[type=email], input[type=number], input[type=password], input[type=reset], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
	height: 50px;
	color: var(--black);
	border: 1px solid var(--grey);
    border-radius: var(--br-sm) !important;
	background: transparent !important;
}
input.icon-field {border-radius: border-radius: 0 var(--br-sm) var(--br-sm) 0 !important;}
input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus {
	border-color: var(--grey);
}
input.active, input[type="text"].active, input[type="email"].active, input[type="url"].active, input[type="password"].active, input[type="reset"].active, input[type="search"].active, input[type="number"].active, textarea.active {
	border: 1.5px solid var(--blue);
	background: transparent !important;
}

.secure {position: relative;}
.secure:before {
	content: "";
    display: inline-block;
    vertical-align: top;
    margin-right: 4px;
	margin-top: 5px;
    width: 20px;
    height: 20px;
	background-color: var(--black);
	-webkit-mask: url('/wp-content/uploads/2025/11/padlock-secure.svg') center / contain no-repeat;
	mask: url('/wp-content/uploads/2025/11/padlock-secure.svg') center / contain no-repeat;
}

/* Error messages */
.loan-error {
	display: none;
    color: var(--error);
	margin-top: 1rem;
	text-align: left;
}

@media only screen and (max-width:576px) {
	.application {padding: 1rem;}
	.form-group {margin-bottom: 0;}
	label.question {margin-bottom: .5rem;}
	.btn.next-btn, button.app-btn, .btn.back-btn {padding: 12px;}
	.form-btns .col-6:nth-child(even) {padding-left: 7.5px;}
	.form-btns .col-6:nth-child(odd) {padding-right: 7.5px;}
}