@charset "UTF-8";
/*
 * Theme Name:   Forster
 * Theme URI:    https://leap.eco
 * Description:  The theme built for Forster Communications!
 * Version:      1.0 
 * Author:       Leap
 * Author URI:   https://leap.eco
 * Tags:         sustainable development, sustainable web development, green hosting, green web development, html, javascript, css
 * Text Domain:  forster
*/
:root {
	--base-size: 20px;
	--size-100: 0.25rem; /* 5px */
	--size-200: 0.75rem; /* 15px */
	--size-300: 0.9rem; /* 18px */
	--size-400: 1rem; /* 20px */
	--size-500: 1.25rem;
	--size-600: 1.5rem;
	--size-700: 2rem; /* 40px */
	--size-800: 3rem;
	--size-900: 4.25rem; /* 85px */
	--size-1000: 6rem; /* 120px */
	--primary: #fff;
	--secondary: #000;
	--border-radius: var(--size-100);
	--border-radius-pill: var(--size-700);
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, cite, code,
del, em, img, ins, q, s, small, strike, strong,
sub, sup, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html, body {
	background-color: var(--primary);
	color: var(--secondary);
	font-size: var(--base-size);
}

body {
	line-height: 1.5em;
	letter-spacing: normal;
}

article, aside, details, figcaption, figure,
footer, header, nav, section {
	display: block;
}

hr {
	border-style: solid;
	border-width: 1px;
	border-color: var(--secondary);
	border-color: currentColor;
	margin: var(--size-100) 0;
}

body {
	font-family: sans-serif;
}

sup {
	vertical-align: super;
	font-size: var(--size-200);
}

sub {
	vertical-align: sub;
	font-size: var(--size-200);
}

i, em {
	font-style: italic;
}

b, strong {
	font-weight: 600;
}

a {
	color: inherit;
}

h1, .h1 {
	font-weight: 600;
	font-size: var(--size-800);
	line-height: 0.9;
	letter-spacing: -0.035em;
	max-width: 15ch;
	margin: var(--size-400) 0;
	text-transform: uppercase;
	word-break: break-word;
	-webkit-hyphens: auto;
	    -ms-hyphens: auto;
	        hyphens: auto;
}

@media (min-width: 940px) {
	h1, .h1 {
		font-size: var(--size-900);
	}
}
h2, .h2, body.single h1 {
	font-weight: 400;
	font-size: var(--size-600);
	line-height: 1.12;
	letter-spacing: -0.025em;
	max-width: 31.5ch;
	margin: var(--size-400) 0;
	text-transform: none;
}

@media (min-width: 1024px) {
	h2, .h2 {
		font-size: var(--size-700);
	}
	body.single h1 {
		font-size: var(--size-800);
	}
	ul.services .h2,
.service h2 {
		font-size: var(--size-900);
	}
}
h3, .h3 {
	font-weight: 400;
	font-size: var(--size-500);
	line-height: 1.3;
	max-width: 36ch;
	margin: var(--size-400) 0;
}

@media (min-width: 940px) {
	h3, .h3 {
		font-size: var(--size-600);
	}
}
h4, .h4 {
	font-weight: 600;
	font-size: var(--size-500);
	line-height: 1.3;
	max-width: 40ch;
	margin: var(--size-400) 0;
}

@media (min-width: 940px) {
	h4, .h4 {
		font-size: var(--size-600);
	}
}
h5, .h5 {
	font-weight: 600;
	font-size: var(--size-400);
	line-height: 0.9;
	margin: 0 0 var(--size-500);
	text-transform: uppercase;
}

h5.sub-heading, .h5.sub-heading {
	margin-top: 0;
	margin-bottom: var(--size-700);
}

p {
	max-width: 56ch;
	margin: var(--size-400) 0;
}

li {
	font-size: var(--size-400);
	max-width: 56ch;
}

ul, ol {
	padding: 0 0 0 var(--size-400);
}

small {
	font-size: var(--size-200);
}

blockquote {
	margin: var(--size-900) 0;
}

blockquote > p {
	font-weight: 400;
	font-size: var(--size-400);
	line-height: 1.25;
	max-width: 40ch;
	margin: 0;
	padding-left: var(--size-400);
	border-left: 2px solid var(--black);
}

@media (min-width: 1024px) {
	blockquote > p {
		font-size: var(--size-600);
	}
}
blockquote cite {
	display: block;
	width: 100%;
	max-width: 45ch;
	font-weight: 600;
	font-size: var(--size-400);
	line-height: 1.5;
	margin: var(--size-400) 0 0;
}

label {
	display: block;
	font-size: var(--size-200);
	margin-bottom: 0;
}

input[type=text], input[type=email], input[type=search], select, input[type=file], textarea, .filters summary {
	display: block;
	width: 100%;
	padding: var(--size-200) var(--size-400);
	border-radius: var(--border-radius);
	-webkit-appearance: none;
	-moz-appearance: none;
	     appearance: none;
	border: 1px solid var(--dark-clay);
	background-color: var(--clay);
	outline: none;
	font-family: inherit;
	font-size: var(--size-300);
	color: var(--black);
}

input[type=text], input[type=email], input[type=search], select {
	line-height: 1;
}

textarea {
	line-height: 1.5;
}

input[type=checkbox], input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	     appearance: none;
	margin: 0 var(--size-200) 0 0;
	padding: var(--size-200);
	border: 1px solid var(--dark-clay);
	border-radius: var(--border-radius);
	background-color: var(--clay);
	outline: none;
}

input[type=radio] {
	border-radius: 50%;
}

input[type=checkbox]:checked, input[type=radio]:checked {
	border-style: dashed;
	background-color: var(--black);
}

form.search-form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	gap: var(--size-200);
	position: relative;
}

@media (max-width: 767px) {
	form.search-form {
		display: none;
	}
}
form.search-form input[type=search],
form.search-form input[type=submit] {
	margin: 0;
}

form.search-form input[type=search] {
	padding: var(--size-300) var(--size-400);
}

form.search-form label {
	width: 1.1rem;
	height: 100%;
	text-indent: -9999px;
	position: absolute;
	top: 0;
	left: 0.6rem;
	pointer-events: none;
	margin: 0;
	overflow: hidden;
}

button:not(.menu-toggle-btn), .button,
input[type=submit], button[type=submit],
.wp-pagenavi span.current, .wp-pagenavi span.extend, .wp-pagenavi a {
	display: inline-block;
	font-family: inherit;
	font-size: var(--size-400);
	line-height: 1;
	background-color: transparent;
	-webkit-box-shadow: 0px 0px 0px 2px var(--black) inset;
	        box-shadow: 0px 0px 0px 2px var(--black) inset;
	border: none;
	border-radius: var(--border-radius-pill);
	padding: var(--size-300) var(--size-500);
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: -webkit-box-shadow 0.2s;
	transition: -webkit-box-shadow 0.2s;
	transition: box-shadow 0.2s;
	transition: box-shadow 0.2s, -webkit-box-shadow 0.2s;
}

button:not(.menu-toggle-btn):hover, .button:hover,
input[type=submit]:hover, button[type=submit]:hover, .wp-pagenavi a:hover {
	-webkit-box-shadow: 0px 0px 0px 3px var(--black) inset;
	        box-shadow: 0px 0px 0px 3px var(--black) inset;
}

.button--arrow,
.button--share {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: var(--size-400);
}

.button--arrow {
	gap: var(--size-300);
	padding-right: var(--size-300);
}

.button--arrow svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1px;
}

.button--arrow svg path.arrow--line {
	opacity: 0;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
}

.button--arrow svg path.arrow--head {
	-webkit-transform: none;
	        transform: none;
	-webkit-transition: -webkit-transform 0.2s;
	transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	transition: transform 0.2s, -webkit-transform 0.2s;
}

.button--arrow:hover svg path.arrow--line {
	opacity: 1;
}

.button--arrow:hover svg path.arrow--head {
	-webkit-transform: translateX(3px);
	        transform: translateX(3px);
}

img, iframe, .wp-caption {
	max-width: 100%;
}

.wp-caption {
	display: inline-block;
	margin: var(--size-400) 0;
}

.wp-caption > img {
	display: block;
	height: auto;
}

.wp-caption-text, figcaption {
	display: inline-block;
	font-size: var(--size-200);
	margin: var(--size-100) 0 var(--size-400);
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

header div.navbar {
	position: relative;
	height: var(--size-900);
	background-color: transparent;
	-webkit-transition: background-color 0.25s;
	transition: background-color 0.25s;
}

header div.navbar .inner-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	height: 100%;
}

header div.logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

header div.logo svg {
	display: block;
	margin-right: var(--size-400);
}

header div.logo svg polygon,
header div.logo svg path {
	fill: var(--black);
}

header div.logo a {
	display: inline-block;
	text-decoration: none;
}

@media (max-width: 768px) {
	header div.logo img.b-corp-logo {
		display: none;
	}
}
header .menu-toggle-btn,
nav .menu-toggle-btn {
	border: none;
	background-color: transparent;
	padding: 0;
	margin: 0 0 0 auto;
	cursor: pointer;
}

header .menu-toggle-btn svg rect,
nav .menu-toggle-btn svg rect {
	fill: var(--black);
	-webkit-transition: -webkit-transform 0.25s ease;
	transition: -webkit-transform 0.25s ease;
	transition: transform 0.25s ease;
	transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

header .menu-toggle-btn:hover svg rect:first-of-type {
	-webkit-transform: translateY(2px);
	        transform: translateY(2px);
}

header .menu-toggle-btn:hover svg rect:nth-of-type(3) {
	-webkit-transform: translateY(-2px);
	        transform: translateY(-2px);
}

header .menu-toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

header .menu-toggle ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: var(--size-700);
	margin-right: var(--size-700);
}

@media (max-width: 680px) {
	header .menu-toggle ul {
		display: none;
	}
}
header .menu-toggle ul > li {
	margin: 0;
}

@media (min-width: 1024px) {
	header .menu-toggle ul {
		gap: var(--size-800);
		margin-right: var(--size-800);
	}
	header .menu-toggle ul > li {
		font-size: var(--size-500);
	}
}
header .menu-toggle ul > li > a {
	text-decoration: none;
	position: relative;
}

header .menu-toggle ul > li > a:before,
header .menu-toggle ul > li > a:after {
	display: block;
	content: "";
	position: absolute;
	bottom: -2px;
	height: 2px;
	width: 0;
	background: currentColor;
}

header .menu-toggle ul > li > a:before {
	left: 0;
	-webkit-transition: width 0s ease, background 0.5s ease;
	transition: width 0s ease, background 0.5s ease;
}

header .menu-toggle ul > li > a:hover:before {
	width: 100%;
	background: currentColor;
	-webkit-transition: width 0.5s ease;
	transition: width 0.5s ease;
}

header .menu-toggle ul > li > a:after {
	right: 0;
	-webkit-transition: width 0.5s ease;
	transition: width 0.5s ease;
	background: currentColor;
}

header .menu-toggle ul > li > a:hover:after {
	width: 100%;
	background: transparent;
	-webkit-transition: all 0s;
	transition: all 0s;
}

header div.navbar.is-light {
	color: var(--ice);
}

header div.navbar.is-light div.logo svg path,
header div.navbar.is-light div.logo svg polygon,
header div.navbar.is-light .menu-toggle-btn svg rect {
	fill: var(--ice);
}

header div.navbar.is-fixed {
	background-color: var(--ice);
	color: var(--black);
}

header div.navbar.is-fixed div.logo svg path,
header div.navbar.is-fixed div.logo svg polygon,
header div.navbar.is-fixed .menu-toggle-btn svg rect {
	fill: var(--black);
}

nav {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--sea);
	z-index: 3;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity 0.25s 0s;
	transition: opacity 0.25s 0s;
	visibility: hidden;
}

nav > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 100%;
	height: 100%;
	padding: var(--size-400) var(--size-400);
}

@media (max-width: 1023px) {
	nav > div {
		overflow-y: scroll;
	}
}
nav > div > div.menu-toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: var(--size-900);
}

nav > div > div.menu-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 3rem;
}

nav ul {
	list-style: none;
	margin: var(--size-600) 0 0;
	padding: 0;
}

@media (min-width: 1024px) {
	nav > div > div.menu-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-ms-flex-wrap: nowrap;
		    flex-wrap: nowrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	nav ul,
nav div.contact-info {
		width: 50%;
		margin-top: var(--size-800);
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 auto;
		        flex: 1 1 auto;
	}
	nav div.contact-info {
		max-width: var(--col-width);
	}
}
nav ul#menu-main > li {
	width: 100%;
	padding: 0;
	font-weight: 400;
	font-size: var(--size-700);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

@media (min-width: 940px) {
	nav ul#menu-main > li {
		font-size: var(--size-900);
	}
	nav ul#menu-main > li.hide--desktop {
		display: none;
	}
}
@media (min-width: 1200px) {
	nav ul#menu-main > li {
		margin: 0.5rem 0;
	}
}
nav ul#menu-main > li > a {
	display: inline-block;
	text-decoration: none;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	position: relative;
}

nav ul#menu-main > li > a:before,
nav ul#menu-main > li > a:after {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	height: 4px;
	width: 0;
	background: currentColor;
}

nav ul#menu-main > li > a:before {
	left: 0;
	-webkit-transition: width 0s ease, background 0.5s ease;
	transition: width 0s ease, background 0.5s ease;
}

nav ul#menu-main > li > a:hover:before {
	width: 100%;
	background: currentColor;
	-webkit-transition: width 0.5s ease;
	transition: width 0.5s ease;
}

nav ul#menu-main > li > a:after {
	right: 0;
	-webkit-transition: width 0.5s ease;
	transition: width 0.5s ease;
	background: currentColor;
}

nav ul#menu-main > li > a:hover:after {
	width: 100%;
	background: transparent;
	-webkit-transition: all 0s;
	transition: all 0s;
}

body.menu-open nav {
	pointer-events: all;
	opacity: 1;
	visibility: visible;
}

body.menu-closing nav {
	opacity: 0;
	visibility: visible;
}

@media (min-width: 1024px) {
	nav > div {
		padding: var(--size-400) var(--size-800);
	}
}
footer {
	background-color: var(--ink);
}

footer div.row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--size-400);
	padding: var(--size-800) 0;
}

footer div.row:first-of-type {
	border-bottom: 1px solid var(--off-white);
}

footer div.row:last-of-type {
	border-top: 1px solid var(--off-white);
}

@media (min-width: 768px) {
	footer > div.row {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		padding: 1rem 0;
	}
	footer div.row:last-of-type > div,
footer div.row:last-of-type p {
		width: auto;
		max-width: none;
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 auto;
		        flex: 1 1 auto;
	}
}
@media (min-width: 1024px) {
	footer div.row:last-of-type > div:last-of-type p {
		text-align: right;
	}
}
footer div.row:last-of-type p {
	font-size: var(--size-200);
	margin: 0;
}

footer div.row > div {
	width: 100%;
}

footer h2 {
	margin: 0;
	font-size: var(--size-700);
}

@media (min-width: 768px) {
	footer div.row > div {
		width: 50%;
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
	}
}
@media (min-width: 1200px) {
	footer div.row > div {
		max-width: var(--col-width);
	}
}
footer .footer-logos {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	gap: var(--size-500);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: 100%;
	padding: 0 0 var(--size-800);
}

@media (min-width: 1024px) {
	footer .footer-logos {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		gap: var(--size-400);
	}
	footer h2 {
		font-size: var(--size-900);
	}
}
footer .footer-logos > .footer-logo,
footer .footer-logos > .footer-logo a footer .footer-logos > .footer-logo picture {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

footer .footer-logos > .footer-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 135px;
	max-height: 80px;
	mix-blend-mode: lighten;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}

footer ul.footer-social {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--size-400);
}

footer ul.footer-social > li > a {
	text-decoration: none;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

footer ul.footer-social > li > a:hover {
	opacity: 0.5;
}

footer svg path:not(.ink) {
	fill: var(--ice);
}

footer .contact-info hr {
	border-color: var(--ice);
}

footer .contact-info ul > li {
	margin: 0 0 var(--size-500);
}

footer .contact-info ul > li:last-of-type {
	margin-bottom: 0;
}

footer .contact-info ul > li > a {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	line-height: inherit;
	-webkit-transition: color 0.25s;
	transition: color 0.25s;
}

footer .contact-info ul > li > a:hover {
	color: var(--sea);
}

footer ul#menu-footer {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer ul#menu-footer > li {
	line-height: 1;
	margin-bottom: var(--size-500);
}

footer ul#menu-footer > li > a {
	text-decoration: none;
	-webkit-transition: color 0.25s;
	transition: color 0.25s;
}

footer ul#menu-footer > li > a:hover {
	color: var(--sea);
}

footer .mc4wp-form .mc4wp-form-fields {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	gap: var(--size-400);
}

footer .mc4wp-form p {
	margin: 0;
}

footer .mc4wp-form p.mc4wp-email {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}

footer .mc4wp-form input[type=submit] {
	-webkit-box-shadow: 0px 0px 0px 2px var(--ice) inset;
	        box-shadow: 0px 0px 0px 2px var(--ice) inset;
}

footer .mc4wp-form input[type=submit]:hover {
	-webkit-box-shadow: 0px 0px 0px 3px var(--ice) inset;
	        box-shadow: 0px 0px 0px 3px var(--ice) inset;
}

footer * {
	color: var(--ice);
}

.inner-wrapper {
	padding: 0 var(--size-400);
	max-width: 1200px;
	margin: 0 auto;
}

@media (min-width: 1300px) {
	.inner-wrapper {
		padding: 0;
	}
}
section:not(.no-padding) {
	padding: var(--size-700) 0;
}

@media (min-width: 940px) {
	section:not(.no-padding) {
		padding: var(--size-900) 0;
	}
	section.small-padding {
		padding: var(--size-700) 0;
	}
	section.with-sub {
		padding: var(--size-700) 0 var(--size-900);
	}
}
section.no-padding-top {
	padding-top: 0;
}

section.no-padding-bottom {
	padding-bottom: 0;
}

/* two column layout */
section.two-col div.columns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--size-700);
}

@media (min-width: 1024px) {
	section.two-col div.columns {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	section.two-col div.columns > div {
		width: 50%;
	}
	section.two-col div.columns > div:first-of-type {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
}
/* single posts */
@media (min-width: 940px) {
	body.single-post h1 {
		font-size: var(--size-800);
	}
}
body.single:not(.single-work) section.hero:not(.has-post-thumb) {
	margin-bottom: var(--size-900);
	border-bottom: 1px solid var(--border-colour);
}

body.single section.hero.has-post-thumb {
	padding-bottom: var(--size-400);
}

body.single div.post-meta {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--size-400);
	margin: var(--size-200) 0 var(--size-600);
}

body.single section.hero.has-post-thumb img.wp-post-image {
	margin-top: var(--size-600);
	height: auto;
}

body.single div.post-meta p {
	margin: 0;
}

body.single ul.post-categories {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin: 0;
	padding: 0;
}

body.single ul.post-categories > li {
	background-color: var(--clay);
	padding: var(--size-100) 0.75rem;
}

body.single article h2,
body.single article h3,
body.single article h4 {
	margin: var(--size-700) 0 var(--size-400);
}

body.single article img {
	height: auto;
}

body.single article img,
body.single article iframe {
	display: inline-block;
	margin: var(--size-400) 0;
}

body.single article .wp-caption img {
	display: block;
	margin: 0;
}

body.single article a:not(.button) {
	color: var(--sky-dark);
}

/* post categories list */
ul.post-categories {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: var(--size-400) 0 0;
	padding: 0;
}

ul.post-categories > li {
	color: inherit;
	border-radius: var(--border-radius-pill);
	padding: var(--size-100) 0.75rem;
	font-size: var(--size-200);
	line-height: initial;
}

ul.post-categories > li > a {
	text-decoration: none;
	line-height: 1;
}

.tiles {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	grid-gap: var(--size-700);
	grid-auto-flow: dense;
	margin-bottom: var(--size-700);
}

@media (min-width: 640px) {
	.tiles {
		-ms-grid-columns: 1fr var(--size-700) 1fr;
		grid-template-columns: 1fr 1fr;
	}
}
@media (min-width: 1024px) {
	.tiles {
		grid-gap: var(--size-800) var(--size-700);
	}
}
article.tile {
	width: 100%;
	border: 0px solid transparent;
	overflow: hidden;
	position: relative;
	z-index: 0;
	color: var(--black);
	-webkit-transition: -webkit-transform 0.25s;
	transition: -webkit-transform 0.25s;
	transition: transform 0.25s;
	transition: transform 0.25s, -webkit-transform 0.25s;
}

article.tile img {
	display: block;
	width: 100%;
	height: auto;
}

article.tile h2.h5 {
	margin: 1rem 0 0;
	max-width: 100%;
}

article.tile p {
	margin: 0.4rem 0;
}

article.tile ul.post-categories {
	margin: 0.5rem 0 0;
	padding: 0;
	gap: 0;
}

article.tile ul.post-categories > li {
	background-color: transparent;
	padding: 0;
}

article.tile a {
	text-decoration: none;
}

/* share */
section.share > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--size-400);
}

.filters > div {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--size-400);
	padding-top: var(--size-400);
	position: relative;
}

@media (max-width: 767px) {
	.filters > div > span {
		display: none;
	}
}
.filters > h3,
.filters .button {
	margin: 0;
}

.filters summary {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: var(--size-400);
	cursor: pointer;
	outline: none;
	list-style: none !important;
}

.filters summary::-webkit-details-marker {
	display: none;
}

.filters summary:after {
	display: inline-block;
	content: "▼";
}

.filters details[open] summary {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	border-bottom-color: transparent;
}

.filters details > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: var(--size-100);
	position: absolute;
	top: 100%;
	left: 0;
	background-color: var(--clay);
	width: auto;
	min-width: 100%;
	padding: var(--size-400);
	border: 1px solid var(--dark-clay);
	border-radius: 0 var(--border-radius) var(--border-radius) var(--border-radius);
	font-size: var(--size-300);
}

.filters details > div > a {
	font-size: inherit;
	text-decoration: none;
}

@media (min-width: 768px) {
	.filters details {
		position: relative;
	}
	.filters details > div {
		min-width: 300px;
	}
}
@media (min-width: 1024px) {
	.filters details > div {
		min-width: 500px;
	}
}
/* Logos section */
section.section--logos .logos {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	gap: var(--size-500);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: 100%;
	margin-top: var(--size-400);
}

@media (min-width: 1024px) {
	section.section--logos .logos {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		gap: var(--size-400);
	}
}
section.section--logos .logos > .logo img {
	width: auto;
	height: auto;
	max-width: 80px;
	max-height: 70px;
}

/* Image block */
section.section--image img {
	display: block !important;
	height: auto;
	margin: 0 !important;
}

section.section--image-full img {
	width: 100%;
	height: auto;
}

/* media and text */
section.section--media-text > .inner-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--size-400);
}

@media (min-width: 1024px) {
	section.section--media-text > .inner-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: var(--size-800);
	}
	section.section--media-text.section--media-text--flipped > .inner-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
	}
	section.section--media-text > .inner-wrapper > div {
		width: 50%;
	}
	section.section--media-text > .inner-wrapper > div:last-of-type {
		max-width: var(--col-width);
	}
	@supports (selector(:has(p))) {
		section.section--media-text > .inner-wrapper > div:has(h2) > h2:first-of-type,
section.section--media-text > .inner-wrapper > div:has(h3) > h3:first-of-type {
			margin-top: 0;
		}
	}
}
section.section--media-text > .inner-wrapper img {
	width: 100%;
	height: auto;
}

/* pullquote */
section.section--quote blockquote {
	margin: 0;
}

@media (min-width: 1024px) {
	section.section--quote blockquote > div {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
}
section.section--quote blockquote svg {
	display: inline-block;
	width: var(--size-800);
	height: auto;
	margin: 0 0 var(--size-400);
}

section.section--quote blockquote svg path {
	fill: currentColor;
}

@media (min-width: 1024px) {
	section.section--quote blockquote svg {
		margin: var(--size-100) var(--size-400) 0 0;
	}
}
section.section--quote blockquote > div > p {
	font-size: var(--size-700);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: inherit;
	margin: 0;
	padding-left: 0;
	border-left: 0;
	max-width: 28ch;
}

@media (min-width: 940px) {
	section.section--quote blockquote > div > p {
		font-size: var(--size-800);
	}
}
section.section--quote blockquote > div.cite {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	margin: var(--size-700) 0 0;
}

@media (min-width: 640px) {
	section.section--quote blockquote > div.cite {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: var(--size-400);
	}
}
@media (min-width: 1024px) {
	section.section--quote blockquote > div.cite {
		margin: var(--size-700) 0 0 var(--size-900);
	}
}
section.section--quote blockquote > div.cite img {
	display: inline-block;
	width: 5rem;
	height: auto;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	border-radius: 50%;
}

section.section--quote blockquote cite {
	display: inline-block;
	width: auto;
	max-width: 45ch;
	font-weight: inherit;
	font-size: inherit;
	line-height: 1.5;
	margin: var(--size-400) var(--size-400) 0 0;
	padding-left: 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
}

@media (min-width: 640px) {
	section.section--quote blockquote cite {
		margin: 0;
	}
}
section.section--quote a {
	color: inherit !important;
}

section.section--quote blockquote cite > p {
	margin: 0;
}

section.section--quote blockquote cite > h3,
section.section--quote blockquote cite > h4 {
	margin: 0;
}

/* text block two columns */
section.section--text-two-columns > .inner-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--size-400);
}

@media (min-width: 1024px) {
	section.section--text-two-columns > .inner-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: var(--size-800);
	}
	section.section--text-two-columns > .inner-wrapper > div {
		width: 50%;
		max-width: var(--col-width);
	}
}
/* text block three columns */
section.section--text-three-columns > .inner-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--size-400);
}

@media (min-width: 1024px) {
	section.section--text-three-columns > .inner-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: var(--size-800);
	}
	section.section--text-three-columns > .inner-wrapper > div {
		width: 33.33%;
	}
}
/* video block */
div.iframe-wrapper {
	width: 100%;
	height: 0;
	padding-top: 56.2%;
	position: relative;
}

div.iframe-wrapper a {
	text-decoration: none;
}

div.iframe-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

div.iframe-wrapper iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: none;
	margin: 0 !important;
}

div.iframe-wrapper video {
	-o-object-fit: cover;
	   object-fit: cover;
}

.wp-pagenavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	gap: var(--size-200);
}

.wp-pagenavi span.current {
	background-color: var(--black);
	color: var(--ice);
}

.wp-pagenavi span.current, .wp-pagenavi a.page, .wp-pagenavi span.extend {
	width: 56px;
	height: 56px;
	line-height: 56px;
	vertical-align: middle;
	padding: 0;
}

.wpcf7 {
	margin-bottom: var(--size-800);
}

.wpcf7 form > div {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	grid-gap: var(--size-400);
}

@media (min-width: 768px) {
	.wpcf7 form > div {
		-ms-grid-columns: 1fr var(--size-400) 1fr;
		grid-template-columns: 1fr 1fr;
	}
	.wpcf7 form > div > div.span-2 {
		-ms-grid-column: 1;
		    grid-column-start: 1;
		-ms-grid-column-span: 2;
		grid-column-end: 3;
	}
}
.wpcf7 form .wpcf7-response-output {
	border: none;
	padding: 0;
	margin: var(--size-700) 0 var(--size-400);
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
}

.wpcf7-not-valid-tip {
	font-size: var(--size-200);
	line-height: 1;
	margin-top: var(--size-100);
}

/*
* If using ACF flexible content, include these
* to use the basic set of blocks ready to go
*/
/*
* Add styles for Gutenberg if using that as the content entry system
*/
