.calendar {
    width: 100%;
    border-spacing: 0px;
    border-collapse: separate;
    border: 1px solid #d3d3d3;
    user-select: none;
}

.calendar thead th, .calendar tbody td {
    padding: 15px 0px 15px 0;
    vertical-align: middle;
    text-align: center;
    font-size: .9rem;
}

.calendar .day, .calendar td.day-active, .calendar .weekday, .calendar .workday, .calendar thead th, .calendar td.day-active-v, .day-current {
    border-bottom: 1px solid #d3d3d3;
}

.calendar tbody td {
    font-size: 1rem;
    color: #777;
    position: relative;
}

.weekday {
    color: #F44336 !important;
}

.day-active, .day-active-v {
    color: #308634;
    text-decoration: none;
    font-weight: bold;
    background: #E8F5E9;
    width: 32px;
    height: 32px;
    display: flex;
    /* position: absolute; */
    justify-content: center;
    line-height: 1;
    align-items: center;
    top: 50%;
    right: 50%;
    /* transform: translate(50%, -50%); */
    border-radius: 6px;
    cursor: pointer !important;
    transition: all .2s ease-in-out;
    border: 0;
    outline: none;
    user-select: none;
}
.day-active:hover{
    background: #389c3c;
    color: white;
}

th.workday, th.weekday {
    background-color: #E0F2F1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 20px;
}

.calendar caption {
    font-weight: normal;
    background: #009688;
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-size: 1.2rem;
    padding: 15px 0;
    text-align: center;
    caption-side: top;
    border: 0;
}

.calendar caption a, .calendar caption strong {
    font-size: 16pt;
}

.calendar caption strong {
    font-weight: normal;
}

.calendar .monthlink {border: 0;background: none;color: wheat;font-weight: 500;font-size: .95rem;}
.caption_calendar{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}