/*
 1. body/container
 2. header
 3. content
 3.1 content - primary
 3.2 content - secondary
 3.3 content - general elements
 4. clear & footer
 */

/* 1. body/container */
html {
  height: 100%;
}

body {
  background: #000;
  color: #1a1a1a;
  font: 100%/1em Arial, Verdana, sans-serif;
  margin: 0;
  height: 100%;
}

div#container {
  width: 100%;
  background: url(/images/bg_body.png) 0 bottom repeat-x;
  margin: 0 auto -4.875em;
  min-height: 100%;
}

/* 2. header */
div#header {
  width: 100%;
  position: relative;
  float: left;
  z-index: 1;
}

div#header h1 {
  background: 0;
  padding: 0;
}

p.skip {
  margin: 0;
}

p.skip a {
  top: 0;
  left: 0;
  color: #fff;
  background: #cd0c1f;
  text-decoration: none;
  padding: 0.25em 0;
  text-align: center;
  position: absolute;
  overflow: hidden;
  width: 0;
  z-index: 2;
}

p.skip a:active, p.skip a:focus {
  overflow: visible;
  width: 100%;
}

div#logo {
  background: #000 url(/images/bg_logo.png) center top no-repeat;
  float: left;
  height: 5.75em;
  width: 100%;
}

div#logo div {
  width: 60em;
  margin: 0 auto;
  position: relative;
  height: 5.75em;
}

div#logo img {
  float: left;
}

p.action_contact {
  background: #ec1227 url(/images/bg_action_contact.png) left top no-repeat;
  width: 15.3em;
  height: 3.3em;
  padding: 0.7em 0 0 4.7em;
  color: #fff;
  font-weight: bold;
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
}

div#menu {
  background: #dcdcdc;
  height: 4.1875em;
  width: 100%;
  float: left;
}

div#menu div {
  width: 60em;
  margin: 0 auto;
}

div#menu ul {
  width: 58.75em;
  border: 0.625em solid #fff;
  border-width: 0.625em 0.625em 0;
  background: #090909 url(/images/bg_menu.gif) top left repeat-x;
  margin: 1.45em 0 0; 
}

div#menu ul li {
  display: inline;
  font-size: 0.75em;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase;
}

div#menu ul a {
  display: inline-block;
  padding: 0.75em;
}

div#menu ul a:link, div#menu ul a:visited {
  text-decoration: none;
  color: #fff;
  background: #090909 url(/images/bg_menu.gif) top left repeat-x;
}

div#menu ul a:hover, div#menu ul a:active, div#menu ul a.active {
  color: #fff;
  background: #cf0d20 url(/images/bg_menu_hover.gif) top left repeat-x;
}

div#impression {
  background: #e5e5e5 url(/images/bg_impression.png) top left repeat-x;
  width: 100%;
  height: 19.125em;
  padding: 0.625em 0 0;
  float: left;
}

div#impression div {
  width: 58.75em;
  margin: 0 auto;
  height: 17.125em;
}

div#impression ul {
  margin: 0 auto;
  width: 58.75em;
  height: 274px;
  overflow: hidden;
}

/* 3. content */
div#content {
  width: 100%;
  float: left;
  border-top: 1px solid #898989;
  position: relative;
  z-index: 2;
}

div#wrapper {
  width: 58.75em;
  margin: -1.25em auto 0;
}

div#spotlight_row {
  width: 60em;
  float: left;
  margin: 0 0 1.5625em -1.25em;
}

div.spotlight {
  float: left;
  width: 15.625em;
  border: 0.3125em solid #e5e5e5;
  margin-left: 1.25em;
  padding: 1.25em 1.25em 0.3125em;
  background: #1b1b1b url(/images/bg_spotlight.png) top left repeat-x;
}

div.spotlight h2 {
  font-weight: normal;
  font-size: 1.1em;
  text-transform: uppercase;
}

div.spotlight span {
  color: #ec1127;
}

div.spotlight h2, div.spotlight p {
  color: #fff;
}

div.spotlight h2 a {
  color: #fff;
  text-decoration: none;
  background: 0;
}

/* 3.1 content - primary */
div#content_primary {
  float: right;
  width: 35.625em;
  padding: 1.25em 1.5625em 0.9375em;
  background: #eaeaea;
}

body#homepage div#content_primary {
  height: 11.1875em;
  padding: 0.9375em 1.5625em;
}

h2.main_title {
  font-size: 1.1em;
  background: #e31025;
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  padding: 0.25em;
}

h3.news_title, h2.news_title {
  font-weight: normal;
  font-size: 1.1em;
  color: #1a1a1a;
  margin: 0 0 0.3125em;
}

h3.news_title a, h2.news_title a {
  color: #1a1a1a;
  text-decoration: none;
  background: 0;
}

p.news_date {
  color: #ec1127;
  font-weight: bold;
  margin: 0 0 0.3125em;
}

p.more a {
  background: #e31025;
  padding: 0.25em;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}

div#product_container {
  clear: both;
  float: left;
  width: 36.25em;
  margin-left: -0.625em;
}

div.product {
  float: left;
  width: 17.5em;
  margin-left: 0.625em;
  height: 9.375em;
  overflow: hidden;
}

div.product h2 {
  color: #1a1a1a;
  font-weight: normal;
  font-size: 1.1em;
  margin: 0 0 0.625em;
}

div.product img {
  border: 1px solid #b7b7b7;
  padding: 2px;
  background: #fff;
  float: left;
  -webkit-box-shadow: 3px 3px 3px #b0b0b0;
  -moz-box-shadow: 3px 3px 3px #b0b0b0;
}

div.product p {
  margin: 0 0 0.3125em;
  background: #e31025 url(/images/bg_pdf.png) 8.25em 0.25em no-repeat;
  font-weight: bold;
}

div.product p a {
  color: #fff;
  display: block;
  padding: 0.3em 0 0.3em 10.25em;
  text-decoration: none;
  background: url(/images/bg_download.gif) 21.5em 0.5em no-repeat;
}

div#content_primary div.product ul {
  margin: 0 0 0 0.5em;
  float: left;
  list-style: none;
}

div#content_primary div.product ul li {
  background: url(/images/bg_bullet.gif) 0 0.5em no-repeat;
  padding-left: 0.9em;
  font-size: 0.7em;
}

p.page_numbers {
  width: 100%;
  text-align: center;
  font-weight: bold;
  margin: 1.25em 0 0.3125em;
  float: left;
}

a.pagenumber {
  margin: 0 0.15625em;
}

a.pagenumber:link, a.pagenumber:visited,
a.pagenumber:hover, a.pagenumber:active {
  color: #fff;
  background: #e31025;
  text-decoration: none;
  display: inline-block;
  padding: 0.3125em 0.625em;
}

a.current, a.pagenumber.current {
  color: #e31025;
  background: 0;
  padding: 0.3125em 0.625em;
}

/* 3.2  content - secondary */
div#content_secondary {
  width: 18.75em;
  float: left;
}

div#content_secondary img {
  float: left; 
  margin-bottom: 1.75em;
}

a.cta:link, a.cta:visited, a.cta:hover, a.cta:active {
  display: block;
  width: 264px;
  height: 77px;
  background: url(/images/bg_cta.png);
  color: #fff;
  text-decoration: none;
  font-size: 2em;
  padding: 18px 18px 0 18px;
  text-transform: uppercase;
  line-height: 30px;
  margin-bottom: .875em;
  font-weight: bold;
}

div#submenu {
  background: #0b0b0b url(/images/bg_submenu.png) bottom left repeat-x;
  margin-bottom: 1.25em;
  width: 16.25em;
  border: 0.3125em solid #e5e5e5;
  padding: 1.25em 0.9375em;
}

div#submenu h2 {
  color: #ec1127;
  font-size: 1.1em;
  font-weight: normal;
}

div#submenu ul a {
  display: block;
  padding: 0.4em 0 0.4em 1.875em;
  border-bottom: 1px solid #272727;
}

div#submenu ul a:link, div#submenu ul a:visited {
  color: #fff;
  text-decoration: none;
  background: url(/images/bg_submenu_link.gif) 0.6em 0.8em no-repeat;
}

div#submenu ul a:hover, div#submenu ul a:active, div#submenu ul a.active {
  color: #fff;
  text-decoration: none;
  background: #000 url(/images/bg_submenu_link.gif) 0.6em 0.8em no-repeat;
}

/* 3.3 content - general elements */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.75em;
}

h1 {
  font-size: 1.1em;
  background: #e31025;
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  padding: 0.25em;
}

h2 {
  font-size: 1em;
  color: #e31025;
}

p {
  font-size: 0.75em;
  margin: 0 0 1em;
}

a:link, a:visited {
  color: #e31025;
  text-decoration: underline;
}

a:hover, a:active {
  color: #fff;
  background: #e31025;
  text-decoration: none;
}

img {
  border: 0;
  display: block;
}

img[style~="left"] {
  margin-right: 0.75em;
}

img[style~="right"] {
  margin-left: 0.75em;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

div#content_primary ul, div#content_primary ol {
  list-style: disc;
  margin: 0 0 1em 1.5em;
}

div#content_primary ol {
  list-style: decimal;
}

ul li, ol li {
  font-size: 0.75em;
  margin: 0;
}

ul li ul li, ol li ol li {
  font-size: 1em;
}

table {
  margin: 0 0 1em;
}

table th, table td {
  font-size: 0.75em;
  text-align: left;
  vertical-align: top;
}

form, form p {
  border: 0;
  margin: 0;
  padding: 0;
}

label {
  margin-bottom: 0.25em;
}

input, textarea, select {
  background: #fff;
  border: 1px solid #000;
  margin: 0 0 1em;
}

input:focus, input.focus, textarea:focus, select:focus {
  border: 1px solid #999;
}

input[type="checkbox"], input[type="radio"] {
  background: 0;
  border: 0;
}

p.submit input {
  color: #000;
  cursor: pointer;
}

p.submit input:hover, p.submit input.hover {
  color: #999;
}

ul.error_message {
  margin: 0 0 1.5em;
}

ul.error_message li {
  color: #da0155;
}

/* 4. clear & footer */
div#clear {
  height: 6.125em;
  width: 1%;
  clear: both;
}

div#footer {
  width: 100%;
  height: 3.9375em;
  padding: 0.9375em 0 0;
  margin: 0 auto;
  background: #000;
  overflow: hidden;
}

div#footer div {
  width: 58.75em;
  margin: 0 auto;
}

address {
  font-size: 0.75em;
  font-style: normal;
  float: left;
  color: #fff;
}

address span.wrapper {
  float: left;
  width: 17.5em;
}

address span.company {
  color: #e31025;
}

p.webdesign {
  float: right;
  font-size: 0.6em;
  color: #fff;
}

p.webdesign a {
  color: #fff;
  background: 0;
  text-decoration: none;
}
