/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/
.clearfix::after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* ================
Calendar Styling */
.calendar {

}

.month {
    font-size: 2rem;
}

.calendar ol li {
    float: right;
    /*width: 14.28571%;*/
    width: calc(14.28571% - 9px);
    /*background-color:var(--primary-bg);//#fff;// var(--navbar-bg-light);*/
}

.calendar ol li.free_day {
    background-color: transparent;
}

.calendar ol li.active-day {
    background-color: var(--secondary);
}

/*.calendar ol li.active-day:hover, .calendar ol li.active-day:active {*/
/*    background-color: var(--navbar-bg-light-active) !important;*/
/*}*/

.calendar ol li .add-event {
    float: left;
    margin: 0;
    display: block;
    cursor: pointer;
    padding: 0;
}

.add-event svg {
    height: 1rem;
    width: 1rem;
    margin-top: 0.5rem;
    fill: var(--text-color);
}

.calendar .day-names {
    border-bottom: 1px solid #eee;
}

.calendar ol {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.calendar .day-names li {
    text-transform: uppercase;
    padding: 0rem;
    margin: 0 .25rem;
    text-align: center;
}

.calendar .days li {
    min-height: 6.5rem;
    max-height: 6.5rem;
    overflow: auto;
    transition: all 1s ease-out;
    margin: 0.25rem;
    background: #fff;
    box-shadow: 0 1px 5px 0px #999;
    border-radius: 0.5rem;
}

.calendar .days li.free_day {
    border: 0;
    box-shadow: unset;
}

.calendar .days .day-mon {
    /*animation: day-mon-fadeIn 500ms ease-in;*/
}

@keyframes day-mon-fadeIn {
    0% {
        /*position: absolute;*/
        transform: translateX(200px);
        opacity: 0;
    }
    70% {
        /*position: absolute;*/
    }
    100% {
        /*position: absolute;*/
        transform: translateX(0);
        opacity: 1;
    }
}

.calendar .days .day-mon:hover, .calendar .days .day-mon:active {
    background-color: var(--secondary-light);
}

.calendar .days li .events {
    overflow: auto;
    height: calc(100% - 32px);
}

.calendar .days li .date {
    padding: 0.25rem;
    cursor: default;
    font-size: .8rem;
}

.calendar .days li .date span {
    display: none;
}

.calendar .days li .event span {
    /*width: calc(100% - 17px);*/
    white-space: pre-line;
    /*width: auto !important;*/
}

.calendar .days li .event {
    font-size: 0.8rem;
    transition: all 350ms ease-out;
    margin: 0.12rem 0.25rem;
    width: auto;
    padding: 0.25rem 0.5rem 0.25rem 0;
    border-radius: 0.25rem;
    background-color: #fff;
    position: relative;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    box-shadow: 1px 1px 2px 0px #999, 0 0 2px 0px #bbb;
}

.calendar .days li .event.btn-success {
    background-color: #bfefb0;
}

.calendar .days li .event svg {
    height: 1rem;
    width: 1rem;
    fill: var(--primary-dark);
    margin-top: 3px;
    transform: scale(1.2);
}

.calendar .days li .event:after {
    content: ' ';
    background-color: #000;
    width: 4px;
    height: 80%;
    position: absolute;
    top: 10%;
    right: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;

}

.calendar .days li .event.success:after {
    background-color: var(--success-dark);
}

.calendar .days li .event.info:after {
    background-color: var(--info-dark);
}

.calendar .days li .event.danger:after {
    background-color: var(--danger-dark);
}

.calendar .days li .event.success:hover {
    background-color: var(--success-dark);
}

.calendar .days li .event.info:hover {
    background-color: var(--info-dark);
}

.calendar .days li .event.danger:hover {
    background-color: var(--danger-dark);
}

.calendar .days li .event svg {
    fill: var(--secondary) !important;
}


.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 .event.bg-success {
    /*background-color:#f1f8e9 !important;*/
    /*border: #98c9e1 2px solid ;*/
}

.calendar .event.bg-success.click {
    /*box-shadow: 0 0 1px 0 #3b3b3b;*/
    /*background-color: #e6ee9c  !important;*/
}

.calendar .event.bg-info {
    background-color: #e0f7fa !important;
    /*border: #98c9e1 2px solid ;*/
}

.calendar .event.bg-info.click {
    /*box-shadow: 0 0 1px 0 #3b3b3b;*/
    background-color: #b2ebf2 !important;
}

.calendar .event.bg-danger {
    background-color: #ffebee !important;
    /*border: #e19898 2px solid ;*/
}

.calendar .event.bg-danger.click {
    /*box-shadow: 0 0 1px 0 #3b3b3b;*/
    background-color: #ef9a9a !important;
}

.calendar .days li.outside .date {
    color: #ddd;
}

@media (min-width: 992px) {
    .month {
        font-size: 3.5rem;
    }
}

@media (max-width: 768px) {
    .month {
        font-size: 3.5rem;
    }

    .calendar .day-mon {
        float: none;
        width: auto;
    }

    .calendar .old-day {
        display: none;
    }

    /** ظاخر شدن روز از هفته تاریخ*/
    .calendar .days li .date span {
        display: inline-block;
        padding-left: 4px;
    }

    .calendar .days li {
        width: 100%;
        margin-bottom: 1rem;
    }

    .calendar .free_day, .calendar .day-names {
        display: none
    }

    .add-event svg {
        margin-left: .75rem;
    }
}

.calendar_action {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    align-items: center;
    padding: 1rem 0 .5rem 0;
}

.calendar_action li {
    width: auto !important;
    margin-left: .5rem;
}

.calendar_action select {
    width: 150px;
}