table.dienstplan {
    color: #000;
}
table.dienstplan .footer {
    font-weight: bold;
}
table.dienstplan td.footer table {
    border: 2px solid black;
}
table.dienstplan .warning {
    color: #f00;
}
table.dienstplan .bg_warning {
    background-color: #f00;
}
table.dienstplan th {
    padding: 2px 5px;
}
table.dienstplan td {
    padding: 2px;
}
table.dienstplan td.center {
    text-align: center;
}

table.dienstplan tr.even td {
    background-color: #fff;
}
table.dienstplan tr.odd td {
    background-color: #eee;
}
table.dienstplan tr.day {
    border-top: 1px solid black;
}
table.dienstplan tbody tr.day:first-child {
    border-top: none;
}


div.dienstplan,
div.dienstplan div.display-table {
    display:table;
    width: 100%;
    border-collapse: collapse;
}
div.dienstplan div.event-date,
div.dienstplan div.date-head,
div.dienstplan div.head div.events,
div.dienstplan div.event-time,
div.dienstplan div.event-title,
div.dienstplan div.event-members,
div.dienstplan div.event-info,
div.dienstplan div.weeksum,
div.dienstplan div.agzsum,
div.dienstplan div.numbers,
div.dienstplan div.legend,
div.dienstplan div.display-table-cell {
    display: table-cell;
}
div.dienstplan div.head,
div.dienstplan div.foot,
div.dienstplan div.single-event,
div.dienstplan div.display-table-row {
    display: table-row;
}
div.dienstplan div.foot {
    display: table-caption;
    caption-side: bottom;
}
div.dienstplan div.head div {
    vertical-align: bottom;
}
div.dienstplan div.event-date {
    vertical-align: top;
    min-height: 1em;
    min-width: 5em;
}
div.dienstplan div.date,
div.dienstplan div.weekday
{
    display: inline-block;
}
div.dienstplan div.event-time,
div.dienstplan div.event-title,
div.dienstplan div.event-members
{
    width: auto;
    vertical-align: top;
}
div.dienstplan div.date-head {
    width: auto;
    max-width: 3em;
}
div.dienstplan div.event-time {
    max-width: 4.2em;
}
div.dienstplan div.event-title {
/*    max-width: 8em;*/
}
div.dienstplan div.event-members {
    max-width:11em;
}
div.dienstplan div.weeksum,
div.dienstplan div.agzsum {
    width: auto;
    max-width:1em;
    text-align: center;
}

div.dienstplan div.single-event.even {
    background-color: #fff;
}
div.dienstplan div.single-event.odd {
    background-color: #eee;
}

div.dienstplan div.event-date,
div.dienstplan div.event-time,
div.dienstplan div.event-title,
div.dienstplan div.event-members,
div.dienstplan div.event-info,
div.dienstplan div.weeksum,
div.dienstplan div.agzsum,
div.dienstplan div.responsive,
div.dienstplan div.printed,
div.dienstplan div.numbers,
div.dienstplan div.legend {
    padding: 2px;
}

div.dienstplan div.date-head,
div.dienstplan div.event-date,
div.dienstplan div.event-time,
div.dienstplan div.event-title,
div.dienstplan div.event-members,
div.dienstplan div.event-info,
div.dienstplan div.weeksum
{
    border-right: 1px solid black;
}
div.dienstplan div.head,
div.dienstplan div.single-event
{
    border-bottom: 1px solid black;
}

div.dienstplan div.legend {
    text-align: right;
}
div.dienstplan div.head {
    font-weight: bold;
}
div.dienstplan div.bg_warning {
    background-color: #f00;
    color: #fff;
}
div.dienstplan div.foot div {
    font-weight: bold;
    color: #fff;
    background-color: #000;
}
div.dienstplan div.foot div.printed {
    text-align: center;
}

/*div.dienstplan div {outline: 1px solid red;}*/

div.dienstplan .responsive,
div.dienstplan div.event-date div.responsive,
div.dienstplan div.same-day.hide
{
    display: none;
}
div.dienstplan span.event-toggle {
    display:none;
    float:right;
}

@media screen and (max-width: 800px) {
    div.dienstplan {
        display:block;
        width:100%;
    }
    div.dienstplan div { border: none;}
    div.dienstplan div.date-head,
    div.dienstplan div.head div.events,
    div.dienstplan div.event-info,
    div.dienstplan div.weeksum,
    div.dienstplan div.agzsum,
    div.dienstplan div.numbers,
    div.dienstplan div.legend,
    div.dienstplan div.display-table-cell {
        display: block;
    }
    div.dienstplan div.event-date,
    div.dienstplan div.event-time,
    div.dienstplan div.event-title,
    div.dienstplan div.event-members
    {
        display: inline-block;
    }
    div.dienstplan div.date-head,
    div.dienstplan div.event-date,
    div.dienstplan div.event-time,
    div.dienstplan div.event-title,
    div.dienstplan div.event-members,
    div.dienstplan div.event-info,
    div.dienstplan div.weeksum
    {
        border-right: none;
    }

    div.dienstplan span.event-toggle {
        display:block;
    }
    div.dienstplan div.event-time {
        white-space: nowrap;
        max-width: none;
        margin-right: 0.4em;
    }
    div.dienstplan div.event-title br,
    div.dienstplan div.event-title nobr:nth-of-type(2),
    div.dienstplan div.head
    {
        display: none;
    }
    div.dienstplan div.hide {
        display: none !important;
    }
    div.dienstplan div.event-members,
    div.dienstplan div.agzsum
    {
        margin-left: 0.4em;
    }
    div.dienstplan div.weeksum,
    div.dienstplan div.agzsum {
        display: inline-block;
        max-width:none;
        text-align:left;
    }
    div.dienstplan div.event-title.responsive,
    div.dienstplan .responsive {
        display: inline-block;
    }
    div.dienstplan div.foot,
    div.dienstplan div.single-event
    {
        display: block;
    }
}










