#calendar table {
    border: 1px solid #CCCCCC;
    border-collapse: separate;
    font-size: 11px;
    margin: 10px auto;
}
#calendar td, #calendar th {
    background: url("../images/cells.png") repeat scroll 0 0 transparent;
    color: #444444;
    padding: 5px;
    position: relative;
    text-align: center;
    vertical-align: middle;
}
#calendar td {
    padding: 5px 8px;
}
#calendar td a {
    color: #333333;
}
#calendar th.month {
    background: none repeat scroll 0 0 #F7B54A;
}
#calendar th.month span {
    color: #FFFFFF;
}
#calendar th {
    font-size: 11px;
    font-weight: bold;
}
#calendar td:hover, #calendar th:hover {
    background-position: 0 -81px;
    color: #222222;
}
#calendar td.date_has_event {
    background-position: 162px 0;
    color: white;
}
#calendar td.date_has_event a {
    color: #FFFFFF;
}
#calendar td.date_has_event:hover {
    background-position: 162px -81px;
}
#calendar td.padding {
    background: url("../images/calpad.jpg") repeat scroll 0 0 transparent;
}
#calendar td.today {
    background-position: 81px 0;
    color: white;
}
#calendar td.today:hover {
    background-position: 81px -81px;
}
#calendar .events {
    position: relative;
}
#calendar .events ul {
    background: url("../images/popup.png") no-repeat scroll 0 0 #E7ECF2;
    border: 1px solid white;
    border-radius: 3px 3px 3px 3px;
    color: #444444;
    display: none;
    font-size: 15px;
    list-style: none outside none;
    padding: 15px;
    position: absolute;
    text-align: left;
    width: 200px;
    z-index: 1000;
}
#calendar .events li {
    padding-bottom: 5px;
}
#calendar .events li span {
    color: #555555;
    display: block;
    font-size: 12px;
    text-align: justify;
}
#calendar .event {
    color: #FF0000;
    font-weight: bold;
}
#calendar th a {
    color: #000000;
    font-size: 120%;
    font-weight: bold;
    outline-width: 0;
    text-decoration: none;
}
