/* Global elements */

.lpc-modal #lpc_layer_relays, .lpc-modal .content{
	height: 100%;
}

a#lpc_pick_up_web_service_show_map{
	cursor: pointer;
}

.lpc-modal .lpc-lib-modal-main{
	overflow: hidden;
}

#lpc_layer_error_message{
	color: red;
}

#lpc_map{
	height: 100%;
}

/**
 * Grid layout: the search zone takes its natural height (which depends on the active theme's
 * input styles), the map and relay list take the remaining height, so nothing overflows the modal.
 */
#lpc_layer_relays .content{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	grid-template-rows: auto minmax(0, 1fr);
}

#lpc_left{
	grid-column: 1;
	grid-row: 2;
	width: auto;
	height: auto;
}

#lpc_right{
	grid-column: 2;
	grid-row: 2;
	height: auto;
	width: auto;
	overflow: hidden;
	overflow-y: auto;
	padding-left: 10px;
}

/* Search address zone */

#lpc_search_address{
	grid-column: 1 / -1;
	text-align: left;
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	gap: 3px;
}

#lpc_modal_address_details{
	display: flex;
	gap: 3px;
}

/**
 * Normalize the sizing of the search fields and button so every theme displays them
 * with the same height. Colors are left to the theme on purpose.
 */
#lpc_search_address .lpc_modal_relays_search_input,
#lpc_search_address #lpc_layer_button_search{
	box-sizing: border-box;
	height: 40px;
	min-height: 40px;
	max-height: 40px;
	margin: 0;
	font-size: 14px;
	line-height: 1.2;
}

#lpc_search_address .lpc_modal_relays_search_input{
	padding: 0 10px;
}

#lpc_search_address #lpc_layer_button_search{
	padding: 0 16px;
	white-space: nowrap;
	cursor: pointer;
}

#lpc_modal_relays_search_address{
	width: 100%;
}

@media all and (max-width: 800px){
	#lpc_search_address{
		flex-flow: row wrap;
		gap: .3rem;
		margin-bottom: .3rem;
	}

	#lpc_modal_relays_search_address, #lpc_modal_address_details, #lpc_modal_relays_display_more{
		flex: 1;
		flex-basis: 100%;
	}
}

@media all and (min-width: 800px){
	#lpc_modal_relays_search_address{
		width: 250px;
	}
}

#lpc_modal_relays_search_zipcode{
	width: 100px;
}

#lpc_modal_relays_search_city{
	width: 180px;
}

#lpc_layer_relays_loader{
	height: 15px;
}

.lpc-modal #lpc_layer_relays_loader{
	z-index: 1000;
	border: none;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgb(255, 255, 255);
	opacity: 0.6;
	cursor: default;
	position: absolute;
}

#lpc_modal_relays_display_more{
	align-self: center;
	margin-left: auto;
}

/* Relay listing */

.lpc_relay_separator{
	width: 100%;
	margin: 1rem 0;
}

.lpc_layer_relay_name{
	font-size: 14px;
	font-weight: bold;
}

.lpc_layer_relay_address{
	font-size: 12px;
	color: grey;
}

.lpc_layer_relay_address_street{
	display: block;
}

.lpc_layer_relay_distance{
	font-size: 12px;
}

.lpc_layer_relay_button_choose{
	margin: 1rem;
	float: right;
}

#lpc_layer_list_relays .lpc_relay_choose_btn{
	font-size: 12px;
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

/**
 * Normalize the sizing of the relay buttons so every theme displays them at a size
 * fitting the narrow relay list. Colors are left to the theme on purpose.
 */
#lpc_layer_list_relays .lpc_relay_choose_btn button{
	box-sizing: border-box;
	flex: 1 1 auto;
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 6px 8px;
	font-size: inherit;
	line-height: 1.3;
	white-space: normal;
	cursor: pointer;
}

.lpc_layer_relay_id,
.lpc_layer_relay_latitude,
.lpc_layer_relay_longitude,
.lpc_layer_relay_schedule,
.lpc_layer_relay_address_country,
.lpc_layer_relay_type,
.lpc_layer_relay_distance_value,
.lpc_layer_relay_hour_monday,
.lpc_layer_relay_hour_tuesday,
.lpc_layer_relay_hour_wednesday,
.lpc_layer_relay_hour_thursday,
.lpc_layer_relay_hour_friday,
.lpc_layer_relay_hour_saturday,
.lpc_layer_relay_hour_sunday{
	display: none;
}

#lpc_layer_list_relays .lpc_show_relay_details{
	cursor: pointer;
}

/* Relay information window */

.lpc_store_name{
	font-weight: bold;
	font-size: 14px;
	display: block;
}

.lpc_store_address{
	color: grey;
	font-size: 12px;
}

.lpc_store_schedule table td{
	padding: 0 2px 0 0;
	font-size: 12px;
}

.lpc_relay_popup_choose:focus{
	outline: none;
}

.info_window_lpc .lpc_relay_popup_choose{
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	margin: 6px 0 0;
	padding: 4px 10px;
	font-size: 12px;
	line-height: 1.3;
	cursor: pointer;
}

#lpc_layer_list_relays .lpc_layer_relay_display_hours{
	display: none;
}

#lpc_layer_list_relays .lpc_layer_relay_display_hours td{
	padding: 0;
}

#lpc_layer_list_relays .lpc_layer_relay_hours_header{
	display: flex;
}

#lpc_layer_list_relays .lpc_layer_relay_hours_header .lpc_layer_relay_hours_title{
	margin: 0 5px;
	font-size: 14px;
}

#lpc_layer_list_relays .lpc_layer_relay_hours_icon::after, #lpc_layer_list_relays .lpc_layer_relay_hours_icon_hour::after{
	font-family: "Dashicons";
	font-size: 14px;
}

#lpc_layer_list_relays .lpc_layer_relay_hours_icon_hour::after{
	content: "\f469";
}

#lpc_layer_list_relays .lpc_layer_relay_hours_icon_down::after{
	content: "\f347";
}

#lpc_layer_list_relays .lpc_layer_relay_hours_icon_up::after{
	content: "\f343";
}

/* Unknown */

#lpc_change_my_relay{
	color: #06187c;
	text-decoration: underline;
	cursor: pointer;
}


/* Mobile version */

@media all and (max-width: 1023px){
	/**
	 * Single column flowing naturally (search / map / relay list): the content takes its full
	 * height and the modal article is the scroll container. Without the auto rows, the map row
	 * would collapse to 0 and the map would be painted over the beginning of the relay list.
	 */
	.lpc-modal #lpc_layer_relays, .lpc-modal #lpc_layer_relays .content{
		height: auto;
	}

	#lpc_layer_relays .content{
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

	#lpc_right{
		grid-column: 1;
		grid-row: 3;
		width: 100%;
		height: auto;
		overflow: visible;
		padding-left: 0;
		padding-top: 10px;
	}

	#lpc_left{
		grid-column: 1;
		grid-row: 2;
		width: 100%;
		height: 400px;
	}

	#lpc_layer_list_relays .lpc_relay_choose_btn{
		font-size: 14px;
	}
}

@media all and (max-width: 800px){
	#lpc_modal_relays_search_address{
		width: 100%;
		display: block;
	}

	#lpc_modal_relays_search_city{
		flex: 1;
		width: auto;
	}

	#lpc_layer_list_relays .lpc_layer_relay_display_hours{
		display: inherit;
	}
}

@media all and (max-width: 550px){
	#lpc_left{
		max-height: 300px;
	}

	#lpc_modal_relays_search_zipcode{
		width: 85px;
	}
}

