@import
	url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap')
	;

/* Poznámka pro příští generace: pokud se někdo bude zamýšlet nad tím, proč u některých elementů jsou zvláštní marginy a paddingy, 
je to proto že v návrhu posledního redesignu byly zvláštní rozměry a jinak se mi to nepodařilo napasovat na daný návrh. (SLA) */
body {
	font-family: 'Roboto', sans-serif;
	background-image: url("img/background.png") !important;
}

.appCanvas {
	margin-bottom: 20px;
	font-family: 'Roboto';
	font-size: 12px;
	color: rgb(0, 60, 105);
	max-width: 1210px;
}

h2 {
	font-family: "Lucida Grande", Arial, sans-serif;
	font-size: 24px;
	font-weight: bold;
	color: rgb(0, 157, 204)
}

.jumbotron p {
	font-size: 16px;
}

.jumbotron {
	padding-top: 38px;
	padding-bottom: 38px;
}

.form-control {
	font-size: 14px;
	color: #494949;
	border-radius: 0px;
}

.form-select {
	font-size: 14px;
	border-radius: 0px;
}

.btn {
	border-radius: 0px;
	border: 1px solid #8b8b8b;
	font-weight: bold;
	font-size: 13px;
}

.dropdown-menu {
	font-size: 12px;
}

#pocetPoplatnikuSlider .slider-selection {
	background: rgb(0, 157, 204);
}

.slider-wrapper {
	padding: 15px;
}

.slider-title-min {
	margin-right: 20px;
}

.slider-title-max {
	margin-left: 20px;
}

.uvodni-informace {
	color: #868686;
	text-align: justify;
	padding-left: 5px;
	padding-right: 35px;
	font-size: 15px;
	line-height: normal;
}

.uvodni-informace strong {
	color: #3e3f41;
}

.uvodni-informace-title {
	color: #c41c1c;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 500;
	padding: 28px 0 23px 0;
}

.form-horizontal {
	color: #616263;
}

.alert {
	font-size: 14px;
}

.alert-danger {
	background-color: rgb(255, 224, 204);
	color: rgb(0, 60, 105);
	border-color: rgb(255, 177, 128);
	font-weight: bold;
}

.alert-success {
	color: rgb(0, 60, 105);
	background-color: rgb(242, 251, 245);
	border-color: rgb(128, 210, 159);
	font-weight: bold;
}

/* Zastaralé Bootstrap třídy - zachováno pro zpětnou kompatibilitu */
.btn-default {
	font-size: 13px;
	color: #fff !important;
	text-decoration: none;
	padding: 8px 15px;
	display: inline-block;
	border: none;
	background-color: #2b4f86 !important;
	background-image: linear-gradient(to left, transparent, transparent 50%, #466697 50%,
		#466697);
	background-position: 100% 0;
	background-size: 200% 100%;
	transition: all .25s ease-in;
	font-weight: bold;
	border-radius: 0px;
	cursor: pointer;
}

.btn-default:hover {
	text-decoration: none;
	background-position: 0 0;
	color: #fff;
}

.btn-default[disabled], .btn-default:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.btn-default[disabled]:hover {
	background-position: 100% 0;
}

.poplatek, .castka {
	font-weight: bold;
}

.date .form-control {
	padding-right: 0px;
}

.buttonWrapper {
	margin-bottom: 10px;
}

/* ----------------- */
/* Hlavička, patička */
/* ----------------- */
.hlavicka {
	background-color: #ECF2F7;
	padding: 15px 20px;
}

.hlavicka__obsah {
	max-width: 1210px;
	height: 60px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 10px;
	align-items: center;
}

.hlavicka__mesto {
	display: flex;
	align-items: center;
}

.hlavicka__mesto-link {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 27px;
	text-transform: uppercase;
	text-decoration: none;
	color: #C10000;
	padding-left: 12px;
}

.hlavicka__mesto-link:hover {
	color: #C10000;
}

.hlavicka__mesto-link img {
	height: 43px;
	width: 35px;
}

.hlavicka__nadpis {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 24px;
	color: #2B4F86;
	padding-left: 25px;
	text-decoration: none;
	cursor: pointer;
}

.hlavicka__nadpis:hover, .hlavicka__nadpis:visited, .hlavicka__nadpis:active,
	.hlavicka__nadpis:focus {
	color: #2B4F86;
	text-decoration: none;
}

.hlavicka__nadpis img {
	height: 32px;
}

.hlavicka__nadpis svg {
	height: 53px;
	width: 65px;
	color: #c10000;
}

.hlavicka__jazyky {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
	padding-right: 5px;
}

.hlavicka__jazyk-button {
	height: 22px;
	width: 32px;
}

.hlavicka__jazyk-button img {
	height: 100%;
}

.hlavicka__jazyk-button-selected img {
	border-radius: 1px;
	outline: 2px solid #2b4f86;
}

.hlavicka__jazyk-button img:hover {
	outline: 2px solid #7f8faf;
	border-radius: 1px;
}

.hlavicka__jazyk-button-selected:hover img {
	outline: 2px solid #2b4f86;
	border-radius: 1px;
}

.hlavicka__menu-container {
	display: none;
	justify-content: flex-end;
	align-items: center;
}

/* Menu tlačítko v hlavičce zobrazující se při malé šířce obrazovky */
.hamburger-menu-button {
	background-color: transparent;
	border: none;
	width: 40px;
	height: 40px;
	position: relative;
	cursor: pointer;
}

.hamburger-menu-button__icon {
	display: block;
	width: 100%;
	height: 4px;
	background-color: #2B4F86;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: background-color .2s;
}

.hamburger-menu-button__icon::before, .hamburger-menu-button__icon::after
	{
	content: "";
	width: 100%;
	height: 4px;
	position: absolute;
	left: 0;
	top: 0;
	transition: transform .2s;
	background-color: #2B4F86;
}

.hamburger-menu-button__icon::before {
	transform: translateY(-10px);
}

.hamburger-menu-button__icon::after {
	transform: translateY(10px);
}

/* Menu zobrazované pomocí tlačítka v hlavičce */
.header-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2000;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .2);
}

.header-menu__container {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	background-color: #ECF2F7;
	padding: 50px 10px 10px;
}

.header-menu__close-button {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: none;
	padding: 0;
}

.header-menu__item {
	display: flex;
	align-items: center;
	gap: 14px;
	width: fit-content;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	color: #2B4F86;
}

.header-menu__item svg {
	width: 18px;
	height: 18px;
	color: #7F8FAF;
	fill: #7F8FAF;
}

.header-menu--opened {
	display: block;
}

/* Horní menu (starý styl - možná již nepoužíváno?) */
.horniMenu {
	clear: both;
	font-size: 14px;
	padding-bottom: 20px;
	border-bottom: 4px solid rgb(247, 248, 248);
}

.menuItemSelected {
	border-bottom: 6px solid white;
}

.horniMenu a {
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 21px;
}

.horniMenu a:link, .horniMenu a:visited, .horniMenu a:hover, .horniMenu a:active
	{
	color: rgb(0, 60, 105);
}

.nadpis {
	font-family: Arial, "Lucida Grande", Verdana, sans-serif;
	font-size: 16px;
	font-weight: bold;
	padding-top: 5px;
	padding-left: 15px;
	float: left;
}

.logo {
	float: left;
	height: 100px;
	padding-left: 15px;
	padding-top: 3px;
}

.cards {
	text-align: right;
	overflow: visible;
	height: 100px;
}

/* Patička */
.paticka {
	background-color: #ECF2F7;
	padding: 20px 20px;
}

.paticka__obsah {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.paticka__navigace {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	padding-right: 20px;
}

.paticka__polozka-navigace {
	display: flex;
	align-items: center;
	gap: 14px;
	width: fit-content;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	color: #2B4F86;
}

.paticka__polozka-navigace svg {
	width: 18px;
	height: 18px;
	color: #7F8FAF;
	fill: #7F8FAF;
}

.paticka__info {
	border-left: 1px solid rgb(187, 196, 213);
	padding-left: 20px;
}

.paticka__logo {
	display: block;
	width: fit-content;
	margin-bottom: 20px;
}

.paticka__logo img {
	height: 43px;
	width: 35px;
}

.paticka__collapsible {
	display: none;
	max-width: 970px;
	margin: 0 auto;
}

.paticka__collapsible-button-content {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 16px;
	color: #2B4F86;
	text-transform: uppercase;
}

.paticka__collapsible-button-content img {
	height: 20px;
}

.paticka__collapsible .accordion-button {
	background-color: #ECF2F7;
}

.paticka__collapsible .accordion-item, .paticka__collapsible .accordion-button
	{
	border-radius: 0 !important;
}

.paticka__collapsible .accordion-item {
	border-color: #7F8FAF;
}

.paticka__collapsible .accordion-button:not(.collapsed) {
	box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0
		#7F8FAF;
}

/* Část pod patičkou */
.bottom-footer {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	padding: 10px;
}

.bottom-footer__text {
	font-size: 12px;
	color: #7F8FAF;
	margin-bottom: 0;
}

.bottom-footer__logo img {
	height: 18px;
}

/* Starý footer (možná již nepoužíváno?) */
#foot {
	background-color: rgb(247, 248, 248);
	color: rgb(0, 60, 105);
	text-align: right;
	padding: 0.750em 0 0 0;
	position: relative;
	min-height: 70px;
}

#foot #logo {
	font-size: 10px;
	top: 0em;
	position: absolute;
	right: 0;
	padding-right: 10px;
}

#footer-text {
	margin-top: 10px;
}

#foot #portal-footer2, #foot #portal-footer {
	position: relative;
}

#foot #portal-footer2 {
	margin-top: 0;
}

#foot #portal-footer2 img {
	position: absolute;
	right: 0;
	top: 3.5em;
}

.slider.slider-horizontal {
	width: 100%;
	height: 20px;
}

.jazyk {
	text-align: right;
}

.col-centered {
	float: none;
	margin-right: auto;
	margin-left: auto;
}

.lang {
	height: 32px;
}

.lang ul {
	margin-top: 0;
	margin-bottom: 0;
}

.lang ul li {
	display: inline;
	margin-top: 0;
	margin-bottom: 0;
}

/* ----------------- */
/* Rozcestník */
/* ----------------- */
.rozcestnik {
	/* width se nastavuje responsivně */
	
}

.oblast-wrapper {
	padding: 10px;
}

.oblast-wrapper a {
	text-decoration: none;
}

.rozcestnik-item {
	width: 100%;
	height: 180px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	transition: background-color 0.3s ease, color 0.3s ease, fill 0.3s ease;
	padding: 15px;
}

/* Pokud dlaždice obsahuje SVG ikonu, má pozadí */
.rozcestnik-item:has(svg) {
	background-color: #edf2f8;
}

.oblast-wrapper a:hover .rozcestnik-item:has(svg) {
	background-color: #d7e4ed;
}

.oblast-wrapper a:hover .rozcestnik-item svg {
	fill: #2b4f86;
}

.rozcestnik-item svg {
	width: 100px;
	height: 100px;
	flex-shrink: 0;
	fill: #7e8fac;
	color: #7e8fac;
	transition: fill 0.3s ease;
}

.rozcestnik-item img {
 	max-width: 100px;
	max-height: 100px;
	flex-shrink: 0;
	object-fit: contain;
}

.rozcestnik-title {
	font-size: 15px;
	color: #2b4f86;
	padding: 0 10px;
	transition: all 0.3s ease;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Podtržení textu u obrázků při hoveru */
.oblast-wrapper a:hover .rozcestnik-item:has(img) .rozcestnik-title {
	text-decoration: underline;
}

/* ----------------- */
/* Formuláře */
/* ----------------- */
.obvodyForm {
	margin-top: 15px;
}

.platby {
	margin-top: 10px;
	padding-top: 38px;
	padding-bottom: 38px;
}

.obvodyNadpis {
	margin-top: 38px;
	margin-bottom: 38px;
}

.input-form-wrapper {
	background-color: #edf2f8;
	padding: 15px;
}

.input-form-wrapper .row {
	margin: 15px;
}

.input-label {
	white-space: nowrap;
	text-align: right;
	padding-top: 6px;
	padding-bottom: 6px;
	color: #595a5b;
	font-size: 14px;
	font-weight: bold;
}

.input-group-text svg {
	height: 15px;
	width: 15px;
}

.form-control-margin {
	margin-bottom: 20px;
}

/* ----------------- */
/* Rozšířený předpis */
/* ----------------- */
.castkaRozsirenyPredpis {
	width: 115px;
	display: inline;
}

.td200RozsirenyPredpis {
	width: 200px;
	color: #2b4f86;
}

.td290RozsirenyPredpis {
	width: 295px;
}

.rozsirenyPredpis .table tbody tr td, .rozsirenyPredpis .table tbody tr th
	{
	border-top: unset;
	vertical-align: middle;
	white-space: nowrap;
}

.centered {
	text-align: center;
}

.align-right {
	text-align: right;
}

.align-left {
	text-align: left;
}

.align-vertical {
	vertical-align: middle !important;
}

.rozsirenyPredpis {
	border-top: 1px solid rgba(0, 0, 0, 0.25);
	margin-left: 16px;
	font-size: 15px;
	line-height: 19px;
	padding-bottom: 20px;
}

.rozsirenyPredpis b {
	color: #3e3f41;
}

.rozsirenyPredpisTableWrapper {
	margin-top: 0;
	margin-bottom: 0;
}

.rozsirenyPredpisTableWrapper input {
	text-align: right;
}

.rozsirenyPredpisTableWrapper .row {
	margin: 0;
	padding: 21px 39px;
	padding-right: 55px;
}

.rozpis-predpisu-title {
	padding: 35px;
	padding-left: 50px;
	font-size: 15px;
	background-color: #edf2f8;
}

.rozpis-predpisu-title-nerozuctovano {
	padding-top: 22px;
	padding-left: 10px
}

.nerozuctovaneErrorMessage {
	padding: 20px 0 20px 10px;
}

.rozpisErrorMessage {
	display: block;
	margin-top: 10px;
	color: red;
}

.tablePredpisy {
	margin-bottom: 20px;
	font-size: 14px;
}

.tablePredpisy tr th {
	color: #676969;
	font-weight: 400;
	border-bottom: 1px solid #2b4f86;
}

.tablePredpisy td {
	border-bottom: 0;
	padding-top: 14px;
	padding-bottom: 0px;
	font-size: 15px;
}

.tablePredpisy th:first-child, .tablePredpisy td:first-child,
	#zaplatit-div table th:first-child {
	padding-left: 50px;
}

.tablePredpisy th:last-child, .tablePredpisy td:last-child {
	padding-right: 70px;
}

.tableErrorMessage {
	margin-bottom: 0px;
}

.trGreyLine {
	border-top: 1px solid #eee;
}

.pageErrorMessage {
	color: red;
	margin-top: 10px;
}

.chci-uhradit-row {
	background-color: #E7EEF4;
	padding: 0 !important;
	padding-right: 55px !important;
	border-bottom: 1px solid #bfbfbf;
}

.chci-uhradit-row .align-right {
	padding: 12px 0;
}

.chci-uhradit-label {
	padding: 20px 50px;
}

.chci-uhradit-row td:first-child, .uhradit-row td:first-child {
	color: #2b4f86;
}

.chci-uhradit-row td:last-child, .uhradit-row td:last-child,
	#zaplatit-div table th:last-child {
	padding-right: .8rem;
}

/* ----------------- */
/* Zaplacení */
/* ----------------- */
#zaplatit-div {
	margin-left: 16px;
}

#zaplatit-div .row {
	padding: 0 0 0 50px;
	align-items: center;
	display: flex; /* PŘIDEJTE */
}

#zaplatit-div .zaplatit-div-castka-wrapper {
	display: flex;
	justify-content: flex-end; /* Zarovná obsah uvnitř wrapperu doprava */
}


.zaplatit-div-label {
	padding: 15px 0;
	font-size: 15px;
}

.zaplatit-div-buttons {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	flex-direction: row; /* PŘIDEJTE tento řádek */
}

.zaplatit-div-castka {
	padding: 17px 30px;
	font-size: 15px;
	color: #c41c1c;
}

.zobrazit-zaplaceni-wrapper {
	padding: 9px;
	padding-left: 27px;
}

.zobrazit-qr-button-wrapper {
	padding: 9px;
}

.zobrazit-zaplaceni-wrapper input {
	background-color: #2b4f86;
}

.zaplaceni-panel {
	background-color: #E7EEF4;
	border: none;
	border-top: 1px solid #2B4F86;
	border-bottom: 1px solid #2B4F86;
	display: none;
	margin-left: 16px;
	padding: 22px 31px;
	font-size: 15px;
}

.zaplaceni-panel__text {
	color: #676969;
	margin-bottom: 15px;
}

.zaplaceni-panel__nadpis {
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 15px;
}

.zaplaceni-panel__row {
	margin-bottom: 15px;
}

.zaplaceni-panel__input {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #676969;
}

.zaplaceni-panel__input label {
	font-weight: normal;
}

.zaplaceni-panel__buttons {
	display: flex;
	align-items: flex-end;
	gap: 15px;
}

/* Tablet - tlačítka zarovnat doprava */
@media screen and (max-width: 991px) {
	.zaplaceni-panel__buttons {
		justify-content: flex-end;
		margin-top: 15px;
	}
}

/* Mobil - tlačítka 50/50 */
@media screen and (max-width: 767px) {
	.zaplaceni-panel__buttons {
		gap: 10px;
	}
	.zaplaceni-panel__buttons .btn-back, .zaplaceni-panel__buttons .btn-cards
		{
		flex: 1;
	}
	.chci-uhradit-row {
		padding-left: 40px !important;
		padding-right: 45px !important;
		padding-bottom: 15px !important;
	}
	.chci-uhradit-row .chci-uhradit-label {
		padding: 15px 15px 10px 15px;
		margin-bottom: 0;
	}
	.chci-uhradit-row .zaplatit-div-buttons {
		flex-direction: column;
	}

	/* Změna pořadí - input první, QR tlačítko druhé */
	.chci-uhradit-row .castka-input-wrapper {
		order: 1;
		width: 100%;
	}
	.chci-uhradit-row .qr-button-wrapper {
		order: 2;
		width: 100%;
		margin-top: 10px;
	}
	.chci-uhradit-row .zaplatit-div-buttons input, .chci-uhradit-row .zaplatit-div-buttons .btn-qr
		{
		width: 100%;
	}
	.chci-uhradit-row .align-right {
		padding: 0;
	}

	/* Responsivita pro zaplatit-div */
	#zaplatit-div .row {
		padding: 15px 15px 5px 15px;
	}
	#zaplatit-div .zaplatit-div-label {
		padding: 0;
		display: flex;
		align-items: center;
	}
	#zaplatit-div .zaplatit-div-castka-wrapper {
		padding-left: 5px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	#zaplatit-div .zaplatit-div-buttons-wrapper {
		padding: 10px 0 10px 0;
	}
	#zaplatit-div .zaplatit-div-buttons {
		flex-direction: column;
		justify-content: flex-start;
		gap: 10px;
	}
	#zaplatit-div .zaplatit-div-buttons .btn-qr, #zaplatit-div .zaplatit-div-buttons .btn-primary
		{
		width: 100%;
	}
}

.kZaplaceniFormWrapper {
	/* 	margin-left: 16px; */
	font-size: 15px;
	line-height: 19px;
	padding-bottom: 3px;
}

.variabilni-symbol-wrapper {
	padding: 16px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.25);
	border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.vice-osob-wrapper {
	padding-top: 10px;
}

#vypocitany-poplatek-wrapper {
	padding: 15px 0;
}

#vypocitany-poplatek-wrapper div:last-child {
	text-align: left;
}

.castecna-platba-wrapper {
	padding: 16px 0;
}

.castka-wrapper {
	padding: 16px 0;
}

.castka-kclabel-wrapper {
	display: flex;
	gap: 10px;
	align-items: center;
}

.topBorderDivider {
	border-top: 1px solid rgba(0, 0, 0, 0.25);
}

/* ----------------- */
/* Tlačítka - Nový systém */
/* ----------------- */

/* Základní tlačítko */
.btn-base {
	font-size: 13px;
	padding: 8px 15px;
	font-weight: bold;
	border-radius: 0px;
	border: none;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	transition: all .25s ease-in;
	text-align: center;
	line-height: normal;
	white-space: nowrap;
	height: 35px;
}

/* Primární modré tlačítko (zobrazit platbu, vypočítat) */
.btn-primary {
	color: #fff !important;
	background-color: #2b4f86 !important;
	background-image: linear-gradient(to left, transparent, transparent 50%, #466697 50%,
		#466697);
	background-position: 100% 0;
	background-size: 200% 100%;
}

.btn-primary:hover {
	background-position: 0 0;
	color: #fff !important;
	text-decoration: none;
}

.btn-primary:active {
	background-position: 0 0;
}

.btn-primary[disabled], .btn-primary:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.btn-primary[disabled]:hover {
	background-position: 100% 0;
}

/* Zelené tlačítko (zaplatit) */
.btn-success {
	color: #fff !important;
	background-color: rgb(0, 165, 63) !important;
	background-image: linear-gradient(to left, transparent, transparent 50%, #198754 50%,
		#198754);
	background-position: 100% 0;
	background-size: 200% 100%;
}

.btn-success:hover {
	background-position: 0 0;
	color: #fff !important;
	text-decoration: none;
	-webkit-transition: all .35s ease;
	-o-transition: all .35s ease;
	transition: all .35s ease;
}

.btn-success:active {
	background-position: 0 0;
}

.btn-success[disabled], .btn-success:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.btn-success[disabled]:hover {
	background-position: 100% 0;
}

/* Tlačítko zpět */
.btn-back {
	display: inline-flex;
	align-items: center;
	justify-content: center; /* Přidáno */
	gap: 6px;
}

.btn-back svg {
	width: 10px;
	height: 10px;
	fill: #fff;
}

/* Modifikátor pro 100% šířku */
.btn-block {
	width: 100%;
	display: block;
}

/* QR tlačítko se specifickou ikonou */
.btn-qr {
	background-image: url("../img/qr-small.png"),
		linear-gradient(to left, transparent, transparent 50%, #00b347 50%,
		#00b347);
	background-position: 5px 5px, 100% 0;
	background-size: 20px 20px, 200% 100%;
	background-repeat: no-repeat, no-repeat;
	background-color: rgb(0, 165, 63) !important;
	padding-left: 30px;
	color: #fff !important;
	width: 115px;
}

.btn-qr:hover {
	background-position: 5px 5px, 0 0;
	color: #fff !important;
}

.btn-qr:active {
	background-position: 5px 5px, 0 0;
}

/* Tlačítko s ikonou karet (zaplatit) */
.btn-cards {
	background-image: url("../img/cards-small.png"),
		linear-gradient(to left, transparent, transparent 50%, #00b347 50%,
		#00b347);
	background-position: calc(50% - 25px) center, 100% 0;
	/* Změna - ikona vlevo od středu */
	background-size: 20px 20px, 200% 100%;
	background-repeat: no-repeat, no-repeat;
	background-color: rgb(0, 165, 63) !important;
	padding-left: 40px;
	padding-right: 15px;
	color: #fff !important;
	line-height: normal;
}

.btn-cards:hover {
	background-position: calc(50% - 25px) center, 0 0; /* Změna */
	color: #fff !important;
}

.btn-cards:active {
	background-position: calc(50% - 25px) center, 0 0; /* Změna */
}

/* Zastaralé třídy - zachováno pro zpětnou kompatibilitu */
.buttonZpetWrapper {
	text-align: right;
}

/* ----------------- */
/* Obchodní podmínky */
/* ----------------- */
.obchpod {
	float: left;
	margin: 15px 0 15px 60px;
}

/* ----------------- */
/* QR kód platba */
/* ----------------- */
.QRCodePlatbaInfo {
	width: 60%;
	float: left;
}

.QRCodePlatbaInfo div:nth-child(odd) {
	float: left;
	clear: both;
	width: 50%;
}

.QRCodePlatbaInfo div:nth-child(even) {
	float: left;
}

.QRCodePlatbaInfo div:nth-last-child(1), .QRCodePlatbaInfo div:nth-last-child(2)
	{
	margin-top: 50px;
}

.QRCodePlatbaButton {
	float: left;
	width: 40%;
}

.QRCodePlatbaModalContent .modal-footer {
	justify-content: flex-start;
	text-align: left !important;
	clear: both;
}

/* QR platba - close button */
.close:hover {
	background-color: transparent !important;
	opacity: 1 !important;
}

/* ----------------- */
/* Cookie */
/* ----------------- */
#cookie {
	text-align: right;
	background-color: rgb(247, 248, 248);
	color: rgb(0, 60, 105);
	margin-bottom: 1em;
	position: relative;
	padding-bottom: 5px;
	font-size: 10px;
}

.cookie-p {
	text-align: right;
	font-size: 10px;
	padding-right: 10px;
}

.cookieConsent-url, .cookieConsent-url:visited, .cookieConsent-url:active
	{
	cursor: pointer;
	color: rgb(0, 60, 105);
	text-decoration: underline !important;
}

/* ----------------- */
/* Tabulky */
/* ----------------- */
.tableSazby table {
	width: 100%;
}

.tableSazby table, .tableSazby th, .tableSazby td {
	border: 1px solid black;
	margin: 20px;
	padding: 5px;
	text-align: center;
}

.tableOsoby table {
	width: 100%;
}

.tableOsoby table, .tableOsoby th, .tableOsoby td {
	margin: 20px;
	padding: 5px;
	text-align: center;
}

.tableOsoby select {
	width: auto;
	margin: auto;
}

/* Tabulka LogViewer */
.logViewerTable .table tbody {
	border-bottom: 1px solid #2b4f86;
}

.logViewerTable .table th input {
	display: block;
	margin: 10px auto;
	text-align: center;
	width: 100%;
}

.logViewerTable .table tr th {
	font-size: 12px;
	color: #777777;
	border-bottom: 1px solid #2b4f86;
	font-weight: normal;
	padding: 10px 20px 10px 20px;
	padding-right: 10px;
	background-color: #ecf2f7;
	white-space: nowrap;
}

.logViewerTable .table tr th a svg.icon-sort {
	width: 10px;
	height: 11px;
	float: right;
	margin-top: 5px;
	fill: #7f8faf;
}

.logViewerTable .table tr td {
	font-size: 15px;
	color: #2b4f86;
	padding: 10px 20px 12px 20px;
	background-color: #f8f8f8;
	border: none;
}

.logViewerTable .table tr:nth-child(even) td {
	background-color: #fff !important;
}

.logViewerTable .table tr td:hover {
	color: #2b4f86;
}

.logViewerTable .table tr td svg {
	width: 15px;
	height: 15px;
	margin: 0 0 0 0;
	color: #2b4f86;
}

.logViewerTable .table tr td a {
	color: #2b4f86;
}

.logViewerTable .table tr td a:hover {
	text-decoration: none;
	color: #2b4f86;
}

.logViewerTable .table tr td a:hover td {
	text-decoration: none;
	color: #2b4f86;
}

#logViewerTable tr.bila-hlavicka th {
	background-color: #fff !important;
}

#log-viewer-modal-body pre {
	outline: 1px solid #ccc;
	padding: 5px;
	margin: 5px;
}

#log-viewer-modal-body .string {
	color: green;
}

#log-viewer-modal-body .number {
	color: darkorange;
}

#log-viewer-modal-body .boolean {
	color: blue;
}

#log-viewer-modal-body .null {
	color: magenta;
}

#log-viewer-modal-body .key {
	color: red;
}

/* ----------------- */
/* Toast notifikace */
/* ----------------- */
.toast-progress-bar {
	width: 100%;
	height: 3px;
	background-color: #d8f0d8;
}

.toast-progress-bar-slider {
	height: 100%;
	background-color: #91ed91;
}

.toast-progress-bar--error {
	background-color: #f0dfd8;
}

.toast-progress-bar--error .toast-progress-bar-slider {
	background-color: #e8a082;
}

.toast-progress-bar--info {
	background-color: #cfe2ff;
}

.toast-progress-bar--info .toast-progress-bar-slider {
	background-color: #9ac2fc;
}

.status-toast-body {
	text-align: left;
	display: flex;
	align-items: center;
}

.status-toast-body>svg {
	flex-shrink: 0;
	color: #5B5B5B;
	fill: #5B5B5B;
}

/* ----------------- */
/* Media queries */
/* ----------------- */
@media screen and (max-width: 576px) {
	.rozcestnik-title {
		font-size: 13px;
		padding: 0 5px;
	}
	.rozcestnik-item {
		height: 160px;
		padding: 10px;
	}
	
	/* Modal dialog - responsivní šířka */
	.modal-dialog {
		max-width: none;
		width: calc(100% - 16px);
		margin: 8px;
	}
	
	/* QR kód modal - stackování na mobilu */
	.QRCodePlatbaInfo {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}
	
	.QRCodePlatbaButton {
		width: 100%;
		float: none;
		text-align: center;
	}
	
	.QRCodePlatbaButton img {
		max-width: 100%;
		height: auto;
	}
	
	/* Informace v modalu - lepší responsivita */
	.QRCodePlatbaInfo div:nth-child(odd) {
		width: 40%;
		font-size: 13px;
	}
	
	.QRCodePlatbaInfo div:nth-child(even) {
		width: 60%;
		font-size: 13px;
	}
	
	/* Odstranění velkého marginu na malých obrazovkách */
	.QRCodePlatbaInfo div:nth-last-child(1), 
	.QRCodePlatbaInfo div:nth-last-child(2) {
		margin-top: 20px;
	}
	
	/* Modal header a footer - menší paddingy */
	.QRCodePlatbaModalContent .modal-header {
		padding: 12px 15px;
	}
	
	.QRCodePlatbaModalContent .modal-body {
		padding: 15px;
	}
	
	.QRCodePlatbaModalContent .modal-footer {
		padding: 12px 15px;
		font-size: 13px;
	}
	
	/* Nadpis v modalu - menší */
	.QRCodePlatbaModalContent .modal-title {
		font-size: 18px;
	}
	
	.QRCodePlatbaModalContent .modal-footer div {
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
}

/* Přechodové rozlišení - 576px až 768px */
@media screen and (min-width: 577px) and (max-width: 768px) {
	.modal-dialog {
		max-width: 90%;
	}
	
	.QRCodePlatbaInfo {
		width: 55%;
	}
	
	.QRCodePlatbaButton {
		width: 45%;
	}
}

@media screen and (max-width: 767px) {
	.poplatek-symboly-wrapper div, .castka-wrapper div {
		position: unset;
	}
}

@media screen and (max-width: 768px) {
	.zaplaceni-panel__buttons {
		flex-direction: column;
		align-items: stretch;
		margin-top: 15px;
	}
	.zaplaceni-panel__buttons .btn-success {
		flex: none;
	}
}

@media screen and (max-width: 850px) {
	.rozsirenyPredpis
	{
		margin-left: 0;
	}
	
	.input-form-wrapper
	{
		margin-bottom: 40px;
	}
	
	
	.hlavicka__jazyky {
		display: none;
	}
	.hlavicka__menu-container {
		display: flex;
	}
	.paticka__obsah {
		display: none;
	}
	.paticka__collapsible {
		display: block;
	}

	/* Layout uvodni-informace a input-form-wrapper */
	.platba-detail-wrapper .row>.col-md-8, .platba-detail-wrapper .row>.col-md-4
		{
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
	.platba-detail-wrapper .col-md-4 {
		padding: 0 15px !important;
		margin-top: 20px;
	}
	
	.platba-detail-wrapper .uvodni-informace
	{
		padding-right: 5px;
	}
	
	/* Responzivita hlavičky - skrytí názvu úřadu a SVG ikony karty */
	.hlavicka__mesto-link span {
		display: none;
	}
	
	.hlavicka__nadpis svg {
		display: none;
	}
	
	/* Zvétšení nadpisu stránky */
	.hlavicka__nadpis span {
		font-size: 20px;
	}
	
	/* Odstranění padding-left u hlavicka__mesto */
	.hlavicka__mesto {
		padding-left: 0;
	}
}

/* Responzivní tabulka předpisů - transformace na karty */
@media screen and (max-width: 767px) {
	/* Skrytí hlavičky tabulky (řádek s th) */
	.tablePredpisy tr:first-child {
	    display: none;
	}
	
	/* Reset table display */
	.tablePredpisy,
	.tablePredpisy tbody,
	.tablePredpisy tr,
	.tablePredpisy td {
		display: block;
		width: 100%;
	}
	
	/* Každý řádek jako karta */
	.tablePredpisy tr {
		margin-bottom: 15px;
		border: 1px solid #ddd;
		border-radius: 4px;
		background-color: #f8f9fa;
		padding: 0;
	}
	
	/* Reset paddingů z původních stylů */
	.tablePredpisy th:first-child, 
	.tablePredpisy td:first-child {
		padding-left: 15px !important;
	}
	
	.tablePredpisy th:last-child, 
	.tablePredpisy td:last-child {
		padding-right: 15px !important;
	}
	
	/* Každá buňka jako řádek s labelem */
	.tablePredpisy td {
		position: relative;
		padding: 12px 15px !important;
		border-bottom: 1px solid #eee;
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: left !important;
		white-space: normal;
	}
	
	.tablePredpisy td:last-child {
		border-bottom: none;
	}
	
	/* Přidání labelů před hodnoty pomocí data atributů */
	.tablePredpisy td:before {
		content: attr(data-label);
		font-weight: 600;
		color: #676969;
		margin-right: 10px;
		flex-shrink: 0;
	}
	
	/* Reset td width */
	.td290RozsirenyPredpis {
		width: 100% !important;
	}
	
	/* Zarovnání hodnot doprava u částek */
	.tablePredpisy td.align-right {
		text-align: right !important;
	}
	
	.tablePredpisy td.centered {
		text-align: right !important;
	}
	
	/* Úprava paddingů pro menší obrazovky */
	.rozsirenyPredpisTableWrapper .row {
		padding: 15px 20px !important;
	}
	
	.rozpis-predpisu-title,
	.rozpis-predpisu-title-nerozuctovano {
		padding: 20px !important;
		padding-left: 20px !important;
	}
}

@media screen and (max-width: 992px) {
	.appCanvas {
		width: unset;
	}
	.cards {
		display: none;
	}
	.rozcestnik {
		width: unset;
	}
	.form-control-margin {
		margin-bottom: 10px !important;
	}
	/* 	.input-group-text { */
	/* 		margin-bottom: 10px; */
	/* 	} */
	.input-group {
		margin-bottom: 10px;
	}
	#foot {
		min-height: 120px;
	}
	#foot #portal-footer2 img {
		top: 7.5em;
	}
	.kcLabel {
		padding-top: 0.5em;
	}
	.logo {
		padding-left: 10px;
	}
	.nadpis {
		position: absolute;
		top: 10px;
	}
	.obchpod {
		float: right;
		margin-top: 45px;
		margin-right: 10px;
	}
}

/* Responsivita rodne-cislo-wrapper a input-form-wrapper - pod 1200px (xl breakpoint) */
@media screen and (max-width: 1199px) {
	/* Label zarovnání doleva když je nad inputem */
	.rodne-cislo-wrapper .input-label, .input-form-wrapper .input-label,
		.castecna-platba-wrapper .input-label, .poplatek-symboly-wrapper .input-label
		{
		text-align: left !important;
		padding-bottom: 8px;
	}

	/* Tlačítko - povolit zalamování textu */
	.rodne-cislo-wrapper .btn-primary, .input-form-wrapper .btn-primary {
		white-space: normal !important;
		line-height: 1.4;
		height: auto;
		min-height: 38px;
	}
}