/* Allgemein */
.terminreservierung {
    margin-bottom: 20px;
}
.terminreservierung p.hinweis {
    font-weight: bold;
    text-align: center;
    padding: 2px 0px 4px 0px;
    color: #000;
    border: 2px solid #080;
    background-color: #0A0;
    margin-bottom: 2px;
}
.terminreservierung p.fehler {
    font-weight: bold;
    text-align: center;
    padding: 2px 0px 4px 0px;
    color: #000;
    border: 2px solid #D00;
    background-color: #F00;
    margin-bottom: 2px;
}

/* Liste */
.terminreservierung ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px 2px 0px 0px;
    width: calc(100% + 4px);
}
.terminreservierung ul li {
    float: left;
    margin-bottom: 8px;
    margin-right: 8px;
}
/** Einen Tag **/
.terminreservierung ul li:only-child {
    width: 100%;
}
/** Zwei Tage **/
.terminreservierung ul li:first-child:nth-last-child(2),
.terminreservierung ul li:first-child:nth-last-child(2) ~ li {
    width: calc((100% / 2) - 7px);
}
/** Drei Tage **/
.terminreservierung ul li:first-child:nth-last-child(3),
.terminreservierung ul li:first-child:nth-last-child(3) ~ li {
    width: calc((100% / 3) - 7px);
}
/** Vier Tage **/
.terminreservierung ul li:first-child:nth-last-child(4),
.terminreservierung ul li:first-child:nth-last-child(4) ~ li {
    width: calc((100% / 4) - 7px);
}
/** Fünf Tage **/
.terminreservierung ul li:first-child:nth-last-child(5),
.terminreservierung ul li:first-child:nth-last-child(5) ~ li {
    width: calc((100% / 5) - 7px);
}
/** Sechs Tage **/
.terminreservierung ul li:first-child:nth-last-child(6),
.terminreservierung ul li:first-child:nth-last-child(6) ~ li {
    width: calc((100% / 3) - 7px);
}
.terminreservierung ul li:nth-child(4):nth-last-child(3) {
    clear: both;
}
/** Sieben Tage **/
.terminreservierung ul li:first-child:nth-last-child(7),
.terminreservierung ul li:first-child:nth-last-child(7) ~ li {
    width: calc((100% / 4) - 7px);
}
.terminreservierung ul li:nth-child(5):nth-last-child(3) {
    clear: both;
}
/** Acht Tage **/
.terminreservierung ul li:first-child:nth-last-child(8),
.terminreservierung ul li:first-child:nth-last-child(8) ~ li {
    width: calc((100% / 4) - 7px);
}
.terminreservierung ul li:nth-child(5):nth-last-child(4) {
    clear: both;
}
/** Neun Tage **/
.terminreservierung ul li:first-child:nth-last-child(9),
.terminreservierung ul li:first-child:nth-last-child(9) ~ li {
    width: calc((100% / 4) - 7px);
}
.terminreservierung ul li:nth-child(5):nth-last-child(5),
.terminreservierung ul li:nth-child(9):nth-last-child(1) {
    clear: both;
}
/** Alle Tage **/
.terminreservierung ul li:nth-child(3):nth-last-child(4),
.terminreservierung ul li:nth-child(4):nth-last-child(4),
.terminreservierung ul li:nth-child(4):nth-last-child(5),
.terminreservierung ul li:nth-child(4):nth-last-child(6),
.terminreservierung ul li:nth-child(8):nth-last-child(2),
.terminreservierung ul li:last-child {
    margin-right: 0px;
}
.terminreservierung ul li h3 {
    padding: 0px;
    margin: 0px;
}
.terminreservierung ul li div {
    margin-top: 1px;
    padding: 1px 1px 2px 1px;
    color: #FFF;
    cursor: default;
}
.terminreservierung ul li div a {
    display: block;
    text-decoration: none;
    color: #FFF;
}
.terminreservierung ul li div.belegt {
    background-color: #C00;
}
.terminreservierung ul li div.frei {
    background-color: #060;
}
.terminreservierung ul li div.genutzt {
    background-color: #C77;
}
.terminreservierung ul li div.vorbei {
    background-color: #797;
}
.terminreservierung ul li div.zwischenzeit {
    background-color: #F77;
    background-image: repeating-linear-gradient(-30deg, #F99 0%, #F99 1%, #FCC 2%, #FCC 3%);
}

/* Formular */
.terminreservierung form h3 {
    margin: 12px 0px 4px 0px;
}
.terminreservierung form label {
    float: left;
}
.terminreservierung form div.control {
    margin-left: 120px;
    margin-bottom: 2px;
}
.terminreservierung form div.control select {
    min-width: 60px;
    border: 1px solid #AAA;
}
.terminreservierung form div.control input {
    width: 300px;
    border: 1px solid #AAA;
    box-sizing: border-box;
}
.terminreservierung form div.control input[type=submit] {
    padding: 1px 0px 2px 0px;
    background-color: #CCC;
    cursor: pointer;
}
.terminreservierung form div.control textarea {
    width: 300px;
    height: 60px;
    border: 1px solid #AAA;
}

/* Backend */
.terminreservierung h3 {
    margin: 12px 0px 2px 0px;
}
.terminreservierung #Termine {
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #999;
    padding: 0px 4px
}
.terminreservierung #Termine ul {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}
.terminreservierung #Termine ul li {
    float: none;
    width: auto;
    margin: 0px 0px 1px 0px;
    padding: 0px;
}
.terminreservierung #Termine ul li div.termin {
    background-color: #FFD;
    color: #000;
    padding: 0px 2px 1px 2px;
    margin-bottom: 1px;
}
.terminreservierung #Termine ul li div.termin a {
    color: #00C;
}
.terminreservierung #Zeitbloecke {
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #999;
    padding: 4px;
}
.terminreservierung #Zeitbloecke div.zeitblock {
    background-color: #FFD;
    color: #000;
    padding: 0px 2px 1px 2px;
    margin-bottom: 1px;
}
.terminreservierung #Zeitbloecke div.zeitblock a {
    color: #00C;
}
.terminreservierung #Zeitbloecke form {
    padding-top: 12px;
}
.terminreservierung #NextWeek {
    border: 1px solid #999;
    padding: 4px
}
.terminreservierung #NextWeek form div.control input[type=text] {
    width: 40px;
}
.terminreservierung #NextWeek form div.control input[type=submit] {
    
}