@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap');

input[type="submit"] {
	padding: 3px 20px;
	margin: 10px 20px 10px 0;
    font-size: 100%;
}

/* main */

body, input, textarea, keygen, select, button {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 100%;
    box-sizing: border-box;
}

input, textarea, keygen, select, button {
    padding: 4px;
}

body {
    font-size: 0.9em;
	color: #231f21;
	text-align: left;
	background: #fff;
	margin: 0;
	padding: 0;
}
p {
	padding: 0 0 12px 0;
}
h1, h2, h3, h4, h5, h6 {
	margin: 12px 0;
}
h1 {
	font-size: 1.7em;
	text-align: left;
	font-weight: bold;
	margin: 0 0 15px 0;
}
h2 {
	font-size: 1.5em;
	font-weight: bold;
}
h3 {
	font-size: 1.4em;
	font-weight: bold;
	margin-top: 20px;
}
h4 {
	font-size: 1.4em;
	font-weight: normal;
}
h5 {
	font-size: 1.2em;
	font-weight: bold;
	text-transform: uppercase;
}
h6 {
	font-size: 1.25em;
	font-weight: bold;
}
address {
	display: block;
	font-style: italic;
	height: 14px;
	margin: 5px 0 5px 25px;
}
dl {
	display: block;
	height: 14px;
	margin: 5px 0 5px 25px;
}
pre {
	display: block;
	font-family: -webkit-monospace;
	height: 15px;
	margin: 5px 0 5px 25px;
	white-space: pre;
}
.d-inlineblock, .d-ib { display: inline-block;}

/* ============================== language selector ============================== */

.lang-selection {
    float: right;
    padding-right: 15px;
}
.lang-selection li {
    list-style: none;
    display: inline-block;
    padding: 0 8px;
    margin: 0;
    border-right: 1px solid #bbb;
    float: left;
}

.lang-selection li:last-child {
    border-right: none;
}

#document-list {
	clear: both;
}
#document-list-in {
	background: #fff;
	margin: 5px 10px 15px 10px;
	padding: 5px 10px 15px 10px;
}
#document-list-in a {
	color: #b73b10;
	text-decoration: underline;
}
#document-list-in a:hover {
	color: #004689;
	text-decoration: underline;
}
#document-list-in img {
	position: relative;
	top: -3px;
}
#document-list-in ul {
	list-style: none;
	margin: 0;
}
#Content ul {
	padding-left: 15px;
}
.MainContainer {
	min-height: 400px;
	width: 1140px;
	margin: 0 auto 0 auto;
	background: #ffffff;
}

.g2-header .MainContainer, .g2-footer .MainContainer {
	min-height: unset;
}

.main {
	width: 1140px;
	margin: 0;
	background: #fff;
}
.main-in {
    padding: 30px;
}
.main-in::after {
	content: "";
	display: block;
	clear: both;
}
.header {
	height: 271px;
	width: 1140px;
	margin: 0 auto;
	padding: 0;
}
.MainContainerBox {
	width: 1140px;
	min-height: 400px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
/* end main */
/* links */
a, a:visited {
	color: #df8127;
}
a:focus {
	border: none;
	outline: none;
}
a:hover {
	color: #e2001a;
	text-decoration: none;
}

.LinkHome {
	display: block;
	width: 824px;
	height: 259px;
	text-decoration: none;
}
.LinkHome span {
	visibility: hidden;
}
.links {
	width: 118px;
	float: right;
	padding: 22px 0 0 0;
}
.links img {
	margin: 0 7px 0 0;
}
.links a:hover {
	text-decoration: underline;
}
/* end links */
/* menu*/
.MainMenuBox {
	float: left;
	width: 250px;
	height: auto;
	margin-left: 0px;
	display: inline;
	padding: 0;
}
.MainMenuContainer {
	width: 250px;
	margin: 0;
	padding: 0;
}
.MainMenuContainer ul {
	margin: 0 0 0 20px;
	*margin: 0 0 0 5px;
	width: 230px;
	padding: 0;
	list-style: none;
	text-align: left;
	padding-top: 15px;
}
.menu li a {
	margin: 0 10px 0 0;
	padding: 5px 0 5px 0;
	width: 215px;
	display: block;
	vertical-align: middle;
	text-decoration: none;
	color: #231f21;
	font-weight: bold;
	font-size: 1.15em;
}
.menu li ul li a {
	padding: 5px 0 5px 10px;
	margin-left: 2px;
}
.menu ul.level1 li a {
	width: 200px;
}
.menu ul.level2 li a {
	width: 190px;
}
.menu li {
	display: block;
	width: 210px;
	border-bottom: solid 1px #df8127;
}
.menu ul.level2 li {
	width: 200px;
}
.menu ul.level1 li.last {
	border-bottom: none;
}
.menu li.first {
	border-top: solid 1px #df8127;
}
.menu a {
	line-height: 20px;
}
.menu .open a {
	color: #e2001a;
}
.menu .open ul a {
	color: #e2001a;
	text-transform: none;
}
.menu li ul {
	margin: 0;
	padding: 0;
}
.menu li ul li li {
	padding-left: 11px;
}
.menu ul.level1 li a {
	color: #231f21;
	background: url(../images/Design/li-dark.png) no-repeat left 13px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.menu ul.level1 li.selected a {
	color: #e2001a;
	background: url(../images/Design/li-red.png) no-repeat left 13px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.menu ul.level1 li.selected ul.level2 li a {
	color: #231f21;
	background: url(../images/Design/li-dark.png) no-repeat left 13px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.menu ul.level1 li.selected ul.level2 li.selected a {
	color: #e2001a;
	background: url(../images/Design/li-red.png) no-repeat left 13px;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.menu li a:hover, .menu .open a:hover, .menu ul.level1 li a:hover, .menu ul.level1 li.selected a:hover, .menu ul.level1 li.selected ul.level2 li a:hover, .menu ul.level1 li.selected ul.level2 li.selected a:hover {
	color: #df8127;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.menu ul.level1 li a:hover, .menu ul.level1 li.selected a:hover, .menu ul.level1 li.selected ul.level2 li a:hover, .menu ul.level1 li.selected ul.level2 li.selected a:hover {
	background: url(../images/Design/li-orange.png) no-repeat left 13px;
  -webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
.MainMenuContainer .box_title h2 {
	position: absolute;
	display: none;
}
/* end menu*/
/* content */
#ContentContainer {
	width: 920px;
	height: auto;
	float: right;
	margin: 0 15px 0 0;
	display: inline;
	line-height: 1.4;
}
#Content {
	width: 852px;
	margin: 60px 0 0 0;
	padding: 0 15px 20px 5px;
	text-align: left;
	border-width: 0px;
	text-align: justify;
	position: relative;
}
#Content p {
	line-height: 150%;
}
/* end content */

/* ------ FOOTER ---------- */
#footer {
	width: 1140px;
	height: 50px;
	/*background: #df8127;
*/
	padding: 0;
	margin: 0 auto;
	color: #ffffff;
	overflow: hidden;
	font-weight: bold;
}
#footerLeft {
	float: left;
	text-align: left;
	padding: 20px 0 15px 0;
	width: 505px;
	height: 100%;
	margin: 0;
}
#footerRight {
	float: right;
	text-align: right;
	padding: 19px 0 15px 0;
	width: 425px;
}
.homepage a, .sitemap a, .rss a, .print a, .homepage a:visited, .sitemap a:visited, .rss a:visited, .print a:visited {
	background-repeat: no-repeat;
	background-position: 0 center;
	padding-left: 17px;
	margin-left: 12px;
	color: #ffffff;
	text-decoration: underline;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	-ms-transition: none;
	transition: none;
}
.homepage a:hover, .sitemap a:hover, .rss a:hover, .print a:hover, .homepage a:active, .sitemap a:active, .rss a:active, .print a:active {
	background-position: -989px center;
	color: #efb985;
	text-decoration: none;
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	-ms-transition: none;
	transition: none;
}
.homepage a {
	background-image: url(../images/Design/homepage.gif);
}
.sitemap a {
	background-image: url(../images/Design/sitemap.gif);
}
.rss a {
	background-image: url(../images/Design/rss.gif);
}
.print a {
	background-image: url(../images/Design/print.gif);
}
/* ------ FOOTER ---------- */
/* ---- SERVERMAP ----------- */
ul.ServerMap {
	margin: 15px 0;
}
ul.ServerMap li {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	background: none;
	padding: 2px 0;
}
ul.ServerMap li a {
	background: url(../images/Design/li-orange.png) no-repeat left center;
	padding-left: 14px;
	margin-top: 5px;
	font-weight: normal;
	font-size: 1.3em;
	color: #df8127;
	text-decoration: none;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
ul.ServerMap li a:hover {
	color: #e2001a;
	text-decoration: underline;
	background: url(../images/Design/li-red.png) no-repeat left;
	-webkit-transition: all 0.5s ease-in-out 0s;
	-moz-transition: all 0.5s ease-in-out 0s;
	-o-transition: all 0.5s ease-in-out 0s;
	-ms-transition: all 0.5s ease-in-out 0s;
	transition: all 0.5s ease-in-out 0s;
}
/* ---- SERVERMAP ----------- */
/* news */
.nadpis-news {
	color: #585858;
	margin-bottom: 10px;
}
.news-item {
	font-size: 10px;
	padding: 0 15px 12px 0;
}
.news-item p {
	margin: 0;
	padding: 0;
}
.news-item p span, .news-item p font {
	font-size: 10px !important;
	font-family: Verdana, 'Geneva CE', lucida, sans-serif !important;
}
.news-title {
	text-decoration: none;
	font-weight: bold;
	color: #c30606;
	padding: 0 0 0 7px;
}
a.news-title:hover {
	text-decoration: underline;
}
.news-more {
	color: #48a7e6;
	text-decoration: underline;
}
/* end news */
/* images */
img {
	/* border: solid 2px #df8127; */ /* neramovat vsechny img */
}
a:hover img, a:active img {
	border-color: #e2001a;
}
#Content img {
	margin: 5px;
}
img.no-margin {
	margin: 0;
}
/* end images */
.title-row1 {
	padding: 15px 0 0 0;
	clear: both;
}
.column1, .column2, .column3 {
	width: 250px;
	float: left;
	text-align: left;
}
.column2 {
	width: 247px;
	margin: 0 3px;
	background: white;
}
.calendar {
	border: 1px solid #eee;
	background: #fff url(../images/Design/bg-calendar.jpg) left top no-repeat;
	padding-bottom: 10px;
}
.ban1 {
	margin: 7px 0 0 0;
}
.column3 {
	width: 185px;
	margin: 0;
	border: 1px solid #eee;
	background: white;
}
.clear {
	clear: both;
}
.right-col {
	width: 206px;
	float: right;
	text-align: center;
	background: url(../images/Design/bg-right-col.gif) left top no-repeat;
	padding-top: 5px;
}
.column3 .right-col {
	float: inherit;
	background: #fff;
	width: 185px;
}
.light-color {
	color: #afafaf;
}
.no-bull {
	list-style: none;
}
.no-bull a {
}
.no-padding {
	padding: 0;
	margin: 0;
}
.no-padding img {
	vertical-align: middle;
	margin: 1px 0;
}
/* list download*/
#document-list {
	clear: both;
}
#document-list-in {
	padding: 5px 10px 15px 10px;
}
/* end list download */
.event-item table td {
	vertical-align: top;
}
.event-item {
	background: url(../images/Design/bg-call-line.gif) left top repeat-x;
	margin: 3px 4px;
}
.event-label a {
	color: #1a5079;
}
.padding10 {
	margin: 4px;
}
.right-col-in {
	text-align: center;
}
.photo-file, .photo-folder, .photo-up {
	margin: 0 25px 25px 0;
	width: 131px;
	height: 132px;
	text-align: center;
	float: left;
}
.photo-folder {
	background: url('../Images/photo_folder.jpg');
}
.photo-file {
	background: url('../Images/photo_file.jpg');
}
.photo-up {
	background: url('../Images/photo_up.jpg');
}
.photo-name {
	clear: both;
	color: #313131;
}
.photo-desc {
	color: #42a3e7;
}
.photo-helper {
	float: right;
	height: 94px;
	width: 1px;
}
.block-a {
	display: block;
	width: 131px;
	height: 132px;
	text-decoration: none;
}
.photo-file img {
	border: 1px solid #d1ecfd;
	margin-top: 17px;
}
.photo-up img, .photo-folder img {
	display: none;
}
/* SCROLL BAR*/
.scrollgeneric {
	line-height: 1px;
	font-size: 1px;
	position: absolute;
	top: 0;
	left: 0;
}
.vscrollerbase {
	width: 10px;
	background-color: #d9630b;
}
.vscrollerbar {
	width: 10px;
	background-color: #96450d;
}
.hscrollerbase {
	height: 10px;
	background-color: #d9630b;
}
.hscrollerbar {
	height: 10px;
	background-color: #96450d;
}
.scrollerjogbox {
	width: 10px;
	height: 10px;
	top: auto;
	left: auto;
	bottom: 0px;
	right: 0px;
	background-color: black;
}

/* -------- NAVIGATOR ------- */
#pageNavigator {
	margin-bottom: 10px;
	width: 605px;
}
.navigator {
	line-height: 1.8em;
}
.navigator span span {
	margin-left: 3px;
	margin-right: 3px;
}
/* -------- NAVIGATOR ------- */
table {
	border-collapse: collapse;
	margin-left: 1px;
}
td {
	border-collapse: collapse;
}
table td {
	padding: 2px 6px 2px 0;
	vertical-align: middle;
}
tr.head  td {
	background-color: #c78d5b;
	color: #ffffff;
}
.modernTable {
	border-collapse: collapse;
	margin: 0;
}
.modernTable thead tr td {
	background: #e6984d;
	border: 1px solid #df8127;
	font-weight: bold;
	padding-left: 5px;
	padding-right: 5px;
	margin: 0;
	color: #ffffff;
	text-align: center;
}
.modernTable tbody tr td {
	background: #ffffff;
	border: 1px solid #df8127;
	padding-left: 8px;
	padding-right: 5px;
	margin: 0;
}
.rbcWidgetArea {
	margin-top: 5px;
	margin-bottom: 5px;
}
/* ------- WSW -------------- */
/* design table */
table.design {
	border: #df8127 1px solid;
}
.design thead td {
	border-bottom: #df8127 1px solid;
	border-left: #ffffff 1px solid;
	border-top: #df8127 1px solid;
	border-right: #ffffff 1px solid;
	background-color: #df8127;
	color: #ffffff;
	text-align: center;
	font-weight: bold;
}
.design td {
	border: #df8127 1px solid;
	background: #ffffff;
}
.row25 tr {
	height: 25px;
	*height: 20px;
}
.row30 tr {
	height: 30px;
	*height: 25px;
}
/* <table width="xy" cellspacing="0" cellpadding="2" border="1" class="design row30"> */
/* design table */
a:focus {
	border: none;
	outline: none;
}
.rbcBookmarks {
	display: none;
}
.article ins, .articleDetail ins {
	text-decoration: none;
}
.button {
	font-size: 1.05em;
	text-align: center;
	text-decoration: none;
	border: none;
	font-weight: bold;
	padding: 7px 10px;
	margin-top: 20px;
	background-color: #df8127;
	color: #ffffff!important;
	-moz-border-radius: 9px;
	-webkit-border-radius: 9px;
	border-radius: 9px;
}
.button:hover {
	background-color: #e2001a;
	border: none;
	text-decoration: none;
	cursor: pointer;
}
.logos {
	border: none;
	margin: 30px auto 50px auto;
	position: absolute;
	left: 45px;
	bottom: 0;
}
.right {
  position: absolute;
  top: -11px;
  right: 0;
  margin: 0;
  padding: 0;
  width: 250px;
  min-height: 937px;
  height: 100%;
  display: block;
  background: #e74c34 url(../images/Design/right.png) right top no-repeat;
  z-index: 500;
}
.right2 {
  position: absolute;
  bottom: -3px;
  right: 0;
  margin: 0;
  padding: 0;
  width: 250px;
  min-height: 937px;
  height: 100%;
  display: block;
  background: #e74c34 url(../images/Design/right.png) right top no-repeat;
  z-index: 100;
}

.alt
{
display: none;
}

/* --------- Top --------- */

#top
{
background: url(../Images/Top.gif) left top repeat-x;
height: 54px;
}

/* --------- Header --------- */

#headerC
{
background: white url(../Images/HeaderBar.gif) left bottom repeat-x;
}

#headerR
{
background: url(../Images/Logo.gif) right top no-repeat;
}

#headerL
{
height: 75px;
background: url(../Images/Header.gif) 24px 13px no-repeat;
}

/* --------- Menu --------- */

#menuC
{
position: absolute;
left: 0px;
top: 217px;
width: 179px;
background: url(../Images/MenuBack.gif) left top repeat-y;
}

#menu
{
background: url(../Images/MenuItem0.gif) left top no-repeat;
}

#menu ul
{
margin: 0;
padding: 0;
}

#menu li
{
display: inline;
}

#menu li a, #menu li a:visited
{
color: Black;
display: block;
width: 100%; 
_height:1em;
min-height:1em;
text-decoration:none;
background:url(../Images/MenuItem1.gif) 10px 0 no-repeat;
}

#menu li a.sub
{
background: none;
}

#menu li a:hover
{
	color: Black;
	text-decoration: underline;
}

#menu li a span
{
	display: block;
	padding: 3px 0 3px 0;
	padding-left: 25px;
	background: url(../Images/MenuSplitter.gif) bottom left repeat-x;
}

#menu li li a, #menu li li a:visited
{
	background: url(../Images/MenuItem2.gif) 22px 0 no-repeat;
}

#menu li li a:hover
{
	background-position: 22px -153px;
}

#menu li li a span
{
	padding-left: 45px;
}

#menuBottom
{
font-size: 1px;
height: 10px;
background: url(../Images/MenuBottom.gif) left top repeat-x;
margin-top: -1px;
}

/* --------- Content --------- */

#contentC
{
margin-left: 179px;
padding: 29px 0 24px 35px;
}

#content
{
padding-right: 35px;
}

/* --------- Navigation Bar --------- */

#navBarC
{
background: url(../Images/NavBar.gif) left top; 
width: 600px;
_height: 22px;
min-height: 22px;
}

#navBar
{
padding: 4px;
font-weight: bold;
}

#navBar a, #navBar a:visited
{
color: Black;
text-decoration: none;
}

#navBar a:hover
{
text-decoration: underline;
}

#navBar span
{
font-size: 1px;
background: url(../Images/NavBarSplitter.gif) 11px 2px no-repeat;
padding-left: 32px;
padding-top: 7px;
}


/* --------- Datagrid tabulka --------- */

table.dataGrid
{
border-collapse: collapse;
background: url(../Images/TableHeader.gif) left top repeat-x;
}

table.dataGrid tr
{
height: 20px;
}

table.dataGrid tr.header
{
background: url(../Images/TableRow.gif) left bottom repeat-x;
font-weight: bold;
}

table.dataGrid tr.header a, table.dataGrid tr.header a:visited
{
text-decoration: none;
font-size: 1px;
padding-left: 12px;
padding-top: 5px;
}

table.dataGrid tr.header a.asc
{
background: url(../Images/sortAsc.gif) center no-repeat;
}

table.dataGrid tr.header a.desc
{
background: url(../Images/sortDesc.gif) center no-repeat;
}

table.dataGrid td, table.dataGrid th
{
padding-left: 10px;
padding-right: 10px;
}

table.dataGrid tr.item
{
background: white url(../Images/TableRowAlt.gif) left bottom repeat-x;
}

table.dataGrid tr.alternatingItem
{
background: #fef3e3 url(../Images/TableRow.gif) left bottom repeat-x;
}

table.dataGrid tr.pager, table.dataGrid tr.pager a, table.dataGrid tr.pager a:visited
{
color: #999B9E;
font-weight: bold;
}

table.dataGrid tr.pager span, table.dataGrid tr.pager a
{
border: 1px solid white;
padding: 2px;
}

table.dataGrid tr.pager span
{
border-color: #E0E0E0;
background: url(../Images/Pager.gif);
}

table.dataGrid tr.pager td
{
padding-top: 5px;
}

table.dataGrid tr.pager a, table.dataGrid tr.pager a:visited
{
text-decoration: none;
}

table.dataGrid tr.pager a:hover
{
text-decoration: underline;
}


/* formularova tabulka, okoli formulare */
table.form
{
margin-bottom: 1em;
}

table.form td.caption
{
padding-right: 2em;
}

.form th, .form td {
    padding: 2px 20px 2px 0;
    text-align: left;    
}

.form th{
	white-space:nowrap;    
}

.text-nowrap {
	text-wrap: nowrap;
}

.form sup, h3 sup {
    color: red;
    font-weight: bold;
}

div.form
{
border: 1px solid #A8A8A8;
background: url(../Images/FormBack.gif) top left repeat-x;
padding: 5px;
}

a.backLink, a.backLink:visited
{
color: black;
text-decoration: none;
padding: 3px 0 3px 20px;
background: url(../Images/Tlacitko-Zpet.gif) left center no-repeat;
}

a.backLink:hover
{
text-decoration: underline;
}

/* MENU 12 */
.Menu-12, .Menu-12 ul
{
	list-style: none;
}

.Menu-12-Level-0 a
{
	color: Maroon;
	font-weight: bold;
	font-size: large;
}

.Menu-12-Level-1 a
{
	color: Green;
	font-style: italic;
}

.Menu-12-Level-2 a
{
	color: Gray;
	font-size: small;
}

.validator
{
	color: red;
    display: block;
    font-weight: bold;
}

.phone-input-validator {
	display: inline;
	position: static;
}

#phone-input-valid-msg {
	color: #29b678;
	font-weight: bold;
	font-size: 18px;
}

/* Login Form */
.caption
{
	padding-right: 2em;
}

.center 
{
	text-align: center;
}

table.login-form 
{
	border: 1px solid #F5CED2;
	background: #EEEEEE;
	border-collapse: collapse;
}

table.login-form  th {
	color: White;
    background: #606060;
	text-align: center;
	padding: 0.4em;
}

table.login-form  td {
	text-align: center;
	padding: 0.4em 1em 0.4em 0.4em;
}

table.login-form td.caption {
	text-align: right;
	padding: 0.4em 0.4em 0.4em 1em;
}

.form td.prg-note {
	font-style: italic;
	padding-left: 20px;
	font-size: small;
}

/* -------- Rozcestnik -------- */
.rozcestnik-button {
	margin-bottom: 10px;
}

.rozcestnik-label
{
	height: 30px;
}

.download 
{
	float: left;
	clear: both;
	width: 100%;
}

.Footer { }
#footerLeft, .Footer .author {
    float: left;
    text-align: left;
    line-height: 25px;
    margin: 20px 0 14px 20px;
}

#footerRight , .Footer .copy {
    float: right;
    text-align: right;
    margin: 20px 20px 14px 0;
    line-height: 25px;
}

#aspnetForm label { margin: 0 15px 0 2px;}

.form .self-payer-or-org-payer-info {
    padding: 5px 22px;
    font-size: 0.85em;
}

.check-billing-details-info p {
	padding-bottom: 0px;
}
.check-billing-details-info .check-billing-details-title {
	font-weight: bold;
}

/* -------- popup-help na PersonalDataFormu -------- */
.popup-help {
    color: Black;
    cursor: help;
    font-size: 0.8em;
    font-weight:normal;
}

.popup-help .help-text {
    vertical-align: super;
    font-size: 0.8em;
}

.popup-help .popup-text {
    position: absolute;
    display: none;
}

.popup-help:hover .popup-text {    
    padding: 5px;
    background: #333;
    position: absolute;
    display: block;
    overflow: auto;
    color: #fff;
    letter-spacing: 0.05em;
    padding: 10px 16px;
	z-index: 50;
}

table.fees {min-width: 500px;}
/* ------------------------------------------------- */

.form label { font-weight: 600}

.self-payer-or-org-payer-info {
    padding-bottom: 15px;
}

.fees .ta-right, table .t-right {
    text-align: right;
    padding-right: 20px;
}

.faktura-xml td { padding-right: 15px;}

.full-width, .full-width-select  { 
    width: 100%; 
}

.CodeForFee textarea {
    width: 120px;
    height: 22px;
    line-height: 18px;
    resize: none;
    overflow: hidden;
    position: relative;
    top: 6px;
    margin-left: 20px;
    font-family: roboto;
    font-size: 15px;
}

.CodeForFee, .CompanyForFee,  #CertificateOfStudies, #CertificateOfStudiesUploaded, .upload-required { 
    width: 680px; 
    -webkit-box-shadow: 0px 0px 4px 0px rgba(161,82,82,1);
    -moz-box-shadow: 0px 0px 4px 0px rgba(161,82,82,1);
    box-shadow: 0px 0px 4px 0px rgba(161,82,82,1);
    border-radius: 6px 6px 6px 6px;
    -moz-border-radius: 6px 6px 6px 6px;
    -webkit-border-radius: 6px 6px 6px 6px;
    box-sizing: border-box;
    margin: 30px 0 20px 0;
    padding: 20px;
}

.inactive {
    color: #ccc;
}

.accomp-container {
    padding-top: 30px;
}

.agreement-block .radio-container, .yes-no-control .radio-container {
    display: inline-block;
    padding: 6px 10px 8px 14px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.yes-no-control .radio-container {
	margin-bottom: 0;
}

.agreement-block input[type="radio" i] {
    margin: 3px 4px 0px 5px;
    position: relative;
    top: 1.8px;
}

.agreement-block label { font-weight: 700; }

.agreement-block {
    font-size: 88%;
    color: #333;
}

.agreement-block h3 {
    margin-top: 45px;
}

.important-warning {
    background: #f8d7da;
    border-radius: 5px;
    color: red;
    font-weight: 700;
    line-height: 40px;
    padding: 6px 15px;
    margin: 8px 0 18px 0;
    font-size: 90%;    
    border: 1px solid red;        
}

.agreement-block label { font-weight: 700; }

.important-warning, .g5-errors, .important-warning--noborder {
    color: red;
    font-weight: 700;
    padding: 10px;
    margin: 0 0 18px 0;    
    font-size: 90%;
    display: inline-block;
}

.important-warning {
    border: 1px solid red;
    border-radius: 4px;
}

.small {
	font-size: 90%;
}

.pt-1 {
	padding-top: 10px
}

.pb-2 {
	padding-bottom: 20px;
}

.grid {
	display: grid;
}

.three-rows {
	grid-template-columns: 1fr;
	grid-template-rows: [header] auto [content] 1fr [footer] auto;
	min-height: 100vh;
}

.full-fee {
	color: #004683;
	font-weight: 600;
	cursor: pointer;
}

.full-fee td:after {
	content: '\25bc';
}

.full-fee.opened td:after {
	content: '\25B2';
}

.full-fee td:hover {
	background: #eee;


}

.g2-content {
	grid-row: content;
}

.g2-footer {
	grid-row: footer;
}

.g2-header {
	grid-row: header;
	justify-content: center;
}

.professional-access-container ol {
	margin-top: 5px;
	padding-inline-start: 1em;
}

/****************gMem-start******************/
.gmem-login-control .gmem-login,
.gmem-login-control .gmem-valid-membership,
.gmem-login-control .gmem-debug-info {
    border: 1px solid #eddb93;
    background: #fef6d2;
    margin: 15px 0;
    padding: 10px;
}
.gmem-login-control input[type="submit"] {
    margin: 0;
    height: 29px;
}

.gmem-login-control .gmem-login-info,
.gmem-login-control .gmem-login-error {
    padding: 10px;
}

.gmem-login-control .gmem-login-end,
.clearfix {
	clear:both;
}

.gmem-login-control .gmem-valid-membership {
	color: #3c763d;
	font-weight: bold;    
    background-color: #dff0d8;
    border-color: #d0e9c6;
}

.gmem-result,
.gmem-login-control .gmem-debug-info {
    font-family: monospace;
    color: #444;
    background-color: #fafafa;
    border-color: #888;
}
.gmem-login-control .gmem-debug-info {
    margin-top: 0;
    margin-bottom: 15px;
}

.gmem-username,
.gmem-password,
.gmem-confirm {
    float: left;
    padding: 10px;
}
/****************gMem-end******************/

/**************** Loader ******************/
.full-overlay {
	position: fixed;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	z-index: 9000;
	margin: 0 auto;
	background: rgba(255,255,255, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lds-ring {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

	.lds-ring div {
		box-sizing: border-box;
		display: block;
		position: absolute;
		width: 74px;
		height: 74px;
		margin: 8px;
		border: 8px solid #39abea;
		border-radius: 50%;
		animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
		border-color: #39abea transparent transparent transparent;
	}

		.lds-ring div:nth-child(1) {
			animation-delay: -0.45s;
		}

		.lds-ring div:nth-child(2) {
			animation-delay: -0.3s;
		}

		.lds-ring div:nth-child(3) {
			animation-delay: -0.15s;
		}

@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}
/**************** End Loader ******************/

.hidden, #hidden, .dnone, .hide, .none {
	position: absolute;
	display: none;
}

.flex {
	display: flex;
}

.lg-half-width {
	width: 50%;
	float: left;
	box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
	.lg-half-width {
		float: none;
		width: 100%;
	}

	.pay-logs {
		max-width: 440px;
	}

	.main, .main-in, .MainContainer {
		width: 100%;
		box-sizing: border-box;
	}

	.CodeForFee, .CompanyForFee, #CertificateOfStudies, #CertificateOfStudiesUploaded, .upload-required {
		box-sizing: border-box;
		width: 100%;
	}
}

.logo, .img-logo {
	max-width: 100%;
}

@media screen and (max-width: 1000px) {	
	.header-web {
		flex-direction: column;
		display: flex;
		-webkit-align-items: stretch;
		align-items: stretch;
	}

	.logo, .logo-ph {
		width: 100%;
	}

	.img-logo {
		width: 100%;
		height: auto;
	}

	.hide-md {
		display: none;
	}

	.logs {
		justify-content: center;
		align-self: flex-end;
	}

	.lg-half-width {
		float: none;
		width: 100%;
	}

	.main-in {
		padding: 15px;
		box-sizing: border-box;
	}

	.CodeForFee, .CompanyForFee, #CertificateOfStudies, #CertificateOfStudiesUploaded, .upload-required {
		box-sizing: border-box;
		width: 100%;
	}

	.Footer .author,
	.Footer .copy
	{
		margin: 0 auto;
		text-align: center;
		float: none;
		margin: 0 0 30px 0;
	}

	[id$='_SpecialRequestTextBox'] {
		width: unset !important;
	}

	[id*='_HotelAccommodationControl_'] .caption {
		max-width: 30vw;
	}

	ol {
		padding-left: 10px
	}

	.author, .copy, #footerLeft, .Footer .author,
	#footerRight, .Footer .copy {
		width: 100%;
		text-align: center;
		padding: 15px 0;
		margin: 0;
		box-sizing: border-box;
	}

	table.fees {
		min-width: unset;
		width: 100%;
	}

	.form th, .form td {
		padding-right: 0;
	}

	.feeCel__input--disabled,
	.feeCel__val--disabled {
		font-size: 75%;
		opacity: 0.5;
	}

	.fees .ta-right, table .t-right {
		padding-right: 10px;
	}

	[id$='_FileToUpload'] {
		width: 100%;
	}
}

.valid-spec-code {
	color: green;
	font-weight: 500
}

	.pt-0 {padding-top: 0px;}
	.pt-10 {padding-top: 10px;}
	.pt-20 {padding-top: 20px;}
	.pt-30 {padding-top: 30px;}
	.pt-50 {padding-top: 50px;}
	.pt-100 {padding-top: 100px;}

	.pr-0 {padding-right: 0px;}
	.pr-10 {padding-right: 10px;}
	.pr-20 {padding-right: 20px;}
	.pr-30 {padding-right: 30px;}
	.pr-50 {padding-right: 50px;}
	.pr-100 {padding-right: 100px;}


.pb-20 {
	padding-bottom: 20px;
}

.pb-50 {
	padding-bottom: 50px;
}

.responsive {
	width: 100%;
	box-sizing: border-box;
}

.responsive input, .responsive textarea {
	width: 100% !important;
}

[id$="_NoteTextBox"] {
	max-width: 520px;
}

/* ============================================================
   Hydrogen Days 2027 Custom Design System
   Zdroj grafiky: https://2027.hydrogendays.cz/basic-information/
   Paleta: modra #3ba3d3 | zelena #96c11f | h2 #06aad6 | h3 #3b8aca
           paticka #daf0f8 | text paticky #6e6e6e
   ============================================================ */

/* --- Typografie --- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    line-height: 1.2;
}

h1 {
    font-size: 28px;
    font-weight: bold;
    color: #96c11f;
    text-transform: uppercase;
    margin: 0 0 15px 0 !important;
}

h2 {
    color: #06aad6;
    font-size: 23px;
    font-weight: bold;
    margin: 18px 0 12px 0;
}

h3 {
    color: #3b8aca;
    font-size: 20px;
    font-weight: bold;
    margin: 5px 0 12px 0;
}

h4 {
    color: #909090;
    font-size: 18px;
    font-weight: bold;
    margin: 18px 0 12px 0;
}

/* --- Odkazy --- */
a, a:visited {
    color: #3ba3d3;
    text-decoration: underline;
    transition: color 600ms;
}

a:hover {
    color: #96c11f;
    text-decoration: underline wavy;
}

/* --- Pozadi stranky ---
   Zdroj ma kruhy jako jeden obrazek 2000x900, no-repeat, fixed,
   50% 260px (tesne pod menu). Diky fixed zustava v okne i u dlouhych
   formularu, takze neni potreba dlazdice. Stejne jako na zdroji jsou
   kruhy videt i pod obsahem - obsahovy sloupec je proto pruhledny.   */
body {
    background: #ffffff;
}

.grid.three-rows {
    background: #ffffff url(../Images/Design/bg-kruhy-2026.png) 50% 260px no-repeat fixed;
}

.MainContainer.g2-content,
.g2-content .main {
    background: none;
}

/* --- Hlavicka s logem --- */
.header-web {
    background: #ffffff;
}

.logo {
    text-align: center;
    background: #ffffff;
}

.logo-ph {
    width: 100%;
    text-align: center;
}

.img-logo {
    vertical-align: top;
}

/* --- Pruh pod hlavickou (odhlaseni) ---
   Zdroj nema barevny pruh: menu je bily pas vysoky 45px s modrymi
   "pilulkami". Pruh je proto bily; pilulky patri tlacitkum formularu,
   odkazy v pruhu jsou obycejne odkazy.                               */
.blue-menu-bar {
    background-color: #ffffff;
    min-height: 45px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.header-menu-content {
    min-height: unset !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 1140px;
    padding: 5px 15px;
    background: none !important;
    box-sizing: border-box;
}

/* --- Prihlaseny uzivatel / odhlaseni ---
   LoginStatusControl ma Visible = profile != null, takze odhlaseny
   uzivatel vidi pruh prazdny. Je to spravne chovani.                */
.login-status {
    font-size: 14px;
    color: #6e6e6e;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    width: 100%;
    text-align: right;
    line-height: 32px;
}

.login-status strong {
    font-weight: bold;
}

.login-status a,
.login-status a:visited {
    color: #3ba3d3 !important;
    text-decoration: underline;
    margin: 0 5px;
    transition: color 600ms;
}

.login-status a:hover {
    color: #96c11f !important;
    text-decoration: underline wavy;
}

/* --- Tlacitka formularu ---
   Tvar a barvy polozek hlavniho menu zdroje (.menu-main a).
   asp:Button se renderuje jako input[type=submit]. Element <button>
   zamerne nestylujeme - pouzivaji ho i skripty tretich stran.
   Web.config ma controlRenderingCompatibilityVersion="3.5", takze
   neaktivni tlacitko ma jen atribut disabled (bez tridy aspNetDisabled);
   trida je v selektoru pro pripad zmeny verze.                        */
input[type="submit"],
input[type="button"],
input[type="reset"] {
    display: inline-block;
    max-width: 100%;
    min-height: 32px;
    padding: 4px 18px;
    border: solid 1px #3ba3d3;
    border-radius: 14px;
    background: #3ba3d3;
    color: #ffffff;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 22px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: normal;
    cursor: pointer;
    transition: all 600ms;
    -webkit-appearance: none;
    appearance: none;
}

/* Hover: tmavsi modra (#3b8aca = barva h3 zdroje). Svetly hover menu
   zdroje (#e4f6fb) na pozadi s kruhy splyval a tlacitko nebylo videt. */
input[type="submit"]:not(:disabled):not(.aspNetDisabled):hover,
input[type="button"]:not(:disabled):not(.aspNetDisabled):hover,
input[type="reset"]:not(:disabled):not(.aspNetDisabled):hover {
    color: #ffffff;
    background: #3b8aca;
    border-color: #3b8aca;
}

input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible {
    outline: 2px solid #96c11f;
    outline-offset: 2px;
}

/* Neaktivni tlacitko: sede, bez hoveru, zretelne neklikatelne */
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input.aspNetDisabled[type="submit"],
input.aspNetDisabled[type="button"],
input.aspNetDisabled[type="reset"] {
    color: #8c8c8c;
    background: #ececec;
    border-color: #ececec;
    cursor: not-allowed;
    opacity: 1;
}

/* --- Paticka --- */
.Footer {
    background-color: #daf0f8 !important;
    color: #6e6e6e !important;
    padding: 15px 0;
}

.Footer .MainContainer {
    background: none !important;
}

.Footer .author, .Footer .copy {
    color: #6e6e6e !important;
    line-height: 25px;
    margin: 10px 20px;
}

.Footer a, .Footer a:visited {
    color: #6e6e6e !important;
    text-decoration: underline;
}

.Footer a:hover {
    color: #96c11f !important;
    text-decoration: underline wavy;
}

/* --- Pomocne tridy (pouziva je master page) --- */
.nobg {
    background: none !important;
}

.noheight {
    min-height: unset !important;
    height: auto !important;
}

/* --- Responsivita --- */
@media screen and (max-width: 1000px) {
    html, body {
        overflow-x: hidden;
    }

    .main, .main-in, .MainContainer, .header-menu-content {
        width: 100% !important;
        box-sizing: border-box;
    }

    .Footer .author, .Footer .copy {
        margin: 0;
    }
}

@media (max-width: 700px) {
    h1 {
        font-size: 22px;
    }

    h2, h3 {
        font-size: 18px;
    }

    h4 {
        font-size: 16px;
    }
}

/* ============================================================
   Tabulka poplatku (FeeControl)
   ============================================================ */

/* --- Hover na celem radku ---
   separate + border-spacing: 0 -> podbarveni je souvisle a konce radku
   jdou zaoblit (ladi s kruhy v grafice webu).                        */
table.fees {
    border-collapse: separate;
    border-spacing: 0;
}

table.fees th,
table.fees td {
    padding-top: 4px;
    padding-bottom: 4px;
}

/* Jednotna vyska vsech radku: 22 px obsah (= krouzek prepinace) + 2 x 4 px
   = 30 px pro radky poplatku i prepinac skupiny. */
table.fees td {
    height: 22px;
}

table.fees th:first-child,
table.fees td:first-child {
    padding-left: 12px;
}

table.fees th:last-child,
table.fees td:last-child {
    padding-right: 12px;
}

table.fees td {
    transition: background-color 0.2s;
}

table.fees tr:hover > td {
    background-color: #e4f6fb;
}

table.fees tr:hover > td:first-child {
    border-radius: 16px 0 0 16px;
}

table.fees tr:hover > td:last-child {
    border-radius: 0 16px 16px 0;
}

table.fees tr:hover > td:only-child {
    border-radius: 16px;
}

/* --- Rozbalovaci skupina poplatku (napr. One-day fees = tr.label-ONEDAY) ---
   Ikona = krouzek se sipkou, ladi s kruhy v grafice webu.
   Stav nastavuje JS refreshGroupVisibility() v RegistrationForm.aspx
   tridou .opened. Text je v Controls\App_LocalResources\FeeControl.ascx*.resx. */
table.fees tr.fee-group-toggle {
    cursor: pointer;
    user-select: none;
}

table.fees tr.fee-group-toggle > td {
    color: #3ba3d3;
    font-weight: bold;
}

table.fees tr.fee-group-toggle:hover > td {
    color: #3b8aca;
}

.fee-group-toggle__icon {
    position: relative;
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: middle;
    border: 2px solid #3ba3d3;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #ffffff;
    transition: background-color 0.2s, border-color 0.2s;
}

/* Sipka = roh ctverecku otoceny o 45 stupnu. Sbalene: dolu (rozbalit). */
.fee-group-toggle__icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    margin: -6px 0 0 -4px;
    border-right: 2px solid #3ba3d3;
    border-bottom: 2px solid #3ba3d3;
    transform: rotate(45deg);
    transition: transform 0.2s, margin-top 0.2s, border-color 0.2s;
}

/* Rozbalene: plny krouzek, sipka nahoru (sbalit) */
table.fees tr.fee-group-toggle.opened .fee-group-toggle__icon {
    background-color: #3ba3d3;
}

table.fees tr.fee-group-toggle.opened .fee-group-toggle__icon::after {
    margin-top: -2px;
    border-color: #ffffff;
    transform: rotate(225deg);
}

table.fees tr.fee-group-toggle:hover .fee-group-toggle__icon,
table.fees tr.fee-group-toggle:hover .fee-group-toggle__icon::after {
    border-color: #3b8aca;
}

table.fees tr.fee-group-toggle.opened:hover .fee-group-toggle__icon {
    background-color: #3b8aca;
}

table.fees tr.fee-group-toggle.opened:hover .fee-group-toggle__icon::after {
    border-color: #ffffff;
}

.fee-group-toggle__label {
    vertical-align: middle;
}

/* Polozky skupiny odsazene pod text prepinace (12 + 22 + 8 px) */
table.fees tr.fee-oneday > td:first-child {
    padding-left: 42px;
}

/* --- Doplnujici panely u poplatku ---
   HYTEP poplatky (CODE4) -> nazev firmy/univerzity, kody 1-3, doklad
   studenta. Misto cervenaveho stinu svetle modra karta se zaoblenim
   16 px jako hover radku tabulky poplatku; neprusvitne pozadi, aby pod
   polem neprosvitaly kruhy. Sirku (680 px / mobil 100 %) resi drivejsi
   pravidla.                                                          */
.CodeForFee, .CompanyForFee, #CertificateOfStudies, #CertificateOfStudiesUploaded, .upload-required {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: 1px solid #cfeaf5;
    border-radius: 16px;
    background-color: #eef8fc;
    padding: 16px 20px;
    margin: 20px 0;
}

/* --- Textova pole ---
   Jemne zaobleni 8 px (viceradkove pole by jako pilulka vypadalo spatne)
   a modry ramecek pri psani. Checkbox, radio a file se nemeni.
   intl-tel-input ma pro vlajku vlastni padding se silnejsim selektorem. */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input:not([type]),
textarea,
select {
    border: 1px solid #b9c6ce;
    border-radius: 8px;
    padding: 5px 10px;
    background-color: #ffffff;
    color: #231f21;
    transition: border-color 0.2s, box-shadow 0.2s;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input:not([type]):focus,
textarea:focus,
select:focus {
    border-color: #3ba3d3;
    box-shadow: 0 0 0 3px rgba(59, 163, 211, 0.25);
    outline: none;
}

input[type="text"]:disabled,
input[type="text"][readonly],
input[type="password"]:disabled,
input[type="email"]:disabled,
input[type="tel"]:disabled,
input[type="number"]:disabled,
textarea:disabled,
textarea[readonly],
select:disabled {
    background-color: #f1f4f6;
    color: #6e6e6e;
}

/* Uzka pole (pocet kusu, Width="2em") - mensi vnitrni odsazeni, jinak by
   se cislo do pole neveslo */
input[style*="width:2em"] {
    padding-left: 4px;
    padding-right: 4px;
    text-align: center;
}

/* --- Povinny udaj (hvezdicka za popiskem) --- */
.required-mark {
    color: #e2001a;
    font-weight: bold;
    margin-left: 2px;
}

/* --- Doplnujici panel s chybou ---
   Kdyz je v panelu videt validator (napr. "Name is required"), dostane
   karta cerveny okraj a pole cerveny ramecek. Nevalidni stav vykresli
   <span class="validator">, platny nic (pripadne skryty span - proto
   :not([style*=...])). Prohlizec bez :has() pravidla jen preskoci.   */
.CodeForFee:has(.validator:not(:empty):not([style*="hidden"]):not([style*="none"])),
.CompanyForFee:has(.validator:not(:empty):not([style*="hidden"]):not([style*="none"])),
.upload-required:has(.validator:not(:empty):not([style*="hidden"]):not([style*="none"])) {
    border-color: #f2a7ad;
    background-color: #fdf1f2;
}

.CodeForFee:has(.validator:not(:empty):not([style*="hidden"]):not([style*="none"])) input[type="text"],
.CompanyForFee:has(.validator:not(:empty):not([style*="hidden"]):not([style*="none"])) input[type="text"] {
    border-color: #e2001a;
}

/* Platny stav: validator s Display="Static" se vykresli skryty
   (visibility:hidden), ale porad zabira radek -> v panelu ho schovat
   uplne, jinak ma karta dole prazdne misto. Pri chybe se style zmeni
   a pravidlo prestane platit.                                        */
.CodeForFee .validator[style*="hidden"],
.CompanyForFee .validator[style*="hidden"],
.upload-required .validator[style*="hidden"] {
    display: none;
}

/* --- Vyber souboru ---
   Tlacitko "Vybrat soubor" ma vzhled tlacitek formularu (viz blok
   Tlacitka formularu). ::file-selector-button a starsi WebKit
   ::-webkit-file-upload-button jsou v samostatnych pravidlech - neznamy
   pseudo-element v seznamu selektoru by zahodil cele pravidlo.        */
/* Minimalni sirka - vedle vetsiho tlacitka by se jinak text zkratil
   ("Soubor...vybran"). */
input[type="file"] {
    min-width: 26em;
    max-width: 100%;
    cursor: pointer;
}

input[type="file"]::file-selector-button {
    min-height: 32px;
    margin-right: 10px;
    padding: 4px 18px;
    border: solid 1px #3ba3d3;
    border-radius: 14px;
    background: #3ba3d3;
    color: #ffffff;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 22px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s;
}

input[type="file"]::-webkit-file-upload-button {
    min-height: 32px;
    margin-right: 10px;
    padding: 4px 18px;
    border: solid 1px #3ba3d3;
    border-radius: 14px;
    background: #3ba3d3;
    color: #ffffff;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 22px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
}

input[type="file"]:not(:disabled):hover::file-selector-button {
    color: #ffffff;
    background: #3b8aca;
    border-color: #3b8aca;
}

input[type="file"]:not(:disabled):hover::-webkit-file-upload-button {
    color: #ffffff;
    background: #3b8aca;
    border-color: #3b8aca;
}

input[type="file"]:focus-visible {
    outline: 2px solid #3b8aca;
    outline-offset: 2px;
}

input[type="file"]:disabled {
    cursor: not-allowed;
}

input[type="file"]:disabled::file-selector-button {
    color: #8c8c8c;
    background: #ececec;
    border-color: #ececec;
    cursor: not-allowed;
}

input[type="file"]:disabled::-webkit-file-upload-button {
    color: #8c8c8c;
    background: #ececec;
    border-color: #ececec;
    cursor: not-allowed;
}

/* --- Rozbalovaci vyber (select) ---
   Vlastni modra sipka misto systemove, vyska 32 px jako tlacitka.
   Barvu pozadi zamerne nenastavujeme - bila a seda (disabled) jsou
   v bloku Textova pole.                                              */
select:not([multiple]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 32px;
    padding: 5px 32px 5px 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%233ba3d3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 11px center;
    background-size: 12px 8px;
    cursor: pointer;
}

select:not([multiple]):not(:disabled):hover {
    border-color: #3ba3d3;
}

select:not([multiple]):disabled {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b0b0b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    cursor: not-allowed;
}

/* Otevreny seznam - jen prohlizece s customizable select (Chrome/Edge).
   Ostatni ponechaji systemovy seznam. Sipku tu kresli ::picker-icon. */
@supports (appearance: base-select) {
    select:not([multiple]),
    select:not([multiple])::picker(select) {
        appearance: base-select;
    }

    select:not([multiple]) {
        background-image: none;
        padding-right: 10px;
        gap: 10px;
        display: inline-flex;
        align-items: center;
    }

    select:not([multiple]):disabled {
        background-image: none;
    }

    /* Stejna tenka sipka jako ve zbytku formularu misto systemoveho
       trojuhelniku. Kresli se barvou textu pres masku, takze seda
       u neaktivniho vyberu (color nize) funguje beze zmen.           */
    select:not([multiple])::picker-icon {
        content: "";
        display: inline-block;
        width: 12px;
        height: 8px;
        color: #3ba3d3;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px;
        align-self: center;
        vertical-align: middle;
        transition: rotate 0.2s;
    }

    select:not([multiple]):open::picker-icon {
        rotate: 180deg;
    }

    select:not([multiple]):disabled::picker-icon {
        color: #b0b0b0;
    }

    select:not([multiple])::picker(select) {
        margin-top: 4px;
        padding: 4px;
        border: 1px solid #cfeaf5;
        border-radius: 8px;
        background-color: #ffffff;
        box-shadow: 0 6px 18px rgba(35, 31, 33, 0.12);
    }

    select:not([multiple]) option {
        padding: 5px 12px;
        border-radius: 6px;
        color: #231f21;
    }

    select:not([multiple]) option::checkmark {
        display: none;
    }

    select:not([multiple]) option:not(:disabled):hover,
    select:not([multiple]) option:not(:disabled):focus-visible {
        background-color: #e4f6fb;
        color: #3b8aca;
        outline: none;
    }

    select:not([multiple]) option:disabled {
        color: #b0b0b0;
        cursor: not-allowed;
    }

    select:not([multiple]) option:checked {
        background-color: #3ba3d3;
        color: #ffffff;
        font-weight: bold;
    }
}