table.calendar {
    border: 4px solid black;
    width: 100%;
}

table.calendar {
    max-width: 980px;
    margin-bottom: 1rem;
}

table.calendar-small {
    max-width: 100px!important;
}

table.calendar th {
    font-size: 1.05rem;
    padding: 0.1rem;
    white-space: nowrap;
}

table.calendar td {
    border: 2px solid black;
    padding: 0.15rem 0.1rem 0.4rem 0.2rem;
    margin: 0;
    vertical-align: top;
}

table.calendar-small td {
    padding: 0.05rem 0.03rem 0.1rem 0.1rem !important;
}

table.calendar td.day {
    min-width:164px;
}

table.calendar-small td.day {
    min-width:64px!important;
}

table.calendar-small th.monthName {
    text-align: center;
    background-color: lightgray;
    border-bottom: 1px solid gray;
}

table.calendar span.currentMonth {
    font-size: 1.2rem;
    color: black;
}

table.calendar span.differentMonth {
    font-size: 1.0rem;
    color: lightgray;
}

table.calendar-small span.currentMonth {
    font-size: 1.0rem;
    color: black;
}

table.calendar-small span.differentMonth {
    font-size: 0.8rem;
    color: lightgray;
}

table.calendar a {
    text-decoration: none;
    color: inherit;
}

table.calendar-day {
    width: 100%;
    min-height: 5rem;
}

table.calendar-day-small {
    width: 100%;
    min-height: 2rem;
}

table.calendar-day td, table.calendar-day-small td {
    border: none;
}

table.calendar-site {
    width: 100%;
    margin: 0 !important;
}

table.calendar-site td {
    border-bottom: 1px solid #ccc;
}

table.calendar-site td.comment {
    color: red;
    font-weight: bold;
    border: none;
    text-align: center;
    padding: 0.25rem 0 0 0;
}

table.calendar-key {
    max-width: 15.625rem;
    margin-left: 3.125rem;
    border: 2px solid black;
}

table.calendar-key td {
    text-align: center;
    min-width: 10rem;
    padding: 0.3rem;
    border-right: 1px solid grey
}

table.calendar-key th {
    padding: 0.3rem;
    border-right: 1px solid grey
}

.today {
    background-color: #ffd70033;
    box-shadow: inset 0 0 1em #ffd700;
}

.holiday {
    background-color: #ccffcc !important;
}

.hymeloff, .ehoff {
    background-color: #33ddff33;
}

.echenduoff, .ceoff {
    background-color: #ff573333;
}

.vacay {
    border: 1px darkred solid;
    background: #ff000022;
    padding: 1px;
}
