/**
 * Mio Basic theme
 * 
 * @package mio-basic
 */

:root {
  --farbe1: #005a9a;
  --farbe2: #9bb3d7;
  --farbelight: #e6e6e6;
  --farbedark: #222222;
}

/* Google Web Fonts */

/* https://gwfh.mranftl.com/fonts */

/* cabin-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/cabin-v35-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: italic;
  font-weight: 400;
  src: url('../webfonts/cabin-v35-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 500;
  src: url('../webfonts/cabin-v35-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: italic;
  font-weight: 500;
  src: url('../webfonts/cabin-v35-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 600;
  src: url('../webfonts/cabin-v35-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: italic;
  font-weight: 600;
  src: url('../webfonts/cabin-v35-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/cabin-v35-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin';
  font-style: italic;
  font-weight: 700;
  src: url('../webfonts/cabin-v35-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Globale maximale Seitenbreite */
.site-width {
    max-width: 2000px;
    margin: 0 auto;
}

/* Required WordPress CSS */

img[src$=".svg"] {
  width: auto;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

/* WordPress gallery */

.gallery {
	margin: -7px;
	margin-bottom: 22px;
}
.gallery-item {
	position: relative;
	display: inline-block;
	padding: 7px;
	margin: 0;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	max-width: 50%;
}
.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
	max-width: 25%;
}
.gallery-columns-5 .gallery-item {
	max-width: 20%;
}
.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-icon img {
	margin: 0 auto;
}
.gallery-caption {
	display: none; 
}


.wp-caption {
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}
.wp-caption-text {
	text-align: center;
}
.wp-caption .wp-caption-text {
	margin-top: .5rem;
}

/* General */

body {	
	color: var(--farbedark);
	font-family: 'Cabin', sans-serif;
	font-size: 1.3rem;
    line-height: 1.6;
	/* hyphens: none; */ 
}

.infopage {font-size: 1.1rem;}

@media(max-width: 575px) {
    
    body {font-size: 1.2rem;}

	.infopage {
		font-size: 1.0rem;
		/* https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/ */
	  	overflow-wrap: break-word;
		word-wrap: break-word;
		word-break: break-word;
		hyphens: auto;
	}

}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--farbe1);
	transition: color 500ms ease;	
    text-decoration: none;
}

a:hover, a:active, a:focus {
	color: color-mix(in srgb, var(--farbe2) 80%, black);
	text-decoration: none;
}

figure {position: relative; margin: 0; padding: 0;}
figcaption {font-size: 85%;}

h1, .h1 {
    font-size: clamp(1.9rem, 1.9rem + 1.04vw, 3.2rem);
	color: var(--farbe1);
	font-weight: 700;
}

h1 span, .h1 span {font-size: 0.8em;}

/*
h1:after, .h1:after {
    content: "-";
    height: 0px;
    padding-top: 1rem;
    overflow: hidden;
    display: block;
    width: 80px;
    border-bottom: 5px solid #ccc;
}

h1.text-center:after, .h1.text-center:after, .text-center h1:after, .text-center .h1:after {
	margin-left: auto;
	margin-right: auto;
}
*/
h2, .h2 {
    font-size: clamp(1.6rem, 1.6rem + 0.64vw, 2.4rem);
	color: var(--farbe1);
	font-weight: 700;
}

h3, .h3 {
    font-size: clamp(1.4rem, 1.4rem + 0.4vw, 1.9rem);
	color: var(--farbe1);
	font-weight: 700;
}

h4, .h4 {
    font-size: clamp(1.25rem, 1.25rem + 0.2vw, 1.5rem);
}

p:last-child { margin-bottom: 0;}

/* Multiused classes */

.btn {border-radius: 0; font-size: inherit;}

.btn-primary {
	background: var(--farbe1);
	border-color: var(--farbe1);
	font-weight: 700;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
	background: var(--farbe2) !important;
	border-color: var(--farbe2) !important;
}

.btn-outline-primary {
	color: var(--farbe2);
	border-color: var(--farbe2);
	font-weight: 700;
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus, .btn-outline-primary.active {
	color: #fff !important;
	background: var(--farbe2) !important;
	border-color: var(--farbe2) !important;
}

.btn-burger {
    font-size: 2rem;
    padding: 0;
    color: var(--farbe1);
	position: relative;
	z-index: 500;
    /*border: 0px solid transparent !important;*/
}

.btn-burger:after {
	content: "" !important;
	display:none !important;
}

.btn-burger:hover {
    color: var(--farbe2);
}

.form-control {border-radius: 0;}

.bg-1 {background: var(--farbe1)}
.bg-2 {background: var(--farbe2)}
.bg-light {background: var(--farbelight) !important;}

.bg-image {background-position: center; background-size: cover;}
.bg-parallax {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    will-change: transform;
}
.color-bg-image {position: relative}
.color-bg-image:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}
.color-bg-image > div {position: relative; z-index:2}

.text-1 {color: var(--farbe1)}
.text-2 {color: var(--farbe2)}
.text-white a {color: inherit;}
.text-white a:hover {color: #bbb;}

.box {background: var(--farbelight);}
.bg-light .box, .bg-dark .box {background: #fff;}
.box > *:last-child {margin-bottom: 0;}

.box-special {border-left: 5px solid var(--farbe1)}

.zoom {overflow:hidden; position: relative; width: 100%; padding-top: 75%;}
.zoom img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
a:hover .zoom img {transform: scale(1.05);}

a.block {position: relative; display: block;}
a.inherit {color: inherit;}
a.inherit:hover {color: var(--farbe1);}

.compact {display: block; max-width:730px; margin-left: auto; margin-right: auto;}

.anker {display: block; width: 100%; height: 0px; overflow: hidden;  transform: translateY(-50px)}

.container .container {padding-left: 0; padding-right: 0;}

main .rounded-circle {border: 2px solid var(--farbe2); padding: 10px;}
/* TinyMCE Custom Formats */

blockquote.blockquote {
	font-style: italic; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; 
	margin-bottom: 1rem; padding-top: 1rem; padding-bottom: 1rem; text-align: center;}

.author {font-size: 0.8rem; display: block;}

.wichtig {
	/*color: var(--farbe1);*/
	color: red; 
}

.multicolumn {
    text-align: justify;
    column-gap: 2rem;
}

@media (min-width: 768px) {
    .multicolumn {
        column-count: 2;
    }
}

.intro {
    font-size: clamp(1.3rem, 1.3rem + 0.3vw, 1.8rem);
}

.nav-tabs {border-bottom: 2px dotted var(--farbe1) !important;}

.nav-tabs .nav-link {
	border: 2px dotted var(--farbe1) !important; 
	border-bottom: 0 !important;
	color: var(--farbe1); 
	border-radius:  0 !important; margin-right: 0.5rem; font-weight: 700;}

.nav-tabs .nav-link.active {
	border: 2px solid var(--farbe1) !important; 
	background: var(--farbe1); 
	color: #fff !important; 
	border-bottom: 2px solid var(--farbe1) !important; 
	margin-bottom: -2px !important;
	position: relative;}

.nav-tabs .nav-link.active::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid var(--farbe1);
}

@media (max-width: 576px) {
    .nav-tabs {
        border-bottom: 0 !important;
		padding-bottom: 0.5rem;
    }

    .nav-tabs .nav-item {
        width: 100%;
    }

    .nav-tabs .nav-link {
        width: 100%;
        margin-right: 0 !important;
        margin-top: 0.5rem;
        border-bottom: 2px dotted var(--farbe1) !important;
    }

    .nav-tabs .nav-link.active {
        border-bottom: 2px solid var(--farbe1) !important;
        margin-bottom: 0 !important;
    }

    .nav-tabs .nav-link.active::after {
        display: none;
    }
}

/* Header area */

/* Skip-Link für Barrierefreiheit */
.skip-link {
	position: absolute;
	top: -999px;
	left: 0;
	background: var(--farbedark);
	color: #fff !important;
	padding: 0.75rem 1.5rem;
	text-decoration: none;
	z-index: 9300;
}

.skip-link:focus {
	top: 0.5rem;
	left: 0.5rem;
}

.title {
	font-size: clamp(1.9rem, 1.9rem + 1.04vw, 3.2rem);
	display: inline-block;
}

.custom-logo {
    /* max-height: 4rem; width: auto; */
    max-width: 100%;
    transition: max-width 0.3s ease;
	border-radius: 50%;
	margin-bottom: -33%;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
}
.site-header.is-scrolled .custom-logo {
    max-width: 70%;
}

/* Variante 1: Sticky Header (Standard) 
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.85);
    transition: box-shadow 0.3s ease;
}
.site-header.is-scrolled {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}*/

/* Variante 2: Normaler Header */
.site-header {
    position: relative;
    background: transparent;
	z-index: 1000;
}


/* ==========================================================================
   Overlay Navigation
   ========================================================================== */

/* Open Button */
.overlay-open {
	position: fixed;
	bottom: 1rem;
	left: 1rem;
	font-size: 1.875rem;
	background: rgba(200, 200, 200, 0.5);
	border-radius: 0.3rem;
	padding: 0.3rem 1rem;
	z-index: 9400;
}

/* Close Button */
.overlay-close {
	position: fixed;
    line-height: 100%;
	top: 1rem;
	right: 1rem;
	color: #fff !important;
}

.overlay-close:hover,
.overlay-close:focus {
	color: var(--farbe1) !important;
}

/* Overlay Container */
.overlay-nav {
	pointer-events: none;
	visibility: hidden;
	position: fixed; 
	z-index: 9500; 
	top: 0;
	left: 0;
	bottom: 0;
	width: 0;
	padding: 0;
	overflow-x: hidden;
	transition: width 0.5s ease, visibility 0s 0.5s;
}

.overlay-nav.active {
	width: 100%;
	visibility: visible;
	pointer-events: auto;
	transition: width 0.5s ease, visibility 0s 0s;
}

/* Overlay Inner */
.overlay-inner {
	background: var(--farbe2);
	min-height: 100%;
    padding: 1rem;
}

/* Overlay Title */
.overlay-title {
	color: #fff;
	text-align: center;
    margin: 1.25rem 3rem;
    font-size: 2rem;
}

/* Hauptnavigation */
.overlay-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.overlay-menu li {
	display: block;
}

.overlay-menu > li {
	margin-bottom: 0.25rem;
}

.overlay-menu > li > a {
	display: inline-block;
	position: relative;
	color: #fff;
    font-size: 1.6rem;
}

.overlay-menu > li > a:hover,
.overlay-menu > li > a:focus {
	color: var(--farbe1);
}

/* Submenü */
.overlay-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.overlay-menu .sub-menu a {
	display: block;
	color: #fff;
    font-size: 1.2rem;
}

.overlay-menu .sub-menu a:hover,
.overlay-menu .sub-menu a:focus {
	color: var(--farbe1);
}

/* Zusätzliche Navigation */
.overlay-secondary {
	margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #fff;
}

.overlay-menu-secondary {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.overlay-menu-secondary li {
	display: inline-block;
}

.overlay-menu-secondary a {
	display: block;
	padding: 0 0.5rem;
	color: #fff;
    font-size: 1.2rem;
}

.overlay-menu-secondary a:hover,
.overlay-menu-secondary a:focus {
	color: var(--farbe1);
}

/* Overlay Submenu Toggle */

.overlay-submenu-toggle {
	position: absolute;
	left: 100%;
	top: 0;
	color: #fff !important;
	font-size: inherit;
	margin-left: 0.3rem;
}

.overlay-submenu-toggle:hover,
.overlay-submenu-toggle:focus {
	color: var(--farbe1) !important;
}

.overlay-submenu-toggle i {
	transition: transform 0.3s ease;
}

.overlay-submenu-toggle[aria-expanded="true"] i {
	transform: rotate(180deg);
}

.overlay-menu .sub-menu.is-closed {
	display: none;
}

/* Desktop: Toggle verstecken, Submenüs immer sichtbar */
@media (min-width: 992px) and (min-height: 600px) {
	.overlay-submenu-toggle {
		display: none;
	}
	
	.overlay-menu .sub-menu.is-closed {
		display: block;
	}
	
	/* Vertikale Zentrierung */
	.overlay-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 100dvh;
		padding: 15dvh 0;
	}
	
	/* Close-Button oben fixiert */
	.overlay-close {
		position: absolute;
		top: 1rem;
		right: 1rem;
	}
	
	/* Titel oben fixiert */
	.overlay-title {
		position: absolute;
		top: 1rem;
		left: 0;
		right: 0;
	}
	
	/* Zweitnavi unten fixiert */
	.overlay-secondary {
		position: absolute;
		bottom: 1rem;
		left: 0;
		right: 0;
	}
	
	/* Optional: Spalten */
	
	.overlay-primary {
		text-align: center;
	}
	
	.overlay-menu {
		display: inline-block;
		columns: 2;
		column-gap: 3rem;
		text-align: left;
	}
	
	.overlay-menu > li {
		break-inside: avoid;
	}
	
}

/* Body-Styling bei geöffnetem Overlay */
body {
	transition: background 0.5s ease;
}

body.overlay-active {
	background: color-mix(in srgb, var(--farbe2), black 10%);
}

body > *:not(.overlay-nav):not(.overlay-open) {
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

body.overlay-active > *:not(.overlay-nav):not(.overlay-open) {
	opacity: 0;
	visibility: hidden;
}

/* Normale Navigation */

.navbar {margin: 0; padding: 0; z-index: 999;}


ul.primary-nav a {display: block; padding: 0.8rem 0; color: #999 /*var(--farbedark)*/; text-transform: uppercase; font-weight: 700;}
ul.primary-nav a:hover,
ul.primary-nav li.current-menu-item > a,
ul.primary-nav li.current_page_parent > a { /* .current-menu-ancestor */
	color: var(--farbe1);
}

ul.primary-nav ul {list-style: none; margin: 0; padding: 0;}

@media (min-width: 992px) {
    ul.primary-nav ul {display:none; }
    
	ul.primary-nav > li {padding-left: 2rem; position: relative;}


	ul.primary-nav > li.menu-item-has-children > a::after {
        content: "\f107";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        font-size: 0.85em;
        margin-left: 0.3rem;
        display: inline-block;
        transition: transform 0.3s ease;
    }

    ul.primary-nav > li.menu-item-has-children:hover > a::after {
        transform: rotate(180deg);
    }


ul.primary-nav > li:hover > ul,
	ul.primary-nav > li:focus-within > ul {
		display: flex !important;
		flex-direction: column;
		position: absolute; 
		top: 100%;
		left: 2rem; 
		background: rgba(222, 222, 222, 0.8);
		width: auto;
	}

	ul.primary-nav > li:hover > ul li,
	ul.primary-nav > li:focus-within > ul li {
		border-top: 1px solid #fff;
		padding: 0 1rem;
	}

	ul.primary-nav > li:hover > ul li a,
	ul.primary-nav > li:focus-within > ul li a {
		white-space: nowrap;
	}
}

@media (max-width: 991px) {
	ul.primary-nav {
		display: block;
		font-size: 1.1rem;
	}
	
	ul.primary-nav li {
		border-top: 1px solid #ddd;
		padding: 0;
		white-space: nowrap;
		position: relative;
	}
	
	ul.primary-nav > li ul li {
		padding-left: 0.8rem;
	}
	
	ul.primary-nav a {
		padding: 0.4rem 0;
	}
	
	.submenu-toggle {
		position: absolute;
		right: 0;
		top: 0.4rem;
		text-decoration: none !important;
		color: inherit;
	}
	
	.submenu-toggle i {
		transition: transform 0.3s ease;
	}
	
	.submenu-toggle[aria-expanded="true"] i {
		transform: rotate(180deg);
	}
	
	ul.primary-nav .sub-menu.is-closed {
		display: none;
	}
}

.header-absolute {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.header-absolute .primary-nav a {
    color: #fff !important;
	text-shadow: 1px 1px 5px rgba(0,0,0,0.75);
}

.header-absolute .btn-burger {
    color: #fff !important;
}

/* Header image and Slideshow area */

.header-img {
    width: 100%;
    position: relative;
    border-bottom: 2px solid var(--farbe1);
}

.header-img::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: rgba(255, 255, 255, 0.5);
}

.header-img .img {
    width: 100%;
    object-fit: cover;
}

.header-img-full .img {
    height: 85vh;
}

.header-img-compact .img {
    height: 55vh;
}

@media (max-width: 767px) and (orientation: portrait) {
    .header-img-compact .img {
        height: auto;
        min-height: 35dvh;
    }
}

.header-img figure {
    position: relative;
}
/*
.header-img a {
    position: absolute;
    display: block;
    top: 0;
    width: 100%;
    height: 100%;
    color: inherit;
}
*/

.header-img figcaption {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.header-img figcaption > div {
    width: 50%;
    max-width: 700px;
    min-width: 300px;
}

@media (max-width: 576px) {
    .header-img figcaption > div {
        width: calc(100% - 4rem);
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .header-img figcaption {
        justify-content: center !important;
    }
}

/* Variante 1: Nur Textzeilen hinterlegt */
.header-img figure.color-text .header-title,
.header-img figure.color-text .header-desc {
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 0.1em 0.3em;
    line-height: 1.5;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.header-img figure.color-text .header-desc {
    padding: 0.3em 0.9em;
    line-height: 2.05;
}

.header-img figure.color-image figcaption > div {
    color: #fff;
}
.header-img figure.color-image img {
    filter: brightness(40%);
}

.header-img .header-title {
    display: block;
    font-size: clamp(2rem, 2rem + 2vw, 4rem);
    text-align: left;
	font-weight: 700;
}

.header-img .header-desc {
    display: block;
    font-size: clamp(1.2rem, 1.2rem + 1vw, 2.5rem);
    text-align: right;
}


.hr-compact {
    margin: 0;
}

/* Splide Global - Arrows */
.splide__arrow {
	background: transparent;
	opacity: 1;
}

.splide__arrow:hover {
	background: transparent;
}

.splide__arrow svg {
	fill: var(--farbelight);
	width: 1.7rem;
	height: 1.7rem;
}

.splide__arrow:hover svg {
	fill: var(--farbe1);
}

/* Splide Global - Pagination */
.splide__pagination {
	position: relative;
	bottom: auto;
	margin-top: 0.5rem;
}

.splide__pagination__page {
	background: var(--farbelight);
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 0;
	margin: 0 0.25rem;
}

.splide__pagination__page.is-active {
	background: var(--farbe1);
	transform: none;
}

/* Splide Global - Arrows außen (Standard) */
.splide__arrow--prev { left: -2.5rem; }
.splide__arrow--next { right: -2.5rem; }

/* Splide Innerhalb (Überschreibung für Slideshow etc.) */
.splide-slideshow .splide__arrow--prev { left: 0.5rem; }
.splide-slideshow .splide__arrow--next { right: 0.5rem; }
.splide-slideshow .splide__pagination {
	position: absolute;
	bottom: 1rem;
	margin-top: 0;
}
.splide-slideshow .splide__pagination__page.is-active { background: var(--farbe1); }

/*Breadcrumbs*/

.breadcrumbs {
	font-size: 0.9rem;
}

/*Pagination*/

.pagination {margin-bottom: 0;}

.page-link, .page-link:hover, .page-link:active, .page-link:focus {
    color: var(--farbe1);
}

.page-item.active .page-link {
    background-color: var(--farbe1);
    border-color: var(--farbe1);
}

/*Kacheln*/

.tiles-image {object-fit: cover;}

/*Sidebar*/

.sidebar ul {margin: 0; padding: 0;}
.sidebar ul li {margin: 0; padding: 0; display: block; border-top: 1px solid #ddd;}
li.current-cat {font-weight: 700;}
.sidebar ul li a {display: block; padding: 0.5rem 0;}
.sidebar .widget {margin-bottom: 1.5rem;}
.sidebar .widget:last-child {margin-bottom: 0;}

/*Calendar*/

.calendar {position: relative; padding-top: 1.2rem; color: #fff; }
.calendar:before {
	position: absolute;
	top: 0;
	content: '\f133'; font-family: "Font Awesome 6 Free"; font-weight: 900;
	font-size: 3.5rem; line-height: 3.5rem;
	color: #ccc;
	z-index: 1;
}
.calendar * {position: relative; z-index: 2;}
.calendar-day {font-size: 1.4rem; line-height: 2.2rem; font-weight: bold; }
.calendar-month {/*font-size: 0.8rem; line-height: 1rem; text-transform: uppercase*/}

/* Accordeon Block */
.block-accordeon .accordeon-toggle:hover,
.block-accordeon .accordeon-toggle:not(.collapsed) { background: color-mix(in srgb, var(--farbe1), black 15%); }
.block-accordeon .accordeon-toggle i { transition: transform 0.3s ease; }
.block-accordeon .accordeon-toggle:not(.collapsed) i { transform: rotate(180deg); }

/* Shariff Socia Media Safe Sharing Tool */

.shariff {margin-left: -5px !important; margin-right: -5px !important;}

/* Responsive Video Block */

.video-block{ position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;margin-bottom: 2rem; }
.video-block iframe, .video-block object, .video-block embed, .video-block video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.youtube-thumbnail .thumbnail-wrapper {
    position: relative;
    display: block;
}

.youtube-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.youtube-thumbnail .play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    width: 100%;
    pointer-events: none;
}

.youtube-thumbnail .play-overlay .btn {
    pointer-events: auto;
}

.youtube-thumbnail .youtube-hint {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #eee;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    text-align: center;
    line-height: 1.4;
    z-index: 1;
}

.youtube-thumbnail .youtube-hint a {
    color: #fff;
    text-decoration: underline;
}

.youtube-thumbnail {
    margin-bottom: 2rem;
}

/* Google Maps Lazy Load */
.maps-thumbnail {
    position: relative;
}
.maps-thumbnail .thumbnail-wrapper {
    position: relative;
}
.maps-thumbnail .maps-preview-img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}
.maps-thumbnail .play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
}
.maps-thumbnail .play-overlay .btn {
    pointer-events: auto;
}
.maps-thumbnail .maps-hint {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #eee;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    text-align: center;
    line-height: 1.4;
}
.maps-thumbnail .maps-hint a {
    color: #fff;
    text-decoration: underline;
}
.maps-block iframe {
    width: 100%;
    height: 400px;
    border: 0;
}



/* Contact Form 7 */

.wpcf7 .screen-reader-response {display: none}
.wpcf7 .wpcf7-not-valid-tip {padding-top: 0.5rem; font-size: 0.8rem; line-height: 0.9rem; color: #dc3545;}
.wpcf7 .wpcf7-response-output {margin: 0 !important; }
.wpcf7 .wpcf7-validation-errors {border: 1px solid #dc3545; padding: 1rem; background: #fff; font-size: 0.8rem;}
.wpcf7 .wpcf7-mail-sent-ok {border: 1px solid #28a745; padding: 1rem; background: #fff; font-size: 0.8rem;}

/* Colorbox */

#cboxTitle {display: block; position: absolute; bottom: 10px; left: 10px; right: 10px; top: auto;}
#cboxTitle span {display: block; padding: 0.5rem; background: rgba(0,0,0,0.6); color: #fff; text-align: center; font-size: 0.8rem;}

/*Back to Top Button*/

.back-to-top {
	position: fixed;
	bottom: 15px;
	right: 15px;
	font-size: 30px;
	background: rgba(200,200,200,0.5);
	border-radius: 5px;
	padding: 5px 15px;
}

.back-to-top-alt {
	font-size: 30px;
}

/* Google Maps Wrapper */

/*
.awmp_map_wrapper {
	border-width: 0 !important;
}
*/

/* Borlabs Google Maps Vorschau */

.brlbs-cmpnt-content-blocker {
height: 70dvh !important;
width: 100%;
}

/* Footer */

.footer-icon img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 100%;
  height: auto;
}

body > footer {border-top: 10px solid var(--farbe2);}
body > footer h2 {font-size: 1.2rem; text-transform: uppercase; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #fff;}
body > footer ul {margin: 0; padding: 0; list-style: none;}
body > footer ul li { margin: 0; padding: 0; display: inline-block; }
body > footer ul li:after { content: "|"; margin: 0 0.5rem; }
body > footer ul li:last-child:after { content: ""; margin: 0; }

@media(max-width: 1199px) {
	body > footer .row {margin-bottom: -1rem;}
	body > footer .row > div {margin-bottom: 1rem;}
}

.postfooter ul {list-style: none; display: block;}
.postfooter ul li {display: inline-block; padding-inline: 0.25rem;}

/* Admin Bar */

@media(max-width: 991px) {
#wpadminbar {overflow: hidden;}
}