*{	margin: 0;	padding: 0;	outline-style: none;	outline-width: 0;	-webkit-text-size-adjust: 100%;	-webkit-tap-highlight-color: rgba(0,0,0,0);}html, body{	position: relative;	font-size: 1em;	font-family: "ibm-plex-serif", serif;    font-weight: 300;    font-style: normal;  	max-height: 999999px;	scroll-behavior: smooth;	overscroll-behavior-y: none;}body.menu-open {	overflow: hidden;}nav {	opacity: 0;	pointer-events: none;	display: flex;	background: rgba(31,16,10,0.9);	background: rgba(28,24,22,0.9);	transition: 0.3s;	position: fixed;	top: 0;	left: 0;	width: 100%;	height: 100vh;	height: 100svh;	z-index: 50;}.menu-open nav {	opacity: 1;	pointer-events: auto;}nav div {	margin: auto;	padding: 30px;	padding-top: 80px;}nav a {	display: block;	text-decoration: none;	color: #fff;	text-transform: uppercase;	line-height: 2em;}#top {  display: block;  position: absolute;  height: 100px;  width: 100%;  pointer-events: none;}header {	position: absolute;	top: 0;	left: 0;	width: 100%;	z-index: 100;}.header-logo {	width: 100%;	box-sizing: border-box;	display: block;	padding-left: 20px;	padding-right: 20px;	padding-top: 12px;	margin-top: 12px;}.logo-additional {	position: relative;	color: #fff;	width: 100%;	margin-left: 0vw;	z-index: 100;	text-align: right;	padding-right: 20px;	box-sizing: border-box;	opacity: 0;}.home .logo-additional {	opacity: 1;}	.arrow {	width: 25px;	height: 25px;	position: absolute;	left: 0;	top: 0;	border-bottom: 2.5px solid #fff;	border-right: 2.5px solid #fff;	transform: rotate(45deg);}.content-link {	width: 25px;	height: 25px;	position: absolute;	left: 28px;	bottom: 40px;	z-index: 41;	transition: 0.3s;	animation-name: scroll-hint;	animation-duration: 2s;	animation-delay: 2s;	animation-iteration-count: infinite;	opacity: 0;}.top .content-link {	opacity: 1;}	@keyframes scroll-hint {  0% {    transform: translateY(0px);  }  50% {    transform: translateY(8px);  }  100% {    transform: translateY(0px);  }}.title-feature {	width: 100%;	height: 100vh;	height: 100svh;	position: relative;}.title {	width: 100%;	height: 70vh;	height: 70svh;	position: relative;}.project-title {	width: 100%;	height: 100vh;	height: 100svh;	position: relative;}	.title img {	object-fit: cover;	display: block;	width: 100%;	height: 100%;}.img-baseline img {	object-position: bottom;}.title-feature::after {	background: linear-gradient(0deg,rgba(31, 16, 10, 0) 0%, rgba(31, 16, 10, 0.4) 100%);	content: "";	display: block;	position: absolute;	top: 0;	left: 0;	width: 100%;	height: 50vh;	height: 50svh;	z-index: 40;}.title::after {	background: linear-gradient(0deg,rgba(31, 16, 10, 0) 0%, rgba(31, 16, 10, 0.4) 100%);	content: "";	display: block;	position: absolute;	top: 0;	left: 0;	width: 100%;	height: 35vh;	height: 35svh;	z-index: 40;}.title-feature::before {	background: linear-gradient(180deg,rgba(31, 16, 10, 0) 0%, rgba(31, 16, 10, 0.75) 100%);	content: "";	display: block;	position: absolute;	bottom: 0;	left: 0;	width: 100%;	height: 50vh;	height: 50svh;	z-index: 40;}.home .title-feature::before {	display: none;}.title::before {	background: linear-gradient(180deg,rgba(31, 16, 10, 0) 0%, rgba(31, 16, 10, 0.75) 100%);	content: "";	display: block;	position: absolute;	bottom: 0;	left: 0;	width: 100%;	height: 35vh;	height: 35svh;	z-index: 40;}#content {	padding-top: 20px;}.standard-width-content {	margin-left: auto;	margin-right: auto;	box-sizing: border-box;	padding-left: 20px;	padding-right: 20px;	max-width: 1000px;}h1, h2, h3, .swiper-slide.text-slide div, nav, .feature-quote {	font-family: "the-seasons", sans-serif;  	font-weight: 300; 	font-style: normal; 	text-align: center; 	/*letter-spacing: -0.03em;*/ 	line-height: 1.2em;}h2 {	text-align: left;}h1, .swiper-slide.text-slide div, nav, .feature-quote {	font-size: 1.8em;}h1 {	margin-bottom: 30px;}.headline {	margin-top: 16px;}.feature-quote {	display: block;	margin-top: 1em;	margin-bottom: 1em;}h2, h3.h3-preview {	font-size: 1.3em;	text-transform: uppercase;	line-height: 1.05em;}h1.subheading { 	font-size: 2.4em; 	margin-bottom: 30px;}.title h1 {	position: absolute;	left: 20px;	bottom: 20px;	color: #fff;	text-transform: uppercase;	z-index: 40;	/*border-left: 1px solid rgba(255,255,255,0.6);	padding-left: 16px;*/	padding-right: 20px;	text-align: left;	margin-bottom: 0px !important;	line-height: 1.1;}.project .title h1 {	left: 76px;}.what-we-do h2 {	margin-bottom: -0.4em;	margin-top: 1.8em;	text-align: center;}.feature-link, .project-preview-hover, .project-preview-caption span, .smallprint, .quotes-container span, .logo-additional {  font-family: "gill-sans-nova", sans-serif;  font-style: normal;  letter-spacing: 0.04em;  text-transform: uppercase;} .feature-link, .project-preview-hover, .project-preview-caption span, .smallprint, .quotes-container span {  font-size: 0.9em;  font-weight: 300;} .logo-additional {	font-size: 1.2em;	font-weight: 300;	letter-spacing: 0.4em;}	    p {	line-height: 1.6;	margin-top: 1.6em;	margin-bottom: 1.6em;}p:first-child {	margin-top: 0em;}p:last-child {	margin-bottom: 0em;}ul {	margin-left: 1em;}li {	margin-top: 1em;	margin-bottom: 1em;}.column-container a {	color: #a67c00;}	.column-container, .single-column {	margin-top: 20px;	margin-bottom: 40px;}.final-column-container {	margin-top: 30px;	margin-bottom: 40px;	padding-bottom: 60px;	border-bottom: 0.5px solid rgba(0,0,0,0.3);}.column-container div {	width: 100%;	box-sizing: border-box;	}.column-image {	position: relative;	margin-top: 3em;	margin-bottom: 2em;}.home .column-image {	margin-bottom: 0;}.column-image img {	width: 100%;	/*height: 100%;	object-fit: cover;	object-position: top;*/	display: block;	/*position: absolute;*/	top: 0;	left: 0;	box-sizing: border-box;}.single-column p {	max-width: 680px;	text-align: center;	margin-left: auto;	margin-right: auto;}.single-column h2 {	text-align: center;}.single-column h2 {	text-align: center;}.feature-link {	border: 1px solid rgba(0,0,0,0.8);	padding-top: 14px;	padding-bottom: 14px;	padding-left: 20px;	padding-right: 20px;	text-align: center;	text-decoration: none;	color: #000 !important;	margin-top: 3em;	display: block;	max-width: 300px;	transition: 0.3s;	margin-left: auto;	margin-right: auto;}.gallery-feature-link {	margin-top: 40px;}.no-touchevents .feature-link:hover {	background: #a67c00;	color: #fff !important;	border: 1px solid rgba(166,124,0,1);}.quotes-container p {	font-style: italic;}.quotes-container span {	font-style: normal;	display: block;}.project-preview-container {	display: flex;	overflow: hidden;	margin-left: -20px;	margin-right: -20px;	padding-left: 20px;	padding-right: 20px;	position: relative;}.project-preview-container a,  .project-container a{	text-decoration: none;	color: #000;}.project-preview {	box-sizing: border-box;	position: relative;}.project-preview-image {	position: relative;}.project-preview-image img {	width: 100%;	display: block;	margin-bottom: 14px;}.project-container {	display: flex;	position: relative;	flex-wrap: wrap;	margin-top: 60px;	margin-left: -10px;	margin-right: -10px;}.project-wrapper {	width: 50%;	box-sizing: border-box;	padding-left: 10px;	padding-right: 10px;	margin-bottom: 40px;	}.no-touchevents .project-preview:hover .project-preview-hover {	opacity: 1;}.project-preview-hover {	position: absolute;	width: 100%;	height: 100%;	top: 0;	left: 0;	display: flex;	justify-content: center;	align-items: center;	opacity: 0;	transition: 0.3s;	color: #fff;	box-sizing: border-box;	padding-left: 10px;	padding-right: 10px;	text-decoration: none;}.swiper2 .swiper-wrapper .swiper-slide:nth-child(1) .project-preview-hover, .project-container .project-wrapper:nth-child(1) .project-preview-hover {	background-color: rgba(169,176,178,0.9);}.swiper2 .swiper-wrapper .swiper-slide:nth-child(2) .project-preview-hover, .project-container .project-wrapper:nth-child(2) .project-preview-hover {	background-color: rgba(181,168,175,0.9);}.swiper2 .swiper-wrapper .swiper-slide:nth-child(3) .project-preview-hover, .project-container .project-wrapper:nth-child(3) .project-preview-hover {	background-color: rgba(165,168,159,0.9);}.swiper2 .swiper-wrapper .swiper-slide:nth-child(4) .project-preview-hover, .project-container .project-wrapper:nth-child(4) .project-preview-hover {	background-color: rgba(215,203,196,0.9);}.swiper2 .swiper-wrapper .swiper-slide:nth-child(5) .project-preview-hover, .project-container .project-wrapper:nth-child(5) .project-preview-hover {	background-color: rgba(171,164,159,0.9);}.swiper2 .swiper-wrapper .swiper-slide:nth-child(6) .project-preview-hover, .project-container .project-wrapper:nth-child(6) .project-preview-hover {	background-color: rgba(175,187,193,0.9);}.project-preview-hover::after {	content: "";	display: block;	position: absolute;	top: 30px;	left: 30px;	right: 30px;	bottom: 30px;	/*border: solid 2px #a67c00;*/	border: solid 2px #fff;	}.project-preview-caption span, .quotes-container span {	font-size: 0.9em;	width: 100%;	display: block;	text-align: center;	margin-top: 4px;}.gallery-temp {	width: 100%;	height: 100vh;	background: #ccc;	margin-top: 60px;	margin-bottom: 60px;}.gallery-wrapper {	max-width: 1100px;	margin-left: 20px;	margin-right: 20px;	box-sizing: border-box;	margin-top: 46px;	margin-bottom: 40px;	padding-bottom: 40px;	border-bottom: 0.5px solid rgba(0,0,0,0.3);}.gallery-wrapper img {	display: inline-block;}.landscape, .portrait {	margin-bottom: 20px;	display: flex;}.caption { 	width: 275px;	height: 100%;	display: none;	font-style: italic;	padding-left: 24px;	padding-right: 6px;	padding-bottom: 6px;	box-sizing: border-box;}.align-bottom {	align-items: flex-end;}.align-right {	text-align: right;	padding-left: 6px;	padding-right: 24px;}.portrait img {	width: calc(100% - 275px);}.landscape img {	width: 100%;}.portrait img {	width: 100%;}#footer {	text-align: center;}#footer .standard-width-content {	margin-top: 60px;	padding-bottom: 10px;}#footer a, .contact-details a {	text-decoration: none;	color: #000;}#footer p a, .contact-details a {	font-weight: 500;}#footer img {	width: 200px;	margin-top: 30px;}#footer h3.h3-preview {	border-top: 0.5px solid rgba(0,0,0,0.3);	padding-top: 40px;}.smallprint {	text-transform: none;	font-weight: 300 !important;	font-size: 0.7em;	margin-top: 0.05em;	margin-bottom: 0.05em;	letter-spacing: 0em;}.smallprint a {	font-weight: 300 !important;	}.smallprint a:hover {	text-decoration: underline  !important;	}.swiper {	width: 100%;	height: 100vh;	height: 100svh;}.swiper-slide img {	object-fit: cover;	display: block;	width: 100%;	height: 100%;}.swiper-slide.text-slide {	display: flex;	background: rgba(31,16,10,1);	background: rgba(28,24,22,1);}.swiper-slide.text-slide div {	margin: auto;	padding: 30px;	padding-top: 20vh;	max-width: 1000px;	color: #fff;	text-transform: uppercase;	line-height: 1.2;	z-index: 50;}.navigation {	position: absolute;	width: 100%;	height: calc(100% - 50px);	top: 0;	left: 0;}.project-preview-feature {	position: relative;}.swiper-button-next {	margin-right: -20px;	transform: rotate(-45deg);}.swiper-button-prev {	margin-left: -20px;	transform: rotate(130deg);}.swiper-button-next, .swiper-button-prev {	width: 44px;	height: 44px;	border-radius: 50%;	background: #000;}.swiper-button-next::after, .swiper-button-prev::after {	content: "";	width: 12px;	height: 12px;	position: absolute;	left: 0;	top: 0;	border-bottom: 2.5px solid #fff;	border-right: 2.5px solid #fff;}.swiper-button-next::after {	left: 13px;	top: 13px;}.swiper-button-prev::after {	left: 13px;	top: 13px;}/* * Hamburgers * @description Tasty CSS-animated hamburgers * @author Jonathan Suh @jonsuh * @site https://jonsuh.com/hamburgers * @link https://github.com/jonsuh/hamburgers */.hamburger{	display: block;	cursor: pointer;	transition-property: opacity, filter;	transition-duration: 0.15s;	transition-timing-function: linear;	color: inherit;	font-size: inherit;	font-family: inherit;	font-weight: inherit;	font-style: inherit;	font-variant: inherit;	text-transform: none;	border: none;	overflow: visible;	line-height: 0;	position: relative;	z-index: 9999;	width: 30px;	height: 30px;	background: none;	left: 20px;	top: -20px;}.hamburger-box{	display: inline-block;	position: relative;	width: 36px;	height: 36px;}.hamburger-inner{	display: block;	top: 50%;	margin-top: 0px;}.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{	width: 36px;	height: 2px;	background-color: white;	border-radius: 0px;	position: absolute;	transition-property: transform;	transition-duration: 0.15s;	transition-timing-function: ease;}.hamburger-inner::before, .hamburger-inner::after{	content: "";	display: block;}.hamburger-inner::before {	top: -12px; }.hamburger-inner::after { 	bottom: -12px; }.hamburger--squeeze .hamburger-inner {	transition-duration: 0.075s;	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}.hamburger--squeeze .hamburger-inner::before { 	transition: top 0.075s 0.12s ease, opacity 0.075s ease;}.hamburger--squeeze .hamburger-inner::after { 	transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);}.hamburger--squeeze.is-active .hamburger-inner{	transform: rotate(45deg);	transition-delay: 0.12s;	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);	}.hamburger--squeeze.is-active .hamburger-inner::before{	top: 0;	opacity: 0;	transition: top 0.075s ease, opacity 0.075s 0.12s ease;}.hamburger--squeeze.is-active .hamburger-inner::after{	bottom: 0;	transform: rotate(-90deg);	transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);}@media all and (min-width: 760px) {	.portrait img {		width: calc(100% - 300px);	}}@media all and (min-width: 935px) {	.header-logo {		width: calc(50% + 50px);		padding-left: 30px;		padding-right: 30px;		padding-top: 20px;		margin-top: 20px;		/*border-right: 1px solid rgba(255,255,255,0.6);*/	}		.hamburger	{		left: 30px;		top: -39px;	}		nav a {		line-height: 1.25em;	}		.content-link {		left: 50%;		bottom: 56px;		margin-left: -20px;	}		h1, .feature-quote {		font-size: 2.8em;	}		.feature-quote {		margin: 0;	}		.swiper-slide.text-slide div, nav, .title h1 {		font-size: 4vw;	}		h2, h3.h3-preview {		font-size: 1.8em;	}		.what-we-do h2:first-child {		margin-top: 0.2em;	}	.title h1, .project .title h1 {		left: calc(50% + 34px);		bottom: 30px;		/*padding-left: 30px;*/		padding-right: 30px;	}		.standard-width-content {		padding-left: 30px;		padding-right: 30px;	}		#content {		padding-top: 50px;	}		.column-A .feature-quote {		text-align: right;		display: block;	}		.project-preview-caption span, .quotes-container span {		font-size: 1em;		letter-spacing: 0.01em;		margin-top: 6px;	}		.column-container, .single-column {		margin-top: 30px;		margin-bottom: 60px;	}		.column-container {		display: flex;	}		.final-column-container {		margin-top: 40px;		margin-bottom: 60px;		padding-bottom: 80px;		border-bottom: 0.5px solid rgba(0,0,0,0.3);	}	.column-container div {		width: 50%;	}	.column-A {		padding-right: 30px;		/*border-right: 1px solid rgba(0,0,0,0.6);*/	}		.column-A.column-image img {		/*padding-right: 30px;*/	}		.column-image {		margin-top: 0em;		margin-top: 0em;	}	.column-B {		padding-left: 30px;	}		.column-B.column-image img {		/*padding-left: 30px;*/	}		.feature-link {		width: 50%;	}		.home .feature-link {		margin-left: 0;	}		.gallery-container .feature-link {		margin-left: auto;		margin-right: auto;	}		h1.subheading {		font-size: 3.5em;		margin-bottom: 30px;	}		h1.headline {		margin-top: 30px;		margin-bottom: 60px;	}		.what-we-do h2 {		text-align: left;	}			.project-preview-container {		border-left: 0.5px solid rgba(0,0,0,0.3);		border-right: 0.5px solid rgba(0,0,0,0.3);		padding-left: 20px;		padding-right: 20px;		margin: 0;	}		.project-wrapper {		width: 33.333%;		margin-bottom: 50px;	}		.project-preview-image img {		margin-bottom: 20px;	}	.gallery-wrapper {		margin-left: 30px;		margin-right: 30px;		margin-top: 70px;		margin-bottom: 60px;		padding-bottom: 80px;	}	.caption { 		display: inline-flex;	}		#footer {		margin-top: 120px;	}		.gallery-feature-link {		margin-top: 70px;	}		.feature-link, .project-preview-hover, .project-preview-caption span, .quotes-container span {  		font-size: 1em;  	}			.logo-additional {		width: 50%;		font-size: 2em;	}	}	@media all and (min-width: 1140px) {	.gallery-wrapper {		margin-left: auto;		margin-right: auto	}			.swiper-button-next {		margin-right: -70px;	}	.swiper-button-prev {		margin-left: -70px;	}	.swiper-button-next, .swiper-button-prev {		width: 60px;		height: 60px;		background: none;	}	.swiper-button-next::after, .swiper-button-prev::after {		width: 25px;		height: 25px;		border-bottom: 2.5px solid #000;		border-right: 2.5px solid #000;	}	.swiper-button-next::after {		left: 10px;		top: 10px;		}	.swiper-button-prev::after {		left: 10px;		top: 10px;			}}