/* 
  main.css contains a reset, font normalization and some base styles.
	credit is left where credit is due.
  additionally, much inspiration was taken from these projects:
    yui.yahooapis.com/2.8.1/build/base/base.css
    camendesign.com/design/
    praegnanz.de/weblog/htmlcssjs-kickstart
*/

/* 
  html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
  v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
  html5doctor.com/html-5-reset-stylesheet/
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
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;
}                  

blockquote, q { quotes:none; }

blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }

a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }

ins { background-color:#ff9; color:#000; text-decoration:none; }

mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }

/* tables still need cellspacing="0" in the markup */
table { border-collapse:collapse; border-spacing:0; }

hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }

input, select { vertical-align:middle; }
/* END RESET CSS */


/*
fonts.css from the YUI Library: developer.yahoo.com/yui/
          Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages

There are three custom edits:
 * remove arial, helvetica from explicit font stack
 * make the line-height relative and unit-less
 * remove the pre, code styles
*/
body { font:13px sans-serif; *font-size:small; *font:x-small; line-height:1.22; }

table { font-size:inherit; font:100%; }

select, input, textarea { font:99% sans-serif; }


/* normalize monospace sizing 
 * en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome
 */
pre, code, kbd, samp { font-family: monospace, sans-serif; }

/* 
 * minimal base styles 
 */

/* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ 
body, select, input, textarea { color:#444; }

/* Headers (h1,h2,etc) have no default font-size or margin,
   you'll want to define those yourself. */ 
 
/* www.aestheticallyloyal.com/public/optimize-legibility/ */ 
h1,h2,h3,h4,h5,h6 { font-weight: bold; text-rendering: optimizeLegibility; }

/* maxvoltar.com/archive/-webkit-font-smoothing */
html { -webkit-font-smoothing: antialiased; }

 
/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: none; }

a, a:active, a:visited { color:#607890; }
a:hover { color:#036; }


ul { margin-left:30px; }
ol { margin-left:30px; list-style-type: decimal; }

small { font-size:85%; }
strong, th { font-weight: bold; }

td, td img { vertical-align:top; } 

sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }

pre { 
  padding: 15px; 
  
  /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
  white-space: pre; /* CSS2 */
  white-space: pre-wrap; /* CSS 2.1 */
  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word; /* IE */
}

/* align checkboxes, radios, text inputs with their label
   by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css  */
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }

/* hand cursor on clickable input elements */
label, input[type=button], input[type=submit], button { cursor: pointer; }


/* These selection declarations have to be separate.
   No text-shadow: twitter.com/miketaylr/status/12228805301 
   Also: hot pink. */
::-moz-selection{ background: #999; color:#000; text-shadow: none; }
::selection { background:#999; color:#000; text-shadow: none; } 

/*  j.mp/webkit-tap-highlight-color */
a:link { -webkit-tap-highlight-color: #999; } 


/* always force a scrollbar in non-IE */
html { overflow-y: scroll; }

/* make buttons play nice in IE:    
   www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
button {  width: auto; overflow: visible; }
 
/* bicubic resizing for non-native sized IMG: 
   code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode: bicubic; }

/* 
 * Non-semantic helper classes 
 */

/* for image replacement */
.ir { display:block; text-indent:-999em; overflow:hidden; background-repeat: no-repeat; }

/* Hide for both screenreaders and browsers
   css-discuss.incutio.com/wiki/Screenreader_Visibility */
.hidden { display:none; visibility:hidden; } 

/* Hide only visually, but have it available for screenreaders 
   www.webaim.org/techniques/css/invisiblecontent/ 
   Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */
.visuallyhidden { position:absolute !important;    
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* >> The Magnificent CLEARFIX << */
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; } /* Hides from IE-mac \*/
.clearfix { display: block; clear:both; }

/*
 * CSS Styles that are needed by jScrollPane for it to operate correctly.
 *
 * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane
 * may not operate correctly without them.
 */

.jspContainer
{
	overflow: hidden;
	position: relative;
}

.jspPane
{
	position: absolute;
}

.jspVerticalBar
{
	position: absolute;
	top: 0;
	right: 0;
	width: 16px;
	height: 100%;
	background: red;
}

.jspHorizontalBar
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: red;
}

.jspVerticalBar *,
.jspHorizontalBar *
{
	margin: 0;
	padding: 0;
}

.jspCap
{
	display: none;
}

.jspHorizontalBar .jspCap
{
	float: left;
}

.jspTrack
{
	background: #dde;
	position: relative;
}

.jspDrag
{
	background: #bbd;
	position: relative;
	top: 0;
	left: 0;
	cursor: pointer;
}

.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag
{
	float: left;
	height: 100%;
}

.jspArrow
{
	background: #50506d;
	text-indent: -20000px;
	display: block;
	cursor: pointer;
}

.jspArrow.jspDisabled
{
	cursor: default;
	background: #80808d;
}

.jspVerticalBar .jspArrow
{
	height: 16px;
}

.jspHorizontalBar .jspArrow
{
	width: 16px;
	float: left;
	height: 100%;
}

.jspVerticalBar .jspArrow:focus
{
	outline: none;
}

.jspCorner
{
	background: #eeeef4;
	float: left;
	height: 100%;
}

/* Yuk! CSS Hack for IE6 3 pixel bug :( */
* html .jspCorner
{
	margin: 0 -3px 0 0;
}


 /* Primary Styles
 -----------------------------------------------------------------------------------------------
 -----------------------------------------------------------------------------------------------
 -----------------------------------------------------------------------------------------------
    Author: Johannes Ma 
    Edit: 12/10/2010 
 */

#container {
	width: 940px;
	min-height: 630px;
	margin: 30px auto 0;}

h1#mark a {
	position: relative;
	display: block;
	width: 170px;
	height: 160px;
	background: url(../images/shared/mark.jpg) left top no-repeat;
	float: right;
	z-index: 1234;}
	
ul#nav {
	position: relative;
	padding-top: 140px;
	margin: 0;}
	
	ul#nav li {
		float: left;
		list-style: none;}
		
	ul#nav li a {
		height: 38px;}
		
		ul#nav li#n-port a {
			width: 107px;
			background: url(../images/shared/nav.gif) left top no-repeat; }
			
		ul#nav li#n-port a:hover {
			background-position: left -83px; }
			
			ul#nav li#n-port a.on {
			background-position: left -39px; }
			
		ul#nav li#n-spec a {
			width: 131px;
			background: url(../images/shared/nav.gif) -107px top no-repeat; }
			
		ul#nav li#n-spec a:hover {
			background-position: -107px -83px; }
			
			ul#nav li#n-spec a.on {
			background-position: -107px -39px; }
			
		ul#nav li#n-test a {
			width: 148px;
			background: url(../images/shared/nav.gif) -238px top no-repeat; }
			
		ul#nav li#n-test a:hover {
			background-position: -238px -83px; }
			
			ul#nav li#n-test a.on {
			background-position: -238px -39px; }
			
		ul#nav li#n-about a {
			width: 89px;
			background: url(../images/shared/nav.gif) -386px top no-repeat; }
			
		ul#nav li#n-about a:hover {
			background-position: -386px -83px; }
			
			ul#nav li#n-about a.on {
			background-position: -386px -39px; }
			
		ul#nav li#n-quote a {
			width: 142px;
			background: url(../images/shared/nav.gif) -475px top no-repeat; }
			
		ul#nav li#n-quote a:hover {
			background-position: -475px -83px; }
			
			ul#nav li#n-quote a.on {
			background-position: -475px -39px; }
		
	#content {
		position: relative;
		clear: both;
		width: 1004px;
		min-height: 440px;
		margin: 0 0 40px -30px;}
		
	#footer {
		width: 980px;
		margin: 10px auto;
		color: #8c8a8a;
		font-size: 9px;
		text-transform: uppercase;}
		
		#port #footer {margin: 40px auto 0;}
		
		#footer a {
			color: #067d54;
			text-decoration: none;}
			
			#footer a:hover {
				text-decoration: underline;}
		#footer strong {
			color: black;}
		
/* Home/Portfolio Page -----------------------------------------------------------*/

#port ul#nav, #port #content-scroll, #port #content-slider {
	filter:alpha(opacity=0);
    -moz-opacity:0;
    -khtml-opacity: 0;
    opacity: 0;}

#port.ie8 #content {margin-top: -10px;}

p#intro {
	height: 411px;
	width: 100%;
	background: url(../images/photos/home-msg.gif) left top no-repeat;
	position: absolute;
	top: 0; left: 0;}	

 #content-slider {
      width: 1004px;
      height: 21px;
      margin: 25px 0 0 0;
      background: #e3f2ea;
      position: relative;
    }

    .ui-slider-handle {
      width: 39px;
      height: 21px;
      position: absolute;
      top: 0;
      background: url(../images/shared/btn-portfolio-slide.gif) left top no-repeat;
    }

    #content-scroll {
      width: 1004px;
      height: 411px;
      margin-top: 10px;
      overflow: hidden;
    }

    #content-holder {
      width: 11190px;
      height: 411px;
    }

    #content-holder img {
      padding: 0 2px 0 0;
      float: left;
  }

/* Specialties Page -----------------------------------------------------------*/

 #spec #content {
 	background: url(../images/shared/bg-specialities.jpg) left top no-repeat;}
	
	#spec-box {
		display: block;
		width: 695px;
		height: 220px;
		background: url(../images/shared/bg-spec-box.png) left top no-repeat;
		padding: 125px 24px 20px 32px;
		margin-left: 37px;}
		
	#spec-box #description {
		float: left;
		width: 380px;
		padding-right: 20px;
		border-right: 1px solid #fff;} 
		
	#spec-box #description h2 {
		font-size: 12px;
		margin: 0;
		line-height: 1.4em;
		color: #026945;
		text-transform: uppercase;} 
		
	#spec-box #description p {
		font-size: 12px;
		margin: 0;
		line-height: 1.4em;
		color: #000;} 
		
	#spec-box ul#services {
		position: relative;
		float: left;
		margin-left: 40px;}
		
		#spec-box ul#services li {
			position: relative;
			list-style: none;
			line-height: 1.6em;
			color: #000;}
			
		#spec-box ul#services li .detail {
			display: none;
			line-height: 1.1em;
			color: #fff;}
			
		#spec-box ul#services li.on .detail {
			position: absolute;
			top: -16px; left: 249px;
			display: block;
			width: 190px; height: 43px;
			background: url(../images/shared/bg-spec-box-d.png) left top no-repeat;
			padding: 3px 20px 10px 30px;
			z-index: 3000;}
			
			#spec-box ul#services li#s-sp.on .detail {left: 91px;}
			
		
/* Testinmonials Page -----------------------------------------------------------*/

 #test #content {
 	background: url(../images/shared/bg-testimonials.jpg) left top no-repeat;}
 	
 	#tslide {
 		position: relative;
 		width: 435px;
 		height: 265px;
 		background: url(../images/shared/bg-test-box.png) left top no-repeat;
 		padding: 65px 30px 40px 38px;
 		margin-left: 282px;}
 		
 	#tslide ul {
		position: relative;
		list-style: none;
		padding: 0;
		margin: 0;
		}
 
		#tslide ul li {
			position: absolute;
			top: 0;
			left: 0;
			display: none;
			font-size: 16px;
			color: #000;
			line-height: 1.5em;
			}
 
			#tslide ul li.current {
				display: block;
				}
				
			#tslide li p.name {
				text-transform: uppercase;
				margin-top: 20px;
				color: #026945;
				font-weight: bold;
				}
				
			#tslide ul li img.qopen {margin-right: 5px;}
			#tslide ul li img.qclose {position: relative; top: 15px; margin-top: -10px;}
				
	#tslide #controls {
		position: absolute;
		bottom: 20px; right: 30px;	}
		
		#tslide #controls a {
		position: relative;
		top: 2px;
		display: block;
		width: 13px; height: 13px;}
		
		#tslide #controls a, #tslide #controls #num, #tslide #controls #of, #tslide #controls #total  {float: left; margin-left: 5px;}

/* About Page -----------------------------------------------------------*/

 #about #content {
 	background: url(../images/shared/bg-about.jpg) left top no-repeat;}
 	
 	#story {
 		position: relative;
 		width: 417px;
 		height: 270px;
 		background: url(../images/shared/bg-about-box.png) left top no-repeat;
 		padding: 70px 60px 30px 238px;
 		margin-left: 239px;
 		font-size: 11px;
 		line-height: 1.3em;
 		color: #333;}
 		
 	#story .scroll-pane {
 		width: 417px;
 		height: 270px;
 		filter:alpha(opacity=0);
	    -moz-opacity:0;
	    -khtml-opacity: 0;
	    opacity: 0;
 		}
 		
 		#story .scroll-pane p {
 		margin-bottom: 10px;}
 		
 		#story .scroll-pane h3 {
 		margin-bottom: 5px;
 		text-transform: uppercase;
 		letter-spacing: 1px;}
 		
 		p.space {height: 90px;}
 		
 		.jspPane {margin: 10px 0;}
 		
 		.jspTrack {background: #cce6d9;}
 			
 		.jspDrag {background: #009964;}
 		
 		.jspArrow, .jspArrow.jspDisabled {background: none;}
 		
 		.jspArrowUp, .jspArrow.jspDisabled.jspArrowUp {background: #009964 url(../images/shared/a-up.gif) left top no-repeat;}
 		.jspArrowDown, .jspArrow.jspDisabled.jspArrowDown  {background: #009964 url(../images/shared/a-down.gif) left top no-repeat;}
 		
/* Quote Page -----------------------------------------------------------*/

 #quote #content {
 	background: url(../images/shared/bg-quote.jpg) left top no-repeat;} 	
 		
 	#mc_embed_signup {
 		position: relative;
 		width: 425px;
 		height: 310px;
 		background: url(../images/shared/bg-quote-box.png) left top no-repeat;
 		padding: 60px 25px 30px;
 		margin-left: 517px;
 		font-size: 11px;
 		line-height: 1.3em;
 		color: #333;}
 		
 	#mc_embed_signup label.displaynone {display: none;}
 		
 		#quote #content input, textarea#mce-DESCRIBE  {background: #c6f0db; border: 0;}
 		
 		input#mce-NAME, input#mce-EMAIL, input#mce-BUDGET, input#mce-DESCRIBE, textarea#mce-DESCRIBE {
 			width: 405px; height: 20px;
 			padding: 5px 10px 0px;}
 			
 		input#mce-PHONE-area, input#mce-PHONE-detail1, input#mce-PHONE-detail2 {
 			width: 30px; height: 17px; padding: 5px 6px 0px;}
 			 
 			 .ie6 input#mce-PHONE-area, .ie6 input#mce-PHONE-detail1, .ie6 input#mce-PHONE-detail2 {
 			 height: 14px;}
 			 
 		label.l-time {display: inline-block; width: 70px;}
 		
 		input#mce-BUDGET {margin-top: -5px;}
 		
 		a.dp-choose-date {
			float: left;
			width: 14px;
			height: 13px;
			padding: 0;
			margin: 3px 3px 0;
			display: block;
			text-indent: -2000px;
			overflow: hidden;
			background: url(../images/shared/calendar.png) no-repeat; 
		}
		a.dp-choose-date.dp-disabled {
			background-position: 0 -20px;
			cursor: default;
		}
		/* makes the input field shorter once the date picker code
		 * has run (to allow space for the calendar icon
		 */
		input.dp-applied {
			width: 70px;
			height: 20px;
			float: left;
			padding: 0 7px 0px;
		}
		
		label.date {float: left; margin: 3px 5px 15px 10px;}
			
		textarea#mce-DESCRIBE {height: 60px;}
		
		.ie7 .tbox, .ie6 .tbox {margin-top: -10px;}
		.mce_inline_error {display: block; clear: both;}
		
		.q-name, .q-em, .q-ph, .q-time, .q-bud, .q-start, .q-end, .tbox, #mc-embedded-subscribe, input#mce-MMERGE5, input#mce-MMERGE6,
		.q-start .mce_inline_error, .q-end .mce_inline_error, #mce-responses .response {
			position: absolute;
			bottom: 0;
			left: 25px;}
			
		.q-name {top: 60px;}
		
		.q-em {top: 100px;}
		
		.q-ph {top: 140px; left: 35px;}
		
		.q-time {top: 140px; left: 265px;}	
			
			select#mce-TIME {margin-top: -15px;}	
			
		.q-bud {top: 180px;}
		
		.q-start, .q-end {top: 215px;}
		
			.q-end {left: 245px;}
			
		.tbox {top: 250px;}
		
		.ie7 .tbox {top: 260px;}
		
		#quote #content input#mc-embedded-subscribe {
			top: 330px; left: 363px;
			height: 2em;
			background: #fff;
			padding: 3px 20px;}
			
		#quote.ie7 #content input#mc-embedded-subscribe {
			top: 330px; left: 343px;
			width: 100px;
			padding: 3px 10px;}
			
		input#mce-MMERGE5, input#mce-MMERGE6 {top: 0px; left: 90px;}
		
		input#mce-MMERGE6 {left: 80px;}
		
		a.dp-choose-date {margin-left: 90px;}
		
		.ie8 .q-end a.dp-choose-date, .ie7 .q-end a.dp-choose-date {margin-left: 95px;}
		
		.q-start .mce_inline_error, .q-end .mce_inline_error {
			top: 20px;}
			
		#mce-responses .response {top: 355px;}
/* 
 * print styles
 * inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/ 
 */
@media print {
  * { background: transparent !important; color: #444 !important; text-shadow: none; }

  a, a:visited { color: #444 !important; text-decoration: underline; }

  a:after { content: " (" attr(href) ")"; } 

  abbr:after { content: " (" attr(title) ")"; }
  
  .ir a:after { content: ""; }  /* Don't show links for images */
  
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  
  img { page-break-inside: avoid; }

  @page { margin: 0.5cm; }

  p, h2, h3 { orphans: 3; widows: 3; }

  h2, h3{ page-break-after: avoid; }
}



/*
 * Media queries for responsive design
 */

@media all and (orientation:portrait) { 
  /* Style adjustments for portrait mode goes here */
  
}

@media all and (orientation:landscape) { 
  /* Style adjustments for landscape mode goes here */
  
}

/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome)  
   Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
@media screen and (max-device-width: 480px) {
  
  
  /* Prevent iOS, WinMobile from adjusting font size */
  html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } 
}

