/* ----- LAYOUT ----------------------------------------------------------------------------------------------- */

form ul{
	margin:0;
	padding:0;
	list-style-type:none;
	width:100%;
}
form li{
	display:block;
	margin:0;
	padding:6px 5px 9px 9px;
	clear:both;
}
form li:after, form li div:after{
	content:"."; 
	display:block;
	height:0; 
	clear:both; 
	visibility:hidden;
}
* html form li{height: 1%;}
* html form li div{display:inline-block;}
*+html form li div{display:inline-block;}

form li div, form li span{
	margin:0 .3em 0 0;
	padding:0;
	color:#444;
}
form li span{
	float:left;
}

.center, 
form li span.center input.text, form li span.center label{
	text-align:center;
}

form li div.col span{
	display:block;
	width:100%;
	float:left;
	padding:0;
}

form li.complex{
	padding-bottom:0;
}
form li div span.left, form li div span.right{
	margin:0;
	width:47%;
}
form li div span.full input, 
form li div span.full select, 
form li div span.left input, 
form li div span.right input,
form li div span.left select,
form li div span.right select{
	width:100%;
}

.left{
	float:left;
}
.right{
	float:right;
}
.clear{
	clear:both !important;
}

/* ----- FORM HEADING ----------------------------------------------------------------------------------------------- */

.info{
	display:inline-block; 
	clear:both;
	border-bottom:1px dotted #ccc;
	margin:0 0 5px 0;
}
.info[class]{
	display:block;
}
.info h2{
	font-weight:normal;
	font-size:2em;
	margin:0 0 .2em 0;
	clear:left;
}
.info div{
	font-size:1.2em;
	line-height:135%;
	margin:0 0 1.1em 0;
	color:#555;
}

/* ----- LABELS ----------------------------------------------------------------------------------------------- */

form li div label, form li span label{
	margin:0;
	padding-top:6px;
	clear:both;
	font-size:1.1em;
	line-height:100%;
	color:#444;
	display:block;
}
form li div span label{
	padding-bottom:12px;
}
label.desc{
	font-size:1.2em;
	font-weight:bold;
	color:#222;
	line-height:150%;
	margin:0;
	padding:0 0 3px 0;
	border:none;
	display:block;
}
label.choice{
	display:block;
	font-size:1em;
	line-height:150%;
	margin:-17px 0 0 23px;
	padding:0 0 5px 0;
	color:#222;
	width:88%;
}
.safari label.choice{
	margin-top:-16px;
}
span.symbol{
	font-size:1.6em;
	line-height:135%;
}

/* ----- FIELDS ----------------------------------------------------------------------------------------------- */

input.text, input.search, input.file, textarea.textarea, select.select{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	font-size:1.4em;
	color:#333;
	margin:0;
	padding:2px 0;
}
input.text, input.search, textarea.textarea{
	border-top:1px solid #7c7c7c;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-bottom:1px solid #ddd;
	background:#fff url(../../images/project/form/field_bg.gif) repeat-x top;
}
select.select{
	padding:1px 0 0 0;
}
input.checkbox, input.radio{
	display:block;
	margin:4px 0 0 0;
	padding:0;
	width:13px;
	height:13px;
}
.safari select.select{
	/*font-size:120% !important;*/
	font-size:1.2em !important;
	margin:0 0 1px 0;
}
* html select.select{
	margin:1px 0;
}
*+html select.select{
	margin:1px 0;
	border:1px solid red;
}

/* ----- CONTROLS AND MESSAGES ----------------------------------------------------------------------------------------------- */

form li.controls{
	position:relative;
	clear:both;
	padding-top:10px;
	background:#e6e6e6;
	padding: 6px; 
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}
form li.controls input{
	font-size:1.2em;
	margin-right: 5px;
}
input.button{
	padding:0 7px;
	width:auto;
	overflow:visible;
}

form li.message{
	margin-top:5px;
	margin-bottom:5px;
	background:#333;
	padding: 8px; 
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}
form li.message span{
	color:#fff;	
	font-size:1.2em;
}

form li.report{
	margin-top:5px;
	margin-bottom:5px;
	background:#e6e6e6;
	padding: 8px; 
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}
form li.report .report_item{
	color:#fff;	
	font-size:1.2em;
	width:32%;
	float:left;
}

form li.report .report_item label{
	margin-bottom:5px;
	margin-top:5px;
}

form li.report .report_item span{
	font-family:"Lucida Grande", Tahoma, Arial, sans-serif;
	font-size:1.4em;
	color:#333;
	margin:0;
	height:20px;
	padding:2px 5px 2px 5px;
	border-top:1px solid #7c7c7c;
	border-left:1px solid #c3c3c3;
	border-right:1px solid #c3c3c3;
	border-bottom:1px solid #ddd;
	background:#fff url(../../images/project/form/field_bg.gif) repeat-x top;
	width:90%;
}

form li.busy{
	margin-top:5px;
	margin-bottom:5px;
	background:#66BF23;
	padding: 6px; 
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}

form li.busy img{
	float:left;	
	margin-left:-5px;
}

form li.busy span{
	float:left;	
	margin-top:2px;
	margin-left:5px;
	font-size:1.2em;
	color:#fff;
}

/* ----- SIZES ----------------------------------------------------------------------------------------------- */

.third{
	width:32% !important;
}
.half{
	width:48% !important;
}
.full{
	width:100% !important;
}

input.small, select.small{
	width:25%;
	min-width:25%;
}
input.medium, select.medium{
	width:50%;
	min-width:50%;
}
input.large, select.large, textarea.textarea{
	width:100%;
	min-width:100%;
}

textarea.small{
	height:5.5em;
}
textarea.medium{
	height:10em;
}
textarea.large{
	height:20em;
}

/* ----- INLINE INFO ----------------------------------------------------------------------------------------------- */


a.info_open {
	float:left;
	margin-top:2px;
	margin-right:4px;	
	background:#e6e6e6;
	padding: 1px 5px 1px; 
	color: #333;
	font-weight:bold;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

a.info_close {
	float:right;	
	background:#fff;
	padding: 1px 5px 1px; 
	color: #000;
	font-weight:bold;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.inline_info {
	margin-top:5px;
	margin-bottom:5px;
	background:#e6e6e6;
	padding: 6px; 
	color: #fff;
	font-size:1.2em;
	text-decoration: none;
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}

.inline_info span {
	padding:2px;
	color:#333;	
}

/* ----- VALIDATION ----------------------------------------------------------------------------------------------- */

form li div.DefaultPointyTip {

}

form li div.DefaultPointyTip .pointyWrapper {
	
}

form li div.DefaultPointyTip .pointyWrapper div.middle {
	background:#333;
	padding: 5px 1px 6px; 
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
	border-bottom: 1px solid rgba(0,0,0,0.25);	
}

form li div.DefaultPointyTip .pointyWrapper div.body {
	background:#333;
}

form li div.DefaultPointyTip .pointyWrapper .top div.top_ul {
	background:none;
}
form li div.DefaultPointyTip .pointyWrapper .closeButton {
	display:none;	
}
form li div.DefaultPointyTip .pointyWrapper .top div.top_ur {
	display:none !important;
}
form li div.DefaultPointyTip .pointyWrapper .bottom div.bottom_ll {
	background:none;
}
form li div.DefaultPointyTip .pointyWrapper .bottom div.bottom_lr {
	background:none;
}
form li div.DefaultPointyTip .pointyWrapper div.pointyDivot {
	margin:0;
	padding:0;
}

form li input.validation-failed {
	border-bottom:2px solid #DF291B;
}

form li input.validation-passed {
	border-bottom:2px solid #66BF23;
}

/* ----- LIKERT SCALE ----------------------------------------------------------------------------------------------- */

form li.likert{
	width:97% !important;
	clear:both !important;
	float:none !important;
}
.likert table{
	margin:0 0 .9em 0;
	background:#fff;
	width:100%;
	border:1px solid #dedede;
	border-bottom:none;
}
.likert caption{
	text-align:left;
	color:#222;
	font-size:1.2em;
	line-height:135%;
	padding:5px 0 .5em 0;
}
.likert input{
	padding:0;
	margin:2px 0 0 40%;
	
}
.likert tbody td label{
	font-size:1em;
	display:block;
	color:#565656;
}

/* ----- Top Row ----- */

.likert thead td, .likert thead th{
	background-color:#e6e6e6;
}

/* ----- Right Side ----- */

.likert td{
	border-left:1px solid #ccc;
	text-align:center;
	padding:4px 6px;
}
.likert thead td{
	font-size:1em;
	padding:10px 6px;
}

/* ----- Body ----- */

.likert th, .likert td{
	border-bottom:1px solid #dedede;
}
.likert tbody th{
	padding:8px 8px;
	text-align:left;
}
.likert tbody th label{
	color:#222;
	font-size:1.2em;
	font-weight:bold;
}

.likert tbody tr.alt td, .likert tbody tr.alt th{
	background-color:#f5f5f5;
}
.likert tbody tr:hover td, .likert tbody tr:hover th{
	background-color:#FFFFCF;
}

/* ----- Likert Classes ----- */

.col1 td{width:30%;} 
.col2 td{width:25%;}
.col3 td{width:18%;}
.col4 td{width:14.5%;}
.col5 td{width:12%;}
.col6 td, .col7 td{width:10%;}
.col8 td, .col9 td, .col10 td{width:6.5%;}
.col11{width:6%;}

.hideNumbers tbody td label{
	display:none;
}