/*
 * Copyright (c) 2005, 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 *
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * IBM Corporation - initial implementation
 */
body {
	background-image: none;
	background-color: #ffffff;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

p {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

h1 {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: large;
}

h2 {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 150%;
}

h3 {
	font-family: arial, helvetica, sans-serif, kanji2;
}

h4, h5, h6 {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 100%;
}

a:link {
	color: #003399;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-decoration: none;
}

a:active {
	color: #003399;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-decoration: underline;
}

a:visited {
	color: #003399;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-decoration: none;
}

a[href]:hover {
	color: #ff0000;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-decoration: underline;
}

ol {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	list-style-type: decimal;
	margin-left: 30px;
}

ol li {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-align: left;
}

ul {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	list-style-type: disc;
	margin-left: 30px;
	margin-top: 0px;
	padding-left: 0px;
}

ul li {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-align: left;
}

table {
	background-image: none;
	background: #ffffff;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;	
}

tbody {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	valign: baseline;
}

th {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-align: left;
}

td {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

td ul {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	margin-bottom: 0px;
	margin-left: 30px;
}

.pageTitle {
	background: #9999cc;
	color: #ffffff;
	font-size: 12pt;
	font-weight: bold;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 5px;
	text-align: left;
}

.pageTitleSeparator {
	background-color: #000000;
	padding: 0px;
}

.tab {
	background-color: #5c81a7;
	color: #ffffff;
	font-family: verdana, arial, sans-serif; 
	font-size: 11px;
	font-weight: bold;
}

.activeTab {
	background-color: #c8d7e3;
	color: #293d6b;	
	font-family: verdana, arial, sans-serif; 
	font-size: 11px;
	font-weight: bold;
}

a.tab:link, a.tab:active, a.tab:visited {
	color: #ffffff;
	font-family: verdana, arial, sans-serif; 
	font-size: 11px;
	font-weight: bold;
}

a.tab:hover {
	text-decoration: underline;	
}

.overview {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-weight: normal;
	padding-bottom: 10px;
	padding-left: 20px;
	padding-right: 0px;
	padding-top: 10px;
}

.overviewTable {
	background: #ffffff;
	width: 100%;	
}

.overviewTable td {
	padding: 5px 5px 5px 5px;
}

.overviewSeparator {
	background-color: #000000;
	padding: 0px;
}

.expandCollapseText {
	font-family: verdana, arial, sans-serif;
	font-size: 8pt;
	padding-left: 5px;
	padding-right: 5px;
}

.expandCollapseLink {
	color: #333333;
	padding-bottom: 5px;
	text-decoration: none;
}

.expandCollapseLink:hover {
	color: #0000ff;
	text-decoration: underline;
}

.expandCollapseLink:visited {
	color: #333333;
}

.sectionHeading {
	background-color: #98b1c4;
	color: #ffffff;
	cursor: hand;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-weight: bold;
	padding-bottom: 2px;
	padding-left: 2px;
	padding-top: 2px;
	text-decoration: none;
}

.sectionContent {
	padding-bottom: 0px;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 0px;
	text-align: left;
}

.sectionTable {
	border-bottom: #ccc solid 0px;
	border-left: #ccc solid 1px;
	border-right: #ccc solid 0px;
	border-top: #ccc solid 1px;
	border-top-color: #ccc;
	
	/*don't define padding in table, the behavior is different in IE and firefox. 
	 In IE, the padding is applied before the cell's background color is enforced.
	 in firefox, the padding is applied first, so leave the table's background inthe padding area.
	 Define the padding in the table cell instead, this works in both IE and mozilla
	 */
	padding: 0px 0px 0px 0px;	
	width: 100%;
}

.sectionTableHeading {
	background: #eee;
	border-bottom: #ccc solid 1px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 1px;
	border-top: #ccc solid 0px;
	color: #333333;
	height: 20;
	text-align: left;
	width: 20%;
	padding: 10px 10px 10px 10px;	

}

.sectionTableCellHeading {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 8pt;
	font-weight: normal;
	font-color: #666666;
	padding: 10px 10px 10px 10px;

}

.sectionTableCell {
	border-bottom: #ccc solid 1px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 1px;
	border-top: #ccc solid 0px;
	padding: 10px 10px 10px 10px;

}

.sectionTableSingleCell {
	border-bottom: #ccc solid 1px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 1px;
	border-top: #ccc solid 0px;
	padding: 10px 10px 10px 10px;
}

.breakdownTable {
	border-bottom: #ccc solid 0px;
	border-left: #ccc solid 1px;
	border-right: #ccc solid 0px;
	border-top: #ccc solid 1px;
	padding: 0px 0px 0px 0px;
	width: 100%;
}

.breakdownTable th {
	background: #eee;
	border-bottom: #ccc solid 1px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 1px;
	border-top: #ccc solid 0px;
	color: #333333;
	height: 20;
	text-align: left;
}

.breakdownTable td {
	border-bottom: #ccc solid 1px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 1px;
	border-top: #ccc solid 0px;
}

.defaultTable {
	border-bottom: #ccc solid 0px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 0px;
	border-top: #ccc solid 0px;
	padding: 0px 0px 0px 0px;
	width: 100%;
}

.defaultTable td {
	border-bottom: #ccc solid 0px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 0px;
	border-top: #ccc solid 0px;
	text-align: left;
}

.subSectionHeading {
	color: #333333;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-weight: bold;
	text-decoration: none;
}

.subSectionContent {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	text-decoration: none;	
}

.stepHeading {
	background-color: #ffffff;
	color: #293d6b;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-weight: bold;
	padding-bottom: 2px;
	padding-left: 2px;
	padding-top: 2px;
	text-decoration: none;
}

.stepContent {
	border-bottom: #ccc solid 0px;
	border-left: #ccc solid 0px;
	border-right: #ccc solid 0px;
	border-top: #ccc solid 0px;
	padding-bottom: 5px;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 0px;
	text-align: left;
}

.stepTable {
	border-bottom: #999999 solid 1px;
	border-left: #999999 solid 0px;
	border-right: #999999 solid 0px;
	border-top: #999999 solid 0px;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 10px;
	width: 100%;
}

.stepTable td {
	border: #ccc solid 0px;
}

.stepSeparator {
	background-color: #cccccc;
	padding: 0px;
}

.backToTopLink {
	color: #fffff;
	font-family: verdana, arial, sans-serif;
	font-size: 8pt;
	font-weight: normal;	
	margin: 0px;
	padding-bottom: 10px;
	text-align: middle;	
	text-decoration: none;
}

.backToTopLink:hover {
	color: #969;
	text-decoration: underline;
}

.backToTopLink:visited {
	color: #5c81a7;
	text-decoration: none;	
}

.copyright {
	color: #7080b0;
	font-family: verdana, arial, sans-serif;
	font-size: 8pt;
	font-weight: normal;
	padding-left: 0px;
	padding-right: 10px;
	padding-top: 25px;
	text-align: left;
	width: 100%;
}

.versionInfo {
	color: #7080b0;
	font-family: verdana, arial, sans-serif;
	font-size: 8pt;
	font-weight: normal;
	padding-left: 10px;
	padding-right: 0px;
	padding-top: 25px;
	text-align: left;
}

.quote {
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
	font-style: italic;
}

.codeSample {
	font-family: courier;
	font-size: 10pt;		
}

.elementLink {
	color: #0000ff;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

.elementLinkWithType {
	color: #0000ff;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

.elementLinkWithUserText {
	color: #0000ff;
	font-family: arial, helvetica, sans-serif, kanji2;
	font-size: 10pt;
}

#results {
 	border-top: thin solid black;
	margin: 10px auto 10px auto;
	max-width: 590px;
	padding: 10px;
  	position: relative;
	text-align: left;
	width: expression((document.body.clientWidth-30)+'px');
}

/*
.contentToolbarIcon {
	color: #ffffff;
	text-decoration: none;
	margin: 0px;
	padding: 0px;	
}

.contentToolbarIcon img {
	cursor: pointer;
	margin: 0px;
	padding: 0px;
	border: 0px;
}


.contentToolbarIcon a:link {
	color: #ffffff;
	text-decoration: none;
}


.contentToolbarIcon a:active {
	color: #ffffff;
	text-decoration: none;
}


.contentToolbarIcon a:visited {
	color: #ffffff;
	text-decoration: none;
}


.contentToolbarIcon a:hover {
	color: #ffffff;
	text-decoration: none;
}

.contentToolbarIcon a[href]:hover {
	color: #ffffff;
	text-decoration: none;
}
*/
