.flex-field
{
	display: flex;
	width: 100%;
}
.flex-field > *:first-child
{
	flex: 0 0 auto;
}
.flex-field > *:last-child
{
	flex: 1 0 auto;
	width: 0;
	min-width: 150px;
}


.flex-field .prefix
{
	position: relative;
	font-size: 0;
}
.flex-field .selected-prefix
{
	display: inline-block;
	border: 1px solid #e5e5e5;
	border-right: none;
	padding: 0 20px 0 10px;
	font-size: 0;
	line-height: 38px;
	height: 40px;
	cursor: pointer;
	background: #eee url(/images/mouse-chevron.png) center right 10px no-repeat;
	background-size: 10px auto;
}

.flex-field .selected-flag
{
	width: 20px;
	height: 2.3rem;
	background: url(/images/flags.png) center left no-repeat;
	background-size: 5630px 14px;
	display: inline-block;
	vertical-align: middle;
}
.flex-field .selected-code
{
	display: inline-block;
	vertical-align: middle;
	width: 3rem;
	text-align: center;
	font-size: 0.9rem;
}


.flex-field .prefixes-list
{
	font-size: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
	width: max-content;
	background: #fff;
	box-shadow: 0 5px 8px -1px rgba(0,0,0,0.75);
	position: absolute;
	left: 0;
	top: 100%;
	max-height: 350px;
	overflow: auto;
	overflow-x: hidden;
	display: none;
}
.flex-field .prefixes-list.open
{
	display: block;
}


.flex-field .prefixes-list li
{
	display: flex;
	align-items: stretch;
	margin: 0.5rem 0;
	padding: 0 0.5rem;
	cursor: pointer;
	background-color: #fff;
	transition: background-color 0.3s;
}
.flex-field .prefixes-list li:hover
{
	background-color: #dfdfdf;
}

.flex-field .prefixes-list li .flag
{
	flex: 0 0 20px;
	background: url(/images/flags.png) left center no-repeat;
	background-size: 5630px 14px;
}
.flex-field .prefixes-list li .country
{
	flex: 1 0 auto;
	padding-left: 0.75rem;
}
.flex-field .prefixes-list li .country .gray
{
	color: #999;
	font-size: 0.9rem;
	margin-left: 0.5rem;
}


.flex-field .prefixes-list .divider
{
	border-bottom: 0.1rem solid #ccc;
	margin: 0.5rem 1.5rem;
}


/**/


.variation-item-compact .dates-times > *:last-child
{
	flex: 1 1 auto;
}



/**/

.camps-mosaic
{
	display: flex;
	flex-direction: column;
}
@media (min-width: 1024px)
{
	.camps-mosaic
	{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}
}