/*	Reset CSS
	-----------------------------  */

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;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

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


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

html {
	height: 100%;
}

body { 
	background: #fff url(images/body-bg.png) repeat-x left top;
	color: #222;
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 75%;
	line-height: 1.5;
	height: 100%;
	margin: 0;
}

h1 {
	float: left;
	font-size: 3em;
	letter-spacing: -0.025em;
}

	h1 a,
	h1 a:focus,
	h1 a:hover {
		color: #fff;
		text-decoration: none;
	}

h2 {
	color: #fff;
	background: #c30;
	font-size: 2em;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 0.5em;
	padding: 13px 0 13px 20px;
}

body.home h2 {
	background: none;
	color: #222;
	font-size: 2em;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 0.5em;
	padding: 0;
}

h3 {
	font-size: 1.385em;
	font-weight: normal;
	line-height: 1.25;
	margin-bottom: 0.75em;
}

	h3 span {
		font-size: 0.722em;
	}

p {
	margin: 0 0 1em;
}

ul, ol {
	margin: 0 1.5em 1em;
}

ul ul, ol ol {
	margin-top: 1em;
}

ul {
	list-style: disc outside;
}

ol {
	list-style: decimal outside;
}

a {
	color: #c30;
	text-decoration: none;
}

a:focus,
a:hover {
	color: #c30;
	text-decoration: underline;
}


/*	Primary layout and navigation
	------------------------------  */

#skip {
	left: -9999px;
	position: absolute;	
}

#container {
	min-height: 100%;
	position: relative;
	width: 100%;
}

#header {
	height: 80px;
	padding-top: 25px;
}

	#header-inner {
		margin: 0 auto;
		width: 960px;		
	}

#nav {
	float: right;
	font-size: 1.333em;
	font-weight: bold;
	letter-spacing: -0.015em;	
	list-style: none;
	margin: 15px 10px 0 0;
	overflow: hidden;
	padding: 0;
}

	#nav li {
		float: left;
		margin-left: 10px;
	}
	
	#nav li a {
		background: #336;
		color: #fff;
		display: block;
		padding: 2px 10px 3px;
		text-decoration: none;
	}
	
	#nav li a:focus,
	#nav li a:hover {
		background: #fff;
		color: #336;		
	}
	
	#nav .current_page_item a,
	#nav .current_page_item a:focus,
	#nav .current_page_item a:hover,
	#nav .current_page_parent a,
	#nav .current_page_parent a:focus,
	#nav .current_page_parent a:hover,
	#nav .current_page_ancestor a,
	#nav .current_page_ancestor a:focus,
	#nav .current_page_ancestor a:hover {
		background: #c30;
		color: #fff;
		cursor: text;
	}

#wrap {	
	background: transparent url(images/wrap-bg.png) no-repeat left top;
	margin: 0 auto;
	min-height: 360px;
	overflow: hidden;
	padding-bottom: 175px;
	width: 960px;
}

#content {
	overflow: hidden;
	padding: 30px;
	width: 900px;	
}

	#main-content {
		float: right;
		font-size: 1.083em;
		padding-top: 6px;
		width: 680px;
	}
	
	#main-content.wide {
		width: 880px;
	}
	
		#main-content .intro,
		#main-content p:first-child {
			font-size: 1.385em;
			font-weight: normal;
			line-height: 1.25;
			margin-bottom: 0.75em;
		}
	
	#sidebar {
		float: left;
		width: 200px;
	}
	
		#sub-nav {
			border: 1px solid #ddd;
			list-style: none;
			margin: 0;
			padding: 5px 5px 0;
		}
		
			#sub-nav li {
				margin-bottom: 5px;
			}
			
				#sub-nav li a {
					color: #777;
					display: block;
					padding: 4px 5px 6px 13px;
				}
				
				#sub-nav li a:focus,
				#sub-nav li a:hover {
					background-color: #c30;
					color: #fff;
					text-decoration: none;
				}
				
				#sub-nav .current_page_item a,
				#sub-nav .current_page_item a:focus,
				#sub-nav .current_page_item a:hover,
				#sub-nav .current_page_parent a,
				#sub-nav .current_page_parent a:focus,
				#sub-nav .current_page_parent a:hover {
					background-color: #c30;
					color: #fff;
					text-decoration: none;
				}
		
		#sub-nav ul {
			display: none;
			list-style: none;
			margin: 0;
			padding: 5px 0 0;
		}
		
			#sub-nav .current_page_item ul,
			#sub-nav .current_page_parent ul {
				display: block;
			}
			
					#sub-nav ul li a,
					#sub-nav .current_page_item ul li a,
					#sub-nav .current_page_parent ul li a {
						background: transparent url(images/bullet-arrow.png) no-repeat 13px center;
						color: #777;
						display: block;
						padding: 2px 0 4px 26px;
					}
					
					#sub-nav ul li a:focus,
					#sub-nav ul li a:hover,
					#sub-nav .current_page_item ul li a:focus,
					#sub-nav .current_page_item ul li a:hover,
					#sub-nav .current_page_parent ul li a:focus,
					#sub-nav .current_page_parent ul li a:hover,
					#sub-nav .current_page_parent ul .current_page_item a,
					#sub-nav .current_page_parent ul .current_page_item a:focus,
					#sub-nav .current_page_parent ul .current_page_item a:hover {
						background-color: #f5f5f5;
						color: #777;
						text-decoration: none;
					}

#footer {
	background: #c30;
	bottom: 0;
	clear: both;
	color: #fff;
	padding: 30px 0;
	position: absolute;
	text-align: right;
	width: 100%;
}

	#footer-inner {
		margin: 0 auto;
		width: 960px;		
	}
	
	#footer-inner img {
		float: left;
	}
	
	#footer-inner div {
		float: right;
		margin-top: 25px;
	}
	
	#footer-inner p {
		margin: 0;
	}
	
		#footer em {
			color: rgb(255,255,255);
			color: rgba(255,255,255,0.8);
			font-style: normal;
			padding: 0 3px;
		}
		
		#footer a {
			color: #fff;
		}


/*	Specific styles
	-----------------------------  */
	
/*	Slideshow  */

#slideshow-wrapper {
	height: 250px;
	margin: 0 0 1.25em;
	position: relative;
	width: 900px;
}

	#slideshow-wrapper a {
		background: transparent url(images/slideshow/arrows.png) no-repeat left top;
		display: block;
		height: 46px;
		position: absolute;
		text-indent: -9999px;
		top: 102px;
		width: 31px;
		z-index: 10;
	}
	
	#slideshow-wrapper #prev {
		background-position: left top;
		left: -13px;
	}
	
	#slideshow-wrapper #next {
		background-position: left -154px;
		right: -13px;
	}
	
	#slideshow-wrapper img {
		height: 250px;
		position: absolute;
		left: 0;
		top: 0;
		width: 900px;
		z-index: 0;
	}
	
	#slideshow-wrapper p {
		color: #fff;
		position: absolute;
		left: 0;
		bottom: -15px;
		font-size: 2em;		
		text-align: center;
		width: 100%;
		z-index: 10;
	}
	
		#slideshow-wrapper p strong {
			background: #336;
			letter-spacing: -0.015em;
			padding: 2px 10px;
		}
		

/*	Home columns  */

#home-cols {
	list-style: none;
	margin: 0 0 0 -20px;
	padding: 0;
	width: 940px;
}

	#home-cols li {
		border-right: 1px solid #e8e8e8;
		float: left;
		margin-left: 20px;
		min-height: 235px;
		padding: 3px 20px 0 0;
		width: 272px;
	}
	
	#home-cols #welcome {
		font-size: 1.083em;
	}
	
	#home-cols #services ul {
		border-top: 1px dotted #ddd;
		list-style: none;
		margin: 0;
		overflow: hidden;
		padding: 0;
	}
	
		#home-cols #services li {
			border-bottom: 1px dotted #ddd;
			border-right: 0;
			margin: 0;
			min-height: 0;
			padding: 1px 0;
		}
		
		#home-cols #services li a {
			background: transparent url(images/bullet-arrow.png) no-repeat left center;
			color: #777;
			display: block;
			padding: 4px 0 6px 12px;
		}
		
		#home-cols #services li a:focus,
		#home-cols #services li a:hover {
			background-color: #f5f5f5;
			text-decoration: none;
		}
	
	#home-cols #contact {
		border: 0;
	}
	

/*	Home page vCard  */

.vcard p {
	margin-bottom: 0.75em;
	overflow: hidden;
	padding-left: 24px;
}

.tel {
	background: transparent url(images/icon-tel.png) no-repeat left center;	
}

.fax {
	background: transparent url(images/icon-fax.png) no-repeat left center;
}

.email {
	background: transparent url(images/icon-email.png) no-repeat left center;
}

.address {
	background: transparent url(images/icon-pin.png) no-repeat left 2px;
}


/*	Contact form  */

label {
	display: block;
	margin-bottom: 3px;
}

.required {
	color: #f00;
	font-style: normal;
}

.wpcf7-text,
textarea {
	border: 1px solid #ccc;
	padding: 5px;
}

.wpcf7-response-output {
	font-size: 1.385em;
}

.wpcf7-mail-sent-ok {
	background: url(images/tick.png) no-repeat left 6px;
	padding-left: 24px;
}

.wpcf7-validation-errors {
	background: url(images/cross.png) no-repeat left 6px;
	padding-left: 24px;
}

.wpcf7-not-valid-tip-no-ajax {
	background: url(images/cross.png) no-repeat left center;
	margin-left: 10px;
	padding-left: 24px;
}


/*	Services listing  */

#services-thumbs {
	list-style: none;
	margin: 0 0 0 -20px;
	overflow: hidden;
	padding: 0.5em 0 0;
}

	#services-thumbs li {
		float: left;
		margin: 0 0 0 20px;
		width: 155px;
	}

		#services-thumbs li a {
			color: #fff;
			text-decoration: none;
			margin-bottom: 1em;
			display: block;
			border: 1px solid #336;
			line-height: 1.25;
			width: 153px;
			height: 115px;
			position: relative;
		}
		
		#services-thumbs li a:focus,
		#services-thumbs li a:hover {
			border-color: #c30;
		}
		
		#services-thumbs #service-pattern a {
			background: url(images/photos/pattern-thumb.jpg) no-repeat left top;
		}
		
		#services-thumbs #service-castings a {
			background: url(images/photos/castings-thumb.jpg) no-repeat left top;
		}
		
		#services-thumbs #service-machining a {
			background: url(images/photos/machining-thumb.jpg) no-repeat left top;
		}
		
		#services-thumbs #service-plaques a {
			background: url(images/photos/plaques-thumb.jpg) no-repeat left top;
		}
		
			#services-thumbs a strong {
				background: #336;
				width: 137px;
				padding: 4px 8px 6px;
				position: absolute;
				left: 0;
				bottom: 0;
			}
			
			#services-thumbs a:focus strong,
			#services-thumbs a:hover strong {
				background: #c30;
			}


/*	Gallery  */

.gallery {
	overflow: hidden;
	padding-top: 0.5em;
	width: 680px;
}

.gallery .gallery-item {
	float: left;
	margin: 0 20px 12px 0;
}