/*  TYPE STYLES  */

p.caption {
	margin-top: 0.25em;
	text-align: center;
	font-style: italic;
	line-height: 1.2em;
}


/*  / TYPE STYLES  */






/*  FORMS  */

form {
  margin:0;
  margin-bottom: 1em;
  padding:0;
}
form.inline, form.button-to {
  margin:0;
  padding:0;
}

label {
  float:left;
  width: 100px;
  margin:0;
  margin-top: 4px;
  padding: 2px;
  padding-right: 5px;
  text-align: right;
}

label.shorter {
	width: 120px;
}

label.radio_right {
  float:none;
  width: auto;
  margin:0 10px 0 5px;
	padding: 0;
	text-align: left;
}

label.inline {
	float: none;
	width: auto;
}

input.input_button {
  float: left;
  margin: 4px 4px 0 0;
	height: 19px;
  font-family: helvetica, arial, sans-serif;
	font-size:10px;
	text-transform: uppercase;
	color:#2b8aba;
	background-color: #ffffff;
	border: 1px dotted #2b8aba;
}
input.input_button:hover, input.input_button:focus {
	border: 1px solid;
	outline: none;
}
input.input_button.short {
  margin-top: 0;
}

input.input_checkbox, input.input_radio {
  float: left;
  margin:0;
  margin-top: 6px;
  margin-right: 4px;
}

input.input_file {
  float: left;
  width: 294px;
  margin: 4px 0 0 0;
  padding: 3px;
  font-family: helvetica, arial, sans-serif;
  font-size: 12px;
	color: #888;
}

div.input_image, input.input_image, a.input_image, img.input_image {
  display: block;
  float: left;
  margin: 4px 4px 0 0;
}

input.right, a.right {
  float:right; 
  margin-right: 0;
}

input.input_text {
  float: left;
  width: 294px;
	height: 16px;
  margin: 4px 0 0 0;
  padding: 3px;
  font-family: helvetica, arial, sans-serif;
  font-size: 12px;
	color: #888;
	border: 1px dotted #666;
}
input.input_text:focus {
	border: 1px solid;
	outline: none;
}

select.select_menu {
  float: left;
  width: 294px;
  margin: 4px 4px 0 0;
  padding: 2px;
  border: 1px solid;
  font-family: helvetica, arial, sans-serif;
  font-size: 12px;
}


textarea.textarea, div.textarea textarea {
  float: left;
  width: 294px;
  height: 250px;
  margin: 4px 0 0 0;
  padding: 3px;
  border: 0;
  font-family: helvetica, arial, sans-serif;
  font-size: 12px;
	color: #888;
	border: 1px dotted #666;
}
textarea.textarea:focus, div.textarea textarea:focus {
	border: 1px solid #666;
  outline: none;
}

/* addtional widths */
input.narrow, select.narrow, textarea.narrow, form div.narrow, form div.narrow textarea {
  width: 50px;
}
input.pretty_narrow, select.pretty_narrow, textarea.pretty_narrow, form div.pretty_narrow, form div.pretty_narrow textarea {
  width: 75px;
}
input.medium, select.medium, textarea.medium, form div.medium, form div.medium textarea {
  width: 150px;
}
input.large, select.large, textarea.large, form div.large, form div.large textarea {
  width: 400px;
}
input.auto, select.auto, textarea.auto {
  width: auto;
}
input.inline, select.inline, textarea.inline {
  float:none;
  margin:0;
  text-align: left;
}


/* addtional heights */
textarea.short, div.short, div.short textarea {
  height: 40px;
}
textarea.pretty_short, div.pretty_short, div.pretty_short textarea {
  height: 100px;
}
textarea.tall, div.tall, div.tall textarea {
  height: 250px;
}
textarea.very_tall, div.very_tall, div.very_tall textarea {
  height: 450px;
}

form .form_group {
	float:left;
	width: 350px;
	margin:0;
	margin-top: 4px;
	padding: 2px;
	padding-right: 5px;
}

form div.medium {
  width:210px;
}
form div.wide {
  width:510px;
}

form p, form br {
	margin: 0;
	padding: 0;
  clear: both;
}
form h3, form h4, form h5 {
	margin-left: 105px;
	clear: both;
}
form h4 {
	margin-left: 0;
	border-bottom: 1px dotted;
}
form h5 {
	margin-top: 4px;
	margin-bottom: 0;
}

form hr {
	clear: both;
}

form p.form_note {
  margin: 4px 0 0 104px;
  padding: 2px;
  color: #333;
  font-size: 12px;
	line-height: 1.2em;
  font-style: italic;
}

a.resource_button {
	float: left;
	margin: 0 4px 0 0;
	padding: 0px 4px;
	font-family: verdana;
	font-size: 9px;
	text-transform: uppercase;
	border: 1px solid;
}

a.resource_button.right {
	margin: 0 0 0 4px;
	float: right;
}

.progressBar .border { 
  background-color: white; 
  border: 1px solid blue; 
  width: 100%;
}
.progressBar .background { 
  background-color: #333; 
  height: 18px; 
  width: 0%; 
}

.spinner {
	float: left;
  margin: 5px 0 0 5px; 
}

.spinner.right {
  float:right;
}

.spinner.inline {
	float: none;
  margin: 0; 
}	

/*  / FORMS  */







/*  RAILS HELPERS  */

div.errorExplanation {
	border: 1px solid #c00;
	background-color: #fff1f1;
	padding: 1em;
	margin-bottom: 1em;
}
div.errorExplanation h2 {
	float: none;
	font-size:12px;
	margin:0;
	width: auto;
	height: auto;
	background:none;
	color:#f00;
}
div.errorExplanation p {
	margin:0;
}

div.fieldWithErrors input, div.fieldWithErrors select, div.fieldWithErrors textarea {
	border: 1px solid #c00;
	background-color: #fff1f1;
}


/*  / RAILS HELPERS  */





/*  LISTS  */

ul {
	margin-top:0;
	margin-bottom: 1em;
}
ul li {
}

.plain, .plain li {
	margin: 0 0 1em 0;
	padding:0;
	list-style: none;
}

.compact, .compact li {
	margin: 0;
	padding:0;
	list-style: none;
}

ul.resource_list {
	margin: 0 0 1em 0;
	padding: 0;
	list-style: none;
}

ul.resource_list li {
	clear: both;
	margin: 0;
	padding: 2px 0;
	list-style: none;
	border-bottom: 1px dotted #999;
}


/*  / LISTS  */





/*  TABLES  */

table {
	margin:0;
	margin-bottom: 1em;
	padding:0;
	border:0;
	border-collapse: collapse;
}

.table_head, .table_head td {
	border-bottom: 1px #a8afb5 solid;
}

.odd, .odd td {
	background: e0ffe8;
}



/*  / TABLES  */






/*  MISC TAGS  */

address {
	margin: 0 0 1em 0;
	font-style: normal;
}

hr {
	margin: 0 0 1em 0;
	border: none;
	border-bottom: 1px solid;
}
hr.dotted {
	border-bottom: 1px dotted;
}

/*  / MISC TAGS  */






/*  FEEDBACK MESSAGING  */

div.success, div.error, div.notice {
	margin: 0 0 1em 0;
	background: none;
	padding: 10px 3px 10px 30px;
	border: 1px dotted;
}
div.success {
	background: url("../images/accept.png") 10px 10px no-repeat;
	color: #0c0;
	border-color: #0c0;
}
div.error {
	background: url("../images/exclamation.png") 10px 10px no-repeat;
	color: #c00;
	border-color: #c00;
}

div.notice {
	background: none;
	padding: 0;
}
div.error div.notice, div.success div.notice {
	margin: 0;
	border: none;
}

div.success p.alert, div.error p.alert {
	margin-bottom:0;
}
div.success p, div.error p, div.notice p {
	margin-bottom: 3px;
}
div.success p.alert {
	color: #0c0;
}

div.success ul, div.success ul li, div.error ul, div.error ul li, div.notice ul, div.notice ul li {
	margin: 0 0 0 1em;
	padding: 0;
	border: none;
	background: none;
}

div.form_errors {
	border: 1px solid #c00;
	background-color: #fee;
}
div.form_errors {
	padding: 5px;
}

.form_errors ul {
	margin: 0 auto;
}

p.alert label {
	color: #c00;
}
p.alert input.input_text, p.alert textarea.textarea {
	border-color: #c00;
}


/*  / FEEDBACK MESSAGING  */






/*  UTILITY CLASSES  */

div.follow_link {
	text-align: right;
	font-weight: bold;
}
.graphical_text {
	display: none;
}

.gray{
	color:#666;
	font-weight:normal;
}

.clear {
	margin:0;
	padding:0;
	clear: both;
}

/*  / UTILITY CLASSES  */





