/* reset */
* { border: 0; margin: 0; padding: 0; outline: 0; font-size: 100%; }

html, body { height: 100%; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }

b, strong { font-weight: bold; }

img { color: transparent; font-size: 0; vertical-align: middle; -ms-interpolation-mode: bicubic; }

li { display: list-item; }

table { border-collapse: collapse; border-spacing: 0; }

th, td, caption { font-weight: normal; vertical-align: top; text-align: left; }

svg { overflow: hidden; }

/* forms */
form input[type="search"]::-webkit-search-decoration { display: none; }
form input, form button, form select, form textarea { margin: 0; vertical-align: baseline; *vertical-align: middle; }
form button, form input[type="reset"], form input[type="submit"], form input[type="button"] { -webkit-appearance: none; -moz-background-clip: padding; -webkit-background-clip: padding; -o-background-clip: padding-box; -ms-background-clip: padding-box; -khtml-background-clip: padding-box; background-clip: padding-box; cursor: pointer; outline: 0; overflow: visible; width: auto; }
form button, form input[type="reset"], form input[type="submit"], form input[type="button"] { font: bold 13px/15px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #333333; text-shadow: white 0 1px 1px; background-color: #dddddd; *background: #dddddd url('img/button.png?1304387260') left top repeat-x; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dddddd), color-stop(2%, rgba(255, 255, 255, 0.1))); background-image: -webkit-linear-gradient(#dddddd, rgba(255, 255, 255, 0.1) 2%); background-image: -moz-linear-gradient(#dddddd, rgba(255, 255, 255, 0.1) 2%); background-image: -o-linear-gradient(#dddddd, rgba(255, 255, 255, 0.1) 2%); background-image: -ms-linear-gradient(#dddddd, rgba(255, 255, 255, 0.1) 2%); background-image: linear-gradient(#dddddd, rgba(255, 255, 255, 0.1) 2%); border: 1px solid; border-color: #dddddd #bbbbbb #999999; -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; -ms-border-radius: 2px; -khtml-border-radius: 2px; border-radius: 2px; padding: 4px 10px 4px 10px; }
form textarea, form select, form input[type="password"], form input[type="search"], form input[type="text"] { -webkit-appearance: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -moz-background-clip: padding; -webkit-background-clip: padding; -o-background-clip: padding-box; -ms-background-clip: padding-box; -khtml-background-clip: padding-box; background-clip: padding-box; outline: none; width: auto; *height: auto !important; }
form textarea, form select[size], form select[multiple] { height: auto !important; }
.is_webkit form select[size], .is_webkit form select[multiple] { background-image: none !important; padding: 0 !important; }
form optgroup { font-style: normal; font-weight: normal; }
form textarea { min-height: 40px; overflow: auto; resize: vertical; width: 100%; }
form textarea, form select, form input[type="password"], form input[type="search"], form input[type="text"] { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; color: black; background-color: white; border: 1px solid; border-color: #848484 #c1c1c1 #e1e1e1; -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; -ms-border-radius: 2px; -khtml-border-radius: 2px; border-radius: 2px; font-size: 13px; height: 26px; padding: 2px 3px 2px 3px; *padding-bottom: 1px; }
.is_webkit form select { background-image: url('img/select_arrow.gif?1304387260'); background-repeat: no-repeat; background-position: right center; padding-right: 16px; }
form option, form optgroup { font-size: 13px; }
form optgroup { color: black; }
form button:focus, form button:active, form input:focus, form input:active, form select:focus, form select:active, form textarea:focus, form textarea:active { z-index: 1; }
form input[type="file"]:focus, form input[type="file"]:active, form input[type="radio"]:focus, form input[type="radio"]:active, form input[type="checkbox"]:focus, form input[type="checkbox"]:active { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; -o-box-shadow: none !important; box-shadow: none !important; }
form button:focus, form button:active, form input:focus, form input:active, form select:focus, form select:active, form textarea:focus, form textarea:active { -moz-box-shadow: #0066ff 0 0 7px; -webkit-box-shadow: #0066ff 0 0 7px; -o-box-shadow: #0066ff 0 0 7px; box-shadow: #0066ff 0 0 7px; }
form button[disabled], form input[disabled], form select[disabled], form select[disabled] option, form select[disabled] optgroup, form textarea[disabled] { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; -o-box-shadow: none !important; box-shadow: none !important; -webkit-user-select: none; -moz-user-select: none; user-select: none; cursor: default; }
form select[disabled], form textarea[disabled], form input[type="password"][disabled], form input[type="search"][disabled], form input[type="text"][disabled] { background-color: #eeeeee; }
form button[disabled], form input[disabled], form select[disabled], form select[disabled] option, form select[disabled] optgroup, form textarea[disabled] { color: #888888; }
form ::-moz-focus-inner { border: 0; padding: 0; }
form ::-webkit-input-placeholder { color: #888888; }
form input:-moz-placeholder, form textarea:-moz-placeholder { color: #888888; }
form input.placeholder_text, form textarea.placeholder_text { color: #888888; }
form .input_full { width: 100% !important; }
form .input_full_wrap { display: block; padding-right: 8px; }

/* global */
html { overflow-x: hidden; overflow-y: scroll; }

body { font: 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #717171; background: #404040; color: #717171; cursor: default; -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, p, pre, ul, ol, dl, address, caption, table, form, hr { margin-bottom: 20px; }

ul ul, ul ol, ul dl, ol ol, ol ul, ol dl, dl dl, dl ul, dl ol { margin-bottom: 0; }

ul, ol, dd { margin-left: 1.615em; }

dd ul, dd ol { margin-left: 0; }

blockquote { padding: 0 1.615em; }

a { color: #b89358; text-decoration: none; }
a:hover { color: white; }

.intro-wrapper { background-color: #252525; background-position: center center; background-repeat: no-repeat; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; }

.intro { font-size: 28px; line-height: 34px; font-family: Georgia, serif; color: white; }
.intro .more { font-weight: bold; font-size: 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.intro .more a { padding-left: 32px; background: url('img/yelline.png?1321374615') left 13px no-repeat; color: white; }
.intro .more a:hover { color: #b89358; }

.with-intro .intro { display: inline; float: right; width: 620px; padding-top: 60px; padding-bottom: 40px; }
.with-intro .copy { display: inline; float: right; width: 620px; padding-top: 60px; padding-bottom: 40px; clear: right; font-size: 14px; line-height: 22px; }
.with-intro .form { display: inline; float: right; width: 620px; padding-top: 60px; padding-bottom: 40px; clear: right; }
.with-intro aside { display: inline; float: right; width: 300px; padding-top: 60px; padding-bottom: 40px; }

form .row { *zoom: 1; }
form .row:after { content: ""; display: table; clear: both; }
form .error { clear: left; margin-top: 5px; margin-left: 100px; }
form label { display: inline; float: left; margin-top: 0.3em; width: 100px; }
form input[type=text], form textarea, form .error { display: inline; float: left; width: 340px !important; }
form textarea { margin-top: 0.3em; }

/* layout */
.wrapper { width: 940px; margin-left: auto; margin-right: auto; *zoom: 1; }
.wrapper:after { content: ""; display: table; clear: both; }

#main-wrapper { background-color: #252525; }

#main { overflow: hidden; }

#siteheader { color: #c2c2c2; }
#siteheader .wrapper { padding-top: 40px; padding-bottom: 40px; }
#siteheader #logo { display: inline; float: left; margin-left: 20px; width: 140px; margin-left: 0; }
#siteheader #mainnav { display: inline; float: left; margin-left: 20px; width: 300px; margin-left: 180px !important; margin-top: 20px; }
#siteheader #mainnav a { padding-left: 32px; background: url('img/yelline.png?1321374615') left 11px no-repeat; }
#siteheader #emailme { display: inline; float: left; margin-left: 20px; margin-top: 60px; padding-left: 32px; background: url('img/yelline.png?1321374615') left 13px no-repeat; }
#siteheader ul { list-style: none; margin: 0; }
#siteheader ul a, #siteheader #emailme { color: #c2c2c2; }
#siteheader ul a span, #siteheader #emailme span { color: #b89358; }
#siteheader ul a:hover, #siteheader ul a:hover span, #siteheader #emailme:hover, #siteheader #emailme:hover span { color: white; }

#sitefooter { font-size: 11px; text-align: right; margin-top: 60px; padding-bottom: 60px; }
#sitefooter .wrapper { border-top: 1px solid #717171; padding-top: 10px; }
#sitefooter #hbr { padding-left: 32px; background: url('img/yelline.png?1321374615') left 9px no-repeat; color: #717171; margin-left: 0.4em; }
#sitefooter #hbr:hover { color: white; }
#sitefooter #hbr:hover strong { color: #00c2dc; }

#globalthinker { position: fixed; z-index: 123456; top: 0; right: 0; width: 16px; height: 16px; line-height: 16px; padding: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; -o-border-bottom-left-radius: 3px; -ms-border-bottom-left-radius: 3px; -khtml-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; background-color: #000; display: none; }

#globalthinker.blocking { left: 0; right: auto; width: 100%; height: 100%; padding: 0; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; -o-border-radius: 0 !important; -ms-border-radius: 0 !important; -khtml-border-radius: 0 !important; border-radius: 0 !important; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); opacity: 0.4; }
#globalthinker.blocking span { position: absolute; top: 50%; left: 50%; margin-left: -8px; margin-top: -8px; }

/* pages */
#home .intro-wrapper { background-image: url('img/bg-home.jpg?1326370619'); }

#about .intro-wrapper { background-image: url('img/bg-about.jpg?1326367887'); }

/* contact */
#contact .intro-wrapper { background-image: url('img/bg-contact.jpg?1326367973'); }
#contact aside dl { margin: 0; }
#contact aside dd { margin: 0; color: #c2c2c2; }
#contact aside address { font-style: normal; }
#contact #contact-form .error { color: red; font-size: 12px; }
#contact #contact-form .submit-row { display: inline; float: right; width: 140px; margin-top: -40px; }
#contact #contact-form input, #contact #contact-form textarea { color: #c2c2c2; border-color: #404040; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; -o-border-radius: 0 !important; -ms-border-radius: 0 !important; -khtml-border-radius: 0 !important; border-radius: 0 !important; -moz-box-shadow: none !important; -webkit-box-shadow: none !important; -o-box-shadow: none !important; box-shadow: none !important; -webkit-font-smoothing: antialiased; }
#contact #contact-form input { border: none; background: transparent; }
#contact #contact-form input[type=text] { border-bottom: 1px solid #404040; }
#contact #contact-form input[type=submit] { padding-left: 32px; background: url('img/yelline.png?1321374615') left 16px no-repeat; text-shadow: none !important; }
#contact #contact-form textarea { background: #202020; }

/* projects */
.project-list .row { position: relative; clear: both; padding: 20px 0; -moz-transition-property: background-color; -webkit-transition-property: background-color; -o-transition-property: background-color; transition-property: background-color; -moz-transition-duration: 1800ms; -webkit-transition-duration: 1800ms; -o-transition-duration: 1800ms; transition-duration: 1800ms; -moz-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -webkit-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition-delay: 0; -webkit-transition-delay: 0; -o-transition-delay: 0; transition-delay: 0; }
.project-list .row h2 { font-size: 14px; font-weight: normal; color: #c2c2c2; -moz-transition-property: color; -webkit-transition-property: color; -o-transition-property: color; transition-property: color; -moz-transition-duration: 1800ms; -webkit-transition-duration: 1800ms; -o-transition-duration: 1800ms; transition-duration: 1800ms; -moz-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -webkit-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition-delay: 0; -webkit-transition-delay: 0; -o-transition-delay: 0; transition-delay: 0; }
.project-list .row ul { list-style: none; margin: 0; }
.project-list .row .mask { position: relative; overflow: hidden; }
.project-list .row .projects { *zoom: 1; width: 10000px; }
.project-list .row .projects:after { content: ""; display: table; clear: both; }
.project-list .row .projects li { display: inline; float: left; margin-left: 20px; width: 300px; margin-bottom: 20px; }
.project-list .row .projects li.first { margin-left: 0; }
.project-list .row .projects li a { display: block; border-top: 5px solid #b89358; cursor: pointer; }
.project-list .row figure { position: relative; height: 150px; overflow: hidden; }
.project-list .row figure img { position: absolute; z-index: 1; top: 0; left: 0; }
.project-list .row figure img.color { z-index: 2; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; }
.project-list .row figcaption { position: absolute; z-index: 100; bottom: -65px; width: 280px; padding: 5px 10px 20px; background-color: white; color: #252525; -moz-transition-property: bottom; -webkit-transition-property: bottom; -o-transition-property: bottom; transition-property: bottom; -moz-transition-duration: 400ms; -webkit-transition-duration: 400ms; -o-transition-duration: 400ms; transition-duration: 400ms; -moz-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -webkit-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition-delay: 0; -webkit-transition-delay: 0; -o-transition-delay: 0; transition-delay: 0; }
.project-list .row li a:hover figcaption { bottom: 0; -moz-transition-property: bottom; -webkit-transition-property: bottom; -o-transition-property: bottom; transition-property: bottom; -moz-transition-duration: 400ms; -webkit-transition-duration: 400ms; -o-transition-duration: 400ms; transition-duration: 400ms; -moz-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -webkit-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition-delay: 0; -webkit-transition-delay: 0; -o-transition-delay: 0; transition-delay: 0; }
.project-list .row nav { position: absolute; left: 50%; top: 50%; width: 0; height: 0; visibility: hidden; }
.project-list .row nav ul { position: absolute; }
.project-list .row nav a { text-indent: -119988px; overflow: hidden; text-align: left; background-image: url('img/round-buttons.png?1321458070'); background-repeat: no-repeat; background-position: left top; display: block; width: 43px; height: 43px; position: absolute; top: -22px; }
.project-list .row nav a:hover { background-position: left bottom; }
.project-list .row nav a:active { margin-top: 1px; margin-bottom: -1px; }
.project-list .row nav .previous a { left: -553px; }
.project-list .row nav .next a { right: -553px; background-position: right top; }
.project-list .row nav .next a:hover { background-position: right bottom; }
.project-list .row nav li.disabled { display: none; }
.project-list .row.hover, .project-list .row:hover { background-color: #252525; }
.project-list .row.hover h2, .project-list .row:hover h2 { color: #b89358; }
.project-list .row.hover figure img.color, .project-list .row:hover figure img.color { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; }
.project-list .row.hover nav, .project-list .row:hover nav { visibility: visible; }

.project-detail { background-color: #252525; }
.project-detail .wrapper { background-color: white; }
.project-detail .lcol, .project-detail .images { height: 475px; overflow: hidden; }
.project-detail .lcol { display: inline; float: left; margin-left: 20px; width: 300px; margin-left: 0; }
.project-detail .rcol { display: inline; float: left; margin-left: 20px; width: 620px; }
.project-detail .images { position: relative; }
.project-detail .images figure { position: absolute; top: 0; left: 0; width: 620px; overflow: hidden; display: none; }
.project-detail .images figure figcaption { position: absolute; bottom: 0; left: 0; width: 590px; padding: 0 15px; line-height: 40px; background-color: rgba(255, 255, 255, 0.5); *background-color: white; color: #252525; }
.project-detail .images nav { position: absolute; bottom: 0; left: 0; width: 100%; background-color: white; }
.project-detail .images nav ul { *zoom: 1; list-style: none; margin: 0; }
.project-detail .images nav ul:after { content: ""; display: table; clear: both; }
.project-detail .images nav li { display: inline; float: left; width: 310px; }
.project-detail .images nav a { text-indent: -119988px; overflow: hidden; text-align: left; background-image: url('img/list-arrows.png?1321531131'); background-repeat: no-repeat; background-position: left top; min-height: 40px; display: block; background-position: 15px 14px; background-color: #313131; }
.project-detail .images nav a:hover { background-color: #1a1a1a; background-position: 15px -36px; }
.project-detail .images nav .next a { background-position: 288px -86px; }
.project-detail .images nav .next a:hover { background-position: 288px -136px; }
.project-detail hgroup { padding: 30px 0 0 30px; }
.project-detail hgroup h1 { font-size: 23px; line-height: 25px; color: #252525; }
.project-detail hgroup h2 { font-size: 10px; line-height: 10px; text-transform: uppercase; color: #b89358; margin-bottom: 5px; }
.project-detail .copy { padding: 0 0 30px 30px; }

#main .project-list .projects { width: auto; }
#main .project-list .projects li.clear { clear: left; margin-left: 0; }
