/* ----------------------------------------------------------------------
	COMMON FORM
	Generalised layout for form elements
	---------------------------------------------------------------------- */
/* 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 {
	_margin-top:1.4em;
	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%;
}
/* Text areas */
textarea.full {
	width:95%;
	height:10em;
	font-size:inherit;
	font-family:inherit;
}

textarea.medium {
	width:35%;
	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;
}
/* inline Group */
form .inlineGroup {
	
}
/* Fieldset needs to float to 
respect margins on floated children */
/*
fieldset {
	float:left;
	border:0;
}
*/
/* 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.
	---------------------------------------------------------------------- */
/* Buttons */
button {
	font-weight:bold;
	color:#ffffff;
	border:2px solid #003300;
	background-image:url(../images/form_button_bkg.gif);
	background-position:top left;
	background-repeat:repeat-x;
	background-color:#027948;
	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.3em 0.4em;
}	
input,
textarea,
label,
select,
button {
	margin-top:1.2em;
}
input.tiny,
input.small,
input.narrow,
input.medium,
input.wide,
textarea {
	background-color:#ffffff;
	border:1px solid #999999;
	padding:0.2em;
	background-image:url(../images/form_input_bkg.gif);
}
label {
	/* Don't pad the right side of the label! */
	padding:0.3em 0 0.4em 0;
	font-weight:bold;
	text-align:right;
}
/* label flavours: */

label.wide {
	width:28%;
	_width:32%;
}
label.full {
	width:90%;
	text-align:left;
}
fieldset label.checkbox{
    padding-top:0;
    text-align:left;
	margin-left:2%;	
	clear:right !important;
}
select {
	margin-top:1.4em;
}
.option,
.optionFirst {
	margin-top:1.7em;
	_margin-top:1.5em;
}
fieldset {
	border-top:1px solid #999999;
	margin-bottom:1.2em;
	float:left;
}
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%;	
	border:1px solid #CCCCCC;
}
fieldset fieldset legend {
	font-size:1.2em;
}
fieldset p {
	float:left;
	clear:both;
	width:100%;
	margin-bottom:0;
}
.optionGroup {
	padding-bottom:0.8em;
}
.optionGroup input.option,
.optionGroup label  {
	margin-top:0.8em;
	padding-top:0;
}
.optionDetails {
    float:left;
    width:80%;
    margin:0 10%;
}
.optionDetails input, 
.optionDetails label {
    margin-top:0;
    margin-bottom:5px;
    margin-right:5px;
    color:#444444;
    font-size:0.8em;
}
.optionDetails input {
	clear:right !important;
}

form .switchGroup p {
	clear:both;
	margin-left:25%;
}
form .switchGroup {
	margin-top:1.5em;
	float:left;
	width:100%;
}

/* ----------------------------------------------------------------------
	BOX
	Simple padded box we're using to put things like the total into
	---------------------------------------------------------------------- */


#controls button {
    float:right;
    margin-bottom:2em;
}

/* ----------------------------------------------------------------------
	Donation specific styling
	---------------------------------------------------------------------- */
ul#donationOptions li 
{
    list-style-type:none;
    font-weight:bold;
    float:left;
    width:100%;
    clear:both;
}
.donationChoice input {
    margin-right:0;
    margin-top:0 !important;
    margin-right:5px;
}
label.donationChoice {
    width:100%;
    margin-top:0;
    text-align:left;
}
.donationOption {
    border-bottom:1px solid #027948;
    float:left;
    width:100%;
    margin-bottom:3%;
    padding-bottom:3%;
}
.donationOption p{
    font-weight:normal;
    float:left;
    width:100%;
    margin-left:1.5em;
}
.donationOption label {
    margin-top:5px;
    padding-top:0;
}
.donationOption input {
    margin-top:5px;
    padding-top:0;
}


