@charset "UTF-8";
/* CSS Document */

* {
	outline: 0px;
}

body,td,th {
	font-size: 100%;
	color: #000;
	font-family: helvetica, sans-serif;
	-webkit-font-smoothing: antialiased;
}

html.portrait {
	height: 100%;
}

body.splash {
	margin: 0px;
	padding: 0px;
	height: 100%;
}

body.menuOpen {
	overflow-y: hidden !important;
}

.mobileOnly {
	display: none;
}

.desktopOnly {
	display: block;
}

.splash #wrapper {
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
}

	.splash.mobile .cellHolder {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;left: 0;
		font-size: 0;
	}

	.splash.mobile .cellHolder:before {
		content: '';
		width: 0px;
		height: 100%;
		display: inline-block;
		vertical-align: middle;
	}

	.splash .cell {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		width: 50%;
		top: 0 !important;
	}

	/*
	.portrait .splash .cell {
		height: 50%;
		width: 100%;
		text-align: center;
		overflow: hidden;
	}
	*/

	.splash .cell a {
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 10;
		width: 100%;
	}

	/*
	.portrait .splash .cell a {
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: 50% 50%;
	}
	*/

	.splash .cell a:first-child {
		position: relative;
		top: 0;left: 0;
	}

	.splash .cell a:last-child {
		opacity: 0;
		position: absolute;
		top: 0;left: 0;
	}

	.splash .cell:hover a:last-child {
		opacity: 1;
	}

	.splash .cell img {
		display: block;
		width: 100%;
		height: auto;
	}

	/*
	.portrait .splash .cell img {
		height: 100%;
		width: auto;
		margin: auto;
		display: none;
	}
	*/

h1 {
	font-size: 20px;
	text-transform: uppercase;
	padding-left: 10px;
	padding-top: 8px;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: normal;
}
.med_text {
	font-family: "helvetica", sans-serif;
	font-size: 20px;
	line-height: 1.4em;
}

body {
	background-color: #F7F7F7;
	font-family: helvetica, sans-serif;
	padding-right: 15px;
	border-right:medium;

}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

#apDiv1 {
	position:absolute;
	left:384px;
	top:504px;
	width:300px;
	height:4em;
	z-index:1;
	font-family: "helvetica", sans-serif;
	font-size: 0.8em;
	text-align: right;
}

#apDiv2 {
	position:absolute;
	left:233px;
	top:40px;
	width:450px;
	height:450px;
	z-index:2;
	text-align: center;
	vertical-align: middle;
}
#homeimage {
	position:absolute;
	left:275px;
	top:55px;
	width:400px;
	height:400px;
	z-index:1;
	text-align: left;
	vertical-align: bottom;
}
#homeimage2 {
	position:absolute;
	left:375px;
	top:55px;
	width:400px;
	height:400px;
	z-index:1;
	text-align: left;
	vertical-align: bottom;
}

#clients {
	position:absolute;
	left:255px;
	top:53px;
	width:600px;
	height:100px;
	z-index:1;
	text-align: left;
	vertical-align: bottom;
	font-family: helvetica, sans-serif;
	font-size: 20px;
	font-weight: bold;
}

#tables {
	position:absolute;
	left:30%;
	top:62px;
	width:400px;
	height:490px;
	z-index:1;
	text-align: left;
	vertical-align: bottom;
}

#logo {
	float:left;
	position:fixed;
	left:20px;
	top:50px;
	width:100%;
	height:100%;

	z-index:0;
	overflow: hidden;

}
#leftCol {
  background: #f7f7f7;
	color: #393939;
  position: fixed;
  left: 21px;
  top: 0px;
	height: 100%;
	font-size: 12px;
	font-family: 'Source Sans Pro', sans-serif;
	text-align: center;
	float:left;
}

	#leftCol .logo {
    padding-top: 52px;
	}

	#leftCol .hoverMe {
		cursor: pointer;
		margin-bottom: 50px;
	}

		#leftCol h1 {
			font-weight: 900;
			/*font-size: 355%;*/
			font-size: 280%;
			margin: 0px auto 3px auto;;
			padding: 0px;
			color: #393939;
		}

		#leftCol h2 {
			font-weight: 700;
			letter-spacing: -.03em;
			font-size: 210%;
			margin: 12px auto 0;
			padding: 0px;
			line-height: 1.1;
			color: #393939;
		}

		.no-touch #leftCol .hoverMe:hover h1,
		.no-touch #leftCol .hoverMe:hover h2 {
			color: #8f8f8f;
		}

	#leftCol a {
		font-weight: 900;
		font-size: 115%;
		letter-spacing: .03em;
	}

	#leftCol a:hover, #leftCol a.pageOn {
		color: #8f8f8f;
	}

	#leftCol .social {
		list-style-type: none;
		margin: 0px auto 0px 12px;
		padding: 0px;
	}

	#leftCol .social li {
		display: inline-block;
		*display: inline;
		zoom: 1;
		margin: 0 6px;
		width: 29px;
	}
	
	#leftCol .social li.header {
		display: block;
		width: 100%;
		margin: 10px auto;
		color: #8f8f8f;
		opacity: 1 !important;
	}
	
		#leftCol .social li.header a {
			/*font-size: 2rem;*/
			font-size: 37px;
			letter-spacing: -.03em;
		}
		
		#leftCol .social li.header a:hover {
			color: #393939;
		}

	#leftCol .social li img {
		width: 100%;
	}

	#leftCol .social li:hover {
		opacity: .7;
	}

	#leftCol .projects {
		position: absolute;
		left: 4px;
    bottom: 25px;
		width: 100%;
		list-style-type: none;
		margin: 0px;
		padding: 0px;
		text-align: left;
	}

	#leftCol .projects li {
		display: inline-block;
		*display: inline;
		zoom: 1;
		margin-right: 10px;
		width: 100%;
		font-weight: 900;
		font-size: 165%;
		margin-bottom: -5px;
	}

	#leftCol .projects li a {
		letter-spacing: -.03em;
		color: #8f8f8f;
	}

	.no-touch #leftCol .projects li a:hover, #leftCol .projects li a.pageOn {
		color: #393939;
	}

	#leftCol .projects li.header {
		font-weight: 900;
		font-size: 120%;
		margin-bottom: 5px;
		letter-spacing: .04em;
	}


	/*left Column smaller desktop screens*/
	@media screen and (max-height: 700px) {
		#leftCol .logo {
    	padding-top: 0px;
		}

		#leftCol .hoverMe {
			font-size: 80%;
			margin-bottom: 15px;
		}
	}



/* Mobile styles */
@media only screen
and (max-width: 1024px) {
	#leftCol {
		background: #f7f7f7;
		position: relative;
		width: 100%;
		top: 12px;
		text-align: center;
		border: 0px solid red;
		float: none;
	}

	#leftCol table {
		margin: auto;
		border: 0px solid blue;
	}
	.lbGallery ul li a h2.caption {
		display: none;
	}
}


#leftCol2 {
    background: #f7f7f7;
    position: fixed;
    left: 10px;
    top: 72px;

	float:left;


}
#rightCol {
  position: relative;
  left: 362px;
  top: 0px;
  bottom: 0;
  right: 0px;
	margin-left: -40px;
	padding-left:0px;
	padding-right:0px;
	margin-right:0px;
  overflow:hidden;
  overflow-y: auto;
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (max-width: 1024px) {

	#rightCol {
		position: relative;
		left: 0px;
		top: 10px;
		bottom: 0px;
		right: 0px;
		margin-left: 0px;
		padding-left:0px;
		padding-right:0px;
		margin-right:0px;
		overflow:hidden;
		overflow-y: auto;
		width: 100% !important;
	}

		#rightCol li img {
			width: 260px;
			height: 170px;
		}

}

#rightCol2 {
    position: relative;
    left: 310px;
    top: 40px;
    bottom: 0;
    right: 0px;
	max-width:1000

	padding-left:60px;
	padding-right:100px;
	margin-right:40px;


}

#gal_pos {

	padding: 10px 0;
	width: 1000px;
	float: left;
}

.description {
	font-family: "helvetica", sans-serif;
	font-size: 0.8em;
	text-align: left;
	vertical-align: bottom;
}
.small_text {
	font-family: helvetica, sans-serif;
	font-size: 0.8em;
}
#apDiv_thumbs {
	position:absolute;
	left:240px;
	top:62px;
	width:700px;
	height:600px;
	z-index:1;
	text-align: left;
	vertical-align: bottom;
}
.image_container {
}
.thumbnails {
	padding: .5em;
}

#apDiv5 {
	position:absolute;
	left:60%;
	top:22px;
	width:200px;
	height:40px;
	z-index:2;
}

#apDiv4 {
	position:fixed;
	left:360px;
	top:463px;
	width:215px;
	height:100px;
	z-index:3;
}

#apDiv6 {
	position:absolute;
	left:200px;
	top:62px;
	width:700px;
	height:56px;
	z-index:1;
}
.ul {
   list-style:none;
}
.submenu {
	font-family: "helvetica", sans-serif;
	font-size: .9em;
}
.table_class {
	text-align: left;
	padding: .5em;
}

#press_box {
	position:absolute;
	left:250px;
	top:52px;
	width:680px;
	height:542px;
	z-index:1;
	font-family: Helvetica;
}

#clients_box {
	position:absolute;
	left:250px;
	top:52px;
	width:680px;
	height:542px;
	z-index:1;
	font-family: Helvetica;
	font-weight:bold;
	font-style:italic;
}


.press_title {
	font-family: "helvetica", sans-serif;
	font-size: 1em;
	font-weight: bold;
}
textarea {
	width: 680px;
}





/*mobile stuff*/

@media screen
and (max-width: 1024px) {

.mobileOnly {
	display: block;
}

.desktopOnly {
	display: none;
}

	#leftCol {
		top: 0px;
	  left: 0px;
	  width: 100%;
	  height: auto;
	}

	#leftCol .logo {
		padding-top: 0px;
		position: relative;
		z-index: 2000;
		width: 127px;
	}
	
	#leftCol h1 {
		font-size: 200%;
	}
	
	#leftCol h2 {
		font-size: 170%;
	}

	.hoverMe {
		position: relative;
		z-index: 2000;
	}

	.menuTrigger {
	    display: block;
	    width: 36px;
	    height: 23px;
	    position: fixed;
	    top: 20px;
	    right: 6%;
	    z-index: 2010;
	}

		span.line {
		    display: block;
		    width: 100%;
		    height: 3px;
		    background-color: #393939;
		    position: absolute;
	        right: 0;
	        top: 0;
	        transition: transform .3s 0s, opacity .3s 0s, top .3s 0s;
		}

		span.line:first-child {
		    top: 0px;
		}
		span.line:nth-child(2) {
		    top: 10px;
		}
		span.line:last-child {
		    top: 20px;
		}

		.menu-on.overlay-on span.line:first-child {
			transform: rotate(45deg);
		    top: 10px;
		}
		.menu-on.overlay-on span.line:nth-child(2) {
		    transform: translateX(100%);
		    opacity: 0;
		}
		.menu-on.overlay-on span.line:last-child {
		    top: 10px;
		    transform: rotate(-45deg);
		}


/*	.menu {
		position: relative;
		top: 0;
		left: 0;
		background-color: #f7f7f7;
		width: 100%;
		height: auto;
		padding-bottom: 20px;
		padding-top: 27px;
		z-index: 3000;
		display: none;
	}

	body.menuOpen .menu {
		display: none;
	}*/

	.menu.mobileOnly {
	    display: flex;
	    flex-direction: column;
	    justify-content: center;
	    align-items: center;
	}
	.menu.mobileOnly.on {
	    z-index: 2000;
	}

	.mobileWrap {
	    font-size: 1rem;
	    line-height: 1.5;
	}

	.mobileWrap p {
	    margin: 0 0 0.5em;
	}

	#leftCol .social {
		list-style-type: none;
		margin: 17px auto 32px;
		padding: 0px;
	}

	#leftCol .projects {
	    position: relative;
	    width: 100%;
	    list-style-type: none;
	    margin: 0 auto 50px auto;
	    padding: 0px 0 0;
	    text-align: center;
	    font-size: 250%;
	    bottom: 0;
	    left: 0;
	    top: 0;
	}
	#leftCol .projects.cloned {
		display: none;
	}

		#leftCol .projects li.header {
			font-weight: 900;
			font-size: 1.5rem;
			margin-bottom: 0.5em;
			letter-spacing: .04em;
			padding-bottom: 0;
		}

		#leftCol .projects li {
		    display: block;
		    width: 100%;
		    font-weight: 900;
		    font-size: 2rem;
		    line-height: 1;
		    padding-bottom: 0.4em;
		}

}




/*COLORBOX MOBILE OVERRIDES*/

@media all and (max-width: 1024px) {

	#colorbox, #cboxOverlay, #cboxWrapper {
		padding-bottom: 150px;
	}

		#cboxTitle {
			float: none !important;
		    display: block !important;
		    position: relative !important;
		    bottom: -30px !important;
		    left: 0 !important;
		    font-size: 1.2rem !important;
		    text-align: center !important;
		}

	.arrow-trig {
		display: none;
		position: fixed;
		z-index: 3000;
		width: 100px;
		cursor: pointer;
		top: 0;
		bottom: 0;
	}

	.overlayOn .arrow-trig {
		display: block;
	}

	.trig-left {
		left: 0;
	}
	.trig-right {
		right: 0;
	}

}






/*GRID PAGE MOBILE OVERRIDES*/

@media all and (max-width: 1024px) {

	* {
		padding: 0;
		margin: 0;
	}

	body {
		padding-right: 0;
	}

	#gallery {
	    width: 92%;
	    margin: auto;
	}

	.lbGallery ul {
		font-size: 0;
	}
	
	.lbGallery ul li {
		width: 48%;
		margin: 0 1% 25px 1% !important;
	    vertical-align: top;
		padding-left: 0px !important;
	}

	/*

	.lbGallery ul li:nth-child(odd) {
	    margin-right: 4%;
	}

	*/

		.lbGallery ul li a {
		    display: block;
		    text-decoration: none;
		    position: relative;
		    text-align: center;
		}

			#rightCol li img {
			    width: 100%;
			    margin: 0;
			    height: auto;
			}

			.lbGallery ul li a h2.caption {
				font-size: 1.1rem !important;
				line-height: 1 !important;
				position: relative !important;
				opacity: 1 !important;
				transform: none !important;
				top: 0 !important;
				left: 0 !important;
				padding: 11px 6% 0 !important;
				width: 88% !important;
			}

	#cboxContent {
		margin: 0 !important;
	}

	.close-trig {
		display: none;
	    position: fixed;
	    top: 0px;
	    left: 50%;
	    transform: translateX(-50%);
	    z-index: 3000;
	}

	.overlayOn .close-trig {
		display: block;
	}

	.close-trig img {
	    display: block;
	    width: 27px;
	    height: auto;
	    padding: 30px;
	}

	/*ABOUT PAGE*/

	.overlay {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0;
		z-index: -99;
		transform: translateX(-100%);
		background-color: rgba(255,255,255,.98);
		transition: opacity .4s 0s, z-index 0s .4s, transform 0s .4s;
	}

	.overlay.on {
	    z-index: 2020;
	    opacity: 1;
	    transform: translateX(0%);
	    transition: opacity .4s 0s, z-index 0s 0s, transform 0s 0s;
	}

	.overlay.about .inner {
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    width: 88%;
	    height: auto;
	    max-height: 90%;
	    max-width: 950px;
	    overflow: auto;
	    -webkit-overflow-scrolling: touch;
	}

	.bgcover {
		background-size: cover;
		background-position: 50% 50%;
	}

	.wrapItUp {
		text-align: justify;
		min-height: 100%;
	}

	.overlayOn .wrapItUp {
		display: block;
	}

	.wrapItUp h1 {
		color: #333333;
	    padding: 1.5em 0 0.3em;
	    font-size: 1.8rem;
	    font-weight: 900;
	    line-height: 1;
	    margin: 0;
	}

	.wrapItUp .imgHolder {
		font-size: 0;
		padding: 13px 0 27px;
	}

		.wrapItUp .imgWrap {
		    display: inline-block;
		    vertical-align: top;
		    margin-right: 19px;
			height: 260px;
			width: 190px;
		}
		
		.wrapItUp .imgWrap.landscape {
			width: 375px;
		}

		.wrapItUp .imgWrap:nth-child(3n) {
		    margin-right: 0px;
		}

	.wrapItUp p {
	    margin: 0;
	    padding: 0 0 1em;
	    font-size: 0.9rem;
	    line-height: 1.9;
	    color: #4b4b4b;
	}

}


