#rumiCalendar {
    width:100%;
}
#rumiCalendar .calHeaderInfo {
    display: flex;
    justify-content: space-between;
    margin-bottom:16px;
}
#rumiCalendar .calHeaderInfo .dayTitle {
    font-weight:700;
    color:#1e1e1e;
    font-size:1.22rem;
    letter-spacing:-0.66px;
}
#rumiCalendar .calHeaderInfo .dayTitle span {
    font-size:1.77rem;
    letter-spacing:-0.96px;
}
#rumiCalendar .calHeaderInfo a.calMoveBtn {
    transition:0.4s ease-in-out;
    width:35px;
    height:35px;
    background-color:#7B4992;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}
#rumiCalendar .calTable {
    width: 100%;
    border-top:3px solid #7B4992;
    border-collapse:collapse;
    border-right:1px solid #ddd;
    border-left:1px solid #ddd;
 }
#rumiCalendar .calTable th {
    border-color:#ddd;
    height:50px;
    text-align: center;
    font-weight:600;
    border:0;
    border-bottom:1px solid #ddd;
    font-size:0.88rem;
    position: relative;
 }
#rumiCalendar .calTable th:after {
    content:'';
    width:1px;
    height:20px;
    background-color:#999;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
}
#rumiCalendar .calTable th:last-child:after {
    display:none;
}
#rumiCalendar .calTable td {
    border-color:#ddd;
    border:0;
    border-left:1px solid #ddd;
    border-bottom:1px solid #ddd;
    font-size:1rem;
    font-size: 17px;
    padding: 8px;
}
#rumiCalendar .calTable td font {
    font-size: 0.76rem;
}
#rumiCalendar .calTable td .day_font {
    width: 25px;
    height: 25px;
    display: inline-block;
    text-align: center;
    line-height: 25px;
    font-weight:400;
    font-size:0.77rem;
}
#rumiCalendar .calTable .day_info {
    position: relative;
    width: 100%;
    overflow: hidden;
}
#rumiCalendar .calTable .day_info .calMoonDay {
    position: absolute;
    top: 1px;
    left: 25px;
    white-space: nowrap;
}
#rumiCalendar .calTable .day_info > .calMoonDay > .lunDay {
    font-size: 14px;
    color:#aaa;
    padding-right: 4px;
}
#rumiCalendar .calTable .day_info > .calMoonDay > .lunTxt {
    font-size: 14px;
    color:red;
}
#rumiCalendar .calTable .app_visit,
#rumiCalendar .calTable .app_closed {
    width:100%;
    margin:8px auto 0 auto;
}

#rumiCalendar .calTable .app_visit a {
    display: block;
    width: 100%;
    font-size:0.77rem;
    font-weight:500;
    text-align:center;
    color:#fff;
    background-color:#7B4992;
    padding:5px 0;
}

#rumiCalendar .calTable .app_closed span {
    display: block;
    width: 100%;
    font-size:0.77rem;
    font-weight:500;
    text-align:center;
    color:#fff;
    background-color:#777;
    padding:5px 0;
}
#rumiCalendar .calTable .app_visit:hover a {
    font-weight:700
}
#rumiCalendar .calTable .today .day_font {
    background-color:#3A5188;
    color:#fff;
    border-radius:50%;
}
#rumiCalendar .ps-list {
    padding: 10px 0px 0px 0px;
    font-size: 14px;
}
#rumiCalendar .ps-list > a {
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    padding: 0;
    height: 22px;
    white-space: nowrap;
    overflow: hidden;
}
#rumiCalendar .ps-list > a > .ps-time {
    position: absolute;
    top: 0;
    left: 0px;
    color: #888;
}
#rumiCalendar .ps-list > a > .ps-name {
    position: absolute;
    top: 0;
    left: 40px;
}

@media (max-width:640px) {
    #rumiCalendar .ps-list {
        font-size:12px;
    }
    #rumiCalendar .ps-list > a {
        display: flex;
        flex-direction: column;
        height:auto;
    }
    #rumiCalendar .ps-list > a > .ps-time,
    #rumiCalendar .ps-list > a > .ps-name {
        position:unset;
    }
}