form.cert * {
    box-sizing: border-box;
}

form.cert fieldset {
    border: none;
    z-index: 1;
}

/* STRUCTURE LOADING */
#sLoading {
    position: relative;
    z-index: 3000;
}

#sLoading div {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 3em;
    font-weight: 200;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #ffffffee;
    z-index: 10000;
    text-align: center;
    box-sizing: border-box;
}

#sLoading img {
    position: fixed;
    z-index: 10001;
    top: 5em;
    left: calc(50% - 100px);
}
.input-error{
  outline: 1px solid red;
}

/* ende STRUCTURE LOADING */
/* OVBOX <-> STRUKTUR */
.sTab {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: stretch;
    margin-bottom: 50px
}

.fsStruct.ovBoxRight .sTab {
    flex-direction: row;
}

.sTab > .fsStruct {
    flex: 1;
}

.sTab > .ovBox {
    width: 200px;
    margin-right: 15px;
    margin-top: 10px;
}

/* ende OVBOX <-> STRUKTUR */
/* STRUKTUR */
.sTab .structure {
    padding: 0;
}

/* list-styles fuer ul-structure und ul in content */
.sTab .fsStruct ul.structure *, .sTab .fsStruct ul.lv * {
    margin: 0;
    padding: 0;
}
.sTab .fsStruct ul.structure .files li {
    /* border-bottom: 1px solid #eee; */
    padding: 3px 2px 0px 0px;
    font-size: .9em;
}

.sTab .fsStruct ul.structure, .sTab .fsStruct ul.structure ul.lv {
    list-style: none;
    background-color: #fff;
}

.sTab .fsStruct ul.structure .item .content ul, .sTab .fsStruct ul.lv .item .content ul {
    list-style: square;
}

.sTab .fsStruct ul.structure .item .content ol li, .sTab .fsStruct ul.lv .item .content ol li {
    list-style-type: decimal;
}

.sTab .fsStruct .item .content ol, .sTab .fsStruct .item .content ul {
    padding-left: 18px
}

.bTab, .sTab .fsStruct div.item {
    min-height: 3.6em;
    margin-bottom: 2px;
    padding: 0;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    align-content: stretch;
    width: 100%;
    border: 1px solid;
    border-top: none;
    border-left-width: 2px;
    border-right-width: 2px;
    display: none;
    /* position: relative */
}

/* ende*/
.bTab > div, .sTab .fsStruct div.item > div {
    padding-top: 1.2em;
    /* bei flex-stretch kein padding moeglich. deswegen in childs */
}

.sTab .fsStruct div.item.l0 {
    display: flex;
}

.sTab .fsStruct .pi div.item {
    margin-bottom: 0;
}

.sTab .fsStruct .pi div.item:last-child {
    border-bottom: 1px solid;
}

/* struktur-item, wenn geoeffnet wurde (tOpen) */
.sTab .fsStruct .tOpen + ul.lv > li > div.item {
    display: flex;
}

/* content-item, und u.u. zusaetzliche struktur-knoten unterhalb eines knotens, wenn geoeffnet (nOpen) */
.sTab .fsStruct .nOpen + div.pi + ul.lv > li > div.item, .sTab .fsStruct .nOpen + div.pi > div.item {
    display: flex;
}

.sTab .fsStruct div.pi > div.item {
    min-height: 1em;
    padding-bottom: .5em;
    display: none;
}

/* zur positionierung  von Pruefungs-dialogen ist eine positionierung notwendig */
.sTab .fsStruct div.item {
    position: relative;
}

/* ende */
/* ITEMS TEILE */
.bTab .pos, .sTab .fsStruct div.item .pos {
    display: none;
}

.bTab .itemName {
    width: 60px;
    display: flex;
    justify-content: left;
    align-items: center;
}

.sTab .fsStruct div.item .itemName {
    width: 60px;
}

.bTab .itemTitle, .sTab .fsStruct div.item .itemTitle {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.sTab .fsStruct .pi div.item .itemTitle {
    /* flex: 1; */
    flex-direction: row;
}

.bTab .aktPoints, .sTab .fsStruct div.item .aktPoints {
    /* display: none; */
    width: 50px;
}

.bTab .maxPoints, .sTab .fsStruct div.item .maxPoints {
    /* display: none; */
    width: 80px;
    /* color: transparent; */
}
.bTab .aktPoints,
.bTab .maxPoints {
    background-color: #fff;
}

.bTab .nGrp, .sTab .fsStruct div.item .nGrp {
    display: none;
    width: 30px;
}

.bTab .nGrp {
    background-color: #fff;
    /* bei morph soll nicht durchscheinen */
}

.enabledSavedPoints.bTab .aktPoints, .sTab .fsStruct.enabledSavedPoints div.item .aktPoints {
    display: block;
    color: #000;
}

.enabledMaxPoints.bTab .maxPoints, .sTab .fsStruct.enabledMaxPoints div.item .maxPoints {
    display: block;
    color: #000;
}

.enabledOkCheck.bTab .nGrp, .sTab .fsStruct.enabledOkCheck div.item .nGrp {
    display: block;
}

.auditView .enabledOkCheck.bTab .nGrp, .auditView .sTab .fsStruct.enabledOkCheck div.item .nGrp {
    margin-right: 5px;
}

.enabledSavedPoints.bTab .aktPoints, .enabledMaxPoints.bTab .maxPoints {
    background-color: #fff;
    color: initial;
}

/* ende */
/* ITEM-NAME */
.bTab .itemName, .sTab .fsStruct div.item .itemName {
    padding-left: 10px;
}

/* ende */
/* ITEM-TITLE */
.sTab .fsStruct div.item .itemTitle .content {
    width: 100%;
}

.sTab .fsStruct .lv0 > div.item.iS .itemTitle span {
    text-transform: uppercase;
}

.sTab .fsStruct div.item.iS .itemTitle > span {
    cursor: pointer;
    position: relative;
    padding-right: 22px;
}

/* offen / geschlossen markierung */
.sTab .fsStruct .lv0 .iS .itemTitle > span::after {
    content: " ";
    position: absolute;
    right: 0;
    width: 14px;
    height: 1.05em;
    background-repeat: no-repeat;
    background-size: 52px;
    top: 1px;
    background-position: 0px bottom;
}

/* checkboxen, radio und radioVal */
.sTab .fsStruct div.item.radioVal .itemTitle, .sTab .fsStruct div.item.radio .itemTitle, .sTab .fsStruct div.item.checkbox .itemTitle {
    display: flex;
    align-items: flex-start;
}

.sTab .fsStruct div.item.radio .itemTitle .input, .sTab .fsStruct div.item.radioVal .itemTitle .input, .sTab .fsStruct div.item.checkbox .itemTitle .input {
    width: 20px;
    min-width: 20px;
}

.sTab .fsStruct div.item.radio .itemTitle .label, .sTab .fsStruct div.item.radioVal .itemTitle .label, .sTab .fsStruct div.item.checkbox .itemTitle .label {
    flex: 1;
}

.sTab .fsStruct div.item sub, .sTab .fsStruct div.item sup, .sTab .fsStruct div.item.radio .itemTitle .label sub, .sTab .fsStruct div.item.radioVal .itemTitle .label sub, .sTab .fsStruct div.item.checkbox .itemTitle .label sub, .sTab .fsStruct div.item.radio .itemTitle .label sup, .sTab .fsStruct div.item.radioVal .itemTitle .label sup, .sTab .fsStruct div.item.checkbox .itemTitle .label sup {
    line-height: 0;
    font-size: .7em
}

/* geringerer abstand zwischen radios und checkbox-folgen */
.sTab .fsStruct div.item.checkbox, .sTab .fsStruct div.item.radioVal, .sTab .fsStruct div.item.radio {
    min-height: 1em;
}

.sTab .fsStruct div.item.checkbox + div.item.checkbox > div, .sTab .fsStruct div.item.radioVal + div.item.radioVal > div, .sTab .fsStruct div.item.radio + div.item.radio > div {
    padding-top: .25em;
}

.sTab .fsStruct div.item.checkbox, .sTab .fsStruct div.item.radioVal > div, .sTab .fsStruct div.item.radio > div {
    margin-top: 0;
    margin-bottom: 0;
}

/* geringerer abstand zwischen items ohne linie */
.sTab .fsStruct div.item.noLine + div.item.noLine > div {
    padding-top: .5em
}

/* textarea */
.sTab .fsStruct div.item.textareaC .itemTitle {
    flex-direction: column
}

.sTab .fsStruct div.item textarea {
    width: 100%;
    padding: .25em;
    line-height: 1.5em;
}

.sTab .fsStruct div.item textarea + div.charleft {
    font-size: .8em;
    white-space: nowrap;
}

/* text- und textPoints input */
.sTab .fsStruct div.item textarea, .sTab .fsStruct div.item.textPoints input, .sTab .fsStruct div.item.text input {
    width: 100%;
    padding: .25em;
    font-family: monospace;
}

.sTab .fsStruct div.item.textPoints label, .sTab .fsStruct div.item.text label {
    width: 100%;
    display: block;
}

.sTab .fsStruct div.item.textPoints input.wPostL, .sTab .fsStruct div.item.text input.wPostL {
    width: 20%;
    margin-right: 1em
}

/* ort-/bezirk-select */
.sTab .fsStruct div.item.sPLZ .itemTitle {
    display: flex;
    flex-direction: column;
}

/* upload */
.sTab .fsStruct div.item .uploadItem {
    width: 100%;
}

.sTab .fsStruct div.item.pdf .fileInputButton, .sTab .fsStruct div.item.pic .fileInputButton, .sTab .fsStruct div.item.file .fileInputButton {
    font-size: .8em;
    background-image: url(fldOv_file.png);
    background-repeat: no-repeat;
    background-position: top left;
    padding-left: 25px;
    padding-bottom: 0px;
}

.sTab .fsStruct ul.uploaded {
    list-style: auto;
    padding-left: 7px;
}

.sTab .fsStruct .uploaded li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-content: flex-end;
    position: relative;
    padding-right: 75px;
    line-height: 1.25em;
}

.sTab .fsStruct .uploaded li:hover {
    background-color: #eee;
}

.sTab .fsStruct .uploaded div.fileTools {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: stretch;
    justify-content: space-between;
    align-items: stretch;
    padding-top: 3px;
    position: absolute;
    top: 0;
    right: 6px;
}

.sTab .fsStruct .uploaded div.fileTools > .download {
    margin-left: 5px;
}
.sTab .fsStruct .uploaded li.file div.fileTools img.preview {
    display:none;
}
.sTab .fsStruct .uploaded div.fileTools img {
    cursor: pointer;
}

.sTab .fsStruct .uploaded li > .download {
    margin-left: 16px;
    max-width: calc( 100% - 160px );
    display: block;
}

.sTab .fsStruct .uploaded li a {
    color: initial;
    /* lange filenamen umbrechen */
    width: calc( 100% - 25px - 25px - 25px - 10px - 70px);
    word-break: break-word;
    color: #000000cc;
    /* width: calc(100% - 70px); */
}

.sTab .fsStruct .uploaded li > img {
    cursor: pointer;
    margin-left: 10px;
}

.sTab .fsStruct .uploaded li > img.rmUpload {
    margin-top: 5px
}

/* upload beschriftung */
.sTab .fsStruct .uploaded li > div.editImg {
    display: flex;
    flex-direction: column;
    line-height: 1.5em;
    width: 100%;
    padding-left: 16px;
    min-width: 100%;
    /* font-family: monospace; */
    font-style: italic;
    font-size: .9em;
    margin-top: -6px;
}

.sTab .fsStruct .uploaded li > div.editImg input {
    /* max-width: 400px; */
    margin-bottom: .25em;
    width: 100%;
}


/* must- und eMust-kennzeichnungen */
.sTab .fsStruct.enabledMust .eMustN .itemTitle::before, .sTab .fsStruct.enabledMust .eMust .itemTitle::before {
    content: ' ';
    position: absolute;
    right: 20px;
}

.sTab .fsStruct.enabledMust .eMustN.eMustOk .itemTitle::before, .sTab .fsStruct.enabledMust .eMust.eMustOk .itemTitle::before {
    content: ' ';
    position: absolute;
    right: 1.5em;
    color: #4bcc00;
}

.sTab .fsStruct.enabledMust .mustN .itemTitle::after, .sTab .fsStruct.enabledMust .must .itemTitle::after {
    content: ' ';
    position: absolute;
    right: 0;
}

.sTab .fsStruct.enabledMust .mustN.mustOk .itemTitle::after, .sTab .fsStruct.enabledMust .must.mustOk .itemTitle::after {
    content: ' ';
    position: absolute;
    right: 0;
    color: #4bcc00;
}

/* ende must */
/* ende */
/* MAX-POINTS */
.bTab .maxPoints, .sTab .fsStruct div.item .maxPoints {
    padding-left: 5px;
    padding-right: 15px;
    text-align: right;
    color: transparent;
}

.bTab .maxPoints:not(:empty), .sTab .fsStruct div.item .maxPoints:not(:empty) {
    /* border-right: 1px solid #00000033; */
    border-right-width: 0;
}

.sTab .fsStruct.enabledMaxPoints.enabledSavedPoints .maxPoints:not(:empty) {
    border-right-style: solid;
    border-right-color: #00000033;
    border-right-width: 1px;
}

/* ende */
/* AKT-POINTS */
.bTab .aktPoints, .sTab .fsStruct div.item .aktPoints {
    padding-left: 5px;
    padding-right: 10px;
    text-align: right;
    color: transparent;
}

/* ende */
/* OK-CHECK */
.bTab .nGrp, .sTab .fsStruct div.item .nGrp {
    padding-right: 5px;
}

.bTab .nGrp div, .sTab .fsStruct div.item .nGrp div {
    display: none;
    width: 25px;
    height: 25px;
    border: 1px solid;
}

.bTab.enabledOkCheck.withNGrp .nGrp div, .sTab .fsStruct.enabledOkCheck div.item.withNGrp .nGrp div {
    display: block;
}
.sTab .fsStruct.enabledOkCheck div.item.noNGrp .nGrp div {
    display: none;
    background-repeat: no-repeat;
    background-size: 14px;
    background-image: url('icon_ok_dgreen.svg');
    background-position: center;
}
.sTab .fsStruct.enabledOkCheck.enabledReadyNullDisplay div.item.noNGrp .nGrp div {
    display: block;
}

.fsStruct .nGrp.vis div {
    background-repeat: no-repeat;
    background-size: 14px;
    background-image: url(icon_ok_dgreen.svg);
    background-position: center;
}

/* ende */
/* HELP-BOX */
ul.structure .itemTitle .hBox {
    width: 100%;
    /* display: none; */
}

ul.structure li .item .help {
    font-size: .8em;
    cursor: pointer;
}

ul.structure li .item .itemTitle span .helpIndikator {
    background-image: url(icon_help_white.svg);
    background-repeat: no-repeat;
    height: 1em;
    width: 1.5em;
    display: inline-block;
    background-position: center bottom;
    background-size: 1em;
    margin-left: 4px;
    position: relative;
    top: 2px;
}

ul.structure li .item .itemTitle span .helpIndikator.hOpen {
    background-image: none;
}

.fsStruct ul.structure .pi .help {
    padding: 0;
    margin: 0;
    cursor: help;
}

ul.structure li .item .help.hOpen::selection, ul.structure li .item .help.hOpen {
    color: transparent;
}

ul.structure li .item .help.hOpen::before {
    content: "\2715";
    color: black;
    font-size: 14px;
    line-height: 14px;
    padding-left: 0px;
    position: relative;
    background-image: none;
}

ul.structure li .item .helpBox {
    text-transform: initial;
    /* font-size: .8em; */
    padding: 15px;
    border: 1px solid;
}

ul.structure li .pi .item .helpBox {
    background-color: #eee;
    width: calc( 100% + 100px);
}

.audit ul.structure li .pi .item .helpBox {
    width: calc( 100% + 100px + 90px);
}

ul.structure .iS .helpBox {
    background-color: #fff9;
    margin: 0 0 5px 0;
}

ul.structure .iS:hover .hBox {
    color: initial;
}

.helpBox {
    position: relative;
    left: 0;
}

ul.structure .item .helpBox table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 2em;
    margin-top: 1em;
}

ul.structure .item .helpBox th {
    vertical-align: bottom;
}

ul.structure .item .helpBox td {
    vertical-align: top;
    padding: 2px;
}

/* li in helptext einruecken */
ul.structure .item .helpBox li {
    margin-left: 18px
}

/* ende HELP-BOX */
/* ITEM-EIGENSCHAFTEN */
/* noLine */
.sTab .fsStruct div.pi > div.item.noLine {
    border-bottom-color: transparent;
    border-bottom-width: 0;
    padding-bottom: .5em;
}
/* immer Linie oberhalb */
.sTab .fsStruct div.pi > div.item.supLine {border-top-width: 1px;border-top-style: solid;}
/* notVisible */
.sTab .fsStruct div.pi > div.item.hidden, .sTab .fsStruct .nOpen + div.pi > div.item.notVisible {
    display: none;
}

/* ende */
/* vorgabe-wert hervorheben*/
ul.structure .hasDefault {
    background-image: url(./bgDefault.png);
    background-repeat: no-repeat;
    background-position: center left;
}

/* STICKY basicBox, versionSwitch und top-items allways on top*/
/* neue variante */
#versionSwitch {
    position: sticky !important;
    top: 0;
    background-color: #fff;
    z-index: 6;
}

#versionSwitch + form.cert {
    z-index: 2;
    position: relative;
}

form.cert fieldset.fsStruct.fsBasicBox {
    position: sticky !important;
    top: 0px;
    z-index: 5;
    border-bottom: 1px solid #ccc !important;
}

.enabledFixedSNodes .item.iS {
    position: sticky !important;
    top: 52px;
}

.enabledFixedSNodes .item.iS.l0 {
    z-index: 1;
}

.enabledFixedSNodes .item.iS.l1 {
    z-index: 2
}

.enabledFixedSNodes .item.iS.l2 {
    z-index: 3
}

.enabledFixedSNodes .item.iS.l3 {
    z-index: 4
}

.enabledFixedSNodes .item.iS.l4 {
    z-index: 5
}

.enabledFixedSNodes .item.iS + ul {
    position: sticky !important;
    top: 52px;
}

.enabledFixedSNodes .item.iS.l0 + ul {
    z-index: 0;
}

.enabledFixedSNodes .item.iS.l1 + ul {
    z-index: 1;
}

.enabledFixedSNodes .item.iS.l2 + ul {
    z-index: 2;
}

.enabledFixedSNodes .item.iS.l3 + ul {
    z-index: 3;
}

.enabledFixedSNodes .item.iS.l4 + ul {
    z-index: 4;
}

.audit .enabledFixedSNodes .item.iS +ul, .audit .enabledFixedSNodes .item.iS {
    position: relative !important;
    top: 0;
    z-index: initial
}

.zBox {
    position: sticky !important;
    top: 73px;
}

/* bei morph-darstellung und bei darstellung mit ovBox differiert der startpunkte der sticky-box */
#versionSwitch + form.cert fieldset.fsStruct.fsBasicBox {
    top: 41px;
    border-color: transparent;
}

#versionSwitch + form.cert.enabledOvBox .item.iS, #versionSwitch + form.cert.enabledOvBox .item.iS + ul {
    top: 0;
}

#versionSwitch + form.cert .item.iS, #versionSwitch + form.cert .item.iS + ul {
    top: 0;
}

#versionSwitch + form.cert .zBox {
    top: 99px;
}

.enabledOvBox .item.iS, .enabledOvBox .item.iS + ul {
    top: 58px;
}

/* plakette soll sichtbar sein, wenn ganz nach unten gescrollt wurde */
.enabledOvBox fieldset.fsStructForm {
    padding-bottom: 500px;
    margin-top: 10px;
}

/* ende neue variante */
div.ovBox {
    display: none;
}
.enabledOverview + div.ovBox {
    display: flex;
    flex-direction: column;
    position: relative;
}
.ovBox div.zBox {
    background-color: #eee;
    margin-right: 20px;
    padding: 0;
    width: 200px;
}

.ovBox div.basicData {
    text-align: center;
    cursor: pointer;
}

.ovBox ul.z0 {
    list-style: none;
}

.ovBox div.zAll {
    text-decoration: none;
    margin-top: 5px;
    font-size: 10px;
    width: 50%;
    float: left;
    cursor: pointer;
    display: none
}

/* SPEICHERN-LAYER */
.item.bTab .itemName.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #fff9;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../../icon_loading.svg);
}
.item.bTab .itemName.loading.saved {
    background-image: none;
}
#formIsSaved {
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    z-index: 10000;
}




.bTab .itemName.loading input {
    visibility: hidden;
}

/* ende SCHEICHERN-LAYER */
/* BASIC-BOX FUER MORPH-ENABLED-PROJEKTE */
.sTab {
    display: none;
}

.fsStruct {
    position: relative;
}

.bTab {
    position: absolute;
    top: 0px;
    right: 0;
    z-index: -1;
    display: flex;
    border: none;
    justify-content: flex-end;
}

ul.structure + .basicBox > .item {
    border: none;
    position: relative;
    top: -20px;
}

.bTab.origin {
    position: initial;
    background-color: #fff;
}

.bTab.active {
    z-index: 1;
}

/* itemName und itemTitle beim origin immer sichtbar */
.bTab.origin .itemName, .bTab.origin .itemTitle, .bTab.origin.active .itemTitle {
    color: initial;
    background-color: initial;
}

/* nicht-origin haben links eine luecke fuer save-button */
.bTab.active:not(.origin) {
    width: calc( 100% - 60px );
}

.bTab.active:not(.origin) .itemName {
    display: none;
}

.bTab.active:not(.origin) .itemTitle {
    color: transparent;
    background-color: transparent;
}

/* ende */
/* PUNKTE UEBERSICHT */
.ovBox ul.z0 {
    list-style: none;
}

div.zBox {
    border: none;
    padding: 0 0 0px 0;
    margin-top: 0px;
    display: flex;
    flex-direction: column;
    background-color: #eee;
    border: none !important;
}

div.ovBox #siegel {
    position: absolute;
    top: -30px;
    font-size: 25px;
    font-weight: bold;
    width: 100%;
    text-align: center
}

div.zBox .pointsTotal {
    /* position: absolute; */
    top: 0px;
    width: calc(100% - 0px);
    margin: 0;
    padding: 4px 0 0 0;
    background-color: #fff;
}

div.zBox .pointsTotalText {
    top: 50px;
    text-align: center;
    /* width: 154px; */
    padding: 0;
    margin-left: 0px;
}

div.ovBox .basicData {
    font-size: .9em;
    border-bottom: 1px solid #fff;
    background-color: #fff;
    padding-top: 10px;
}

div.zBox ul.z0 .points {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
}

#main div.zBox ul.z0 {
    margin: 0;
    padding: 0;
}

div.zBox {
    border: 4px solid #666;
}

div.zBox ul.z0 {
    margin: 0;
    padding: 5px 0 0 0;
    list-style: none;
    font-size: .8em;
}

div.zBox ul.z0 li {
    cursor: pointer;
}

div.zBox ul.z0 li:last-child {
    padding-bottom: 0;
}

div.zBox ul.z0 .points {
    border: none;
    border-top: 1px solid #66666696;
    border-bottom: 1px solid #66666699;
    padding: 0;
    height: 25px;
    background-image: url("white.png");
    background-repeat: no-repeat;
    background-position: 0px 0px;
    border-right: 1px solid #ccc;
}

.ovBox div.zBox .points > span.maxPoints {
    /* padding: 0 .5em; */
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    height: 100%;
    /* width: 1px; */
    align-content: space-around;
    background-color: transparent;
}

div.zBox .points > .maxPoints .itemName, div.zBox .points > .maxPoints .maxPoints, div.zBox .points > .maxPoints .aktPoints {
    padding: 0 0.7em;
    display: block;
    height: 100%;
    line-height: 25px;
    background-color: transparent;
}

div.zBox .points > .maxPoints .itemName {
    padding: 0 0.5em;
    width: 30px;
}

div.zBox .points > .maxPoints .aktPoints {
    /* font-weight: bold; */
    padding-right: 0;
    width: 30px;
    text-align: right;
    padding-right: 5px;
}

div.zBox .points > .maxPoints .aktPoints:after {
    /* content:'/'; */
}

div.zBox .points > .maxPoints .maxPoints {
    padding-left: 0;
    border-right: 1px solid #ccc;
    text-align: right;
    width: 140px;
}

div.zBox .zBack {
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    height: 77px;
    width: 100%;
    background-position: 4px 7px;
}

div.zBox .zBack:hover {
    color: black;
    background-color: #cccccc6b;
}

/* neu ende */
div.zBox ul.z0 .titel {
    text-align: center;
    padding-top: 5px;
}

div.zBox .pointsTotal {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 0;
    cursor: pointer;
    border: 1px solid #ccc;
    border-bottom: none;
    line-height: 1.2em;
    padding-top: 22px;
}

div.zBox .pointsTotalText {
    text-align: center;
    font-size: .8em;
    /* padding: 0 10px 5px 10px; */
    background-color: #fff;
    width: 100%;
    border: 1px solid #ccc;
    border-top: none;
    padding-bottom: 5px;
}

div.zBox .version {
    font-size: .8em;
    text-align: right;
    margin: 0;
    padding: 2px 0;
    position: absolute;
    color: #999;
}

.zBack {
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    margin-top: 0px;
    font-size: 10px;
    margin-right: 13px;
    background-image: url(icon_ovBack.svg);
    background-repeat: no-repeat;
    background-position: 5px;
    padding: 5px 5px 5px 30px;
    line-height: 2em;
}

.zBack:hover {
    color: #f00;
}

/* ende punkte-uebersicht */
/* printBox */
#printBox.loading {
    background-image: url(icon_loading.svg);
    background-repeat: no-repeat;
    background-position: center;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 1000;
}

#printBox.loading * {
    visibility: hidden;
}

.printTab {
    border: 1px solid #ccc;
    margin-bottom: 1em;
    padding: 2em;
}

.printTab ul {
    list-style: square;
    padding-left: 20px
}

#printBox .printConfigBox li > div,
#printBox .printConfigBox {
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
#printBox .printHelp,
#printBox .itemName,
#printBox .label {
    font-weight: bold;
    white-space: initial;
}
#printBox .printHelp {
    padding-bottom: 1.5em
}

#printBox .printConfigBox ul {
    width: 100%;
}

#printBox .printConfigBox .printItem {
    /* border: 1px solid #ccc; */
    /* padding: .25em; */
    cursor: pointer;
    /* border-radius: 3px; */
    text-decoration: underline;
    padding-left: 7px;
    }
#printBox .printConfignoSave::marker {
    content: ''
}
#getPrintNoSave, #getPrintZip {
    border: 1px solid #ccc;
    padding: .5em;
    margin-top: 1em;
    display: inline-block;
    cursor: pointer;
    list-style:none;

}
#getPrintNoSave:hover, #getPrintZip:hover {
    background-color: #ccc
}
#printBox .printItem:hover, #getPrintNoSave:hover, #getPrintZip:hover {color: #0b75f5;}

#closePrintBox {
    display: none;
}

#printCtl {
    text-align: right;
    display: block;
    background-image: url(icon_pdf.svg);
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 23px;
    padding-right: 1.2em;
    color: transparent;
    font-size: .8em;
    cursor: pointer;
}

#printCtl.pB-open {
    background-image: url(icon_cross_black.svg);
    background-size: .7em;
}

#print-frm {
    background-color: #ccc;
    padding: 1em;
}

#print-frm select {
    width: 100%;
    line-height: 2em;
    height: 2em
}

#printBox .printConfigBox.noSave {
    display: inline-block;
    /* border: 1px solid #999; */
    padding: 2px 5px;
    margin: .5em 0em;
    /* background-color: #ddd; */
    /* cursor: pointer; */
    color: #000;
    margin-left: -19px;
    list-style: none;
}
#printBox .printConfigBox p {
    margin: 0;
}

.printConfigBox.noSave:hover {
    background-color: #fff;
}

/* ende printBox */
/* versionSwitch for morphEnabled */
#versionSwitch {
    display: flex;
    list-style: none;
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    padding: 0;
    border-bottom: 1px solid;
    z-index: 0;
    font-size: 14px;
    line-height: 1.5em;
    position: relative;
    z-index: 3;
}

#versionSwitch > li {
    border: 1px solid;
    border-bottom: 1px solid;
    margin-right: 3px;
    display: none;
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    position: relative;
    z-index: 1;
    top: 1px;
    background-color: #fff;
    padding-bottom: 0;
}

#versionSwitch > li:hover {
    background-color: #f3ba0199
}

#versionSwitch > li.loaded, #versionSwitch li.addVersion {
    display: flex;
}

#versionSwitch > li.active.active {
    border-color: #000;
    border-bottom-color: transparent;
    color: #000;
}

#versionSwitch > li.loaded {
    border-color: #ccc;
    border-bottom-color: #000;
    color: #999;
}

#versionSwitch li span {
    display: block;
    padding: 1em 1em .2em 1em;
}

#versionSwitch li span.version {
    cursor: pointer;
}

#versionSelect {
    padding: 0;
    list-style: none;
    display: none;
    position: absolute;
    z-index: 2;
    background-color: #fff;
    left: 35px;
    border-color: #ccc;
    border-left: 1px solid #ccc;
    border-top: 1px solid;
    border-right: 1px solid #ccc;
    top: -1px;
}

#versionSelect li {
    border-bottom: 1px solid #ccc;
    cursor: cell;
    padding-bottom: 0;
}

#versionSelect li span {
    padding-top: .5em;
}

#versionSelect li.version:hover {
    background-color: #f3ba0199;
}

#versionSwitch li.addVersion:hover #versionSelect {
    display: flex;
    flex-direction: column;
    white-space: nowrap;
}

#versionSwitch li.addVersion > span {
    display: block;
    padding-top: .5em;
    background-image: url(icon_plus.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1em;
    color: transparent;
    cursor: pointer;
}

#versionSwitch li.addVersion.loading > span {
    background-image: url(icon_loading.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 30px;
}

/* versionSwitch ende */
/* AUDIT */
.audit .adt {
    width: 30px;
    padding-right: 5px;
}

.cert.audit .adt div {
    display: block;
    width: 25px;
    height: 25px;
    border: 1px solid;
}

.cert.audit .adt.aOk div {
    visibility: hidden;
    background-color: #ffffff99;
    border-color: #aaa
}
.cert.audit.auditorAdmin .adt.aOk div {
    visibility: visible;
}
.cert.audit .adt div {
    height: 25px;
    width: 25px;
    margin-top: 0;
    background-repeat: no-repeat;
    background-position: center;
    visibility: visible;
}

.cert.audit .adt:after {
    /* content: ' '; */
    width: 25px;
    height: 25px;
    border: 1px solid #999;
    position: absolute;
    top: 4px;
    left: -1px;
    background-color: #fff;
}

/* FIXME */
.cert.audit .basicBox .adt:after {
    top: -1px;
}

.cert.audit.auditor.auditEdit .iS .adt.aOk div {
    cursor: initial;
}

.cert.audit.usr .adt.anmOk div , .cert.audit.auditor.auditEdit .adt.aOk div , .cert.audit.auditor.auditEdit.auditNodeCheck .iS .adt.aOk div {
    cursor: pointer;
}

.cert.audit.auditor.auditEdit .basicBox .adt div , .cert.audit.auditor.auditEdit .basicBox .adt.aeEv div , .cert.audit .basicBox .adt div {
    cursor: initial;
}

.cert.audit.auditor.auditEdit .basicBox .adt.aeEv div {
    background-image: none;
}

.cert.audit .item .adt div {
    position: relative;
}

/* FIXME */
.cert.audit .item .adt.ae:after {
    border: none;
    background-color: transparent;
}

.cert.audit .item .adt.loading div {
    background-image: url(icon_loading.svg);
    background-size: 20px;
}

.cert.audit .adt.aNeed div {
    visibility: visible;
}
.cert.audit.usr .adt.aOk {
    display: none;
}
.cert.audit.usr.auditorAdmin .adt.aOk {
    display: initial;
}

/* morph-projekte werden nicht auditiert */
.cert.audit .bTab+.bTab .adt.ae ,
.cert.audit .bTab+.bTab .adt.aOk {
    background-color: #fff;
}
.cert.audit .bTab+.bTab .adt.ae div ,
.cert.audit .bTab+.bTab .adt.aOk div,
.cert.audit .sTab+.sTab .adt.ae div ,
.cert.audit .sTab+.sTab .adt.aOk div {
    visibility: hidden;
}

body .cert .adt.aOk.aOkOk div {
    background-image: url(icon_checkmark_black.svg);
    background-size: 18px;
    background-position: center;
}

body .cert .adt.aOk.nodeAOk div {
    background-image: url(icon_checkmark_black.svg);
    background-size: 16px;
    background-position: center;
}

body .cert .bTab .adt.aOk div {
    border: none;
}

.cert.audit.auditor .bTab .adt.aOk.aNeed div , .cert.audit.usr .bTab .adt.aOk.aNeed div {
    border: 1px solid #ccc;
}

/* audit anmerkungen */
.cert.audit .ae div {
    padding: 0;
    background-size: 18px;
    background-color: transparent;
    border: none;
    visibility: visible;
}

.cert.audit.auditor.auditEdit .aeEv div {
    background-image: url(icon_comment.svg);
}

.cert.audit.auditor.auditEdit .aeEv.anmOk div , .cert.audit.auditor.auditEdit .aeEv.anmOk:hover div , .cert.audit.auditor.auditEdit .aeEv.anmOk.nodeAnm div , .cert.audit.auditor.auditEdit .aeEv.anmOk.nodeAnm:hover div {
    background-image: url(icon_comment_f00.svg);
    cursor: pointer;
}

.cert.audit.auditor.auditEdit .aeEv.nodeAnm:hover div {
    background-image: url(icon_comment_hl.svg);
}

.cert.audit.auditor.auditEdit .basicBox .adt.aeEv.nodeAnm div , .cert.audit.auditor.auditEdit .aeEv.nodeAnm div {
    background-image: url(icon_comment_down.svg);
    cursor: initial;
}

.cert.audit.auditor.auditEdit .aeEv:hover div {
    background-image: url(icon_comment_hl.svg);
    cursor: pointer;
}

/* auditor mit view */
.cert.audit.auditor.auditView .aeEv div {
    background-image: initial
}

.cert.audit.auditor.auditView .aeEv.anmOk div , .cert.audit.auditor.auditView .aeEv.anmOk:hover div , .cert.audit.auditor.auditView .aeEv.anmOk.nodeAnm div , .cert.audit.auditor.auditView .aeEv.anmOk.nodeAnm:hover div {
    background-image: url(icon_comment_f00.svg);
    cursor: pointer;
}

.cert.audit.auditor.auditEdit .aeEv.nodeAnm:hover div {
    background-image: url(icon_comment_down.svg);
}

.cert.audit.auditor.auditView .aeEv.nodeAnm div , .cert.audit.auditor.auditView .aeEv.nodeAnm:hover div {
    background-image: url(icon_comment_down.svg);
    cursor: initial;
}

.cert.audit.auditor.auditView .aeEv:hover div {
    background-image: initial;
    cursor: pointer;
}

/* user */
.cert.audit.usr.auditView .aeEv div {
    background-image: initial
}

.cert.audit.usr.auditView .aeEv.anmOk div , .cert.audit.usr.auditView .aeEv.anmOk:hover div , .cert.audit.usr.auditView .aeEv.anmOk.nodeAnm div , .cert.audit.usr.auditView .aeEv.anmOk.nodeAnm:hover div {
    background-image: url(icon_comment_f00.svg);
    cursor: pointer;
}

.cert.audit.usr.auditEdit .aeEv.nodeAnm:hover div {
    background-image: initial
}

.cert.audit.usr.auditView .aeEv.nodeAnm div , .cert.audit.usr.auditView .aeEv.nodeAnm:hover div {
    background-image: url(icon_comment_down.svg);
    cursor: initial;
}

.cert.audit.usr.auditView .aeEv:hover div {
    background-image: initial;
    cursor: initial;
}

/* AUDIT-ANMERKUNG-FORMULAR */
#aFrm {
    position: absolute;
    width: 400px;
    background-color: #eee;
    padding: 2px;
    z-index: 199;
    right: 0;
    top: 0;
    border: 1px solid #999;
    line-height: 1px;
}

#aFrm textarea {
    width: 100%;
    height: 208px;
    padding: 5px;
    font-size: 12px;
    line-height: 1em;
    box-sizing: border-box;
}

#aFrm button {
    color: transparent;
    font-size: 1px;
    line-height: 1px;
    width: 16px;
    height: 16px;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #666;
    margin: 2px;
    cursor: pointer;
    visibility: hidden;
}

#aFrm #aReset {
    background-image: url(icon_cross_black.svg);
    float: right;
    visibility: visible;
    width: 25px;
    height: 25px;
    background-size: 13px;
}

.cert.audit.auditor.auditEdit #aFrm #aSubmit {
    background-image: url(icon_aSave.svg);
    visibility: visible;
    width: 25px;
    height: 25px;
    background-size: 18px;
}

.cert.audit.auditor.auditEdit #aFrm #aDel {
    background-image: url(icon_aTrash.svg);
    visibility: visible;
    width: 25px;
    height: 25px;
    background-size: 20px;
}

/* ende AUDIT-ANMERKUNG-FORMULAR */
/* audit anmerkungen ende */
body form.cert.audit .basicBox .itemTitle, body form.cert.audit li .itemTitle, body form.cert.audit ul.structure li .itemTitle, body form.cert.audit ul.structure li div.item.l0 .itemTitle {
    position: relative;
}

/* AUDIT ende */
/* READY-POPUP */
#readyPopup.hidden {
    display: none;
}

#readyPopup {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    left: -5px;
    z-index: 1000 !important;
    flex-direction: column;
    background-color: #fff9;
    background-image: none;
    border: none;
}

#readyPopup.loading {
    background-color: #fff;
    background-image: url(loading.gif);
    background-position: center;
    background-repeat: no-repeat;
}

#readyPopup.loading #readyPopupContent {
    visibility: hidden;
}

#readyPopupContent {
    background-color: #f93;
    background-image: none;
    border: 1px solid #ccc;
    padding: 1em;
    max-width: 360px;
    margin: 1em;
    line-height: 20px;
    color: black;
    text-align: center;
    min-height: 200px;
    min-width: 350px;
    height: initial;
}

#readyPopupContent p {
    margin-top: 1.5em;
    min-width: 300px;
}

#readyPopupCtl {
    display: none;
}

#readyPopup.placed {
    position: relative;
    top: -.25em;
}

#readyPopup.placed #readyPopupContent {
    display: none;
}

#readyPopup.placed #readyPopupCtl {
    display: block;
    border: 1px solid #ccc;
    padding: .25em 30px .25em 1em;
    cursor: pointer;
    background-color: #f90;
    background-image: url(sys/einreichen.png);
    background-position: 6em center;
    background-repeat: no-repeat;
    position: relative;
    right: 42px;
    width: initial;
    height: initial;
}

#readyPopup p {
    margin: .5em 0;
}

/* ende READY-POPUP */
/* wenn der wert von input.sanitizeToNumber.sanitized geaenndert wird */
@keyframes sanitized {
    0% {
        background-color: #FFFFFF;
    }

    10% {
        background-color: #ff000099;
    }

    100% {
        background-color: #FFFFFF;
    }
}

.sanitized input.sanitizeToNumber {
    background-image: none !important;
    animation: sanitized 1s linear;
}

.sanitized label::after {
    content: " (Eingabe wurde angepasst)";
    display: inline;
    padding-left: 10px;
    color: #f00;
    content: "\00AB" attr(oldval) "\00BB" "   wurde angepasst:";
}
/* previewBox fuer uploads */
#previewBox {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff9;
    display: flex;
    flex-direction: row;
    background-image: url(../loading.gif);
    background-repeat: no-repeat;
    background-position: center calc(50% + 60px);
    justify-content: center;
    align-items: center;
}

#previewBox .preview {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    position: relative;
    max-width: 800px;
    align-content: center;
    justify-content: center;
}

#previewBox .closePreview {
    background-color: #fff;
    border: 1px solid #000;
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 25px;
    cursor: pointer;
}

#previewBox .closePreview::after {
    content: "\000D7";
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    display: block;
    width: 25px;
    height: 25px;
    font-size: 20px;
    font-weight: bold;
}

/* ende */