@charset "UTF-8";

/*###########################################*/
/* VARIABLES */
/*###########################################*/
:root {
	/* Dimensions */
	--border-radius-main: 0.4rem;
	--border-radius-main-inset: 0.2rem;
	--border-radius-label: 0.2rem;
	--border-radius-project-label: 10rem;
	--border-radius-image: 0.4rem;
	--border-radius-title: calc(2 * var(--border-radius-main));/*1.6rem;*/
	--border-radius-content: calc(2 * var(--border-radius-main));
	--border-radius-post-panel: 0.6rem;
	
	--border-width: 0.085vw; /*1px 0.075vw*/
	--text-stroke-width: 0.1vw; /*1.5px;*/
	--text-stroke-width-small: 0.075vw;
	--grid-line-width: 0.075vw;
	
	/* outer padding */
	--padding-main: 4vw;
	--padding-main-x: 4vw;
	--padding-main-x: 4.5vw;
	--padding-main-y: 2vw;
	
	/* inside content areas */
	--padding-panel: 0.9rem;
	--padding-panel-large: 3vw;
	--padding-post-panel: 1.25rem;
	
	--padding-title: 2rem;
	
	--padding-content: 2rem;
	--padding-inset: 0.2rem;
    --padding-image: 0.4rem;
	
	/* between content boxes */
	--margin-grid: 1rem;
	
	--cml-bar-height: 3rem;
	--menu-button-height: 2.1rem;
	--label-height: 2.1rem;
	
	--float-bar-height: 3rem;
	--sticky-top-float: var(--margin-grid);
	--sticky-top-title: calc(var(--margin-grid) + var(--float-bar-height) + var(--margin-grid));
	
	--screen-height: calc(100vh - 2 * var(--padding-main-y) - var(--cml-bar-height) - var(--margin-grid));
	--page-title-height: calc(0.86 * var(--screen-height));
	
	/*max height for fixed title panels */
	/*(100% - cml bar - float bar - spacings) */
	--fill-height: calc(100vh - 2 * var(--padding-main-y) - var(--float-bar-height) - var(--cml-bar-height) - 2 * var(--margin-grid));
	/*(100% - float bar sticky - spacings) */
	--fill-height-max: calc(100vh - var(--padding-main-y) - var(--float-bar-height) - var(--margin-grid) - var(--sticky-top-float));
	
	/* Colors */
	--color-bg: #A6A195;
	--color-bg-transparent: rgba(166,161,149,0.00);
	--color-bg-default: #A6A195;
	
	--color-text: #222; /**/
	--color-text-default: #222; /**/
	--color-index-dark: rgba(93,83,75,1.00);
	--color-index-highlight: lightgoldenrodyellow;
	--color-current-highlight: greenyellow;
	--color-featured-highlight: greenyellow;
	--color-primary: var(--color-index-dark);
	
	/* neutral color overlays (top bar elements etc.) */
	--color-neutral-default: rgba(73,66,64,0.9);
	--color-neutral: var(--color-neutral-default);
	--color-neutral-light: rgba(164,164,156,0.9);
	--color-meta-bg: rgba(0,0,0,0.065);
	
	--color-cml-title: rgba(73,66,64,0.9);
	--color-search-highlight: blue;
	--color-search-bg: paleturquoise;
	
	--color-agenda-bg: rgba(231,215,112,1.00);
	--color-agenda-primary: darkslategray;
	--color-agenda-meta: rgb(128,120,45);
	--color-agenda-internal: var(--color-index-dark);
	--color-agenda-today: rgb(26, 83, 217);
	
	/* adapted to fit index-dark on homepage */
	--color-footer-main: var(--color-neutral); /*rgba(73,66,64,1.00); to match index-dark */
	--color-footer-light: rgba(164,164,156,1.00); /**/
	--color-fhnw: #FAE64F; /**/
	
	--color-secondary: var(--color-bg);
	--color-aside: var(--color-neutral);
	--color-aside-bg: var(--color-bg);
	
	--color-post-default-primary: var(--color-index-dark);
	--color-post-default-bg: rgba(215,209,188,1.00);
	--color-post-default-secondary: rgba(255,255,240,0.5); /* light overlay, roughly match cml-bar */
	--color-post-default-aside: var(--color-index-dark);
	--color-post-default-aside-bg: rgba(215,209,188,1.00);
	
	--color-page-default-primary: var(--color-index-dark);
	--color-page-default-bg: var(--color-bg-default);
	--color-page-default-secondary: rgba(215,209,188,1.00);
	--color-page-default-aside: var(--color-neutral);
	--color-page-default-aside-bg: var(--color-bg); /* set in .page to take actual color-bg */
	
	--shadow-buttons: 0.1rem 0.1rem 0.25rem rgba(0,0,0,0.3);
	--shadow-images: 0.1rem 0.1rem 0.25rem rgba(0,0,0,0.3);
	
	--shadow-float: 0.1rem 0.1rem 0.6rem rgba(0,0,0,0.2);
	--shadow-content: 0rem 0rem 0.5rem rgba(0,0,0,0.2);
	
	/* Fonts & Font Settings */
	--font-sans: 'Armin Soft', sans-serif;
	--font-serif: 'Custer', 'Custer Plus', serif;
	--font-weight-serif: 400;
	
	--font-meta: 'Moderat Mono', monospace;
	--font-labels: 'Armin Soft', monospace;
	--font-meta-date: 'Compagnon Hand', monospace; /**/
	
	--font-cindie: 'Cindie 2 O', sans-serif;
	--font-cindie-narrow: 'Cindie 2 H', sans-serif;
	--cindie-center-offset: 0em; /**/
	
	--font-shift: 'Shift', serif;
	--font-dossier: 'Dossier', monospace;
	
	--font-features-sans: "ss04", "ss08";
	--font-features-meta: "ss02";
	
	--shift-word-spacing: 0.1em;
	--shift-letter-spacing: 0.01em;
	
	/* Grids and Columns */
	--col-width-1: calc((100% - 11 * var(--margin-grid)) / 12);
	--col-width-2: calc(2 * (100% - 11 * var(--margin-grid)) / 12 + var(--margin-grid));
	--col-width-3: calc(3 * (100% - 11 * var(--margin-grid)) / 12 + 2 * var(--margin-grid));
	--col-width-4: calc(4 * (100% - 11 * var(--margin-grid)) / 12 + 3 * var(--margin-grid));
	--col-width-5: calc(5 * (100% - 11 * var(--margin-grid)) / 12 + 4 * var(--margin-grid));
	--col-width-6: calc(6 * (100% - 11 * var(--margin-grid)) / 12 + 5 * var(--margin-grid));
	--col-width-7: calc(7 * (100% - 11 * var(--margin-grid)) / 12 + 6 * var(--margin-grid));
	--col-width-8: calc(8 * (100% - 11 * var(--margin-grid)) / 12 + 7 * var(--margin-grid));
	--col-width-9: calc(9 * (100% - 11 * var(--margin-grid)) / 12 + 8 * var(--margin-grid));
	--col-width-10: calc(10 * (100% - 11 * var(--margin-grid)) / 12 + 9 * var(--margin-grid));
	--col-width-11: calc(11 * (100% - 11 * var(--margin-grid)) / 12 + 10 * var(--margin-grid));
	--col-width-12: 100%;
	
	--offset-width-1: calc(var(--col-width-1) + var(--margin-grid));
	--offset-width-2: calc(var(--col-width-2) + var(--margin-grid));
	--offset-width-3: calc(var(--col-width-3) + var(--margin-grid));
	--offset-width-4: calc(var(--col-width-4) + var(--margin-grid));
	--offset-width-5: calc(var(--col-width-5) + var(--margin-grid));
	--offset-width-6: calc(var(--col-width-6) + var(--margin-grid));
	--offset-width-7: calc(var(--col-width-7) + var(--margin-grid));
	--offset-width-8: calc(var(--col-width-8) + var(--margin-grid));
	
	/* Timings */
	--time-hover: 0.15s;
}

html {
	width: 100%;
	padding: 0;
	margin: 0;
	/* Base font-size, commonly 16px, use 62.5% to scale down to 10 px*/
	/*font-size: 3vw;
	font-size: 100%;*/
	font-size: 1.2vw;
}

body {
	position: relative; /* for quick-bar */
	width: 100%;
	min-height: 100vh;
	padding: 0;
	margin: 0;
	background-color: var(--color-bg);
	color: var(--color-primary);
}

.body-wrapper {
	/*background-color: var(--color-bg);*/
}

/*
body::-webkit-scrollbar {
  width: 11px;
}
body {
  scrollbar-color: var(--color-neutral) var(--color-bg);
}
body::-webkit-scrollbar-track {
  background: var(--color-bg);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--color-neutral);
}
*/

body a {
	color: inherit;
}
body em, body i {
	font-style: italic;
}
body strong, body b {
	font-weight: bold;
}
body.dark-bg {
	--color-neutral: var(--color-neutral-light);
}
body.resize {
	/**/
}

/* Mark hidden posts visible in admin view */
.is-hidden {
	outline: 0px solid red;
	outline-offset: -1px;
	position: relative;
}
.is-hidden:after {
	content: "\20";
	position: absolute;
	background: red;
	left: 0.3rem;
	top: 0.3rem;
	border-radius: 1rem;
	color: white;
	box-shadow: 0 0 0.3rem red;
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

main {
	width: 100%;
	padding: 0 var(--padding-main-x);
	margin-top: var(--padding-main-y);
	margin-top: 0;
	margin-bottom: var(--padding-main-y);
	min-height: var(--screen-height);
	color: var(--color-primary);
}
.home main {
	min-height: 0;
}
.single main { /**/
	padding-bottom: 8rem;
}

/*###########################################*/
/* DEFAULT STYLES */
/*###########################################*/
main p {
	margin-bottom: 1em;
}
main p:last-child {
	margin-bottom: 0;
}
main .content-wrapper a, main p a {
	font-weight: 500;
	color: inherit;
	text-decoration: underline;
	
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
main .content-wrapper strong a {
	font-weight: inherit;	
}
main .content-wrapper a:hover, main p a:hover {
	text-decoration: none;
}

main .content-wrapper pre {
	white-space: pre-wrap;
}

main .content-wrapper ol {
	list-style-type: none;
	counter-reset: item;
	margin-bottom: 1em;
}
main .content-wrapper ol li {
	margin-bottom: 0.5em;
	margin-left: 1.5em;
}
main .content-wrapper ol li:before { 
	content: counter(item) ". ";
	counter-increment: item;
	width: 1.5em;
	margin-left: -1.5em;
	display: inline-block;
}

main .content-wrapper ul {
	margin-bottom: 1em;
	padding-left: 0;
	padding-right: 3em;
}
main .content-wrapper .span-4 ul {
    padding-right: 0;
}
main .content-wrapper ul li {
	margin-bottom: 0.5em;
	font-size: 85%;
	padding-left: 1.75em;
	letter-spacing: 0.03em;
}
main .content-wrapper ul li:before {
	content: "\20";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask-image: url("../img/icon-star-8.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url("../img/icon-star-8.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	margin-right: 0.75em;
	margin-left: -1.75em;
	position: absolute;
	margin-top: 0.18em;
} 
main .content-wrapper ul li a {
	overflow-wrap: break-word;
  	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
main .content-wrapper ol:last-child,
main .content-wrapper ul:last-child {
	margin-bottom: 0;
}
main .content-wrapper ol li:last-child,
main .content-wrapper ul li:last-child {
	margin-bottom: 0;
}
/* Sans large */
main .content-wrapper h3 {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1rem;
}
/* Sans large outline */
main .content-wrapper h4 {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 1rem;
	-webkit-text-stroke: var(--text-stroke-width-small) currentColor;
	-webkit-text-fill-color: transparent;
	text-stroke: var(--text-stroke-width-small) currentColor;
	text-fill-color: transparent;
}
main .content-wrapper h3 + h4,
main .content-wrapper h4 + h4 {
    margin-top: -1rem;
}
/* Cindie uppercase, top border */
main .content-wrapper h5 {
	font-family: var(--font-cindie);
	/*font-size: 90%;*/
	font-size: 0.9rem;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin-bottom: 1em;
	margin-top: 1.5em;
	/*max-width: 80%;*/
	width: 100%;
	/*padding-right: 20%;*/
	padding-top: 0.85em;
	border-top: var(--border-width) solid currentColor;
}
main .content-wrapper h5:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}
main .content-wrapper h5 + h5 {
	margin-top: -0.15em;
}
/* Sans bold text size */
main .content-wrapper h6 {
	font-weight: bold;
	margin-bottom: 0.3em;
	/**/
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
}
main .content-wrapper h6 + h5 {
	margin-top: 0.55em;
}

main img {
	max-width: 100%;
	height: auto;
	line-height: 1;
}
main video {
	max-width: 100%;
	height: auto;
	line-height: 1;
	transform: translateZ(0);
	border-radius: var(--border-radius-image);
}

/**/
/*.label {
	font-family: var(--font-labels);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	padding: 0.75em 1.0em 0.65em 1.15em;
	font-size: 65%;
	border-radius: var(--border-radius-main);
	background-color: transparent;
	border: var(--border-width) solid #000;
}*/

/*###########################################*/
/* LAYOUT COLUMNS & BLOCKS */
.content-wrapper {
	width: 100%;
	position: relative;
	z-index: 1;
}
.content-wrapper .column-section {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--margin-grid);
	align-items: start;
	
	/* for nested sections in columns */
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}
.single-post .content-wrapper .column-section {
	align-items: stretch; /* for title column on single posts to float until bottom */
}
/*.page .content-wrapper .column-section > .layout-column {
	position: sticky;
	top: calc(var(--sticky-top-title) + 1rem);
}*/

.column-section .layout-column {
	
}
.layout-column.span-1 {
	grid-column-end: span 1;
}
.layout-column.span-2 {
	grid-column-end: span 2;
}
.layout-column.span-3 {
	grid-column-end: span 3;
}
.layout-column.span-4 {
	grid-column-end: span 4;
}
.layout-column.span-5 {
	grid-column-end: span 5;
}
.layout-column.span-6 {
	grid-column-end: span 6;
}
.layout-column.span-7 {
	grid-column-end: span 7;
}
.layout-column.span-8 {
	grid-column-end: span 8;
}
.layout-column.span-9 {
	grid-column-end: span 9;
}
.layout-column.span-10 {
	grid-column-end: span 10;
}
.layout-column.span-11 {
	grid-column-end: span 11;
}
.layout-column.span-12 {
	grid-column-end: span 12;
}

/* CHECK (where these are used) */
main .layout-block {
	margin-bottom: 1em;
}
main .layout-block:last-child {
	margin-bottom: 0;
}
main .layout-columns {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
main .layout-columns > div {
	flex-basis: 0;
	flex-grow: 1;
}
main .layout-columns > div:not(:last-child) {
	margin-right: var(--margin-grid);
}

/*###########################################*/
/* CONTENT PANEL STYLES */
/* Colors and styles are ordered to allow combination overrides */

/* Default style */
.layout-column > div {
	--color-content-primary: var(--color-primary);
	--color-content-bg: var(--color-secondary);
	background-color: var(--color-content-bg);
	color: var(--color-content-primary);
	padding: var(--padding-content);
	border-radius: var(--border-radius-content);
	border: var(--border-width) solid currentColor;
	box-shadow: var(--shadow-content);
	margin-bottom: var(--margin-grid);
	
	font-family: var(--font-serif);
	font-size: 1.1rem;
	line-height: 1.5;
}
/* for nested column sections in columns */
.layout-column > div:last-child {
	margin-bottom: 0;
}

/* For irregular panel sizes within column */
.layout-column > div.span-3 { width: var(--col-width-3); }
.layout-column > div.span-4 { width: var(--col-width-4); }
.layout-column > div.span-5 { width: var(--col-width-5); }
.layout-column > div.span-6 { width: var(--col-width-6); }
.layout-column > div.span-7 { width: var(--col-width-7); }
.layout-column > div.span-8 { width: var(--col-width-8); }
.layout-column > div.span-9 { width: var(--col-width-9); }

/* Default style for side columns = style-aside */
.aside > div {
	--color-content-primary: var(--color-aside);
	--color-content-bg: var(--color-aside-bg);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1rem;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

/* Explicit default style to overwrite column styles */
.layout-column > .style-default {
	--color-content-primary: var(--color-primary);
	--color-content-bg: var(--color-secondary);
	font-family: var(--font-serif);
	font-size: 1.1rem;
	line-height: 1.5;
}

/* Style like sidebar (aside colors and smaller sans) */
.layout-column > .style-aside {
	--color-content-primary: var(--color-aside);
	--color-content-bg: var(--color-aside-bg);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1rem;
	letter-spacing: 0.01em;
	line-height: 1.5;
}
/* Color like sidebar */
.layout-column > .color-aside {
	--color-content-primary: var(--color-aside);
	--color-content-bg: var(--color-aside-bg);
}
/* Color like default but with page bg color */
.layout-column > .color-bg {
	--color-content-primary: var(--color-primary);
	--color-content-bg: var(--color-bg);
}
/* Color inverted: default */
.layout-column > .color-inverted {
	--color-content-primary: var(--color-secondary);
	--color-content-bg: var(--color-primary);
}
/* Color inverted: aside */
.layout-column > .color-aside.color-inverted {
	--color-content-primary: var(--color-aside-bg);
	--color-content-bg: var(--color-aside);
}
/* Style with inset shadow */
.layout-column > .style-inset {
	box-shadow: var(--shadow-content) inset;
}
/* Style flat, no shadow, no border, flat color, no side paddings */
.layout-column > .style-flat {
	--color-content-primary: var(--color-primary);
	--color-content-bg: var(--color-bg);
	box-shadow: 0rem 0rem 0.5rem 0.5rem var(--color-bg); /* for flat blocks floating over other content */
	border: none;
	padding-top: calc(0.5 * var(--padding-content));
	padding-bottom: calc(0.5 * var(--padding-content));
}
/* Color neutral text */
.layout-column > .color-neutral {
	--color-content-primary: var(--color-neutral);
}
/* Style for centered text */
.layout-column .style-centered,
.layout-column .font-centered,
.layout-column .centered {
	text-align: center;
}

/* Font like sidebar (smaller sans) */
.layout-column .font-aside {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1rem;
	letter-spacing: 0.01em;
	line-height: 1.5;
}
/* Font sans */
.layout-column .font-sans {
		
}
/* Font meta */
.layout-column .font-meta {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.9rem;
}
.layout-column .font-meta a {
	font-weight: normal;
}
.layout-column .font-meta em {
	font-style: normal;
}

.layout-column .label {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.9rem;
	border-radius: var(--border-radius-main);
	padding: 0.3em 0.6em;
	vertical-align: baseline;
	margin-right: 0.2em;
	border: var(--border-width) solid currentColor;
}
.layout-column .label.filled,
.layout-column .label.inverted {
	border-color: var(--color-content-primary);
	background-color: var(--color-content-primary);
	color: var(--color-content-bg);
}
* + .label {
	margin-left: 0.3em;
}
/*block label */
.layout-column div.label {
	margin: 0;
	margin-bottom: 1rem;
	width: fit-content;
}
:is(.style-centered, .font-centered, .centered) div.label {
	margin-inline: auto;
}

/* Font small */
/* Made global to also work on people pages */
.layout-column .font-small,
.layout-column .small,
.layout-column small,
.font-small,
small {
	font-size: 85%;	
}

/* Font caption style */
/* Made global to also work on people pages */
.layout-column .font-caption,
.font-caption {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
	line-height: 1.4;
	font-weight: normal;
	font-style: normal;
}
.layout-column .centered .font-caption {
	margin-inline: auto;
}

.layout-column > div > *:last-child {
	margin-bottom: 0;
}

/* CONTENT IMAGE STYLES */
/* Content Panel: Image (Deprecated) */
.layout-column > .panel-image,
.layout-column > .style-image {
	padding: var(--padding-image);
}

.layout-column figure {
    --padding-figure: calc(-1 * var(--padding-content) + var(--padding-image));
    margin-inline: var(--padding-figure);
    margin-bottom: 1em;
}
.layout-column figure:first-child {
    margin-top: var(--padding-figure);
}
.layout-column figure:last-child {
    margin-bottom: var(--padding-figure);
}
.layout-column figcaption {
    margin-top: 0.5rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
	line-height: 1.3;
	padding-left: 0.25rem;
	padding-bottom: 0.1rem;
}
.layout-column figcaption:before {
	content: "\25CF\20";
}
.layout-column figure + figure {
    margin-top: calc(-1em + var(--padding-image));
}

.layout-column .style-flat figure {
    --padding-figure: calc(-1 * var(--padding-content));
}
.layout-column .style-flat figure:first-child {
    margin-top: calc(-0.5 * var(--padding-content));
}
.layout-column .style-flat figure:last-child {
    margin-bottom: calc(-0.5 * var(--padding-content));
}

.layout-column figure.inset {
    --padding-figure: 0;
    margin-top: 0;
}

/* span-classes will be 100% on mobile */
.layout-column figure:is(.span-3, .size-3) { width: calc(3 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-4, .size-4) { width: calc(4 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-5, .size-5) { width: calc(5 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-6, .size-6) { width: calc(6 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-7, .size-7) { width: calc(7 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-8, .size-8) { width: calc(8 * 100% / 12 - var(--padding-figure)); }
.layout-column figure:is(.span-9, .size-9) { width: calc(9 * 100% / 12 - var(--padding-figure)); }

.layout-column img {
	display: block;
	border-radius: var(--border-radius-image);
}
.layout-column img:is(.span-3, .size-3) { width: calc(3 * 100% / 12); }
.layout-column img:is(.span-4, .size-4) { width: calc(4 * 100% / 12); }
.layout-column img:is(.span-5, .size-5) { width: calc(5 * 100% / 12); }
.layout-column img:is(.span-6, .size-6) { width: calc(6 * 100% / 12); }
.layout-column img:is(.span-7, .size-7) { width: calc(7 * 100% / 12); }
.layout-column img:is(.span-8, .size-8) { width: calc(8 * 100% / 12); }
.layout-column img:is(.span-9, .size-9) { width: calc(9 * 100% / 12); }

figure.color-multiply img {
    mix-blend-mode: multiply;
}
figure.color-screen img {
    mix-blend-mode: screen;
}
figure.color-lighten img {
    mix-blend-mode: lighten;
}
figure.color-overlay img {
    mix-blend-mode: overlay;
}
figure.color-difference img {
    mix-blend-mode: difference;
}

/*.layout-column > div:last-child {
	margin-bottom: 0;
}*/

/* List of logos, optionally with links */
.layout-elem-logos {
	display: flex;
	gap: 0.75rem;
}
.layout-elem-logos img {
	height: 3rem;
	width: auto;
	mix-blend-mode: multiply;
	opacity: 0.5;
	will-change: opacity;
	transition: opacity var(--time-hover);
	border-radius: 0;
}
.layout-elem-logos a {
	text-decoration: none;
}
.layout-elem-logos a:hover img {
	opacity: 1.0;
}

/*###########################################*/
/* HEADER */
/*###########################################*/
header {
	width: 100%;
	padding: var(--padding-main-y) var(--padding-main-x) var(--margin-grid) var(--padding-main-x);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.home header {
	height: 100vh;
	padding: var(--padding-main-y) var(--padding-main-x) var(--padding-main-y) var(--padding-main-x);
	/*height: calc(100vh - var(--padding-panel));*/
}
/*********************************************/
/* TITLE BAR */
.title-bar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	align-items: stretch;
	flex-grow: 0;
	position: relative;
	z-index: 1001;
}
/*********************************************/
/* QUICK BAR */
.quick-bar {
	position: absolute;
	/*z-index: 998;*/
	top: 0;
	left: 0; /*calc(var(--padding-main-x) * 0.5);*/
	right: 0; /*calc(var(--padding-main-x) * 0.5);*/
	height: 60vw; /* roughly based on overlay gradient */
	display: block;
	pointer-events: none;
}
.quick-bar.show {
	pointer-events: auto;
}
.quick-bar-bg {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background-color: orangered;
	mix-blend-mode: difference;
	background: radial-gradient(circle 55vw at center var(--cml-bar-height), white 60%, rgba(255,255,255,0));
	opacity: 0;
	transition: opacity 0.5s;
	will-change: opacity;
}
.quick-bar-bg-dither {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background-color: var(--color-bg-default);
	background: radial-gradient(circle 55vw at center var(--cml-bar-height), var(--color-bg-default) 60%, var(--color-bg-transparent));
	opacity: 0.95;
	opacity: 0;
	transition: opacity 0.5s;
	will-change: opacity;
}
.quick-bar-content {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	padding-top: calc(var(--padding-main-y) + var(--cml-bar-height) + var(--margin-grid) + 0.5rem);
	padding-bottom: var(--padding-main-y);
	padding-left: var(--padding-main-x);
	padding-right: var(--padding-main-x);
	display: none;
}
.quick-bar.show .quick-bar-bg {
	opacity: 1.0;
}
.quick-bar.show .quick-bar-bg-dither {
	opacity: 0.95;
}
/*.quick-bar.show .quick-bar-content {
	opacity: 1.0;
	display: block;
}*/
.quick-bar-content .menu-wrapper {
	width: var(--col-width-8);
	margin: 0 auto;
}
.quick-bar-content .menu {
	font-family: var(--font-sans);
}
.quick-bar-content .menu li {
	pointer-events: auto;
}
.quick-bar-content .primary-menu {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	margin-bottom: var(--margin-grid);
	margin-left: auto;
	margin-right: auto;
	gap: var(--margin-grid);
}
.quick-bar-content .primary-menu li {
	flex-grow: 1;
	flex-basis: 0;
	height: var(--menu-button-height);
}
.quick-bar-content .primary-menu li a {
	background-color: var(--color-bg-default);
	background-color: #CBCBBC;
	color: var(--color-index-dark);
	border: var(--border-width) solid var(--color-index-dark);
	text-decoration: none;
	border-radius: var(--border-radius-main);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 var(--padding-panel);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	box-shadow: var(--shadow-buttons);
	transition: all var(--time-hover);
	line-height: 1;
}
.quick-bar-content .primary-menu li a:hover {
	background-color:  #cfcfbc;
	color: var(--color-index-dark);
	
	background-color: var(--color-index-dark);
	color: #CBCBBC;
}

.quick-bar-content .secondary-menu {
	width: 100%;
	width: calc(100% + var(--margin-grid));
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	justify-content: center;
	margin-bottom: var(--margin-grid);
	padding-left: var(--margin-grid);
	padding-left: 0;
}
.quick-bar-content .secondary-menu li {
	height: var(--menu-button-height);
	margin-right: var(--margin-grid);
	margin-bottom: var(--margin-grid);
	--color-bg: var(--color-bg-default);
	--color-primary: var(--color-index-highlight);
}
.quick-bar-content .secondary-menu li a {
	color: #000;
	text-decoration: none;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid #000;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 0 var(--padding-panel);
	font-weight: 400;
	transition: color var(--time-hover), background-color var(--time-hover);
	background-color: var(--color-bg);
	border-color: var(--color-primary);
	color: var(--color-primary);
	box-shadow: var(--shadow-buttons);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	/*font-size: 0.85rem; */
}

.quick-bar-content .secondary-menu li a:hover {
	color: var(--color-bg);
	background-color: var(--color-primary);
}
.quick-bar-content .secondary-menu li.menu-item-current a {
	/*background-image: url("../img/beach01_bw.gif");
	background-size: cover;
	background-blend-mode: multiply;*/
	--color-primary: var(--color-current-highlight);
	--color-bg: var(--color-bg-default);
}
.quick-bar-content .secondary-menu li.menu-item-current a:hover {
	/*color: var(--color-primary);*/
}
.quick-bar-content .secondary-menu li.menu-item-agenda {
	--color-bg: var(--color-agenda-bg);
	--color-primary: var(--color-agenda-primary);
}
.quick-bar-content .secondary-menu li.menu-item-colloquium {
	--color-primary: #f0b6c0;
	--color-bg: #422855;
}
.quick-bar-content .secondary-menu li.menu-item-method {
	--color-bg: #D5E3AB;
	--color-primary: #00F;
}

.quick-bar-content .menu-title {
	width: 100%;
	text-align: center;
	font-family: var(--font-cindie), var(--font-sans);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding-left: 0.1em;
	color: var(--color-index-dark);
	margin-bottom: var(--margin-grid);
}
.quick-bar-content .projects-menu {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	--color-bg: #D7D6CC;
	--color-primary: black;
	/*padding-left: 0.5rem;*/
}
.quick-bar-content .projects-menu li {
	flex-grow: 0;
}
.quick-bar-content .projects-menu li a {
	text-decoration: none;
	border-radius: var(--border-radius-main);
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-primary);
	background-color: var(--color-bg);
	padding: 0.6em 0.9em;
	border: var(--border-width) solid var(--color-bg);
	transition: all var(--time-hover);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.7rem;
	box-shadow: var(--shadow-buttons);
}
.quick-bar-content .projects-menu li a:before {
	content: "\20";
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 1em;
	border: var(--border-width) solid var(--color-primary);
	transition: background-color var(--time-hover);
}
.quick-bar-content .projects-menu li a:hover {
	border-color: var(--color-primary);
}
.quick-bar-content .projects-menu li a:hover:before {
	background-color: var(--color-primary);
}

/*********************************************/
/* FHNW LOGO */
.title-bar .fhnw-logo {
	/*cursor: pointer;*/
	width: var(--col-width-3);
}
.title-bar .fhnw-logo a {
	display: block;
	width: 100%;
	height: 100%;
	-webkit-mask-image: url("../img/FHNW_HGK_EN.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image: url("../img/FHNW_HGK_EN.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: var(--color-neutral);
	transition: opacity var(--time-hover);
	opacity: 0.7;
}
.title-bar .fhnw-logo a:hover {
	opacity: 1.0;
	
}
/*********************************************/
/* CML MAIN BAR */
.title-bar .cml-bar {
	width: var(--col-width-6);
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	height: var(--cml-bar-height);
	padding: 0 var(--padding-panel);
	position: relative;
	transition: background-color var(--time-hover), border-color 0.3s;
	overflow: hidden;
	box-shadow: var(--shadow-buttons);
	
	border: var(--border-width) solid var(--color-primary); /**/
}
.title-bar .cml-bar .cml-bar-overlay {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: var(--border-radius-main);
	background-color: #CBCBBC;
	mix-blend-mode: soft-light;
}
.title-bar .cml-bar .cml-title {
	flex-grow: 1;
	padding-right: 3rem;
	text-align: center;
	font-family: var(--font-cindie);
	font-size: 100%;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	transition: opacity var(--time-hover);
	position: relative;
	color: var(--color-primary);
}
@keyframes cml-title-pulse {
	0% { opacity: 1.0; }
	100% { opacity: 0.3; }
}
.title-bar .cml-bar .home-icon {
	width: 3rem;
	height: 1.75rem;
	flex-grow: 0;
	flex-shrink: 0;
}
.title-bar .cml-bar .home-icon .icon-globe {
	--icon-globe-width: 1.75rem;
	--icon-globe-bleed: 0.1rem; /* 0.05 * width */
	position: relative;
	width: var(--icon-globe-width);
	height: var(--icon-globe-width);
}
.title-bar .cml-bar .home-icon .icon-globe .globe {
	position: absolute;
	left: var(--icon-globe-bleed);
	top: var(--icon-globe-bleed);
	right: var(--icon-globe-bleed);
	bottom: var(--icon-globe-bleed);
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-primary);
	opacity: 0.5;
	-webkit-mask-image: url("../img/icon-globe2.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image: url("../img/icon-globe2.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
}
.search-focus .cml-bar .home-icon .icon-globe .globe {
	background-color: rgba(0,0,0,0.3);
	opacity: 1.0;
}
.title-bar .cml-bar .home-icon .icon-globe .cml-scroll {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../img/cml-logo-ani01.gif");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: opacity 0.6s;
	opacity: 0;
}
.title-bar .cml-bar .home-icon .icon-globe .cml-scroll-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../img/cml-logo-ani-mirror02.gif");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: opacity 0.6s;
	opacity: 0;
}
.title-bar .cml-bar .home-icon a:hover .icon-globe .globe {
	transform: scale(0.9);
	opacity: 1.0;
}
.title-bar .cml-bar .home-icon a:hover .icon-globe .cml-scroll {
	opacity:1.0;
}
.title-bar .cml-bar .home-icon a:hover .icon-globe .cml-scroll-bg {
	opacity:1.0;
}
/*********************************************/
/* CML MAIN BAR > SEARCH */
.title-bar .cml-bar form {
	position: absolute;
	left: 3rem;
	right: 0;
	top: 0;
	bottom: 0;
	padding: 0 var(--padding-panel);
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
}
.title-bar .cml-bar form input {
	border: none;
}
.title-bar .cml-bar form .search-field {
	width: 100%;
	flex-grow: 1;
	height: 100%;
	text-align: center;
	font-family: var(--font-cindie);
	text-transform: uppercase;
	font-size: 1rem;
	letter-spacing: 0.12em;
	padding-left: 0.12em;
	line-height: 1;
	background: transparent;
	color: var(--color-search-highlight);
	opacity: 0;
	transition: opacity var(--time-hover);
}
.title-bar .cml-bar form .search-field::placeholder {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	font-size: 1rem;
	letter-spacing: 0.12em;
	color: var(--color-primary);
	opacity: 0.5;
	transition: opacity var(--time-hover);
}
.title-bar .cml-bar form .search-field:focus::placeholder {
	color: rgba(0,0,0,0.3);
	opacity: 0.5;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
.title-bar .cml-bar form .search-submit {
	width: 3rem;
	flex-grow: 0;
	flex-shrink: 0;
	height: 1.75rem;
	padding: 0;
	background-color: var(--color-primary);
	opacity: 0.5;
	-webkit-mask-image: url("../img/icon-menu01.svg");
	-webkit-mask-size: auto 1.2rem;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: right center;
	mask-image: url("../img/icon-menu01.svg");
	mask-size: auto 1.2rem;
	mask-repeat: no-repeat;
	mask-position: right center;
	cursor: pointer;
	transition: background-color var(--time-hover), opacity var(--time-hover);
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* classes set in js */
.search-hover .cml-bar .cml-title,
.search-focus .cml-bar .cml-title {
	opacity: 0;
}
.search-hover .cml-bar form .search-field,
.search-focus .cml-bar form .search-field {
	opacity: 1;
}

.search-hover .cml-bar form .search-submit {
	opacity: 1.0;
}
.search-focus .cml-bar form .search-submit {
	background-color: var(--color-search-highlight);
	-webkit-mask-image: url("../img/icon-search2.svg");
	mask-image: url("../img/icon-search2.svg");
	opacity: 1.0;
}
.search-focus .cml-bar {
	background-color: var(--color-bg-default);
	border-color: var(--color-search-highlight);
}

/* switch color of title bar elements when menu opens on dark page backgrounds */
.search-focus .title-bar {
	--color-neutral: var(--color-neutral-default);
}

/*********************************************/
/* SOCIAL BUTTONS */
.title-bar .social-icons {
	width: var(--col-width-3);
}
.title-bar .social-icons ul {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: var(--margin-grid);
}
.title-bar .social-icons ul li {
	flex-grow: 1;
	flex-basis: 0;
}
.title-bar .social-icons ul li a {
	width: 100%;
	border-radius: var(--border-radius-main);
	background-color: transparent;
	border: var(--border-width) solid var(--color-neutral);
	height: var(--cml-bar-height);
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition: all var(--time-hover);
	opacity: 0.6;
}
.title-bar .social-icons ul li a .icon {
	color: transparent;
	background-color: var(--color-neutral);
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-mask-position: center;
	-webkit-mask-size: 1.75rem;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 1.75rem;
	mask-repeat: no-repeat;
	transition: all var(--time-hover);
}
.title-bar .social-icons ul li.instagram a .icon {
	-webkit-mask-image: url("../img/icon-social-ig-filled.svg");
	mask-image: url("../img/icon-social-ig-filled.svg");
}
.title-bar .social-icons ul li.facebook a .icon {
	-webkit-mask-image: url("../img/icon-social-fb.svg");
	mask-image: url("../img/icon-social-fb.svg");
}
.title-bar .social-icons ul li.twitter a .icon {
	-webkit-mask-image: url("../img/icon-social-twitter.svg");
	mask-image: url("../img/icon-social-twitter.svg");
}
.title-bar .social-icons ul li.vimeo a .icon {
	-webkit-mask-image: url("../img/icon-social-vimeo.svg");
	mask-image: url("../img/icon-social-vimeo.svg");
}
.title-bar .social-icons ul li a:hover {
	background-color: powderblue;
	border-color: blue;
	opacity: 1.0;
}
.title-bar .social-icons ul li a:hover .icon {
	background-color: blue;
}

/*********************************************/
/* FLOAT BAR */

.float-bar {
	width: 100%;
	height: var(--float-bar-height);
	position: sticky;
	top: var(--sticky-top-float);
	margin-bottom: var(--margin-grid);
	padding: 0 var(--padding-main-x);
	z-index: 998;
	pointer-events: none;
}
.float-content {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	transition: opacity 0.5s;
	transition-delay: 0.3s;
	padding: 0 0.3rem;
}
.search-focus .float-content {
	opacity: 0;
	transition-delay: 0s;
}

.float-content .section-related {
	display: flex;
	flex-direction: row;
	gap: var(--margin-grid);
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	max-width: 100%;
}

.float-button {
	background-color: var(--color-bg);
	color: var(--color-primary);
	border: var(--border-width) solid var(--color-primary);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1rem;
	padding: 0.6em 0.9em;
	height: var(--label-height);
	padding: 0 0.9em;
	text-decoration: none;
	border-radius: var(--border-radius-main);
	box-shadow: var(--shadow-float);
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: color var(--time-hover), background-color var(--time-hover);
	pointer-events: auto;
	
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.float-button:before {
	content: "\20";
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 1em;
	border: var(--border-width) solid var(--color-primary);
	background-color: var(--color-bg);
	transition: border-color var(--time-hover);
}
.float-button:hover {
	color: var(--color-bg);
	background-color: var(--color-primary);
}
.float-button:hover:before {
	
}

.float-label {
	max-width: 100%;
	background-color: var(--color-bg);
	color: var(--color-primary);
	border: var(--border-width) solid var(--color-primary);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1rem;
	padding: 0.6em 0.9em;
	height: var(--label-height);
	padding: 0 0.9em;
	text-decoration: none;
	border-radius: var(--border-radius-main);
	border-radius: var(--label-height);
	box-shadow: var(--shadow-float);
	white-space: nowrap;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	pointer-events: auto;
	letter-spacing: 0.01em;
		
	/*text-transform: uppercase;
	letter-spacing: 0.1em;*/
}

/* Search result label */
.float-label.type-search {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border: none;
}
.float-label.type-search strong {
	font-weight: normal;
	text-overflow: ellipsis;
	overflow: hidden;
	flex-shrink: 1;
}

/*###########################################*/
/* HEADER > INDEX PANELS */
/*###########################################*/
.index-bar {
	width: 100%;
	margin-top: var(--margin-grid);
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	/*display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;*/
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: var(--margin-grid);
	grid-template-rows: 100fr 1fr;
	grid-row-gap: var(--margin-grid);
	height: 0;
}
/*********************************************/
/* MAP PANORAMA PANEL */
.pano-bar {
	width: 100%;
	position: relative;
	/*flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	height: auto;*/
	grid-column: 1 / span 3;
	grid-row: 1;
}
.pano-wrapper {
	width: 100%;
	bottom:0;
	top:0;
	position: absolute;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	background-color: var(--color-bg);
	/*background-color: rgba(255,245,220,0.2);*/
	border-radius: var(--border-radius-main);
}
/*********************************************/
/* MAP PANORAMA PANEL > FRAME OVERLAY */
.pano-overlay {
	position: absolute;
	top:0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	pointer-events: none;
}

.worldwide-box {
	position: relative;
	z-index: 100;
	flex-grow: 1;
}
.map-frame {
	position: absolute;
	left: var(--padding-panel);
	top: var(--padding-panel);
	bottom: var(--padding-panel);
	right: var(--margin-grid);
	border: var(--border-width) solid var(--color-index-highlight);
	border-radius: var(--border-radius-main);
	animation-name: framePulse;
	animation-duration: 1.0s;
	animation-direction: alternate;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}
@keyframes framePulse {
	0% { opacity: 1; }
	100% { opacity: 0.3; }
}
/*********************************************/
/* MAP PANORAMA PANEL > FRAME OVERLAY > TITLE AND GLOBE ICON */
.worldwide-box .frame-title {
	font-size: 100%;
	width: 100%;
	padding-left: calc( 2 * var(--padding-panel));
	padding-top: calc(1.5 * var(--padding-panel));
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
.worldwide-box .icon-globe {
	--icon-globe-width: 2.25rem; /* 2.5rem */
	--icon-globe-bleed: 0.1125rem; /* 0.05 * width */
	/*--icon-globe-cml-width: 3.375rem; /* 1.5 * width */
	position: relative;
	width: var(--icon-globe-width);
	height: var(--icon-globe-width);
	overflow: hidden;
	/*transform: translateZ(0);*/
}
.worldwide-box .icon-globe .globe {
	position: absolute;
	left: var(--icon-globe-bleed);
	top: var(--icon-globe-bleed);
	right: var(--icon-globe-bleed);
	bottom: var(--icon-globe-bleed);
	background-color: var(--color-index-highlight);
	-webkit-mask-image: url("../img/icon-globe2.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-image: url("../img/icon-globe2.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}
.worldwide-box .icon-globe .cml-scroll {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../img/cml-logo-ani01.gif");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.worldwide-box .icon-globe .cml-scroll-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../img/cml-logo-ani-mirror03.gif");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.worldwide-box .frame-title h1 {
	font-family: var(--font-cindie), sans-serif, monospace;
	letter-spacing: 0.12em;
	color: var(--color-index-highlight);
	text-transform: uppercase;
	line-height: 1;
	display: block;
	/*margin-top: var(--cindie-center-offset);*/
	margin-left: 0.75rem;
}
/*********************************************/
/* MAP PANORAMA PANEL > FRAME OVERLAY > MAP META */
.worldwide-box .map-meta {
	position: absolute;
	bottom: var(--padding-panel);
	padding-bottom: var(--padding-panel);
	left: var(--padding-panel);
	padding-left: var(--padding-panel);
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.55rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--color-index-highlight);
	white-space: nowrap;
}
.worldwide-box .map-meta strong {
	font-weight: normal;
}
.worldwide-box .map-meta a {
	color: lightcyan;
	text-decoration: underline;
	pointer-events: auto;
}
.worldwide-box .map-meta a:hover {
	text-decoration: none;	
}
.worldwide-box .map-meta a:after {
	content: "\a0 \2197";
	text-decoration: none;
	position: absolute;
}
.worldwide-box .map-copyright {
	position: absolute;
	right: var(--padding-panel);
	padding-right: var(--padding-panel);
	bottom: var(--padding-panel);
	padding-bottom: var(--padding-panel);
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.55rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-align: left;
	color: var(--color-index-highlight);
	opacity: 0.3;
}

/*********************************************/
/* FEATURED POSTS */
.featured-box {
	position: relative;
	z-index: 100;
	width: var(--col-width-4);
	padding-right: var(--padding-panel);
	padding-top: var(--padding-panel);
	padding-bottom: var(--padding-panel);
	flex-grow: 0;
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	overflow: hidden;
	color: var(--color-featured-highlight);
}
header .box-label {
	width: 100%;
	padding: 0 var(--padding-panel);
	border-radius: var(--border-radius-main);
	font-family: var(--font-labels), monospace;
	font-size: 65%;
	line-height: 1;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	height: var(--label-height);
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-grow: 0;
	flex-shrink: 0;
}
.featured-box .box-label {
	border: var(--border-width) solid var(--color-featured-highlight);
	margin-bottom: 1rem;
}
.featured-box .box-label .label-text {
	
}
.featured-box .post-wrapper {
	flex-grow: 1;
	opacity: 0;
	transition: opacity 0.4s;
	height: 100%;
}
.featured-box .post {
	width: 100%;
	height: 100%;
	padding-left: 0.1rem;
	padding-right: var(--padding-panel);
	display: flex;
	flex-direction: column;
}
.featured-box .post-title {
	float: left;
	width: 100%;
	margin-bottom: 1rem;
	font-size: 2.4rem;
	line-height: 1.1;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-weight: 400;
	pointer-events: auto;
}
.featured-box .post-title a {
	text-decoration: underline;
}
.featured-box .post-title a:hover {
	text-decoration: none;
}
/*.featured-box .post-title a[target="_blank"]:after {
	content: "\2197";
	text-decoration: none;
	display: inline-block;
	margin-left: 0.1em;
	font-size: 60%;
	vertical-align: super;
}*/
.featured-box .post-excerpt {
	float: left;
	width: 100%;
	font-size: 100%;
	line-height: 1.3;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	flex-grow: 1;
}
.featured-box .post-date {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.65rem;
	line-height: 1;
	opacity: 0.5;
}

.featured-box .flickity-page-dots {
	bottom: 0;
	line-height: 0;
	text-align: right;
}
.featured-box .flickity-page-dots .dot {
	width: 0.6rem;
	height: 0.6rem;
	opacity: 1;
	margin: 0 0.25rem;
	background-color: transparent;
	border: var(--border-width) solid var(--color-featured-highlight);
}
.featured-box .flickity-page-dots .dot.is-selected {
	background: var(--color-featured-highlight);
	animation-name: dotPulse;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}
@keyframes dotPulse {
	0% { opacity: 1; }
	100% { opacity: 0.3; }
}

/*********************************************/
/* INTRO TEXT */
.info-bar {
	grid-column: 1 / span 3;
	grid-row: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.intro-bar {
	flex-grow: 0; /* fixed header height*/
	flex-shrink: 0; /* don't collapse height to min content, keep set height */
	flex-basis: auto;
	width: 100%;
	/*margin-top: var(--padding-panel);*/
	font-size: 130%;
	line-height: 1.4;
	font-family: var(--font-shift);
	font-weight: 400;
	letter-spacing: var(--shift-letter-spacing);
	word-spacing: var(--shift-word-spacing);
	color: var(--color-index-dark);
	cursor: default;
}
.intro-bar span, .intro-bar em {
	font-weight: normal;
	font-style: normal;
	color: var(--color-index-dark);
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 90%;
	line-height: 1;
}
.intro-bar:hover {
	/*color: rgba(93,83,75,0.50);*/
}

/*********************************************/
/* MENU BAR */
.menu-bar {
	flex-grow: 0; /* fixed header height*/
	flex-shrink: 0; /* don't collapse height to min content, keep set height */
	flex-basis: auto;
	margin-top: var(--padding-panel);
	width: 100%;
}
.menu-bar ul {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: var(--margin-grid);
}
.menu-bar ul li {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 0px;
}
.menu-bar ul li a {
	height: var(--menu-button-height);
	display: flex;
	/*flex-direction: column;*/
	justify-content: flex-start;
	align-items: center;
	border-radius: var(--border-radius-main);
	box-shadow: var(--shadow-buttons);
	padding: 0 var(--padding-panel);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 100%;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	background-color: var(--color-bg);
	color: var(--color-index-dark);
	border: var(--border-width) solid var(--color-index-dark);
	transition: color var(--time-hover), background-color var(--time-hover);
}
.menu-bar ul li a:hover {
	background-color: black;
	color: var(--color-index-highlight);
	
	background-color: var(--color-index-dark);
	color: var(--color-bg);
	
	background-color:  #cfcfbc;
	color: var(--color-index-dark);
}

/*********************************************/
/* AGENDA PANEL */
.agenda-box {
	background-color: var(--color-agenda-bg);
	color: var(--color-agenda-primary);
	padding: var(--padding-panel) 0;
	border-radius: var(--border-radius-main);
	grid-column: 4;
	grid-row: 1;
}
.agenda-box .box-label {
	border: var(--border-width) solid var(--color-agenda-primary);
	margin-bottom: 1rem;
	width: calc(100% - 2 * var(--padding-panel));
	margin-left: var(--padding-panel);
	text-decoration: none;
	transition: color var(--time-hover), background-color var(--time-hover);
	box-shadow: var(--shadow-buttons);
}
.agenda-box .box-label:hover {
	color: var(--color-agenda-bg);
	background-color: var(--color-agenda-primary);
}
.agenda-box .box-label .label-text {
	
}
.agenda-box .flickity-page-dots {
	bottom: 0px;
	right: var(--padding-panel);
	left: 0;
	width: auto;
	line-height: 0;
	text-align: right;
}
.agenda-box .flickity-page-dots .dot {
	width: 0.6rem;
	height: 0.6rem;
	opacity: 1;
	margin: 0 0.25rem;
	background-color: transparent;
	border: var(--border-width) solid var(--color-agenda-primary);
}
.agenda-box .flickity-page-dots .dot.is-selected {	
	background: var(--color-agenda-primary);
	animation-name: dotPulse;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}
.agenda-box .post-wrapper {
	flex-grow: 1;
	opacity: 0;
	transition: opacity 0.4s;
	height: 100%;
	height: calc(100% - var(--label-height) - 1rem);
	padding-bottom: 1.0rem;
}
.agenda-box .post {
	--color-primary: var(--color-agenda-primary);
	width: 100%;
	height: 100%;
	color: var(--color-primary);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0 var(--padding-panel);
}
.agenda-box .post.internal {
	--color-primary: var(--color-agenda-internal);
}
.agenda-box .post.today {
	--color-primary: var(--color-agenda-today);
}
.agenda-box .date-field {
	width: 100%;
	height: 3rem;
	flex-grow: 1;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-primary);
	margin-bottom: 0.75rem;
	line-height: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.5rem;
	align-items: center;
	position: relative;
	overflow: hidden;
	background-color: var(--color-agenda-bg);
	transition: background-color var(--time-hover);
}
.agenda-box .date-field img {
	position: absolute;
	width: 100%;
	height: 100%;
	filter: grayscale(1);
	mix-blend-mode: multiply;
	object-fit: cover;
	object-position: center;
	border-radius: var(--border-radius-main);
	padding: 0.2rem;
	transition: filter var(--time-hover);
}
/*.agenda-box .post:hover .date-field img {
	filter: grayscale(0);
}
.agenda-box .post:hover .date-field {
	background-color: white;
}*/
.agenda-box .date-field .date {
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	color: var(--color-agenda-bg);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 4.0rem;
	position: relative;
}
.agenda-box .date-field .month {
	font-size: 1rem;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	line-height: 1;
	background-color: var(--color-agenda-bg);
	padding: 0.2em 0.5em;
	border-radius: var(--border-radius-main);
	position: relative;
}
.agenda-box .save-the-date .date-field {
	border-style: dashed;
}
.agenda-box .post-content {
	width: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.agenda-box .post-label {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
	background-color: var(--color-primary);
	color: var(--color-agenda-bg);
	border-radius: var(--border-radius-main);
	padding: 0.3em 0.7em;
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.4;
	width: -moz-fit-content;
	width: fit-content;
	white-space: pre-wrap;
}
.agenda-box .post-title {
	width: 100%;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1.6rem;
	line-height: 1.1;
	margin-bottom: 0.1rem;
}
.agenda-box .post-title a {
	text-decoration: underline;
	font-weight: normal;
}
.agenda-box .post-title a:hover {
	text-decoration: none;
}
.agenda-box .post-title strong {
	font-weight: bold;	
}
.agenda-box .post-excerpt {
	width: 100%;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 0.75rem;
	line-height: 1.4;
	margin-top: 0.4rem;
}
.agenda-box .post-excerpt a {
	font-weight: normal;
}
.agenda-box .post-excerpt p + p {
	margin-top: 0.5rem;
}
.agenda-box .post-excerpt a:hover {
	text-decoration: none;	
}
.agenda-box .post-meta {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	margin-top: 0.5rem;
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
}
.agenda-box .post-meta a {
	font-weight: bold;
}

.agenda-box .post.today-marker {
	--color-primary: rgba(0,0,0,0.4);
}
.agenda-box .post.today-marker .date-field {
	flex-grow: 1;
	/*border-radius: 100%;*/
	background: var(--color-agenda-bg) url("../img/droplet01_bw.gif");
	background-size: cover;
	background-blend-mode: soft-light;
	background-clip: content-box;
	background-position: center;
	background-repeat: no-repeat;
}
.agenda-box .post.today-marker .post-title {
	text-align: center;
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
.agenda-box .post.today-marker .post-title a {
	/*font-weight: 500;*/
}
.agenda-box .post.today-marker .post-excerpt {
	text-align: center;
}

/*********************************************/
/* FILLER BOX */
.filler-box {
	flex-grow: 1;
	flex-shrink: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	color: var(--color-agenda-bg);
	font-family: var(--font-cindie);
	font-size: 70%;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1.3;
	font-weight: 500;
	/*margin-top: var(--margin-grid);*/
	height: 100%;
	grid-column: 4;
	grid-row: 2;
}
.filler-box .filler-title {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-bottom: 1rem;
	font-weight: normal;
	font-family: var(--font-cindie);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1;
	font-size: 1rem;
}
.filler-box .filler-title div {
	width: 30%;
}
.filler-box .filler-title div:first-child {
	text-align: right;
}
.filler-box .filler-title div:last-child {
	text-align: left;	
}
.filler-box .filler-title div.icon-sun {
	height: 2.1em;
	width: 2.1em;
	background-color: var(--color-agenda-bg);
	-webkit-mask-image: url("../img/icon-print1.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url("../img/icon-print1.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	display: inline-block;
	overflow: visible;
	margin: 0 0.65em;
	margin-bottom: 0.1rem;
}
.filler-box .filler-text {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.filler-box .filler-text span {
	font-family: 'Compagnon Hand';
	font-weight: normal;
	font-size: 0.9rem;
}
.filler-box .filler-text p {
	padding-left: 0.1em;
	width: 50%;
	margin-bottom: 1rem;
}
.filler-box .filler-text p:last-child {
	margin: 0;
}

/*###########################################*/
/* CONTENT */
/*###########################################*/

/*********************************************/
/* INDEX POST FEED */

/* index post feed anchor */
#current {
	display: block;
    position: relative;
    /*top: calc(-1 * (var(--padding-main-y)));*/
    visibility: hidden;
}

/*********************************************/
/* POST GRID */
.post-grid {
	position: relative;
	width: 100%;
	padding: 2rem 0;
	
	min-height: 10rem;
	
	--grid-gutter: 1.5rem;
}

.post-grid-bg {
	position: absolute;
	left: calc(-1 * var(--padding-main-x));
	right: calc(-1 * var(--padding-main-x));
	top: 0;
	bottom: 0;
	background-color: var(--color-primary);
	-webkit-mask-image: url("../img/surface02.png");
	-webkit-mask-size: 1.2rem;
	-webkit-mask-repeat: round;
	-webkit-mask-position: left top;
	mask-image: url("../img/surface02.png");
	mask-size: 1.2rem;
	mask-repeat: round;
	mask-position: left top;
}

.post-grid .posts .post-panel {
	opacity: 0;
	transition: opacity 0.3s;
	will-change: opacity;
}
.loaded .post-grid .posts .post-panel {
	opacity: 1;
}
.resize .post-grid .posts .post-panel {
	opacity: 0;
}
.grid-sizer {
	/*width: var(--col-width-1);
	width: calc((100% + var(--grid-gutter)) / 12 - var(--grid-gutter));*/
	width: calc((100% + var(--grid-gutter)) / 36 - var(--grid-gutter));
	height: 1rem;
}
.gutter-sizer {
	/*width: var(--margin-grid);*/
	width: var(--grid-gutter);
}
.post-grid .posts .post-panel {
	--color-bg: var(--color-post-default-bg); /* default post colors */
	--color-primary: var(--color-post-default-primary);
	border-radius: var(--border-radius-post-panel);
	box-shadow: var(--shadow-content);
	padding: var(--padding-post-panel);
	background-color: var(--color-bg);
	color: var(--color-primary);
	border: var(--border-width) solid var(--color-primary);
	display: flex;
	flex-direction: column;
	
	/*width: var(--col-width-4) !important;*/
	width: calc((100% + var(--grid-gutter)) / 3 - var(--grid-gutter));
	position: relative;
}

.post-grid .posts .related-posts {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.6rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	gap: 0.35rem 0.5rem;
	margin-bottom: var(--padding-panel);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.post-grid .posts .related-posts .related-link {
	box-shadow: var(--shadow-buttons);
	padding: 0.6em 0.9em;
	line-height: 1;
	border-radius: 0.2rem;
	border: var(--border-width) solid transparent;
	text-decoration: none;
	transition: border-color var(--time-hover);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
}
.post-grid .posts .related-posts .related-link:before {
	content: "\20";
	width: 1em;
	min-width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 1em;
	border: var(--border-width) solid var(--color-primary);
	transition: background-color var(--time-hover);
}
.post-grid .posts .related-posts .related-link:hover {
	border-color: var(--color-primary);
}
.post-grid .posts .related-posts .related-link:hover:before {
	background-color: var(--color-primary);
}
.post-grid .posts .related-posts .related-link.is-current-page {
	box-shadow: none;
	/*padding-left: 0;
	padding-right: 0;*/
	background-color: var(--color-primary);
	color: var(--color-bg);
}
.post-grid .posts .related-posts .related-link.is-current-page:hover {
	border-color: transparent;
}
.post-grid .posts .related-posts .related-link.is-current-page:before {
	background-color: var(--color-bg);
}
.post-grid .posts .related-posts .related-link.is-current-page:hover:before {
	background-color: var(--color-bg);
}

.post-grid .posts .post-image {
	margin-bottom: 0.65rem;
	line-height: 0;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-main);
	padding: 0.2rem;
}
.post-grid .posts .post-image.aspect-portrait {
	padding-right: 33%;
	position: relative;
}
.post-grid .posts .post-image.aspect-portrait:before {
	content: "";
	position: absolute;
	top: 0.2rem;
	bottom: 0.2rem;
	left: 0.2rem;
	right: 0.2rem;
	border-radius: 0.2rem;
	background-color: var(--color-primary);
	-webkit-mask-image: url("../img/surface01-small.png");
	-webkit-mask-size: 0.2rem;
	-webkit-mask-repeat: round;
	mask-image: url("../img/surface01-small.png");
	mask-size: 0.2rem;
	mask-repeat: round;
}

.post-grid .posts .post-image img {
	border-radius: var(--border-radius-image);
	border-radius: 0.2rem;
	position: relative;
}

.post-grid .posts .post-meta {
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	line-height: 1.3;
	margin-bottom: 0.5rem;
}
.post-grid .posts .post-meta .post-label {
	flex-grow: 1;
	border-radius: var(--border-radius-main);
	width: -moz-fit-content;
	width: fit-content;
	white-space: pre-wrap;
	border: none;
	padding: 0;
}
.post-grid .posts .post-title {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-weight: normal;
	font-size: 2rem; /* 1.75 */
	line-height: 1.1;
	margin-bottom: 0.7rem;
}
.post-grid .posts .span-3 .post-title,
.post-grid .posts .span-5 .post-title, 
.post-grid .posts .span-6 .post-title {
	font-size: 1.6rem;
	line-height: 1.2;
}
.post-grid .posts .span-2 .post-title {
	font-size: 1.25rem;
	line-height: 1.2;
}
.post-grid .posts .post-title a {
	text-decoration: underline;
	font-weight: inherit;
}
.post-grid .posts .post-title a:hover {
	text-decoration: none;
}

.post-grid .posts .post-excerpt {
	font-family: var(--font-serif);
	font-weight: normal;
	font-size: 0.9rem;
	line-height: 1.4;
}
.post-grid .posts .no-post .post-excerpt {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
}

.post-grid .posts .post-footer {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	flex-grow: 1;
}
.post-grid .posts .team {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.6rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	gap: 0.75em 1em;
	margin-top: var(--padding-panel);
	opacity: 0.5;
	transition: opacity var(--time-hover);
}
.post-grid .posts .team:hover {
	opacity: 1.0;
}
.post-grid .posts .team .team-member {
	white-space: nowrap;
	display: flex;
	align-items: center;
}
.post-grid .posts .team .team-member .profile-image {
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	border-radius: 5rem;
	background-color: var(--color-primary);
}
.post-grid .posts .team .team-member a {
	text-decoration: none;
}
.post-grid .posts .team .team-member a:hover {
	text-decoration: underline;
}

.post-grid .posts .post-panel.no-post {
	
}

/**/
.post-grid .posts .post-panel.permanent-post {
	text-align: center;
}
.post-grid .posts .post-panel.permanent-post .post-title {
	text-align: center;
}

/* (Removed panel size differences) */
/* Size S */
.post-grid .posts .span-2 {
	/*width: var(--col-width-2);
	width: calc((100% + var(--grid-gutter)) / 4.5 - var(--grid-gutter)) !important;*/
	
    /*width: calc((100% + var(--grid-gutter)) / 4 - var(--grid-gutter));*/
}
/* Size M */
.post-grid .posts .span-3 {
	/*width: var(--col-width-3);*/
	
    /*width: calc((100% + var(--grid-gutter)) / 4 - var(--grid-gutter));*/
}
.post-grid .posts .span-3 .post-image {
    /*width: var(--col-width-9);*/
    padding-right: 33%;
    position: relative;
}
.post-grid .posts .span-3 .post-image.aspect-portrait {
    padding-right: 50%;
}

.post-grid .posts .span-3 .post-image:before {
    content: "";
    position: absolute;
    top: 0.2rem;
    bottom: 0.2rem;
    left: 0.2rem;
    right: 0.2rem;
    border-radius: 0.2rem;
    background-color: var(--color-primary);
    -webkit-mask-image: url("../img/surface01-small.png");
    -webkit-mask-size: 0.2rem;
    -webkit-mask-repeat: round;
    mask-image: url("../img/surface01-small.png");
    mask-size: 0.2rem;
    mask-repeat: round;
}
/* Size L (Default) */
.post-grid .posts .span-4 {
	/*width: var(--col-width-4);*/	
}

.post-grid .posts .span-5 {
	/*width: var(--col-width-5);*/
	/* 3 wide */
	/*width: calc((100% + var(--grid-gutter)) / 3 - var(--grid-gutter));*/
}
.post-grid .posts .span-6 {
	/*width: var(--col-width-6);*/
	/* 4 wide */
	/*width: calc((100% + var(--grid-gutter)) / 3 - var(--grid-gutter));*/
}

.post-grid .posts .title-post {
	--color-bg: inherit; /* use page colors */
	--color-primary: inherit;
	/*margin-bottom: var(--margin-grid);*/
	display: grid;
	min-height: 7rem;
	background-color: var(--color-bg);
	box-shadow: none;
	border: none;
	opacity: 1 !important;
	padding: 0.2rem;
}
.post-grid .posts .title-post .post-title {
	grid-area: 1 / 1 / 2 / 2;
	font-family: var(--font-cindie);
	text-transform: uppercase;
	font-weight: normal;
	letter-spacing: 0.1em;
	font-size: 2.2rem;
	line-height: 1;
	text-align: left;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-current-highlight);
	padding: calc(var(--padding-post-panel) - 0.2rem);
}
.post-grid .posts .title-post:before {
	content: "";
	grid-area: 1 / 1 / 2 / 2;
	border-radius: var(--border-radius-post-panel);
	border: var(--border-width) solid var(--color-current-highlight);
	animation-name: framePulse;
	animation-duration: 1.0s;
	animation-direction: alternate;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}

/*********************************************/
/* RELATED GRID (.post-grid on other pages) */
.page .related-grid {
	/*margin-top: var(--padding-main-x);*/
	margin-top: 2rem;
}
.single-post .related-grid {
	margin-top: 2rem;
}
.single-people .related-grid {
	padding-top: 5rem;
	margin-top: -3rem;
}
/*.single-project .related-grid {
	padding-top: 5rem;
	margin-top: -3rem;
}*/

.related-grid .title-post {
	width: calc((100% - 2 * var(--grid-gutter)) / 3);
	border-radius: var(--border-radius-main);
	background-color: var(--color-bg);
	position: relative;
	margin-bottom: var(--grid-gutter);
	display: none;
}
.related-grid .title-post .post-title {
	width: 100%;
	
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	
	color: var(--color-primary);
	background-color: var(--color-meta-bg);
	padding: 0 var(--padding-panel);
	height: var(--label-height);
	border-radius: var(--border-radius-main);
	
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/*********************************************/
/* FILLER ELEMENTS */
.filler {
	/*position: absolute;*/
	opacity: 0;
	transition: opacity 0.3s, border-color var(--time-hover);
	
	background-color: var(--color-bg);
	color: var(--color-primary);
    border-radius: var(--border-radius-post-panel);
	box-shadow: var(--shadow-content);
	border: var(--border-width) solid transparent;
    
    width: calc((100% + var(--grid-gutter)) / 3 - var(--grid-gutter));
	
	/*display: none;*/
    display: block;
    position: relative;
}
.filler.active {
	display: block;
}
.loaded .filler {
	opacity: 1.0;
}
.resize .filler {
	opacity: 0;
}
.filler a {
	color: inherit;
	text-decoration: none;
	position: relative;
	width: 100%;
	height: 100%;
}
.filler .post-content {	
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    gap: 0.5rem;
	width: 100%;
	height: 100%;
    padding: var(--padding-post-panel);
}
.filler .post-title {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1.6rem !important;
	line-height: 1.1 !important;
	text-decoration: none;
	margin-bottom: 0 !important;
}

.filler-project .post-title {
	position: relative;
	padding-left: calc(0.7em + 0.5em);
	display: block;
    flex-grow: 1;
}
.filler-project .post-title:before {
	content: "\20";
	width: 0.7em;
	height: 0.7em;
	border: var(--border-width) solid var(--color-primary);
	border-radius: 5rem;
	margin-right: 0.5em;
	display: inline-block;
	margin-top: 0.18em;
	position: absolute;
	/*left: var(--padding-panel);*/
	left: 0;
	transition: background-color var(--time-hover);
}
.filler.span-2 .post-title {
	font-size: 1.2rem !important;
}

.post-grid .posts .filler .post-excerpt {
    font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
    opacity: 0.5;
    transition: opacity var(--time-hover);
    line-height: 1.4;
}
.filler .post-label {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
    padding-bottom: 0.15em;
	opacity: 1.0;
    transition: opacity var(--time-hover);
}
.filler:hover .post-label {
    opacity: 1.0;
}

.filler:hover {
	border: var(--border-width) solid var(--color-primary);
}
.filler-project:hover .post-title:before {
	background-color: var(--color-primary);
}

.filler-social {
	--color-primary: blue;
	--color-bg: powderblue;
}
.filler-social .post-title {
	position: relative;
	padding-left: calc(0.7em + 0.5em);
	display: block;
}
.filler-social .post-title:before {
	content: "";
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.5em;
	display: inline-block;
	margin-top: -0.23em;
	position: absolute;
	left: -0.3em;
	background-color: var(--color-primary);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
}
.filler-social .post-label {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
.filler-instagram .post-title:before {
	-webkit-mask-image: url("../img/icon-social-ig.svg");
	mask-image: url("../img/icon-social-ig.svg");
}
.filler-twitter .post-title:before {
	-webkit-mask-image: url("../img/icon-social-twitter.svg");
	mask-image: url("../img/icon-social-twitter.svg");
}

.filler.filler-wide {
	/*background: url("../img/map-scale03-wide.svg");
	background-repeat: repeat-y;
	background-size: 100% 10%;*/
	
	/*background-image: url("../img/map-scale03-wide.svg");
	background-image: url("https://www.schemecolor.com/wallpaper?i=37498&og");
	background-size: 20%;
	background-repeat: round;
	mix-blend-mode: multiply;
	*/
	
	/*background-image: url("../panoramas/tiles/cml-car-dealer/4/b/6/1.jpg");
	background-size: auto 50%;*/
	
	/*background-size: contain;
	background-size: auto 20%;*/
}
.filler.filler-infinite {
	/*display: none;*/
}
.filler.filler-overlaps {
	border: 1px solid red;
}


/*********************************************/
/* LOAD MORE ELEMENT */
.load-more-wrapper {
	width: 100%;
	background: linear-gradient(to bottom, var(--color-bg-transparent), var(--color-bg) 60%);
	padding: 4rem 0 0 0;
	/*margin-top: -8rem;*/
	z-index: 100;
	position: relative;
}
.load-more-wrapper div {
	height: var(--cml-bar-height);
	color: rgba(93,83,75,1.00);
	border: var(--border-width) solid rgba(93,83,75,1.00);
	border-radius: var(--border-radius-main);
	width: var(--col-width-6);
	margin: 0 auto;
	font-family: var(--font-meta);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: var(--cml-bar-height);
	cursor: pointer;
}

/*###########################################*/
/* TEMPLATES */
/*###########################################*/


/*###########################################*/
/* PAGES */

.page {
	--color-primary: var(--color-page-default-primary);
	--color-bg: var(--color-page-default-bg);
	--color-secondary: var(--color-page-default-secondary);
	--color-aside: var(--color-page-default-aside);
	/*--color-aside-bg: var(--color-page-default-aside-bg);*/
	--color-aside-bg: var(--color-bg); /* if color-bg is set on body */
}

.page main {
	/* fallback for imprint + privacy */
	font-family: var(--font-sans);
	line-height: 1.4;
	
	/*padding-bottom: 8rem;*/
}
.page main p {
	margin-bottom: 1em;
}
.page main p:last-child {
	margin-bottom: 0;
}

/*###########################################*/
/* SPECIAL ELEMENTS */

/* TOGGLES ON PROJECTS / PEOPLE */
.page .archive-toggle {
	width: var(--col-width-6);
	padding: var(--padding-panel);
	background-color: var(--color-bg);
	box-shadow: var(--shadow-buttons) inset;
	border-radius: 4rem;
	display: flex;
	align-items: center;
	cursor: pointer;
	border: var(--border-width) solid var(--color-primary);
}
.page .archive-toggle .toggle-indicator {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 2rem;
	border: var(--border-width) solid var(--color-primary);
	margin-right: var(--padding-panel);
	margin-right: 0;
	background-clip: content-box;
	padding: 0.2rem;
	transition: background-color var(--time-hover), padding var(--time-hover);
}
.page .archive-toggle:hover .toggle-indicator {
	background-color: var(--color-primary);
}
.page .archive-toggle.active .toggle-indicator {
	background-color: lightgreen;
	padding: 0;
}
.page .archive-toggle .toggle-label {
	font-family: var(--font-meta);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 400;
	line-height: 1;
	color: var(--color-primary);
	flex-grow: 1;
	text-align: center;
	margin-right: 1.5rem;
}

.page .order-toggle {
	width: var(--col-width-6);
	padding: var(--padding-panel);
	background-color: var(--color-bg);
	box-shadow: var(--shadow-buttons) inset;
	border-radius: 4rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	cursor: pointer;
	border: var(--border-width) solid var(--color-primary);
}
.page .order-toggle .toggle-indicator {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 2rem;
	border: var(--border-width) solid var(--color-primary);
	margin-right: var(--padding-panel);
	margin-right: 0;
	background-clip: content-box;
	padding: 0.2rem;
	transition: background-color var(--time-hover), padding var(--time-hover);
}
.page .order-toggle .toggle-label {
	font-family: var(--font-meta);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 400;
	line-height: 1;
	color: var(--color-primary);
	flex-grow: 1;
	text-align: center;
}
.page .order-toggle:not(.active) .toggle-a {
	background-color: lightgreen;
	padding: 0;
}
.page .order-toggle:not(.active):hover .toggle-b {
	background-color: var(--color-primary);
}
.page .order-toggle.active .toggle-b {
	background-color: lightgreen;
	padding: 0;
}
.page .order-toggle.active:hover .toggle-a {
	background-color: var(--color-primary);
}

/*********************************************/
/* DEFAULT PAGE TEMPLATE */
.page {
	
}

.page .page-header {
	width: 100%;
	border-radius: var(--border-radius-title);
	border: var(--border-width) solid var(--color-primary);
	background-color: var(--color-bg);
	height: var(--fill-height);
	display: grid;
	position: sticky;
	top: var(--sticky-top-title);
	margin-bottom: calc(1.5 * var(--margin-grid));
	z-index: -1; /**/
}
.page .page-header * { /*DEBUG*/
	/*outline: 1px solid red;*/
}

.page .title-wrapper {
	grid-area: 1 / 1 / 2 / 2;
	padding: var(--padding-title);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page .page-label {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 1.8rem;
}
.page .page-label div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-wrap: nowrap;
	
	font-family: var(--font-meta);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	text-align: center;
	background-color: var(--color-meta-bg);
	border-radius: var(--border-radius-main);
	height: var(--label-height);
	padding: 0 calc(var(--padding-panel) - 0.07em) 0 var(--padding-panel);
}
.page .page-title {
	flex-grow: 0;
}
.page .page-title h1 {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 4.85rem;
	line-height: 1.1;
	text-align: center;
}
.page .page-title h1 em {
	font-style: normal;
	color: transparent;	
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	-webkit-text-fill-color: transparent;
	text-stroke: var(--text-stroke-width) var(--color-primary);
	text-fill-color: transparent;
}
.page .page-subtitle {
	flex-grow: 1;	
	padding-top: 1.5rem;
}
.page .page-subtitle h2 {
	font-size: 1.25rem;
	line-height: 1.3;
	font-family: var(--font-serif);
}

.page .page-content {
	position: relative;
	width: 100%;
	margin-left: 1rem;
	z-index: 100;
	padding-bottom: calc(3.0 * var(--margin-grid));
}

/* ADD TO DEFAULT STYLE?
letter-spacing: 0.01em;
word-spacing: 0.05em;
*/

/* OLD DEFAULT
.page-study .page-content, .page-experimental-design .page-content {
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 1.25rem;
	line-height: 1.5;
	letter-spacing: 0.01em;
	word-spacing: 0.05em;
}*/

/*********************************************/
/* IMPRINT PAGE */
.page-imprint {
	--color-imprint: #daa520;
}
.page-imprint main {
	color: var(--color-primary);
	padding-bottom: 0;
}
.page-imprint .content-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	border-radius: var(--border-radius-main);
	min-height: var(--screen-height);
	padding: 0;
}
.page-imprint .pano-panel {
	width: var(--col-width-12);
	position: relative;
}
.page-imprint .pano-wrapper {
	background-color: var(--color-bg-default);
}
.page-imprint .pano-overlay {
	flex-direction: row;
	justify-content: flex-start;
}
.page-imprint .pano-overlay .page-title {
	all: unset; /**/
	box-sizing: border-box;
	width: var(--col-width-8);
	padding: var(--padding-panel);
	margin: var(--padding-panel);
	margin-right: var(--margin-grid);
	flex-shrink: 0;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-index-highlight);
	position: relative;
	display: block;
	background: none;
}
.page-imprint .pano-overlay h1 {
	all: unset; /**/
	box-sizing: border-box;
	border: none;
	margin: 0;
	font-size: 2.5rem;
	font-weight: normal;
	font-family: var(--font-cindie);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: left;
	color: var(--color-index-highlight);
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	padding: 0;
	padding-left: 0.1em;
	background: none;
}
/*.page-imprint .pano-overlay h1:before {
	content: "\20";
	width: 1.25em;
	height: 1.25em;
	-webkit-mask-image: url("../img/cml-pattern-globe2.svg");
	-webkit-mask-image: url("../img/icon-print3.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% auto;
	-webkit-mask-position: center;
	background-color: var(--color-primary);
	display: block;
	margin-right: calc(2 * var(--padding-panel));
}*/
.page-imprint .pano-overlay .map-meta {
	position: absolute;
	bottom: var(--padding-panel);
	left: var(--padding-panel);
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.55rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--color-index-highlight);
	white-space: nowrap;
}
.page-imprint .pano-overlay .map-copyright {
	position: absolute;
	bottom: var(--padding-panel);
	right: var(--padding-panel);
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.55rem;
	line-height: 1.5;
	text-align: left;
	color: var(--color-index-highlight);
	opacity: 0.3;
}

.page-imprint .page-content {
	width: var(--col-width-4);
	pointer-events: auto;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: var(--padding-content);
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-primary);
	margin: var(--padding-panel);
	margin-left: 0;
	color: var(--color-primary);
	font-feature-settings: var(--font-features-sans);
	background-color: var(--color-secondary);
	overflow-y: auto;
}

.page-imprint .page-content p:last-child {
	margin: 0;
}

/*********************************************/
/* PRIVACY PAGE */
.page-privacy-policy {
	--color-bg: #65E3E3 !important;
	--color-primary: #031068 !important;
}
.page-privacy-policy main {
	color: #65E3E3;
	padding-bottom: 0;
}
.page-privacy-policy .content-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--color-primary);
	border-radius: var(--border-radius-title);
	padding: var(--padding-main-y) calc(0.5 * var(--padding-main-x));
	min-height: var(--screen-height);
}
.page-privacy-policy .page-title {
	all: unset; /**/
	box-sizing: border-box;
	width: 100%;
	border: var(--border-width) solid #65E3E3;
	border-radius: var(--border-radius-main);
	margin-bottom: 1.5rem;
	padding: var(--padding-main-y) calc(0.5 * var(--padding-main-x));
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: none;
	min-height: 0;
}
.page-privacy-policy .page-title h1 {
	all: unset; /**/
	box-sizing: border-box;
	border: none;
	margin: 0;
	padding: 2rem 0;
	max-width: none;
	font-size: 4rem;
	font-weight: normal;
	font-family: var(--font-cindie);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.0;
	background: none;
}
.page-privacy-policy .page-content {
	width: 100%;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	font-feature-settings: var(--font-features-sans);
}
.page-privacy-policy .page-content p {
	margin-bottom: 0.7em;
}

/*###########################################*/
/* PAGE: LOGOS */
.page-logos {
	
}
.page-logos .logo-box img {
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: 1.5rem;
	margin-bottom: 0.3rem;
	border-radius: 0;
	display: inline-block;
}
.page-logos .logo-box a {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.8rem;
	font-weight: normal;
	line-height: 1.3;
	padding-left: 5ch;
	position: relative;
	display: inline-block;
	margin-top: 0.5rem;
}
.page-logos .logo-box a:before {
	font-weight: bold;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-primary);
	position: absolute;
	padding: 0 0.3em;
	text-decoration: none;
	left: 0;
	top: -0.13em;
	white-space: nowrap;
}
.page-logos .logo-box a[href$=".svg"]:before {
	content: "SVG";
}
.page-logos .logo-box a[href$=".png"]:before {
	content: "PNG";
}

/*###########################################*/
/* PAGE: AGENDA */
.page-agenda main {
	padding-top: var(--padding-panel);
}
.page-agenda .page-content {
	padding-bottom: 3rem;
	margin-left: 0;
}

.page-agenda .agenda-list {
	width: 100%;
	display: grid;
	grid-auto-rows: max-content;
	grid-template-columns: repeat(24, 1fr);
	grid-gap: var(--margin-grid);
	grid-column-gap: var(--margin-grid);
	grid-row-gap: var(--margin-grid);
	grid-row-gap: calc(1.5 * var(--margin-grid));
}

.page-agenda .section-title {
	grid-column: span 12;
	grid-row: span 1;
	min-height: 21rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: var(--margin-grid);
}
.page-agenda .section-title h2 {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 4rem;
	color: var(--color-agenda-bg);
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	
	width: 100%;
	flex-grow: 1;
	margin-bottom: var(--margin-grid);
	line-height: 1;
}
.page-agenda .section-title p {
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 1.5rem;
	margin: 0;
	color: var(--color-primary);
	width: var(--col-width-9);
}

/*.page-agenda .month-divider {
	grid-column: span 3;
	min-height: 21rem;
	border-bottom: var(--border-width) solid var(--color-primary);
	font-size: 1.75rem;
	/*font-family: var(--font-cindie);
	text-transform: uppercase;
	line-height: 1;
}*/
/*.page-agenda .month-divider .bg {
	background-color: var(--color-primary);
	-webkit-mask-image: url("../img/surface02.png");
	-webkit-mask-repeat: round;
	-webkit-mask-size: 0.8rem;
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: var(--border-radius-main);
}
.page-agenda .month-divider .month-label {
	position: absolute;
	color: var(--color-primary);
	font-size: 1.75rem;
	line-height: 1;
}*/

.page-agenda .post {
	grid-column: span 6;
	color: var(--color-primary);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: var(--margin-grid);
	transition: opacity var(--time-hover);
	position: relative;
}
.page-agenda .post.internal {
	--color-primary: var(--color-agenda-internal);
}
.page-agenda .post.today {
	--color-primary: var(--color-agenda-today);
}

.page-agenda .post .date-field {
	width: 100%;
	min-height: 12rem;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-primary);
	margin-bottom: 0.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	line-height: 1;
	flex-grow: 1;
	position: relative;
	overflow: hidden;
	background-color: var(--color-agenda-bg);
}
.page-agenda .post .date-field img {
	position: absolute;
	width: 100%;
	height: 100%;
	filter: grayscale();
	mix-blend-mode: multiply;
	object-fit: cover;
	object-position: center;
	border-radius: var(--border-radius-main);
	padding: 0.2rem;
}
.page-agenda .post .date-field .date {
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	color: var(--color-agenda-bg);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 4.5rem;
	position: relative;
}
.page-agenda .post .date-field .month {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	background-color: var(--color-agenda-bg);
	padding: 0.2em 0.5em;
	border-radius: var(--border-radius-main);
	position: relative;
	font-size: 1rem;
	line-height: 1;
}
.page-agenda .post.save-the-date .date-field {
	border-style: dashed;
}

.page-agenda .post .post-content {
	width: 100%;
	flex-grow: 0;
	flex-shrink: 0;
}
.page-agenda .post .post-label {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	margin-bottom: 0.5rem;
	background-color: var(--color-primary);
	color: var(--color-bg);
	border-radius: var(--border-radius-main);
	padding: 0.3em 0.7em;
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
	white-space: pre-wrap;
}
.page-agenda .post .post-title {
	width: 100%;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1.75rem;
	line-height: 1.1;
}
.page-agenda .post .post-title a {
	text-decoration: underline;
	font-weight: normal;
}
.page-agenda .post .post-title a:hover {
	text-decoration: none;
}
.page-agenda .post .post-excerpt {
	width: 100%;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 0.85rem;
	line-height: 1.4;
	margin-top: 0.5rem;
}
.page-agenda .post .post-excerpt a {
	font-weight: normal;
}

.page-agenda .post .post-meta {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	margin-top: 0.5rem;
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
}
.page-agenda .post .post-meta a {
	font-weight: bold;
}

.page-agenda .post.today-marker {
	--color-primary: var(--color-agenda-today);
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-agenda-today);
}
.page-agenda .post.today-marker .date-field {
	flex-grow: 1;
	border-radius: 100%;
	width: 12rem;
	height: 12rem;
	margin: auto;
	flex-grow: 0;
	background: none;
}
.page-agenda .post.today-marker .date-field .date {
	color: var(--color-bg);
}
.page-agenda .post.today-marker .date-field .month {
	background: none;
}
.page-agenda .post.today-marker .post-title {
	text-align: center;
}

.page-agenda .post.past {
	/*--color-primary: rgba(0,0,0,0.4);*/
	opacity: 0.7;
	will-change: opacity;
}
.page-agenda .post.past:hover {
	/*--color-primary: var(--color-agenda-primary);*/
	opacity: 1.0;
}

.page-agenda .post.archive {
	grid-column: span 8;
	flex-direction: row;
	align-items: flex-start;
}
.page-agenda .post.archive .date-field {
	width: var(--col-width-4);
	margin-bottom: 0;
	margin-right: var(--margin-grid);
	min-height: 0;
	flex-grow: 1;
	flex-shrink: 0;
	padding: 1rem 0;
}
.page-agenda .post.archive .date-field .date {
	font-size: 2.1rem;
	/*width: 1.25em;*/
	text-align: center;
}
.page-agenda .post.archive .post-content {
	flex-shrink: 1;
}
.page-agenda .post.archive .post-label {
	background: none;
	color: var(--color-primary);
	padding: 0;
}
.page-agenda .post.archive .post-title {
	font-size: 1.5rem;
}

.page-agenda .post.divider-past {
	grid-column: span 12;
}
.page-agenda .post.divider-past .post-title {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 4rem;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	line-height: 1;
}
.page-agenda .post.divider-year {
	grid-column: span 6;
}
.page-agenda .post.divider-year.archive {
	grid-column: span 8;
}
.page-agenda .post.divider-year .post-title {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 4rem;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	line-height: 1;
}

/*###########################################*/
/* PAGE: PROJECTS */
.page-projects {
	--color-bg-reference: var(--color-bg);
	--color-primary-reference: var(--color-primary);
}
.page-projects main {
	padding-top: var(--padding-panel);
}

.page-projects .page-content {
	margin-left: 0;
}

.page-projects .section-title {
	grid-column: span 12;
	grid-row: span 1;
	display: flex;
	flex-direction: column;
	align-content: space-between;
	gap: var(--margin-grid);
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: var(--margin-grid);
}
.page-projects .section-title h2 {
	font-family: var(--font-serif);
	font-size: 5rem;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	width: 100%;
	flex-grow: 0;
	line-height: 1;
}
.page-projects .section-title .project-updates {
	width: 100%;
	margin-top: var(--margin-grid);
	flex-grow: 1;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 0.5rem;
}
.page-projects .section-title .project-updates a {
	background-color: lightgreen;
	color: var(--color-primary);
	border-radius: var(--border-radius-main);
	font-size: 0.8rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-weight: normal;
	padding: 0.4em 1.9em 0.4em 0.8em;
	display: inline-block;
	white-space: nowrap;
	animation-name: updatesPulse;
	animation-duration: 1s;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}
.page-projects .section-title .project-updates a:after {
	content: '\2192';
	position: absolute;
	text-decoration: none;
	margin-left: 0.5em;
}
@keyframes updatesPulse {
	0% { background-color: lightgreen; }
	100% { background-color: rgba(144,238,144,0.30); }
}

.page-projects .project-list {
	width: 100%;
	display: grid;
	grid-auto-rows: max-content;
	grid-template-columns: repeat(24, 1fr);
	grid-gap: var(--margin-grid);
	grid-column-gap: var(--margin-grid);
	grid-row-gap: calc(1.5 * var(--margin-grid));
}

.page-projects .project {
	grid-column: span 6 !important;
	position: relative;
	padding-top: calc(1.5 * var(--padding-panel)); /* for image effect artifacts on fade */
	background-color: var(--color-bg-reference);
	border-bottom: var(--border-width) solid var(--color-bg);
	padding-bottom: 1.0rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: 0;
	border-color: var(--color-primary-reference);	
}
.page-projects .project.archived {
	display: none;
}

.page-projects .project-link {
	text-decoration: none;
	font-weight: normal;
	display: block;
	color: var(--color-primary);
	background-color: var(--color-bg);
	padding: calc(0.8 * var(--padding-panel)) var(--padding-panel);
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid rgba(255,255,255,0);
	flex-grow: 1;
	flex-shrink: 0;
	margin-bottom: 0.5rem;
	position: relative;
	transition: border-color var(--time-hover);	
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-grow: 0;
	flex-shrink: 0;
	min-height: 23rem; /*21.5*/
}

.page-projects .project-link .project-cutout {
	width: 0.75rem;
	flex-grow: 0;
	flex-shrink: 0;
	
	background-color: var(--color-bg-reference);
	/*background-color: var(--color-primary);*/
	-webkit-mask-image: url("../img/project-tag01.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	mask-image: url("../img/project-tag01.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}
.page-projects .project.style-2 .project-cutout {
	-webkit-mask-image: url("../img/project-tag02.svg");
	mask-image: url("../img/project-tag02.svg");
}
.page-projects .project.style-3 .project-cutout {
	-webkit-mask-image: url("../img/project-tag03.svg");
	mask-image: url("../img/project-tag03.svg");
}
.page-projects .project.style-4 .project-cutout {
	-webkit-mask-image: url("../img/project-tag04.svg");
	mask-image: url("../img/project-tag04.svg");
}
.page-projects .project.style-5 .project-cutout {
	-webkit-mask-image: url("../img/project-tag05.svg");
	mask-image: url("../img/project-tag05.svg");
}

.page-projects .project-link .project-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
	padding-top: 0.75rem;
	padding-left: calc(2 * var(--padding-panel));
}

.page-projects .project-title {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 2rem;
	line-height: 1.0;
	/*min-height: 2.5em;*/
	font-weight: 400;
	margin-bottom: 1rem;
	color: var(--color-primary);
	/*color: var(--color-bg);
	-webkit-text-stroke: 1px var(--color-primary);*/
	text-decoration: none;
	flex-grow: 0;
	flex-shrink: 0;
}
.page-projects .project-type {
	font-size: 0.65rem;
	font-family: var(--font-meta);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1.1;
	color: var(--color-bg-default);
	color: var(--color-bg-reference);
	color: var(--color-primary);
	opacity: 0.5;
}

.page-projects .project-image {
	opacity: 1.0;
	border-radius: var(--border-radius-main);
	background-color: var(--color-bg);
	border: var(--border-width) solid var(--color-primary);
	position: relative;
	flex-grow: 1;
	width: 100%;
	height: auto;
	margin-bottom: 0.5rem;
	overflow: hidden;
}
.page-projects .project-image .image {
	width: 100%;
	height: 100%;
	border-radius: var(--border-radius-main);
	mix-blend-mode: difference;
	position: absolute;
	padding: 0.6rem;
	opacity: 0.8;
}
.page-projects .project-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	/*mix-blend-mode: multiply;*/
	filter: invert();
}
.page-projects .no-image .project-image {
	background-color: var(--color-primary);
}

.page-projects .header-image-layout-frame .project-image {
	
}
.page-projects .header-image-layout-frame .project-image .image {
	padding: 0.2rem;
}
.page-projects .header-image-layout-frame .project-image img {
	object-fit: cover;
	object-position: center center;
	border-radius: 0.2rem;
}

.page-projects .header-image-style-flat .project-image .image {
	mix-blend-mode: multiply;
	opacity: 0.9;
}
.page-projects .header-image-style-flat .project-image img {
	mix-blend-mode: normal;
	filter: none;
}

.page-projects .header-image-style-color .project-image .image {
	mix-blend-mode: normal;
	opacity: 1.0;
}
.page-projects .header-image-style-color .project-image img {
	mix-blend-mode: normal;
	filter: none;
}

/*.page-projects .header-image-layout-edge .project-image {
	padding: 0;
}
.page-projects .header-image-layout-edge .project-image img {
	height: 100%;
	width: 100%;
	position: absolute;
	object-fit: cover;
	object-position: center top;
	border-radius: var(--border-radius-main);
}*/

.page-projects .project-link:hover .project-title {
	text-decoration: none;	
}
.page-projects .project-link:hover {
	border-color: var(--color-primary);
}
.page-projects .project-excerpt {
	line-height: 1.4;
	padding: 0;
	flex-grow: 1;
	flex-shrink: 0;
	color: var(--color-primary-reference);
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.65rem;
}
.page-projects .new-project .project-excerpt:before {
	content: "New";
	margin-right: 1ch;
	border-radius: 0.2rem;
	background-color: lightgreen;
	color: inherit;
	padding: 0.1em 0.5ch;
	animation-name: updatesPulse;
	animation-duration: 1s;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.project-type { display: block; }

.page-projects .label-archived {
	font-size: 0.65rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	background-color: var(--color-primary);
	color: var(--color-bg);
	border-radius: var(--border-radius-main);
	padding: 0.3em 0.7em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 0.5rem;
}

/*###########################################*/
/* PAGE: PEOPLE */
.page-people {
	/*--color-bg: #CFCFBC;*/
}
.page-people main {
	padding-top: var(--padding-panel);
}

.page-people .page-content {
	padding-bottom: 3rem;
	margin-left: 0;
}

.page-people .section-team {

}

.page-people .people-list {
	width: 100%;
	display: grid;
	grid-auto-rows: max-content;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: var(--margin-grid);
	grid-column-gap: var(--margin-grid);
	grid-row-gap: var(--margin-grid);
}
.page-people .section-title {
	grid-column: span 6;
	grid-row: span 3;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: var(--margin-grid);
}
.page-people .section-title h2 {
	font-family: var(--font-serif);
	font-size: 500%;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	width: 100%;
	flex-grow: 1;
	margin-bottom: var(--margin-grid);
	line-height: 1;
}
.page-people .people-list .profile {
	grid-column: span 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
	font-weight: normal;
	text-decoration: none;
	padding: var(--padding-panel);
	padding-top: 0.5rem;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-main);
	transition: border-color var(--time-hover);
	background-color: var(--color-bg);
	color: var(--color-primary);
}
.page-people .people-list .profile:hover {
	
}
.page-people .people-list .profile .profile-cutout {
	width: 100%;
	height: 1rem;
	background-color: var(--color-bg);
	background-color: var(--color-primary);
	-webkit-mask-image: url("../img/name-tag01.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-image: url("../img/name-tag01.svg");
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	margin-bottom: 0.5rem;
}
.page-people .people-list .profile.style-2 .profile-cutout {
	-webkit-mask-image: url("../img/name-tag02.svg");
	mask-image: url("../img/name-tag02.svg");
}
.page-people .people-list .profile.style-3 .profile-cutout {
	-webkit-mask-image: url("../img/name-tag03.svg");
	mask-image: url("../img/name-tag03.svg");
}
.page-people .people-list .profile.style-4 .profile-cutout {
	-webkit-mask-image: url("../img/name-tag04.svg");
	mask-image: url("../img/name-tag04.svg");
}
.page-people .people-list .profile.style-5 .profile-cutout {
	-webkit-mask-image: url("../img/name-tag05.svg");
	mask-image: url("../img/name-tag05.svg");
}
.page-people .people-list .profile.style-2 {
	--color-primary: rgba(90,77,61,1.00);
}
.page-people .people-list .profile.style-3 {
	--color-primary: rgba(107,93,76,1.00);
}
.page-people .people-list .profile.style-4 {
	--color-primary: rgba(73,64,51,1.00);
}
.page-people .people-list .profile.style-5 {
	--color-primary: rgba(71,64,58,1.00);
}

.page-people .people-list .profile-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
}

.page-people .people-list .profile .profile-image {
	width: 5.0rem;
	height: 5.0rem;
	background-color: var(--color-bg);
	border-radius: 20rem;
	margin-right: var(--padding-panel);
	flex-grow: 0;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
}
.page-people .people-list .profile.no-image .profile-image {
	background-color: var(--color-primary);
}

.page-people .people-list .profile .profile-image img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20rem;
}
.page-people .people-list .profile .profile-image img:first-child {
	filter: grayscale();
	mix-blend-mode: multiply;
}
.page-people .people-list .profile .profile-image img:last-child {
	opacity: 0;
	transition: opacity var(--time-hover);
	will-change: opacity;
}
.page-people .people-list .profile:hover .profile-image img:last-child {
	opacity: 1;
}
.page-people .people-list .profile .profile-label {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	flex-grow: 1;
}
.page-people .people-list .profile .profile-name {
	font-size: 1.2rem;
	margin-bottom: 0.2rem;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-weight: 500;
	line-height: 1.1;
	transition: color var(--time-hover);
	text-align: left;
	width: 100%;
}
.page-people .people-list .profile .profile-name span {
	white-space: nowrap;	
}
.page-people .people-list .profile:hover .profile-name {
	text-decoration: underline;
}
.page-people .people-list .profile .profile-role {
	font-size: 0.75rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	color:inherit;
	width: 100%;
}
.page-people .people-list .profile .label-archived {
	font-size: 65%;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	background-color: var(--color-primary);
	border-radius: var(--border-radius-main);
	color: var(--color-bg);
	padding: 0.3em 0.7em;
	width: -moz-fit-content;
	width: fit-content;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 0.5rem;
}
.page-people .profile.archived {
	display: none;
	background-color: var(--color-bg);
	color: var(--color-primary);
}
.page-people .section-collaborators {
	margin-top: 5rem;
}
.page-people .section-collaborators .section-title {
	grid-column: span 12;
	grid-row: span 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-bottom: var(--border-width) solid var(--color-primary);
	padding-bottom: var(--margin-grid);
	
	--color-primary: rgba(116,122,113,1.00);
}
.page-people .section-collaborators .section-title h2 {
	
}
.page-people .section-collaborators .people-list .profile {
	grid-column: span 4;
	padding-top: var(--padding-panel);
	--color-primary: rgba(116,122,113,1.00);
}
.page-people .section-collaborators .people-list .profile.style-2 {
	--color-primary: rgba(90,95,90,1.00);
}
.page-people .section-collaborators .people-list .profile.style-3 {
	--color-primary: rgba(100,110,107,1.00);
}
.page-people .section-collaborators .people-list .profile.style-4 {
	--color-primary: rgba(116,122,113,1.00);
}
.page-people .section-collaborators .people-list .profile.style-5 {
	--color-primary: rgba(116,122,113,1.00);
}
.page-people .section-collaborators .people-list .profile-cutout {
	display: none;
}
.page-people .section-collaborators .people-list .profile-image {
	width: 3rem;
	height: 3rem;
}

/*###########################################*/
/* PAGE: WHAT IS A METHOD? */
.page-what-is-a-method {
	color: var(--color-primary);
}
.page-what-is-a-method main {
	padding-bottom: 8rem;
}

.page-what-is-a-method .page-title {
	/*-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	text-shadow: var(--shadow-buttons);*/
	width: 100%;
	width: var(--col-width-12);
	position: relative;
	
	margin-bottom: 0.5rem;
	text-align: left;
	padding: 2rem 0;
	border-radius: var(--border-radius-title);
	/*border: var(--border-width) solid var(--color-primary);*/
	/*border: calc(4 * var(--border-width)) double var(--color-primary);*/
	background-color: var(--color-bg);
	
	
	/*background-image: url("https://blog.lukehughes.co.uk/hubfs/quarter-sawn-log.jpg");
	background-image: url("https://images.adsttc.com/media/images/5af9/e1f8/f197/cc74/a100/0021/newsletter/featureimage.jpg?1526325745");
	background-image: url("https://upload.wikimedia.org/wikipedia/commons/8/80/EB1911_Timber_-_sawing_patterns.jpg");
	background-image: url("https://i.pinimg.com/originals/67/41/68/67416854b6a20a7a921dc139c3e43896.jpg");
	background-repeat: repeat;
	background-position: center;
	background-size: auto 70%;
	background-blend-mode: multiply;*/
	
	/*background-image: url("../img/surface02.png");
	background-size: 1.2rem auto;
	background-repeat: round;
	background-blend-mode: multiply;*/
	
	/*float: left;
	margin-right: calc(2 * var(--margin-grid));*/
	
	/*height: var(--screen-height);*/
	min-height: var(--page-title-height);
	margin-bottom: var(--padding-main-y);
	
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page-what-is-a-method .page-title .title-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	
	/*-webkit-mask-image: url("https://media1.giphy.com/media/xT39D8JAeunTF0fFzW/source.gif");
	-webkit-mask-image: url("https://media0.giphy.com/media/OT2lwSsUgpsT6/source.gif");*/
	
	/*-webkit-mask-image: url("../img/bg-saw-pattern01.png"), url("../img/bg-saw-pattern01.png"), url("../img/bg-saw-pattern01.png"), url("../img/bg-saw-pattern01.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: left top, right top, left bottom, right bottom;
	-webkit-mask-size: var(--col-width-2) auto;*/
	
	/*background-color: var(--color-primary);
	-webkit-mask-image: url("../img/bg-column01.png"), url("../img/bg-column01.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: left center, right center;
	-webkit-mask-size: auto 100%;*/
	
	background-color: var(--color-neutral);
	-webkit-mask-image: url("../img/bg-column01.png");
	-webkit-mask-repeat: space;
	-webkit-mask-position: center;
	-webkit-mask-size: auto 100%;
	mask-image: url("../img/bg-column01.png");
	mask-repeat: space;
	mask-position: center;
	mask-size: auto 100%;
	
	opacity: 0.6;
	background-color: var(--color-neutral);
	/*background-color: white;
	mix-blend-mode: difference;
	z-index: 2;*/
}
.page-what-is-a-method .page-title .title-text {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
	width: var(--col-width-9);
	
	/*background: radial-gradient(ellipse 50% 50%, var(--color-bg) 50%, transparent);
	width: var(--col-width-9);*/
	
	/*background: var(--color-bg);
	border-top: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
	border-radius: 0;
	padding: 2rem 0;
	width: var(--col-width-6);*/
	
}
.page-what-is-a-method .page-title h1 {
	font-size: 600%;
	font-weight: normal;
	font-family: var(--font-cindie-narrow);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-primary);
	width: var(--col-width-12);
	margin: 0 auto;
	margin: 0;
	text-align: center;
	padding: 0 0.4em;
	border-radius: var(--border-radius-main);
	line-height: 1;
	
	/*background-color: var(--color-bg);
	width: fit-content;*/
}
.page-what-is-a-method .page-title h1 em {
	font-style: normal;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	color: var(--color-bg);
}
.page-what-is-a-method .page-title .pre-title {
	font-family: var(--font-meta);
	font-size: 0.85rem;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-primary);
	background-color: var(--color-bg);
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 2rem;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-main);
	padding: 0.3em 1em;
}
.page-what-is-a-method .page-title .byline {
	font-family: var(--font-cindie-narrow),'Shift';
	text-transform: uppercase;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	letter-spacing: 0.08em;
	/*word-spacing: 0.1em;*/
	color: var(--color-primary);
	width: var(--col-width-6);
	margin-top: 2rem;
	
	/*background-color: var(--color-bg);
	padding-bottom: 1rem;*/
	
	/*background-color: var(--color-bg);
	padding: var(--padding-panel);
	border-radius: var(--border-radius-main);
	color: var(--color-primary);*/
	border-top: var(--border-width) solid var(--color-primary);
	padding-top: 1rem;
}

.page-what-is-a-method .page-content {
	width: 100%;
	margin-top: 0rem;
	padding-top: 0; /*var(--padding-main-y);*/
	
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.page-what-is-a-method .layout-column {
	
}
.page-what-is-a-method .column-size-4 {
	width: var(--col-width-4);
	margin-right: var(--margin-grid);
	flex-shrink: 0;
	padding-right: var(--padding-panel);
}
.page-what-is-a-method .column-size-8 {
	width: var(--col-width-8);
	flex-shrink: 0;
	padding-right: var(--padding-panel);
	font-family: 'Custer','Shift';
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: 0.01em;
	word-spacing: 0.1em;
	margin-bottom: 3rem;
}
.page-what-is-a-method .intro {
	font-size: 1.4rem;
	width: var(--col-width-9);
}
/*.page-what-is-a-method .column-size-8 p:first-child {
	font-size: 1.5rem;
}*/
.page-what-is-a-method .column-size-8 p:nth-child(even) {
	/*margin-left: -25%;
	padding-right: 25%;*/
}
.page-what-is-a-method .page-content h4 {
	font-weight: normal;
	font-family: var(--font-cindie-narrow);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 2.9rem;
	line-height: 1;
	/*-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);*/
	color: var(--color-primary);
	padding-top: 1.45rem;
	border-top: var(--border-width) solid var(--color-primary);
}
.page-what-is-a-method .page-content h4 em {
	font-style: normal;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	color: transparent;
}
.page-what-is-a-method .article-list {
	border-top: var(--border-width) solid var(--color-primary);
}
.page-what-is-a-method .article-list .divider {
	font-weight: normal;
	font-family: var(--font-cindie-narrow);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 1.5rem;
	line-height: 1;
	margin-bottom: 0;
	padding-top: var(--margin-grid);
	padding-bottom: var(--margin-grid);
	border-bottom: var(--border-width) solid var(--color-primary);
}
.page-what-is-a-method .article-list .article {
	width: 100%;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
	border-bottom: var(--border-width) solid var(--color-primary);
}
.page-what-is-a-method .article-list .article.preview {
	opacity: 0.35;	
}
.page-what-is-a-method .article-list .article-title {
	font-size: 3rem;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width-small) var(--color-primary);
	line-height: 1.1;
	margin-bottom: 0.3rem;
	font-family: 'Shift';
	font-feature-settings: "ss01";
}
.page-what-is-a-method .article-list .article-title a {
	text-decoration: none;
	-webkit-text-stroke: var(--text-stroke-width-small) var(--color-primary);
}
.page-what-is-a-method .article-list .article-title a:hover {
	color: var(--color-primary);
	-webkit-text-stroke: none;
}
.page-what-is-a-method .article-list .article-author {
	font-size: 0.85rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
}
.page-what-is-a-method .article-list .article-author:before {
	content: "\20"; /*\2192*/
	width: 0.75em;
	height: 0.75em;
	background-color: var(--color-primary);
	border-radius: 1em;
	display: inline-block;
	margin-right: 0.75em;
}
/*###########################################*/
/* WHAT IS A METHOD? > ARTICLES */
.page-doing-research {
	
}
.page-doing-research .content-wrapper {
	
}
.page-doing-research .article-header {
	width: 100%;
	border: var(--border-width) solid var(--color-primary);
	border-bottom: none;
	border-top-left-radius: var(--border-radius-title);
	border-top-right-radius: var(--border-radius-title);
	padding-top: 2rem;
	margin-bottom: 5rem;
}
.page-doing-research .article-date {
	font-family: var(--font-meta-date);
	font-size: 1rem;
	text-align: center;
	margin-bottom: 1.5rem;
	
	font-family: var(--font-dossier);
	font-style: italic;
	font-variant-numeric: oldstyle-nums;
	font-weight: 400;
	font-size: 0.85rem;
}
.page-doing-research .article-title {
	max-width: var(--col-width-10);
	margin: 0 auto;
	margin-bottom: 2rem;
}
.page-doing-research .article-title h1 {
	font-family: var(--font-shift);
	font-size: 5.2rem;
	color: transparent;
	-webkit-text-stroke: var(--text-stroke-width) var(--color-primary);
	text-align: center;
	line-height: 1.2;
	
	font-family: var(--font-dossier);
	font-weight: 400;
	font-style: italic;
}
.page-doing-research .article-authors {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	max-width: var(--col-width-10);
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding-left: 2em;
}
.page-doing-research .article-authors .author {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-right: 2em;
}
.page-doing-research .article-authors .author:before {
	content: "\20";
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.65em;
	border-radius: 5rem;
	background-color: var(--color-primary);
	display: inline-block;
}
.page-doing-research .article-authors .author a {
	text-decoration: underline;
}
.page-doing-research .article-authors .author a:hover {
	text-decoration: none;
}
.page-doing-research .title-ornament {
	width: var(--col-width-10);
	margin: 0 auto;
	height: 10rem;
	border-top: var(--border-width) solid var(--color-primary);
	margin-top: 2rem;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
}
.page-doing-research .title-ornament div {
	flex-grow: 1;
}
.page-doing-research .title-ornament div:first-child {
	border-right: var(--border-width) solid var(--color-primary);
}
.page-doing-research .article-content {
	position: relative;
}
.page-doing-research .article-content .column {
	background-color: transparent;
	width: var(--col-width-7);
	font-family: var(--font-serif);
	font-size: 1.2rem;
	line-height: 1.5;
	line-height: 1.8rem;
	position: relative;
}
.page-doing-research .article-content .column-a {
	float: left;
	margin-right: -100%;
	padding-top: 3.3em;
	padding-top: 14.4rem;
}
.page-doing-research .article-content .column-b {
	float: right;
	margin-left: -100%;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	font-style: italic;
	padding-top: 1.65em;
	padding-top: 19rem;
	
	font-family: var(--font-dossier);
	font-weight: 400;
	letter-spacing: 0;
	word-spacing: normal;
	font-size: 1rem;
	/*line-height: 1.7;*/
}
.page-doing-research .article-content .column-b em {
	font-style: normal;
}
.page-doing-research .article-content .column p {
	margin-bottom: 1.5em;
}
.page-doing-research .article-content .column p:last-child {
	margin-bottom: 0;
}
.page-doing-research .article-content .text-box {
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	box-shadow: 3px 3px 8px rgba(0,0,0,0.3);
	box-shadow: 0.3rem 0.3rem 0.8rem rgba(0,0,0,0.3);
	margin-bottom: 1.5em;
	margin-bottom: 6rem;
	padding: 1em;
	position: relative;
	/*cursor: grab;*/
	/*-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);*/
	transition: transform var(--time-hover), box-shadow var(--time-hover);
	transform-origin: center;
	will-change: transform;
}
.page-doing-research .article-content .text-box:hover {
	/*z-index: 50;*/
	/*-webkit-mask-image: url("https://64.media.tumblr.com/172e7389f4a552df393a821d9e15bbb7/tumblr_mlt67mFWUt1qbu2bao1_400.gifv");
	-webkit-mask-size:cover;*/
	transform: scale(1.01);
	box-shadow: 0.5rem 0.5rem 1.2rem rgba(0,0,0,0.3);
}
.page-doing-research .article-content .column-b .text-box {
	/*color: var(--color-bg);
	background-color: var(--color-primary);*/
}

.page-doing-research .article-content .column-img {
	padding: 0 var(--offset-width-3);
	position: relative;
	left: 0;
	right: 0;
}
.column-img + .column-img {
	margin-top: 12rem;
}
.page-doing-research .article-content .img-box {
	position: relative;
	/*cursor: grab;*/
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	align-items: flex-start;
	transition: transform var(--time-hover), opacity var(--time-hover);
	transform-origin: center;
	will-change: transform, opacity;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 4.5rem;
	opacity: 0.5;
	/*mix-blend-mode: difference;*/
	/*box-shadow: 0.3rem 0.3rem 0.8rem rgba(255,255,255,0.3);*/
	border-radius: var(--border-radius-main);
}
.page-doing-research .article-content .img-box.img-size-medium {
	width: 60%;
}
.page-doing-research .article-content .img-box.img-size-large {
	width: 100%;
}
.page-doing-research .article-content .img-box img {
	width: 100%;
	height: auto;
	border-radius: var(--border-radius-main);
	box-shadow: 0.3rem 0.3rem 0.8rem rgba(255,255,255,0.3);
	transition: box-shadow var(--time-hover);
}
.page-doing-research .article-content .img-box div {
	opacity: 0;
	width: 100%;
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	padding: 0.8em 0.5em 0 0.5em;
	font-size: 0.85rem;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	line-height: 1.6;
	color: rgba(184, 172, 131, 0.6);
	color: #8A9475;
	text-align: center;
	
	pointer-events: none;
	
	font-family: var(--font-sans);
	word-spacing: normal;
	letter-spacing: 0.03em;
}
/*.page-doing-research .article-content .img-box div:before {
	content: '\0020';
	width: 2.75em;
	background-color: var(--color-primary);
	background-color: rgba(184, 172, 131, 0.6);
	background-color: transparent;
	border: var(--border-width) solid var(--color-primary);
	text-align: center;
	display: inline-block;
	border-radius: 0.2em;
	margin-right: 0.75em;
	white-space: pre;
}*/
.page-doing-research .article-content .img-box:hover {
	transform: scale(1.01);
	opacity: 1.0;
	mix-blend-mode: normal;
	
	background-color: var(--color-bg);
	box-shadow: 0rem 0rem 5rem 6.5rem var(--color-bg);
}
.page-doing-research .article-content .img-box:hover div {
	opacity: 1.0;
}
.page-doing-research .article-content .img-box:hover img {
	box-shadow: 0.5rem 0.5rem 1.2rem rgba(0,0,0,0.3);
	/*box-shadow: 0rem 0rem 1.5rem 1.5rem var(--color-bg);*/
	
	box-shadow: 0.3rem 0.3rem 0.8rem rgba(255,255,255,0.0);
}

.page-doing-research .article-content a {
	font-weight: inherit;
}

.page-doing-research .article-content h2 {
	display: block;
	width: var(--col-width-8);
	clear: both;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	text-align: center;
	font-size: 1.75rem;
	line-height: 1.3;
	font-weight: bold;
	margin: 0 auto;
	margin-bottom: 1.5em;
	padding-top: 1.0em;
	
	font-family: var(--font-dossier);
	word-spacing: normal;
	letter-spacing: 0;
	font-style: italic;
	font-weight: 400;
	line-height: 1.5;
}
.page-doing-research .article-content .reference {
	font-family: var(--font-sans);
	vertical-align: 0.5em;
	font-size: 65%;
	font-weight: 500;
	font-style: normal;
	border-bottom: 0.15em solid var(--color-primary);
	border: none;
	padding-bottom: 0.1em;
	line-height: 1;
	margin-left: 0.2em;
	margin-right: 0.15em;
	/*border: var(--border-width) solid lightblue;
	background-color: lightblue;*/
	/*box-shadow: 2px 2px 3px rgba(0,0,0,0.2);
	border-radius: 100%;
	height: 100%;
	width: 1.5em;
	display: inline-block;
	text-align: center;*/
	background-color: rgba(184, 172, 131, 0.6);
	border-radius: 100%;
	border-radius: 3em;
	padding: 0.15em 0.75em;
	color: var(--color-primary);
	text-align: center;
	cursor: pointer;
	
	background-color: var(--color-bg);
	position: relative;
	border: 0.09rem solid var(--color-primary);
	font-size: 0.65rem;
	margin-left: -0.6rem;
	margin-right: -0.5rem;
	
	border: none;
	/*box-shadow: -0.1em 0.1em 0.6em var(--color-primary);*/
	width: 2.75em;
	display: inline-block;
	padding: 0;
	line-height: 1.6;
	vertical-align: inherit;
	top: -0.9em;
	background-color: transparent;
}
.page-doing-research .article-content h2 .reference {
	top: -1.6em;
}
.page-doing-research .article-content .reference:hover {
	/*background-color: rgba(184, 172, 131, 1.0);*/
	/*box-shadow: -0.1em 0.1em 0.6em rgba(184, 172, 131, 1.0);*/
	background-color: rgba(184, 172, 131, 1.0);
	/*color: rgba(255,255,220,0.7);*/
}
.page-doing-research .article-content .column-b .reference {
	/*border-color: var(--color-bg);*/
}

.page-doing-research .notes-overlay {
	counter-reset: notes;
	position: fixed;
	z-index: 300;
	margin: 0 auto;
	bottom: var(--padding-main-y);
	/*padding-left: var(--offset-width-2);
	padding-right: var(--offset-width-2);*/
	left: var(--padding-main-x);
	right: var(--padding-main-x);
}
.page-doing-research .notes-overlay > div {
	width: var(--col-width-8);
	margin: 0 auto;
	background-color: rgba(196,193,157,1.00);
	border-radius: var(--border-radius-main);
	box-shadow: 0.5rem 0.5rem 1.2rem rgba(0,0,0,0.3);
	font-size: 0.85rem;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	line-height: 1.6;
	padding: var(--padding-panel);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: none;
	
	background-color: rgba(251, 255, 185, 1);
	background-color: rgba(184, 172, 131, 1.0);
	font-family: var(--font-sans);
	font-weight: 400;
	word-spacing: normal;
	letter-spacing: 0.03em;
	/*color: var(--color-bg);*/
	color: rgba(255,255,220,0.7);
	font-size: 0.75rem;
}
.page-doing-research .notes-overlay > div:before {
	content: attr(data-counter);
	width: 2.75em;
	background-color: rgba(184, 172, 131, 0.6);
	font-family: var(--font-sans);
	font-weight: 500;
	text-align: center;
	display: inline-block;
	border-radius: 3em;
	color: var(--color-primary);
	margin-right: 0.75em;
	
	background-color: transparent;
	color: rgba(255,255,220,0.7);
	border: 0.09rem solid rgba(255,255,220,0.7);
}
.page-doing-research .notes-overlay > div.show {
	display: block;
}

.page-doing-research .caption-overlay {
	position: fixed;
	z-index: 300;
	margin: 0 auto;
	bottom: var(--padding-main-y);
	bottom: calc(var(--padding-main-y) + var(--padding-panel));
	/*padding-left: var(--offset-width-2);
	padding-right: var(--offset-width-2);*/
	left: var(--padding-main-x);
	right: var(--padding-main-x);
	display: none;
}
.page-doing-research .caption-overlay > div {
	width: fit-content;
	max-width: var(--col-width-8);
	margin: 0 auto;
	background-color: rgba(196,193,157,1.00);
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	box-shadow: 0.5rem 0.5rem 1.2rem rgba(0,0,0,0.3);
	box-shadow: 0rem 0rem 1.5rem 1.5rem var(--color-bg);
	font-size: 0.85rem;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	line-height: 1.6;
	padding: var(--padding-panel);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: var(--padding-panel) 1.5rem;
	padding: 0.2em 0.5em;
	border-radius: 50rem;
	text-align: center;
	display: none;
	
	display: block;
	opacity: 0;
	transition: opacity 250ms;
}
.page-doing-research .caption-overlay > div:before {
	content: '\0020';
	width: 2.75em;
	background-color: var(--color-primary);
	background-color: rgba(184, 172, 131, 0.6);
	background-color: transparent;
	border: var(--border-width) solid var(--color-primary);
	text-align: center;
	display: inline-block;
	border-radius: 0.2em;
	margin-right: 0.75em;
	white-space: pre;
}
.page-doing-research .caption-overlay > div.show {
	display: block;
	opacity: 1.0;
}

.page-doing-research .footnotes {
	counter-reset: footnotes;
	width: var(--col-width-9);
	margin: 0 auto;
	font-size: 0.85rem;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	line-height: 1.6;
	column-count: 2;
	column-gap: var(--margin-grid);
	column-gap: var(--col-width-1);
	
	font-family: var(--font-sans);
	word-spacing: normal;
	letter-spacing: 0.03em;
	font-size: 0.75rem;
}
.page-doing-research .footnotes ul {
	padding-right: 0;	
}
.page-doing-research .footnotes li {
	margin-bottom: 0.8em;
	display: inline-block;
	padding-right: 0.5rem;
	padding-right: 0;
	
	/* undo default li styles */
	font-size: inherit;
	padding-left: 0;
	letter-spacing: inherit;
}
.page-doing-research .footnotes li:before {
	counter-increment: footnotes;
	content: counter(footnotes);
	width: 2.75em;
	background-color: rgba(184, 172, 131, 0.6);
	font-family: var(--font-sans);
	font-weight: 500;
	text-align: center;
	display: inline-block;
	border-radius: 3em;
	color: var(--color-primary);
	margin-right: 0.75em;
	
	background-color: transparent;
	border: 0.09rem solid var(--color-primary);
	
	/* undo default li styles */
	-webkit-mask-image: none;
	mask-image: none;
	margin-left: 0;
	margin-top: 0;
	position: static;
	height: auto;
}
.page-doing-research .footnotes a {
	font-weight: normal;
	
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
.page-doing-research .footnotes a:hover {
	text-decoration: none;
}

.page-doing-research .copyright {
	width: var(--col-width-9);
	margin: 0 auto;
	font-size: 0.85rem;
	font-family: var(--font-shift);
	word-spacing: var(--shift-word-spacing);
	letter-spacing: var(--shift-letter-spacing);
	line-height: 1.6;
	text-align: center;
	margin-top: 2rem;
	
	font-family: var(--font-sans);
	word-spacing: normal;
	letter-spacing: 0.03em;
	font-size: 0.75rem;
}

.page-doing-research .clear {
	clear: both;
	width: 100%;
}

/*###########################################*/
/* PROJECT PAGES */
.single-project {
	/* Fallback colors if none are set */
	--color-secondary: var(--color-bg);
	--color-aside-bg: var(--color-primary);
	--color-aside: var(--color-bg);
}

.single-project main {
	color: var(--color-primary);
	padding-top: 0rem;
	padding-bottom: 0;
}

.single-project .page-header {
	width: 100%;
	background-color: transparent;
	padding: var(--padding-title);
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-title);
	margin-bottom: calc(1.5 * var(--margin-grid));
	
	display: flex;
	flex-direction: column;
	
	height: var(--fill-height);
	position: sticky;
	top: var(--sticky-top-title);
	z-index: -1;
}

.single-project .page-meta {
	width: var(--col-width-9);
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	gap: var(--margin-grid);
	margin-bottom: 2rem;
}
.single-project .page-meta > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-wrap: nowrap;
}
.single-project .page-meta > div:empty {
	display: none;
}
.single-project .page-meta > div {
	font-family: var(--font-meta);
	font-size: 85%;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	text-align: center;
	background-color: var(--color-meta-bg);
	border-radius: var(--border-radius-main);
	height: var(--label-height);
	padding: 0 var(--padding-panel);
}
.single-project .title-wrapper {
	width: var(--col-width-9);
	flex-grow: 1;
}
.single-project .page-title {
	margin-bottom: 1rem;
}
.single-project .page-title h1 {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 4.85rem;
	font-weight: 500;
	line-height: 1;
	margin-left: -0.05em;
}
.single-project .page-subtitle {
	
}
.single-project .page-subtitle h2 {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 2.5rem;
	line-height: 1.3;
}

.single-project .page-header .team {
	width: var(--col-width-7);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem 2em;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	margin-top: 2rem;
}
.single-project .page-header .team > * {
	display: flex;
	flex-direction: row;
	align-items: center;
	white-space: nowrap;
	margin-bottom: 0;
}
.single-project .page-header .team .profile-image {
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.5em;
	border-radius: 5rem;
	background-color: var(--color-primary);
}
.single-project .page-header .team .profile-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.single-project .page-header .team p:before {
	content: "\20";
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.5em;
	border-radius: 5rem;
	background-color: var(--color-primary);
	background-color: transparent;
	border: var(--border-width) solid var(--color-primary);
}
.single-project .page-header .team a {
	font-weight: normal;
}
.single-project .page-header .team a:hover {
	text-decoration: none;
}

.single-project .header-image {
	width: var(--col-width-5);
	background-color: var(--color-bg);
	color: var(--color-primary);
	border: var(--border-width) solid var(--color-primary);
	padding: var(--padding-image);
	border-radius: var(--border-radius-content);
	box-shadow: var(--shadow-content);
	
	margin-right: 1.2rem;
	margin-left: auto;
	margin-bottom: calc(4 * var(--margin-grid));
	
	margin-top: -7.5rem;
	position: sticky;
	top: calc(var(--sticky-top-title) + var(--padding-title));
	z-index: 1;
}
.single-project .header-image.aspect-portrait {
	width: var(--col-width-4);
}
.single-project .header-image .image {
	width: 100%;
	line-height: 0;
	
	padding: 1.6rem;
	mix-blend-mode: difference;
	opacity: 0.8;
}
.single-project .header-image .image img {
	width: 100%;
	height: auto;
	border-radius: var(--border-radius-image);
	line-height: 0;
	/*mix-blend-mode: multiply;*/
	filter: invert();
}
.single-project .header-image .caption {
	margin-top: 0.5rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
	line-height: 1.3;
	padding-left: 0.25rem;
	padding-bottom: 0.1rem;
}
.single-project .header-image .caption:before {
	content: "\25CF\20";
}

.single-project .header-image-layout-frame .image {
	padding: 0;
}
.single-project .header-image-style-flat .image {
	mix-blend-mode: multiply;
	opacity: 0.9;
}
.single-project .header-image-style-flat .image img {
	mix-blend-mode: normal;
	filter: none;
}
.single-project .header-image-style-color .image {
	mix-blend-mode: normal;
	opacity: 1.0;
}
.single-project .header-image-style-color .image img {
	mix-blend-mode: normal;
	filter: none;
}

.single-project .page-content {
	position: relative;
	width: 100%;
	margin-left: 1.2rem;
	z-index: 100;
	transform: translateZ(0);
	padding-bottom: calc(3.0 * var(--margin-grid));
}
.single-project .header-image + .page-content {
	margin-top: calc(-2.5 * var(--margin-grid));	
}

/*
.single-project .header-image-layout-edge .header-image {
	width: var(--col-width-6);
	top: 6rem;
	bottom: 0;
	right: 0;
	border-top-left-radius: var(--border-radius-image);
	border-bottom-right-radius: var(--border-radius-title);
	overflow: hidden;
	justify-content: flex-start;
}
.single-project .header-image-layout-edge .header-image img {
	max-height: none;
	object-fit: cover;
	object-position: top left;
}
.single-project .header-image-layout-edge .caption {
	bottom: 1rem;
}*/

/*
.single-project .header-image-style-flat .header-image {
	mix-blend-mode: multiply;
	opacity: 0.9;
}
.single-project .header-image-style-flat .header-image img {
	mix-blend-mode: normal;
	filter: none;
}*/

/*.single-project .page-body { 
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}
.single-project .page-content {
	width: var(--col-width-8);
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 1.25rem;
	line-height: 1.5;
	padding-bottom: 3rem;
	padding-right: var(--padding-panel);
	
	margin-right: var(--margin-grid);
}
.single-project .page-content h4 {
	font-weight: bold;
}

.single-project .sidebar {
	--color-sidebar: var(--color-neutral);
	width: var(--col-width-4);
	font-size: 1rem;
	letter-spacing: 0.01em;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	line-height: 1.5;	
	color: var(--color-sidebar);
	mix-blend-mode: normal;
	opacity: 0.8;
}
.single-project .sidebar h4 {
	font-weight: bold;
}*/

.single-project .aside em a {
	width: 100%;
	padding: var(--padding-panel);
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	margin-bottom: var(--margin-grid);
	border: var(--border-width) solid var(--color-aside);
	border-radius: var(--border-radius-main);
	font-weight: 500;
	text-decoration: none;
	font-style: normal;
}
.single-project .aside em a:hover {
	background-color: var(--color-aside);
	color: var(--color-aside-bg);
}
.single-project .aside em:last-child a {
	margin-bottom: 0;
}
/*.single-project .sidebar h4 + p em a {
	margin-top: 0.5em;
}
.single-project .sidebar h4 + ul {
	margin-top: 0.5em;
}
.single-project .sidebar h6 + p em a {
	margin-top: 0.5em;
}
.single-project .sidebar h6 + ul {
	margin-top: 0.5em;
}
.single-project .sidebar ul {
	margin-bottom: 1em;
}
.single-project .sidebar ul li {
	margin-bottom: 0.5em;
}
.single-project .sidebar a {
	word-wrap: break-word;
	font-weight: 500;
}
.single-project .sidebar a:hover {
	text-decoration: none;
}*/

/*###########################################*/
/* PEOPLE PAGES */

.single-people {
	--color-bg: #cfcfbc !important;
	--title-height: 20.7rem; /* 17.6 */
}
.single-people.category-collaborators {
	/*--color-primary: rgba(116,122,113,1.00);*/
	--color-primary: rgba(90,95,90,1.00) !important;
}
.single-people main {
	color: var(--color-primary);
	padding-bottom: 0;
}

.single-people .profile-wrapper {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--margin-grid);
	padding: 2rem;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-title);
	/*margin-bottom: var(--padding-main-x);*/
	background-color: var(--color-bg);
	/*position: relative;
	z-index: 1;*/
	box-shadow: var(--shadow-content);
}

.single-people .section-profile {
	/*width: var(--col-width-9);*/
	width: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	flex-grow: 1;
}
.single-people .page-meta {
	width: 100%;
	padding-bottom: 0rem;
	margin-bottom: 1rem;
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	display: none;
}
.single-people .page-meta .profile-type {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 85%;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-grow: 1;
	text-align: left;
	padding-left: var(--padding-panel);
	height: var(--label-height);
	background-color: var(--color-meta-bg);
	border-radius: var(--border-radius-main);
}
.single-people .page-title {
	width: 100%;
	height: var(--title-height);
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	background-image: url("../img/surface01.png");
	background-size: 0.8rem;
	background-repeat: round;
	background-position: left top;
	background-blend-mode: multiply;
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	margin-bottom: var(--margin-grid);
}
.single-people .page-title .profile-image-wrapper {
	width: var(--col-width-4);
	margin-right: var(--margin-grid);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}
.single-people .page-title .profile-image {
	width: var(--col-width-9);
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	background-color: var(--color-bg);
	/*box-shadow: 0px 0px 2rem var(--color-primary);*/
	box-shadow: var(--shadow-content);
	margin-top: 3.9rem; /* 2 */
}
.single-people .page-title .profile-image:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.single-people .page-title .profile-image img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.single-people .page-title .profile-image .placeholder {
	background-color: var(--color-primary);
	width: 100%;
	height: 100%;
	position: absolute;
	-webkit-mask-image: url("../img/icon-star-8.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 60%;
	mask-image: url("../img/icon-star-8.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 60%;
	opacity: 1;
}
.single-people .profile-name {
	padding-right: var(--padding-panel);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	max-width: var(--col-width-8);
	gap: 0.8rem;
}
.single-people .profile-name .profile-type {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-grow: 1;
	text-align: left;
	padding: 0 var(--padding-panel);
	height: var(--label-height);
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	flex-grow: 0;
}
.single-people .profile-name h1 {
	font-size: 3.3rem;
	font-weight: 500;
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.2em var(--padding-panel);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
}
.single-people .profile-name h1 span {
	white-space: nowrap;	
}
.single-people .profile-name h2 {
	margin-bottom: 0rem;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
	word-spacing: 0.05em;
	background-color: var(--color-bg);
	border-radius: var(--border-radius-main);
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.4em var(--padding-panel);
}

.single-people .page-content {
	display: flex;
	flex-direction: row;
	gap: var(--margin-grid);
	width: 100%;
}
.single-people .profile-contacts {
	width: var(--col-width-4);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	flex-shrink: 0;
	padding-left: 1rem;
	margin-bottom: 0rem;
	/*margin-right: var(--margin-grid);*/
}
.single-people .profile-contacts a {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.8rem;
	font-weight: normal;
	text-align: center;
	margin-bottom: 1rem;
	margin-right: 1rem;
	/*background-color: var(--color-neutral);*/
	padding: 0.4em 0.8em;
	border-radius: var(--border-radius-main);
	background-color: rgba(255,255,255,0.1);
	background-color: rgba(0,0,0,0.1);
	background-color: var(--color-bg-default);
	background-color: rgba(47,126,228,1.00);
	background-color: var(--color-primary);
	color: var(--color-bg);
}
.single-people .profile-contacts .mail-link {
	
}
.single-people .profile-contacts .fhnw-link {
	
}
.single-people .profile-contacts .web-link {
	background-color: blue;
}
.single-people .profile-contacts a:hover {
	text-decoration: none;
}

.single-people .profile-text {
	/*width: var(--col-width-8);*/
	width: auto;
	flex-grow: 1;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-size: 1.1rem;
	line-height: 1.5;
}
.single-people .profile-text p:last-child {
	margin: 0;
}

.single-people .section-projects {
	width: var(--col-width-3);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-shrink: 0;
}
.single-people .section-projects .label-projects {
	height: var(--label-height);
	flex-grow: 0;
	flex-shrink: 0;
	width: 100%;
	font-family: var(--font-meta);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 400;
	padding: 0 var(--padding-panel);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: var(--margin-grid);
	border-radius: var(--border-radius-main);
	/*border: var(--border-width) solid var(--color-primary);*/
	background-color: var(--color-meta-bg);
}
.single-people .section-projects .projects-wrapper {
	width: 100%;
	min-height: calc(var(--title-height) - var(--margin-grid) - var(--label-height));
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.single-people .section-projects .project-link {
	width: 100%;
	padding: 0.7rem var(--padding-panel);
	background-color: var(--color-bg);
	color: var(--color-primary);
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	margin-bottom: var(--margin-grid);
	border-radius: var(--border-radius-main);
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-weight: normal;
	font-size: 1.5rem;
	line-height: 1.1;
	border: var(--border-width) solid transparent;
	transition: border-color var(--time-hover);
	text-decoration: none;
	min-height: calc((var(--title-height) - 2 * var(--margin-grid)) / 3);
	padding-left: 2.75rem;
	position: relative;
}
.single-people .section-projects .project-link:last-child {
	margin: 0;
}
.single-people .section-projects .project-link:before {
	content: "\20";
	width: 0.7em;
	height: 0.7em;
	left: var(--padding-panel);
	margin-top: 0.18em;
	background-color: var(--color-primary);
	margin-right: 0.5em;
	display: inline-block;
	border-radius: 1em;
	position: absolute;
	border: var(--border-width) solid var(--color-primary);
	background-color: transparent;
	transition: background-color var(--time-hover);
}
.single-people .section-projects .project-link:hover {
	border-color: var(--color-primary);
}
.single-people .section-projects .project-link:hover:before {
	background-color: var(--color-primary);
}


.single-people .no-projects .page-title {
	padding-right: calc(var(--col-width-3) + var(--margin-grid));
}
.single-people .no-projects .page-content {
	padding-right: calc(var(--col-width-3) + var(--margin-grid));
}

/*###########################################*/
/* SINGLE POST LAYOUTS */
/*###########################################*/
.single-post {
	--color-bg: var(--color-post-default-bg);
	--color-primary: var(--color-post-default-primary);
	--color-secondary: var(--color-post-default-secondary);
	--color-aside: var(--color-post-default-aside);
	--color-aside-bg: var(--color-post-default-aside-bg);
}
.single-post main {
	padding-bottom: 0;
}
/*.single-post .content-wrapper > .column-section {
	align-items: stretch; /* for title column to float until bottom */
/*}*/

/*###########################################*/
/* SINGLE POST > TITLE COLUMN */
.single-post .title-column {
	grid-column-end: span 6;
}
.single-post .page-header {
	color: var(--color-primary);
	background-color: var(--color-bg);
	padding: var(--padding-title);
	border-radius: var(--border-radius-title);
	border: var(--border-width) solid currentColor;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	/*max-height: var(--fill-height);
	overflow-y: auto;*/
	position: sticky;
	top: var(--sticky-top-title);
	margin-bottom: var(--margin-grid);
}
.single-post .page-header .page-meta {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	margin-bottom: 1rem;
	gap: var(--margin-grid);
}
.single-post .page-header .page-meta > div {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.9rem;
}
.single-post .page-header .page-meta .post-label {
	flex-grow: 1;
}
.single-post .page-meta .post-date {
	text-align: right;
	flex-grow: 0;
	opacity: 0.6;
}
.single-post .page-header .page-title {
	--line-height: 4rem;
	position: relative;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	line-height: var(--line-height);
	min-height: calc(3 * var(--line-height)); /* three lines min */
}
.single-post .page-header .page-title h1 {
	font-weight: 500;
	font-size: 2.5rem;
}
.single-post .page-header .page-title h2 {
	font-weight: 400;
	font-size: 2.5rem;
	-webkit-text-stroke: var(--text-stroke-width-small) var(--color-primary);
	-webkit-text-fill-color: transparent;
	text-stroke: var(--text-stroke-width-small) var(--color-primary);
	text-fill-color: transparent;
}
.single-post .page-header .page-title .title-bg {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: -0.5rem;
	pointer-events: none;
	background: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--line-height) - var(--grid-line-width)), var(--color-primary) calc(var(--line-height) - var(--grid-line-width)), var(--color-primary));
	background-size: auto var(--line-height);
	background-position: top;
}
.single-post .team {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-end;
	flex-grow: 1;
	gap: 1em 1.25em; /* 1rem 2em */
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.85rem;
	margin-top: 2rem;
}
.single-post .team .team-label {
	opacity: 0.6;
	font-size: 75%;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.single-post .team .team-member {
	display: flex;
	flex-direction: row;
	align-items: center;
	white-space: nowrap;
}
.single-post .team .team-member a {
	font-weight: normal;
}
.single-post .team .profile-image {
	width: 1.0em;
	height: 1.0em;
	margin-right: 0.5em;
	border-radius: 5rem;
	background-color: var(--color-primary);
}

.single-post .header-image {
	padding: var(--padding-image);
	border-radius: var(--border-radius-content);
	border: var(--border-width) solid var(--color-primary);
	box-shadow: var(--shadow-content);
	background-color: var(--color-bg);
	line-height: 0;
	position: sticky;
	top: calc(var(--sticky-top-title) + 1rem); /* 6.3rem cutting the title */
	margin-left: -1.35rem;
	width: 100%;
	margin-bottom: calc(var(--margin-grid) + 0.8rem);
}
.single-post .header-image.aspect-portrait {
	/*width: var(--col-width-8);
	margin-left: calc(var(--offset-width-4) - 1.35rem);*/
	width: 80%;
	margin-left: calc(20% - 1.35rem);	
}
.single-post .header-image img {
	border-radius: var(--border-radius-image);
	line-height: 0;
	width: 100%;
}
.single-post .header-image .caption {
	margin-top: 0.5rem;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 0.6rem;
	line-height: 1.3;
	padding-left: 0.25rem;
	padding-bottom: 0.1rem;
}
.single-post .header-image .caption:before {
	content: "\25CF\20";
}

.single-post .sidebar {
	position: sticky;
	top: calc(var(--sticky-top-title) + 2rem);
	margin-left: -0.5rem;
	width: 100%;
	margin-bottom: var(--margin-grid); /* align bottom ends */
	margin-bottom: calc(var(--margin-grid) + 0.8rem);
}
.single-post .header-image + .sidebar {
	/* Offset header image bottom margin */
	margin-top: -0.8rem;
	margin-bottom: calc(var(--margin-grid) + 1.6rem);
}

.single-post .sidebar > div {
	width: var(--col-width-9);
	background-color: var(--color-aside-bg);
	color: var(--color-aside);
	padding: var(--padding-content);
	border-radius: var(--border-radius-content);
	border: var(--border-width) solid currentColor;
	box-shadow: var(--shadow-content);	
	margin-bottom: var(--margin-grid);
	font-size: 1rem;
	letter-spacing: 0.01em;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	line-height: 1.5;
}
.single-post .sidebar a {
	word-wrap: break-word;
	font-weight: 500;
}
.single-post .sidebar a:hover {
	text-decoration: none;
}

.single-post .content-column {
	margin-bottom: var(--margin-grid);
}

/*###########################################*/
/* SEARCH RESULTS */
/*###########################################*/

.search {
	--color-bg: var(--color-search-bg) !important;
	--color-primary: var(--color-search-highlight) !important;
}

.search main {
	margin-bottom: 8rem;
}

.search .content-wrapper {
	
}

.search .search-results {
	width: 100%;
	font-family: var(--font-serif);
	font-weight: var(--font-weight-serif);
	font-feature-settings: var(--font-features-secondary);
}

.search .search-results .result {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--margin-grid);
	padding: 1.5rem var(--col-width-1);
}
.search .search-results .result + .result {
	border-top: var(--border-width) solid var(--color-primary);
}
.search .search-results .result:last-child {
	border-bottom: var(--border-width) solid var(--color-primary);
}
.search .search-results .result .type {
	width: 8rem;
	flex-grow: 0;
	flex-shrink: 0;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 1rem;
	text-align: right;
}
.search .search-results .result .title {
	flex-grow: 1;
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 1.85rem;
	line-height: 1.3;
}

.search .search-results a:hover {
	text-decoration: none;	
}

.search .post-grid .posts .post-panel {
	--color-bg: var(--color-search-bg) !important;
	--color-primary: var(--color-search-highlight) !important;
}

.search .no-result {
	text-align: center;
	min-height: var(--fill-height);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-title);
	padding: 2rem;
	background-color: var(--color-bg);
	background-image: url("/wp-content/themes/cml2020/img/ventilator_bw.gif");
	/*background-blend-mode: multiply;*/
	background-position: center;
	background-size: cover;
	color: var(--color-primary);
}
.search .no-result img {
	border-radius: var(--border-radius-image);
	overflow: hidden;
	mix-blend-mode: multiply;
	margin-bottom: var(--margin-grid);
}
.search .no-result .title {
	font-family: var(--font-cindie);
	font-size: 2rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 0.5rem;
}
.search .no-result .message {
	font-family: var(--font-serif);
	font-feature-settings: var(--font-features-secondary);
	font-weight: var(--font-weight-serif);
	font-size: 1.3rem;
	line-height: 1.4;
}

/*
.search main div {
	color: var(--color-search-highlight);
	font-family: var(--font-serif);
	font-size: 4.5rem;
	line-height: 1.25;
	background-color: paleturquoise;
	padding: var(--padding-main-x);
	border-radius: var(--border-radius-title);
	border: var(--border-width) solid currentColor;
}*/

/*###########################################*/
/* 404 ERROR PAGE */
/*###########################################*/

.error404 {
	--color-primary: khaki;
}

.error404 .no-result {
	text-align: center;
	min-height: var(--screen-height);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: var(--border-width) solid var(--color-primary);
	border-radius: var(--border-radius-title);
	padding: 2rem;
	background-color: var(--color-bg);
	background-image: url("/wp-content/themes/cml2020/img/beach01_bw.gif");
	/*background-blend-mode: multiply;*/
	background-position: center;
	background-size: cover;
	color: var(--color-primary);
}

.error404 .title {
	font-family: var(--font-cindie);
	font-size: 2rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 0.5rem;
}
.error404 .message {
	font-family: var(--font-serif);
	font-feature-settings: var(--font-features-secondary);
	font-weight: var(--font-weight-serif);
	font-size: 1.3rem;
	line-height: 1.4;
}


/*###########################################*/
/* PAGE LINKS (SOCIAL MEDIA QUICKLINKS) */
/*###########################################*/
.page-links main {
	padding-bottom: 0;
}
.page-links .page-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	min-height: var(--screen-height);
	gap: var(--margin-grid);
	margin: 0;
}
.page-links .page-content p {
	flex-grow: 0;
	flex-basis: auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin-bottom: 0;
	width: calc(50% - 0.5 * var(--margin-grid));
}

.page-links .page-content a {
	width: 100%;
	display: block;
	padding: 2rem;
	text-align: center;
	font-size: 2rem;
	font-feature-settings: var(--font-features-sans);
	box-shadow: var(--shadow-buttons);
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-primary);
	background-color: var(--color-secondary);
	overflow-wrap: break-word;
	text-decoration: none;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page-links .page-content a:hover {
	color: var(--color-secondary);
	background-color: var(--color-primary);
}
.page-links .page-content a span {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 60%;
	font-weight: normal;
	margin-bottom: 0.5em;
	display: inline-block;
	background-color: var(--color-primary);
	padding: 0.2em 0.6em;
	border-radius: var(--border-radius-main);
	color: var(--color-secondary);
	border: var(--border-width) solid var(--color-secondary);
	width: -moz-fit-content;
	width: fit-content;
}

/*###########################################*/
/* FOOTER */
/*###########################################*/
footer {
	width: 100%;
	color: var(--color-footer-main);
	padding: var(--padding-main-y) var(--padding-main-x);
	/*mix-blend-mode: hard-light; */
}
.dark-bg footer {
	--color-footer-main: var(--color-footer-light);
	--color-footer-main: var(--color-neutral-light);
}
footer .footer-row {
	width: 100%;
}
footer .footer-column {
	width: var(--col-width-3);
	flex-shrink: 0;
}
footer .footer-column-wide {
	width: var(--col-width-6);
}
footer .footer-column {
	font-size: 80%;
	line-height: 1.4;
	font-family: var(--font-meta);
}
footer .footer-column p {
	width: 100%;
	margin-bottom: 1rem;
}
footer .footer-column p:last-child {
	margin-bottom: 0;	
}
footer .footer-column a {
	color: inherit;
}
footer .footer-column a:hover {
	text-decoration: none;
}

/*********************************************/
/* FOOTER TOP ROW */
footer .footer-top {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
footer .footer-top .footer-column:first-child {
	margin-right: var(--margin-grid);
	margin-right: 0;
}
footer .footer-top .footer-signet {
	height: 2.1rem;
	width: 100%;
	overflow: auto;
	background-color: var(--color-footer-main);
	-webkit-mask-image: url("../img/cml-signet1.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	-webkit-mask-position: left;
	mask-image: url("../img/cml-signet1.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: left;
}
footer.signet1 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet1.svg");
	mask-image: url("../img/cml-signet1.svg");
}
footer.signet2 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet2.svg");
	mask-image: url("../img/cml-signet2.svg");
}
footer.signet3 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet3.svg");
	mask-image: url("../img/cml-signet3.svg");
}
footer.signet4 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet4.svg");
	mask-image: url("../img/cml-signet4.svg");
}
footer.signet5 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet5.svg");
	mask-image: url("../img/cml-signet5.svg");
}
footer.signet6 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet6.svg");
	mask-image: url("../img/cml-signet6.svg");
}
footer.signet7 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet7.svg");
	mask-image: url("../img/cml-signet7.svg");
}
footer.signet8 .footer-top .footer-signet {
	-webkit-mask-image: url("../img/cml-signet8.svg");
	mask-image: url("../img/cml-signet8.svg");
}
footer .footer-top .footer-title {
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 1.6rem;
	line-height: 1;
}
footer .footer-top .footer-title a {
	text-decoration: none;
}
footer .footer-top .footer-title a:hover {
	text-decoration: underline;
}
footer .footer-top .footer-filler {
	width: 100%;
	height: 0.5rem;
	display: block;
	border-radius: 3px;
	/*background-color: rgba(0,0,0,0.1);*/
	background-color: var(--color-footer-main);
	opacity: 0.3;
}

/*********************************************/
/* FOOTER MIDDLE ROW */
footer .footer-middle {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-top: 1rem;
}
footer .footer-middle .footer-column-contact {
	font-feature-settings: var(--font-features-meta);	
}
footer .footer-middle .footer-column-description {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
footer .footer-middle .footer-column-description p {
	font-family: var(--font-shift);
	font-size: 138%;
	line-height: 1.4;
	letter-spacing: var(--shift-letter-spacing);
	word-spacing: var(--shift-word-spacing);
}
footer .footer-middle .footer-column-description em {
	font-style: normal;
}

footer .footer-middle .footer-map {
	width: 100%;
	flex-grow: 1;
	margin-bottom: 1rem;
	background-color: var(--color-bg);
}

footer .footer-middle .footer-map iframe {
	width: 100%;
	height: 100%;
	min-height: 13rem;
	border-radius: var(--border-radius-main);
	filter: grayscale() brightness(0.6);
	mix-blend-mode: hard-light;
}

footer .footer-middle #menu-footer-main {
	font-size: 100%;
	font-family: var(--font-sans);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.0;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: var(--margin-grid);
}
footer .footer-middle #menu-footer-main li {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 0;
}
footer .footer-middle #menu-footer-main a {
	font-weight: 400;
	font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1;
	text-decoration: none;
	border: var(--border-width) solid var(--color-footer-main);
	border-radius: var(--border-radius-main);
	height: var(--menu-button-height);
	padding: 0 var(--padding-panel);
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	/*transition: color var(--time-hover), background-color var(--time-hover);*/
	width: 100%;
	box-shadow: var(--shadow-buttons);
	transition: all var(--time-hover);
}

footer .footer-middle #menu-footer-main a:hover {
	color: var(--color-bg);
	background-color: var(--color-footer-main);
}

footer .footer-middle .footer-column-up {
	
}
footer .footer-middle .up-arrow {
	width: 100%;
	margin: 0 auto;
	border-radius: 2rem;
	border: var(--border-width) solid transparent;
	height: 100%;
	display: block;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: border-color var(--time-hover);
}
footer .footer-middle .up-arrow .arrow {
	width: 65%;
	height: 75%;
	/*background-color: rgba(0,0,0,0.1);*/
	background-color: var(--color-footer-main);
	opacity: 0.3;
	-webkit-mask-image: url("../img/up-arrow2.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url("../img/up-arrow2.svg");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
}
footer.arrow1 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow1.svg"); mask-image: url("../img/up-arrow1.svg"); }
footer.arrow2 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow2.svg"); mask-image: url("../img/up-arrow2.svg"); }
footer.arrow3 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow3.svg"); mask-image: url("../img/up-arrow3.svg"); }
footer.arrow4 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow4.svg"); mask-image: url("../img/up-arrow4.svg"); }
footer.arrow5 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow5.svg"); mask-image: url("../img/up-arrow5.svg"); }
footer.arrow6 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow6.svg"); mask-image: url("../img/up-arrow6.svg"); }
footer.arrow7 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow7.svg"); mask-image: url("../img/up-arrow7.svg"); }
footer.arrow8 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow8.svg"); mask-image: url("../img/up-arrow8.svg"); }
footer.arrow9 .up-arrow .arrow { -webkit-mask-image: url("../img/up-arrow9.svg"); mask-image: url("../img/up-arrow9.svg"); }

footer .footer-middle .up-arrow:hover {
	border-color: var(--color-footer-main);
	box-shadow: var(--shadow-buttons);
}
footer .footer-middle .up-arrow:hover .arrow {
	
}

/*********************************************/
/* FOOTER BOTTOM ROW */
footer .footer-bottom {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-top: var(--padding-main-y);
}
footer .footer-bottom .footer-column {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
footer .footer-bottom .footer-column .footer-button {
	width: var(--col-width-3);
}
footer .footer-bottom .footer-button a {
	color: inherit;
	font-weight: bold;
	font-weight: normal;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-footer-main);
	padding: 0;
	display: block;
	font-family: var(--font-cindie);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-align: center;
	height: 3rem;
	line-height: 3rem;
	font-size: 0.75rem;
	transition: all var(--time-hover);
}
footer .footer-bottom .footer-button a:hover {
	text-decoration: underline;
	color: var(--color-bg);
	background-color: var(--color-footer-main);
}

footer .footer-bottom .menu-social-footer {
	width: var(--col-width-3);
	height: 3rem;
	border-radius: var(--border-radius-main);
	border: var(--border-width) solid var(--color-footer-main);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	overflow: hidden;
}
footer .footer-bottom .menu-social-footer .menu-title {
	border-bottom: var(--border-width) solid var(--color-footer-main);
	text-align: center;
	flex-grow: 1;
	font-family: var(--font-cindie);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.75rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

footer .footer-bottom #menu-footer-social {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	flex-grow: 1;
}
footer .footer-bottom #menu-footer-social li {
	flex-grow: 1;
	flex-basis: 0;
	font-size: 0.75rem;
}
footer .footer-bottom #menu-footer-social li:not(:last-child) {
	border-right: var(--border-width) solid var(--color-footer-main);
}
footer .footer-bottom #menu-footer-social a {
	width: 100%;
	display: block;
	text-align: center;
	font-weight: bold;
	padding: 0rem 0;
	text-decoration: none;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: all var(--time-hover);
}
footer .footer-bottom #menu-footer-social a:hover {
	text-decoration: underline;
	color: var(--color-bg);
	background-color: var(--color-footer-main);
}

/*###########################################*/
/* COOKIE NOTICE */
/*###########################################*/
.cookie-wrapper {
	position: fixed;
	z-index: 9999;
	width: 100%;
	bottom: calc(var(--padding-main-y) + 0.5 * var(--margin-grid));
	padding: 0 var(--padding-main-x);
	pointer-events: none;
	display: none;
}
.cookie-notice {
	border-radius: var(--border-radius-main);
	box-shadow: 2px 2px 15px rgba(3, 16, 105, 0.6);
	background-color: #031068;
	color: #65E3E3;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	width: calc(var(--col-width-3) - var(--margin-grid));
	padding: var(--padding-panel);
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-start;
	font-size: 75%;
	line-height: 1.5;
	pointer-events: auto;
	float: right;
	margin-right: calc(0.5 * var(--margin-grid));
}
.cookie-message {
	width: 100%;
	margin-bottom: 1.5em;
}
.cookie-actions {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.cookie-actions a {
	font-weight: bold;
	text-decoration: underline;
	white-space: nowrap;
}
.cookie-actions a.cookie-close {
	color: var(--color-featured-highlight);
}
.cookie-actions a:hover {
	text-decoration: none;
}

/*###########################################*/
/* FLASHER OVERLAY */
/*###########################################*/
#flasher {
	--flasher-max-opacity: 0.90; /*0.55*/
	
	/*--flasher-color: burlywood; /*#D2CCBD; /*#a6a195;*/
	--flasher-color: var(--color-bg);

	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--flasher-color);
	z-index: 999;
	mix-blend-mode: normal;
	pointer-events: none;

	opacity: 0;

	animation-name: flasher-fadeIn;
	animation-duration: 500ms;
	animation-iteration-count: 1;
	animation-timing-function: ease-out;

	/*transition: opacity 0.2s;
	transition-timing-function: ease-out;*/
}

#flasher.out {
	animation-name: flasher-fadeOut;
	animation-duration: 200ms;
	animation-iteration-count: 1;
	animation-timing-function: ease-out;
	opacity: var(--flasher-max-opacity);
}

@keyframes flasher-fadeIn {
	0% { opacity: var(--flasher-max-opacity); }
	60% { opacity: var(--flasher-max-opacity);  }
	100% { opacity: 0.0; }
}

@keyframes flasher-fadeOut {
	0% { opacity: 0.0; }
	100% { opacity: var(--flasher-max-opacity);}
}

/*###########################################*/
/* EXTERNAL LINKS IN POST TITLES */
/*###########################################*/
:where(.post-grid .post-title, .page-agenda .post-title, .agenda-box .post-title) a[href]:not(:where(
  /* exclude hash only links */
  [href^="#"],
  /* exclude relative but not double slash only links */
  [href^="/"]:not([href^="//"]),
  /* domains to exclude */
  [href*="//criticalmedialab.ch"],
  /* subdomains to exclude */
  /*[href*="//meta.stackoverflow.com"],*/
)):after {
	content: '↗';
	display: inline-block;
	margin-left: 0.2em;
	text-decoration: none;
	opacity: 0.4;
}

/*###########################################*/
/* EDIT LINKS */
/*###########################################*/
.edit-link {
	position: absolute;
	background-color: var(--color-bg);
	padding: 0.4em 0.6em;
	font-family: var(--font-meta);
	font-size: 0.6rem;
	text-decoration: none;
	top: 0;
	right: 1rem;
	transform: translateY(-50%);
	box-shadow: var(--shadow-buttons);
	z-index: 200;
}

/*###########################################*/
/* HIGH-CONTRAST MODE */
/*###########################################*/
.contrast {
	--color-contrast-primary: #222;
	--color-contrast-bg: #F2F2F2;
	--color-contrast-secondary: #E2E2E2;
	
	--color-footer-main: var(--color-contrast-primary) !important;
	--color-footer-light: var(--color-contrast-primary) !important;
	
	--color-primary: var(--color-contrast-primary) !important;
	--color-bg: var(--color-contrast-bg) !important;
	
	--color-aside: var(--color-contrast-bg) !important;
	--color-aside-bg: var(--color-contrast-primary) !important;
	
	--color-index-dark: var(--color-contrast-primary) !important;
	--color-index-highlight: var(--color-contrast-bg) !important;
	--color-current-highlight: var(--color-contrast-bg) !important;
	
	/* neutral color overlays (top bar elements etc.) */
	/*--color-neutral-default: rgba(73,66,64,0.90);
	--color-neutral: var(--color-neutral-default);
	--color-neutral-light: rgba(164,164,156,0.9);
	--color-meta-bg: rgba(0,0,0,0.065);*/
	
	--color-cml-title: var(--color-contrast-primary) !important;
	--color-search-highlight: blue;
	--color-search-bg: var(--color-contrast-bg) !important;
	
	--color-featured-highlight: var(--color-contrast-bg) !important;
	--color-agenda-bg: var(--color-contrast-secondary) !important;
	--color-agenda-primary: var(--color-contrast-primary) !important;
	--color-agenda-internal: var(--color-contrast-primary) !important;
	--color-agenda-today: var(--color-contrast-primary) !important;
}
.contrast * {
	--color-primary: var(--color-contrast-primary) !important;
	--color-bg: var(--color-contrast-secondary) !important;
	--color-secondary: var(--color-contrast-secondary) !important;
}

.contrast .pano-wrapper {
	filter: brightness(0.5);
}

.contrast footer {
	mix-blend-mode: normal !important;
}
.contrast footer .footer-map iframe {
	filter: grayscale();
}

/*###########################################*/
/* SOCIAL MEDIA PREVIEW GENERATOR */
/*###########################################*/
html.ig {
	/* 2.75vw as 1rem reference */
	font-size: 3.5vw !important;
	--border-width: 0.25vw !important;
	--text-stroke-width: 1px !important;
	--text-stroke-width-small: 1px !important;
	--grid-line-width: 1px !important;
	--border-radius-title: 2vw !important;
	--border-radius-content: 2vw !important;
	--border-radius-main: 1.35vw !important;
	height: 100vh;
	overflow: hidden;
}
/* hide everything in body */
html.ig * {
	visibility: hidden !important;
}
html.ig body {
	visibility: visible !important;
	--color-frame-fill: var(--color-bg);
}
html.ig .content-wrapper {
	z-index: auto; /* was messing with blend mode */
}
/* show marked element */
html .ig {
	visibility: visible !important;
	position: fixed !important;
	z-index: 99999 !important;
	top:0 !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	max-height: none !important;
	max-width: none !important;
	width: auto !important;
	box-shadow: none !important;
	
	margin: 4.5vw !important;
	padding: 5vw !important;
	
	background-color: var(--color-frame-fill) !important;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
/* also show contents of element */
html .ig * {
	visibility: visible !important;
}

html.ig .ig-bg {
	visibility: visible !important;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 1.0;
}

/* Settings per content type */
.single-post .ig .post-date,
.single-post .ig .team {
	display: none;
}
.single-post .ig .page-meta {
	margin-bottom: 2.75vw !important; /* not bound to global font size */
}
.single-post .ig .post-label {
	font-size: 2.75vw !important; /* not bound to global font size */
}
.single-post .ig .social-excerpt {
	font-family: var(--font-serif);
	font-size: 3.75vw; /* not bound to global font size */
	line-height: 1.3;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.single-post .ig.no-bg {
	background-color: transparent !important;
}
.single-post .ig.bg-contain {
	background-size: contain;
}
.single-post .ig.bg-adjust {
	background-size: 100%;
	background-position-x: 50%;
	background-position-y: 50%;
}
.single-post .ig.no-label {
	padding-top: 2.5vw !important;
}
.single-post .ig.no-label .page-meta {
	display: none;
}

.ig .sans {
	font-family: var(--font-sans);
	font-feature-settings: var(--font-features-sans);
	font-size: 108%;
}
.ig .sans strong {
	font-weight: 500;
}
.ig .meta {
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	font-size: 2.75vw;
}
.ig .bordered {
	border: var(--border-width) solid var(--color-primary);
	border-radius: 0.35em;
	padding: 0.15em 0.45em;
	display: inline-block;
	/*margin: 0.2em 0;*/
}
.ig .bordered.inverted {
	color: var(--color-bg);
	background-color: var(--color-primary);
}

/* IG Settings Menu */
html.ig .ig-menu-button {
	visibility: visible !important;
	z-index: 99999;
	width: 8vw;
	height: 8vw;
	line-height: 8vw;
	font-size: 8vw;
	text-shadow: var(--shadow-buttons);
	border-radius: 100%;
	position: fixed;
	top: 2vw;
	right: 2vw;
	cursor: pointer;
	display: none;
}
html.ig .ig-menu-button:before {
	content: "⚙️";
}
html.ig:hover .ig-menu-button {
	display: block;
}
html.ig .ig-menu {
	visibility: visible !important;
	z-index: 99999;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	max-height: 100vh;
	overflow-y: auto;
	background-color: rgba(255,255,255,0.7);
	padding: 2vw;
	font-family: var(--font-meta);
	font-feature-settings: var(--font-features-meta);
	line-height: 1.8;
	font-size: 2.65vw;
	display: none;
	flex-wrap: wrap;
	gap: 0.5em;
	padding-right: 11vw;
	color: #000;
}
html.ig:hover .ig-menu.show {
	display: flex;
}

/* IG Settings Menu Items */
html.ig .ig-menu-item {
	visibility: visible !important;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0 0.5em;
	border: 1px solid currentColor;
	border-radius: 0.4em;
	background-color: #FFF;
	box-shadow: var(--shadow-buttons);
	flex-shrink: 0;
	-webkit-user-select: none;
	user-select: none;
}
html.ig .ig-menu-item:hover {
	background-color: #DDD;
}
html.ig .ig-toggle:before {
	content: "⚪ ";
}
html.ig .ig-toggle.active:before {
	content: "🔘 ";
}
html.ig .ig-menu-label {
	border: none;
	box-shadow: none;
	cursor: pointer;
	text-align: center;
}
html.ig .ig-menu-label:hover {
	background-color: #FFF;
}

html.ig .ig-menu-group {
	display: flex;
	gap: 0.5em;
	flex-wrap: nowrap;
}
html.ig .ig-toggle-button-space {
	display: none;
}

/* For portrait orientation (IG story) */
@media only screen and (max-aspect-ratio: 10/11) {
	html .ig {
		margin-top: 10vh !important;
		margin-bottom: 10vh !important;
		--border-radius-title: 2.75vw !important;
		--border-radius-main: 1.75vw !important;
	}
	html.ig .ig-toggle-button-space { 
		display: block;
	}
	html .ig.no-button-space {
		margin-bottom: 4.5vw !important;
	}
	.single-post .ig .post-label {
		font-size: 3.75vw !important;
	}
	.single-post .ig .social-excerpt {
		font-size: 4.75vw !important;
	}
}

