﻿/* FORM STYLING 
--------------------------------------------------------------*/

/* STANDARD FORM STYLES  
--------------------------------------------------------------*/
fieldset {
	clear: both; 
	position:relative; 
	margin: 1em 0 0.5em 0;
	}
	
legend {
	margin: 0; 
	font-size: 1.250em; 
	white-space:normal;
	}	
	
legend span {display: block;}/* to make long legends wrap in browsers with poor support for legends */
	
.formItem {
	clear: both; 
	margin: 0 0 0px -4px;
	padding: 3px 10px;
	border-style: solid;
	border-width: 0 0 0 4px;
	position: relative;
	width: auto;
	}
			
label, .formLabel {
	display: block; 
	width: 135px; 
	font-weight: bold;
	text-align: left;
	float: left;
	padding: 0 25px 0 0;
	position: relative;
	margin: 6px 0 0 0;
	}

/* TEXT INPUT AND TEXT AREAS 
--------------------------------*/
.formTextarea textarea {
	font-size: 1em;
	width: 50%;
	float: left;
	padding: 0;
	}	
	
.formText input, .formTextarea textarea {
	font-family: arial, sans-serif;
	font-size: 1.083em;
	padding: 2px;
	border-width: 1px;
	border-style: solid;	
	padding: 5px;
	width: 208px;
	}
	
.formText input {padding: 7px 2px;}

/* RADIO AND CHECKBOXES INPUT
--------------------------------*/
.formRadio .formLabel {margin-top: 0;}

/* radio buttons in a vertical list */
.formRadioList label, .formCheckboxList label {
	margin: 0 0 10px 160px;
	width:auto; 
	padding: 0 0;
	float: none;
	}
	
/* radio buttons and checkboxes in a horizontal list */	
.formRadioInline label, 
.formCheckboxInline label {width: auto;}
     
/* SELECT INPUT
--------------------------------*/    
.formSelect select {
	float: left; 
	cursor: pointer;
	border-width: 1px;
	border-style: solid;
	min-height: 27px;
	margin-right: 5px;
	width: 220px;
	}
	
/* select fields in a horizontal list */
.formSelectInline select {
	width: 90px; 
	float: none; 
	display: inline-block;
	}	

.formSelectMessage {	
	display: inline-block; 
	font-weight: bold;
	padding: 0;
	position: relative;
	margin: 6px 10px 6px 5px;
	}

.formSelect .bttn {float: left;}

/* FORM CONTROLS
--------------------------------------------------------------*/
.formControls {
	margin: 0 0 3em 0; 
	padding: 0; 
	}
	
.formControls .bttn {margin-left: 160px;}

/* FORM MESSAGES (mandatory fields are indicated with a * message)
--------------------------------------------------------------*/
.mandatoryMessage {
	border-width: 0 0 3px 0;
	border-style: solid;
	font-size: 1.333em;
	font-weight: bold;
	padding: 0 0 10px 0;
	margin: 35px 0;
	}
	
/* HELP MESSAGES (pop up help messages next to form fields)	
--------------------------------------------------------------*/	
.helpMessage {
	margin: 5px 0 0 160px;
	padding: 1px 10px;
	clear: both;
	float: left;
	z-index: 200;
	}

.js .helpMessage {
	position: absolute;
	margin: 0;
	top: 0;
	right: 0;
	width: 190px;
	border-width: 0 0 0 4px;
	border-style: solid;
	}
	
/* FORM ERROR STYLING
--------------------------------------------------------------*/

/* FORM ERROR SUMMARY	
--------------------------------*/  
.formErrorSummary {
	padding: 10px;
	border-style: solid;
	border-width: 0 0 0 4px;
	margin-left: -14px;
	}	
		
.formErrorSummary h2 {margin-top: 0; font-size: 1.500em;}		
.formErrorSummary li {background: none; padding: 0;}
.formErrorSummary ul {margin: 5px 0 10px 0;}

.formErrorSummary a, .formErrorSummary a:link {
	font-weight: bold;
	text-decoration: none;
	}
	
.formErrorSummary a:hover {text-decoration: underline;}

/* FORM ERRORS (in text)	
--------------------------------*/  	
.formError {
	font-style: italic;
	font-size: 1.083em;
	margin: 0 0 5px 0;
	}
	
/* REQUIRED FIELD ASTERISKS
--------------------------------*/  
.fieldRequired {
	display: inline-block;
	width: 14px; 
	height: 14px; 
	text-indent: -999em;
	background-position: 0 50%;
	background-repeat: no-repeat;
	overflow:hidden;
	}
	
label .fieldRequired, 
.formLabel .fieldRequired {	
	position: absolute;
	top: 4px; 
	right: 5px;
	display: block;
	}	
	
/* SPECIFIC FORMS 
--------------------------------------------------------------*/

/* SEARCH FORMS
--------------------------------*/  
.searchContainer {
	width:100%;
        overflow:auto;
        margin-bottom:1em;
        }
        
.searchFields {
	border-width: 1px;
	border-style: solid;
	float: left;
	padding: 0;
	margin-left: 0;
        width:99%;
        margin-bottom:0.5em;
	}
	
.searchFields input {border: none;}	

.searchFields .textField {
	float: left; 
	padding: 0.4em 0 0.4em 7px;
	background: none;
        width:90%;
	}

.searchFields .submitButton {
	float: right;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	cursor: pointer;
	width: 17px;
	height: 17px;
	margin: 0.4em 9px 0.4em 0;
	text-indent: -999em;
	}
	
/* SERVICES FORMS (homepage)
--------------------------------*/
.pageWrap .formServices {}
  
.formServices fieldset {
	padding: 0 0 0 10px; 
	border-width: 0 0 1px 0; 
	border-style: solid;
	}
	
.formServices .last, 
.formServices .formItem {border: none;}

.formServices .formItem {padding-right: 0; padding-bottom: 0;}
	
.formServices .formSelect select {width: 180px;}

.formServices .searchFields {
	width: 220px;
	margin-left: -5px; 
	margin-top: 10px; 
	border-width: 1px; 
	border-style: solid;
	}
	
.formServices .searchFields .textField {width: 175px;}

/* FIND FORMS (working at bu landing pages)
--------------------------------*/  
.pageWrap #contentWrap .formFind {width: 260px;}
.formFind fieldset {margin-left: 10px; margin-right: 10px;}

.formFind .formTitle, .formFind label {margin-left: 5px;}
.formFind .formTitle {padding-left: 5px;}

.formFind .formItem {border: none;}

.formFind .searchFields {
	margin-top: 10px; 
	width: 210px; 
	border-width: 1px; 
	border-style: solid;
	}
	
.formFind .searchFields .textField {width: 175px;}

.formFind .formSelect {margin-left: -10px;}
.formFind .formSelect select {width: 135px;}

/* FIND FORM NARROW (content pages)
--------------------------------*/ 
.pageWrap #contentWrap .formFindNarrow {width: auto; padding: 1px 0;} 
.formFindNarrow .formSelect select {width: 140px;}
.formFindNarrow .formSelect label {margin-bottom: 5px;}
.formFindNarrow .formSelect .bttn {margin: 5px 25px 0 0; float:right;}
		
/* FOOTER FORMS 
--------------------------------*/  
.footer fieldset {margin: 0;}

.footer label {
	width: auto;
	text-align: left;
	font-size: 0.917em;
	padding: 0 0 6px 0;
	}
		
.footer .searchFields .textField {width: 160px;}	

.footer .formSelect {
	margin: 0; 
	padding: 0;
	border: none;
	}
	
.footer .formSelect select {
	clear: left;
	width: 158px;
	}
	
.footer .column4 .formSelect {margin-bottom: 10px;}

	
/* CHARACTER COUNTER (used with text areas on the content feedback form and the example form templates)
--------------------------------------------------------------*/
.charLimit {
	clear: both; 
	display: block;
	margin: 0 0 0 160px;
	padding: 5px 0 0 0;
	font-style: italic;
	}

/* CALENDAR FIELD (used with date field on the example form templates)
--------------------------------------------------------------*/
.calendar {
	width: 188px;
	padding-right: 25px;
	}
