/**************************************************
		Content
 **************************************************

	00. Externals
	01. Browser Reset
	02. Basic styles
	03. Basic wireframe
	04. Header
	05. Footer
	06. Modules
	07. Homepage
	  a Lead Post
	  b Featured Post
	  c Category overview
	  d Newsletter bar
	  e Contact bar
	  f Instagram bar
	08. Post grids
	09. Archives
	10. Single: general
	11. Single: content
	12. Single: comments
	13. Pages
	
	xx. Misc and Wordpress specials


/**************************************************
	00. Externals
 **************************************************/

@font-face {
	font-family: 'FoundersGrotesk';
	src: url('../fonts/FoundersGrotesk-Light.eot');
	src: url('../fonts/FoundersGrotesk-Light.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/FoundersGrotesk-Light.woff2') format('woff2'),
		 url('../fonts/FoundersGrotesk-Light.woff') format('woff'),
		 url('../fonts/FoundersGrotesk-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'FoundersGrotesk';
	src: url('../fonts/FoundersGrotesk-Regular.eot');
	src: url('../fonts/FoundersGrotesk-Regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/FoundersGrotesk-Regular.woff2') format('woff2'),
		 url('../fonts/FoundersGrotesk-Regular.woff') format('woff'),
		 url('../fonts/FoundersGrotesk-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'FoundersGrotesk';
	src: url('../fonts/FoundersGrotesk-Medium.eot');
	src: url('../fonts/FoundersGrotesk-Medium.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/FoundersGrotesk-Medium.woff2') format('woff2'),
		 url('../fonts/FoundersGrotesk-Medium.woff') format('woff'),
		 url('../fonts/FoundersGrotesk-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'SelfModern';
	src: url('../fonts/SelfModernTrial-Text.eot');
	src: url('../fonts/SelfModernTrial-Text.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/SelfModernTrial-Text.woff2') format('woff2'),
		 url('../fonts/SelfModernTrial-Text.woff') format('woff'),
		 url('../fonts/SelfModernTrial-Text.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'SelfModern';
	src: url('../fonts/SelfModernTrial-Regular.eot');
	src: url('../fonts/SelfModernTrial-Regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/SelfModernTrial-Regular.woff2') format('woff2'),
		 url('../fonts/SelfModernTrial-Regular.woff') format('woff'),
		 url('../fonts/SelfModernTrial-Regular.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'SelfModern';
	src: url('../fonts/SelfModernTrial-Italic.eot');
	src: url('../fonts/SelfModernTrial-Italic.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/SelfModernTrial-Italic.woff2') format('woff2'),
		 url('../fonts/SelfModernTrial-Italic.woff') format('woff'),
		 url('../fonts/SelfModernTrial-Italic.ttf') format('truetype');
	font-weight: 300;
	font-style: italic;
}








/**************************************************
	01. Browser Reset
 **************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, ol, ul, li, fieldset, form, label, caption, tr, th, td, canvas, embed, 
figure, figcaption, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

figcaption, figure {
	display: block;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}



/**************************************************
	02. Basic Styles
 **************************************************/

* {
	box-sizing: border-box;

	--blue:       #01012D;
	--darkgray:   #666666;
	--gray: 	  #9D9D9D;
	--lightgray:  #EBEBEB;
	--green:      #9ABB95;
	--lightgreen: #ABD0A6;
	--offwhite:   #F6F6F6;
	--peach:      #EDD8C6;
	--red: 		  #D47D7D;
	--white:      #FFFFFF;
}

html, body {
	margin: 0px;
	padding: 0px;
	min-width: 100%;
	min-height: 100%;
	font-size: 12px;
	line-height: 1.3333333;
	background: var(--offwhite);
/*	scroll-behavior: smooth; */
}

body {
	position: relative;

	color: var(--blue);
	font-family: SelfModern, Times, Georgia, serif;
	font-weight: 500;
	
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	hanging-punctuation: force-end;
	hyphens: auto;
	word-wrap: break-word;
}

h1, h2, h3, h4, h5, h6, .alpha, .beta, .gamma, .delta, .epsilon, .zeta {
	-webkit-column-break-after: avoid;
	-moz-column-break-after: avoid;
	break-after: avoid;
	letter-spacing: 0.07em;
	word-spacing: 0.07em;
}

h1 {
	line-height: 1;
}

/*h2 {
	font-size: 2.15rem;
}

h3 {
	font-size: 1.95rem;
}

h4 {
	font-size: 1.25rem;
}

h5, h6 {
	font-size: 1rem;
}*/

p {
	margin-bottom: 1.33333em;
	hanging-punctuation: force-end;
}

p:last-child, p:empty {
	margin-bottom: 0;
}

ul, ol {
	list-style-type: none;
	list-style-position: outside;
}

img, iframe {
	outline: 0;
	display: block;
	-moz-user-select: none;
	user-select: none;
}

strong, b {
	font-weight: 700;
}

em, i {
	font-style: oblique;
}

a, a:link, a:visited, a:active, a:focus {
	color: var(--blue);
	text-decoration: none;
}

a:hover {
	outline: none;
}

sup, sub {
	font-size: 0.8em;
	line-height: 1em;
	vertical-align: super;
}

sub {
	vertical-align: sub;
}

blockquote p {
	quotes: "\201E" "\201C" "\201A" "\2018";	
}

blockquote p:before,
q:before {
	content: open-quote;
}

blockquote p:after,
q:after {
	content: close-quote;
}



.uc,
.content .wp-block-cover .wp-block-cover-text,
.content blockquote,
.button,
.form-field label {
	text-transform: uppercase;
	letter-spacing: 0.07em;
	word-spacing: 0.07em;
}

.ss,
input,
.header ul.menu > li > a,
.content .wp-block-cover .wp-block-cover-text,
.content blockquote,
.content .wp-block-question,
.content .wp-block-vvh-vvh-question,
.content figcaption,
.button,
.form-field input,
.form-field textarea,
.form-field label {
	font-family: FoundersGrotesk, Helvetica, Arial, sans-serif;
}

.serif,
.header-search input[type="text"],
.header-search input[type="text"]::placeholder,
.archive-community .post-tile .post-tile-title {
	font-family: SelfModern, Times, Georgia, serif;
}


.image-preloader {
	position: relative;
	max-width: 100%;
	overflow: hidden;
}

.image-preloader.loaded {
	filter: blur(0px);
}

img.lazy {
	position: static;
	filter: blur(2.0vw);
	transform: scale(1.05);
	opacity: 1;

	-webkit-transition: opacity 0.5s ease, transform 0.5s ease;
	   -moz-transition: opacity 0.5s ease, transform 0.5s ease;
	     -o-transition: opacity 0.5s ease, transform 0.5s ease;
	        transition: opacity 0.5s ease, transform 0.5s ease;
}

.image-preloader.loaded img.lazy {
	opacity: 0;
	transform: scale(1);
	margin: 0 auto;
}

.alignright img.lazy,
.alignleft img.lazy {
	width: 100%;
}

.no-js img.lazy {
	display: none;
}

.image-preloader img:not(.lazy) {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	margin: 0;
}

.image-preloader:not(.loaded) img:not(.lazy) {
	opacity: 0;
}

.js .video-container {
	position: relative;
	width: 100%;
	max-width: 900px;
	height: 0;
	margin: 0 auto 2.25rem;
}

.js .video-container:last-child {
	margin-bottom: 0;
}

.js .video-container iframe,
.js .video-container embed {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}



 .s              { font-size: 0.83333rem; }
 .m, .content h4 { font-size: 1.16666rem; }
.ml, .content h3 { font-size: 1.45rem; }
 .l, .content h2 { font-size: 1.66666rem; }
.xl, h1          { font-size: 1.83333rem; }

@media (min-width: 750px) {
	 .s              { font-size: 1rem; }
	 .m, .content h4 { font-size: 1.3rem; }
	.ml, .content h3 { font-size: 1.66666rem; }
	 .l, .content h2 { font-size: 2.1rem; }
	.xl, h1          { font-size: 2.5rem; }
}

@media (min-width: 900px) {
	 .s              { font-size: 1.16666rem; }
	 .m, .content h4 { font-size: 1.45rem; }
	.ml { font-size: 2.0rem ; }
	 .l, .content h2 { font-size: 2.5rem; }
	.xl, h1          { font-size: 3.25rem; }
}

@media (min-width: 1200px) {
	 .s              { font-size: 1.25rem; }
	 .m, .content h4 { font-size: 1.6666rem; }
	.ml, .content h3 { font-size: 2.25rem; }
	 .l, .content h2 { font-size: 3rem; }
	.xl, h1          { font-size: 3.5rem; }
}


/**************************************************
	03. Basic wireframe
 **************************************************/

.wrapper {
	width: 100%;
	min-height: 100%;
}

.main {
	width: 100%;
	min-height: calc(100vh - 118px);
	margin: 0 auto;
	padding-top: 36px;
}


@media (min-width: 750px) {
	.main {
		min-height: calc(100vh - 177px);
	}
}




/**************************************************
	04. Header
 **************************************************/

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

.header-top-bar {
	position: relative;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--white);
}

.header-top-bar .header-middle {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
	padding: 0.4rem 0;
}

.header-mobile-menu-toggle {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 1.5rem;
	height: 13px;
	margin-left: 2rem;
	cursor: pointer;
}

.header-mobile-menu-toggle span {
	position: relative;
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--green);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.header-mobile-menu-toggle span:nth-child(2) {
	top: 2px;
}

.header-mobile-menu-toggle span:nth-child(3) {
	top: -2px;
}

.header.mobile-menu-active .header-mobile-menu-toggle span:nth-child(1),
.header.mobile-menu-active .header-mobile-menu-toggle span:nth-child(4) {
	opacity: 0;
}

.header.mobile-menu-active .header-mobile-menu-toggle span:nth-child(2) {
	transform: rotateZ(45deg);
}

.header.mobile-menu-active .header-mobile-menu-toggle span:nth-child(3) {
	transform: rotateZ(-45deg);
}

.header-mobile-menu {
	position: absolute;
	top: -100px;
	left: 0;
	width: 100%;
	opacity: 0;
	background-color: var(--green);
	z-index: 2;
	min-height: 50px;
	transition: top 0.3s ease, opacity 0.3s ease;
	pointer-events: none;
}

.header.mobile-menu-active .header-mobile-menu {
	top: 36px;
	opacity: 1;
	pointer-events: all;
	border-bottom: 1px solid var(--offwhite);
}

.header-left {
	display: none;
}

.header-right {
	height: 100%;
}

.header ul {
	display: flex;
	flex-direction: column;
	font-size: 1.5rem;
}

.header ul.menu > li,
.header ul.menu > li.menu-item-has-children ul.sub-menu {
	padding: 8px 0 3px 2rem;
	letter-spacing: 0.1em;
}

.header ul.menu > li {
	padding-right: 3.2rem;
	border-top: 1px solid var(--white);
}

.header-middle {
	text-transform: uppercase;
	color: var(--green);
}

.header ul li.menu-item-has-children {
	position: relative;
	cursor: pointer;
	max-height: 3rem;
	overflow: hidden;
	transition: background-color 0.2s ease, max-height 0.2s ease;
}

.header ul li.menu-item-has-children.active {
	background-color: var(--lightgreen);
}

.header .header-right ul.menu > li.menu-item-has-children ul.sub-menu {
	padding-left: 0;
	text-align: right;
}

.header .header-right ul.menu > li:not(:last-child) {
	display: none;
}

.header .header-right ul.menu > li:last-child {
	padding-right: 2rem;
}

.header .header-right li.menu-item-search {
	cursor: pointer;
}

.header .header-right li.menu-item-search svg {
	position: relative;
	width: 1rem;
	height: 1rem;
}

.header .header-right li.menu-item-search svg * {
	transition: fill 0.2s ease;
}

body:not(.search-active) .header .header-right li.menu-item-search:hover svg * {
	fill: var(--offwhite);
}

.header ul.menu > li > a {
	text-transform: uppercase;
	color: var(--white);
}

.header ul.menu > li.menu-item-has-children {
	user-select: none;
}

.header ul li ul.sub-menu a {
	color: var(--white);
}

.header ul li ul a:hover,
.header ul li ul li.current-menu-item a {
	color: var(--blue);
}

.header-bottom-bar {
	position: relative;
	z-index: 3;
	height: 0;
	overflow: hidden;
	transition: height 0.2s ease;
}

.header.show-bottombar .header-bottom-bar {
	background-color: var(--green);
}

body.search-active .header-bottom-bar {
	height: 4.2rem;
}

.header-middle .logo {
	height: 100%;
	width: auto;
}

.header-middle .logo svg {
	height: 100%;
	width: auto;
	fill: var(--green);
}

.header-search {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 2rem;

	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--offwhite);
	opacity: 0;
	pointer-events: none;

	transition: opacity 0.2s ease;
}

.header-search.active {
	opacity: 1;
	z-index: 1;
	pointer-events: all;
}

.header-search-glass {
	position: absolute;
	width: 2rem;
	height: 2rem;
	left: 2rem;
	top: 1rem;
}

.header-search-glass svg {
	width: 100%;
	height: 100%;
}

.header-search input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	font-size: 1rem;
	line-height: 1.3333em;
	border: 0;
	color: var(--blue);
}

.header-search input[type="text"] {
	width: 100%;
	border-bottom: 1px solid var(--green);
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
}

.header-search input[type="text"]::placeholder {
	color: transparent;
}

.header-search input[type="text"]:focus {
	outline: 0;
	border-color: var(--blue);
}

.header-search input[type="submit"],
.header-search-arrow {
	position: absolute;
	right: 2rem;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
}

.header-search-arrow {
	pointer-events: none;
}

.header-search-arrow:after {
	content: '→';
	position: relative;
	top: 0.3rem;
	left: 1rem;
	color: var(--green);
	font-family: sans-serif;
	font-size: 2rem;
}


@media (min-width: 430px) {
	.header-search input[type="text"]::placeholder {
		color: var(--green);
		opacity: 0.35;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}
}

@media (min-width: 500px) {
	.header-search input[type="text"] {
		font-size: 2rem;
	}
}

@media (min-width: 900px) {
	.header-top-bar {
		height: 3rem;
	}

	.header-mobile-menu-toggle,
	.header-mobile-menu {
		display: none;
	}

	.header-left {
		display: block;
		height: 100%;
	}

	.header-right,
	.header-right > div,
	.header-right ul.menu {
		height: 100%;
	}

	.header ul {
		flex-direction: row;
		font-size: 1rem;
	}

	.header ul li.menu-item-has-children {
		overflow: visible;
	}

	.header ul.menu > li {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 13px;
		padding-left: 2.2rem;
		border-top: none;
	}

	body:not(.search-active) .header ul.menu > li.menu-item-has-children.active {
		cursor: pointer;
	}

	.header .header-right ul.menu > li:not(:last-child) {
		display: flex;
		padding: 13px 0 3px;
	}

	.header ul.menu > li:not(.menu-item-has-children),
	.header .header-right ul.menu > li:not(.menu-item-has-children) {
		padding: 13px 2rem 0;
	}

	body:not(.search-active) .header ul.menu > li:hover,
	body:not(.search-active) .header ul.menu > li.active {
		background-color: var(--green);
	}

	.header .header-left ul.menu > li:first-child {
		padding: 13px 0 3px 2.2rem;
	}

	.header ul.menu > li + li {
		padding: 13px 0 0;
	}

	.header ul.menu > li.menu-item-has-children ul.sub-menu {
		padding: 2.4rem 0.6rem 3px;
		min-width: 100%;
		flex-direction: column;
		line-height: 1.7;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease;
	}

	.header ul.show-submenues li.menu-item-has-children ul.sub-menu {
		opacity: 1;
		pointer-events: all;
	}

	.header ul.menu > li > a {
		color: var(--green);
		transition: color 0.2s ease;
	}

	.header ul li ul.sub-menu a {
		opacity: 0.35;
		pointer-events: none;
		transition: opacity 0.2s ease, color 0.2s ease;
	}

	.header ul.show-submenues li.menu-item-has-children.active ul.sub-menu a {
		opacity: 1;
		pointer-events: all;
	}

	body:not(.search-active) .header ul.menu > li:hover > a,
	body:not(.search-active) .header ul.menu > li.active > a {
		color: var(--offwhite)
	}

	.header .header-right ul.menu > li:last-child {
		padding-right: 4.2rem;
	}

	body.search-active .header-bottom-bar {
		height: 7.8rem;
	}

	.header-search {
		padding: 0 4.2rem;
	}

	.header-search input[type="text"] {
		font-size: 2.5rem;
	}

	.header-search-glass {
		width: 3rem;
		height: 3rem;
		top: 2rem;
		left: 4rem;
	}

	.header-search input[type="submit"],
	.header-search-arrow {
		right: 4.2rem;
	}
}



/**************************************************
	05. Footer
 **************************************************/

.footer-branding {
	display: flex;
	min-height: 56px;
	padding-top: 0;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-color: var(--offwhite);
}

.footer-branding .logo {
	width: 5rem;
	height: 2rem;
}

.footer-branding .logo svg {
	width: 100%;
	height: 100%;
	fill: var(--green);
}

.footer-branding .branding-claim {
	display: none;
}

.branding-claim:not(:empty) {
	margin-top: 1rem;
	max-width: 25rem;
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	text-align: center;
	color: var(--green);
}

.footer-bottom-row {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1rem 2rem 0.5rem;
	background-color: var(--white);
}

.footer-bottom-row,
.footer-bottom-row a {
	color: var(--green);
	transition: color 0.2s ease;
}

.footer-left {
	text-align: center;
}

.footer-right ul {
	display: flex;
}

.footer-right li {
	transition: background-color 0.2s ease;
	padding: 8px 2.1rem 4px 2.1rem;
}

.cookie-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	padding: 0.4rem 2rem;
	z-index: 20;

	font-size: 1.25rem;
	line-height: 1.2;
	background-color: var(--offwhite);
	opacity: 1;
	transition: opacity 0.2s ease;
}

.cookie-notice.hidden,
.cookies-allowed .cookie-notice {
	opacity: 0;
	pointer-events: none;
}

.cookie-notice a {
	text-decoration: underline;
}

.cookie-notice .cookie-message {
	margin: 0 0 1.6rem;
}

.cookie-notice input {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	padding: 0.4em 1.3em 0em;

	font-size: 1.25rem;
	background: transparent;
	color: var(--blue);

}


@media screen and (min-width: 475px) {
	.cookie-notice {
		display: flex;
		align-items: center;
	}

	.cookie-notice .cookie-message {
		margin: 0 1.6rem 0 0;
	}
}

@media screen and (min-width: 750px) {
	.footer-branding {
		min-height: 149px;
	}

	.footer .branding-claim {
		display: block;
	}

	.footer-bottom-row {
		justify-content: space-between;
		align-items: baseline;
		flex-direction: row;
		padding: 0 0 0 4.2rem;
	}

	.footer-right li:last-child {
		padding-right: 4.2rem;
	}


	.footer-right li:hover {
		background-color: var(--green);
	}

	.footer-right li:hover a {
		color: var(--white);
	}
}




/**************************************************
	06. Modules
 **************************************************/

.module {
	position: relative;
	padding: 2.8rem 2rem;
}

.module:last-child {
	margin-bottom: 0;
}

.module-nonexistent {
	width: calc(100% - 6rem);
	margin: 3rem auto;
	padding: 1rem;
	border: 1px solid red;
	color: red;
}

.fw,
.hero {
	padding: 0;
}


@media (min-width: 700px) and (min-aspect-ratio: 1/1) {
	.hero:not(.has-no-thumb) {
		min-height: calc(100vh - 36px);
	}
}

@media (min-width: 700px) and (min-aspect-ratio: 16/9) {
	.hero:not(.has-no-thumb) {
		min-height: initial;
	}
}

@media (min-width: 900px) {
	.module:not(.hero):not(.fw) {
		padding: 2.8rem 4.2rem;
	}
}



/**************************************************
	07. Homepage
 **************************************************/


/* 07a Lead Post */

.module-leadpost {
	color: var(--green);
}

.module-leadpost .post-thumb,
.module-leadpost .post-card-content {
	height: 50%;
}

.module-leadpost .post-thumb .cover-container {
	width: 100%;
	height: 100%;
}

.module-leadpost .post-card-content {
	padding: 1rem 2rem 1rem;
	text-align: center;
}

.module-leadpost .post-card-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc(100% - 1.33333em);
	width: 100%;
}

.module-leadpost .post-card-inner:before {
	content: '';
	display: block;
}

.module-leadpost .post-card-meta {
	display: flex;
	justify-content: space-between;
}

.module-leadpost .post-card-title {
	margin: 4rem 0 2rem;
}

.module-leadpost a {
	color: var(--green);
}

.module-leadpost .post-card-excerpt {
	margin-bottom: 2rem;
}


/* 07b Featured Post */

.module-featuredpost {
	position: relative;
	overflow: hidden;
	height: calc(100vh - 81px);
}

.module-featuredpost .post-thumb,
.module-featuredpost .post-thumb .cover-container {
	width: 100%;
	height: 100%
}

.module-featuredpost .post-card-content {
	position: absolute;
	bottom: 2rem;
	left: 0;
	width: 100%;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.module-featuredpost .post-card-title {
	max-width: 50vw;
	margin-bottom: 2.25rem;
	line-height: 1.1;
	text-align: center;
}

.module-featuredpost .post-card-title a {
	color: var(--green);
}

.module-featuredpost .post-card-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width: 66vw;
	color: var(--white);
}

.module-featuredpost .post-card-meta a {
	color: var(--white);
}


/* 07c Category Overview */

.module-categoryoverview {
	background-color: var(--green);
	color: var(--white);
}

.archive-community .module-categoryoverview {
	background-color: var(--blue);
}

.category-filters {
	display: none;
}

.module-categoryoverview .module-title {
	max-width: 600px;
	margin: 2rem auto;
	line-height: 1.2;
	text-align: center;
}

.module-categoryoverview .module-subtitle {
	margin: 0 auto 3rem;
	text-align: center;
}

.module-categoryoverview .post-grid {
	margin-bottom: 4rem;
	transition: filter 0.3s ease;
}

.module-categoryoverview .post-grid.fetching {
	filter: blur(5px);
	overflow: hidden;
}


/* 07d Newsletter bar */

.module-newsletterbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	background-color: var(--green);
	color: var(--offwhite);
}

.module-newsletterbar .module-caption {
	display: flex;
	align-items: baseline;
}

.module-newsletterbar .module-subtitle {
	display: none;
}

.module-newsletterbar form {
	position: relative;
}

.module-newsletterbar .form-field input[type="email"] {
	padding-right: 4rem;
	background-color: transparent;
	border-bottom-color: var(--white);
	color: var(--white);
}

.module-newsletterbar .form-field input[type="email"] + label {
	color: var(--white);
}

.module-newsletterbar .form-field input[type="email"]:focus + label,
.module-newsletterbar .form-field.notempty + input[type="email"] + label {
	top: 1rem;
}

.module-newsletterbar .submit-field {
	padding-top: 0rem;
}

.module-newsletterbar input[type="submit"] {
	position: absolute;
	right: 0;
	top: -4.6rem;
	padding: 0;
	border: none;
	background-color: transparent;
	color: var(--white);
	cursor: pointer;
}

.module-newsletterbar .form-disclaimer a {
	color: var(--white);
}



/* 07e Contact bar */

.module-contactbar {
	position: relative;
	display: flex;
	background-color: var(--offwhite);
	overflow: hidden;
}

.module-contactbar .module-thumb {
	width: 50%;
	height: 0;
}

.module-contactbar .module-thumb .cover-container {
	position: absolute;
	width: 50%;
	height: 100%;
	top: 0;
	left: 0;
}

.module-contactbar .module-inner {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 50%;
	padding: 4rem 4.2rem 4rem 2rem;
	color: var(--green);
}

.module-contactbar .module-inner a {
	color: var(--green);
}

.module-contactbar .contact-quote {
	display: none;
	line-height: 1.2;
	text-align: center;
}

.module-contactbar .contactbar-signature {
	width: 100%;
	align-self: flex-start;
	order: 2;
}

.module-contactbar .contactbar-signature img,
.module-contactbar .contactbar-signature video,
.module-contactbar .contactbar-signature .image-preloader {
	width: 100%;
	height: auto;
}

.module-contactbar .contactbar-link {
	text-align: center;
}


/* 07f Instagram bar */

.module-instagrambar {
	background-color: var(--white);
}

.module-instagrambar .module-title,
.module-instagrambar .module-subtitle {
	line-height: 1.2;
	text-align: center;
	color: var(--green);
}

.module-instagrambar .module-subtitle a {
	color: var(--green);
}

.module-instagrambar .ig-gallery {
	margin-top: 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.module-instagrambar .ig-gallery .ig-post {
	width: calc(50% - 2rem);
	margin: 0 4rem 4rem 0;
}

.module-instagrambar .ig-gallery .ig-post:nth-child(2n + 2) {
	margin-right: 0;
}

.module-instagrambar .ig-gallery .ig-post img {
	width: 100%;
	height: auto;
}



@media (min-width: 600px) {
	.category-filters {
		display: flex;
		align-items: baseline;
		justify-content: center;
		flex-wrap: wrap;
		width: calc(100% + 2rem);
		margin-left: -1rem;
		line-height: 1.2;
	}

	.category-filter {
		margin: 0 1rem 1rem;
		cursor: pointer;
		transition: color 0.2s ease;
	}

	.category-filter:hover,
	.category-filter.active {
		color: var(--blue);
	}

	.archive-community .category-filter:hover,
	.archive-community .category-filter.active {
		color: var(--green);
	}

	.category-filter.active {
		cursor: default;
	}
}

@media (min-width: 700px) {
	.module-instagrambar .ig-gallery .ig-post {
		width: calc(25% - 4rem);
	}

	.module-instagrambar .ig-gallery .ig-post:nth-child(2n + 2) {
		margin-right: 4rem;
	}

	.module-instagrambar .ig-gallery .ig-post:nth-child(4n + 4) {
		margin-right: 0;
	}
}

@media (min-width: 750px) {
	.module-contactbar .module-inner {
		padding: 8rem 4.2rem 8rem 2rem;
	}

	.module-contactbar .contact-quote {
		display: block;
	}

	.module-contactbar .contactbar-link {
		margin-top: 4.2rem;
	}

	.module-contactbar .contactbar-signature {
		position: relative;
		left: 2rem;
		width: 30%;
		max-width: 200px;
		height: 0;
		order: 1;
	}
}

@media (min-width: 900px) {
	.module-leadpost {
		display: flex;
		flex-direction: row-reverse;
	}

	.module-leadpost .post-thumb,
	.module-leadpost .post-card-content {
		width: 50%;
		height: calc(100vh - 36px);
	}

	.module-leadpost .post-card-content {
		position: relative;
		display: flex;
		flex-direction: row-reverse;
		padding: 2rem 0rem 1rem 2rem;
	}

	.module-leadpost .post-card-title {
		margin: 0;
	}

	.module-leadpost .post-card-excerpt {
		margin-bottom: 0rem;
	}

	.module-leadpost .post-card-meta {
		text-orientation: mixed;
		writing-mode: vertical-lr;
		transform: rotate(180deg);
		padding: 1.9rem 2.666rem 1.9rem 0.4rem;
	}

	.module-leadpost .post-card-inner {
		position: relative;
		justify-content: center;
	}

	.module-leadpost .post-card-inner:before {
		display: none;
	}

	.module-leadpost .post-card-title {
		margin: 0 auto 1.333rem;
		max-width: calc(100% - 2rem);
		line-height: 1.1;
	}

	.module-leadpost .post-card-excerpt {
		line-height: 1.5;
	}

	.module-leadpost .post-people {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}

	.module-newsletterbar {
		align-items: baseline;
		flex-direction: row;
	}

	.module-newsletterbar .module-subtitle {
		display: block;
		margin-left: 4rem;
	}
}

@media (min-width: 1175px) {
	.category-filters {
		justify-content: space-between;
		flex-wrap: nowrap;
		width: 100%;
		margin-left: 0;
	}

	.category-filter {
		margin: 0;
	}
}

@media (min-width: 1200px) {
	.module-instagrambar .ig-gallery {
		flex-wrap: nowrap;
	}

	.module-instagrambar .ig-gallery .ig-post,
	.module-instagrambar .ig-gallery .ig-post:nth-child(2n + 2),
	.module-instagrambar .ig-gallery .ig-post:nth-child(4n + 4) {
		width: calc(12.5% - 4rem);
		margin: 0;
	}
}


@media (min-width: 1600px) {
	.module-contactbar .contactbar-signature {
		top: 0;
	}
}




/**************************************************
	08. Post grids
 **************************************************/

.module-latestposts {
	background-color: var(--lightgray);
}

.archive-title {
	margin: 1rem auto 3rem;
	font-size: 1.25rem;
	text-align: center;
	color: var(--green);
}

.post-grid-has-nav {
	position: relative;
	width: 100vw;
	overflow: hidden;
	margin-left: -2rem;
}

.post-grid {
	display: flex;
	flex-wrap: wrap;
}

.post-grid-has-nav .post-grid {
	width: auto;
	flex-wrap: nowrap;
	transition: transform 0.2s ease;
}

.post-tile {
	position: relative;
	width: 100%;
	padding-bottom: 3.2rem;
}

.post-grid-has-nav .post-tile {
	flex-shrink: 0;
}

.post-grid-has-nav .post-tile:first-child {
	margin-left: 4rem;
}

.post-grid-has-nav .post-tile:last-child {
	margin-right: 4rem;
}

.post-grid .disclaimer {
	width: 100%;
	line-height: 1.2;
	text-align: center;
}

.post-tile-community {
	background-color: var(--offwhite);
}

.post-tile-community:nth-child(2n) {
	background-color: var(--lightgray);
}

*:not(.post-grid-has-nav) > .post-grid .post-tile:not(.post-tile-community) + .post-tile:not(.post-tile-community) {
	margin-top: 3.2rem;
}

.post-grid-has-nav .post-tile {
	width: calc(100% - 8rem);
	margin: 0 1rem;
}

.post-tile-community {
	display: flex;
	flex-direction: column;
	padding-bottom: 0;
}

.post-tile-thumb {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 107%;
}

.post-tile-community .post-tile-thumb {
	padding-bottom: 84%;
}

.post-tile-thumb .cover-container {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.post-tile-info {
	padding-top: 3rem;
}

.post-tile-community .post-tile-info {
	display: flex;
	flex-direction: column;
	padding-top: 0;
	height: 100%;
}

.post-grid-has-nav .post-tile-info {
	padding: 3rem 2rem 0;
}

.post-tile-date {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	line-height: 1.2;
	color: var(--white);
}

.post-tile-small .post-tile-date {
	color: var(--darkgray);
}

.post-tile-title {
	line-height: 1.2;
	color: var(--green);
}

.post-grid-4 .post-tile-title {
	font-size: 1.6666rem;
	line-height: 1.2;
}

.post-tile-community .post-tile-title {
	position: relative;
	height: 100%;
	padding: 1rem 0.5rem;
}

.post-tile-community:nth-child(2n) .post-tile-title {
	background-color: var(--lightgray)
}

.archive-community.post-grid-touching .post-tile-community .post-tile-title {
	min-height: 15rem;
}

.post-tile-title a {
	color: var(--green);
}

.post-tile-community .post-tile-title a {
	color: var(--blue);
}

.archive-community.post-grid-touching .post-tile-community .post-tile-title {
	color: var(--blue);
}

.post-tile-excerpt {
	font-size: 1.4rem;
	line-height: 1.5;
	color: var(--green);
}

.post-tile-meta {
	margin: 2rem 0 1rem;
	font-size: 1.25rem;
	color: var(--white);
}

.post-grid-has-nav .post-tile-meta {
	position: static;
	margin-top: 1rem;
}

.post-tile-small .post-tile-meta,
.post-tile-community .post-tile-meta {
	display: flex;
	justify-content: space-between;
	width: calc(100% - 4rem);
	left: 2rem;

	line-height: 1.2;
	color: var(--blue);
}

.post-tile-small .post-tile-meta {
	position: static;
	width: 100%;
	margin-top: 0;
	color: var(--darkgray);
}

.post-tile-community .post-tile-meta {
	width: 100%;
	left: 0;
	color: var(--blue);
	bottom: -3rem;
	padding: 0 0.5rem;
	margin-top: 4rem;
}

.post-grid-touching .post-tile-community .post-tile-meta {
	position: relative;
	left: 0;
	bottom: 0;
	z-index: 2;
	padding: 0 0.5rem;
	color: var(--blue);
}

.post-tile-meta a {
	color: var(--white);
}

.post-tile-small .post-tile-meta a {
	color: var(--darkgray);
}

.post-tile-community .post-tile-meta a {
	color: var(--blue);
}

.post-tile-meta div {
	display: inline-block;
}

.post-tile-community .post-tile-date {
	flex-shrink: 0;
	line-height: 1.2;
	color: var(--blue);
}

.post-grid-touching .post-tile-community .post-tile-date {
	color: var(--blue);
}

.post-tile-small .post-tile-title a {
	color: var(--white);
}

.post-grid-navigation {
	display: flex;
	justify-content: center;
	margin: 3rem auto 0;
	width: 100%;
}

.post-grid-navigation .button + .button {
	margin-left: 2rem;
}

.nav-arrows {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.nav-arrow {
	height: 100%;
	width: 4rem;
	cursor: pointer;
	pointer-events: all;
}

.post-grid-slide-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 2rem auto 0;
}

.post-grid-slide-nav .nav-button {
	display: block;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	margin: 0 0.5rem;
	background-color: var(--white);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.post-grid-slide-nav .nav-button.active {
	background-color: var(--green)
}


@media screen and (min-width: 600px) {
	.post-grid-has-nav {
		width: 100%;
		margin-left: 0;
	}

	.post-grid {
		flex-wrap: wrap;
	}

	.post-grid-has-nav .post-grid {
		flex-wrap: wrap;
	}

	*:not(.post-grid-has-nav) > .post-grid .post-tile:not(.post-tile-community) + .post-tile:not(.post-tile-community) {
		margin-top: 0;
	}

	/*.post-tile:not(.post-tile-community):not(.post-tile-small) {
		margin-bottom: 3.2rem;
	}*/

	.post-grid-has-nav .post-tile {
		margin: inherit;
	}

	.post-grid-has-nav .post-tile:first-child {
		margin-left: 0;
	}

	.post-grid-has-nav .post-tile:last-child {
		margin-right: 0;
	}

	.post-grid-2 .post-tile,
	.post-grid-3 .post-tile,
	.post-grid-4 .post-tile {
		width: calc(50% - 1.5rem);
		margin-right: 3rem;
	}

	.post-grid-2.post-grid-touching .post-tile {
		width: 50%;
		margin-right: 0;
	}

	.post-grid-2 .post-tile:nth-child(n + 3),
	.post-grid-3 .post-tile:nth-child(n + 3),
	.post-grid-4 .post-tile:nth-child(n + 3) {
		margin-top: 3.2rem;
	}

	.post-grid-2 .post-tile:nth-child(2n),
	.post-grid-3 .post-tile:nth-child(2n),
	.post-grid-4 .post-tile:nth-child(2n) {
		margin-right: 0;
	}

	.post-grid-touching .post-tile:nth-child(n + 3) {
		margin-top: 0;
	}

	.post-grid-has-nav .post-tile-info {
		padding: 3rem 0 0;
	}

	.nav-arrows,
	.post-grid-slide-nav {
		display: none;
	}

	.post-tile-meta {
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.post-tile-community .post-tile-meta {
		padding: 0;
		margin-top: 0;
	}

	.post-grid:not(.post-grid-touching) .post-tile-community .post-tile-category,
	.post-grid:not(.post-grid-touching) .post-tile-community .post-tile-category a,
	.post-grid:not(.post-grid-touching) .post-tile-community .post-tile-date {
		color: var(--white);
	}
}


@media screen and (min-width: 1000px) {
	.post-grid-3 .post-tile:nth-child(n + 3),
	.post-grid-4 .post-tile:nth-child(n + 3) {
		margin-top: 0;
	}

	.post-grid-3 .post-tile,
	.post-grid-3 .post-tile:nth-child(2n) {
		width: calc(33.333% - 2rem);
		margin-right: 3rem;
	}

	.post-grid-3 .post-tile:nth-child(n + 4) {
		margin-top: 3.2rem;
	}

	.post-grid-3 .post-tile:nth-child(3n) {
		margin-right: 0;
	}


	.post-grid-4 .post-tile,
	.post-grid-4 .post-tile:nth-child(2n) {
		width: calc(25% - 2rem);
		margin-right: 2.6666666rem;
	}

	.post-grid-4 .post-tile:nth-child(n + 5) {
		margin-top: 3.2rem;
	}

	.post-grid-4 .post-tile:nth-child(4n) {
		margin-right: 0;
	}

	.post-grid-touching .post-tile {
		margin-top: 0;
	}

	.post-tile-community .post-tile-meta {
		bottom: -5rem;
	}

	.archive-community + .more-button {
		margin-top: 8rem;
	}
}


/**************************************************
	09. Archives
 **************************************************/

.module-archivehero {
	background-color: var(--green);
}

.module-archivehero .hero-inner:before {
	content: '';
	display: block;
}

.hero .hero-thumb-cta {
	position: absolute;
	bottom: 1rem;
	left: 0;
	width: 100%;
	z-index: 1;

	line-height: 2;
	text-align: center;
	color: var(--offwhite);
	cursor: pointer;
}

.archive-overtitle {
	margin: 2rem auto 0;
	text-align: center;
}

.module-latestcommposts {
	padding: 4rem 0 0;
	background-color: var(--blue);
}

.module-latestcommposts .module-title {
	margin-bottom: 2.25rem;
	text-align: center;
	color: var(--white);
}

.module-comm-desc {
	margin: 1rem auto 2.25rem;
	line-height: 1.2;
	text-align: center;
	color: var(--white);
}

.latestcomm-links {
	margin: 2.25rem auto 4.2rem;
	line-height: 1.2;
	text-align: center;
	color: var(--white);
}

.latestcomm-links a {
	color: var(--green);
}

.more-button {
	position: relative;
	left: 50%;
	margin: 4rem 0;
	transform: translateX(-50%);
}

.more-button.fade-in {
	transform: translate(-50%, 4rem);
}

.more-button.fade-in.has-faded-in {
	transform: translate(-50%, 0);
}

.module-searchheader {
	text-align: center;
}

.module-searchheader .module-overtitle {
	color: var(--darkgray);
}

.module-searchheader .module-title {
	color: var(--green);
}

.archive.author .module-latestposts .archive-title {
	margin-bottom: 2em;
	color: var(--blue);
}

.archive.author .archive-community .module-latestposts {
	background-color: var(--blue);
}

.archive.author .archive-community .module-latestposts .archive-overtitle,
.archive.author .archive-community .module-latestposts .archive-title {
	color: var(--white);
}


@media (min-width: 750px) {
	.module-comm-desc {
		width: 60%;
	}
}




/**************************************************
	10. Single: general
 **************************************************/

.single.post-community .module-hero,
.single.page-community .module-hero {
	background-color: var(--blue);
}

.module-hero-community {
	display: flex;
	flex-direction: column;
}

.hero .hero-thumb {
	height: 70vh;
}

.hero .hero-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	height: 40%;
	padding: 1.3rem 2rem 0.4rem;
	background-color: var(--green);
	color: var(--offwhite);
	text-align: center;
}

.hero .hero-inner a {
	color: var(--offwhite);
}

.single.page-community .hero .hero-inner {
	padding-top: 4rem;
	background-color: var(--blue);
}

.hero .hero-title {
	max-width: 900px;
	hyphens: none;
}

.hero .hero-title .hero-community-hint {
	margin-bottom: 1.5rem;
}

.hero .hero-overtitle,
.hero .hero-subtitle {
	margin: 1rem auto 2rem;
}

.hero .hero-thumb-inner,
.hero .hero-thumb-inner .cover-container {
	width: 100%;
	height: 100%;
}

.hero .hero-thumb-inner .media-caption {
	padding: 0.5rem 2rem 0 0;
	text-align: right;
	font-size: 1.25rem;
	color: var(--offwhite);
}

.module-socialsharing {
	margin: 0 auto;
	padding: 1rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.post-community .module-socialsharing {
	background-color: var(--blue);
}

.module-socialsharing .sm-link {
	width: 2rem;
	height: 2rem;
	cursor: pointer;
}

.module-socialsharing .sm-link + .sm-link {
	margin-left: 1.6rem;
}

.module-socialsharing .sm-link.sm-facebook {
	margin-right: -0.2rem;
	transform: scale(0.9);
}

.module-socialsharing .sm-link.sm-mail {
	position: relative;
	top: 0.3rem;
}

.module-socialsharing .sm-link svg {
	object-position: center;
	object-fit: contain;
	width: 100%;
	height: 100%;
	fill: var(--green);
}

.post-community .module-socialsharing .sm-link svg {
	fill: var(--white);
}

.module-posttags {
	margin: 0 auto;
	text-align: center;
}

.post-community .module-posttags {
	background-color: var(--blue);
	color: var(--white);
}

.module-posttags h3 {
	margin-bottom: 2rem;
}

.module-posttags .tag-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.module-posttags a {
	border: 1px solid currentColor;
	padding: 0.9rem 1.5rem 0.5rem;
	margin: 0 0.5rem 1rem;
	line-height: 1;
}

.post-community .module-posttags a {
	color: var(--white);
}



.post-community .module-postauthor {
	margin-bottom: 2rem;
	background-color: var(--blue);
	color: var(--white);
}

.module-postauthor-inner {
	margin: 2rem auto 4rem;
	max-width: 800px;
	text-align: center;
}

.module-postauthor .post-author {
	font-size: 2rem;
}

.module-postauthor .post-author-thumb {
	margin: 1rem auto;
	width: 80px;
	height: 80px;
}

.module-postauthor .post-author-thumb img,
.module-postauthor .post-author-thumb .image-preloader {
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.module-postauthor .post-author-bio {
	margin-bottom: 2.25rem;
}

.post-community .post-author-link a {
	color: var(--white);
}


@media (min-width: 700px) {
	.hero .hero-excerpt {
		width: calc(100% - 214vw + 1498px);
	}
}

@media (min-width: 700px) and (min-aspect-ratio: 16/9) {	
	.hero .hero-thumb {
		height: 66vw;
	}
}

@media (min-width: 900px) {
	.hero .hero-excerpt {
		width: 50%;
	}
}




/**************************************************
	11. Single: content
 **************************************************/

.single.post-community .module-content {
	background-color: var(--blue);
	color: var(--white);
}

.single.post-community .module-content a {
	color: var(--white);
}

.module-content .post-people {
	margin-bottom: 2.8rem;
	text-align: center;
	color: var(--green);
}

.module-content .post-people a {
	color: var(--green);
}

.single.post-community .module-content .post-people,
.single.post-community .module-content .post-people a {
	color: var(--offwhite);
}

.content {
	position: relative;
	width: 100%;
	margin: 0 auto;

	font-size: 1.333333rem;	
	line-height: 1.44444;
}

.content a {
	text-decoration: underline;
	color: var(--blue);
	opacity: 0.9;
	transition: text-decoration-color 0.2s ease, opacity 0.2s ease;
}

.content a:hover {
	text-decoration-color: transparent;
	opacity: 1;
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6,
.content p,
.content ol,
.content ul {
	max-width: 900px;
	margin: 0 auto 2.25rem;
}

.content ol, .content ul {
	margin: 2.25rem auto;
}

.content ol {
	counter-reset: ol;
}

.content ul li {
	list-style-type: disc;
}

.content li {
	margin: 0.8rem 0 0.8rem 0rem;
}

.content ol li {
	counter-increment: ol;
	list-style-type: none;
}

.content ol li:before {
	content: counter(ol);
	margin-right: 1.33333rem;
	font-weight: 700;
}

.content blockquote {
	max-width: 1185px;
	margin: 4.2rem auto;
	font-size: 2.75rem;
	line-height: 1.64;
	text-align: center;
	color: var(--green);
}

.single.post-community .content blockquote,
.single.page-community .content blockquote {
	color: var(--offwhite);
}

.content blockquote p {
	max-width: 100%;
}

.content .wp-block-image {
	margin-bottom: 4rem;
}

.content .wp-block-column .wp-block-image {
	max-width: 100%;
}

.content img,
.content .image-preloader,
.content figure img,
.content figure video,
.content figure .image-preloader {
	max-width: 100%;
	height: auto;
}

.content figcaption {
	position: relative;
	min-width: 200px;
	max-width: 800px;
	font-size: 1.3333333rem;
	font-weight: 400;
	line-height: 1.3;
	text-align: right;
}

.content .float-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 900px;
	margin: 0 auto 2.25rem;
}

.content .float-container > * {
	width: calc(50% - 1rem);
}

.content .wp-block-cover {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 50%;
	margin-bottom: 2.25rem;
}

.content .wp-block-cover.has-background-dim:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: var(--blue);
	opacity: 0.5;
}

.content .wp-block-cover .wp-block-cover-text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	max-width: calc(100% - 4rem);
	transform: translate(-50%, -50%);
	color: var(--offwhite);
	font-size: 4rem;
}

.content .wp-block-question,
.content .wp-block-vvh-vvh-question {
	max-width: 900px;
	margin: 2.25rem auto 1rem;
	padding-left: 4.25rem;
}

.content .wp-block-question:before,
.content .wp-block-vvh-vvh-question:before {
	content: '⤷';
	margin: 0 0.5em 0 -1.33333em;
}

.gallery {
	position: relative;
	margin-bottom: 2.25rem;
}

.content .gallery {
	margin: 0 auto 2.25rem;
	max-width: 800px;
}

.gallery.loading {
	display: flex;
	flex-direction: column;
}

.no-js .gallery.loading {
	display: block;
}

.gallery * {
	-webkit-transition: opacity 1s ease;
	   -moz-transition: opacity 1s ease;
	    -ms-transition: opacity 1s ease;
	     -o-transition: opacity 1s ease;
			transition: opacity 1s ease;
}

body.js .gallery.loading * {
	opacity: 0;
}

.gallery-inner {
	position: relative;
	overflow: hidden;
}

.gallery-slides {
	display: flex;
	width: 100%;
	transform: translateX(0);

	-webkit-transition: transform 0.3s ease;
	   -moz-transition: transform 0.3s ease;
	    -ms-transition: transform 0.3s ease;
	     -o-transition: transform 0.3s ease;
			transition: transform 0.3s ease;
}

.gallery-slide {
	position: relative;
	width: 100%;
	flex-shrink: 0;
}

.gallery-slide figure {
	margin-bottom: 0;
}

.gallery-slide figure,
.gallery-slide img,
.gallery-slide .image-preloader {
	width: 100%;
	height: auto;
}

.gallery-slide .image-preloader.loaded img + img {
	display: none;
}

.no-js .gallery-slide .caption {
	margin-bottom: 2.25rem;
}

.gallery-arrows {
	position: absolute;
	top: calc(100% - 0.8rem);
	left: 50%;
	width: calc(100% - 0.8rem);
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: space-between;
}

.gallery-arrows .gallery-arrow {
	width: 1rem;
	height: 1rem;
	border-left: 2px solid var(--blue);
	border-bottom: 2px solid var(--blue);
	cursor: pointer;
}

.gallery-arrows .gallery-arrow:first-child {
	transform: scaleY(1.33333) rotateZ(45deg);
}

.gallery-arrows .gallery-arrow:last-child {
	transform: scaleY(1.33333) rotateZ(225deg);
}

.gallery-bottom {
	margin: 1rem 0 0 0;
}

.gallery-nav {
	margin-top: 2.25rem;
	text-align: center;
}

.content figure {
	margin: 2.25rem 0;
}

.content > .alignnone,
.content > .alignnone.image-preloader,
.content > .aligncenter,
.content > .aligncenter.image-preloader,
.content > .wp-block-image > img,
.content > .wp-block-image > .image-preloader {
	width: 100%;
	max-width: 900px;
	margin: 2.25rem auto;
}

.content .alignleft,
.content .alignright {
	margin: 2.25rem auto;
	max-width: 900px;
}

.content .alignwide,
.content .alignwide.image-preloader,
.content figure.caption.alignwide  {
	margin: 2.25rem auto;
	max-width: 75vw;
}

.content .alignfull,
.content figure.caption.alignfull {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin: 2.25rem 0;
	left: 50%;
	transform: translateX(-50%);
}

.content .alignwide img,
.content .alignwide .image-preloader,
.content .alignfull img,
.content .alignfull .image-preloader {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.content .alignfull figcaption {
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.content .wp-video {
	max-width: 100%;
	margin: 2.25rem auto;
}

.content table {
	max-width: calc(1000px + 1rem);
	margin: 0 auto 2.25rem;
}

.content table figure,
.content table img,
.content table video,
.content table .image-preloader {
	width: 100%;
	height: auto;
}

.content table td {
	padding: 0.5rem;
}



@media (min-width: 750px) {
	.content {
		font-size: 1.75rem;
	}
}


@media (max-width: 900px) {
	.content .alignwide {
		margin: 2.5rem 0 0 -2rem;
		max-width: 900px;
		width: 100vw;
	}

	.content figure.caption {
		max-width: 800px;
		margin: 2.25rem 0 2.25rem calc(50% - 400px);
	}

	.content .alignnone,
	.content .alignleft,
	.content .alignright {
		max-width: 800px;
		margin: 2.25rem 0 2.25rem calc(50% - 400px);
	}
}

@media (min-width: 900px) {
	.content {
		padding: 0 4.2rem;
	}
}


@media (min-width: 1000px) {
	.gallery-arrows {
		top: 50%;
		width: calc(100% + 12rem);
	}

	.gallery-arrows .gallery-arrow {
		width: 2rem;
		height: 2rem;
		border-width: 3px;
	}

	.gallery-nav {
		text-align: right;
	}
}



/**************************************************
	12. Comments
 **************************************************/

.post-comments {

}

.post-comments h3 {
	margin: 3.2rem auto 2rem;
	max-width: 500px;
	line-height: 1.2;
	text-align: center;
}

.post-comments li {
	padding: 2rem 0;
	border-bottom: 1px solid var(--white);
	font-size: 1.25rem;
	line-height: 1.4666;
}

.post-comments li .comment-container {
	max-width: 800px;
	margin: 0 auto 2rem;
}

.post-comments li .commentmetadata {
	margin: 0.5rem 0;
	color: var(--green);
}

.post-comments li .commentmetadata a {
	color: var(--green);
}

.post-comments li .reply {
	margin: 1rem 0 0;
	color: var(--green);
}

.post-comments li .reply a {
	color: var(--green);
}

.post-comments li .reply .comment-reply-link {
	cursor: pointer;
}

.post-comments li .reply .comment-reply-link:before {
	content: '⤷';
	margin: 0 0.5em 0 0;
}

.post-comments ul.children li .comment-container {
	padding-left: 5rem;
}

.post-comment-form {
	margin-top: 3.2rem;
}

.post-comments .post-comments-hint {
	margin: 0 auto 3.2rem;
	max-width: 800px;
	color: var(--green);
}

.post-comments .post-comments-hint a {
	color: var(--green);
}

.post-comments .disclaimer {
	max-width: 500px;
	margin: 3.2rem auto 2rem;
	text-align: center;
}

.module-signup form {
	margin-top: 2rem;
}

.form-field {
	position: relative;
	max-width: 800px;
	margin: 0 auto 2rem;
	padding-top: 2rem;
}

.form-field:first-child {
	padding-top: 0;
}

.form-field-file {
	display: flex;
	justify-content: space-between;
}

.form-field input:not([type="submit"]),
.form-field textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;

	border: 0;
	border-bottom: 2px solid transparent;
	background-color: var(--white);
	padding: 1.6rem 1rem 0.8rem;
	width: 100%;

	font-size: 1.5rem;
	line-height: 1.2;

	transition: border-bottom-color 0.2s ease;
}

.form-field *:not([type="submit"]):focus {
	outline: none;
	border-bottom-color: var(--green);
}

.form-field.invalid *:not([type="submit"]) {
	border-bottom-color: var(--red);
}

.js .form-field input[type="file"] {
	position: absolute;
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	z-index: 1;
}

.form-field input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	left: -999999px;
}

.form-field input[type="checkbox"] + label {
	position: relative;
	display: block;
	top: 0;
	left: 0;
	padding-left: 4rem;
}

.form-field input[type="checkbox"] + label:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	border: 2px solid var(--white);
	background-color: var(--white);
	border-radius: 50%;
	transition: border-color 0.2s ease;
}

.form-field input[type="checkbox"]:focus + label:before {
	border-color: var(--green);
}

.form-field input[type="checkbox"] + label:after {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	width: 16px;
	height: 16px;
	background-color: transparent;
	border-radius: 50%;
	transition: background-color 0.2s ease;
}

.form-field input[type="checkbox"]:checked + label:after {
	background-color: var(--green);
}

.form-field textarea {
	resize: vertical;
}

.form-field textarea[data-maxlength] ~ .form-counter {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	color: var(--gray);
	pointer-events: none;
}

.form-field textarea[data-maxlength] ~ .form-counter.critical {
	color: var(--red);
}

.form-field-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.form-field-actions * + * {
	margin-top: 1rem;
}

.form-field .cancel-comment-reply-link {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	padding: 0;
	transition: opacity 0.2s ease;
}

.form-field .cancel-comment-reply-link.show {
	opacity: 1;
	max-height: 4rem;
	padding: 1.4rem 2.25rem 0.7rem;
}

.form-field-actions input[type="submit"],
.js .form-field input[type="file"] + label,
.form-field-actions .button {
	background-color: transparent;
	color: var(--green);
}

.form-field input[type="submit"]:focus,
.js .form-field input[type="file"]:focus + label {
	outline: none;
	color: var(--white);
}

.form-field *::placeholder {
	opacity: 0;
	transition: opacity 0.2s ease;
}

.form-field *:focus::placeholder {
	opacity: 1;
}

.form-field:not(.form-field-file) label {
	position: absolute;
	top: 3.8rem;
	left: 1rem;
	color: var(--green);

	transition: top 0.2s ease, color 0.2s ease;
}

.form-field:first-child label {
	top: 1.8rem;
}

.form-field.invalid label {
	color: var(--red);
}

.form-field *:focus + label,
.form-field.notempty label {
	top: 0;
}

.form-field:first-child *:focus + label,
.form-field.notempty:first-child label {
	top: -1.8rem;
}

.form-field *[required] + label:after {
	content: ' *';
}

.js .form-field-file label {
	height: 3.85rem;
}

.js .form-field-file img {
	max-width: 50%;
	height: 50px;
}

.no-js .form-field-file img {
	display: hidden;
}

.js .form-field-file img.hidden {
	opacity: 0;
}

.form-message {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	color: var(--red);
}

.form-message.success {
	color: var(--green);
}

.form-disclaimer {
	margin-top: -1rem;
}




/**************************************************
	13. Pages
 **************************************************/

.single.page.main {
	background-color: var(--green);
	color: var(--offwhite);
}

.single.page.main.page-community {
	background-color: var(--blue);
	color: var(--white);
}

.single.page .module-title {
	margin: 2rem auto;
	padding-bottom: 0;
	max-width: 800px;
	font-size: 3rem;
	line-height: 1.2;
	text-align: center;
	hyphens: none;
}

.single.page.page-404 .module-title {
	margin-top: 8rem;
}

.single.page.page-community .module-title {
	color: var(--offwhite);
}

.module-press {
	background-color: var(--green);
}

.single.page-press .module-title {
	color: var(--green);
}

.single.page .module-introduction {
	margin: 4.8rem auto 2rem;
	padding: 0;
	max-width: 600px;
	line-height: 1.3888;
	text-align: center;
}

.single.page.main a,
.module-pagecontact span.arrow {
	color: var(--offwhite);
}

.single.page.main.page-press .post-tile-date {
	color: var(--blue);
}

.single.page.main.page-press .post-tile-title,
.single.page.main.page-press .post-tile-title a {
	line-height: 1.3333;
	color: var(--white);
}

.module-pagecontact {
	margin: 0 auto;
	max-width: 40rem;
	text-align: center;
	color: var(--blue);
}

.module-wideimage {
	padding: 0;
	margin-top: -2.8rem;
	height: 70vh;
	max-height: 60vw;
	overflow: hidden;
}

.module-wideimage .cover-container {
	width: 100%;
	height: 100%;
}

.module-team {
	padding: 0;
	margin: 2.8rem 0;
}

.module-team h3 {
	width: 100%;
	text-align: center;
	margin: 6rem 0 3rem;
}

.module-team .team-member {
	padding: 2rem;
	border-top: 1px solid var(--offwhite);
	text-align: center;
}

.module-team .team-member-name {
	line-height: 1.1;
}

.module-team .team-member-bio {
	margin: 2rem auto;
	max-width: 500px;
	line-height: 1.3;
	color: var(--blue);
}

.module-team .team-member-contact {
	margin-top: 2rem;
	color: var(--blue);
}

.module-team .team-member-contact .arrow {
	color: var(--offwhite);
}

.module-quote .quote-inner {
	margin: 0 auto 2rem;
	max-width: 950px;
	line-height: 1.5;
	text-align: center;
}

.quote-signature {
	margin: 0 auto;
	max-width: 200px;
}

.quote-signature img,
.quote-signature video,
.quote-signature .image-preloader {
	width: 100%;
	height: auto;
}

.module-commlinks {
	color: var(--offwhite);
	background-color: var(--blue);
}

body .main .module-commlinks .module-title {
	padding: 6.2rem 1rem;
	margin: 0 auto;
	max-width: 800px;
	line-height: 1.2;
	text-align: center;
}

.module-commlinks .comm-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	border-top: 1px solid var(--white);
	border-bottom: 1px solid var(--white);
}

.module-commlinks .comm-link {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 2rem 4.2rem 1rem;
	width: 100%;
	line-height: 1.2;
	text-align: center;
	color: var(--white);
}

.module-commlinks .comm-link + .comm-link {
	border-top: 1px solid var(--white)
}

.module-commlinks .comm-link h3 {
	margin: 0 auto 2.4rem;
	line-height: 1.2;
}

.module-commlinks .comm-link p {
	max-width: 500px;
	margin: 0 auto 2.4rem;
	line-height: 1.2;
	text-align: center;
}

.module-commlinks .comm-link a {
	color: var(--green);
}

.module-commlinks .comm-link a .arrow {
	color: var(--white);
}


.single.page-404 .content {
	text-align: center;
	color: var(--blue);
}

.single.page-404 .content a {
	color: var(--blue);
}


@media (min-width: 600px) {
	.module-quote .quote-inner {
		line-height: 1.1;
	}
}


@media (min-width: 800px) {
	.module-team .team-section {
		display: flex;
		flex-wrap: wrap;
	}

	.module-team .team-member {
		width: 50%;
	}

	.module-team .team-member:nth-child(2n) {
		border-left: 1px solid var(--offwhite);
	}

	.team-section.uneven-number .team-member:last-child {
		width: 100%;
	}

	.module-commlinks .comm-link {
		width: 50%;
	}

	.module-commlinks .comm-link + .comm-link {
		border-top: none;
		border-left: 1px solid var(--white);
	}
}



/**************************************************
	xx. Misc and Wordpress specials
 **************************************************/

svg.lupe {
	fill: var(--green);
}

.bg-fade {
	position: relative;
}

.bg-fade:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 25%;
	pointer-events: none;
	background-image: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
}

.fade-in {
	opacity: 0;
	transform: translateY(4rem);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-in.module:first-child,
.fade-in.has-faded-in {
	opacity: 1;
	transform: translateY(0);
}

.button {
	display: inline-block;
	padding: 1.4rem 2.25rem 0.7rem;
	border: 1px solid currentColor;
	font-size: 1.6666rem;
	font-weight: 500;
	line-height: 1;
	color: var(--white);
	cursor: pointer;
}

.button a {
	color: var(--white);
}

.cover-container {
	overflow: hidden;
}

.cover-container img,
.cover-container video,
.cover-container .image-preloader  {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.cover-container.cropv-top.croph-left img,
.cover-container.cropv-top.croph-left video,
.cover-container.cropv-top.croph-left .image-preloader {
	object-position: bottom right;
}

.cover-container.cropv-top.croph-center img,
.cover-container.cropv-top.croph-center video,
.cover-container.cropv-top.croph-center .image-preloader {
	object-position: bottom center;
}

.cover-container.cropv-top.croph-right img,
.cover-container.cropv-top.croph-right video,
.cover-container.cropv-top.croph-right .image-preloader {
	object-position: bottom left;
}

.cover-container.cropv-center.croph-left img,
.cover-container.cropv-center.croph-left video,
.cover-container.cropv-center.croph-left .image-preloader {
	object-position: center right;
}

.cover-container.cropv-center.croph-right img,
.cover-container.cropv-center.croph-right video,
.cover-container.cropv-center.croph-right .image-preloader {
	object-position: center left;
}

.cover-container.cropv-bottom.croph-left img,
.cover-container.cropv-bottom.croph-left video,
.cover-container.cropv-bottom.croph-left .image-preloader {
	object-position: top right;
}

.cover-container.cropv-bottom.croph-center img,
.cover-container.cropv-bottom.croph-center video,
.cover-container.cropv-bottom.croph-center .image-preloader {
	object-position: top center;
}

.cover-container.cropv-bottom.croph-right img,
.cover-container.cropv-bottom.croph-right video,
.cover-container.cropv-bottom.croph-right .image-preloader {
	object-position: top left;
}


.bypostauthor {}
.screen-reader-text {}
.sticky {}
.wp-caption-text {}



