/*******************************************************************************
 * Copyright (c) 2004, 2011 Ministry of Internal Affairs and Communications, 
 * 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 API and implementation
 *   Ministry of Internal Affairs and Communications - update
 *******************************************************************************/

body {
  font-family: sans-serif;
  background-position: top left;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

th, td { /* ns 4 */
  font-family: sans-serif;
}

h1, h2, h3, h4, h5, h6 { text-align: left }
h1 { font: bold 170% arial }
h2 { font: bold 140% arial }
h3 { font: bold 120% sans-serif }
h3.bullet { font: normal 100% sans-serif; margin-top: 0; margin-bottom: 3px; margin-left: 1em; }
h3.menudesc { font: bold 100% sans-serif }
h4 { font: bold 100% sans-serif }
h5 { font: italic 100% sans-serif }
h6 { font: small-caps 100% sans-serif }

pre { margin-left: 2em }

dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */
dt {
	font-weight: bold;
	margin-top: 12px;
}

pre, code {
	font-family: monospace;
} /* navigator 4 requires this */

ul.bullet {
  margin-top: 0;
  margin-bottom: 3px;
}

ul.toc {
  list-style: disc;		/* Mac NS has problem with 'none' */
  list-style: none;
}

ul.related {
  list-style: disc;		/* Mac NS has problem with 'none' */
  list-style: none;
  margin-left: 1em;
}

ul.left {
  list-style: disc;
  list-style: none;
  margin-left: 0;
}

ul.left li{
  margin-left: 0;
  margin-bottom: 1em;
}

ul.space li{
  margin-bottom: 1em;
}

ul.nospace li{
  margin-bottom: 0em;
}

ol ul.nospace li{
  margin-bottom: 0em;
}

ol.space li{
  margin-bottom: 1em;
}

DIV.figure{
	text-align: center;
	margin: 10px;
}
DIV.figure SPAN{
	font-weight: bold;
}

UL.icons{
	list-style-type: none;
}

DIV.logo{
	text-align: right;
}

DIV.footnote{
    margin-left: 10px;
	font-size: small;
}


H1.related {
	font-size: medium;
	border-top-style: solid;
	border-top-width: thin;
}



@media aural {  
  h1, h2, h3 { stress: 20; richness: 90 }
  .hide { speak: none }
  p.copyright { volume: x-soft; speech-rate: x-fast }
  dt { pause-before: 20% }
  pre { speak-punctuation: code } 
}

img { margin-bottom: 3px; }

img.border {
	border-style: solid; 
	border-width: 1px;
	padding: 3px;
	 }

img.border-nopad {
	border-style: solid; 
	border-width: 1px;
	padding: 0;
	 }

p.trademark {
	font-size: small;
}

p.footer{
  border-top: 1px solid #2f4e6f;
  font-family: arial;
  font-size:small;
  font-weight: bold;
  margin: 15px 5px 5px 5px;
  padding: 5px 20px 5px 5px;
  text-align:right;
}

.license {
  font-size: small;
}