/*-----------------------------------------------------------------------------------------------------------------------------
 * allgemeines Css
 *----------------------------------------------------------------------------------------------------------------------------- */
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-weight: bold;
    src: url('fonts/Roboto-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: italic;
    src: url('fonts/Roboto-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: bold;
    src: url('fonts/Roboto-BoldItalic.ttf') format('truetype');
}

html, body {
    position: relative; /* verhindert Drag-Drop-Fehler bei JQuery /* */
    height: 100%;
    font-family: Roboto, Verdana, Arial, sans-serif;
    font-size: 0.9em;
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
    color: #000;
}

ol, ul {
    list-style-type: none;
}

table {
    border-spacing: 0;
    border: none;
}

:focus {
    outline-color: transparent;
    outline-style: none;
}

.clearfix:after {
    content: "."; /* Dem Umfliessenden Element wird Inhalt angehÃ¤ngt */
    clear: both; /* Float wird aufgehoben */
    display: block;
    /* Der Punkt kommt in die nÃ¤chste Zeile, da Blockanweisung */
    visibility: hidden; /* ist aber nicht sichtbar */
    height: 0; /* und hat auch keine Höhe */
}

.clearfixB:before {
    content: "."; /* Dem Umfliessenden Element wird Inhalt angehÃ¤ngt */
    clear: both; /* Float wird aufgehoben */
    display: block;
    /* Der Punkt kommt in die nÃ¤chste Zeile, da Blockanweisung */
    visibility: hidden; /* ist aber nicht sichtbar */
    height: 0; /* und hat auch keine Höhe */
}

.clearfloat {
    clear: both
}

.hidden {
    display: none !important;
}

.displayInlineBlock {
    display: inline-block;
}

.float_right {
    float: right;
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * Seite
 *----------------------------------------------------------------------------------------------------------------------------- */
#page {
    min-height: 100%;
    /*	min-width: 1024px; */ /*px wegen vorgegebener Seitengröße*/
    /*	max-width: 1500px; */ /*px wegen vorgegebener Seitengröße*/
    margin: auto;
    position: relative;
}

.info_startseite {
    color: red;
    margin-top: 2em;
    text-align: center;
    font-size: 1.2em !important;
}

#menu_schliesser {
    background-color: rgba(0, 0, 0, 0.3);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 5000;
    top: 0;
    left: 0;
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * Kopfbereich
 *----------------------------------------------------------------------------------------------------------------------------- */
#header {
    max-width: 80vw;
    margin: 4em auto 1em;
}

#header_logo_zeile {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

#img_pj_logo {
    height: 65px; /* Pixelangabe wg. Image */
}

#pj_logo {
    /*float: left;*/
}

#pj_logo_bg {
    display: inline-block;
    height: 100px;
}

#img_pj_bild {
    height: 80px; /* Pixelangabe wg. Image */
}

#img_pj_fakultaet {
    margin-right: 0.5em;
    max-height: 92px;
    vertical-align: middle;
}

#pj_fakultaet {
    height: 100px;
    line-height: 100px;
    margin-top: -1em;
    overflow: hidden;
}

#figuren_header {
    width: 42%;
    max-width: 400px;
}

#header_nav_zeile {
    display: table;
    min-height: 76px;
    width: 100%;
}

.wennMobilDannZeigen {
    display: none;
}

#logo_Section {
}

#header_navigation {
    display: table-cell;
    vertical-align: middle;
}

#mobil_menu_balken {
    cursor: pointer;
    display: none;
}

#header_navigation_list {
    background-color: white !important;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#header_navigation_list li {
    float: left;
    font-size: 1.2em;
    line-height: 3em;
    padding: 0 2em 0 0;
}

#header_navigation_list li a {
    color: inherit !important;
    padding: 0;
    display: block;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
}

#activeHeaderPage span {
    border-bottom-style: solid;
    font-weight: bold;
    padding: 0 0.5em;
    display: inline-block;
}

.navigation_testlink {
    background-color: white !important;
    color: gray !important;
    border: thin solid gray !important;
    padding-right: 4em !important;
}

.navigation_testlink:hover {
    background-color: white;
    color: gray;
    border: thin solid gray;
}

#logout_section {
    float: right !important;
    padding: 0 !important;
}

#logout_bild {
    display: inline-block;
    padding-right: 4em;
}

#img_logout_bild {
    cursor: pointer;
    height: 32px;
    vertical-align: middle;
}

/*
#logout_info_person {
	position: absolute;
	right: 0;
	background-color: white !important;
	color: gray !important;
	border: thin solid gray !important;
	padding: 5px;
}
*/
#person_info {
    margin-bottom: 0.5em;
}

#display_username {
    padding: 0.1em 0.2em;
    margin: 0;
}

#display_person {
    padding: 0.1em 0.2em;
    margin: 0;
}

#display_pj_group {
    padding: 0.1em 0.2em;
    font-size: 0.8em;
    margin: 0;
}

#display_identification {
    padding: 0.1em 0.2em;
    font-size: 0.8em;
    margin: 0;
}

#display_faculty {
    padding: 0.1em 0.2em;
    margin: 0;
    font-size: 0.8em;
}

#diplay_debug_info {
    padding: 0.1em 0.2em;
    margin: 0;
    font-size: 0.8em;
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * Inhalt
 *----------------------------------------------------------------------------------------------------------------------------- */
#content { /*	overflow: hidden; */
    /*width: 95%;*/
    max-width: 80vw;
    margin: auto;
    min-height: 100%;
    padding-top: 1em;
    padding-bottom: 3.2em; /* Hoehe der Fusszeile 3.2 */
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * Fussbereich
 *----------------------------------------------------------------------------------------------------------------------------- */
#footer {
    bottom: 0.0em;
    width: 80vw;
    margin: auto;
    /*	height: 3.2em; */
    /*position: absolute;*/
    background-color: #eeeeee;
    border-top: thin solid grey;
    /*	line-height: 3.2em; */
}

#footer_navigation_list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #eeeeee;
}

#footer_navigation_list li {
    float: left;
    padding-right: 1em;
    font-size: 1em;
}

#footer_navigation_list li a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #000;
    padding: 1em 0.8em;
}

#footer_navigation_list li a:hover:not (#activeFooterPage ) {
    background-color: #bebebe;
    color: #000;
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * kein JavaScript Hinweis
 *----------------------------------------------------------------------------------------------------------------------------- */
#no_script_image {
    /*height:48px;*/
    width: 48px;

}

#noscript_info {
    margin-bottom: 2em;
    border: solid medium red;
    color: inherit;
    background: #fee;
}

#noscript_info h2 {
    font-size: 1.3em;
    color: #fff;
    background: red;
    margin: 0;
    padding: 0.1em 1.4em;
    border: none;
}

#noscript_info p {
    color: black;
    padding: 1em;
}

/*-----------------------------------------------------------------------------------------------------------------------------
 * Anpassung Zebraform für alle
 *
 * Alle Button erhalten die Klasse .Zebra_Form .button
  * Alle Submit erhalten die Klasse .Zebra_Form .submit
*
*----------------------------------------------------------------------------------------------------------------------------- */
.Zebra_Form .button:disabled, .Zebra_Form .reset:disabled, .Zebra_Form .submit:disabled, .Zebra_Form label.button:disabled {
    color: silver !important;
}

.Zebra_Form .button:disabled:hover, .Zebra_Form .reset:disabled:hover, .Zebra_Form .submit:disabled:hover, .Zebra_Form label.button:disabled:hover {
    color: silver !important;
    background: #EFEFEF url('button-background.gif') repeat-x top !important;
}

.Zebra_Form .button:enabled:hover, .Zebra_Form .reset:enabled:hover, .Zebra_Form .submit:enabled:hover, .Zebra_Form label.button:enabled:hover {
    background: darkgrey none !important;
    color: #FFF !important;
}

.ui-dialog .ui-dialog-titlebar-fullscreen {
    position: absolute;
    right: 2em;
    top: 50%;
    width: 20px;
    margin: -10px 0 0 0;
    padding: 1px;
    height: 20px;
}

h2.heading_extra_window {
    font-size: 1.2em;
    margin: 0.5em 0;
}

h3.heading_extra_window {
    font-size: 1.2em;
    margin-bottom: 1em;
}

#table_extra_window td {
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

#table_extra_window th {
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

.download_button {
    background-color: transparent;
    border: medium none;
    font-weight: bold;
    white-space: nowrap;
    text-align: left;
}

.download_button > img {
    vertical-align: middle;
}

.download_button > .small_info {
    font-size: 0.9em;
}

.social_media_logo {
    height: 25px;
    margin-top: 2px;
    vertical-align: middle;
}

#server_hinweis {
    background: rgba(255, 255, 255, .4);
    border: 0.125em solid gray;
    border-radius: 0.5em;
    color: gray;
    font-size: 16pt;
    font-weight: bold;
    padding: 0.5em;
    position: relative;
    text-align: center;
}

#wartungs_hinweis {
    background: rgba(255, 255, 255, 0.8);
    border: 0.125em solid red;
    border-radius: 0.5em;
    color: red;
    font-size: 16pt;
    font-weight: bold;
    left: 262px;
    padding: 0.25em;
    position: absolute;
    text-align: center;
    top: 1em;
    width: 420px;
}

.border_links {
    /*border-left: thin solid black;*/
}

span.wichtig {
    display: block;
    margin: 0.25em 0;
    color: red;
}

span.hervorheben {
    font-weight: bold;
}


p.wichtig {
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 2em;
}


label.disabled {
    color: lightgrey;;
}

.zebra_form_button_like {
    background: #efefef url("button-background.gif") repeat-x scroll center top;
    border-radius: 4px;
    box-shadow: 0 0 2px #aaa;
    overflow: visible;
    /*padding: 3px 10px;*/
    border: 1px solid #999;
    color: #222;
    display: inline-block;
    outline: medium none;
    font-weight: bold;
    text-align: center;
    padding: 5px;
}

.datum_info {
    display: block;
    font-size: 0.8em;
}

.alignRgtPadding {
    text-align: right;
    padding-right: 2em;
}

.h1center {
    font-size: 2em;
    text-align: center;
    width: 80%;
    margin: auto;
    padding-bottom: 1em;
}

.nowrap {
    white-space: nowrap;
}

.marginCenter {
    margin: auto;
}

.hinweis_wichtig {
    color: red;
    margin: 1em 0;
    font-weight: bold;
}


.infobox_inhalt_kurz {
    text-decoration: none;
    display: block;
    position: relative;
    outline: none; /*notwendig ???*/
    margin-bottom: 0.5em;
}

.infobox_inhalt_kurz:hover {
    cursor: help;
}

.infobox_inhalt_kurz .infobox_inhalt_lang {
    visibility: hidden;
    position: absolute;
    left: -99em;
    margin-top: 1.5em;
    padding: 1em;
    text-decoration: none;
}

.infobox_inhalt_kurz:hover .infobox_inhalt_lang {
    visibility: visible;
    left: 1em;
    border: 1px solid lightgrey;
    color: black;
    background: white;
    font-size: 0.8em;
    display: inline-block;
    z-index: 100;
    width: 20em;
}

/*lange Imput Felder */
.imput_lang {
    width: 400px !important;
}


a.telefon {
    color: black !important;
    text-decoration: none !important;
}

a.telefon:visited {
    color: black !important;
    text-decoration: none !important;
}


.abstand_unten_medium {
    margin-bottom: 1em;
}

.abstand_unten_klein {
    margin-bottom: 0.5em;
}

@media only screen and (max-width: 1024px) {
    #header, #content, #footer {
        max-width: 100vw;
    }

    #footer {
        width: 100%;
    }
}

@media only screen and (max-width: 800px) {
    #header {
        margin: 0;
    }

    .wennMobilDannVerstecken {
        display: none;
    }

    .wennMobilDannZeigen {
        display: block;
    }

    #figuren_header {
        width: 224px;
    }

    #mobil_menu_balken {
        background-color: white;
        display: block;
        position: absolute;
        right: 0;
        width: 2em;
        z-index: 5001;
        border: .5em solid white;
        border-radius: .25em;
    }

    #header_navigation_list {
        box-shadow: -.5em .5em 1em #888;
        display: none;
        margin-top: 3em;
        padding: 1em;
        position: absolute;
        right: 0;
        z-index: 5001;
    }

    #header_navigation_list li {
        float: none;
    }

    #header_navigation_list li a {
        display: inline-block;
    }
}

/* Warnsymbole zumeist in der Groesse beschraenken */
td img.warnung {
    max-width: 25px;
}

.warnhinweis {
    text-indent: -25px;
    padding-left: 25px;
}

/* in Verbindung mit der Klasse warnhinweis */
.warnhinweis img.warnung {
    /*padding-right: 5px;*/
}

/* zur gezielten Ansprache von einzelnen Elementen ohne Seiteneffekte */
/*   falls negative Seiteneffekte ggf. im Mobile Bereich verschieben */
.overflowAuto {
    overflow: auto;
    max-width: 100vw;
}


/* zeigt ein "extern-Link" Icon hinter dem Element mit der entspr. Klasse */
/* Klasse wird zur Zeit nur in den Webtexten von Lehreinrichtungen verwendet */
/* Die Variante ueber ein Hintergrundbild ermoeglicht die Verkleinerung des Images */
.external_link_icon::after {
    content: "";
    background-image: url('/images/external_link.svg');
    background-size: 16px;
    background-repeat: no-repeat;
    display: inline-block;
    margin: 0 5px;
    width: 18px;
    height: 18px;
    vertical-align: middle;
}



.beispiel_text {
/*	background-color: yellow; */
}

