/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

body {
  color: white;
  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
  font-size: 12pt;
  margin: 0;
}

#bannera {
  height: 105px;
  padding: 0 0 0 8px;
  color: black;
  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
  font-size:12pt;
  vertical-align: middle;
}

#bannerright {
  text-align: right;
  float: right;
/*   padding: 0 20pt 4pt 16pt; */
/*   width: 220px; */
	padding: 1em;
}

#bannercenter {
  padding: 24pt 2pt 14pt 2pt;
  color: #107EC0;
  vertical-align: middle;
}

#bannerleft {
  text-align: left;
  float: left;
}

#languagesdiv {float: right; padding: 1em; font-size: 0.9em; color:gray; border-left:solid 1px #ccc;}
#selectlanguage {padding: 1px; margin: 1px;} /* equal height as of the search button */
#searchdiv {font-size: 0.9em;} /* eq. positioning as for the languages div */


a {
  color: #107EC0;
}

a:visited {
 color: #107EC0;
}

a:hover {
 color: #107EC0;
 text-decoration:underline;
}

a img { border: none; }

h1,h2,h3,h4,h5,h6 {
  color: #333333;
  /* text-transform:uppercase; */
}

#clear {
  overflow: auto;
  clear: both;
}

#announce a:hover {
 background-color: #e6ebed;
 padding: 0px 2px 0px 2px;
 text-decoration:underline;
}

#announce {
  height: 22pt;
  margin: 0px 0px 5px 0px;
  padding: 0px 0px 0px 0px;
  color: black;
  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
  font-size:18pt;
  text-align: center;
  font-weight: bold;
  clear: both;
}

#content {
  margin: 0 32px 20px 32px;
  padding: 12px 8px 32px 8px;
  color: #333;
  overflow: auto;
}

#content h1,h2,h3,h4,h5,h6 {
  font-weight: normal;
  text-transform:none;
  margin: 11px 0 15px;
  padding: 0px;
}

#content h1 {
  font-size: 1.4em;
  padding: 0px;
  border-top: 0px solid #a3afb6;
}

#content h2 {
  font-size: 1.2em;
}

.legacy {
  font-size: 1.2em;
  color: #C44B01;
  margin: 0 0 0.5em 0;
}  

#content h3,h4,h5,h6 {
  border-bottom: none;
  font-size: 1em;
  margin-bottom: 0;
}

#content li {
  margin-bottom: 0.5em;
}

#contenta {
  margin: 0 150px 20px 250px;
  padding: 0 8px 40px;
  color: #333;
}

#contenta h1,h2,h3,h4,h5,h6 {
  font-weight: normal;
  margin: 10px 0 15px;
  padding: 5px 0;
}

#contenta h1 {
  font-size: 1.4em;
  padding: 15px;
  border-top: 1px solid #a3afb6;
}

#contenta h2 {
  font-size: 1.2em;
  margin-top: 2em;
  border-bottom: 1px solid #a3afb6;
}

#contenta h3,h4,h5,h6 {
  border-bottom: none;
  font-size: 1em;
  margin-bottom: 0;
}

#contenta li {
  margin-bottom: 0.5em;
}

#contenta a:hover {
 color: #107EC0;
 text-decoration:underline;
 background-color: #e6ebed;
}

table {
  border-collapse:collapse;
  margin: auto;
}

th {
  height: 40px;
  background: #f5f8fa;
  border: 1px solid #a3afb6;
  vertical-align: middle;
  font-size: 0.9em;
}

td {
  vertical-align: top;
  border: 1px solid #a3afb6;
  padding: 0.4em 0.5em 0.4em 0.5em;
  font-size: 0.9em;
}

.w140 {
  width: 140px;
}

.w160 {
  width: 160px;
}

.w180 {
  width: 180px;
}

.w200 {
  width: 200px;
}

.w220 {
  width: 220px;
}

.codehilite {
  background-color: #80FFFF;
  padding: 0.01em 1em;
  border-radius: 10px;
}

#topbara{
  border-top: 1px solid #c6cbdd;
  border-bottom: 1px solid #c6cbdd;
  height: 24pt;
  background-color: #f5f8fa;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  color: black;
  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
  font-size:14pt;
  vertical-align: middle;
  clear: both;
}

#breadcrumbsa {
  margin: 4px 0px 4px 0px;
  padding: 4px 8px 3px 18px;
  background-color: #f5f8fa;
  color: #333;
  font-size: 14px;
  float: left;
}

#breadcrumbsa a {
  margin: 0;
  padding: 2px;
  background-color: #f5f8fa;
  text-decoration:none;
}

#breadcrumbsa a:hover {
 color: #107EC0;
 background-color: #e6ebed;
 text-decoration:underline;
}

#topnava {
  margin: 4px 0px 4px 0px;
  padding: 4px 12px 3px 8px;
  color: #333;
  font-size: 14px;
  text-align: right;
  float: right;
}

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

#topnava li {
  padding: 0 4px 0 8px;
  border-left: 1px solid #c6cbdd;
  display:inline;
}

#topnava a {
  margin: 0;
  padding: 0px;
  background-color: #f5f8fa;
  text-decoration:none;
}

#topnava a:hover {
 color: #107EC0;
 background-color: #e6ebed;
 text-decoration:underline;
}

#leftnav {
  border: 1px solid #c6cbdd;
  border-left: none;
  border-top: none;
  -moz-border-radius: 0 0 10px 0;
  border-radius: 0 0 10px 0;
  color: #003;
  float: left;
  padding: 15px 15px 5px 20px;
  width: 150px;
  background: none repeat scroll 0 0 #f5f8fa;
  margin: 0 12px 20px 0;
}

#leftnav img {
  padding-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

#leftnav h1 {
  color: #333333;
  font-size: 1em;
  padding: 0;
  margin-top: 0.8em;
  margin-bottom: 0;
  border-bottom: 1px solid #555555;
}

#leftnav ul {
  margin: 0 0;
  padding: 0px 15px 0px 0px;
  list-style: none;
}

#leftnav li {
  border-bottom: 1px solid #c6cbdd; 
  margin: 0.2em 0;
  padding: 0;
}

#leftnav li a {
  margin: 0;
  text-decoration:none;
}

#leftnav li a:hover {
  color: #107EC0;
  background-color: #e6ebed;
  text-decoration:underline;
}

#rightnav {
  border: 1px solid #e6ebed;
  border-right: none;
  -moz-border-radius: 0 0 0 10px;
  border-radius: 0 0 0 10px;
  color: #003;
  float: right;
  padding: 15px 20px 5px 15px;
  width: 150px;
  background: none repeat scroll 0 0 #f5f8fa;
  margin: 0 0 20px 12px;
}

#rightnav img {
  padding-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

#rightnav h1 {
  color: #000;
  font-size: 1em;
  padding: 0;
  margin-top: 0.8em;
  margin-bottom: 0;
  border-bottom: 1px solid #a3afb6;
}

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

#rightnav li {
  border-bottom: 1px solid #e6ebed; 
  margin: 0.2em 0;
  padding: 0;
}

#rightnav li a {
  margin: 0;
  text-decoration:none;
}

#rightnav li a:hover {
  color: #107EC0;
  background-color: #e6ebed;
  text-decoration:underline;
}

#navigation {
  border: 1px solid #e6ebed;
  border-left: none;
  -moz-border-radius: 0 10px 10px 0;
  border-radius: 0 10px 10px 0;
  font-size: 0.9em;
  color: #003;
  float: left;
  padding: 15px 15px 5px 25px;
  width: 180px;
  background: none repeat scroll 0 0 #f5f8fa;
  margin: 0 0 20px 0;
}

#navigation img {
  padding-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

#navigation h1 {
  color: #000;
  font-size: 1em;
  padding: 0;
  margin-top: 0.8em;
  margin-bottom: 0;
  border-bottom: 1px solid #a3afb6;
}

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

#navigation li {
  border-bottom: 1px solid #e6ebed; 
  margin: 0.2em 0;
  padding: 0;
}

#navigation li a {
  margin: 0;
  text-decoration:none;
}

#navigation li a:hover {
 color: #107EC0;
 background-color: #e6ebed;
}

#footera {
  margin: 20px 0px 0px 0px;
  padding: 8px 0px 12px 0px;
  border-top: 2px solid #ccc;
  color:#666;
  font-size: 8pt;
  padding: 0 8px;
  text-align: left;
  overflow: auto;
  clear: both;
  line-height: 10pt;
}

#copyrighta {
}

#copyrighta p {
  padding-left: 20px;
  line-height: 10pt;
  padding-bottom: 5px;
}

#copyrighta a {
 color: #107EC0;
 text-decoration:none;
}

#copyrighta a:hover {
 background-color: #e6ebed;
 text-decoration:underline;
}

#asfbanner {
  float: left;
  text-align: left;
  margin-top: 10px;
  margin-right: 5px;
  width: 265px;
  height: 100px;
}

#poweredbya {
  float: right;
  text-align: right;
  width: 210px;
  height: 100px;
}

#asf-logo {
  width: 180px;
  padding-top: 8px;
}

#ooo-logo {
  /*height: 100px;*/
  padding-top: 4px;
  padding-left: 8px;
  vertical-align: middle;
}

input {
  border: 1px solid #999;
  background-color: #EEE;
  padding: 1px;
}

.topsrchbox {
  /*width: 220px;
  padding-right: 20px;
  text-align: right;
  */
  
}

.topsrchbutton {
  cursor: pointer;
  /* height: 24px; */
  /* width: 60px; */
  margin: 0 0 0 3px;
  /* border: outset; */
  color: #666666;
  /* border-width: 2px; */
  padding: 2px;
}

#query {
  width: 130px;
  border: 1px solid #C6CBDD;
  padding: 2px;
}

/* definition lists */
dd {}
dl {}
dt {
  display: inline;
  float: left;
}

.rfloatimg {
    margin: 10px;
    float: right;
}
