/* Fonts */
@font-face {
    font-family: 'BebasNeueRegular';
    src: url('fonts/bebasneue-webfont.eot');
    src: url('fonts/bebasneue-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/bebasneue-webfont.woff') format('woff'),
         url('fonts/bebasneue-webfont.ttf') format('truetype'),
         url('fonts/bebasneue-webfont.svg#BebasNeueRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Yay! Paul Irish! */
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* Site Styles */

body {
	background: transparent url(../img/background.png) repeat top left;
	line-height: 1.3em;
}

div.clear {
	clear: both;
}

a {
	color: #dd502a;
	/* text-decoration: none; */
}

h1, h2, h3, h4, h5, h6 {
	color: #000000;
	margin-bottom: .4em;
	margin-top: 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: #000000;
	text-decoration: none;
}

h1 {
	font-family: "BebasNeueRegular";
	font-size: 40px;
	line-height: 1;
	margin: 0;
}

h2 {
	font-size: 24px;
}

h3 {
	color: #656565;
	font-family: Georgia, serif;
	font-style: italic;
	font-size: 18px;
	font-weight: normal;
}

section {
	color: #6d6d6d;
}

section p {
	margin-top: 0;
}

section *:last-child {
	margin-bottom: 0;
}

.content blockquote {
	border-left: 5px solid #dd502a;
	margin-left: 0;
	padding-left: 35px;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color: #a9a9a9 !important;
}

input:-moz-placeholder, textarea:-moz-placeholder {
	color: #a9a9a9 !important;
}

a.img-container {
	display: block;
	position: relative;
}

a.img-container:before {
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.4);
	content: "";
	z-index: 10000;

	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

a.img-container > img {
	float: right;
}

a.see-more {
	color: #dd502a;
	font-family: sans-serif;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
}

a.see-more::after, a.see-more:after {
	content: " \2192";
	font-size: 24px;
	vertical-align: -2px;
}

.alignright {
	float: right;
	margin: 0 0 12px 12px;
}

.alignleft {
	float: left;
	margin: 0 12px 12px 0;
}

div.pagination {
	padding: 40px 0;
}

.pagination .next {
	float: right;
}

.pagination .prev {
	float: left;
}

.notice {
	background: #E55A34;
	border: 1px solid #ffffff;
	border-radius: 5px;
	color: #ffffff;
	font-weight: bold;
	margin: 0 0 10px;
	text-align: center;
	padding: 5px;
}

/** Notice **/

#site-notice {
	background: #000000;
	border-bottom: 1px solid #ffffff;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	padding: 0 0 5px;
	text-align: center;
}

#site-notice p {
	margin: 0;
	padding: 13px 0 10px;
}

#site-notice a {
	color: #ffffff;
}

/** Background **/
#site-background {
	background: transparent url(../img/halo.png) no-repeat center -91px;
}

/** Wrapper **/
#site-wrapper {
	margin: 0 auto;
	width: 942px;
}

/** Header **/
#site-header {
	font-family: "BebasNeueRegular";
	font-weight: normal;
	padding-top: 41px;
	text-align: center;
}

#site-header h1 {
	background: transparent url(../img/site-title.png) no-repeat top center;
	font-size: 90px;
	height: 71px;
	line-height: 1;
	margin: 0 auto 0;
	overflow: hidden;
	padding-top: 71px;
	width: 501px;
}

/** Nav **/
#site-nav {
	color: #333333;
	font-family: Arial, sans-serif;
	font-size: 22px;
	font-weight: bold;
	margin: 23px 0;
	text-align: center;
}

#site-nav a {
	border: 1px solid transparent;
	border-radius: 5px;
	color: #333333;
	display: inline-block;
	line-height: 44px;
	margin: 0 8px;
	padding: 0 20px;
	text-decoration: none;

	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
}

#site-nav a.active, #site-nav a.active:hover {
	background: #e6e6e6;
	background: rgba(230, 230, 230, 0.8);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 1px rgba(255, 255, 255, 0.89);
	color: #e0542f;
	text-shadow: 0 1px 1px #ffffff;
}

#site-nav a:hover {
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.45);
}

/** Home Lead **/
#home-lead {
	min-height: 624px;
}

#home-lead, #home-portfolio, #content-container {
	background: #ffffff;
	border: 1px solid #959595;
	border-radius: 8px;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.30);
	overflow: hidden;
	position: relative;

	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
}

/*** Content ***/
#home-lead-content {
	color: #6d6d6d;
	float: left;
	font-size: 14px;
	padding: 32px 40px 32px;
	width: 560px;
}

#home-lead-content > img {
	margin-left: -12px;
}

#home-lead-content h1 {
	color: #000000;
	font-family: "BebasNeueRegular";
	font-size: 40px;
	font-weight: normal;
	margin: 23px 0;
	text-transform: uppercase;
}

#home-lead-content h2 {
	color: #000000;
	font-size: 18px;
	margin: 0 0 4px;
}

#home-lead-content p {
	margin-top: 0;
}

/*** Quote ***/

#home-lead #quote-form {
	position: absolute;

	bottom: 0;
	top: -1px;
	left: 560px;
	right: 0;
}

/** Home Testimonial **/

#home-testimonial, .sidebar-outcrop {
	background: #dddddd url(../img/testimonial-background.png) repeat-y top left;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.89);
	margin-top: 40px;
	padding: 32px 40px;

	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
}

#home-testimonial .testimonial {
	border: 0;
	color: #6d6d6d;
	margin: 0;
	padding: 0;
}

/*** General Testimonial ***/

.testimonial blockquote {
	font-family: Georgia, serif;
	font-size: 20px;
	font-style: italic;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

.sidebar-outcrop .testimonial blockquote {
	font-size: 18px;
}

.testimonial blockquote p {
	line-height: 32px;
	margin-top: 0;
	text-shadow: 0px 1px 1px #ffffff;
}

.sidebar-outcrop .testimonial blockquote p {
	line-height: 30px;
}

.testimonial a {
	text-decoration: none;
}

.testimonial cite {
	font-size: 16px;
	line-height: 24px;
}

.sidebar-outcrop .testimonial cite {
	font-size: 12px;
}

.testimonial cite::after, .testimonial cite:after {
	content: " \2014";

}

.testimonial cite::before, .testimonial cite:before  {
	content: "\2014  ";
}

.testimonial cite span {
	color: #000000;
	font-family: "BebasNeueRegular";
	font-size: 24px;
	font-style: normal;
	text-transform: uppercase;
	vertical-align: -4px;
}

.sidebar-outcrop .testimonial cite span {
	font-size: 18px;
	vertical-align: -2px;
}

/** Home Portfolio **/

#home-portfolio {
	margin-top: 40px;
	padding: 20px 20px 40px;
}

#home-portfolio h2 {
	font-family: "BebasNeueRegular";
	font-size: 40px;
	margin: 12px 20px 33px;
}

#home-portfolio h2 a.see-more {
	display: inline-block;
	line-height: 1;
	margin-left: 8px;
	vertical-align: 8px;
}

#home-portfolio .portfolio {
	float: left;
	padding: 0 20px;
	width: 300px;
}

/*** General Portfolio ***/

.portfolio {
	color: #6d6d6d;
	font-size: 14px;
}

.portfolio > a, .portfolio > a > img {
	display: block;
	position: relative;
}

.portfolio > h2 {
	color: #000000;
	font-size: 24px;
	line-height: 32px;
	margin: 3px 0 18px;
}

.portfolio-excerpt-simple > a {
	display: block;
	margin-bottom: 17px;
}

.potfolio-excerpt-simpe > a > img {
	display: block;
}

.portfolio > h3 {
	margin: 0 0 4px;
}

.portfolio-client {
	color: #929292;
	display: block;
	float: none;
	font-family: Georgia, serif;
	font-size: 12px;
	font-style: italic;
	font-weight: normal;
}

h2 > .portfolio-client {
	margin-top: -9px;
}

.portfolio-client-interdiction {
	vertical-align: 2px;
}

.portfolio-client-name {
	color: #000000;
	font-family: "BebasNeueRegular";
	font-size: 18px;
	font-style: normal;
}

.portfolio > a {

}

.portfolio-excerpt > a {
	margin-bottom: 27px;
}

.portfolio > a > span {
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.4);
	z-index: 10000;

	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.portfolio > a > span.open-source {
	background: transparent url(../img/open-source-flag.png) no-repeat top left;
	box-shadow: none;
	height: 85px;
	width: 85px;
	z-index: 10001;

	top: -11px;
	bottom: auto;
	left: -10px;
	right: auto;
}

.portfolio > a > img {
	border: 1px solid #c8c8c8;
	width: 100%;
}

.content.portfolio > .portfolio-image {
	margin-bottom: 22px;
}

/** Quote Form **/

#quote-form {
	background: #000000 url(../img/quote-form-background.png) repeat-x top left;
	border-top: 1px solid #bfbfbf;
	border-left: 1px solid #bfbfbf;
	border-radius: 0 8px 8px 0;
	box-shadow: -2px 0 4px rgba(0, 0, 0, 0.40);
	padding: 30px;
	width: 380px;
}

#quote-form h1 {
	color: #ffffff;
	font-family: "BebasNeueRegular";
	font-size: 40px;
	margin: -3px 0 22px;
}

#quote-form ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#quote-form li {
	margin-bottom: 12px;
	position: relative;
}

#quote-form li label.error {
	border: 0;
	color: #dd502a;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	padding-top: 7px;
	position: absolute;
	text-transform: uppercase;

	top: 0;
	right: 18px;
	bottom: 0;
}

#quote-form li select + label.error {
	right: 46px;
}

#quote-form li #quote-request-email.error {
	padding-right: 140px;
}

#quote-form li label.error:before, #quote-form li label.error::before {
	content: "\2190  ";
	font-size: 24px;
	vertical-align: -2px;
}

#quote-form input[type="text"], #quote-form input[type="email"], #quote-form textarea, #quote-form select {
	border: 2px solid #7a7a7a;
	color: #656565;
	font-family: Georgia, serif;
	font-size: 20px;
	font-style: italic;
	width: 100%;
}

#quote-form input.error, #quote-form select.error, #quote-form textarea.error {
	border: 2px solid #de512b;
}

#quote-form input[type="text"], #quote-form input[type="email"], #quote-form textarea, #quote-form select {
	padding: 7px 18px;
}

#quote-form select {
	padding-right: 9px;
}

#quote-form option {
	color: #656565;
}

#quote-form textarea {
	height: 207px;
}

#quote-request-submit {
	background: #e55a34;
	border: 0;
	border-top: 1px solid #ffffff;
	border-radius: 3px;
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	margin-top: 8px;
	padding: 13px 30px;
	text-shadow: 0 1px 1px #9c381d;
	text-transform: uppercase;
}

#quote-request-submit:active {
	border: 0;
	border-bottom: 1px solid #ffffff;
}

/** Content **/

#content-container {
	float: left;
	min-height: 654px;
	padding: 40px 40px 0;
	width: 562px;
}

#content-container > section {
	border-bottom: 1px solid #cccccc;
	padding: 40px 0;
}

#content-container.single > section {
	padding: 0 0 40px;
}

#content-container > section:last-of-type {
	border: 0;
}

.post-title-container {
	margin-bottom: 23px;
}

/** Sidebar **/

#sidebar-container {
	float: left;
	padding-top: 10px;
	width: 380px;
}

.sidebar-outcrop {
	border-radius: 0 8px 8px 0;
	padding: 0;
}

.sidebar-outcrop section {
	border-bottom: 1px solid #959595;
	border-top: 1px solid #ffffff;
	padding: 40px 30px;
}

.sidebar-outcrop section:first-child {
	border-top: 0;
}

.sidebar-outcrop section:last-child {
	border-bottom: 0;
}

/** Site Footer **/

#site-footer {
	margin-top: 38px;
	padding-bottom: 40px;
	text-align: center;
}

#site-footer p {
	color: #818080;
	font-size: 11px;
	line-height: 1;
	margin: 0;
}

#site-footer a {
	color: #818080;
}