/*===
 Reset vychozich hodnot
 ===*/
html, body, div, p, h1, h2, h3, h4, h5, table, tbody, tr, th, td, hr, ul, li, ol, hr, img, input, textarea, select, button, iframe, a {
	margin: 0; border: none; padding: 0;
	text-indent: 0;
	background: none;
}

table, tr, td {
	border-spacing: 0; border-collapse: collapse; border-width: 0; border-style: none;
}

/*===
 Zakladni nastaveni
 ===*/

body {
	background: #4e4e4e; color: white;
	background-image: url('/img/pozadi-tmave.jpg');
	font-family: sans-serif;
}

a {
	color: inherit;
}
a.button {
	text-decoration: none;
}
a:HOVER {
}

h1 {
	font-size: 120%; padding: 0.4em 0.75em;
	margin-bottom: 1em;
}

.ui-draggable-dragging {
	opacity: 0.75; z-index: 99999;
	}
	
.center { text-align: center; }
.margintop1 { margin-top: 1em; }
.margintop4 { margin-top: 4em; }

/*===
 Zakladni struktura
 ===*/

#top_panel {
	position: absolute; top: 0; left: 0; right: 0; height: 3em;
	overflow: hidden;
} 

#main_part {
	position: absolute; top: 3em; left: 0; right: 0; bottom: 2em;
	overflow-x: hidden; overflow-y: auto;
}

#bottom_panel {
	position: absolute; left: 0; right: 0; bottom: 0; height: 2em;
}

#ajax_indicator {
	position: fixed; top: 0; right: 0; bottom: 0; left: 0;
	background: rgba(255, 255, 255, 0);
	text-align: center;
 	display: none;
}
#ajax_indicator>div {
	display: table; width: 100%; height: 100%;
}
#ajax_indicator>div>div {
	display: table-cell; text-align: center; vertical-align: middle;
	width: 100%; height: 100%;
}
#ajax_indicator>div>div>div {
	border: solid 8px #9dbafa;
	background: white; color: black;
	width: 16em; height: 6em;
	line-height: 6em;
	z-index: 9999;
	font-weight: bold;
	margin: auto;
}

/*===
 Spolecny graficky vzhled prvku
 ===*/

.info_field, .button, .subpanel, .subpanel .topbar, #message_panel {
	background: #e7e7e7; color: black;
	background-image: url('/img/pozadi-svetle.jpg');
	box-shadow: 0 0 0.15em 0.15em rgba(0, 0, 0, 0.5);
}

.button {
	font-weight: bold;
	padding: 0.5em;
	cursor: pointer;
}
.button:HOVER, .select:HOVER {
	background: #d0d0d0;
}
.button.active, table.lines tr.line:HOVER  {
	background: #9dbafa;
}

.with_tools {
	position: relative;
}
.tools {
	position: absolute; top: 0.5em; right: 0.75em; bottom: 0.5em;
}

svg.ikona {
	fill: none; stroke: #000;
	background-color: rgba(255, 255, 255, 0.75);
}
svg.ikona:hover, .clickable.composite:hover svg.ikona {
	stroke: #ff992b;
}

.error {
	color: red;
}

/*===
 Horni lista
 ===*/
 
#main_menu {
	position: absolute; top: 0; left: 0;
}
#main_menu a {
	display: inline-block;
	line-height: 1.5em; vertical-align: middle;
}

#message_panel {
	position: absolute; top:0; right: 0; height: 1.5em; padding: 0.5em;
	line-height: 1.5em; vertical-align: middle;
}
#message_panel span {
	margin-left: 0.5em; margin-right: 1em;
}

/*===
 Dolni lista
 ===*/
 
#bottom_panel>div {
	display: inline-block; vertical-align: top;
	height: 2em; line-height: 2em;
}

#bottom_panel>div>div {
	font-size: 70%;
	padding: 0 1em;
	color: #b7b7b7;
}	 

#login_info .user {
	font-weight: bold;
}

#lang a { margin-right: 1em; }
#lang a.active { font-weight: bold; }
#lang a:not(.active) { cursor: pointer; }

/*===
 Hlavni cast
 ===*/

/* Prace se sloupci */
.lcol, .rcol, .col {
	position: absolute; top: 0; bottom: 0;
}
.columns.one>.col {
	width: 100%;
}
.columns.two>.lcol {
	left: 0; width: 49%;
}
.columns.two>.rcol {
	right: 0; width: 49%;
}

/* Subpanel */
.subpanel {
	width: 100%; height: 100%;
}
.subpanel .topbar {
	height: 2.5em; padding: 0 1em;
	margin-bottom: 1em;
	white-space: nowrap;
}
.subpanel .topbar>div>span {
	font-weight: bold;
	display: inline-block; vertical-align: bottom; height: 2.5em; line-height: 2.5em;
	border-left: solid 2px #444;
	padding: 0 0.5em;
}
.subpanel .topbar>div>span:FIRST-CHILD {
	border-left: none; padding-left: 0;
}
.subpanel .topbar span.h1 {
	font-size: 125%;
}
.subpanel .topbar span.h2 {
	font-size: 85%;
}
.subpanel .content {
	position: absolute; top: 3em; right: 0; bottom: 0; left: 0;
	overflow-x: hidden; overflow-y: scroll;
}

.subpanel .part {
	padding: 0 1em 1em 1em;
	border-bottom: solid 2px #444;
	margin-top: 1em; margin-bottom: 1em;
}
.subpanel .content>div>.part:LAST-CHILD {
	border-bottom: none;
}

.subpanel .part .ilvl1 { margin-left: 0.5em; }
.subpanel .part .ilvl2 { margin-left: 1.0em; }
.subpanel .part .ilvl3 { margin-left: 1.5em; }
.subpanel .part .ilvl4 { margin-left: 2.0em; }
.subpanel .part .ilvl5 { margin-left: 2.5em; }

.subpanel .komponent_id { position: absolute; top: 0; right: 0; margin-right: 1em; }
.subpanel .komponent_id>span { font-size: 60%; font-style: oblique; }

.columns>div:FIRST-CHILD .content {
	direction: rtl;
}
.content>div {
	direction: ltr;
}

.part li {
	list-style-position: inside;
}

.button.flag {
	margin: 16px 0; text-align: center;
}


/*===
 Vstupy pro data
 ===*/

.data_group {
	display: flex;
}
.data_group .data_edit {
	flex-grow: 1;
}
.data_edit {
	margin-bottom: 1em;
	margin-left: 1em; margin-right: 1em;
}
.data_group .data_edit:NOT(:FIRST-CHILD) {
	margin-left: 0.25em;
}
.data_group .data_edit:NOT(:LAST-CHILD) {
	margin-right: 0.25em;
}
.data_edit label, .data_edit>.data_input {
	display: block;
}
.data_edit label {
	font-size: 85%;
	margin-bottom: 0.3em;
}
.data_edit label.empty {
	color: #666;
}
.data_edit input, .data_edit textarea, .soubor_input .dropzone, .multidata, .data_edit.Region>div {
	background: white;
	box-shadow: 0 0 0.05em 0.05em rgba(0,0,0, 0.3);
}
.data_edit input, .data_edit textarea {
	width: 100%; padding: 0.25em 0;
}
.data_input.DatumCas input {
	width: auto;
}
.data_edit textarea {
	min-height: 3em;
	min-width: 100%; max-width: 100%;
	border-top: solid 2px #777;
}

.langvar, .cislo, .soubor_input {
	position: relative;
}
.soubor_input {
	height: 240px;
}
.multidata {
	min-height: 160px;
}
.SimpleString .multidata {
	min-height: 0;
}
.multidata>div>div {
	position: relative;
}
.RastrovaGrafika .multidata>div>div {
	box-shadow: 0.1em 0.1em 0.2em 0.2em rgba(0,0,0, 0.3);
}
.multidata .inline {
	display: inline-block;
	margin: 1em;
}
.multidata input {
	border: none; box-shadow: none; border-radius: 0;
	border-bottom: solid 2px #888; 
}

.multidata .toolbar { display: flex; }
.multidata .toolbar .button { display: inline-block; flex-grow: 1; text-align: center; }

.multidata .data.RastrovaGrafika .popis { display: none; }

.multidata.detail .data.RastrovaGrafika { display: flex; align-items: center; }
.multidata.detail .data.RastrovaGrafika .popis { display: inline-block; margin: 0 1em; }
.multidata.detail .data.RastrovaGrafika .popis.obsah { flex-grow: 1; }
.multidata.detail .inline { display: block; }

.langvar>span, .cislo>span, .soubor_input>span {
	display: block;
	position: absolute; left: 0; right: 2em; top: 0; bottom: 0; margin-right: auto; width: auto;
}

.langvar>label {
	position: absolute; top: 0; right: 0.4em; bottom: 0;
	font-size: 75%; font-weight: bold; color: #9dbafa;
	margin-bottom: 0.25em;
	flex-grow: 0.0;
}

.soubor_input .dropzone {
	display: block;
	width: 100%; height: 100%;
	text-align: center; line-height: 240px;
}

.data_input.SouborSVG img {
	height: 240px; width: auto;
}

.data_input.Region>div {
	display: flex;
}
.Region .preview {
	display: inline-block; width: 320px; height: 240px;
	border-right: solid 2px #999;
	position: relative;
}
.Region .preview canvas {
	width: 100%; height: 100%;
}
.Region .input {
	display: inline-block; height: 240px; flex-grow: 1;
	padding: 0 1em;
}
.Region .input>div {
	margin-top: 0.5em;
	font-size: 85%; font-style: italic; color: #666;
}
.Region textarea {
	height: 12px;
	border: solid 1px red;
}

/* Vyjimky pro ruzne zobrazeni editovanych dat */
.aktualita {
	position: relative;
	border-top: solid 2px #333;
	padding: 2em 0;
	min-height: 12em;
}

/*===
 Panel s registrovanymi uzivateli
 ===*/
 
table.webusers {
	width: 100%;
}
table.webusers th, table.webusers td {
	text-align: left;
	padding: 0.5em;
}
table.webusers tr:HOVER {
	background: #9DBAFA;
}

/*===
 Panel pro provazani s jinymi vecmi
 ===*/
 
.link_with {
	margin-bottom: 1em;
	margin-left: 1em; margin-right: 1em;
	display: flex;
}
.link_with label, .link_with .item {
	display: inline-block; vertical-align: middle;
}
.link_with label {
	width: 12em; flex-grow: 0.0;
	padding: 0.5em;
	white-space: nowrap;
}
.link_with .item {
	flex-grow: 1.0; 
	margin-left: 1em;
	text-align: center;
}

/*===
 Inline seznamy
 ===*/

.part h2 {
	font-size: 105%; margin-bottom: 0.5em;
}
.list.inline {
	margin-bottom: 1em;
}
.list.inline>div {
	display: inline-block; vertical-align: middle;
	flex-grow: 1.0; max-width: 24em;
	position: relative;
	margin: 0.5em;
}

.typ_item .head, .typ_item .ml_nazev { margin: 0.15em; }
.typ_item .ml_nazev { min-width: 12em; }
.typ_item input { background: white; width: 100%; padding: 0 0 0 0.25em; }
.typ_item .head input { display: inline; padding: 0 0.25em; }
.typ_item .head input.key { width: 4em; }
.typ_item .head input.group { width: 2em; margin-left: 1em; }

/*===
 Nahravani souboru
 ===*/

.part .drop_area {
	width: 100%; min-height: 5em;
	text-align: center;
}
.part .drop_area>div {
	margin-bottom: 1em;
}

table.loaded {
	width: auto; overflow-x: auto;
	font-size: 85%;
}
table.loaded th, table.loaded td {
	padding: 0.5em; text-align: left; vertical-align: top;
}

table.loaded .ok { color: green; }
table.loaded .warning { color: orange; }
table.loaded .error { color: red; }

/*===
 Prihlasovaci panel
 ===*/

#pp_out {
	width: 100%; margin-top: 8em;
	display: table; text-align: center;
	}
#pp_out>div {
	display: table-cell; vertical-align: middle;
	}

#prihlasovaci_panel {
	display: inline-block; position: relative;
	}
#prihlasovaci_panel tr:nth-child(3) {
	height: 3em; vertical-align: bottom;
	}
#prihlasovaci_panel td {
	padding: 0.25em 0.5em;
	}
#prihlasovaci_panel td:first-child {
	font-style: italic;
	}
#prihlasovaci_panel input[type=text], #prihlasovaci_panel input[type=password] {
	border-bottom: solid 1px black;
	}

#prihlasovaci_panel .feedbackPanel {
	position: absolute; top: -3em; height: 3em; width: 100%;
	text-align: center;
	padding: 1em;
	}
#prihlasovaci_panel .feedbackPanel li {
	list-style: none; color: #FF522B;
	}

/*===
 Radkovana tabulka
 ===*/

table.lines, div.lines {
	margin: 1em;
	width: 95%;
}
table.lines td, table.lines th {
	border-bottom: solid 1px black;
	text-align: center;
	padding: 0.25em 0.5em;
	white-space: nowrap;
	font-size: 95%;
}

table.lines input, table.lines select {
	background: white;
	text-align: left;
	padding: 0.5em;
}

table.lines td>span {
	display: inline-block;
	font-size: 65%; width: 8em;
	margin-left: 1em;
	text-align: left;
}
table.lines th, table.lines td.smaller { font-size: 85%; }
table.lines td.last_cell { position: relative; width: 50%; box-sizing: border-box; }
table.lines td.last_cell input { width: 100%; box-sizing: border-box; }

/*===
  HTML chunk
  ===*/
  
.htmlchunk h2 { text-align: center; margin-bottom: 0.3em; font-size: 14px; border-top: solid 1px #666; padding-top: 0.3em; margin-top: 0.3em; }
.htmlchunk .data { display: flex; margin-bottom: 0.5em; }
.htmlchunk .data>label, .htmlchunk .data>div { display: inline-block; vertical-align: top; }
.htmlchunk .data>label { width: 10%; text-align: right; margin-right: 1em; }
.htmlchunk .data>div { flex-grow: 1; background: white; box-shadow: 0 0 0.05em 0.05em rgba(0,0,0, 0.3); }
.htmlchunk .image { display: flex; align-items: center; }
.htmlchunk .image>div:FIRST-CHILD { height: 8em; min-width: 8em; }
.htmlchunk .image>div:LAST-CHILD { flex-grow: 1; }
.htmlchunk .image img { height: 8em; width: auto; }

.fileinput input, .fileinput label { display: inline; width: auto; }
.fileinput label { width: 10em; text-align: right; margin-right: 1em; }
.fileinput>div:LAST-CHILD { margin: 0.5em 1em; }
.fileinput .file_upload, .fileinput .inputline { display: flex; align-items: center; }
.fileinput .file_upload input[type=file], .fileinput .inputline input { flex-grow: 1; }

.fileinput .info { text-align: center; height: 2me; line-height: 2em; }

.CodeMirror { height: auto !important; }
.htmlchunk:LAST-CHILD { margin-bottom: 32em; }
