

*
	{
	box-sizing:							border-box;
	}

html
	{
	height:								100%;
	background-color:					#ffffff;
	}

body
	{
	display:							flex;
	flex-direction:						column;
	box-shadow:							0em 0em 0.5em rgba(0,0,0,0.25);
	margin:								0em auto;
	max-width:							68.75em;
	min-height:							100%;
	background-color: 					#ffffff;
	font-family:						sans-serif;
	font-size:							12pt;
	overflow-y:							scroll;
	}

html.no_scroll,
html.no_scroll body
	{
	height:								100%;
	overflow:							hidden;
	}

main
	{
	flex:								1 1 auto;
	}

noscript div.warning
	{
	margin:								8em 1em 1em 1em;
	}

#main_container
	{
	padding:							1em;
	}

#main_container a,
#main_container a:visited
	{
	color:								#076cbc;
	text-decoration:					none;
	}

#main_container a:hover,
#main_container a:active
	{
	text-decoration:					underline;
	}

h3
	{
	margin:								0em;
	padding-bottom:						0.75em;
	font-size:							1.25em;
	color:								#107dbd;
	}

h3:not(:first-child)
	{
	padding-top:						1em;
	}

h3.dark_blue
	{
	color:								#193b83;
	}

p
	{
	margin:								0em 0em 1em 0em;
	padding:							0em;
	}

address
	{
	font-style:							normal;
	}

.clear
	{
	clear:								both;
	}

.hidden
	{
	display:							none !important;
	}

.zero_height
	{
	height:								0em !important;
	overflow:							hidden !important;
	padding:							0em !important;
	}

.blue_divider
	{
	border-bottom:						3px solid #107dbd;
	}

.grey_divider
	{
	margin:								1em;
	border-top:							1px solid rgba(0,0,0,0.3);
	}

.warning
	{
	border:								0.1em solid #c02020;
	background-color:					#ffc0c0;
	padding:							0.25em 1em;
	}

.temporary_placeholder_text
	{
	font-style:							italic;
	color:								#808080;
	}

.table
	{
	display:							table;
	}

.table_row
	{
	display:							table-row;
	}

.table_cell
	{
	display:							table-cell;
	}

.personalised_content_block.block_top
	{
	margin-bottom:						1em;
	}

.personalised_content_block.block_bottom
	{
	margin-top:							1em;
	}

.personalised_content_element.float_left
	{
	float:								left;
	margin:								0em 1em 1em 0em;
	}

.personalised_content_element.float_right
	{
	float:								right;
	margin:								0em 0em 1em 1em;
	}

.accordion
	{
	border:								1px solid #193b83;
	}

.accordion_header
	{
	border-bottom:						3px solid #ffffff;
	background-color:					#193b83;
	padding:							0.25em 1em;
	color:								#ffffff;
	cursor:								pointer;
	}

.accordion_content
	{
	padding:							1em;
	}

.accordion_section.product_disabled .accordion_header
	{
	background-color:					#107dbd;
	}

.form_column.columns_1
	{
	width:								100%;
	}

form input,
form select,
form button,
form span.password_strength,
form span.password_confirm
	{
	border:								0.1em solid #107dbd;
	border-radius:						0em;
	max-width:							100%;
	font-size:							1em;
	}

form input,
form select,
form span.password_strength,
form span.password_confirm
	{
	background-color:					#f0f8ff;
	padding:							0.1em 0.5em;
	color:								#000000;
	}

form input[type="text"],
form input[type="password"],
form input[type="email"],
form span.password_strength,
form span.password_confirm
	{
	width:								100%;
/*	width:								15em;
*/	}

form span.password_strength,
form span.password_confirm
	{
	display:							inline-block;
	}

form span.password_strength input,
form span.password_confirm input
	{
	display:							block;
	border:								none;
	background-position:				right center;
	background-repeat:					no-repeat;
	background-size:					auto 1.25em;
	padding:							0em 1.75em 0em 0em;
	}

form span.password_strength_0 input
	{
	background-image:					url('../images/icon_meter_strength_0.svg');
	}

form span.password_strength_1 input
	{
	background-image:					url('../images/icon_meter_strength_1.svg');
	}

form span.password_strength_2 input
	{
	background-image:					url('../images/icon_meter_strength_2.svg');
	}

form span.password_strength_3 input
	{
	background-image:					url('../images/icon_meter_strength_3.svg');
	}

form span.password_strength_4 input
	{
	background-image:					url('../images/icon_meter_strength_4.svg');
	}

.password_feedback
	{
	font-size:							0.8em;
	}

.password_feedback span:first-of-type
	{
	color:								#c02020;
	}

form span.password_confirm_mismatch input
	{
	background-image:					url('../images/icon_circle_exclamation_red.svg');
	}

form span.password_confirm_ok input
	{
	background-image:					url('../images/icon_circle_check_green.svg');
	}

p.checkbox
	{
	margin:								0em 0em 0.5em 0em;
/*
	margin-top:							-0.25em;
	padding-bottom:						0.75em;
*/
	}

p.checkbox + p.checkbox
	{
/*
	margin-top:							-0.5em;
*/
	}

form input[type="checkbox"]
	{
	vertical-align:						top;
	margin:								0.25em 0em 0em 0em;
	}

form button
	{
	border:								0.15em outset #193b83;
	background-color:					#107dbd;
	padding:							0.15em 0.75em;
	color:								#ffffff;
	}

form button:active
	{
	border-style:						inset;
	}

form button.orange_button
	{
	border:								0.15em outset #e58c00;
	background-color:					#e58c00;
	color:								#000000;
	}

form .form_section
	{
	border:								0.1em solid #107dbd;
	border-radius:						0.5em;
	padding:							0.5em;
	}

form .form_section:not(:last-child)
	{
	margin-bottom:						1em;
	}

form span.mandatory:after
	{
	content:							' *';
	font-weight:						bold;
	}

form .airfield_autocomplete_list
	{
	display:							block;
	width:								100%;
	height:								11em;
	overflow-y:							auto;
	border:								0.1em solid #107dbd;
	background-color:					#ffffff;
	}

form .airfield_autocomplete_list.scrolling:before
	{
	content:							' ';
	display:							block;
	width:								100%;
	height:								1em;
	background-color:					#107dbd;
	background-image:					url('../images/icon_arrow_down_white.svg');
	background-repeat:					no-repeat;
	background-size:					auto 2em;
	background-position:				center -1em;
	opacity:							0.6;
	}

form .airfield_autocomplete_list.scrolling:after
	{
	content:							' ';
	display:							block;
	width:								100%;
	height:								1em;
	background-color:					#107dbd;
	background-image:					url('../images/icon_arrow_up_white.svg');
	background-repeat:					no-repeat;
	background-size:					auto 2em;
	background-position:				center 0em;
	opacity:							0.6;
	}

form .airfield_autocomplete_list span.table
	{
	display:							table;
	width:								100%;
	}

form .airfield_autocomplete_list span.table_row
	{
	display:							table-row;
	}

form .airfield_autocomplete_list span.table_row.selected
	{
	background-color:					#107dbd;
	}

form .airfield_autocomplete_list span.table_row.selected span.table_cell
	{
	color:								#ffffff;
	}

form .airfield_autocomplete_list span.table_row:hover span.table_cell
	{
	background-color:					rgba(0,0,0,0.1);
	}

form .airfield_autocomplete_list  span.table_cell
	{
	display:							table-cell;
	padding:							0.25em 1em 0.25em 0.25em;
	}

form .airfield_autocomplete_list  span.table_cell:first-child
	{
	padding-left:						0.5em;
	}

form .airfield_autocomplete_map
	{
	height:								25em;
	}

.map_airfield_marker
	{
	box-shadow:							0px 0px 0px 2px rgba(255,255,255,0.8);
	border-radius:						24px;
	border:								2px solid #000000;
	background-color:					rgba(255,255,255,0.8);
	text-align:							center;
	font-size:							0em;
	color:								#000000;
	white-space:						nowrap;
	}

.map_airfield_marker.highlighted
	{
	background-color:					rgba(128,255,128,0.8);
	}

.map_airfield_marker::before
	{
    content:							"";
    display:							inline-block;
	vertical-align:						middle;
    height:								100%;
	}

.map_airfield_marker span
	{
	display:							inline-block;
	vertical-align:						middle;
	font-family:						monospace;
	font-size:							8pt;
	}

.accordion_content input[type="text"].short
	{
	/* Moved from beginning of pages.css */
	width:								8em;
	}

#main_container a.button_link,
#main_container a.button_link:hover,
#main_container a.button_link:active,
#main_container a.button_link:visited
	{
	border-width:						0.15em;
	border-style:						outset;
	padding:							0.1em 1em 0.15em 1em;
	color:								#ffffff;
	text-decoration:					none;
	cursor:								default;
	}

#main_container a.blue_button_link,
#main_container a.blue_button_link:hover,
#main_container a.blue_button_link:active,
#main_container a.blue_button_link:visited
	{
	border-color:						#193b83;
	background-color:					#107dbd;
	}

#main_container a.red_button_link,
#main_container a.red_button_link:hover,
#main_container a.red_button_link:active,
#main_container a.red_button_link:visited
	{
	border-color:						#cc9a9a;
	background-color:					#ffc0c0;
	}

#main_container a.grey_button_link,
#main_container a.grey_button_link:hover,
#main_container a.grey_button_link:active,
#main_container a.grey_button_link:visited
	{
	border-color:						#505050;
	background-color:					#808080;
	}

#main_container a.button_link:active
	{
	border-style:						inset;
	}

#scripting_utilities
	{
	position:							absolute;
	width:								0em;
	height:								0em;
	overflow:							hidden;
	}

#popup_notification
	{
	transition:							all 1s;
	position:							fixed;
	left:								0em;
	top:								100%;
	z-index:							1000000;
	opacity:							0;
	box-shadow:							0em 0em 0.5em rgba(0,0,0,0.5);
	width:								100%;
	border-top:							0.25em solid #107dbd;
	background:							#000000;
	padding:							1em;
	color:								#ffffff;
	}

#popup_notification.visible
	{
	opacity:							1;
	}

#popup_notification a,
#popup_notification a:visited
	{
	font-weight:						bold;
	color:								#ffffff;
	text-decoration:					none;
	}

#popup_notification a:hover,
#popup_notification a:active
	{
	text-decoration:					underline;
	}

#popup_notification_content_container
	{
	width:								99%;
	padding-right:						1em;
	}

#popup_notification_button_container
	{
	vertical-align:						middle;
	text-align:							right;
	}

#popup_notification_button
	{
	border:								0.15em outset #193b83;
	background-color:					#107dbd;
	padding:							0.15em 0.75em;
	font-size:							1em;
	color:								#ffffff;
	}

#popup_notification_button:active
	{
	border-style:						inset;
	}

#busy_animation
	{
	position:							fixed;
	left:								0em;
	top:								0em;
	z-index:							2000000;
	width:								100%;
	height:								100%;
	background-color:					rgba(255,255,255,0.95);
	text-align:							center;
	}

#busy_animation:before
	{
	content:							'';
	display:							inline-block;
	height:								100%;
	vertical-align:						middle;
	margin-right:						-0.25em;
	}

.busy_animation_container
	{
	vertical-align:						middle;
	display:							inline-block;
	}

#busy_animation .triangle_spinner
	{
	padding-top:						1em;
	}

@-webkit-keyframes triangle_spinner_frames
	{
	25%		{
			-webkit-transform:					perspective(100px) rotateX(180deg) rotateY(0);
			transform:							perspective(100px) rotateX(180deg) rotateY(0);
			}
	50%		{
			-webkit-transform:					perspective(100px) rotateX(180deg) rotateY(180deg);
			transform:							perspective(100px) rotateX(180deg) rotateY(180deg);
			}
	75%		{
			-webkit-transform:					perspective(100px) rotateX(0) rotateY(180deg);
			transform:							perspective(100px) rotateX(0) rotateY(180deg);
			}
	100%	{
			-webkit-transform:					perspective(100px) rotateX(0) rotateY(0);
			transform:							perspective(100px) rotateX(0) rotateY(0);
			}
	}

@keyframes triangle_spinner_frames
	{
	25%		{
			-webkit-transform:					perspective(100px) rotateX(180deg) rotateY(0);
			transform:							perspective(100px) rotateX(180deg) rotateY(0);
			}
	50%		{
			-webkit-transform:					perspective(100px) rotateX(180deg) rotateY(180deg);
			transform:							perspective(100px) rotateX(180deg) rotateY(180deg);
			}
	75%		{
			-webkit-transform:					perspective(100px) rotateX(0) rotateY(180deg);
			transform:							perspective(100px) rotateX(0) rotateY(180deg);
			}
	100%	{
			-webkit-transform:					perspective(100px) rotateX(0) rotateY(0);
			transform:							perspective(100px) rotateX(0) rotateY(0);
			}
	}

.triangle_spinner > div
	{
	-webkit-animation:					triangle_spinner_frames 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
	animation:							triangle_spinner_frames 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
	-webkit-animation-fill-mode:		both;
	animation-fill-mode:				both;
	display:							inline-block;
	width:								0em;
	height:								0em;
	border-left:						20px solid transparent;
	border-right:						20px solid transparent;
	border-bottom:						20px solid #107dbd;
	}

.small_text
	{
	font-size:							0.8em;
	}

/*================================================================================================*/
/*================================================================================================*/
/*================================================================================================*/

@media (min-width: 40em)
{
form .airfield_autocomplete_map
	{
	height:								40em;
	}
}
