/**************************************************************
 * 
 * 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.
 * 
 *************************************************************/

a:link { color: #107EC0; text-decoration: none; }
a:visited { color: #638093; text-decoration: none; }
a:hover { color: #107EC0; text-decoration: underline; }

.sdkbody { background-color: #FFFFFF;
	   color: #333333;
	   margin-top: 0;
	   margin-bottom: 0;
	   margin-left: 0;
	   margin-right: 0;
	   font-family: Arial, Helvetica, sans-serif; }

.note { font-size: 20px;
	font-weight: bold;
	font-style: italic;
	text-align: center; }

.table1 { width: 100%;
	  border-style: none;
	  border-spacing: 0;
	  padding: 0; }

.table2 { width: 100%;
	  border-style: none;
	  border-spacing: 8px;
	  padding: 5px; }

.table3 { width: 100%;
	  border-style: none;
	  border-spacing: 0px 6px;
	  padding: 0; }

.table4 { width: 100%;
	  border-width: 1px;
	  border-style: solid;
	  border-color: #555555;
	  border-spacing: 0;
	  border-collapse: collapse; }

.cell15 { width: 15%;
	  border-width: 1px;
	  border-style: solid;
	  border-color: #555555;
	  border-spacing: 0;
	  border-collapse: collapse;
	  padding: 4px; }

.cell20 { width: 20%;
	  border-width: 1px;
	  border-style: solid;
	  border-color: #555555;
	  border-spacing: 0;
	  border-collapse: collapse;
	  padding: 4px; }

.cell80 { width: 80%;
	  border-width: 1px;
	  border-style: solid;
	  border-color: #555555;
	  border-spacing: 0;
	  border-collapse: collapse;
	  padding: 4px; }

.cell85 { width: 85%;
	  border-width: 1px;
	  border-style: solid;
	  border-color: #555555;
	  border-spacing: 0;
	  border-collapse: collapse;
	  padding: 4px; }

.nothing1 { width: 20px;
	    height: 1px; }

.nothing8 { width: 20px;
	    height: 8px; }

.nothing10 { width: 20px;
	     height: 10px; }

.nothing30 { width: 20px;
	     height: 30px; }

.appicon { width: 32px;
	   height: 32px;
	   border: 0; }

.line { width: 100%;
        height: 1px; }

.arrow { width: 16px;
	 height: 13px; }

.head1 { font-size: 20px;
         font-weight: bold; }

.head2 { font-size: 18px;
         font-weight: bold; }

.head3 { font-size: 17px;
         font-weight: bold; }

.head4 { font-size: 16px;
         font-weight: bold; }

.thead { font-weight: bold;
         background-color: #89B3CD; }

.navigate { border: 0; }

.content1 { width: 1%; }
.content3 { width: 3%; }
.content4 { width: 4%; }
.content10 { width: 10%; }
.content20 { width: 20%; }
.content70 { width: 70%; }
.content75 { width: 75%; }
.content80 { width: 80%; }
.content87 { width: 87%; }

.centertext { padding-left:20px; padding-top:3px; padding-bottom:5px; text-align:left; font-size: 12px; line-height:10pt; }
.apachelogo { float: right; text-align: left; padding-bottom: 12px; padding-right: 8px; padding-left: 5px; width: 188px; height: 76px; }
