/*Time Picker */
.timePickerContainer {
	width:122px;
	font-family:Tahoma, Myriad, Helvetica, Arial, Verdana, sans-serif;
	font-size:16px;
}

.timeContainer {
	border-collapse:collapse;
	border-spacing:0;
}

.timeContainer thead {
	color:#293a4b;
	font-size:0.9em;
	font-weight:700;
}

.timeContainer thead td {
	padding:0.25em;
	font-size:0.80em;
	border-bottom:1px solid #6782A8;
}

.timeCorner {
	width:10px;
}

.cornerTopLeft {
	background: url("images/dpCurveTL.png") top left no-repeat;
}

.cornerTopRight {
	background: url("images/dpCurveTR.png") top right no-repeat;
}

.timeLabelContainer {
	background: url("images/dpMonthBg.png") top left repeat-x;
}

.hours, .minutes, .timeBorder {
	background: #7591bc url("images/dpBg.gif") top left repeat-x;

}

.hours td, .minutes td {
	padding:0.2em;
	text-align:center;
	font-size:0.7em;
	font-weight:bold;
	cursor:pointer;
	cursor:hand;
	color:#fff;
}

.minutes {
	border-left:1px solid #f5d1db;
}

.hours {
	border-right:1px solid #6782A8;
}

.hourSelector {
	border-right:1px solid #6782A8;
	padding:5px;
	padding-right:10px;
}

.minutesSelector {
	padding:5px;
	border-left:1px solid #f5c7d4;
	text-align:center;
}

.minutesHeading {
	padding-left:9px !important;
}

.timeOptions {
	background-color:#F9C9D7;
}

.timeContainer .cornerBottomLeft, .timeContainer .cornerBottomRight, .timeContainer .timeOptions {
	border-top:1px solid #6782A8;
}

.timeContainer .cornerBottomLeft {
	background: url("images/dpCurveBL.png") bottom left no-repeat !important;
	width:9px !important;
	padding:0;
	margin:0;
}

.timeContainer .cornerBottomRight {
	background: url("images/dpCurveBR.png") bottom right no-repeat !important;
	width:9px !important;
	padding:0;
	margin:0;
}

.timeOptions {
	color:#fff;
	background:url("images/dpYearBg.png") top left repeat-x;

}

.selectedItem {
	background-color:#fff;
	color:#6782a8 !important;
}

.timeOptions .selectedItem {
	color:#fff !important;
	background-color:#9ec3fb !important;
}

.anyTimeContainer {
	text-align:center;
	font-weight:bold;
	font-size:0.7em;
	padding:0.1em;
	cursor:pointer;
	cursor:hand;
	color:#fff !important;
}

.amPmContainer {
	width:100%;
}

.amPmContainer td {
	text-align:center;
	font-size:0.7em;
	font-weight:bold;
	cursor:pointer;
	cursor:hand;
	color:#fff;
}



/*.timePickerContainer {
	margin:1.75em 0 0.5em 0;
	width:10em;
	float:left;
}

.timeContainer {
	border-collapse:collapse;
	border-spacing:0;
}

.timeContainer thead td{
	border-bottom:1px solid #e6e6e6;
	padding:0 0.4em 0.2em 0.4em;
}

.timeContainer td {
	font-size:0.9em;
	padding:0 0.25em 0 0.25em;
	text-align:left;
	cursor:pointer;cursor:hand;
}

.timeContainer td.minutesHeading {
	border-left:1px solid #e6e6e6;
	border-right:1px solid #e6e6e6;
}

.timeContainer .minutes {
	border-left:1px solid #e6e6e6;
	border-right:1px solid #e6e6e6;
}

.selectedItem {
	background-color:#3a3a3a;
	color:#ffffff;
}*/
