/*
Theme Name: Heywood Theme
Theme URI: n/a
Author: Lisa Kew
Author URI: KewCreative.com
Description: Theme for HREGroup.com
Version: 1.0
License: no license, use a theme from https://wordpress.org/themes/ instead.
License URI: n/a
Tags: n/a
Text Domain: heywoodtheme
*/

@font-face {
  font-family: 'DanielsSignature';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/DanielsSignature.otf) format('opentype');
}

/* generic things */

html,body,h1,h2,h3,h4,h5,h6,p,ul,li,form{
	padding:0;
	margin:0;
}
*{
	box-sizing:border-box;
}
html {
	font-family:'Lato',serif;
	font-size:16px; /* for rem base */
	scroll-behavior: smooth;
	/* note: this replaces the javascript version, which is not accessible due to the 'return false' setting. */
}
html,#nav{
	scrollbar-width: thin;
}
.screen-reader-text,
.skip-link,
.socialnav li a span{
	position:fixed;
	top:-4000rem;
	left:-4000rem;
}
.skip-link:focus,
#toggle a:focus span.skip-link{
	top:2rem;
	left:2rem;
	background:black;
	color:white;
	padding:.5rem 1rem;
	border:2px dotted white;
	text-decoration:none;
	text-transform:uppercase;
	font-size:100%;
	z-index:10000;
}
.admin-bar .skip-link:focus,
#toggle a:focus span.skip-link{
	top:4rem;
}
video,
iframe,
img{
	display:block;
	max-width:100%;
	
}
img.attachment-thumbnail,
img.attachment-large{
	height:auto !important;
}

/* colours */
/*
colour0 : #E8E3DF - creme/white
colour1 : #2D2E30 - dark grey
colour2 : #595647 - middle grey
colour3 : #CCC8C3 - light grey
colour4 : #CDCFC4 - grey green
colour5 : #987557 - dark brown
colour6 : #AB9887 - light brown
colour7 : #D4C8B8 - beige
*/

html{
	scrollbar-color:#2D2E30 #E8E3DF;
}
body{
	background:#FFFFFF;
	color:#2D2E30;
}
#nav{
	background:#2D2E30;
	color:#E8E3DF;
}
.home #nav{
	background:rgba(45,46,48,.6);
}
.socialnav li.instagram a{
	background-image:url(img/icon-ig.svg);
}
.socialnav li.facebook a{
	width:.41875rem;
	background-image:url(img/icon-fb.svg);
}
.socialnav li.youtube a{
	background-image:url(img/icon-yt.svg);
}
.socialnav li.linkedin a{
	width:.76rem;
	background-image:url(img/icon-li.svg);
}
#nav .socialnav li.instagram a{
	background-image:url(img/icon-ig-e8e3df.svg);
}
#nav .socialnav li.facebook a{
	background-image:url(img/icon-fb-e8e3df.svg);
}
#nav .socialnav li.youtube a{
	background-image:url(img/icon-yt-e8e3df.svg);
}
#nav .socialnav li.linkedin a{
	background-image:url(img/icon-li-e8e3df.svg);
}
#colophon .socialnav li.instagram a{
	background-image:url(img/icon-ig.svg);
}
#colophon .socialnav li.facebook a{
	background-image:url(img/icon-fb.svg);
}
#colophon .socialnav li.youtube a{
	background-image:url(img/icon-yt.svg);
}
#colophon .socialnav li.linkedin a{
	background-image:url(img/icon-li.svg);
}

.colour0{
	background:#FFFFFF;
	color:#2D2E30;
}
.colour1{
	background:#2D2E30;
	color:#E8E3DF;
}
.colour2{
	background:#595647;
	color:#E8E3DF;
}
.colour3{
	background:#CCC8C3;
}
.colour4{
	background:#CDCFC4;
}
.colour5{
	background:#987557;
	color:#E8E3DF;
}
.colour6{
	background:#AB9887;
}
.colour7{
	background:#D4C8B8;
}

#colophon{
	background:#E8E3DF;
}


/* links */

a{
	color:inherit;
	text-underline-offset:.2em;
}
a:focus,
a:hover,
a:active{
	text-decoration-color:#AB9887;
}
.imagegrid .gridimg a{
	display:block;
	background:#2D2E30;
}
.imagegrid .gridimg a:focus img,
.imagegrid .gridimg a:hover img,
.imagegrid .gridimg a:active img{
	opacity:.5;
	transition:opacity .3s ease-in-out 0s;
}

#nav a,
.projectnav a,
.button a,
.pagination a,
#colophon a{
	text-decoration:none;
}
.buttons{
	text-align:center;
}
p.submit,
.button a{
	display:inline-block;
	position:relative;
}
p.submit:after,
.button a:after{
	content:"";
	display:block;
	width:0;
	height:1px;
	background:#AB9887;
	position:absolute;
	bottom:-.875em;
	left:0;
	transition:width .3s ease-in-out 0s;
}
p.submit:after{
	bottom:0;
}
.colour6 .button a:after{
	background:#E8E3DF;
}
p.submit:hover:after,
.button a:focus:after,
.button a:hover:after,
.button a:active:after{
	width:100%;
}




/* fonts */

h1.project-title,
.preview h2,
.widesplit h2,
.page-content h2.regheading.inscriptfont{
	font-family: 'DanielsSignature';
	font-weight:300;
}
strong{
	font-weight:700;
}
h1.page-title,
p.location{
	font-size:clamp(1rem,3vw,1.125rem);
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
	text-align:center;
	margin-bottom:1.2em;
}
h3.name{
	font-size:clamp(1rem,3vw,1.125rem);
	font-size:clamp(1rem,1.4vw,1.125rem); /* so we don't have to go to 50% width as soon */
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
	text-align:center;
	margin-bottom:.35em;
}
.page-content h2.regheading{
	font-size:clamp(1rem,3vw,1.125rem);
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
	margin-bottom:1.2em;
	margin-top:2.4em;
}
.page-content h2.regheading.inscriptfont{
	text-transform:none;
}
.page-content h2:first-child{
	margin-top:0;
}
h1.site-title,
p.site-title{
	font-size:3rem;
	margin-bottom:0;
}
h1.project-title{
	font-size:3rem;
	font-size:clamp(2.1rem,8vw,3rem);
	line-height:1.3;
	text-align:center;
	margin-bottom:clamp(.5em,4vw,1.2em);
}
.preview h2{
	font-size:5rem;
	font-size:clamp(1rem,5vw,5rem);
	/* font-size:clamp(1rem,3vw,5rem); */
	line-height:1.3;
	text-align:center;
	margin-bottom:0;
}
.page-content .widesplit h2,
.page-content h2.regheading.inscriptfont{
	font-size:2.1875rem;
	line-height:1.2;
/*
	margin-bottom:.35em;
	margin-top:.5em;
*/
/* testing if this helps against being cut off due to line-height needing to be less than the full font height */
	padding-top:.35em;
	padding-bottom:.5em;
}
p,ul,ol{
	font-size:clamp(.875rem,3.25vw,1rem);
	font-weight:300;
	line-height:1.5;
	margin-bottom:1.5em;
}
p.role{
	font-size:clamp(.875rem,1.2vw,1rem); /* to stay smaller than h3.name */
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
	text-align:center;
	margin-bottom:1em;
}
.person p.contactlink{
	font-weight:700;
	margin-bottom:1.2em;
}
label,
span.fakelabel,
p.submit input{
	font-size:clamp(1rem,3vw,1.125rem);
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
}
input,
textarea{
	font-size:clamp(1rem,3vw,1.125rem);
	font-weight:400;
	line-height:1.5;
}
div.button,
p.button{
	font-size:.875rem;
	font-weight:400;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.introdesc *,
.page-content .centered *{
	text-align:center;
}
.projectnav *{
	font-size:clamp(.75rem,2.7vw,.875rem);
	font-weight:300;
	letter-spacing:.1em;
	text-transform:uppercase;
	line-height:1.5;
	margin-bottom:0;
}
#nav ul,
#colophon ul,
#colophon .copyright p{
	font-size:1rem;
	font-size:clamp(.8125rem,1.4vw,1rem);
	font-weight:400;
	letter-spacing:.13em;
	text-transform:uppercase;
	line-height:1;
	margin-bottom:0;
}
#colophon ul,
#colophon .copyright p{
	font-size:clamp(.8125rem,3vw,1rem);
}
#colophon .phonemail p,
#colophon .address p{
	font-size:clamp(.8125rem,1.82vw,1rem);
	font-weight:300;
}
#colophon .copyright p,
#colophon .footernavsecondary ul{
	font-size:clamp(.625rem,1.82vw,.875rem);
}
.intro p,
.intro ul,
.intro ol{
	font-size:1.5rem;
	line-height:1.5;
	margin-bottom:.75em;
}
.quotebox p.quote{
	font-size:1.5rem;
	line-height:1.5;
	margin-bottom:0;
}
.quotebox p.byline{
	padding-top:.5em;
	margin-bottom;
}
.quotebox{
	padding:1.5rem 0;
}
.button{
	font-size:1.125rem;
	line-height:1.5;
	margin-bottom:1.5em;
}
p.caption{
	padding-top:.5em;
}
ul{
	list-style:none;
}
.page-content ul li{
	padding-left:1em;
	position:relative;
}
.page-content ul li:before{
	content:"\2022 ";
	display:inline-block;
	position:absolute;
	left:0;
	top:0;
}




/* layout */

#nav{
/*
	padding-left:clamp(1rem,4.3vw,8.875rem);
	padding-right:clamp(1rem,4.3vw,8.875rem);
*/
	padding-left:clamp(1rem,7vw,8.875rem);
	padding-right:clamp(1rem,7vw,8.875rem);
}
.outer,
.widebox p.caption{
	padding-left:clamp(1rem,7vw,8.875rem);
	padding-right:clamp(1rem,7vw,8.875rem);
}
.inner{
	max-width:102.25rem;
	margin:0 auto;
}
.page-content .inner{
	padding:1px 0; /* to keep colours and margins inside */
}
.fullwidth{
	overflow:hidden;
}
.homepage-header{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.homepage-header .inner{
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}

#page{
	padding-top:8.125rem; /* same as #nav height */
}
#nav{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	min-height:8.125rem; /* enough height for logo + nav menus */
	transition:all .5s ease-in-out 0s;
	z-index:1000;
}
/*
.home #nav,
.home.admin-bar #nav{
	top:-8.125rem;
}
*/
.home.scrolled #nav{
	background:rgba(45,46,48,1);
}
.admin-bar #nav,
.home.admin-bar.scrolled #nav{
	top:32px;
}
@media(max-width:782px){
	.admin-bar #nav,
	.home.admin-bar.scrolled #nav{
		top:46px;
	}
}

#nav .inner{
	display:flex;
	height:100%;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.site-branding{
	width:clamp(12.125rem,25vw,13.75rem);
	width:clamp(12.125rem,18vw,13.75rem); /* to reach 194px on 1024 width */
	order:0;
}
.site-branding a,
.site-branding img{
	display:block;
}
#toggle{
	display:none;
	order:1;
}
#navcontent{
	order:2;
}
.site-nav{
	display:flex;
	justify-content:flex-end;
}
.site-nav .main-navigation{
	text-align:center;
	margin-right:2.5rem;
	margin-right:clamp(1rem,2.5vw,2.5em);
}
.site-nav .navi{
	display:inline-block;
}
.mainnav li{
	display:inline-block;
	margin-left:clamp(1rem,2.3vw,2.5em);
}
.mainnav li:first-child{
	margin-left:0;
}
.socialnav li{
	display:inline-block;
	margin-left:1.5em;
}
.socialnav li:first-child{
	margin-left:0;
}
.socialnav li a{
	display:inline-block;
	height:.8375rem;
	width:.8375rem;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center bottom;
	background-size:contain;
}
.mainnav li a{
	position:relative;
}
.mainnav li a:after{
	content:"";
	position:absolute;
	left:0;
	top:2em;
	height:1px;
	width:0px;
	background:#AB9887;
	transition:width .3s ease-in-out 0s;
}
.mainnav li.current_page_item a:after,
.mainnav li a:focus:after,
.mainnav li a:hover:after,
.mainnav li a:active:after{
	width:100%;
}
.page-header .inner{
	padding-top:clamp(1.875rem,6.5vw,4.1875rem);
	padding-bottom:clamp(1rem,3vw,2.75rem);
}
.project-header .inner{
	padding-top:clamp(3.625rem,7.8vw,7rem);
	padding-bottom:0;
}
h1.project-title{
	display:block;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
.preview h2 span{
	display:block;
	width:min-content;
	margin-left:auto;
	margin-right:auto;
}
.introdesc{
	max-width:49.875rem;
	margin:0 auto;
}
.projectnav{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	justify-content:space-between;
	padding-top:clamp(.5rem,3vw,3rem);
	padding-bottom:.5rem;
}
.projectnav .nav-links{
	display:flex;
	gap:1rem;
}

.fullvideo,
.portraitvideo{
	position:relative;
}
.fullvideo .pauseplay,
.portraitvideo .pauseplay{
	position:absolute;
	/* right:5vw; */
	right:0;
	bottom:3vw;
	z-index:2;
}
.pauseplay span.pause{
	background:url(img/play-pause-02.svg);
}
.pauseplay span.play{
	background:url(img/play-pause-01.svg);
}
.pauseplay span{
	display:block;
	width:2rem;
	height:2rem;
	text-indent:2rem;
	overflow:hidden;
	cursor:pointer;
}
.pauseplay .play,
.pauseplay.pause .pause{
	display:none;
}
.pauseplay.pause .play{
	display:block;
}

/* homepage video */

.backgroundvideo{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	overflow:hidden;
}
.backgroundvideo .fullvideo,
.backgroundvideo .portraitvideo{
	position:static;
}

.backgroundvideo .fullvideo{
	width:178vh;
	height:100vh;
	margin-left:calc((100vw - 178vh) / 2);
}
@media(min-width:178vh){
	.backgroundvideo .fullvideo{
		width:100vw;
		height:56.25vw;
		margin-left:0;
		margin-top:calc((100vh - 56.25vw) / 2);
	}
}
.backgroundvideo .portraitvideo{
	width:100vw;
	height:178vw;
	margin-top:calc((100vh - 178vw) / 2);
	display:none;
}
@media(max-width:56.25vh){
	.backgroundvideo .portraitvideo{
		width:56.25vh;
		height:100vh;
		margin-left:calc((100vw - 56.25vh) / 2);
		margin-top:0;
	}
}
@media(max-width:900px){
	.backgroundvideo .fullvideo{
		display:none;
	}
	.backgroundvideo .portraitvideo{
		display:block;
	}
}
.backgroundvideo video{
	display:block;
	width:100%;
	height:100%;
}

.home #page{
	padding-top:100vh;
}
.home.admin-bar #page{
	padding-top:calc(100vh - 32px);
}


.people{
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
	padding-top:3.125vw;
	margin-left:clamp(-1.25rem,-1.22vw,-.5rem);
	margin-right:clamp(-1.25rem,-1.22vw,-.5rem);
	margin-bottom:3.125vw;
}
.person{
	width:25%;
	text-align:center;
	padding-top:0;
	padding-left:clamp(.5rem,1.22vw,1.25rem);
	padding-right:clamp(.5rem,1.22vw,1.25rem);
	padding-bottom:clamp(1rem,2.44vw,2.5rem);
}
.person .nophoto{
	width:100%;
	height:0;
	padding-top:100%;
	background:#E8E3DF;
	margin-bottom:clamp(1.125rem,1.8vw,2.1rem);
}
.person img{
	display:block;
	margin-bottom:clamp(1.125rem,1.8vw,2.1rem);
}

.portfoliogrid{
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
	margin-left:clamp(-1.25rem,-1.22vw,-.5rem);
	margin-right:clamp(-1.25rem,-1.22vw,-.5rem);
	margin-bottom:clamp(1rem,4vw,3.75rem);
}
.portfoliogrid .preview{
	width:50%;
	padding-top:0;
	padding-left:clamp(.5rem,1.22vw,1.25rem);
	padding-right:clamp(.5rem,1.22vw,1.25rem);
	padding-bottom:clamp(1rem,2.44vw,2.5rem);
}
@media(max-width:480px){
	.portfoliogrid .preview{
		width:100%;
	}
}
.preview a{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.preview .thumb{
	width:100%;
	height:0;
	padding-top:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.preview h2{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	padding:1em;
	opacity:0;
	transition:all .5s ease-in-out 0s;
}
.preview a:focus h2,
.preview a:hover h2,
.preview a:active h2{
	opacity:1;
/*	height:100%; */
}

.project-content{
	padding-bottom:clamp(1.9rem,6vw,3.9rem);
}
.imagegrid{
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
	padding-top:max(.375rem,.5vw);
	padding-bottom:max(.375rem,.5vw);
	margin-left:min(-.375rem,-.5vw);
	margin-right:min(-.375rem,-.5vw);
}
.imagegrid .gridimg{
	width:25%;
	padding:max(.375rem,.5vw);
}

.fancybox-bg{
	background:#2D2E30 !important;
}
.fancybox-is-open .fancybox-bg{
	opacity:1 !important;
}
.fancybox-arrow:after{
	background-color:transparent !important;
	background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="19.73" height="32" viewBox="0 0 19.73 32"><path id="swipe_right" data-name="swipe right" d="M22.9,32l16-16L22.9,0l-3.73,3.735L31.437,16,19.172,28.265Z" transform="translate(-19.172)" fill="%23ab9887"/></svg>') !important;
	background-size:auto 2rem !important;
}
.projectimages{
	padding-top:max(.6875rem,2vw);
	margin-bottom:clamp(1.9rem,6vw,3.9rem);
}
.wideimg{
	margin-bottom:max(.34375rem,1vw);
}
.sbsimg{
	display:flex;
	flex-wrap:wrap;
	margin-left:clamp(-1.25rem,-2.5vw,-.5rem);
	margin-right:clamp(-1.25rem,-2.5vw,-.5rem);
}
.sbsimg .flexfix{
	width:50%;
	padding-top:clamp(.5rem,2.5vw,1.25rem);
	padding-left:clamp(.5rem,2.5vw,1.25rem);
	padding-right:clamp(.5rem,2.5vw,1.25rem);
	padding-bottom:clamp(.5rem,2.5vw,1.25rem);
}

.page-content .centered{
	max-width:49.875rem;
	padding-top:clamp(1.875rem,6.5vw,4.1875rem);
	padding-bottom:clamp(1rem,3vw,2.75rem);
	margin:0 auto;
}

.widesplit{
	display:flex;
	flex-wrap:wrap;
}
.widesplit .imageside{
	width:50%;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.widesplit.imgright .imageside{
	order:2;
}
.widesplit.nocrop .imageside,
.widesplit .textside{
	width:50%;
}
.widesplit.nocrop.imgright .imageside,
.widesplit.imgleft .textside{
	padding-right:clamp(1rem,7vw,8.875rem);
	padding-left:clamp(.5rem,1.22vw,1.25rem);
}
.widesplit.nocrop.imgleft .imageside,
.widesplit.imgright .textside{
	padding-left:clamp(1rem,7vw,8.875rem);
	padding-right:clamp(.5rem,1.22vw,1.25rem);
}
.widesplit.nocrop .imageside .inside,
.widesplit .textside .inside{
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%; /* for the image version */
	/* min-height is set in HTML, from image dimensions in the imageside */
	padding-top:max(2rem,6%);
	padding-bottom:max(2rem,6%);
}
.widesplit.nocrop.imgright .imageside .inside{
	padding-left:clamp(.5rem,5.78vw,5.3125rem);
	padding-right:min(calc(50% - 11.875rem),clamp(1rem,7vw,6.5625rem));
}
.widesplit.nocrop.imgleft .imageside .inside{
	padding-right:clamp(.5rem,5.78vw,5.3125rem);
	padding-left:min(calc(50% - 11.875rem),clamp(1rem,7vw,6.5625rem));
}

.widesplit.imgleft .textside .inside{
	padding-left:max(7vw,calc(50% - 11.875rem));
	padding-right:calc(50% - 11.875rem);
}
.widesplit.imgright .textside .inside{
	padding-left:calc(50% - 11.875rem);
	padding-right:max(7vw,calc(50% - 11.875rem));
}
.widesplit.imgleft .textside.blocksizewide .inside{
	padding-right:0;
	padding-left:clamp(.5rem,5.78vw,5.3125rem);
}
.widesplit.imgright .textside.blocksizewide .inside{
	padding-left:0;
	padding-right:clamp(.5rem,5.78vw,5.3125rem);
}
.widesplit .imageside .mobileplaceholder{
	display:none;
}

/* vertical block spacings */

.widesplit + .extraclasspeople,
.widesplit + .extraclassside_by_side_images{
	padding-top:max(.34375rem,1vw);
	padding-top:clamp(.5rem,2.5vw,1.25rem);
}
.extraclasspeople + .widesplit,
.extraclassside_by_side_images + .widesplit{
	margin-top:max(.34375rem,1vw);
	margin-top:clamp(.5rem,2.5vw,1.25rem);
}


/* contact form */

.page-content .centered .contactform *{
	text-align:left;
}
.wpcf7-form{
	display:flex;
	flex-direction:column;
}
.wpcf7-form .submit{
	order:2;
	/* so it goes below the response div */
}

.contactform{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-top:3rem;
	margin-bottom:0;

}
.contactform p{
	width:100%;
}
.contactform p.name1,
.contactform p.name2{
	width:calc(50% - clamp(.5rem,2.5vw,1.25rem));
}
.contactform label{
	display:flex;
	justify-content:space-between;
	white-space:nowrap;
	padding-bottom:.5em;
	border-width:0 0 1px 0;
	border-style:solid;
	border-color:#AB9887; /* XD says #707070 */
	margin-bottom:.25em;
}
.contactform p.where label{
	justify-content:flex-start;
	text-transform:none;
	padding-bottom:0;
	border-width:0;
}
.contactform p.where{
	padding-bottom:.5em;
	border-width:0 0 1px 0;
	border-style:solid;
	border-color:#AB9887; /* XD says #707070 */
}
.contactform p.where .fakelabel{
	display:block;
	position:relative;
	cursor:pointer;
}
.contactform p.where .fakelabel button{
	display:block;
	width:1rem;
	height:1rem;
	position:absolute;
	right:0;
	top:0;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:right center;
	background-size:contain;
	background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="19.73" height="32" viewBox="0 0 19.73 32"><path id="swipe_right" data-name="swipe right" d="M22.9,32l16-16L22.9,0l-3.73,3.735L31.437,16,19.172,28.265Z" transform="translate(-19.172)" fill="%232d2e307"/></svg>');
	border-width:0;
	transform:rotate(-90deg);
}
.contactform p.where.closed .fakelabel button{
	transform:rotate(90deg);
}

.contactform p.where .wpcf7-form-control-wrap{
	display:block;
	padding:1em 0;
}
.contactform p.where.closed .wpcf7-form-control-wrap{
	display:none;
}
.contactform label span{
	display:block;
	width:100%;
	padding-left:.5em;
	max-width:calc(100% - 6em);
}
.contactform input,
.contactform textarea{
	display:block;
	width:100%;
}
.contactform input,
.contactform textarea{
	border-width:0;
}
.contactform .wpcf7-checkbox{
	margin-left:0;
}
.contactform .wpcf7-list-item{
	display:flex;
	margin-left:0;
	margin-bottom:.2em;
}
.contactform .wpcf7-list-item input{
	width:1.125em;
	height:1.125em;
	margin-right:.5em;
}
.contactform .wpcf7-list-item-label{}
p.submit{
	display:flex;
	flex-wrap:wrap;
	width:min-content;
	text-align:center;
	margin:0 auto;
}
p.submit input{
	padding:0 0 .2em 0;
	border-width:0;
	background:transparent;
	cursor:pointer;
}
.wpcf7-spinner{
	display:block;
	order:-1;
}


/* pagination */
/* kriesi */

.pagination{
	text-align:center;
	padding-bottom:clamp(2rem,4vw,4.5rem);
}
.pagepn{
	text-indent:-250rem;
}
.pagination a,
.pagination span{
	display:inline-block;
	width:1em;
	height:1.75em;
	font-size:.875rem;
	font-weight:300;
	line-height:1.75em;
	box-sizing:border-box;
	padding-top:.1em;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	color:inherit;
	margin:0 .25em;
}
.page-numbers.current{
	font-weight:700;
	color:#987557;
}
.page-prev{
	margin-left:-.5rem;
	margin-right:.5rem;
}
.page-next{
	margin-right:-.5rem;
	margin-left:.5rem;
}

/* footer layout */

#colophon .inner{
	padding-top:2.875rem;
	padding-bottom:2.875rem;
}
.logo img.narrowonly{
	display:none;
}
.footermainnav ul li{
	margin-left:clamp(1em,1.75vw,2.1em);
}
.footermainnav ul li:first-child{
	margin-left:0;
}
.footermainnav ul li:last-child{
	display:none;
}
.footersocialnav ul li:last-child{
	margin-right:0;
}

.fcols{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:2rem clamp(1rem,4.3vw,5.2rem);
}

.footermainnav *,
.copyright *,
.footernavsecondary *{
	text-transform:uppercase;
}

.logo{
	width:clamp(9rem,24vw,13.75rem);
}
.phonemail{
	width:fit-content;
}
.address{
	width:fit-content;
}
.footermainnav{
	width:fit-content;
	text-align:right;
	flex-grow:2;
}
@media(min-width:1025px){
	.copyright,
	.footernavsecondary,
	.footersocialnav{
		margin-top:2.7rem;
	}
}
.copyright{
	width:auto;
	margin-right:2.7rem;
}
.footernavsecondary{
	width:auto;
}
.footersocialnav{
	width:auto;
	flex-grow:2;
	text-align:right;
}
@media(min-width:641px){
	.footersocialnav ul{
		margin-top:-.15em;
	}
	.socialnav li{
		margin-left:1em;
	}
}
@media(min-width:1160px){
	.socialnav li{
		margin-left:1.5em;
	}
}
@media(min-width:1025px){
	.copyright,
	.footernavsecondary,
	.footersocialnav{
		margin-top:2.7rem;
	}
	.footersocialnav ul{
		margin-top:-.2em;
	}
}

@media(max-width:1700px){
	.fcols{
		gap:2rem clamp(1rem,3vw,5.2rem);
	}
}
@media(max-width:1600px){
	.fcols{
		gap:2rem clamp(1rem,2vw,5.2rem);
	}
}
@media(max-width:1550px){
	/* order */
	.logo{order:1;}
	.phonemail{order:3;}
	.address{order:4;}
	.footermainnav{order:2;}
	.copyright{order:5;}
	.footernavsecondary{order:6;}
	.footersocialnav{order:7;}

	/* other styles */
	.footermainnav{
		width:calc(100% - 18rem);
	}
	.address{
		width:calc(100% - 14rem);
	}

}
@media(max-width:1024px){
	/* order */
	.logo{order:2;}
	.phonemail{order:3;}
	.address{order:4;}
	.footermainnav{order:1;}
	.copyright{order:5;}
	.footernavsecondary{order:6;}
	.footersocialnav{order:7;}

	/* other styles */
	.footermainnav{
		width:100%;
	}
	.footermainnav ul{
		display:flex;
		width:100%;
		justify-content:space-between;
	}
	.footermainnav ul li{
		margin-bottom:1em;
	}
	.address{
		width:auto;
	}
	.copyright{
		margin-right:unset;
	}
	.footersocialnav{
		flex-grow:0;
	}
}
@media(max-width:640px){

	/* order */
	.logo{order:1;}
	.phonemail{order:4;}
	.address{order:5;}
	.footermainnav{order:3;}
	.copyright{order:6;}
	.footernavsecondary{display:none;}
	.footersocialnav{order:2;}

	/* other styles */
	.fcols{
		gap:0;
	}
	.logo,
	.footersocialnav,
	.address{
		margin-bottom:1.8rem;
	}
	.footermainnav{
		margin-bottom:.9rem;
	}
	#colophon p,
	#colophon ul{
		margin-bottom:0;
	}
	.logo{
		width:3rem;
		overflow:hidden;
	}
	.logo img.narrowonly{
		display:block;
	}
	.logo img.onwideonly{
		display:none;
	}
	.footermainnav ul{
		display:block;
		column-count:2;
		column-gap:0;
		line-height:1.7 !important;
		text-align:left;
	}
	.footermainnav ul li{
		display:block;
		margin-left:0;
	}
	.footermainnav ul li:last-child{
		display:block;
	}
	.footermainnav ul li a{
		display:inline-block;
	}
	.footermainnav ul li a:after{
		top:1.8em;
	}
	
	.footersocialnav{
		min-width:50%;
		text-align:left;
		align-self:center;
	}
	.phonemail{
		min-width:50%;
		margin-bottom:.5rem;
	}
	.address{
		min-width:50%;
	}
}
@media(max-width:320px){
	.footermainnav ul{
		column-count:1;
	}
}




/* webkit things */

input[type=text],
input[type=search],
input[type=button],
input[type=email],
input[type=submit],
textarea{
	-webkit-appearance:none;
	-webkit-border-radius:0;
}
*{
	-webkit-text-size-adjust:100%;
}

/* Where placeholder needs to obey the styles */

/* fix the stupid placeholder colour */
/* separate rules, because: "a group of selectors containing an invalid selector is invalid". */
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
	opacity:1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
	opacity:1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}
::-ms-input-placeholder { /* Microsoft Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}


@media(max-width:1023px){
	.person{
		width:50%;
		padding-left:clamp(.5rem,2.44vw,1.25rem);
		padding-right:clamp(.5rem,2.44vw,1.25rem);
		padding-bottom:clamp(1rem,4.88vw,2.5rem);
	}
	h3.name{
		/* font-size:clamp(1rem,3vw,1.125rem); */
		/* above works down to window width 510px */
		font-size:clamp(.75rem,3vw,1.125rem);
		/* above works down to window width 430px */
	}
	p.role{
		font-size:clamp(.65625rem,2.64vw,1rem); /* to stay smaller than h3.name */
	}
}

@media (max-width:960px){
	#page{
		padding-top:6.25rem; /* same as #nav height */
	}
	#nav{
		min-height:6.25rem;
		overflow:hidden;
	}
	#nav .inner{
		position:relative;
		align-items:flex-start;
	}
	.site-branding,
	#toggle{
		position:absolute;
		top:0;
	}
	#toggle{
		z-index:10000;
	}
	.site-branding{
		padding-top:1.625rem;
		left:0;
	}
	#toggle{
		right:0;
		display:block;
		width:2.875rem;
		height:6.25rem; /* same height as #nav when #nav is closed */
		order:1;
	}
	#toggle a{
		display:block;
		width:100%;
		height:100%;
	}
	#toggle a span.burger{
		display:block;
		width:100%;
		height:100%;
		background:url(img/menu.svg) transparent no-repeat right center / contain;
	}
	#toggle a.navisopen span.burger{
		background:url(img/close.svg) transparent no-repeat right center / contain;
	}
	#navcontent{
		display:block; /* removing flex */
		width:100%;
		text-align:center;
	}
	#site-navigation{
		display:none;
	}
	#social-navigation{
		position:absolute; 
		right:calc(clamp(1rem,4.3vw,8.875rem) + 5.75rem );
		top:2.5rem;
		width:fit-content;
	}
	body.toggled-on{
		overflow:hidden;
	}
	.toggled-on #nav,
	#nav:target{
		height:100%;
		background:#2D2E30;
		overflow:auto;
	}
	.toggled-on #site-navigation,
	#nav:target #site-navigation{
		display:block;
		margin-right:unset;
	
	}
	.toggled-on #navcontent,
	#nav:target #navcontent{
		padding-top:6.25rem;
		padding-bottom:5rem;
		/* to make sure that even with the admin bar, there will be */
		/* a scrollbar for the last items in the list */
	}
	.site-nav ul.mainnav{
		width:100%;
		font-size:1.125rem !important;
		text-align:center;
	}
	.site-nav ul.mainnav li{
		display:block;
		float:none;
		width:100%;
		margin-left:auto;
		margin-right:auto;
	}
	.site-nav ul.mainnav li a{
		display:inline-block;
		padding:1rem 0;
	}
	.site-nav ul.mainnav li a:after{
		top:2.3em;
	}
	#nav .navisopen,
	#nav:target .navisclosed,
	.toggled-on #nav .navisclosed{
		display:none;
	}
	#nav .navisclosed,
	#nav:target .navisopen,
	.toggled-on #nav .navisopen{
		display:block;
	}
}
@media(max-width:767px){
	.widesplit .imageside{
		width:100%;
		/* height:56.25vw; */
	}
	.widesplit .imageside .mobileplaceholder{
		display:block;
		/* this one has the image dimensions as style */
	}
	.widesplit.imgright .imageside{
		order:0;
	}
	.widesplit.nocrop .imageside,
	.widesplit .textside{
		width:100%;
	}
	.widesplit.nocrop .imageside,
	.widesplit .textside{
		padding-right:clamp(1rem,7vw,3rem) !important;
		padding-left:clamp(1rem,7vw,3rem) !important;
	}
	.widesplit.imgleft .textside .inside,
	.widesplit.imgright .textside .inside{
		padding-left:0 !important;
		padding-right:0 !important;
		max-width:31rem;
		margin:0 auto;
	}
	.colourdivider.narrowonly{
		display:block;
	}
}
@media(max-width:750px){
	.imagegrid .gridimg{
		width:50%;
	}
}
@media(max-width:510px){
	#social-navigation{
		display:none;
		position:static;
		margin-top:1rem;
	}
	.toggled-on #social-navigation,
	#nav:target #social-navigation{
		display:inline-block;
	}
	#nav ul.socialnav{
		text-align:center;
	}
	#nav ul.socialnav li{
		float:none;
		display:inline-block;
		padding:0 .3rem;
	}
}

@media(max-width:430px){
	/* this could also go on 510px, but then the images are too large */
	.people{
		padding-top:clamp(1rem,7vw,1.5625rem);
		margin:0 auto;
	}
	.people .person{
		width:100%;
		padding:0;
		margin-bottom:clamp(1rem,7vw,1.5625rem);
	}
	h3.name{
		font-size:1rem;
	}
	p.role{
		font-size:.875rem;
	}
	.widesplit + .extraclasspeople{
		padding-top:0;
	}
	.extraclasspeople + .widesplit{
		margin-top:0;
	}
}
@media(max-width:430px){
	.preview h2{
		font-size:clamp(1rem,6vw,5rem)
	}
	.preview a:focus h2,
	.preview a:hover h2,
	.preview a:active h2{
		/* opacity:1; */
		height:100%;
		top:0;
		font-size:clamp(1rem,8.5vw,5rem);
	}
	.omitonnarrow{
		display:none;
	}
	/* everything goes single column here */
	.imagegrid{
		padding-top:clamp(1rem,5vw,1.375rem);
		padding-left:clamp(1rem,7vw,8.875rem);
		padding-right:clamp(1rem,7vw,8.875rem);
		padding-bottom:0;
		margin:0 auto;
	}
	.imagegrid .gridimg{
		width:100%;
		padding:0;
		margin-bottom:clamp(1rem,4.7vw,1.25rem);
	}
	.portfoliogrid{
		margin:0 auto;
	}
	.projectimages,
	.sbsimg{
		padding-top:clamp(1rem,7vw,1.5625rem);
		margin:0 auto;
	}
	.portfoliogrid .preview,
	.wideimg,
	.sbsimg .flexfix{
		width:100%;
		padding:0;
		margin-bottom:clamp(1rem,7vw,1.5625rem);
	}
	.extraclassside_by_side_images:first-child > .inner > .pfimg:first-child,
	.extraclasscentered_text_block + .extraclassside_by_side_images > .inner > .pfimg:first-child{
		padding-top:0;
	}
	.widesplit + .extraclassside_by_side_images{
		padding-top:0;
	}
	.extraclassside_by_side_images + .widesplit{
		margin-top:0;
	}
	.pfimg + .pfimg{
		padding-top:0;
	}
}


/* movement styles */

.move{
	opacity:.1;
	transition:opacity .2s ease-in-out 0s;
}
.move:nth-child(n+1){
	transition:opacity .2s ease-in-out .1s;
}
.move:nth-child(n+2){
	transition:opacity .2s ease-in-out .15s;
}
.move:nth-child(n+3){
	transition:opacity .2s ease-in-out .2s;
}
.move:hover,
.moveit{
	opacity:1;
}
