#phone-parent {
	position: relative;
	overflow: visible !important;
	display: flex;
	align-items: stretch;
}
#phone-parent #phone {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	flex: 1 1 0%;
	min-width: 0;
}
#phone-parent #phone.form-control {
	border-left: 0;
}
.phone-country-toggle {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	border: 1px solid rgba(0,0,0,.175);
	border-right: 0;
	background: #fff;
	color: #111;
	padding: 0 .6rem;
	border-top-left-radius: .25rem;
	border-bottom-left-radius: .25rem;
	cursor: pointer;
	user-select: none;
	height: calc(1.5em + 1rem + 2px);
	min-width: 86px;
	justify-content: center;
	flex: 0 0 auto;
}
.phone-country-flag {
	font-size: 1.05rem;
	line-height: 1;
}
.phone-country-code {
	font-weight: 600;
	font-size: .875rem;
	color: #11332d;
}
.phone-country-caret {
	font-size: .75rem;
	opacity: .8;
}
.phone-country-dropdown {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 6px;
	width: min(420px,100%);
	max-width: 100vw;
	background: #fff;
	border: 1px solid #e6f7fa;
	border-radius: .75rem;
	box-shadow: 0 8px 32px 0 rgba(0,0,0,.18),0 1.5px 6px 0 rgba(0,0,0,.1);
	z-index: 9999;
	overflow: hidden;
}
.phone-country-search {
	padding: .6rem;
	border-bottom: 1px solid #e6f7fa;
}
.phone-country-list {
	max-height: 320px;
	overflow: auto;
}
.phone-country-item {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .55rem .75rem;
	cursor: pointer;
	user-select: none;
}
.phone-country-item:hover,
.phone-country-item[aria-selected="true"] {
	background: #f0f9fa;
}
.phone-country-item-flag {
	width: 1.6rem;
	text-align: center;
	font-size: 1.05rem;
	line-height: 1;
}
.phone-country-item-name {
	flex: 1 1 auto;
	font-size: .9rem;
	color: #222;
}
.phone-country-item-code {
	flex: 0 0 auto;
	font-weight: 700;
	font-size: .85rem;
	color: #007b8c;
}
@media (max-width: 640px) {
	#phone-parent {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		width: 100%;
	}
	.phone-country-toggle {
		min-width: 64px;
		max-width: 90px;
		font-size: 0.95rem;
		padding: 0 0.4rem;
		flex: 0 0 auto;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
	#phone-parent #phone {
		font-size: 1rem;
		padding: 0.4rem 0.5rem;
		flex: 1 1 0%;
		min-width: 0;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		border-left: 0;
		width: 1%;
		display: block;
	}
}
