/* FONTS */

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


@font-face {
    font-family:"MaisonNeue-Mono-Regular";
    src:url("MaisonNeueMono-Regular.woff2") format("woff2"),url("MaisonNeueMono-Regular.woff") format("woff"),url("MaisonNeueMono-Regular.otf") format("opentype");
    font-style:normal;font-weight:400;
}

@font-face {
    font-family:"MaisonNeue-Medium";
    src:url("MaisonNeue-Medium.woff2") format("woff2"),url("https://www.nocte.co.uk/user/themes/nocte/css/MaisonNeue-Medium.woff") format("woff"),url("MaisonNeue-Medium.otf") format("opentype");
    font-style:normal;font-weight:400;
}

@font-face {
    font-family:"MaisonNeue-Book";
    src:url("MaisonNeue-Book.woff2") format("woff2"),url("MaisonNeue-Book.woff") format("woff"),url("MaisonNeue-Book.otf") format("opentype");
    font-style:normal;font-weight:400;
}

/* STYLING */
.grid{
	margin-top:60px; /* needed or custom font breaks grids */
}

html {
	font-size: 10px;
}

/* UNIVERSAL LAYOUT */
body{
	background-color:#181818; /* rgb(24,24,24)*/
	background-color:#101010; /* rgb(24,24,24)*/
	color:#FFF;
	-webkit-font-smoothing: antialiased; /* Fonts less chunky*/
	margin:0px;
	padding:0px;
	font-family: sans-serif

	/*font-family: "MaisonNeue-Mono-Regular";*/
}

p, h1, h2, h3, h4, h5, h6, li {
	font-family: "MaisonNeue-Mono-Regular", 'Roboto', sans-serif
}

#page_wrapper{
	max-width:1680px;
	margin: 0 auto;
	background-color:#181818;	
	overflow:hidden;
}

.content_wrapper{
	margin: 0 auto;
	/*max-width:1200px;*/
	position:relative;
}

.content_container{
	padding-left:40px;
	padding-right:40px;
	width:100%;
	box-sizing: border-box;
	position: relative;
}

.full_window{
	width:100%;
	height:100vh;
	background-size: cover;
	background-position: center center;
	position:relative;
}

.half_window{
	width:100%;
	height:50vh;
	background-size: cover;
	background-position: center center;
	position:relative;
}

.grid{
	/* font-family: initial; WTF is this??? */
}


/* NAV */
.nav{
	max-width:1680px;
	width:100%;
	padding-left:40px;
	padding-right:40px;
	padding-top:30px;
	box-sizing: border-box;
	position: absolute;
	top:0;
	z-index:10;
}

.nav-toggle {
    z-index: 1001;
    position: absolute;
    right: 65px;
    top:20px;
    cursor: pointer;
    box-shadow: 0 3px 0 fade(black,20%);
    -webkit-transition-duration: 0.66s;
    -moz-transition-duration: 0.66s;
    transition-duration: 0.66s;
    -webkit-transition-timing-function: swing;
    -moz-transition-timing-function: swing;
    transition-timing-function: swing;
    display: none;
}

.nav-toggle .icon {
    width: 30px;
    height: 4px;
    background-color: white;
    border-radius: 2px;
    position: absolute;
    top: 28px;
    left: 15px;
    -webkit-transition-duration: 0.5s;
    -moz-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: swing;
    -moz-transition-timing-function: swing;
    transition-timing-function: swing;
}

.nav-toggle .icon:before, .nav-toggle .icon:after {
    width: 30px;
    height: 4px;
    background-color: white;
    border-radius: 2px;
    content: "";
    position: absolute;
    left: 0;
    -webkit-transition-duration: 0.5s;
    -moz-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: swing;
    -moz-transition-timing-function: swing;
    transition-timing-function: swing;
}

.nav-toggle .icon:before {
    top: -9px;
}

.nav-toggle .icon:after {
    top: 9px;
}

.nav .brand{
	position:absolute;
	left:40px;
	z-index:1002;
}

.nav .brand.small_brand{
	margin-top:12px;
}

.nav .nav_bar{
	position:absolute;
	right:40px;
	font-size:1.1em;
	line-height: 1.5em;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.nav .nav_bar>ul{
	list-style-type: none;
	text-align: right;
}

.nav .nav_bar>ul>li{
	display:block;
	margin:5px;
	margin-left:20px;
	float:left;
	text-align: right;
	position: relative;
	
	
}

.nav .nav_bar>ul>li>ul{
	list-style-type: none;
	padding:0px;
	margin:0px;
	margin-top:3px;
	visibility: hidden;
	opacity:0;
	transition: all 0.40s;
	height:0px;
	position:absolute;
	right:0;
	margin-top:0px;
	padding-top:3px;

}

.nav .nav_bar>ul>li:hover ul{
	visibility: visible;
	opacity:1;
	height:auto;
}

.nav .nav_bar>ul>li>ul>li{
	margin-top:5px;

	white-space: nowrap;
}

.view-archive {
	margin-top: 100px;
	margin-bottom: 0;
}

.view-archive a {
	/*line-height: 2.2em;*/
	font-size: 1.8em;
	line-height: 1.5em;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}


@media (max-width: 700px) {

	.view-archive {
		margin-top: 0px;
		margin-bottom: 0;
	}

	.view-archive a {
		font-size: 1em;
	}

	.anchor{
		margin-top: 0 !important;
	}
	
	.nav{
		width: 100%;
	}
	
	.nav .nav_bar{	
		right: 0px;
		width:50%;
		background-color:#000;
		transform: translateX(100%);
		transition: transform 0.25s;
		position: absolute;
	    top: 0;
	    height: 100vh;
	    font-size: 1.2em;
	    text-align: right;
	    line-height: 1.5em;
	    position:fixed;
	}
	
	.nav .nav_holder{
		width:100%;
		overflow:hidden;
	}	
	
	.nav .nav_bar>ul{
		list-style-type: none;
		text-align: right;
		margin-top: 80px;
	}
	
	.nav .nav_bar.view{
		transform: translateX(0px)
	}
	
	.nav .nav_bar>ul{
		list-style-type: none;
		text-align: right;
	}
	
	.nav .nav_bar>ul>li{
		display:block;
		margin:5px;
		margin-left:0px;
		float:none;
		text-align: right;
		position: relative;	
	}
	
	.nav .nav_bar>ul>li>ul {
	    visibility: visible;
		opacity: 1;
		height: auto;
		position: relative;
	}

	.nav .nav_bar>ul>li{
		padding-bottom: 20px;
	}

	.nav .nav_bar>ul>li>ul>li{
		padding-top: 20px;
		white-space: normal;
	}

}

/* HOMEPAGE */
#selected-projects {
	padding-left:40px;
	padding-right:40px;
	width:100%;
	box-sizing: border-box;
	position: relative;
}

.clients{
	background:#000;
	margin-top:350px;
	
	padding-bottom:100px;
}

.clients_images{
	line-height: 0px;
}

.video{
	overflow:hidden;
}

.skills{
	background:#000;
	padding-bottom:100px;
	z-index:1;
}

/* ARCHIVE */
.archive_work{
	padding-left:40px;
	padding-right:40px;
	width:100%;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 100px;
}

.archive_work .col{
	margin-bottom: 30px;
}


/* ELEMENTS */
p{
	margin: 0px;
}

a{
	text-decoration: none;
	color: #fff;
	position: relative;
}

/*a:after{
	content: '';
    border-bottom: 1px solid rgba(255,255,255,0);
    display: block;
    position: absolute;
    right: 3.3px;
    left: 0;
	transition: all 0.40s;
}

a:hover:after{
    border-bottom: 1px solid rgba(255,255,255,1);
}*/

a.underline_hover:after{
	content: '';
    border-bottom: 1px solid rgba(255,255,255,0);
    display: block;
    position: absolute;
    right: 3.3px;
    left: 0;
	transition: all 0.40s;
}

a.underline_hover:hover:after{
    border-bottom: 1px solid rgba(255,255,255,1);
}

a.underline_hover_inv:after{
	content: '';
    border-bottom: 1px solid rgba(255,255,255,1);
    display: block;
    position: absolute;
    right: 3.3px;
    left: 0;
	transition: all 0.40s;
}

a.underline_hover_inv:hover:after{
    border-bottom: 1px solid rgba(255,255,255,0);
}



a.on_underline_hover:after{
    border-bottom: 1px solid rgba(255,255,255,1);
}

.background-video{
	z-index:-1;
	position:absolute;
}

.project_details{
	margin-top:20px;
}

.full_window .image_details{
	margin-top:0px;
	position: absolute;
    bottom: 40px;
    left: 40px;
}

.quote {
	font-family: "MaisonNeue-Mono-Regular";
	font-size:5.4em;
	line-height: 0.94em;
	margin-bottom:60px;
}

/*.quote.quote-up {
	margin-top: -50%;
}*/

.project_title, .image_title {
	font-family:"MaisonNeue-Medium";
	font-size:2.2em;
	line-height: 1.12em;
	font-weight: normal;
}

.project_sub_title, .image_sub_title {
	font-family:"MaisonNeue-Mono-Regular";
	font-size:2.2em;
	line-height: 1.16em;
	font-weight: normal;
}

.view_project, .small_text{
	font-family:"MaisonNeue-Mono-Regular";
	font-size:1.1em;
	line-height: 1.5em;
	letter-spacing: 0.329em;
	text-transform: uppercase;
	margin-top:0.909em;
	position: relative;
}

.view_project{
	display:inline-block;
}

.small_text{
	margin-top:0px;
}


/* ******************************* */

.big_text_list {
	list-style-type: none; 
	font-family:MaisonNeue-Mono-Regular;
	font-size:5.4em;
	line-height: 0.94em;
	margin:0px;
	padding:0px;

}

.big_text_list .text_item {
	transition: all 500ms;
	cursor: crosshair;
}

.item_reveal{
	position:absolute;
	width: 100%;	
	background-size:cover;
	background-position: center center;
	visibility: hidden;
	opacity:0;
	transition: opacity 500ms;
}

.item_reveal.visible{
	opacity: 1;
	visibility: visible;
}

#clients_reveal {
	
	line-height: 0px;
	/*position: absolute;
	top: 0;
	left: 0;
	*//*background: red;*/
	/*height: 500px;*/
}
/* ******************************* */

.skill_text, .client_info {
	visibility: hidden;
	opacity:0;
	transition: opacity 500ms;
}

.skill_text{
	position:absolute;
}

.client_info{
	position:absolute;
	width: 100%;
	
	background-size:cover;
	background-position: center center;
}

.skill_text.visible, .client_info.visible{
	opacity: 1;
	visibility: visible;
}

.stroke{
	-webkit-text-stroke: 1px #FFF;
	color:#000;
}

.client_title, .skill_title{
	transition: all 500ms;
}

.skill_list{
	list-style-type: none; 
	font-family:MaisonNeue-Mono-Regular;
	font-size:5.4em;
	line-height: 0.94em;
	margin:0px;
	padding:0px;
}


/* layout helpers */
.define_relative{
	position:relative;
}

.define_absolute{
	position:absolute;
}

.full_width{
	width: 100%;
}

.push40{
	margin-left:40px;
}

.client_image{
	width:100%;
	padding-right: 40px;
	box-sizing: border-box;
}

/* CLINET LIST */
/*.client_list{
	list-style-type: none; 
	font-family:MaisonNeue-Mono-Regular;
	font-size:5.4em;
	line-height: 0.94em;
	margin:0px;
	padding:0px;
}
*/


/* background video */
.background-video{
	position:absolute;
	z-index:0
}

/* Contact & Footer */
.footer_square{
	min-height:30vh;
}

.bottom_logo{
	position:absolute;
	left:80px;
	bottom:40px;
}

.map_container{
	background-size:cover;
	background-position: center center;
}

.map_text{
	margin-top:60px;
	margin-left:-40px;
}

.page_wrapper{
	padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.content_wrapper_extra_bottom_padding {
	padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 80px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

/* PROJECT */
#project{
	padding-left: 40px;
    padding-right: 40px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.title{
	font-family:"MaisonNeue-Mono-Regular";
	/*font-size:55px;*/
	font-size:5em;
	line-height: 51px;
	/*max-width:25%;*/
	/*margin-bottom:60px;*/
}

.location-year{
	font-family:"MaisonNeue-Mono-Regular";
	/*font-size:12px;*/
	font-size:1.091em;
	line-height: 19px;
	letter-spacing: 3.6px;
	text-transform: uppercase;
	margin-top:10px;
	position: relative;
}


.book_text{
	margin-top:40px;
	margin-bottom:20px;
	font-family:"MaisonNeue-Book";
	font-size:1.8em;
	line-height: 1.27em;
	position: relative;
}

p.book_text_no_margin {
	/*margin-top:40px;*/
	margin-bottom:20px;
	font-family:"MaisonNeue-Book";
	font-size:1.8em;
	line-height: 1.27em;
	position: relative;
}

.credits{
	margin-top: 60px;
	margin-bottom:150px;
}


/* RISER ANIAMTIONS */
.riser{
	opacity:1;
	transform: translateY(0px);
	transition:all 500ms;
}

.riser.hidden{
	opacity:0;
	transform: translateY(50px);
}


/* ADDITION- SORT */
.grid_image{
	width:100%;
}

.top_details{
	padding-top:130px;
}

.no_top_margin{
	margin-top:0px;
}

.prevnext_square{
	background-size:cover;
	padding-left:60px;
	padding-top:20px;
	background-position: center;
	max-height: 500px;
}

.project_details_overlay{
	position: absolute;
	bottom: 0;
	margin-bottom: 40px;
	margin-left: 40px;
	z-index: 2000;
}

.no_desktop{
	display:none;
}


/* Mobile specific styling */
/* Phablet + Mobile */
@media (max-width: 700px) {
	
	.title{
		font-size:2.5em;
		margin-bottom:0px;
	}

	.view-archive {
		margin-bottom: 80px;
	}

	.no_mobile{
		display:none;
	}
	.no_desktop{
		display:block;
	}

	.quote{
		margin-top:30px !important;
	}
	
	.nav-toggle {
	    display: block;
	}
	
	.clients {
	    margin-top: 100px;
	}

	.client_list, .skill_list{
		font-size: 3em;
	}

	.client_image {
		padding-right: 0px;
	}

	.content_container{
		padding-top:30px;
		padding-bottom:30px;
	}

	.contact{
		margin-top:60px;
	}
	
	.footer_logo_container{
		height:100px!important;
		min-height: inherit!important;
	}

	.map_container{
		height: auto!important;
		padding-top:40px;
		padding-bottom:40px;
	}

	.map_text{
		margin-top: 60px;
		margin-left: 40px;
	}
	
}

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {}

/* Larger than desktop */
@media (min-width: 1000px) {}

/* Larger than Desktop HD */
@media (min-width: 1200px) {}