
/* 
---------------------------------------

	BASICS

---------------------------------------
*/

*, *::after, *::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html, body {
	height: 100%;
	font-size:14px;
	line-height:175%;
}

body {
	font-family: 'HermesSans';
	color: #333;
	background-color: #FFF;
}

body.overflow-hidden {
	/* when primary navigation is visible, the content in the background won't scroll */
	overflow: hidden;
}

a {
	color: #333;
	text-decoration: none;
}

.wgray01 	{ color:#D7D2CB !important; }
.wgray02 	{ color:#CBC4BC !important; }
.wgray03 	{ color:#BFB8AF !important; }
.wgray04 	{ color:#B6ADA5 !important; }
.wgray05 	{ color:#ACA39A !important; }
.wgray06 	{ color:#A59C94 !important; }
.wgray07 	{ color:#968C83 !important; }
.wgray08 	{ color:#8C8279 !important; }
.wgray09 	{ color:#83786F !important; }
.wgray10 	{ color:#796E65 !important; }
.wgray11 	{ color:#6E6259 !important; }

.white		{ color:#FFFFFF !important; }

.wgray01bg 	{ background-color:#D7D2CB; }
.wgray02bg 	{ background-color:#CBC4BC; }
.wgray03bg 	{ background-color:#BFB8AF; }
.wgray04bg 	{ background-color:#B6ADA5; }
.wgray05bg 	{ background-color:#ACA39A; }
.wgray06bg 	{ background-color:#A59C94; }
.wgray07bg 	{ background-color:#968C83; }
.wgray08bg 	{ background-color:#8C8279; }
.wgray09bg 	{ background-color:#83786F; }
.wgray10bg 	{ background-color:#796E65; }
.wgray11bg 	{ background-color:#6E6259; }

.whitebg 	{ background-color:#FFFFFF; }



/* 
---------------------------------------

	GRID

---------------------------------------
*/

.content { width:auto; margin:0 5vw; }

.col01 { width: 100%; margin:0; }
.col02 { width: 100%; margin:0; }
.col03 { width: 100%; margin:0; }
.col04 { width: 100%; margin:0; }



/* 
---------------------------------------

	NAVIGATION 

---------------------------------------
*/


.nav-static {
	width: 100%;
	height: 50px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	background: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.bt-menu {
	width: 20px;
	height: 100%;
	position: absolute;
	left: 5vw;
	bottom: 0;
	display:block;
}

.bt-menu .bt-menu-icon {
	display: block;
	position: absolute;
	top: 50%;
	bottom: auto;
	width: 20px;
	height: 2px;
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform:  translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

/* open/close button start */

.bt-menu .bt-menu-icon::before, .bt-menu .bt-menu-icon:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #BFB8AF;
	-webkit-transition: -webkit-transform .3s, top .3s, background-color 0s;
	-moz-transition: -moz-transform .3s, top .3s, background-color 0s;
	transition: transform .3s, top .3s, background-color 0s;
}

.bt-menu .bt-menu-icon::before {
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
}

.bt-menu .bt-menu-icon::after {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

.bt-menu .bt-menu-icon.is-clicked::before {
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}

.bt-menu .bt-menu-icon.is-clicked::after {
	-webkit-transform: rotate(225deg);
	-moz-transform: rotate(225deg);
	-ms-transform: rotate(225deg);
	-o-transform: rotate(225deg);
	transform: rotate(225deg);
}

/* open/close button end */


.short-menu {
	display: block;
	position: absolute;
	top: 50%;
	bottom: auto;
	right: 5vw;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	margin:0;
	padding:0;
	
	font-size:1.3rem;
	line-height:100%;
}

.short-menu li {
	display:inline-block;
	padding:0;
	margin:0 0 0 30px;
}

.short-menu a {
	color: #BFB8AF;
	text-decoration:none;
}

.short-menu a:hover {
	color: #FFF;
	text-decoration:none;
}

.nav-full {
	position: fixed;
	left: 0;
	bottom: 0;
	height: 100vh;
	width: 100%;
	background: #333;
	z-index: 998;
	overflow: auto;
	/* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	-o-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition-property: -webkit-transform;
	-moz-transition-property: -moz-transform;
	transition-property: transform;
	-webkit-transition-duration: 0.4s;
	-moz-transition-duration: 0.4s;
	transition-duration: 0.4s;
	
	padding: 5vw;
	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.nav-full a {
	display: inline-block;
	margin-bottom: 1.15em;
	font-size:2.4rem;
	line-height:100%;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color: #BFB8AF;
}

.nav-full li:last-of-type a {
	font-size:1.1rem;
}

.no-touch .nav-full a:hover {
	color:#FFF;
}

.nav-full.is-visible {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}


.smenu {
	padding: 2.5vw 0 0 2.5vw;
	}
	
.smenu a {
	display: inline-block;
	margin: 0 0 1.15em 0;
	font-size:1.3rem;
	line-height:100%;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color: #FFF;
}

.smenu a:hover {
	color:#D7D2CB;
}

.nav-chapter {
	width: 100%;
	margin:0;
	padding:0;
	font-size:1.3rem;
	line-height:100%;
	letter-spacing:0.1em;
	border-top: #BFB8AF solid 1px;
}

.nav-chapter a {
	color:#BFB8AF;
	text-decoration:none;
}

.nav-chapter a:hover {
	color: #D7D2CB;
}

.chapter-prev, .chapter-next {
	width: 50%;
	padding: 60px 0 10px 0;
	display:inline-block;
	box-sizing:border-box;
}

.chapter-prev {
	text-align:left;
	border-right: #BFB8AF solid 1px;
}

.chapter-next {
	text-align:right;
}



/* 
---------------------------------------

	COMPONENTS 

---------------------------------------
*/


header { 
	position: absolute; top: 0; left: 0;
	width:100%;
}

.id-proj {
	position:absolute; 
	left:5vw;
	top:5vw;
	z-index:897;
}

.id-proj h1 {
	position:relative;
	left:-5px;
	font-size: 10vw; 
	line-height: 110%;
}

h1.white a { color:#FFF; text-decoration:none; }
h1.white a:hover { color:#FFF; }
h1.wgray01 a { color:#D7D2CB; text-decoration:none; }
h1.wgray01 a:hover { color:#D7D2CB; }

.id-proj h2, h2 {
	font-size: 2.5rem; 
	line-height: 110%;
}

h3 {
	font-size:1.3rem;
	line-height: 110%;
}

.id-exd { 
	position:absolute;
	right:5vw;
	top:5vw;
	font-size:1rem;
	color:#FFF; 
}

.id-exd .empty {
	font-size:50%;
}

.id-exd .lorem:after {
	content: 'e';
}

.wall {
	width:100%;
	height:100vh;
	display:table;
	}
	
.fence {
	width:100%;
	height:60vh;
	display:table;
	}
	
.middle {
	width:100%;
	height:100%;
	display:table-cell;
	vertical-align:middle;
	}

.empty-divider {
	height:25vw;
}

.empty-half-divider {
	height:12.5vw;
}

.empty-small-divider {
	height:6.25vw;
}

footer {
	padding: 100px 0 100px 0;
	display:block;
	clear:both !important;
}

ul.highlights {
	padding:0;
	color:#83786F;
}

ul.highlights li {
	padding: 3em 0;
	margin:0;
	border-top:#83786F solid 1px;
}

ul.highlights li:last-of-type {
	padding: 3em 0 0 0;
}

ul.highlights li span {
	display:block;
	font-size:2rem;
	padding-bottom:1em;
	color:#BFB8AF;
}

.sidenote {
	font-size:0.85rem;
	line-height:200%;
	color: #BFB8AF;
	margin:20px 0 0 15vw;
	padding:3px 0 5px 20px;
	border-left: solid 1px #BFB8AF;  
}

.imagem { width:100%; height:auto; margin-bottom:20px;}

.link { text-decoration:underline; }
.link:hover { text-decoration:underline; }

/* 
---------------------------------------

	FULL SLIDER

---------------------------------------
*/


.slider {
	list-style: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	padding: 0;
	margin: 0;
}

.slider li {
	position: absolute;
	width: 101%;
	height: 101%;
	top: -0.5%;
	left: -0.5%;
	opacity: 0;
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	transition: opacity 1s;
}

/* If background-size supported we'll add the images to the background of the li */

.backgroundsize .slider li {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	background-position: center center;
}

/* ...and hide the images */
.backgroundsize .slider li img {
	display: none;
}

.slider li img {
	display: block;
	width: 100%;
}

.slider-controls {
	position: fixed;
	width: 100%;
	height: 100%;
	margin: 0;
	top: 0;
	left: 0;
}

.slider-controls span {
	float: left;
	width: 5vw;
	height: 100%;
	position: relative;
	cursor: pointer;
}

.slider-controls span:before {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 45%;
	left: 0;
	text-align: center;
	font-family: 'HermesSans';
	speak: none;
	font-size: 1.5rem;
	line-height: 100%;
	color: #D7D2CB;
	-webkit-font-smoothing: antialiased;
	opacity: 0;
}

.slider-controls span:hover:before {
	opacity: 1;
}

span.slider-next:before {
	content: ">";
}

span.slider-prev:before {
	content: "<";
}

.slider-controls span.slider-next {
	float: right;
}

/* Fallback */

.no-js.no-backgroundsize .slider li:first-child {
	opacity: 1;
}

.no-js.backgroundsize .slider li:first-child img {
	display: block;
}


/* 
---------------------------------------

	FLUID VIDEO 

---------------------------------------
*/


.video-wrapper {
	position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
	margin-bottom:20px;
	}
	
.video {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	}



/* 
---------------------------------------

	MEDIA QUERIES

---------------------------------------
*/


@media only screen and (min-width: 768px) {


	.id-proj h1 { 
		left:-8px;
		font-size: 6vw;
		
	}
	
	.id-proj h2, h2 {
		font-size: 3.5rem; 
	}
	
	h3 {
		font-size:2rem;
		line-height: 110%;
	}
	
	.short-menu {
		font-size:1.4rem;
	}

	.slider-controls span:before {
		font-size: 2rem;
	}
	
	.smenu a {
		font-size:2rem;
	}

	.nav-chapter {
		font-size:2rem;
	}
	
	.empty-divider {
		height:20vw;
	}
	
	.empty-half-divider {
		height:10vw;
	}
	
	.empty-small-divider {
		height:5vw;
	}
		
	footer {
		padding: 150px 0 150px 0;
	}
	
	
	ul.highlights li {
		padding: 3.5em 0 0 0;
		margin:0 2% 0 0;
		float:left;
		width:32%;
	}
	
	ul.highlights li:last-of-type {
		margin:0;
		border-bottom:none;
	}
	
	ul.highlights li span {
		font-size:3rem;
	}
	
}

@media only screen and (min-width: 1170px) {
	
	/* GRID */

	.content { width:960px; margin:0 auto; }
	.col01 { width: 220px; margin:0 10px; }
	.col02 { width: 460px; margin:0 10px; }
	.col03 { width: 700px; margin:0 10px; }
	.col04 { width: 940px; max-width: 940px; margin:0 10px; }
	
	.nav-static {
		height: 70px;
	}
	
	.smenu a {
		font-size:2.5rem;
	}

	
	.nav-chapter {
		font-size:2.5rem;
	}
	
	.id-proj h1 { 
		font-size: 5vw;
		line-height:110%;
	}
	
	.id-proj h2, h2 {
		font-size: 4rem;
	}

	h3 {
		font-size:2rem;
		line-height: 110%;
	}
	
	.id-exd .lorem:after {
		content: 'experimentadesign';
	}
	
	.empty-divider {
		height:15vw;
	}
	
	.empty-half-divider {
		height:7.5vw;
	}
	
	.empty-small-divider {
		height:3.75vw;
	}
	
	ul.highlights li span {
		font-size:3.5rem;
	}
	
	
	footer {
		padding: 200px 0 200px 0;
	}
	
	.sidenote {
		margin:0 0 0 40px;
		padding:3px 0 5px 20px;
	}

}

@media only screen and (min-width: 1600px) {
	
	.id-proj h1 { 
		font-size: 4vw;
		line-height:110%;
	}
	
}


/* 
---------------------------------------

	EXTRAS

---------------------------------------
*/

.float-l {
	float : left;}
.float-r {
	float : right;}

.clear {
	clear : both;
	font-size : 1px;
	line-height : 0;
	margin : 0;
	height : 0;}