.calendar {
    font-size: .9rem
}

.calendar .calendar-tools {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px
}

.calendar .calendar-tools .calendar-heading {
    font-size: 1.4rem;
    font-weight: 700
}

@media(max-width: 992px) {
    .calendar .calendar-tools {
        -webkit-box-orient:vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .calendar .calendar-tools .calendar-heading {
        text-align: center;
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .calendar .calendar-tools>.btn-group {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
}

.calendar .calendar-tools .select-wrapper {
    width: 100px;
    margin-right: 20px
}

.calendar table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 4px;
    width: 100%;
    border: 1px solid #ddd
}

.calendar table th {
    text-align: center;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    font-weight: 500
}

.calendar table th .day-field {
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 8px auto;
    border-radius: 50%;
    font-size: 1.3rem
}

.calendar table th.today .day-field {
    color: #fff;
    background-color: #1266f1
}

.calendar table .long-event-row {
    height: 100px
}

.calendar table td {
    position: relative;
    vertical-align: top;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd
}

.calendar table td.active,.calendar table td:active,.calendar table td:hover {
    background-color: #fafafa
}

.calendar table td.dragenter {
    border: 2px dashed #000
}

.calendar table td.disabled {
    color: #9a9a9a
}

.calendar table td .day-field-wrapper {
    position: absolute;
    left: 0;
    top: 5px;
    width: 100%;
    pointer-events: none
}

.calendar table td .day-field-wrapper,.calendar table td .day-field-wrapper .day-field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.calendar table td .day-field-wrapper .day-field {
    width: 20px;
    height: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    font-size: .7rem
}

.calendar table td .day-field-wrapper .day-field::-moz-selection {
    background-color: transparent
}

.calendar table td .day-field-wrapper .day-field::selection {
    background-color: transparent
}

.calendar table td.today .day-field-wrapper .day-field {
    color: #fff;
    background-color: #1266f1
}

.calendar table tr:last-child>td,.calendar table tr:last-child>th.hour-field {
    border-bottom: none
}

.calendar table tr td:last-child,.calendar table tr th:last-child {
    border-right: none
}

.calendar table.month td {
    padding-top: 30px;
    height: 100px
}

.calendar table.week .weekday-field {
    padding-top: 5px
}

.calendar table.week .day-field {
    margin: 0 auto 5px
}

.calendar table.list th {
    text-align: left;
    padding: 5px 10px;
    background-color: #eee
}

.calendar table.list td {
    padding: 5px 10px;
    cursor: pointer
}

.calendar table.list td.td-readonly {
    cursor: default
}

.calendar table.list td.td-blur {
    opacity: .5
}

.calendar table .events-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 3px);
    margin-left: -1px
}

.calendar table .event {
    padding: 1px 5px;
    background-color: #cfe0fc;
    color: #0a47a9;
    font-size: .7rem;
    font-weight: 700;
    width: 100%;
    margin-bottom: 2px;
    margin-left: 4px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    cursor: pointer;
    -webkit-transition: opacity .2s;
    transition: opacity .2s
}

.calendar table .event.event-readonly {
    cursor: default
}

.calendar table .event.event-blur {
    opacity: .5
}

.calendar table .event.event-long {
    margin-left: 0;
    border-radius: 0
}

.calendar table .event.event-end {
    margin-right: 5px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.calendar table .event::-moz-selection {
    background-color: transparent
}

.calendar table .event::selection {
    background-color: transparent
}

.calendar table .event.event-short {
    background-color: transparent;
    color: #000
}

.calendar table .event.active {
    opacity: .6
}

.calendar table .event.dragging {
    opacity: .1
}

.calendar table .event .event-circle {
    pointer-events: none
}

.calendar table .fake-event {
    padding: 1px 5px;
    font-size: .7rem;
    width: 100%;
    margin-bottom: 2px;
    visibility: hidden
}

.calendar table .hour-field {
    font-weight: 400
}

.calendar table .hour-field::-moz-selection {
    background-color: transparent
}

.calendar table .hour-field::selection {
    background-color: transparent
}

.color-dropdown-menu {
    min-width: auto;
    width: 92px
}

.color-dropdown-menu.animation,.color-dropdown-menu.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.color-dropdown-menu>li i {
    pointer-events: none
}

.color-dropdown-menu>li:first-child,.color-dropdown-menu>li:first-child .dropdown-item {
    border-radius: 0;
    border-top-left-radius: .5rem
}

.color-dropdown-menu>li:nth-child(2) .dropdown-item {
    border-radius: 0;
    border-top-right-radius: .5rem!important
}

.color-dropdown-menu>li:last-child .dropdown-item {
    border-radius: 0;
    border-bottom-left-radius: .5rem!important
}

.was-validated .form-outline .form-control.calendar-invalid-input,.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-leading,.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-middle,.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-trailing {
    border-color: #00b74a
}

.was-validated .form-outline .form-control.calendar-invalid-input~.form-label {
    color: #00b74a
}

.was-validated .form-outline .form-control.calendar-invalid-input {
    margin-bottom: 0;
    border-color: #f93154
}

.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-leading,.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-middle,.was-validated .form-outline .form-control.calendar-invalid-input~.form-notch .form-notch-trailing {
    border-color: #f93154
}

.was-validated .form-outline .form-control.calendar-invalid-input~.form-label {
    color: #f93154
}

.fc-toolbar-chunk {
    margin-top: 10px;
    display: flex;
}

button.fc-today-button.fc-button.fc-button-primary {
    margin-left: 30px;
}

.fc-toolbar, .fc-toolbar.fc-header-toolbar {
    margin: 0!important;
}
