
.hidden {
    opacity: 0;
    position: absolute;
}
.visible {
    opacity: 1;
}
input.calendar, select.calendar {
    width: 99px;
}
button.calendar {
    background: url('../images/admin/calendar/calendar-icon.gif') 0 0 no-repeat transparent;
    border: 0 none;
    bottom: 0;
    cursor: pointer;
    height: 18px;
    margin-bottom: 10px;
    position: absolute;
    width: 18px;
    padding: 0;
}
#header button.calendar{margin-bottom: 3px;}
button.calendar:hover, button.calendar.active {
    background-position: left bottom;
}
div.calendar {
    background: url('../images/admin/calendar/calendar.png') 0 0 repeat transparent;
    height: 195px;
    padding: 0 6px;
    text-align: center;
    width: 147px;
}
div.calendar * {
    margin: 0;
    padding: 0;
}
div.calendar div {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0) !important;
    cursor: move;
    height: 185px;
    overflow: hidden;
    padding-top: 10px;
    position: relative;
    width: 147px;
}
div.calendar caption {
    color: #333333;
    font: 12px/16px Arial,Helvetica,sans-serif;
    padding-top: 6px;
    text-align: center;
    width: 100%;
}
div.calendar caption a {
    cursor: pointer;
    display: block;
    height: 12px;
    overflow: hidden;
    position: absolute;
    text-indent: -100px;
    top: 17px;
    width: 11px;
}
div.calendar caption a.prev {
    background-image: url("../images/admin/calendar/calendar-prev.gif");
    left: 0;
}
div.calendar caption a.next {
    background-image: url("../images/admin/calendar/calendar-next.gif");
    right: 0;
}
div.calendar caption a:hover {
    background-position: 0 12px;
}
div.calendar caption span {
    height: 25px;
    position: relative;
    text-align: center;
}
div.calendar caption span.month {
    padding-right: 8px;
}
div.calendar caption span.month:after {
    content: ",";
}
div.calendar table {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 0 none;
    border-collapse: collapse;
    border-spacing: 0;
    cursor: default;
    margin: 0 auto;
    overflow: hidden;
    width: 147px;
}
div.calendar td, div.calendar th {
    border: 0 none;
    color: #535353;
    font: 12px Arial,Helvetica,sans-serif;
    height: 21px;
    text-align: center;
    width: 21px;
}
div.calendar td {
    background: url("../images/admin/calendar/calendar-td.gif") repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #BBBBBB;
    font-size: 11px;
}
div.calendar td.invalid {
    color: #999999;
}
div.calendar td.valid {
    background: url("../images/admin/calendar/calendar-valid.gif") repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #777777;
    cursor: pointer;
}
div.calendar td.hilite {
    background: url("../images/admin/calendar/calendar-hilite.gif") repeat scroll 0 0 rgba(0, 0, 0, 0);
}
div.calendar td.inactive {
    background: url("../images/admin/calendar/calendar-td.gif") repeat scroll 0 100% rgba(0, 0, 0, 0);
    color: #AAAAAA;
}
div.calendar td.active, div.calendar td.hover {
    background: url("../images/admin/calendar/calendar-valid.gif") repeat scroll 0 100% rgba(0, 0, 0, 0);
    color: #000000;
    cursor: pointer;
}
