/** 
Diese Variante mit Variablen kann man auch mit dem Framework LESS realisieren
https://codepen.io/tjvantoll/pen/JEKIu
http://www.lesscss.de/
**/

/*** DEMO STYLES ***/
/*** 2 ***/
html, body 
{
    height: 100%;
    overflow-y: hidden;
  	margin:0;
  	padding:0;
  	border: none;
  	display: flex;
  	flex: 1;
  	    
/**
    font-family: 					var(--cb_font_family);
*/

    font-size: 						var(--cb_font_size_normal);
    
	background-color: 				var(--body_background_color);
	box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}


/**
Layout:

	form
	 - cbPage (col)
	     - cbHeader
	     	- cbHeaderLeft
	     	- cbHeaderRight (col)
	     	  	- cbHeaderRightTop
	     	    - cbHeaderRightBottom
	     - cbContent (row)
	     	- cbContentLeftMiddle
	     	- cbContentRight (col)
	     		- cbButtonleiste
	     		- cbContentRightInside (row)
	     			- cbArbeitsbereich / cbListenBereich
	     			- cbRegisterBereich
	     - cbFooter

*/



form {
	display: flex;
	flex: 1;	
	flex-direction: column; 
    min-height: 100vh;
    overflow: auto;            
}


.cbPage
{		 
    display: flex;
    flex-direction: column; 
	background-color: 				var(--page_background_color);
	flex: 1 1 auto;
	min-height: 0;	
}

.cbHeader
{
	display: flex;
	flex: 0 0 auto; 	
    flex-wrap: wrap; 
    justify-content: space-between;
    align-items: stretch; 
    width: 100%;	
	background-color: 				var(--header_background_color);
}


.cbContent
{		 
	
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-color: 				var(--page_background_color);	
    flex: 1 1 auto;
         
}


.cbFooter
{
	display: flex;
	flex: 0 0 38px;
    height: 38px;
	background-color: 				var(--footer_background_color);
}



.cbHeaderLeft
{
	width: 198px; 
	height: 80px;
    flex-shrink: 0; 
	background-color: 				var(--headerLeft_background_color);
}

.cbHeaderRight
{
	flex: 1; 	
	
    display: flex;    
    flex-direction: column;	
    align-items: stretch; 
	background-color: 				var(--headerRight_background_color);
	
}

.cbHeaderRightTop
{
	width: 100%;	
	flex: 1 1 40px; 			
	background-color: 				var(--headerRightTop_background_color);
}

.cbHeaderRightBottom
{
	width: 100%;
		
	flex: 1; 	
	background-color: 				var(--headerRightBottom_background_color);
}
.cbHeaderRightLine
{
	margin-left: 5px;
	font-weight: normal;
	font-size: 	var(--cb_font_size_normal);
}


.cbContentLeftMiddle
{	
	flex: 0 0 198px;           
    min-width: 198px;
    max-width: 198px;
	background-color: 				var(--contentLeftMiddle_background_color);
}

.cbContentRight {
    display: flex;
    flex-direction: column;          
    flex: 1 1 698px;
  	min-width: 0;            
}

.cbButtonleiste { 
	display: flex;      
}

.cbContentRightInside {
    display: flex;
    flex-direction: row;  
    flex-wrap: wrap;
    flex: 1 1 auto;    
    min-width: 0;               
}



.cbMain{
    display: flex;           
    flex: 1 1 auto;          
    min-height: 0;           
}

.cbArbeitsbereich {
	display: flex;
	flex-direction: column;
    flex: 1;          
    min-width: 320px;            
    min-height: 0;       
    overflow-x: hidden;    
              
    padding: 10px;
    background-color: var(--arbeitsbereich_background_color);
}

.cbRegisterbereich {
    flex: 0 0 198px;
    min-width: 198px;
    max-width: 198px;
    padding: 10px;
    background-color: var(--registerbereich_background_color);
}
.cbListebereich {
	
	/* flex: 1 1 auto;          
    min-width: 0;            
    min-height: 0;           
    overflow: auto;          
    padding: 10px;
	 background-color: 				var(--arbeitsbereich_background_color);	
	*/
	display: flex;
	flex-direction: column;
    flex: 1;          
    min-width: 320px;            
    min-height: 0;       
    overflow-x: hidden;    
              
    padding: 10px;
    background-color: var(--arbeitsbereich_background_color);
}

.cbBereichLoginForm
{
	position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 10px;
    background-color: 				var(--bereichStartseite_background_color);
    text-align: center;
}





.ui-datatable table {
    min-width: 800px; 
    table-layout: fixed; 
}

.ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
}



/** Klassen für Arbeitsblatt-Wechsler **/
.rowArbeitsblatt {
	height: 60px;
	text-align: center;
}
.boxArbeitsblatt {
	height: 50px;
	width:  55px;
	border-radius: 10px;
	background-color: 				var(--boxArbeitsblatt_background_color);
	margin: 0px auto;
	vertical-align: middle;
}
.boxArbeitsblattAktiv {
	height: 50px;
	width:  55px;
	border-radius: 10px;
	background-color: 				var(--boxArbeitsblattAktiv_background_color);
	margin: 0px auto;
	vertical-align: middle;
}

.boxArbeitsblatt:HOVER {
	background-color: 				var(--boxArbeitsblattHover_background_color);
}
.boxArbeitsblatt:ACTIVE {
	background-color: 				var(--boxArbeitsblattAktiv_background_color);
}

.cmdlinkArbeitsblatt { 
	color: 							var(--cmdlinkArbeitsblatt_color);	
}
.cmdlinkArbeitsblatt:HOVER { 
	color: 							var(--cmdlinkArbeitsblattHover_color);	
}
.cmdlinkArbeitsblattAktiv { 
	color: 							var(--cmdlinkArbeitsblattAktiv_color);	
}
.cmdlinkArbeitsblattAktiv:HOVER { 
	color: 							var(--cmdlinkArbeitsblattAktivHover_color);	
}
.iconArbeitsblatt {
	padding-top: 10px;
	margin-right: 2px;
}
.iconTextArbeitsblatt {
	margin-top: -3px;
	margin-left: 2px;
}
.iconHeaderButton {
	margin-left: 0px;
}
.subiconHeaderButton {
	margin-top: -4px;
	margin-left: 20px;
}


/** tooltips mit jquery **/
.ui-tooltip, .arrow:after {
  background: 						var(--jqueryTooltip_background_color);
  border: 0px none				var(--jqueryTooltip_border_color);
}
.ui-tooltip {
  padding: 10px 20px;
  color: 							var(--jqueryTooltip_color);
  border-radius: 20px;
  font-weight: normal;
  font-size: 						var(--cb_font_size_normal);
  font-family:						var(--cb_font_family);
  text-transform: none;
  box-shadow: 2px 2px 7px 			var(--jqueryTooltip_box_shadow_color);
}
.arrow {
  width: 70px;
  height: 16px;
  overflow: hidden;
  position: absolute;
  left: 50%;
  margin-left: -35px;
  bottom: -16px;
}
.arrow.top {
  top: -16px;
  bottom: auto;
}
.arrow.left {
  left: 20%;
}
.arrow:after {
  content: "";
  position: absolute;
  left: 20px;
  top: -20px;
  width: 25px;
  height: 25px;
  box-shadow: 6px 5px 9px -9px var(--jqueryTooltip_box_shadow_color);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.arrow.top:after {
  bottom: -20px;
  top: auto;
}


/** Links im Headerbereich **/
.linkHeaderLogoImage 
{    
    width: 190px;
    padding-right:4px;
}
.linkHeaderLogoText 
{
    position: absolute;
    top: 2px;
    font-family:  				var(--cb_font_family);
    font-size:  				var(--cb_font_size_gross);
    color: 						var(--headerLeftTop_color);
}

#frmContent-tblArbeitsblatt
{
	display: none;
}

.linkHeader
{
	font-family: 				var(--cb_font_family);
	font-size: 					var(--cb_font_size_gross);
	color:						var(--linkHeader_color);
	white-space: nowrap;
	padding-top: 4px; 
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 3px; 
	text-decoration: none;
}
.linkHeader:HOVER
{
	color:						var(--linkHeader_hover_color);
	background-color:           var(--linkHeader_hover_background_color);
	border-radius: 10px;
	cursor: pointer;
}

.cbBereichLoginMessages
{
	width: 50%;
	text-align: left;
	border-radius: 10px;
	margin-top: 200px;
	margin-left: 450px;
}

.cbBereichLoginMessagesWiederholung
{
	width: 50%;
	text-align: left;
	font-weight: bold;
	border-radius: 4px;
}
.frmLogin
{
	margin-top: 10px;
	margin-left: 450px;
	text-align: left;
	width: 290px;

    padding-top: 		10px;
    padding-bottom: 	10px;
    padding-left: 		15px;
    padding-right: 		15px;
    background-color:	var(--arbeitsbereich_background_color);
    border-radius: 		10px;
}

#username, #j_password, .cbMarginTopBottom
{
	margin-top: 5px;
	margin-bottom: 10px;
}

.divLogin
{
}

#frmLogin div[id$=_content]
{
	border-radius: 10px;
	border: none;
}


/** Klassen für Menü - Bereich **/
.menuebereich
{
	
	top: 5px; 
	left: 5px;
	right: 5px;
	bottom: 5px;
	
	overflow-x: hidden;
	overflow-y: auto;

	border-radius: 10px;
	background-color: 			var(--menubereich_background_color);
}

/*
css für Beihilfe Menu
*/
.cbmenu 
{
	width: 100%;
	font-weight: normal;
	font-family: 				var(--cb_font_family);
}

.cbmenueactive{
	font-weight: bold;
	/** text-shadow: 0px 0px 0px var(--cbmenuactive_text_shadow_textcolor), 0 0 1.0em var(--cbmenuactive_text_shadow_shadowcolor); **/
}

ul.cbmenu {
	padding: 0;
	margin: 0;
	list-style: none;
	background-color: 			var(--cbmenu_ul1_background_color);
}

ul.cbmenu li {
}

ul.cbmenu li a {
	line-height: 1.5;
	font-size:        			var(--cb_font_size_gross);
	padding: 10px 5px;
	color: 						var(--cbmenu_ul1_color);
	display: block;
	text-decoration: none;
}

ul.cbmenu li a:hover {
	background-color: 			var(--cbmenu_ul1_hover_background_color);
	color:  					var(--cbmenu_ul1_hover_color);
}

/* Zweite Stufe */

ul.cbmenu ul {
	margin: 0;
	padding: 0;
	display: none;
	background-color: 			var(--cbmenu_ul2_background_color);
}

ul.cbmenu ul li {
	margin: 0;
	padding: 0;
	clear: both;
}


ul.cbmenu ul li a {
	line-height: 1.2;
	padding-left: 20px;
	font-size:  				var(--cb_font_size_normal);
	color:             			var(--cbmenu_ul2_color);
	outline: 0;
}

ul.cbmenu ul li a:hover {
	background-color:  			var(--cbmenu_ul2_hover_background_color);
	color:             			var(--cbmenu_ul2_hover_color);
}

/* Dritte Stufe */

ul.cbmenu ul ul {
	margin: 0;
	padding: 0;
	display: none;
	background-color: 			var(--cbmenu_ul3_background_color);
}

ul.cbmenu ul ul li a {
	line-height: 0.6;
	padding-left:     40px;
	color:            			var(--cbmenu_ul3_color);
}

ul.cbmenu ul ul li a:hover {
	background-color:  			var(--cbmenu_ul3_hover_background_color);
	color:             			var(--cbmenu_ul3_hover_color);
}

ul.cbmenu span{
	float:right;
}

.tableWithToggleBtn .ui-datatable-header {
    height: 50px
}

.checkingAntragRowColor {
        background-color: #fae278 !important;
        background-image: none !important;
        color: #8a7a34 !important;
}

.convertedAnschreibenRowColor {
        background-color: #fae278 !important;
        background-image: none !important;
        font-weight: bold;
}

.statisticGroupColor {
	font-weight: bold !important;
}
   
/*
css für Beihilfe Register
*/
.cbregister 
{
	width: 100%;
	font-weight: normal;
	font-family: 				var(--cb_font_family);
}

.cbregisteractive{
	font-weight: bold;
}

ul.cbregister {
	padding: 0;
	margin: 0;
	list-style: none;
	background-color: 			var(--cbregister_ul1_background_color);
}

ul.cbregister li {
	border-radius: 10px; 
}


ul.cbregister li.active {
	background-color: 			var(--cbregister_li1active_background_color);	
}

ul.cbregister li a {
	line-height: 1.5;
	font-size:        			var(--cb_font_size_gross);
	padding: 10px 10px;
	color: 						var(--cbregister_ul1_color);
	display: block;
	text-decoration: none;
}

ul.cbregister li.active a {
	color:  					var(--cbregister_ul1_hover_color);	
}

ul.cbregister li a:hover {
	background-color: 			var(--cbregister_ul1_hover_background_color);
	color:  					var(--cbregister_ul1_hover_color);
	border-radius: 10px; 
}

/* Zweite Stufe */

ul.cbregister ul {
	margin: 0;
	padding: 0;
	display: none;
	background-color: 			var(--cbregister_ul2_background_color);
}

ul.cbregister ul li {
	margin: 0;
	padding: 0;
	clear: both;
	border-radius: 10px;
}

ul.cbregister ul li.active {
	background-color: 			var(--cbregister_li2active_background_color);
}

ul.cbregister ul li a {
	line-height: 0.6;
	padding-left: 20px;
	font-size:  				var(--cb_font_size_normal);
	color:             			var(--cbregister_ul2_color);
	outline: 0;
}

ul.cbregister ul li.active a {
	color:  					var(--cbregister_ul2_hover_color);	
}

ul.cbregister ul li a:hover {
	background-color:  			var(--cbregister_ul2_hover_background_color);
	color:             			var(--cbregister_ul2_hover_color);
	border-radius: 10px;
}

/* Dritte Stufe */

ul.cbregister ul ul {
	margin: 0;
	padding: 0;
	display: none;
	background-color: 			var(--cbregister_ul3_background_color);
}

ul.cbregister ul ul li.active {
	background-color: 			var(--cbregister_li3active_background_color);	
}

ul.cbregister ul ul li a {
	line-height: 0.6;
	padding-left:     40px;
	color:            			var(--cbregister_ul3_color);
}

ul.cbregister ul ul li.active a {
	color:  					var(--cbregister_ul3_hover_color);	
}


ul.cbregister ul ul li a:hover {
	background-color:  			var(--cbregister_ul3_hover_background_color);
	color:             			var(--cbregister_ul3_hover_color);
}

ul.cbregister span{
	float:right;
}




















.labelHeaderTop {
	white-space: nowrap; 
	padding-left: 5px; 
	font-weight: bold;
	color:			var(--labelHeaderTop_color);
}

.headerStatuszeile {
	white-space: nowrap; 
	padding-left: 5px; 
	font-weight: normal;
	color:			var(--headerStatuszeile_color);
	font-size: 		var(--cb_font_size_gross);
}

/** Startseite **/
.bereichStartseite {
	height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 10px;
    background-color: 			var(--bereichStartseite_background_color);
}

.tblStartseite {
	border: 0px;
	border-spacing: 40px;
    border-collapse: separate;
    width: 100%;
}

.tblStartseite a{
	text-decoration: none;
}

/** dashBoard **/
.dashBoard {
	padding: 10px;
}

.dashBoard .ui-corner-all {
    border-radius: 10px;
}

.dashBoard .ui-dashboard-column {
	width:242px;
}

.dashBoard .ui-dashboard-column .ui-panel-titlebar .ui-panel-title{
	font-size: var(--cb_font_size_gross);
}

.dashBoard .ui-dashboard-column .ui-widget-content{
	font-size: var(--cb_font_size_gross);
	font-weight: bold;
	padding-bottom: 10px;
}

.dashBoard .ui-panel{
	margin-left: 10px;
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
	width:222px;
} 

.dashBoard .ui-panel .ui-panel-titlebar {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}    

.dashBoard .ui-panel .ui-panel-content{
	border: 0;
} 

.dashBoard .ui-panel-content{
	text-align: center;
}

.dashBoard div a {
display:block;
height:100%;
}

.dashBoard div a:hover {
	background: 				var(--content_background_color);
}

/** Fussbereich **/
.bereichFusszeile {
	display: flex;
	flex: 1 0 38px;
    height: 20px;    
    flex-wrap: wrap;         
    gap: 20px;               
    align-items: center;     
	
	border-radius: 10px;
	background-color: 			var(--bereichFusszeile_background_color);
}

.copyright
{
	font-family: 				var(--cb_font_family);
	font-size: 					var(--cb_font_size_sehrklein);
	color: 						var(--copyright_color);
	padding-left: 10px;
}




.hdrButton
{	
	width: auto;      
    height: 38px;    
    flex: 0 1 auto;       
    min-width: 0;
    
}
.hdrButtonLink {
	color: 						var(--hdrBtn_color);
	text-decoration: none;
	display: inline-block;	
	overflow: hidden;
	border-radius: 4px;
	white-space: nowrap;
}



.hdrButtonTable
{
	height: 100%;
}
.hdrIconDiv
{
	height: 28px;
}
.hdrButtonIcon
{
	height: 100%;
	width: 100%;
}
.hdrButtonLabel
{
	width: 100%;
	white-space: nowrap;
	text-align: center;
	font-size: 					var(--cb_font_size_sehrklein);
}

#frmContent .lineBtnLink {
    font-family: 				var(--cb_font-family);
    font-size: 					var(--cb_font_size_klein);
	color: 						var(--lineBtn_color);
	display: inline-block;
	width: 32px;
	height: 32px;
	padding-top: 4px;
	margin-left: 2px;
	background-color:  			transparent; 
	/**
	overflow: hidden;
	*/
}

/* #frmContent .lineBtnLink span {
	font-size: 					var(--cb_font_size_extragross);
} */

#frmContent .lineBtnLink:HOVER {
	background-color: 			var(--lineBtnLinkHover_background_color); 
	color: 						var(--lineBtnLinkHover_color);
}

#frmContent .lineBtnLink:ACTIVE {
	outline: 1px solid 			var(--lineBtnLinkActive_color); 
	outline-offset: 2px;
	-moz-outline-radius: 10px;
	outline-radius: 10px;	
}



/** Eigenschaften von Primefaces überschreiben
a-Element mit id, deren Wert endet mit  cmdButtonlink
und pcdButtonlink. 
cmdButtonlink - normalle HeaderButtons
pcdButtonlink - HeaderButtons mit confirmDialog
*/
a[id$='cmdButtonlink'], a[id$='pcdButtonlink'], a[id$='pcdButtonlink1'], a[id$='pcdButtonlink2']
{
	/**
    font-family: 				var(--cb_font-family);
   	*/
    font-size: 					var(--cb_font_size_sehrklein);
}



/** Toggler-ButtonLine kommt in der BeihilfefallBankverbindungListe ... **/
#frmContent .tdTogglerBtn
{
	padding: 0px 0px 0px 0px;
}

/** Line-Buttons **/
#frmContent .tdLineBtn
{
	padding: 0px 8px 0px 0px;
}

.lineBtnSpan
{
	text-align: center;
	white-space: nowrap;
}
#frmContent .schmaleListe td
{
	padding: 0px 8px 0px 8px;
}

#frmContent .belegUeberschneidungListe thead th
{
	padding: 4px;
}

#frmContent .belegUeberschneidungListe td
{
	padding: 4px;
	border-color: var(--tbl_outputElement_border_color);
}

/** Register-Buttons **/
.registerBtn
{
	width: 16%;
	vertical-align: middle;
	text-align: center;
	margin-top: 0px;
}
.registerBtnLink {
    font-family: 				var(--cb_font-family);
	color: 						var(--registerBtn_color);
	text-decoration: none;
	padding-top: 5px;
	padding-bottom: 5px;
	vertical-align: middle;
	display: inline-block;
	width: 16%;
	overflow: hidden;
}
.registerBtnLink:HOVER {
	background-color: 			var(--registerBtnLinkHover_background_color); 
	color: 						var(--registerBtnLinkHover_color);
}
.registerBtnLink:ACTIVE {
	outline: 1px solid 			var(--registerBtnLinkActive_color); 
	outline-offset: 2px;
	-moz-outline-radius: 10px;
	outline-radius: 10px;	
}

.registerBtnLabel {
    font-size: 					var(--cb_font_size_gross);
}


/** 
	Überschrift für die Daten im Arbeitsbereich
**/
.arbeitsbereichUeberschrift
{
	font-size: var(--cb_font_size_gross);
	font-weight: bold;
    display: block;
    padding: 8px;
    padding-bottom: 18px;
}

.pflichtFelderUeberschrift
{
	display: block;
    padding: 8px;
}


/** 
	Überschrift für die Daten im Liste-Bereich
**/
.listebereichUeberschrift
{
	font-size: var(--cb_font_size_gross);
	font-weight: bold;
    display: block;
    padding: 8px;
    padding-bottom: 18px;
}

.tbl
{
	border: 0px;
	border-spacing: 0px;
    border-collapse: collapse;
    width: 100%;
}

#frmContent .tbl tr td
{
	border: 0px;
	padding: 0px; 
}

#frmContent .cbPanelContent
{
	border: 1px solid var(--accordion_background_color);
}

.label, .labelRequired
{
	font-weight: 				normal;
}
.labelRequired:after
{
    color: 						var(--labelRequired_after_color);
    content: ' *';
    display:inline;
}


.tblInner
{
	border: 0px;
	border-spacing: 0px;
    border-collapse: collapse;
    width: 100%;
}


.tblInner td
{
	padding: 0px;
}

.rowHidden
{
	display: none;
}

.rowLight
{
	background-color: 			var(--rowLight_background_color);
}
.rowDark
{
	background-color: 			var(--rowDark_background_color);
}

.messages
{
	background-color: 			var(--messages_background_color);
	border-width: 2px;
	border-style: solid;
	border-color:				var(--messages_border_color);
	border-radius: 10px;
	min-height:	30px;
	list-style-position: initial;
	margin-right: -2px;
	margin-top: -0px;
}
.messages li
{
	margin-left: -15px;
}
.infoMessages
{
	color: 						var(--infoMessages_color);
}
.warnMessages
{
	color: 						var(--warnMessages_color);
}

.errorMessages
{
	color: 						var(--errorMessages_color);
}
.fatalMessages
{
	color: 						var(--fatalMessages_color);
	font-weight: bold;
}

#frmContent .panelGrid-with-padding-top
{
	padding-top: 20px;
}

/** 
	DataTable mit Historie-Zeilen
	Abstände verringern
	Originalwerte: 8px;
*/
.historieText 
{
    margin-left: -40px;
}

.historieIcon1
{
	margin-right:  8px;
}
.historieIcon2
{
	margin-right:  0px;
}
.historiePCIcon
{
	 margin-right: -10px;
}

#frmContent-historiePanel .historieTabelle tr td
{
	padding: 2px;
}

#frmContent-historiePanel 
{
 overflow-x: auto;
 max-height: 600px;    
}

#frmContent-historieKurzInfo, #frmContent-historieAllInfo
{
	margin-top: 30px;
}

/*******************************************************************************************
	Eigenschaften von Primefaces überschreiben
********************************************************************************************/

/** Erforderlich, da sonst PrimeFaces bei Select-Boxen eine line-height einfügt,
	bei anderen Input-Elementen aber nicht.
	Dadurch werden die Select-Boxen höher als die anderen, und die Elemente verschieben sich.
*/
body .ui-panel .ui-panel-content {
    line-height: normal;
}


/** p:panelGrid-Elemente: Kein Rahmen 
	Andere Möglichkeit: <p:panelGrid styleClass="ui-noborder"  styleClass="ui-noborder"...> 

body .ui-widget-content
{
	border: 0 none;
}
*/

/** Auf 0 gesetzt, weil sonst bei verschachtelten panelGrids der Abstand verdoppelt wird.
	padding statt dessen in "body .cb-div-element" gesetzt.
*/
body  .ui-panelgrid .ui-panelgrid-cell
{
	padding: 0px;
	display: flex;
	flex: auto;
}

/** 
	padding für einzelne Elemente, die aus Label und Eingabefeld bestehen (pgrid-Elemente)
*/
body .cb-div-element
{
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 8px;
	padding-right: 8px;
}

body .cb-div-element-small-padding
{
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 4px;
	padding-right: 4px;
}

#frmContent .cb-input-element-small-padding
{
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 4px;
	padding-right: 4px;
}

/** input-Elemente readonly - Hintergrundfarbe */
body .ui-inputfield[readonly]
{
	background-color: 			var(--inputElementReadonly_background_color);
}

/** p:outputLabel-Elemente 
		- Abstand zum input-Element
		- Horizontales Einrücken
	Einzutragen beim das p:outputLabel enthaltenden div. */
.cb-div-output-label
{
	margin-bottom: 1px;
	margin-left: 2px;
	white-space: normal;     
    overflow-wrap: break-word;
    word-break: break-word;   
    display: block;
}

/** input-Elemente p:calendar: Icon-Größe anpassen. 
	Erforderlich wegen verändertem Padding bei input-Elementen. */
body .ui-button
{
	font-size: 12px;
}


#frmContent .cb-calendar
{
	padding-left: 6px;
	padding-right: 6px;
}

/** 
	p:selectOneMenu-Elemente: Aufklapp-Icon nach oben verschieben.
	Erforderlich wegen verändertem Padding bei input-Elementen. 
*/
body .ui-selectonemenu .ui-selectonemenu-trigger .ui-icon-triangle-1-s
{
    margin-top: 5px;
}

/** 
	Primefaces erzeugt für jede Zeile eines panelGrid einen div mit der Klasse "ui-g".
	Dafür wird hier die Hintergrundfarbe gesetzt.. 
*/
body .ui-g
{
	background-color:			var(--arbeitsbereich_background_color);
}

/** 
	Primefaces: Zeile expandieren und weitere Zeilen einblenden
	Dafür wird hier das Aussehen von Icons definiert 
*/
body .ui-datatable .ui-datatable-data > tr .ui-row-toggler
{
	color: 						var(--datatable_row_toggler_color);
	font-size: 					28px;
	width: 						32px;
}


/** 
	Style für editierbare Zeilen einer dataTable, 
	wenn beim Speichern ein Fehler aufgetreten ist. 
*/
.tableWithCustomError .ui-datatable .ui-datatable-data > tr.ui-state-error 
{
    background-color:  				var(--tablerow_error_background_color);
}

/** 
	ui-icon ist die StyleClass für den PrimeFaces-Zeilenbutton für "Zeile bearbeiten".
	
	Dies ist eine Erweiterung, um das Verhalten bei Mouse-Over (= Hover) dem Verhalten der selbstdefinierten
	Zeilenbuttons anzupassen. Sie entspricht dem Eintrag ".lineBtnLink:HOVER" 
*/
.ui-icon:HOVER {
	background-color: 			var(--lineBtnLinkHover_background_color); 
	color: 						var(--lineBtnLinkHover_color);
}

/** 
	DataTable mit Zeilen mit Auswahl per Checkbox:
	Überschrift 	linksbündig, 	nicht fett
	Originalwerte: 	middle	 		bold

	Beispiel: BeihilfefallBankverbindung.xhtml	
*/
#frmContent .cb-checkbox-liste div
{
    text-align: left;
    font-weight: normal;
}

#frmContent .fett
{
    font-weight: bold;
}

#frmContent .rechts
{
    text-align: right;
    justify-content: flex-end; 
    align-items: center;           
}

#frmContent .links
{
    text-align: left;
    justify-content: flex-start; 
    align-items: center;           
}

/** 
	DataTable mit Zeilen mit Auswahl per Checkbox:
	Column-Header 	linksbündig		nicht fett		breiterer unterer Rand
	Originalwerte: 	middle			bold			2px;

	Beispiel: BeihilfefallBankverbindung.xhtml	
*/
#frmContent .cb-checkbox-liste th 
{
    text-align: left;
    font-weight: normal;
    border-bottom-width: 5px;
}

/** 
	DataTable mit Zeilen mit Auswahl per Checkbox:
	Zeilenhöhe verringern
	Originalwerte: 8px;

	Beispiel: BeihilfefallBankverbindung.xhtml	
*/
#frmContent .cb-checkbox-liste td 
{
    padding-top: 3px;
    padding-bottom: 3px;
}


/** 
	DataTable mit Historie-Zeilen
	Abstände verringern
	Originalwerte: 8px;
*/
#frmContent .cb-historie-liste td 
{
    padding: 3px 3px 3px 3px;
}

body .ui-accordion .ui-accordion-header
{
	font-size: 		  var(--cb_font_size_normal);
	background-color: var(--accordion_background_color);
	line-height: 0.7;
}

body .ui-accordion .ui-accordion-content
{
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 0px;
}

/**
	fileUpload-Element: Bereich ausblenden, in dem der Verlauf des Uploads angezeigt wird.
	Verbraucht nur unnötig Platz auf der Seite.
*/
body .ui-fileupload .ui-fileupload-content
{
	display: none;
}


/**
	fileUpload-Element: Upload-Button auf eine Höhe mit den anderen Elementen 
	in pgrid:fileUpload ausrichten
*/
body .ui-fileupload .ui-fileupload-buttonbar
{
	padding-top: 23px;
	padding-bottom: 0px;
	border: 0 none;
}

/**
	Für Hintergrundfarbe in einem Accordion-Element
	WKolbe 2020-11-25:
	Dies rausgenommen, weil in BelegHe in der Auswahlliste dieser Wert als Background des higlighted Element benutzt wurde.
	Die background-color der Accordion-Elemente scheint auch durch "body .ui-g" festgelegt zu werden.  
	
body .ui-widget-content 
{
    background-color: var(--arbeitsbereich_background_color);
}
*/

.ui-accordion-content.ui-helper-reset.ui-widget-content {
	border: 0px;
} 

/**
	WKolbe 2019-05-29:
	Für Hintergrundfarbe der selektierten Zeile in einem selectonemenu-Element mit benutzerdefinierten Spalten.
	Beispiel: BelegZusatzdatenHe.
	
	Ohne das wird als Hintergrundfarbe die background-color aus ui-widget-content angewendet,
	so dass die Zeile unsichtbar wird. 	

*/
body .ui-selectonemenu-panel .ui-state-highlight
{
    background-color: var(--select_highlight_background_color);
}


body .ui-wizard-step-title
{
	font-size: 		var(--cb_font_size_normal);
	font-weight: bold;
}
body .ui-wizard .ui-wizard-step-titles .ui-wizard-step-title
{
	padding-top: 		5px;
	padding-bottom: 	5px;
	padding-left: 		10px;
	padding-right: 		10px;
	
}
body .ui-panel .ui-panel-content
{
	padding: 		5px;
}


body .ui-panel .ui-panel-titlebar
{
	background-color:  var(--accordion_background_color);
	padding: 4px;
}
body .ui-panel .ui-panel-titlebar .ui-panel-title
{
	font-size: var(--cb_font_size_normal);
}

.ui-filter-column .ui-column-customfilter .custom-filter {
   width: 100%;
   box-sizing: border-box;
   padding-left: 4px;
   padding-right: 4px;
}
     
.integer-spinner input {
    width: 100%;
    box-sizing: border-box;
}

.textBausteine {
    display: block;    
    height: 300px;
    overflow: auto;
}

.outputTextArea2 {
	padding: 4px;
    display: block;    
    overflow: auto;
    background-color: var(--inputElementReadonly_background_color);
    border: 1px solid #cccccc;
}

.ui-picklist.rolePickList .ui-picklist-list {
	height: 400px;
}

/*******************************************************************************************
	Ende Eigenschaften von Primefaces überschreiben
********************************************************************************************/

/*******************************************************************************************
	Start Dialog
********************************************************************************************/
#frmContent .dlgButton
{
	margin-left: 10px;
}

#frmContent .dlgEditData > .ui-dialog-footer
{
	text-align: right;
	padding-bottom: 20px;
	padding-right: 18px;	
}

/*******************************************************************************************
	Ende Dialog
********************************************************************************************/

#frmContent .ui-button
{
	background-color: var(--buttonleiste_background_color);
	color:var(--hdrBtn_color);
}
 
#frmContent .ui-button:focus
{
	background-color: 			var(--hdrBtnLinkHover_background_color); 
	color: 						var(--hdrBtnLinkHover_color);
}
#frmContent .ui-button:hover
{
	background-color: 			var(--hdrBtnLinkHover_background_color); 
	color: 						var(--hdrBtnLinkHover_color);
}

#frmContent .btnPage
{
	background-color: 			var(--buttonleiste_background_color); 
	color: 						var(--hdrBtn_color);
	border: 					1px solid var(--hdrBtn_color);
}

#frmContent .btnPage:focus
{
	background-color: 			var(--hdrBtnLinkHover_background_color); 
	color: 						var(--hdrBtnLinkHover_color);
}
#frmContent .btnPage:hover
{
	background-color: 			var(--hdrBtnLinkHover_background_color); 
	color: 						var(--hdrBtnLinkHover_color);
	border: 					1px solid var(--hdrBtn_color);
}


/* For Future Use
#frmContent .cbLazyCombobox
{
	width: 100%;
	white-space: nowrap;
}

#frmContent .cbLazyCombobox span
{
	width: 100%;
}

#frmContent .cbLazyCombobox span input
{
	width: calc(-32px + 100%);
}

#frmContent .cbLazyCombobox span button
{
	right: 34px;
}

#frmContent .cbLazyCombobox button
{
	right: 30px;
}

*/

.headerRightTopButtons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.headerRightTopButtons > div {
    flex: 0 1 auto;  
    min-width: 0;
    margin-top: 12px;
    margin-bottom: 12px;    
}

.headerRightTopButtons > div:not(:first-child) {
    margin-left: auto;
}

.headerRightTopButtons > div:not(:first-child) + div {
    margin-left: 8px;
}

.headerRightTopButtons > div:empty {
    display: none;
}



.headerButtons {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;    
    background-color: 				var(--header_background_color);
}



.table-header-title {
    font-size: 1rem;  
    font-weight: bold;
    margin: 0;        
    padding: 0;
    display: inline-block; 
}

.dialog-h1-title {
    margin: 0;
    padding: 0;
    font-size: 1.25rem;   
    font-weight: bold;
    display: inline-block;  
}
