.hidden {
	opacity: 0;
	position: absolute;
}
.visible {
	opacity: 1;
}

input.calendar,
select.calendar {
	width: 115px;
}

button.calendar {
	background: url(/images/calendar-deals-icon.gif);
	border: 0;
	cursor: pointer;
	/*float: left;*/
	height: 18px;
	margin: 4px 0 0 2px;
	width: 20px;
	vertical-align: top;
}

button.calendar:hover,
button.calendar.active {
	/*background-position: 0 20px;*/
}

button::-moz-focus-inner { border: 0; } /* remove dotted line border when button is clicked on FF */

div.calendar {
	background: url(/images/calendar-new.gif) no-repeat;
	width: 150px;
	height: 153px;
	padding: 0 6px;
	text-align: center;
}	
	div.calendar * {
		margin: 0;
		padding: 0;
	}	
	div.calendar div {
		background: none !important;	
		cursor: move;
		width: 150px;
		height: 153px;
		overflow: hidden;
		padding-top: 10px;
		position: relative;		
	}	
	
	div.calendar caption {
		color: #fff;
		/*font: normal 12px/16px Arial, Helvetica, sans-serif;*/
		font: bold 12px Verdana;
		padding: 0 0 3px 0;
		text-align: center;
		width: 100%;
		text-transform: uppercase;
		border-bottom: 1px solid #80addb;
	}
	div.calendar caption a {
		cursor: pointer;
		display: block;
		/*height: 12px;*/
		overflow: hidden;
		position: absolute;
		/*text-indent: -100px;*/
		top: 10px;
		/*width: 11px;*/
	}
	div.calendar caption a.prev {
		/*background-image: url(../images/calendar-prev.gif);*/
		left: 0;
		color: #fff;
		font: bold 12px Verdana;
	}
	div.calendar caption a.next {
		/*background-image: url(../images/calendar-next.gif);*/
		right: 0;
		color: #fff;
		font: bold 10px Verdana;
	}
	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: 3px;
	}
	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: 150px;
	}
	div.calendar td,
	div.calendar th {
		border: 0;
		color: #fff;
		font: normal 11px Verdana, Helvetica, sans-serif;
		/*height: 16px;
		width: 16px;*/
		padding: 1px 0;
		text-align: center;		
	}
	div.calendar th { 
		font-weight: bold;
		/*height: 23px;*/
		vertical-align: top;
		padding: 3px 0 7px 0;
	}
	div.calendar td {
		/*background: url(../images/calendar-td.gif);*/
		color: #97adbc;
		font-size: 11px;
	}
	div.calendar td.invalid {
		color: #97adbc;
	}
	div.calendar td.valid {
		/*background: url(../images/calendar-valid.gif);*/
		/*color: #0597DB;*/
		color: #fff;
		cursor: pointer;
	}
	div.calendar td.hilite {
		/*background: url(../images/calendar-hilite.gif);
		background-color: #27baf4;*/
	}
	div.calendar td.inactive {
		/*background: url(../images/calendar-td.gif) 0 100%;*/
		color: #97adbc;
	}
	div.calendar td.active,
	div.calendar td.hover {
		/*background: url(../images/calendar-valid.gif) 0 100%;*/
		color: #FFF;
		cursor: pointer;
		background-color: #27baf4;
