/* ================================ BASE CSS ======================================== */
/* reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
body {line-height:1.5;}
table {border-collapse:separate;border-spacing:0;}
caption, th, td {text-align:left;font-weight:normal;}
table, td, th {vertical-align:middle;}
blockquote:before, blockquote:after, q:before, q:after {content:"";}
blockquote, q {quotes:"" "";}
a img {border:none;}
a {outline:none;}

/* typography */
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#0066c9;}
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
h2 {font-size:1.92em;margin-bottom:0.8em;}
h3 {color:#00457c;font-size:1.08em;line-height:1.5;}
h4 {color:#00457c;font-size:1.08em;line-height:1.5;margin-bottom: 0.8em;font-weight:bold;}
h5 {font-size:1em;font-weight:bold;}
h6 {font-size:1em;font-weight:bold;}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
p {margin:0 0 1.5em;}
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
a:focus, a:hover {color:#0c3f73;}
a {color:#0066c9;text-decoration:underline;}
blockquote {margin:1.5em;color:#666;font-style:italic;}
strong {font-weight:bold;}
em, dfn {font-style:italic;}
dfn {font-weight:bold;}
sup, sub {line-height:0;}
abbr, acronym {border-bottom:1px dotted #666;}
address {margin:0 0 1.5em;font-style:italic;}
del {color:#666;}
pre {margin:1.5em 0;white-space:pre;}
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
li ul, li ol {margin:0 1.5em;}
ul, ol {margin:0 1.5em 1.5em 1.5em;}
ul {list-style-type:disc;}
ol {list-style-type:decimal;}
dl {margin:0 0 1.5em 0;}
dl dt {font-weight:bold;}
dd {margin-left:1.5em;}
table {margin-bottom:1.4em;width:100%;}
th {font-weight:bold;}
th, td, caption {padding:4px 10px 4px 5px;}
tr.even td {background:#e5ecf9;}
tfoot {font-style:italic;}
caption {background:#eee;}
.small {font-size:0.2em;line-height:1.2em;}
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
.hide {display:none;}
.quiet {color:#666;}
.loud {color:#000;}
.highlight {background:#ff0;}
.added {background:#060;color:#fff;}
.removed {background:#900;color:#fff;}
.first {margin-left:0;padding-left:0;}
.last {margin-right:0;padding-right:0;}
.top {margin-top:0;padding-top:0;}
.bottom {margin-bottom:0;padding-bottom:0;}
.intro { font-weight: bold; }
.error
{
	background: #f9fcc4;
	border: 2px solid #D31145;
	color: #000;
	font-weight: bold;
	margin: 20px 0;
	padding: 10px;
}

/* ================================ Graphics Factory CSS ======================================== */
body
{
	font-family: "Lucida Sans", "Lucida Grande", Lucida, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-align: center;
}

/* structure */
#header
{
	background: transparent url('../images/header.png') no-repeat left top;
	height: 172px;
	margin: 10px auto 0;
	position: relative;
	width: 864px;
}

#container
{
	background: transparent url('../images/backgrounds/marks_swatches.png') no-repeat left -100px;
	margin: 0 auto;
	padding: 24px 0 0;
	width: 943px;
}

#inner-container
{
	border: 1px dashed #111;
	border-bottom: none;
	margin: 0 auto;
	padding: 30px 35px;
	text-align: left;
	width: 829px;
}

#inner-container:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
#inner-container {
	display: inline-block;
}
 
html[xmlns] #inner-container {
	display: block;
}
 
* html #inner-container {
	height: 1%;
}

#footer
{
	background: transparent url('../images/backgrounds/marks_swatches.png') no-repeat left top;
	margin: 0 auto 10px;
	max-height: 100px; /* using a sprite, so just to be safe */
	min-height: 20px;
	width: 943px;
}

* html #footer
{
	height: 20px;
}

#inner-footer
{
	border-top: 1px dashed #111;
	margin: 0 auto;
	line-height: 1;
	padding: 5px 10px;
	text-align: left;
	width: 878px;
}

/* header and navigation */
#header h1
{
	float: left;
	padding: 10px 0 0 35px;
	
}

#header h1 a
{
	display: block;
	height: 150px;
	text-indent: -9999px;
	width: 190px;
}

#header h1 a:focus
{
	outline: none;
}

#header p
{
	bottom: 16px;
	color: #00457c;
	font-size: 0.92em;
	font-weight: bold;
	margin: 0;
	position: absolute;
	right: 24px;
}


#header .navcontainer
{
	border-bottom: 1px dashed #111;
	border-top: 1px dashed #111;
	margin: 18px 25px 0 0;
	padding: 10px 14px 10px 8px;
	position: absolute;
	top:57px; 
	left:288px;
}
#header .navcontainer ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#header .navcontainer ul li
{
	background: transparent url('../images/marks.png') no-repeat left 6px;
	color: #00457c;
	display: block;
	float: left;
	font-size: 1.19em;
	list-style: none;
	margin: 0;
	padding: 0 20px 0 31px;
}

#header .navcontainer ul li a
{
	color: #00457c;
	text-decoration: none;
}

#header .navcontainer ul li.first
{
	background: none;
}
#header #socialNet{float:right; margin:18px 220px 0 0; padding:0; *margin:18px 105px 0 0; }
#header #socialNet li{display:inline; color:#999999; font-size:13px; padding:0 5px;}
#header #socialNet li.facebook a{background:url(/images/grfc_facebook_lg.jpg) no-repeat top left;}
#header #socialNet li.twitter a{background:url(/images/grfc_twitter_lg.jpg) no-repeat top left;}
#header #socialNet a{display:inline-block; text-decoration:none; width:21px; height:21px; text-indent:-9999px;}

/* home page content */
#feature
{
	text-align: center;
}

#feature img
{
	display: block;
	margin: 0 auto;
	max-width: 828px;
}

#wide-content
{
	background: transparent url('../images/gradients/lightgrey.png') repeat-x left -106px;
	border-bottom: 1px dashed #111;
	border-top: 1px dashed #111;
	margin: 30px 0 0;
	padding: 15px 0;
	position: relative;
}

#wide-content .extra-gradient
{
	background: transparent url('../images/gradients/lightgrey.png') repeat-x left top;
	bottom: 0;
	height: 105px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

h2.maintitle
{
	color: #000;
	font-size: 2.16em;
	line-height: 1;
	text-align: center;	
}

/* categories (on home page) */
ul.product-categories
{
	list-style: none;
	margin: 50px 0 0;
	overflow: hidden;
	padding: 0 30px;
}

ul.product-categories li
{
	display: block;
	float: left;
	height: 177px;
	list-style: none;
	margin: 0 50px 0 0;
	padding: 0;
	width: 113px;
	text-align: center;
}

ul.product-categories li h3
{
	white-space: nowrap;
}

ul.product-categories li h3 img
{
	margin: 0 0 0 5px;
}

div.tooltip
{ 
    background:#eee;
    border: 1px solid #ddd;
    display:none;
    padding: 10px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

div.tooltip ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

div.tooltip ul li
{
	display: block;
	float: none;
	font-size: 12px;
	line-height: 2em;
	margin: 0;
	padding: 0;
	min-width: 200px;
	width: auto;
	height: auto;
	text-align: left;
}

div.tooltip ul li a
{
	text-decoration: none;
}

div.tooltip ul li a:hover
{
	text-decoration: underline;
}

.trigger
{
	cursor: pointer;
}

ul.product-categories li.wide
{
	width: 154px;
}

ul.product-categories li h3
{
	color: #003366;
	font-size: 1.09em;
	line-height: 1;
	margin: 0 0 1.5em;
}


/* inner pages */
#content
{
	float: left;
	padding: 0 35px 0 0;
	position: relative;
	width: 596px;
}

#sidebar
{
	border-bottom: 1px dashed #111;
	float: right;
	width: 198px;
}

#sidebar h2
{
	background: #f4f4f4;
	border-bottom: 1px dashed #111;
	border-top: 1px dashed #111;
	color: #000;
	font-size: 1.75em;
	line-height: 2;
	padding: 0 10px;
	margin: 0 0 0.5em;
	position: relative;
}

/* side lists */
#sidebar h3
{
	color: #0066c9;
	font-size: 1.05em;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 0 0.5em;
	padding: 0 0 0 10px;
	text-transform: uppercase;	
}

ul.sidelist
{
	list-style: none;
	margin: 0 0 2em;
	padding: 0 0 0 10px;	
}

.productlist
{
	margin: 0 0 2em;
	padding: 0;
}

.productlist h3
{
	cursor: pointer;
	padding: 0;
}

.productlist h3:hover
{
	text-decoration: underline;
}

#sidebar .productlist h3.nochildren,
#sidebar .productlist h3.nochildren:hover
{
	color: #00457C;
	cursor: default;
	text-decoration: none;
}

.productlist h3 a
{
	text-decoration: none;
}

.productlist h3.current
{
	cursor:default;
}

.productlist .pane
{
	margin: 0.5em 0 0;
	padding: 0 0 0 10px;	
}

.productlist .pane ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.productlist .pane ul li, ul.sidelist li
{
	font-size: 1em;
	font-weight: normal;
	line-height: 1.2;
	margin: 0 0 0.5em;
	text-transform: none;
}

.productlist .pane ul li a, ul.sidelist li a
{
	display: block;
	color: #444;
	text-decoration: none;
}

ul.sidelist li.spaced
{
	line-height: 2.5;
}

ul.sidelist li a.blue
{
	color: #0066c9;
	text-decoration: underline;
}

.productlist .pane ul li a:hover, ul.sidelist li a:hover
{
	color: #00457C;
	text-decoration: underline;
}

ul.sidelist li a.blue:hover
{
	color: #0c3f73;
}

/* product page */
.product-info
{
	float: left;
	width: 336px;
	padding: 0 0 25px;
}

.product-info ul.boxlink-list
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-info ul.boxlink-list li
{
	display: block;
	float: left;
	list-style: none;
	margin: 0 10px 10px 0;
	padding: 0;
}

.product-photo
{
	float: right;
	padding: 0 40px 0 0;
	width: 200px;
}

.product-photo .detail-image
{
	text-align: center;
}

.product-photo .detail-image img
{
	display: block;
	margin: 0 auto 18px;
	max-width: 200px;
}

.product-photo ul.detail-image-thumbs
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-photo ul.detail-image-thumbs li
{
	border: 1px solid #ddd;
	display: block;
	float: left;
	list-style: none;
	margin: 0 5px 0 0;
	padding: 1px;
	width: 59px;
}

.product-photo ul.detail-image-thumbs li img
{
	display: block;
	width: 59px;
}

.product-photo ul.detail-image-thumbs li a:focus
{
	outline: none;	
}

/* map */
#sidebar_1 table
{
	margin: 18px 0 0;
}
  
/* kill margins */
ul.product-categories li.last,
.product-info ul li.last,
.product-photo ul.detail-image-thumbs li.last
{
	margin: 0;
}

/* footer */
#footer ul
{
	float: left;
	list-style: none;
	margin: 0;
	padding: 4px 0 0;
}

#footer ul li
{
	border-right: 1px solid #999;
	display: block;
	float: left;
	font-size: 0.83em;
	margin: 0;
	padding: 0;
}

#footer ul li:last-child,
#footer ul li.last
{
	border-right: none;
}

#footer ul li a
{
	padding: 0 10px;
	color: #000;
	text-decoration: none;
}

#footer ul li:first-child a
{
	padding: 0 10px 0 0;
}


#footer ul li a:hover
{
	text-decoration: underline;
}

#footer p
{
	float: right;
	font-size: 0.83em;
	padding: 4px 0 0;
	text-align: right;
}
#footer #socialNet{}
#footer #socialNet ul{padding-left:10px; margin-top:-2px;}
#footer #socialNet li{display:inline;  border:none; padding:2px 5px 0 0; margin:0; font-weight:bold;}
#footer #socialNet li.facebook{padding:0 5px 0 0;}
#footer #socialNet li.twitter{padding:0;}
#footer #socialNet li.facebook a{background:url(/images/grfc_facebook_sm.jpg) no-repeat top left;}
#footer #socialNet li.twitter a{background:url(/images/grfc_twitter_sm.jpg) no-repeat top left;}
#footer #socialNet a{display:inline-block; text-decoration:none; width:12px; height:12px; text-indent:-9999px; padding:0; margin:0; _display:block; *display:block;}

/********** Contact **********/
form.cssform
{
	
	margin: 10px 0 10px 25px ;
	padding: 0;
}

* html form.cssform
{
	
	margin: 10px 0 10px 0 ;
	padding: 0;
}

.cssform fieldset
{
	display: block;
	
	padding: 0;
	margin: 0 0 0px 0;
	border: none;
}

.cssform legend
{
	font-weight: bold;
	color: #CC0000;
	border: solid 1px #ccc;
	padding: 3px;
	margin: 0;
}

.cssform p
{
	
	margin: 0;
	padding: 0;
	height: 1%;
	vertical-align: middle;
	clear: both;
}

.cssform label
{
	display: block;
	float: left;
	width: 120px;
	margin: 0;
	padding: 0 10px 0 0;
	margin-top: 8px;
	text-align: right;
}

.cssform label.red { color: red; }
.cssform input, .cssform select { margin: 4px 0; }

.cssform input, .cssform select
{
	font: 11px Verdana, Geneva, Arial, Helvetica, sans-serif;
	background-color: #f0f0f0;
	color: #000;
	border: 1px solid #ccc;
}

.cssform select
{
	width: 300px;
	font-size: 10px;
	padding: 3px;
	margin-top: 8px;
}

.cssform select.state { width: 50px; }

* html .cssform select
{
	width: 259px;
}
.cssform textarea
{
	width: 300px;
	float: left;
	height: 70px;
	border: 1px solid #ccc;
	background-color: #f0f0f0;
	margin-top: 10px;
}

* html .cssform textarea
{
	width: 259px;
	float: left;
	height: 70px;
	border: 1px solid #ccc;
	background-color: #f0f0f0;
	margin-top: 10px;
}

.cssform textarea:focus { background-color: #FFFFCC; }

.cssform input[type="radio"]
{
	float: left;
	display: normal;
	border: none;
	background-color: #fff;
}

.cssform label.respond { width: 75px; }

.cssform input[type="text"]
{
	display: block;
	float: left;
	width: 300px;
	font: 12px Arial, Verdana, Geneva, Helvetica, sans-serif;
	padding: 2px;
	color: #102132;
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	margin-top: 8px;
}

* html .cssform input.text
{
	display: block;
	float: left;
	width: 259px;
	font: 12px Arial, Verdana, Geneva, Helvetica, sans-serif;
	padding: 2px;
	color: #102132;
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	margin-top: 8px;
}

.cssform input[type="text"].textsm { width: 120px; }
* html .cssform input.textsm { width: 100px; }
.cssform input[type="text"]:focus { background-color: #FFFFCC; }

.cssform input.submit-contact, .cssform .submit
{
	color: #fff;
	cursor: pointer;
	background-color: #00457C;
	border: 1px solid #ddd;
	font-size: 12px;
	padding: 3px 10px;
	margin: 15px 0 0 130px;
}

.cssform input.submit-contact:hover
{
	background: #0066C9;
	color: #FFF;
}

.cssform p.captcha
{
	clear: both;
	padding: 10px 0 0 130px;
}

.cssform .submit { margin: 8px 0 0 85px; }
* html .threepxfix { margin-left: 3px; }


/* corners */
.corner-top-left,
.corner-top-right,
.corner-bottom-left,
.corner-bottom-right
{
	background: transparent url('../images/marks.png') no-repeat left bottom;	
	display: block;
	height: 5px;
	position: absolute;
	width: 5px;
}

.corner-top-left
{
	left: -3px;
	top: -3px;
}

.corner-top-right
{
	right: -3px;
	top: -3px;
}

.corner-bottom-left
{
	bottom: -3px;
	left: -3px;
}

.corner-bottom-right
{
	bottom: -3px;
	right: -3px;
}

/* misc */
a.boxlink
{
	background: #f4f4f4;
	border-bottom: 1px dashed #111;
	border-top: 1px dashed #111;
	color: #00457c;
	display: block;
	font-weight: bold;
	padding: 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

a.boxlink:hover
{
	background: #e9e9e9;
	color: #0066c9;
}
