:root
{
    --pbmg-rot:        #FE9292;
    --pbmg-orange:     #F3CA9D;
    --pbmg-gelb:       #F4F799;
    --pbmg-gruen:      #9DF3A5;
    --pbmg-blau:       #9DE8F3;
    --pbmg-violett:    #DA9DF3;
    
    --pbmg-dunkelgrau:   #444444;
    --pbmg-mittelgrau:   #777777;
    --pbmg-hellgrau:     #AAAAAA;
    --pbmg-sehrhellgrau: #EEEEEE;
    
    --pbmg-selektiert: lightblue;
    
    --pbmg-link-hover-color: blue;
    --pbmg-tooltip-hover-color: inherit;
    --pbmg-liste-pagination-aktuell: red;
    --pbmg-spaltenkopf-dropdown-markiert: orange;
    --pbmg-filterspalte-markiert: orange;
    --pbmg-standard-textfarbe: inherit;
    --pbmg-kontrastreiche-textfarbe: initial;
    
    --pbmg-highlight: lightyellow;
    
    /* 
        
        30.09.2022 HS : ACHTUNG
        
        DSGVO-Konformität: Im Template muss 'Turn off Google font' gewählt sein!
        
        Hier sollte dann eine serifenlose Systemschriftart durch 'sans' gewählt sein,
        da ansonsten eine (hässliche) Serifenschrift benutzt wird.
        
    */
    
    font-family: sans, sans-serif;
    
}

/* -------------------------------------------------------------------------- */
/* Basis-Deklarationen                                                        */
/* -------------------------------------------------------------------------- */

.pbmg-rot
{
    background-color: #FE9292; /* für IE */
    background-color: var(--pbmg-rot);
}

.pbmg-orange
{
    background-color: #F3CA9D; /* für IE */
    background-color: var(--pbmg-orange);
}

.pbmg-gelb
{
    background-color: #F4F799; /* für IE */
    background-color: var(--pbmg-gelb);
}

.pbmg-gruen
{
    background-color: #9DF3A5; /* für IE */
    background-color: var(--pbmg-gruen);
}

.pbmg-blau
{
    background-color: #9DE8F3; /* für IE */
    background-color: var(--pbmg-blau);
}

.pbmg-violett
{
    background-color: #DA9DF3; /* für IE */
    background-color: var(--pbmg-violett);
}

.pbmg-positiv
{
    color: #9DF3A5; /* für IE */
    color: var(--pbmg-gruen);
}

.pbmg-negativ
{
    color: #FE9292; /* für IE */
    color: var(--pbmg-rot);
}

.pbmg-neutral
{
    color: inherit;
}

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

.pbmg-mittig,
.pbmg-zentriert
{
    text-align: center;
}

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

.pbmg-highlight
{
    background-color: lightyellow; /* für IE */
    background-color: var(--pbmg-highlight);
}

.pbmg-fett
{
    font-weight: bold;
}

.pbmg-nicht-fett
{
    font-weight: initial;
}

.pbmg-abstand-oben
{
    /*padding-top: 1em;*/
    margin-top: 1em;
}

.pbmg-abstand-unten
{
    /*padding-bottom: 1em;*/
    margin-bottom: 1em;
}

.pbmg-grosser-abstand-oben
{
    /*padding-top: 2em;*/
    margin-top: 2em;
}

.pbmg-grosser-abstand-oben + .pbmg-grosser-abstand-oben
{
    margin-top: 4em;
}

.pbmg-abstand-links
{
    /*padding-left: 0.5em;*/
    margin-left: 0.5em;
}

.pbmg-abstand-rechts
{
    /*padding-right: 0.5em;*/
    margin-right: 0.5em;
}

.pbmg-leerstelle-links:before
{
    content: " ";
}

.pbmg-bejaht
{
    background-color: #9DF3A5; /* für IE */
    background-color: var(--pbmg-gruen);
    border-radius: 3px;
    margin-left: -0.2em;
    margin-right: -0.1em;
    padding-left: 0.2em;
    padding-right: 0.2em;
}

.pbmg-verneint
{
    background-color: #FE9292; /* für IE */
    background-color: var(--pbmg-rot);
    border-radius: 3px;
    color: black;
    margin-left: -0.2em;
    margin-right: -0.1em;
    padding-left: 0.2em;
    padding-right: 0.2em;
}

.pbmg-bg-positiv
{
    background-color: #9DF3A5; /* für IE */
    background-color: var(--pbmg-gruen);
    border-radius: 3px;
    color: black;
    padding: 0.2em;
}

.pbmg-bg-negativ
{
    background-color: #FE9292; /* für IE */
    background-color: var(--pbmg-rot);
    border-radius: 3px;
    color: black;
    padding: 0.2em;
}

.pbmg-bg-neutral
{
    background-color: #F4F799; /* für IE */
    background-color: var(--pbmg-gelb);
    border-radius: 3px;
    color: black;
    padding: 0.2em;
}

.pbmg-unterstrichen
{
    text-decoration: underline;
}

.pbmg-durchgestrichen
{
    text-decoration: line-through;
}

.pbmg-kleiner
{
    font-size: x-small;
}

.pbmg-gross
{
    font-size: large;
}

.pbmg-groesser
{
    font-size: x-large;
}

.pbmg-einklammern:before
{
    content: "(";
}

.pbmg-einklammern:after
{
    content: ")";
}

.pbmg-link
{
    color: var(--body-link-color);
}

.pbmg-link:hover
{
    color: var(--body-link-hover-color);
}

.pbmg-linie-oben
{
    border-top: grey thin solid;
}

ul > li.pbmg-unsichtbar
{
    color: transparent;
}

ul > li.pbmg-unsichtbar > *
{
    color: initial; 
}

input.pbmg-zehn-zeichen
{
    width: 10em !important;
}


/* -------------------------------------------------------------------------- */
/* Allgemeine Animation für details close -> open                             */
/* -------------------------------------------------------------------------- */

details[open] summary ~ *
{
  animation: sweep 0.5s ease-in-out;
}

@keyframes sweep
{
  0%    {opacity: 0; transform: translateX(-10px)}
  100%  {opacity: 1; transform: translateX(0)}
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für das PBMG-Menü                                            */
/* -------------------------------------------------------------------------- */

#t4-header,
.pbmg-menue
{
    border-bottom: thin solid darkgrey; /* alt */
    border-bottom: thin solid #444444; /* für IE */
    border-bottom: thin solid var(--pbmg-dunkelgrau);
}

#t4-header ul.nav > li.nav-item,
.pbmg-menue ul.nav > li.nav-item
{
    border-left: thin solid darkgrey; /* alt */
    border-left: thin solid #777777; /* für IE */
    border-left: thin solid var(--pbmg-mittelgrau);
    height: auto;
    padding: 0.5em 1.0em 0.5em 1em;
}

#t4-header ul.nav > li.nav-item:last-child,
.pbmg-menue ul.nav > li.nav-item:last-child
{
    border-right: thin solid darkgrey; /* alt */
    border-right: thin solid #777777; /* für IE */
    border-right: thin solid var(--pbmg-mittelgrau);
}

#t4-header ul.nav > li.nav-item:hover,
.pbmg-menue ul.nav > li.nav-item:hover
{
    background-color: lightgrey; /* alt */
    background-color: #AAAAAA; /* für IE */
    background-color: var(--pbmg-hellgrau);
}

#t4-header ul.nav > li.nav-item > a.nav-link,
.pbmg-menue ul.nav > li.nav-item > a.nav-link
{
    height: auto;
    padding: unset;
}

#t4-header ul.nav > li.nav-item ul > li.nav-item,
.pbmg-menue ul.nav > li.nav-item ul > li.nav-item
{
    height: auto;
    padding: 0.5em 1.0em 0.5em 1em;
}

#t4-header ul.nav > li.nav-item ul > li.nav-item:hover,
.pbmg-menue ul.nav > li.nav-item ul > li.nav-item:hover
{
    background-color: lightgrey; /* alt */
    background-color: #AAAAAA; /* für IE */
    background-color: var(--pbmg-hellgrau);
}

div#system-message-container div.alert-message > p
{
    word-wrap: break-word;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für die Nutungsbedingungen beim Registrieren                */
/* -------------------------------------------------------------------------- */

iframe[name="Nutzungsbedingungen"] body
{
    font-family: var(--t4-font-sans-serif);
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für das Profil beim Registrieren                            */
/* -------------------------------------------------------------------------- */

form#member-registration #jform_name,
form#member-registration #jform_email1,
form#member-registration #jform_profile_address1,
form#member-registration #jform_profile_phone
{
    max-width: 480px;
}

form#member-registration #jform_profile_address1,
form#member-registration #jform_profile_phone
{
    max-width: 720px;
}

form#member-registration tbody.subform-repeatable-container div.controls
{
    margin-left: unset
}

form#member-registration tbody.subform-repeatable-container div.controls input.form-control
{
    max-width: unset;
}

form#member-registration div.controls small.form-text
{
    font-size: unset;
    color: unset;
}

form#member-registration fieldset legend
{
    display: none;
}

form#member-registration fieldset textarea[id^=jform_com_fields_firmendaten_info]
{
    background-color: unset;
    border: unset;
    max-width: unset;
    resize: none;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für das Profil beim Profil bearbeiten                       */
/* -------------------------------------------------------------------------- */

.profile fieldset dt
{
    text-align: unset;
}

form#member-profile fieldset textarea[id^=jform_com_fields_firmendaten_info]
{
    background-color: unset;
    border: unset;
    max-width: unset;
    resize: none;
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für einen PBMG-Button                                        */
/* -------------------------------------------------------------------------- */

button.pbmg-button
{
    border-radius: 4px;
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für einen PBMG-Button im Link-Style                          */
/* -------------------------------------------------------------------------- */

button.pbmg-link
{
    background: none;
    border: none;
    color: var(--body-link-hover-color);
    text-align: left;
    /*text-decoration: underline;*/
    text-decoration: none;
    
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für das PBMG-Captcha                                        */
/* -------------------------------------------------------------------------- */

.pbmg-captcha-label
{
    padding-bottom: 1em;
}

.pbmg-captcha-frage
{
    font-weight: bold;
    padding-bottom: 1em;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für den Wrapper um den gesamten Inhalt aller Komponenten    */
/* -------------------------------------------------------------------------- */

div.pbmg-inhalt
{
    padding-top: unset;
}

div.pbmg-inhalt > div 
{
    max-width: none;
    width: 90%;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für die PBMG-Fußzeile                                       */
/* -------------------------------------------------------------------------- */

div.t4-section-inner.container
{
    padding-bottom: 1em;
    padding-top: 1em;
}

div.pbmg-fusszeile
{
    display: flex; 
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 1em;
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für die PBMG-Tooltips                                        */
/* -------------------------------------------------------------------------- */

span.pbmg-tooltip-text
{
    border-bottom: 1px dashed #777777; /* für IE */
    border-bottom: 1px dashed var(--pbmg-mittelgrau);
    position: relative;
}

span.pbmg-tooltip-text:hover
{
    border-bottom-style: solid;
    color: #AAAAAA; /* für IE */
    /*color: var(--pbmg-hellgrau);*/
    color: var(--pbmg-tooltip-hover-color);
}

span.pbmg-tooltip-text-ohne-linie
{
    border-bottom: none;
    position: relative;
}

span.pbmg-tooltip-text-ohne-linie:hover
{
    border-bottom-style: none;
    color: #AAAAAA; /* für IE */
    color: var(--pbmg-hellgrau);
}

span.pbmg-tooltip-text > span.pbmg-tooltip-tip
{
    background-color: #EEEEEE; /* für IE */
    background-color: var(--pbmg-sehrhellgrau);
    border: solid thin grey;
    border-radius: 4px;
    box-shadow: 10px 10px 10px grey;
    color: #444444; /* für IE */
    color: var(--pbmg-dunkelgrau);
    font-weight: initial;
    left: 30px; /* Startwert, wird von JavaScript neu gesetzt */
    max-width: 500px;
    min-width: 200px;
    opacity: 0;
    padding: 5px;
    position: absolute;
    text-align: initial;
    top: 30px; /* Startwert, wird von JavaScript neu gesetzt */
    transition: opacity 0.3s linear, visibility 0.3s linear;
    visibility: hidden;
    white-space: normal;
    z-index: 2000;
}

span.pbmg-tooltip-text:hover > span.pbmg-tooltip-tip
{
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s linear, visibility 0.3s linear;
    transition-delay: 0.2s;
}

span.pbmg-tooltip-tip-ueberschrift
{
    border-bottom: solid thin darkgray; /* alt */
    border-bottom: solid thin #444444; /* für IE */
    border-bottom: solid thin var(--pbmg-dunkelgrau);
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    padding-bottom: 5px;
    white-space: nowrap;
    overflow-x: hidden;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für die PBMG-Startseite                                     */
/* -------------------------------------------------------------------------- */

table.pbmg-startseite-tabelle
{
    margin-left: auto;
    margin-right: auto;    
}

table.pbmg-startseite-tabelle > tbody > tr > td
{
    padding: 10px 20px;
    text-align: center;
    vertical-align: middle;
    width: 240px;
    height: 120px;
}

table.pbmg-startseite-tabelle > tbody > tr > td.pbmg-logo
{
    padding: 0;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für die PBMG-Liste                                          */
/* -------------------------------------------------------------------------- */

#pbmg-liste-hidden-enter-button /* notwendig für IE */
{
    height: 0px;
    left: -99999px;  
    position: absolute;
    top: -99999px;
    width: 0px;
}

div.pbmg-liste-vor-der-tabelle > span + span
{
    margin-left: 1em;
}

button.pbmg-liste-pagination-button-aktiv
{
    padding: 4px 5px 4px 5px;
}

button.pbmg-liste-pagination-button-aktiv:hover
{
    color: blue; /* für den IE */
    color: var(--pbmg-link-hover-color);
}

button.pbmg-liste-pagination-button-inaktiv
{
    /*background-color: red;  für den IE */
    /*background-color: var(--pbmg-liste-pagination-aktuell);*/
    color: red; /* für den IE */
    color: var(--pbmg-liste-pagination-aktuell);
    padding: 4px 5px 4px 5px;
}

button.pbmg-liste-pagination-button-inaktiv:hover
{
    cursor: not-allowed;
}

span.pbmg-liste-filterspalte + span.pbmg-liste-filterspalte
{
    margin-left: 0.8em;
}

span.pbmg-liste-filterspalte > select
{
    max-width: 15em;
    margin-left: 0.4em;
}

div.pbmg-liste-tabelle
{
    clear: left;
    margin-bottom: 10px;
    margin-top: 10px;
    min-height: 400px;
    overflow-x: auto;
}

div.pbmg-liste-tabelle-sticky
{
    clear: left;
    height: 600px;
    margin-bottom: 10px;
    margin-top: 10px;
    overflow-x: auto;
    overflow-y: scroll;
}

table.pbmg-liste-tabelle
{
    margin-top: 0px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
}

table.pbmg-liste-tabelle-sticky
{
    margin-top: 0px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
}

table.pbmg-liste-tabelle-sticky > thead > tr > th
{
    position: sticky;
    top: 0;
    /*vertical-align: bottom;*/
    z-index: 100;
}

thead.pbmg-liste-tabelle-kopf
{
    
}

th.pbmg-liste-tabelle-kopfzelle
{
    background: #444444; /* für IE */
    background: var(--pbmg-dunkelgrau);
    color: #EEEEEE; /* für IE */
    color: var(--pbmg-sehrhellgrau);
    font-weight: bold;
    line-height: 20px;
    padding: 8px 10px;
    vertical-align: baseline;
    white-space: nowrap;
}

td.pbmg-liste-tabelle-koerperzelle
{
    line-height: 20px;
    padding: 8px 10px;
    vertical-align: top;    
}

tr.pbmg-liste-zeilen-abwaechselnd-einfaerben:nth-child(odd)
{
    background: #AAAAAA; /* für IE */
    background: var(--pbmg-hellgrau);
}

span.pbmg-liste-spaltenkopf-markiert
{
    color: orange; /* für IE */
    color: var(--pbmg-spaltenkopf-dropdown-markiert);
}

div.pbmg-liste-spaltenkopf-dropdown
{
    display: inline-block;
    margin-left: 5px;
    white-space: nowrap;
}

button.pbmg-liste-spaltenkopf-dropdown-button
{
    background-color: #f8f8f8;
    background-image: linear-gradient(to bottom, #ffffff, #eee);
    background-repeat: repeat-x;
    border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.1);
    color: #666;
    padding: 0;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
}

button.pbmg-liste-spaltenkopf-dropdown-button-markiert
{
    color: orange; /* für IE */
    color: var(--pbmg-spaltenkopf-dropdown-markiert);
}

button.pbmg-liste-spaltenkopf-dropdown-button:hover
{
    color: blue; /* für den IE */
    color: var(--pbmg-link-hover-color);
}

div.pbmg-liste-spaltenkopf-dropdown-inhalt
{
    display:none;
    padding-top: 35px;
    position: fixed;
    white-space: nowrap;
    z-index: 101;
}

div.pbmg-liste-spaltenkopf-dropdown-inhalt div.button input
{
	margin-bottom: 0px;
}

div.pbmg-liste-spaltenkopf-dropdown-subbutton,
button.pbmg-liste-spaltenkopf-dropdown-subbutton
{
    background-color: #f8f8f8;
    background-image: linear-gradient(to bottom,#ffffff,#eee);
    background-repeat: repeat-x;
    border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.1);
    color: #666;
    display: block;
    padding: 4px 14px;
    text-align: left;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
    width: 100%;
}

button.pbmg-liste-spaltenkopf-dropdown-subbutton:hover
{
    color: blue; /* für den IE */
    color: var(--pbmg-link-hover-color);
}

div.pbmg-liste-spaltenkopf-dropdown-subbutton > span > span,
button.pbmg-liste-spaltenkopf-dropdown-subbutton > span
{
    padding-right: 0.5em;
}

div.pbmg-liste-spaltenkopf-dropdown:hover div.pbmg-liste-spaltenkopf-dropdown-inhalt,
div.pbmg-liste-spaltenkopf-dropdown:focus div.pbmg-liste-spaltenkopf-dropdown-inhalt,
div.pbmg-liste-spaltenkopf-dropdown:active div.pbmg-liste-spaltenkopf-dropdown-inhalt
{
    display: block;
}

div.pbmg-liste-spaltenkopf-dropdown-inhalt > div
{
    box-sizing: border-box;
    font-weight: normal;
    padding: 6px 16px 6px 16px;
}

span.pbmg-liste-modaldialog-markierungsfeld
{
    color: #07b;  	 	
}

span.pbmg-liste-modaldialog-markierungsfeld:hover
{
    color: #00466F;  	 	
    text-decoration: underline; 
    cursor:pointer;
}

div.pbmg-liste-tabelle-koerperzelle-farbinfo
{
    border: thin solid transparent;
    border-radius: 5px;
    display: block;
    height: 1.5em;
    width: 3em;
}

div.pbmg-liste-untertabelle
{
    width: 300px;
    height: 200px;
    overflow: auto;
    font-size: smaller;
    border: rgb(204, 204, 204) 1px solid;
}

div.pbmg-liste-untertabelle-sticky
{
    width: 300px;
    height: 200px;
    overflow: auto;
    font-size: smaller;
    border: rgb(204, 204, 204) 1px solid;
}

table.pbmg-liste-untertabelle
{
    width: 100%;
    background-color: rgb(255, 255, 255);
}

table.pbmg-liste-untertabelle-sticky
{
    width: 100%;
    background-color: rgb(255, 255, 255);
    position: relative;
}

div.pbmg-liste-untertabelle-sticky > thead > tr > th
{
    position: sticky;
    top: 0;
    z-index: 50;
}

th.pbmg-liste-untertabelle-kopfzelle
{
    padding: 3px 3px;
    white-space: nowrap;
}

td.pbmg-liste-untertabelle-koerperzelle
{
    padding: 3px 3px;
    border-top: 0;
}

button.pbmg-liste-edit-button,
button.pbmg-liste-neu-button
{
    background-color: #f8f8f8;
    background-image: linear-gradient(to bottom, #ffffff, #eee);
    background-repeat: repeat-x;
    border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.1);
    color: #666;
    color: var(--body-text-color);
    padding: 4px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.75);
}

button.pbmg-liste-neu-button
{
    margin-left: 0.5em;
}




fieldset.pbmg-liste-ja-nein-auswahl
{
    border: none;
    border-radius: 5px;
    display: inline-block;
    padding: 0;
    white-space: nowrap;
}

fieldset.pbmg-liste-ja-nein-auswahl.invalid
{
    background-color: lightcoral;
    background-color: lightgrey;
}
	    
fieldset.pbmg-liste-ja-nein-auswahl > input[type="text"]
{
    background-color: transparent;
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    user-select: none;
    width: 1px; /* ganz ausblenden geht leider nicht, da eine optionale Fehlermeldung dann nicht angezeigt wird */
}
	    
fieldset.pbmg-liste-ja-nein-auswahl > input[type="radio"]
{
    display: none;
}
	    
fieldset.pbmg-liste-ja-nein-auswahl > label
{
    border: lightgrey thin solid;
    border-radius: 5px;
    display: inline-block;
    margin: 0;
    padding: 5px;
    text-align: center;
    width: 3em;
}
	    
fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-0
{
    border-color: #F4F799;
    border-color: var(--pbmg-gelb);
}

fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-1
{
    border-color: #9DF3A5;
    border-color: var(--pbmg-gruen);
}

fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-2
{
    border-color: #FE9292;
    border-color: var(--pbmg-rot);
}

fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-0.checked
{
    background-color: #F4F799;
    background-color: var(--pbmg-gelb);
}

fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-1.checked
{
    background-color: #9DF3A5;
    background-color: var(--pbmg-gruen);
}

fieldset.pbmg-liste-ja-nein-auswahl > label.pbmg-liste-ja-nein-label-2.checked
{
    background-color: #FE9292;
    background-color: var(--pbmg-rot);
}

/*
    --pbmg-rot:        #FE9292;
    --pbmg-orange:     #F3CA9D;
    --pbmg-gelb:       #F4F799;
    --pbmg-gruen:      #9DF3A5;
    --pbmg-blau:       #9DE8F3;
    --pbmg-violett:    #DA9DF3;
*/

span.pbmg-rot,
span.pbmg-liste-rot {
    background-color: #FE9292;
    background-color: var(--pbmg-rot);
    padding: 3px;
    border-radius: 3px;
}

span.pbmg-orange,
span.pbmg-liste-orange {
    background-color: #F3CA9D;
    background-color: var(--pbmg-orange);
    padding: 3px;
    border-radius: 3px;
}

span.pbmg-gelb,
span.pbmg-liste-gelb {
    background-color: #F4F799;
    background-color: var(--pbmg-gelb);
    padding: 3px;
    border-radius: 3px;
}

span.pbmg-gruen,
span.pbmg-liste-gruen {
    background-color: #9DF3A5;
    background-color: var(--pbmg-gruen);
    padding: 3px;
    border-radius: 3px;
}

span.pbmg-blau,
span.pbmg-liste-blau {
    background-color: #9DE8F3;
    background-color: var(--pbmg-blau);
    padding: 3px;
    border-radius: 3px;
}

span.pbmg-violett,
span.pbmg-liste-violett {
    background-color: #DA9DF3;
    background-color: var(--pbmg-violett);
    padding: 3px;
    border-radius: 3px;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für das PBMG-Formular                                       */
/* -------------------------------------------------------------------------- */

form#pbmg-formular-form
{
    margin: auto;
    width: 100%;
}

form#pbmg-formular-form button
{
    border-radius: revert;
}

form#pbmg-formular-form button:not(:first-child)
{
    margin-left: 20px;
}

form.pbmg-formular-form
{
    transition: opacity 1s;
}

form.pbmg-formular-form.ungueltig
{
    opacity: 0.2;
}

button.pbmg-formular-speichern-und-schliessen-button
{
    color: green;
}

button.pbmg-formular-speichern-und-weitermachen-button
{
}

button.pbmg-formular-abbrechen-button
{
    color: red;
}

button.pbmg-formular-loeschen-button,
button.pbmg-formular-loeschen-ja-button
{
    color: blue;
}

button.pbmg-formular-loeschen-nein-button
{
    color: red;
}

sup.pbmg-formular-pflichtfeld
{
    padding-right: 0.5em;
}

table.pbmg-formular-tabelle
{
    margin-top: 10px;
    width: 100%;
}

thead.pbmg-formular-tabelle-kopf th:nth-child(1)
{
    width: 10%;
}

tbody.pbmg-formular-tabelle-koerper
{
}

td.pbmg-formular-tabelle-koerperzelle
{
    border-top: none;
    border-bottom: thin solid #ddd;
}

td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb
{
    border-top: none;
    border-bottom: none;
}

td.pbmg-formular-tabelle-koerperzelle input,
td.pbmg-formular-tabelle-koerperzelle textarea,
td.pbmg-formular-tabelle-koerperzelle select,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb input,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb textarea,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb select
{
    box-sizing: border-box;
    height: auto;
    margin: 0;
    margin-left: 5px;
    padding: 4px;
    width: 100%;
}

td.pbmg-formular-tabelle-koerperzelle input:read-only,
td.pbmg-formular-tabelle-koerperzelle textarea:read-only,
td.pbmg-formular-tabelle-koerperzelle select:disabled,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb input:read-only,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb textarea:read-only,
td.pbmg-formular-tabelle-koerperzelle-ohne-trennlinie-unterhalb select:read-only
{
    background-color: lightgrey;
    color: grey;
}

td.pbmg-formular-tabelle-koerperzelle select
{
    background-color: unset;
    border-color: gray;
    border-radius: 0;
    padding-left: 4px;
    padding-top: 8px;
    padding-bottom: 7px;
}

td.pbmg-formular-tabelle-koerperzelle select:disabled
{
    border-color: lightgrey;
}



td.pbmg-formular-tabelle-koerperzelle input[type="date"] ~ input[type="text"]
{
    margin-top: 8px;
}









div.pbmg-formular-untertabelle
{
    clear: left;
    margin-bottom: 10px;
    margin-top: 10px;
    min-height: 400px;
    overflow-x: auto;
}

div.pbmg-formular-untertabelle-sticky
{
    clear: left;
    height: 400px;
    margin-bottom: 10px;
    margin-top: 10px;
    overflow-x: auto;
    overflow-y: scroll;
}

table.pbmg-formular-untertabelle
{
    margin-top: 0px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
}

table.pbmg-formular-untertabelle-sticky
{
    margin-top: 0px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
}

table.pbmg-formular-untertabelle-sticky > thead > tr > th
{
    position: sticky;
    top: 0;
    z-index: 100;
}

button.pbmg-formular-untertabelle-neu-button.disabled
{
    cursor: not-allowed;
    visibility: hidden;
}

button.pbmg-formular-untertabelle-edit-button.disabled
{
    cursor: not-allowed;
    visibility: hidden;
}










fieldset.pbmg-formular-ja-nein-auswahl
{
    border: none;
    border-radius: 5px;
    display: inline-block;
    padding: 0;
    white-space: nowrap;
}

fieldset.pbmg-formular-ja-nein-auswahl.invalid
{
    background-color: lightcoral;
    background-color: lightgrey;
}
	    
fieldset.pbmg-formular-ja-nein-auswahl > input[type="text"]
{
    background-color: transparent;
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    user-select: none;
    width: 1px; /* ganz ausblenden geht leider nicht, da eine optionale Fehlermeldung dann nicht angezeigt wird */
}
	    
fieldset.pbmg-formular-ja-nein-auswahl > input[type="radio"]
{
    display: none;
}
	    
fieldset.pbmg-formular-ja-nein-auswahl > label
{
    border: lightgrey thin solid;
    border-radius: 5px;
    cursor: pointer;
    display: inline-block;
    margin: 0;
    padding: 5px;
    text-align: center;
    user-select: none;
    width: 3em;
}
	    
fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-0
{
    border-color: #F4F799;
    border-color: var(--pbmg-gelb);
}

fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-1
{
    border-color: #9DF3A5;
    border-color: var(--pbmg-gruen);
}

fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-2
{
    border-color: #FE9292;
    border-color: var(--pbmg-rot);
}

fieldset.pbmg-formular-ja-nein-auswahl > input:checked + label.pbmg-formular-ja-nein-label-0,
fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-0.checked
{
    background-color: yellow;
    background-color: #F4F799;
    background-color: var(--pbmg-gelb);
}

fieldset.pbmg-formular-ja-nein-auswahl > input:checked + label.pbmg-formular-ja-nein-label-1,
fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-1.checked
{
    background-color: green;
    background-color: #9DF3A5;
    background-color: var(--pbmg-gruen);
}

fieldset.pbmg-formular-ja-nein-auswahl > input:checked + label.pbmg-formular-ja-nein-label-2,
fieldset.pbmg-formular-ja-nein-auswahl > label.pbmg-formular-ja-nein-label-2.checked
{
    background-color: red;
    background-color: #FE9292;
    background-color: var(--pbmg-rot);
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für das PBMG-Ja-Nein-Auswahl-Feld                            */
/* -------------------------------------------------------------------------- */

fieldset.pbmgformular-ja-nein-auswahl
{
	border: none;
	border-radius: 5px;
	display: inline-block;
	padding: 0;
  	white-space: nowrap;
}

fieldset.pbmgformular-ja-nein-auswahl.invalid
{
	background-color: lightcoral;
	background-color: lightgrey;
}
	    
fieldset.pbmgformular-ja-nein-auswahl > input[type="text"]
{
	background-color: transparent;
	border: none;
  	margin: 0;
	padding: 0;
  	position: absolute;
  	user-select: none;
	width: 1px; /* ganz ausblenden geht leider nicht, da eine optionale Fehlermeldung dann nicht angezeigt wird */
}
	    
fieldset.pbmgformular-ja-nein-auswahl > input[type="radio"]
{
	display: none;
}
	    
fieldset.pbmgformular-ja-nein-auswahl > label
{
	border: lightgrey thin solid;
	border-radius: 5px;
	cursor: pointer;
	display: inline-block;
  	margin: 0;
	padding: 5px;
  	text-align: center;
	user-select: none;
  	width: 3em;
}
	    
fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-0
{
    border-color: yellow;
    border-color: #F4F799;
    border-color: var(--pbmg-gelb);
}

fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-1
{
    border-color: green;
    border-color: #9DF3A5;
    border-color: var(--pbmg-gruen);
}

fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-2
{
    border-color: red;
    border-color: #FE9292;
    border-color: var(--pbmg-rot);
}

fieldset.pbmgformular-ja-nein-auswahl > input:checked + label.pbmgformular-ja-nein-label-0,
fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-0.checked
{
    background-color: yellow;
    background-color: #F4F799;
    background-color: var(--pbmg-gelb);
}

fieldset.pbmgformular-ja-nein-auswahl > input:checked + label.pbmgformular-ja-nein-label-1,
fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-1.checked
{
    background-color: green;
    background-color: #9DF3A5;
    background-color: var(--pbmg-gruen);
}

fieldset.pbmgformular-ja-nein-auswahl > input:checked + label.pbmgformular-ja-nein-label-2,
fieldset.pbmgformular-ja-nein-auswahl > label.pbmgformular-ja-nein-label-2.checked
{
    background-color: red;
    background-color: #FE9292;
    background-color: var(--pbmg-rot);
}

/* -------------------------------------------------------------------------- */
/* Deklarationen für den PBMG-Formular-Modaldialog-Löschen                    */
/* -------------------------------------------------------------------------- */

div.pbmg-formular-modaldialog-loeschen
{
    display: none;
}

div.pbmg-formular-modaldialog-loeschen-hintergrund
{
    background-color: rgba(0,0,0,0.4);
    left: 0;
    height: 100%;
    overflow: auto;
    padding-bottom: 50px;
    padding-top: 50px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001;
}

div.pbmg-formular-modaldialog-loeschen-fenster
{
    background-color: #fefefe;
    border: 1px solid #888;
    box-shadow: 10px 10px 10px #444;
    height: 80%;
    margin: auto;
    padding: 20px;
    width: 80%;
}

div.pbmg-formular-modaldialog-loeschen-fenster-kopf
{
    background-color: #f0f0f0;
    font-weight: bold;    
    height: 3em;
    line-height: 3em;
    margin-bottom: 1em;
    padding-left: 20px;
}

div.pbmg-formular-modaldialog-loeschen-fenster-inhalt
{
    height: calc(100% - 6em);
    text-align: center;
    overflow-y: auto;
}

button.pbmg-formular-modaldialog-loeschen-ja-button
{
    color: blue;
}

button.pbmg-formular-modaldialog-loeschen-nein-button
{
    color: red;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für den PBMG-Modaldialog                                    */
/* -------------------------------------------------------------------------- */

div.pbmg-modaldialog-hintergrund
{
    background-color: rgba(0,0,0,0.4);    
    display: none;
    height: 100%;
    left: 0;
    overflow: auto;
    padding-bottom: 50px;
    padding-top: 50px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1001;
}

div.pbmg-modaldialog-hintergrund.sichtbar
{
}

div.pbmg-modaldialog-hintergrund-kein-scrollen
{
    overflow: hidden;
}

/*
div.pbmgmodal-entwicklung
{
  	margin-left: 10%;
}

button.pbmgmodal-entwicklung-ok-button
{
  	color: green;
}

button.pbmgmodal-entwicklung-abbrechen-button
{
  	color: red;
}

span.pbmgmodal-entwicklung-hinweistext
{
  	color: white;
}
*/

div.pbmg-modaldialog-fenster
{
    background-color: #fefefe;
    border: 1px solid #888;
    box-shadow: 10px 10px 10px #444;
    margin: auto;
    height: 80%;
    padding: 20px;
    width: 80%;
}

div.pbmg-modaldialog-kopf
{
    background-color: #f0f0f0;
    margin-bottom: 1em;
    height: 3em;
}

button.pbmg-modaldialog-schliessen-button
{
    color: red;
    float: right;
    margin-right: 5px;
    margin-top: 5px;
}

div.pbmg-modaldialog-meldungen
{
    background-color: #F4F799; /* für IE */
    background-color: var(--pbmgportal-gelb);
    color: black;
}

div.pbmgmodal-meldungen > div
{
  	padding: 5px;
}

div.pbmg-modaldialog-inhalt
{
    height: calc(100% - 6em);
    overflow-y: auto;
}

div.pbmg-modaldialog-ladeanzeige
{
    position: relative;
    top: -30%;
}

img.pbmg-modaldialog-ladeanzeige
{
    display: block;
    margin-left: auto;
    margin-right: auto;  
}

div.pbmg-modaldialog-inhalt td.pbmg-formular-tabelle-zelle div.pbmg-liste-untertabelle-sticky
{
    height: auto;
    max-height: 300px;
    width: 100%;
}








/* -------------------------------------------------------------------------- */
/*  Deklarationen für die PBMG-Vergabeprozesse und Teilnahmewettbewerbe       */
/* -------------------------------------------------------------------------- */

.pbmg-vergabeprozess-allgemeine-informationen-ueberschrift
{
    
}

.pbmg-vergabeprozess-allgemeine-informationen-erklaerung
{
    margin-top: 3em;
}

.pbmg-vergabeprozess-allgemeine-informationen-erklaerung > h5
{
    margin-bottom: 1em;
}

.pbmg-vergabeprozess-allgemeine-informationen-dokumente
{
    margin-top: 3em;
}

.pbmg-vergabeprozess-allgemeine-informationen-dokumente > h5
{
    margin-bottom: 1em;
}

.pbmg-vergabeprozess-allgemeine-informationen-dokumente > div > ul > li + li
{
    margin-top: 1em;
}

.pbmg-aktuelle-teilnahmewettbewerbe-uebersicht-ueberschrift
{
    
}

div.aktuelle-angebotsabfragen-formular > form > ul > li > ul
{
    padding-bottom: 1.5em;
}

div.aktuelle-angebotsabfragen-formular > form > ul > li > ul > li:not(:first-child)
{
    padding-top: 0.5em;
}

table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle
{
    border: thin solid black;
    width: 100%;
}

table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle thead tr
{
    background-color: black;
    color: white;
}

table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle > tbody > tr:nth-child(even)
{
    background-color: lightgray;
}

table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle > thead > tr > th,
table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle > tbody > tr > td
{
    padding: 5px;
}

table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle > thead > tr > th:nth-child(4),
table.pbmg-aktuelle-angebotsabfragen-formularsicht-tabelle > tbody > tr > td:nth-child(4)
{
    text-align: center;
}

form#pbmg-formular-form .pbmg-link
{
    padding: 0;
}

form#pbmg-formular-form button.pbmg-link + button.pbmg-button
{
    margin-left: 0.5em;
}

form#pbmg-formular-form span.pbmg-tooltip-text + button.pbmg-button
{
    margin-left: 0.5em;
}

/* -------------------------------------------------------------------------- */
/*  Deklarationen für die Offline-Seite (Ausblenden des Logins)               */
/* -------------------------------------------------------------------------- */

body.offline fieldset.input
{
    display: none;
}