@import "reset.css";

/* Breakpoints: xs | 600px | sm | 800px | md | 1000px | lg | 1200px | xl | 1400px | xxl */

:root {
	--base-color: #000;
	--white-color: #fff;
	--highlight-color: #ff0000;
	--grey-color: #a0a0a0;
	--subtle-grey-color: #f0f0f0;
	--dark-grey-color: #4d4d4d;
	
	--gradient-color: #a207c1;
	--gradient-background: linear-gradient(90deg, #697ffd 0%, #e563ff 100%);
	
	--text-xs: .6rem;
	--text-sm: .8rem;
	--text-md: 1.12rem;
	--text-lg: clamp(1.75rem, 3vw, 2.25rem);
	--text-xl: clamp(2rem, 5.4vw, 4rem);
	
	--spacing-xs: clamp(.75rem, 2vw, 1.5rem);
	--spacing-sm: clamp(1.5rem, 3.75vw, 3rem);
	--spacing-md: clamp(2rem, 5vw, 4rem);
	--spacing-lg: clamp(3rem, 6vw, 5rem);
	--spacing-xl: clamp(4rem, 8.5vw, 8rem);
	
	--frame-max-width: 100rem;
}

/* @group FONTS */

@font-face {
  font-family: 'Everett';
  src: url('../fonts/TWKEverettPlusVF3.woff2') format('woff2 supports variations'),
       url('../fonts/TWKEverettPlusVF3.woff2') format('woff2-variations');
  font-weight: 100 900;
	font-style: oblique 0deg 12deg;
  font-display: swap;
}

/* @end */

/* @group BASE */

html,
body {
	scroll-behavior: smooth;
	overscroll-behavior-y: none;
	position: relative;
	min-width: 320px;
	color: var(--base-color);
	font-family: 'Everett', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 17px;
	font-variation-settings: 'slnt' 0;
	line-height: 1.5em;
}

	@media (min-width: 800px) {
		
		html,
		body {
			font-size: 18px;
			line-height: 1.5em;
		}
		
	}
	
h1 {
	margin-bottom: .6em;
	font-size: var(--text-xl);
	font-weight: 150;
	line-height: 1.1em;
}

.page__heading--error h1 {
	margin-bottom: var(--spacing-sm);
	font-family: Courier, monospace;
	font-weight: 400;
	font-size: var(--text-lg);
}

h2 {
	margin-bottom: .5em;
	font-size: var(--text-lg);
	font-weight: 200;
	line-height: 1.2em;
}

p + h2,
ul + h2,
ol + h2 {
	margin-top: 2.8rem;
}

h3 {
	margin-bottom: var(--spacing-sm);
}

p {
	margin-bottom: 1em;
}

li p {
	margin-bottom: unset; /* Fix bug in Kirby writer */
}

strong {
	font-weight: 700;
}

em {
	font-style: normal;
	font-variation-settings: "slnt" 12;
}

.kt ul,
.text-block ul {
	margin-bottom: 1.5em;
}

	.kt ul li,
	.text-block ul li,
	.kirby-text-block ul li {
		display: table;
	}
	
		.kt ul li::before,
		.text-block ul li::before,
		.kirby-text-block ul li::before {
			content: "–";
	    display: table-cell;
	    width: 1em;
		}
	
ol {
  counter-reset: counter;
	margin-bottom: 1em
}

	ol li {
		display: table;
	  counter-increment: counter;
	}
	
		ol li::before {
		  content: counter(counter) ".";
	    display: table-cell;
	    width: 1.25em;
		}

.back-link,
.kt a,
.cr_form a,
.text-block a,
.imagetext-block a,
.portrait-gallery-block a,
.kirby-text-block a,
.event__infobox-registrationnote a,
.page__intro a,
.speaker a,
.overlay a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .1em;
	transition: all .2s ease-in-out 0s;
}

.back-link:hover,
.kt a:hover,
.cr_form a:hover,
.text-block a:hover,
.imagetext-block a:hover,
.portrait-gallery-block a:hover,
.kirby-text-block a:hover,
.event__infobox-registrationnote a:hover,
.page__intro a:hover,
.speaker a:hover,
.overlay a:hover {
	text-decoration-thickness: 2px;
}
	
	.back-link::before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.14 20'%3E%3Cg%3E%3Cpath fill='%23000' d='m0,10L17.14,0v20L0,10Z'/%3E%3C/g%3E%3C/svg%3E");
		display: inline-block;
		width: .7em;
		margin-right: .6em;
		vertical-align: baseline;
	}

.small-text {
	font-size: var(--text-sm);
	line-height: 1.5em;
}

/* @end */

/* @group Background color */

.main .background-color:last-child {
	margin-bottom: calc(-1 * var(--spacing-xl));
}

.background-color--subtle-grey {
	background-color: var(--subtle-grey-color);
}

/* @end */

/* @group Container */

.container {
	max-width: var(--frame-max-width);
	margin-right: auto;
	margin-left: auto;
	padding-right: 1rem;
	padding-left: 1rem;
}

	@media (min-width: 600px) and (max-width: 1199px) {
		
		.container {
			padding-right: 5rem;
			padding-left: 5rem;
		}
		
	}
	
	@media (min-width: 1200px) {
		
		.container {
			padding-right: 8.5rem;
			padding-left: 8.5rem;
		}
		
	}

/* @end */

/* @group Borders */

.border-top {
	border-top: 1px solid var(--base-color);
}

/* @end */

/* @group Spacing */

/* xs */

.margin-top-xs {
	margin-top: var(--spacing-xs);
}

.margin-bottom-xs {
	margin-bottom: var(--spacing-xs);
}

.padding-top-xs {
	padding-top: var(--spacing-xs);
}

.padding-bottom-xs {
	padding-bottom: var(--spacing-xs);
}

/* sm */

.margin-top-sm {
	margin-top: var(--spacing-sm);
}

.margin-bottom-sm {
	margin-bottom: var(--spacing-sm);
}

.padding-top-sm {
	padding-top: var(--spacing-sm);
}

.padding-bottom-sm {
	padding-bottom: var(--spacing-sm);
}

/* md */

.margin-top-md {
	margin-top: var(--spacing-md);
}

.margin-bottom-md {
	margin-bottom: var(--spacing-md);
}

.padding-top-md {
	padding-top: var(--spacing-md);
}

.padding-bottom-md {
	padding-bottom: var(--spacing-md);
}

/* lg */

.margin-top-lg {
	margin-top: var(--spacing-lg);
}

.margin-bottom-lg {
	margin-bottom: var(--spacing-lg);
}

.padding-top-lg {
	padding-top: var(--spacing-lg);
}

.padding-bottom-lg {
	padding-bottom: var(--spacing-lg);
}

/* xl */

.margin-top-xl {
	margin-top: var(--spacing-xl);
}

.margin-bottom-xl {
	margin-bottom: var(--spacing-xl);
}

.padding-top-xl {
	padding-top: var(--spacing-xl);
}

.padding-bottom-xl {
	padding-bottom: var(--spacing-xl);
}

/* @end */

/* @group Row & Column */

.row {
	display: grid;
	grid-column-gap: var(--spacing-md);
	max-width: var(--frame-max-width);
	margin-right: auto;
	margin-left: auto;
}

.row--no-gutters {
	grid-column-gap: unset;
}

	.row img {
		width: 100%;
		height: auto;
	}
	

	@media (max-width: 599px) { /* xs */
		
		.col-xs-bleed {
			margin-right: -1rem;
			margin-left: -1rem;
		}
		
		.col-xs-bleed-padding {
			padding-right: 1rem;
			padding-left: 1rem;
		}
		
	}
	
	@media (min-width: 600px) and (max-width: 799px) { /* sm */
		
		.col-sm-bleed {
			margin-left: -5.5rem;
			margin-right: -5.5rem;
		}
		
		.col-sm-bleed-padding {
			padding-left: 5.5rem;
			padding-right: 5.5rem;
		}
		
	}
	
	@media (min-width: 800px) and (max-width: 999px) { /* md */
		
		.col-md-bleed {
			margin-left: -5.5rem;
			margin-right: -5.5rem;
		}
		
		.col-md-bleed-padding {
			padding-left: 5.5rem;
			padding-right: 5.5rem;
		}
		
	}
	
	@media (min-width: 1000px) { /* lg */
		
		.row {
			grid-template-columns: repeat(6, 1fr);
		}
		
		.col-2 {
			grid-column-end: span 2;
		}
		
		.col-3 {
			grid-column-end: span 3;
		}
		
		.col-4 {
			grid-column-end: span 4;
		}
		
		.col-6 {
			grid-column-end: span 6;
		}
		
		.col-order-1 {
			order: -1;
		}
		
		.col-push-3 {
			grid-column-start: 4;
		}
		
		.col-push-4 {
			grid-column-start: 5;
		}
		
		.col-bleed {
			margin-right: -5rem;
			margin-left: -5rem;
		}
		
		.col-bleed-right {
			margin-right: -5rem;
		}
		
		.col-bleed-left {
			margin-left: -5rem;
		}
		
		.col-bleed-padding-right {
			padding-right: 5rem;
		}
		
		.col-bleed-padding-left {
			padding-left: 5rem;
		}
		
		.col-padding-right {
			padding-right: var(--spacing-lg);
		}
		
		.col-padding-left {
			padding-left: var(--spacing-lg);
		}
		
	}
	
	@media (min-width: 1200px) { /* xl */
		
		.col-bleed {
			margin-right: -8.5rem;
			margin-left: -8.5rem;
		}
		
		.col-bleed-right {
			margin-right: -8.5rem;
		}
		
		.col-bleed-left {
			margin-left: -8.5rem;
		}
		
		.col-bleed-padding-right {
			padding-right: 8.5rem;
		}
		
		.col-bleed-padding-left {
			padding-left: 8.5rem;
		}
		
	}
	
	@media (min-width: 1400px) { /* xxl */
		
		.col-xxl-2 {
			grid-column-end: span 2;
		}
		
		.col-xxl-3 {
			grid-column-end: span 3;
		}
		
		.col-xxl-4 {
			grid-column-end: span 4;
		}
		
		.col-xxl-6 {
			grid-column-end: span 6;
		}
	
	}

/* @end */

/* @group Menu toggle */

.menu-toggle {
	position: fixed;
	z-index: 1;
	top: 0;
	right: 0;
	width: 3.5rem;
	height: 3.5rem;
	padding: .75rem;
	background-color: rgba(0,0,0,.8);
}

	@media (min-width: 800px) {
		
		.menu-toggle {
			display: none;
		}
		
	}

/* @end */

/* @group Hamburger */

.hamburger {
	position: relative;
}

	.hamburger__bar {
		display: block;
		position: absolute;
		height: .1rem;
		width: 100%;
		background-color: var(--white-color);
		transition: all 300ms ease-in-out 0s;
	}
	
	.hamburger__bar:nth-child(1) {
		transform: translateY(0.625em);
	}

	.hamburger__bar:nth-child(3) {
		transform: translateY(-0.625em);
	}
	
	/* isNavOpen */
	
	.hamburger__bar.isOpen:nth-child(1) {
		width: 80%;
		margin-left: 10%;
		transform: rotate(45deg);
	}
	
	.hamburger__bar.isOpen:nth-child(2) {
		opacity: 0;
	}
	
	.hamburger__bar.isOpen:nth-child(3) {
		width: 80%;
		margin-left: 10%;
		transform: rotate(-45deg);
	}

/* @end */

/* @group Offcanvas */

.offcanvas {
	position: fixed;
	z-index: 100;
	top: 0;
	bottom: 0;
	left: 0;
	width: calc(100vw - 3.5rem - 1px);
	overflow-y: scroll;
	padding: 1rem;
	background-color: rgba(0,0,0,.8);
	color: var(--white-color);
}

.offcanvas.enter {
	transition: all 300ms ease-in-out 0s;
}

.offcanvas.enter-start {
	transform: translateX(-100%);
}

.offcanvas.enter-end {
	transform: translateX(0);
}

.offcanvas.leave {
	transition: all 300ms ease-in-out 0s;
}

.offcanvas.leave-start {
	transform: translateX(0);
}

.offcanvas.leave-end {
	transform: translateX(-100%);
}

	.offcanvas__menu {
		margin-top: 2rem;
	}
	
		.offcanvas__menu a {
			display: block;
		}
	
		.offcanvas__menu > li {
			margin-bottom: 2rem;
		}
	
			.offcanvas__menu > li > a {
				margin-bottom: 1rem;
				font-size: 1.75rem;
				font-weight: 400; /* was 300 */
				line-height: 1em;
			}
			
				.offcanvas__menu > li > ul {
					letter-spacing: 0.05em;
				}
				
					.offcanvas__menu > li > ul > li {
						margin-bottom: .5rem;
					}

	@media (min-width: 800px) {
		
		.offcanvas {
			display: none;
		}
		
	}

/* @end */

/* @group Header */

.header {
	
}

	.header__container {
		display: grid;
		grid-template-columns: auto 1fr max-content;
		max-width: var(--frame-max-width);
		margin-right: auto;
		margin-left: auto;
		padding-bottom: var(--spacing-md);
		padding-top: 1rem;
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.header__branding {
		width: 7.5rem;
	}
	
	.header__menu {
		display: flex;
		align-items: center;
	}

	.header__submenu {
		grid-column: 2 / span 2;
	}
	
		.header__menu a,
		.header__submenu a {
			float: left;
			margin-right: 1.5rem;
			transition: all .2s;
		}
		
		.header__menu a:hover,
		.header__submenu a:hover,
		.header__menu a.active,
		.header__submenu a.active {
			letter-spacing: .25em;
		}
		
	.header__breadcrumb {
		margin-top: .5rem;
		grid-row: 3;
		grid-column: 1 / span 2;
	}
		
	.header__buttonwrapper {
		grid-column-start: 3;
		grid-row-start: 1;
		display: flex;
		align-items: center;
	}
	
	@media (max-width: 799px) {
		
			.header__menu,
			.header__submenu,
			.header__buttonwrapper {
				display: none;
			}
		
	}
	
	@media (min-width: 800px) {
		
		.header.sticky {
			position: sticky;
			top: 0;
			z-index: 10;
			-webkit-backdrop-filter: blur(6px);
			backdrop-filter: blur(6px);
			background: rgba(255,255,255,.85);
		}
		
			.header.sticky .header__container {
				padding-top: 0;
				padding-bottom: 0;
			}
			
			.header.sticky .header__submenu {
				margin-top: -.5rem;
				margin-bottom: .75rem;
			}
		
	}

/* @end */

/* @group Branding */
		
.branding {
	display: flex;
	align-items: center;
}

	.branding__logo {
		display: inline-block;
		width: 3rem;
		height: 3rem;
		margin-right: 1rem;
	}

/* @end */

/* @group Breadcrumb */

.breadcrumb {
	margin-top: 1rem;
}

	@media (min-width: 800px) {
		
			.breadcrumb {
				display: none;
			}
	}
	
	.breadcrumb__item {
		display: inline-block;
		max-width: 12em;
		margin-right: .25em;
		line-height: 1.2em;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.breadcrumb__item:first-child {
		display: none;
	}
	
	.breadcrumb__item::before {
		display: inline-block;
		margin-right: .25em;
		content: "→";
		font-weight: 400; /* was 300 */
	}

/* @end */

/* @group Vertical logo lettering */

.vertical-logo-lettering {
	position: fixed;
	z-index: 20;
	display: block;
	top: 50%;
	left: 1rem;
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	transform-origin: center left;
	transform: translateY(-50%) translateX(30px) rotate(-90deg) translateX(-50%);
}

.vertical-logo-lettering:hover {
	cursor: pointer;
}

.vertical-logo-lettering.active {
	color: var(--white-color);
}

	.vertical-logo-lettering__annex {
		opacity: 0;
		transition: opacity .2s ease-in-out 0s;
	}
	
	.vertical-logo-lettering.active .vertical-logo-lettering__annex,
	.vertical-logo-lettering:hover	 .vertical-logo-lettering__annex {
		opacity: 1;
	}
	
	@media (max-width: 1399px) {
		
		.vertical-logo-lettering {
			display: none;
		}
		
	}

/* @end */

/* @group Vertical logo icons */

.vertical-logo-icons {
	position: fixed;
	z-index: 20;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 28px;
}

	.vertical-logo-icons:hover {
		cursor: pointer;
	}

	.vertical-logo-icons * {
		transform: rotate(0);
		transform-origin: center;
		transition: transform .5s ease-in-out 0s;
	}
	
	.vertical-logo-icons:hover *:nth-child(1) {
		transform: rotate(90deg);
	}
	
	.vertical-logo-icons:hover *:nth-child(3) {
		transform: rotate(45deg);
	}
	
	@media (max-width: 1399px) {
		
		.vertical-logo-icons {
			display: none;
		}
		
	}

/* @end */

/* @group Overlay */

.overlay {
	position: fixed;
	z-index: 10;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0,0,0,.85);
	color: var(--white-color);
}

	@media (min-width: 1000px) {
		
		.overlay--right {
			left: 50%;
		}
		
	}
	
	.overlay--left {
		padding: 12vw;
	}
	
	.overlay--left:hover {
		cursor: pointer;
	}

	.overlay__close-button {
		position: absolute;
		top: 0;
		right: 0;
	}
	
	.overlay__content {
		display: flex;
		height: 100%;
		align-items: center;
	  justify-content: center;
	}

	.overlay h1,
	.overlay__big-text {
		margin-bottom: .5em;
    font-size: var(--text-xl);
    font-weight: 200;
    line-height: 1.2em;
	}
	
	.overlay p,
	.overlay__small-text {
		margin-bottom: 1em;
		font-size: var(--text-md);
		font-weight: 700; /* was 800 */
		line-height: 1.4em;
	}

/* @end */

/* @group Close button */

.close-button {
	width: 4rem;
	height: 4rem;
	margin: .75rem;
	vertical-align: bottom;
	transition: transform .2s ease-in-out 0s;
}

.close-button:hover {
	cursor: pointer;
	transform: scale(1.2);
}

	.close-button__bar {
		position: absolute;
		top: 50%;
		width: 80%;
		height: .1rem;
		background-color: var(--white-color);
		transform-origin: center;
	}
	
	.close-button__bar:first-child {
		transform: translateY(-50%) rotate(45deg);
	}
	
	.close-button__bar:last-child {
		transform: translateY(-50%) rotate(-45deg);
	}

/* @end */

/* @group Main */

.main {
	padding-bottom: var(--spacing-xl);
}

/* @end */

/* @group Blocks */

/* @group image-block */

.image-block {
	
}
	
	.image-block__caption {
		margin-top: 1rem;
		font-size: var(--text-sm);
		line-height: 1.5em;
	}
	
	@media (min-width: 600px) and (max-width: 1199px) {
		
		.image-block {
			padding-right: 2rem;
			padding-left: 2rem;
		}
		
	}	

/* @end */

/* @group imagetext-block */

.imagetext-block {
	
}

	.imagetext-block__tag {
		margin-bottom: .5rem;
	}

	.imagetext-block__text {
		font-weight: 700;
	}
	
.imagetext-block + .imagetext-block {
	
}

/* @end */

/* @group text-block */

.gallery-block + .text-block {
	padding-top: var(--spacing-md);
}
	
	.text-block p,
	.text-block ul {
		font-weight: 400; /* was 500 */
	}
	
	.text-block h3 {
		font-weight: 700;
	}
	
	.text-block h3:not(:last-child) {
		margin-bottom: 1.5em;
	}
	
	.text-block h3:not(:first-child) {
		margin-top: 2.5em;
	}

/* @end */

/* @group small-text-block */

	.small-text-block h3 {
		margin-bottom: 1em;
		padding-top: 1em;
		letter-spacing: .25em;
	}

	.small-text-block p,
	.small-text-block li {
		margin-bottom: 1em;
		font-size: var(--text-sm);
		line-height: 1.5em;
	}

/* @end */

/* @group gallery-block */

.gallery-block {
	
}

	.gallery-block__images {
		display: grid;
		align-items: flex-start;
	}

	.gallery-block__images img {
		width: 100%;
		object-fit: cover;
	}
	
	/* 1-2 */
	.gallery-block__images.layout-1-2 img {
		aspect-ratio: 3 / 4;
	}
	
	.gallery-block__images.layout-1-2 > *:last-child img {
		aspect-ratio: 3 / 2;
	}
	
	/* 2-1 */
	.gallery-block__images.layout-2-1 img {
		aspect-ratio: 3 / 2;
	}
	
	.gallery-block__images.layout-2-1 > *:last-child img {
		aspect-ratio: 3 / 4;
	}
	
	/* 8-9 */
	.gallery-block__images.layout-8-9 > * img {
		aspect-ratio: 4 / 3;
	}
	
	.gallery-block__images.layout-8-9 > *:last-child img {
		aspect-ratio: 3 / 2;
	}
	
	/* 9-8 */
	.gallery-block__images.layout-9-8 > * img {
		aspect-ratio: 3 / 2;
	}
	
	.gallery-block__images.layout-9-8 > *:last-child img {
		aspect-ratio: 4 / 3;
	}
	
	/* Caption */
	.gallery-block__caption {
		margin-top: 1rem;
		padding-bottom: var(--spacing-sm);
		font-size: var(--text-sm);
		line-height: 1.5em;
	}
	
	@media (max-width: 599px) {
		
		.gallery-block__figure {
			margin-right: -1rem;
			margin-left: -1rem;
		}
		
	}

	@media (min-width: 600px) {
		
		.gallery-block__images.layout-1-1-1 {
			grid-template-columns: repeat(3, 1fr);
		}
		
		.gallery-block__images.layout-1-1 {
			grid-template-columns: repeat(2, 1fr);
		}
		
		.gallery-block__images.layout-1-2 {
			grid-template-columns: 1fr 2fr;
		}
		
		.gallery-block__images.layout-2-1 {
			grid-template-columns: 2fr 1fr;
		}
		
		.gallery-block__images.layout-8-9 {
			grid-template-columns: 8fr 9fr;
		}
		
		.gallery-block__images.layout-9-8 {
			grid-template-columns: 9fr 8fr;
		}
		
	}

/* @end */


/* @group portrait-gallery-block */

.portrait-gallery-block {
	margin-bottom: var(--spacing-md);
}

	.portrait-gallery-block__heading {
		margin-bottom: 1.5rem;
	}

	.portrait-gallery-block__images {
		display: grid;
		grid-column-gap: 1rem;
		grid-row-gap: var(--spacing-md);
	}
	
		@media (min-width: 1000px) and (max-width: 1199px) {
			
			.portrait-gallery-block__images {
				grid-template-columns: repeat(2, 1fr);
			}
			
		}
		
		@media (min-width: 1200px) {
			
			.portrait-gallery-block__images {
				grid-template-columns: repeat(3, 1fr);
			}
			
		}
		
	.portrait-gallery-block__figure {
		margin-bottom: 1rem;
	}
	
	.portrait-gallery-block__title {
		margin-bottom: .5rem;
		font-weight: 700; /* was 800 */
		font-size: var(--text-md);
		letter-spacing: unset;
	}
	
	.portrait-gallery-block__description {
		margin-bottom: 1em;
	}
	
	.portrait-gallery-block__website {
		margin-bottom: unset;
	}

/* @end */


/* @group logos-block */

.logos-block {
	padding-top: var(--spacing-lg);
	padding-bottom: var(--spacing-lg);
}

.logos-block + .logos-block {
	border-top: 1px solid var(--base-color);
}

	.logos-block__figures {
		display: grid;
		grid-column-gap: 2rem;
	}

	@media (max-width: 799px) {
		
		.logos-block__figures {
			grid-template-columns: repeat(2, 1fr);
			padding-right: 1rem;
			padding-left: 1rem;
		}
		
	}
	
	@media (min-width: 800px) and (max-width: 999px) {
		
		.logos-block__figures {
			grid-template-columns: repeat(3, 1fr);
		}
		
	}
	
	@media (min-width: 1000px) and (max-width: 1199px) {
		
		.logos-block__figures {
			grid-template-columns: repeat(4, 1fr);
		}
		
	}
	
	@media (min-width: 1200px) {
		
		.logos-block__figures {
			grid-template-columns: repeat(5, 1fr);
		}
		
	}

/* @end */

/* @group memberships-block */

.memberships-block {
	margin-bottom: var(--spacing-lg);
}

	.memberships-block__heading {
		margin-bottom: .75em;
	}

	.memberships-block__figures {
		display: grid;
		grid-gap: 1rem;
	}
		
	@media (min-width: 1000px) and (max-width: 1599px) {
		
		.memberships-block__figures {
			grid-template-columns: repeat(2, 1fr);
		}
		
	}
	
	@media (min-width: 1600px) {
		
		.memberships-block__figures {
			grid-template-columns: repeat(3, 1fr);
		}
		
	}

/* @end */

/* @group kirby-text-block */

.kirby-text-block {
	
}

	.kirby-text-block .row {
		row-gap: 2.8rem;
	}
	
/* @end */

/* @end */

/* @group Page */

	.page__intro {
		margin-bottom: var(--spacing-md);
		font-size: var(--text-md);
		font-weight: 700;
		line-height: 1.5em;
	}
	
	.page__intro--error {
		font-weight: 400;
	}
	
		.page__intro p {
			break-inside: avoid;
		}
	
	@media (min-width: 1200px) {
		
		.page__intro {
			column-count: 2;
			column-gap: var(--spacing-md);
		}
		
	}

/* @end */

/* @group Tag */

.tag {
	display: inline-block;
	font-size: var(--text-sm);
	font-weight: 400;
	line-height: 1.25em;
	letter-spacing: 0.05em;
	vertical-align: bottom;
}

/* @end */

/* @group Prices */

.prices {
	display: table;
	width: 100%;
}

	.prices__item {
		display: table-row;
	}
	
		.prices__item > * {
			display: table-cell;
		}
	
		.prices__item > *:first-child {
			padding-right: 1em;
			white-space: nowrap;
			width: 1em;
		}

/* @end */

/* @group Figure */

.figure {
	position: relative;
}

	.figure img {
		width: 100%;
		height: auto;
	}

	.figure__copyright {
		position: absolute;
		bottom: 0;
		right: 0;
		padding: .25em .5em;
		background-color: rgba(0,0,0,.5);
		color: var(--white-color);
		font-size: var(--text-xs);
		line-height: 1.2em;
	}

/* @end */

/* @group Teaser */

.teaser {
	position: relative;
	padding: .5em;
	color: var(--highlight-color);
	border: 4px solid currentColor;
}

	.teaser__heading {
		margin-bottom: unset;
		font-weight: 800;
		transition: font-weight .15s ease-in-out 0s;
	}
	
	.teaser--linked:hover .teaser__heading {
		font-weight: 900;
	}
	
	.teaser__subheading {
		font-size: var(--text-lg);
		font-weight: 300;
		line-height: 1.2em;
	}
	
		.teaser__subheading p {
			margin-bottom: .6em;
		}
	
	.teaser__figure {
		margin-right: -.5em;
		margin-left: -.5em;
		margin-bottom: -.5em;
		vertical-align: bottom;
		overflow: hidden;
	}		
	
		.teaser__figure img {
			width: 100%;
			aspect-ratio: 7 / 5;
			object-fit: cover;
			transform: scale(1);
			transition: all .2s;
		}
	
		.teaser--linked:hover .teaser__figure img {
			transform: scale(1.1);
		}
		
		.teaser__figure[data-orientation="portrait"] img {
			aspect-ratio: 5 / 7;
		}
	
	.teaser__link {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}

/* @end */

/* @group Cards */

.cards {
	display: grid;
	grid-column-gap: var(--spacing-md);
	grid-row-gap: var(--spacing-lg);
}

	@media (min-width: 800px) and (max-width: 1399px) {
		
		.cards {
			grid-template-columns: repeat(2, 1fr);
		}
		
	}
	
	@media (min-width: 1400px) {
		
		.cards {
			grid-template-columns: repeat(3, 1fr);
		}
		
	}
	
/* @end */

/* @group Card */

.card {
	position: relative;
	display: flex;
	flex-direction: column;
}

@media (min-width: 1400px) {
	
	.card--highlight {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1.5rem;
	}
	
	.card--highlight.card--landscape {
		grid-template-columns: 1fr;
		width: 75%;
	}
				
		.card--highlight .card__content {
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
	
}
	
	.card__tag {
		margin-bottom: .5rem;
	}
	
	.card__title {
		margin-bottom: .5rem;
		font-size: var(--text-lg);
		font-weight: 800;
		line-height: 1.1em;
		transition: all .15s ease-in-out 0s;
	}
	
	.card:hover .card__title {
		font-weight: 900;
	}
		
	.card__authors,
	.card__speakers {
		margin-bottom: .5rem;
		padding-left: 2em;
		font-size: var(--text-sm);
		line-height: 1.5em;
		letter-spacing: 0.05em;
	}
	
	.card__text {
		margin-bottom: unset;
	}
	
	.card__opening {
		margin-top: 1em;
		margin-bottom: unset;
	}
	
	.card .dates {
		margin-top: .75rem;
		font-size: var(--text-sm);
	}
	
	.card__figure {
		margin-top: clamp(1rem, 2.5vw, 1.5rem);
		text-align: center;
		overflow: hidden;
	}
	
	.card--highlight .card__figure {
		order: -1;
		margin-top: unset;
		margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
	}
		
		.card__figure img {
			width: 100%;
			aspect-ratio: 7 / 5;
			object-fit: cover;
			transform: scale(1);
			transition: all .2s;
		}
		
		.card:hover .card__figure img {
			transform: scale(1.1);
		}
		
		.card__figure[data-orientation="portrait"] img {
			width: 71.428571429%;
			aspect-ratio: 5 / 7;
		}
		
		@media (min-width: 1400px) {
		
			.card--highlight .card__figure[data-orientation="portrait"] img {
		    width: 100%;
			}
			
		}

	.card__link {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}

/* @end */

/* @group Cards – List layout */

.cards--list-layout {
	display: block;
}

	.cards--list-layout .card {
		padding-top: 1rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid var(--base-color);
	}
	
	.cards--list-layout .card__content {
		display: grid;
		column-gap: .5rem;
		row-gap: .25rem;
	}
	
	.cards--list-layout .card__title {
		line-height: 1.2em;
	}
	
	@media (max-width: 999px) {
		
		.cards--list-layout .card__content {
			grid-template-columns: 8rem auto;
			grid-template-rows: auto auto auto;
		}
		
			.cards--list-layout .card__tag {
				grid-column: 2;
			}
		
			.cards--list-layout .card__title {
				grid-row: 2;
				grid-column: 1 / span 2;
			}
			
			.cards--list-layout .card__speakers {
				grid-column: 1 / span 2;
			}
		
	}
	
	@media (min-width: 1000px) {
		
		.cards--list-layout .card__content {
			align-items: center;
			grid-template-columns: 8rem 10rem 5fr 2fr;
		}
		
	}

	.cards--list-layout .card__text,
	.cards--list-layout .card__opening,
	.cards--list-layout .card .date:not(:first-child),
	.cards--list-layout .card .date:first-child .date__weekday,
	.cards--list-layout .card__figure {
		display: none;
	}
	
	.cards--list-layout .card__tag,
	.cards--list-layout .card__title,
	.cards--list-layout .card__speakers,
	.cards--list-layout .card .dates {
		margin: unset;
	}
	
	.cards--list-layout .card .dates {
		order: 1;
		font-feature-settings: "tnum";
	}
	
		.cards--list-layout .card .dates > *,
		.cards--list-layout .card .dates,
		.cards--list-layout .card .date:first-child .date__day,
		.cards--list-layout .card .date:first-child .date__month {
			margin: unset;
			font-size: var(--text-sm);
			font-weight: inherit;
			line-height: 1.3em;
		}
		
	.cards--list-layout .card__tag {
		order: 2;
		line-height: 1.5em;
	}
	
	.cards--list-layout .card__title {
		order: 3;
		font-size: var(--text-md);
		font-weight: 700;
	}
	
	.cards--list-layout .card:hover	.card__title {
		font-weight: 800;
	}

	.cards--list-layout .card__speakers {
		order: 4;
		padding-left: unset;
	}

/* @end */

/* @group Pagination */

.pagination {
	margin-top: var(--spacing-lg);
	text-align: center;
}

	.pagination > * {
		display: inline-block;
		margin-right: .5em;
		margin-left: .5em;
	}

	.pagination__number[aria-current="page"] {
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 3px;
		
	}
	
	.pagination > * {
		transition: all .15s ease-in-out 0s;
	} 
	
	.pagination > *:hover {
		font-weight: 800;
	}

/* @end */

/* @group Dates */

.dates {
	line-height: 1.4em;
}
	
		.dates > .date:not(:first-child) .date__weekday::after {
			content: " — ";
		}

		.dates > .date:first-child .date__weekday {
			display: block;
			margin-bottom: 0.1em;
		}
	
		.dates > .date:first-child .date__day,
		.dates > .date:first-child .date__month {
			font-size: clamp(3rem, 5.5vw, 4rem);
			line-height: .9em;
		}
	
		.dates > .date:first-child .date__day {
			font-weight: 300;
		}
	
		.dates > .date:first-child .date__month {
			font-weight: 900;
		}
	
	.dates > .date:nth-child(2) {
		margin-top: .25em;
	}
	
	.date__weekday {
		letter-spacing: 0.05em;
	}
	
	.date__time {
		display: inline-block;
	}

	.card .date__month {
		margin-right: .1em;
	}
	
	.card .date__time {
		display: none;
	}


/* @end */

/* @group Events */
/* Currently not in use */

	.events__tag {
		margin-bottom: 1.25rem;
	}
	
	.events__title {
		margin-bottom: 1.5rem;
	}
	
	.events__cover {
		margin-bottom: var(--spacing-sm);
	}
	
	.events__teaser {
		font-size: var(--text-md);
		font-weight: 700;
		line-height: 1.4em;
	}
	
		.events__teaser p {
			break-inside: avoid;
		}
	
	@media (min-width: 1200px) {
		
		.events__teaser {
			column-count: 2;
			column-gap: var(--spacing-md);
		}
		
	}

/* @end */

/* @group Event */

	.event__tag {
		margin-bottom: .5rem;
	}
	
	.event__title {
		margin-bottom: .75rem;
		font-weight: 800;
	}
	
	.event__authors {
		margin-bottom: .75rem;
		padding-left: 2.5rem;
		font-size: var(--text-sm);
		font-weight: 400;
		letter-spacing: 0.05em;
		line-height: 1.4em;
	}
		
	.event__teaser {
		font-size: var(--text-md);
		font-weight: 700;
		line-height: 1.4em;
	}
	
	.event__teaser:not(:last-child) {
		margin-bottom: 1.5rem;
	}
	
	@media (max-width: 999px) {
			
		.event__button {
			margin-bottom: 1rem;
		}
	}
	
	.event__cover {
		
	}
	
		.event__cover img {
			aspect-ratio: 7 / 5;
			object-fit: cover;
		}
	
	.event__cover[data-orientation="portrait"] {
		margin-right: 28.571428571%;
	}
	
		.event__cover[data-orientation="portrait"] img {
			aspect-ratio: 5 / 7;
			object-fit: cover;
		}
	
	.event__infobox {
		background-color: var(--base-color);
		color: var(--white-color);
	}
		
	.event__infobox-datesnote {
		margin-bottom: 1em;
		padding-bottom: 1em;
		border-bottom: 2px solid var(--dark-grey-color);
	}
	
	.event__infobox .dates {
		margin-bottom: 1em;
		padding-bottom: 1em;
		border-bottom: 2px solid var(--dark-grey-color);
	}
	
	.event__infobox-location {
		margin-bottom: 1em;
		padding-bottom: 1em;
		border-bottom: 2px solid var(--dark-grey-color);
	}
		
	.event__infobox-prices {
		margin-bottom: 1em;
		padding-bottom: 1.5em;
		border-bottom: 2px solid var(--dark-grey-color);
	}
	
	.event__infobox-button {
		
	}
	
	.event__infobox-startdate {
		font-size: var(--text-sm);
		line-height: 1.5em;
		letter-spacing: 0.05em;
	}
	
	.event__infobox-maxplaces {
		margin-bottom: unset;
		font-size: var(--text-sm);
		line-height: 1.5em;
		letter-spacing: 0.05em;
	}
	
	.event__infobox-registrationnote {
		font-size: var(--text-sm);
		line-height: 1.5em;
		letter-spacing: 0.05em;
	}
	
	.event__description {
		font-weight: 400; /* was 500 */
	}
	
	.event__crossheading {
		padding-top: 1em;
		margin-bottom: 1em;
		letter-spacing: .25em;
	}
		
	.event__speaker-text {
		align-self: center;
		max-width: 32em;
	}
		
	.event__speaker-description {
		font-weight: 700;
	}
	
	.event__speaker-subheading {
		line-height: 1.3em;
	}
	
	.event__opening-figure {
		margin-bottom: 1rem;
	}
	
		.event__opening-figure img {
			width: 100%;
			aspect-ratio: 7 / 5;
			object-fit: cover;
		}
		
		.event__opening-figure[data-orientation="portrait"] img {
			aspect-ratio: 5 / 7;
		}
	
	.event__opening-text {
		font-weight: 400; /* was 500 */
	}

/* @end */

/* @group Video */

.video {
	
}

	.video h3 {
		margin-bottom: var(--spacing-xs);
	}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}

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

/* @end */

/* @group Feedback */

.feedback:not(:last-child) {
	margin-bottom: var(--spacing-sm);
}

	.feedback__quote {
		font-size: var(--text-lg);
		font-weight: 200; /* was 300 */
		line-height: 1.2em;
	}
	
	.feedback__source {
		margin-top: .5rem;
		font-weight: 700;
	}
	
	@media (min-width: 1000px) and (max-width: 1399px) {
		
		.feedback {
			grid-column-end: span 5;
		}
		
		.feedback:nth-child(even) {
			grid-column-start: 2;
		}
		
	}

	@media (min-width: 1400px) {
		
		.feedback {
			grid-column-end: span 4;
		}
		
		.feedback:nth-child(even) {
			grid-column-start: 3;
		}
		
	}

/* @end */

/* @group Filter */

.filter {
	position: relative;
	display: flex;
	gap: 1px;
	border: 1px solid var(--base-color);
	background-color: var(--base-color);
}
	
	.filter__tags {
		flex: 1 1 auto;
		padding: .5rem 1rem;
		background-color: var(--white-color);
	}
	
	.filter__tag {
		display: inline-block;
		font-size: var(--text-sm);
		font-weight: 400;
		line-height: 1.5em;
		letter-spacing: 0.05em;
		white-space: nowrap;
	}
	
	.filter__buttons {
		display: grid;
		grid-gap: 1px;
		background-color: var(--base-color);
	}
	
		.filter__buttons > * {
			background-color: var(--white-color);
		}
	
	.filter__button {
		padding: .5rem;
		text-align: center;
	}
	
	.filter__button:hover {
		cursor: pointer;
	}
	
	.filter__button.active {
		background-color: var(--base-color);
		color: var(--white-color);
	}
	
		.filter__button svg {
			vertical-align: middle;
			transition: transform .15s ease-in-out 0s;
		}
	
		.filter__button:hover svg {
			transform: scale(1.2);
		}
	
	@media (max-width: 1399px) {
		
			.filter__tags {
				column-count: auto;
				column-width: 10em;
				column-gap: 2rem;
				line-height: 2rem;
			}
		
	}
	
	@media (min-width: 1400px) {
		
				.filter__tags > * {
					display: inline;
				}
				
				.filter__tags > *:not(:last-child) {
					margin-right: 1.6rem;
				}
			
			.filter__buttons {
				grid-template-columns: 1fr 1fr;
			}
		
	}

/* @end */

/* @group Speakers gallery */

.speakers-gallery {
	
}

	.speakers-gallery__heading {
		margin-bottom: 2.5rem;
	}

	.speakers-gallery__cards {
		margin-bottom: var(--spacing-md);
		display: grid;
		grid-column-gap: 1rem;
		grid-row-gap: var(--spacing-md);
	}
	
		@media (min-width: 800px) and (max-width: 999px) {
			
			.speakers-gallery__cards {
				grid-template-columns: repeat(2, 1fr);
			}
			
		}
		
		@media (min-width: 1000px) and (max-width: 1199px) {
			
			.speakers-gallery__cards {
				grid-template-columns: repeat(3, 1fr);
			}
			
		}
		
		@media (min-width: 1200px) {
			
			.speakers-gallery__cards {
				grid-template-columns: repeat(4, 1fr);
			}
			
		}

/* @end */

/* @group Speaker card */

.speaker-card {
	position: relative;
}
			
	.speaker-card__figure {
		margin-bottom: 1rem;
		overflow: hidden;
	}
	
	.speaker-card__figure[data-orientation="landscape"] {
		width: 100%;
	}
	
		.speaker-card__figure img {
			aspect-ratio: 5 / 7;
			object-fit: cover;
			transform: scale(1);
			transition: all .2s;
		}
		
		.speaker-card:hover .speaker-card__figure img {
			transform: scale(1.1);
		}
	
		.speaker-card__figure[data-orientation="landscape"] img {
			aspect-ratio: 7 / 5;
			object-fit: cover;
		}
	
	.speaker-card__title {
		margin-bottom: unset;
		font-weight: 700;
		font-size: var(--text-md);
		transition: all .15s ease-in-out 0s;
	}
	
	.speaker-card:hover .speaker-card__title {
		font-weight: 800;
	}
	
	.speaker-card__link {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}

/* @end */

/* @group Speaker */

.speaker {
	
}

	.speaker__figure {
		align-self: start;
	}

		.speaker__figure img {
	    aspect-ratio: 5 / 7;
	    object-fit: cover;
		}
		
		.speaker__figure[data-orientation="landscape"] img {
	    aspect-ratio: 7 / 5;
	    object-fit: cover;
		}

	.speaker__text {
		max-width: 32em;
	}
	
	.speaker__subheading {
		margin-bottom: 1em;
		font-weight: 700;
		line-height: 1.3em;
	}
	
	.speaker__description {
		
	}
	
		.speaker__description p:last-child {
			margin-bottom: 1em;
		}
		
	.speaker__website {
		margin-bottom: unset;
	}
	
	@media (max-width: 599px) {
		
		.speaker__figure {
			margin-right: -1rem;
			margin-left: -1rem;
		}
		
	}
	
	@media (max-width: 999px) {
		
			.speaker__text {
				margin-top: var(--spacing-sm);
			}
			
			.background-color .speaker__text {
				padding-bottom: var(--spacing-md);
			}
		
	}
	
	@media (min-width: 1000px) {
		
		.speaker {
			display: flex;
		}
		
			.speaker__text {
				padding-left: var(--spacing-lg);
			}
			
			.background-color .speaker__text {
				padding-top: var(--spacing-md);
				padding-bottom: var(--spacing-md);
			}
		
	}
	
	@media (min-width: 1000px) and (max-width: 1399px) {
		
			.speaker__figure {
				width: 50%;
			}
		
	}
	
	@media (min-width: 1400px) {
		
			.speaker__figure {
				width: 33.333333333%;
			}
			
			.speaker__figure[data-orientation="landscape"] {
				width: 50%;
			}
		
	}


/* @end */

/* @group Publications */

.publications {
	display: grid;
	row-gap: 2rem;
}

/* @end */

/* @group Publication */

.publication {
	display: grid;
	grid-template-columns: 1fr 2fr;
	column-gap: var(--spacing-xs);
}

		.publication__figure img {
			width: 100%;
			height: auto;
		}

/* @end */

/* @group Membership */

.membership {
	position: relative;
	padding: 2rem;
	border: 1px solid var(--base-color);
}
	
	.membership__title {
		margin-bottom: .5em;
		font-size: var(--text-md);
		font-weight: 700;
	}
	
	.membership__fee {
		margin-bottom: 1em;
	}
	
	.membership__fee-number {
		display: inline-block;
		font-size: var(--text-xl);
		font-weight: 900;
		line-height: 1;
	}
	
		.membership__fee-number::first-letter {
			font-weight: 200;
		}
		
	.membership__button {
		position: relative;
		z-index: 10;
		margin-top: 1rem;
	}
	
	/*
	.membership__link {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}
	*/

/* @end */

/* @group Form */

.form {
	
}

	.form__honeypot {
	  position: absolute;
	  left: -9999px;
	}
	
	.form__subheading:not(:first-child) {
		margin-top: 1em;
		margin-bottom: .5em;
	}
	
	.form__buttons {
		margin-top: 2rem;
	}

	.form__field {
		margin-bottom: 1rem;
	}

label {
	display: block;
	font-size: var(--text-sm);
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}

/* @group Button */

input[type="submit"],
.button {
	display: inline-block;
	padding: 0.375rem 0.5rem;
	background-color: var(--highlight-color);
	color: var(--white-color);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	transition: all .2s ease-in-out 0s;
}

input[type="submit"]:hover,
.button:hover {
	cursor: pointer;
	transform: scale(1.05);
}

.button--muenchenticket {
	background-color: #CA006F;
}

	.button--muenchenticket::before {
		content: "MT";
		display: inline-block;
		margin-right: .5em;
		font-size: 1.2em;
		font-weight: 800;
		vertical-align: baseline;
	}

.button--booked-out {
	background-color: var(--dark-grey-color);
}

/* @end */

/* @group Checkbox */

input[type="checkbox"],
.checkbox {
	/* Hide native checkbox input */
  -webkit-appearance: none;
  appearance: none;
	-webkit-border-radius: 0px; /* Important */
	
  background-color: var(--background-color);
  margin: unset;
	
	position: relative;
  color: currentColor;
  width: 1.25em;
  height: 1.25em;
  border: 1px solid currentColor;
	vertical-align: middle;
}

input[type="checkbox"] + label {
	display: inline-block;
	padding-left: .5em;
}

.checkbox {
	display: inline-block;
	margin-right: .5em;
}

input[type="checkbox"]:checked::before,
input[type="checkbox"]:checked::after,
.checkbox.active::before,
.checkbox.active::after {
	content:'';
  position: absolute;
  top: 50%;
  left: 50%;
	background-color: currentColor;
	width: 100%;
  height: 1px;
}

input[type="checkbox"]:checked::before,
.checkbox.active::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

input[type="checkbox"]:checked::after,
.checkbox.active::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* @end */

/* @group Input, Textarea */

input:not([type="checkbox"]):not([type="submit"]),
textarea {
	width: 100%;
	max-width: 100%;
	padding: .25em .5em;
	background-color: var(--subtle-grey-color);
	border-width: 0 1px 1px 1px;
	border-color: var(--base-color);
	border-style: solid;
	vertical-align: bottom;
}

label + input,
label + textarea {
	margin-top: .25em;
}

input[width="5"] {
	width: 5em !important;
}

/* @end */

/* @group Select */

select {
	/* reset*/
	appearance: none;
	-webkit-appearance: none;
  border: none;
	border-radius: 0;
  padding: 0 3em 0 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
	
	/* style */
	width: 100%;
	padding: .25em .5em;
	border: 1px solid var(--base-color);
	background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjUuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkViZW5lXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQgMjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggZD0iTTEyLDE1bDUtNkg3TDEyLDE1eiIvPgo8L3N2Zz4K");
	background-repeat: no-repeat;
  background-size: 2em 2em;
  background-position: right center;
  background-clip: border-box;
	vertical-align: bottom;
}

select:invalid {
  color: var(--grey-color);
}

/* @end */

/* @end */

/* @group Flex */

.flex {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1rem;
}

	.flex__auto {
		flex-shrink: 0;
		flex-grow: 0;
	}

	.flex__grow {
		flex-grow: 1;
	}

/* @end */

/* @group Cleverreach Form */

.cr_form {
	padding: clamp(1rem, 2.5vw, 2rem) clamp(1rem, 2.5vw, 2rem);
	border: 1px solid var(--base-color);
}

.cr_form-inputgroup,
.cr_ipe_item:not(:last-child) {
	margin-bottom: 1em;
}

.cr_form-inputgroup--typecheckbox {
	display: grid;
	grid-template-columns: max-content 1fr;
}

.g-recaptcha {
	margin-top: 2em;
}

input.clever_form_error {
	border-color: var(--highlight-color);
}

.clever_form_error input[type="checkbox"] {
	border-color: var(--highlight-color);
}

.submit_container {
	margin-top: 2em;
}

/* @end */

/* @group Cleverreach Archive */

.crArchive {
	
}

.crArchiveItem {
	margin-bottom: 1em;
}

.crArchiveItemDate {
	margin-bottom: .25rem;
	color: var(--grey-color);
	font-size: var(--text-sm);
	line-height: 1.2em;
}

	.crArchiveItemDate::before {
		content: "";
		display: inline-block;
		height: 1px;
		width: 2em;
		margin-right: .3em;
		background-color: var(--grey-color);
		vertical-align: middle;
	}

.crArchiveItemName {
	font-weight: 700;
}

	.crArchiveItemName a {
		transition: text-decoration .1s ease-in-out 0s;
	}

	.crArchiveItemName a:hover {
		text-decoration: underline;
		text-underline-offset: .1em;
		text-decoration-thickness: 1px;
	}

.crArchiveItemImage {
	display: none;
}

.crArchiveItemDescription {
	display: none;
}

/* @end */

/* @group Blogpost */

.blogpost {
	
}

	.blogpost__tag {
		margin-bottom: .5rem;
	}
	
	.blogpost__title {
		margin-bottom: .2em;
		font-weight: 800;
	}
	
	.blogpost__authors {
		margin-bottom: .25rem;
		padding-left: 2.5rem;

	}
	
	.blogpost__date {
		margin-bottom: 1rem;
		padding-left: 2.5rem;
		font-size: var(--text-sm);
		line-height: 1.2em;
	}
	
	.blogpost__teaser {
		font-size: var(--text-md);
		font-weight: 700;
		line-height: 1.4em;
	}
	
	.blogpost h2 {
		margin-top: 2em;
		font-size: var(--text-md);
		font-weight: 700; /* was 800 */
	}
	
	.blogpost h2:not(:last-child) {
		margin-bottom: .75em;
	}
	
	.blogpost h2 + h3 {
		margin-top: 1em;
	}
	
	.blogpost h3 {
		margin-top: 2em;
		margin-bottom: 1em;
		font-weight: unset;
		font-size: 0.95em;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

/* @end */

/* @group Footer */

.footer {
	background-color: var(--base-color);
	color: var(--white-color);
}

	.footer__branding {
		margin-bottom: 1.5rem;
	}
	
	.footer__contact {
		margin-bottom: 1.5rem;
	}
	
		.footer__contact p:not(:last-child) {
			color: var(--grey-color);
			margin-bottom: 1em;
		}
	
		.footer__contact h3 {
			margin-bottom: unset;
			font-size: var(--text-lg);
			font-weight: 200;
			line-height: 1.35em;
		}
	
	.footer__buttons {
		margin-bottom: 3rem;
	}
	
		.footer__buttons > * {
			display: inline-block;
			margin-right: .5em;
		}
	
	.footer__menu {
		color: var(--grey-color);
	}
	
		.footer__menu a {
			transition: text-decoration .2s;
		}
	
		.footer__menu a:hover {
			text-decoration: underline;
			text-decoration-thickness: 1px;
			text-underline-offset: .1em;
		}
	
		.footer__menu a,
		.footer__menu span {
			display: inline-block;
			margin-right: 1.5rem;
			margin-bottom: .5em;
			white-space: nowrap;
		}
		
	.footer__social-links {
		margin-top: 1rem;
	}
	
	.footer a[href*="instagram"]::before,
	.footer a[href*="twitter"]::before,
	.footer a[href*="facebook"]::before,
	.footer a[href*="youtube"]::before,
	.footer a[href*="xing"]::before,
	.footer a[href*="flickr"]::before,
	.footer a[href*="typo.social"]::before {
		content: "";
		-webkit-mask-size: cover;
		mask-size: cover;
		display: inline-block;
		width: 1em;
		height: 1em;
		margin-right: .3em;
		background-color: currentColor;
		vertical-align: middle;
		transform: translateY(-.1em);
	}
	
	.footer a[href*="instagram"]::before {
		-webkit-mask-image: url(../images/instagram-logo.svg);
		mask-image: url(../images/instagram-logo.svg);
	}
	
	.footer a[href*="twitter"]::before {
		-webkit-mask-image: url(../images/twitter-logo.svg);
		mask-image: url(../images/twitter-logo.svg);
	}
	
	.footer a[href*="facebook"]::before {
		-webkit-mask-image: url(../images/facebook-logo.svg);
		mask-image: url(../images/facebook-logo.svg);
	}
	
	.footer a[href*="youtube"]::before {
		-webkit-mask-image: url(../images/youtube-logo.svg);
		mask-image: url(../images/youtube-logo.svg);
	}
	
	.footer a[href*="xing"]::before {
		-webkit-mask-image: url(../images/xing-logo.svg);
		mask-image: url(../images/xing-logo.svg);
	}
	
	.footer a[href*="flickr"]::before {
		-webkit-mask-image: url(../images/flickr-logo.svg);
		mask-image: url(../images/flickr-logo.svg);
	}
	
	.footer a[href*="typo.social"]::before {
		-webkit-mask-image: url(../images/mastodon-logo.svg);
		mask-image: url(../images/mastodon-logo.svg);
	}
	
	@media (max-width: 799px) {
		
		.footer__branding .branding__logo {
			display: none;
		}
		
	}

/* @end */