.calendar {
    position : relative;
    }
.calendar #loading {
    background : url('../img/loading.gif') center no-repeat #FFF;
    bottom     : 0;
    display    : none;
    filter     : alpha(opacity=90);
    left       : 0;
    opacity    : 0.9;
    position   : fixed;
    right      : 0;
    top        : 0;
    z-index    : 9998;
    }
.calendar #calendar {
    margin : 0 auto;
    width  : 100%;
    }
.calendar #calendar .fc-basic-view .fc-body .fc-row {
    min-height : 45px;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-basic-view .fc-body .fc-row {
        height : 100px;
        }
    }
@media (min-width : 992px) {
    .calendar #calendar .fc-basic-view .fc-body .fc-row {
        height : 112px;
        }
    }
@media (min-width : 1200px) {
    .calendar #calendar .fc-basic-view .fc-body .fc-row {
        height : 130px;
        }
    }
.calendar #calendar .fc-sat {
    color : gray;
    }
.calendar #calendar .fc-sun {
    color : red;
    }
.calendar #calendar .fc-day-grid-event .fc-content {
    text-overflow : ellipsis;
    }
.calendar #calendar .fc-agendaWeek-button,
.calendar #calendar .fc-listWeek-button-desk {
    display : none;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-agendaWeek-button,
    .calendar #calendar .fc-listWeek-button-desk {
        display : block !important;
        }
    .calendar #calendar .fc-listWeek-button {
        display : none;
        }
    }
.calendar #calendar .fc-today-button.fc-state-disabled {
    cursor : not-allowed;
    }
.calendar #calendar .fc-today-button {
    border-bottom-right-radius : 4px;
    border-top-right-radius    : 4px;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-today-button {
        border-bottom-right-radius : 0;
        border-top-right-radius    : 0;
        }
    }
.calendar #calendar .fc-toolbar .fc-center {
    padding-top : 10px;
    }
.calendar #calendar .fc-toolbar .fc-center h2 {
    font-size : 20px;
    }
.calendar #calendar .fc-view-container .fc-scroller {
    height     : 100% !important;
    min-height : 250px;
    }
.calendar #calendar .fc-toolbar button:focus {
    outline : none;
    }
.calendar #calendar .fc-toolbar .fc-head .fc-button-group {
    margin-bottom : 10px;
    }
.calendar #calendar .fc-toolbar .fc-head .fc-button-group.fc-right {
    float : right;
    }
.calendar #calendar .fc-more-cell div {
    background-color : indianred;
    border-radius    : 3px;
    cursor           : pointer;
    margin           : 1px 2px 0;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-more-cell div {
        font-size   : 14px;
        line-height : 1.3;
        margin      : 1px 2px;
        position    : relative;
        }
    }
.calendar #calendar .fc-more-cell div a {
    color           : #000;
    pointer-events  : none;
    text-decoration : none;
    }
.calendar #calendar .fc-event {
    cursor    : pointer;
    font-size : 13px;
    }
.calendar #calendar .fc-agendaDay-view .fc-event {
    cursor : auto;
    }
.calendar #calendar .fc-agendaDay-view .fc-time-grid-event .fc-time {
    float         : left;
    margin-top    : 2px;
    padding-right : 10px;
    }
.calendar #calendar .fc-agendaDay-view .fc-more-cell div a {
    pointer-events : none;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-agendaDay-view .fc-more-cell div a {
        pointer-events : inherit;
        }
    }
@media (max-width : 767px) {
    .calendar #calendar .fc-month-view .fc-week td.fc-event-container a {
        background-color : transparent !important;
        border-color     : #f89306 transparent transparent transparent !important;
        border-radius    : 0;
        border-style     : solid;
        border-width     : 20px 20px 0 0;
        margin-left      : 1px;
        margin-top       : 2px;
        padding          : 0;
        pointer-events   : none;
        position         : absolute;
        top              : 0;
        }
    }
.calendar #calendar .fc-month-view .fc-week td.fc-event-container .fc-content {
    cursor  : pointer;
    display : none;
    }
@media (min-width : 768px) {
    .calendar #calendar .fc-month-view .fc-week td.fc-event-container .fc-content {
        display : block;
        }
    }
.fc-state-default {
    background  : #333 !important;
    color       : white !important;
    padding     : 0 10px !important;
    text-shadow : 0 0 0 !important;
    }
.fc-state-active, .fc-state-down {
    background-color : indianred !important;
    box-shadow       : inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05);
    text-shadow      : 0 0 0 !important;
    }
.fc-row:first-child table thead th {
    background : #222;
    color      : white;
    padding    : 6px 4px;
    }
.fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading td, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
    border-color : #aaa !important;
    padding:0;
    }
