body {
  margin: 0;
  padding: 0;
  background-color: #d5dbe1;
  color: black;
  font-family: arial, helvetica, serif;
}

a:link, a:visited {
  color: blue;
  text-decoration: none;
}

a:hover {
  color: teal;
  text-decoration: underline;
	border: 0;          /* Required to fix border hover bug */
}

#navbar ol, ul, li {
  border: 0;
  padding: 0;
  margin: 0;
	position: relative;
}

p {
	margin-top: 0;
	clear: none;
}

h1, h2, h3, h4, h5, h6 {
	clear: right;
}

h1 {
	font-size: 38px;
  margin: 0;
}

h2 {
	font-size: 1.4em;
  margin: 0;
}

h3 {
	font-size: 1.3em;
	margin-bottom: 0;
}

h4 {
	font-size: 1.2em;
	margin-bottom: 0;
}

h5 {
	font-size: 1.1em;
	margin-bottom: 0;
}

h6 {
	font-size: 1.0em;
	margin-bottom: 0;
}

hr {
	clear: both;
}

dt {
	font-weight: bold;
}

dd {
	font-style: italic;
	font-size: 0.8em;
	margin-bottom: 1em;
}

dd li {
	margin-left: 2em;
}

code {
	text-align: left;
}

#container {
  padding: 0;
  margin: 0;
}

#bigheader {
  position: relative;					/* Required to fix bug */
  padding: 10px;
  margin: 0;
  height: 88px;
  font-size: 11px;
  text-align: right;
}

#bigheader img {
  float: left;
}

#bigheader p {
  display: block;
  position: absolute;
  bottom: 0px;
  right: 0px;
  margin: 10px;
}

#smallheader {
  position: relative;					/* Required to fix bug */
  padding: 10px;
  margin: 0;
  height: 44px;
  text-align: left;
}

#smallheader img {
	display: block;
  position: absolute;
  bottom: 0px;
  right: 0px;
  margin: 10px;
}

#smallheader h1 {
	position: absolute;
	top: 0;
	left: 0;
	margin: 10px;
	padding: 0;
}

#navbar {
	float: left;
	width: 7.5em;
}

#navbar ul {
	list-style: none;
	padding: 5px;
	padding-bottom: 0;
	text-align: center;
	font-weight: bold;
}

#navbar li {
  display: inline;
	padding: 0;
	margin: 0;
}

#navbar li a {
	position: relative;
  display: block;
  padding: 0.2em;
  background: #e1e1ff;
  border-top: 1px solid gray;
  border-left: 1px solid gray;
  border-right: 3px solid gray;
  border-bottom: 3px solid gray;
  margin-bottom: 6px;
}

#navbar li a:hover {
  display: block;
  border: 2px solid gray;
  text-decoration: none;
	background: #b9d1f0;
}

#searchbox {
	margin: 5px;
	padding: 0.2em;
	border: 3px solid gray;
	background: #b9d1f0;
	display: none;
}

#searchbox form {
	text-align: center;
	margin: 5px;
}

#searchbox form input {
	width: 90%;
}

#content {
  position: absolute;					/* Required to fix bug */
	padding: 1em;
  background: white url("topleftcorner.png") no-repeat;
  text-align: justify;
	left: 7.5em;
	right: 0;
}

#content p {
	clear: none;
}

#content code {
	text-align: left;
}

#content ul {
	margin-left: 2em;
}

img {
  float: right;
  margin-left: 1em;
}

a:link img, a:visited img {
  border: 2px solid white;
}

a:hover img{
  border: 2px solid blue;
}

#content .thumbs a {
	float: left;
	margin: 0 1em 1em 0;
}

#content .thumbs img {
	float: none;
	margin: 0;
}

#content .news {
	background: #d5dbe1;
	border: 2px solid gray;
	text-align: center;
	margin-right: 10em;
	clear: none;
	padding: 0.5em;
}

#content #ad {
	font-weight: bold;
	text-align: center;
	border: 2px solid gray;
	background: #d5dbe1;
	width: 650px;
	padding: 1em;
	clear: both;
	margin-left: auto;
	margin-right: auto;
}

#content #ad img {
	clear: none;
	margin-left: auto;
	margin-right: auto;
	float: none;
}

#updates {
	text-align: right;
	float: right;
	border: 2px solid lime;
	background: #cfc;
	margin: 0 0 1em 1em;
	padding: 0.5em;
	width: 8em;
}

#updates h1 {
	font-size: 1em;
}

#updates h2 {
	font-size: 0.8em;
	margin: 0.5em 0 0 0;
}

#updates p {
	font-size: 0.7em;
	margin: 0;
}

.contact {
	float: left;
	margin: 1em 0 1em 0;
	width: 17em;
	font-size: 0.8em;
}

.generalcontact {
	margin: auto;
	border-collapse: collapse;
}

#products a {
	float: left;
	margin: 0 1em 1em 0;
	text-align: center;
	width: 9.5em;
	height: 9.5em;
	padding: 0.5em;
	font-size: 0.8em;
	color: black;
	font-weight: bold;
	background: #e1e1ff;
  border: 2px solid silver;
}

#products a:hover {
  text-decoration: none;
	color: black;
  border: 2px solid blue;
	background: #b9d1f0;
}

#products img {
	display: block;
	float: none;
	margin: 0 auto 0 auto;
	border: 0;
}

#products a:hover img {
	display: block;
	margin: 0 auto 0 auto;
	text-decoration: none;
	border: 0;
}

#products h2 {
	clear: both;
}

#productgallery {
	display: block;
	float: right;
	border: 2px solid silver;
	margin: 0 0 1em 1em;
	padding: 0;
	width: 130px;
	background-color: #d5dbe1;
}

#productgallery img {
	display: block;
	float: none;
	margin: 3px auto 2px auto;
}

#productgallery a:link img, #productgallery a:visited img {
	border: 2px solid #d5dbe1;
}

#productgallery a:hover img {
	border: 2px solid blue;
}

#productpage h2, #productpage h3, #productpage h4, #productpage h5, #productpage h6, #productpage p, #productpage table {
	clear: none;
}

#productpage ul {
	list-style: disc;
	margin-left: 2em;
	margin-bottom: 1em;
}

#productpage table {
	margin: 0 auto 1em auto;
	border-collapse: collapse;
	text-align: center;
}

#productpage caption {
	font-weight: bold;
	text-align: center;
	border: 1px solid gray;
	border-bottom: 0px;
	background: #d5dbe1;
	margin: auto;
	padding: 0.3em;
}

#productpage th {
	background:	#d5dbe1;
	text-align: center;
	padding: 0 1em 0 1em;
	font-weight: normal;
	font-style: italic;
}

#productpage td, #productpage th {
	border: 1px solid gray;
	padding: 0.2em;
}

#productpage .partslist {
	text-align: left;
}

.video_icon {
	float: left;
	margin: 0 0.5em 0.4em 0;
}

.video_caption {
	font-style: italic;
	font-size: small;
}

.cellbutton {
	text-align: center;
	background: #e6ecf2;
}

#productpage table .cellbutton img {
	float: right;
}

.cellbutton a img, .cellbutton a:visited img {
	border: #e6ecf2;
}

.cellbutton a:hover img {
	border: blue;
}

#productpage table img {
	float:none;
	margin: auto;
}

#disclaimer {
	font-size: 0.7em;
	font-style: italic;
	margin: 0;
}

#linkline {
	font-size: 0.8em;
}

.costcolumn {
	text-align: right;
}

#buy {
	clear: both;
}

#footer {
  text-align: center;
  font-size: 0.7em;
}

.demo {
	border: 2px dashed gray;
	padding: 2px;
}

.form_label {
	font-weight: bold;
	text-align: right;
	vertical-align: middle;
	font-size: 0.8em;
}

.form_field {
	color: red;
	font-size: 0.6em;
}

@media print {
	#navbar {
		display: none;
	}
	
	#content {
		position: static;
	}
	
	#content p {
		clear: none;
	}
	
	#productgallery {
		display: none;
	}
	
	#updates {
		display: none;
	}
	
	#bigheader {
		font-size: 10px;
	}
	
	.cellbutton {
		display: none;
	}
}
