/* CSS Stylesheet */
main {
	box-sizing: border-box;
	/*padding-top: 27px;*/
	padding-bottom: 27px;
}
/* Generals */
.subhead {
	font-style: italic;
}
.post__text,
.post__text p {
	line-height: 1.4em;
}
p,
.post__text p,
.post h1 {
	margin: 0;
}
table + p,
p + p,
.post__text p + p {
	margin-top: 1em;
}
p.subhead + span,
p.subhead + ul,
p.subhead + table,
p.subhead + p {
	margin-top: 0.5em;
}
/* Post Index */
.post-index__entry {
	display: block;
	cursor: pointer;
	border-bottom: #464646 1px solid;
}
.post-index__entry:last-of-type {
	border-bottom: none;
}
a.post-index__entry,
a.post-index__entry:visited {
	text-decoration: none;
	color: inherit;
}
.post-index__entry {
	display: flex;
	opacity: 0.5;
}
.post-index:not(.selecting-via-keyboard) .post-index__entry:hover,
.post-index__entry.active {
	opacity: 1;
}
.post-index .post__header__title {
	vertical-align: top;
	min-width: 0;
	width: 40%;
	padding-right: 10vw;
}
body.light .post__header .post__header__title {
	color: #EEE;
}
.post-index .post__header__sub {
	width: 60%;
	vertical-align: top; 
}
@media (max-width: 750px) {
	main {
		padding-top: 27px;
	}
	.post-index__entry:last-child {
		padding-bottom: 100px;
	}
	.post-index .post__header__title {
		padding-right: 0;
	}
	.post-index .post__header__title,
	.post-index .post__header__sub {
		width: 100%;
	}
	.post-index__entry {
		display: block;
	}
	.subhead.placeholder.empty {
		display: none;
	}
	p.subhead.empty + p {
		margin-top: 0;
	}
}
/* Arrow Nav */
.nav {
	position: absolute; 
	right: 0; 
	top: -1px;
	cursor: pointer;
}
.nav-burger {
	display: none;
}
nav .nav-close {
	visibility: hidden;
}
.nav-prev svg,
.nav-next svg,
.nav-close svg,
.nav-burger svg,
.nav svg {
	height: 24px;
	vertical-align: middle;
} 
.nav-placeholder {
	display: none;
	width: 69px;
}
/* Mobile Arrow Nav */
.nav--mobile .nav {
	position: relative;
	left: 0;
	/*display: none;*/
	display: flex;
	justify-content: space-between;
	width: 100%;
	cursor: auto;
	padding-top: 5px;
}
@media (min-width: 551px) {
	.nav--mobile .nav {
		display: none;
	}
}
@media (max-width: 550px) {
	.post__header .nav  {
		display: none;
	}
	.nav--mobile + .cp--top {
		padding-top: 15px;
	}
}

/* Edge Nav */
.post-edge-nav {
	position: absolute;
	display: flex;
	width: 100%;
	justify-content: space-between;
}
/*body.most-recent-post .post-edge-nav--footer .next-project {
	visibility: hidden;
}*/
body.fullscreen-mode .post-edge-nav {
	position: fixed;
	z-index: 20;
}
body.light:not(.fullscreen-mode) .post-edge-nav {
	opacity: 0.1;
}
.post-edge-nav--header {
	top: 0;
	left: 0;
}
.post-edge-nav--footer {
	bottom: 0;
}
@media (max-width: 1250px) {
	.nav-info {
		top: 10px;
		right: 10px;
	}
}
@media (max-width: 750px) {
	.nav {
		top: -2px;
	}
	.nav-placeholder { 
		display: none !important; 
	}
}
@media (max-width: 550px) {
	.post-edge-nav--header {
		position: fixed;
		z-index: 10;
	}
	.post-edge-nav a {
		padding: 2px;
		z-index: 20;
	}
	body:not(.fullscreen-mode) .post-edge-nav a {
		background-color: #FFF;
	}
	.post-edge-nav.post-edge-nav--footer {
		display: block;
		text-align: center;
	}
	.post-edge-nav--footer .prev-project,
	.post-edge-nav--footer .next-project {
		display: none;
	}
}
/* Post General */
.centered-wrapper {
	text-align: center;
	/*overflow: hidden;*/
}
.centered {
	position: relative;
	text-align: left;
	margin-top: 20px;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
}
/* Clickable nav on the sides */
.side-nav--left,
.side-nav--right {
	content: '';
	position: absolute;
	top: 0;
	/*display: block;*/
	display: none;
	height: calc(100% - 200px);
	width: 300px;
}
.side-nav--left {
	margin-left: -325px;
	cursor: url(../img/arrow-left.svg), auto;
}
.side-nav--right {
	cursor: url(../img/arrow-right.svg), auto;
	right: -325px;
}
/* Fullscreen Nav & Info*/ 
.post-edge-nav--header .toggle--close {
	/*visibility: hidden;*/
}
body.fullscreen-nav-revealed .post-edge-nav--header .toggle--close {
	visibility: hidden;
}
body.fullscreen-nav-opened-from-top .post-edge-nav--header .toggle--close {
	visibility: visible;
}
body.fullscreen-nav-opened-from-top .post-edge-nav--footer .toggle--close {
	visibility: hidden;
}
.fullscreen-info,
.fullscreen-nav {
	overflow-y: auto;
	z-index: 10;
}
.fullscreen-info-toggle,
.fullscreen-nav-toggle {
	cursor: pointer;
	z-index: 20;
}
.toggle--close {
	/*cursor: url('../img/cursor-cross.svg'), auto;*/
	display: none;
}
body.fullscreen-nav-revealed .fullscreen-nav,
body.fullscreen-info-revealed .fullscreen-info {
	display: block;
}
body.fullscreen-info-revealed .fullscreen-info-toggle.toggle--close,
body.fullscreen-nav-revealed .fullscreen-nav-toggle.toggle--close {
	display: inline;
}
body.fullscreen-info-revealed .fullscreen-info-toggle.toggle--open,
body.fullscreen-nav-revealed .fullscreen-nav-toggle.toggle--open {
	display: none;
}
body.fullscreen-nav-revealed .main,
body.fullscreen-nav-revealed .post-edge-nav :not(.fullscreen-nav-toggle),
body.fullscreen-info-revealed .main,
body.fullscreen-info-revealed .post-edge-nav :not(.fullscreen-info-toggle) {
	opacity:.1;
	filter:blur(1rem);
}
.fullscreen-nav .post-index {
	cursor: url('../img/cursor-cross.svg'), auto;
	height: 100%;
}
.fullscreen-info {
	/*cursor: url('../img/cursor-cross.svg'), auto;*/
}
.non-clickable {
	display: inline-block;
	cursor: auto;
}
/* Post Header */ 
.post__header {
	position: relative;
	line-height: 1.3em;
	color: #777;
}
.post-index.post-header-font-style {
	color: #464646;
}
.post__header,
.post-header-font-style {
	font-weight: bold;
}
.post__header__title {
	min-width: calc(50% - 298px);
	padding-right: 200px;
}
.post__header__sub {
	vertical-align: bottom;
}
.post__header__sub,
.post__header__sub-block,
.post__header__title,
.post__date,
.post__header__sub * {
	display: inline-block;
}
.post__header .post__header__sub-wrapper {
	vertical-align: bottom;
}
@media (max-width: 750px) {
	.post {
		margin-top: 0;
	}
	.post__header__title {
		padding-right: 150px;
	}
	.post__header .post__header__sub,
	.post__header .post__header__sub-block--single {
		display: block;
	}
}
@media (max-width: 550px) {
	.post__header__title {
		padding-right: 0;
	}
}
/* Post Content */
.vimeo-wrapper--43 {
	display: flex;
	justify-content: center;
}
.post__hero--video .vimeo {
	width: 100%;
}
.post__hero--video.post__hero--video--43 .vimeo {
	width: 75%;
}
.vimeo .vimeo__inner__video { 
	/*background-color: #000000;*/
	transition: opacity 800ms ease;
	opacity: 0;
}
.vimeo.loaded .vimeo__inner__video {
	opacity: 1;
}
.post__hero--image {
	width: 100%;
}
.post__text {
	color: #171717;
}
.post__text .column {
	position: relative; 
}	
.post h1 {
	font-weight: bold;
	color: #171717;
}
.post__text {
	line-height: 1em;
}
.post__text.border-top {
	border-top: 1px solid #171717;
}
.post__text__sub {
	padding-left: 3em;
}
.post__hero--video .post-image__description,
.post__hero + .post-image__description {
	text-align: right;
}
.post__hero + .post-image__description.post-image__description--centered {
	text-align: center;
}
@media (max-width: 1280px) {
	.post__hero--video.post__hero--video--43 .vimeo {
		width: 100%;
	}
}
@media (max-width: 750px) {
	.post__hero--video .post-image__description,
	.post__hero + .post-image__description {
		opacity: 0.5;
		text-align: left;
	}
}

/* Vimeo */ 
.vimeo__inner { 
	position: relative;
}
.poster-image-bg { 
	background-size: contain;
	background-repeat: no-repeat;
}
.poster-image { 
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: contain;
}
/* Post images */
.post-images-wrapper {
	/* This is to avoid a horizontal scrollbar which is appearing because I use
	 * a trick to get the right margin for responsive images.*/
	width: 100%; 
	/*overflow: hidden;*/
}
.post-images { 
	position: relative;
	text-align: center;
	width: calc(100% + 25px);
}
.post-image__description {
	position: relative;
	z-index: 10;
	text-align: left;
	padding-top: 4px;
	display: inline-block;
	line-height: 1.4em;
	color: #777;
	width: 100%;
}
.post-image__description--centered {
	text-align: center;
}
.post-image--specific,
.post-image {
	/*vertical-align: bottom;*/
	vertical-align: top;
	display: inline-block;
	margin-left: 0;
	margin-top: 0;
	margin-right: 25px;
	margin-bottom: 25px;
} 
.post-image--top,
.post-image--top .post-image,
.post-image--top .post-image--specific {
	vertical-align: top;
}
/* Post Images -> Size variations */
.post-image--specific img, 
.post-image img {
	width: 100%; }
.post-image { 
	width: calc(100% - 25px);
}
/*.post-image--portrait { */
.post-image.portrait { 
	width: calc(35% - 25px);
}
/*.post-image--portrait + .post-image:not(.post-image--portrait) {*/
.post-image.portrait + .post-image.landscape {
	float: right;
	width: calc(65% - 25px);
}
/*.post-image--portrait--big,
.post-image--portrait + .post-image--portrait {*/
.post-image.portrait + .post-image.portrait {
	width: calc(45% - 25px);
}
/*.post-image--portrait + .post-image--portrait + .post-image:not(.post-image--portrait) {*/
.post-image.portrait + .post-image.portrait + .post-image.landscape {
	float: none;
	width: calc(100% + 25px);
}
/*.post-image--portrait + .post-image--portrait + .post-image-potrait + .post-image:not(.post-image--portrait) {*/
.post-image.portrait + .post-image.portrait + .post-image.potrait + .post-image.landscape {
	float: right;
	width: calc(55% - 25px) !important;
}
/*.post-image:not(.post-image--portrait) + .post-image--portrait {*/
.post-image.landscape + .post-image.portrait {
	width: calc(45% - 25px);
}
/*.post-image:not(.post-image--portrait) + .post-image--portrait  + .post-image:not(.post-image--portrait) {*/
.post-image.landscape + .post-image.portrait + .post-image.landscape {
	width: calc(55% - 25px);
	/*float: none;*/
}

/* Post Image  Specific Size Classes */
/*.post-image--full {*/
.w100 {
	width: calc(100% - 25px);
}
.w90 {
	width: calc(90% - 25px);
}
.w80 {
	width: calc(80% - 25px);
}
.w75 {
	width: calc(75% - 25px);
}
/*.post-image--mid {*/
.w65 {
	width: calc(65% - 25px);
}
.w55 {
	width: calc(55% - 25px);
}
/*.post-image--half {*/
.w50 {
	width: calc(50% - 25px);
}
.w45 {
	width: calc(45% - 25px);
}
.w35 {
	width: calc(35% - 25px);
}
.w66 {
	width: calc(66.6666% - 25px);
}
.w33 {
	width: calc(33.3333% - 25px);
}
.w40 {
	width: calc(40% - 25px);
}
.w30 {
	width: calc(30% - 25px);
}
.w20 {
	width: calc(20% - 25px);
}
.w15 {
	width: calc(15% - 25px);
}
.w10 {
	width: calc(10% - 25px);
}
.w5 {
	width: calc(5% - 25px);
}
@media (max-width: 550px) {
	.post-images {
		width: 100%;
	}
	.post-image--specific,
	.post-image {
		margin-right: 0;
	}
	.post-image,
	.post-image.portrait,
	.post-image.landscape + .post-image.portrait,
	.post-image.portrait + .post-image.portrait,
	.post-image.portrait + .post-image.landscape,
	.post-image.portrait + .post-image.portrait + .post-image.landscape,
	.post-image.portrait + .post-image.portrait + .post-image.potrait + .post-image.landscape,
	.w100,
	.w90,
	.w80,
	.w75,
	.w66,
	.w65,
	.w55,
	.w50,
	.w45,
	.w40,
	.w35,
	.w33, 
	.w30,
	.w20,
	.w15,
	.w10,
	.w5
	{
		float: none;
		width: 100%;
	}
}
