fieldset {
	margin-bottom: 10px;
	position: relative;
	padding-left: 15px;
}
fieldset.submit {
	border: 0px;
}
form {
        font-size : 0.9em;
}
form div.anti-bleed {
		position: relative;
}
form div.input {
        padding : 0.4em 0px;
        position : relative;
}
form div.input label {
        width : 10em;
        display : block;
		float: left;
        text-align : left;
        padding: 2px 0px;
        cursor: pointer;
}
form div.input input, form div.input textarea, form div.input select {
        margin: 0px;
        width : 20em;
        font-size: 1em;
        font-family: sans-serif;
        vertical-align: top;
		float: left;
}
form div.input input, form div.input textarea {
        border: 1px solid #9bafc3;
        border-width : 1px 0px;
        padding : 1px 0px;
        background-color : #dce5ee;
}
form div.input select {
	margin: -2px 0px;
}
form div.input.checkbox input {
        width: auto;
        padding : 1px;
        border : 0px none;
        background : none transparent;
        position: absolute;
        left: 0.2em;
        top: 0.6em;
}
form div.input.checkbox label {
	text-indent: 10px;
	width: auto;
}
form div.input.checkbox input {
	position: absolute;
	left: 3px;
	top: 5px;
}

form div.error-message {
        margin : 0.5em 0px;
        background-color : #fdd;
        color: red;
        padding: 0.5em;
        border: solid red;
        border-width: 1px 0px;
}
form div.input.error input, form div.input.error textarea {
        border-color : red;
        background-color : #ffdddd;
}

form.columns fieldset div.anti-bleed {
        width: 41em;
}

form div.input.error div.error-message {
        position : absolute;
        display: none;

        top : 100%;
        left : 50%;
        width: 18em;
        margin-left: -10em;
        padding: 0em 0.5em;

        text-align : center;

        color : white;
        background-color : #111;
        opacity: 0.9;
        border: 2px solid black;
        border-radius: 5px;
        -moz-border-radius: 5px;
        -moz-box-shadow: 0px 0px 5px #000000;
        z-index: 10;
}
form div.input.error:focus div.error-message,
form div.input.error:hover div.error-message,
form div.input.error.hover div.error-message {
        display: block;
}
form div.input.error div.error-message:hover,
form div.input.error div.error-message.hover {
        display: none;
}

form div.input { display: inline-block; float: left; width: 40em; vertical-align: top; margin-right: 1em; }
form div.input label { width: 15%; }
form div.input input, form div.input textarea { width: 85%; }
form div.input select  { width: 80%; }
form div.input.checkbox label { display:block; width: auto; margin-left : 25px }
form div.input.checkbox input { width: auto; }

form div.input.one { width : 40em; }
form div.input.two { width : 19.5em; }
form div.input.three { width : 12.66666em; }
form div.input.four { width : 9.25em; }

form div.input.third label { width : 33%; }
form div.input.third input,
form div.input.third textarea {
        width : 67%;
}
form div.input.half label { width : 50%; }
form div.input.half input,
form div.input.half textarea {
        width : 50%;
}
form div.input.two-level label { width : 100%; }
form div.input.two-level input,
form div.input.two-level textarea {
        width : 100%;
        margin-left : 0px;
}
form div.input.two-level select {
	margin-left: 0px;
	padding-left : 1em;
}
form select option {
	padding-left: 1em;
}

form.columns div.input.new-line { clear : both; }

#register_button {
	background:none repeat scroll 0 0 #6A9913;
	text-align:center;
	float: right;
}

#register_button a, 
#register_button span {
	color:white;
	display:block;
	padding: 10px 13px;
	text-decoration:none;
	font-size : 1.2em;
}
#register_button a:hover {
	text-decoration: underline;
	color : white;
}

fieldset.submit input {
background:none repeat scroll 0 0 #6A9913;
border:0 none;
color:white;
height:35px;
padding:10px;
margin-right: 10px;
}

table.prices {
	width: 518px;
	margin: 0px;
	margin-bottom: 1em;
	padding: 0px;
	border-collapse: collapse;
}
table.prices th {
	background-color : #003366;
	color: white;
	font-size: 0.9em;
}
table.prices td, table.prices th {
	padding : 0.1em 0.2em;
	margin: 0px;
	border: 0px none;
}
table.prices tr.odd td {
	background-color : #dce5ee;
}
table.prices td.amount, table.prices td.price {
	text-align: right;
}
table.prices .total {
	border-top: 3px double #036;
	background: #9BAFC3;
	color : black;
	font-weight: bold;
}
table.prices th.total {
	text-align: right;
}

div#flashMessage {
	background-color : #dce5ee;
	padding : 0.1em 1em;
	font-size: 1.2em;
	font-weight: bold;
}
