/* Banner */
#banner {
	width: 100%;
	height: 500px;
	background-size: cover!important;
	background-repeat: none!important;
	background-position: center!important;
	position: relative;
	transition: background 1s linear;
	z-index: 5;
}
	#banner-overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.4);
		z-index: 6;
	}
	#banner-text {
		position: relative;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		z-index: 7;
	}
		#banner-text span {
			margin-right: 5px;
		}
	#banner-author {
		position: absolute;
		bottom: 5px;
		right: 5px;
		color: var(--white);
		background: rgba(0, 0, 0, 0.6);
		padding: 4px 8px;
		border-radius: 5px;
		opacity: 0.5;
		z-index: 7;
	}
@media (max-width: 1600px) {
	#banner {
		height: 300px;
	}
}
@media (max-width: 1000px) {
	#banner {
		display: none;
	}
}





/* Index */
.fp-grid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

#fp-flights td:nth-of-type(1) {
	width: 85px;
}
#fp-flights td:nth-of-type(2), #fp-flights td:nth-of-type(3), #fp-flights td:nth-of-type(6) {
	width: 110px;
}
#fp-flights td:nth-of-type(4) {
	width: 100px;
}
#fp-flights td:nth-of-type(5) {
	width: 75px;
}
#fp-flights td:nth-of-type(7) {
	min-width: 160px;
}
	#fp-flights td a {
		color: var(--vred);
		text-decoration: none;
	}
		#fp-flights td a:hover {
			color: var(--vblue);
			text-decoration: underline;
		}

#fp-map {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 500px;
}
	#fp-map i {
		font-size: 6rem;
	}
@media (max-width: 1600px) {
	#fp-map { height: 300px; }
}

.fp-card table td { padding: 0!important; font-family: var(--sss)!important; background: transparent!important; }
.fp-card div span:nth-of-type(1), .fp-card table tr td span:nth-of-type(1) {
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	max-width: 250px;
	font-size: 0.9rem;
	margin-bottom: -3px;
}
.fp-card div span:nth-of-type(2), .fp-card table tr td span:nth-of-type(2) {
	display: block;
	font-size: 0.8rem;
	margin-bottom: 15px;
}
.fp-card div:last-of-type span:nth-of-type(2) {
	margin-bottom: 0;
}




#fp-partners  {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.fp-stats, #fp-stats {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
	.fp-stats div span:nth-of-type(1), #fp-stats div span:nth-of-type(1) {
		font-size: 2.0rem;
		margin-bottom: 5px;
		display: block;
	}
	.fp-stats div span:nth-of-type(2), #fp-stats div span:nth-of-type(2) {
		display: block;
	}
	
	.fp-stats a, #fp-stats a {
		text-decoration: none;
	}






/* Log in and register */
#login {
	grid-template-columns: 400px auto;
	align-items: center;
}
	#login #login-form {
		
	}
	#login #login-bg {
		position: relative;
		z-index: 4;
		background-image: url('/login.png');
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		height: 100%;
		display: flex;
		align-items: center;
	}
		#login #login-bg h2 {
			font-size: 1.6rem;
			font-weight: 400;
		}
		#login #login-bg a {
			color: #ccc;
		}
		#login #login-bg a:hover {
			color: #d18700;
		}
		#login #login-bg #login-bg-overlay {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: rgba(0, 0, 0, 0.8);
			z-index: 5;
		}
		#login #login-bg #login-bg-body {
			position: relative;
			z-index: 10;
			color: #ccc;
		}
@media (max-width: 1600px) {
	#login { grid-template-columns: 100%; }
	#login #login-bg { display: none; }
}

/* Live map v4 */
#lm-container {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	width: 100%;
}
#lm-map {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 300px;
	overflow: hidden;
	z-index: 5;
}
#lm-resizer {
	position: absolute;
	left: 0;
	right: 0;
	height: 6px;
	bottom: 300px;
	cursor: row-resize;
	background: var(--vblue);
	z-index: 6;
}
#lm-table {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 300px;
	background: var(--white);
	overflow: auto;
}
@media(max-width: 1000px) {
	#lm-resizer, #lm-table {
		display: none;
	}
	#lm-map {
		bottom: 0;
	}
}


#lm-map > .leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
	border: none!important;
}
.lm-callsign {
	all: initial;
	position: absolute;
	top: 0;
	background: transparent!important;
	border: 0!important;
	box-shadow: none!important;
	font-family: var(--sss);
	font-size: 0.7rem;
	font-weight: 500;
}

	
#lm-table {
	
}
#lm-table table {
	width: 100%;
	font-size: 0.85rem;
}
#lm-table tr td {
	cursor: pointer;
}


/* Live map v4 popup */
#lm-popup {
	z-index: 7;
	position: absolute;
	top: 20px;
	right: 20px;
	background: #fff;
	width: 400px;
	font-size: 0.9rem;
}
#lm-popup .card-header {
	display: flex;
	align-items: center;
	font-size: 1.1rem;
	font-weight: 700;
	cursor: move;
}
#lm-popup .card-header span:nth-of-type(1) {
	font-weight: 700;
	margin-right: 10px;
}
#lm-popup .card-header span:nth-of-type(1)::after {
	content: '/';
	margin-left: 10px;
}
#lm-popup .card-header span:nth-of-type(2) {
	font-weight: 400;
}
#lm-popup .card-header > i {
	position: absolute;
	right: 5px;
	transition: 0.2s;
	cursor: pointer;
	padding: 5px;
}
#lm-popup .card-header > i:hover {
	color: var(--vred);
}

#lm-popup #po-deparr {
	grid-template-columns: 150px auto 150px;
	justify-items: center;
	align-items: center;
}
#lm-popup #po-deparr article:nth-of-type(1) {
	width: 100%;
}
#lm-popup #po-deparr article:nth-of-type(2) {
	width: 100%;
	text-align: center;
	font-size: 2.2rem;
}
#lm-popup #po-deparr article:nth-of-type(3) {
	width: 100%;
	text-align: right;
}
#po-dep, #po-arr {
	font-weight: 700;
	font-size: 1rem;
}
#po-depname, #po-arrname {
	overflow: hidden;
	white-space: nowrap;
	max-width: 140px;
	text-overflow: ellipsis;
	display: inline-block;
	font-size: 0.8rem;
}

#po-progress {
	position: relative;
}
#po-wrapper {
	height: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#po-bar {
	width: 100%;
	background: #d1d0d0;
	height: 0.2rem;
}
#po-progbar {
	width: 50%;
	position: relative;
	height: 100%;
	background: var(--vred);
}
#po-progbar i {
	position: absolute;
	height: 1.8rem;
	top: -0.37rem;
	right: -0rem;
}
	
.po-data { 
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas:
		"Altitude Speed Heading"
		"Aircraft Registration Network"
		"Pilot . .";
	margin-top: 10px;
}
.po-data .Altitude { grid-area: Altitude; }
.po-data .Speed { grid-area: Speed; }
.po-data .Heading { grid-area: Heading; }
.po-data .Aircraft { grid-area: Aircraft; }
.po-data .Registration { grid-area: Registration; }
.po-data .Network { grid-area: Network; }
.po-data .Pilot { grid-area: Pilot; }

.po-data div, .po-data div span:nth-of-type(2) {
	font-size: 0.9rem;
	line-height: 1.2rem;
}
.po-data div span:nth-of-type(3) {
	font-size: 0.8rem;
	font-style: italic;
}
.po-data div span:nth-of-type(1) {
	font-weight: 700;
	font-size: 0.8rem;
}
.po-data div span:nth-of-type(1)::After {
	content: ':';
}

@media (max-width: 1000px) {
	#lm-popup {
		top: initial;
		bottom: 0;
		left: 0;
		right: 0;
		width: auto;
	}
	
	#lm-popup #po-deparr {
		grid-template-columns: 100px auto 100px;
	}
	#po-depname, #po-arrname {
		max-width: 100px;
	}
	
	.po-data-wrapper {
		height: 15vh;
		overflow-y: auto;
	}
	
	/*
	.po-data {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
		grid-template-areas:
			"Pilot";
	}
	*/
		/*.po-data .Altitude, .po-data .Speed, .po-data .Heading, .po-data .Aircraft, .po-data .Registration, .po-data .Network {
			display: none;
		}
		*/
}


/* Live map v4 menu */
#livemap-menu {
	z-index: 6;
	position: absolute;
	top: 20px;
	left: 20px;
}
#livemap-menu .livemap-menu-block {
	position: relative;
}
#livemap-menu .livemap-menu-block > i {
	color: var(--white);
	background: var(--vblue);
	border-radius: 5px;
	margin-top: 10px;
	font-size: 1.2rem;
	padding: 12px;
	cursor: pointer;
	height: 20px;
	width: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
	#livemap-menu .livemap-menu-block > i:hover, #livemap-menu .livemap-menu-block i.active {
		background: var(--vred);
	}

#livemap-menu .livemap-menu-sub {
	display: none;
	position: absolute;
	top: 0;
	left: 60px;
	min-width: 220px;
	padding: 12px;
	border-radius: 5px;
	box-shadow: 0 0 2px 1px #ccc;
	font-size: 0.9rem;
	background: var(--white);
	color: var(--black);
	max-height: calc(100vh - 0px);
	overflow-y: auto;
}
@media (max-width: 800px) {
	#livemap-menu .livemap-menu-sub {
		max-height: 200px;
	}
}
#livemap-menu .livemap-menu-sub .livemap-menu-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.1rem;
	font-weight: 600;
}
#livemap-menu .livemap-menu-sub .livemap-menu-title i {
	cursor: pointer;
	padding: 5px;
	color: var(--vblue);
	background: transparent;
}
#livemap-menu .livemap-menu-sub .livemap-menu-title i:hover {
	color: var(--vred);
}

#livemap-menu .livemap-menu-sub h2 {
	color: var(--vblue);
	font-size: 1.2rem;
	margin-bottom: 2px;
}

#livemap-menu .livemap-menu-sub .input-group > i {
	transition: 0.1s;
}
#livemap-menu .livemap-menu-sub .input-group > i:hover {
	color: #999;
}

#livemap-menu input[type="range"] {
	-webkit-appearance: none;
}

.livemap-menu-radio label {
	cursor: pointer;
	margin-top: 14px;
}
	.livemap-menu-radio:first-of-type label {
		margin-top: 0
	}
.livemap-menu-radio input[type="radio"] {
	display: none;
}
.livemap-menu-radio input[type="radio"] + label:before {
	content: "\2714";
	border: 1px solid #000;
	border-radius: 50%;
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.3em;
	margin-right: 7px;
	text-align: center;
	vertical-align: middle;
	font-size: 1rem;
	color: transparent;
	transition: 0.2s;
}
	.livemap-menu-radio input[type="radio"]:hover + label:before {
		border-color: #15273f;
		background: #15273f;
	}
.livemap-menu-radio input[type="radio"]:checked + label:before {
	background: #15273f;
	border-color: #15273f;
	color: #fff;
}










.download {
	border-bottom: 1px solid var(--b-dark);
	grid-template-columns: 140px auto 160px;
	padding: 20px 0;
}
.download:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}
	.download-img {
		width: 120px;
		height: 120px;
		margin: 0 auto;
		box-shadow: 0 0 2px 1px #ccc;
	}
		.download-img img {
			width: 100%;
			height: 100%;
		}
	.download > div:nth-of-type(3) {
		text-align: center;
		font-size: 0.9rem;
	}
		.download > div:nth-of-type(3) a {
			color: var(--vred);
			text-decoration: none;
		}
			.download > div:nth-of-type(3) a:hover  {
				color: var(--vblue);
			}
@media (max-width: 800px) {
	.download {
		grid-template-columns: auto 160px;
	}
	.download > div:nth-of-type(1) {
		display: none;
	}
}


.client {
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	justify-content: center;
	align-items: center;
	width: 500px;
	margin: 0 auto;
}
	.client figure a {
		color: var(--white);
		white-space: nowrap;
		border-radius: 5px;
		background: var(--vred);
		display: block;
		padding: 20px 10px;
		font-size: 1.2rem;
		text-decoration: none;
		opacity: 0.8;
	}
		.client figure a:hover {
			opacity: 0.7;
		}

#client-small {
	display: none;
}
@media (max-width: 1000px) {
	#client-small {
		display: block;
	}
}


#schedules {
	position: relative;
}
	#schedules #schedules-toggle {
		position: absolute;
		top: 15px;
		left: 230px;
		font-size: 1.6rem;
		cursor: pointer;
		z-index: 2;
		color: var(--vred);
		transition: color 0.2s linear;
	}
	#schedules #schedules-toggle:hover {
		color: var(--vblue);
	}
	#schedules-search {
		background: rgba(230, 230, 230, 0.6);
		overflow-y: auto;
		box-shadow: 3px 0 4px -4px #333;
		
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 280px;
	}
		#schedules-search label {
			cursor: pointer;
			margin-right: 15px;
			float: left;
			display: flex;
			align-items: center;
			white-space: nowrap;
			font-family: consolas;
		}
			#schedules-search label:hover {
				text-decoration: dashed underline;
			}
		#schedules-search label input {
			margin-right: 5px;
			cursor: pointer;
		}
			#schedules-search label.ops2 {
				width: 50px;
			}
			#schedules-search label.ops3 {
				width: 40px;
			}
			#schedules-search label.opacity {
				opacity: 0;
			}
		
		#schedules-search input[type="text"], #schedules-search input[type="range"] {
			padding: 4px 8px;
			width: calc(100% - 20px);
			line-height: 1.5rem;
			font-size: 1rem;
			font-family: var(--sss);
			border: 1px solid #ccc;
			border-radius: 4px;
			text-transform: uppercase;
		}
			#schedules-search input::placeholder {
				font-size: 0.8rem;
				text-transform: none;
			}
		#schedules-search select {
			display: inline-block;
			margin-right: 5px;
			font-size: 0.9rem;
			line-height: 1.5rem;
			padding: 4px 8px;
			cursor: pointer;
			width: calc(100% - 20px);
			font-family: var(--sss);
		}
			#schedules-search select#orderby {
				width: 140px;
			}
			#schedules-search select#order {
				width: 90px;
			}
	
	#schedules-results {
		overflow-y: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 280px;
		right: 0;
	}
		
		#schedules-loading {
			display: flex;
			align-items: center;
			justify-content: center;
			color: var(--vred);
			font-size: 5rem;
			padding-top: 50px;
		}
	
	#schedules-table td, #schedules-table th, #schedule-table td, #schedule-table th {
		text-align: center;
		font-family: var(--sss);
	}
	#schedules-table td {
		cursor: pointer;
		border-bottom: 1px solid rgba(150, 150, 150, 0.5);
	}
	#schedules-table tr:hover td {
		background: rgba(50, 50, 50, 0.2);
	}
	#schedules-table #schedules-table-results {
		text-align: right;
		font-size: 0.9rem;
		border-bottom: 0;
		width: 100%;
	}
		#schedules-table #schedules-table-results:hover {
			background: transparent;
			cursor: default;
		}
		#schedules-table td:nth-of-type(1) span:nth-of-type(1),
		#schedule-table td:nth-of-type(1) span:nth-of-type(1) {
			color: var(--vred);
		}
		#schedules-table td:nth-of-type(1) span:nth-of-type(2), #schedules-table td:nth-of-type(2) span:nth-of-type(2), #schedules-table td:nth-of-type(3) span:nth-of-type(2),
		#schedule-table td:nth-of-type(1) span:nth-of-type(2), #schedule-table td:nth-of-type(2) span:nth-of-type(2), #schedule-table td:nth-of-type(3) span:nth-of-type(2) {
			font-size: 0.8rem;
		}
		#schedules-table td:nth-of-type(5) span:nth-of-type(2),
		#schedule-table td:nth-of-type(5) span:nth-of-type(2)		{
			font-size: 0.9rem;
		}
		#schedules-table td:nth-of-type(6) span,
		#schedule-table td:nth-of-type(6) span {
			font-size: 0.8rem;
			padding: 4px 6px;
			color: var(--vblue);
		}
		#schedules-table td:nth-of-type(6) p {
			display: inline-block;
		}
	
	#schedule-table tr.sub th, #schedule-table tr.sub td {
		text-align: left;
	}
	#schedule-table td.label {
		padding: 0 6px;
		padding-top: 5px;
		font-weight: 700;
		font-size: 0.9rem;
	}
	
	#schedules-table tr.flt-pagination td {
		background: transparent;
		cursor: initial;
	}
	#schedules-table tr.flt-pagination:hover td {
		background: transparent;
	}
	
	#schedules-table tr.sch-date td {
		text-align: left;
	}
	
	
	#schedules-table .flt-pagination td {
		border-bottom: 0;
		padding-top: 15px;
		padding-bottom: 15px;
		text-align: center;
	}
		#schedules-table .flt-pagination td span {
			font-size: 1.1rem!important;
			border: 1px solid var(--b-dark);
			border-right: 0;
			padding: 6px 10px;
			color: var(--vred);
		}
			#schedules-table .flt-pagination td span:last-of-type {
				border-right: 1px solid var(--b-dark);
			}
		#schedules-table .flt-pagination td .flt-navInactive {
			opacity: 0.5;
		}
		#schedules-table .flt-pagination td .flt-navCursor {
			cursor: pointer;
		}
		#schedules-table .flt-pagination td .flt-navCursor:hover, #schedules-table .flt-pagination td .flt-navSel {
			background: #e1e1e1;
		}
		
#schedules-map {
	display: flex;
	width: 100%;
	height: 500px;
	justify-content: center;
	align-items: center;
}
	#schedules-map i {
		font-size: 6rem;
	}

.schedule-book {
	display: inline-block;
	margin-right: 10px;
}
	.schedule-book select, .schedule-book input {
		padding: 5px;
		padding: 6px 8px;
		border: 1px solid var(--vblue);
	}

#route-map {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
	#route-map i {
		font-size: 6rem;
	}
	
.tooltip {
	position: relative;
	display: inline-block;
}
.tooltiptext {
	all: initial;
	display: none;
	color: var(--dark);
	padding: 15px;
	border-radius: 5px;
	background: var(--bg-warning);
	white-space: nowrap;
	font-size: 1rem;
	
	position: absolute;
	z-index: 5;
	top: 50%;
	transform: translateY(-50%);
	right: 120%;
}

.tooltip:hover .tooltiptext {
	display: block;
}

#comments-submit {
	display: flex;
	align-items: center;
}
#comments-info {
	color: var(--info);
	cursor: pointer;
	font-size: 1.4rem;
}
#comments-info:hover {
	opacity: 0.8;
}




#schedules-dispatch {
	
}
#schedules-dispatch .dispatch {
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
	background: var(--white);
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	margin-top: 30px;
	margin-left: 2px;
	margin-right: 2px;
}
#schedules-dispatch .dispatch-title {
	color: var(--dark);
	background: rgba(0, 50, 81, 0.2);
	padding: 8px;
	font-weight: 700;
	font-size: 1rem;
	position: relative;
}
	#schedules-dispatch .dispatch-title .dispatch-options {
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
	#schedules-dispatch .dispatch-title .dispatch-options span {
		all: initial;
		margin: 0 5px;
		cursor: pointer;
		font-size: 0.8rem;
		font-weight: 500;
		font-family: var(--sss);
		padding: 5px 7px;
		background: var(--muted);
		color: var(--white);
		display: inline-block;
	}
		#schedules-dispatch .dispatch-title .dispatch-options span:hover, #schedules-dispatch .dispatch-title .dispatch-options span.active {
			background: var(--success);
		}
	#schedules-dispatch .dispatch-title .dispatch-options-text {
		font-size: 0.9rem;
		font-weight: 500;
		color: var(--muted);
	}
	@media (max-width: 800px) {
		#schedules-dispatch .dispatch-title .dispatch-options-text {
			display: none;
		}
	}
#schedules-dispatch .dispatch-content {
	padding: 10px;
}
	#schedules-dispatch .dispatch-content figure, .admin_member figure {
		margin-right: 15px;
		display: inline-block;
	}
		#schedules-dispatch .dispatch-content figure label, .admin_member figure label {
			display: block;
			font-weight: 700;
			font-size: 0.9rem;
			font-family: var(--sss);
			color: var(--dark);
		}
			#schedules-dispatch .dispatch-content figure label::after, , .admin_member figure label::after {
				content: ':';
			}
		
		#schedules-dispatch .dispatch-content figure input, #schedules-dispatch .dispatch-content figure select, #schedules-dispatch .dispatch-content figure textarea,
		.admin_member figure input, .admin_member figure select, .admin_member figure textarea {
			padding: 8px;
			width: 70px;
			background: var(--white);
			border: 1px solid var(--b-dark);
			font-size: 0.8rem;
			border-radius: 5px;
			text-transform: uppercase;
		}
			.admin_member figure input, .admin_member figure select, .admin_member figure textarea {
				text-transform: initial;
			}
			#schedules-dispatch .dispatch-content figure input:read-only, .admin_member figure input:read-only {
				opacity: 0.7;
				cursor: default;
			}
			#schedules-dispatch .dispatch-content figure select, .admin_member figure select {
				width: 120px;
			}
		#schedules-dispatch .dispatch-content figure input[type="button"], .admin_member figure input[type="button"] {
			all: initial;
			cursor: pointer;
			font-size: 1rem;
			font-family: var(--sss);
			font-weight: 600;
			background: var(--bg-success);
			border: 1px solid var(--b-success);
			border-radius: 3px;
			padding: 8px 10px;
		}
			#schedules-dispatch .dispatch-content figure input[type="button"]:hover, .admin_member figure input[type="button"]:hover {
				background: var(--b-success);
			}
		#schedules-dispatch .dispatch-content figure .fa-circle-info {
			cursor: pointer;
			font-size: 1rem;
		}
			#schedules-dispatch .dispatch-content figure .fa-circle-info:hover {
				opacity: 0.6;
			}
		#schedules-dispatch .dispatch-content figure label span.fuel_units {
			all: initial;
			font-family: var(--sss);
			margin-left: 5px;
		}

#schedules-dispatch-working {
	margin: 50px;
	font-size: 2rem;
	text-align: center;
	display: none;
}
	#schedules-dispatch-working i {
		font-size: 5rem;
	}

.briefing {
	margin-top: 20px;
}
	.briefing .briefing-title {
		color: var(--dark);
		background: rgba(0, 50, 81, 0.2);
		padding: 8px;
		font-weight: 700;
		font-size: 0.95rem;
		position: relative;
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
	}
		.briefing .briefing-title > span {
			opacity: 0.9;
			font-weight: 500;
			font-size: 0.9rem;
			margin-left: 5px;
			display: inline-block;
		}
		.briefing .briefing-title .briefing-title-options {
			position: absolute;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
		}
		.briefing .briefing-title .briefing-title-options span i {
			margin-left: 5px;
		}
			.briefing .briefing-title .briefing-title-options span, .briefing .briefing-title .briefing-title-options a {
				all: initial;
				margin: 0 5px;
				cursor: pointer;
				font-size: 0.8rem;
				font-weight: 500;
				font-family: var(--sss);
				padding: 5px 7px;
				background: var(--muted);
				color: var(--white);
				display: inline-block;
			}
			.briefing .briefing-title .briefing-title-options span { width: 55px; text-align: right; }
				.briefing .briefing-title .briefing-title-options span:hover, .briefing .briefing-title .briefing-title-options a:hover {
					opacity: 0.8;
				}
				.briefing .briefing-title .briefing-title-options a i {
					margin-right: 5px;
				}
	
	.briefing .briefing-content {
		padding: 15px;
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
	}
		.briefing .briefing-content .briefing-content-table {
			display: grid;
			color: var(--vblue);
			grid-template-columns: repeat(auto-fit, minmax(16%, 1fr));
		}
			.briefing .briefing-content .briefing-content-table div {
				font-size: 1rem;
				font-weight: 700;
				font-family: var(--sss);
				text-align: center;
				padding: 10px 0;
			}
				.briefing .briefing-content .briefing-content-table div span {
					display: block;
					font-size: 0.85rem;
					font-weight: 500;
					margin-bottom: -4px;
				}
				.briefing .briefing-content .briefing-content-table div i {
					margin-right: 5px;
				}
			.briefing .briefing-content .briefing-content-table div a, .briefing .briefing-content .briefing-content-table div span.b, .briefing .briefing-content .briefing-content-table div span.a {
				text-decoration: none;
				color: var(--vblue);
				padding: 10px;
				display: block;
				cursor: pointer;
				font-weight: 700;
				font-size: 1rem;
				font-family: var(--sss);
			}
				.briefing .briefing-content .briefing-content-table div a:hover, .briefing .briefing-content .briefing-content-table div span.b:hover, .briefing .briefing-content .briefing-content-table div span.a:hover {
					color: var(--vred);
				}
			
			.briefing .briefing-content figure {
				font-size: 0.9rem;
				opacity: 0.9;
				margin-top: 8px;
			}
			.briefing .briefing-content .briefing-copy {
				cursor: pointer;
				text-decoration: underline;
				text-decoration-style: dotted;
				margin-right: 10px;
			}
				.briefing .briefing-content .briefing-copy:hover {
					text-decoration-style: solid;
				}

		#briefing-map {
			display: flex;
			justify-content: center;
			align-items: center;
			height: 500px;
		}
			#briefing-map i {
				font-size: 6rem;
			}
		@media (max-width: 1600px) {
			#briefing-map { height: 300px; }
		}
		
		.briefing-ofp-frame {
			max-height: min(60vh, 750px);
			overflow: auto;
			background: #eee;
			border: 1px solid #ccc;
			padding: 15px;
		}
			.briefing-ofp-frame pre {
				font-size: 1rem;
				font-family: monospace;
				line-height: 1.3rem;
			}
		#briefing-flight-maps {
			display: flex;
			flex-wrap: wrap;
		}
			#briefing-flight-maps figure {
				flex: calc(50% - 20px);
				margin: 10px;
			}
		
		.briefing-wx {
			background: #e3e3e3;
			border-radius: 5px;
			font-size: 0.9rem;
			margin-bottom: 20px;
			font-family: consolas;
		}
			.briefing-wx .briefing-wx-title {
				background: #555;
				color: var(--white);
				padding: 3px 7px;
				padding-top: 5px;
				border-top-left-radius: 5px;
				border-top-right-radius: 5px;
			}
				.briefing-wx .briefing-wx-title span {
					float: right;
				}
			.briefing-wx .briefing-wx-content {
				padding: 10px;
				padding-top: 12px;
			}
			
			.briefing .briefing-content .btn {
				all: initial;
				padding: 6px 6px;
				background: var(--b-dark);
				font-size: 0.85rem;
				font-family: var(--sss);
				text-decoration: none;
				display: block;
				width: 60px;
				text-align: center;
				border-bottom-left-radius: 5px;
				cursor: pointer;
			}
				.briefing .briefing-content .btn:hover {
					background: var(--dark);
					color: var(--white);
				}
		
	.briefing-downloads-table figure {
		display: grid;
		grid-template-columns: 40% 40% 20%;
		opacity: 1;
		color: var(--vblue);
		padding: 8px;
		padding-top: 10px;
		border: 1px solid #ddd;
		border-radius: 5px;
		font-size: 1rem;
	}
		.briefing-downloads-table figure:hover {
			border: 1px solid var(--vblue);
		}
		.briefing-downloads-table figure span:nth-of-type(1) {
			font-weight: 700;
		}
		.briefing-downloads-table figure span:nth-of-type(3) {
			text-align: center;
		}
		.briefing-downloads-table figure a {
			color: var(--vred);
		}
			.briefing-downloads-table figure a:hover {
				color: var(--vblue);
			}
			
			
			
#profile {
	grid-template-columns: 620px auto;
}
#profile figure:nth-of-type(3) {
	grid-area: 2 / 1 / span 1 / span 2;
}
#profile figure:nth-of-type(4) {
	grid-area: 3 / 1 / span 1 / span 2;
}
	#profile #profile-table td {
		font-family: var(--sss);
		padding: 9px 6px;
	}
	#profile #profile-table td:nth-of-type(1) {
		font-weight: 600;
		width: 130px;
	}
		#profile #profile-table td:nth-of-type(1)::after {
			content: ':';
		}
#profile-map {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 800px;
}
	#profile-map i {
		font-size: 6rem;
	}
@media (max-width: 1600px) {
	#profile-map { height: 500px; }
}
@media (max-width: 1200px) {
	#profile {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}
@media (max-width: 1000px) {
	#profile {
		grid-template-columns: 100%;
	}
	#profile figure {
		width: 100%;
	}
	#profile figure:nth-of-type(2) {
		grid-area: 2 / auto / auto / auto;
	}
	#profile figure:nth-of-type(3) {
		grid-area: 3 / auto / auto / auto;
	}
	#profile figure:nth-of-type(4) {
		grid-area: 4 / auto / auto / auto;
	}
}





#flight-details td {
	font-family: var(--sss);
	font-size: 0.9rem;
	padding: 10px 12px;
}
	#flight-details td:nth-of-type(1) {
		font-weight: 600;
		width: 100px;
	}
	#flight-details td:nth-of-type(1):after {
		content: ':';
	}
	
#flight-map {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 800px;
}
	#flight-map i {
		font-size: 6rem;
	}
@media (max-width: 1600px) {
	#flight-map { height: 400px; }
}




#about {
	grid-template-columns: 800px auto;
	font-size: 0.9rem;
	line-height: 1.5rem;
}
	#about article:nth-of-type(1) {
		grid-row: 1 / 3;
	}
	#about article:nth-of-type(4) {
		grid-column: 1  / -1;
	}
	
#about-team {
	max-width: 800px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 0 auto;
}
	#about-team b {
		color: var(--vred);
	}

@media (max-width: 1600px) {
	#about {
		grid-template-columns: repeat(auto-fit, minmax(400px, max-content));
	}
	#about article {
		grid-column: 1 / -1;
	}
}
@media (max-width: 600px) {
	#about {
		grid-template-columns: 100%;
	}
}


#settings {
	grid-template-columns: 1fr minmax(50%, 50%);
}
@media (max-width: 800px) {
	#settings {
		grid-template-columns: auto;
	}
}

#dash1 {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
	#dash1 article:nth-of-type(2) {
		text-align: right;
	}

.dash2 {
	grid-template-columns: repeat(2, 1fr);
}

.dash-flight {
	grid-template-columns: repeat(4, 1fr);
	line-height: 1.5rem;
}
	.dash-flight div {
		padding: 5px 0;
	}
	.dash-flight div span:nth-of-type(1) {
		font-size: 0.8rem;
		text-transform: uppercase;
		font-weight: 600;
	}

.profile-rank {
	grid-template-columns: 55px auto;
	padding: 5px;
}
	.profile-rank:nth-of-type(even) {
		background: var(--bg-secondary);
	}

@media (max-width: 1200px) {
	.dash2 {
		grid-template-columns: repeat(1, 1fr);
	}
	.dash-flight {
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	}
}
@media (max-width: 1000px) {
	#dash1 {
		grid-template-columns: 1fr;
	}
		#dash1 article:nth-of-type(2) {
			text-align: left;
		}
}



#stats-navigation {
	grid-template-columns: 1fr 200px 1fr;
	justify-items: center;
}
	#stats-navigation article:nth-of-type(1) {
		justify-self: start;
	}
	#stats-navigation article:nth-of-type(3) {
		justify-self: end;
	}
	
.stats-table {
	grid-template-columns: calc(50% - 10px) calc(50% - 10px);
}
	.stats-table table thead tr th, .stats-table table tbody tr td {
		font-size: 0.9rem;
	}
		.stats-table table tr th:nth-of-type(2), .stats-table table tr td:nth-of-type(2) {
			text-align: right;
		}
		
@media (max-width: 1000px) {
	.stats-table {
		grid-template-columns: repeat(1, 1fr);
	}
}




.document h2 {
	margin-bottom: 10px;
	color: var(--vred);
}
.document h4 {
	font-size: 1.1rem;
	margin-bottom: 2px;
}
.document table {
	font-size: 0.9rem;
}

.trumbowyg-button-pane {
	z-index: 4!important;
}



.callsign {
	grid-template-columns: 200px auto;
	align-items: center;
}
.airport {
	grid-template-columns: 100px auto;
}