/* CALENDAR */

.calContainer {
    width:220px;
    display:inline-block;
    border: 2px solid #DDD;
    vertical-align: bottom;
}

.calYear {
    text-align: center;
    padding:2px;
    width: 100%;
    border-bottom: 2px solid #DDD;
    margin-bottom: 5px;
}

.calDay {
    color:#AAA;
}

.calCell {
    display: inline-block;
    text-align: center;
    padding:0px;
    margin: 1px;
    vertical-align: bottom;
    line-height: 28px;
}

.calToday {
    position: relative;
}

.calToday:after {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 3px solid #dd0000;
}

.calEmpty {
    background-color: var(--calEmpty);
}

.calFree {
    background-color: var(--calFree);
}

.bookedStart {
    background-color: transparent;
    background-image: linear-gradient(-45deg, var(--calFree) 50%, var(--calOccupied) 50%);
    background-image: -webkit-linear-gradient(-45deg, var(--calFree) 50%, var(--calOccupied) 50%);
}

.bookedEnd {
    background-color: transparent;
    background: linear-gradient(-45deg, var(--calOccupied) 50%, var(--calFree) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calOccupied) 50%, var(--calFree) 50%);
}

.booked {
    background-color: var(--calOccupied);
}

.bookedStart.bookedEnd {
    background-color: transparent;
    background: linear-gradient(-45deg, var(--calOccupied) 47%, white 47%, white 53%, var(--calOccupied) 53%);
    background: -webkit-linear-gradient(-45deg, var(--calOccupied) 47%, white 47%, white 53%, var(--calOccupied) 53%);
}

.markBooking {
    background-color: var(--calMarked) !important;
}

.bookedStart.markStart {
    background-image: linear-gradient(-45deg, var(--calFree) 50%, var(--calMarked) 50%);
    background-image: -webkit-linear-gradient(-45deg, var(--calFree) 50%, var(--calMarked) 50%);
}
.bookedStart.bookedEnd.markStart {
    background: linear-gradient(-45deg, var(--calOccupied) 47%, white 47%, white 53%, var(--calMarked) 53%) !important;
    background: -webkit-linear-gradient(-45deg, var(--calOccupied) 47%, white 47%, white 53%, var(--calMarked) 53%) !important;
}
.bookedEnd.markEnd {
    background: linear-gradient(-45deg, var(--calMarked) 50%, var(--calFree) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calMarked) 50%, var(--calFree) 50%);
}
.bookedStart.bookedEnd.markEnd {
    background: linear-gradient(-45deg, var(--calMarked) 47%, white 47%, white 53%, var(--calOccupied) 53%);
    background: -webkit-linear-gradient(-45deg, var(--calMarked) 47%, white 47%, white 53%, var(--calOccupied) 53%);
}

.pending {
    background-color: var(--calPending);
}

.pendingStart {
    background-image: linear-gradient(-45deg, var(--calFree) 50%, var(--calPending) 50%);
    background-image: -webkit-linear-gradient(-45deg, var(--calFree) 50%, var(--calPending) 50%);
}

.pendingStart.bookedEnd {
    background: linear-gradient(-45deg, var(--calOccupied) 50%, var(--calPending) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calOccupied) 50%, var(--calPending) 50%);
}

.pendingStart.bookedEnd.markEnd {
    background: linear-gradient(-45deg, var(--calMarked) 50%, var(--calPending) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calMarked) 50%, var(--calPending) 50%);
}

.pendingStart.bookedEnd.markStart {
    background: linear-gradient(-45deg, var(--calOccupied) 50%, var(--calMarked) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calOccupied) 50%, var(--calMarked) 50%);
}

.pendingEnd {
    background-image: linear-gradient(-45deg, var(--calPending) 50%, var(--calFree) 50%);
    background-image: -webkit-linear-gradient(-45deg, var(--calPending) 50%, var(--calFree) 50%);
}

.pendingEnd.markEnd {
    background: linear-gradient(-45deg, var(--calMarked) 50%, var(--calFree) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calMarked) 50%, var(--calFree) 50%);
}

.pendingStart.markStart {
    background: linear-gradient(-45deg, var(--calFree) 50%, var(--calMarked) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calFree) 50%, var(--calMarked) 50%);
}

.pendingEnd.bookedStart {
    background-image: linear-gradient(-45deg, var(--calPending) 50%, var(--calOccupied) 50%);
    background-image: -webkit-linear-gradient(-45deg, var(--calPending) 50%, var(--calOccupied) 50%);
}

.pendingEnd.bookedStart.markEnd {
    background: linear-gradient(-45deg, var(--calMarked) 50%, var(--calOccupied) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calMarked) 50%, var(--calOccupied) 50%);
}

.pendingEnd.bookedStart.markStart {
    background: linear-gradient(-45deg, var(--calPending) 50%, var(--calMarked) 50%);
    background: -webkit-linear-gradient(-45deg, var(--calPending) 50%, var(--calMarked) 50%);
}