.data input, .data textarea, .data select {
    width: 8.5em;
}
textarea {
    height: 5.5em;
}
input.date {
    width: 7.1em;
}
.data .long, .long {
    width: 20em;
}
input, textarea, select {
	font-family:Tahoma, Arial, Helvetica, sans-serif;
        font-size: 100%;
}
input.btn {
    width: auto;
}
label {
	vertical-align:text-top;
        vertical-align: bottom;
	font-weight: bold;
	font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
}
input.required, select.required, textarea.required, div.required {
	background-color:#FFFF99;
	border: 1px solid #7f9db9;
}
input.upper, textarea.upper {
    text-transform: uppercase;
}
input.lower, textarea.lower {
    text-transform: lowercase;
}

label.required {
	font-weight:bold;
}
label.required:before {
	content: "\2666 ";
	color:red;
}
input.failed, select.failed, textarea.failed, input.invalid, select.invalid, textarea.invalid {
	border: 2px solid #CC0000;
	margin: 1px;
}
label.failed, label.invalid {
	color: #CC0000;
}
label.failed:before  {
	content: "\2666 ";
	color:black;
}

/*********************************************************************************
  Popup calendar
*********************************************************************************/

input.datebtn {
	border: 1px solid black;
	margin-left: -0.1em;
        width: 1.5em;
        z-index: 10000;
}

.calendar {
	visibility: visible;
	border: 2px solid #A0A0A0;
	width: 13.5em;
}

.calendar input {
    width: auto;
}

.popup {
	position: absolute;
	display: none;
}
.calendar table {
	font-family:arial;
	background-color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	width: 100%;
	padding: 0px;
	margin: 0px;
	border-collapse:collapse;
}

.calendar table.calgrid td {
	text-align: center;
	margin: 0px;
	border: 0px;
	cursor: pointer;	
	font-size: 75%;
}
.calendar table.calgrid th {
	text-align: center;
	font-weight: bold;
	margin: 0px;
	width: 12.5%;
	border: 0px;
	font-size: 75%;
}
.calendar .week {
	border-right: 1px solid silver;
	cursor: auto;	
}
.calendar .today {
	color: #FF0000;
	font-weight:bold;
}
.calendar td.weekend {
	color: #666666;
}
.calendar td div {
	border: 2px dotted #000066;
	margin: -2px;
	font-weight: 900;
	color: #000066;
}

.calendar .calHeader { 
	background-color: #000066;
	padding: 2px;
	border: 2px solid white;
	font-size: 70%;
}
.calendar .calHeader input {
	padding: 0px;
	font-weight: bold;
	margin: 0px;
	font-size: 100%;
}
.calendar .calHeader input.calClose {
	float: right;
}
.calendar .calToday {
	background-color:#EEE;
	text-align:center;
	padding: 4px;
	border: 2px solid white;
	font-size: 75%;
}
.calendar .calToday span {
	cursor: pointer;
}

.calendar .calPopup {
	position:absolute;
	top: 5px;
	left: 44px;
	padding: 0px 1px;
	margin: 0px;
	background-color:#FFFF99;
	list-style: none;
	border: 1px solid gray;
	display:none;
}
.calendar .center {
	text-align:center;
}
.calendar .calPopup li{
	padding: 2px 8px;
	margin: 0px;
	cursor: pointer;
}
.calendar .calPopup li.selected {
	font-weight:bold;
}
.calendar .calPopup li:hover{
	background-color:#FFCC33;
}