/* mal zum Test damit nicht immer die scss Datei compiliert werden muss!*/

html {
  --fsu-font-family: RobotoCondensed, Arial, sans-serif;

  --fsu-textSecondaryColor:#757575;
  --fsu-inputGroupBorderColor: #bdbdbd;
    
  --fsu-ok-color: hsla(112, 100%, 24%, 0.62);
  --fsu-error-color: hsla(3, 100%, 60%, 0.9);
  
  --fsu-hover-color: var(--fsu-primary-color);
  --fsu-focus-input-color: var(--fsu-primary-color);
  
  --animation:0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
}

/* errorpages*/
body .exception-body{
	height: 100vH;
}

/* Überschreiben der Materialfont aus dem Serenity */
.ui-icon.pi {
   font-family:"primeicons";
}

.ui-icon.far {
  font-family:"Font Awesome 5 Free"; 
}

.ui-icon.fas{
  font-family:"Font Awesome 5 Free";
  font-weight:900; 
}

body .fullwidth, body .ui-button.fullwidth {
	width: 100%;
}

/* Contact */
.card>.contactHeader {
	font-size: 24px;
	font-weight: 400;
	margin: 12px 0 24px 0;
}

.card>.contactChoise {
	margin-bottom: 15px;
}

.card>.contactChoise>div {
	font-size: 13pt;
	font-weight: bold;
	margin-bottom: 5px;
}

.contactHeader {
	font-size: 12pt;
	font-weight: bold;
	margin: 12px 0;
}

.contactChoise {
	margin-bottom: 10px;
}

.contactChoise>div {
	font-weight: bold;
	margin-bottom: 5px;
}

body .center {
	text-align: center;	
	display:block;
}

/* Login mehr Platz zwischen Elementen */
body .loginrow td {
  padding-bottom: 10px;
}

/* Felder etwas enger */
body .p-field {
    margin-bottom: 0.5rem;
}

/* Zeilenumbruch Checkboxen */
body .p-field .ui-chkbox {
	display: block;
	padding-top: 5px;
}

/* Navigation Buttons bzw. Buttons in PanelHeader oder Treetable header */
body .ui-panel-titlebar-button {
	box-shadow: none!important;
	height: 100% !important;
	width: 1.2em !important;
}
body .ui-panel-actions {
	height: 1.7em;
}
body .ui-panel-titlebar-button.ui-state-focus, body .ui-panel-titlebar-button.ui-state-hover {
	background-color: transparent;
}
body .ui-panel-titlebar .ui-panel-actions .ui-button .ui-icon:before, body .ui-treetable .ui-treetable-header .ui-panel-titlebar-button .ui-icon:before {	
	background-color: var(--fsu-primary-text-color-invers);
 	color: var(--fsu-accent-dark-color);
	border: 2px solid var(--fsu-primary-text-color-invers);
	border-radius: 20px;
	font-size: 12pt;
}
/* Panel mit ActionButtons wie Navigation*/
body .ui-outputlabel.labelHeader {
	color: var(--fsu-primary-text-color-invers);
	font-size: 11pt;
}

body .ui-treetable .ui-treetable-header .ui-panel-titlebar-button:last-child {
  margin-left: 0.5px;
}
body .ui-treetable .ui-treetable-header .ui-panel-titlebar-button {
	box-shadow: none!important;
	margin-top: -3px;
	margin-left:-4px;
}

/* Focus Navigationbuttons Operator und Plus/Minus Gruppen*/
body .ui-panel-titlebar .ui-panel-actions .ui-button:hover .ui-icon:before, body .ui-panel-titlebar .ui-panel-actions .ui-button:focus .ui-icon:before, 
body .ui-treetable .ui-treetable-header .ui-panel-titlebar-button.ui-state-hover .ui-icon:before , body .ui-treetable .ui-treetable-header .ui-panel-titlebar-button.ui-state-focus .ui-icon:before {	
	background-color: var(--fsu-accent-dark-color );
 	color: var(--fsu-primary-text-color-invers);
	border: none;
	outline: var(--fsu-primary-text-color-invers) solid 2px;
	outline-offset: 1px;
	transition: outline var(--animation);
}

/*Schiftart am Label von Eingabefeldern anders als Eingabetext */
body .p-field .ui-outputlabel {
	font-style: italic;
	font-size: 10pt;
	color: grey;
}

/*Readonly Inputfeld erkenntlich machen*/
body .ui-inputfield[readonly='readonly'], body .ui-linkfield {
	background-color: white;
	background-image: linear-gradient(to right, lightgrey 33%, rgba(255,255,255,0) 0%);
  	background-position: bottom;
  	background-size: 3px 1px;  /* Adjust values to change dot size and spacing */
  	background-repeat: repeat-x;
}

/* Passwordfield eye*/
body .ui-inputgroup-addon {
   height: 100%;
}
body .ui-inputgroup-addon > em {
  padding-top: 7px;
}

/* Inputgroup Icon */
body .ui-inputgroup .ui-button.ui-button-icon-only .ui-button-icon-left {
  margin-left: -.48em!important;
}

body .ui-button.ui-button-icon-only{
  min-width: 25px!important;
  border-radius: 2px;
}

/*** Buttonbar **/
/* Abstand zwischen Navigationsbuttons in bspw. Dialogen*/
body .row.footer.buttonbar >button:not(:last-child){
	margin-right: 10px!important;
	margin-bottom: 5px!important;
}
body .buttonbar >button:not(:last-child){
	margin-right: 10px!important;
}
/* Buttons in Buttonbar immer mit einer Mindestbreite*/
body .buttonbar >button, body .ui-dialog-buttonpane .ui-button, body .buttonbar .ui-button.ui-button-icon-only {
	min-width: 100px!important;
}
/* Buttonbar innerhalb eines Panels weniger einrücken*/
body .ui-panel-content .buttonbar {
	margin-left: -8px;
	margin-bottom: 0px;
}
/* Buttonbar direkt nach einem Panel soll sich an desen linksbündig orientieren. Bzw. ~ für alle Geschwister Elemente */
body .ui-panel + .buttonbar {
	margin-left: -8px;
}

/* Bei mobile Buttons der Buttonbar untereinander und voll spannend*/
@media (max-width: 500px) {
	body .buttonbar > button, body .ui-dialog-buttonpane .ui-button, body .buttonbar .ui-button.ui-button-icon-only {
	    min-width: 100%!important;
	}
	
	body .buttonbar > button, body .ui-dialog-buttonpane .ui-button, body .buttonbar .ui-button.ui-button-icon-only {
    	margin-bottom:5px!important;
	}
	
	body .buttonbar > button:last-child, body .ui-dialog-buttonpane .ui-button:last-child, body .buttonbar .ui-button.ui-button-icon-only:last-child {
    	margin-bottom: 0px!important;
	}	
}

/* Attributestables */
body .ui-datalist.discAttributes .ui-datalist-content {
	border: none;
	background-color: transparent;
}

body .ui-datalist.discAttributes * {
	padding: 0px;
	margin: 0px;
}

body .attributeTable .ui-row-toggler.ui-icon-circle-triangle-e:before{
  content: "info"!important;
  color: var(--fsu-primary-color2);
}
body .attributeTable .ui-row-toggler.ui-icon-circle-triangle-s:before {
  content: "expand_less"!important;
	color: var(--fsu-primary-color);
}
body .attributeTable .ui-row-toggler:focus, body .attributeTable .ui-row-toggler:hover{
	color:  var(--fsu-hover-color);
	border-radius: 10px;
	outline: 2px solid var(--fsu-hover-color);
	transition: outline var(--animation);
	left:4%;
}

body .attributeTable .ui-expanded-row-content{
	background:hsl(206, 100%, 94%)!important;
	font-style: italic;
}

body .attributeTable .ui-datatable-even .attribKey, body .attributeTable .ui-datatable-odd .attribKey {
	font-weight: bold;
	font-size: smaller;
}

body .attributeTable .ui-datatable-even .lighttext, body .attributeTable .ui-datatable-odd .lighttext {
	font-size: smaller;
}

body .attributeTable .attrInfo {
  padding: 0px!important;
	border: 0px!important;
	padding-right: 10px !important;
	padding-left: 1px !important;
	width:10px !important;
}
body .ui-datatable.attributeTable .ui-datatable-data > tr > td {
	border: none !important;
}

body .lighttext{
	color: grey;
}

body .attributeAccordion .ui-accordion-content {
	padding: 0px;
}

body .attributeRoleGrid .ui-datagrid-header {
	text-align: left;
}

body .attributeTable thead {
	display: none;
}

body .attributeTable .ui-widget-content{
	border-left: none!important;
	border-bottom: none!important;
	border-right: none!important;
}

body .ui-accordion .ui-datatable.attributeTable tbody tr.ui-widget-content {
	border: 0px solid #d8d8d8!important;
}

/* automatische Spaltenbreiten*/
body .ui-datatable table, body .ui-treetable table  {
    table-layout: auto  !important; 
}

body .ui-datatable th i:before, body .ui-datatable th em:before, body .ui-treetable th i:before, body .ui-treetable th em:before {
  font-weight:900;
}

.ui-datatable-footer {
 	text-align: right !important;
}

/* Datatable und Treetable Kopfzeile */
body .ui-datatable thead th, body .ui-treetable thead th {
   	white-space:normal;
  	font-size: 0.9em;
	color: var(--fsu-primary-text-color-invers);
	background-color: var(--fsu-primary-color);
}

body .ui-paginator {
	background-color: var(--fsu-primary-color);
}

body .ui-datatable thead th, body .ui-treetable thead th .ui-inputfield {
	color: var(--fsu-primary-text-color-invers);
	background-color: var(--fsu-primary-color);
}

body .ui-datatable thead th.ui-state-active {
    background-color: var(--fsu-selection-color);
}

body .ui-datatable thead th.ui-state-hover, body .ui-treetable thead th.ui-state-hover {
	background-color: var(--fsu-accent-dark-color);
	color: var(--fsu-primary-text-color-invers);
}

body .ui-datatable thead th, body .ui-datatable thead th.ui-state-active, body .ui-datatable thead th:first-child {
    border-color: var(--fsu-primary-color);
}
/* Fous in Eingabefeldern der Kopfzeile einer Tabelle */
body .ui-filter-column .ui-inputfield {
	background-image: linear-gradient(to bottom, var(--fsu-primary-text-color-invers), var(--fsu-primary-text-color-invers)), linear-gradient(to bottom, #bdbdbd, #bdbdbd);
}

/* selectionen in Treetable full, partly, Group */
body .ui-treetable-data .ui-state-highlight {
  	background:  hsla(215, 73%, 64%, 40%) ;
  	color: white;
}
body .ui-treetable-data.ui-widget-content  .Group.ui-state-highlight {
	   background-color: #1d60bd;
}
body .ui-treetable-data.ui-widget-content  .Group.ui-treetable-partialselected {
    background:  hsla(215, 73%, 64%, 80%) ;
    color: white;
}


body .treeTableHeadContainer .left {
	float:left;
}

body .ui-column-resizer {
	/*display: none!important;*/
	color:transparent!important;
}
body .ui-icon-carat-2-n-s {
	display: none!important;
}
body .ui-icon-triangle-1-n {
	display: inline!important;
}
body .ui-icon-triangle-1-s {
	display: inline!important;
}

/* Im Formular zu lange Label mit ... abkürzen und Umbruch vermeiden*/
body .p-field .ui-outputlabel {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
  	text-overflow: ellipsis;
}

/* Edit Header*/
body .headerRight {
	display: flex; 
	justify-content: right; 
	align-items: right;
	margin-right:15px; 
	margin-top:15px;
}
body .ui-inputfield.inlineEditHeader {
	font-size: 14pt;
	font-weight: bold;
}
body .ui-inputfield.inlineEditHeader ~ button {
	border-radius: 0px;
}
body .ui-inputfield.inlineEditHeader:read-only, body .ui-inputfield.inlineEditHeader:read-only ~ button.inlineEditHeaderBtn {
	border-bottom: none;
	padding: 0px;
	background-image: none;
}

/* Software Header leicht größere Schrift */
body .software .ui-panel-titlebar{
	font-size: 1.2em;
	padding-left: 14px;
}

/* Dialoge */
@media screen and (min-width : 766px) {
    .mainmenu.small {
        display: none !important;
    }
}
@media screen and (max-width : 766px) {
    .mainmenu.large {
        display: none !important;
    }
}

/* Platz für Menu im dialog immer auf 0 */
body .layout-wrapper-static .layout-main-dialog {
	margin-left: 0;
}
/* Dialoge fur kleine Screens schrumpfen */
body .ui-dialog.registerDialog, body .ui-dialog.forgotPasswordDialog, body .ui-dialog.personSearchDialog {
	max-width: 100%;
}

/* Padding aus da sonst Probleme in der PF Groessenberechnung beim Dialog resize */
body .ui-dialog.ui-widget.ui-widget-content{
	padding: 0!important;
}	

/* Dialogtitel */
body .ui-dialog .ui-dialog-titlebar.ui-widget-header{
	padding-top: 1px;
	padding-bottom: 1px;
	color: white;
	background: var(--fsu-primary-color);
}

body .ui-dialog-title {
    font-size: 20px;
    font-weight: 400;	
}

/* TimeoutDialog */
body .ui-growl-dialog {
	box-shadow: 0 3px .429em 0 rgba(0,0,0,0.16);
	border-radius: 3px!important;
	margin-top: 85px;
	margin-right: 20px;
	min-width: 300px!important ;
	width: 350px!important ;
	padding: 0px;
	border: none;
}

body .ui-growl-dialog .ui-dialog-content {
	background-color: var(--warn-bg-color);
	opacity: .95;
}

body .ui-growl-dialog .ui-growl-dialog-image {
	font-size: 2.5em;
	color: white;
}

body .ui-growl-dialog .ui-timer {
  padding-left: 0px;
  background-color: transparent;
  border: none;
  font-weight: bold;
}

/* Errors - Warnings -Infos u.a. Angleichung message und messages */
/* message */
body .ui-message {
	background-color: transparent!important;
	border: none;
  padding-left: 0px;
	font-style: italic;
}
body .ui-message, body .ui-message > div {
	display: flex !important;
	align-items: top;
}
body .ui-message-info-summary, body .ui-message-warn-summary, body .ui-message-error-summary, body .ui-message-fatal-summary {
	 margin-left: 5px;
   padding-left: 0px!important;
	 font-weight: normal;
}
body .ui-message-info-summary:empty, body .ui-message-warn-summary:empty,  body .ui-message-error-summary:empty , body .ui-message-fatal-summary:empty {
	 margin-left: 0px;
}

/*messages*/
body .ui-messages .ui-messages-error, body .ui-messages .ui-messages-warn, body .ui-messages .ui-messages-info,  body .ui-messages .ui-messages-fatal  {
	background-color: transparent;
	border: none;
	padding: 5px;
}
body .ui-messages .ui-messages-fatal-icon, body .ui-messages .ui-messages-error-icon,  body .ui-messages .ui-messages-warn-icon,  body .ui-messages .ui-messages-info-icon {
	font-size: 18px;
	margin-top: -1px;
}
body .ui-messages-fatal-summary, body .ui-messages-error-summary, body .ui-messages-warn-summary, body .ui-messages-info-summary {
	font-weight: normal;
}
body .ui-messages ul {
	display: inherit;
  padding-left: 25px!important;
  text-indent: -10px!important;
}
/* Messages-Farben */
body .ui-message.ui-message-fatal, body .ui-message .ui-message-fatal-icon, body .ui-messages .ui-messages-fatal, body .ui-messages .ui-messages-fatal-icon {
  color:var(--fatal-text-color);
}
body .ui-message.ui-message-error, body .ui-message .ui-message-error-icon, body .ui-messages .ui-messages-error, body .ui-messages .ui-messages-error-icon {
  color:var(--error-text-color);
}
body .ui-message.ui-message-warn, body .ui-message .ui-message-warn-icon,body .ui-messages .ui-messages-warn, body .ui-messages .ui-messages-warn-icon {
 	color: var(--warn-text-color);
}
body .ui-message.ui-message-info, body .ui-message .ui-message-info-icon, body .ui-messages .ui-messages-info, body .ui-messages .ui-messages-info-icon {
  color: var(--info-text-color);
}


/* Textfarbe der Sparchauswahl im Menu */
body .ui-selectonemenu-item{
	color: var(--fsuMenuitemTextColor);
}

body .ui-selectonemenu-item.ui-state-highlight{
	color: var(--fsu-primary-text-color-invers);
}

body .ui-selectonemenu-item.ui-state-hover{
	background-color: var(--fsu-primary-color)!important;
	color: var(--fsu-primary-text-color-invers)!important;
}

body .ui-selectonemenu-panel{
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23)!important;
	border: none;
}

body div[id*="languageChooserForm"] > .ui-selectonemenu-items-wrapper, body div[id*="breadLanguages"] > .ui-selectonemenu-items-wrapper  {
	padding: 5px;
}

body div[id*="languageChooserForm"] .ui-selectonemenu-items-wrapper ul, body div[id*="breadLanguages"] > .ui-selectonemenu-items-wrapper ul {
	padding: 0px;
}

body div[id*="languageChooserForm"] .ui-selectonemenu-items-wrapper ul li, body div[id*="breadLanguages"] > .ui-selectonemenu-items-wrapper ul li{
	padding-left: 8px;
}

/* Sprachauswahl in Combo der Breadcrumb*/
body .ui-selectonemenu.languages {
	color: var(--fsu-textSecondaryColor);
}

/* vertikale Ausrichtung Sprache Nutzerprofil */
body .layout-main.layout-main-auth .layout-topbar .ui-inputgroup.languages{
	padding-top: 5px!important;;
}

body .layout-main.layout-main-auth .layout-topbar {
	padding-top: 12px!important;
}

body .layout-main.layout-main-auth .layout-topbar .mobile-logo > img {
	margin: 0px!important;
}

body .layout-main.layout-main-auth .layout-topbar .menu-btn, .layout-main.layout-main-auth .layout-topbar .topbar-menu-btn {
	padding-top: 8px!important;
}

body .layout-topbar-menu-wrapper .ui-button .ui-icon {
	font-size: 14pt!important; 
}

body .layout-topbar-menu-wrapper .topbar-menu .ui-button.ui-state-hover  {
	background-color: var(--fsu-primary-color);
	color: var(--fsu-primary-text-color-invers);
}

.layout-topbar-menu-wrapper .ui-button.ui-state-hover .ui-icon  {
	color: var(--fsu-primary-text-color-invers);
}


body .loaderImg {
	position: fixed; 
	top: 21px; 
	right: 5px; 
	z-index: 9999999999;
}

body .loaderImg >div >img {
	height: 22px;
}

body .layout-wrapper .layout-main .layout-topbar {
	padding-right: 32px; 
}

body .layout-topbar .topbar-menu .search-item, body .layout-topbar .topbar-menu .search-item i {
	padding-top: 5px;
}

/* Userprofil desktop Ansicht */
@media (min-width: 1023px) {
	
	.profile-item >ul {
		padding-top: 5px!important;
		padding-bottom: 5px!important;
	}
	.profile-item >ul >li {
		padding-left: 5px;
		padding-right: 5px;
	}
	
	.profile-item .ui-button-text-icon-left {
		 width: 100%;
		 padding-left: 35px!important;
		 text-align: left;
	}
	
}

/* Userprofil mobile Ansicht */
@media (max-width: 1024px) {
	.profile-item > a {
		 background-color: var(--fsu-primary-color)!important;
	   color: var(--fsu-primary-text-color-invers)!important;
	   padding-left: 5px!important;
		 pointer-events: none;
	}
  	.profile-item > a, .profile-item{
	   padding-top: 0px!important;
	   padding-bottom: 0px!important;
	
	}
	
	/* Menu nur so breit wie Inhalt */
	.topbar-menu  {
  	  	width: max-content !important;
	}
	
	/* Markierungspfeil ausrichten */
	.topbar-menu::before {
		left: 85%!important;
	}
	
	.profile-item >ul >li {
		padding-left: 5px;
		padding-right: 5px;
	}
	.profile-item .ui-button-text-icon-left {
		 width: 100%;
		 padding-left: 35px!important;
		 text-align: left;
	}
	
	.profile-item .ui-button-text {
		text-align: left!important;
	}
	
	.profile-item >ul {
		display: block !important;
	}

	.layout-wrapper .layout-main .layout-topbar .layout-topbar-menu-wrapper .topbar-menu li.search-item i {
		color: var(--fsuMenuitemTextColor);
		font-size: 18pt;
		padding-left: 14px;
		padding-top: 14px;
	}
	
}

/* Sprachenauswahl im Topbar Menu */
.layout-wrapper .layout-main .layout-topbar .topbar-lang-btn {
	display: inline-block;
	color: var(--fsuPrimaryLightestColor);
	float: right;
	margin-top: 6px;
	margin-left: 5px;
}

#language1_panel {
	top: 66px;
	z-index: 9999999 !important;
}

/* TopBar Menu Button */
body .profile-item .ui-button, .profile-item .ui-button .ui-icon {
	color: var(--fsuMenuitemTextColor);
	background-color: transparent;
	border: none !important;
	font-size: 24px;
	box-shadow: none;
}

/* Boolean Button rot/gruen */
body .ui-selectbooleanbutton, body .ui-selectbooleanbutton.ui-state-focus,
	body .ui-selectbooleanbutton.ui-state-hover {
	background-color: #d52323;
}
body .ui-selectbooleanbutton.ui-state-active, body .ui-selectbooleanbutton.ui-state-active.ui-state-focus,
	body .ui-selectbooleanbutton.ui-state-active.ui-state-hover {
	background-color: green;
}
body .ui-selectbooleanbutton.ui-state-focus, body .ui-selectbooleanbutton.ui-state-hover {
  filter: brightness(1.3);
}

/* Menü Nutzerprofil soll in der mobilen Darstellung ausgeklappt bleiben */
@media only screen and (max-width: 1024px) {
	.layout-wrapper .layout-main .layout-topbar .layout-topbar-menu-wrapper .topbar-menu>li>ul
		{
		display: block;
	}
}

@media only screen and (min-width: 1024px) {
	.layout-wrapper .layout-main .layout-topbar .layout-topbar-menu-wrapper .topbar-menu>li>ul
		{
		display: none;
	}
}

/* Login Landing */
.loginLandingTextCenter {
	text-align: center;
}

.loginLandinInpudWidth { 
	width: 200px;
}

.loginLandinButtonText { 
	display:inline-block;
	margin-top:5px
}

/* Password Reset */
.pwResetUsername {
	text-align: left;
	margin-top: 30px;
}

.pwResetButton {
	display:inline-block;
	margin-top:30px;
}

.pwResetInputWidth {
	width: 200px;
}

/* Self Registration */
.selfRegBold{
	font-weight: bold;
}

.selfRegMarginFormTop{
	margin-top: 30px;
}

.selfRegWidthForm{
	width: 175px;
}

/* Footer immer nach Screenhight am Boden anzeigen */
body .layout-main {
	display: flex;
	flex-direction: column;
	height: 100vh;
}

body .layout-breadcrumb {
	flex-shrink: 0;
}

/* Link der Breadcrumb Icons immer gleich gleiche Höhe zu Texten der Breadcrumb */
.layout-wrapper .layout-main .layout-breadcrumb .breadcrumb-icon  {
	display: inline-block;
	height:24px;
}

body .layout-content {
	flex: 1;
}

/**** Inputgroup *****/
/* Inputgroup 100% Höhe verhindern im Theme ansehen woher das kommt */
body .ui-inputgroup .ui-button-text-only {
	color: var(--fsu-textSecondaryColor);
	padding-left: 5px;
	padding-right:5px;
}
body .ui-inputgroup, body .ui-calendar>input, body .ui-inputtext {
	height: 30px;
}
/* Wird als Icon nur Text verwendet dann diesen style angeben */
body .ui-inputgroup .ui-inputgroup-addon-text {
	padding: 7px 2px 1px 2px;
	min-width: auto;
}
/* Focus und Hover auf Icons von Inputgroups */
body .ui-inputgroup .ui-button .ui-icon:hover, body .ui-inputgroup .ui-button.ui-state-focus .ui-icon, body .ui-inputgroup .ui-button-text-only.ui-state-hover, body .ui-inputgroup .ui-button-text-only.ui-state-focus, body .ui-inputgroup .ui-linkbutton a:focus :before {
	color: var(--fsu-focus-input-color)!important;
	outline: var(--fsu-focus-input-color) 2px solid;
	border-radius: 10px;
	transition: outline var(--animation);
}
body .ui-button-icon-only .ui-icon {
	left: 47%;
}
/* Inputgroups Button und Link-Button angleichen*/
body .ui-inputgroup .ui-button  {
	padding-left: 18px;
}
body .ui-inputgroup .ui-button-text-only {
	padding-left: 0px;
}
/* Angleichung material und pi-icons */
body .ui-inputgroup i.pi:before{
	font-size: 13pt;
  padding-top: 4px;
}

body .ui-inputgroup .ui-icon.pi{
	font-size: 12pt;
	padding-top: 2px;
}

/* Buttons in Inputgroups analoge Datepicker Icon (grau auf weiß)*/
body .ui-inputgroup .ui-button {
	background-color: transparent;
	border: 1px solid var(--fsu-inputGroupBorderColor);
	box-shadow: none;
  	border-left: 0;
  	border-right: 0;
  	border-top: 0;
}
body .ui-inputgroup .ui-button .ui-icon {
	color: var(--fsu-textSecondaryColor);
}
/* Button sollen die linie so wie das direkte Feld davor anzeigen also bei readonly dotted */
body .ui-inputgroup .ui-inputfield[readonly="readonly"] + .ui-button {
	border-style: dotted;
}

/* Schiftart am Label von Eingabefeldern anders als Eingabetext */
body .p-field .ui-outputlabel, .ui-outputlabel {
	font-size: 10pt;
	color: var(--fsu-primary-color);
}

body .ui-inputfield.ui-state-error, body .ui-state-error+.ui-inputgroup-addon
	{
	background-color: hsla(3, 100%, 60%, 0.05);
}

/* Menustyling und Focusrahmen  */
body .layout-wrapper .layout-sidebar .layout-menu li.active-menuitem > a {
	background-color: #eeeeee;
	/*color: #1d60bd*/;
	font-weight: bold;
	border-color:#eeeeee;
  	border-width: 2px;
  	border-bottom-style: solid;
  	border-right-style: solid;
  	border-radius: 0px!important;
}

body .layout-wrapper .layout-sidebar .layout-menu li.active-menuitem > a:hover, body .layout-wrapper .layout-sidebar .layout-menu li[role*=isRoot].active-menuitem > a:hover{
	background-color: var(--fsu-primary-color);
	border-color:var(--fsu-primary-color);
} 

body .layout-wrapper .layout-sidebar .layout-menu li[role*=isRoot].active-menuitem > a {
	color: white;
	background-color: var(--fsu-selection-color);
	border-color:var(--fsu-selection-color);
	border-radius: 6px!important;
}

body .layout-wrapper .layout-sidebar .layout-menu li[role*="isRoot hasChildren"].active-menuitem > a {
	border-bottom-right-radius: 0px!important;
	border-bottom-left-radius: 0px!important;
}

body .layout-wrapper .layout-sidebar .layout-menu li ul li {
	padding: 0px;
}

body .layout-wrapper .layout-sidebar .layout-menu ul{
	box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.14), 0 7px 5px -5px rgba(60, 72, 88, 0.3), 0 7px 5px -5px rgba(60, 72, 88, 0.1);
}

/* aufgeklappte Submenus Zusammengehoerigkeit darstellen */
body .layout-wrapper .layout-sidebar .layout-menu > li.active-menuitem > ul {
	background-color: #F8F8F8;
}

/*Accordion weniger prägnant und Focusrahmen*/
body .ui-accordion .ui-accordion-header {
	background-color: transparent;
	color: var(--fsu-primary-color);
	border: solid  0.5px lightgray;
}
body .ui-accordion .ui-accordion-header.ui-state-hover, body .ui-accordion .ui-accordion-header:hover{
    color: var(--fsu-primary-text-color-invers);
	background-color: var(--fsu-hover-color)!important;
}
body .ui-accordion .ui-accordion-header.ui-state-hover.ui-icon, body .ui-accordion .ui-accordion-header:hover .ui-icon {
  color: var(--fsu-primary-text-color-invers);
}
body .ui-accordion .ui-accordion-header.ui-tabs-outline {
     background-color: var(--fsu-selection-color);
}
/* Einrückung Rowgroup Icon*/
body .ui-accordion .ui-datatable .ui-rowgroup-header > td > a.ui-rowgroup-toggler {
	padding-right: 2em;
}

/*Tabs an Accordion angleichen*/
body .ui-tabs .ui-tabs-nav > li.ui-state-active a, body .ui-tabs .ui-tabs-nav > li.ui-state-active .ui-icon {
	font-weight: normal;
	color: var(--fsu-primary-text-color-invers);
}
body .ui-tabs .ui-tabs-nav > li.ui-state-active .ui-icon {
	margin-right: 10px;
}
body .ui-tabs .ui-tabs-nav > li.ui-state-active {
	background-color: var(--fsu-selection-color);
	color: var(--fsu-primary-text-color-invers);
}
body .ui-tabs .ui-tabs-nav > li.ui-state-hover, body .ui-tabs .ui-tabs-nav > li:hover,  body .ui-tabs .ui-tabs-nav > li:hover a,  body .ui-tabs .ui-tabs-nav > li:hover .ui-icon{
	background-color: var(--fsu-hover-color);
	color: var(--fsu-primary-text-color-invers);
}
body .ui-tabs .ui-tabs-nav > li.ui-state-active:hover {
	border-color: var(--fsu-hover-color);
}
body .ui-tabs .ui-tabs-nav > li.ui-tabs-outline{
	border-color: transparent;
}

/* Styling Checkboxen */
body .ui-chkbox .ui-chkbox-box {
	border-color:lightgrey;
}
body .ui-chkbox .ui-chkbox-icon{
	color: var(--fsu-input-value-color)!important;
}
body .ui-chkbox .ui-chkbox-box.ui-state-active {
	background-color: transparent;
	border-color:lightgrey;
}
body .ui-chkbox .ui-chkbox-box.ui-state-focus {
	border-color:var(--fsu-focus-input-color)!important;
}
body .ui-chkbox .ui-chkbox-box.ui-state-hover  {
	border-color:var(--fsu-hover-color)!important;
}
body .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon {
	color: var(--fsu-input-value-color);
}

/* Styling Radiobutton */
/* Focus und Selection-Color Radio*/
body .ui-radiobutton-box.ui-state-active .ui-icon-bullet {
	background-color: var(--fsu-input-value-color);	
}
body .ui-radiobutton .ui-radiobutton-box, body .ui-radiobutton .ui-radiobutton-box.ui-state-active {
	border-color: lightgrey;
}
body .ui-radiobutton .ui-radiobutton-box.ui-state-hover {
  border-color: var(--fsu-hover-color);
}
body .ui-radiobutton .ui-radiobutton-box.ui-state-focus {
	outline: 0px solid var(--fsu-focus-input-color);
	outline-offset: -2px;
	transition: outline 0.15s ease-in!important;
	outline-width: 2px;
}
/* Radiobutton etwas mehr Platz dazwischen*/
body .ui-selectoneradio td:last-child {
	padding-left: 10px;
} 

/*toogleswitch*/
body .ui-toggleswitch.ui-toggleswitch-checked .ui-toggleswitch-slider {
	background-color: var(--fsu-input-value-color);
	border-color: var(--fsu-input-value-color); 
}
body .ui-toggleswitch.ui-toggleswitch-checked .ui-toggleswitch-slider::before {
	background-color: white;
}
body .ui-toggleswitch {
 	position:relative!important;
 	display:inline-block!important;
	width:3em!important;;
	height:1.75em!important;
}
body .ui-toggleswitch-slider {
 	border-radius:30px!important;
}
body .ui-toggleswitch-slider:before {
	left:.1em!important;;
	bottom:.1em!important;;
}
body .ui-toggleswitch-checked .ui-toggleswitch-slider:before {
 	-webkit-transform:translateX(1.250em)!important;
 	-ms-transform:translateX(1.250em)!important;
 	transform:translateX(1.250em)!important;
}

body .ui-toggleswitch-focus .ui-toggleswitch-slider, body .ui-toggleswitch .ui-toggleswitch-slider:hover {
	outline: 0px solid var(--fsu-focus-input-color);
	outline-offset: 2px;
	transition: outline 0.15s ease-in!important;
	outline-width: 2px;
}

/* Datepicker Navigationspfeile*/
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next, body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
	color: var(--fsu-primary-text-color-invers);
}

/* Filterfelder in Tabellen*/
body .ui-datatable .ui-inputfield {
	color: var(--fsu-primary-text-color-invers);
}

/* Datepicker und Calendar angleichen, Icon ist sonst bei Datepicker verschoben*/
body .p-datepicker {
	display: inline;
}

/* --- FOCUS --- */
body .ui-button:focus-visible {
	outline: none;
}
/* Focus auf Tabelle*/
body .ui-datatable .ui-datatable-data:focus {
	transition: outline var(--animation);
	outline: dotted 4px darkblue!important;
	outline-offset: -4px;
}
/* Focus im Menu Link deaktiveren, nur an Text anzeigen */
body .layout-wrapper .layout-sidebar .layout-menu li a:focus {
  background-image: none;
}
/* Sprachauswahl Focus mit Unterstrich */
body .languageChooser, .languages .ui-selectonemenu, .ui-selectonemenu.languages {
	background-image: linear-gradient(to bottom, currentColor, currentColor), linear-gradient(to bottom, transparent, transparent);
}

body a {
    color: var(--fsu-selection-color);
}

/* Focus mit Unterstrich: Profil, Links, Tabellenkopf, Buttons, Tabs*/
body .profile-item a, body a, body .ui-datatable .ui-column-title, body .ui-button .ui-button-text, body .layout-wrapper .layout-sidebar .layout-menu li a .menuitem-text, body .ui-tabs .ui-tabs-header > a {
	background-image: none;
	background-size: 0 2px;
	background-position: 50% 100%;
}
body .profile-item a:focus, body a:focus, body .ui-datatable th:focus .ui-column-title, body .ui-button.ui-state-focus .ui-button-text, body .layout-wrapper .layout-sidebar .layout-menu li a:focus .menuitem-text, body .ui-tabs .ui-tabs-header:focus > a {
	background: transparent no-repeat;
	background-image: linear-gradient(to bottom, currentColor, currentColor  ), linear-gradient(to bottom, transparent, transparent);
	background-size: 100% 2px;
	background-position: 50% 100%;
	outline: 0 none;
	transition: background-size, var(--animation);
}
/* Focus auf readonly inputfledern */
body .ui-inputfield[readonly='readonly']:focus, body .ui-linkfield:focus {
  	background: repeat-x bottom;
    background-image: linear-gradient(90deg, transparent, transparent 50%, #fff 50%, #fff 100%), linear-gradient(90deg, #bdbdbd, #bdbdbd);
    background-size: 5px 2px, 100% 2px;	
    transition: background-size 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
}

body .ui-tabs .ui-tabs-header > a  {
	background-position: 50% 80%;
}
body .ui-tabs .ui-tabs-header:focus > a {
	background-size: 80% 2px;
	background-position: 50% 80%;
} 
/* Focus mit Unterstrich, da Überschriftstext ohne div nicht mit css selectierbar für background-image, damit Animation abweichend.*/
body .ui-accordion .ui-accordion-header {
	 text-decoration-color: white;
}
body .ui-accordion .ui-accordion-header:focus{
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
	transition: text-decoration-color 1s;
}
/* Buttons mit Text in Inputgroups nicht unterstreichen */
body .ui-inputgroup .ui-button.ui-state-focus .ui-button-text{
	background: none;	
}

/*Focus in Tabellen auf RowToggeler*/
body .ui-datatable .ui-rowgroup-header .ui-rowgroup-toggler:focus span:before, body .ui-datatable .ui-rowgroup-header .ui-rowgroup-toggler .ui-icon:hover:before  {
  	color: var(--fsu-accent-dark-color);
	background-color: var(--fsu-primary-text-color-invers);
	border: 1px solid var(--fsu-primary-text-color-invers);
	border-radius: 20px;
	margin-left: -1px;
	transition: border var(--animation);
}

/*FSULogo ist ein Bild und hat keine eigene Farbe deshalb fix mitgeben*/
body .sidebar-logo a:focus,  body .mobile-logo:focus {
	background-image: linear-gradient(to bottom, var(--fsu-primary-text-color-invers), var(--fsu-primary-text-color-invers) ), linear-gradient(to bottom, transparent, transparent);
}
/* Inverse Farbe für Focus Eingabefeld in Tabellenkopffilter */
body .ui-datatable .ui-filter-column .ui-inputfield:focus{
	background-image: linear-gradient(to bottom, var(--fsu-primary-text-color-invers), var(--fsu-primary-text-color-invers) ), linear-gradient(to bottom, transparent, transparent);
}
/* Focusunterstrich Bei Button etwas zur Schrift verschieben */
body .ui-button .ui-button-text {
	background-position: 50% 90%;
}
body .ui-button.ui-state-focus .ui-button-text {
	background-position: 50% 90%;
}
/* Default Outline in Tabellenköüfen nicht mehr anzeiegn*/
body .ui-datatable th:focus {
	outline: none;
}
body .ui-datepicker td a:focus {
	background: transparent no-repeat;
	outline: 2px solid var(--fsu-focus-input-color);
	transition: outline var(--animation); 
} 
body .ui-paginator .ui-paginator-page:focus {
  background: none;	
	outline: 2px solid currentColor;
	transition: outline var(--animation); 
}
body .ui-paginator .ui-paginator-page.ui-state-active {
  background-color: var(--fsu-selection-color);	
}
/* Focusrahmen Anpassungen Logo*/
body .sidebar-logo a, body .mobile-logo  {
	height: 46px !important;
	display: inline-block;
	padding-top: 0px!important;
  
}
body .layout-wrapper .layout-sidebar .sidebar-logo a {
	margin-left: 62px;
}

body .layout-wrapper .layout-sidebar .sidebar-logo  img {
  margin-left: 0px;
}

/*Idledialog Timer Value Style*/
body .idleDialogTimerValue {
	color: white;
	font-size: 20px;
}
/*Idledialog Timer Value Style*/
body .idleDialogTimerValue {
	color: white;
	font-size: 20px;
}
body .ui-dialog.idleDialog .ui-growl-dialog-image {
	padding-top: 6px;
}
body .ui-dialog.idleDialog .p-grid div:nth-child(2){
	padding-left: 0px;
}
/* Confirmdialog Icon gelb*/
body .ui-confirm-dialog-severity.ui-icon-alert {
	color: var(--warn-text-color);
	margin-left: 0px; 
}