/* International Telephone Input Styles */
.iti {
	width: 100%;
}

.iti--separate-dial-code .iti__selected-dial-code {
	background-color: #e9ecef;
	border-right: 1px solid #dee2e6;
	padding: 0.375rem 0.75rem;
	font-weight: 600;
	color: #495057;
	cursor: not-allowed;
	user-select: none;
}

.iti--separate-dial-code input {
	padding-left: 0.5rem;
}

.phone-instructions {
	font-size: 0.875rem;
	color: #6c757d;
	margin-top: 0.25rem;
	display: block;
}

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

/* Show number-invalid-feedback when the input has is-invalid class */
.iti.is-invalid ~ .number-invalid-feedback {
	display: block;
}

/* Style selected country button */
.iti__selected-country {
	color: #fff !important;
}

.iti__selected-country-primary {
	color: #fff !important;
}

.iti__selected-dial-code {
	color: #fff !important;
}

.iti__arrow {
	color: #fff !important;
	border-top-color: #fff !important;
}

/* Position flag/country selector to the left without overlapping */
.iti {
	position: relative;
}

.iti__selected-country {
	position: absolute;
	left: 0;
	top: 20%;
	transform: translateY(-50%);
	height: auto;
	border: none;
	background: transparent;
	transform: scale(1.1);
}

/* Add left padding to phone input to make room for flag */
.iti input {
	padding-left: 6rem !important;
	margin-left: 1rem !important;
}

/* Hide phone label when country is selected */
#phone:not(:placeholder-shown) ~ label,
#phone:valid ~ label {
	display: none !important;
}

/* Show phone invalid feedback */
.phone-invalid-feedback {
	display: none ;
	width: 100% ;
	margin-top: 0.25rem ;
	font-size: 80% ;
	color: #dc3545 ;
}

/* Show when invalid */
#phone.is-invalid ~ .phone-invalid-feedback,
.md-form #phone.is-invalid ~ .phone-invalid-feedback {
	display: block !important;
}

/* Hide when valid */
#phone.is-valid ~ .phone-invalid-feedback,
.md-form #phone.is-valid ~ .phone-invalid-feedback {
	display: none !important;
}

