.hidden {
    opacity  : 0;
    position : absolute
}

.visible {
    opacity : 1
}

input.calendar, select.calendar {
    width : 99px
}

button.calendar {
    background : url(../gif/calendar-icon.gif) no-repeat left top;
    border     : 0;
    cursor     : pointer;
    height     : 18px;
    width      : 18px
}

button.calendar:hover, button.calendar.active {
    background-position : left bottom
}

div.calendar {
    background : url(../png/calendar.png);
    height     : 195px;
    padding    : 0 6px;
    text-align : center;
    width      : 147px
}

div.calendar * {
    margin  : 0;
    padding : 0
}

div.calendar div {
    background  : none !important;
    cursor      : move;
    height      : 185px;
    overflow    : hidden;
    padding-top : 10px;
    position    : relative;
    width       : 147px
}

div.calendar caption {
    color       : #333333;
    font        : normal 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(../gif/calendar-prev.gif);
    left             : 0
}

div.calendar caption a.next {
    background-image : url(../gif/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      : #ffffff;
    border          : 0;
    border-collapse : collapse;
    border-spacing  : 0;
    cursor          : default;
    margin          : 0 auto;
    overflow        : hidden;
    width           : 147px
}

div.calendar td, div.calendar th {
    border     : 0;
    color      : #62a4c3;
    font       : normal 12px Arial, Helvetica, sans-serif;
    height     : 21px;
    text-align : center;
    width      : 21px
}

div.calendar td {
    background : url(../gif/calendar-td.gif);
    color      : #ffffff;
    font-size  : 11px
}

div.calendar td.invalid {
    color : #999999
}

div.calendar td.valid {
    background : url(../gif/calendar-valid.gif);
    color      : #62a4c3;
    cursor     : pointer
}

div.calendar td.hilite {
    background : url(../gif/calendar-hilite.gif)
}

div.calendar td.inactive {
    background : url(../gif/calendar-td.gif) 0 100%;
    color      : #ffffff
}

div.calendar td.active, div.calendar td.hover {
    background : url(../gif/calendar-valid.gif) 0 100%;
    color      : #ffffff;
    cursor     : pointer
}
