html * {
    font-size: 14px;
    color: #5b5b5b;
    font-family: "Raleway, Roboto",sans-serif;
    font-weight: 100;
}

body {
    margin: 0;
    padding: 0;
}

form {
}

    form div.row {
        padding: 2px 0px;
    }

        form div.row label {
            display: inline-block;
            width: 150px;
        }

h1 {
    margin: 0;
    font-size: 200%;
    font-weight: 500;
}

h2 {
    margin: 0;
    font-size: 175%;
    font-weight: 500;
}

h3 {
    margin: 0;
    font-size: 125%;
    font-weight: 500;
}

h4 {
    margin: 0;
    font-size: 100%;
    font-weight: 500;
}

strong {
    font-weight: 600;
}

div.spacer {
    height: 10px;
}

input {
    padding: 4px 6px;
    border: 1px solid #cdcdcd;
}

    input:hover {
        border: 1px solid #a7a7a7;
    }

select {
    padding: 4px 6px;
    border: 1px solid #cdcdcd;
}

textarea {
    border: 1px solid #cdcdcd;
}

fieldset {
    border: 1px solid #cdcdcd;
}

a {
    text-decoration: none;
    color: #7b7bff;
}

    a:hover {
        color: #3b3bcc;
    }

table.duplicates tr:nth-child(3n) {
    background: #cdcdcd;
}

table.duplicates tr:nth-child(3n+1) {
    background: #fff;
}

table.duplicates tr:nth-child(3n+2) {
    background: #fff;
}

table {
    border-collapse: collapse;
}

    table tr {
    }

        table tr:nth-child(even) {
            background: #fafafa;
        }

        table tr th {
            padding: 4px 6px;
            border: 1px solid #cdcdcd;
            background: #3a9ca4;
            color: #ffffff;
            font-weight: normal;
            vertical-align: top;
        }

        table tr td {
            padding: 4px 6px;
            border: 1px solid #cdcdcd;
            vertical-align: top;
        }

            table tr td.colspan {
                border-right: none;
                border-left: none;
            }

                table tr td.colspan:first-child {
                    border-left: 1px solid #cdcdcd;
                }

                table tr td.colspan:last-child {
                    border-left: 1px solid #cdcdcd;
                }

            table tr td.datetime {
                text-align: right;
            }

            table tr td.number {
                text-align: right;
            }

                table tr td.number input {
                    text-align: right;
                }

            table tr td.string {
                text-align: left;
            }

            table tr td.icon {
                text-align: center;
            }

                table tr td.icon img {
                    vertical-align: middle;
                }

    table.sortable th {
        cursor: pointer;
    }

        table.sortable th.asc {
            background-image: url(/img/bullets/sort_asc.png);
            background-repeat: no-repeat;
            background-position-x: 0px;
            background-position-y: center;
        }

        table.sortable th.desc {
            background-image: url(/img/bullets/sort_desc.png);
            background-repeat: no-repeat;
            background-position-x: 0px;
            background-position-y: center;
        }

    table.list th {
        background: #ffffff;
        color: #000;
        border: 0;
        text-align: left;
        font-weight: bold;
        padding: 2px 10px 0px 0px;
        vertical-align: top;
    }

    table.list td {
        border: 0;
        padding: 2px 10px 0 0;
    }

    table.list tr:nth-child(even) {
        background: #fff;
    }

a.button {
    padding: 4px 10px 4px 4px;
    background: #f0f0f0;
    color: #000;
    display: inline-block;
}

    a.button:hover {
        background: #e7e7e7;
        color: #000;
    }

a.submit {
    background: #ebaa00;
    color: #fff;
}

    a.submit:hover {
        background: #db9a00;
    }

.inactive a {
    text-decoration: line-through;
}

.inactive td {
    text-decoration: line-through;
}

button {
    cursor: pointer;
    padding: 8px 10px;
    border: none;
    background: #f0f0f0;
    color: #000;
}

    button:hover {
        background: #e7e7e7;
        color: #000;
    }

    button.delete {
        background: #ff3300;
        color: #fff;
    }

    button.submit {
        background: #ebaa00;
        color: #fff;
    }

        button.submit:hover {
            background: #db9a00;
        }

    button.green {
        background: #00cc00;
    }

    button.yellow {
        background: #eeee00;
    }

    button.red {
        background: #ff0000;
        color: #fff;
    }

    button.disabled {
        color: #999;
        cursor: default;
        pointer-events: none;
    }

input.disabled {
    color: #999;
    cursor: default;
    pointer-events: none;
}

div.buttons {
}

    div.buttons a.button {
        padding: 10px;
    }

.clear {
    clear: both;
}

form.list {
    margin-top: 10px;
}

    form.list div {
        padding: 2px 0px;
    }

        form.list div label {
            display: inline-block;
            width: 220px;
            vertical-align: top;
        }

form.labelWidth100 div label {
    display: inline-block;
    width: 100px;
}

form.short div label {
    display: inline-block;
    width: 50px;
}

form.list div input {
    width: 370px;
}

form.list div select {
    width: 384px;
    padding: 4px 6px;
}

form.list div.buttons {
    margin: 10px 0 0 0;
}

    form.list div.buttons button {
        margin-left: 10px;
    }

    form.list div.buttons a {
        margin-left: 10px;
    }

form.list select.col_1_2 {
    width: 124px
}

form.list select.col_2_2 {
    margin-left: 5px;
    width: 255px
}

form.list input.col_1_2 {
    width: 110px
}

form.list input.col_2_2 {
    margin-left: 2px;
    width: 240px
}

form.list input.col_1_3 {
    width: 40px;
    text-align: center;
}

form.list input.col_2_3 {
    margin-left: 2px;
    text-align: right;
    width: 70px;
}

form.list input.col_3_3 {
    margin-left: 2px;
    text-align: right;
    width: 221px
}

form.list div.textbox div {
    width: 400px;
    display: inline-block;
}

form.list input.datetime {
    width: 100px;
}

form.list input[type="checkbox"] {
    width: 13px;
}

form.list div.textarea label {
    vertical-align: top;
}

form.list div.textarea textarea {
    resize: none;
}

form.list div.checkboxList {
}

    form.list div.checkboxList label {
        vertical-align: top;
    }

    form.list div.checkboxList div {
        display: inline-block;
    }

form.list div.paragraph label {
    font-weight: bold;
}

div.pageMsg {
    border: 1px solid;
    padding: 8px 10px;
    background-repeat: no-repeat;
    background-position: 10px center;
}

    div.pageMsg.error {
        color: #d8000c;
        background-color: #ffbaba;
    }

    div.pageMsg.warning {
        color: #9f6000;
        background-color: #feefb3;
    }

    div.pageMsg.info {
        color: #00529b;
        background-color: #bde5f8;
    }

    div.pageMsg.success {
        color: #4f8a10;
        background-color: #dff2bf;
        cursor: pointer;
    }

div.memos {
    max-height: 250px;
    overflow-y: auto;
}

table.memos {
}

    table.memos th {
        border: 1px solid #cdcdcd;
        padding: 4px 6px;
    }

        table.memos th.level1 {
            background: #ff0000;
        }

        table.memos th.level5 {
            background: #cccc00;
        }

        table.memos th.level8 {
            background: #00cc00;
        }

    table.memos td {
        width: 450px;
        border: 1px solid #cdcdcd;
        padding: 4px 6px;
    }

table.photoInfos td {
    vertical-align: middle;
}

div.dialog {
    display: none;
}

form.small div label {
    width: 120px;
}

form.small div input {
    width: 270px;
}



.width100 {
    width: 100px;
}

.width200 {
    width: 200px;
}

.width300 {
    width: 200px;
}

.width400 {
    width: 300px;
}

.width500 {
    width: 400px;
}

.width600 {
    width: 500px;
}

::placeholder {
    color: #aaa;
    opacity: 1;
}

/* 
 * **************
 * *** Header ***
 * **************
 */
div.header {
    background: #3a9ca4;
    height: 60px;
    top: 0px;
    width: 100%;
}

    div.header div.logo img.logoTxt {
        height: 47px;
        margin: 7px 20px 0 0;
        float: left;
    }

    div.header div.title {
        float: left;
        padding: 15px 0 0 15px;
        color: #ffffff;
    }

        div.header div.title h2 {
            color: #ffffff;
        }

    div.header div.user {
        color: #ffffff;
        float: left;
        margin-left: 50px;
        padding: 15px 0 0 0;
    }

        div.header div.user strong {
            color: #ffffff;
        }

        div.header div.user span.branch {
            color: #ffffff;
        }

    div.header div.logo {
        padding: 0px 10px;
    }

        div.header div.logo img.logoIcon {
            height: 58px;
            margin-top: 7px;
            float: right;
        }

/* 
 * ***************
 * *** Content ***
 * ***************
 */
div.page {
    width: 1640px;
}

div.navigation {
    padding: 10px 15px 10px 15px;
    width: 200px;
    float: left;
    margin-bottom: 30px;
}

    div.navigation ul {
        margin: 0;
        padding: 0;
        list-style: none;
        width: 200px;
        background-color: #cdcdcd; /*position: fixed; overflow: auto;*/
    }

        div.navigation ul li {
            list-style: none;
            margin: 0;
            padding: 0;
            border-bottom: 1px solid #cdcdcd;
            background: #3a9ca4;
        }

            div.navigation ul li a {
                text-decoration: none;
                display: block;
                color: white;
                padding: 8px 10px;
                text-decoration: none;
            }

                div.navigation ul li a:hover {
                    background-color: #4aacb4;
                    color: white;
                }

            div.navigation ul li.beginGroup {
                margin-top: 5px;
            }

div.content {
    float: left;
    padding: 10px 0 32px 0;
    width: 1400px;
}

div.legend {
    font-size: 85%;
    padding: 10px 10px;
}

    div.legend sup {
        font-size: 75%;
    }

div#disableAcquiseDiag {
    display: none;
}

/* 
 * *****************
 * *** Web-Pages ***
 * *****************
 */

form.login {
    width: 360px;
    padding: 10px;
}

    form.login input {
        width: 168px;
    }

div.followUps {
    height: 400px;
    overflow-y: scroll;
}

div.changePwForm {
}

    div.changePwForm div.pageMsg {
        width: 482px;
    }

/* Auftragstermine */
form.filter span.planDate {
    padding: 2px 5px 2px 4px;
}

table.calendar {
}

    table.calendar tr:nth-child(even) {
        background: #ffffff;
    }

    table.calendar tr {
    }

    table.calendar td.day:nth-child(even) {
        background: #f7f7f7;
    }

    table.calendar td.day {
        vertical-align: top;
        padding: 0px 6px;
    }

        table.calendar td.day div.item {
            padding: 4px 0;
        }

            table.calendar td.day div.item:not(:first-child) {
                border-top: 1px solid #cdcdcd;
            }

    table.calendar td div.reservedApp a {
        color: #ff7777;
    }

    table.calendar td div.realizationConfirmed a {
        color: green;
    }

    table.calendar tr.thisWeek th.week {
        background: #770;
    }

    table.calendar tr.thisWeek td.day {
        background: #ffe;
    }

        table.calendar tr.thisWeek td.day:nth-child(even) {
            background: #eec;
        }

    table.calendar td.oldDay {
        background: #e7e7e7;
    }

    table.calendar td.today {
        background: #ffa;
    }

div.dayDetails {
    display: none;
}

table tr.warning {
}

    table tr.warning td {
        color: #9f6000;
        background-color: #feefb3;
    }

table tr.error {
}

    table tr.error td {
        color: #d8000c;
        background-color: #ffd2d2;
    }

/*
 * *******************
 * *** Tooltip ... ***
 * *******************
 */
.tooltip {
    max-width: 480px;
}

    .tooltip .tooltipText {
        font-weight: normal;
        z-index: 10;
        display: none;
        padding: 14px 20px;
        margin-top: 0px;
        margin-left: 28px;
        border-radius: 2px;
        box-shadow: 5px 5px 8px #CCC;
    }

    .tooltip:hover .tooltipText {
        display: inline;
        position: absolute;
        color: #111;
        border: 1px solid #DCA;
        background: #fffAF0;
        text-align: left;
    }

        .tooltip:hover .tooltipText ul {
            margin: 0;
            padding: 0;
        }

    .tooltip table th {
        background: none;
        vertical-align: top;
    }

    .tooltip table td {
        background: none;
        vertical-align: top;
    }

        .tooltip table td:nth-child(even) {
            background: none;
        }

    .tooltip table tr {
        background: none;
        ver
    }

        .tooltip table tr:nth-child(even) {
            background: none;
        }

/*
 * *******************
 * *** Searchbar.. ***
 * *******************
 */
table tbody.searching {
    opacity: 0.5;
}

table thead tr.searchbar {
}

    table thead tr.searchbar th {
    }

    table thead tr.searchbar input {
        width: 96%;
        padding: 3px 2%;
        margin: 2px 0;
        border: 0;
    }

/*
 * **************
 * *** Footer ***
 * **************
 */
div.footer {
    background: #3a9ca4;
    height: 32px;
    width: 100%;
    position: fixed;
    bottom: 0px;
    color: #ffffff;
}

    div.footer .footerInfo {
        font-size: 12px;
        padding: 8px 10px;
        float: right;
        color: #ffffff;
    }

    div.footer strong {
        color: #ffffff;
    }



/*
 * JQuery UI
 */
.ui-widget-content .ui-state-highlight {
    border: none;
}

    .ui-widget-content .ui-state-highlight a {
        color: #0000ff;
        border: 1px solid #0000ff;
    }

form.list div input.dayPreview {
    border: none;
    width: 80px;
}

table tr.StatusOk td.status {
    background: #00ff00;
}

table tr.StatusWarn td.status {
    background: #ffff00;
}

table tr.StatusError td.status {
    background: #ff0000;
}

table tr td.prio {
    padding: 0;
}

    table tr td.prio a {
        width: 100%;
        height: 42px;
        display: block;
    }

table tr td.prio_1 {
    background: #00ff00;
}

table tr td.prio_2 {
    background: #ffff00;
}

table tr td.prio_3 {
    background: #ff0000;
}

div#discardLockDialog textarea {
    width: 288px;
    height: 100px;
    resize: none;
}

div#deactivateDialog textarea {
    width: 288px;
    height: 100px;
    resize: none;
}

div#newCanvasserDialog select {
    width: 288px;
}

[data-toggle] {
    cursor: pointer;
}

/*
 * ***********************
 * *** WebNotification ***
 * ***********************
 */
body .contract {
    background-color: rgb(58, 156, 164);
    width: 900px;
    margin: 10px auto;
    height: auto;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
}

    body .contract button {
        padding: 4px 10px;
        margin: 4px 10px;
    }

    body .contract:disabled, button[disabled] {
        color: #999;
        cursor: default;
        pointer-events: none;
    }

    body .contract div {
        width: 100%;
        height: 100%;
        color: #ffffff;
    }

    body .contract a {
        color: #cdcdcd;
        font-style: italic;
    }

    body .contract .title {
        font-size: 48px;
        text-align: center;
        background: rgb(58, 156, 164);
        color: #ffffff;
    }

    body .contract .elements {
        margin-top: 30px;
    }

    body .contract form {
        color: #ffffff;
        height: 40px;
    }

    body .contract .text {
        height: 700px;
        color: #ffffff;
    }

        body .contract .text object {
            resize: none;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            border: none;
        }

body .contractOverlay {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.16);
}


/*
 * ***************
 * *** Acquise ***
 * ***************
 */
.button-container form,
.button-container form div {
    display: inline;
}

.button-container button {
    display: inline;
    vertical-align: middle;
}

input[readonly] {
    background: #f7f7f7;
}

/*
 * ***********************
 * *** OrderEvaluation ***
 * ***********************
 */

.judgeArea {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 40px;
}

.judgePanel {
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
}

    .judgePanel .description {
        min-width: 18%;
        display: inline-block;
    }

.judgeItem {
    display: inline;
    text-align: right;
}

    .judgeItem input[type="radio"] {
        margin-left: 35px;
        width: 25px;
        height: 25px;
        vertical-align: middle;
        text-align: center;
    }

    .judgePanel input[type="text"] {
        width: 200px;
        margin-left: 20px;
    }

.photoArea {
    margin-bottom: 80px;
}

    .photoArea .heading {
        font-weight: bold;
        font-size: 16px;
    }

.photoPanel {
    width: 250px;
    display: inline-block;
    padding: 10px;
}

.photo {
    height: auto;
    text-align: center;
}

    .photo img {
        max-width: 100%;
        max-height: 100%;
        border: solid black 1px;
    }

.comment {
    max-width: 100%;
    text-align: center;
    margin-top: 5px;
}

    .comment input {
        width: 90%;
    }


.popupImage {
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

    .popupImage:hover {
        opacity: 0.7;
    }

.popupModal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.9);
}

/*
 * ***********************
 * *** Image Popups ***
 * ***********************
 */

.popupModal-content {
    margin: auto;
    display: block;
    max-width: 90%;
}

.popupModal-content, #caption {
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 0.6s;
    animation-name: zoom;
    animation-duration: 0.6s;
}

.popupClose {
    position: sticky;
    top: 0;
    margin-left: 95%;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

    .popupClose:hover,
    .popupClose:focus {
        color: #bbb;
        text-decoration: none;
        cursor: pointer;
    }

/*
 * ***********************
 * *** iCalendar ***
 * ***********************
 */

.iCalendar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 5px 0;
}

    .iCalendar table {
        border-style: hidden;
    }

        .iCalendar table tr:nth-child(odd) td {
            background-color: white;
        }

        .iCalendar table tr:nth-child(even) td {
            background-color: white;
        }

    .iCalendar .month {
        display: inline-block;
        margin: 10px;
        margin-bottom: 20px;
    }

    .iCalendar .iButton {
        color: black;
        display: inline-block;
        padding: 0.4em 1em;
        border: 0.1em solid gray;
        border-radius: 0.38em;
        background-color: white;
        font-weight: bold;
        margin-bottom: 10px;
    }

        .iCalendar .iButton:hover {
            background-color:gray;
        }

        .iCalendar .iButton:active {
            background-color: gray;
        }

    .iCalendar .monthName {
        margin-bottom: 5px;
        color: #EA6657;
    }

    .iCalendar .dayName {
        color: gray;
        opacity: 0.7;
    }

    .iCalendar .insideDate {
        color: black;
        font-weight: bold;
    }

    .iCalendar .outsideDate {
        color: gray;
        opacity: 0.7;
    }

    .iCalendar .calendarWeek {
        font-style: italic;
        color: gray;
        opacity: 0.7;
        padding-right: 7px;
    }

    .iCalendar .monthTable {
    }

    .iCalendar td {
        padding: 5px;
        text-align: center;
        border-style: hidden;
        padding-left: 5px;
        padding-right: 5px;
    }

    .iCalendar .focusDay {
        outline: 2px solid red;
        outline-offset: -2px;
    }

.controls label {
    width: 210px;
    display:inline-block;
    font-weight: bold;
}

.controls input {
    width: 100px;
    margin-right: 20px;
}

.controls .textbox {
    margin-bottom: 8px;
}

.controls .textbox input[readonly] {
    background-color: lightgray;
}