/* Begin fonts embedding /*

/* 
	ENHANCEMENT: 
	-	The bulletproof smiley syntax. 
	-	The OpenType spec indicates any two-byte unicode characters won't work in a font name on Mac at all, 
		so that lessens the likelihood that someone actually released a font with such a name.
		IE chockes on this one and thereby sticks with the eot.
	(added on 27.07.10 at 16:12:06 PM by Edy)

	FIX:
	-	The EOT font is rejected by IE if the NAME table doesn't conform to Microsoft's expectations. 
		Use the fontsquirrel.com generator instead. It fixes the NAME table issue.
   	(added on 15.09.10 at 17:52:32 PM by Edy) 
*/
@font-face {
	font-family: 'Swiss721';
	src: url('./common/fonts/swissc.eot');
	src: local('☺'), 
		url('./common/fonts/swissc.ttf') format('truetype');
}
/* End fonts embedding */


/**
 *  The only thing that needs to show up in printing is the logo and the page content.
 *  Page chrome (section image, submenu, news ticker, etc) should not appear in the print output 
 */
@media print {
	#search, #main-menu, #sub-menu, #featured, #print,
	#body-mask,	#gallery th a, #gallery td, #footer > ul, #footer > a { 
		display:none; 
	}
	#gallery th div {
		left: 31px;
		top: 20px;
	}
	.stage_new,
	.stage_progress,
	.stage_questions,
	.stage_finished {
		display: none;
	}	
} 


/* General rules */
html, body {
	height:100%;
}
body { 
	color:#000; 
	margin:0; 
	padding:0;
	background:url('./img/background/body.jpg') left top repeat fixed;
}
body > div#body-mask {
	position: fixed;
	bottom:0;
	left:0;
	height: 416px;
	background:url('./img/background/body_mask.png') left top repeat-x;
	z-index: 1;
	width: 100%;
}


/* Webeditor defaults */
body           { font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif; font-size:12px; text-align:left; padding:0px; margin:0px; }
table          { margin:0px; padding:0px; border-collapse:collapse; }
table td       { padding:0px; margin:0px; vertical-align:top; text-align:left; }
h1             { padding:0; margin:0; font-size:21px; font-weight:normal; }
h2             { padding:0; margin:0; font-size:14px; font-weight:normal; }
ul             { margin:0px; padding:0px; }
ul li          { list-style-type:none; margin:0px; padding:0px; }
img            { border:solid red 0px; margin:0; padding:0; }
a              { text-decoration:none; outline: none; color:#000; }
a:hover        { text-decoration:underline; }
form           { margin:0; padding:0; }
p			   { margin:14px 0; padding:0; }
iframe		   { width: 1005px; height: 428px; border: none; margin:0; margin-top: -30px; }
/* End webeditor defaults */
/* End general rules */


#wrapper {
	position: relative;
	padding: 40px 0;
	width:1005px;
	margin:0 auto;
	z-index: 2;
}
#wrapper #header {
	position: relative;
	width: 100%;
	height: 169px;
	background: white;
	padding-bottom: 45px;
}
#wrapper #header > a {
	position: absolute;
	top: 24px;
	left: 20px;
	display: block;
	width: 200px;
	height: 90px;
}
#wrapper #header > a img {
	display: block;
}
#wrapper #header > div {
	float: right;
	width: 770px;
	height: 136px;
}
#wrapper #header > div div#search {
	position: relative; 
	background: url('./img/background/top_red_circle.png') 15px top no-repeat #000000;
	height: 93px;
}
#wrapper #header > div div#search form {
	position: absolute;
	right: 30px;
	top: 17px;
	width: 124px;
}
#wrapper #header > div div#search form p {
	margin:0;
	padding:0;
	height:21px;	
	line-height:21px;
}
#wrapper #header > div div#search form input {
	font-family: "Swiss721",Arial,Helvetica,sans-serif;
	height: 21px;
	width: 92px;
	padding: 0 5px;
	background: #999999;
	text-transform: uppercase;
	color: #292929;
	line-height:21px;
	font-size:10px;
	border:none;
	display: block;
	float:left;
	margin-right: 1px;
}
#wrapper #header > div div#search form button {
	background: url('./img/background/search.jpg') left top no-repeat;
	width: 21px;
	height: 21px;
	border: none;
	display: block;
}
#wrapper #header > div div#search form button::-moz-focus-inner { 
	border: none; /* Remove inner focus line in Firefox */ 
}
#wrapper #header > div #main-menu {
	background: url('./img/background/main_menu.jpg') right top no-repeat #080808;
	height: 43px;
}
#wrapper #header > div #sub-menu {
	background: #2D2D2D;
	height: 33px;
}
#header ul {
	float: right;
	height: 43px;
	margin-right: 30px;
}
#header ul li {
	float:left;
	position: relative;
}
#header ul li a {
	display: block;
	height: 43px;
	line-height: 43px;
	font-size: 14px;
	margin-left: 25px;
	color: #DDDDDD;
	text-decoration: none;
}
#header #sub-menu ul li a {
	height: 33px;
	line-height: 33px;
	margin-left: 20px;
}
#header ul li a:hover, 
#header ul li a.active {
	color: #D6031B;
}
#content {
	position: relative;
	min-height: 639px;
	padding-bottom: 10px;
	background: url('./img/background/bg-content.jpg') left bottom repeat-x white;
}
#content.home {
	min-height: 0;
	padding-bottom: 0px;
}
#content > table:first-child {
	width: 1005px;
}
#content > table:first-child td {
	padding-left: 20px;
	padding-top: 30px;
}
#content > table:first-child tr:first-child td {
	padding-top: 0;
	height: 189px;
	background: #D9D9D9;
	width: 526px;
}
#content > table:first-child tr:first-child td:first-child {
	width: 167px;
}
#content > table:first-child td:first-child {
	padding-left: 0;
}
#content > table:first-child td:first-child img {
	display: block;
}
#content > table:first-child tr:first-child td > div,
#content #module.product-details td > div {
	position: relative;
	height: 65px;
	width: 100%;
}
#content > table:first-child tr:first-child td > div div,
#content #module.product-details td > div div {
	background: black; 
	color: white; 
	left: -20px;
	top:0;
	padding-left: 20px; 
	padding-right: 30px; 
	position: absolute;
}
#content #module.product-details td > div div {
	left:0;
}
#content #module.product-details td p {
	padding: 10px 0;
	padding-left: 20px;
	padding-right: 200px;
}
#content > table:first-child tr:first-child td > div div h1,
#content #module.product-details td > div > div h1 {
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 30px;
	overflow: hidden;
	min-width: 410px;
	height: 35px;
}
#content > table:first-child tr:first-child td > div div h2,
#content #module td > div > div h2 {
	font-size: 16px;
	margin-bottom: 5px;
	overflow: hidden;
	height: 20px;
}
#content > table:first-child tr:first-child td > div + p {
	margin: 0px;
}
#content > table:first-child td:first-child div {
	float: right;
}
#content > table td:first-child div img {
	margin-bottom: 30px;
}
#content > table td p {
	line-height: 20px;
	width: 450px; 	
}
#content > table td p:first-child {
	margin-top:0;
}
#content > table td div + p {
	position: relative;
	top: 10px;
}
#content > div table#downloads td {
	padding-bottom: 15px;
	vertical-align: middle;
	text-align: left;
}
#content > div table#downloads td:first-child {
	width: 235px;
}
#content > div table#downloads td:first-child div {
	width: 120px;
	height: 53px;
	text-align: left;
	margin: 0 auto;
}
#content > div table#downloads td img {
	margin-right: 40px;
}
#content > div table#downloads td p {
	margin-top: 10px;
}
#content > div table#downloads td h4 {
	font-weight: normal;
	font-size: 13px;
	margin: 0;
	margin-bottom:3px;
}
#content > div table#downloads td h1 {
	font-size: 26px;
}
#content > div table#downloads td div a {
	display: block;
	color: white;
	float: left;
	margin-right: 5px;
	overflow: hidden;
	width: 34px;
	height: 34px;
	line-height: 34px;
	text-align: center;
	text-transform: uppercase;
	font-size: 16px;
	background: #000000;
}
#content > div table#downloads td a:hover {
	text-decoration: none;
}
#content > ul:first-child {
	float:left;
	width: 235px;
	margin-top: 60px;
}
#content > ul:first-child li {
	padding:0 25px;
}
#content > ul:first-child li#overview {
	margin-top: 30px;
	padding-top: 3px;
	width: 150px;
	border-top: solid #CECECE 1px;
}
#content > ul:first-child li a {
	display: block;
	color: #848484;
	line-height: 20px;
	padding-left: 12px;
	background: url('./img/navigation/bullet-grey.png') left 6px no-repeat;
}
#content > ul:first-child li a.active,
#content > ul:first-child li a:hover {
	color: #000;
	text-decoration: none;
	background-image: url('./img/navigation/bullet-red.png');
}
#content > ul:first-child li#overview a {
	background: url('./img/navigation/overview.png') left 7px no-repeat;
}
#content table#module {
	float: right;
	width: 770px;
}
#content table#module td {
	padding-left: 20px;
	padding-top: 20px;
	background: none;
}
#content table#module tr:first-child td {
	padding:0;
}
#content table#module td h1 {
	font-size: 30px;
}
#content table#module td p {
	margin: 6px 0;
	width: auto;
}
#content div.gallery-category,
#content div#invoice {
	width: 770px;
	float:right;
}
#content div#invoice a#print {
	float:right;
	margin-right:40px;
	color: white;
	background: black;
	padding: 5px;
	text-transform: uppercase;
	text-decoration: none;
}
#content div.gallery-category table#module {
	width: auto;
	float: left;
}
#content div.gallery-category table#module td {
	width: 189px;
	height: 126px;
	padding: 0;
	padding-right:3px; 
	text-align: center;
	vertical-align: middle;
}
#content div.gallery-category table#module td img {
	display: block;
	width: 189px;
	height: 126px;
	margin:0px auto;
}
#content div.gallery-category table#module td a {
	font-size: 14px;
	line-height: 40px;
}
#content table#module #gallery th {
	vertical-align: middle;
	line-height:381px;
	height:381px;
	background-color:#fff;
	padding:0;
}
#content table#module #gallery th div {
	position: relative;
	width:576px;
	margin:0px auto;
	text-align:center;
}
#content table#module #gallery th div img {
	margin:0px auto;
	display: block;
}
#content table#product-category {
	width: 871px;
	margin:0 auto;
}
#content table#product-category td {
	background: none;
	width: 214px;
	height: 131px;
	padding:0; 
	text-align: center;
	vertical-align: middle;
}
#content table#product-category td img {
	display: block;
	width: 214px;
	height: 131px;
	margin:0px auto;
}
#content table#product-category td a {
	font-size: 14px;
	line-height: 40px;
}
#content p#price {
	font-size: 20px;
}
#wrapper.intro {
	width: 1132px;
}
#wrapper.intro #content {
	background:none;
}
#wrapper.intro #content table {
	width: 1132px;
	height: 320px;
	background: none;
}
#wrapper.intro #content table td {
	background: none;
	color: white;
	text-align: left;
	padding:0;
	padding-left: 2px;
}
#wrapper.intro #content table td:first-child {
	background: white;
	width: 599px;
	vertical-align: middle;
	text-align: center;
	padding:0;
}
#wrapper.intro #content table td:first-child img {
	display: inline;
}
#wrapper.intro #content table td:first-child a {
	position: absolute;
	left: 460px;
	top: 30px;
	font-size: 14px;
	text-decoration: none;
}
#wrapper.intro #content table td:first-child a:hover {
	color: #D6031B;
}
#wrapper.intro #content {
	height: 320px; 
	oveflow: hidden;
}

#wrapper.intro #content table object {
	padding:0;
	margin:0;
	display: block;
}
#featured {
	position: relative;
	bottom: 0;
	width: 100%;
	height: 139px;
	background: url('./img/background/featured.jpg') left bottom no-repeat white;
}
#content.home + #featured {
	height: 194px;
	background: url('./img/background/featured-home.jpg') left bottom repeat-x;
}
#featured table {
	margin-left:10px;
	height: 139px;
	width: auto;
}
#content.home + #featured table {
	height: 194px;
}
#content li#overview + li {
	margin: 15px 0;
	border-top: solid #CECECE 1px;
	width: 150px;
}
#content div#cart_hold_summary h3 {
	margin: 0;
	font-size: 13px;
	font-weight: normal;
}
#content div#cart_hold_summary h3 a {
	padding-left: 10px;
	background:url("./img/navigation/basket.png") no-repeat left 7px;
} 
#content div#cart_hold_summary div#cart_summary {
	margin-left: 10px;
	color: #848484;
}
#content form#addProductToCart {
	margin-left: 20px;
}
#content form input.button_submit {
	color: white;
	background: black;
	border: none;
	font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif;
}
#content form input#f_quantity {
	font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif;
	width: 3em;
}
#featured table td {
	vertical-align: middle;
	width: 210px;
	padding: 0 20px;
}
#featured table td.image {
	width: 110px;
	padding: 0;
	padding-left: 5px;
}
#featured table td h2 {
	font-size: 16px;
	padding-bottom: 1px;
}
#featured table td p {
	margin:0;
	line-height: 18px;
}
#featured #red-circle {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 180px;
	height: 174px;
	background: url('./img/background/bottom_red_circle.png') left top no-repeat;
}
#footer {
	position: relative;
	height: 64px;
	line-height: 64px;
	background: url('./img/background/footer_menu.jpg') left top no-repeat white;
}
#footer ul {
	width: 235px;
	float: left;
	height: 64px;
	line-height: 64px;
	text-align: center;
}
#footer ul li {
	display: inline;
}
#footer ul li a {
	height: 64px;
	line-height: 64px;
	font-size: 12px;
	margin: 0 5px;
	color: #fff;
	text-decoration: none;
}
#footer ul li a:hover, 
#footer ul li a.active {
	text-decoration: underline;
}
#footer > a {
	margin-top: 20px;
	height: 25px;
	margin-left: 15px;
	float: left;
	display: block;
}
#footer > a img {
	display: block;
}
#footer span {
	color: #E2001A;
}
#footer > p {
	margin: 0;
	margin-right: 20px;
	float: right; 
	font-size: 11px;
}
#footer #copyright {
	position: absolute;
	right: 0;
	top: 72px;
	color: white;
	height: 20px;
	line-height: 20px;
	font-size: 11px;
}
#footer #copyright a {
	color: white;
}
div.spacer {
	height:40px;
	margin:0;
	padding:0;
}
div.clear {
	clear: both;
	margin: 0;
	padding: 0;
	height: 0;
	min-height: 0;
	line-height: 0;
	overflow:hidden;
}


/* Begin 404 */
div#content table#contentError {
	float:right;
	width:770px;
	height: 337px;
	background: url(./img/404.jpg) left top no-repeat;
}
div#content table#contentError td {
	background: none;
	padding-left: 350px;
	vertical-align: middle;
}
/* End 404 */


/* Begin Search Results*/
div#searchTerm { width: 770px; float: right; }
#searchResults { margin-top:30px; }
#searchResults ul li {line-height:15px; padding-bottom: 1em; }
#searchResults ul li a { color:#E2001A; }
#searchResults ul li p { font-size: 15px; text-transform: uppercase; margin: 0;}
#searchResults .searchTerm { border-bottom: dotted 1px;  }
#searchResults .summary{margin-bottom:5px; font-size: 14px;}    
/* End Search Results */
 

/* Begin Paging  */
.Pages                { text-align: center; margin-top:20px; width: 560px; }
.Pages a              { font-size: 14px; }
.Paginator            { font-size: 14px; padding-top: 10px; padding-left: 0px; padding-bottom: 10px; }
.Paginator a,
.pageList .this-page  { padding: 2px 6px; border: none; background: #292929; color: white; text-decoration: none; }
.Paginator .AtStart   { margin-right: 10px; padding: 2px 6px; background: #fff; color: #000; }
.Paginator .Prev      { margin-right: 10px; padding: 2px 6px;  }
.Paginator .break     { padding: 2px 6px; border: none; background: #fff; text-decoration: none; }
.Paginator .Next      { margin-left: 10px; padding: 2px 6px; }
.Paginator .AtEnd     { margin-left: 10px; padding: 2px 6px; background: #fff; color: #000; }
.Paginator .this-page { padding: 3px; font-weight: bold; vertical-align: top; background-color: #fff; color: #000; }
.Paginator a:hover    { color: #fff; background: #E2001A; text-decoration: none;}
.Pages div.Results    { text-align: center; font-size: 14px; color: #000; margin-top: 8px; margin-bottom:40px; }
.Pages div.Results form,
.Pages div.Results form div { display:inline; z-index:100; }
.Pages div.Results select { font-family: "Univers Condensed",Arial,Helvetica,sans-serif; font-size: 14px; }
/* End Paging  */



/*  SHOP ORDER STEPS  */
table#orderSteps td {
	border-right: solid white 1px;
}
table#orderSteps div {
	width:136px;
	padding-top:7px;
	padding-bottom:7px;
	padding-left:17px;
	background:#a6a6a6;
}
table#orderSteps div.stepActive, table#orderSteps div.stepCurrent {
	background:black;
}
table#orderSteps h2, table#orderSteps a {
	padding:0px;
	color:white;
	font-size:20px;
	font-weight:normal;
}

/*  CART VIEW  */
form#cartForm                        { margin:10px 0; margin-left:0px; }
input.product_active                 { width:50px; font-weight:bold; }
input.product_inactive               { width:50px; color:#777; }
table.cartView                       { width:95%; }
table.cartView th                    { font-weight:bold; padding:2px; }
table.cartView td                    { padding:2px; vertical-align: middle; }
table.cartView .price                { text-align:right; }
table.cartView .cartColQuantity      { width:15%; }
table.cartView .cartColName          { width:42%; }
table.cartView .cartColPrice         { width:14%; }
table.cartView .cartColVAT           { width:60px; text-align: right;}
table.cartView .cartColTotal         { text-align: right; }
table.cartView .cartColDelete        { width:20px; text-align:right; vertical-align:top; }

/*  SHOP ORDER CART  */
table.orderCart 			        { width:500px; margin-top:10px; margin-bottom:20px; margin-left:0px; }
table.orderCart th                  { font-weight:bold; padding:5px 0; }
table.orderCart td                  { padding:2px; }
table.orderCart .price              { text-align:right; }
table.orderCart tr.product td       { }
table.orderCart tr.vatGroup td      { font-weight:bold; }
table.orderCart tr.shippingInfo td  { border-top:solid black 1px; }
table.orderCart tr.totalRebate td   { border-top:solid black 2px; font-weight:bold; }
table.orderCart tr.totalPrice td    { font-weight:bold; }

.ui-effects-transfer { border: 1px solid #000; z-index: 10000; }

/*  STAGE CLASSES  */
.stage_new       { color:white; background-color:#D40518; }
.stage_progress  { color:white; background-color:#FFC516; }
.stage_questions { color:white; background-color:#15B54D; }
.stage_finished  { color:black; background-color:#FFFFFF; }
.stage_new,
.stage_progress,
.stage_questions,
.stage_finished  { margin-left:auto; margin-right:auto; width:12px; height:12px; border:solid black 1px; font-size: 10px; }  


/*  STANDARD FORM AND ERROR MESSAGES  */
table.data_input .data_input {
	margin:0;
	width:310px;
}
table.data_input td 			   { padding:1px; }
table.data_input h2,
table.data_confirm h2 			   { margin:20px 0; font-size: 18px; }
table.data_input .button_submit	   { margin-left: 95px; margin-top: 10px; }
table.data_input .fieldRequired    { color:red; }
table.data_input .fieldError       { color:#b00; }
table.data_input .label_key        { text-decoration:underline; }
table.data_input .fieldInfo        { color:#575757; font-weight:normal; } 
table.data_confirm td 			   { padding:1px; }
table.data_input select			   { font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif; font-size: 13px;  }
table.data_input input	 		   { border:solid #a6a6a6 1px; margin-bottom:2px; font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif; font-size: 13px;  }
table.data_input textarea		   { border:solid #a6a6a6 1px; width:250px; height:120px; font-family: "Swiss721",Times New Roman,Arial,Helvetica,sans-serif; font-size:13px; }
table.data_input input[type=radio] { border: none; }
table.data_input #messageBoxError  { margin-left:0px; }
table.data_input .button_submit	   { border:solid white 1px; }

/* Error Messages Box */
div.messageBoxError                {  min-height:48px; margin: 0; margin-top: 20px; margin-right: 20px; width: auto;
                                     background-color:#FFFFCC; background-image:url(img/icon_critalert.gif); background-position:20px 14px;
                                     background-repeat:no-repeat; border:1px solid #FFCC00; color:#C60000; padding:7px 40px 7px 80px;
									 -moz-border-radius:10px; }
div.messageBoxError ul             { padding-left:0px; }
div.messageBoxError ul li          { list-style-type:disc; padding:4px 4px 4px 0px; margin-left:13px;}
div.messageBoxError p              { margin:5px 0; }


/*  Client side error messages (Use the sliding doors method, .error_bg is the bg element and .error is the foreground element)  */
.error_bg                  { height:30px;position:absolute; display:block; background:url(img/errorTooltip1.png) left center no-repeat; color:white; padding-left:20px; min-width:200px; }
.error_bg .error           { display:block; width:100%; height:30px; position: absolute; left:9px; font-style:italic; font-weight:bold; font-size:11px;
							background:url(img/errorTooltip2.png) right center no-repeat; text-align: center;
							line-height:23px; /*  Use line-height to position the label in the middle  */ }
input.error,
textarea.error,
select.error                { border-color:red; }
