.calendar-key {
    background: #ffffff;
    margin: 1rem 0;
    padding: 0.5rem 1rem;
}
.calendar-key-item {
    align-items: center;
    display: flex;
    padding: 0.5rem 0;
}
.calendar-key-name {
    font-size: 0.875rem;
    padding: 0 2rem 0 0.5rem;
}
.calendar-key-icon {
    height: 1.2rem;
    width: 1.2rem;
}
.calendar-date-is-available, td.calendar-date-is-available {
    background: #c7dbd2; /* Bootstrap .table-secondary */
}
.calendar-date-is-not-available, td.calendar-date-is-not-available {
    background: #f8d7da; /* Bootstrap .table-danger */
}
.calendar-date-is-past, td.calendar-date-is-past {
    background: #e2e3e5; /* Bootstrap .table-success */
}
.calendar-date-afternoon-available, td.calendar-date-afternoon-available {
    background: #f8d7da;
    background: -moz-linear-gradient(-45deg,  #f8d7da 0%, #f8d7da 50%, #c7dbd2 50%, #c7dbd2 100%);
    background: -webkit-linear-gradient(-45deg,  #f8d7da 0%,#f8d7da 50%,#c7dbd2 50%,#c7dbd2 100%);
    background: linear-gradient(135deg,  #f8d7da 0%,#f8d7da 50%,#c7dbd2 50%,#c7dbd2 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8d7da', endColorstr='#c7dbd2',GradientType=1 );
}
.calendar-date-morning-available, td.calendar-date-morning-available {
    background: #c7dbd2;
    background: -moz-linear-gradient(-45deg,  #c7dbd2 0%, #c7dbd2 50%, #f8d7da 50%, #f8d7da 100%);
    background: -webkit-linear-gradient(-45deg,  #c7dbd2 0%,#c7dbd2 50%,#f8d7da 50%,#f8d7da 100%);
    background: linear-gradient(135deg,  #c7dbd2 0%,#c7dbd2 50%,#f8d7da 50%,#f8d7da 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c7dbd2', endColorstr='#f8d7da',GradientType=1 );
}
