@charset "utf-8";

/* NOTES
 * Property Order:
 *   - font-*, (other typography, line-height etc.)
 *   - color, text-*
 *   - display, float, clear, overflow, vertical-align
 *   - position, top, right, bottom, left, z-index
 *   - *-width, *-height, margin, padding
 *   - border-*
 *   - background-*
 *   - (other)
 */
 
/* CONTENT */

/* Text */

	html					{ font-size: 100%; }
	body					{ font-size: 75%; /* 12px */ font-family: Arial, Helvetica, sans-serif;	  
							  color: #404040; }

/* Headers */

	h1, h2, h3, h4, h5, h6	{ font-weight: normal; }
	h1						{ font-size: 1.833em; /* 22px */ 
							  margin: 1em -30px 0 -30px; padding: 0 30px 4px 30px;
							  border-bottom: 1px dotted #e5e5e5;
							  color: #208cd7; }
	h2						{ font-size: 1.5em; /* 24px */
							  margin: 1em 0 0 0; }
	h3						{ font-size: 1.125em; /* 18px */
							  margin: 1em 0 0 0; }
	h4						{ font-size: 1.0em; line-height: 1.416em;	
							  margin: 1em 0 0 0; }
	h5						{ font-size: 1.0em; line-height: 1.416em;	
							  margin: 1em 0 0 0; }
	h6						{ font-size: 1.0em; line-height: 1.416em;	
							  margin: 1em 0 0 0; }

/* Paragraphs */

	p						{ line-height: 1.416em;	
							  margin: 1em 0 0 0; }
	p.details				{ font-size: 0.916em; color: #6f6f6f;
							  margin-top: 0.25em; }
	p.details a				{ color: #6f6f6f; }
	p.summary				{ font-weight: bold; }

/* Lists */

	ul, ol					{ overflow: hidden;
							  margin: 1em 0 0 0; padding-left: 30px; }
	ul ul, ul ol,
	ol ol, ol ul			{ margin-top: 0; }
	dl						{ margin: 1em 0 0 0; }

	li 						{ line-height: 1.416em; }
	dt 						{ font-weight: bold; line-height: 1.416em; }
	dd 						{ line-height: 1.416em;
							  margin-left: 30px; }

	ul						{ list-style: disc; }
	ul ul					{ list-style: circle; }
	ul ul ul				{ list-style: square; }
	ol						{ list-style: decimal; }
	ol ol					{ list-style: lower-alpha; }
	ol ol ol				{ list-style: lower-roman; }

	ul.list					{ padding: 0; list-style: none; }
	ul.list li				{ border-top: 1px dotted #e5e5e5;
							  padding: 8px 0; }
	ul.list li:first-child	{ border-top: 0; padding-top: 0; }

/* Links */
	
	a						{ color: #208cd7; }
	a:visited				{ }
	a:focus,
	a:hover,
	a:active				{ color: #208cd7; }

	h1 a, h2 a				{ text-decoration: none; }
	h1 a:hover, h2 a:hover	{ text-decoration: underline; }

	a.pdf					{ display: block; width: 170px;
							  background: url(../images/layout/pdf.png) 0 2px no-repeat;
							  padding: 3px 0 3px 40px; font-weight: bold;
							  color: #000; text-decoration: none; }
	a.pdf .title			{ display: block; }
	a.pdf .details			{ display: block; font-size:  0.916em;
							  margin: 0.25em 0 0 0; font-weight: normal; }

/* Emphasised Text */

	em						{ font-style: oblique; }
	strong					{ font-weight: bold; }

/* Quotes */

	blockquote				{ font-style: oblique;
							  margin: 0 20px; margin-top: 1em; }
	blockquote > *:first-child, 
							{ margin-top: 0; }
	blockquote .top-child	{ margin-top: 0; }

	q						{ quotes: '\201C' '\201D' '\2018' '\2019'; }
	q:before				{ content: open-quote; }
	q:after					{ content: close-quote; }

/* Preformatted Text & Code */

	pre, code				{ font-size: 0.875em; /* 14px */ font-family: Consolas, "Courier New", Courier, monospace;
							  line-height: 1.1428em;
							  background: #f2f2f2; }
	pre						{ margin: 1.1428em 0 0 0; padding: 10px;
							  white-space: pre-wrap; white-space: -moz-pre-wrap;
							  white-space: -pre-wrap; white-space: -o-pre-wrap;
							  word-wrap: break-word; }
	code					{ padding: 0 0.25em; }
	pre code				{ padding: 0; }

/* Abbreviations */

	abbr					{ border-bottom: 1px dotted; cursor: help; }

/* Superscript & Subscript Text */

	sup 					{ vertical-align: super; }
	sub 					{ vertical-align: sub; }

/* Deleted & Inserted Text */

	del 					{ text-decoration: line-through; }
	ins 					{ text-decoration: underline; }
	
/* Other Text Styles */

	.small 					{ font-size: 0.916em; /* 12px */ }
	.large 					{ font-size: 1.125em; /* 18px */ }
	.error 					{ color: #fb6624; }

/* Images & Objects */

	img, object				{ display: block; border: solid #cccccc; border-width: 0 1px 1px 0;
							  margin: 1em 0 0 0; }

/* Tables */

	table					{ margin: 1em 0 0 0;
							  border-collapse: collapse; border-spacing: 0; }
	th, td 					{ line-height: 1.416em;	
							  vertical-align: top;
							  padding: 3px 0;
							  border: 0 solid #e7e7e7; }
	th						{ font-weight: bold;
							  text-align: left; }

	thead th, thead td		{ border-bottom-width: 2px; vertical-align: bottom; }
	tfoot th, tfoot td		{ font-weight: bold;
							  border-top-width: 2px; }
	tbody th, tbody td		{ border-bottom-width: 1px; }
	
	tbody tr:hover td		{ }

	caption					{ font-size: 0.916em; /* 12px */ font-style: oblique;
							  text-align: left;
							  margin: 0.5em 0 0 0;
							  caption-side: bottom; }
							  
	colgroup.prices			{ width: 60px; }

/* Figure */

	.figure					{ margin: 1em 0 0 0; }
	.figure > *:first-child, 
	.figure > a > *:first-child
							{ margin-top: 0; }
	.figure .top-child		{ margin-top: 0; }
	.figure .legend			{ font-size: 0.916em; /* 12px */ font-style: oblique;
							  display: block;
							  margin: 0.5em 0 0 0; }

/* Forms */

	form					{ }
	fieldset				{ margin: 0; padding: 0;
							  border: 0; }
	legend					{ display: none; }

	.form					{ margin: 1em 0 0 0; }
	.form > *:first-child 	{ margin-top: 0; }
	.form .top-child		{ margin-top: 0; }
	.form fieldset			{ margin: 1em 0 0 0; padding: 0.5em 0 0 0; }
	.form legend			{ font-weight: bold;
							  color: inherit;
							  display: block;
							  margin: 0; padding: 0; }
	.form legend span		{ display: block; }

	.form .control			{ overflow: hidden; margin-top: 0.5em; }
	.form .mandatory		{ }
	.form .description		{ float: left; width: 140px; }
	.form .fields			{ margin: 0 0 0 150px; }
	.form .fields p			{ font-size: 0.916em; /* 12px */
							  margin-top: 0.25em; }

	.form label				{ display: block; }
	.form .asterisk			{ float: right; font-size: 1em; color: #ccc; font-weight: normal; }

	.form .actions			{ padding: 0 0 0 150px; background: transparent; }
	.form .actions legend	{ display: none; }


	.form .field			{ }
	.form .field.part		{ display: inline-block;  }
	.form .affix			{ font-size: 12px; }

	.form .messages			{ margin-bottom: 0; }

/* Inputs */

	input, button, select,
	textarea				{ font-size: 1em; font-family: sans-serif;
							  text-rendering: optimizeSpeed; }
	textarea.monospaced		{ font-family: Consolas, "Courier New", Courier, monospace; }
	optgroup				{ font-style: normal; font-weight: bold; }

	input[type=text],
	input.type_text,
	input[type=password],
	input.type_password,
	textarea				{ margin: 0; padding: 6px; border: 1px solid #bababa; }
	select					{ margin: 0; padding: 6px; border: 1px solid #bababa; }
	optgroup				{ text-indent: 2px; }
	optgroup option			{ padding-left: 15px; }
	input[type=file],
	input.type_file			{ margin: 0; }

	input[type=radio],
	input.type_radio,
	input[type=checkbox],
	input.type_checkbox 	{ margin: 0; vertical-align: -0.15em; font-size: 0.85em; }

	.size_liquid			{ width: 97%; }

	input.size_xxs			{ width: 3em; }
	input.size_xs			{ width: 6em; }
	input.size_s			{ width: 12em; }
	input.size_m			{ width: 18em; }
	input.size_l			{ width: 24em; }
	input.size_xl			{ width: 30em; }
	input.size_xxl			{ width: 36em; }

	textarea.size_xs		{ height: 2.5em; }
	textarea.size_s			{ height: 5em; }
	textarea.size_m			{ height: 10em; }
	textarea.size_l			{ height: 20em; }
	textarea.size_xl		{ height: 40em; }

/* Box */

	.box					{ border: 1px solid #c7c7c7;
							  padding: 10px; background: #fff;
							  -moz-border-radius: 2px; }

/* Rule */

	.rule					{ border-top: 1px dotted #e5e5e5; margin: 0.5em 0; }
	.rule hr				{ display: none; }

/* Content */

	.c > *:first-child,
	.c > a:first-child *,
	.c > .ba_left_wrap:first-child + *, 
	.c > .ba_right_wrap:first-child + *
							{ margin-top: 0 !important; }
	.c .top-child			{ margin-top: 0 !important; }

/* Event */

	.event					{ overflow: hidden; zoom: 1; margin: 1em 0 0 0; }
	.event .date			{ float: left; width: 67px; height: 71px; margin: 4px 0 0 0;
							  background: url(../images/layout/calendar.png);
							  text-align: center; font-weight: bold; }
	.event .date span		{ display: block; }
	.event .month			{ color: #fff; margin: 0.3em 0 0 0; }
	.event .day				{ color: #080808; margin: 0.15em 0 0 0; font-size: 2.9em; }
	.event .text			{ margin-left: 82px; }
	.event h2				{ margin: 0; }
	.event p				{ margin: 0.5em 0; }

/* Text Alignment */

	.ta_center				{ text-align: center; }
	.ta_left				{ text-align: left; }
	.ta_right				{ text-align: right; }
	.ta_justify				{ text-align: justify; }

/* Block Alignment */
	
	.ba_center				{ margin-left: auto; margin-right: auto; }
	.ba_left				{ margin-left: 0; margin-right: auto; }
	.ba_right				{ margin-left: auto; margin-right: 0; }
	.ba_left_wrap			{ float: left; clear: left;
							  margin-left: 0; margin-right: 25px; margin-bottom: 15px; }
	.ba_right_wrap			{ float: right; clear: right;
							  margin-left: 25px; margin-right: 0; margin-bottom: 15px; }

/* Grid */

	.x						{ overflow: hidden;
							  border-top: 1px solid #c7c7c7; }
	.y						{ float: left; padding: 20px 30px; border-left: 1px solid #c7c7c7; }
	.y:first-child, 
	.y_first-child			{ border-left: 0; }

/* Fixed Widths */

	.fw_2nd					{ width: 593px;
							  overflow: hidden; zoom: 1;
							  min-height: 294px; position: relative;  }
	.fw_3rd					{ width: 266px;
							  overflow: hidden; zoom: 1;
							  min-height: 294px; position: relative; }
	.fw_4th					{ width: 184px;
							  overflow: hidden; zoom: 1;
							  position: relative; }
	.fw_6th					{ width: 132px; padding: 15px;
							  overflow: hidden; zoom: 1;
							  position: relative; }
	.fw_wide				{ width: auto; float: none; }
	.fw_primary				{ width: 680px;
							  min-height: 400px; }
	.fw_secondary			{ width: 179px;
							  min-height: 400px; }

/* Percentage Widths */
	
	.pw_05					{ width: 05%; }
	.pw_10					{ width: 10%; }
	.pw_15					{ width: 15%; }
	.pw_20					{ width: 20%; }
	.pw_25					{ width: 25%; }
	.pw_30					{ width: 30%; }
	.pw_35					{ width: 35%; }
	.pw_40					{ width: 40%; }
	.pw_45					{ width: 45%; }
	.pw_50					{ width: 50%; }
	.pw_55					{ width: 55%; }
	.pw_60					{ width: 60%; }
	.pw_65					{ width: 65%; }
	.pw_70					{ width: 70%; }
	.pw_75					{ width: 75%; }
	.pw_80					{ width: 80%; }
	.pw_85					{ width: 85%; }
	.pw_90					{ width: 90%; }
	.pw_95					{ width: 95%; }


/* PAGE LAYOUT */

/* Body & Wrapper */

	body					{ margin: 40px 0;
							  background: #333333 url(../images/layout/bg.png) top repeat-x; }
	#wrapper				{ width: 980px; margin: 0 auto; }

/* Header */

	#header					{ overflow: hidden; zoom: 1; padding: 30px;
							  background: #ffffff url(../images/layout/header_bg.png) top left repeat-x;
							  -moz-border-radius: 3px;
							  -webkit-border-radius: 3px; }
	#header, #header a		{ color: #000; }
	#header img				{ border: 0; }
		
	#logo					{ float: left;
							  margin: 0; }
	
	#links ul				{ float: right;
							  margin: 8px 0 0 0; padding: 0; list-style: none; }
	#links li				{ display: inline; padding: 0 0 0 13px; }
	#links li:first-child, 
	#links li.first-child	{ padding-left: 0; }
	#links a				{ text-transform: lowercase; text-decoration: none;
							  color: #737373; }
	#links a:focus, 
	#links a:hover,
	#links a:active, 
	#links li.active a		{ color: #208cd7; }
	
	#search					{ float: right; clear: right;
							  margin: 0.916em 0 0 0; }
	#search input			{ border: 0; background: url(../images/layout/search_bg.png) top left no-repeat;
							  padding: 7px 7px 7px 30px; width: 225px; font-size: 1.166em; }
							  
/* Navigation */

	#nav					{ padding: 1px 0; margin: -3px 0;
							  background: url(../images/layout/nav_shadow.alpha.png);
							  z-index: 1000; position: relative; }
	#nav ul					{ margin: 0; padding: 0 10px;
							  background: url(../images/layout/nav_bg.png) top repeat-x;
							  list-style: none; overflow: visible; height: 35px;
							  -moz-border-radius: 2px;
							  -webkit-border-radius: 2px; }
	#nav li					{ line-height: 1em;
							  float: left; position: relative;
							  padding: 0 0 0 2px;
							  background: url(../images/layout/nav_divider.png) left no-repeat; }
	#nav li:first-child, 
	#nav li.first-child		{ padding-left: 0;
							  background: transparent; }
	#nav a					{ text-decoration: none;
							  color: #404040; font-size: 1.083em;
							  height: 25px; display: block;
							  padding: 10px 9px 0 9px; }
	#nav li:hover,
	#nav li.active			{ background: url(../images/layout/nav_bg_active.png) left repeat-x; }
	#nav li:hover a,
	#nav li.active a		{ color: #000; }
							  
	#nav ul ul				{ margin: 0; padding: 0 0 2px 0; height: auto; width: 200px;
							  background: #fbb724;
							  position: absolute; top: 100%; left: 0; z-index: 1000;
							  -moz-border-radius: 0 0 2px 2px;
							  -webkit-border-radius: 0; }
	#nav ul ul li			{ float: none;
							  padding: 0;
							  border: solid #fbb724; border-width: 1px 0;
							  background: transparent; }
	#nav ul ul a			{ padding: 4px 12px; height: auto;
							  font-size: 1em; text-transform: none; }
	#nav ul ul li:hover		{ border-color: #ffd57a; }

	#nav ul ul ul			{ left: 100%; top: -3px;
							  padding: 2px 0;
							  -moz-border-radius: 2px;
							  -webkit-border-radius: 2px; }
	#nav ul li.nav_6 ul ul	{ left: -100%; }

	#nav ul li ul					{ display: none; }
	#nav ul li:hover ul				{ display: block; }
	#nav ul li:hover ul li ul		{ display: none; }
	#nav ul li:hover ul li:hover ul	{ display: block; }

	#nav ul.medical a		{ padding: 10px 18px 0 18px; }
	#nav ul.medical ul a	{ padding: 4px 12px; }
/* Main */

	#main					{ z-index: 100; position: relative; }

/* Content */

	#content				{ -moz-border-radius: 3px; clear: both;
							  -webkit-border-radius: 3px;
							  background: #fff; }

/* Contact */

	#contact				{ margin: 1em 0 0 0; }
	#contact p				{ margin-top: 0.35em; padding-left: 22px;
							  background: top left no-repeat; }
	
	p#contact_email			{ background-image: url(../images/layout/icons/mail.png); }
	p#contact_phone			{ background-image: url(../images/layout/icons/telephone.png); }
	p#contact_fax			{ background-image: url(../images/layout/icons/telephone-fax.png); }
	p#contact_address		{ background-image: url(../images/layout/icons/building.png); }

/* Banner */

	#banner					{ height: 174px; overflow: hidden; zoom: 1;
							  position: relative; }
	#banner.home			{ height: 300px; } 
	#banner img				{ margin: 0; position: absolute; top: 0; left: 0; }

/* Catalog */

	#catalog				{ height: 294px; position: relative; }
	#catalog .catalog		{ margin: 0; position: absolute; top: 0; left: 0; padding: 20px 30px; z-index: 100; }
	#catalog img			{ margin: 0; position: absolute; top: 0; left: 0; }
	#catalog .text			{ position: relative; z-index: 10; }
	#catalog h1 a			{ border-bottom-color: #d9d9d9;
							  color: #c82314; }

/* Feed */

	#feed					{ position: absolute; bottom: 0; left: 0;
							  width: 226px; height: 26px; padding: 16px 0 0 100px;
							  background: url(../images/layout/feed_bg.png); }
	#feed a					{ color: #e67706; text-decoration: none;
							  font-size: 1.166em; }
	#feed a:hover			{ text-decoration: underline; }

/* Strip */

	#strip					{ padding: 9px 20px; width: 940px;
							  background: url(../images/layout/strip_bg.alpha.png);
							  position: absolute; bottom: 0; z-index: 200; }
	#strip .title			{ font-weight: bold; }

/* Breadbrumbs */

	#breadcrumbs			{ padding: 9px 20px; width: 940px; margin: 0;
							  list-style: none;
							  background: url(../images/layout/strip_bg.alpha.png);
							  position: absolute; bottom: 0; z-index: 200; }
	#breadcrumbs li			{ display: inline; font-weight: bold;
							  padding: 0 6px 0 0; }
	#breadcrumbs a			{ font-weight: normal;
							  text-decoration: none;
							  color: #404040;
							  padding: 0 14px 0 0;
							  background: url(../images/layout/arrow.png) right no-repeat; }

/* Footer */

	#footer					{ font-size: 0.916em; /* 12px */ overflow: hidden; zoom: 1;
							  background: url(../images/layout/footer_bg.jpg) top center no-repeat;
							  padding: 115px 0 0 0; margin: -90px 0 0 0; }
	#footer, #footer a		{ color: #8c8c8c; }
	#footer a				{ text-decoration: none; }
	#footer a:hover			{ text-decoration: underline; }
	#footer img				{ border: 0; }
	
	#footer p, 
	#footer ul				{ margin-top: 0.5em; } 
	
	#copyright, 
	#copyright a			{ color: #666666; }

	#footer .left			{ float: left; width: 50%; }
	#footer .right			{ float: right; width: 50%; }
	#footer .right p		{ text-align: right; }
	#footer .right img		{ margin: 0 0 0 10px; padding-top: 0.3em; }
	
	#footer ul				{ padding: 0;
							  list-style: none;  }
	#footer ul li			{ display: inline; padding: 0 5px; }
	#footer ul li:first-child, 
	#footer ul li.first-child
							{ padding-left: 0; }
