.form-row {align-items:center; margin-bottom:18px}
.form-row .form-error-message {margin:0 0 5px 0; color:var(--color-error-hex); font-size:13px; line-height:19px}
.form-row .form-error-message .existing-email-link {margin-bottom:5px}
.form-row .form-error-message .existing-email-link span {cursor:pointer; text-decoration:underline; font-family:Roboto, sans-serif; font-weight:700}
.form-row .form-success-message {margin:0 0 5px 0; color:#69ac24; font-size:13px; line-height:19px}
.form-row > label {margin:0; padding-right:6px; color:#231f20;}
.form-row .input {flex:1 1 0; position:relative}
.form-row .input .wrapper {position:relative; margin-top:2px}
.form-row .input input[type=text],
.form-row .input input[type=password],
.form-row .input input[type=email] {border:1px #d6d6d6 solid; margin:0; padding:10px 18px; width:100%; box-sizing:border-box}
.form-row .input input.telephone-prefix-before {padding:10px 18px 10px 70px; width:100%}
.form-row .required {flex:0 0 12px; text-align:right}
.form-row .checkbox {flex:1 1 auto}
.form-row .checkbox label {vertical-align:middle}

.form-row.form-row-error {}
.form-row.form-row-error input {background-color:rgba(var(--color-error-rgb) / 5%); border:1px var(--color-error-hex) solid !important}
.form-row.form-row-ok {}
.form-row.form-row-ok input {background-color:#e4fdd3; border:1px #bce59f solid !important}



.form-std .form-row {
	display: grid;
	justify-content: center;
	grid-template-columns: 220px 0.8fr;
}

.form-row:has(textarea) {
	align-items: baseline;
}


@media screen and (width <= 1000px) {

	.form-std .form-row {
		display: grid;
		justify-content: center;
		grid-template-columns: 1fr;
	}

	.form-std .form-row>label {
		padding: 5px;
	}

}




.form-icon {position:absolute; bottom:11px; right:10px}


.form-control {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: calc(1.5em + .75rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #ffffff;
	background-clip: padding-box;
	border: 1px solid #a6a6a6;
	transition: border-color .25s ease-in-out, box-shadow .25s ease-in-out
}

.form-control:focus {
	color: #495057;
	background-color: #fff;
	outline: 0;
	border-color: rgb(160, 196, 26, 90%);
	box-shadow: 0 0 0 1px rgb(160, 196, 26, 90%)
}

.form-control::-webkit-input-placeholder {
	color: #6c757d;
	opacity: 1
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1
}

.form-control:disabled, .form-control[readonly] {
	background-color: #e9ecef;
	opacity: 1
}


select.form-control:focus::-ms-value {
	color: #495057;
	background-color: #fff
}

select.form-control[multiple], select.form-control[size] {
	height: auto
}

textarea.form-control {
	height: auto
}



.form-check {
	position: relative;
	display: block;
	padding-left: 1.25rem
}

.form-check-input {
	position: absolute;
	margin-top: .3rem;
	margin-left: -1.25rem
}

.form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label {
	color: #6c757d
}

.form-check-label {
	margin-bottom: 0
}

.form-check-inline {
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-align: center;
	align-items: center;
	padding-left: 0;
	margin-right: .75rem
}

.form-check-inline .form-check-input {
	position: static;
	margin-top: 0;
	margin-right: .3125rem;
	margin-left: 0
}

.valid-feedback {
	display: none;
	width: 100%;
	margin-top: .25rem;
	font-size: 80%;
	color: #28a745
}

.valid-tooltip {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 5;
	display: none;
	max-width: 100%;
	padding: .25rem .5rem;
	margin-top: .1rem;
	font-size: .875rem;
	line-height: 1.5;
	color: #fff;
	background-color: rgba(40, 167, 69, .9);
	/* border-radius: .25rem */
}

.is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip, .was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip {
	display: block
}

.form-control.is-valid, .was-validated .form-control:valid {
	border-color: #28a745;
	padding-right: calc(1.5em + .75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus, .was-validated .form-control:valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
	padding-right: calc(1.5em + .75rem);
	background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-select.is-valid, .was-validated .custom-select:valid {
	border-color: #28a745;
	padding-right: calc(.75em + 2.3125rem);
	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)
}

.custom-select.is-valid:focus, .was-validated .custom-select:valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {
	color: #28a745
}

.form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip, .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip {
	display: block
}


.invalid-feedback {
	display: none;
	width: 100%;
	margin-top: .25rem;
	font-size: 80%;
	color: #dc3545
}

.invalid-tooltip {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 5;
	display: none;
	max-width: 100%;
	padding: .25rem .5rem;
	margin-top: .1rem;
	font-size: .875rem;
	line-height: 1.5;
	color: #fff;
	background-color: rgba(220, 53, 69, .9);
	/* border-radius: .25rem */
}


.is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip, .was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip {
	display: block
}


.form-control.is-invalid, .was-validated .form-control:invalid {
	border: 1px solid #ff0000;
	/* padding-right: calc(1.5em + .75rem); */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
	padding-right: calc(1.5em + .75rem);
	background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-check-input.is-invalid ~ .form-check-label, .was-validated .form-check-input:invalid ~ .form-check-label {
	color: #dc3545
}

.form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip, .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip {
	display: block
}



.form-std .form-row>label {
	text-align: left;
}

.form-row .error {
	color:#ff0000;
	padding: 5px;
}

.form-row .input-container
{
	display: flex;
	align-items: center;
	gap: 10px;
}

.form-row .prefix {
	background-color: #F0F0F0;
	border: 1px solid #A6A6A6;
	color: #A6A6A6;
	position: relative;
	left: 11px;
	font-size: 16px;
	padding-top: 9px;
	padding-bottom: 8px;
	padding-left: 10px;
	padding-right: 10px;
	text-align: right;

}

.form-row .help-icon {
	display: inline-block !important;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	margin: -1px 0 0 4px;
	border: 1px #cfcfcf solid;
	border-radius: 50%;
	color: #aaa;
	font-size: 12px;
	cursor: pointer;
}

.help-text {
	padding: 30px;
}