/*
 * General
 */

html, body							{ margin: 0; padding: 0; }

body								{ font: 10pt/1.5em Arial, Helvetica, sans-serif; color: #000; }

#container							{ /* no background (inline styles set an background image) */ background: none !important; }


/*
 * Basic styles
 */

/* headings */
h1								{ margin: 15px 0; font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif; color: #000; }
h2								{ margin: 15px 0 5px 0; font: 18px "Trebuchet MS", Arial, Helvetica, sans-serif; color: #EF4338; }
h2 a								{ color: #EF4338; text-decoration: none; }
h3								{ margin: 10px 0 0 0; font-size: 10pt; line-height: 1.5em; }

/* content elements */
p								{ margin: 0 0 10px 0; }
p.info								{ margin-bottom: 0; }
ul								{ margin: 0 0 10px 0; padding: 0; }
ul li								{ list-style-type: none; padding-left: 18px; background: url("/data/images/bullet.gif") no-repeat 5px 7px; }
ul ul								{ margin-bottom: 0; }

/* list with references (images), which will be floated into a grid */
ul.references							{ margin-top: 10px; }
ul.references li						{ float: left; padding: 0; background: none; /* removes extra space */ font-size: 0; line-height: 0; }
ul.references img						{ padding: 6px; margin: 5px 15px 10px 0; }

/* tables */
table								{ margin: 0 0 10px 0; width: 100%; border-collapse: collapse; /* tables don't always inherit from body */ font: 10pt/1.5em Arial, Helvetica, sans-serif; }
table th,
table td							{ padding: 0; }
table th							{ text-align: left; }

/* tables */
table.overview th,
table.overview td						{ padding: 2px 4px; border-bottom: 1px solid #E1E5E5; }
table.overview th						{ background: #E1E5E5; }
table.overview tr td						{ border-left: 1px solid #E1E5E5; text-align: center; }
table.overview tr td:first-child				{ border-left: none; text-align: left; }
table.overview tr.even td					{ background: #F3F5F4; }
table.overview thead td						{ font-weight: bold; background: #66746C; color: #FFF; }
table.overview img						{ border: none; }

/* address is used on the contact page */
div.address-container						{ width: 200px; float: left; margin-bottom: 15px; }
address								{ /* opera has padding */ padding: 0; /* is italics by default */ font-style: normal; }

/* labels in-text for "Tel", "Fax" and "Email" */
span.label-telfax						{ display: inline-block; width: 28px; }
span.label-email						{ display: inline-block; width: 65px; }

/* horizonal rule is placed before H2 tags (NOTE: Not only within #content) */
hr								{ background: #E1E5E5; border: none; border-bottom: 1px solid #E1E5E5; margin: 15px 0; height: 0; font-size: 0; }
hr+h2								{ /* place closer to hr */ margin-top: 5px !important; }

/* base link styles */
a								{ color: #4478DB; text-decoration: underline; }

/* images */
img								{ border: 1px solid #C8CECB; }
img.left							{ float: left; clear: left; margin: 2px 15px 15px 0; }
img.right							{ float: right; clear: right; margin: 2px 0 15px 15px; }

/* other inline styles */
abbr,
acronym								{ border-bottom: none; }

/* elements with an class */
.error								{ color: #EF4338; }
.date								{ font-size: 7pt; text-transform: lowercase; } 


/*
 * Header
 */

#header								{ border-bottom: 1px solid #000; }
#header h1							{ margin: .5em 0; }
#header h1 img							{ border: none; }


/*
 * Crumbtrail
 */

#crumbtrail							{ margin: 0 0 .5em 0; font-size: 8pt; color: #A0ACA5; }
#crumbtrail a							{ color: #A0ACA5; text-decoration: none; }


/*
 * Main content
 */

/* prevent floats killig our layout (not sure if this is needed for print, but I'll leave it for now) */
#content h1,
#content h2,
#content h3,
#content hr							{ clear: both; }

/* forms within the content */
#content form							{ margin: 15px 0 10px 0; padding: 0; }
#content form label						{ display: block; width: 130px; float: left; clear: left; margin-top: 1px; margin-right: 10px; text-align: right; font-style: italic; }
#content form input,
#content form textarea						{ /* float to remove extra space */ float: left; margin: 0 0 10px 0; font: 10pt/1.5em Arial, Helvetica, sans-serif; color: #66746C; border: 1px solid #E1E5E5; border-bottom: 2px solid #C8CECB; padding: 2px 4px; }
#content form input						{ width: 220px; }
#content form textarea						{ width: 300px; height: 200px; }
#content form input.button					{ width: auto; margin: 0 0 0 140px; padding: 3px 5px; font-weight: bold; /*border-color: #3C545B; background: #7B959F;*/ color: #4478DB; background: #F3F5F4; border-color: #C8CECB; }
#content form br						{ clear: both; }
#content form label.error					{ color: #EF4338; }

/* spam-filter field, hide from valid users */
#content form #website						{ display: none; }


/*
 * Homepage
 */

#homepage #content #products					{ float: left; width: 48%; }
#homepage #content #services					{ float: right; width: 48%; }


/*
 * News
 */

#content ul.news li						{ padding-left: 0; background: none; clear: both; }
#content ul.news .date						{ display: block; float: left; width: 65px; margin-top: 1px; margin-bottom: -1px; }


/*
 * Google Maps
 */

#google-maps							{ margin: 15px 0 10px 0; width: 100%; height: 400px; border: 1px solid #C8CECB; /* background same as Google Maps plan background */ background: #E5E3DF; }
div.google-maps-balloon						{ display: none; }


/*
 * Elements not required in print version
 */

#search,
#menu,
#navigation,
#teaser,
#sidebar,
#footer								{ display: none; }