/* @override 
	https://kapitel4900.pincgestaltet.ch/wp-content/themes/bb-theme-child/style.css?* */

/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.1.3
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 



/* @group Font Reset
------------------------------------------------------------- */

html {
	-webkit-font-smoothing: antialiased!important;
	-moz-osx-font-smoothing: grayscale!important;
	text-rendering: optimizeLegibility!important;
	font-size: 16px;
}

/* @end */



/* @group Custom Properties - General
------------------------------------------------------------- */

:root {
	/* Viewport Breakpoints */
	--min-viewport: 350;
	--mobile-max: 900;
	--desktop-min: 901;
	--max-viewport: 1800;
	
	/* Typography */
	/* font-size-base */
	--base-mobile-min: 16;
	--base-mobile-max: 20;
	--base-mobile-slope: calc((var(--base-mobile-max) - var(--base-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--base-mobile-intercept: calc(var(--base-mobile-min) - var(--base-mobile-slope) * var(--min-viewport));
	
	--base-desktop-min: 16;
	--base-desktop-max: 20;
	--base-desktop-slope: calc((var(--base-desktop-max) - var(--base-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--base-desktop-intercept: calc(var(--base-desktop-min) - var(--base-desktop-slope) * var(--desktop-min));
	
	/* font-size-m */
	--m-mobile-min: 22;
	--m-mobile-max: 33;
	--m-mobile-slope: calc((var(--m-mobile-max) - var(--m-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--m-mobile-intercept: calc(var(--m-mobile-min) - var(--m-mobile-slope) * var(--min-viewport));
	
	--m-desktop-min: 22;
	--m-desktop-max: 33;
	--m-desktop-slope: calc((var(--m-desktop-max) - var(--m-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--m-desktop-intercept: calc(var(--m-desktop-min) - var(--m-desktop-slope) * var(--desktop-min));
	
	/* font-size-l */
	--l-mobile-min: 30.25;
	--l-mobile-max: 60.5;
	--l-mobile-slope: calc((var(--l-mobile-max) - var(--l-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--l-mobile-intercept: calc(var(--l-mobile-min) - var(--l-mobile-slope) * var(--min-viewport));
	
	--l-desktop-min: 30.25;
	--l-desktop-max: 60.5;
	--l-desktop-slope: calc((var(--l-desktop-max) - var(--l-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--l-desktop-intercept: calc(var(--l-desktop-min) - var(--l-desktop-slope) * var(--desktop-min));

	/* spacing-1 */
	--spacing-mobile-min: 16;
	--spacing-mobile-max: 20;
	--spacing-mobile-slope: calc((var(--spacing-mobile-max) - var(--spacing-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--spacing-mobile-intercept: calc(var(--spacing-mobile-min) - var(--spacing-mobile-slope) * var(--min-viewport));
	
	--spacing-desktop-min: 16;
	--spacing-desktop-max: 20;
	--spacing-desktop-slope: calc((var(--spacing-desktop-max) - var(--spacing-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--spacing-desktop-intercept: calc(var(--spacing-desktop-min) - var(--spacing-desktop-slope) * var(--desktop-min));
}

	@media (max-width: 900px) {
	    :root {
			--font-size-base: clamp(
			    calc(var(--base-mobile-min) * 1px),
			    calc(var(--base-mobile-intercept) * 1px + var(--base-mobile-slope) * 100vw),
			    calc(var(--base-mobile-max) * 1px)
			);
			
			--font-size-m: clamp(
			    calc(var(--m-mobile-min) * 1px),
			    calc(var(--m-mobile-intercept) * 1px + var(--m-mobile-slope) * 100vw),
			    calc(var(--m-mobile-max) * 1px)
			);
			
			--font-size-l: clamp(
			    calc(var(--l-mobile-min) * 1px),
			    calc(var(--l-mobile-intercept) * 1px + var(--l-mobile-slope) * 100vw),
			    calc(var(--l-mobile-max) * 1px)
			);
			
			--spacing-1: clamp(
			    calc(var(--spacing-mobile-min) * 1px),
			    calc(var(--spacing-mobile-intercept) * 1px + var(--spacing-mobile-slope) * 100vw),
			    calc(var(--spacing-mobile-max) * 1px)
			);
			
			--font-size-s: calc( var(--font-size-base) * 0.75 );
	    }
	}
	
	@media (min-width: 901px) {
	    :root {
	        --font-size-base: clamp(
	            calc(var(--base-desktop-min) * 1px),
	            calc(var(--base-desktop-intercept) * 1px + var(--base-desktop-slope) * 100vw),
	            calc(var(--base-desktop-max) * 1px)
	        );
	        
	        --font-size-m: clamp(
	            calc(var(--m-desktop-min) * 1px),
	            calc(var(--m-desktop-intercept) * 1px + var(--m-desktop-slope) * 100vw),
	            calc(var(--m-desktop-max) * 1px)
	        );
	        
	        --font-size-l: clamp(
	            calc(var(--l-desktop-min) * 1px),
	            calc(var(--l-desktop-intercept) * 1px + var(--l-desktop-slope) * 100vw),
	            calc(var(--l-desktop-max) * 1px)
	        );
			
			--spacing-1: clamp(
	            calc(var(--spacing-desktop-min) * 1px),
	            calc(var(--spacing-desktop-intercept) * 1px + var(--spacing-desktop-slope) * 100vw),
	            calc(var(--spacing-desktop-max) * 1px)
	        );
			
			--font-size-s: calc( var(--font-size-base) * 0.75 );
	    }
	}

:root {
	--line-height-s: 1.4;
	--line-height-base: 1.3;
	--line-height-m: 1.2;
	--line-height-l: 1.0;

	--font-family: "elza-round-variable", sans-serif;
	--font-weight: "wght" 400;
	--font-weight-bold: "wght" 600;
	--font-style: normal;
	--letter-spacing: 0.01em;
	--word-spacing: 0;
	
	--spacing-0-125: calc(var(--spacing-1) * 0.125);
	--spacing-0-25: calc(var(--spacing-1) * 0.25);
	--spacing-0-375: calc(var(--spacing-1) * 0.375);
	--spacing-0-5: calc(var(--spacing-1) * 0.5);
	--spacing-0-75: calc(var(--spacing-1) * 0.75);
	--spacing-1-25: calc(var(--spacing-1) * 1.25);
	--spacing-1-5: calc(var(--spacing-1) * 1.5);
	--spacing-2: calc(var(--spacing-1) * 2);
	--spacing-2-5: calc(var(--spacing-1) * 2.5);
	--spacing-3: calc(var(--spacing-1) * 3);
	--spacing-4: calc(var(--spacing-1) * 4);
	--spacing-5: calc(var(--spacing-1) * 5);
	--spacing-6: calc(var(--spacing-1) * 6);
	--spacing-7: calc(var(--spacing-1) * 7);
	--spacing-8: calc(var(--spacing-1) * 8);
	--spacing-9: calc(var(--spacing-1) * 9);
	--spacing-10: calc(var(--spacing-1) * 10);
	
	--section-padding-block: var(--spacing-2);
	--section-padding-block-sm: var(--spacing-1);
	--section-padding-block-lg: var(--spacing-4);
	--container-padding-inline: var(--spacing-1);
	--container-fixed-width-max-width: calc(var(--spacing-1) * 45);
	--grid-gap: var(--spacing-1);
	--module-margin-block: var(--spacing-1);
	
	--logo-size: calc( var(--spacing-1) * 15 );
	
	--box-padding: var(--spacing-2);
	--box-border-radius: var(--spacing-1);
}

	@media (max-width: 900px) {
	    :root {			
			--box-padding: var(--spacing-1);
		}
	}

/* @end */



/* @group Color
------------------------------------------------------------- */

:root {
  	--color-accent: rgb(0, 122, 188);
  	--color-color: rgb(238, 238, 240);
  	--color-background: rgb(12, 12, 14);
  	--color-background-tone: rgb(26, 26, 31);
  	--color-border: rgb(42, 42, 51);
  	--color-grey: rgb(200, 200, 202);
}

body {
	color: var(--color-color);
	background-color: var(--color-background);
}

.fl-page .fl-page-content {
	background-color: transparent;
}

.fl-builder-content h1,
.fl-builder-content h1 a,
.fl-builder-content h1 span,
.fl-builder-content h2,
.fl-builder-content h2 a,
.fl-builder-content h2 span,
.fl-builder-content h3,
.fl-builder-content h3 a,
.fl-builder-content h3 span,
.fl-builder-content h4,
.fl-builder-content h4 a,
.fl-builder-content h4 span,
.fl-builder-content h5,
.fl-builder-content h5 a,
.fl-builder-content h5 span,
.fl-builder-content h6,
.fl-builder-content h6 a,
.fl-builder-content h6 span {
	color: var(--color-color);
}

.fl-builder-content:not(.fl-builder-empty)  {
	color: var(--color-color);
}

a,
a:hover {
	color: var(--color-color);
}

/* @end */



/* @group Typography - General
------------------------------------------------------------- */

body {
	font-family: var(--font-family);
	font-variation-settings: var(--font-weight);
	font-style: var(--font-style);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
p.lead,
p.small {
	font-family: var(--font-family);
	font-variation-settings: var(--font-weight);
	font-style: var(--font-style);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
}

p {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

h1 {
	font-size: var(--font-size-l);
	line-height: var(--line-height-l);
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
}

h2 {
	font-size: var(--font-size-l);
	line-height: var(--line-height-l);
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
}

h3 {
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	font-variation-settings: var(--font-weight-bold);
}

h4 {
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	font-variation-settings: var(--font-weight-bold);
}

h5 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-variation-settings: var(--font-weight-bold);
}

h6 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-variation-settings: var(--font-weight-bold);
}

p.lead {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

p.small {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

.text-s,
.text-s * {
	font-size: var(--font-size-s) !important;
	line-height: var(--line-height-s) !important;
}

.text-base,
.text-base * {
	font-size: var(--font-size-base) !important;
	line-height: var(--line-height-base) !important;
}

.text-m,
.text-m * {
	font-size: var(--font-size-m) !important;
	line-height: var(--line-height-m) !important;
}

.text-l,
.text-l * {
	font-size: var(--font-size-l) !important;
	line-height: var(--line-height-l) !important;
}

.text-bold,
.text-bold * {
	font-variation-settings: var(--font-weight-bold) !important;
}

.text-uppercase,
.text-uppercase * {
	text-transform: uppercase !important;
}

.text-title,
.text-title * {
	font-variation-settings: var(--font-weight-bold) !important;
	text-transform: uppercase !important;
}

.text-lowercase,
.text-lowercase * {
	text-transform: none!important;
}

/* @end */



/* @group Typography - Spacing
------------------------------------------------------------- */

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
p.lead,
p.small {
	margin: var(--spacing-1) 0 0 0;
}

p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
ul:first-child,
ol:first-child,
p.lead:first-child,
p.small:first-child {
	margin-top: 0;
}

/* @end */



/* @group Typography - Lists
------------------------------------------------------------- */

.fl-rich-text > ul {
	margin: var(--spacing-1) 0 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-0-5);
}

.fl-rich-text > ul li {
	list-style: none;
    display: flex;
}

.fl-rich-text > ul li::before {
	content: "–";
	padding: 0 var(--spacing-0-5) 0 0;
	flex-shrink: 0;
}

/* @end */



/* @group Typography - Links
------------------------------------------------------------- */

.fl-rich-text > * > a {
	position: relative;
	text-decoration: none;
	color: inherit;
}

.fl-rich-text > * > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
}

/* @end */



/* @group Layout System
------------------------------------------------------------- */



/* @group Sections
------------------------------------------------------------- */

.k-section {
	padding-block: var(--section-padding-block);
}

.k-section--padding-sm {
	padding-block: var(--section-padding-block-sm);
}

.k-section--padding-top-sm {
	padding-block-start: var(--section-padding-block-sm);
}

.k-section--padding-bottom-sm {
	padding-block-end: var(--section-padding-block-sm);
}

.k-section--padding-lg {
	padding-block: var(--section-padding-block-lg);
}

.k-section--padding-top-lg {
	padding-block-start: var(--section-padding-block-lg);
}

.k-section--padding-bottom-lg {
	padding-block-end: var(--section-padding-block-lg);
}

.k-section--padding-none {
	padding-block: 0;
}

.k-section--padding-top-none { 
	padding-block-start: 0;
}

.k-section--padding-bottom-none {
	padding-block-end: 0;
}

/* Hero */

.k-section--hero {
	min-height: 40vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Hero Large */

	@media (min-width: 901px) {
		.single-location .k-section--hero {
			min-height: 60vh;
		}
	}
	
	@media (min-width: 901px) {
		.single-book .k-section--hero {
			min-height: 60vh;
		}
	}

/* @end */



/* @group Container
------------------------------------------------------------- */

.k-container {
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--container-padding-inline);
}

.k-container--fixed-width {
	max-width: var(--container-fixed-width-max-width);
}

.k-container--padding-none {
	padding-inline: 0;
}

/* @end */



/* @group Box
------------------------------------------------------------- */

.k-box {
	padding: var(--box-padding);
	background-color: var(--color-background-tone);
	border: 1px solid var(--color-border);
	border-radius: var(--box-border-radius);
}

.shift-up {
	margin-top: calc( -1 * var(--section-padding-block) )!important;
}

/* @end */



/* @group Grid – Base
------------------------------------------------------------- */

.k-grid {
	display: grid;
	gap: var(--grid-gap);
}

.k-grid--gap-none {
	gap: 0;
}

.k-grid--gap-sm {
	gap: calc(var(--grid-gap) / 2);
}

.k-grid--gap-lg {
	gap: calc(var(--grid-gap) * 2);
}

	@media (max-width: 900px) {
	    .k-grid:not(.k-grid--no-stack) {
	        grid-template-columns: 1fr;
	    }
	}

/* @end */



/* @group Grid – Nested Grids
------------------------------------------------------------- */

.k-grid + .k-grid {
	margin-block-start: var(--module-margin-block);
}

/* @end */



/* @group Modules
------------------------------------------------------------- */

.fl-module {
	margin-block-start: var(--module-margin-block);
}

.fl-module:first-child {
	margin-block-start: 0;
}

.fl-module-box {
	margin-block-start: 0;
}

/* @end */



/* @group Helper
------------------------------------------------------------- */

.k-gap {
	gap: var(--section-padding-block);
}

.k-gap-sm {
	gap: var(--section-padding-block-sm);
}

.k-gap-lg {
	gap: var(--section-padding-block-lg);
}

/* @end */



/* @end Layout System */




/* @group Audio Player
------------------------------------------------------------- */

.audio-player {
    /*  Theme */
    --player-color-focus: var(--color-accent);

    /* Button */
    --player-btn-size: var(--spacing-4);
    --player-btn-bg: var(--color-accent);
    --player-btn-icon-color: #ffffff;
    --player-btn-icon-size: var(--spacing-1-5);
    --player-btn-hover-scale: 1.1;
    --player-btn-active-scale: 1;
    --player-btn-disabled-opacity: 0.5;

    /* Progress */
    --player-track-height: 5px;
    --player-track-bg: var(--color-border);
    --player-track-fill: var(--color-accent);
    --player-track-scrub-scale: 2;

    /* Loading Spinner */
    --player-spinner-size: 24px;
    --player-spinner-width: 3px;
    --player-spinner-bg: rgba(255, 255, 255, 0.3);
    --player-spinner-color: #000000;

    /* Typography */
    --player-time-size: var(--font-size-s);
    --player-time-color: var(--color-color);

    /* Spacing */
    --player-gap: 0;
    --player-time-margin-top: var(--spacing-0-5);
}

.audio-player {
    display: flex;
    flex-direction: column;
    gap: var(--player-gap);
    align-items: center;
}

.audio-player .play-button:hover {
	background-color: var(--color-accent);
}

.audio-player .time-display {
	height: auto;
}

/* @end */



/* @group Header
------------------------------------------------------------- */

header {
	z-index: 1;
	position: relative;
}

/* @end */



/* @group Logo
------------------------------------------------------------- */

.k-logo img {
	height: auto;
	width: var(--logo-size);
	mix-blend-mode: multiply;
}

/* @end */



/* @group Offcanvas
------------------------------------------------------------- */

:root {
    /* Burger Button */
    --pinc-offcanvas-burger-width: var(--spacing-2);
    --pinc-offcanvas-burger-height: var(--spacing-1);
    --pinc-offcanvas-burger-line-height: 3px;
    --pinc-offcanvas-burger-color: var(--color-background);
    
    /* Panel */
    --pinc-offcanvas-width: 100%;
    --pinc-offcanvas-bg: var(--color-background);
    --pinc-offcanvas-direction: right; /* right, left, top, bottom */
    
    /* Backdrop */
    --pinc-offcanvas-backdrop-bg: rgba(0, 0, 0, 0);
    
    /* Close Button */
    --pinc-offcanvas-close-size: var(--spacing-2);
    --pinc-offcanvas-close-line-height: 3px;
    --pinc-offcanvas-close-color: var(--color-color);
    --pinc-offcanvas-close-top: var(--spacing-1);
    --pinc-offcanvas-close-right: var(--spacing-1);
    
    /* Animations */
    --pinc-offcanvas-duration: 0.2s;
    --pinc-offcanvas-easing: ease;
    
    /* Content */
    --pinc-offcanvas-content-padding: 0;
}

/* @end */



/* @group Offcanvas Menu
------------------------------------------------------------- */

.k-menu {
	padding-top: 25vh!important;
}

.k-menu li {
	border: none;
}

.k-menu li a {
	font-size: var(--font-size-l);
	line-height: var(--line-height-l);
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
	text-decoration: none;
	outline: none!important;
	padding-block: 1.25vh!important;
	display: inline-block;
	transition: transform 0.2s ease;
}

.k-menu li:hover a {
	transform: scale(1.1);
}

.k-menu li:hover a,
.k-menu li a:hover,
.k-menu li a:active,
.k-menu li a.active,
.k-menu li.active a,
.k-menu li.current-menu-item a {
	color: var(--color-accent);
}

/* Architektur Forum Langenthal */

.k-menu #menu-item-498 {
	margin-top: 25vh;
}

/* Small links */

.k-menu li.k-menu-item-sm a {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

/* External links */

.k-menu li.k-menu-item-external a {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-0-25);
}

.k-menu li.k-menu-item-external a::after {
	content: "";
	width: var(--font-size-s);
	height: var(--font-size-s);
	flex-shrink: 0;
	margin-left: auto;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='20'%3E%3Cpath d='m64 192 128-128'/%3E%3Cpath d='m88 64h104v104'/%3E%3C/g%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='20'%3E%3Cpath d='m64 192 128-128'/%3E%3Cpath d='m88 64h104v104'/%3E%3C/g%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: 140%;
	-webkit-mask-size: 140%;
	mask-position: center;
	-webkit-mask-position: center;
}

/* @end */



/* @group Footer Menu
------------------------------------------------------------- */

.k-menu-legal nav,
.k-menu-legal li {
	border: none;
	font-size: 0;
}

.k-menu-legal li a {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
	text-decoration: none;
	outline: none!important;
	padding-inline: var(--spacing-0-5)!important;
	display: inline-block;
	transition: transform 0.2s ease;
}

.k-menu-legal li:first-child a {
	padding-left: 0!important;
}

.k-menu-legal li:last-child a {
	padding-right: 0!important;
}

.k-menu-legal li:hover a,
.k-menu-legal li a:hover,
.k-menu-legal li a:active,
.k-menu-legal li a.active,
.k-menu-legal li.active a,
.k-menu-legal li.current-menu-item a {
	color: var(--color-accent);
}

/* @end */



/* @group Icons
------------------------------------------------------------- */

.fl-page .fl-module-pinc-icon {
	--pinc-icon-gap: var(--spacing-0-25);
	--pinc-icon-size: var(--spacing-1);
	--pinc-icon-button-padding-inline: var(--spacing-1);
	--pinc-icon-button-padding-block: var(--spacing-1);
	--pinc-icon-button-padding-label: var(--spacing-0-25);
	--pinc-icon-button-radius: var(--spacing-1);
	--pinc-icon-transition: none;
	--pinc-icon-btn-transition: none;
}

.fl-page .fl-module-pinc-icon .pinc-icon-button {
	padding-block: var(--pinc-icon-button-padding-block);
	padding-inline: var(--pinc-icon-button-padding-inline);
	border-radius: var(--pinc-icon-button-radius);
}

.fl-page .fl-module-pinc-icon .pinc-icon-text {
	padding-inline: var(--pinc-icon-button-padding-label);
}

/* Icons with Links */

.fl-page .fl-module-pinc-icon a .pinc-icon-text p {
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
}

/* @end */



/* @group Gridbuilder WP - Hide Empty Grids
------------------------------------------------------------- */

.k-section--wpgb:has(.wpgb-no-result) {
  display: none;
}

/* @end */



/* @group Gridbuilder WP - Grid Books
------------------------------------------------------------- */

.fl-page .wp-grid-builder.books .wpgb-viewport {
	margin: calc( -1 * var(--spacing-1-5) ) calc( -1 * var(--spacing-0-5) );
}

.fl-page .wp-grid-builder.books .wpgb-viewport .wpgb-card {
	padding: var(--spacing-1-5) var(--spacing-0-5);
}

/* @end */



/* @group Gridbuilder WP - Card Book
------------------------------------------------------------- */

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-card-inner {
	transition: all 0.2s ease;
}

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-card-wrapper:hover .wpgb-card-inner {
	transform: translateY( calc( -1 * var(--spacing-0-5) ) );
}

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-card-body {
	padding-top: var(--spacing-1);
}

.fl-page .wp-grid-builder .wpgb-card-1 .card-title {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-variation-settings: var(--font-weight-bold);	
}

.fl-page .wp-grid-builder .wpgb-card-1 .card-author {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

.fl-page .wp-grid-builder .wpgb-card-1 .card-publication-year {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

.fl-page .wp-grid-builder .wpgb-card-1 .card-publisher {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

/* @end */



/* @group Gridbuilder WP - Grid Books List
------------------------------------------------------------- */

.fl-page .wp-grid-builder.books-list .wpgb-viewport {
	margin: calc( -1 * var(--spacing-0-5) ) calc( -1 * var(--spacing-0-5) );
}

.fl-page .wp-grid-builder.books-list .wpgb-viewport .wpgb-card {
	padding: var(--spacing-0-5) var(--spacing-0-5);
}

/* @end */



/* @group Gridbuilder WP - Card Book List
------------------------------------------------------------- */

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-inner {
	transition: all 0.2s ease;
}

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-wrapper:hover .wpgb-card-inner {
	transform: translateX( var(--spacing-0-5) );
}

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-wrapper {
	padding-bottom: var(--spacing-1);
	border-bottom: 1px solid var(--color-border);
}

.fl-page .wp-grid-builder .wpgb-card-3:last-child .wpgb-card-wrapper {
	padding-bottom: 0;
	border-bottom: none;
}

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-inner {
	gap: var(--spacing-1);
}

	@media (max-width: 900px) {
		.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-media {
			width: var(--spacing-4);
		    min-width: var(--spacing-4);
		    flex-shrink: 0;
		}
	}
	
	@media (min-width: 901px) {
		.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-media {
			width: var(--spacing-5);
		    min-width: var(--spacing-5);
		    flex-shrink: 0;
		}
	}

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-media + .wpgb-card-content {
	width: auto;
}

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-card-media .wpgb-card-media-thumbnail div {
	background-size: contain;
	background-position: 0% 0%;
}

.fl-page .wp-grid-builder .wpgb-card-3 .card-title {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-variation-settings: var(--font-weight-bold);
}

.fl-page .wp-grid-builder .wpgb-card-3 .card-author {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

.fl-page .wp-grid-builder .wpgb-card-3 .card-publication-year {
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
}

/* @end */



/* @group Gridbuilder WP - Grid Location
------------------------------------------------------------- */

.fl-page .wp-grid-builder.locations .wpgb-viewport {
	margin: calc( -1 * var(--spacing-0-5) ) calc( -1 * var(--spacing-0-5) );
}

.fl-page .wp-grid-builder.locations .wpgb-viewport .wpgb-card {
	padding: var(--spacing-0-5) var(--spacing-0-5);
}

/* @end */



/* @group Gridbuilder WP - Card Location
------------------------------------------------------------- */

.fl-page .wp-grid-builder .wpgb-card-2 .wpgb-card-inner {
	transition: all 0.2s ease;
}

.fl-page .wp-grid-builder .wpgb-card-2 .wpgb-card-wrapper:hover .wpgb-card-inner {
	transform: translateY( calc( -1 * var(--spacing-0-5) ) );
}

.fl-page .wp-grid-builder .wpgb-card-2 .wpgb-card-inner {
	border-radius: var(--spacing-1);
	overflow: hidden;
	container-type: inline-size;
}

.fl-page .wp-grid-builder .wpgb-card-2 .wpgb-card-media-content-top {
	padding: var(--spacing-1);
	padding-right: 20%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 100%);
}

.fl-page .wp-grid-builder .wpgb-card-2 .card-title {
	font-family: var(--font-family);
	font-variation-settings: var(--font-weight-bold);
	font-style: var(--font-style);
	font-size: 12cqi;
	line-height: var(--line-height-l);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
	text-transform: uppercase;
	color: var(--color-accent);
			
	-webkit-hyphens: auto;
	hyphens: auto;
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 4;
	hyphenate-limit-chars: 6 4 4;
	overflow-wrap: break-word;
}

.fl-page .wp-grid-builder .wpgb-card-2 .card-date {
	font-family: var(--font-family);
	font-variation-settings: var(--font-weight-bold);
	font-style: var(--font-style);
	font-size: max( var(--font-size-s), 4.16cqi);
	line-height: var(--line-height-base);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
	color: var(--color-accent);
}

/* @end */



/* @group SVG BG
------------------------------------------------------------- */

/* Size */

@media (max-width: 900px) {
	.pinc-svg-bg {
	    height: clamp(50vw, 50vh, 75vw);
	}
}

@media (min-width: 901px) {
	.pinc-svg-bg {
	    height: clamp(25vw, 50vmin, 50vw);
	}
}

/* Page Specific Adjustments */

/* Home */
.home .k-section.fl-node-6x7m0gifwabd {
	overflow: hidden;
}

.home .pinc-svg-bg--0 {
	top: calc( -1 * var(--spacing-1) )!important;
	right: calc( -1 * var(--spacing-1) )!important;
	transform: translateX(25%) translateY(-10%);
}

.home .pinc-svg-bg--1 {
	bottom: calc( -1 * var(--spacing-1) )!important;
	left: calc( -1 * var(--spacing-1) )!important;
	transform: translateX(-12.5%) translateY(10%);
}

.home .k-container.fl-node-7jmbpgqu6n23 {
	z-index: 1;
}

/* Archive Location */
.post-type-archive-location .pinc-svg-bg--0 {
	top: calc( -1 * var(--spacing-1) )!important;
	right: calc( -1 * var(--spacing-1) )!important;
	transform: translateX(12.5%) translateY(-10%);
}

.post-type-archive-location .k-container.fl-node-wplkx8u9h7q2 {
	z-index: 1;
}

/* Archive Books */
.post-type-archive-book .pinc-svg-bg--0 {
	top: calc( -1 * var(--spacing-1) )!important;
	right: calc( -1 * var(--spacing-1) )!important;
	transform:  translateX(12.5%) translateY(-10%) rotate(180deg);
}

.post-type-archive-book .k-container.fl-node-uzmqr1xhgtwl {
	z-index: 1;
}

/* Single Location */
.single-location .fl-module-box.fl-node-p6xlsij7rcyn {
	overflow: hidden;
}

.single-location .pinc-svg-bg--0 {
	top: calc( -1 * var(--spacing-1) )!important;
	right: calc( -1 * var(--spacing-1) )!important;
	transform: translateX(25%) translateY(-10%);
}

.single-location .k-container.fl-node-uzmqr1xhgtwl {
	z-index: 1;
}

.single-location .fl-module-box.fl-node-z4obl6g3vx85 {
	position: relative;
	z-index: 4;
}

/* Single Book */
.single-book .pinc-svg-bg--0 {
	bottom: calc( -1 * var(--spacing-1) )!important;
	left: calc( -1 * var(--spacing-1) )!important;
	transform: translateX(-12.5%) translateY(50%);
}

/* @end */



/* @group Single – Home
------------------------------------------------------------- */

/* Kapitel 4900 Text */

.home .fl-module-rich-text.fl-node-scdixn34rezo {
	writing-mode: vertical-rl;
	text-orientation: sideways;
	transform: rotate(180deg);
	transform-origin: center;
	text-align: right;
	white-space: nowrap;
}

.home .fl-module-rich-text.fl-node-scdixn34rezo h1 {
	font-size: max( var(--font-size-l), 7.5vh);
	line-height: 0.8;
}

/* Vertical Logo */

.home .fl-module-photo.fl-node-heru2n5136b4 {
	margin: 0;
}

.home .fl-module-photo.fl-node-heru2n5136b4 img {
	width: auto;
	height: var(--logo-size);
	mix-blend-mode: multiply;
}

/* Kapitel 4900 Text & Logo Wrapper */

/* Wrapper */
.home .fl-module-box.fl-node-hnvq5c7orxmb {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}
/* Left Column */
.home .fl-module-box.fl-node-9xeqb412p7a8 {
	flex: 0 0 auto;
}
/* Right Column */
.home .fl-module-box.fl-node-govudth26ex4 {
	flex: 0 0 auto;
}

/* Right Column */

.home .fl-module-box.fl-node-y1fwkg4ib763 {
	padding-top: 30vh;
	min-width: 0;
}

	@media (max-width: 900px) {
		.home .fl-module-box.fl-node-y1fwkg4ib763 {
			padding-top: 50vh;
		}
	}

/* @end */



/* @group Single – Book
------------------------------------------------------------- */

.fl-module-photo.fl-node-iv8q1m3a4rnh img {
	width: auto;
	max-width: 100%;
	max-height: 66.6vmin;
}

	@media (min-width: 901px) {
		/* Linke Spalte – Inhalt rechtsbündig */
		.fl-module-box.fl-node-2tmc8kq0ys4f {
		  max-width: calc(var(--spacing-1) * 30);
		  margin-left: auto;
		  margin-right: 0;
		}
		
		/* Rechte Spalte – Inhalt linksbündig */
		.fl-module-box.fl-node-gpfcw9h0r4xv {
		  max-width: calc(var(--spacing-1) * 30);
		  margin-left: 0;
		  margin-right: auto;
		}
	}

/* @end */



/* @group Single – Location
------------------------------------------------------------- */

/* Titel */

.k-container.fl-node-1u0d8bzkv4lc {
	container-type: inline-size;
}

.fl-module-rich-text.fl-node-drkw0uzyofsm {
	padding-right: 25%;
}

.fl-module-rich-text.fl-node-drkw0uzyofsm h1 {
	font-size: 10cqi;
	
	-webkit-hyphens: auto;
	hyphens: auto;
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 4;
	hyphenate-limit-chars: 6 4 4;
	overflow-wrap: break-word;
}

/* Background Image */

@media (min-width: 901px) {
	.fl-module-box.fl-node-p6xlsij7rcyn {
		background-size: cover;
		background-color: #ffffff;
		background-position: 50% 75%;
	}	
}

@media (max-width: 900px) {
	.fl-module-box.fl-node-p6xlsij7rcyn {
		background-size: 100% auto;
		background-color: #ffffff;
		background-position: 50% 100%;
	}	
}

/* Buch zum Thema */

@media (max-width: 900px) {
	.fl-page .fl-node-zi7c8nykprx3 {
		grid-template-columns: calc( var(--spacing-1) * 6 ) 1fr!important;
	}
}

@media (min-width: 901px) {
	.fl-page .fl-node-zi7c8nykprx3 {
		grid-template-columns: calc( var(--spacing-1) * 7.5 ) 1fr!important;
	}
}

/* @end */



/* @group Formular
------------------------------------------------------------- */

/* Edit Module
------------------------------------------------------------- */
.k-form .forminator-edit-module {
	display: none;
}

/* Layout: Rows & Columns
------------------------------------------------------------- */
.k-form .forminator-ui.forminator-custom-form .forminator-row {
	margin-right: calc(-1 * var(--spacing-1)) !important;
	margin-left: calc(-1 * var(--spacing-1)) !important;
}

.k-form .forminator-ui.forminator-custom-form .forminator-row:not(:last-child) {
	margin-bottom: var(--spacing-1) !important;
}

.k-form .forminator-ui.forminator-custom-form .forminator-row.forminator-row-last {
	margin-bottom: 0 !important;
}

.k-form .forminator-ui.forminator-custom-form .forminator-col {
	padding: 0 var(--spacing-1) !important;
}

/* HTML Field
------------------------------------------------------------- */
.k-form .forminator-field-html label + * {
	margin-top: 0;
}

.k-form .forminator-field-html .forminator-label {
	display: none;
}

/* Labels
------------------------------------------------------------- */
.k-form .forminator-label {
	display: block;
	margin: 0;
	margin-bottom: var(--spacing-0-5);
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
	font-variation-settings: var(--font-weight-bold);
	text-transform: uppercase;
}

/* Input, Textarea, Select
------------------------------------------------------------- */
.k-form input.forminator-input,
.k-form textarea.forminator-textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: var(--spacing-0-75);
	border: none;
	border-radius: var(--spacing-0-25);
	background-color: #ffffff;
	color: var(--color-background);
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* Placeholder
------------------------------------------------------------- */
.k-form input.forminator-input::placeholder,
.k-form textarea.forminator-textarea::placeholder {
	color: var(--color-background);
	opacity: 0.5;
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

/* Button
------------------------------------------------------------- */
.k-form .forminator-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 50%;
	padding: var(--spacing-1) var(--spacing-2);
	border: none;
	border-radius: var(--spacing-1);
	background-color: var(--color-accent);
	color: #ffffff;
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	font-style: var(--font-style);
	line-height: var(--line-height-base);
	font-variation-settings: var(--font-weight-bold);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
}

@media (max-width: 900px) {
	.k-form .forminator-button {
		min-width: 100%;
	}
}

.k-form .forminator-button:focus {
	outline: none;
}

/* Error
------------------------------------------------------------- */
.k-form .forminator-error-message {
	display: inline-block;
	margin-top: var(--spacing-0-5);
	padding: var(--spacing-0-25) var(--spacing-0-5);
	border-radius: var(--spacing-0-25);
	background-color: #db4d4d;
	color: var(--og-color-primary);
	font-size: var(--font-size-s);
	line-height: var(--line-height-base);
}

.k-form .forminator-response-message.forminator-error {
	display: none;
}

/* Success / Response
------------------------------------------------------------- */
.k-form .forminator-response-message {
	display: block;
}

.k-form .forminator-response-message > *:first-child {
	margin-top: 0;
}

.k-form .forminator-response-message.forminator-loading {
	margin-bottom: var(--spacing-1);
}

.k-form .forminator-response-message.forminator-loading * {
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	font-variation-settings: var(--font-weight-bold);
}

.k-form .forminator-response-message p {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight);
	letter-spacing: var(--letter-spacing);
}

/* @end */
