/* CSS Reset ------- http://meyerweb.com/eric/tools/css/reset/ */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/* ---------- Main Layout ---------- */

body {background: #000 url(../images/grisdfddo.gif) repeat-y 50% 0;}
#wrapper, #footer {width: 940px; margin: 0 auto;}
.subpage #wrapper {background: #fff; padding-bottom: 6px;}
#header {height: 160px; background: url(../images/main_bg.jpg) no-repeat 50% 0; position: relative;}
#mainContent {}
#leftColumn {width: 280px; padding: 6px 40px 0 20px; float: left;}
#rightColumn {width: 580px; float: right;}
#footer {height: 35px; background: url(../images/bg_footer.gif) no-repeat 50% 0; padding: 25px 0 0 0;}

/* ---------- Positioning ---------- */

#header h1 a, #header h2, #header ul, #header a.freeQuote, #header p, #header span#navLeft, #header ul li a span {position: absolute;}

/* ---------- Typography ---------- */

body {font: normal 62.5% Verdana, Arial, Helvetica, sans-serif; color:#3d3d3d;}
/* Text Indent */ #header h1 a, #header h2, #calloutContainer h2, #calloutContainer a.moreButton, body#home #mainContent #rightColumn h2, #featured h3 {text-indent: -9999px;}

#header p {top: 78px; right: 0; color: #fff;}
#header p span {font-size: 1.4em; display:inline-block; padding-left: 10px;}
#mainContent p {font-size: 1.2em; line-height: 1.6em;}
#mainContent #rightColumn p {width: 440px;}
.subpage #mainContent #rightColumn p {width: 100%; margin: 0 0 20px 0;}
#footer span {color: #575757; font-size: 1.0em; float: right;}
p.client {font-weight: bold;}
blockquote {background: url(../images/o_quote.gif) no-repeat 0 0; padding: 6px 0 0 35px;}
blockquote p span {display: inline-block; width: 28px; height: 19px; background: url(../images/c_quote.gif) no-repeat; margin: 0 0 -8px 7px; position: relative;}
blockquote cite {color: #9f0235; font-weight: normal;}

/* ---------- Links ---------- */

a:link, a:visited {color: #176f88; text-decoration: underline; font-size: 1em;}
a:hover {text-decoration: none;}
#header h1 a {display: block; width: 304px; height: 84px; background: url(../images/main_logo.gif) no-repeat; position: absolute; top: 17px; left: 8px;}
#calloutContainer a.moreButton:link, #calloutContainer a.moreButton:visited {display: block; width: 241px; height: 45px; background: url(../images/button_more.gif) no-repeat 0 0; margin: 30px 0 25px 0;}
#calloutContainer a.moreButton:hover {background-position: 0 -46px;}
#calloutContainer a, #featured a {font-size: 1.2em;}
#featured a {float: left; margin-left: 5px;}
#featured a.theater {float: right; margin-right: -10px; position: relative;}
#featured a span {display: block; padding: 3px 0 0 2px;}

/* ---------- Headings ----------- */

#header h2 {width: 490px; height: 35px; background: url(../images/tagline.png) no-repeat; top: 37px; right: 0;}
body.subpage #subHeader h1 {color: #fff; font-size: 28px; margin: 0 0 0 40px; letter-spacing: 3px; font-family: Georgia, "Times New Roman", Times, serif; text-shadow: 3px 3px 2px rgba(0,0,0,.9);}
#calloutContainer h2 {width: 307px; height: 134px; background: url(../images/mission.png) no-repeat; margin-top: 28px;}
#mainContent h2, h3 {font: normal 2.0em Georgia; color:#1e1e1e; margin-bottom: 10px;}
body#home #mainContent #rightColumn h2 {width: 303px; height: 31px; background: url(../images/h2_family_owned.gif) no-repeat;}
.subpage #mainContent #rightColumn h2 {color: #1e1e1e; margin: 0 0 20px 0; font-size: 2.2em;}
h3 {color: #106178; font-size: 2.0em;}
#featured h3 {margin: 0 0 15px 0; width: 379px; height: 17px; background: url(../images/featured_heading.gif) no-repeat}

/* ---------- Homepage ---------- */

#subHeader, #calloutContainer {height: 319px;}
#subHeader {position: relative; background: #fff;}
#calloutContainer {background: #fff; background: rgba(255, 255, 255, .85); padding-left: 20px; width: 320px; position: absolute; top:0; left:0; z-index:1000;}
body#home #mainContent {padding: 28px 0 0 0; height: 266px; background: url(../images/bg_maincontent_home.jpg) no-repeat 50% 0;}
#featured {width: 329px; height: 129px; margin: 12px 0 0 0; padding: 0 15px 0 0;}

/* ---------- Subpages ---------- */

.subpage #subHeader {height: 74px;  padding-top: 45px; background: no-repeat 50% 50%; background-image: url(../images/subpage_header_01.jpg); position: relative; z-index: 1;}
#about #subHeader {background-image: url(../images/subpage_header_01.jpg);}
#portfolio #subHeader {background-image: url(../images/subpage_header_02.jpg);}
#contact #subHeader, #quotes #subHeader {background-image: url(../images/subpage_header_03.jpg);}
.subpage #mainContent {background: url(../images/bg_subpage_maincontent.jpg) no-repeat 50% 0;}
.subpage #leftColumn {width: 234px; margin: 0 0 0 6px; padding: 0;}
.subpage #rightColumn {width: 608px; padding: 28px 40px 15px 12px;}
.subpage #fCol {background: url(../images/bg_subpage_left_column.gif) repeat-y 0 0; }

ul#siteMap {margin: 0 0 20px 15px;}
ul#siteMap li a:link, ul#siteMap li a:visited {font-size: 1.6em;}
ul#siteMap li {margin: 0 0 5px 0;}
ul#siteMap li ul {margin: 5px 0 0 12px;}
ul#siteMap li a:visited {color: #2f2f2f;}
ul#siteMap li ul li a:link {font-size: 1em;}
ul#siteMap li ul li a:visited {font-size: 1em; color: #2f2f2f;}
ul#siteMap li ul li {margin: 0 0 2px 0;}

ul#contactInfo {float: left; margin: 18px 0 0 40px;}
ul#contactInfo li {margin: 0 0 12px 0; font-size: 1.1em; line-height: 1.8em;}
ul#contactInfo li strong {display:block; color: #000;}

ul.corpCommSolutions {list-style: inherit; font-size: 1.2em; margin-left: 15px;}
ul.corpCommSolutions li {margin-bottom: 10px;}

/* ---------- Images------------ */

#featured a img {margin-bottom: -2px; position: relative;}
body#home #mainContent #leftColumn a img {margin: 5px 20px 0 0;}
@media screen and (-webkit-min-device-pixel-ratio:0) {#featured a img {margin-bottom: 0;}}
img.serviceIMG {float: right; margin: 8px 10px 12px 20px;}
img.border {border: 5px solid #ececec;}

/* ---------- Forms ----------- */

#mainContent #leftColumn form {margin: 10px 0 20px 0;}
#mainContent #leftColumn form input {border: 1px solid #c8c2bd; width: 190px; padding: 6px 0 6px 5px; color: #bebebe; float: left;}
#mainContent #leftColumn input#newsSubmit {background: #b3043d; border: none; width: 35px; color:#fff; cursor: pointer; padding: 6px 0; padding-top: 8px \0;}
@media screen and (-webkit-min-device-pixel-ratio:0) {#mainContent #leftColumn input#newsSubmit {padding: 7px 0;}}

fieldset.hidden {display: none;}
.subpage form {margin: 0 0 0 10px;}
.subpage form label, .subpage form input, .subpage form select {display: block; margin: 0 0 15px 0;}
.subpage form label {margin: 0 0 5px 0; font-size: 1.4em;}
.subpage form input, .subpage form textarea {border: 1px solid #c8c2bd; width: 290px; padding: 8px 0 8px 10px; font-size: 1.4em; border-right-color: #a9a9a9; border-bottom-color: #a9a9a9;}
.subpage form textarea {height: auto; margin-bottom: 20px;}

#submitContact, #submitQuote {width: 300px; background: #176f88; color: #fff; border-color: #0f5c72; padding-left: 0; font-size: 1.6em;}
input#last {display: none;}
.message {background:#feffec; width: 310px; display:none; padding:10px; margin: 0 0 15px 0; border: 1px solid #dddfb2;}
.message b {display: block; margin-bottom: 5px; font-size: 1.4em;}
.message li {color: red; margin-left: 6px;}

#contactFormOne, #contactForm {width: 330px; float: left;}

/* ---------- Extras ---------- */

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden;}

/* ---------- Playlist/Player ---------- */

.player {padding: 8px; background: #1a1a1a;}
div.prestige {padding-top: 35px;}
div.prestige a {display: block; margin: 0 0 25px 0; font-size: 1.4em;}

/* ---------- Portfolio Gallery ---------- */

#image_wrap {width:545px; margin:15px 0 15px 20px; padding:15px 0; text-align:center; background-color:#efefef;
border:2px solid #fff; outline:1px solid #ddd; -moz-ouline-radius:4px;}
.scrollable {position:relative;overflow:hidden;width: 550px;height:90px;}
.scrollable .items {width:20000em;position:absolute;}
.items div {float:left;}

/*
	root element for the scrollable.
	when scrolling occurs this element stays still.
*/
.scrollable {
	position:relative;
	overflow:hidden;
	width: 548px;
	height:120px;
	border:1px solid #ccc;
	background:url(../images/h300.png) repeat-x;
	margin-bottom: 15px;
}

.scrollable .items {
	/* this cannot be too large */
	width:20000em;
	position:absolute;
	clear:both;
}

.items div {
	float:left;
	width:680px;
}

.scrollable img {
	float:left;
	margin:20px 5px 20px 21px;
	background-color:#fff;
	padding:2px;
	border:1px solid #ccc;
	width:100px;
	height:75px;	
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	cursor: pointer;
}

.scrollable .active {
	border:2px solid #000;
	position:relative;
	cursor:default;
}

/* this makes it possible to add next button beside scrollable */
.scrollable {float:left;}

a.browse {
	background:url(../images/hori_large.png) no-repeat;
	display:block;
	width:30px;
	height:30px;
	float:left;
	margin:40px 10px;
	cursor:pointer;
	font-size:1px;
}

/* right */
a.right {background-position: 0 -30px; clear:right; margin-right: 0px; position: absolute; right: 39px; z-index: 2000;}
@media screen and (-webkit-min-device-pixel-ratio:0) {a.right {bottom: 42px;}}
a.right:hover {background-position:-30px -30px;}
a.right:active {background-position:-60px -30px;} 


/* left */
a.left {margin-left: -20px;} 
a.left:hover {background-position:-30px 0;}
a.left:active {background-position:-60px 0;}

/* up and down */
a.up, a.down		{ 
	background:url(../images/vert_large.png) no-repeat; 
	float: none;
	margin: 10px 50px;
}

/* up */
a.up:hover {background-position:-30px 0;}
a.up:active {background-position:-60px 0; }

/* down */
a.down {background-position: 0 -30px;}
a.down:hover {background-position:-30px -30px;}
a.down:active {background-position:-60px -30px;} 


/* disabled navigational button */
a.disabled {visibility:hidden !important;} 	












