body {
  background:  #97abe0;
  min-width: 600px;
  max-width: 900px;
  font-family:  arial;
  margin: 0 auto 0 auto;
}

img { border: none; }
table { border-collapse: collapse; }

div#teddy {
  float: right;
  font-weight: bold;
  text-align: center;
  margin: .5em 1em 1em 1em;
}

.image_border{
  border: 2px white solid;
}

.notice{
  color:  green;
}

.error{
  color:  red;
}

/* Header                                                                   */

#header {
  background-image: url("../images/header_background.jpg");
  background-repeat: no-repeat;
  background-position:  top right;  
  text-align: center;
  border: black solid 2px;
  color: white;
  padding-bottom: .5em;
}

#header h1{
  text-align: left;
  margin-left: 1em;
  margin-top: 0;
  font-size: 250%;
}

div.menu {
  background: blue;
  border: black solid 2px;
  margin-top: 5px;  
  text-align: center;
  padding: 2px;
}

div.top_menu {
  text-align: right;
  margin-top: 1em;
  margin-right: 2em;
  font-size: large;
}

div.menu a, div.top_menu a, div.legal a { 
  color: white; 
  text-decoration: none; 
  font-weight: bold; 
}

div.menu a:hover, div.legal a:hover {
  color: black; 
}

div.top_menu a:hover{
  color:  blue;
}

/* Sidebar                                                                  */

#sidebar {
  width: 240px; 
  margin-top: 1em;
  clear: both;
}
#sidebar h1 {
  font-size: 125%;
  text-align: center;
}
#sidebar ul { 
  list-style-type: none; 
  margin-left: 0;
  padding-left: 0;
}

/* Admin Areas                                                              */

#admin_content{
  margin-left: 2em;
  margin-bottom: 1em;
}

#admin_content table{ width:  100%; }
table.list tr.rowodd { background-color: #5077ae; }
table.list tr.header { border-bottom: 1px solid #3d4f5e; }
table.list tr td { padding: 0 .25em 0 .25em; }
table.list a:link{color:  blue;}
table.form tr { vertical-align: top; }
table.form tr th { text-align: right; }
#preview_title {
  font-weight: bold;
  margin-top: 1em;
  border-bottom: 1px solid black;
}

/* Content                                                                  */

table#layout td{
  vertical-align: top;
}

/* Pages                                                                    */

div#page_edit {
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 2px 2px 2px 4px;
  border: 1px solid #A17619;
  background-color: #D2B478;
}
div#page_edit a { color: black; text-decoration: none; }
div#page_edit a:hover { color: white; }
div#page_edit span { font-size: .75em; }

/* Areas of Practice Page                                                   */

#areas_of_practice ul {
  list-style: none;
  font-size: small;
  font-weight: bold;
}

ul#areas_list {
  float: right;
  border: gray outset 2px;
  background: white;
  margin: 0 1em 1em 1em;
  padding: 1em;
  padding-left: 2em;
  list-style: disc;
}

ul.sublist {
  margin-left: .5em;
  padding-left: .5em;
}

/* Contact Us Page */
#contact_page h2{
  line-height:  0;
  font-size:  20px;
  font-weight:  bold;
  margin-top:  1em;
}

#contact_info table{
  width:  560px;
}

#contact_form table{
  width:  560px;
  margin-top:  .5em;
}

#contact_form td.label{
  text-align:  left;
  width:  160px;
}
#contact_form td.input{
  text-align:  right;
}

#contact_form #message{
  width:  560px;
}

#contact_info p{
  margin-left:  1em;
}

#contact_form{
  margin-top:  2em;
}

#contact_form .contact_field{
  width:  470px;
}

#contact_form #test{
  width:  560px;
  border:  1px solid black;
}

#google_map{
  float:  right;
}

/* Footer                                                                   */

#footer {
  margin-top: 1em;
  border-top: 2px solid black;
  padding-top: .5em;
}
#footer div.footer_sub {
  background: white;
  text-align: center;
  border: black solid 2px;
}
#footer div.legal {
  background: blue;
  color: white;
  text-align: center;
  border: gray ridge 2px;
}

#footer div.copyright { 
  text-align: right; 
  font-size:  small;
  margin-right: 1em;
}

/* Tablekit (table sorting, resizing, editing)                              */
.sortcol {
	cursor: pointer;
	padding-right: 20px;
	background-repeat: no-repeat;
	background-position: right center;
}
.sortasc {
	background-color: #DDFFAC;
	background-image: url(/images/up.gif);
}
.sortdesc {
	background-color: #B9DDFF;
	background-image: url(/images/down.gif);
}
.nosort {
	cursor: default;
}

/* Scaffolding                                                              */
/* TODO: Note, these styles came from the scaffolding generator.  We should */
/*       re-style them so that they make sense for us.                      */

.fieldWithErrors {
  padding: 2px;
  background-color: red;
  display: table;
}

#errorExplanation {
  width: 400px;
  border: 2px solid red;
  padding: 7px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  background-color: #f0f0f0;
}

#errorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #c00;
  color: #fff;
}

#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#errorExplanation ul li {
  font-size: 12px;
  list-style: square;
}

div.uploadStatus {
  margin: 5px;
}

div.progressBar {
  margin: 5px;
}

div.progressBar div.border {
  background-color: #fff;
  border: 1px solid gray;
  width: 100%;
}

div.progressBar div.background {
  background-color: #333;
  height: 18px;
  width: 0%;
}