body,html {
	min-height:100%;
	width:100%;
	font: 14px 'Open Sans', sans-serif;
	font-family: 'Open Sans', Arial, Verdana, Tahoma, Sans-serif;
	margin:0;
	padding:0;
	background:#f5f7f9;
	}

* {
	box-sizing:border-box;
	}

body {
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: overlay;
	}

html {
	scrollbar-color: blue white;
	scrollbar-width: thin;
	}
::-webkit-scrollbar {
	width: 14px;
	}
::-webkit-scrollbar-track {
	background: transparent;
	}
::-webkit-scrollbar-thumb {
	background-color: transparent;
	border-radius: 20px;
	border: solid 3px transparent;
	box-shadow: inset 0 0 10px 10px rgb(0 0 0 / 50%);
	}
	

header {
	clear:both;
	width:100%;
	height:60px;
	padding:10px 20px;
	line-height:40px;
	font-size:18px;
	background:white;
	}

.center {
	width:100%;
	height:100%;
	max-width:1080px;
	margin:0 auto;
	overflow:hidden;
	}

header .center div {
	height:100%;
	float:left;
	}

header .center div:last-child {
	float:right;
	}

header .center div:last-child div {
	float:none;
	display:block;
	line-height: 20px;
	height: 20px;
	text-align:center;
	}

header .center div:last-child div:last-child {
	font-size:12px;
	}
	
header img {
	height: 84%;
	vertical-align: middle;
	}

nav {
	clear:both;
	width:100%;
	height:auto;
	padding:10px 20px;
	background: #005078;
	color:white;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	font-size:14px;
	overflow:hidden;
	}

nav .center {
	padding: 0 20px;
	}

nav label, input[type=radio] {
	cursor:pointer;
	}

nav label {
	margin-right:20px;
	float:left;
	}

input[type=text], input[type=password], .ui-widget .custom-combobox > input, #search_button, #login_button, .logout_button {
	font: 14px 'Open Sans', sans-serif;
	font-family: 'Open Sans', Arial, Verdana, Tahoma, Sans-serif;
	padding: 5px;
	width: 100px;
	background: rgba(255,255,255,1);
	border: none;
	outline: none;
	border-radius: 5px;
	color:black;
	text-transform:uppercase;
	transition:border 0.2s ease, box-shadow 0.2s ease;
	border:2px solid #00283c;
	margin:10px 0;
	margin-right:10px;
	float:left;
	position:relative;
	padding-right:35px;
	}

.ui-widget:not(.combo-uppercase) .custom-combobox > input {
	text-transform:none;
	}

input:focus, .ui-widget .custom-combobox > input:focus {
	border:2px solid black;
	box-shadow: 0 0 7px 1px rgba(0,0,0,0.5);
	}

input[type=text]:-webkit-autofill,
input[type=text]:-webkit-autofill:hover, 
input[type=text]:-webkit-autofill:focus, 
input[type=text]:-webkit-autofill:active,
input[type=password]:-webkit-autofill,
input[type=password]:-webkit-autofill:hover, 
input[type=password]:-webkit-autofill:focus, 
input[type=password]:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px transparent inset !important;
	}

::placeholder {
	color:rgba(0,0,0,0.36);
	text-transform:none;
	}

nav .combo-uppercase {
	text-transform:uppercase;
	}

#search > .ui-widget {
	float:left;
	}

nav .custom-combobox {
	float:left;
	position:relative;
	}

nav .custom-combobox > a {
	position:absolute;
	right:6px;
	top: 22px;
	background: none !important;
	border: none !important;
	}

nav .custom-combobox .ui-button .ui-icon
	{
	}

.ui-widget.ui-widget-content {
	border-radius:5px;
	overflow:hidden;
	}

#date_start, #date_end, #date_range, #flt_disp, #orig_disp, #dest_disp, #type_disp, #opr_disp {
	background-position: right 20px center;
	background-repeat: no-repeat;
	background-size:13px;
	}

#date_start, #date_end, #date_range {
	background-position: right 5px center;
	background-image: url("img/ui-icon-calendar.png");
	text-transform:none;
	padding-right:20px;
	}

#flt_disp {
	background-image: url("img/ui-icon-number.png");
	padding-right:20px;
	}
	
#orig_disp {
	background-image: url("img/ui-icon-orig2.png");
	}
	
#dest_disp {
	background-image: url("img/ui-icon-dest2.png");
	}

#type_disp {
	background-image: url("img/ui-icon-type.png");
	}

#opr_disp {
	background-image: url("img/ui-icon-opr.png");
	width:220px;
	}

#date_range {
	width:180px;
	}

#search_button, #login_button, .logout_button {
	background: #00283c;
	color: white;
	text-transform: none;
	text-align: center;
	padding: 0;
	line-height: 33px;
	font-size: 15px;
	border: none;
	cursor: pointer;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	width:150px;
	margin-right:0;
	}

#search_button:hover, #search_button:active, #login_button:hover, #login_button:active, .logout_button:active, .logout_button:hover {
	background:black;
	}




content .center {
	padding:20px;
	}

content section {
	background:white;
	border-radius:5px;
	box-shadow:1px 1px 20px rgba(0,0,0,0.15);
	border:1px solid #ddd;
	overflow:hidden;
	}

section > * {
	border-bottom: 1px solid #ddd;
	width:100%;
	}

section h1 {
	text-align:center;
	color: #005078;
	margin:0;
	line-height:60px;
	font-size: 22px;
	}

section figure {
	background: #fff;
	margin:0;
	overflow:hidden;
	padding:20px 10px;
	font-weight:500;
	font-size:20px;
	cursor:pointer;
	}

section figure.focus {
	background: #ebf8ff;
	}

section #legend {
	background:#f6f6f6;
	font-weight:600;
	padding:10px;
	font-size:16px;
	cursor:default;
	}

section figure > div {
	width:20%;
	float:left;
	text-align:center;
	background-position: 10% 0;
	background-size: 23%;
	background-repeat: no-repeat;
	}

section figure > div:nth-child(2), section figure > div:nth-child(3) {
	width:18%;
	}

section figure > div:nth-child(5) {
	width:24%;
	}

section figure > div:first-child {
	padding-left:60px;
	}

section figure > div > span {
	display:block;
	margin-bottom:0px;
	}

section #legend > div:first-child {
	padding-left:30px;
	}

section #legend > div > span {
	margin-bottom:0px;
	}

section #legend > div > span span {
	cursor:pointer;
	display:inline;
	position:relative;
	}

section #legend > div > span span:hover {
	text-decoration:underline;
	}

section #legend > div > span span.sort_up::before {
	content: '';
	background-image: url(js/images/ui-icons_ffffff_256x240.png);
	background-position: -56px 0px;
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	right: -20px;
	top: 5px;
	background-color: #333;
	border-radius: 10px;
	background-size: 219px;
	}

section #legend > div > span span.sort_down::before {
	content: '';
	background-image: url(js/images/ui-icons_ffffff_256x240.png);
	background-position: -0.4px -1.1px;
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	right: -20px;
	top: 5px;
	background-color: #333;
	border-radius: 10px;
	background-size: 219px;
	}

section #legend > div > span:first-child span.sort_up::before, section #legend > div > span:first-child span.sort_down::before {
	top:6px;
	}

section figure > div > span:first-child {
	white-space: nowrap;
	}

section figure > div > span:not(:first-child) {
	font-weight:400;
	font-size:13px;
	display: block;
	}

section figure > div > span.lzanim {
	height: 18px;
	overflow: hidden;
	transition:height 0.25s ease;
	}

section figure > div > span.lzanim span {
	display:block;
	overflow:hidden;
	max-height:20px;
	transition:max-height 0.25s ease;
	}

section figure > div > span span.z {
	opacity:1;
	}

section figure > div > span span span, section figure > div > span span span {
	display:inline !important;
	}

/*
section figure > div > span.lzanim:not(.mobile_anim) span.l {
	animation-duration: 8s;
	animation-name: lzanim_slide;
	animation-iteration-count: infinite;
	}

@keyframes lzanim_slide {
	0%   {max-height:20px}
	45%  {max-height:20px}
	50%  {max-height:0px}
	95% {max-height:0px}
	100% {max-height:20px}
	}
*/

/*
section figure.focus > div > span.lzanim {
	height:38px;
	}
*/
	
.show_mobile {
	display:none !important;
	}



#loading, #loading .blocker, #login, #login .blocker {
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index: 950;
	transition:none;
	}

#loading .blocker, #login .blocker {
	background: #118adf;
	background: linear-gradient(to top, #243e50 0%,#477a9e 100%);
	background: #2e3236;
	background: linear-gradient(to bottom, #10222c 0%,#081014 100%);
	background: #101e2c;
	background: linear-gradient(to bottom, #203d58 0%,#101e2c 100%);
	opacity:0.95;
	}

#loading .loader {
	position:fixed;
	top:calc(50% + 10px);
	left:50%;
	width:100px;
	height:100px;
	margin-top:-70px;
	margin-left:-50px;
	z-index:1001;
	overflow:hidden;
	background-color:#101e2c;
	border-radius:20px;
	box-shadow:2px 2px 5px rgba(0,0,0,0.25);
	}

#loading .abort {
	position: fixed;
	top: calc(50% + 120px);
	left: 50%;
	width: 100px;
	height: 20px;
	margin-top: -70px;
	margin-left: -50px;
	z-index: 1001;
	overflow: hidden;
	text-align: center;
	color: #ddd;
	text-shadow: 1px 1px 3px black;
	cursor: pointer;
	}

#loading .abort:hover {
	text-decoration:underline;
	color:white;
	}

body.blur * {
	filter:blur(30px);
	filter:none;
	}

body.blur #loading, body.blur #loading * {
	filter:none;
	}

.round_loader, .round_loader_shadow {
	border-radius: 50%;
	width: 100%;
	height: 100%;
	}

.round_loader {
	margin: 0px;
	font-size: 10px;
	position: absolute;
	text-indent: -9999em;
	border-top: 9px solid #73787d;
	border-right: 9px solid #73787d;
	border-bottom: 9px solid #73787d;
	border-left: 9px solid #fff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	box-sizing:border-box;
	width:76%;
	height:76%;
	margin-top:12%;
	margin-left:12%;

	animation: orbit_rot 0.5s infinite;
	-webkit-animation: orbit_rot 0.5s infinite;
	}

.round_loader_shadow {
	margin: 0px;
	font-size: 10px;
	position: absolute;
	text-indent: -9999em;
	border: 9px solid black;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	box-sizing:border-box;
	width:76%;
	height:76%;
	margin-top:13%;
	margin-left:13%;
	filter: drop-shadow(0 0 2px black);
	opacity: 0.35;
	}

@keyframes orbit_rot {
	0% {
		transform: rotate(0deg);
		animation-timing-function: linear;
	}

	100% {
		transform: rotate(360deg);
		animation-timing-function: linear;
	}
}
@-webkit-keyframes orbit_rot {
	0% {
		-webkit-transform: rotate(0deg);
		-webkit-animation-timing-function: linear;
	}

	100% {
		-webkit-transform: rotate(360deg);
		-webkit-animation-timing-function: linear;
	}
}



#login, #login .blocker {
	z-index:800;
	}

#login .blocker {
	opacity:100%;
	background: #005078;
	background: linear-gradient(to bottom, #005078 0%,#07233b 100%);
	}

#login .block {
	width: 500px;
	position: absolute;
	top: 50%;
	left:50%;
	margin: -300px -250px;
	z-index:801;
	}

#login .logo {
	width: 100%;
	text-align:center;
	}

#login .logo img {
	max-width: 100%;
	max-height: 180px;
	margin-top: 25px;
	margin-bottom: 30px;
	-webkit-filter: drop-shadow(4px 4px 0px rgba(0,0,0,0.3));
	filter: drop-shadow(4px 4px 0px rgba(0,0,0,0.3));
	}

#login input {
	padding-right:5px;
	width:200px;
	display:block;
	float:none;
	margin:10px auto;
	text-transform:none;
	}

#login_button {
	margin:30px auto;
	width:200px;
	float:none;
	line-height:38px;
	background:#001a28;
	}

#login .message {
	color:white;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	margin-bottom:25px;
	font-size:16px;
	}

body {
	padding-bottom:30px;
	}

footer {
	position:relative;
	width:100%;
	display:none;
	text-align:center;
	}

footer .logout_button {
	font-size: 16px;
	display:block;
	width:100px;
	margin:30px auto;
	float:none;
	}

header .center .logout_button_top {
	float: right;
	background: red;
	height: 34px;
	width: 34px;
	margin-top: 3px;
	margin-left: 20px;
	margin-right: 10px;
	border-radius: 5px;
	cursor:pointer;
	overflow:hidden;
	background: #00283c;
	}

header .center .logout_button_top:hover {
	background:black;
	}

header .center .logout_button_top img {
	width: 56%;
	height: 50%;
	margin: 25% 21%;
	vertical-align: top;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.99));
	}


.details {
	clear:both;
	width:100%;
	overflow:hidden;
	display:block;
	float:none;
	}

figure .details {
	padding:0 10px;
	max-height:0px;
	transition:max-height 0.5s ease;
	font-size:12px;
	}

figure.focus .details {
	max-height:1000px;
	}

figure .details hr {
	width:80%;
	display:block;
	margin:20px auto;
	border:none;
	border-bottom:1px solid rgba(0,0,0,0.33);
	}

figure .details h1 {
	font-size:17px;
	text-align:center;
	color:black;
	line-height:20px;
	font-weight:500;
	}

figure .details h2 {
	font-size:15px;
	margin: 0;
	font-weight: 400;
	}

figure .details > h3 {
	font-size:14px;
	margin: 0 auto;
	color:white;
	border-radius: 4px;
	text-shadow: 1px 1px 2px rgb(0 0 0 / 50%);
	font-weight: 500;
	display:inline-block;
	padding:0 8px;
	margin-top:2px;
	background:#777;
	}

figure .details h3.red {
	background:red;
	}

figure .details h3.green {
	background:green;
	}

figure .details h3.blue {
	background:#005078;
	}

figure .details > h4 {
	font-size:13px;
	font-weight:600;
	display:block;
	text-align:center;
	}

figure .details h4.red {
	color:red;
	}

figure .details h4.green {
	color:green;
	}

figure .details .times {
	display:block;
	width:100%;
	margin:0 auto;
	font-size:13px;
	overflow:hidden;
	}

figure .details .times.header div {
	font-weight: 600;
	margin-top:15px;
	background:none;
	}

figure .details .times h3, figure .details .times div {
	width:25%;
	font-weight:600;
	color:black;
	float:left;
	margin:0;
	font-size:15px;
	text-shadow:none; 
	line-height:18px;
	}

figure .details .times div {
	font-size:15px;
	background:rgba(255,255,255,0.67);
	background:none;
	}

figure .details .times div {
	font-weight:400;
	}

figure .details .times h3:first-child {
	width:24%;
	}

figure .details .times.wide33 div {
	width:33%;
	}

figure .details .times.wide25 div {
	width:25%;
	}

figure .details .times.wide100 div {
	width:100%;
	}

figure .details .times div a {
	color: #005078;
	text-decoration:none;
	}

figure .details .times div a:hover, figure .details .times div a:active {
	text-decoration:underline;
	}

figure .details .times div img {
	display: inline-block;
	height: 11.5px;
	margin-left: 7px;
	}

figure .details .times div a img {
	margin-left: -20px;
	margin-right: 5px;
	}

figure .details .times div .turnflt {
	width:60px;
	text-align:center;
	display:inline-block;
	}

figure .details .times.turns div {
	width:23%;
	}

figure .details .times.turns div:first-child {
	width:31%;
	}
	












@media only screen and (max-width : 667px) {
	header {
		padding:10px 10px;
		font-size:16px;
		}
	
	header img {
		height: 60%;
		vertical-align: middle;
		}
	
	nav {
		padding:10px 0px;
		}
	
	nav input[type=text], .ui-widget .custom-combobox > input  {
		width: calc(50vw - 26px) !important;
		}
	
	nav input[type=text]:nth-child(even), .ui-widget:nth-child(even) .custom-combobox > input {
		margin-right:0;
		}
	
	nav .ui-widget:nth-child(even) .custom-combobox > a {
		right:-4px;
		}
	
	#search_button {
		width: calc(100vw - 42px);
		line-height:46px;
		font-size:18px;
		}
	
	.hide_mobile {
		display: none !important;
		}
	.show_mobile {
		display: block !important;
		}
	
	section h1 {
		font-size: 20px;
		}
	
	section figure {
		font-size:17px;
		padding-left:4px;
		padding-right:4px;
		}

	section #legend {
		font-size:16px;
		padding-left:4px;
		padding-right:4px;
		}
	
	section figure > div {
		width:25%;
		background-position: 12% 3px;
		background-position: calc(18% - 5px) 5px;
		background-size: 28px;
		}
		
	section figure > div > span, section #legend > div > span {
		margin:0;
		}
	
	section figure > div > span.lzsep {
		display:none !important;
		}
	
	section figure > div > span:not(:first-child):not(.lzsep) {
		font-size:15px;
		display:block !important;
		}
	
	section figure > div:nth-child(1) {
		width:29%;
		}
	
	section figure > div:nth-child(2), section figure > div:nth-child(3) {
		width:20%;
		}

	section figure > div:nth-child(5) {
		width:29%;
		}

	section figure > div:first-child {
		padding-left:10%;
		}
	
	section #legend > div:first-child {
	padding-left:5%;
	}
	
	content .center {
		padding: 12px;
		padding-bottom: 20px;
		}
	
	section #legend > div > span span.sort_up::before, section #legend > div > span span.sort_down::before {
		right: -18px;
		}
	
	section #legend > div > span span.show_mobile.sort_up::before, section #legend > div > span span.show_mobile.sort_down::before {
		margin-right: 23px;
		}
	
	#login .logo img {
		max-width: 30%;
		}
	
	header .center .logout_button_top {
		display:none;
		}
	
	footer {
		display:block;
		}
		
	}
	















