.custom-form-error {
    border: 1px solid red !important
}

.zee-calendar {
    background-color: #fff;
    
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
    box-shadow: rgb(0 0 0 / 8%) 0 0 2px 0, rgb(0 0 0 / 16%) 0 8px 32px 0;
    width: 600px;
    z-index: 999999
}

.calender-header {
    text-align: center;
    padding: 3px;
    display: flex;
    position: absolute;
    width: 100%
}

.calender-header>.header-box {
    font-weight: 500 !important;
    font-size: 16px
}

.calender-header>.header-box:hover {
    opacity: .7
}

.calender-header>.navigation {
    flex: 1
}

.calender-header>.navigation>.zee-next,
.calender-header>.navigation>.zee-prev {
    display: block;
    padding: 8px 2px;
    cursor: pointer
}

.calender-header>.navigation>.zee-next {
    width: 40px;
    background-color: #1568e3;
    float: right;
    color: #fff
}

.calender-header>.navigation>.zee-prev {
    width: 40px;
    background-color: #1568e3;
    float: left;
    color: #fff;
    display: none
}

.calender-header>.navigation.navigation-md-none {
    display: none
}

.calender-header>.zee-calendar-heading.zee-calendar-title {
    flex: 5
}

.month-heading-bold {
    font-weight: 700 !important;
    color: #000 !important;
    font-size: 16px;
    text-align: center
}

.calender-header>.clear-float {
    clear: both
}

.zee-calendar .weekdays-names.dates {
    display: flex;
    overflow-x: scroll;
    padding: 3px 0
}

.zee-calendar .weekdays-names.dates>table {
    flex: 1
}

.zee-calendar .zee-full-month-calendar {
    flex: 0 0 50%;
    padding: 0 16px
}

.zee-calendar .zee-full-month-calendar table {
    width: 100%;
    padding: 0 20px
}

.zee-calendar .fa {
    font-size: 12px
}

.zee-calendar .zee-full-month-calendar:last-child {
    margin-right: 0
}

.zee-calendar table tr td,
.zee-calendar table tr th {
    padding: 10px 5px;
    font-size: 14px
}

.zee-calendar table tr th {
    font-size: 14px;
    color: #4f6f8f;
    font-weight: 500;
    text-align: center
}

.zee-calendar table tr td {
    cursor: pointer;
    text-align: center;
    border: 1px solid transparent;
    font-size: 16px;
    font-weight: 700
}

.zee-calendar tr td.date-from-to:hover {
    background-color: #dbf4fb;
    border-color: transparent
}

.zee-calendar table tr td.disabled {
    cursor: default;
    color: #a7a7a7
}

.zee-calendar tr td.can-select:hover {
    background-color: #dbf4fb
}

.zee-calendar table tr td.active:hover {
    background-color: #1568e3;
    color: #fff
}

.zee-calendar table tr td.date.active {
    background-color: #1568e3;
    color: #fff
}

.zee-calendar tr td.date-from-to {
    background-color: #dbf4fb;
    border-color: transparent;
    color: #000
}

.date-from-to[data-tip],
.zee-calendar-tooltip-custom {
    position: relative
}

.date-from-to[data-tip]::after,
.date-from-to[data-tip]::before,
.zee-calendar-tooltip-custom::after,
.zee-calendar-tooltip-custom::before {
    left: 50%;
    opacity: 0;
    position: absolute;
    z-index: -100
}

.date-from-to[data-tip]:focus::after,
.date-from-to[data-tip]:focus::before,
.date-from-to[data-tip]:hover::after,
.date-from-to[data-tip]:hover::before,
.zee-calendar-tooltip-custom:focus::after,
.zee-calendar-tooltip-custom:focus::before,
.zee-calendar-tooltip-custom:hover::after,
.zee-calendar-tooltip-custom:hover::before {
    opacity: 1;
    transform: scale(1) translateY(0);
    z-index: 100
}

.zee-calendar-tooltip-custom::before {
    border-style: solid;
    border-width: 1em .75em 0 .75em;
    border-color: #222 transparent transparent transparent;
    bottom: 100%;
    content: "";
    margin-left: -.5em
}

.zee-calendar-tooltip-custom::after {
    background: #222;
    border-radius: .25em;
    bottom: 120%;
    color: #fff;
    content: attr(data-tip);
    margin-left: -3.75em;
    padding: 5px;
    width: 8em;
    font-size: 10px;
    position: absolute
}

.date-from-to[data-tip]::after {
    background: #222;
    border-radius: .25em;
    bottom: 120%;
    color: #fff;
    content: attr(data-tip);
    margin-left: -3.75em;
    padding: 5px;
    font-size: 10px;
    position: absolute;
    right: 0
}

.zee-calendar .day-night-strip.small-strip p {
    text-align: center;
    padding: 4px 0px;
    color: #1568e3;
    font-weight: bold;
    margin: 0px;
}

@media (max-width:760px) {

    .date-from-to[data-tip]::after,
    .zee-calendar-tooltip-custom::after {
        font-size: .75em;
        margin-left: -5em;
        width: 10em
    }
}

@media (max-width:575.98px) {
    .zee-calendar .weekdays-names.dates {
        display: block
    }

    .zee-calendar .navigation {
        display: none;
        flex: none
    }

    .zee-calendar table thead>tr:first-child {
        background-color: #eee
    }

    .zee-calendar .zee-full-month-calendar table {
        padding: 4px 6px
    }

    .zee-calendar {
        width: 100% !important;
        position: absolute;
        top: 0 !important;
        left: 0 !important
    }

    .calender-header>.navigation.navigation-sm-block {
        display: block;
        width: 40px;
        background-color: #1568e3;
        float: right;
        color: #fff;
        position: fixed;
        right: 15px;
        top: 2px;
        padding: 9px 0
    }
}