/* ----------------------------------------------------------------------
	COMMON FORM
	Generalised layout for form elements
	---------------------------------------------------------------------- */
/* Buttons */
button {
	color:#ffffff;
	border:2px solid #85222D;
	background-image:url(../images/form_button_bkg.gif);
	background-position:top left;
	background-repeat:repeat-x;
	background-color:#B22438;
	margin-bottom:0.8em;
	/* IE Specific padding etc */
	padding:0.3em 0.3em;
}
button * {
	padding:0;
	margin:0;
}
/* This is a hack to get around IE 
stupidly mis-sizing buttons */
html>body button {
	padding:0.35em 0.7em;
}
/* General stuffies */	
input.option,
input.optionFirst,
input.tiny,
input.small,
input.narrow,
input.medium,
input.wide,
select.small,
select.narrow,
select.medium,
select.wide,
select.inline {
	float:left;
}
/* Common input & select widths */
input.tiny {
	width:2em;
}
input.small,
select.small {
	width:10%;
	margin-right:55%;
}
input.narrow,
select.narrow {
	width:20%;
	margin-right:45%;
}
input.medium,
select.medium {
	width:35%;
	margin-right:30%;
}
input.wide,
select.wide {
	width:50%;
	margin-right:20%;
}
input.extraWide,
select.extraWide {
	width:70%;
	margin-right:2%;
}
/* Text areas */
textarea.full {
	width:95%;
	height:10em;
	font-size:inherit;
	font-family:inherit;
}
/* Base label style */
label {
	width:24%;
	margin-right:1% !important;
	float:left;
	clear:left;
}
/* Radio and Checkboxes */
input.option {
	margin-right:68%;
}
input.optionFirst {
	margin-left:25%;
	/* Hack to correct IE's Shit boxmodel */
	_margin-left:23.5%;
}
/* Option groups
Class can apply to any element, just selects
child radio/checkboxes and positions them nice.
The parent element should only wrap the options. */
.optionGroup input.option {
	margin-right:0;
}
.optionGroup label {
	clear:none;
}
/* Groups */
form .group {
	float:left;
	clear:both;
}
form .group label,
form .group input,
form .group select {
	width:auto;
	clear:none;
}
/* Block group */
form .blockGroup {
	width:100%;
	clear:both;
	float:left;
	margin-top:1em;
	padding-top:1em;
	border-top:1px solid #CCCCCC;
}
form .blockGroup input {
    margin-top:5px;
}
form .blockGroup h3 {
    font-weight:bold;
}
form .blockGroup label {
    margin-top:0;
}

/* inline Group */
form .inlineGroup {
	
}
/* Fieldset needs to float to 
respect margins on floated children */
fieldset {
	float:left;
}
/* Inline labels, inputs and selects */
label.inline {
	width:auto;
	clear:none;
	margin-left:0.5em !important;
	margin-right:0.5em !important;
}
input.inline,
select.inline {
	margin-right:0;
	clear:none;
}

/* ----------------------------------------------------------------------
	CUSTOM FORM
	Customisations for this particular set of forms.
	---------------------------------------------------------------------- */
input,
textarea,
label,
select,
button {
	margin-top:1.2em;
}
input.tiny,
input.small,
input.narrow,
input.medium,
input.wide,
textarea {
	background-color:#ffffff;
	border:2px solid #999999;
	padding:0.4em;
	background-image:url(../images/form_input_bkg.gif);
}
label {
	/* Don't pad the right side of the label! */
	padding:0.5em 0 0.4em 0;
	font-weight:bold;
	text-align:right;
}
select {
	margin-top:1.4em;
}
.option,
.optionFirst {
	margin-top:1.7em;
	_margin-top:1.5em;
}
fieldset {
	border:1px solid #cccccc;
	margin-bottom:1.2em;
	/* Background */
	background-image:url(../images/form_block_bkg.gif);
	background-repeat:repeat-x;
	background-position:left bottom;
}
fieldset fieldset,
form .group {
	margin-top:1.2em;
	margin-bottom:0;
	background-image:none;
}
fieldset,
form .group {
	padding-bottom:1.2em;
	width:96%;
	padding-left:2%;
	padding-right:2%;
}
legend {
	font-size:1.6em;
	color:#cc0000;
	font-weight:bold;
}
fieldset fieldset legend {
	font-size:1.2em;
}
form .group {
	background-color:#eeeeee;
	border:1px solid #cccccc;
}
.optionGroup {
	padding-bottom:0.8em;
}
.optionGroup input.option,
.optionGroup label  {
	margin-top:0.8em;
	padding-top:0;
}

form .switchGroup p {
	clear:both;
	margin-left:25%;
}
form .switchGroup {
	border-top:1px solid #999999;
	margin-top:1.5em;
	float:left;
	width:100%;
}

#userMessage{
	clear:both;
	padding:1em 1em 1em 64px;
	margin:0 1em 1em 1em;
	border:1px solid #CCCCCC;
	background-color:#E6E6E6;
	background-position:16px 16px;
	background-repeat:no-repeat;
}

#userMessage h3 {
	margin-bottom:0.5em;
}

#userMessage.formError{background-image:url(../ui/icon_userMessage_warning.gif);}
#userMessage.formInfo{background-image:url(../ui/icon_userMessage_info.gif);}
.he-required {border-color:#CD8633!important;}
.attention {border-color:red!important;}