/* -- DEFAULTS -- */
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 {outline: none !important;
}
img {
	vertical-align:top;
	border:0;
	opacity:1;
	filter: alpha(opacity=100);
	max-width:100%;
}
ul {
	padding:0;
	margin:0;
}
li {
	padding:0;
	margin:0;
	list-style:none;
}
body {
	overflow-x:hidden;
	margin: 0;
	padding: 0;
	font-family: 'Arial', sans-serif;
	line-height:20px;
	font-size: 13px;
	color: #797979;
	background: #ffffff;
}
html { font-size: 100%;
}
::selection{
	background: #202D5D;
	color: #FFF;
}
::-moz-selection {
	background: #202D5D; /* Firefox */
	color:#fff;
}
a {
	color: #202D5D;
	text-decoration:none !important;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
a:hover { color: #555555;
}
p {
	margin:0 0 20px;
	padding:0;
}
.fleft {float:left;
}
.fright {float:right;
}
.clear {
	clear:both;
	height:0;
	font-size:0;
}

h1 {
	margin: 0 0 18px;
	padding:0;
	text-transform:uppercase;
	font-weight:700;
	line-height:65px;
	font-size:46px;
	color:#fffefe;
	text-shadow: 1px 2px 0 rgba(0,0,0,0.19);
}
h2 {
	margin:0 0 9px;
	padding:0;
	text-transform:uppercase;
	font-weight:400;
	line-height:62px;
	font-size:40px;
	color:#333333;
}
h3 {
	margin:0 0 20px;
	padding:0;
	text-transform:uppercase;
	font-weight:400;
	line-height:20px;
	font-size:16px;
	color:#505050;
}
.container {
	width:1000px;
	margin:0 auto;
}
[class*="span"] {
	float: left;
	min-height: 1px;
	margin-left:20px;
	margin-bottom:20px;
}
.row {margin-left:-20px;
}
.span12 {width: 980px;}
.span11 {width: 915px;}
.span10 {width: 830px;}
.span9 {width: 745px;}
.span8 {width: 660px;}
.span7 {width: 575px;}
.span6 {width: 490px;}
.span5 {width: 405px;}
.span4 {width: 320px;}
.span3 {width: 235px;}
.span2 {width: 150px;}
.span1 {width: 65px;}


.color {color:#202D5D;
}
.bg_color {background-color:#202D5D;
}
.page_section {
	padding:33px 0 25px;
}
.parallax_effect {
	width:100%;
	padding:32px 0 26px;
	background-size:cover;
}
/* -- END DEFAULTS -- */
/* -- HEADER -- */
#top{
	position:relative;
	z-index:999;
	height: 74px;
	margin-bottom:-74px;
	padding: 0;
	background: url(/images/header_bg.png);
}
#logo a {
	display:block;
	margin-bottom:-74px;
	font-family: 'Fredericka the Great', cursive;
	font-weight:400;
	line-height:74px;
	font-size:41px;
	color:#fff;
	text-align:left;
	text-indent:-25px;
}
.fixed-menu #logo a {color:#333333;}

/* -- MENU -- */
/* -- fixed menu -- */
.fixed-menu {
	border:none;
	position:fixed;
	left:0px;
	top:-100px;
	width:100%!important;
	height:74px;
	background:#fff!important;
	z-index:99999;
	opacity: 0;
	filter: alpha(opacity=0);
	width:100%!important;
	transition: all 300ms; 
	-webkit-transition: all 300ms;
}
.fixed-menu.fixed_show {
	top:0px;
	opacity: 1;
	filter: alpha(opacity=100);
}
.fixed-menu-wrapper {
	padding: 0;
}
.fixed-menu:after  { 
	content:'';
	height:6px;
	display:block;
	width:100%;
	position:absolute;
	bottom:-6px;
	background:url(/images/menu_shadow.png) repeat-x left top;
}
.fixed-menu .navmenu {
	padding:0;
}
.fixed-menu .navmenu ul li a{
	color:#333333;
}
.fixed-menu .navmenu ul li a:hover,
.fixed-menu .navmenu ul li.active a{
	color:#202D5D;
}
.fixed-menu .navmenu ul li a:hover{
	text-decoration:underline !important;
}
/* -- fixed menu -- */

a.menu_toggler { display:none;
}
.navmenu{
	margin: 0;
	text-align:right;
}
.navmenu ul li {
	position: relative;
	display: inline-block;
	margin: 0 38px;
}
.navmenu ul li a{
	display:block;
	padding: 0;
	text-decoration:none !important;
	text-transform:uppercase;
	line-height:74px;
	color: #ebebeb;
}
.navmenu ul li a:hover,
.navmenu ul li.active a{
    padding: 0;
    text-decoration: none;
	color:#fff;
}
.navmenu ul li.first {margin-left:0;
}
.navmenu ul li.last {margin-right:0;
}
/* -- END MENU -- */
/* -- END HEADER -- */

/* -- HOME -- */
#home {
	position:relative;
	padding:0;
	background-image: url(/images/home_bg.jpg);
	box-shadow:0 0 250px rgba(0,0,0,0.24) inset;
}
.home_gradient {
	position:absolute;
	z-index:0;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:url(/images/home_gradient.png);
}
.welcome_block {
	position:relative;
	z-index:1;
	text-align:center;
	font-family:'Fredericka the Great', cursive;
}
.welcome_block h1 {
	display:inline-block;
	margin-top:95px;
	padding:0 33px;
}
.welcome_block p {
	margin:0;
	text-transform:uppercase;
	font-weight:300;
	line-height:20px;
	font-size:13px;
	color:#fffefe;
	text-shadow: 1px 2px 0 rgba(0,0,0,0.19);
}

a.down_btn {
	position:absolute;
	z-index:1;
	left:50%;
	bottom:42px;
	margin-left:-32px;
	display:block;
	width:63px;
	height:63px;
	background:url(/images/down_btn.png) no-repeat;
}
/* -- END HOME -- */
/* -- ABOUT -- */
#about h2 {color:#333333;}
p.headshot {
	width:397px;
	height:450px;
	background: url(/images/headshot.jpg);
}
ul.tidbits {margin-top: -20px;}
/* -- END ABOUT -- */
/* -- HEADINGS/PARALLAX SECTIONS -- */
#portfolioHeading, #contactHeading {
	width:100%;
	overflow:hidden;
	padding:0;
}
#portfolioHeading .parallax_effect .container, #contactHeading .parallax_effect .container {
	position:relative;
	z-index:1;
}
#portfolioHeading .parallax_effect, #contactHeading .parallax_effect {
	position:relative;
	height: 500px;
}
#portfolioHeading .parallax_effect {
	background-image: url(/images/portfolio_bg.jpg);
}
#contactHeading .parallax_effect {
	background-image: url(/images/contact_bg.jpg);
}
/* -- END HEADINGS/PARALLAX SECTIONS -- */
/* -- PORTFOLIO -- */
#portfolio {
	width:100%;
	overflow:hidden;
}
#portfolio .parallax_effect {
	position:relative;
	margin-top:-31px;
	padding:74px 0 55px;
	background-image: url(/images/portfolio_bg.jpg);
}
#portfolio .parallax_effect .container {
	position:relative;
	z-index:1;
}
#portfolio .parallax_effect h2 {
	line-height:58px;
	background: url(/images/h2_bg.png) repeat-x left bottom;
}
#portfolio .parallax_effect h2 span {
	display:inline-block;
	border-bottom:1px solid #fff;
}
/* -- filter for work -- */
#filter {
	padding:11px 0 10px;
}
#filter li {
	display:inline-block;
	margin-right:45px;
}
#filter li a {
	display:block;
	text-transform:uppercase;
	font-weight:400;
	font-size:14px;
	color:#959595;
	cursor:pointer;
}
#filter li a.selected,
#filter li a:hover {
	color:#202D5D;
}
/* -- end filter for work -- */
/* -- portfolio items -- */
.portfolio_block {padding-top:15px;
}
.portfolio_item {
	position:relative;
	background:#202D5D;
}
.portfolio_item .element {overflow:visible !important;}
.portfolio_item .hover_img img {
	opacity: 0.84;
	filter: alpha(opacity=84);
}
.portfolio_item .site-link a {
	color:#fff;
}
.portfolio_item .site-link:hover {
	text-decoration: underline;
}
.portfolio_item .zoom {
	display:inline-block;
	position:absolute;
	left: 21px;
	bottom: 20px;
	margin: 0;
	padding: 0 15px;
	text-transform:uppercase;
	font-size: 11px;
	font-weight: bold;
	color:#fff;
	border:3px solid #fff;
	transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
}
.portfolio_item .zoom:hover {
	background:#fff;
	color:#202D5D;
}

.load_more_cont {
	width:100%;
	text-align:center;
}
a.btn_load_more2,
a.btn_load_more {
	display:inline-block;
	padding:0 16px;
	text-transform:uppercase;
	font-weight:700;
	line-height:25px;
	color:#505050;
	border:3px solid #505050;
}
a.btn_load_more2:hover,
a.btn_load_more:hover {
	background:#505050;
	color:#fff;
}
/* -- animations -- */
.portfolio_block .element {
	-webkit-perspective: 1700px;
	-moz-perspective: 1700px;
	perspective: 1700px;
	-webkit-perspective-origin: 0 50%;
	-moz-perspective-origin: 0 50%;
	perspective-origin: 0 50%;
}
.portfolio_item {
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.portfolio_item .hover_img {
	overflow: hidden;
}
.portfolio_item .hover_img img {
	-webkit-transition: -webkit-transform 0.4s;
	-moz-transition: -moz-transform 0.4s;
	transition: transform 0.4s;
}
.portfolio_item:hover .hover_img img {
	-webkit-transform: translateX(25%);
	-moz-transform: translateX(25%);
	-ms-transform: translateX(25%);
	transform: translateX(25%);
}
.portfolio_item .description {
	background: none repeat scroll 0 0 #202D5D;
    left: 0;
    padding: 0;
    position: absolute;
    top: 0;
	
	height: 100%;
	width: 191px;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: rotateY(-90deg);
	-moz-transform: rotateY(-90deg);
	transform: rotateY(-90deg);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s 0.3s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s 0.3s;
	transition: transform 0.4s, opacity 0.1s 0.3s;
}
.portfolio_item:hover .description {
	opacity: 1;
	-webkit-transform: rotateY(0deg);
	-moz-transform: rotateY(0deg);
	transform: rotateY(0deg);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.1s;
	-moz-transition: -moz-transform 0.4s, opacity 0.1s;
	transition: transform 0.4s, opacity 0.1s;
}
.portfolio_item .description_in {
	padding:17px 21px 20px;
	color:#fff;
}
.portfolio_item .description_in p {
	margin:0 0 11px;
	text-transform:uppercase;
	line-height:22px;
	font-size:20px;
	color:#fff;
}
/* -- end animations -- */
/* -- end portfolio items -- */
/* -- END PORTFOLIO -- */
/* -- CONTACT -- */
.contact_info {
	margin-bottom:20px;
	padding-right:12px;
}
.contact_info a {
	display:block;
	color:#797979;
	word-wrap: break-word;
}
.contact_info a:hover {
	color:#202D5D;
}
.contact_info ul li {
    display: inline-block;
    margin: 0 20px 0 0;
    position: relative;
    text-indent: -9999px;
}
.contact_info ul li a {
    height: 64px;
    width: 64px;
}
.contact_info ul li.twitter {
    background:url(/images/twitter-icon.png) no-repeat left top;
}
.contact_info ul li.linkedin {
    background:url(/images/linkedin-icon.png) no-repeat left top;
}


.contact_form [class*="span"] {margin-bottom:0;
}
textarea,
input[type="text"] {
	margin:0 0 20px 0;
	padding: 17px 16px;
	width: 282px;
	text-transform:none;
	font-family: 'Lato', sans-serif;
	font-weight:400;
	font-size: 13px;
	color: #999;
	font-style:normal;
	border-radius: 0;	
	background: #f9f9f9;
	border: 3px solid #dedede;
	box-shadow: none;		  
}
textarea {
	min-height:168px;
	width:367px;
	overflow:hidden;
	resize: none;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus {
	outline: 0;
	box-shadow: none;
	border: 3px solid #dedede;
}

.contact_btn {
	display:block;
	cursor:pointer;
	padding:13px 0;
	border: 5px solid #202D5D;
	border-radius: 0;
	box-shadow: 0;
	text-align:center;
	text-shadow:none;
	text-decoration:none;
	text-transform:uppercase;
	font-family: 'Lato', sans-serif;
	font-weight:700;
	line-height:20px;
	font-size:15px;
	color:#202D5D;
	background: #f9f9f9;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
.contact_btn:hover {
	background:#202D5D;
	color:#fff;
}

#contact .errors {
    display: block !important;
    float: left;
    padding: 5px;
    color: #BF1D1D;
}
/* -- END CONTACT -- */
/* -- FOOTER -- */
.footer {
	padding:29px 0 21px;
	color:#979797;
	background:#efefef;
}
.footer a {color:#202D5D;	
}
.footer a:hover {color:#979797;	
}

.footer a.down_btn {
	position:static;
	margin:0;
	padding:0;
	display:block;
	width:auto;
	height:20px;
	text-transform:uppercase;
	font-size:14px;
	color:#202D5D;
}
/* -- END FOOTER -- */
/* -- ISOTOPE -- */
.isotope-item {
}
.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/* -- Isotope CSS3 transitions -- */
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
          transition-duration: 0.8s;
}
.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
          transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
          transition-property:         transform, opacity;
}
/* -- disabling Isotope CSS3 transitions -- */

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
          transition-duration: 0s;
}
/* -- End: Recommended Isotope styles -- */
/* -- disable CSS transitions for containers with infinite scrolling -- */
.isotope.infinite-scrolling {
  -webkit-transition: none;
     -moz-transition: none;
          transition: none;
}

/* -- RESPONSIVE SECTION -- */
@media (max-width: 1023px) {
	.parallax_effect {background-size:cover;background-position:0 0 !important;}

}
@media (max-width: 1024px) and (-webkit-min-device-pixel-ratio:0) {
	.parallax_effect {background-size:cover;background-position:0 0 !important;}

}
@media (min-width: 767px) and (max-width: 1000px) {
	.container {width:724px;}

/* -- menu -- */
	.navmenu ul li {margin:0 10px;}
	.navmenu ul li.center_menu_item {margin-right:280px;}
/* -- end menu -- */
/* -- portfolio -- */
	.portfolio_item .description_in p {font-size:18px;line-height:22px;}
	.portfolio_item .description {width:165px;}
/* -- end portfolio -- */
/* -- contact -- */
	input[type="text"] {width:190px;}
	textarea {width:252px;}
/* -- end contact -- */

	.span12 {width: 724px;}
	.span11 {width: 662px;}
	.span10 {width: 600px;}
	.span9 {width: 538px;}
	.span8 {width: 496px;}
	.span7 {width: 414px;}
	.span6 {width: 352px;}
	.span5 {width: 290px;}
	.span4 {width: 228px;}
	.span3 {width: 166px;}
	.span2 {width: 104px;}
	.span1 {width: 42px;}
	
}

@media (max-width: 766px) {
	.container {width:470px;}

	/* The theme's grid ([class*="span"]) was never given a mobile
	   override, so span9/span12/etc. kept their desktop pixel widths
	   (up to 980px) below this breakpoint. That forced the whole page
	   wider than the phone screen, and mobile browsers respond to that
	   overflow by expanding the layout viewport - which is what was
	   dragging the fixed header/nav along and making it non-responsive.
	   Stack every column at full width instead. */
	[class*="span"] {
		float: none;
		display: block;
		width: 100% !important;
		margin-left: 0;
		box-sizing: border-box;
	}
	.row {margin-left: 0;}

	.parallax_effect {background-size:cover;background-position:0 0 !important;}

/* -- header -- */
	#top header {
		height: 75px !important;
		padding: 0;
		position: fixed; width: 100%; z-index: 999; top: 0; left:0;
		background:#fff;
	}
	#top header:before {content:''; position:absolute; left:0; bottom:-6px; width:100%; height:6px; background:url(/images/menu_shadow.png) repeat-x left bottom;}
	
	#logo a {display:inline-block;text-indent:0;color:#333333;}
/* -- end header -- */
/* -- menu -- */	
	.fixed-menu, .fixed-menu:before, .fixed-menu:after, .navmenu {display:none !important;}
	a.menu_toggler {
		display:inline-block;
		float:right;
		margin:-17px 0px 0px 0;
		border:#cfcfcf 1px solid;
		border-radius:4px;
		box-shadow:inset #fbfbfb 0 1px 0;
		width:34px;
		height:34px;
		position:absolute;
		overflow:hidden;
		right:20px;
		top:50%;
	
		background-color:#efefef;
		background-image: linear-gradient(top, #f5f5f5, #e9e9e9);
		background-image: -webkit-linear-gradient(top, #f5f5f5, #e9e9e9);
		background-image: -moz-linear-gradient(top, #f5f5f5, #e9e9e9);
		background-image: -ms-linear-gradient(top, #f5f5f5, #e9e9e9);
		background-image: -o-linear-gradient(top, #f5f5f5, #e9e9e9);
	}
	a.menu_toggler:hover {
		background-color:#f5f5f5;
		background-image: linear-gradient(top, #e9e9e9, #f5f5f5);
		background-image: -webkit-linear-gradient(top, #e9e9e9, #f5f5f5);
		background-image: -moz-linear-gradient(top, #e9e9e9, #f5f5f5);
		background-image: -ms-linear-gradient(top, #e9e9e9, #f5f5f5);
		background-image: -o-linear-gradient(top, #e9e9e9, #f5f5f5);	
	}

	a.menu_toggler:before {
		content:'';
		display:block;
		position:absolute;
		left:7px;
		top:7px;
		width:20px;
		height:20px;
		background-repeat:no-repeat;
		background:url(/images/btn_menu.png) no-repeat 0 0;		
	}
	.mobile_menu_wrapper {
		display:block;
		background:#eee;
		position: fixed; width: 100%; z-index: 999; top:75px; left:0;
		padding: 15px 40px 15px 20px;
	}
	.mobile_menu_wrapper a {color:#505050;
	}
	.mobile_menu_wrapper a:hover {color:#202D5D;
	}
	.mobile_menu_wrapper a span {display:none;}

/* -- end menu -- */
/* -- home -- */
	.welcome_block h1 {margin-top:0;font-size:27px;line-height:34px;}
	.welcome_block p {font-size:12px;}
	a.down_btn {bottom:10%;}
/* -- end home -- */
/* -- portfolio -- */
	#filter li {margin-right:15px;}
/* -- end portfolio -- */

@media (max-width: 479px) {	
	.container {width:310px;}
	.welcome_block h1 {padding:0 15px;font-size:20px;}
	
/* -- portfolio -- */
	
	p.headshot {
	width:327px;
}
/* -- end portfolio -- */
	.span6 {width: 315px;}
	.span9 {width: 312px;}
	textarea, input[type="text"] {width:272px;}
	
	.footer {text-align:center;}
	.footer .fleft, .footer .fright {float:none;}
	
	.copyright {text-align:center;}
	.footer a.down_btn {display:inline-block; margin:10px auto;}


}

/* -- contact form messages (PHP version) -- */
.form-message {margin-bottom:15px; padding:10px 15px; border-radius:3px; font-size:13px;}
.form-message-error {background:#fbe4e4; color:#a94442; border:1px solid #e0b4b4;}
.form-message-success {background:#e4fbe6; color:#2f7a34; border:1px solid #b4e0b8;}
