@import url('https://fonts.googleapis.com/css?family=Work+Sans:400,700,900');
:root {
  --yellow: 		#ffe700;
  --darkyellow: 	#DABE0B;
  --lightyellow: 	#FFFCE5;
  --label-color: 	#aaaaaa;
  --lightred: 		#ffd6d4;
  --red: 			#DA2032;
  --darkred: 		#A31825;
  --lightgreen: 	#dbffcd;
  --green: 			#0a8a19;
  --darkgreen:		#376328;
  --lightgrey: 		#f8f8f8;
  --grey: 			#ececec;
  --darkgrey: 		#777777;
  --darkergrey: 	#444444;
  --greyline: 		rgba(128,128,128,.2);
  
  --scrollbar-size: .5rem;
  --scrollbar-minlength: 1.5rem;
  --scrollbar-ff-width: thin;
  --scrollbar-track-color: transparent;
  --scrollbar-color: rgba(0,0,0,.2);
  --scrollbar-color-hover: rgba(0,0,0,.3);
  --scrollbar-color-active: #ffe700;
}
::-webkit-inner-spin-button { display: none }
::-webkit-clear-button { display: none }
::-webkit-calendar-picker-indicator { color: transparent; background-color: transparent }

body::-webkit-scrollbar {
  height: var(--scrollbar-size);
  width: var(--scrollbar-size);
}
body::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track-color);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-color);
  border-radius: 3px;
}
body::-webkit-scrollbar-thumb:hover {
  background-color: var(--scrollbar-color-hover);
}
body::-webkit-scrollbar-thumb:active {
  background-color: var(--scrollbar-color-active);
}
body::-webkit-scrollbar-thumb:vertical {
  min-height: var(--scrollbar-minlength);
}
body::-webkit-scrollbar-thumb:horizontal {
  min-width: var(--scrollbar-minlength);
}

html {
	scroll-behavior: smooth;
}
html, body {
	height: 100%;
	background-color: var(--grey);
}
html * {
	/* Most basic CSS reset */
	margin: 0;
	padding: 0;
	font: inherit;
	box-sizing: border-box; /* All elements need to be rendered in the new box-model */
	outline:none;
	box-shadow: none;
	color: inherit;
}
body {
	font:  400 15px/1.3 'Work Sans', Verdana, sans-serif;
	overflow-x: hidden;
	overflow-y: overlay;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	scrollbar-width: var(--scrollbar-ff-width);
	scrollbar-color: var(--scrollbar-color) var(--scrollbar-track-color);
}
strong {
	font-weight: 700;
}
.link {
	color: #0071bb;
}
.link:hover,
.link:active,
.link:focus {
	color: #0071bb;
	text-decoration-skip: ink;
	text-decoration: underline;
}
[href] {
	transition: background .2s;
	text-decoration: none;
}
input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
	outline: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
}
select option[disabled] {
	display: none;
}
img, svg {
	vertical-align: bottom;
}
.line {
	column-span: all;
	border: none;
	outline: none;
	height: 1px;
	background-color: var(--greyline);
	margin: 1rem 0;
	
}
/*** ICONS ***/
.icon--green { color: var(--green) }
.icon--red { color: var(--red) }
.icon::before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: var(--icon);
}
.icon--person 	{ --icon: '\f007'; }
.icon--relations{ --icon: '\f0c0'; }
.icon--consents { --icon: '\f2b5'; }
.icon--services	{ --icon: '\f0ad'; }
.icon--car		{ --icon: '\f1b9'; }
.icon--consent	{ --icon: '\f14a'; }
.icon--search	{ --icon: '\f002'; }
.icon--info		{ --icon: '\f05a'; }
.icon--more		{ --icon: '\f142'; }
.icon--mail		{ --icon: '\f1fa'; }
.icon--sport	{ --icon: '\f45f'; }
.icon--bag		{ --icon: '\f290'; }
.icon--print	{ --icon: '\f02f'; }
.icon--taxi		{ --icon: '\f1ba'; }
.icon--cat		{ --icon: '\f5fd'; }
.icon--fuel		{ --icon: '\f52f'; }
.icon--key		{ --icon: '\f084'; }
.icon--umbrella	{ --icon: '\f0e9'; }
.icon--globe	{ --icon: '\f57c'; }
.icon--phone	{ --icon: '\f879'; }
.icon--envelope	{ --icon: '\f658'; }
.icon--pencil	{ --icon: '\f573'; }
.icon--plus		{ --icon: '\f067'; }
.icon--calendar	{ --icon: '\f073'; }
.icon--comment	{ --icon: '\f075'; }
.icon--close	{ --icon: '\f00d'; }
.icon--dropdown	{ --icon: '\f078'; }
.icon--detail	{ --icon: '\f054'; }
.icon--nav		{ --icon: '\f0c9'; }
.icon--filter	{ --icon: '\f0b0'; }
.icon--share	{ --icon: '\f064'; }
.icon--plug		{ --icon: '\f1e6'; }
.icon--statistic{ --icon: '\f200'; }
.icon--settings	{ --icon: '\f205'; }
.icon--triplog	{ --icon: '\f682'; }
.icon--driver	{ --icon: '\f007'; }
.icon--check	{ --icon: '\f00c'; }
.icon--sccom	{ --icon: '\f058'; }
.icon--scinc	{ --icon: '\f057'; }
.icon--history	{ --icon: '\f1da'; }
.icon--delete	{ --icon: '\f2ed'; }
.icon--list		{ --icon: '\f0ae'; }
.icon--bell 	{ --icon: '\f0f3'; }
.icon--cellphone{ --icon: '\f3fa'; }
.icon--qrcode	{ --icon: '\f029'; }
.icon--paragraph{ --icon: '\00a7'; }
.icon--data		{ --icon: '\f381'; }


/*** FORMS ***/
.btn {
	display: inline-block;
	flex: 0 0 auto;
	vertical-align: bottom;
	background-color: var(--yellow);
	transition: background 0.2s;
 	font-weight: normal;
 	cursor: pointer;
	padding: 0 8px;
	line-height: 30px;
	min-width: 30px;
 	text-align: center;
	overflow: hidden;
 	white-space: nowrap;
	text-overflow: ellipsis;
	border-radius: 5px;
}
.btn:hover,
.btn:active,
.btn:focus {
	background-color: var(--darkyellow);
}
.btn[disabled],
.btn[disabled]:hover {
	background-color: #e6e6e6;
	color: #999;
}
.btn--big {
	line-height: 40px;
	min-width: 40px;
	padding: 0 12px;
}
.btn--green {
	background-color: var(--green);
	color: #fff;
}
.btn--green:hover,
.btn--green:active,
.btn--green:focus {
	background-color: var(--darkgreen);
}
.btn--red {
	background-color: var(--red);
	color: #fff;
}
.btn--red:hover,
.btn--red:active,
.btn--red:focus {
	background-color: var(--darkred);
}
.btn--white {
	background-color: #fff;
}
.btn--white:hover,
.btn--white:active,
.btn--white:focus {
	background-color: var(--grey);
}

.search__line {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
	margin-bottom: 1.5rem;
}
.search__input {
	flex: 1 1 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background-color: #fff;
	margin: 3px;
	padding: 0 3px;
	border: 1px solid #ccc;
	height: 30px;
	line-height: 30px;
}
.search__input:focus {
	border-color: #5cb3fd;
}
.search__btn {
	flex: 0 0 auto;
	margin: 3px;
}
.form {
	border: 1px solid transparent;
	border-radius: 5px;
	transition: border-color .2s, background-color .2s;
}
.form + .form {
	margin-top: -5px;
}
.form:focus-within {
	border-color: var(--green);
	background-color: var(--lightgreen);
}
.form:focus-within:invalid {
	border-color: var(--red);
	background-color: var(--lightred);
}
.form:focus-within .form__label {
	color: var(--darkgreen);
}
.form:focus-within:invalid .form__label {
	color: var(--darkred);
}
.form:focus-within .form__input {
	border-color: rgba(0,0,0,.2);
	background-color: #fff;
	cursor: initial;
}
.form:not(:focus-within) [aria-hidden="true"],
.form:focus-within [aria-hidden="false"] {
	display: none;
}
.form:invalid [type="submit"] {
	pointer-events: none;
	background-color: #e6e6e6;
	color: #999;
}
.form__line {
	display: flex;
	break-inside: avoid-column;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
	padding: 1px;
}
.form__line > * {
	margin: 3px;
}
.form__label {
	color: var(--label-color);
	transition: color .2s;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	flex: 0 0 20%;
	min-width: 100px;
	max-width: 180px;
}
.form__value {
	position: relative;
	line-height: 30px;
	flex: 1 1 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.form__value--inset {
	padding: 0 4px;
}
.form__value--long {
	flex: 1 1 300%;
}
.form__input {
	cursor: default;
	height: 30px;
	width: 100%;
	padding: 0 3px;
	border: 1px solid transparent;
	transition: border-color .2s, background-color .2s;
}
.form__input::-webkit-date-and-time-value {
	text-align: left;
}
.form__input::placeholder {
	color: #000
}
.form__input:hover {
	background-color: var(--greyline);
}
.form__input:invalid {
	background-color: var(--lightred);
}
.form__input:focus {
	border-color: #5cb3fd!important;
}
.form__input--select {
	line-height: 28px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="6"><polyline points="0 0 5 5 10 0" stroke="%23aaa" fill="transparent" stroke-linecap="round" stroke-width="1.5" /></svg>');
	background-repeat: no-repeat;
	background-position: calc(100% - 5px) 50%;
}
.form__input--date {
	line-height: 28px;
	position: relative;
}
.form__input--date:focus::after {
	pointer-events: none;
	position: absolute;
	right: 5px;
	font-style: normal;
	font-variant: normal;
	font-family: 'Font Awesome 5 Free';
	content: '\f073';
	color: #aaa;
}
.form__input--textarea {
	line-height: 1.2;
	height: auto;
}
.form__input--check {
	width: 30px;
	text-align: center;
	border: 1px solid var(--grey);
}
.form__input--check,
.form__input--check:hover {
	background-color: #fff;
}
.form__input--check::after {
	content:'\f00d';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #fff;
}
.form__input--check:checked::after {
	content: '\f00c';
	color: var(--green);
}

/*** DIALOG ***/
.dialog {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: -1;
	opacity: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 20px;
	background-color: rgba(0,0,0,.5);
	transition:
		opacity .2s .2s,
		z-index 0s .4s;
}
.dialog:focus-within {
	z-index: 2;
	opacity: 1;
	transition: opacity .2s;
}
.dialog__modal {
	background-color: #fff;
	padding: 1rem;
	max-width: 100%;
	box-shadow: 5px 5px 30px rgba(0,0,0,.5);
	border: 1px solid var(--darkgrey);
	margin-top: 3%;
	transition: margin-top .3s ease-out;
}
.dialog:focus-within .dialog__modal {
	margin-top: 0px;
}
.dialog:focus-within  .form__label {
	color: var(--label-color);
}
.dialog .form__input:invalid {
	background-color: var(--lightred);
}
.dialog__buttons {
	display: flex;
	margin-top: .5rem;
	justify-content: center;
	align-items: center;
}
.dialog__buttons > * {
	margin: 3px;
}

/*** HEADER ***/
.sticky {
	position: sticky;
	z-index:1;
	top: 0;
}
.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 30px;
	padding: 0 10px;
	background-color: var(--yellow);
}
.header__logo {
	font-weight: 900;
}
.header__itemlist {
	font-size: 0.8rem;
	list-style-type: none;
}
.header__item {
	display: inline-block;
}
.header__link {
	display: block;
	padding: 0 10px;
	min-width: 30px;
	text-align: center;
}
.header__link:hover,
.header__link:active,
.header__link:focus {
	background-color: var(--darkyellow);
}

/*** BASICS ***/
.basics {
	background-color: #fff;
	top: 30px;
	list-style-type: none;
	line-height: 35px;
	padding: 5px 10px;
	border-bottom: 1px solid var(--grey);
	white-space: nowrap;
	overflow: hidden;
}
.basics__item {
	display: inline-block;
	height: 30px;
	line-height: 30px;
	vertical-align: middle;
}
.basics__label {
	white-space: nowrap;
	overflow: hidden;
	background-color: var(--darkgrey);
	color: white;
	border-radius: 3px;
	padding: 0 10px;
}
.basics__cknr {
	font-size:1.1rem;
	font-weight: 700;
	margin-right: 2%;
}
.basics__label--green {
	background-color: var(--green);
}
.basics__label--red {
	background-color: var(--red);
}


/*** MAIN & NAV ***/
.container {
	display: contents;
}
.main {
	display: grid;
	grid-template-columns: 70px calc(100% - 70px);
}
#detailcontainer .main { min-height: calc(100% - 202px) }
#searchcontainer .main { min-height: calc(100% - 30px) }

.container[hidden],
.main[hidden] {
	display: none;
}
.content {
	padding: 1.5rem;
}

.nav__side {
	background-color: var(--darkgrey);
}
.nav__itemlist {
	position: sticky;
	top:70px;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	list-style-type: none;
	overflow: hidden;
}
.nav__item {
	display: inline-block;
	flex: 1 1 10%;
	min-width: 60px;
}
.nav__link {
	cursor: pointer;
	display: block;
	line-height: 60px;
	height: 60px;
	font-size: 2rem;
	text-align: center;
	box-shadow: 1px 1px 1px rgba(0,0,0,.1);
	text-shadow: 1px 1px 5px rgba(0,0,0,.3);
	color: var(--grey);
	transition: color .2s, background-color .3s;
}
.nav__link:hover,
.nav__link:active {
	background-color: var(--darkergrey);
	box-shadow: none;
	text-shadow: none;
}

/*** NAV CONROL ***/

input#dtl_per:checked ~ nav [for="dtl_per"],
input#dtl_bez:checked ~ nav [for="dtl_bez"],
input#dtl_ein:checked ~ nav [for="dtl_ein"],
input#dtl_lei:checked ~ nav [for="dtl_lei"],
input#dtl_kfz:checked ~ nav [for="dtl_kfz"],
input#dtl_ges:checked ~ nav [for="dtl_ges"],
input#dtl_kor:checked ~ nav [for="dtl_kor"],
input#dtl_reg:checked ~ nav [for="dtl_reg"],
input#dtl_ver:checked ~ nav [for="dtl_ver"],
input#dtl_sch:checked ~ nav [for="dtl_sch"],
input#src_per:checked ~ nav [for="src_per"],
input#src_kfz:checked ~ nav [for="src_kfz"],
input#src_reg:checked ~ nav [for="src_reg"],
input#src_ver:checked ~ nav [for="src_ver"],
input#src_sch:checked ~ nav [for="src_sch"],
input#per_mgs:checked ~ nav [for="per_mgs"],
input#per_tex:checked ~ nav [for="per_tex"],
input#per_mer:checked ~ nav [for="per_mer"],
input#per_sol:checked ~ nav [for="per_sol"],
input#per_wer:checked ~ nav [for="per_wer"],
input#per_dok:checked ~ nav [for="per_dok"],
input#kor_att:checked ~ nav [for="kor_att"],
input#kor_tex:checked ~ nav [for="kor_tex"],
input#kor_pos:checked ~ nav [for="kor_pos"],
input#kor_sol:checked ~ nav [for="kor_sol"],
input#kor_ema:checked ~ nav [for="kor_ema"],
input#kor_bri:checked ~ nav [for="kor_bri"],
input#lei_abg:checked ~ nav [for="lei_abg"],
input#lei_off:checked ~ nav [for="lei_off"] {
	background-color: var(--yellow);
	text-shadow: none;
	color: #000;
}
input#dtl_per:checked ~ #sec_dtl_per,
input#dtl_bez:checked ~ #sec_dtl_bez,
input#dtl_ein:checked ~ #sec_dtl_ein,
input#dtl_lei:checked ~ #sec_dtl_lei,
input#dtl_kfz:checked ~ #sec_dtl_kfz,
input#dtl_ges:checked ~ #sec_dtl_ges,
input#dtl_kor:checked ~ #sec_dtl_kor,
input#dtl_reg:checked ~ #sec_dtl_reg,
input#dtl_ver:checked ~ #sec_dtl_ver,
input#dtl_sch:checked ~ #sec_dtl_sch,
input#src_per:checked ~ #sec_src_per,
input#src_kfz:checked ~ #sec_src_kfz,
input#src_reg:checked ~ #sec_src_reg,
input#src_ver:checked ~ #sec_src_ver,
input#src_sch:checked ~ #sec_src_sch,
input#per_mgs:checked ~ #sec_per_mgs,
input#per_tex:checked ~ #sec_per_tex,
input#per_mer:checked ~ #sec_per_mer,
input#per_sol:checked ~ #sec_per_sol,
input#per_wer:checked ~ #sec_per_wer,
input#per_dok:checked ~ #sec_per_dok,
input#kor_att:checked ~ #sec_kor_att,
input#kor_tex:checked ~ #sec_kor_tex,
input#kor_pos:checked ~ #sec_kor_pos,
input#kor_sol:checked ~ #sec_kor_sol,
input#kor_ema:checked ~ #sec_kor_ema,
input#kor_bri:checked ~ #sec_kor_bri,
input#lei_abg:checked ~ #sec_lei_abg,
input#lei_off:checked ~ #sec_lei_off {
	display: block;
}

/*** CONTENTS ***/
.actions {
	column-span: all;
	display: flex;
	align-items: center;
	margin-bottom: 0.8rem;
}
.actions > * {
	margin: 3px;
}
.actions__headline {
	white-space: nowrap;
	font-weight: 700;
	flex-grow: 1;
}
.actions__search {
	position: relative;
	display: inline-block;
	white-space: nowrap;
}
.actions__searchbutton {
	position: absolute;
	right: 0;
	border-radius: 0 4px 4px 0;
}
.actions__searchfield {
	height: 40px;
	line-height: 40px;
	width: calc(100% - 10px);
	background-color: #fff;
	padding-left: 5px;
}

/*** TABNAVI ***/
.tabnav__itemlist {
	display: flex;
	list-style-type: none;
	margin-bottom: 1.5rem;
}
.tabnav__item {
	display: inline-block;
	flex: 1 0 auto;
}
.tabnav__link {
	cursor: pointer;
	display: block;
	text-align: center;
	line-height: 50px;
	background-color: #fff;
	text-transform: uppercase;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	border-left: 1px solid var(--grey);
}
.tabnav__link:hover,
.tabnav__link:active {
	background-color: var(--lightyellow);
}


/*** MAINTABLE ***/
.table {
	margin-bottom: 1.5rem;
}
.table__row {
	display:flex;
	align-items: center;
	justify-content: space-between;
}
.table__row--body {
	height: 36px;
	background-color: #f5f5f5;
}
.table__row--body:nth-child(odd) {
	background-color: #fff;
}
.table__row--body[href]:hover {
	cursor: pointer;
	background-color: var(--lightyellow);
}
.table__row--active[href]:nth-child(n) {
	background-color: var(--yellow)!important;
}
.table__cell {
	position: relative;
	padding: 5px 10px;
	flex: 1;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.table__cell[data-width="1"] { flex: 1 }
.table__cell[data-width="2"] { flex: 2 }
.table__cell[data-width="3"] { flex: 3 }

.table__cell--sc {
	text-align: center;
	flex: 0 0 50px;
	text-overflow: clip;
}
.table__cell--header {
	font-size: 0.7rem;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--darkgrey);
}
.table__cell--sort:hover,
.table__cell--sort:active,
.table__cell--sort:focus {
	background-color: var(--darkergrey);
	cursor: pointer;
}
.table__cell--sort:hover::after,
.table__cell--sort:active::after,
.table__cell--sort:focus::after {
	position: absolute;
	right: 10px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f107';
}

/*** Panel ***/
.panel {
	background-color: #fff;
}
.panel + .panel {
	margin-top: 1rem
}
.panel[hidden]:target {
	display: block;
}
.panel--editable {
	border-radius: 5px;
	background-color: var(--lightyellow);
}
.panel__padding {
	padding: .5rem;
}
.panel__cols {
	column-gap: 2rem;
	column-rule: 1px solid var(--greyline);
	column-count: 2;
}
.panel__letter {
	float: left;
}
.panel__unit {
	color: var(--label-color);
	position: absolute;
	right: 5px;
}
.panel__label {
	flex: 0 0 30%;
	font-size: 0.8rem;
	text-align: right;
}
.panel__show {
	display: none;
}

@media screen and (max-width: 768px) {
	.main,
	.contactinfo,
	.basics { display: block }
	#detailcontainer .main { min-height: calc(100% - 276px) }
	#searchcontainer .main { min-height: calc(100% - 30px) }
	.reduce { display: none }
	.content { padding:1rem; }
	.search__line { display: block }
	.search__input,
	.search__btn {
		width: 100%;
		margin: 0 0 6px 0;
	}
	.nav__itemlist { position: static }
	.nav__item { flex-basis: 20% }
	.nav__icon { font-size: 1.5rem }
	.maintable__cell { max-width: 150px }
	.contactinfo,
	.panel__cols { column-count: 1 }
	.form__input { font-size: 16px }
	.dialog { align-items: flex-start }
}
@media screen and (min-width: 1400px) {
	.panel__cols { column-count: 3 }
}
@media screen and (min-width: 768px) and (max-width:1130px), (max-width: 600px)  {
	.panel__hide { display: none }
	.panel__show { display: inline }
}




