﻿/* UserInfoContainer */

.userInfoWrapper .profilePic::after {
    content: '\f303'; /*pencil-alt*/
    color: white; /*var(--brightTransparent);*/
    background-color: var(--mediumTransparent);
    font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
    pointer-events: none;
    opacity: 0;
    z-index: 10;
    position: absolute;
    top: -25%;
    width: 150%;
    left: -25%;
    height: 150%;
    border-radius: 50%;
    text-align: center;
    font-size: 0.75em;
    line-height: 2; /* damit Icon halbwegs mittig, is aber nicht die schönste Lösung... */
    transition: opacity var(--mds-hover-transition-out) ease-out;
}

.userInfoWrapper .profilePic {
    margin-right: 0.4em;
    position: relative;
    transition: transform var(--mds-hover-transition-out) ease-out;
    cursor: pointer;
}

    .userInfoWrapper .profilePic img.profilePic {
        position: absolute;
        z-index: 5;
    }

    .userInfoWrapper .profilePic:hover {
        transform: scale(1.1);
    }

        .userInfoWrapper .profilePic:hover::after {
            opacity: 1;
        }

    .userInfoWrapper .profilePic::after {
        content: '\f303'; /*pencil-alt*/
        color: white; /*var(--brightTransparent);*/
        background-color: var(--mediumTransparent);
        font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
        pointer-events: none;
        opacity: 0;
        z-index: 10;
        position: absolute;
        top: -25%;
        width: 150%;
        left: -25%;
        height: 150%;
        border-radius: 50%;
        text-align: center;
        font-size: 0.75em;
        line-height: 2; /* damit Icon halbwegs mittig, is aber nicht die schönste Lösung... */
        transition: opacity var(--mds-hover-transition-out) ease-out;
    }

/* LOGINFORM */
.loginForm .userInfoContainer {
    margin-top: var(--paddingY);
    margin-bottom: var(--paddingY);
}

.userInfoWrapper .userInfoContainer {
    margin-top: var(--paddingY);
    margin-bottom: var(--paddingY);
}

.loginForm #cbRememberLogin:focus input {
    color: red;
}

.loginForm #messageContainer {
    font-weight: 600;
    font-size: 1.2em;
    padding: var(--padding);
}

#profilePicDlg {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

    #profilePicDlg .profilePicContainer {
        /*padding:var(--paddingSmall);*/
        /*background-color:var(--tertiary);*/
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    #profilePicDlg .deleteIcon {
        margin-right: 0.4em;
    }

    #profilePicDlg img.profilePic {
        border: 2px solid var(--tertiary);
        max-height: 20rem;
    }

    #profilePicDlg .profilePicContainer {
        position: relative;
        cursor: pointer;
    }

        #profilePicDlg .profilePicContainer::after {
            font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
            content: '\f07c'; /* Folder-Open */
            color: white;
            font-weight: bold;
            font-size: 3em;
            display: flex;
            flex-flow: column;
            justify-content: center;
            text-align: center;
            position: absolute;
            height: 100%;
            width: 100%;
            background-color: var(--mediumTransparent);
            pointer-events: none;
            opacity: 0;
            transition: opacity var(--mds-hover-transition-out) ease-out;
        }

        #profilePicDlg .profilePicContainer:hover::after {
            opacity: 1;
        }

        #profilePicDlg .profilePicContainer img.changed {
            border-color: var(--primary);
        }

        #profilePicDlg .profilePicContainer img {
            min-width: 12rem;
        }

        #profilePicDlg .profilePicContainer.empty img {
            min-height: 15rem;
            min-width: 12rem;
            visibility: hidden;
        }

        #profilePicDlg .profilePicContainer.empty::before {
            content: '\f2bd'; /*user-circle*/
            color: var(--mediumTransparent);
            font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
            font-size: 3em;
            pointer-events: none;
            display: flex;
            flex-flow: column;
            justify-content: center;
            text-align: center;
            border: 2px solid var(--mediumTransparent);
            position: absolute;
            height: 100%;
            width: 100%;
        }

        #profilePicDlg .profilePicContainer.empty {
            /*background-color:red;*/
        }

    #profilePicDlg .hidden {
        visibility: hidden;
        pointer-events: none;
        position: absolute;
        opacity: 0;
        bottom: -100%;
    }

.loginForm .profilePic::after {
    content: '\f303'; /*pencil-alt*/
    color: white; /*var(--brightTransparent);*/
    background-color: var(--mediumTransparent);
    font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
    pointer-events: none;
    opacity: 0;
    z-index: 10;
    position: absolute;
    top: -25%;
    width: 150%;
    left: -25%;
    height: 150%;
    border-radius: 50%;
    text-align: center;
    font-size: 0.75em;
    line-height: 2; /* damit Icon halbwegs mittig, is aber nicht die schönste Lösung... */
    transition: opacity var(--mds-hover-transition-out) ease-out;
}

.loginForm .profilePic {
    margin-right: 0.4em;
    position: relative;
    transition: transform var(--mds-hover-transition-out) ease-out;
    cursor: pointer;
}

    .loginForm .profilePic img.profilePic {
        position: absolute;
        z-index: 5;
    }

    .loginForm .profilePic:hover {
        transform: scale(1.1);
    }

        .loginForm .profilePic:hover::after {
            opacity: 1;
        }

    .loginForm .profilePic::after {
        content: '\f303'; /*pencil-alt*/
        color: white; /*var(--brightTransparent);*/
        background-color: var(--mediumTransparent);
        font-family: var(--fontawesome); /*"Font Awesome 5 Free";*/
        pointer-events: none;
        opacity: 0;
        z-index: 10;
        position: absolute;
        top: -25%;
        width: 150%;
        left: -25%;
        height: 150%;
        border-radius: 50%;
        text-align: center;
        font-size: 0.75em;
        line-height: 2; /* damit Icon halbwegs mittig, is aber nicht die schönste Lösung... */
        transition: opacity var(--mds-hover-transition-out) ease-out;
    }




/*.userInfoContainer .profilePic {
    margin-right: 0.4em;
    position: relative;
    transition: transform var(--mds-hover-transition-out) ease-out;
    cursor: pointer;
}

    .userInfoContainer .profilePic img.profilePic {
        position: absolute;
        z-index: 5;
    }

    .userInfoContainer .profilePic:hover {
        transform: scale(1.1);
    }

        .userInfoContainer .profilePic:hover::after {
            opacity: 1;
        }
*/
.LoginPopupForm_Root {
    box-shadow: var(--boxShadowSmallLight);
    padding: var(--padding);
    /*outline:1px solid var(--complimentaryTheme);*/
    background: var(--brighter);
    /*backdrop-filter:blur(2px);*/
    cursor: default;
    border-bottom-left-radius: var(--round);
    border-bottom-right-radius: var(--round);
    /*margin-top:calc(-1 * var(--paddingX));*/
    text-align: initial;
    max-width: 60ch;
}

.darkTheme .LoginPopupForm_Root {
    background-color: var(--mediumDarkThemeBG);
    color: var(--bright);
}

.floatingContainer:has(*.LoginPopupForm_Root) {
    --minMargin: 0px;
}

#topBar_layout #top_login_info.popupActive {
    color: var(--accentThemeTxt);
    background-color: var(--accentTheme);
}

.LoginPopupForm_Root #mainButtonsRow {
    gap: 1em;
}


/* 2FA */
.twoFactorAuth_QRCode {
    width: 300px;
}

.darkTheme .twoFactorAuth_QRCode {
    filter: invert();
}

.twoFactorAuth_manualCode {
    font-family: monospace;
    letter-spacing: 1px;
    font-weight: bold;
    user-select: text;
}

.twoFactorAuth_headerContainer {
    margin-top: 1em;
}

.twoFactorAuth_QRCodeContainer {
    margin: 2em 0;
}

.twoFactorAuth_root {
    background-color: white;
    padding: 2em;
    margin-top: 1.5em;
}

.twoFactorAuth_explanationText_afterImg_container {
    margin-top: 1.5em;
}

.twoFactorAuth_FormContainer {
    margin-top: 1em;
}

.twoFactorAuth_inputContainer {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

.twoFactorAuth_checboxContainer {
    display: flex;
    align-items: center;
}

.twoFactorAuth_checboxlabel {
    margin-right: 1em;
}

.twoFactorAuth_codeInput {
    width: 200px;
    display: inline-block;
    margin-right: 1em;
}

.twoFactorAuth_logoutButtonContainer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.twoFactorAuth_logoutButton {
    margin-right: 1.5em;
    margin-top: 2em;
    padding: 8px 16px;
}

/* KHB WEBKALENDER ENDZEITLABEL AUSBLENDEN */

.dojoxCalendarVertical .endTime {
    display: none !important;
    color: var(--bright);
}


/* PROJECTS */
*[data-table-type='ProjectFinder2Home'] td[data-colname='date'] {
    /*font-size: 1.2em;*/
    /*line-height: 1.2;*/
}


/*EvBookinEditor*/
.EvBookingEditorForm {
    --selectedRowColor: rgba(236, 103, 7, 0.2);
}

.EvBookingEditorForm .selectedTableRow {
    background-color: var(--selectedRowColor);
}

/* an das label-margin des inputs ausgleichen ------start*/
@media screen and (min-width: 674px) {
    .EvBookingditor_buttonShowEntityDialog {
        margin-top: 22px;
    }
}

@media screen and (max-width: 674px) {
    .EvBookingditor_buttonShowEntityDialog {
        margin-top: 0;
    }
}

.EvBookingEditor_editorFormButton {
    background-color: lightgray;
}

.EvBookingEditorForm .hintbox-items .EvRoomVacant:before {
    font-family: var(--fontawesome);
    font-weight: bold;
    margin-right: 0.4em;
    content: '\f274';
}

.EvBookingEditorForm .hintbox-items .EvRoomNotVacant:before {
    font-family: var(--fontawesome);
    font-weight: bold;
    margin-right: 0.4em;
    content: '\f273';
}

.EntityView {}

.EntityView.detailviewTable {
    width: 100%;
}

.EntityView .detailviewLabel {
    font-weight: bold;
    vertical-align: top;
    min-width: 10ch;
}

.EntityView.detailviewTable td {
    padding: 0.2em;
    line-height: 1.3;
}

.EntityView .detailviewContent {}

.EntityView .detailviewRow {}

/* an das label-margin des inputs ausgleichen ------end*/



/* Matrix */
.matrixRow {
    position: relative;
    width: 100%;
}


.orchestraMatrix .boxShadow {
    box-shadow: inset 0 0 0px 2px blue;
}

.matrixCell {
    float: left;
    text-align: center;
    line-height: 35px;
    font-size: 14pt;
    user-select: none;
}

.matrixCell_TOP_X {
    float: left;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-indent: 4px;
    height: 100%;
    font-size: 9pt;
}

.daygroupTop {
    border: 1px solid black;
    border-right-color: black;
    border-right-style: solid;
    border-right-width: 1px;
    border-right: none;
    text-align: center;
    font-weight: bold;
    font-size: 8pt;
}


/* Individual Datasheet */
.collapsiblesection {
    padding: var(--padding);
    /*padding-bottom:0;*/
    margin-top: var(--paddingY);
    border: 1px solid var(--tertiary);
    margin-bottom: var(--paddingY);
    border-radius: var(--round);
    background-color: var(--brightTransparent);
    position: relative;
}

.collapsiblesection {
    width: 100%;
    text-align: center;
}

.collapsiblesection .collapsibleAnimationContainer {
    position: absolute;
    bottom: -1px;
    left: 0;
    border-bottom-left-radius: var(--round);
    border-bottom-right-radius: var(--round);
    height: 1.5em;
    width: 100%;
    /*background-color: red;*/
    pointer-events: none;
}

.collapsiblesection .collapsibleAnimationContainer>div {
    position: relative;
    height: 100%;
    width: 100%;
    /*background-color: red;*/
    pointer-events: none;
}


/* REPORT DASHBOARD*/

.reportDashboardRoot .navigationContainer {}

.reportDashboardRoot .tilesContainer>.dashboardTileOuter {
    max-width: 45rem;
}

/* file dashboard*/
.fileDashboardRoot {}

/* Überschrift: */
.fileDashboardRoot>h2 {}

/* Navigation innerhalb eines Tabs: */
.tabContainer #contentNode .navigationContainer {
    display: flex;
    flex-flow: column;
    gap: 1em;
}

.tabContainer #contentNode .navigationContainer .NavigationArea {
    width: 100%;
    border-radius: var(--round);
    border: 0px solid var(--medium);
    padding: var(--padding);
}


.addressWizard {}

.addressWizard button.addCommunicationButton {
    border-radius: 20em;
}

*:is(.addressWizard, .contactPersonFormRoot) button.addCommunicationButton *:is(i, span) {
    pointer-events: none
}

*:is(.addressWizard, .contactPersonFormRoot) table td button {}

*:is(.addressWizard, .contactPersonFormRoot) table td button.deleteBtn {
    color: var(--warningText);
    background-color: var(--warning)
}

*:is(.addressWizard, .contactPersonFormRoot) table td button.editBtn {}

*:is(.addressWizard, .contactPersonFormRoot) table td > button:not(:first-child) {
    margin-left: 0.4em;
}

/*EvBookingEditor - ProgrammEditor*/

.programEditor {}

.programEditor .editorRow {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: end;
}

.programEditor .editorFirstColumn {
    flex: 0 0 auto;
    width: 15%;
}

.programEditor .editorColumn {
    flex: auto;
}

.programEditor .inputEditColumn {
    width: 35%;
    margin: 0 2px;
}

.programEditor .inputDurationColumn {
    width: 20%;
    margin: 0 2px;
}

.programEditor .buttonColumn {
    width: 10%;
    padding: 4px 8px;
}


.todoForm_Root {
    container-type: inline-size;
    /* macht die Section zu einem Container für Container Queries */
    container-name: todoContainer;
}

.todoForm_Root .todoForm_MemberTodoEntry {
    flex-basis: 49%;
    flex-shrink: 0;
}


@container todoContainer (max-width: 800px) {

    /* für Elemente, die sich in einem solchen Container befinden */
    /* zb: Elemente in flex-containern sollen statt 49% lieber doch 100% flex-basis verwenden */
    .todoForm_Root .todoForm_MemberTodoEntry {
        flex-basis: 100%;
    }
}

.EvTaskView .taskDetailsTable {}

.EvTaskView .taskDetailsTable tr>td:first-child {
    text-align: end;
    font-size: 0.9em;
    color: var(--secondary);
}

.EvTaskView .taskDetailsTable tr>td:last-child::before {
    content: attr(data-label);

}

.EvTaskView *:is(.appointmentDetails, .taskDetails) {
    font-size: 1rem;
}

.EvTaskView *:is(.appointmentDetails, .taskDetails) label {
    font-size: 0.85em;
    color: var(--secondary);
}

.EvTaskView *:is(.appointmentDetails, .taskDetails) p {
    margin-top: 0;
}


.EvTaskView #todosContainer>* {
    flex-basis: 49%;
    flex-shrink: 0;
}

/* allgemeiner Style für Entityviews, weil Schema Label+Inhalt brauchen wir öfter.*/
.entityViewContainer {}

.entityViewContainer>label,
.entityViewContainer>*>label

/* weil manchmal was verschachtelt ist... */
    {
    font-size: 0.85em;
    color: var(--secondary);
}

.entityViewContainer>label+p {
    margin-top: 0;
}

/* OCCURRENCE / EFORMS */

/*-------------------------Occurrence----------------------------------------*/
.occurrenceFormRoot {
    min-height: 25em;
    user-select: none;
    --special: brown;
    --mandatory: var(--w3PaleYellow);
    --mandatoryTxt: inherit;
    --mandatoryMissing: var(--w3PaleYellow);
    --mandatoryMissingTxt: initial;
    /*var(--warning);*/
}

.occurrenceFormRoot .searchSelect_groupLabel {
    font-weight: bold;
}

.occurrenceFormRoot .searchSelect_groupLabel hr {
    border-color: var(--secondary);
}

.occurrenceFormRoot .propertiesTable {
    width: 100%;
}

.occurrenceFormRoot .OccurrenceForm_CommentContainer {
    /*margin-bottom: 32px;*/
    /* warum? */
}

.occurrenceFormRoot .propertiesTable {
    border-collapse: collapse;
    font-size: 0.9em;
    --secondaryBorderColors: var(--mediumBright);
    --mainBorderColors: var(--medium);
    /*border-top: 1px solid var(--secondaryBorderColors);*/
}

.occurrenceFormRoot .propertiesTable *:is(.propRow, .groupRow):not(.heading) .propertyContainer {
    margin: var(--paddingY) 0;
    border-radius: var(--round);
    padding: var(--paddingSmall);
}

/* ein Propertycontainer innerhalb einer anderen Propertytable (also Gruppe) verhält sich wie eine Table-Cell: */
.occurrenceFormRoot .propertiesTable tr.groupRow .propertiesTable .propertyContainer {
    display: table-cell;
}


.occurrenceFormRoot .propertiesTable .propertiesTable {
    font-size: 1em;
}

.occurrenceFormRoot .propertiesTable thead {
    font-weight: bold;
    font-size: 1.2em;
}

.occurrenceFormRoot .propertiesTable thead th,
.occurrenceFormRoot .propertiesTable thead td {
    border-bottom: 1px solid var(--mainBorderColors);
}

.occurrenceFormRoot .propertiesTable tr.propRow td {
    /*padding: var(--paddingSmall);
            border-color: var(--secondaryBorderColors);*/
    border-style: solid;
    border-width: 0px;
}

.occurrenceFormRoot .propertiesTable>tr.groupRow {
    border-right: 1px solid var(--mainBorderColors);
    border-left: 1px solid var(--mainBorderColors);
}


.occurrenceFormRoot .propertiesTable tr.mandatory>div.propertyContainer {
    background-color: var(--mandatory);
    color: var(--mandatoryTxt);
}

.occurrenceFormRoot .propertiesTable tr.mandatoryMissing>div.propertyContainer {
    background-color: var(--mandatoryMissing);
    color: var(--mandatoryMissingTxt);
}

.occurrenceFormRoot .propertiesTable tr.mandatoryMissing>div.propertyContainer>.propertyLabel {
    box-shadow: inset 0px -2px 0px 0px var(--mandatoryMissing);
}

.occurrenceFormRoot .propertiesTable tr.mandatoryMissing>div.propertyContainer>div.propertyValue {
    box-shadow: inset 0px -2px 0px 0px var(--mandatoryMissing);
}

.occurrenceFormRoot .propertiesTable tr.mandatoryMissing>td {
    color: var(--mandatoryMissing);
}

.occurrenceFormRoot .propertiesTable tr.groupRow.mandatoryMissing>td:last-child {
    color: unset;
}


.occurrenceFormRoot .propertiesTable div.helptext {
    /*padding: var(--paddingSmall);*/
    opacity: 1;
    color: var(--secondaryThemeD2);
    font-style: italic;
    font-size: 0.95em;
}

.occurrenceFormRoot .propertiesTable div.helptext span::before {
    content: '\f05a';
    font-family: var(--fontawesome);
    /*"Font Awesome 5 Free";*/
    margin-right: 0.4em;
    font-weight: bold;
    font-style: normal;
}

.occurrenceFormRoot .propertiesTable tr.propRow>td.groupEntryCounter {
    vertical-align: middle;
    border-width: 1px;
    border-style: solid;
    border-color: var(--mainBorderColors);
    text-align: center;
    font-weight: bold;
    border-right-color: var(--mainBorderColors);
}

.occurrenceFormRoot .propertiesTable tr.propRow>td.groupEntryCounter>div {
    display: flex;
    flex-direction: column;
    align-content: center;
}

.occurrenceFormRoot .propertiesTable tr:is(.propRow, .groupRow) label.propertyLabel {
    font-weight: bold;
    font-size: 1.2em;
    display: block;
}

.occurrenceFormRoot .propertiesTable tr.propRow.heading *:is(h3, h4, h5) {
    font-size: 1.5em;
    text-align: center;
    font-weight: bold;
    /*padding: var(--padding);*/
    background-color: unset;
    /*var(--secondary);*/
    /*color: var(--secondaryText);*/
}

.occurrenceFormRoot .propertiesTable tr.propRow.heading.small1 *:is(h3, h4, h5) {
    font-style: italic;
    font-size: 1.2em;
}

.occurrenceFormRoot .propertiesTable tr.propRow.heading.small2 *:is(h3, h4, h5) {
    font-size: 0.9em;
    /*text-align:left;*/
}

.occurrenceFormRoot .propertiesTable tr.propRow.heading>td.propertyLabel {
    /*box-shadow: inset 0px -2px 0px 1px var(--secondary);*/
    padding-top: 1.2em;
    border-bottom-color: var(--secondaryBorderColors);
    border-bottom-width: 2px;
}

.occurrenceFormRoot .propertiesTable tr.propRow.heading.small1>td.propertyLabel,
.occurrenceFormRoot .propertiesTable tr.propRow.heading.small2>td.propertyLabel {
    border-bottom: 0;
    padding-top: 0.8em;
}

.occurrenceFormRoot .propertiesTable tr.groupRow.modifier>td {
    text-align: center;
}

/* wenn sich Labels neu laden, die alten Labels langsam abblenden */
.occurrenceFormRoot .obsoleteLabels label.propertyLabel,
.occurrenceFormRoot .obsoleteLabels td.groupEntryCounter>div {
    transition: 0.5s;
    opacity: 0.3;
}

/* die linke Spalte, in der bei Gruppen über die ganze Höhe einfach das Label der Gruppe steht */
.occurrenceFormRoot .propertiesTable tr.groupRow>div.propertyContainer>label.groupLabel {
    padding: var(--paddingSmall);
    vertical-align: top;
}



.occurrenceFormRoot .propertiesTable tr.groupRow>div.propertyContainer>label.groupLabel>div>div.labelMinValue,
.occurrenceFormRoot .propertiesTable tr.groupRow>div.propertyContainer>label.groupLabel>div>div.labelMaxValue {
    font-style: italic;
    font-size: 0.9em;
}

.occurrenceFormRoot .propertiesTable tr.groupRow>div.propertyContainer>label.groupLabel>div>button {
    display: block;
}



/* VoiceAttributeForm */

.voice-attribute-form-number-container {
    white-space: nowrap;
    width: 30%
}

.voice-attribute-form-comment-container {
    width: 65%;
}

.voice-attribute-row {
    gap: 1em;
}

.voice-attribute-form-number-input {
    width: 35%;
}

.voice-attribute-number-checkbox {
    width: 55%;
}

.voice-attribute-form-comment-input {
    width: 80%;
}


@media screen and (max-width: 700px) {
    .voice-attribute-form-number-container {
        flex-direction: column;
    }

    .voice-attribute-form-comment-container {
        flex-direction: column;
    }

    .voice-attribute-form-number-input {
        width: 60%;
    }
}

/* Travel Booking Form */
.hintbox-travelbookingform {
    flex: 1 1 20em;
}

.travel-booking-form-location-start-input {
    flex: 1 1 20em;
}

.travel-booking-form-location-end-input {
    flex: 1 1 20em;
}

.travel-booking-form-date-forerun-input {
    flex: 1 1 20em;
    max-width: 25em;
}

.travel-booking-form-duration-forerun-input {
    flex: 1 1 5em;
    max-width: 10em;
}

.travel-booking-form-date-start-input {
    flex: 1 1 20em;
    max-width: 25em;
}

.travel-booking-form-date-end-input {
    flex: 1 1 20em;
    max-width: 25em;
}

.travel-booking-form-duration-input {
    flex: 1 1 5em;
    max-width: 10em;
}

.travel-booking-form-responsible-input {
    max-width: 20em;
}

.travel-booking-form-note-input {
    flex: 1 1 auto;
}

.travel-booking-form-responsible-input {
    flex: 1 1 20em;
}

.travel-booking-form-collector-input {
    flex: 1 1 25em;
}

.travel-booking-form-alternative-time-input {
    max-width: 20em;
}

.travel-booking-form-transportation-code-input {
    flex: 1 1 25em;
    max-width: 25em;
}

.travel-booking-form-vehicle-input {
    flex: 1 1 20em;
}

/* Booked For Form*/
.booked-for-form-address-hintbox {
    flex: 1 1 25em;
    max-width: 25em;
}

.booked-for-form-quantity-person-input {
    flex: 1 1 5em;
    max-width: 10em;
}

.booked-for-form-relation-type-input {
    flex: 1 1 25em;
    max-width: 25em;
}

.booked-for-form-smoking-attituded-input {
    flex: 1 1 25em;
    max-width: 25em;
}


/* Opus Editor */
.opus-editor-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(24em, 1fr));
    gap: 1em;
}

.opus-editor-row-full {
    width: 100%;
}

.opus-editor-row-half {
    width: 50%;
}

.opus-editor-row-third {
    width: 33%;
}

.opus-editor-row-quarter {
    width: 25%;
}

.opus-editor-row-fifth {
    width: 20%;
}

.opus-editor-column-span-full {
    grid-column: span 2;
}

.opus-editor-column {
    grid-template-rows: repeat(1, 1fr);
    gap: 0.5em;
}

.opus-editor-small-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12em, 1fr));
    gap: 0.5em
}

.duration-container {
    width: 50%
}

.duration-input {
    flex: 1 2 35%;
}

.grid-row-container {
    width: 100%;
}

.grid-row-container>.grid-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}





/* Evisio */


.evisio-logo {
    height: 25px;

    .darkTheme & {
        filter: brightness(70%);
    }
}

.evisio-logo-heading {
    height: 3em;
    margin-left: 0.5em;

    .darkTheme & {
        filter: brightness(70%);
    }
}

.evisio-heading {
    margin: 0;
}

.evisio-close-button {
    color: inherit;
    .darkTheme & {
        color: var(--bright);
    }
}

.evisio-close-button-container {
    height: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.evisio-chat-container {
    display: grid;
    grid-template-rows: 1fr 12fr 1fr;
    margin: 2em auto;
    background-color: #fff;
    border-radius: var(--rounder);
    overflow: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    filter: drop-shadow(0px 0px 8px var(--darkTransparent));
    height: 90vh;
    width: 90vw;
    max-width: 950px;
    max-height: 950px;
    overscroll-behavior: none;
    .darkTheme & {
        background-color: var(--darkThemeBG);
        backdrop-filter: blur(2px);
    }
}



.evisio-chat-container>div {
    overscroll-behavior: none;
}

.evisio-chat-content-container {
    display: flex;
    flex-direction: column-reverse;
    overflow-y: scroll;
    overflow-x: hidden;
    border-left: 1px solid var(--secondaryThemeL4);
    border-right: 1px solid var(--secondaryThemeL4);
    width: 100%;
    user-select: text;
    .darkTheme & {
        border-left: 1px solid var(--secondaryThemeD4);
        border-right: 1px solid var(--secondaryThemeD4);
    }
}

.evisio-chat-top-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background-color: var(--primary);
    color: var(--secondaryText);
    border-top-left-radius: var(--round);
    border-top-right-radius: var(--round);
    width: 100%;
    border-bottom: 1px solid var(--primaryTransparent);
    height: 100%;
    overflow: hidden;
    min-height: 3em;

    .darkTheme & {
        background-color: var(--primaryTransparent);
    }
}

.evisio-chat-container-action-bar {
    display: flex;
    gap: var(--paddingX);
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    background-color: var(--secondaryThemeL5);
    border-bottom-left-radius: var(--round);
    border-bottom-right-radius: var(--round);
    width: 100%;
    padding: 1em 1em;
    border-top: 1px solid var(--secondaryThemeL3);

    .darkTheme & {
        background-color: var(--secondaryThemeD5);
        border-top: 1px solid var(--secondaryThemeD3);
    }
}

.evisio-chat-message-input {
    width: 100%;
    border-radius: 2em;
    min-height: 2em;
    max-height: 6em;
    padding: 0.5em 1em;
    resize: none;
    overflow: hidden;
}

.evisio-chat-message-input:focus-visible {
    outline: 0.2em solid var(--primary);

    .darkTheme & {
        outline: 0.2em solid var(--primaryTransparent);
    }
}

.evisio-clear-history-button {
    height: 2.5em;
    width: 3em;
    border: 0;
    text-align: center;
    vertical-align: middle;
    padding: var(--paddingSmall);
    user-select: none;
    position: relative;

    .darkTheme & {
        background-color: var(--secondaryThemeD3);
        color: var(--brighter);
    }
}


.evisio-send-message-button {
    width: 3em;
    height: 2.5em;
    border-radius: 3em;
    border: 0;
    text-align: center;
    vertical-align: middle;
    padding: var(--paddingSmall);
    user-select: none;
    position: relative;

    .darkTheme & {
        background-color: var(--accentTheme);
        color: var(--brighter);
    }
}

.evisio-button-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.evisio-chat-date-label-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    text-align: center;
    margin: 0.5em 0;
    width: 100%;
}

.evisio-chat-date-label {
    font-size: 0.9em;
    background-color: var(--secondaryThemeL5);
    max-width: 30%;
    border-radius: var(--roundest);
    padding: 0.2em 0.5em;

    .darkTheme & {
        background-color: var(--secondaryThemeD5);
        color: var(--bright);
    }
}

.chat-bubble {
    padding: 10px;
    margin: 10px;
    border-radius: var(--round);
    max-width: 70%;
    min-width: 20%;
    text-align: left;
    word-wrap: break-word;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em;
}

.chat-bubble>br {
    margin: 0.5em 0;
}

.chat-bubble-timestamp-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    width: 100%;
    user-select: none;
}

.chat-bubble-timestamp {
    font-size: 0.8em;
}

.receiver-chat-bubble {
    background-color: var(--primaryTransparent);
    color: var(--light);
    align-self: flex-end;

    .darkTheme & {
        color: var(--bright);
    }
}

.sender-chat-bubble {
    background-color: var(--secondaryThemeL5);
    color: var(--dark);
    align-self: flex-start;

    .darkTheme & {
        color: var(--bright);
        background-color: var(--secondaryThemeD5);
    }
}

.chat-bubble-typing {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    min-width: 5em;
    max-width: 10em;
}

.typing-circle {
    display: block;
    height: 0.5em;
    width: 0.5em;
    border-radius: 50%;
    background-color: #8d8d8d;
    margin: 0.2em;
}

.typing-scaling {
    animation: typing 1000ms ease-in-out infinite;
    animation-delay: 3600ms;
}

.typing-circle:nth-child(1) {
    animation-delay: 0ms;
}

.typing-circle:nth-child(2) {
    animation-delay: 333ms;
}

.typing-circle:nth-child(3) {
    animation-delay: 666ms;
}

@keyframes typing {
    0% {
        transform: scale(1)
    }

    33% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.4)
    }

    100% {
        transform: scale(1)
    }
}

@media screen and (min-width: 800px) and (min-height: 800px) {
    .evisio-chat-container {
        width: 50vw;
        height: 90vh;
    }
}


.google-icon {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="%234285F4"/><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="%2334A853"/><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="%23FBBC05"/><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="%23EA4335"/><path d="M1 1h22v22H1z" fill="none"/></svg>');
    height: 10px;
    width: 10px;
    display: inline-block;
    background-size: contain;
    margin-right: 4px;
}

/* imageViewer */
.imageViewerWidget .fileViewerImageViewer img {
    max-width: 60vh;
    height: auto;
}

.imageViewerWidget {
    overflow: hidden;
}

/* pdf viewer, siehe Site.css .repeatingStripesBG */
.e-pv-viewer-container { /*background*/
    --stripe1Color: var(--mediumTransparent);
    --stripe2Color: var(--brightTransparent);
    --stripe1Width: 10px;
    --stripe2Width: var(--stripe1Width, 6px);
    --smooth1to2: 1px;
    --smooth2to1: 1px;
    --angle: -35deg;
    background-image: repeating-linear-gradient(var(--angle), var(--stripe1Color) 0px, var(--stripe1Color) var(--stripe1Width), var(--stripe2Color) calc(var(--stripe1Width) + var(--smooth1to2)), var(--stripe2Color) calc(var(--stripe1Width) + var(--stripe2Width)), var(--stripe1Color) calc(var(--stripe1Width) + var(--stripe2Width) + var(--smooth2to1)));
}
.e-pv-sidebar-toolbar-splitter,
.e-pv-sidebar-content-splitter,
.e-pv-sidebar-content{
    z-index: 16 !important;
}

.e-dlg-overlay,
.e-pv-sidebar-toolbar{
    z-index: 17 !important;
}

.fileViewerPdfViewer{
    height: 70vh !important;
}

body:has(.calendarView) .pdfViewerWidget{ /* fix weil es einen conflict mit den calendar syncfusion css zeugs gibt... */
    .e-pv-toolbar{
        padding-top: 10px !important;
    }

    .e-pv-sidebar-toolbar{
        top: 52px !important; /* default ist: 42px */
    }
}

.pdfEditorSaveIconColorSaved{
    color: #4CAF50 !important;
}

.pdfEditorSaveIconColorUnsaved{ /* fuer syncfusion pdf editor save icon, wird auch vom syncfusion documentEditor verwendet */
    color: #f44336 !important;
}

.pdfViewerWidget.disabledAnnotationImporExportMenuButton [aria-label="annotation button"]{
    display:none;
}

.pdfViewerWidget .e-pv-stamp-separator-container,
.pdfViewerWidget .e-pv-stamp-template-container{
    display: none !important; /* stamp menu */
}

.pdfViewerWidget.disablePostingComments .e-pv-comment-panel .e-editable-inline{
    display:none !important;
}

.pdfViewerWidget.disable_pageOrganizer_saveAs_click .e-footer-content .e-control.e-btn.e-lib.e-primary.e-flat:first-of-type{
    opacity: 0 !important;
    pointer-events: none !important;
}

.pdfViewerWidget .e-toolbar-item [id="YouSignSignature"] .e-tbar-btn-text{
    display: unset !important;
}

.pdfViewerWidget .e-toolbar-item button[id="YouSignSignature"]:has(> .YouSignBtnIsInactive){
    border-radius: 12px !important;
    border: var(--primary) 1px solid !important;
}

.pdfViewerWidget .e-toolbar-item button[id="YouSignSignature"]:has(> .YouSignBtnIsActive) {
    border: rgba(255, 11, 11, 0.65) 1px solid !important;
}
.pdfViewerWidget .e-toolbar-item button[id="YouSignSignature"]{
    background: var(--primaryTransparent);
    border-radius: 12px !important;
}

.pdfViewerWidget.disablePdfToolBarBtns .e-pv-comment-panel,
.pdfViewerWidget.disablePdfToolBarBtns .e-toolbar-item .e-pv-zoom-drop-down,
.pdfViewerWidget.disablePdfToolBarBtns .e-pv-sidebar-toolbar .e-btn,
.pdfViewerWidget.disablePdfToolBarBtns .e-toolbar-item .e-btn:not(:has(> .YouSignBtnIsActive)) {
    pointer-events: none !important;
    opacity: 0.15 !important;
    cursor: not-allowed !important;
}

/* pdfViewer yousign */
.e-toolbar-item.e-pv-formdesigner-container,
[id$="_formdesigner_toolbar"].e-pv-formdesigner-toolbar.e-control.e-toolbar,
.pdfYousign [aria-label="Sidebar Toolbar"].e-pv-sidebar-toolbar,
.pdfYousign .e-pv-sidebar-toolbar-splitter.e-left[id$="_sideBarToolbarSplitter"],
.pdfYousign .e-pv-undo-container,
.pdfYousign .e-pv-redo-container{
    display: none !important;
}

.pdfYousign.disableAutoSave .saveStatusBtn{
    display: none !important;
}

.SignatureObjectEditorWidget.lockSignTable .addNewSignerBtn{
    display: none !important;
}

.signStatusContainer.colorWasSet .textOutlineBlack{
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

/* document editor */
.documentEditorWidget .documentEditorWidgetContainer,
.documentEditorWidget{
    height: 100%;
}

.documentEditorWidget .e-split-btn-wrapper .e-split-btn{
    z-index: 0 !important;
}

.documentEditorWidget{
    min-height: 60vh;
}

.GenericDialog.fullsize .documentEditorWidget{
    min-height: 85vh;
}


.oeCheckinOtpTerminal_root .animatedBarEx{
    animation-name: oeOtpProgressbar;
    --startProgress: 0%;
    --duration: 60s;
    animation-duration: var(--duration);
    animation-iteration-count:1;
    animation-play-state:paused;
    animation-timing-function:linear;
    background-color:var(--primary);
    height:100%;
}

@keyframes oeOtpProgressbar{
    from {

        width: var(--startProgress, 100%);
    }

    to {
        width: 0%;
    }
}

.StartNavigationMain{
    --widthBase:20ch;
} .StartNavigationMain .NavigationArea:has(.NavigationTileContainer.rows){
      max-width:max(60ch, 70%);
      margin:auto;
  }

.WidgetNavigationMap_home{

}
    .WidgetNavigationMap_home #navigationAreasContainer.tiles {
       /*justify-content:space-evenly;*/
    }
    .WidgetNavigationMap_home #navigationAreasContainer.tiles > .navigationAreaContainer {
        flex-basis: var(--containerBaseWidth, 48%);
        flex-grow: 0;
    }
    .WidgetNavigationMap_home #navigationAreasContainer.customWidth {
        max-width: var(--containerBaseWidth, unset);
    }

    .WidgetNavigationMap_home #navigationAreasContainer.searchActive :is(.NavigationRow, .NavigationTile):not(:has(.searchHighlight)) {
        opacity: 0.3;
        filter: saturate(0.3);
    }

    .WidgetNavigationMap_home #navigationAreasContainer.searchActive .NavigationArea:not(:has(.searchHighlight)) :is(h1, h2, h3, h4, h5, h6) {
        opacity: 0.6;
    }

@media screen and (max-width: 800px) {
        .WidgetNavigationMap_home #navigationAreasContainer.tiles > .navigationAreaContainer {
        flex-basis: var(--containerBaseWidth, 48%);
        flex-grow: 1;
    }
}

.notificationCenter_root {
    color:var(--fontColorDefault);
}

    .notificationCenter_root #unreadNotificationCounter{
        height:100%;
        width:100%;
    }
    .notificationCenter_root #mainButton {
        height: 100%;
        width: 100%;
        background-color:transparent;
        --counterColor: var(--secondaryThemeTransparent);
        --counterColorTxt: var(--secondaryText);
    }

    .notificationCenter_root #mainButton.open {

        background-color: var(--secondary);
        color:var(--secondaryText);
    }
        .notificationCenter_root #mainButton.noCount #unreadNotificationCounter {
            display: none;
        }

        .notificationCenter_root #unreadNotificationCounter {
            font-size:0.9em;
        }
    .notificationCenter_root #mainButton.unread {
        /*--counterColor: var(--w3Orange);
        --counterColorTxt: var(--brighter);*/
        --counterColor: var(--primary);
        --counterColorTxt: var(--primaryText);
    }
        .notificationCenter_root #mainButton.unconfirmed {
            --counterColor: var(--warning);
            --counterColorTxt: var(--warningText);
        }
        .notificationCenter_root #mainButton #labelContainer {
            padding: var(--paddingYSmall);
            border-radius: var(--roundest);
            background-color:var(--counterColor);
            color: var(--counterColorTxt);
            min-width: 3ch;
            white-space:nowrap;
        }



    .notificationCenter_root #floating {
        background-color: var(--bg1);
        border: 1px solid var(--borderColor);
        box-shadow: var(--boxShadowMediumMedium);
        /*max-height: 45dvh;*/
        overflow: clip;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        border-radius: var(--round);
        width: clamp(55ch, 70vw, 75ch);
    }

        .notificationCenter_root #floating > #topContainer {
            padding: 0 var(--paddingXSmall);
            box-shadow: var(--boxShadowMediumMedium);
        }
        .notificationCenter_root #floating > #rowContainer {
            flex-grow: 1;
            max-height: min(450px, 70dvh);
            overflow-y: scroll;
            background-color: var(--bg1);
            padding: var(--paddingSmall);
            display: flex;
            flex-direction: column;
            gap: 1em;
        }
    .notificationCenter_root .notificationPreviewRow{
        border-radius:var(--rounder);
        overflow:clip;
    }

    .notificationCenter_root #filterInfoContainer {
        font-size:0.9em;
    }
        .notificationCenter_root #filterInfoContainer p {
            padding: var(--paddingSmall);
            background-color: var(--mediumTransparent);
            border-radius: var(--roundest);
        }
    .notificationCenter_root #filterInfoContainer p > span {
        margin-left:0.4em;
    }

    .notificationPreviewRow {
        padding: var(--paddingSmall);
        background-color: var(--mediumTransparent);
    }

.notificationPreviewRow #content{

}
.notificationPreviewRow.unread{
    background-color:var(--accentThemeTransparent);
    position:relative;
}
    .notificationPreviewRow.unread:after {
        content:'';
        position:absolute;
        inset:0;
        border-radius:inherit;
        z-index:1;
        pointer-events:none;
        box-shadow: inset 0px -2px var(--accentTheme);
    }
.notificationPreviewRow.unread #content{
    font-weight:600;
}
.notificationCenter_root #actionContainer button {
    background-color: var(--mediumTransparent);
}
.notificationCenter_root #actionContainer button.active {
    background-color: var(--primary);
    color: var(--primaryText);
}
.notificationPreviewRow.confirmationNeeded {
    /*outline:2px solid var(--warning);*/
    /*outline-offset:-1px;*/
}
    .notificationPreviewRow.confirmationNeeded:not(.confirmed) {
        background-color: var(--warningYellow);
        color: var(--warningYellowText);
    }
    .notificationPreviewRow.confirmationNeeded::before {
        content: '\f12a';
        font-family: var(--fontawesome);
        font-weight: bold;
        color: var(--warning);
        padding: var(--paddingSmall);
        float: right;
    }
    .notificationPreviewRow.confirmationNeeded.confirmed::before {
        content: '\f00c';
        color: var(--success);
    }

        /* Reset für Elemente im Content (pre...)*/

.notificationPreviewRow #iconContainer {
    margin-right: var(--paddingXSmall);
}
    .notificationPreviewRow #iconContainer i.defaultIcon {
        opacity: 0.6;
    }
.notificationPreviewRow #messageContainer {
    opacity:0.8;
    font-size: var(--fontSizeSmaller);
    background-color:transparent;
    padding:0;
}
.notificationPreviewRow #subjectContainer {
    padding: 0;
    margin-top: var(--paddingYSmall);
}
.notificationPreviewRow #bottomRow {
    opacity:0.6;
    font-size: var(--fontSizeSmall);
    margin-top: var(--paddingYSmall);
}
.notificationPreviewRow.reminder #bottomRow {
    color: var(--fontColorDefault);
    font-weight:bold;
}
.notificationPreviewRow.reminder #reminderIconContainer {
    display: block !important;
}

.fit-content {
    max-width: fit-content;
    max-height: fit-content;
}

/* Set SearchSelect overflowContainer to visible if in StaticTable */

.employmentStatusFinder .staticTable .searchSelectColumn {
    overflow: visible;
}

.employmentStatusFinder .staticTable .selectable .label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.employmentStatusFinder .finderContainer #bottomContainer #resultSection {
    overflow: visible;
}

@media screen and (max-width: 900px) {

    .employmentStatusFinder .staticTable.responsiveTable.fixedLayout .overflowContainer {
        overflow: visible;
    }

    .employmentStatusFinder .staticTable .selectable .label {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .employmentStatusFinder table.responsiveTable tr:not(.table_groupHeader) {
        overflow: visible;
    }

    .employmentStatusFinder table.responsiveTable {
        overflow: visible;
    }

    .employmentStatusFinder #bottomContainer #resultSection {
        overflow: visible;
    }
}
