/* 	CONTENTS:
	
	General Structure
		Body
		Header
		Nav Menu
		Cover Images
		Main Content Block
		Site Directory
		Image Lists
		Call to Action
		Related Articles
		Footer
		Misc Structural Elements
		
	Typography
	
	Images
	
	Lists
	
	Links
	
	Buttons
	
	Video
	
	Portfolio
	
	Online Store
	
	Photo Gallery
	
	Photo Index
	
	Misc Media Queries
	
*/
		


/* GENERAL STRUCTURE */

body {
	background-color: #eaeaea;
	color: #222222;
	font-size: 14px;
	line-height: 1.4em;
	max-width: 960px;
	margin: 0 auto;
	padding-top: 1em;
}

/* header */

header {
	display: block;
	max-width: 600px;
	margin: 0 auto;
}
	
	#nameplate {
		display: block;
		margin-bottom: 1em;
	}
	
		#nameplate img {
			width: 100%;
			max-width: 372px;
			height: auto;
			display: block;
			margin: auto;
		}
		
		#nameplate h1 {
			font-family: 'Helvetica', sans-serif;
			font-size: 2.3em;
			text-align: center;
			margin-bottom: 0.5em;
		}
		
	header a:link {color: inherit;}
	header a:visited {color: inherit;}
	header a:hover {color: inherit;}
	header a:active {color: inherit;}

/* navigation menu */
	
nav {
	display: block;
	font-family: 'Helvetica', sans-serif;
	font-weight: 300;
	margin: 0 1em 1em 1em;
}
	
	nav div.nav-wrapper {
		display: block;
		max-width: 600px;		
		padding-bottom: 1em;
		border-bottom: 1px dotted #aaaaaa;
		text-align: center;
		margin: 0 auto;
	}

	nav p {
		font-family: 'Helvetica', sans-serif;
		font-style: normal;
		font-weight: 300;
		text-align: center;
	}
	
	span.nav-space {
		margin-left: 0.5em;
		margin-right: 0.5em;
	}

/* cover images */

#cover {
    display: block;
    margin: auto;
}

	#cover img {
		max-width: 100%;
		height: auto;
	}

#cover-home {
    display: block;
    margin: auto;
}

	#cover-home img {
		max-width: 100%;
		height: auto;
	}

@media only screen and (max-width: 768px) {
    .cover-wide {
        display:none;
    	}

	}

#cover figcaption, #cover-home figcaption {
	color: #aaa;
	margin-top: 0;
	padding-right: 3px;
}


/* main content */

main {
	display: block;
	padding: 1em 1em 0 1em;
	margin-bottom: 1em;
}

	div.narrow {
		display: block;
		max-width: 600px;
		margin: 0 auto;
	}
	
		div.narrow img {
			width: 100%;
			height: auto;
    		margin-top: 1em;
			margin-bottom: 2em;
		}
	
	div.wide {
		display: block;
		margin: auto;
		max-width: 100%;
	}
	
		div.wide img {
			display: block;
			width: 100%;
			height: auto;
			margin-top: 1em;
			margin-bottom: 2em;
		}
	
	.col-3-container {
		display: block;
		width: 100%;
	}

		.col-3-item {
			display: inline;
			padding: 10px 20px;
			width: 130px;
		}

		.col-3-item img {
			height: 120px;
			width: 120px;
		}
	
		@media screen and (max-width: 480px) {
			.col-3-container {
				display: block;
				width: 100%;
			}
		
				.col-3-item {
					display: inline-block;
					padding: 10px 10px;
					width: 50%;
				}
		
				.col-3-item img {
					height: 120px !important;
					width: 120px !important;
				}
		}
	
	div.half-wrapper { display: block; }
	div.half-left { float: left; max-width: 290px; }
	div.half-right { float: right; max-width: 290px; }
	img.half { max-width: 290px; height: auto; }
	
	div.testimonial { margin-left: 30px; border-left: 3px solid #ccc; padding-left: 10px; }
	p.testimonial-author { font-family: 'Helvetica', sans-serif; font-size: 0.9em; font-weight: 300; }
	i.testimonial { color: #ccc; }

article.essay {
	border: 1px solid #777777;
	background-color: #ffffff;
	padding: 1em 1.5em 2em 1.5em;

}


/* site directory */

#directory {
	display: block;
	max-width: 600px;
	margin-top: 1.5em;
	padding-bottom: 1em;
	}

	#directory div.column-wrapper {
		display: block;
		margin-bottom: -1em;
		margin-top: -0.5em;
	}
	
	#directory div.column {
		width: 135px; /* should allow for 5 columns */
		float: left;
		padding-right: 15px;
	}
	
	#directory div.last {
		
	}
	
	#directory h3 {
		font-size: 0.9em;
		margin-bottom: 0.3em;
		margin-top: 0em;
	}
	
	#directory ul {
		font-family: 'Helvetica', sans-serif;
		font-style: normal;
		font-size: 0.9em;
		font-weight: 300;
		list-style-type: none;
		padding-left: 1em;
	}
	
		#directory ul li:before
		{
		    content: '\203A';
		    font-style: normal;
		    display: inline-block;
		    width: 0.8em;
		    margin-left: -0.8em;
		    margin-top: 0;
		    margin-bottom: 0;
		    line-height: 1.3em;
		}


/* image lists */

.image-dl {
	display: block;
	margin-bottom: 20px;
	
}
	
.image-dl-l {
	float: left;
	width: 120px;
}

.image-dl-l img {
	width: 120px;
	height: 120px;
}
	
.image-dl-r {
	float: right;
	width: 460px;
}
	
.image-dl-r h3 {
	font-size: 1em;
	font-weight: 700;
	margin-bottom: -0.5em;
	text-transform: capitalize;
}
	
.image-dl-r p {
	color: #777;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.9em;
	font-weight: 300;
}	

@media screen and (max-width: 480px) {

	.image-dl {
		display: block;
		margin-bottom: 20px;	
	}
		
	.image-dl-l {
		float: left;
		width: 25%;
	}
	
	.image-dl-l img {
		width: 120px;
		height: 120px;
	}
		
	.image-dl-r {
		float: right;
		width: 70%;
	}
		
	.image-dl-r h3 {
		font-size: 1em;
		font-weight: 700;
		margin-bottom: -0.5em;
		text-transform: capitalize;
	}
	
}


/* call to action */

.cta-developer {
	background-color: #dadada;
	border: 0px solid #777;
	margin-top: 60px; 
	padding: 1em 2em;
	padding-bottom:40px;
	text-align: center;
	}

.cta-developer img {
	width: 70px !important;
	height: 70px !important;
	margin-bottom: -20px !important;
	border-radius: 50%;
	}

.cta-developer h2 {
	padding-bottom: 2em;
	}



/* related articles */

.related-articles {
	margin-bottom: 0;
	margin-top: 60px;
	text-align: center;
}

.related-articles h2 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 0;
}

.related-articles p {
	font-size: 1em;
	margin-bottom: 0;
}

.related-articles .date {
	color: #999999; 
	display: block;
	font-family: 'helvetica', sans-serif; 
	font-size: 0.9em !important;
	font-weight: 300 !important;
	margin-bottom: 0.7em;
	margin-left: -2em;
	}

.related-articles ul li:before {
	    content: '';
	    display: inline-block;
	    width: 0;
	    margin-left: -2em;
	    margin-top: 0;
	    margin-bottom: 0;
	    font-style: normal;
	    line-height: 1.3em;	
}

/* footer */

footer {
	display: block;
	margin-left: 1em;
	margin-right: 1em;
	margin-bottom: 3em;
	text-align: center;
	}
	
	footer div.footer-wrapper {
		display: block;
		margin: 0 auto;
		max-width: 600px;
		border-top: 1px dotted #aaaaaa;
		padding-top: 1em;
	}
	
	footer p {
		font-family: 'helvetica',sans-serif;
		font-size: 0.8em;
		font-weight: 300;
		color: #666666;
		line-height: 1.25em;
		margin-top: 0.25em;
		margin-bottom: 0.25em;
	}
	
	footer span.space {
		margin: 0 0.1em; 
	}
	
	footer a:link {
		color: #aaaaaa;
		text-decoration: none;
		-webkit-transition: color .1s linear 0s;
		transition: color .1s linear 0s;
	}
	
	footer a:visited {
		text-decoration: none;
		color: #aaaaaa;
	}
	
	footer a:hover {
		text-decoration: none;
		color: #555555;
	}
	
	footer a:active {
		text-decoration: none;
		color: #aaaaaa;
	}

	footer img.badge {
		width: 26px;
		height: auto;
		margin-top: 1em;
	}


/* misc structural elements */
	
.clear, .cl {
	clear: both;
	}

.align-center {
	margin: 0 auto;
	}

div.hr {
	border-bottom: 1px dotted #aaaaaa;
	margin-top: 2em;
	margin-bottom: 2em;
	display: block;
}

div.hr-min {
	border-bottom: 1px dotted #c5c5c5;
	margin-top: 2em;
	margin-bottom: 2em;
	display: block;
	width: 30%;
	margin-left: auto;
    margin-right: auto;
}

div.space {
	border-bottom: 0px dotted #aaaaaa;
	margin-top: 3em;
	margin-bottom: 3em;
	display: block;
}

.box {
	border: 1px solid #999999;
	background-color: #ddd;
	margin-top: 40px;
	padding: 6px 10px 0px 10px;
}

hr {
	border: 0;
	border-top: 1px dotted #c5c5c5;
	margin: 3em 0 2em 0;
	}
	
hr.none {
	border: 0;
	border-top: 0px dotted #c5c5c5;
	margin: 2em 0 2em 0;
	}


/* TYPOGRAPHY */

h1 {
	color: #222;
	font-family: 'Helvetica', sans-serif;
	font-size: 2em;
	font-weight: 700;
	line-height: 1.2em;
	margin-top: 1em;
	}

h2 {
	color: #222;
	font-family: 'Helvetica', sans-serif;
	font-size: 1.4em;
	font-weight: normal;
	}

	h2.blue {
		color: #3b6ea5;
		}

h3 {
	color: #222;
	font-family: 'Helvetica', sans-serif;
	font-size: 1.2em;
	font-weight: 300;
	text-transform: uppercase;
	}

	img.prime-logo {
		display: none;
		height: 35px !important;
		width: 122px !important;
		}

h4 {
	font-family: 'Helvetica', sans-serif;
	font-size: 1em;
	font-weight: normal;
	color: #222;
	text-transform: uppercase;
	margin-bottom: -0.5em;
	}

time {
	color:	#999;
	display: block;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.8em;
	font-weight: normal;
	margin-bottom: 20px;
	margin-top: -16px;
	text-transform: uppercase;
	}

p {
	font-family: 'Helvetica', sans-serif;
	font-weight: 300;
	margin-bottom: 1em;
	margin-top: 0.75em;
	}

.sans { font-family: 'Helvetica', sans-serif; font-weight: 300; }

.top-space { margin-top: 2em; }

.interview-question { font-family: 'Helvetica', sans-serif; font-weight: 700; }

.subject-title { font-style: italic; margin-left: 0.3em; margin-right: 0.3em; }

.quiet { color: #999999; }

.indent { margin-left: 2em; }

.red { color: #aa0000; }
.green-1 { color: #709606; /*#86B404;*/ }
.333 { color: #333; }
.555 { color: #555; }
.grey-1 { color: #555; }
.grey-2 { color: #777 !important; }

.lpad { padding-left: 0.2em; }

.updated { font-family: 'Helvetica', sans-serif; color: #3b6ea5; margin-right: 0.3em; font-weight: 300; }

.rev { color: #999999; font-size: 0.7em !important; text-align: right; }

.cit { font-size: 0.9em; }

.img-caption {
	text-align: right;
	color: #aaaaaa;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	margin-top: -2em;
}

.cover-caption {
	text-align: right;
	color: #aaaaaa;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	margin-top: 0em;
	margin-bottom: -1em;
	padding-right: 5px;
}

@media only screen and (max-width: 768px) {
	.cover-caption {
		padding-right: 5px;
		}
	}

.img-credit {

}

.tagline {
	text-align: center;
	font-style: italic;
	color: #aaaaaa;
	margin-top: 1em;
	margin-bottom: 0em;
}

.breadcrumb {
	color: #555555;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	margin-top: -0.8em;
}

	.step {padding-left: 0.3em; padding-right: 0.3em;}


/* IMAGES */

img {
	border: none;
}

img.spread {
	
}

img.end-sign {
	
}

img.fade {
	opacity: 0.9;
	-webkit-transition: all 0.2s ease;
	}

	img.fade:hover {
		opacity: 0.7;
		}

img.fade-reverse {
	opacity: 0.3;
	transition: opacity .15s ease-in-out;
	-moz-transition: opacity .15s ease-in-out;
	-webkit-transition: opacity 0.15s ease-in-out;
	}

	img.fade-reverse:hover {
		opacity: 0.8;
		}

figure {
	margin: 0 auto;
	width: 100%;
	height: auto;
	}
	
figcaption {
	color: #999999;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 1.4em;
	margin-bottom: 2em;
	margin-right: 2px;
	margin-top: -2.5em;
	text-align: right;
	}
	
	figcaption.left {
		color: #777777; 
		font-family: 'Helvetica', sans-serif; 
		font-size: 0.8em; 
		font-weight: 300;
		margin-bottom: 1.5em;
		margin-top: 0.8em; 
		text-align: left; 
		}


/* LISTS */

ol {
	font-family: 'Helvetica', sans-serif;
	/*font-size: 0.9em;*/
	font-style: normal;
	font-weight: 300;
	}

	ol li {
		margin-left: -1em;
	}

ul {
	font-family: 'Helvetica', sans-serif;
	/*font-size: 0.9em;*/
	font-style: normal;
	font-weight: 300;
	list-style-type: none;
	overflow: hidden;
	padding-left: 1.8em;
}

	ul li:before {
	    content: '\203A';
	    display: inline-block;
	    width: 1em;
	    margin-left: -1em;
	    margin-top: 0em;
	    margin-bottom: 0;
	    font-style: normal;
	    line-height: 1.3em;
	}
	
	ul.none li:before {
	    content: '';
	    display: inline-block;
	    width: 1em;
	    margin-left: -1em;
	    margin-top: 0em;
	    margin-bottom: 0;
	    font-style: normal;
	    line-height: 1.3em;
	}
	
	ul.mono li {
		/*color: #555;*/
	    font-family: 'courier', monospace;
	    font-size: 0.9em;
	    font-style: normal;
	    line-height: 1.3em;
	}

dl {
	margin-top: 0em;
	margin-bottom: 1em;
}

dt {
	font-family: 'Helvetica', sans-serif;
	font-weight: 300;
	margin-bottom: 0em;
	padding: 0 0 0.25em 1em;
	}

dd {
	color: #777;
	font-family: 'Helvetica', sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	margin-bottom: 1em;
	padding: 0 0 0 0;
	}


@media screen and (max-width: 480px) {
		ul li, ol li {
			line-height: 1.5em;
		}
	}

/* LINKS */

a:link {
	color: #3b6ea5;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	}

a:visited {
	text-decoration: none;
	color: #3b6ea5;
	}

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

a:active {
	text-decoration: none;
	color: #3b6ea5;
	}

a.quiet:link {
	color: #777777 !important;
	}
	
a.quiet:visited {
	color: #777777;
	}
	
a.quiet:hover {
	color: #444444;
	}
	
a.quiet:active {
	color: #777777;
	}


/* BUTTONS */

.btn {
	background: #333;
	color: #fff !important; 
	display: inline-block;
	font-family: 'Helvetica', sans-serif;
	/*font-size: 13px;*/
	font-weight: 300;
	margin-top: 1em;
	padding: 10px 20px 10px 20px;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
}

.btn:hover {
	background: #444; /* #777777 */
	text-decoration: none;
}

.btn-alt {
	background: #eaeaea;
	border: 1px solid #333;
	color: #333 !important; 
	display: inline-block;
	font-family: 'Helvetica', sans-serif;
	/*font-size: 13px;*/
	font-weight: 300;
	margin-top: 1em;
	padding: 10px 20px 10px 20px;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
}

.btn-alt:hover {
	background: #ddd;
	color: #333 !important;
	border: 1px solid #333;
	text-decoration: none;
}


.btn-purchase {
	background: #333;
	color: #fff !important; 
	display: inline-block;
	font-family: 'Helvetica', sans-serif;
	/*font-size: 13px;*/
	font-weight: 300;
	margin: auto;
	padding: 10px 20px 10px 20px;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
}

.btn-purchase:hover {
	background: #f6a91d; /*fdcf08*/
	text-decoration: none;
}

.center {
	text-align: center;
	padding-bottom: 2em;
}

.top-space {margin-top: 2em;}

i.padding {
	padding-right: 0.3em;
}


/* VIDEO */

.videowrapper {
	height: 0;
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0px;
}
.videowrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* PORTFOLIO */

.portfolio-item { display: block; }
.portfolio-item-thumb { float: left; width: 135px; margin-right: 1.1em; }
img.portfolio-item-thumb-img { width: 135px; height: auto; }
.portfolio-item-desc { float: left; width: 449px; }
	.portfolio-item-desc h3 { margin-top: 0.9em; margin-bottom: -5px; font-size: 1em;}
	.portfolio-item-desc p { font-family: 'Helvetica', sans-serif; font-size: 0.9em; font-weight: 300; margin-top: 0.5em; }

	@media screen and (max-width: 480px) {
		
		.portfolio-item {display: block; margin-bottom: 1em;}
		.portfolio-item-thumb {display: block; width: 100%; margin-right: 0;}
		img.portfolio-item-thumb-img {width: 100%; height: auto;}
		.portfolio-item-desc {
			display: block;
			margin-top: 0;
			width: auto; 
			/*width: 100%;*/
			}
		.portfolio-item-desc h3 {margin-top: -1.4em;}
		
	}

p.project-detail { font-family: 'Helvetica', sans-serif; font-weight: 300; }

div.portfolio-item-before { float: left; max-width: 295px; height: auto; }
div.portfolio-item-after { float: right; max-width: 295px; height: auto; }

.code {
	background-color: #fff; 
	color: #777777; 
	font-family: monospace;
	font-size: 0.9em; 
	overflow: auto; 
	padding: 1em 1em 2em 1em; 
	word-wrap: break-word;
	}

.monotext {
	background-color: #fff; 
	border: 1px solid #555; 
	margin: 30px 0 30px 0; 
	padding: 10px 20px 10px 20px; 
	}

.monotext p {
	font-family: 'courier new', courier, monospace !important;
	}


/* JOURNAL */

p.kicker { color: #999999; font-family: 'Helvetica', sans-serif; font-weight: 300; margin-bottom: 0; margin-top: 1em;}
p.byline { }
p.byline-date { 
	color: #999999; 
	font-family: 'Helvetica', sans-serif; 
	font-weight: 300;
	} 

div.highlight-left { float: left; max-width: 290px; }
div.highlight-right { float: right; max-width: 290px; }

h1.primary-feature { margin-top: 0; font-size: 1.6em !important; margin-bottom: 0; font-weight: 500 !important; }
h1.second-feature { font-size: 1.6em; margin-top: 0; }

img.second-feature { margin-bottom: 0 !important; }

p.excerpt { }
p.lead { }


/* ONLINE STORE */

div.store-item {display: block;}
div.store-index-item-img {float: left; max-width: 290px;}
div.store-index-item-desc {float: left; max-width: 290px; margin-left: 20px;}


/* PHOTO GALLERY */

.gallery {
	width: 630px;
	height: 420px;
	margin-bottom: 10px;
}

.gallery-wide {
	width: 630px;
	height: 353px;
	margin-bottom: 10px;
}

.gallery-extended {
	width: 630px;
	height: 473px;
	margin-bottom: 10px;
}

.gallery-tall {
	width: 630px;
	height: 945px;
	margin-bottom: 10px;
}

p.gallery-caption {
	font-size: 10px;
	color: #aaaaaa;
	text-align: right;
	line-height: 1.1em;
	margin-top: -10px;
	margin-bottom: 30px;	
}

.gallery-caption a:link {
	color: #cccccc;
}

.gallery-caption a:hover {
	color: #999999;
}

h3.photo-gallery {
	margin-bottom: 10px;
}

p.related-content {
	margin-bottom: 0px;
}

ul.related-content {
	margin-top: -20px;
	margin-bottom: 20px;
}


/* PHOTO INDEX */

div.gallery-preview {
	margin-top: 0px;
	margin-bottom: -1em;
}

img.thumbnail {
	width: 190px !important;
	height: auto;
	margin-left: 5px;
}

img.last {margin-right: 0px;}

.fade img {    
	opacity: 1;
	transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-webkit-transition: opacity .2s ease-in-out;
}

.fade img:hover {
	opacity: 0.6;
    transition: opacity .2s ease-in-out;
    -moz-transition: opacity .2s ease-in-out;
    -webkit-transition: opacity .2s ease-in-out;
}






/* MOBILE */

@media screen and (max-width: 480px) {
				
		div.store-item {margin-bottom: 3em;}
		
		div.half-wrapper {display: block;}
		div.half-left {display: block; max-width: 100%;}
		div.half-right {display: block; max-width: 100%;}
		img.half {display: block; max-width: 100%; height: auto;}
		
		#directory div.column {display: block; width: 100%; float: none; padding-right: 0;}
		
		div.store-index-item-img {display: block; float: none; max-width: 100%;}
		div.store-index-item-desc {display: block; float: none; max-width: 100%;}
		
	}		
}