/*
  Stylesheet for In House Music + Sound
*/

@import "fonts.css";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');

.fallback {
  display: none;
}

#preferredKitten {
	display: none;
}

.site-description {
	position: absolute;
		top: -100%;
		left: -100%;
}

.who-we-are-image {
	margin-bottom: 30px;
}

.callout p, .callout h5 {
	margin: 0px !important;
}

.light-text {
	font-weight: 400 !important;
}

.row {
	max-width: 95rem;
}

	#projects .row .columns, #projects .row .column {
		padding-left: 5px;
		padding-right: 5px;
	}

.line {
	background: #e72725;
	display: inline-block;
	margin: 20px 0px;
	max-width: 150px; width: 100%; height: 5px;
}

.red {
	color: #e72725 !important;
}

.white-box {
	background: #fff;
	padding: 30px;
	position: relative;
		top: -50px;
	width: 150%;
	z-index: 9999;
}

.centered > .columns {
	display: inline-block;
	float: none !important;
	vertical-align: middle;
}

.align-bottom > .columns {
	vertical-align: bottom;
}

.menu-text {
	color: #777;
	font-family: "Nexa", sans-serif;
	font-size: .775em;
	position: absolute;
		right: 25px;
		top: 0px;
	text-transform: uppercase;
}

.plus-mark {
	display: inline-block;
	margin: 15px 0px;
	width: 50px; height: 50px;
}

body {
	background: #f2f2f2;
}

.content {
	margin: auto;
	padding: 0px 5px;
	max-width: 90rem;
}

section {
	padding: 50px 0px;
}

.options {
	display: none;
	position: absolute;
		right: 50%;
		top: 50%;
	text-align: center;
	z-index: 9999;
	max-width: 800px; width: 100%;
	
	-webkit-transform: translate(50%,-50%);
		 -moz-transform: translate(50%,-50%);
		 	-ms-transform: translate(50%,-50%);
		 			transform: translate(50%,-50%);
}

#nav {
	background: url(../images/bear.svg) center center no-repeat rgba(231,39,37,.95);
	display: none;
	overflow: scroll;
	padding: 200px 0px 0px 0px;
	position: fixed;
		top: 0px;
		right: 0px;
	text-align: center;
	width: 100%; height: 100%;
	z-index: 9997;
	
	-webkit-background-size: cover !important;
		 -moz-background-size: cover !important;
		 	-ms-background-size: cover !important;
		 			background-size: cover !important;
}

	.options a {
		color: #fff !important;
		display: inline-block;
		font: normal 400 3em/1em "Nexa", sans-serif;
		margin-bottom: 20px;
		text-transform: uppercase;
		
		-webkit-transition: all 250ms ease-in-out;
			 -moz-transition: all 250ms ease-in-out;
			 	-ms-transition: all 250ms ease-in-out;
			 			transition: all 250ms ease-in-out;
	}

	#nav .logo {
		display: block;
		margin: 25px auto 0px auto;
		max-width: 100px; width: 100%;
	}
	
@media only screen and (max-width: 55em) {
	.options a {
		font-size: 3em !important;
	}
}

@media only screen and (max-width: 40em) {
	.options a {
		font-size: 1.5em !important;
	}
}

/* Typography */

h1 {
	font: normal 900 6em/1em "Nexa", sans-serif;
	margin: 0px;
	text-transform: uppercase;
}

h2 {
	font: normal 400 3em/1em "Nexa", sans-serif;
	margin: 0px 0px 10px 0px;
	text-transform: uppercase;
}

h3 {
	font: normal 400 2.5em/1em "Nexa", sans-serif;
	margin: 0px 0px 10px 0px;
	text-transform: uppercase;
}

h5 {
	font: normal 700 2em/1.5em "Roboto", sans-serif;
}

h6 {
	font: normal 400 1.500em/1.4em "Roboto", sans-serif;
}

p {
	font: normal 400 1.25em/1.5em "Roboto", sans-serif;
	margin: 10px 0px 0px 0px;
}

@media only screen and (max-width: 850px) {
	h3 {
		font-size: 2em;
	}
}

@media only screen and (max-width: 670px) {
	h3 {
		font-size: 1.85em;
	}
}

@media only screen and (max-width: 40em) {
	
	h2 {
		font-size: 2.5em;
	}
	
	h3 {
		font-size: 2em;
		margin: 50px 0px 10px 0px;
	}
}

/* Header */

header {
	padding: 30px 5px;
	position: relative;
	z-index: 9998;
}

	header .show-on-active {
		opacity: 0;
	}

	header .logo {
		display: inline-block;
		position: relative;
		max-width: 200px; width: 100%; height: 112px;
	}
	
@media only screen and (max-width: 40em) {
	header .logo {
		max-width: 175px; height: 99px;
	}
}
	
		header .logo img, header .plus img {
			position: absolute;
				top: 0px;
				left: 0px;
			-webkit-transition: 200ms opacity ease;
				 -moz-transition: 200ms opacity ease;
				 	-ms-transition: 200ms opacity ease;
				 			transition: 200ms opacity ease;
		}
	
	header .plus {
		cursor: pointer;
		display: inline-block;
		position: relative;
		width: 30px; height: 30px;
	}
	
	header .plus img {
		display: block;
		-webkit-transform: rotate(0deg);
			 -moz-transform: rotate(0deg);
			 	-ms-transform: rotate(0deg);
			 			transform: rotate(0deg);
		
		-webkit-transition: all 200ms ease-in-out;
			 -moz-transition: all 200ms ease-in-out;
			 	-ms-transition: all 200ms ease-in-out;
			 			transition: all 200ms ease-in-out;
	}
	
header.active .show-on-active {
	opacity: 1;
}

header.active .hide-on-active {
	opacity: 0;
}
		
#main.active header .plus {
	
	-webkit-transform: rotate(-225deg);
		 -moz-transform: rotate(-225deg);
		 	-ms-transform: rotate(-225deg);
		 			transform: rotate(-225deg);
}

.active .plus .menu-text {
	display: none !important;
}

header.active .plus img {
	-webkit-transform: rotate(-45deg);
		 -moz-transform: rotate(-45deg);
		 	-ms-transform: rotate(-45deg);
		 			transform: rotate(-45deg);
}
		
/* Work */

.project {
	cursor: pointer;
	display: block;
	margin-top: 10px;
	position: relative;
	width: 100%; height: 300px;
	
	-webkit-background-size: cover !important;
		 -moz-background-size: cover !important;
		 	-ms-background-size: cover !important;
		 			background-size: cover !important;
}

	.project:after {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */
		content: "";
		display: block;
		position: absolute;
			top: 0px;
			left: 0px;
		width: 100%; height: 100%;
		z-index: 1;
	}

	.project .project-type {
		border-bottom: 5px solid #e72725;
		color: #fff;
		display: block;
		font: normal 900 1em/1em "Nexa", sans-serif;
		padding: 0px 0px 3px 0px;
		position: absolute;
			top: 30px;
			left: 30px;
		text-transform: uppercase;
		z-index: 10;
		
		-webkit-transition: padding 250ms ease-in-out;
			 -moz-transition: padding 250ms ease-in-out;
			 	-ms-transition: padding 250ms ease-in-out;
			 			transition: padding 250ms ease-in-out;
	}
	
	.project .project-text {
		position: absolute;
			bottom: 30px;
			left: 30px;
		z-index: 100;
	}
	
		.project .project-text h1, .project.smaller-title .project-text h1 {
			color: #fff;
			font-size: 3em !important;
			font-weight: 400;
			margin-bottom: 0px;
			text-shadow: 0px 0px 20px rgba(0,0,0,.3);
		}
		
		.project .project-text p {
			color: #fff;
			font-weight: 400;
			margin: 0px;
			max-width: 700px;
		}

		
	.project:hover .project-type {
		padding-right: 150px;
	}
	
.project.featured, .project.smaller-title {
	height: 400px;
}

	.project.featured .project-text h1 {
		font-size: 4em !important;
	}
	
@media only screen and (max-width: 40em) {
	.project.featured .project-text h1 {
		font-size: 3em !important;
	}
}

.project-details {
	padding: 25px 0px;
}

/* Intro Pages */

.intro h2, .intro h6 {
	color: #222;
}

.intro p {
	color: #222;
	margin-top: 20px;
}

/* Pagination */

.pagination-nav {
	margin-top: 50px;
}

	.button {
		background: none !important;
		border: none;
		border-bottom: 5px solid #e72725;
		color: #222 !important;
		font: normal 900 1.25em/1em "Nexa", sans-serif;
		padding-left: 0px;
		padding-right: 0px;
		padding-bottom: 10px;
		text-transform: uppercase;
	}
	
		.pagination-nav #prev i {
			margin-right: 10px;
		}
		
		.pagination-nav #next i {
			margin-left: 10px;
		}
		
@media only screen and (max-width: 40em) {
	.button {
		font-size: 1em;
	}
}

/* Philosophy */

.philosophy {
	margin-top: 75px;
}

/* Contact Us */

form label {
	font: normal 900 1em/1em "Nexa", sans-serif;
}

form input[type='text'], form textarea {
	margin-top: 5px;
}

form textarea {
	resize: none;
	height: 150px;
}

@media only screen and (max-width: 40em) {
	form {
		margin-top: 20px;
	}
}

/* Footer */

footer {
	padding: 75px 0px;
}

	footer .logo {
		display: inline-block;
		max-width: 150px; width: 100%;
	}

	footer p {
		color: #222;
		font-size: .9em;
		font-weight: 700;
	}
	
		footer p a {
			color: #e72725 !important;
		}
	
	footer .social a {
		color: #222 !important;
		font-size: 1.25em;
		margin-left: 5px;
	}
	
@media only screen and (max-width: 40em) {
	footer .logo {
		margin: 20px 0px;
		max-width: 100px;
	}
}