.hidden {
    opacity: 0;
    position: absolute
}.visible {
    opacity: 1
}

input.calendar, select.calendar {
    width: 99px
}

button.calendar {
    background: url(http://media.philadelphiaweekly.com/designimages/icon_calendar_PW.gif);

border:
    0;

cursor:pointer;

float:left;

height:
    16px;

margin:
    5px 6px 0 0;

width:
    16px
}

div.calendar {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_PW.gif);

height:
    185px;

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: #333;
    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(http://media.philadelphiaweekly.com/designimages/calendar_prev_PW.gif);

left:
    0
}

div.calendar caption a.next {
    background-image: url(http://media.philadelphiaweekly.com/designimages/calendar_next_PW.gif);

right:
    0
}

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: #FFF;
    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: #000;
    font: normal 12px Arial, Helvetica, sans-serif;
    height: 21px;
    text-align: center;
    width: 21px
}

div.calendar td {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_td_PW.gif);

color:
    #e8e8e8;

font-size:
    11px
}

div.calendar td.invalid {
    color: #999
}

div.calendar td.valid {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_valid_PW.gif);

color:
    #fff;

cursor:pointer
}

div.calendar td.hilite {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_hilite_PW.gif)
}

div.calendar td.inactive {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_td_PW.gif) 0 100%;

color:
    #FFF
}

div.calendar td.active, div.calendar td.hover {
    background: url(http://media.philadelphiaweekly.com/designimages/calendar_valid_PW.gif) 0 100%;

color:
    #FFF;

cursor:pointer
}

