:root {
	--primary-color: #5c9ccc;
	--text-color: #1c1c1c;
	--bg-light: #f8f9fa;
	--bg-grey: #eeeeee;
	--font-family-base: Arial;
	--font-size-base: 14px;
	--font-size-heading: 1.3em;
	--font-size-subheading: 1.2em;
}

html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	font-family: var(--font-family-base);
	font-size: var(--font-size-base);
	color: var(--text-color);
	background: #fff;
	line-height: 19px;
	box-sizing: border-box;
}

.applicationTable,
#content,
#header form,
#menu form {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}

#content {
	padding: 15px 20px 30px;
}

.responsive-container {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
}

#header {
	background-color: var(--primary-color);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
	flex-wrap: wrap;
}

.headerTitle {
	color: white;
	font-weight: bold;
	font-size: var(--font-size-heading);
	text-shadow: 1px 1px #000;
	margin: 0;
}

.headerRight {
	display: flex;
	align-items: center;
	gap: 10px;
}

.headerRight img {
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
}

.headerRight img:hover {
	border-color: white;
}

.pageTitle {
	font-weight: bold;
	color: var(--primary-color);
	font-size: var(--font-size-subheading);
	text-shadow: 0.3px 0.3px #999;
}

.labelColumn {
	width: 45%;
	background-color: var(--bg-grey);
	line-height: 1.3em;
	vertical-align: top;
	font-size: var(--font-size-base);
	white-space: normal;
}

.ui-icon.hint {
	display: inline-block;
	vertical-align: middle;
	margin-left: 4px;
	height: 16px;
}

.valueColumn {
	width: 55%;
	background-color: white;
	vertical-align: middle;
}

.ui-panelgrid .ui-panelgrid-cell {
	padding: 0 !important;
}

tr.ui-widget-content.ui-panelgrid-even,
tr.ui-widget-content.ui-panelgrid-odd {
	background: var(--bg-grey);
}

.inputField {
	width: 200px;
}

.button {
	margin: 4px 4px 4px 0 !important;
}

#menu .ui-menu {
	padding: 5px;
	max-width: 957px;
	margin: 0 auto;
}

.ui-menu .ui-menuitem-link {
	padding: 0;
}

.ui-menu .ui-menuitem-icon-left {
	margin-right: 0;
}

.ui-menu .ui-menuitem-text {
	padding-right: 10px;
}

.ui-menu .ui-menuitem:last-child .ui-menuitem-text {
	padding-right: 0;
}

.customCaptcha {
	max-width: 100%;
	display: block;
	justify-content: center;
	align-items: center;
	padding: 5px;
	box-sizing: border-box;
}

.customCaptcha > div {
	transform: scale(1);
	transform-origin: 0 0;
}

.customCaptcha input {
	width: 100%;
	max-width: 200px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-size: 16px;
	text-align: center;
}

.ui-breadcrumb {
	padding: 0;
	list-style: none;
	display: flex;
	font-weight: normal;
}

.ui-breadcrumb li::after {
	content: " / ";
	color: #aaa;
	font-size: 18px;
	margin: 0 5px;
	vertical-align: middle;
}

.ui-breadcrumb li:last-child::after {
	content: none;
}

.breadcrumb-std li:last-child a {
	color: var(--primary-color);
}

.ui-widget-header .ui-breadcrumb-items li a {
	color: var(--text-color);
}

.fullWidth {
	width: 100%;
}

.left,
.right {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.noHeader thead th,
.ui-datatable.borderless thead th,
.ui-datatable.borderless tbody,
.ui-datatable.borderless tbody tr,
.ui-datatable.borderless tbody td {
	border: none;
	background: none;
}

.ui-outputlabel .ui-outputlabel-label {
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 100%;
}

#headerBar {
	background-color: var(--primary-color);
	padding: 8px 0;
	color: white;
	font-size: 14px;
	font-weight: bold;
	text-shadow: 1px 1px #000;
	font-family: var(--font-family-base);
	white-space: nowrap;
}

.headerContainer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.headerTitleText {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 10px;
	white-space: nowrap;
	font-weight: bold;
	color: white;
	text-shadow: 1px 1px #000;
}
.headerTitleText.ru {
	font-size: 1.2em;
}

.headerTitleText.lt {
	font-size: 1.3em;
}


.headerActions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.headerActions img {
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
}

.headerActions img:hover {
	border-color: white;
}

.fullWidth {
	width: 100% !important;
}

td.ui-panelgrid-cell.labelColumn{
	padding: 10px 4px !important;
	vertical-align: middle;
}

td.ui-panelgrid-cell.valueColumn {
	padding: 8px 3px !important;
	vertical-align: middle;
}

.hint {
	display: inline-block;
	float: right;
}

.breadcrumb-std {
	background: none;
	border: none;
	padding-bottom: 30px;
	list-style: none;
	display: flex;
	font-weight: normal;
}
.breadcrumb-std li:last-child a {
	color: #5c9ccc;
}

.ui-breadcrumb {
	margin: 0;
	overflow-x: auto;
	padding: 5px 5px 15px 5px;
}
@media (max-width: 850px) {
	#headerBar {
		font-size: 13px;
	}

}
@media (max-width: 768px) {
	.inputField { width: 150px; }
	#header{
		padding: 0;
	}
	.headerTitle { font-size: 1.15em; }
	.section-title { font-size: 1.3em; }
	.introduction-title { font-size: 1.3em }
	.section-description, .responsive-list li { font-size: 1em; }
	.link-container a { font-size: 1.2em; }
	.card { padding: 14px 16px; }
	#headerBar {
		font-size: 12px;
	}
	.headerContainer {
		flex-direction: column;
		align-items: flex-start;
		padding: 0 5px;
	}

	.headerTitleText {
		width: 100%;
		margin-bottom: 8px;
		text-align: center;
		font-size: 1.3em;
		padding: 0 2px;
		white-space: normal;
	}

	.headerActions {
		width: 100%;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 10px;
	}
	body > div[style*="z-index: 2000000000"]{
		left: 0          !important;
		right: 0          !important;
		margin: 0 auto    !important;
		transform-origin:0 0;
		max-width: max-content;
	}
}

@media (max-width: 690px) {
	.inputField { width: 120px; }
	#headerBar {
		font-size: 11px;
	}
}
@media (max-width: 540px) {
	.inputField { width: 100px; }
}

@media (max-width: 450px) {
	.inputField { width: 90px; }
	.breadcrumb-std {
		font-size: 0.95em;
	}
}

@media (max-width: 400px) {
	.inputField { width: 80px; }
	.breadcrumb-std {
		font-size: 0.92em;
	}
	body > div[style*="z-index: 2000000000"]{
		right: -20%          !important;
		transform: scale(0.85) translateX(0) !important;
	}

}
@media (max-width: 340px) {
	body > div[style*="z-index: 2000000000"]{
		transform: scale(0.80) translateX(0) !important;
	}

}

.labelReq:after {
	content: "*";
	color: black !important;
}

.ui-outputlabel-rfi {
	display: none;
}

.show-required .ui-outputlabel-rfi,
.ui-outputlabel-rfi.show-required {
	display: inline;
}

.big-icon {
	transform: scale(1.5);
	transform-origin: center;
}

.biometric-red{
	color: red;
	font-weight: bold;
}


.line-break {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	clear: both;
	flex-basis: 100%;
}

.card {
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	padding: 18px 20px;
	margin: 18px 0;
	box-shadow: 0 1px 2px rgba(0,0,0,.03);
}
.intro-card {
	background: var(--bg-light);
	border-left: 6px solid var(--primary-color);
}
.introduction-title {
	font-size: 1.35em;
	line-height: 1.6;
	text-align: justify;
	margin: 0;
}

.section-title {
	font-size: 1.4em;
	font-weight: bold;
	margin: 0 0 8px;
	padding-left: 0 !important;
	position: static;
}
.section-title::before {
	content: none !important;
}
.section-description {
	margin: 0 0 12px;
	color: #404040;
	line-height: 1.6;
	font-weight: normal;
	text-align: justify;
}

.responsive-list {
	padding-left: 0;
	margin: 0;
	list-style: none;
}
.responsive-list li {
	margin: 6px 0;
	line-height: 1.55;
}

.link-container br {
	display: none;
}
.link-container a {
	display: inline-block;
	padding: 6px 10px;
	margin: 6px 0;
	border: 1px solid transparent;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.45;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.link-container a:hover {
	background: #eef6ff;
	border-color: #d6e9ff;
}

.link-container a:focus-visible {
	outline: 3px solid var(--primary-color);
	outline-offset: 2px;
}

.link-container a[target="_blank"]::after{
	content: "↗";
	font-size: .9em;
	margin-left: 4px;
	opacity: .85;
}

.link-container {
	display: flex;
	flex-direction: column;
}
.link-container br {
	display: none;
}
.responsive-list a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0px;
	border-radius: 6px;
	color: var(--text-color);
	text-decoration: none;
	font-weight: 600;
}
.responsive-list a:hover{
	background: #eef6ff;
	text-decoration: none;
}
.responsive-list a:focus-visible{
	outline: 3px solid var(--primary-color);
	outline-offset: 2px;
}
.responsive-list a[target="_blank"]::after{
	content: "↗";
	font-size: .9em;
	margin-left: 2px;
	opacity: .8;
}

.technical-list {
	list-style: disc;
	padding-left: 20px;
	margin: 0;
}

.technical-list li {
	margin: 6px 0;
	line-height: 1.55;
}

@media (max-width: 425px) {

	.ui-selectonemenu {
		width: 100% !important;
		max-width: 265px !important;
		box-sizing: border-box !important;
		min-width: unset !important;
	}

	.ui-selectonemenu-label {
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		display: block !important;
	}

	.ui-selectonemenu-panel {
		min-width: 0 !important;
		width: auto !important;
		max-width: 100% !important;
	}
	.valueColumn{
		max-width: 230px !important;
	}
	.customCaptcha {
		overflow: hidden !important;
		width: 100% !important;
		padding: 0 !important;
	}

	.customCaptcha > div {
		transform: scale(0.82) !important;
		transform-origin: 0 0 !important;
		width: 100% !important;
		height: auto !important;
	}

	.customCaptcha iframe {
		transform: scale(0.82) !important;
		transform-origin: 0 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}

.ui-messages,
.ui-messages-info,
.ui-messages-warn,
.ui-messages-error,
.ui-message-info,
.ui-message-warn,
.ui-message-error {
	font-family: "Roboto", "Arial", sans-serif !important;
}

.ui-picker-up,
.ui-picker-down {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.ui-picker-up .ui-icon,
.ui-picker-down .ui-icon {
	display: none !important;
}

.ui-picker-up:before {
	content: "▲";
	font-size: 16px;
	color: #333;
}

.ui-picker-down:before {
	content: "▼";
	font-size: 16px;
	color: #333;
}

.ui-picker-up:hover:before,
.ui-picker-down:hover:before {
	color: #000;
}

.ui-datepicker-prev,
.ui-datepicker-next {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	padding: 0 6px !important;
	cursor: pointer !important;
}

.ui-datepicker-prev .ui-icon,
.ui-datepicker-next .ui-icon {
	display: none !important;
}

.ui-datepicker-prev:before {
	content: "←";
	font-size: 20px;
	color: #333;
}

.ui-datepicker-next:before {
	content: "→";
	font-size: 20px;
	color: #333;
}

.ui-datepicker-prev:hover:before,
.ui-datepicker-next:hover:before {
	color: #000;
}

.labelHintArea {
	display: flex;
	align-items: center;
	width: 100%;
	cursor: help;
}

.labelHintArea .hint {
	margin-left: auto;
}

.ui-tooltip, .ui-tooltip-content.ui-widget-content {
	background-color: white !important;
	background-image: none !important;
}
.ui-tooltip .ui-tooltip-text {
	color:black !important;
	background-color: white !important;
}

.ui-icon.ui-icon-notice.hint {
	transform: scale(1.5);
}

.longTextHintTooltip {
	max-width: 320px;
}

.longTextHintTooltip .ui-tooltip-text {
	white-space: pre-line !important;
	word-wrap: break-word;
	word-break: break-word;

	line-height: 1.5;
	font-size: 13px;
	padding: 10px 12px;
}

.ui-icon.ui-icon-notice.hint,
.ui-widget-header .ui-icon.ui-icon-notice.hint,
.ui-widget-content .ui-icon.ui-icon-notice.hint,
.ui-state-default .ui-icon.ui-icon-notice.hint,
.ui-state-hover .ui-icon.ui-icon-notice.hint,
.ui-state-active .ui-icon.ui-icon-notice.hint {
	background-image: url("/std-external/jakarta.faces.resource/ui-icons_red.png.xhtml?ln=images") !important;
}

.uppercase {
	text-transform: uppercase;
}

@media (max-width: 768px) {

	.labelWithIcon {
		position: relative;
		display: block;
		padding-right: 24px;
	}

	.labelWithIcon .ui-icon {
		position: absolute;
		bottom: 0;
		right: 0;
	}

}
.textareaFull {
	width: 100%;
	box-sizing: border-box;
	resize: vertical;
}