::-ms-reveal {
	display: none;
}

form {
	margin: 0 auto;
}

.form-control,
.form-select {
	border-radius: var(--mt-border-radius-input) var(--mt-border-radius-input) 0 0 !important;
	border-width: 0;
	border-bottom-width: 4px;
	background-color: var(--mt-color-light-grey);
}
.form-control:disabled,
.form-select:disabled {
	border-bottom: none;
}
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-select ~ label::after {
	background: none;
}
.form-floating > .form-select {
	padding-bottom: 0.5rem;
}

/* Radio/Check */
.form-check-input {
	border-color: var(--mt-color-purple) !important;
	background-color: var(--mt-color-white);
}
.form-check-input[type='radio']:checked {
	background-image: var(--mt-form-radio-bg-img);
	background-color: var(--mt-color-white);
}
.form-check-input[type='checkbox']:checked {
	background-image: var(--mt-form-checkbox-bg-img);
	background-color: var(--mt-color-purple);
}

.input-group .input-field {
	width: 100%;
}

.error-main > span {
	display: inline-block;
	width: 100%;
	font-size: 1rem;
	padding-bottom: 1rem;
	text-align: center;
}

/* States */
.invalid {
	color: var(--mt-color-red);
}
.invalid input,
.invalid select {
	color: inherit;
}

.error {
	color: var(--mt-color-red);
	padding-top: 0.125rem;
	font-size: 0.75rem;
	font-style: italic;
}

/* Password show/hide */
.toggle-password button.toggle {
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	border: none;
	background: none;
	text-transform: uppercase;
	font-size: 0.8rem;
}
.invalid .toggle-password button.toggle,
.valid .toggle-password button.toggle {
	right: 2rem;
}
