/* =General
-----------------------------------------------------------------------------*/
/* Class for clearing floats */
.clear 
{
  margin: 0;
  padding: 0;
  clear: both;
}


/* Remove border around linked images */
img 
{
  border: 0;
}


p
{
  margin: 0 0 12px 0;
  padding: 0;
}

/* =Typography
-----------------------------------------------------------------------------*/

body 
{
  margin: 0;
  padding: 0;
  min-width: 700px;

  background: #fff;
  color: #000;

  font-size: 12px;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, serif;
}

pre 
{
  margin: 20px 0;
  padding: 10px;

  overflow: auto;
  font-size: 12px;
  background: #f8fbfc;
  border: 1px solid #bfd0d9;
}

blockquote
{
  margin: 2px 20px 2px 20px;
  padding: 10px;
  color: #444;
  border-left: solid 2px #444;
}

.attribution 
{
  padding-top: 10px;
  font-size: 12px;
  color: #cc2f00;
  text-align: center;
}

.attribution a:link,
.attribution a:visited
{
  color: inherit;
  text-decoration: none;
  border-bottom: none;
}

.error_messages
{
  margin: 4px 4px 15px 4px;
  padding: 6px;
  display: block;
  width: 98%;

  background-color: #ff9999;
  border: 2px solid #cc3333;

  font-weight: bold;
  font-size: 1.1em;
  color: #000;
}

.error_messages ol li
{
  font-weight: normal;
}

.nav_desc
{
  font-weight: bold;
}

.ancillary
{
  font-size: 12px;
  color: #555;
}

.private
{
  color: #cc2f00;
}

/* =Headings
-----------------------------------------------------------------------------*/
h1, h2, h3, h4
{
  margin: 0;
  padding: 0;
}

h1 
{
  padding-top: 20px;
  font-size: 22px;
  color: #399C07;
}

h2
{
  padding-top: 15px;
  font-size: 18px;
  color: #444;
}

h3
{
  font-size: 14px;
}

/* =Links
-----------------------------------------------------------------------------*/
a:link, a:visited 
{
  text-decoration: none;
  color: #3892ED;
  border-bottom: 1px dotted #a0a0a0;
}

a:hover, a:active
{
  border-bottom: 1px solid #000;
}

a.icon_link:link, a.icon_link:visited
{
  border-bottom: none;
}

a.icon_link:hover, a.icon_link:active
{
  border-bottom: 1px solid #a0a0a0;
}

a.icon_link img, img.icon_link
{
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

img.plus_minus_button
{
  vertical-align: middle;
}

a.tag_add_link:link,
a.tag_add_link:visited,
a.tag_remove_link:link,
a.tag_remove_link:visited,
a.plus_minus_button:link,
a.plus_minus_button:visited
{
  border-bottom: none;
}

a.nonexistent:link,
a.nonexistent:visited
{
  padding: 0 1px;
  border-bottom: solid 2px #e03232;
  background-color: #e0b1b1;
  color: #000;
}

/* =Rounded Boxes
-----------------------------------------------------------------------------*/
.rounded_line
{
  margin: 0;
  padding: 0 7px 0 0;
  color: #000;
  height: 20px;
  background: url(/images/app/top-round-right.jpg) no-repeat right;
}

.rounded_line_content
{
  margin: 0;
  padding: 0 0 0 7px;
  background: url(/images/app/top-round-left.jpg) no-repeat left;
}

.rounded_line_content p
{
  margin: 0;
  padding: 0 8px 0 8px;
  font-size: 12px;
  line-height: 20px;
  height: 20px;
  background: #e7e7e7;
  text-align: center;
}

/* rounded line workaround for IE */
.ie .rounded_line_content p
{
  display: inline;
  border: 1px solid #e7e7e7;
}

.rounded_line_content a:link,
.rounded_line_content a:visited,
.rounded_line_content a:hover,
.rounded_line_content a:active
{
  color: #000;
  text-decoration: none;
  border: none;
}

/* rounded line content must be floating on IE */
.ie .rounded_line_content
{
   float: right;
}


.moderation_links
{
  margin-top: 15px;
}

/* =Top Level Div
-----------------------------------------------------------------------------*/
#page
{
  margin: 0;
  padding: 0;

  width: 100%;
  text-align: center;
}

#page_top
{
  margin: 0;
  padding: 0;
}

/* =Upper Info Bar
-----------------------------------------------------------------------------*/
#top_banner
{
  margin: 8px 0 0 0;
  height:50px;
  width: 90%;
}

#top_banner div
{
  float: right;
}

/* =Site/Project Banner
-----------------------------------------------------------------------------*/
#banner
{
  margin: 0;
  padding: 0px;
  background: url(/images/app/green-fade.jpg) repeat-x left bottom;
  border-bottom: solid 4px #399C07;
}

#banner.site_banner
{
}

#banner_content
{
  margin: 0 auto;
  padding: 0;
  width: 700px;
  text-align: left;
}

#banner h1
{
  margin: 0;
  padding: 0;
  font-size: 22pt;
  color: #0066cc;
}

#banner.site_banner h1
{
  color: #cc2f00;
}

#banner h1 a:link,
#banner h1 a:visited,
#banner h1 a:hover,
#banner h1 a:active
{
  color: inherit;
  text-decoration: none;
  border-bottom: none;
}

#banner #banner_description
{
  margin: 0;
  padding: 0;
  font-size: 12px;
}

#confirm_logout
{
  float: right;
}

/* =Main Nav
-----------------------------------------------------------------------------*/
#menu {
}

#menu_content {

}
#menu ul {
list-style-type:none;
margin:0pt;
padding:6px 0pt;
}
#menu li {
display:inline;
}
#menu a {
border-bottom:medium none;
color:blue;
font-size:10pt;
font-weight:bold;
padding:0pt 5px;
}

#menu a:hover {
text-decoration:underline;
}


/* =Sub Nav
-----------------------------------------------------------------------------*/
#subnav_title
{
  float: left;
}

#subnav
{
  margin: 24px 0 0 0;
  padding: 0;
  float: right;
}

/* =Main Content
-----------------------------------------------------------------------------*/
#content
{
  margin: 0 auto;
  padding: 10px 0 25px 0;

  width: 700px;
  text-align: left;

  font-size: 14px;
}

#content p img
{
  margin: 2px 18px 0 0;
}

/* =Footer
-----------------------------------------------------------------------------*/
#footer
{
  margin: 0;
  padding: 20px 0 0 0;
  clear: both;

  width: 100%;

  color: #c1c1c1;
  font-size: 10px;
  text-align: center;
}

#footer a:link,
#footer a:visited,
#footer a:hover,
#footer a:active
{
  color: inherit;
  text-decoration: underline;
  border-bottom: none;
}


/* =TOC
-----------------------------------------------------------------------------*/
.toc ul
{
  margin: 15px 0;
  padding: 0;
  list-style-type: none;
}

.toc li
{
  margin: 4px 0;
  padding: 0;
}

/* =Forms
-----------------------------------------------------------------------------*/

form.icon_form
{
  display: inline;
}

form.icon_form *
{
  vertical-align: middle;
}

fieldset 
{
  margin: 0 auto;
  padding: 10px;

  color: #000;
  font-size: 12px;
  background: #f8f8f8;
  border: 1px solid #ccc;
  text-align: left;
}

fieldset fieldset
{
  margin-bottom: 10px;
}

body.account #login fieldset
{
  width: 310px;
}

body.account #register
{
  padding-top: 10px;
  margin-bottom: 20px;
}

legend
{
  margin: 0;
  padding: 3px;

  font-size: 1.2em;
  font-weight: bold;
}

label
{
  margin: 0;
  padding: 0;

  display: block;

  color: #000;
}

label em
{
  font-size: 11px;
  font-style: normal;
  color: #555;
}

input[type="text"], input[type="password"], textarea
{
  width: 300px;

  border-top:    2px solid #999;
  border-left:   2px solid #999;
  border-bottom: 1px solid #ccc;
  border-right:  1px solid #ccc;
}

textarea
{
  width: 100%;
  height: 300px;
}

label.select_label,
label.check_box_label,
label.file_field_label
{
  margin-right: 0.5em;
  display: inline;
}

div.form_buttons
{
  margin: 0;
  padding: 0;
}

div.form_buttons input
{
  margin: 0px 0px 0px 5px;
  padding: 0;
  float: right;
}

div.form_buttons img
{
  float: right;
}

form.fast_form *
{
  display: inline;
}

input.fast_form_field
{
  width: 100px;
}

form span.fast_form_label
{
  margin: 0;
  padding: 0 3px 0 0;
  color: #000;
}

/* =Tables
-----------------------------------------------------------------------------*/

table 
{ 
  margin: 0;
  padding: 0;

  font-size: 12px;
  border-collapse: collapse;
  border: 1px solid #e7e7e7;
}

table caption
{
  text-align: left;
  color: #444;
}

table.table_maker
{
  width: 100%;
}

thead
{
  margin: 0;
  padding: 0;

  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  background-color: #e7e7e7;
  text-align: left;
}

td, th
{
  margin: 0;
  padding: 2px 4px;

  text-align: left;
  font-weight: normal;
}

th
{
  font-weight: bold;
}

tr.even
{
}

tr.odd
{
  background-color: #DBFFDB;
}

tr.footer_row
{
  background-color: #e7e7e7;
}

th a.sortable, th a.sorted_up, th a.sorted_down
{
  font-size: inherit;
  color: inherit;
  border-bottom: none;
}

th.sorted_up
{
  padding-left: 15px;
  background: url(/images/app/arrow-up.gif) no-repeat center left;
}

th.sorted_down
{
  padding-left: 15px;
  background: url(/images/app/arrow-down.gif) no-repeat center left;
}

td.row_header
{
  text-align: right;
  color: #cc2f00;
}

table.attribute_table
{
  margin: 0 10px 10px 10px;
  padding: 4px;

  font-size: 13px;
  border: none;
  background-color: #fff;
}

table.attribute_table td
{
  padding: 2px;
}

td.footer_row span
{
  margin: 0;
  padding: 2px;
  display: inline;
}

td span.table_form_link
{
  display: block;
  float: right;
  text-align: right;
}

td.blank_table
{
  padding: 15px;
  font-size: 18px;
  text-align: center;
  color: #444;
}

/* =Home
-----------------------------------------------------------------------------*/
#home_content
{
  margin: 0;
  padding: 0;
}

#home_sidebar
{
  margin: 0;
  padding: 0 0 20px 20px;

  float: right;
  background-color: #fff;
}

/* =Pages
-----------------------------------------------------------------------------*/
#project_page_nav
{
  margin: 15px 0 25px 25px;
  padding: 10px;

  float: right;
  border: 1px solid #e7e7e7;
}

#project_page_nav ul
{
  margin: 0;
  padding: 0;
  list-style-type: none;
}

#project_page_nav li
{
  margin: 0;
  padding: 0;
}

#project_page_nav ul a
{
  margin: 0;
  padding: 0;

  text-decoration: none;
  border-bottom: none;
}

/* =Tickets
-----------------------------------------------------------------------------*/
#ticket_attributes
{
  margin: 0 0 25px 25px;
  padding: 0;

  float: right;
}

.tickets table.attribute_table
{
  margin-top: 10px;
  font-size: 13px;
  border: none;
}

#ticket_history_table td
{
  font-size: 12px;
}

/* =Articles
-----------------------------------------------------------------------------*/
div.article_title_area
{
  margin: 15px 0 10px 0;
  padding: 0;
  border-bottom: solid 3px #0066cc;
  background-color: #dfefff;
}

h2.article_title
{
  margin: 0;
  padding: 3px;
  color: #0066cc;
}

h2.article_title a:link,
h2.article_title a:visited
{
  text-decoration: none;
  border-bottom: none;
  color: inherit;
}

div.article_title_area .attribution
{
  margin: 0;
  padding: 2px 3px 3px 3px;

  color: #575757;
  text-align: left;
}

div.article_list_tags
{
  float: left;
  width: 40%;
}

.article_list_comment_link
{
  margin: 6px 0;
  padding: 0;
  float: right;
}

ul.archive_groups
{
  margin: 0;
  padding: 0;
  list-style-type: none;
}

ul.archive_groups li
{
  margin: 6px 0;
}

/* =Comments
-----------------------------------------------------------------------------*/
div.comment
{
  margin: 10px 0;
  padding: 0;
}

div.comment_title
{
  margin: 0;
  padding: 4px 4px 0 4px;

  border-top: solid 3px #929292;
  background-color: #e2ffe1;
}

div.comment_title .comment_avatar
{
  margin: 0;
  padding: 0 5px 0 0;
  float: left;
}

div.comment_title .comment_buttons
{
  margin: 5px;
  padding: 0;

  float: right;
}

div.comment_title .comment_buttons .moderation_links
{
  margin: 0px 0px 0px 10px;
  padding: 0;
  float: right;
}

div.comment_title .comment_avatar img
{
  margin: 0;
  padding: 0;
}

div.comment_title .attribution
{
  margin: 0;
  padding: 2px 3px 11px 3px;
  float: left;

  color: #575757;
  text-align: left;
}

div.comment_body
{
  margin: 0;
  padding: 5px 10px;
  
  font-size: 12px;
  background-color: #f3f3f3;
}

/* =Comments
-----------------------------------------------------------------------------*/
#person_attributes
{
  margin: 20px 0 0 0;
  padding: 0 10px;
  float: right;
}

/* =Syntax Highlighting
-----------------------------------------------------------------------------*/
table.CodeRay
{
  margin: 20px 0;
  padding: 10px;

  font-size: 12px;
  background: #f8fbfc;
  border: 1px solid #bfd0d9;
}

table.CodeRay td
{
  padding: 2px 10px;
  vertical-align: top;
}

table.CodeRay td.line_numbers
{
  width: 20px;
  border-right: 1px solid #bfd0d9;
  background-color: #DDEEFF;
  color: #8D8F91;
  text-align: right;
}

table.CodeRay td.code
{
  min-width: 500px;
}

table.CodeRay pre
{
  margin: 0;
  padding: 10px 0;
  border: none;
  background: none;
  overflow: auto;
}

/*
  vim:sw=2:sts=2
 */

 .diff
 {
   border: 1px solid black;
   margin: 1em 2em;
 }
 div.diff p
 {
   padding-left: 1em;
   margin: 0;
   font-family: monospaced;
 }
 .match { }
 .only_a
 {
   background-color: #fdd;
   color: red;
   text-decoration: line-through;
 }
 .only_b
 {
   background-color: #ddf;
   color: blue;
   border-left: 3px solid blue
 }
 h1 { margin-left: 2em; }
