.calendar {
    border: 1px solid #3F4E7E;
}

.calendar caption {
    background-color: #3F4E7E;
    color: white;
    font-family: Arial,Helvetica,sans-serif;
    font-size:10px;
    font-weight:bolder;
    text-align:center;
    padding: 3px 0px 3px 0px;
    margin: 0;
}

.calendar tbody tr td, .calendar tbody tr th, .calendar tbody tr td a {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 9px;
    text-align: center;
}

.calendar tbody tr th {
    color: #3F4E7E;
    padding: 3px 0px 3px 0px !important;
    font-size: 11px;
}

.calendar tbody tr td, .calendar tbody tr th {
    border: 1px solid #DDD;
    margin: 0; padding: 0;
    width: 20px;
}

.calendar tbody tr td a, .calendar tbody tr td span.calendar-day-without-items {
    padding: 2px 0px 2px 0px;
    width: 20px;
    text-decoration: none;
    display: block;
}

.calendar tbody tr td a {
    background-color: #CCC;
    color:black;
}

.calendar tbody tr td a:hover {
    text-decoration: underline;
    background-color: #3F4E7E;
    color: white;
}

.calendar-prev a, .calendar-next a {
    color: white;
    font-family: Arial,Helvetica,sans-serif;
    font-size:13px;
    font-weight:bolder;
    padding: 0px 3px 0px 3px;
    text-decoration: none;
}


a.calendar-day {
    position: relative; /* es la posición normal */
    text-decoration: none !important; /* forzar sin subrayado */
    z-index: 0;
    /*color:#0080C0 !important; /* forzar color del texto */
    /*font-weight:bold !important; /* forzar negritas */
}

a.calendar-day:hover {
    z-index:999; /* va a estar por encima de todo */
    background-color:#000000; /* DEBE haber un color de fondo */
}

a.calendar-day span.calendar-tooltip {
    display: none; /* el elemento va a estar oculto */
    text-align: left;
}

a.calendar-day:hover span.calendar-tooltip {
    display: block; /* se fuerza a mostrar el bloque */
    position: absolute; /* se fuerza a que se ubique en un lugar de la pantalla */
    top:2em; left:2em; /* donde va a estar */
    width: 200px; /* el ancho por defecto que va a tener */
    padding:4px 5px 4px 5px; /* la separación entre el contenido y los bordes */
    background-color: #F2F2F2; /* el color de fondo por defecto */
    border: 1px solid #AAA;
    /*color: #FFFFFF; /* el color de los textos por defecto */
    z-index: 9999;
}

a.calendar-day:hover span.calendar-tooltip span.calendar-tooltip-first-item {
    border-top: 0 !important;
}

a.calendar-day:hover span.calendar-tooltip span.calendar-tooltip-item {
    border-top: 1px solid #999;
    display: block;
    padding: 2px 5px 2px 5px;
}