#umcs-calendar * {
    box-sizing: border-box;
}

#umcs-calendar ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#umcs-calendar {
    font-family: "PT Sans", sans-serif;
    display: flex;
    justify-content: space-between;
    background: #DE7D6A;
    border-radius: 10px;
    padding: 28px 30px;
}
@media screen and (max-width: 767px) {
    #umcs-calendar {
        flex-direction: column;
    }
}

#umcs-calendar .month {
    color: white;
}

#umcs-calendar .month ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

#umcs-calendar .month ul li {
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 3px;
}

#umcs-calendar #weekdays li {
    color: #fff;
    text-align: center;
    font-weight: 700;
}

#umcs-calendar #days li {
    text-align: center;
    font-size: 16px;
    color: #fff;
    padding: 5px;
    margin: 0 10px;
    cursor: pointer;
    position: relative;
    width: 35px;
}

#umcs-calendar #days li.empty {
    border: none;
    cursor: default;
}

#umcs-calendar #days li.active {
    background: #1abc9c;
    color: white;
}

#umcs-calendar #navigation {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    gap: 20px;
}

#umcs-calendar .text {
    color: #FFF;
    font-family: "PT Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22.4px; /* 160% */
}

#umcs-calendar .over {
    color: #FFF;
    font-family: "PT Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;
}

#umcs-calendar #month,
#umcs-calendar #year {
    color: #FFF;
    font-family: "PT Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: 39px; /* 130% */
    display: inline-block;
}

#umcs-calendar #next,
#umcs-calendar #prev {
    cursor: pointer;
    font-size: 25px;
}

#umcs-calendar #days,
#umcs-calendar #weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

@media all and (-ms-high-contrast: none) {
    #umcs-calendar #days {
        display: -ms-grid;
        -ms-grid-columns: repeat(7, 1fr);
    }
}

/* Highlight marked dates */
#umcs-calendar #days li.marked {
    background: white;
    color: #DE7D6A;
    font-weight: bold;
    border-radius: 50%;
}

/* Tooltip for marked dates */
#umcs-calendar #days li.marked[title]:hover {
    border-radius: 50% 0 0 50%;
}
#umcs-calendar #days li.marked[title]::after {
    content: attr(title);
    position: absolute;
    background: white;
    color: black;
    border-radius: 0 25px 25px 0;
    white-space: nowrap;
    font-size: 16px;
    padding: 5px 15px 5px 0;
    margin: 3px;
    top: -3px;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease, left 0.3s ease;
    left: 0;
}
#umcs-calendar #days li.marked[title]:hover::after {
    opacity: 1;
    left: calc(100% - 3px);
}
#umcs-calendar #days li.tooltip-left.marked[title]:hover {
    border-radius:  0 50% 50% 0;
}
#umcs-calendar #days li.tooltip-left.marked[title]::after {
    transition: opacity 0.3s ease, right 0.3s ease;
    left: auto;
    right: 0;
    pointer-events: none;
    padding: 5px 0 5px 15px;
}
#umcs-calendar #days li.tooltip-left.marked[title]:hover::after {
    right: calc(100% - 3px);
    border-radius: 25px 0 0 25px;
    pointer-events: auto;
}

/* Previous and next month days should appear lighter */
#umcs-calendar #days li.prev-month,
#umcs-calendar #days li.next-month {
    opacity: 0.25;
    cursor: default;
}

/* Prevent interaction with previous and next month days */
#umcs-calendar #days li.prev-month:hover,
#umcs-calendar #days li.next-month:hover {
    cursor: default;
}
