body {
	font-family: Helvetica, FreeSans, Arial, sans-serif;
	color:#000000;
	margin:0px;
	padding:0px;
	border-width:0px;
	font-weight:normal;
	background-color: #CBD9E3;
}

a:link {
	color:#3854C6;
	text-decoration:none;
}
a:visited {
	color:#0033FF;
	text-decoration:none;
}
a:active {
	color:#0033FF;
	text-decoration:none;
}
a:hover {
	color:#0066FF;
	text-decoration:underline;
}

a img {
	border: none;
}

table {
	empty-cells: show;
	table-layout: fixed;
	border-collapse: collapse;
}

/* Page top */

div#teaser {
	text-align: center !important;
	overflow: hidden;
	padding-top: 24px !important; /* G+ */
}
div#teaser img {
	padding: 0 0 0 7px;
}

div#hbar {
	height: 0px; /*1.54em;*/
	width:100%;
}
div#hbar div:first-child {
}

/* Basic menu panel appearance */

div#lbar {
	z-index: -1;
	width: 10em; /* matches menu */
	height: 100%;
	position: fixed;
}

div#lbar div {
	height: 100%;
}

div#menu,
div#menu li:hover ul.other,
div#menu li ul.other:hover {
	width: 12.5em; /* see also div#main */
}

div#menu {
	position: fixed;
	top: 0px;
	clear: left;
	display: inline;
	float: left;
	font-size: 0.8em;
}
div#menu #menu-image img {
	padding-top: 0.5em;
	width: 11.5em;
}

div#menu, div#menu ul, div#menu li {
	padding: 0;
	margin: 0;
}

div#menu > ul > li {
	width: 100%;
}

div#menu #menu-image,
a#lbar-border,
a#lbar-border-bottom,
div#lbar div,
div#menu a[href],
div#menu li ul {
	border-width: 1px;
	border-style: solid;
	border-color: #FFF #AAA #AAA #FFF;
	background-color: #CBD9E3;
}

a#lbar-border {
	height: 1px;
	border-bottom: none;
}
a#lbar-border-bottom {
	position: fixed;
	left: 0px;
	bottom: 0px;
	border-top: none;
	width: 11.333333333em; /* why 11⅓? */
}

div#menu a {
	z-index: 100;
	display: block;
	padding: 0.1em 0.5em;
	color: #000000;
	text-decoration: none;
}

div#menu ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

/* Menu panel: current page */

div#menu li.current > a {
	background-color: #EEFFDD;
	color: #008800;
}

div#menu ul.current li {
	margin-left: 1.2em;
}

/* Menu panel: hidden submenu items */

div#menu ul.other {
	padding-left: 0px;
	margin-left: -1.2em;
}

div#menu ul.other li {
	display: none;
}

div#menu ul.other {
	display: inline;
	margin: 0em;
	position: absolute;
	left: 100%;
	top: inherit;
	width: auto;
}

div#menu li ul.other {
	margin-top: -1.6em;
	border: none;
}

div#menu ul.other:before {
	margin-left: -1em;
	color: blue;
	content: "▶";
}

/* Menu panel: hover */

div#menu a[href]:hover {
	background-color: #F3F3E6;
}

div#menu li:hover ul:before {
	display: none;
}

div#menu li:hover ul.other li,
div#menu li ul.other:hover li {
	display: block;
}

/* Menu panel: images */

div#menu li.logo {
	text-align: center;
	line-height: 1;
}

div#menu li.logo a {
	padding: 0px;
}

div#menu li.logo img {
	padding: 4px 0px;
	margin: 0px;
}

#plusone {
	position: absolute;
	top: 2px;
	right: 2px;
}

a#googlepagelogo img {
	width: 16px;
	height: 16px;
	vertical-align: middle;
}

img#fmlogo {
	width: 85px;
	height: 38px;
}

img#aliothlogo {
	width: 120px;
	height: 21px;
}

img#sflogo {
	width: 120px;
	height: 30px;
}

img#ioslogo {
	width: 73px;
	height: 49px;
}

img.w3logo {
	width: 88px;
	height: 31px;
}

/* Main content */


div#main,
div#footer {
	background-color: #F2F2E6;
}

div#main {
	vertical-align:top;

	border-width: 0;
	padding: 0px;
	margin: 0px 0px 0px 10em; /* calculated from div#menu */

	text-align:justify;

	color:#000000;
	background: url("/images/teaser-fill.png") repeat-x #F2F2E6;
}

div#main div {
	padding: 1px 8px 8px 8px; /* 1px else we may get wrong colouring! */
	margin: 0px;
}

div#main p,
div#main ul,
div#main ol,
div#main dl
{
	max-width: 64em;
}

span.news-date {
	font-size: 0.8em;
	font-style: italic;
	font-weight: bold;
	color: #555555;
}

span.news-title {
	font-weight: bold;
	color: #003300;
}

h1 {
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: bold;

	padding-left: 15px;
	background-image: url(/images/square.png);
	background-repeat: no-repeat;
	background-position: 1px center;

	border-bottom: 1px dashed #CCC;
	margin-bottom: 1em;
}

/* letter spacing for most headings */
h1, h2, h3, h4, h5, h6, span.news-title, div#main div.book h1 {
	letter-spacing: 2px;
}

/* no extra letter spacing here... */
div#main div.book * {
	letter-spacing: 0px;
}

/* Ugh. Too much spacing/indentation in DocBook-generated XHTML. */
div#main div.book div {
	margin: 0px;
	padding: 0px;
}

/* Need to suppress this <hr/>... */
.book > .titlepage > hr {
	display: none;
}

/* Stupid DocBook. The <dt> elements should have class="sect1" etc. */
.toc dt {
	font-weight: bold;
	margin-top: 0.3125em;
}

.toc dl dl dt {
	font-weight: normal;
	margin-top: 0px;
}

p {
	margin-top: 0.625em;
	margin-bottom: 0.625em;
}

.releases {
	width: 100%;
	margin: 0.5em 0px 0.5em 0px;
	padding: 0px;
	text-align: center;
}

.release-title, .release-links {
	margin: 0.5em 0px 0.5em 0px;
}

.release-title, th {
	background-color: #EAEADE;
}

.release-title td, .release-links td {
	margin: 0.5em 0px 0.5em 0px;
	text-align: center;
	vertical-align: top;
}

.grey-border, .grey-border td, .grey-border th {
	border: 1px solid #AAAAAA;
}

/* Page footer */

div#footer {
	margin: 0px 0 0 10em; /* calculated from div#menu */
	padding: 15px 0 0 0;
	text-align: right;
	vertical-align: bottom;
	min-height: 32px; /* for the background image */
	background: url("/images/footer-fill.png") bottom repeat-x #F2F2E6;
}

div#footer #lbar-bottom {
	display: block;
	width: 10em;
	height: 1px;
	padding: 0px;
	margin: 0px;
}

div#footer #lbar-bottom span {
	display: block;
	border-top: none;
}

div#footer .content {
	display: block;
	padding:5px;
	color:#000000;
	vertical-align:top;
	font-size:0.8em;
	clear: both;
}

/* Misc */

img.screenshot {
	margin:0px;
	padding-left:8px;
	padding-top:0px;
	padding-right:0px;
	padding-bottom:8px;
	float:right;
}

dl.spaced dt {
	margin-top: 0.5em;
}
