/* global */
* { padding: 0; margin: 0; }

/* default styles */
body {background: #221E1F; font-family: Arial, sans-serif; color: #C0C0C0; font-size: 62.5%; height: 110%; }
h1,h2 { font-family: "Franklin Gothic Medium", Arial, sans-serif; text-shadow: 1px 1px 1px #000000;}

h1 {font-size: 3.0em; font-weight: normal; line-height: 1; color: #D0CEC8; margin: 0 0 20px 0;}
h2 { font-size: 2.2em; font-weight: normal; line-height: 1; color: #C0C0C0; margin: 0 0 15px 0; }
h3 {font-size: 1.6em; font-weight: normal; line-height: 1; color: #A89654; margin: 0 0 15px 0; }
a { text-decoration: none; }

a:link { color: #FFFF99; border-bottom: 1px dotted #FFFF99; }
a:visited { color: #DEB887; border-bottom: 1px dotted #DEB887; }
a:hover { color: #FFFFFF; border-bottom: 1px dotted #FFFFFF; }
a:active { color: #FF9900; border-bottom: 1px dotted #FF9900;}
a:focus { color: #999999; border-bottom: 1px dotted #DEB887; }
a img {border: 0;}

img {border: 0;}
img.right {float: right; padding: 5px; background: #333333; margin: 0 0 10px 20px;}
img.left {float: left; padding: 5px; background: #333333; margin: 0 20px 10px 0;}
img.none {display: block; margin: 0 0 20px 0;}

p { font-size: 1.3em; line-height: 1.5em; margin: 0 0 20px 0;}
ul { margin: 0 0 20px 0;}
li {font-size: 1.3em; line-height: 1.5em; }
blockquote {font-family: Georgia; line-height: 1.5em;  font-style: italic; padding: 0 48px 0 0; background: url(/images/site/bg-quoteclose.png) no-repeat right bottom; }
blockquote p { padding: 0 0 0 48px; background: url(/images/site/bg-quote.png) no-repeat left top; }
address { font-size: 1.3em; font-style: normal; line-height: 1.5em; margin: 0 0 20px 0;}

/* general layout*/
#wrapper { width: 960px; margin: 40px auto; }
#header { width: 960px; height: 60px; padding: 0 0px; margin: 40px auto 30px auto; clear: both;}
#content {width: 940px; padding: 10px; margin: 0 auto 0 auto; clear: both;}
#main {float: left; width: 600px; margin: 0 0 20px 0; }
#sidebar {float: right; width: 300px; margin: 0 0 20px 0; }
#footer{ width: 940px; padding: 20px 10px; border-top: 1px solid #333333; margin: 0 auto 40px auto; clear: both;}

/* content layout */
.grid { float: left; width: 940px; padding: 0 0 20px; border-top: 0px dotted #333333; margin: 0 0 20px 0; }
.grid220a {float: left; width: 200px; padding: 0 20px 0 0; margin: 0 20px 0 0;}
.grid220b {float: left; width: 200px; padding: 0 20px 0 0; margin: 0 20px 0 0;}
.grid220c {float: left; width: 200px; padding: 0 20px 0 0; }
.grid220d {float: right; width: 200px; padding: 0 20px 0 0; }
.grid300a { float: left; width: 280px; padding: 0 10px 0 10px; margin: 0 20px 0 0;}
.grid300b { float: left; width: 280px; padding: 0 10px 0 10px; }
.grid300c { float: right; width: 280px; padding: 0 10px 0 10px; }
.grid460a { float: left; width: 460px; margin: 0 0 20px 0; }
.grid460b { float: right; width: 460px; margin: 0 0 20px 0; }
.grid380a { float: left; width: 360px; margin: 0 30px 0 0; }
.grid620b {float: right; width: 600px; padding: 0 20px 0 0;}
.homeservice {float: left; width: 360px; padding: 10px 0 0 0; margin: 0 30px 20px 0;}
.homeservice h2 a { border: 0;}
.homework {float: left; width: 220px; padding: 10px 30px 0 30px; border-left: 1px solid #333333; border-right: 1px solid #333333; margin: 0 0 20px 0; }
.homenews {float: right; width: 240px; padding: 10px 0 0 0; margin: 0 0 20px 0;}

/* general box styling, currently roundy corners! */
.round, .paginate strong, .paginate a {border-radius: 7px; -moz-border-radius: 7px; -webkit-border-radius: 7px;}

/* home page intro */
#splash { float: left; width: 100%; background: #191919 url(/images/site/bg-splashinner2.png) no-repeat center; border-top: 1px solid #333333; border-bottom: 1px solid #363636; margin: 0 auto 10px auto; clear: both; }
#splashinner {width: 940px; margin: 0 auto; clear: both;}
#splash-left {float: left; width: 440px; padding: 30px 100px 30px 0; background: url(/images/site/#bg-rockpass.png) no-repeat right top;}
#splash-right {float: right; width: 380px; padding: 40px 0 30px 0;}
#splash h1 {font-size: 3.6em; color: #F0F0F0; margin: 0 0 5px 0;}
#splash p { color: #C0C0C0; margin: 0;}

/* header and main nav */
.logo { float: left; padding: 0 60px 0 0; }
ul#nav { float: right; width: auto; height: 60px; letter-spacing: 2px; list-style: none; margin: 0; text-transform: uppercase }
ul#nav li { float: left; height: 60px; font-size: 1.2em; line-height: 60px; border-left: 1px dotted #333333; }
ul#nav li a { display: block; float: left; width: auto; font-weight: bold; height: 60px; line-height: 60px; padding: 0 20px 0 10px; border: 0; }
ul#nav li a:hover {background: #262222;}

/* home page lists */
ul.portfolio { float: left; width: 100%; list-style: none; margin: 0; }
ul.portfolio li { float: left; width: 100%; margin: 0 0 10px 0; }
ul.portfolio img {padding: 5px; background: #333333; }
ul.latest { float: left; width: 100%; list-style: none; margin: 0; }
ul.latest li { margin-bottom: 10px; }
ul.services {float: left; width: 100%; list-style: none; margin: 0 0 5px;}
ul.services li {float: left; width: 50%; margin-bottom: 5px;}

/* general entries, used in services, news */
div.entry {float: left; width: 100%; padding: 20px 0 10px 0; border-top: 1px dotted #333333;}
div.entry h2 a { border: 0;}
p.date {font-size: 0.9em; color: #999999; text-transform: uppercase; margin: 0 0 10px 0;}
span.date {font-size: 0.85em; color: #999999; text-transform: uppercase;}

/* work entries */
div.work {float: left; width: 100%; padding: 30px 0; border-top: 1px dotted #333333;}
div.work-image {float: left; width: 310px; text-align: center;}
div.work-image img {display: block; border: 5px solid #333333;}
div.work-blurb {float: right; width: 600px;}

/* pagination */
.paginate {float: right; width: auto; margin: 0;}
.paginate span {display: block; float: left; padding: 5px 12px; margin: 0 10px 0 0; }
.paginate strong {display: block; float: left; padding: 5px 12px; background: #333333; margin: 0 10px 0 0;}
.paginate a {display: block; float: left; font-weight: bold; padding: 5px 12px; background: #111111; border: 0; margin: 0 10px 0 0;}
.paginate a:hover {background: #333333;}

/* sidebar bits */
ul.cats {list-style: none; padding: 0 20px; margin: 0 0 15px 0;}
ul.cats li {font-weight: bold; padding: 5px 0 5px 10px; background: url(/images/site/icon-arrow.gif) no-repeat left;}
.callus {padding: 20px 20px 10px 20px; background: #212121;}
.callus h2 {}
.callus address {margin: 0 0 10px 0;}
.callus p {margin: 0 0 10px 0;}
.phone {display: block; font-size: 3.2em; color: #FF9900; text-align: center;}

/* email forms */
form p {margin: 0 0 20px 0;}
form p.left {float: left; width: 280px;}
form label {display: block; padding: 0 0 5px 0;}
form input {width: 230px; padding: 4px; background: #c0c0c0; border: 1px solid #000000;}
form input:focus {background: #D7D7D7;}
form input.button {font-weight: bold; color: #FFFFFF; background: #999966;}
form textarea {width: 510px; height: 140px; padding: 4px; background: #c0c0c0; border: 1px solid #000000;}
form textarea:focus {background: #D7D7D7;}
form select {width: 230px; padding: 4px; background: #c0c0c0; border: 1px solid #000000;}
form select:focus {background: #D7D7D7;}

/* call to action links */
.ctalink { font-weight: bold; padding: 0 0 0 10px; background: url(/images/site/icon-arrow.gif) no-repeat left; clear: both;}
.ctadownload { font-weight: bold; padding: 0 0 0 18px; background: url(/images/site/icon-download.gif) no-repeat left; clear: both;}

/* footer bits */
#footer p {margin: 0 0 5px;}
#footer address {margin: 0 0 5px 0;}