/* error and info messages */
table.error {
    vertical-align: top;
    border: 2px solid red;
    margin: 1.5rem;
    width: 100%;
}

table.error td.icon {
/*    background-image: url(../../../icons/error.png);*/
    background-repeat: no-repeat;
    background-position: left top;
    height: 40px;
    width: 100px;
    vertical-align: top;
}

table.error td.icon span.title {
    margin-left: 40px;
    color: red;
    font-weight: bold;
}

table.warning {
    vertical-align: top;
    border: 2px solid #ffcc00;
    margin-bottom: 10px;
    width: 100%;
}

table.warning td.icon {
    /*background-image: url(../../../icons/warning.png);*/
    background-repeat: no-repeat;
    background-position: left top;
    height: 40px;
    width: 100px;
    vertical-align: top;
}

table.warning td.icon span.title {
    margin-left: 40px;
    color: #ffcc00;
    font-weight: bold;
}

table.info {
    border: 2px solid green;
    margin-bottom: 10px;
    padding: 10px;
    vertical-align: top;
    width: 100%;
}

table.info td.icon {
    /*background-image: url(../../../icons/info.png);*/
    background-repeat: no-repeat;
    background-position: left top;
    height: 40px;
    width: 100px;
    vertical-align: top;
}

table.info td.icon span.title {
    margin-left: 40px;
    color: green;
    font-weight: bold;
}

table.dialog {
    display: block;
    position: absolute;
    left: -40ex;
    top: 4px;
    vertical-align: top;
    border: 2px solid gray;
    margin-bottom: 10px;
    background-color: white;
    padding: 5px
}

table.dialog td.icon {
    /*background-image: url(../../../icons/info.png);*/
    background-repeat: no-repeat;
    background-position: left top;
    height: 40px;
    width: 100px;
    vertical-align: top;
}

table.dialog td.icon span.title {
    margin-left: 40px;
    color: gray;
    font-weight: bold;
}

table.hint {
    vertical-align: top;
    border: 2px solid blue;
    margin-bottom: 10px;
    width: 100%;
}

table.hint td.icon {
    /*background-image: url(../../../icons/hint.png);/*/
    background-repeat: no-repeat;
    background-position: left;
    height: 40px;
    width: 100px;
    vertical-align: top;
}

table.hint td.icon span.title {
    margin-left: 40px;
    color: blue;
    font-weight: bold;
}

.message td {
    font-size: 110%;
    /*padding-top: 10px;*/
    /*vertical-align: top;*/
}

.message td h2, .message p, .dialog-message p {
    font-size: 110%;
    margin-top: 0;
}

.dialog-message p.error {
    color: red;
}

table.help {
    vertical-align: top;
    border: 2px solid gray;
    margin-bottom: 10px;
}

.message input, .dialog-message input {
    position: relative;
    font-size: 100%;
    margin-left: 0;
    flex-grow: 1;
}

.message p.indent, .dialog-message p.indent {
    position: relative;
    margin-left: 20px;
    top: -10px;
}

table.help td.icon {
    /*background-image: url(../../../icons/help.png);*/
    background-repeat: no-repeat;
    background-position: left;
    height: 40px;
    width: 100px;
}

table.help td.icon span.title {
    margin-left: 40px;
    color: gray;
    font-weight: bold;
}

.dynamic-message {
}

.dynamic-message-text {
    margin-right: 50px;
}

.dynamic-message-close {
    position: absolute;
    top: 0;
    right: 0;
}

.dynamic-message-close img {
    border: 0;
}

div#messages .message {
    padding: 1.5rem 1.5rem 0;
}

#dialog-messages .rebrush-message-icon,
div#messages .rebrush-message-icon {
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 2rem;
}

.rebrush-message-icon {
    font-size: 14px;
    line-height: 20px;
    align-content: center;
}

.rebrush-message-error {
    font-size: 14px;
    line-height: 20px;
    align-content: center;
}

.warning .icon {
    color: #ffcc00;
}

.error .icon {
    color: red;
}

.info .icon {
    color: green;
}

/*
#messages .message {
    position: relative;
    top: 0;
    left: 0;
    width: auto;
}

body .message {
    position: absolute;
    left: 50px;
    top: 50px;
    width: 80%;
}
*/

/* popup windows */

/* modern dialogs */
.dialog-message {
    padding: 10px;
}

.dialog-buttons button {
    font-size: 12px;
}

.dialog-buttons {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0.5rem;
}

.dialog-content {
    position: relative;
    background: #CDCDCD;
    height: 100%;
}

.dialog-content p {
    margin: 0 0 6px 0;
}

.password-dialog-content {
    padding-left: 10px;
}

.password-dialog-content p {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

.password-dialog-content label {
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    width: 250px;
    float: left;
}

.password-dialog-content input {
    flex-grow: 0;
}

/* Farbanpassung fuer Rahmenbilder in Prototype Windows im IE */
/* <= IE6 */
* html div.dialog-content {
    background: #C7C7C7;
    height: auto;
}

/* == IE7 */
*+html div.dialog-content {
    background: #C7C7C7;
}

/* standard dialogs */
.message .dialog-content {
    background: #ffffff;
}

.message .dialog-message {
    padding-left: 0;
    position: relative;
}

.message .dialog-buttons {
    position: relative;
}

.dialog-overlay {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #fff;
    opacity: 0.9;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=90)';
    filter: alpha(opacity = 90);
    z-index: 100000;
}

.action-overlay {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #fff;
    opacity: 0.9;
    -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=90)';
    filter: alpha(opacity = 90);
    z-index: 200000;
    height: 100%;
}

div#spinner {
    display: none;
    height: 100%;
    width: 100%;
    position: relative;
    background: url("../../../icons/spinner.gif") center center no-repeat;
}

img#progress-image {
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
}

/* Layout Wartungsmeldungen */
#maintenance-overlay .proclamation {
    padding: 20px 24px 12px 24px;
}

#maintenance-overlay .proclamation h1 {
    margin: 0;
}

#maintenance-overlay .proclamation .custom-message {
    margin-top: 3px;
}

#maintenance-overlay .close {
    display: none;
}

#maintenance-overlay .proclamation.prio1 {
    color: #572120;
    background-color: #F7DDDC;
}

#maintenance-overlay .proclamation.prio1 h1 {
    color: #572120;
}

#maintenance-overlay .proclamation.prio2 {
    border-color: #006633;
    background-color: #eeffee;
}

#maintenance-overlay .proclamation.prio2 h1 {
    color: #006633;
}

#maintenance-overlay .proclamation.prio3 {
    color: #332701;
    background-color: #FFC107;
}

#maintenance-overlay .proclamation.prio3 h1 {
    color: #332701;
}

#dialog-messages .message,
#messages .message {
    position: relative;
}

#dialog-messages .message .message-text,
#messages .message .message-text {
    font-size: 18px;
    line-height: 1.5;
    padding: 20px 30px 20px 62px;
}

#messages .message .message-text h2 {
    margin-top: 0;
}


/* Error */

#messages .message .error {
    min-height: 52px;
    color: #572120;
    background: #F7DDDC;
}

#messages .message .error .fa-circle-exclamation:before {
    color: #572120;
}


/* Warning */
#dialog-messages .message .warning,
#messages .message .warning {
    min-height: 52px;
    color: #332701;
    background-color: #FFC107;
}

#messages .message .warning span {
    color: #332701 !important;
    font-weight: bold;
}

#messages .message .warning a {
    color: #332701;
    text-decoration: underline;
}

#messages .message .warning a:hover {
    color: #332701;
    text-decoration: none;
}

#messages .message .warning a:focus-visible {
    outline: transparent;
    box-shadow: 0 0 0 2px black;
}

#dialog-messages .message .warning .fa-triangle-exclamation:before,
#messages .message .warning .fa-triangle-exclamation:before {
    color: #332701;
}


/* Info */
#messages .message .info {
    min-height: 52px;
    color: #004E8C;
    background: #EBF2F8;
}

#messages .message .info a {
    color: #004E8C;
    text-decoration: underline;
}

#messages .message .info a:hover {
    color: #004E8C;
    text-decoration: none;
}

#messages .message .info a:focus-visible {
    outline: transparent;
    box-shadow: 0 0 0 2px black;
}

#messages .message .info i:before {
    color: #004E8C;
}

#messages .message .help {
    border: 2px solid gray;
    min-height: 52px;
}

#messages .message .hint {
    border: 2px solid blue;
    min-height: 52px;
}

#dialog-messages .message .icon,
#messages .message .icon {
    background-repeat: no-repeat;
    height: 32px;
    width: 32px;
    margin: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#messages .message .error .icon {
/*    background-image: url(../../../icons/error.png);*/
}

#messages .message .info .icon,
#messages .message .help .icon,
#messages .message .hint .icon {
    /*background-image: url(../../../icons/info.png);*/
}

#messages .message .warning .icon {
    /*background-image: url(../../../icons/warning.png);*/
}

#dialog-messages .message .dynamic-message-close,
#messages .message .dynamic-message-close {
    float: right;
    margin: 2px 2px 0 0;
    position: static;
}

.message .dialog-buttons {
    text-align: right;
}

#dialog-messages .message .dialog {
    background-color: white;
    border: 2px solid gray;
    left: 50%;
    margin-left: -350px;
    position: absolute;
    top: 50px;
    width: 700px;
    z-index: 100000;
}

#dialog-messages .message .dialog .icon {
    /* dialog bekommt kein icon */
}

#dialog-messages .message .dialog .message-text {
    font-size: 110%;
    padding: 30px;
}

#dialog-messages .message .dialog .message-text h2 {
    margin-top: 0;
}

#dialog-messages .message .dialog .message-text textarea {
    height: 200px;
    width: 100%;
}

.message p.indent, .dialog-message p.indent {
    top: -5px;
}

/* task planen */
.dialog-message .task-name,
.dialog-message .task-config {
    display: inline-block;
    width: 100px;
}

.dialog-message .task-name-input > input {
    width: 300px;
}

.import-message.info {
    border: 2px solid green;
    background-image: url(../../../icons/info.png);
    background-repeat: no-repeat;
    padding: 10px;
    padding-left: 35px;
}

.import-message.error {
    border: 2px solid red;
    background-image: url(../../../icons/error.png);
    background-repeat: no-repeat;
    padding: 10px;
    padding-left: 35px;
}

#dialog-messages div.dialog-message div.dialog-message div.message-text {
    padding-left: 62px;
}

.deployment {
    background-repeat: no-repeat;
    display: inline-block;
    padding-left: 25px;
 }

.deployment.inactive {
    filter: opacity(.35) grayscale(30%);
}

/*
.deployment.green {
    background-image: url(../../../icons/green.gif);
}

.deployment.yellow {
    background-image: url(../../../icons/yellow.gif);
}

.deployment.red {
    background-image: url(../../../icons/red.gif);
}
*/

.deployment.error {
    background-image: url(../../../icons/error.gif);
}

.deployment.warning {
    background-image: url(../../../icons/warning.gif);
}

span.deployment {
    position: relative;
    padding-left: 14px;
    font-family: sans-serif;
    font-size: 14px;
}

span.deployment::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
    height: 16px;
    border-radius: 3px;
    background-color: black;
    box-sizing: border-box;

    /* Innen schwarzen Rahmen als Schatten */
    box-shadow: inset 0 0 0 1px black;

    background-repeat: no-repeat;
    background-position: 50% 13%, 50% 50%, 50% 87%;
    background-size: 4.5px 4.5px, 4.5px 4.5px, 4.5px 4.5px;
}

/* grün an */
span.deployment.green::before {
    background-image:
            radial-gradient(circle, #666 2.25px, transparent 2.75px),
            radial-gradient(circle, #666 2.25px, transparent 2.75px),
            radial-gradient(circle, limegreen 2.25px, transparent 2.75px);
}

/* gelb an */
span.deployment.yellow::before {
    background-image:
            radial-gradient(circle, #666 2.25px, transparent 2.75px),
            radial-gradient(circle, gold 2.25px, transparent 2.75px),
            radial-gradient(circle, #666 2.25px, transparent 2.75px);
}

/* rot an */
span.deployment.red::before {
    background-image:
            radial-gradient(circle, red 2.25px, transparent 2.75px),
            radial-gradient(circle, #666 2.25px, transparent 2.75px),
            radial-gradient(circle, #666 2.25px, transparent 2.75px);
}


table.import-tasks th {
    text-align: left;
}

table.import-tasks tr.unchanged, p.unchanged span.color {
    background-color: #deddd8;
}

table.import-tasks tr.modified, p.modified span.color {
    background-color: #f1d98a;
}

table.import-tasks tr.new, p.new span.color {
    background-color: #b1fab1;
}

table.import-tasks tr.error, p.error span.color {
    background-color: #f68f8f;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

div.message div.filelist {
    background-color: #f5f5f5;
    padding: 1rem;
    margin: 1rem;
    border-width: 1px;
    border-style: solid;
    border-color: #d8d7d3;
}

.invalid-row {
    background-color: #F7DDDC;
}

.git-directory.error {
    display: flex;
    align-items: center;
    justify-content: center;
}

.git-directory.error::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../../../icons/error.png) no-repeat center / contain;
    vertical-align: middle;
    margin-right: 4px;
}

div#filelist table td.error-text {
    color: red;
}