@font-face {
	font-family: 'Arizonia';
	src: url('../font/Arizonia.eot');
	src: url('../font/Arizonia.eot') format('embedded-opentype'),
		  url('../font/Arizonia.woff2') format('woff2'),
		  url('../font/Arizonia.woff') format('woff'),
		  url('../font/Arizonia.ttf') format('truetype'),
		  url('../font/Arizonia.svg#Arizonia') format('svg');
}	
* {
	margin: 0;
	padding: 0;
}
html {
   background: var(--th-pagebg, var(--th-bg, url(../img/bg_enr.gif))) fixed;
   background-size: var(--th-bgsize, auto);   /* опция темы bgcover -> cover (вписать, без тайла) */
}
body {
   width: 94%;
	max-width: 1200px;
	min-width: 1150px;
   margin: 0 auto;
   font: 0.8em tahoma,serif;
	color: #224;
}
nav {
   display: block;
   position: fixed;
   top: 0;
   width: 94%;
	max-width: 1200px;
	min-width: 1150px;
   text-align: center;
   box-shadow: 0 3px 5px rgba(0,0,0,0.2);
	z-index: 100;
   background: linear-gradient(var(--th-mgradang,var(--th-gradang,180deg)), var(--th-mgrad1,var(--th-grad1,#fff)), var(--th-mgrad2,var(--th-grad2,#ddd)));
}
aside {
   display: block;
	float: left;
	max-width: 300px;
	min-height: 750px;
	height: auto !important;
	height: 800px;
	margin-right: 8px;
}
footer {
   display: block;
	width: 100%;
   margin-top: 8px;
	padding: 16px;
	color: #458;
	font-size: 0.85em;
	text-align: center;
	box-sizing: border-box;
   background-color: rgba(0,0,10,0.1);
	border-radius: 5px;
}
/***** Div *****/ 
div.panel {
   margin: 0 0 8px 310px;
	text-align: center;
}
/* Опция темы «сайдбар справа» (Design): зеркалит раскладку aside/контент */
body.aside-right aside { float: right; }
body.aside-right div.panel { margin: 0 310px 8px 0; }
div.left { float: left; }
div.right { float: right; }
div.inline {
	display: inline-block;
	text-align: right;
	width: 13em;
}
div.motto {
	clear: both;
	width: 100%;
   bottom: 0;
	margin: 0 auto;
	font: 3.5em arizonia,verdana;
	color: #eef;
	text-align: center;
	line-height: 0.75em;
}

div.block, div.help {
   background: linear-gradient(var(--th-blockang,180deg), var(--th-blockbg,rgba(250,250,255,0.6)), var(--th-blockbg2,var(--th-blockbg,rgba(250,250,255,0.6))));
   color: var(--th-blocktext, inherit);
   border-top: 1px solid white;
   border-radius: var(--th-radius,5px);
   box-shadow: 0px 2px 8px rgba(0,0,0,0.3);
}
div.block { display: inline-block; }
div.logos {
	text-align: center;
}

div.logos_shed {
	padding: 8px;
   background-color: rgba(250,250,255,0.6);
   border: 1px solid #ddf;
   border-radius: 12px;  
   box-shadow: 2px 3px 5px rgba(0,0,0,0.2);
}

div.box {
   float: left;
	width: 300px;
	box-sizing: border-box;
   margin-bottom: 5px;
   text-align: center;
   background: linear-gradient(var(--th-blockang,180deg), var(--th-blockbg,#f5f5f5), var(--th-blockbg2,var(--th-blockbg,#f5f5f5)));
   border-top: 1px solid white;
   border-radius: var(--th-radius,5px);
   overflow: hidden;
   box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
div.ttx {
   float: right;
	width: 280px;
	box-sizing: border-box;
   margin-bottom: 5px;
   text-align: center;
   background: linear-gradient(var(--th-blockang,180deg), var(--th-blockbg,#f5f5f5), var(--th-blockbg2,var(--th-blockbg,#f5f5f5)));
   border-top: 1px solid white;
   border-radius: 5px;  
   box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
div.book {
	display: inline-block;
	max-width: 560px;
   padding: 8px 12px;
	margin-top: 4px;
   text-align: center;
   background: linear-gradient(var(--th-blockang,180deg), var(--th-blockbg,#f5f5f5), var(--th-blockbg2,var(--th-blockbg,#f5f5f5)));
   border-top: 1px solid white;
   border-radius: 5px;
   box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
/* theme: optional block body text colour (default = inherit, no change) */
div.box, div.ttx, div.book { color: var(--th-blocktext, inherit); }

div.craft {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	margin: 4px;
}

div.list, div.list_flt, div.list_sh, div.list_fleet, div.list_fast {
   overflow-y: auto;
	overflow-x: hidden;
   max-height: 675px;
	text-align: center;
}
div.list_flt {
   max-height: 375px;
}
div.list_sh {
   max-height: 616px;
}
div.list_fleet {
   max-height: 651px;
}
div.list_fast {
   max-height: 638px;
}

div.pad { padding: 4px; }
div.border {
   padding: 4px 8px;
	background-color: #fbfbfc;
   border: 1px solid #bbc;
   border-radius: 5px;  
}
div.zulu {
   float: right;
   margin: 8px 2px 2px 2px;
   font: bold 13px verdana;
   /* Часы стоят в меню, значит красятся цветом меню — как .menu a. Было жёстко
      #00a с белой тенью в расчёте на светлое меню: у групп с тёмным меню (GBL,
      TAG) получался синий по синему с белым ореолом. Фолбэк #00a сохраняет
      прежний вид там, где тема не задана вовсе. */
   color: var(--th-mhtext,var(--th-htext,#00a));
   text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
}
div.metar {
	font: 1.25em monospace;
   margin: 8px;
}
div.airport {
	overflow-y: auto;
   max-height: 20em;
	padding: 0px 4px;
	font: 1.25em monospace;
   text-align: center;
}
div.h4 {
   text-align: left;
   padding: 3px 4px;
   font: bold 1em verdana,tahoma,serif;
	color: #556;
   text-shadow: white 1px 1px;
	text-align: left;
   border-bottom: 1px solid #ccc;
   background: linear-gradient(to bottom, #fff, #ddd);
}
div#gdpr {
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 12px 20px;
	background: #226;
	color: #ff8;
	font: 0.8rem arial,serif;
	text-align: left;
	z-index: 200;
}
div#bt_gdpr {
	float: right;
	padding: 8px 20px;
	font: bold 0.8rem arial,serif;
	border: solid 1px #ff8;
}

.news {
   overflow-y: auto;
	max-height: 45em;
   padding: 4px 8px;
   margin-bottom: 4px;
}
.news div.head {
   padding: 4px 12px;
   font: 1em verdana,tahoma,serif;
   color: #556;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 2px;
   border: 1px solid #ccd;
   border-radius: 5px;  
}
.news img { margin: 8px; }
.news div.pad { 
   padding: 4px; 
   display: table;
}

/***** Common *****/ 
red { color: red; }
blue { color: royalblue; }
green { color: green; }
navy { color: navy; }

img {
   border: none;
   max-width: 100%;
   height: auto;
	vertical-align: middle;
}
img.badge {
	width: 24px;
	height: 140px; 
   border-radius: 0 10px 10px 0;
   box-shadow: 2px 0px 5px rgba(0,0,0,0.5);
   cursor: pointer;
}
img.flag {
   box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
img.craft {
	width: 360px;
	height: 180px;
	margin-bottom: 4px;
   border-radius: 7px;
   box-shadow: 3px 3px 6px rgba(0,0,0,0.5);
}

a {
   color: royalblue;
   text-decoration: none;
}
a.black { color: black; }
a.gdpr { color: #ff8; }
a.top {
   display: block;
   padding: 6px 8px;
   border-bottom: none;
   font: bold 1em verdana,tahoma,serif;
	color: var(--th-htext,#556);
   text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
	text-align: center;
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#ddd));
}
/* sidebar block headers use a royal-blue gradient (like the welcome heading); force white text over it */
a.top.blue, a.top.grey, a.top:hover { color: var(--th-htext,#556) !important; text-decoration: none; }
h4.grey {
   color: var(--th-htext,#556) !important;
   text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
   border-bottom: none;
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#ddd));
}
a.box {
   padding: 6px 8px;
   font: bold 1em verdana,tahoma,serif;
	color: royalblue;
   text-shadow: white 1px 1px;
}
a.h5 {
	padding: 6px 12px 4px 12px;
   font: bold 1em verdana,tahoma,serif;
   color: #778;
   text-shadow: rgba(0,0,0,0.3) 1px 1px 2px;
}
a:hover {
   color: blue;
   text-decoration: underline;
}

hr {
   background-color: #abc;
   height: 1px;
   border: none;
   margin: 8px 5%;
}

p {
   text-indent: 3em;
	text-align: justify;
	padding: 4px 10px;
}
p.metar {
	padding: 0px 8px;
   font: 13px arial;
   color: #579;
   text-indent: 0px;
	text-align: center;
}

ul {
   list-style-position: inside;
   list-style-type: circle;
   text-indent: 3em;
	padding: 1px 10px;
}
li {
	text-align: left;
}

/***** H1,H2,H3,H4,H5 *****/ 
h1 {
   margin: 2px;
   font: bold italic 2.1em times,serif;
   color: #58e;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 2px;
}
h2 {
   padding: 2px 20px 4px 20px;
   margin-bottom: 4px;
   font: bold italic 1.8em times,serif;
   color: var(--th-htext,#58e);
	text-align: center;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 3px;
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#e0e0e0));
   border-bottom: 1px solid #d0d0da;
   box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
}
h3 {
	margin-bottom: 4px;
   padding: 2px 20px;
   font: bold italic 1.45em times,serif;
   color: var(--th-htext,#778);
	text-align: center;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 3px;
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#e0e0e0));
   border-bottom: 1px solid #d0d0da;
   box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
}
h3.blue { color: var(--th-htext,#556) !important; }
h4 {
   padding: 6px 8px;
   font: bold 1em verdana,tahoma,serif;
	color: var(--th-htext,#556);
   text-shadow: white 1px 1px;
	text-align: center;
   border-bottom: 1px solid #ccc;
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#ddd));
}
h4.link:hover {
	color: blue;
	text-decoration: underline;
}
h5 {
	padding: 4px 12px;
   font: bold 1em verdana,tahoma,serif;
	text-align: center;
   color: #556;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 2px;
}
h6 {
	padding: 4px 12px;
   font: bold 13px verdana,tahoma,serif;
   color: royalblue;
   text-shadow: rgba(0,0,0,0.5) 1px 1px 2px;
   text-align: center;
}
h6.border, h6.chart {
	background-color: #eee;
   border: 1px solid #aaa;
   border-radius: 3px;  
}

/***** Form *****/ 
input.input, input.login, input.bold, select.input, textarea {
   padding: 4px 4px;
   text-align: left;
   border: 1px solid #aaa;
   border-radius: 3px;  
}
input.bold {
   padding: 2px 4px;
	font-weight: bold;
	color: #556;
}
input.sender{ display:none; }
input.input_dsp { /* for Dispatch page */
	font: 1em verdana,tahoma,serif;
   padding: 0px;
   margin: 0px;
   color: black;
   text-align: right;
   border: none;
}
input.input_up { /* For Schedule Filters */
   padding: 2px 3px;
   text-align: left;
   border: 1px solid #aaa;
   border-radius: 3px;  
	text-transform: uppercase !important;
}

input.book, select.select {
   padding: 3px 4px;
	font: 1.25em monospace;
   text-align: left;
   border: 1px solid #aaa;
   border-radius: 3px;  
}

.button, .bt_big {
   font: bold 13px verdana;
	color: var(--th-btntext, #556);
   background: var(--th-btnbg, transparent);
   padding: 2px 20px;
   text-align: center;
   cursor: pointer;
   border-radius: var(--th-radius, 5px);
   text-shadow: white 1px 1px;
}
.button_small {
   font: bold 11px tahoma;
	color: #556;
   padding: 2px 12px;
   text-align: center;
   cursor: pointer;
   text-shadow: white 1px 1px;
}
.up { text-transform: uppercase !important; }

/***** Menu *****/ 
.menu {
   margin: 0 auto;
   border-top: none;
   border-bottom: none;
   text-indent: 0;
   font: bold 12px verdana,tahoma,serif;
   text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
   background: linear-gradient(var(--th-mgradang,var(--th-gradang,180deg)), var(--th-mgrad1,var(--th-grad1,#fff)), var(--th-mgrad2,var(--th-grad2,#ddd)));
}
.menu li {
   display: inline-block;
   border-right: 1px solid rgba(0,0,0,0.15);
   border-left: 1px solid rgba(255,255,255,0.12);
}
.menu a {
   display: block;
   color: var(--th-mhtext,var(--th-htext,#556));
   text-decoration: none;
   padding: 8px 5px;
}
.menu a:hover {
   color: var(--th-mhtext,var(--th-htext,#556));
   text-decoration: none;
   background: rgba(255,255,255,0.14);
}

/***** Table *****/
.img { padding: 0 1px !important; }
.dark { background: #f5f5f5; }
.light { background: #fff; }
.al { text-align: left !important; }
.ar { text-align: right !important; }
.ac { text-align: center !important; }
.norb { border-right: none !important; padding-right: 0 !important; }
.nolb { border-left: none !important; }

table {
   padding: 0px;
   border-collapse: collapse;
	margin-bottom: 4px;
}
td {
	padding: 2px;
}
td.sh {
   text-shadow: rgba(0,0,0,0.4) 1px 1px 2px;
}
td.gap {
   border: none !important;
   padding: 0px;
   height: 8px;
}

table.box { width: 100%; }
table.box td {
   padding: 2px 2px;
}

table.gen td {
   border-bottom: 1px solid #ddd;
   color: black;
   padding: 4px 5px;
}
table.gen td.h {
   background: #eee;
	color: navy;
   text-align: center;
   border: 1px solid #ddd;
	border-top: none;
}

table.statva {
   width: 100%;
}
table.statva td, table.statva th {
   padding: 3px 8px !important;
   background: #fdfdff;
   text-align: center;
   border-bottom: 1px solid #ddd;
}
table.statva th {
	font-weight: normal;
	color: navy;
   background: #eee;
   border: 1px solid #ddd;
}

table.fleet {
   table-layout: fixed;
   border: none;
	margin: 0;
}
table.fleet td, table.fleet th {
   table-layout: fixed;
   padding: 3px 3px !important;
   background: #fdfdff;
   text-align: center;
   border-bottom: 1px solid #ddd;
}
table.fleet th {
	font-weight: normal;
	color: navy;
   background: #eee;
   border: 1px solid #ddd;
	border-top: none;
}
table.fleet td.img {
	padding: 3px 2px !important;
}

table.online {
	width: 100%;
	margin-bottom: 4px;
   table-layout: fixed;
   border: none;
}
table.online th {
	color: royalblue;
	font-weight: normal;
	padding: 3px;
   border: 1px solid #ddd;
	border-top: none;
}
table.online td {
	padding: 4px 3px;
	color: #224;
   border-bottom: 1px solid #ddd;
}
table.online td.img {
   background: #f8f8f8;
}
table.online.grey th, table.online.grey td { color: #556; }

table.port td {
   padding: 2px 8px;
   border: 1px solid #ddd;
   white-space: nowrap;
}

table.list {
   table-layout: fixed;
   border: none;
	margin: 0;
}
table.list tr:nth-child(even) { background: #fff; }
table.list tr:nth-child(odd) { background: #f5f5f5; }
table.list td {
   padding: 4px 6px;
   color: black;
   text-align: center;
   border-bottom: 1px solid #ddd;
}
table.list td.h, table.list td.hs {
   padding: 3px 2px;
   background: #eee;
	/*font-weight: bold;*/
   color: navy;
   text-align: center;
   border: 1px solid #ddd;
}
table.list td.hs { cursor: pointer; }

table.stat {
   font: 1em tahoma,serif;
   color: #222;
   border-collapse: collapse;
   text-align: left;
}
table.stat td {
   padding: 2px 5px;
   white-space: nowrap;
}
table.stat td.route {
   padding: 2px 5px;
	white-space: normal;
   font: 1.25em monospace;
   border: 1px solid #ccc;
   color: #222;
   background: #fefefe;
   width: 300px;
}
table.stat td.border {
   border: 1px solid #ccc;
   background: #fefefe;
   text-align: center;
}

table.book {
	width: 100%;
   color: #222;
	border-collapse: separate;
   border-spacing: 2px;
   border-radius: 3px;  
}
table.book td { padding: 3px 5px; }
table.book td.border, table.book td.route, table.book td.chart {
   background: #fefefe;
   text-align: center;
   border: 1px solid #ccc;
   border-radius: 3px;  
}
table.book td.route {
	font: 1.25em monospace;
   text-align: left;
}
table.book td.chart {
   padding: 0px 4px;
	background: #eee;
}

table.ttx {
	width: 100%;
   font: 1em tahoma,serif;
   color: #222;
}
table.ttx td {
   padding: 2px 5px;
   white-space: nowrap;
   background: #eee;
   border: 1px solid #ccc;
}
table.ttx td.val {
   border: 1px solid #ccc;
   background: #fff;
}

table.grid {
   font: 0.85em 'MS Sans Serif',sans-serif;
   padding: 0px;
   border-collapse: collapse;
   border: 1px solid #ddd;
}
table.grid td {
   padding: 2px 5px;
   background: #fff;
   border: 1px solid #ddd;
   white-space: nowrap;
}
table.grid td.hh {
   padding: 3px 5px;
   background: #eee;
}
table.grid td.img {
   padding: 2px !important;
	border-right: none;
}

table.config { /* used for Config table */
   color: #222;
	border-collapse: collapse;
}
table.config td {
	padding: 4px 8px;
   border: 1px solid #ccc;
}

table.cmn { /* used for Dispatch table */
   color: #222;
	border-collapse: separate;
   border-spacing: 2px;
}
table.cmn td {
   padding: 2px 8px;
	white-space: nowrap;
}
table.cmn td.disp, table.cmn td.input {
   background: #fff;
   border: 1px solid #ccc;
   border-radius: 3px;  
}
table.cmn td.input {
   border: 1px solid royalblue;
   border-radius: 3px;  
}
table.cmn td.dbg {
   background: none;
   border: none;
}

table.doc { margin-bottom: 0; }
table.doc td {
   padding: 3px 5px;
   white-space: nowrap;
}
table.doc tr {
   border-bottom: 1px solid #ddf;
}
table.doc tr:last-child {
	border: none;
}

tr.hover:hover {
	background: #ffa;
	cursor: pointer;
}

table.ftask {
	width: 100%;
	font: 12px monospace;
}
table.ftask tbody {
   border-bottom: 1px solid #ddf;
}
table.ftask tbody.hover:hover {
	background: #ffa;
	cursor: pointer;
}
table.ftask th {
	padding: 3px 2px;
   border-bottom: 1px solid #ddf;
	background: #eee;
}
table.ftask td {
	padding-right: 8px;
	text-align: left;
}
table.ftask td.task {
   border-bottom: 1px solid #ddf;
	font: bold italic 14px Georgia,serif;
	color: royalblue;
	background: #eef;
}

/*****************/ 
.bold { font-weight: bold !important; }
.pointer { cursor: pointer; }

.red { color: red !important; }
.blue { color: royalblue !important; }
.green { color: #090 !important; }
.navy { color: navy !important; }
.grey { color: #888 !important; }

/***** Candy *****/ 
#nav_up {
   position: fixed;
   display: none;
   bottom: 10px;
   right: 0px;
}
#div_contact {
   position: fixed;
   bottom: 0px;
   left: 0px;
}
#msg_contact {
   float: left;
   display: none;
   padding: 4px;
   background-color: #ddd;
   border-top: 1px solid white;
   box-shadow: 0px -1px 5px rgba(0,0,0,0.5);
}
#nav_test {
   position: fixed;
   bottom: 170px;
   left: 0px;
}

/***** Media *****/ 
@media screen and (max-width: 1200px) {
   body { width: 100%; }
   nav { width: 100%; min-width: 0; }
	div.panel { margin: 0; }
   #div_contact { display: none; }
   #nav_test { display: none; }
}
@media screen and (max-width: 900px) {
	body { min-width: 800px; }
   nav { text-align: left; }
   .menu { font: bold 11px verdana,tahoma,serif; }
   .menu a { padding: 9px 6px; }
}
@media screen and (max-width: 600px) {
	body { min-width: 0; }
	div.panel { float: left; }
   img.logo { width: 96px; height: 72px; }
}

/* Кнопка перехода на карту (Body::mapBtn): «сеть на карте» на расписании и «карта флота»
   на флоте. Раньше сеть была пунктом меню — уехала туда, где о ней уместно вспомнить. */
.mapbtn { text-align: right; margin: 0 4px 8px; }
.mapbtn a {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 5px 12px;
   border: 1px solid #c3cede;
   border-radius: 999px;
   font: bold 12px verdana,tahoma,serif;
   color: var(--th-htext,#456);
   background: linear-gradient(var(--th-gradang,180deg), var(--th-grad1,#fff), var(--th-grad2,#eee));
}
.mapbtn a:hover { text-decoration: none; border-color: #7f96b8; }
