:root {
    --text-color: #4e4b4b;
    --colorstripe1: #d7e0e1;
    --colorstripe2: #e4eced;
    /*bs color für btn-danger*/
    --btn-danger-bg: #d9534f;
    --success-fg: #41aa68;
}
/*Breitere Seitendarstellung derzeit nur für ausgewählte Seiten
    Siehe _Layout.cshtml
*/
.body-content-lg {
    width: 96%;
}
body:not(#tinymce) {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    padding-top: 50px;
    padding-bottom: 20px;
}
.body-content {
    padding-top: 20px;
    padding-left: 15px;
    padding-right: 15px;
}

a.nolink,
a:hover.nolink,
a:focus.nolink,
a:active.nolink,
a:visited.nolink {
    text-decoration: none;
}

label:not(.radio-inline, .checkbox-inline, .radio, .checkbox){
    font-family: Verdana;
    font-size: 0.9em;
    font-weight: normal;
}
label.control-caption {
    font-size: 0.9em;
    opacity: 0.75;
    padding: 8px 8px 0 0;
}
label.label-group {
    width: 100%;
}
/*pull-right für Button in einem Label */
label.label-group button {
    float: right !important;
}
.rscolor {
    background-color: #1a4e80;
}
.sumsign {
    font-size:0.78em;
    position:relative;
    top:-2px;
}
.nowrap {
    white-space:nowrap;
}
/* Mousepointer anzeigen */
.clickable{
    cursor: pointer !important;
}
.cursor-default {
    cursor: default !important;
}
.not-allowed {
    cursor: not-allowed !important;
}
.not-visible {
    visibility: hidden;
}
.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}
.info-text{
    color: blue;
}
.underline{
    text-decoration: underline;
}

.noresize {
    resize:none;
}
.no-border{
    border:none;
    box-shadow:none;
    -webkit-box-shadow:none;
}
.align-right{
    text-align: right;
}
[disabled] {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}
option[disabled] {
    font-style: italic;
}
.hidden-readonly {
    /*Schreibgeschützt nicht als schreibgeschützt darstellen*/
    background-color: inherit !important;
}
input[type=radio] {
    cursor: pointer;
}

span[name="category-icon"]{
    margin-left:4px;
    margin-right:6px;
}
span[name="required"]{
    color: red;
    display: none;
    font-weight: 600;
    margin-left:4px;
}
.btn-help {
    font-weight: bold;
}
.btn-wrap{
    text-wrap: wrap;
}
.help-muted {
    font-size: 0.9em;
    color: #777;
}
.emptylist-info {
    font-style: italic;
    opacity: 0.75;
}
.centered {
    text-align: center;
}
.anker-color {
    color: var(--primary-bg);
}
/* Suchergebnis in Text hervorheben */
.highlight-result{
    color: #51d853;
}
.bold {
    font-weight: bold;
}
.selectedrow {
    background-color: antiquewhite;
}

/*Spalten, die auf breiten Geräten nur zum Füllen gebraucht werden (damit Summe col=12 ist), die bei
    vertikaler Anordnung aber keinen Platz wegnehmen sollen*/
.col-spacer {
    height: 1px;
    padding: 0px;
    margin: 0px;
}
/*Trennlinie für <select>-Liste*/
select option.divider {
    font-size: 1px;
    background: rgba(0, 0, 0, 0.5);
}

.dropdown-menu .divider.small{
    margin: 3px 0;
}

select.no-border {
    border: none !important;
    box-shadow: none;
    outline: none;
}
/*Button mit Icon 'fa-lock' oder 'fa-lock-open' */
button[name="publics"]{
    /*Trotz unterschiedlich breiter Icons die Buttons immer in der gleichen Breite anzeigen. */
    width: 24px;
}

/*Die Buttongruppe innerhalb von .btn-group.wide wird auf voller Breite angezeigt.
    (Standard ist dagegen, dass der Button nur so Breit ist, wie der anzuzeigende Text erfordert.
*/
.btn-group-wide .btn-group, .btn-group-wide button {
    text-align: start;
    width: 100%
}
.btn-group-wide .dropdown-menu {
    width: 100%;
}
.btn-group-wide button span.caret {
    float: right;
    margin-top: 8px;
}
/*Ohne diese Awneisung würden Buttons in Tabellen bei Hover auf Zeile (nicht auf Button) mit einem
    weißen Hintergrund angezeigt werden.
*/
.table-hover button {
    background-color: transparent;
}
.dropdown-menu button:not(.btn-primary) {
    background-color: transparent;
    border: 1px solid transparent !important;
    border-radius: 0;
    display: inline-block;
    line-height: 1.5;
    padding: 0.4em 0.65em;
    text-align: left;
    width: 100%;
    vertical-align: middle;
}
.dropdown-menu button:hover:not(.btn-primary) {
    background-color: #eee;
}

input[type=checkbox],
input[type=checkbox]:checked {
    height: 16px;
    width: 16px;
    cursor: pointer;
    margin-top: 2px; /*betrifft erstmal alle checkboxes, soll aber wahrscheinlich nur für die default boxes gelten*/
    vertical-align: sub;
}
/*input[type=checkbox].neutral-input {
    background-color: gray;
    color: var(--text-color);
    -webkit-appearance: none;
    -moz-appearance: none;
}
input[type=checkbox].neutral-input:checked {
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
}*/
.red {
    color: red !important;
}
.ok-enabled {
    /**Bootstrap success*/
    color: rgb(92, 184, 92) !important;
}
.ok-disabled {
    /**Bootstrap default*/
    color: rgb(51, 122, 183) !important;
}
.btn-danger-inverse {
    background-color: transparent;
    color: var(--btn-danger-bg);
}
.glyphicon.btn-danger-icon {
    color: #fff;
}
.anker-sort {
    color: currentColor;
}
.anker-sort[data-isactive="0"] span {
    display:none;
}
.anker-sort[data-isactive="1"][data-desc="0"] span[name="desc"] {
    display:none;
}
.anker-sort[data-isactive="1"][data-desc="0"] span[name="asc"] {
    display:inline;
}
.anker-sort[data-isactive="1"][data-desc="1"] span[name="desc"] {
    display:inline;
}
.anker-sort[data-isactive="1"][data-desc="1"] span[name="asc"] {
    display:none;
}
.anker-sort:hover {
    color: Highlight;
}
.sortbtn {
    background-color: inherit;
    border: none;
    font-size: 0.75em;
}
.sortbtn span {
    top: -1px;
}
.sortbtn span[data-active="0"] {
    color: darkgray;
}
.sortbtn span[data-active="1"] {
    color: var(--primary-bg);
}
a.foreign-account-home {
    /*margin-top: 16px;*/
    color: #888;
    padding: 7px 14px 7px 14px;
    margin-top: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.widget {
    min-height: 100px;
    min-width: 150px;
    padding: 10px 10px 0 10px;
    /*text-align: center;*/
    border: 2px solid #eee;
    border-radius: 10px 10px;
    margin-bottom: 10px;
}
.widget-header {
    font-size: 18px;
}
.widget-body {
    font-size: 0.9em;
}
.widget a:link,
.widget a:hover,
.widget a:focus,
.widget a:active,
.widget a:visited {
    text-decoration: none;
}
/*Element, das dem User Eingabefehler anzeigt. Die Klasse wird dem Element immer dann hinzugefügt, wenn es das asp-validation-for Attribut hat.*/
.field-validation-error {
    background-color: antiquewhite;
    font-size: 0.9em;
    padding: 4px;
}

/*Snackbar ist ein Popover am unteren Bildschirmrand. Ideal für kurze Erfolgsmeldungen */
#snackbar, #snackbar-error {
    display: none;
    min-width: 250px; /* Set a default minimum width */
    margin-left: -125px; /* Divide value of min-width by 2 */
    text-align: center; /* Centered text */
    border-radius: 2px; /* Rounded borders */
    padding: 8px; /* Padding */
    position: fixed; /* Sit on top of the screen */
    z-index: 99999; /* Add a z-index if needed */
    left: 50%; /* Center the snackbar */
    bottom: 30px; /* 30px from the bottom */
}
#snackbar {
    background-color: #333; /* Black background color */
    color: #fff; /* White text color */
}
#snackbar-error {
    background-color: red;
    color: #fff; /* White text color */
}

/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }
    to {
        bottom: 30px;
        opacity: 1;
    }
}
@keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }
    to {
        bottom: 30px;
        opacity: 1;
    }
}
@-webkit-keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }
    to {
        bottom: 0;
        opacity: 0;
    }
}
@keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }
    to {
        bottom: 0;
        opacity: 0;
    }
}

.popover, .popover-title, .popover-content {
    font-size: 12px;
    color: var(--text-color);
}
.popover.in:not(.popover-wide) {
    max-width: 200px;
}

/* GN, Telefonstil. obsolet */
.phonestyle {
    background-color: lightgreen;
}
/* GN, Werbeblocker. obsolet */
.adblocker{
    background-color: darkorange;
}
/* GN */
#clipnoscreeninginfobox {
    background-color: aliceblue;
}
#clipnoscreeninginfobox .header {
    font-weight: bold;
    text-align: center;
}
/* Buchungsstatus für Zusatzoptionen */
.articlestatus {
    font-size: 0.9em;
    opacity: 0.85;
}
/* Farben für GN-Status und GN Telefonstil/Adblocker */
.gn-status-red {
    background-color: #f2dede;
}
.gn-status-yellow {
    background-color: #fcf8e3;
}
.gn-status-green {
    background-color: #dff0d8;
}

/*Services*/
#account_table td[name="actions"] a {
    padding-left: 8px;
    text-decoration: none;
}

/*Tarifdarstellung*/
#tariffselector #tarifflist label {
    font-weight: 600;
    opacity: 0.85;
}
[data-premiumordered="0"]:not(:hover),
[data-premiumordered="2"]:not(:hover) {
    opacity: 0.6 !important;
}
.tariffinfo {
    font-size: 0.9em;
    margin-top: 12px;
    opacity: 0.8;
    padding: 4px;
    text-align: left;
}
.pricing-container {
    text-align: center;
    white-space: normal !important;
    margin-bottom: 12px;
    margin-top: 6px;
}
    .pricing-container .pricing-header {
        font-size: 26px;
        color: var(--primary-bg);
    }
.pricing-container .pricing-row {
    background-color: #eee;
    padding-top: 20px;
    padding-bottom: 20px;
}
.pricing-row .integer-part {
    font-size: 20px;
    color: var(--primary-bg);
}
.pricing-row .integer-part-fraction {
    color: var(--primary-bg);
    vertical-align: top;
}
.pricing-container #defaultprices {    
    text-align: center;
}
.pricing-container #defaultprices td {    
    padding-right: 15px;
    border-right: 1px solid #eee;
}

/**Gesprächsnotizen*/
.calldetail {
    padding: 0px;
    margin: 0px;
}
.calldetail-r1, .calldetail-r1:hover {
    background: var(--tr1-bg) !important; 
}
.calldetail-r2, .calldetail-r2:hover {
    background: var(--tr2-bg) !important; 
}
.calldetail-top td {
    border-bottom: 0 !important;
}
.calldetail-bottom td {
    border-top: 0 !important;
    padding-top: 0px !important;
}
.calldetail-phone {
    padding-top: 10px;
}
.calldetail-phone a {
    padding-right: 10px;
}
.calldetail-phone span {
    padding-right: 5px;
}
.calldetail-note {
    padding: 1px 4px 4px 4px;
}

/* TimePicker*/
.timepicker-list {
    height: 190px;
    min-width: 60px;
    overflow: auto;
}
.timepicker-list a {
    cursor: pointer;
}

input#search{
    margin-bottom:6px !important;
}

/* Editierbare Dropdown-Liste. Select mit Input 
    z.B. kalenderberechtigungen oder Termingäste
*/
.editselect {
    position: relative;
    /*display: inline-block;*/
}
.editselect-selecteditems {
    display: none;
    background-color: #eee;
    padding: 8px;
}
.editselect-selecteditem {
    align-items: center;
    background-color: #ccc;
    border-radius: 14px;
    cursor: default;
    display: inline-flex;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.2px;
    line-height: 24px;
    margin: 0 5px 5px 0;
    /*max-width: calc(100%  -5px);*/
    overflow: hidden;
    padding: 4px 12px;
}
    .editselect-selecteditem button.close {
        margin-left: 5px;
    }
.editselect-content {
    display: none;
    position: absolute;
    margin-top: 8px;
    background-color: white;
    min-width: 160px;
    max-height: 200px;
    overflow: auto;
    width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
}
    .editselect-content [role=listitem] {
        color: black;
        padding: 8px;
        text-decoration: none;
        display: block;
        cursor: pointer;
    }
        .editselect-content [role=listitem]:hover {
            background-color: #eee;
        }
    .editselect-content .username {
        color: #777;
        font-weight: 500;
        font-size: 12px;
        letter-spacing: 0.2px;
        line-height: 24px;
    }
.editselect .show {
    display: block;
}
.editselect-input {
    background-color: #eee;
    border: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    cursor: text;
    outline: none !important;
    padding: 8px;
    width: 100% !important;
}
    .editselect-input:focus {
        border-bottom: 2px solid dodgerblue;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        box-shadow: none;
        -webkit-box-shadow: none;
        outline: none !important;
    }


/*Buttongroups*/
.btngroup-spacy button {
    margin-left: 0px !important;
    margin-right: 2px !important;
    margin-bottom: 4px !important;
}

 /*Carousel*/ 
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}
/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}
/* QR code generator */
#qrCode {
    margin: 15px;
}
/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

/* Icon when the collapsible content is shown */
.collapse-btn:after {
font-family: "Glyphicons Halflings";
content: "\e114";
float: right;
margin-left: 15px;
cursor: pointer;
}
/* Icon when the collapsible content is hidden */
.collapse-btn.collapsed:after {
content: "\e113";
cursor: pointer;
}

/**FAQ*/
/*Splitter*/
.wrap {
    width: 100%;
    white-space: nowrap;
}
.resizable {
    width: 50%;
    height: 100%;
    display: inline-block;
    overflow: hidden;
}
.ui-resizable-e {
    cursor: e-resize;
    width: 10px;
    top: 0;
    bottom: 0;
    background-color: #cfcfcf;
    z-index: 10;
}
/*Tree*/
.node rect {
    fill: #fff;
    stroke-width: 1px;
}
.node-inactive rect {
    cursor: pointer;
    fill-opacity: 0.3;
    stroke: white;
}
.node-active rect {
    cursor: default;
}
.node-questionlink rect {
    fill-opacity: 1.0;
}
.node text {
    font: 14px sans-serif;
    pointer-events: none;
}
.node-active text {
    font-weight: bold;
}
.node-inactive text {
    font-weight: normal;
}
.node-replylink text {
    font-style: italic;
    color: #331ee8; /* todo: funktioniert nicht */
}
.link {
    fill: none;
}
.templink {
    fill: none;
    stroke: red;
    stroke-width: 3px;
}
.ghostCircle.show {
    display: block;
}
.ghostCircle, .activeDrag .ghostCircle {
    display: none;
}

 /*Wartezeichen*/
#loader, #loader2, #loader3, #loader4, #loader-popup {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1000;
    margin: -75px 0 0 -75px;
    border: 6px solid #f3f3f3;
    border-radius: 50%;
    border-top: 6px solid var(--primary-bg);
    width: 40px;
    height: 40px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 0.7s linear infinite;
    display: none;
    text-align: center;
}
[name="dlgloader"] {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1000;
    /*margin: -75px 0 0 -75px;*/
    border: 6px solid #f3f3f3;
    border-radius: 50%;
    border-top: 6px solid var(--primary-bg);
    width: 25px;
    height: 25px;
    -webkit-animation: spin 5s linear infinite;
    animation: spin 0.9s linear infinite;
    display: none;
    text-align: center;
}
.fa-spinner.on {
    -webkit-animation: spin 2s ease-in infinite;
}
.progress {
    background-color: transparent;
    width: 100%;
}
.progress .progressbar {
    background-color: #999;
    border-radius: 2px;
    font-weight: 600;
    height: 12px;
    opacity: 0.7;
    text-align: center;
    width: 0;
}

/*Vertragsverwaltung */
.table-contract-r1 {
    background-color: var(--colorstripe1); 
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-top: 4px;
    padding-bottom: 4px;
}
.table-contract-r2 {
    background-color: var(--colorstripe2);
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-top: 4px;
    padding-bottom: 4px;
}
.table-contract-r3 {
    background-color: var(--colorstripe2);
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-top: 0px;
    padding-bottom: 4px;
}
.modul-status{
    color: var(--primary-bg);
    padding: 6px;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Add animation to "page content" */
.animate-bottom {
    position: relative;
    -webkit-animation-name: animatebottom;
    -webkit-animation-duration: 1s;
    animation-name: animatebottom;
    animation-duration: 1s
}
@-webkit-keyframes animatebottom {
    from {
        bottom: -100px;
        opacity: 0
    }

    to {
        bottom: 0px;
        opacity: 1
    }
}
@keyframes animatebottom {
    from {
        bottom: -100px;
        opacity: 0
    }

    to {
        bottom: 0;
        opacity: 1
    }
}

/**Bootstrap/Themes überschreiben*/
@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot');
    src: url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), 
        url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), 
        url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff') format('woff'), 
        url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), 
        url('../../../lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.collapse-btn {
    cursor: pointer;
}
.navbar {
    margin-bottom: 20px;
}
.navbar-brand {
  height: 60px;
  padding-top: 4px;
}
.navbar-default {
    background-color: white;
    border-color: white;
    border-bottom: 1px solid #eee;
}
.navbar-default .navbar-link {
    color: #5f6368;
}
.navbar-default .btn-link {
    color: #5f6368; 
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
    color: #5f6368;
}
ul.nav li a {
    padding-left: 6px;
}
ul.nav li a:not(.last-btn) {
    padding-right: 6px;
}
.table > thead > tr > th, 
.table > tbody > tr > th, 
.table > tfoot > tr > th, 
.table > thead > tr > td, 
.table > tbody > tr > td, 
.table > tfoot > tr > td{
    vertical-align: middle;
}
.well-highlight, .well-white {
    background-color: white;
}
.well-highlight:hover{
    background-color: #efefef;
}
a.well-highlight{
    text-decoration: none;
}
footer > a:link, 
footer > a:visited, 
footer > a:hover, 
footer > a:active 
{
    color: #777; /*text-muted*/
}
@media (min-width: 1200px) {
  .modal-xl {
    width: 90%;
    max-width: 1400px;
  }
}
.glyphicon-info-sign {
    color: var(--primary-bg);
}
/**Das zusätzliche Zuweisen dieser Klasse zu .modal-header bewirkt, dass der Header über die ganze Breit angezeigt wird, während die Breite für den Content darunter etwas schmaler ist- */
.modal-titlebar {
    /*background-color: #eee;*/
    border: none;
    padding-bottom: 8px;
    padding-top: 8px;
}
.modal-titlebar2 {
    background-color: transparent;
    border: none;
    font-size: 15px;
    font-weight: 600;
    opacity: 0.75;
    padding-bottom: 8px;
    padding-top: 8px;
}
.modal-titlebar-text {
    font-size: 15px;
    font-weight: 600;
    opacity: 0.75;
}
.modal-titlebar .modal-titlebar-buttons {
    float: right;
}
.modal-titlebar .close {
    font-size: 1.8em;
}
.modal-title {
    text-align: center;
}
/*Kleinere Header und Footer für den modalen Dialog: weniger padding oben/unten und kein Rahmen*/
.modal-header-small,
.modal-footer-small {
    border: none;
    padding: 8px 15px;
}
footer > a {
    padding-left: 0px;
    padding-right: 20px;
}
footer > a:link, 
footer > a:visited, 
footer > a:hover, 
footer > a:active 
{
    text-decoration: none;
}
.container-fluid {
    overflow:auto;
}
/*Kalenderansicht / fullcalendar */
.small-allday {
    font-size: 0.7em;
}
.calendar-search{
    margin-top: 20px;
    padding-bottom: 3px !important;
}
/*Die normale Ansicht der Kalenderseite mit Sidebar links für z.B. Minikalender*/
.calendar-grid {
    display: grid;
    grid-row-gap: 8px;
    grid-column-gap: 8px;
    grid-template:
        "hd content" minmax(30px, 30px)
        "sd content" minmax(200px, auto);
    grid-template-columns: 210px auto;
}
/*Diese Ansicht der Kalenderseite gilt, wenn nur ein einzelner Kalender angezeigt
    werden soll. Die Sidebar ist dann nicht sichtbar.
*/
.calendar-grid-singlecalendar {
    display: grid;
    grid-row-gap: 8px;
    grid-column-gap: 8px;
    grid-template: 
        "hd content" minmax(0px, 30px) 
        "sd content" minmax(0px, auto);
    grid-template-columns: 0px auto;
}
.calendar-grid .header {
    grid-area: hd;
    /*background-color: indianred;*/
}
.calendar-grid .content {
    grid-area: content;
    min-width: 500px;
    /*background-color: lightgreen;*/
}
.calendar-grid .sidebar {
    grid-area: sd;
    /*background-color: lightyellow;*/
}
/*Toolbar*/
.calendar-grid .dropdown-menu button {
    width: 100%;
    border-radius: 0;
    text-align: left;
}
    .calendar-grid .dropdown-menu button:hover,
    .calendar-grid .dropdown-menu label.checkmark-container:hover {
        background-color: #eee;
    }
div#calendar.fc a {
    box-shadow: none;
    -webkit-box-shadow: none;
    outline: none !important;
}
.fc .fc-toolbar-title {
    opacity: 0.75;
    text-align: left;
}
/*.fc .fc-non-business {
    background-color: #5f5353;
}*/
.fc-col-header-cell a, .fc-timegrid-axis a, .fc-daygrid-week-number, .fc-daygrid-day-number {
    text-decoration: none !important;
    cursor: pointer;
}
.fc-list-event{
    cursor: pointer;
}
/*Termine in Kalenderansicht*/
.busystatus-available {
    border-left-width: 4px !important;
    border-left-style: dotted !important;
    border-left-color: white !important;
}
.attendancestatus-absent {
    opacity: 0.5 !important;
}
/*Dropdowns nebeneinander anzeigen*/
.dropdown-inline .dropdown {
    display: inline;
    padding-bottom: 6px;
    padding-top: 6px;
}
.dropdown-inline .dropdown:not(:first-child) {
    margin-left: 8px;
}

/*Kontextmenus*/
.ctxmenu {
    padding: 0;
}
    .ctxmenu button {
        background-color: transparent;
        border: none;
        box-shadow: none;
        -webkit-box-shadow: none;
        display: block;
        margin: 0;
        outline: none !important;
        padding: 6px 12px !important;
        text-align: left;
        width: 100%;
    }
.ctxmenu button:hover {
    background-color: #e4e4e4;
}

/*Alle Datepicker */
.datepicker table tr td, .datepicker table tr th {
    border-radius: 20px;
}
/*Schreibgeschützte Datepicker nicht als schreibgeschützt darstellen*/
div.date input[readonly] {
    background-color: transparent !important;
    cursor: pointer;
}
/*Datepicker auf Kalenderseite*/
.calendar-grid .datepicker th {
    font-weight: normal;
}
.calendar-grid .datepicker tbody tr, .calendar-grid .datepicker th.dow {
    font-size: 0.8em;
}
/*buttons*/
.btn-default:focus {
    outline: none !important; 
}

.trustedcalendar {
    font-size: 16px;
    padding-top: 3px;
    color: #43dd4b !important;
    float: right !important;
    opacity: 1;
    cursor: help;
}

/*Kalenderansicht, Kalenderauflistung*/
.calendarlist-container {
    box-sizing: border-box;
    margin-top: 12px;
}
.calendarlist-grid {
    display: grid;
    /*grid-row-gap: 8px;*/
    grid-column-gap: 4px;
    grid-template: "lbl btn" minmax(30px, auto);
    grid-template-columns: auto 62px;
}
.calendarlist-label {
    grid-area: lbl;
    opacity: 0.85;
    padding: 8px 4px 8px 4px;
}
/*Buttons in Überschrift 'Meine Kalender' und 'Weitere Kalender'*/
.calendarlist-button {
    grid-area: btn;
    text-align: end;
    padding-top: 6px;
    padding-right: 2px;
    padding-bottom: 6px;
}
    .calendarlist-button #addmycalendar,
    .calendarlist-button #addothercalendar,
    .calendarlist-button [name="collapse-sign"] {
        top: -5px;
    }
/*Buttons pro Kalender*/
.calendar-button {
    grid-area: btn;
    text-align: end;
    padding-top: 8px;
    padding-right: 2px;
    padding-bottom: 6px;
}
.calendar-button div.popover-remove,
.calendar-button div.popover-options,
.calendarlist-button div.popover-othercalendar {
    display: inline;
}
.calendarlist-button span, .calendar-button span {
    font-size: 0.9em;
    font-weight: 400;
    opacity: 0.7;
    /*padding-left für den letzten Button funktioniert hier nicht, weil das Popup die Reihenfolge durcheinander
        bringt. Und aus irgendeinem Grund sind die Abstände der bisher zwei Buttons in calendar-button geringer als in calendarlist-button.
        Darum wird padding-left gezielt inline zugewiesen.
    */
}
.calendar-grid button#addappointment {
    border-radius: 24px;
}
.calendarlist-header {
    font-size: 0.9em;
    font-weight: bold;
    cursor: pointer;
}
.calendarlist-header:hover {
    background-color: #eee;
}
.calendarlist-content {
    font-size: 1em;
    font-weight: normal;
    cursor: pointer;
    padding-left: 4px;
    /*margin-top: 8px;*/
}
.calendarlist-content .calendarname{
    padding-top: 8px;
    font-size: 14px;
}
.calendarlist-content div[role=listitem] {
    display: block;
    padding-top: 3px;
    padding-bottom: 2px;
}
.calendarlist-content div[role=listitem]:hover {
    background-color: #eee;
}

/*Kalenderseite, Auflistung der Kalender*/
/*Eigene Checkboxen*/
.checkmark-container {
    display: block;
    position: relative;
    padding-left: 28px;
    padding-top: 4px;
    cursor: pointer;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Hide the browser's default checkbox */
.checkmark-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkmark {
    position: absolute;
    top: 4px;
    left: 0;
    height: 20px;
    width: 20px;
    border: 1px solid var(--text-color); /*Bei checkmark-bold ist der Rahmen dicker, wodurch Farben besser zur Geltung kommen*/
    border-radius: 4px;
    background-color: transparent;
}
/*Beim dicken Rahmen kommen Farben besser zur Geltung*/
.checkmark-bold {
    border: 2px solid; 
}
/**/
.checkmark-noborder{
    border: none;
}
span.checkmark-sm {
    height: 16px;
    top: 2px;
    width: 16px;
}
.checkmark-container:hover input ~ .checkmark {
    background-color: #eee;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.checkmark-container input:checked ~ .checkmark:after {
    display: block;
}
/*Der Haken selbst: Dieser Haken ist für die einfachen Checkboxen mit 1px Rahmen*/
.checkmark-container .checkmark:after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 12px;
    border: solid var(--text-color);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*Der Haken selbst: Dieser Haken ist für die farblichen Checkboxen mit 2px Rahmen*/
.checkmark-container .checkmark-bold:after {
    left: 6px;
    top: 1px;
    width: 5px;
    height: 12px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.checkmark-container .checkmark-sm:after {
    height: 9px;
    left: 5px;
    top: 2px;
    width: 4px;
}


/*Kalendereinstellungen*/
.settings-grid {
    display: grid;
    grid-row-gap: 8px;
    grid-column-gap: 80px;
    grid-template: 
        "hd hd" minmax(40px, 40px) 
        "sd content" minmax(200px, auto);
    grid-template-columns: 270px auto;
}
.settings-grid .header {
    grid-area: hd;
}
.settings-grid .header button {
    padding-top: 4px;
    padding-bottom: 4px;
}

.settings-grid .content {
    grid-area: content;
    min-width: 300px;
    max-width: 500px;
    padding-top: 6px;
}

.settings-grid .sidebar {
    grid-area: sd;
}

/*TreeView Kalendereinstellungen*/
.settings-grid .sidebar div[role=group] {
    margin-left: 20px;
}
.settings-grid div[role=tree] > div.grid:not(:first-child) {
    margin-top: 6px;
}
.settings-grid div[role=tree] > div[role=treeitem].header {
    margin-top: 24px;
    margin-bottom: 5px;
    padding-left: 12px;
}
.calendarcolor {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-flex;
    margin-right: 8px;
    padding-top: 1px;
    vertical-align: middle;
}
.calendarcolor-active .glyphicon {
    color: white;
    top: 0;
    left: 2px;
    font-size: 0.9em;
}
#colorpalette .calendarcolor {
    margin-bottom: 6px;
    margin-left: 3px;
    margin-right: 3px;
}
/*Button neben Label Kalendercolor*/
#color.calendarcolor {
    margin-left: 6px;
}
#colorpalette button#closecolor {
    margin-top: 4px;
    width: 130px;
}
.ctxmenu #colorpalette {
    padding: 14px 8px;
}
.hd2 {
    font-size: 16px;
    font-weight: 400;
    opacity: 0.85;
}
#accountingsetting .hd2, 
#individualpaymentcondition .hd2,
#accountingexport .hd2 {
    margin-bottom: 12px;
}
.hd3 {
    font-size: 0.9em;
    font-weight: 600;
    opacity: 0.85;
}

.settings-grid .sidebar .grid {
    cursor: pointer;
    display: grid;
    grid-column-gap: 0;
    grid-template: 
        "sglabel sgbtn" minmax(30px, 30px);
    grid-template-columns: auto 50px;
}
.settings-grid .sidebar .grid:hover {
    background-color: #eee;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
}
.settings-grid .sidebar .grid .grid-label {
    grid-area: sglabel;
}
    .settings-grid .sidebar .grid .grid-button {
        grid-area: sgbtn;
        text-align: end;
    }
        .settings-grid .sidebar .grid .grid-button span {
            color: #337ab7;
            padding-top: 7px;
            padding-right: 2px;
            padding-bottom: 6px;
            font-size: 0.9em;
            opacity: 0.85;
        }
        .settings-grid .sidebar .grid .grid-button span:last-child {
            padding-right: 6px;
            padding-left: 14px;
        }

.settings-grid .sidebar .btn {
    border: none;
    color: #337ab7;
    text-align: left;
    box-shadow: none;
}
/*submenu buttons, z.b. 'Neuen Kalender einrichten'*/
.settings-grid .sidebar .btn[data-cardid]:hover {
    box-shadow: none;
    background-color: #eee;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
}
/*submenu buttons pro kalender*/
.settings-grid .sidebar .btn[data-calendarid][data-cardid] {
    padding-left: 16px;
}
.settings-grid .sidebar .active-grp {
    box-shadow: none;
    background-color: #eee;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
}
.settings-grid .sidebar .active-btn {
    box-shadow: none;
    font-weight: 600;
}
.settings-grid .content .label {
    color: var(--text-color);
    font-size: 0.9em;
    font-weight: 400;
    padding-left: 0;
    white-space: normal;
}
.settings-grid .sidebar label {
    color: var(--text-color);
    font-size: 1em;
    font-weight: 400;
    cursor: pointer;
    padding-right: 0;
    padding-left: 0;
}
.settings-grid #card .help-muted{
    margin-top: 4px;
}
.settings-grid #card hr {
    margin-top: 8px;
    margin-bottom: 16px;
}
.settings-grid #card #newuser {
    /*margin-top: 0;*/
    margin-bottom: 8px;
    width: 100%;
}
.settings-grid #card #newuser span {
    padding-right: 8px;
}
.settings-grid #card #usersharings .row {
    margin-bottom: 4px;
}
.settings-grid #card #usersharings span.fa-user,
#guestlist span.fa-user {
    background-color: #eee;
    border-radius: 24px;
    color: #ccc;
    padding: 5px 6px;
    font-size: 12px;
}
#guestlist button.close {
    font-size: inherit;
    padding-right: 4px;
}
#guestlist [role="listitem"]{
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    margin-left: 0;
}
#guestlist{
    max-height: 100px;
    overflow: hidden auto;
}
#card .remindercontainer, 
.dlgappointment .remindercontainer {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
#card .remindercontainer li {
    display: inline-block;
    margin-bottom: 8px;
}
/*.dlgappointment .remindercontainer li {
    display: inline-block;
    margin-bottom: 4px;
}*/
#card .remindercontainer input[name=interval]{
    margin-left: 8px;
    margin-right: 8px;
    padding-left: 4px;
    padding-right: 4px;
    text-align: right;
    width: 55px;
}
.dlgappointment .remindercontainer input[name=interval]{
    /*margin-left: 8px;
    margin-right: 8px;*/
    padding-left: 4px;
    padding-right: 4px;
    text-align: right;
    width: 55px;
}
.dlgappointment .remindercontainer input[name=interval]{
    padding-bottom: 7px;
    padding-top: 7px;
}
.dlgappointment .remindercontainer input[name=interval]:focus{
    padding-bottom: 5px;
}
#card .remindercontainer input[name=time],
.dlgappointment .remindercontainer input[name=time]{
    padding-left: 4px;
    padding-right: 4px;
    text-align: center;
    width: 60px;
}
#card .remindercontainer span,
.dlgappointment .remindercontainer span {
    margin-left: 8px;
    margin-right: 8px;
}
#card .remindercontainer .rndbutton,
.dlgappointment .remindercontainer .rndbutton {
    color: #8f8f8f;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 12px;
    text-align: center;
    vertical-align: middle;
}
#card .remindercontainer .rndbutton:hover,
.dlgappointment .remindercontainer .rndbutton:hover {
    background-color: #efefef !important;
    border-radius: 50%;
    cursor: pointer;
}
.dlgappointment .remindercontainer select {
    border: none !important;
    box-shadow: none;
    height: 34px;
    padding: 6px 4px 6px 4px;
    width: unset;
}
.dlgappointment .remindercontainer select[disabled] {
    background-color: #eee;
    cursor: not-allowed;
}
.dlgappointment [disabled]:not([data-premiumordered]){
    opacity: unset !important;
}
.dlgappointment .remindercontainer select:hover {
    background-color: #eee;
}
.dlgappointment .remindercontainer select option {
    background-color: #fff !important;
}
.dlgappointment .remindercontainer select,
.dlgappointment .remindercontainer input,
.dlgappointment .remindercontainer span {
    vertical-align: middle;
}

/*Dialog Termin*/
.dlgappointment input:not([type=checkbox]),
.dlgappointment textarea {
    background-color: transparent;
    border: none;
    box-shadow: none;
    cursor: text;
    outline: none !important;
    padding: 8px;
    -webkit-box-shadow: none;
}
.dlgappointment textarea {
    display: block;
    resize: none;
    width: 100%;
}
.dlgappointment input:focus,
.dlgappointment textarea:focus {
    background-color: #eee;
    border-bottom: 2px solid dodgerblue;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    outline: none !important;
}
.dlgappointment input:hover,
.dlgappointment textarea:hover {
    background-color: #eee;
    cursor: pointer;
}
    .dlgappointment input:not([type=checkbox]):focus,
    .dlgappointment textarea:focus {
        cursor: text;
    }

.dlgappointment .rndbutton {
    padding: 4px 6px;
}
.dlgappointment .rndbutton:hover {
    background-color: #ccc !important;
    border-radius: 4px;
    cursor: pointer;
}
.dlgappointment #ctrl-contacts span.btn {
    background-color: transparent;
}
.dlgappointment .hover-row:hover {
    background-color: #eee;
    /*cursor: pointer;*/
}
.dlgappointment input#title {
    font-size: 1.5em;
}
.dlgappointment input#subject {
    font-size: 16px;
}
.dlgappointment label#startdate {
    /*margin-left: 4px;*/
}
.dlgappointment label#starttime {
    cursor: pointer;
    margin-left: 12px;
    margin-right: 2px;
}
.dlgappointment label#endtime {
    cursor: pointer;
    margin-left: 2px;
    margin-right: 2px;
}
.dlgappointment label#enddate {
    margin-left: 12px;
}
.dlgappointment label#endtime.invalid,
.dlgappointment label#enddate.invalid {
    background-color: rgb(252, 232, 230);
}
.dlgappointment input#startdate {
    display: inline;
    margin: 0;
    padding: 4px 4px 4px 8px;
    width: 100%;
}
.dlgappointment input#starttime {
    cursor: text;
    display: inline;
    margin: 0 0 0 8px; /*links 8px mehr als das startdate*/ 
    padding: 1px 4px 4px 8px;
    width: 100%;
}
.dlgappointment input#endtime {
    cursor: text;
    display: inline;
    margin: 0;
    padding: 1px 4px 4px 8px;
    width: 100%;
}
.dlgappointment div#enddate {
    margin-left: 8px;
}
.dlgappointment input#enddate {
    display: inline;
    margin: 0;
    padding: 4px 4px 4px 8px;
    width: 100%;
}
.dlgappointment #reminderinfo {
    padding: 6px;
}
.dlgappointment .icon-col span {
    padding-left: 8px;
    padding-top: 11px;
}
.dlgappointment .icon-col .fa-map-pin {
    padding-left: 10px;
    opacity: 0.8;
}
.popover .time {
    font-size: 14px;
    padding: 6px 8px;
}
.popover .time:hover {
    background-color: #eee;
    border-radius: 24px;
    cursor: pointer;
}
.popover .time-active {
    background-color: blanchedalmond;
    border-radius: 24px;
    font-weight: 600;
}
.dlgappointment .moreoptions {
    padding-bottom: 6px;
    padding-left: 7px;
}
.dlgappointment .moreoptions .checkmark-container {
    display: inline;
    padding-left: 24px;
}
.dlgappointment .moreoptions .summary {
    font-size: 12px;
    margin: 0;
    opacity: 0.65;
    padding: 0 0 8px 8px;
}
.dlgappointment .moreoptions .details {
    padding: 0 0 8px 8px;
}
/*Zeitzone*/
.dlgappointment #btn-tz { 
    margin-left: 16px;
}
.dlgappointment .has-innerrow {
    padding-left: 0;
    padding-top: 2px;
}
.dlgappointment .innerrow-1 {
    margin: 0;
}
.dlgappointment .innerrow-2 {
    font-size: 12px;
    margin: 0;
    /*opacity: 0.85; weiß nicht mehr, warum ich das auf 0.85 gesetzt hatte. Für das Serienmuster-Dropdown darf opacity aber nicht gesetzt sein*/
}

.dlgappointment .col-xs-11 {
    margin-bottom: 8px;
    padding-left: 4px;
}

.dlgappointment .innercol {
    padding-left: 2px;
}

.dlgappointment .dropdown#recurrence {
    display: inline;
    margin-left: 14px;
}
.dlgappointment .dropdown#recurrence .dropdown-menu {
    min-width: 240px;
}
.dlgappointment #allarticles .dropdown button {
    background-color: inherit;
}
.dlgappointment #allarticles .dropdown button:hover {
    background-color: #ccc;
}
.dlgappointment #calendardropdown .btn {
    background-color: transparent;
    border: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    padding-left: 7px;
}

.dlgappointment button {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.dlgappointment textarea#description{
    min-height:100px;
}
.btn .caret {
    margin-left: 8px;
}

/**Serientermin*/
.dlgrecurrence input:not([type=radio]) {
    /*background-color: transparent;*/
    border: none;
    border-bottom: 2px solid #eee;
    box-shadow: none;
    cursor: text;
    outline: none !important;
    /*padding: 8px;*/
    -webkit-box-shadow: none;
}

.dlgrecurrence input:focus {
    /*background-color: #eee;*/
    border-bottom: 2px solid dodgerblue;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    outline: none !important;
}

.radio-sm {
    margin-bottom: 7px;
    margin-top: 7px;
}

.label-bold {
    font-size: 0.9em;
    font-weight: 600;
    opacity: 0.85;
}

.dlgrecurrence button {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.dlgrecurrence .r1{
    margin-bottom: 24px;
}
.dlgrecurrence .r2, .dlgrecurrence .r3 {
    margin-bottom: 8px;
}
.dlgrecurrence .r3 {
    padding-top: 1px;
}

input#r-endat{
    max-width: 150px;
}

input#interval, input#r-endafter {
    background-color: #eee;
    box-shadow: none;
    display: inline;
    /*height: 32px;*/
    padding: 0;
    text-align: center;
    width: 60px;
    /*vertical-align: bottom;*/
}
input#interval {
    margin: 0px 6px 0 6px;
}
input#r-endafter {
    margin: 0px 6px 0 0;
}

.dropdown#freq {
    /*border: none;*/
    display: inline !important;
}
button#freq {
    border-bottom: 2px solid #eee !important;
    padding-bottom: 6px;
    padding-top: 6px;
    vertical-align: baseline;
}
.day-button {
    background-color: #eee;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.85em;
    height: 26px;
    margin-bottom: 8px;
    margin-right: 8px;
    margin-top: 8px;
    opacity: 0.9;
    width: 26px;
}
/*Zumindest das M ist breiter als die anderen Buchstaben*/
.day-button-wide{
    padding: 5px 0px 6px 8px;
}
.day-button-narrow{
    padding: 5px 0px 6px 9px;
}
.day-button-active {
    background-color: rgb(26, 115, 232);
    color: white;
}
img#btngoogle {
    /*Der Firefox kann content nicht darstellen. Wenn ich das über background-image mache, wird ein extra Rahmen dargestellt, den ich weder über 
        border noch box-shadow wegbekomme.
    */
    content: url('/images/external-login/btn_google_signin_light_normal_web.png');
}

    img#btngoogle:hover {
        content: url('/images/external-login/btn_google_signin_light_focus_web.png');
    }

    img#btngoogle:active {
        content: url('/images/external-login/btn_google_signin_light_pressed_web.png');
    }

/* AB / Anrufbearbeitung */
/*Die @media-Werte hier setzen die Breiten für die drei Container, statt dass die col-lg Class-Attribute verwendet werden. Wenn die col-Anweisungen
    in phoneservice.js FAQ.resize geändert werden (oder in der account-/user.cshtml-Datei), dann muss das auch hier in den @media-Werten angepaßt werden.
*/
@media (min-width: 1212px) {
    #form-callhandling[data-callview='1'] {
        width: 25%;
    }
    #ab-container {
        width: 33.33333333%;
    }
    #ab-container[data-resized='1'] {
        width: 58.33333333%;
    }
    #gn-container {
        width: 41.66666667%;
    }
}
@media (min-width: 1680px) {
    #form-callhandling[data-callview='1'] {
        width: 23%;
    }
    #ab-container {
        width: 34.33333333%;
    }
    #ab-container[data-resized='1'] {
        width: 57.33333333%;
    }
    #gn-container {
        width: 42.66666667%;
    }
}
#gn-container #gn-organizations, #gn-container #gn-organizationinstruction textarea {
    background-color: lemonchiffon;
}
#gn-container #gn-organizations legend, #gn-container #gn-callers legend {
    /*border-bottom:none;*/
    margin-bottom:0px;
}
#gn-container #gn-organizations legend span[name="title"] {
    padding:4px;
}
#gn-container #gn-callers span[name="counter"] {
    font-size: 0.7em;
}
/*Gesprächsnotiz*/
#sendreply-options {
    margin-top:4px;
}
#sendreply-options .radio-inline {
    margin-bottom:4px;
}
#sendreply-options #replyreason {
    font-weight:bold;
    margin-bottom:4px;
}
#statusmsg ul[name="sendreply-warning"]{
    padding-inline-start:10px;
}
/*Z.B. Listenelemente, Dropdown-Button wie einen Placeholder anzeigen, wenn 'None' gewählt  ist*/
[data-isnone="1"] {
    color: #999 !important;
}
.placeholder-alert::placeholder {
    color: var(--attention-fg);
    opacity: 1; /* Firefox */
}
.placeholder-alert::-ms-input-placeholder { /* Edge 12 -18 */
    color: var(--attention-fg);
}
.mydropdown button[name=dropdownbtn] {
    text-overflow: ellipsis;
    overflow: hidden;
}
    .mydropdown button[name=dropdownbtn]:not([data-isnone="1"]) {
        /*button[data-isnone="1"] hat eine andere farbe*/
        color: var(--text-color) !important;
    }
.mydropdown button[name=dropdownbtn] span[name=caption] {
    text-overflow: ellipsis;
    overflow: hidden;
}
.mydropdown li a {
    padding: 3px 10px;
}
    .mydropdown li a:not([data-isnone="1"]) {
        /*a[data-isnone="1"] hat eine andere farbe*/
        color: var(--text-color) !important;
    }

/*Chat*/
#newchat-container textarea,
#thechat textarea {
    overflow: hidden;
    resize: none;
}
#thefullchat .col-sm-6 {
    padding: 0;
}
/*Gilt für AB und chat. Im chat bekommt der container den Focus nach Eingabe des Chatverlaufs*/
#gn-body, #gn-body:focus, #gn-body:focus-visible {
    outline:none;
}
.chat-caller{
    background-color: aliceblue;  
    border-radius: 6px;
    margin: 2px 12px 2px 12px;
    padding: 6px;
}
.chat-agent {
    background-color: antiquewhite;
    border-radius: 6px;
    margin: 2px 12px 2px 12px;
    padding: 6px;
}
.chat-name {
    font-size: 12px;
    font-weight: bold;
    opacity: 0.5;
}
.chat-time {
    font-size: 12px;
    opacity: 0.75;
    text-align: right;
}
.chat-msg p {
    font-size: 16px;
    margin-bottom: 2px;
}
.chatcolor {
    height: 30px; /*gleiche höhe wie reset button*/
}
.codesnippet {
    background-color: #333;
    color: cadetblue;
    font-family: monospace, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
}
.chatbox {
    cursor: default;
}
.chatbox .panel {
    box-shadow: 4px 4px 12px 8px #ddd;
}
.chatbox .panel-heading {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}
.chatbox .panel-footer {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    cursor: pointer;
    text-align: center;
}
.chatconfig label {
    margin: 0;
    vertical-align: middle;
}
.chatconfig .btncolor {
    border: 0;
    border-radius: 6px;
    height: 18px;
    margin-right: 4px;    
    vertical-align:middle;
    width: 18px;
}
.chatconfig input#headerbgcolor,
.chatconfig input#buttonbgcolor {
    border:0;
    height:0px;
    width:0px;
}
.chatconfig .chatinput {
    border:none; 
    cursor: text;
    font-size:0.9em; 
    opacity:0.85;
    padding-top:8px !important; 
}
.chatconfig .fa-user-circle {
    background-color: #ccc;
    border-radius: 20px;
    color: #efefef;
    font-size: 22px;
    margin-right: 8px;
}
.chatconfig .fa-paper-plane {
    background-color: transparent;
    color: #ccc;
    cursor: pointer;
    font-size: 16px;
}
.chatconfig .fa-comment-alt {
    background-color: transparent;
    color: white;
    font-size: 16px;
    margin-right: 8px;
}
.chatconfig .panel-heading span {
    vertical-align: text-bottom;
}
.chatconfig .chat-agent {
    background-color: #eee;
    border: 0;
    margin: 0 0 24px 0;
    width: 100%;
}
/*Tagesberichte*/
#dayreports-container {
    border: 2px solid #eee;
    border-radius: 10px 10px;
    margin-bottom: 10px;
    margin-top:20px;
    min-height: 100px;
    min-width: 150px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 10px 10px 0 10px;
}
#dayreports-container table {
   margin-bottom: 4px;
}
#dayreports-container thead tr {
   background-color: #eee;
}
/*News*/
#news-container {
    margin-top:20px;
    overflow-x: hidden;
    overflow-y: auto;
}
#news-container .news-menu {
    border: 1px solid #efefef;
    border-radius:4px;
}
.news-menu button {
    border:0;
    margin:2px;
}
#news-menu2[data-visible="0"] {
    display: none;
}
#news-menu2[data-visible="1"] {
    display: block;
}
#news-container .news-content {
    border: 1px solid #cfcfcf;
    border-radius:4px;
    margin-top: 6px;
    overflow:hidden;
    overflow-wrap:break-word;
    padding: 4px;
}
#news-container .news-content .news-header {
    padding-bottom: 6px;
}
#news-container input {
    background-color: #000;
}
#news-container a[data-toggle]{
    display: inline-flex;
    text-decoration: none;
}
#news-container a[data-toggle]:hover{
    text-decoration: none;
}
    #news-container a[data-toggle] span {
        margin-left: 6px;
    }
    #news-container [name="btn-container"] {
        margin-bottom: 10px;
    }
#news-table td[name="actions"] input[type="checkbox"]{
    margin-right:8px;
    vertical-align: sub;
}
#news-table td[name="actions"] button {
    padding-left: 8px;
    padding-right: 8px;
}
#news-container ul, #news-container ol {
    /*Einzug verkleinern*/
    padding-inline-start: 20px;
}
#news-container #lastexecution {
    background-color: #eee;
    font-size: 0.9em;
    margin: 10px 0;
    opacity: 0.85;
}
#news-container #lastexecution div {
    padding: 2px;
}
/*Mandantenjournal*/
#journal-table td[name="duration"] {
    text-align: right;
}
#journal-table button[name] {
    padding-left:6px;
    padding-right:6px;
}
#journal-table td input {
    margin-right: 4px;
    top: -1px;
}
.widget-body td[name="duration"] {
    text-align: right;
}
#journal-table td[name="duration"] span,
.widget-body td[name="duration"] span {
    padding: 4px;
}
#journal-table td[name="duration"] span[data-timerstatus="1"], 
.widget-body td[name="duration"] span[data-timerstatus="1"] {
    background-color: wheat;
    border-radius: 4px;
}
#journal-table td[name="duration"] span[data-timerstatus="2"],
.widget-body td[name="duration"] span[data-timerstatus="2"] {
    background-color: #e8e8e8;
    border-radius: 4px;
}
.widget-body #journalsummary {
    float: right;
}
.widget-body #journalsummary table {
    border: none;
    width: 100%;
}
.widget-body #journalsummary table td {
    border: none;
}
.widget-body #journalsummary .popover {
    font-size: 13px;
    max-width: unset !important;
    width: 400px;
}
.widget-body .table {
    margin: 0;
}
.widget-body .popover-content {
    padding: 9px;
}
.widget-body #journalsummary .btn {
    background-color: transparent;
    border: none;
}
.widget-body #journalsummary .fa-spinner.on {
    -webkit-animation: spin 3s linear infinite;
}
/*Info Druckerwarteschlange*/
.printjobinfo {
    border: 2px solid #eee;
    box-shadow: 0 10px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19) !important; 
    display: inline-block;
    margin-top: 20px;
}
.printjobinfo .row:first-child {
    text-align: end;
}
/*Element, über das per Drag&Drop Dateien hochhgeladen werden können*/
.dragover {
    border: 2px dotted #afafaf !important;
    border-radius: 4px;
}

table#contact_table td[name="categories"] span {
    padding-right:4px;
}

#contactform span.glyphicon-info-sign {
    padding-left: 4px;
}

/* Remove extra left and right margins, due to padding in columns */
.contactcards {
    margin: 0 -5px;
}
/* Clear floats after the columns */
.contactcards:after {
    content: "";
    display: table;
    clear: both;
}
/* Float four columns side by side */
.cardcolumn {
    display: block;
    float: left;
    margin-bottom: 15px;
    padding: 0 10px;
    width: 100%;
}
/* Responsive columns */
@media screen and (min-width: 600px) {
    .cardcolumn {
        width: 50%;
    }
}
@media screen and (min-width: 1000px) {
    .cardcolumn {
        width: 33%;
    }
}
.contactcard {
    background-color: #f1f1f1;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); /* this adds the "card" effect */
    cursor: pointer;
    overflow: hidden;
    overflow-wrap: break-word;
    /*Höhe und Padding sind variable, darum wird das nicht hier festgelegt.
        height: 112px;
    padding: 10px;*/
    text-align: center;
}
.contactcard:hover {
    background-color: #ccc;
}
.popover .contactcard, .popover .contactcard:hover {
    background-color: transparent;
    border: none;
    box-shadow:none;
    height: unset;
    padding: 0;
}
.contactcard [name="company"] {
    font-weight: 600;
}
/*Info-Zeichen nur im Suchergebnis-Dialog anzeigen, nicht bei Hover über einen bereits ausgewählten Kontakt.*/
.contactcard [name="more"]:not(.cardcolumn .contactcard [name="more"]) {
    display: none;
}
.cardcolumn .contactcard [name="more"] {
    font-size: 0.9em;
    float: right;
    padding: 5px;
}
.contactcard [name="address"],
.contactcard [name="clientnr"],
.contactcard [name="customernr"],
.contactcard [name="email"],
.contactcard [name="phone"] {
    font-size: 0.9em;
}
.contactcard .popover.in {
    max-width: 400px;
    text-align:left;
}
.contactcard .popover.in .contactcard {    
     text-align:left;
}
.contactcard .popover.in .contactcard td {
    padding: 3px;
}
#dayreport-date {
    display: inline;
    height: unset;
    padding: 2px 4px;
    text-align: center;
    width: 90px;
}