/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/
.clearfix::after,
.calendar ol::after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* ================
Calendar Styling */
.calendar {
    display: block;
    box-sizing: border-box;
    min-height: 500px;
    min-width: 320px;
    position: relative;
}

.calendar a {
    cursor: pointer;
}

.calendar.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
       supported by Chrome, Edge, Opera and Firefox */
}

.owl-theme .owl-nav [class*='owl-'] {
    color: #fff;

}

.prev-month, .next-month {
    background: 0 0;
    color: inherit;
    border: none;
    margin: 0 5px 1px;
    font-size: 3rem;
    padding: 0;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
    outline: none;
}

.prev-month:hover, .next-month:hover {
    text-decoration: none;
}

.initials {
    font-size: 2rem;
    margin-left: 1rem;
}

/*.month-year-btn {
    color: #292929;
}*/

.month-year {
    text-transform: capitalize;
    width: 25rem;
}

.month, .year {
    font-size: 3rem;
}


@media (max-width: 550px) {
    .initials {
        position: relative;
        display: inline-block;
        overflow: hidden;
        white-space: nowrap;
        letter-spacing: 1ch;
        width: 1.9ch;
    }
}

.calendar ol li {
    float: left;
    width: 14.28571%;
}

.calendar .day-names {
    border-bottom: 1px solid;
}

.calendar .days {
    border-bottom: 1px solid;
}

.line-color-white .calendar .days,
.line-color-white .calendar .day-names {
    border-bottom-color: #fff;
}

.line-color-lightgrey .calendar .days,
.line-color-lightgrey .calendar .day-names {
    border-bottom-color: #f8f8f8;
}

.line-color-grey .calendar .days,
.line-color-grey .calendar .day-names {
    border-bottom-color: #dcdcdc;
}

.line-color-darkgrey .calendar .days,
.line-color-darkgrey .calendar .day-names {
    border-bottom-color: #c4c4c4;
}

.line-color-silver .calendar .days,
.line-color-silver .calendar .day-names {
    border-bottom-color: #c0c0c0;
}

.line-color-lightblue .calendar .days,
.line-color-lightblue .calendar .day-names {
    border-bottom-color: #5ba4f0;
}

.line-color-darkblue .calendar .days,
.line-color-darkblue .calendar .day-names {
    border-bottom-color: #00245e;
}

.line-color-lightred .calendar .days,
.line-color-lightred .calendar .day-names {
    border-bottom-color: #f75455;
}

.line-color-darkred .calendar .days,
.line-color-darkred .calendar .day-names {
    border-bottom-color: #860004;
}

.line-color-gold .calendar .days,
.line-color-gold .calendar .day-names {
    border-bottom-color: #efda29;
}

.line-color-darkgold .calendar .days,
.line-color-darkgold .calendar .day-names {
    border-bottom-color: #8c7900;
}

.calendar .days li {
    min-height: 6rem;
    cursor: pointer;
}

.calendar .days li .date {
    margin-left: 1rem;
    margin-bottom: 0.5rem;
}

.calendar .days li .event {
    font-size: 1.25rem;
    padding: 0.4rem 0.6rem 0.4rem 0.8rem;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 1px 1px 0;
}

.calendar .days li .event.span-2 {
    width: 200%;
}

.calendar .days li .event.begin {
    border-radius: 1rem 0 0 1rem;
}

.calendar .days li .event.end {
    border-radius: 0 1rem 1rem 0;
}

.calendar .days li .event.clear {
    background: none;
}

.calendar .days li:nth-child(n+29) {
    border-bottom: none;
}

.calendar .days li.today .date {
    font-weight: 800;
}

.modal-title {
    color: #fff;
    font-size: 2rem;
}

.modal-header .close {
    color: #fff;
    font-size: 2rem;
    padding: 1.5rem 2rem;
    outline: none;
}

.modal-body p {
    font-size: 1.8rem;
}

.bg-calendar-lightred {
    background: rgba(247, 84, 85, 0.05);
}

.bg-calendar-red {
    background: rgba(190, 23, 44, 0.05);
}

.bg-calendar-darkred {
    background: rgba(134, 0, 4, 0.05);
}

.bg-calendar-lightgold {
    background: rgba(255, 255, 88, 0.05);
}

.bg-calendar-gold {
    background: rgba(185, 169, 0, 0.05);
}

.bg-calendar-darkgold {
    background: rgba(255, 255, 88, 0.05);
}

.bg-calendar-lightblue {
    background: rgba(91, 164, 240, 0.05);
}

.bg-calendar-blue {
    background: rgba(0, 75, 140, 0.05);
}

.bg-calendar-darkblue {
    background: rgba(0, 75, 140, 0.05);
}

.bg-calendar-lightgrey {
    background: rgba(248, 248, 248, 1);
}

.bg-calendar-grey {
    background: rgba(229, 229, 229, 1);
}

.bg-calendar-darkgrey {
    background: rgba(196, 196, 196, 1);
}

.bg-calendar-silver {
    background: rgba(192, 192, 192, 1);
}

/* OUTSIDECOLORS */

.outside-color-grey .calendar .days li.outside .date {
    color: #58585a;
}

.outside-color-black .calendar .days li.outside .date {
    color: #000;
}

.outside-color-white .calendar .days li.outside .date {
    color: #fff;
}

.outside-color-lightgrey .calendar .days li.outside .date {
    color: #f8f8f8;
}

.outside-color-gainsboro-grey .calendar .days li.outside .date {
    color: #dcdcdc;
}

.outside-color-darkgrey .calendar .days li.outside .date {
    color: #c4c4c4;
}

.outside-color-silver .calendar .days li.outside .date {
    color: #c0c0c0;
}

.outside-color-lightblue .calendar .days li.outside .date {
    color: #5ba4f0;
}

.outside-color-lightred .calendar .days li.outside .date {
    color: #f75455;
}

.outside-color-lightgold .calendar .days li.outside .date {
    color: #ffff63;
}

.outside-color-darkgold .calendar .days li.outside .date {
    color: #8c7900;
}

.theme-blue1 .month-year-btn {
    background: #00245e;
    color: #fff;
}

.theme-blue1 .calendar {
    background: rgba(0, 75, 140, 0.05);
    color: #00245e;
}
.theme-blue1 .calendar .days li.outside .date,
.theme-blue1 .prev-month:hover,
.theme-blue1 .next-month:hover  {
    color: #8c7900;
}

.theme-blue1 .calendar .days,
.theme-blue1 .calendar .day-names {
    border-bottom-color: #8c7900;
}

.theme-blue2 .month-year-btn {
    background: #004b8c;
    color: #fff;
}

.theme-blue2 .calendar {
    background: rgba(91, 164, 240, 0.05);
    color: #004b8c;
}
.theme-blue2 .calendar .days li.outside .date,
.theme-blue2 .prev-month:hover,
.theme-blue2 .next-month:hover  {
    color: #949494;
}

.theme-blue2 .calendar .days,
.theme-blue2 .calendar .day-names {
    border-bottom-color: #c4c4c4;
}

.theme-red .month-year-btn {
    background: #860004;
    color: #fff;
}

.theme-red .calendar {
    background: rgba(190, 23, 44, 0.05);
    color: #860004;
}

.theme-red .calendar .days li.outside .date,
.theme-red .prev-month:hover,
.theme-red .next-month:hover {
    color: #858587;
}

.theme-red .calendar .days,
.theme-red .calendar .day-names {
    border-bottom-color: #dcdcdc;
}

.theme-gold .month-year-btn {
    background: #8c7900;
    color: #fff;
}

.theme-gold .calendar {
    background: rgba(248, 248, 248, 1);
    color: #8c7900;
}

.theme-gold .calendar .days li.outside .date,
.theme-gold .prev-month:hover,
.theme-gold .next-month:hover {
    color: #858587;
}

.theme-gold .calendar .days,
.theme-gold .calendar .day-names {
    border-bottom-color: #dcdcdc;
}

.theme-grey .month-year-btn {
    background: #858587;
    color: #000;
}

.theme-grey .calendar {
    background: rgba(229, 229, 229, 1);
    color: #000;
}

.theme-grey .calendar .days li.outside .date,
.theme-grey .prev-month:hover,
.theme-grey .next-month:hover {
    color: #858587;
}

.theme-grey .calendar .days,
.theme-grey .calendar .day-names {
    border-bottom-color: #858587;
}

.theme-white .month-year-btn {
    background: #fff;
    color: #000;
}

.theme-white .calendar {
    background: #fff;
    color: #000;
}

.theme-white .calendar .days li.outside .date,
.theme-white .prev-month:hover,
.theme-white .next-month:hover {
    color: #858587;
}

.theme-white .calendar .days,
.theme-white .calendar .day-names {
    border-bottom-color: #858587;
}

.theme-black .month-year-btn {
    background: #000;
    color: #fff;
}

.theme-black .calendar {
    background: #000;
    color: #fff;
}

.theme-black .calendar .days li.outside .date,
.theme-black .prev-month:hover,
.theme-black .next-month:hover {
    color: #8c7900;
}

.theme-black .calendar .days,
.theme-black .calendar .day-names {
    border-bottom-color: #8c7900;
}