/*
 *
 * Built using PHP Cake framework.
 * Built by Russ Taylor in 2010
 * Exclusively for Home-Tech, Inc. 
 *
 */

/*--- General Rules ---*/
* {	margin:0; padding:0; }
html, body { height: 100%; }
body { background: #c8c8c8 url('../img/layout/bg-all.png') repeat-y center top; color: #fff; font-family: "Helvetica Neue", calibri, helvetica, arial, sans-serif; font-size: 100%; line-height: 1.5; margin: 0; }

/*--- Main Containers --- */
#container { margin: 0 auto; width: 960px; min-height: 100%; background: #fff; }
#header { background: transparent; height: 420px; margin: 0; padding: 0; position: relative; }
#header-other { background: transparent url('../img/layout/bg-normal.jpg') no-repeat; height: 240px; margin: 0; padding: 0; position: relative; }
#nav { bottom: 0px; height: 60px; position: absolute; width: 960px; z-index: 10; }
#content { color: #333; overflow: auto; padding: 0 0 160px 0; }
#content-home { width: 960px; color: #333; overflow: auto; padding: 0 0 160px 0; }
#footer { clear: both; position: relative; height: 160px; margin-top: -160px; }
body:before { content: ""; height: 100%; float: left; width: 0; margin-top: -32767px; } /* Opera Fix */
.explanation { background: #ccc; height: 110%; float: left; display: block; margin-left: -60px; margin-right: 60px; }
.exp-180 { width: 280px; padding: 10px; }
#three-col { width: 960px; padding: 0; margin: 0; }
#three-col .column { position: relative; float: left; }
#three-col #center { width: 300px; padding: 0 10px; }
#three-col #left { width: 300px; padding: 0 10px; }
#three-col #right { width: 300px; padding: 0 10px; background: none; }
.project { margin: 10px; background: #eee; float: left; width: 460px; height: 200px; }
.project img { float: left; padding: 10px; }
.project h3 { padding: .5em 0; }
#intro { float: right; width: 420px; margin: 0 60px; }
#left { width: 660px; padding: 0; float: left; }
#description { padding: 10px 60px; }
#right { width: 280px; background: #eee; padding: 10px; float: right; }
	#right img { padding: 5px; }
	#right h2 { padding: .2em 0; font-size: 1.8em; }
	#right h3 { padding: .2em 0; font-size: 1.3em; }
#cpanel { padding: 15px; background: #aaa; }

/*--- Links ---*/
a, a:link { color: #08476e; text-decoration: none; font-weight: 600; }
a:visited { color: #08476e; }
a:hover { color: #3CA3D5; }
h3 a, h3 a:link { font-weight: normal; }
a img { border: none; }
a img:hover { opacity: .85; }

/*--- Navigation ---*/
#nav ul { font-size: 1.3em; font-weight: 100; margin: 0; padding: 0; }
#nav li { background: transparent url('../img/layout/bg-nav.png') 0px 0px; display: inline; float: left; line-height: 60px; list-style: none; margin: 0; padding: 0; text-align: center; width: 25%; }
#nav li:hover { background-position: 0px -60px; }
#nav li a { display: block; height: 100%; text-shadow: #fff 0 1px 0; width: 100%; font-weight: normal; }
#nav li a:link { color: #333; text-decoration: none; }
#nav li a:visited { color: #333; text-decoration: none; }
#nav li a:hover { color: #fff; text-shadow: #000 0 1px 0; }

/*--- CSS Transitions, mostly because I can. ---*/
a, a:link { -webkit-transition: color 1s ease; }
a:hover { -webkit-transition: color .4s; }
#nav a, #nav a:link, #nav li { -webkit-transition: all .5s ease; }
#nav a:hover, #nav li:hover { -webkit-transition: all .3s ease; }
a img { -webkit-transition: opacity 1s ease; }
a img:hover { -webkit-transition: opacity .4s ease; }

/*--- Header Box Animations ---*/
div.slide { width: 960px; height: 420px; z-index: 0; position: absolute; }
div.previous { z-index: 1; }
div.current { z-index: 2; }

/*--- Footer ---*/
#foot { width: 960px; height: 160px; background: #7f0000; margin: 0 auto; padding: 0; clear: both; }
#foot-content { width: 960px; height: 120px; }
#foot-contact { float: left; height: 60px; margin: 30px 10px; font-size: .8em; line-height:1.2em; width: 600px; }
#foot-contact h4 { color: #fff; font-size: 1.4em; padding: 0; }
#foot-contact p { float: left; padding: 5px 10px; }
#nahb, #bbb { background: transparent url(../img/layout/membership-orgs.png) top left; float: right; display: block; }
#nahb a, #bbb a { display: block; width: 100%; height: 100%; }
#nahb { width: 60px; height: 38px; margin: 41px 10px;}
#nahb:hover { background-position: 0px 38px; }
#bbb { width: 38px; height: 60px; background-position: 76px 0px; margin: 30px 20px 30px 10px; }
#bbb:hover { background-position: 38px 0px; }
#copyright { width: 960px; height: 40px; font-size: 12px; color: #bbb; background: #fff; line-height: 40px; text-align: center; }

/*--- Headings ---*/
h1, h2, h3, h4 { font-weight: normal; margin-bottom: 0; margin-top: 0; color: #333; text-shadow: #CCC 0 1px 2px;}
h1 { font-size: 4.23077em; padding: 1em 0; }
h2 { font-size: 2.61538em; padding: 1em 0; }
h3 { font-size: 1.61539em; padding: 1em 0; }
h4 { padding: 1em 0; }
#content h1, #content h2, #content h3, #content h4 { padding-left: 10px; padding-right: 10px; }
#header h1, #header-other h1 { background: transparent url('../img/layout/logo-elements.png') no-repeat; color: #fff; height: 90px; width: 960px; text-indent: -9000px; margin: 0; padding: 0; position: absolute; top: 45px; left: 0; z-index: 10; }
#header h1 a, #header-other h1 a { display: block; width: 100%; height: 100%; }
.explanation h1, .explanation h2, .explanation h3 { font-size: 2.61538em; padding: 1em 0; }

/*--- Text ---*/
#content p { padding: 10px; }
.explanation { font-size: .75em; }
ul, li { margin: 0 12px; }
.more { text-align: right; font-size: 1.2em; }
ul { margin-left: 30px; }

/*--- Misc. Elements ---*/
#feature { float: left; width: 420px; background-color: #e5e5e5; }
#feature p { margin: 5px 30px 10px 30px; line-height: 1.2em; color: #333; }
#map_canvas { width: 300px; height: 240px; }
.quote-request { text-align: center; padding: 10px 0; }

/*--- Form Elements ---*/
div.form, div.index, div.view { float: right; padding: 10px; width: 780px; }
div.actions { float: left; padding: 10px; width: 100px; }
div.actions h3 { color: #777; padding-top: 0; }
dl { line-height: 2em; margin: 0em 0em; width: 60%; }
dl .altrow { background: #f4f4f4; }
dt { font-weight: bold; padding-left: 4px; vertical-align: top; }
dd { margin-left: 10em; margin-top: -2em; vertical-align: top; }
div.message { clear: both; color: #666; font-size: 1.2em; margin: 0; padding: 1.5em 1em 1.5em 4em; border-bottom: #999 solid 1px; }
.success { background: #eee url(../img/layout/check.png) 10px center no-repeat; }
.failure { background: #DFB9BA url(../img/layout/error.png) 10px center no-repeat; }
#content-home div.message { margin: 0; }

/*--- Form styles ---*/
form { padding: 0 10px; }
form .required input, form .required textarea { border: 2px solid #900; }
form .required label:after { content: ' *'; display: inline; }
form .submit input { padding: 5px; margin: 5px 0; }
input, textarea { font: 1.05em 'Helvetica Neue', calibri, helvetica, arial, sans-serif; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; border: 2px solid #666; padding: 2px; }
textarea { width: 90%; padding: 5px; }
fieldset { background: #eee; border: 0; }
label { display: block; }
.checkbox input { margin: 0 5px; }
.checkbox label { display: inline; }
div.error { color: #f00; }
div.error input, div.error textarea { background-color: #FFCACB; }
p.error { font-family: Courier, monospace; line-height: 140%; margin: 1em 0; }
p.error em { color: #000; font-weight: normal; line-height: 140%; }
.notice { background: #ffcc00; color: #000; display: block; font-family: Courier, monospace; font-size: 120%; line-height: 140%; margin: 1em 0; padding: 0.8em; }
div.actions ul { margin: 0; padding: 0; }
div.actions li { list-style-type: none; margin: 0 0 0.5em 0; padding: 0; white-space: nowrap; }
div.actions ul li a { clear: both; display: block; font-weight: normal; }
div.actions ul li a:hover { text-decoration: underline; }
div.related { clear: both; display: block; }
pre { background: #f0f0f0; color: #000; padding: 1em; }

/*--- Table styles ---*/
table { background: #fff; border-right: 0; clear: both; color: #333; margin-bottom: 10px; width: 100%; }
th { border: 0; border-bottom: 2px solid #555; padding: 4px; text-align: left; }
th a { display: block; padding: 2px 4px; text-decoration: none; }
th a.asc:after { content: ' ⇣'; }
th a.desc:after { content: ' ⇡'; }
table tr td { background: #fff; border-bottom: 1px solid #ddd; padding: 6px; text-align: left; vertical-align: top; }
table tr:nth-child(2n) td { background: #f5f5f5; }
table .altrow td { background: #f5f5f5; }
td.actions { text-align: center; white-space: nowrap; }
table td.actions a { margin: 0px 6px; padding: 2px 5px; }

/*--- Login styles ---*/
#login { background: #c8c8c8; color: #333; }
.login { background: #c8c8c8 url(../img/layout/login-bg.jpg) center center no-repeat; margin: 240px auto; width: 480px; height: 300px; display: block; }
#UserLoginForm { position: relative; left: 200px; top: 80px; }
.login .message { position: absolute; top: 80px; border: none; }
.login .failure { background: url(../img/layout/error.png) 10px center no-repeat; }

/*--- Pagination ---*/
div.paging { background: #fff; clear: both; color: #ccc; margin-top: 1em; }
div.paging span.disabled { color: #ddd; display: inline; }
div.paging span.current { color: #c73e14; }

/*--- Shadowbox styles ---*/
#sb-title-inner,#sb-info-inner,#sb-loading-inner,div.sb-message{ font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:200; color:#fff; }
#sb-container{ position:fixed; margin:0; padding:0; top:0; left:0; z-index:999; text-align:left; visibility:hidden; display:none; }
#sb-overlay{position:relative;height:100%;width:100%;}
#sb-wrapper{position:absolute;visibility:hidden;width:100px;}
#sb-wrapper-inner{position:relative;border:1px solid #303030;overflow:hidden;height:100px;}
#sb-body{position:relative;height:100%;}
#sb-body-inner{position:absolute;height:100%;width:100%;}
#sb-player.html{height:100%;overflow:auto;}
#sb-body img{border:none;}
#sb-loading{position:relative;height:100%;}
#sb-loading-inner{position:absolute;font-size:14px;line-height:24px;height:24px;top:50%;margin-top:-12px;width:100%;text-align:center;}
#sb-loading-inner span{ background:url(../img/layout/shadowbox/loading.gif) no-repeat; padding-left:34px; display:inline-block; }
#sb-body,#sb-loading{background-color:#060606;}
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden;}
#sb-title,#sb-title-inner{height:26px;line-height:26px;}
#sb-title-inner{font-size:16px;}
#sb-info,#sb-info-inner{height:20px;line-height:20px;}
#sb-info-inner{font-size:12px;}
#sb-nav{float:right;height:16px;padding:2px 0;width:45%;}
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat;}
#sb-nav-close{background-image:url(../img/layout/shadowbox/close.png);}
#sb-nav-next{background-image:url(../img/layout/shadowbox/next.png);}
#sb-nav-previous{background-image:url(../img/layout/shadowbox/previous.png);}
#sb-nav-play{background-image:url(../img/layout/shadowbox/play.png);}
#sb-nav-pause{background-image:url(../img/layout/shadowbox/pause.png);}
#sb-counter{float:left;width:45%;}
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer;color:#fff;}
#sb-counter a.sb-counter-current{text-decoration:underline;}
div.sb-message{font-size:12px;padding:10px;text-align:center;}
div.sb-message a:link,div.sb-message a:visited{color:#fff;text-decoration:underline;}

/*--- Cake-specific attributes ---*/
.cake-sql-log table { background: #f4f4f4; }
.cake-sql-log td { font-family: Monaco, Consolas, "Courier New", monospaced; padding: 4px 8px; text-align: left; }
.cake-sql-log caption { color: #fff; }
pre.cake-debug { background: #ffcc00; font-size: 120%; line-height: 140%; margin-top: 1em; overflow: auto; position: relative; }
div.cake-stack-trace { background: #fff; color: #333; font-size: 120%; line-height: 140%; margin: 0px; overflow: auto; padding: 6px; position: relative; }
div.cake-code-dump pre { overflow: auto; position: relative; }
div.cake-stack-trace pre, div.cake-code-dump pre { background-color: #F0F0F0; color: #000; margin: 0px; overflow: auto; padding: 1em; }
div.cake-code-dump pre, div.cake-code-dump pre code { clear: both; font-size: 12px; line-height: 15px; margin: 4px 2px; overflow: auto; padding: 4px; }
div.cake-code-dump span.code-highlight { background-color: #ff0; padding: 4px; }
div.code-coverage-results div.code-line { display: block; margin-left: 10px; padding-left: 5px; }
div.code-coverage-results div.uncovered span.content { background: #ecc; }
div.code-coverage-results div.covered span.content { background: #cec; }
div.code-coverage-results div.ignored span.content { color: #aaa; }
div.code-coverage-results span.line-num { color: #666; display: block; float: left; margin-right: 5px; text-align: right; width: 20px; }
div.code-coverage-results span.line-num strong { color: #666; }
div.code-coverage-results div.start { border: 1px solid #aaa; border-width: 1px 1px 0px 1px; margin-top: 30px; padding-top: 5px; }
div.code-coverage-results div.end { border: 1px solid #aaa; border-width: 0px 1px 1px 1px; margin-bottom: 30px; padding-bottom: 5px; }
div.code-coverage-results div.realstart { margin-top: 0px; }
div.code-coverage-results p.note { color: #bbb; font-size: 10px; margin: 5px 0 10px; padding: 5px; }
div.code-coverage-results span.result-bad { color: #a00; }
div.code-coverage-results span.result-ok { color: #fa0; }
div.code-coverage-results span.result-good { color: #0a0; }
