@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url("//fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,600,600italic");

@font-face {
	font-family: 'norwegian1';src:
	url('/assets/css/fonts/NorwegianDisplayPro-Regular.ttf') format('truetype'),
	url('/assets/css/fonts/NorwegianDisplayPro-Bold.ttf') format('truetype'),
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'norwegian2';src:
	url('/assets/css/fonts/NorwegianTextPro-Regular.ttf') format('truetype'),
	url('/assets/css/fonts/NorwegianTextPro-Bold.ttf') format('truetype'),
	font-weight: normal;
	font-style: normal;
}

:root {
	color-scheme: light dark;
	
	/* colors */
	--red: #e5212d;
	--blue: #15273f;
	--bluehover: #1b3252;
	--redhover: #f5333f;
	
	--primary: #007bff;
	--secondary: #6c757d;
	--success: #28a745;
	--danger: #dc3545;
	--warning: #ffc107;
	--info: #17a2b8;
	--light: #f8f9fa;
	--dark: #343a40;
	--muted: #6c757d;
	
	/* fonts */
	--montserrat: 'Montserrat', sans-serif;
	--lato: 'Lato', sans-serif;
	--consolas: 'Consolas';
	--sss: 'Source Sans Pro';
	
}

*, img {
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 100%;
}

body, html {
	color: light-dark(var(--blue), #e8e8e8);
	background-color: light-dark(#e8e8e8, #444);
	font-family: var(--lato);
	font-size: 1rem;
	z-index: 1;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'norwegian2', var(--montserrat);
}

.both {
	width: 100%;
	clear: both;
}

a, .fakelink {
	color: light-dark(var(--red), #e8e8e8);
	text-decoration: underline;
}
a:hover, .fakelink:hover {
	filter: brightness(70%);
	cursor: pointer;
}
.nofilter {
	filter: brightness(100%)!important;
}

img {
	max-width: 100%;
}


.font-lato {
	font-family: var(--lato)!important;
}
.font-sss {
	font-family: var(--sss)!important;
}


#modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2000;
	background: light-dark(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.8));
}
#modal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-height: calc(100vh - 2em);
	background: light-dark(#e8e8e8, #333);
	z-index: 2001;
	width: 90%;
	height: 90%;
	border-radius: 0.5rem;
}
	#modal-header {
		font-size: 1rem;
		font-weight: 700;
		background: light-dark(#ddd, #666);
		padding: 1rem;
		color: light-dark(var(--blue), #e8e8e8);
		border-top-left-radius: 0.5rem;
		border-top-right-radius: 0.5rem;
		position: relative;
	}
		#modal-header i {
			position: absolute;
			top: 50%;
			right: 0.75em;
			transform: translateY(-50%);
			font-size: 1.6rem;
			color: light-dark(var(--blue), #e8e8e8);
			cursor: pointer;
		}
		#modal-header i:hover {
			filter: brightness(70%);
		}
	#modal-body {
		height: calc(100% - 100px);
		overflow-y: auto;
		line-height: 1.3rem;
	}
@media (min-width: 1100px) {
	#modal {
		width: revert;
		height: revert;
		width: 1000px;
		height: auto;
		max-height: calc(100vh - 300px);
	}
	#modal-body {
		max-height: calc(100vh - 450px);
	}
}




.bg-red {
	background: var(--red);
}
.bg-blue {
	background: var(--blue);
}

.bg-red-transparent {
	background: light-dark(var(--red), transparent);
}
.bg-blue-transparent {
	background: light-dark(var(--blue), transparent);
}


/* Colors */
.text-blue {
	color: var(--blue)!important;
}
.text-red {
	color: var(--red)!important;
}
.text-primary {
	color: var(--primary)!important;
}
.text-secondary {
	color: var(--secondary)!important;
}
.text-success {
	color: var(--success)!important;
}
.text-danger {
	color: var(--danger)!important;
}
.text-warning {
	color: var(--warning)!important;
}
.text-info {
	color: var(--info)!important;
}
.text-light {
	color: var(--light)!important;
}
.text-dark {
	color: var(--dark)!important;
}
.text-muted {
	color: var(--muted)!important;
}
.text-white {
	color: #fff!important;
}

.text-blue-white {
	color: light-dark(var(--blue), #e8e8e8);
}
a.text-blue-white:hover {
	color: light-dark(#1456b3, #e8e8e8);
}

/* Backgrounds */
.bg-blue {
	background-color: var(--blue)!important;
}
.bg-red {
	background-color: var(--red)!important;
}
.bg-primary {
	background-color: var(--primary)!important;
}
.bg-secondary {
	background-color: var(--secondary)!important;
}
.bg-success {
	background-color: var(--success)!important;
}
.bg-danger {
	background-color: var(--danger)!important;
}
.bg-warning {
	background-color: var(--warning)!important;
}
.bg-info {
	background-color: var(--info)!important;
}
.bg-light {
	background-color: var(--light)!important;
}
.bg-dark {
	background-color: var(--dark)!important;
}
.bg-muted {
	background-color: var(--muted)!important;
}
.bg-white {
	background-color: #fff!important;
}
.bg-thead {
	background: rgba(0, 50, 81, 0.2)!important;
}

.b-success {
	border-color: #c3e6cb!important;
}
.b-staff {
	border-bottom: 1px solid light-dark(#ccc, #999);
}

.cursor-pointer {
	cursor: pointer;
}

a.grid-button {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 60px auto;
	align-items: center;
	transition: background-color 0.2s ease-in-out;
	border-radius: 0.5rem;
	background: var(--blue);
}
a.grid-button i {
	border-top-left-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
	background: var(--bluehover);
	padding: 0.75rem 0.5rem;
	font-size: 2rem;
}

a.grid-button:hover {
	filter: revert;
	background: var(--bluehover);
}

.text-left {
	text-align: left!important;
}
.text-center {
	text-align: center!important;
}
.text-right {
	text-align: right!important;
}

.nounderline {
	text-decoration: none!important;
}
.nounderlineh:hover {
	text-decoration: underline!important;
}


.fs-07 {
	font-size: 0.7rem!important;
}
.fs-08 {
	font-size: 0.8rem!important;
}
.fs-09 {
	font-size: 0.9rem!important;
}
.fs-10 {
	font-size: 1.0rem!important;
}
.fs-11 {
	font-size: 1.1rem!important;
}
.fs-12 {
	font-size: 1.2rem!important;
}
.fs-13 {
	font-size: 1.3rem!important;
}
.fs-14 {
	font-size: 1.4rem!important;
}
/* Line heights */
.lh-08 { line-height: 0.8rem!important; }
.lh-09 { line-height: 0.9rem!important; }
.lh-10 { line-height: 1.0rem!important; }
.lh-11 { line-height: 1.1rem!important; }
.lh-12 { line-height: 1.2rem!important; }
.lh-13 { line-height: 1.3rem!important; }
.lh-14 { line-height: 1.4rem!important; }
.lh-15 { line-height: 1.5rem!important; }
.lh-16 { line-height: 1.6rem!important; }
.lh-17 { line-height: 1.7rem!important; }
.lh-18 { line-height: 1.8rem!important; }
.lh-19 { line-height: 1.9rem!important; }
.lh-20 { line-height: 2.0rem!important; }



.hidden {
	display: none;
}
.block {
	display: block;
}
.inline-block {
	display: inline-block;
}
.relative {
	position: relative;
}


/* Tooltips */
.tooltip {
	position: relative;
	display: inline-block;
	cursor: help;
}
.tooltiptext {
	visibility: hidden;
	width: max-content;
	max-width: 600px;
	background: light-dark(var(--light), var(--muted));
	border: 1px solid rgba(180, 180, 180, 0.7);
	border-radius: 0.5rem;
	padding: 0.25rem 0.5rem;
	font-size: 90%;
	text-align: center;
	position: absolute;
	z-index: 50;
}
.tooltiptext-right {
	top: 50%;
	transform: translateY(-50%);
	left: 105%;
}
.tooltiptext-left {
	top: 50%;
	transform: translateY(-50%);
	right: 105%;
}
.tooltiptext-top {
	bottom: 100%;
	transform: translateX(-50%);
	left: 50%;
}
.tooltiptext-bottom {
	top: 100%;
	transform: translateX(-50%);
	left: 50%;
}
.tooltip:hover .tooltiptext {
	visibility: visible;
}




.wide {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}

table {
	caption-side: bottom;
	border-collapse: collapse;
	font-family: 'consolas';
}

table.fullwidth {
	width: 100%!important;
}
table.stripes tbody tr:nth-of-type(even) {
	background: rgba(0, 0, 0, 0.08)!important;
}
table.borders td, table.borders th {
	border: 1px solid light-dark(#ccc, #999);
}

table th, table td {
	text-align: left;
	padding: 0.5rem;
	white-space: nowrap;
}
table th {
	background: rgba(0, 50, 81, 0.2);
}


table.stats td, table.stats th {
	text-align: left;
}
table.stats td:nth-of-type(2), table.stats th:nth-of-type(2) {
	text-align: right;
}


/* Firefox */
* {
	scrollbar-width: auto;
	scrollbar-color: #15273f #ffffff;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
	width: 16px;
}

*::-webkit-scrollbar-track {
	background: #ffffff;
}

*::-webkit-scrollbar-thumb {
	background-color: #15273f;
	border-radius: 10px;
	border: 3px none #ffffff;
}


/* Cookie box */
.cookie-banner {
	position: fixed;
	bottom: 2em;
	left: 2em;
	right: 2em;
	max-width: 600px;
	z-index: 500;
	margin: 0 auto;
	
	color: #fff;
	background: light-dark(var(--red), var(--blue));
	padding: 1.5em 2em;
	line-height: 1.7rem;
	font-size: 1.1rem;
}
.cookie-banner p {
	margin: 0;
	
}
.cookie-banner button {
	color: #fff;
	background: light-dark(var(--blue), var(--red));
	padding: 1rem 1.4rem;
	border-radius: 0.25rem;
	cursor: pointer;
	min-width: 100px;
}
.cookie-banner button:hover {
	background: light-dark(var(--bluehover), var(--redhover));
}

.cookie-banner a {
	color: #fff;
}

@media (min-width: 800px) {
	.cookie-banner {
		right: revert;
		bottom: 2em;
		max-width: 500px;
		margin: revert;
		padding: 3em 2em;
		border-radius: 0.5rem;
		
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.cookie-banner p {
		flex-grow: 1;
	padding-right: 2em;
	}
}

.max-text-width {
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}



/* Pagination */
.pager {
	max-width: 100%;
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.73rem;
}
.page-number {
	all: unset!important;
	cursor: pointer!important;
	padding: 0.5rem 0.75rem!important;
	transition: all 0.5s ease!important;
	background: light-dark(#eee, #999)!important;
	border: 1px solid light-dark(#ccc, #aaa)!important;
}
.pager .activex, .page-number:hover {
	color: light-dark(#fff, var(--blue))!important;
	background: light-dark(var(--blue), #ddd)!important;
	border: 1px solid light-dark(var(--blue), #ccc)!important;
}
/*
.pager {
	text-align: center!important;
	margin-top: 1.65rem!important;
}
.pager span.page-number {
	all: unset!important;
	display: inline-block!important;
	cursor: pointer!important;
	padding: 0.5rem 0.75rem!important;
	margin-right: 0.25rem!important;
	transition: all 0.5s ease!important;
	background: light-dark(#eee, #999)!important;
	border: 1px solid light-dark(#ccc, #aaa)!important;
}
.pager span.activex, .pager span.page-number:hover {
	color: light-dark(#fff, var(--blue))!important;
	background: light-dark(var(--blue), #ddd)!important;
	border: 1px solid light-dark(var(--blue), #ccc)!important;
}
*/



.btn {
	padding: 0.5rem;
	border-radius: 0.25rem;
}



/* Flex grids */
.row {
	display: flex;
	flex-wrap: wrap;
}
.col {
	flex-basis: 0;
	-webkit-box-flex: 1;
	flex-grow: 1;
	max-width: 100%;
	flex: 1;
}
.row-1 { gap: 0.25rem; }
.row-2 { gap: 0.5rem; }
.row-3 { gap: 0.75rem; }
.row-4 { gap: 1rem; }
.row-5 { gap: 1.25rem; }
.row-6 { gap: 1.5rem; }

.row-center {
	justify-content: center;
	align-items: center;
}

.row-stats {
	font-size: 1.5rem;
	text-align: center;
	white-space: nowrap;
}
	.row-stats span {
		display: block;
		font-size: 0.8rem;
		margin-top: 0.5rem;
	}


/* grids */
.grid { display: grid; }
.grid0 { grid-gap: 0; }
.grid1 { grid-gap: 0.25rem; }
.grid2 { grid-gap: 0.5rem; }
.grid3 { grid-gap: 0.75rem; }
.grid4 { grid-gap: 1rem; }
.grid5 { grid-gap: 1.25rem; }
.grid6 { grid-gap: 1.5rem; }

.grid5050 { grid-template-columns: 50% 50%; }
@media (max-width: 800px) {
	.grid5050 { grid-template-columns: 100% }
}
.grid5050 input, .grid5050, select {
	max-width: calc(100% - 2rem);
}


.flex {
	display: flex;
}
.flex0 { gap: 0; }
.flex1 { gap: 0.25rem; }
.flex2 { gap: 0.5rem; }
.flex3 { gap: 0.75rem; }
.flex4 { gap: 1rem; }
.flex5 { gap: 1.25rem; }
.flex6 { gap: 1.5rem; }

/* Margins and paddings */
.m-0 { margin: 0!important; }
.m-1 { margin: 0.25rem!important; }
.m-2 { margin: 0.5rem!important; }
.m-3 { margin: 0.75rem!important; }
.m-4 { margin: 1rem!important; }
.m-5 { margin: 1.25rem!important; }
.m-6 { margin: 1.5rem!important; }

.mt-0 { margin-top: 0!important; }
.mt-1 { margin-top: 0.25rem!important; }
.mt-2 { margin-top: 0.5rem!important; }
.mt-3 { margin-top: 0.75rem!important; }
.mt-4 { margin-top: 1rem!important; }
.mt-5 { margin-top: 1.25rem!important; }
.mt-6 { margin-top: 1.5rem!important; }

.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: 0.25rem!important; }
.mb-2 { margin-bottom: 0.5rem!important; }
.mb-3 { margin-bottom: 0.75rem!important; }
.mb-4 { margin-bottom: 1rem!important; }
.mb-5 { margin-bottom: 1.25rem!important; }
.mb-6 { margin-bottom: 1.5rem!important; }

.ml-0 { margin-left: 0!important; }
.ml-1 { margin-left: 0.25rem!important; }
.ml-2 { margin-left: 0.5rem!important; }
.ml-3 { margin-left: 0.75rem!important; }
.ml-4 { margin-left: 1rem!important; }
.ml-5 { margin-left: 1.25rem!important; }
.ml-6 { margin-left: 1.5rem!important; }

.mr-0 { margin-right: 0!important; }
.mr-1 { margin-right: 0.25rem!important; }
.mr-2 { margin-right: 0.5rem!important; }
.mr-3 { margin-right: 0.75rem!important; }
.mr-4 { margin-right: 1rem!important; }
.mr-5 { margin-right: 1.25rem!important; }
.mr-6 { margin-right: 1.5rem!important; }

.mx-0 { margin-left: 0!important; margin-right: 0!important; }
.mx-1 { margin-left: 0.25rem!important; margin-right: 0.25rem!important; }
.mx-2 { margin-left: 0.5rem!important; margin-right: 0.5rem!important; }
.mx-3 { margin-left: 0.75rem!important; margin-right: 0.75rem!important; }
.mx-4 { margin-left: 1rem!important; margin-right: 1rem!important; }
.mx-5 { margin-left: 1.25rem!important; margin-right: 1.25rem!important; }
.mx-6 { margin-left: 1.5rem!important; margin-right: 1.5rem!important; }
.mx-auto { margin-left: auto!important; margin-right: auto!important; }

.my-0 { margin-top: 0!important; margin-bottom: 0!important; }
.my-1 { margin-top: 0.25rem!important; margin-bottom: 0.25rem!important; }
.my-2 { margin-top: 0.5rem!important; margin-bottom: 0.5rem!important; }
.my-3 { margin-top: 0.75rem!important; margin-bottom: 0.75rem!important; }
.my-4 { margin-top: 1rem!important; margin-bottom: 1rem!important; }
.my-5 { margin-top: 1.25rem!important; margin-bottom: 1.25rem!important; }
.my-6 { margin-top: 1.5rem!important; margin-bottom: 1.5rem!important; }

.p-0 { padding: 0!important; }
.p-1 { padding: 0.25rem!important; }
.p-2 { padding: 0.5rem!important; }
.p-3 { padding: 0.75rem!important; }
.p-4 { padding: 1rem!important; }
.p-5 { padding: 1.25rem!important; }
.p-6 { padding: 1.5rem!important; }

.pt-0 { padding-top: 0!important; }
.pt-1 { padding-top: 0.25rem!important; }
.pt-2 { padding-top: 0.5rem!important; }
.pt-3 { padding-top: 0.75rem!important; }
.pt-4 { padding-top: 1rem!important; }
.pt-5 { padding-top: 1.25rem!important; }
.pt-6 { padding-top: 1.5rem!important; }

.pb-0 { padding-bottom: 0!important; }
.pb-1 { padding-bottom: 0.25rem!important; }
.pb-2 { padding-bottom: 0.5rem!important; }
.pb-3 { padding-bottom: 0.75rem!important; }
.pb-4 { padding-bottom: 1rem!important; }
.pb-5 { padding-bottom: 1.25rem!important; }
.pb-6 { padding-bottom: 1.5rem!important; }

.pl-0 { padding-left: 0!important; }
.pl-1 { padding-left: 0.25rem!important; }
.pl-2 { padding-left: 0.5rem!important; }
.pl-3 { padding-left: 0.75rem!important; }
.pl-4 { padding-left: 1rem!important; }
.pl-5 { padding-left: 1.25rem!important; }
.pl-6 { padding-left: 1.5rem!important; }

.pr-0 { padding-right: 0!important; }
.pr-1 { padding-right: 0.25rem!important; }
.pr-2 { padding-right: 0.5rem!important; }
.pr-3 { padding-right: 0.75rem!important; }
.pr-4 { padding-right: 1rem!important; }
.pr-5 { padding-right: 1.25rem!important; }
.pr-6 { padding-right: 1.5rem!important; }

.px-0 { padding-left: 0!important; padding-right: 0!important; }
.px-1 { padding-left: 0.25rem!important; padding-right: 0.25rem!important; }
.px-2 { padding-left: 0.5rem!important; padding-right: 0.5rem!important; }
.px-3 { padding-left: 0.75rem!important; padding-right: 0.75rem!important; }
.px-4 { padding-left: 1rem!important; padding-right: 1rem!important; }
.px-5 { padding-left: 1.25rem!important; padding-right: 1.25rem!important; }
.px-6 { padding-left: 1.5rem!important; padding-right: 1.5rem!important; }

.py-0 { padding-top: 0!important; padding-bottom: 0!important; }
.py-1 { padding-top: 0.25rem!important; padding-bottom: 0.25rem!important; }
.py-2 { padding-top: 0.5rem!important; padding-bottom: 0.5rem!important; }
.py-3 { padding-top: 0.75rem!important; padding-bottom: 0.75rem!important; }
.py-4 { padding-top: 1rem!important; padding-bottom: 1rem!important; }
.py-5 { padding-top: 1.25rem!important; padding-bottom: 1.25rem!important; }
.py-6 { padding-top: 1.5rem!important; padding-bottom: 1.5rem!important; }





/* Cards */
.card {
	position: relative;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	word-wrap: break-word;
	background: light-dark(#fff, #333);
	border-radius: 0.25rem;
	box-shadow: 0 0 2px 1px light-dark(#ccc, #666);
}
.card-header {
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
	font-weight: 700;
	background: light-dark(#f1f1f1, #444);
	border-bottom: 1px solid light-dark(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}
.card-body {
	font-size: 0.9rem;
	line-height: 1.35rem;
}



/* Inputs */
input, select, textarea {
	font-size: 0.9rem;
	font-family: var(--lato);
	padding: 0.6rem;
	border: 1px solid light-dark(#d1d1d1, #555);
	border-radius: 0.25rem;
	width: 100%;
}
input[type="submit"] {
	cursor: pointer;
	color: #fff;
	border: 1px solid light-dark(var(--redhover), var(--bluehover));
	background: light-dark(var(--red), var(--blue));
}
input::placeholder, select::placeholder, textarea::placeholder {
	color: light-dark(#555, #aaa);
}
label {
	display: block;
	font-weight: 700;
}

.input-group {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}
	.input-group i:nth-of-type(1) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		white-space: nowrap;
		padding: 0.6rem;
		border: 1px solid light-dark(#d1d1d1, #555);
		border-radius: 0.25rem;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		background: light-dark(#ddd, #444);
	}
		.input-group i:nth-of-type(1).error, .input-group .error {
			border-color: var(--danger);
		}
		.input-group i:nth-of-type(1).error {
			border-right: 1px solid light-dark(#d1d1d1, #555);
		}
	.input-group i:nth-of-type(2) {
		position: absolute;
		top: 50%;
		right: 0.5rem;
		transform: translateY(-50%);
		cursor: pointer;
	}
		.input-group i:nth-of-type(2):hover {
			color: light-dark(var(--muted), #aaa);
		}
	
	.input-group input, .input-group select, .input-group textarea {
		position: relative;
		flex: 1 1 auto;
		width: 1%;
		min-width: 0;
		border-left: 0;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	input[type="submit"].disabled {
		background: #ccc;
		border-color: #ddd;
		color: var(--dark);
		cursor: initial;
	}
	input:read-only {
		opacity: 0.75;
	}
	
	



/* Alerts */
.alert {
	position: relative;
	padding: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
}
.alert .alert-close {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.7rem;
	padding: 0.22rem 0.5rem;
	cursor: pointer;
	color: inherit;
	opacity: 0.5;
	font-weight: 700;
}
.alert .alert-close:hover {
	opacity: 1;
}
.alert-primary {
	color: #004085;
	background-color: #cce5ff;
	border-color: #b8daff;
}
	.alert-primary a {
		color: #002752;
	}
.alert-secondary {
	color: #383d41;
	background-color: #e2e3e5;
	border-color: #d6d8db;
}
	.alert-secondary a {
		color: 2202326;
	}
.alert-success {
	color: #155724;
	background-color: #d4edda;
	border-color: #c3e6cb;
}
	.alert-success a {
		color: #0b2e13;
	}
.alert-danger {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}
	.alert-danger a {
		color: #491217;
	}
.alert-warning {
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}
	.alert-warning a {
		color: #533f03;
	}
.alert-info {
	color: light-dark(#0c5460, #ccc);
	background-color: light-dark(#d1ecf1, #66777a);
	border-color: light-dark(#bee5eb, #769094);
}
	.alert-info a {
		color: #062c33;
	}
.alert-light {
	color: #818182;
	background-color: #fefefe;
	border-color: #fdfdfe;
}
	.alert-light a {
		color: #686868;
	}
.alert-dark {
	color: #1b1e21;
	background-color: #d6d8d9;
	border-color: #c6c8ca;
}
	.alert-dark a {
		color: #040505;
	}





#container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.container {
	width: calc(100% - 2rem);
	padding: 0 1rem;
}
header .container {
	width: 100%;
	padding: 0;
}




header {
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 500;
}
	header #top1 {
		position: relative;
		color: #fff;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 80px;
		position: relative;
	}
	
	header #top1 #logo {
		width: 180px;
		padding: 0.75rem;
	}
		header #top1 #logo a:hover {
			filter: revert;
		}
	
	header #top1 #menu_mobile {
		display: flex;
		align-items: center;
		font-size: 1.1rem;
		padding-left: 1rem;
		color: #fff;
		cursor: pointer;
	}
		header #top1 #menu_mobile span {
			color: #fff;
			background: var(--blue);
			font-size: 1.8rem;
			width: 80px;
			height: 80px;
			display: flex;
			justify-content: center;
			align-items: center;
			transition: 0.25s;
			margin-left: 1rem;
		}
		header #top1 #menu_mobile:hover span, header #top1 #menu_mobile span.active {
			filter: brightness(120%);
			transition: 0.25s;
		}
	
	header #top1 menu {
		position: absolute;
		top: 80px;
		left: 0;
		right: 0;
		height: calc(100vh - 80px);
		overflow-y: auto;
		background: var(--blue);
		list-style-type: none;
		display: none;
	}
		header #top1 menu a {
			color: #fff;
			text-decoration: none;
			display: block;
			padding: 1rem 1.3rem;
			background: var(--blue);
		}
		header #top1 menu a:hover, header #top1 menu a.active {
			filter: brightness(120%);
		}
	
	header #top2 {
		color: #fff;
		background: var(--blue);
		padding: 0.75rem;
		font-size: 0.9rem;
	}


@media (min-width: 1300px) {
	.container, header .container {
		width: 1200px;
		margin: 0 auto;
	}
	
	header #top1 #menu_mobile {
		display: none;
	}
	
	header #top1 menu {
		position: revert;
		top: revert;
		left: revert;
		right: revert;
		height: revert;
		overflow-y: revert;
		background: revert;
		display: revert;
	}
		header #top1 menu li {
			display: inline-block;
		}
		header #top1 menu li a {
			color: revert;
			padding: revert;
			background: revert;
			
			display: flex;
			align-items: center;
			color: #fff;
			height: 80px;
			padding: 0 1.2rem;
			text-transform: lowercase;
		}
		header #top1 menu li a:hover, header #top1 menu li a.active {
			filter: revert;
			background: var(--blue);
		}
}




main {
	flex: 1;
	position: relative;
}
	main.hasnav {
		max-width: 1233px;
		margin: 0 auto;
		display: flex;
		gap: 0.5rem;
	}
	main.hasnav .container {
		padding-left: 220px;
	}
nav {
	width: 200px;
	margin-top: 1rem;
	position: fixed;
	overflow-y: auto;
	height: calc(100vh - 150px);
}
	nav ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
		nav ul li {
			margin: 0;
			padding: 0;
		}
		nav ul li a, nav ul li span {
			color: light-dark(var(--blue), #fff);
			cursor: pointer;
			display: block;
			margin-bottom: 0.25rem;
			font-size: 0.85rem;
			padding: 0.5rem;
			text-decoration: none;
			border-radius: 0.25rem;
		}
		nav ul li:last-of-type a, nav ul li:last-of-type span {
			margin-bottom: 0;
		}
		nav ul li a:hover, nav ul li span:hover {
			color: light-dark(var(--blue), #fff);
			filter: revert;
			background: rgba(21, 39, 63, 0.1);
		}
		nav ul li .active, nav ul li .active:hover {
			background: rgba(21, 39, 63, 0.2);
		}
@media (max-width: 1300px) {
	main.hasnav {
		display: revert;
		max-width: revert;
		margin: revert;
		gap: revert;
	}
		main.hasnav .container {
			padding: 0 1rem;
		}
	nav {
		width: calc(100% - 2rem);
		padding: 0 1rem;
		margin-bottom: -1rem;
		overflow-x: auto;
		max-width: 100%;
		white-space: nowrap;
		position: revert;
		overflow-y: revert;
		height: revert;
	}
		nav ul li {
			display: inline-block;
			margin-right: 0.5rem;
		}
		nav ul li a, nav ul li span {
			display: inline-block;
		}
}



footer {
	clear: both;
	position: relative;
	height: 120px;
	color: #fff;
	background: var(--blue);
	line-height: 1.5rem;
	overflow-y: auto;
	display: flex;
	align-items: center;
}
	footer ul {
		margin: 0;
	}
	footer ul li {
		list-style-type: none;
		font-size: 0.9rem;
		line-height: 1.4rem;
		margin: 0;
	}
	footer a {
		color: #fff;
	}





#banner {
	display: none;
	width: 100%;
	height: 200px;
	background-size: cover;
	background-position: center;
	position: relative;
	transition: background 1s linear;
	z-index: 10;
}
#banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 11;
	background: rgba(0, 0, 0, 0.4);
}
#banner-text {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 12;
}
	#banner-text h1 {
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: 'norwegian1';
		font-size: 3.8rem;
		color: var(--red);
	}
	#banner-text h1 span {
		margin-right: 0.5rem;
	}
	#banner-text h1 span:nth-of-type(2) {
		color: #fff;
	}
	#banner-text img {
		height: 40px;
		margin-top: 0.5rem;
	}
	#banner-text div.text-white h1,#banner-text div.text-white h2 {
		color: #fff;
	}
#banner-info {
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	opacity: 0.8;
	z-index: 13;
	padding: 0.6rem 0.8rem;
	border-radius: 0.25rem;
}
@media(min-width: 1000px) {
	#banner {
		display: block;
	}
}
@media(min-width: 1600px) {
	#banner {
		height: 350px;
	}
}
@media(min-width: 1800px) {
	#banner {
		height: 450px;
	}
}







ul, ol {
	margin-left: 1.2rem;
}
ul li, ol li {
	line-height: 1.4rem;
	margin-top: 0.15rem;
}
.fa-ul {
	margin-left: 1.7rem!important;
}







#map {
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 150;
	background: rgba(180, 180, 180, 0.1);
}
#map span {
	font-size: 1.5rem;
}

#map-menu {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 301;
}
	#map-menu .map-btn {
		position: relative;
		color: #fff;
		background: var(--blue);
		font-size: 1.1rem;
		padding: 0.5rem;
		margin-bottom: 0.5rem;
		height: 1.6em;
		width: 1.6em;
		border-radius: 0.5rem;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#map-menu .map-btn:hover, #map-menu .map-btn-sub-active {
		background: var(--red);
	}
	#map-menu .map-btn:last-of-type {
		margin-bottom: 0;
	}
	
	#map-menu .map-sub {
		color: light-dark(var(--blue), #fff);
		background: light-dark(#fff, var(--blue));
		padding: 0.75rem;
		border-radius: 0.5rem;
		
		position: absolute;
		top: 0;
		left: 60px;
		min-width: 220px;
		z-index: 301;
		
		display: none;
		
		max-height: calc(65vh - 100px);
		overflow-y: auto;
		
		box-shadow: 0 0 2px 2px #ccc;
	}
	#map-menu .map-sub .map-sub-header {
		font-size: 1.0rem;
		font-weight: 600;
		position: relative;
	}
	#map-menu .map-sub .map-sub-header i {
		font-size: 1.3rem;
		position: absolute;
		right: 0rem;
		top: 50%;
		transform: translateY(-50%);
		color: light-dark(var(--blue), #e8e8e8);
		cursor: pointer;
		padding: 0.25rem;
	}
	#map-menu .map-sub .map-sub-header i:hover {
		color: var(--red);
	}
		#map-menu .map-sub input[type="radio"] {
			display: none;
		}
		#map-menu .map-sub .map-menu-radio label {
			display: block;
			font-weight: 700;
			font-size: 0.9rem;
			cursor: pointer;
			margin-top: 0.75rem;
		}
		#map-menu .map-sub .map-menu-radio:first-of-type label {
			margin-top: 0;
		}
		#map-menu .map-sub .map-menu-radio input[type="radio"] + label:before {
			content: '\2714';
			border: 1px solid light-dark(var(--blue), #e8e8e8);
			border-radius: 50%;
			display: inline-block;
			width: 1.2em;
			height: 1.2em;
			line-height: 1.3em;
			margin-right: 0.5rem;
			text-align: center;
			vertical-align: middle;
			font-size: 1rem;
			transition: 0.2s;
			color: transparent;
		}
		#map-menu .map-sub .map-menu-radio input[type="radio"]:hover + label:before {
			border-color: light-dark(var(--blue), #e8e8e8);
			background: light-dark(var(--blue), #e8e8e8);
		}
		#map-menu .map-sub .map-menu-radio input[type="radio"]:checked + label:before {
			border-color: light-dark(var(--blue), #e8e8e8);
			background: light-dark(var(--blue), #e8e8e8);
			color: light-dark(#fff, var(--blue));
		}


.map-index {
	height: 300px;
}
@media (min-width: 1000px) {
	.map-index {
		height: 500px;
	}
}


.leaflet-tooltip.class-tooltip {
	all: initial;
	position: absolute;
	margin-left: 0.5rem;
	color: light-dark(var(--blue), #e8e8e8);
	background: light-dark(#fff, var(--blue));
	padding: 0.5rem;
	font-size: 0.8rem;
	font-family: 'consolas';
	white-space: nowrap;
	border-radius: 5px;
	box-shadow: 0 0 2px 1px #ccc;
	line-height: 1.2rem;
}

.leaflet-tooltip-left.class-tooltip::before {
	border-left-color: transparent;
}

.leaflet-tooltip-right.class-tooltip::before {
	border-right-color: transparent;
}

.leaflet-tooltip.class-tooltip2 {
	all: initial;
	position: absolute;
	background: transparent;
	font-size: 0.85rem;
	margin-left: 0.5rem;
	white-space: nowrap;
	border: 1px solid transparent;
	font-family: 'consolas';
	color: light-dark(var(--blue), #e8e8e8);
}

.class-tooltip2.tooltip-hover {
  background: var(--blue);
  color: #e8e8e8;
  box-shadow: 0 0 2px 1px #ccc;
  padding: 0.25rem;

  position: absolute;
  top: -25px;

  /* center horizontally over the parent */
  left: -30px;
}

@media (prefers-color-scheme: dark) {
	.leaflet-tooltip.class-tooltip2 {
		color: #e8e8e8;
	}
	
	.class-tooltip2.tooltip-hover {
		color: var(--blue);
		background: #fff;
	}
}


.leaflet-tooltip-left.class-tooltip2::before {
	border-left-color: transparent;
}

.leaflet-tooltip-right.class-tooltip2::before {
	border-right-color: transparent;
}


/*
pre { background:#1e1e1e; color:#d4d4d4; padding:10px; border-radius:6px; }

pre .key     { color:#9cdcfe; }
pre .string  { color:#ce9178; }
pre .number  { color:#b5cea8; }
pre .boolean { color:#569cd6; }
pre .null    { color:#569cd6; font-style:italic; }
*/




#stats td {
	width: 16.6%;
	text-align: center;
	padding: 1.5rem 1rem;
}
#stats td span:nth-of-type(1) {
	font-size: 1.6rem;
	display: block;
	margin-bottom: 0.5rem;
}
#stats td span:nth-of-type(2) {
	font-size: 0.8rem;
	display: block;
}


#fleet {
	max-width: 800px;
	margin: 0 auto;
}

#about {
	grid-template-columns: 100%;
}
#about ul li {
	margin-top: 0.75rem;
}
#about ul li:nth-of-type(1) {
	margin-top: 0;
}
@media (min-width: 600px) {
	#about {
		grid-template-columns: repeat(auto-fix, minmax(400px, max-content));
	}
}
@media (min-width: 1300px) {
	#about {
		grid-template-columns: 750px auto;
	}
		#about div:nth-of-type(1) {
			grid-row: 1 / 3;
		}
		#about div:nth-of-type(2) {
			grid-row: 1 / -1;
		}
}





.relative-live-map {
	
}
.map-live-map {
	height: 100%;
}


#map-live-container {
	position: absolute;
	top: 10px;
	right: 10px;
	
	z-index: 302;
	width: 400px;
}

#map-live {
	background: light-dark(#fff, #333);
	border-radius: 0.5rem;
	box-shadow: 0 0 2px 1px light-dark(#eee, #666);
}
	#map-live-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 0.9rem;
		padding: 0.5rem;
		background: light-dark(#ddd, #444);
		border-top-left-radius: 0.5rem;
		border-top-right-radius: 0.5rem;
	}
		#map-live-header i {
			font-size: 1.2rem;
			color: light-dark(var(--blue), #e8e8e8);
			cursor: pointer;
		}
		#map-live-header i:hover {
			color: light-dark(var(--red), #bbb);
		}
	#map-live-body {
		padding-bottom: 1rem;
	}
	#map-live-body .p-3 {
		overflow-y: auto;
		/*max-height: calc(100vh - 350px);*/
	}
	
	#map-live-body .p-3 .map-live-box {
		background: light-dark(#eee, #444);
		box-shadow: 0 0 2px 1px light-dark(#ddd, #666);
		margin-top: 0.75rem;
		padding: 0.5rem;
	}
	
		.map-live-box:first-of-type {
			margin-top: 0!important;
		}
		.map-live-box:last-of-type {
			margin-bottom: 0!important;
		}
		.map-live-box .row:nth-of-type(1) {
			font-size: 0.95rem;
		}
		.map-live-box .row:nth-of-type(2) {
			font-size: 0.85rem;
			margin: 0.25rem 0;
		}
		.map-live-box .row:nth-of-type(3) {
			font-size: 0.8rem;
		}
	#map-live-body .p-3 .map-live-box:hover, #map-live-body .p-3 .map-live-box.active {
		cursor: pointer;
		background: light-dark(#e4e4e4, #555);
	}
	#map-live-body .p-3 .map-live-box.disabled {
		cursor: default;
	}
	#map-live-body .p-3 .map-live-box.disabled:hover {
		background: #eee;
	}


	
#map-track {
	margin-top: 20px;
	background: light-dark(#fff, #333);
	border-radius: 0.5rem;
	box-shadow: 0 0 2px 1px light-dark(#eee, #666);
	display: none;
}
	#map-track-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 0.9rem;
		font-weight: 600;
		padding: 0.5rem;
		background: light-dark(#ddd, #444);
		border-top-left-radius: 0.5rem;
		border-top-right-radius: 0.5rem;
	}
		#map-track-header > i {
			font-size: 1.2rem;
			color: light-dark(var(--blue), #e8e8e8);
			cursor: pointer;
		}
		#map-track-header > i:hover {
			color: light-dark(var(--red), #bbb);
		}
		#map-track-header div span:nth-of-type(1) {
			font-weight: 700;
		}
		#map-track-header div span:nth-of-type(1)::after {
			content: '/';
			margin: 0 0.5rem;
		}
		#map-track-header div span:nth-of-type(2) {
			font-weight: 400;
		}



#track-deparr {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 150px auto 150px;
	justify-items: center;
	align-items: center;
	font-size: 0.8rem;
}	
	#track-deparr div {
		width: 100%;
	}
	#track-deparr div:nth-of-type(2) {
		text-align: center;
		font-size: 2.2rem;
	}
	#track-deparr div:nth-of-type(3) {
		text-align: right;
	}
	
	#track-dep, #track-arr {
		font-weight: 700;
		font-size: 1rem;
		display: inline-block;
	}
	#track-depname, #track-arrname {
		max-width: 150px;
		font-size: 0.8rem;
		display: inline-block;
		margin-top: 0.25rem;
	}
	#track-dist1, #track-dist2 {
		margin-top: 0.5rem;
		display: inline-block;
		font-size: 0.8rem;
	}
	
#track-wrapper {
	height: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
	#track-bar {
		width: 100%;
		background: #d1d0d0;
		height: 0.2rem;
	}
		#track-progbar {
			width: 50%;
			position: relative;
			height: 100%;
			background: var(--red);
		}
			#track-progbar i {
				position: absolute;
				height: 1.8rem;
				top: -0.37rem;
				right: 0rem;
			}

#track-phase {
	font-size: 0.85rem;
	margin-top: 0.25rem;
}

#map-track-body .p-3 .row .col {
	font-size: 0.75rem;
}
#map-track-body .p-3 .row .col span:nth-of-type(1) {
	font-weight: 700;
}
	#map-track-body .p-3 .row .col span:nth-of-type(1)::after {
		content: ':';
	}
#map-track-body .p-3 .row .col span:nth-of-type(2) {
	font-size: 0.85rem;
	line-height: 1.2rem;
}


@media (max-width: 1000px) {
	#map-live-body, #map-live-header i {
		display: none;
	}
	#map-live {
		
	}
	#map-track {
		
	}
	#map-live-container {
		width: calc(100% - 1rem);
		margin: 0 auto;
		left: 0;
		right: 0;
		bottom: 0.5rem;
		top: revert;
	}
	
	#track-phase, #map-track-body .p-3 .row {
		display: none;
	}
}




.client-download a {
	display: block;
	background: light-dark(var(--red), var(--blue));
	color: #fff;
	border-radius: 0.5rem;
	text-decoration: none;
	opacity: 0.7;
	padding: 1rem;
}
.client-download a:hover {
	filter: brightness(90%);
}
	.client-download a span {
		display: block;
	}



.download {
	justify-content: space-between;
	border-bottom: 1px solid #ddd;
	padding: 1rem;
}
.download:last-of-type {
	border-bottom: 0;
}
	.download .col {
		
	}
	
		.download .col:nth-of-type(1) {
			width: 100px;
			height: 100px;
			max-width: 100px;
			max-height: 100px;
			background: light-dark(var(--red), var(--blue));
			position: relative;
			opacity: 0.6;
		}
		.download .col:nth-of-type(1) h3 {
			font-size: 2rem;
			color: light-dark(var(--blue), var(--red));
		}
		.download .col:nth-of-type(1) img {
			
		}
		.download .col:nth-of-type(1) div {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
		@media (max-width: 1000px) {
			.download .col:nth-of-type(1) {
				display: none;
			}
		}
		
		
		.download .col:nth-of-type(3) {
			width: 120px;
			max-width: 120px;
			font-size: 0.8rem;
			line-height: 1.6rem;
		}






#profile {
	grid-template-columns: 100%;
}
#profile ul li {
	margin-top: 0.75rem;
}
#profile ul li:nth-of-type(1) {
	margin-top: 0;
}
@media (min-width: 600px) {
	
}
@media (min-width: 1000px) {
	#profile {
		grid-template-columns: 450px auto;
		grid-template-areas:
			"one two"
			"three three"
			"four four";
	}
		
		#profile div:nth-of-type(1) {
			grid-area: one;
		}
		#profile div:nth-of-type(2) {
			grid-area: two;
		}
		#profile div:nth-of-type(3) {
			grid-area: three;
		}
		#profile div:nth-of-type(4) {
			grid-area: four;
		}
		
}
@media (min-width: 1100px) {
	#profile {
		grid-template-columns: repeat(2, 1fr);     /* two equal columns */
	}
}




#dashboard {
	grid-template-columns: 100%;
}
@media (min-width: 1200px) {
	#dashboard {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"one one"
			"two three"
			"four five"
			"six six"
			"seven eight"
	}
	
		#dashboard > div:nth-of-type(1) {
			grid-area: one;
		}
		#dashboard > div:nth-of-type(2) {
			grid-area: two;
		}
		#dashboard > div:nth-of-type(3) {
			grid-area: three;
		}
		#dashboard > div:nth-of-type(4) {
			grid-area: four;
		}
		#dashboard > div:nth-of-type(5) {
			grid-area: five;
		}
		#dashboard > div:nth-of-type(6) {
			grid-area: six;
		}
		#dashboard > div:nth-of-type(7) {
			grid-area: seven;
		}
		#dashboard > div:nth-of-type(8) {
			grid-area: eight;
		}
}


.dash-flight {
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
	.dash-flight > div {
		font-size: 0.7rem;
		text-transform: uppercase;
		font-weight: 600;
	}
	.dash-flight > div span {
		display: block;
		font-size: 0.9rem;
		text-transform: none;
		font-weight: 400;
	}

@media(min-width: 600px) {
	.dash-flight {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media(min-width: 1200px) {
	
}



.map-roster, .map-flight {
	height: 500px;
}
@media (min-width: 1000px) {
	.map-roster, .map-flight {
		height: 800px;
	}
}



blockquote {
	background: rgba(180, 180, 180, 0.3);
	padding: 1rem;
	border-left: 0.5rem solid light-dark(var(--blue), var(--muted));
}
#comments-list div {
	margin-top: 1.3rem;
}
	#comments-list div:first-of-type {
		margin-top: 0;
	}
#comments-add {
	margin-top: 1.3rem;
}



#login-register {
	grid-template-columns: 100%;
}
#login-register #login-register-left {
	display: flex;
	align-items: center;
}
#login-register #login-register-right {
	display: none;
}
@media (min-width: 1300px) {
	#login-register {
		grid-template-columns: 400px auto;
	}
	#login-register #login-register-left {
		
	}
		#login-register #login-register-left h2 {
			display: none;
		}
	#login-register #login-register-right {
		display: revert;
		min-height: 600px;
		position: relative;
	}
		#login-register #login-register-right #login-register-bg {
			z-index: 5;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-image: url(/assets/img/bg-login-register.png);
			background-repeat: no-repeat;
			background-size: cover;
			background-position: center;
		}
		#login-register #login-register-right #login-register-overlay {
			z-index: 6;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: rgba(0, 0, 0, 0.7);
		}
		#login-register #login-register-right #login-register-text {
			z-index: 7;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			padding: 2rem;
			color: #fff;
		}
		#login-register #login-register-right #login-register-text h3 {
			font-size: 1.4rem;
		}
}




#dashboard-wb {
	display: revert;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid light-dark(#ccc, #888);
}
	#dashboard-wb div#dashboard-wb-2 {
		margin-top: 1rem;
		text-align: left;
	}
@media (min-width: 800px) {
	#dashboard-wb {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
		#dashboard-wb div#dashboard-wb-2 {
			margin-top: 0;
			text-align: right;
		}
}




#schedules {
	position: relative;
}
	#schedules-toggle {
		position: absolute;
		top: 1rem;
		left: 277px;
		font-size: 1.6rem;
		cursor: pointer;
		color: light-dark(var(--red), #fff);
		transition: left .3s ease, transform .3s ease;
		z-index: 5;
	}
	#schedules-toggle:hover {
		color: light-dark(var(--blue), #999);
	}
	
	#schedules-wrapper {
		display: grid;
		grid-template-columns: 320px auto;
		transition: grid-template-columns .3s ease;
	}
	#schedules-results {
		overflow-x: auto;
		transition: margin-left .3s ease;
	}
	
	#schedules-wrapper.collapsed {
		grid-template-columns: 100%;
	}
	#schedules-wrapper.collapsed #schedules-search {
		display: none;
	}
	#schedules-toggle.collapsed {
		left: 1rem;
		transform: rotate(180deg);
	}
	#schedules-wrapper.collapsed #schedules-results {
		margin-left: 2.5rem;
	}
	#schedules-search {
		transition: width .3s ease, opacity .3s ease;
		background: light-dark(#ddd, #3e3e3e);
	}
	



		#schedules-loading {
			display: flex;
			align-items: center;
			justify-content: center;
			color: var(--vred);
			font-size: 5rem;
			padding-top: 6rem;
		}

#schedules-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.1rem;
}
	#schedules-pagination .pg-btn, #schedules-pagination .pg-current {
		padding: 1rem 0.5rem;
		color: light-dark(#333, #fff);
		transition: color 0.2s linear;
	}
	#schedules-pagination .pg-btn:hover {
		cursor: pointer;
		color: light-dark(#aaa, #aaa);
	}
	
	
	
#schedules-search label {
	display: flex;
	align-items: center;
	white-space: nowrap;
	float: left;
	font-family: consolas;
	margin-right: 1.5rem;
	cursor: pointer;
}
#schedules-search label:hover {
	text-decoration: dashed underline;
}
	#schedules-search label input {
		margin-right: 0.25rem;
		cursor: pointer;
	}

#schedules-search input[type="text"], #schedules-search input[type="number"] {
	width: calc(100% - 1.4rem);
}

		#schedules-search b {
			display: block;
		}
		#schedules-search ::placeholder {
			font-size: 0.7rem;
		}
		#schedules-search select {
			display: inline-block;
			width: auto;
			padding: 0.5rem;
		}
		#schedules-search input[type="submit"] {
			color: #fff;
			background: light-dark(var(--success), var(--blue));
			border-color: transparent;
		}
			#schedules-search input[type="submit"]:hover {
				filter: brightness(80%);
			}




#schedules-table td, #schedules-table th, #schedules-table-row td, #schedules-table-row th {
	text-align: center;
}
tr.flight td, #schedules-table-row td {
	cursor: pointer;
	color: light-dark(#333, #ccc);
	background: light-dark(#eee, #444);
	border-bottom: 1px solid light-dark(#ccc, #5a5a5a);
}
#schedules-table-row td {
	cursor: default;
}
tr.flight:nth-of-type(even) td {
	background: light-dark(#e8e8e8, #4e4e4e);
}
	tr.flight:hover td {
		filter: brightness(90%);
	}
tr.flight td:first-of-type span:first-of-type, #schedules-table-row td:first-of-type span:first-of-type {
	color: light-dark(var(--red), #fff);
}
tr.flight td:nth-of-type(1) span:nth-of-type(2), tr.flight td:nth-of-type(2) span:nth-of-type(2), tr.flight td:nth-of-type(3) span:nth-of-type(2), tr.flight td:nth-of-type(6) span:nth-of-type(2), tr.flight td:nth-of-type(4) span:nth-of-type(2),
#schedules-table-row tr td:nth-of-type(1) span:nth-of-type(2), #schedules-table-row tr td:nth-of-type(2) span:nth-of-type(2), #schedules-table-row tr td:nth-of-type(3) span:nth-of-type(2) {
	font-size: 85%;
}
tr.flight td span.day, #schedules-table-row td span.day {
	padding: 0.25rem;
	font-size: 85%;
}
#schedules-table-results {
	text-align: right!important;
}
tr.flight td .bg-danger, #schedules-table-row tr td .bg-danger {
	background: light-dark(#f8d7da, #3d0000)!important;
}
tr.flight td .bg-success, #schedules-table-row tr td .bg-success {
	background: light-dark(#b3e0b1, #033d00)!important;
}
tr.flight td .text-danger, #schedules-table-row tr td .text-danger {
	color: light-dark(var(--danger), #3d0000)!important;
}
#schedules-results .tooltiptext, #schedules-table-row .tooltiptext, #schedules-table .tooltiptext {
	color: light-dark(#333, #fff)!important;
	font-size: 0.9rem!important;
	font-weight: 400!important;
	font-family: sans-serif!important;
	padding: 0.5rem!important;
}



.book-btn {
	padding: 0.5rem;
	margin-right: 0.5rem;
	display: inline-block;
	background: light-dark(#eee, #666);
	border: 1px solid light-dark(#aaa, #999);
	border-radius: 0.25rem;
	cursor: pointer;
}
.book-btn:last-of-type {
	margin-right: 0;
}
.book-btn:hover {
	filter: brightness(90%);
}

.book-btn.disabled, .book-btn.disabled:hover {
	cursor: default;
	filter: brightness(100%);
	opacity: 0.5;
}





.briefing {
	margin-top: 1.5rem;
	font-family: var(--sss);
}
	
	.briefing-header {
		color: light-dark(var(--dark), var(--light));
		background: rgba(0, 50, 81, 0.2);
		padding: 0.5rem;
		font-weight: 700;
		position: relative;
		border-top-left-radius: 0.25rem;
		border-top-right-radius: 0.25rem;
	}
		.briefing-header span {
			opacity: 0.9;
			font-weight: 500;
			font-size: 0.9rem;
			display: inline-block;
			margin-left: 1rem;
		}
		.briefing-header .briefing-header-options {
			position: absolute;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
		}
			.briefing-header .briefing-header-options span, .briefing-header .briefing-header-options a {
				margin: 0 0.25rem;
				cursor: pointer;
				font-size: 0.8rem;
				font-weight: 500;
				padding: 0.2rem 0.8rem;
				background: var(--muted);
				color: #fff;
				display: inline-block;
				text-decoration: none;
			}
			.briefing-header .briefing-header-options span:hover, .briefing-header .briefing-header-options a:hover {
				opacity: 0.7;
				filter: brightness(100%);
			}
			.briefing-header .briefing-header-options span.active {
				background: var(--success);
			}
				.briefing-header .briefing-header-options span i {
					margin-left: 0.3rem;
				}
				.briefing-header .briefing-header-options a i {
					margin-right: 0.3rem;
				}
		.briefing-header .briefing-header-options .briefing-header-options-text {
			font-size: 0.9rem;
			font-weight: 500;
			color: var(--muted);
			margin-right: 0.25rem;
		}
		@media (max-width: 800px) {
			.briefing-header .briefing-header-options .briefing-header-options-text {
				display: none;
			}
		}
	
	.briefing-body {
		padding: 1rem;
		border: 1px solid rgba(0, 0, 0, 0.1);
		border-top: 0;
		border-bottom-left-radius: 0.25rem;
		border-bottom-right-radius: 0.25rem;
		background: light-dark(transparent, #444);
	}

.briefing-grid {
	grid-template-columns: repeat(auto-fit, minmax(14%, 1fr));
}
	.briefing-grid div {
		text-align: center;
		font-size: 1rem;
		font-weight: 700;
	}
	.briefing-grid a, .briefing-grid b {
		color: light-dark(var(--blue), var(--light));
		display: block;
		text-decoration: none;
		font-weight: 700;
		padding: 1rem;
		cursor: pointer;
	}
	.briefing-grid a:hover, .briefing-grid b:hover {
		color: light-dark(var(--red), #aaa);
		filter: brightness(100%);
	}
		.briefing-grid a i, .briefing-grid b i {
			margin-right: 0.25rem;
		}
	
	.briefing-grid span {
		display: block;
		font-size: 0.85rem;
		font-weight: 500;
	}

.briefing-input input, .briefing-input select, .briefing-input textarea {
	max-width: calc(100% - 1.1rem);
	font-size: 0.9rem;
	font-family: var(--sss);
	padding: 0.5rem;
	text-transform: uppercase;
}
	

.briefing-copy {
	cursor: pointer;
	text-decoration: underline dotted;
	display: inline-block;
	margin-top: 0.3rem;
	margin-right: 1rem;
}
.briefing-copy:hover {
	text-decoration: underline;
}
.briefing-copy:last-of-type {
	margin-right: 0;
}

.briefing-ofp-frame {
	max-height: min(60vh, 750px);
	overflow: auto;
	background: #eee;
	border: 1px solid #ccc;
	padding: 15px;
	max-width: 880px;
}
	.briefing-ofp-frame pre {
		font-size: 0.9rem;
		font-family: monospace;
		line-height: 1.3rem;
	}



		.briefing-wx {
			background: rgba(180, 180, 180, 0.3);
			border-radius: 5px;
			font-size: 0.9rem;
			margin-bottom: 20px;
			font-family: consolas;
		}
			.briefing-wx .briefing-wx-title {
				background: #555;
				color: #fff;
				padding: 0.3rem 0.6rem;
				padding-top: 0.5rem;
				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-body .btn {
				all: initial;
				padding: 6px 6px;
				background: #bbb;
				font-size: 0.85rem;
				font-family: var(--sss);
				display: block;
				width: 60px;
				text-align: center;
				border-bottom-left-radius: 5px;
				cursor: pointer;
			}
				.briefing .briefing-body .btn:hover {
					background: #777;
					color: #fff;
				}



.briefing-downloads-table div {
	display: grid;
	grid-template-columns: 40% 40% 20%;
	color: light-dark(var(--blue), #fff);
	padding: 0.75rem;
	border: 1px solid light-dark(#ddd, #777);
	border-radius: 0.25rem;
	font-size: 0.9rem;
	margin-top: 0.5rem;
}
.briefing-downloads-table div:first-of-type {
	margin-top: 0;
}
	.briefing-downloads-table div:hover {
		border: 1px solid light-dark(var(--blue), #aaa);
	}
	
	.briefing-downloads-table div span:nth-of-type(1) {
		font-weight: 700;
	}
	.briefing-downloads-table div span:nth-of-type(3) {
		text-align: right;
	}



#dispatch-working {
	font-size: 2rem;
	text-align: center;
	margin: 5rem;
	display: none;
}




.document h2 {
	margin-bottom: 0.5rem;
}
.document h4 {
	margin-bottom: 0.25rem;
}
.document h2 i, .document h4 i {
	color: light-dark(var(--blue), #ccc);
}
.document h2 i:hover, .document h4 i:hover {
	color: light-dark(var(--red), #888);
}





#flight_results {
    position: absolute; /* relative to wrapper */
    top: 100%;          /* directly below input */
    left: 0;
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #ccc;
    background: #fff;
    z-index: 1000;
    display: none;
}

#flight_results div {
    padding: 6px 10px;
    cursor: pointer;
}

#flight_results div:hover,
#flight_results div.active {
    background: #e6f0ff;
}