/*
 * Copyright (c) 2005, 2006 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
 */

 /* this is a border style for the top menu box */
 .boxthin {
	border-color: #E9E9E9;
	border-style: solid;
	border-width: thin;
	float: left;
	margin-bottom: 1em;
	margin-top: 1em;
	padding: 1em;
	width: 275px;
}

 /* this is a container to keep the top menu isolated from material below it */
.container {
	clear: both;
	width: 100%;
}

 /* a simple inset for blocked elements to indent */
.inset {
	clear: both;
	margin-left: 13px;
	margin-top: 4px;
	width: 100%;
}

.midalign {
	vertical-align: middle;
}

 /* an empty element for the benefit of I.E. 5+ so that the top menu is constrained to left */
.spacing {
	clear: right;
	float: right;
	width: 100px;
}

 /* The classes below all relate to the upper right button on the nav frame*/

.whrbtn {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.whrbuttonbg {
	background-color: #FBFBFB;
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 9px;
	font-weight: 600;
}

.whrbuttonhighlight {
	background-color: #CBCBCB;
}

.whrbuttonshadow {
	background-color: #686868;
}

.whrmargin{
	background-color: #EFEFEF;
}

.whrmarginbrdr {
	background-color: #DEDEDE;
}

 /* This class is provided for netscape so that the scroll bar doesn't cover the button. An image inside of a div helps push the button to the left. Here the div is simply turned off since it is unneeded */
.whrspacer {
	position: absolute;
	visibility: hidden;
}
