/*
Theme Name: AVF-WP
Theme URI: http://avf-works.com
Description: basic wordpress installation bay avf works mediastudio
Author: avf works mediastudio | Alex v. Falkenhausen
Author URI: http://avf-works.com
Version: 1.2
Tags: responsive, bootstrap 5


*/
/* lato-300 - 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: 'Lato';
	font-style: normal;
	font-weight: 300;
	src: url('fonts/lato-v24-latin-300.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-300.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-300italic - 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: 'Lato';
	font-style: italic;
	font-weight: 300;
	src: url('fonts/lato-v24-latin-300italic.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-300italic.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-300italic.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-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: 'Lato';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/lato-v24-latin-regular.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-regular.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-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: 'Lato';
	font-style: italic;
	font-weight: 400;
	src: url('fonts/lato-v24-latin-italic.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-italic.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-italic.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-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: 'Lato';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/lato-v24-latin-700.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-700.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}

/* lato-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: 'Lato';
	font-style: italic;
	font-weight: 700;
	src: url('fonts/lato-v24-latin-700italic.eot'); /* IE9 Compat Modes */
	src: url('fonts/lato-v24-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('fonts/lato-v24-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
	url('fonts/lato-v24-latin-700italic.woff') format('woff'), /* Modern Browsers */
	url('fonts/lato-v24-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
	url('fonts/lato-v24-latin-700italic.svg#Lato') format('svg'); /* Legacy iOS */
}
/* roboto-300 - 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: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('fonts/roboto-v30-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-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: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('fonts/roboto-v30-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-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: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('fonts/roboto-v30-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-900 - 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: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('fonts/roboto-v30-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	url('fonts/roboto-v30-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

:root{
	--color:#1a171b;
	--menu:#4f4f46;
	--highlight:#00254E;
	--red:#b21724;
}
html, body {
	width:100%;
	font-family: 'Lato', sans-serif;
	font-size:1rem;
	font-weight:300;
	overflow-x:hidden;
	color:var(--color);

}
/* Sprungmarken wie /#contact mit Abstand zur festen Menueleiste anzeigen. */
:where([id]) {
    scroll-margin-top: 100px;
}

body{
	background-color:white;
	padding:0;
}
header{
	background-color: white;
}
header.header-simple{
	background:transparent;
}
h1, h2, h3, h4{
	font-family: 'Lato', sans-serif;
	color:var(--color);
	font-size: 1rem;
	font-weight:300;
	margin-bottom:1rem;
	text-transform: uppercase;
}

img{
	max-width:100%;
	height:auto;
}
.wp-caption{
    max-width:100% !important;
}


.wp-caption-text{
    font-size: .8rem;
    text-align:left;
}
@media screen and (min-width: 993px) {
	.alignleft {
		float: left;
		margin: 0 1.5rem 1.5rem 0;
	}

	.alignright {
		float: right;
		margin: 0 0 1.5rem 1.5rem;
	}

	.aligncenter {
		margin: auto;
	}
}
a{
	text-decoration:none;
	position: relative;
	display: inline-block;
    color: var(--color);
    transition: color .3s ease;
}
a:hover{
	color:var(--color);
	font-weight: 700;
}
a.button{
	border:none;
	color: var(--red);
	background-color:#dccbcc;
	padding:10px 25px;
	text-transform:uppercase;
	display:inline-block;
	font-weight:300;
	margin:3em 0;
}
a.button:hover {
	 background-color: #dab7bf;
	 color: var(--red);
 }
a.button.mailto{
	color: var(--highlight);
	background-color:rgba(255,255,255, .1);
	text-transform:none;
	padding:10px 50px;
	font-weight:400;
	margin-top: 0;
	margin-bottom: 250px;
	z-index: 2;
	position: relative;
}
a.button.mailto:hover {
	 background-color: rgba(255,255,255, .05);
	 color: var(--highlight);
 }
a.button.back{
	color:var(--color);
	border:1px solid var(--color);
	background-color:rgba(255,255,255, 0);
	margin:15px 0 0 0;
	font-size:.9rem;
	padding: 5px 10px;
}
a.button.back:hover {
	background-color: rgba(255,255,255, .1);
	color: var(--color);
}
.light-button {
	display: inline-block;
	width: auto;
	color: #000000;
	background-color: transparent;
	text-transform: uppercase;
	font-size: 1rem;
	font-weight:700;
	border-top: 4px solid var(--highlight);
	border-bottom: 4px solid var(--highlight);
	border-left: none;
	border-right: none;
	padding: 10px 5px 10px 10px;
	line-height: 100%;
}
.light-button::after {
	content: "\f0da";
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	font-size: 1rem;
	color: var(--highlight);
	float: right;
	margin-left:50px;
}
.light-button:hover {
	text-decoration: none;
	color: var(--highlight);
	font-weight: 700;
}
.light-button:hover::after{
	color: var(--highlight);
}
blockquote{
    font-size: 52px;
    font-weight: 300;
    line-height: 1.1;
}
section{
	position:relative;
	width:100%;
}
ul{
	padding-left:1rem;
}

.bg-1{
	background-color:#ffffff;
}
.bg-2{
	background-color:rgba(142, 178, 217, .2);
}
.bg-3{
	background-color:rgba(148, 164, 171, .2);
}
.bg-4{
	background-color:rgba(86, 86, 81, .2);
}
.bg-5{
	background-color:rgba(0, 37, 78, .2);
}
#bg-grey{
    background-color: #ddddd9;
    padding:20px;
}
.bg-6{
	background-color:#f0f7ff ;
}
.bg-7{
	background-color: #e0ecec;
}
.bg-8{
	background-color: #d8ddd8;
}
.color-1 span.label{
	color:#87948a;
}
.color-2 span.label{
	color:#aec1c7;
}
.color-3 span.label{
	color:#afbfb1;
}
.color-4 span.label{
	color:#a69d94;
}
.color-5 span.label{
	color:#b3b2ad;
}
.color-6 span.label{
	color:#ffffff;
}
.dark > .row{
	background-color: #6d716e;
	color:#ffffff;
	padding:25px 0;
}
.dark h1, .dark h2, .dark h3{
	color:#e1ae83;
}
.deco-image{
	position:absolute;
	width:400px;
	height:auto;
	z-index:5;
}

.deco-image-left{
	top: -200px;
	left:-200px;
}
.deco-image-right{
	top: -200px;
	right: -200px;
}
header .deco-image-left{
	 left:-50px;
	 top: -50px;
 }
hr{
	border-top:1px solid var(--color);
	margin:5px 0;
}
.color-6 hr {
	border-top: 1px solid #ffffff;
}
img-1-3-max{
	max-width:32%;
}

.image-caption{
	display:block;
	font-size:.8rem;
}
ul.checklist {
	--icon-space: 1.3em;
	list-style: none;
	padding: 0;
	column-count: 3;
	column-gap: 10px;
}

ul.checklist li {
	padding-left: var(--icon-space);
}

ul.checklist li:before {
	content: "\f00c"; /* FontAwesome Unicode */
	font-family: "Font Awesome 5 Pro";
	display: inline-block;
	margin-left: calc( var(--icon-space) * -1 );
	width: var(--icon-space);
}

.close-modal{
	position: absolute;
	z-index: 10;
	right: 25px;
	font-size:36px;
	color:#b41624;
}
.modal-content{
	border-radius:0;
	border:1px solid #b41624;
}
.card{
	border:none;
	position:relative;
}
.card-img-top{
	max-height:450px;
	object-fit:cover;
}

.card-img-top.winelist-image{
	object-fit:contain;
	align-self: start;
}
.card-body{
	padding-left:0;
}



.nav{
	font-family: "Lato", sans-serif;
	position:static;
	padding:20px 0 0 50px;
	display:block;
}
.main-header {
	transition: padding-bottom 0.3s ease;
}
/* .main-header:has(.sub-menu:hover),
.main-header:has(.nav > li:hover > .sub-menu),
.main-header:has(.nav > li[class*="current-"] > .sub-menu),
.main-header:has(.sub-menu [class*="current-"]) {
	padding-bottom: 50px;
} */
.main-header .row {
    position: relative;
}
.main-header {
    padding-bottom: 45px; /* Permanenter Platz für Submenü */
}
.main-nav{
	padding: 20px 0 0 0;
	display: flex;
	justify-content: center;
}
.main-nav > li{
	display: inline-block;
	padding: 0 15px;
}
.nav >li > ul> li > a:hover{
	color:var(--red);
}
.nav > li > a{
	color:#000;
	text-transform: uppercase;
	font-weight:300;
	text-decoration: none;
	display:inline-block;
	padding-bottom:3px;
}
.nav > li:hover, 
.nav > li.current-menu-item, 
.nav > li.current-menu-parent, 
.nav > li.current-menu-ancestor,
.nav > li:has([class*="current-"]) {
	z-index:6;
}
.nav > li:hover > a,
.nav > li:has([class*="current-"]) > a,
.nav > li:has(> ul [class*="current-"]) > a {
	font-weight:700;
}
.nav > li.current-menu-item > a, 
.nav > li.current-menu-parent > a,
.nav > li.current-menu-ancestor > a {
	font-weight:700;
}
.nav > li{
	position: static;

}
.nav > li > ul {
	display:block;
	list-style-type:none;
	background-color:transparent;
	color:#000;
	padding: 0;
	white-space: nowrap;
	position:absolute;
	top: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
    text-align: center;
    width: 100%; /* Zentrierung innerhalb des relativen Containers */
}
.fixed-header .nav > li > ul {
    top: 42px; /* Positionierung im Fixed Header anpassen */
}

/* Rechtsbündiges Submenü */
/* .nav > li.submenu-right > ul {
	left: auto;
	right: 0;
	padding: 25px 10px 10px 0;
} */

/* .nav > li::before {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	width: 20px;
	height: 20px;
	border-left: 1px solid #000;
	border-top: 1px solid #000;
	background-color: #fff;
	transform: translateX(-50%) rotate(225deg);
	z-index: 11;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nav > li:hover::before,
.nav > li[class*="current-"]:has(.sub-menu)::before,
.nav > li:has([class*="current-"]):has(.sub-menu)::before {
	opacity: 1;
	visibility: visible;
}

.nav:has(> li:hover) > li[class*="current-"]:not(:hover)::before {
    opacity: 0;
    visibility: hidden;
} */
.nav > li > ul > li {
	display: inline-block;
	margin: 0 15px;
}
.nav > li > ul > li:first-child {
	/* margin-left: 25px; */ /* Entfernt für bessere Zentrierung */
}
.nav > li > ul > li > a{
	color:#000;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 300;
    /*font-size:15px*/;
}
.nav > li > ul > li > a:hover,
.nav > li > ul > li.current-menu-item > a {
	font-weight: 700;
    color:#000;
}

/* Submenu Preview Images background */
.sub-menu img,
.sub-menu .menu-image-container,
.sub-menu .menu-item-image {
    background-color: #ffffff !important;
}

.nav > li:hover{

}
.nav > li:hover > .sub-menu,
.nav > li[class*="current-"] > .sub-menu,
.nav > li > .sub-menu:has([class*="current-"]),
.nav > li > .sub-menu:hover {
	display:block;
	opacity: 1;
	visibility: visible;
}

/* Hide active sub-menu when another menu item is hovered */
.nav:has(> li:hover) > li[class*="current-"]:not(:hover) > .sub-menu {
    opacity: 0;
    visibility: hidden;
}
.menu-item-has-children:has(.current-menu-parent, .current-menu-item, .current-menu-ancestor, [class*="current-"]) > a {
    font-weight:700;
}

.menu-item-has-children:has(.current-menu-parent, .current-menu-item, .current-menu-ancestor, [class*="current-"]) > .sub-menu {
    display: block;
}
.menu-item-glt{
    padding-top:4px !important;
}
/* Hide active sub-menu when another menu item is hovered */
.nav:has(> li:hover) > li.menu-item-has-children:has(.current-menu-parent, .current-menu-item, .current-menu-ancestor, [class*="current-"]):not(:hover) > .sub-menu {
    opacity: 0;
    visibility: hidden;
}
.fixed-header .container-xl {
    position: relative;
}
.fixed-header{
	background-color: #ffffff;
	top: -150px;
	position:fixed;
	height:80px;
	width:100%;
	transition: top .9s, height 0.3s ease;
	border-bottom:1px solid #f3f3f3;
	z-index: 21;
}

/* .fixed-header:has(.sub-menu:hover),
.fixed-header:has(.nav > li:hover > .sub-menu),
.fixed-header:has(.nav > li[class*="current-"] > .sub-menu),
.fixed-header:has(.sub-menu [class*="current-"]) {
	height: 140px;
} */
.fixed-header {
    height: 110px !important; /* Etwas höher für Submenü */
}

/* Hide active sub-menu in fixed header when another menu item is hovered */
.fixed-header .nav:has(> li:hover) > li[class*="current-"]:not(:hover) > .sub-menu {
    opacity: 0;
    visibility: hidden;
}
.fixed-header .row {
	align-items: flex-start !important;
	padding-top: 10px;
}
.fixed-header-logo{
	height:35px;
	width:auto;
}
.fixed-header .nav{
	padding:0;
}
.fixed-header .nav li{
	display:inline-block;
	padding:0 10px;
}
.fixed-header.show{
	top:0;
	transition: top .9s;
}
.customize-support .fixed-header.show{
	top:32px;
	transition: top .9s;
}
thead{
	background-color:#e1ae82;
}
th, td{
	vertical-align: top;
	color:#525452 !important;
}
tbody{
	border-top: 1px solid #dee2e6 !important;
}
/*++++++++++++++++++++MOBILE MENU++++++++++++++++++++++++++*/
#menu-toggle * {
	transition: .25s ease-in-out;
	box-sizing: border-box;
}
#menu-toggle span {
	display: block;
	background: var(--highlight);
	border-radius: 0;
}
#menu-toggle:hover span{
	background: #666;
}
#menu-toggle {
	width: 25px;
	height: 25px;
	margin: 6px 0 4px 0;
	position: relative;
	position: relative;
	cursor: pointer;
	/*background: rgba(255, 255, 255, 0.4);*/
	border-radius: 0;
	z-index:5;
}

#menu-toggle #hamburger {
	position: absolute;
	height: 100%;
	width: 100%;
}
#menu-toggle #hamburger span {
	height: 2px;
	position: relative;
	top: 0;
	left: 0;
	margin: 1px 0 6px 0;
}
#menu-toggle #hamburger span:nth-child(1) {
	width:100%;
	transition-delay: .5s;
}
#menu-toggle #hamburger span:nth-child(2) {
	width:100%;
	transition-delay: .625s;
}
#menu-toggle #hamburger span:nth-child(3) {
	width:100%;
	transition-delay: .75s;
}
#menu-toggle #cross {
	position: absolute;
	height: 100%;
	width: 100%;
	transform: rotate(45deg);
}
#menu-toggle #cross span:nth-child(1) {
	height: 0%;
	width: 2px;
	position: absolute;
	top: 0;
	left: 11px;
	transition-delay: 0s;
}
#menu-toggle #cross span:nth-child(2) {
	width: 0%;
	height: 2px;
	position: absolute;
	left: 0;
	top: 11px;
	transition-delay: .25s;
}

#menu-toggle.open #hamburger span {
	width: 0%;
}
#menu-toggle.open #hamburger span:nth-child(1) {
	transition-delay: 0s;
}
#menu-toggle.open #hamburger span:nth-child(2) {
	transition-delay: .125s;
}
#menu-toggle.open #hamburger span:nth-child(3) {
	transition-delay: .25s;
}
#menu-toggle.open #cross span:nth-child(1) {
	height: 100%;
	transition-delay: .625s;
}
#menu-toggle.open #cross span:nth-child(2) {
	width: 100%;
	transition-delay: .375s;
}
#menu-toggle #menu-label, #menu-toggle #close-label{
	position:absolute;
	display:inline-block;
	left:30px;
	top:-2px;
	color:#000;
	opacity: 1;
	transition: opacity 1s;
}
#menu-toggle #close-label{
	opacity:0;
}
#menu-toggle.open #menu-label{
	opacity:0;
}
#menu-toggle.open #close-label{
	opacity:1;
}
#mobile-main-menu{
	text-align:right;
	height:0;
	overflow:hidden;
	transition:height .5s;
}
.thebigmenu{
	width:100%;
	height:100vH;
	overflow-y:auto;
	position:fixed;
	background-color:#fff;
	color: #e1ae83;
	top:0;
	left:101%;
	transition:left .5s;
	z-index:3;
	padding-top:150px;
	text-align:left;
}
.thebigmenu.show{
	left:0;
}
.thebigmenu .mm-logo{
	position:absolute;
	top:20px;
	left:20px;
}
.thebigmenu ul{
	list-style-type: none;
	text-align:left;
	font-size:2rem;
	font-weight:400;
}
.navigation-bar .thebigmenu ul li{
	margin-bottom:20px;
	display:block;
	font-weight:700;
}
.thebigmenu ul a{
	color: #000000;
}
.thebigmenu a:hover{
	color: #e1ae83;
}
.thebigmenu ul li ul{
	display:block;
	font-weight:normal;
	font-size:1.4rem;
}
#header-slider .carousel-item, .full-width-slider .carousel-item{
	width:100%;
	padding-bottom:33%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
}
.simple-slider .carousel-item{
	padding-bottom:66%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
/* Aspect Ratios */
.simple-slider.ratio-landscape .carousel-item {
    padding-bottom: 66%; /* 3:2 approx */
}
.simple-slider.ratio-portrait .carousel-item {
    padding-bottom: 133%; /* 3:4 */
}
.simple-slider.ratio-square .carousel-item {
    padding-bottom: 100%; /* 1:1 */
}
.simple-slider.ratio-16-9 .carousel-item {
    padding-bottom: 56.25%; /* 16:9 */
}
.simple-slider.ratio-4-3 .carousel-item {
    padding-bottom: 75%; /* 4:3 */
}
.slider-2 .simple-slider .carousel-item, .slider-3 .simple-slider .carousel-item{
	padding-bottom:91%;
}
.simple-slider .thumbnail{
	width:19%;
	margin-right:1%;
	padding-bottom:14%;
	background-position: center center;
}
.carousel-container{
	overflow-x:visible;
	width:100%;
}
.thumbnail-container {
	overflow-x: visible;
	white-space: nowrap;
	transition: transform 0.3s ease; /* Füge eine flüssige Übergangseffekt für die Bewegung hinzu */
	cursor: grab;
}
.thumbnail-container .thumbnail {
	display: inline-block;
	cursor: pointer;
	width:19%;
	margin-right:1%;
	padding-bottom:14%;
	background-position: center center;
}
.img-slider-swiper-button-next::after, .img-slider-swiper-button-prev::after {
	font-size: 26px;
	font-weight: lighter;
	color: #ffffff !important;
}

.img-slider-swiper-button-prev:hover, .img-slider-swiper-button-next:hover {
	background: rgba(255,255,255,.2) !important;
}
.img-slider.image-slider{
	margin-top: 0 !important;
}
.carousel-indicators{
    display:none;
}
/*++++++++++++++++++++FRONTPAGE++++++++++++++++++++++++*/
.decoration{

}
.deco-waves{
	position:absolute;
	opacity: .2;
	width:100%;
	max-height:350px;
	top: -175px;
	pointer-events: none;
}
.decoration-bottom{
	position: absolute;
	bottom: 0;
}
.decoration-bottom img{
	opacity: .2;
	max-height:300px;
	width: 100vw;
	pointer-events: none;
}
section.bg-5{
	padding-bottom:300px;
}
/*+++++++++++++FOOTER++++++++++*/
/* Titelzeile */
.titelzeile-text h2 {
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: uppercase;
}
.titelzeile-social .social-btn {
    font-size: 24px;
    color: #000;
    margin-left: 15px;
    text-decoration: none;
    transition: color 0.3s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
}
.titelzeile-social .social-btn:hover {
    color: #e1ae83;
}
.titelzeile-social .social-btn i {
    line-height: 1;
}
.titelzeile-social .share-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 300;
}

footer{
	background-color:#ddddd9;
	padding-top:50px;
	padding-bottom:50px;
}

footer a{
	text-decoration:none;
}
footer a:hover span{
	color: #e1ae83 !important;
}
.social-icons-footer a{
	font-size: 32px;
	color:#ffffff;
	margin-right:25px;
}
.social-icons-footer a:hover{
	color:#e1ae83;
}
.social-icons-footer a i.fa-instagram{
	font-size:42px;
}
#menu-footer-menu{
	list-style-type: none;
	padding-left:0;
	text-align:center;
}
#menu-footer-menu li{
	display:inline-block;
	padding: 0 15px;
	line-height: .9rem;
	font-size: .9rem;
	text-transform:uppercase;
}
#menu-footer-menu li:not(:last-of-type){
	border-right:1px solid var(--color);
}
#menu-footer-menu li a{
	font-weight:300;
	color: var(--color);
	text-decoration: none;
}
#menu-footer-menu li a:hover{
	color:var(--menu);
}
.toTop{
	position:fixed;
	bottom:25px;
	right:25px;
	display:flex;
	justify-content: center;
	align-items: center;
	opacity:0;
	width:auto;
	height:35px;
	padding:25px;
	font-size: .9rem;
	text-transform:uppercase;
	background-color: #000000;
	transition:opacity .5s;
	color:#e4e4e4;
	text-decoration: none;
}
.toTop:hover{
	color:#c3c3c3;
}
.toTop.show{
	opacity: .8;
	transition:opacity .5s;
}

.footer-subline {
	margin-top: 2rem;
}

.footer-subline .footer-widgets-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.footer-subline .menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.footer-subline .menu-item {
	display: inline-block;
	padding: 0 15px;
	text-transform: uppercase;
	font-size: 1rem;
}

.footer-subline .menu-item a {
	color: inherit;
	text-decoration: none;
	display: inline-block;
}

.footer-subline .widget_text {
    width: 100%;
    margin-top: 5px;
}

#menu-members-area {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}
#menu-members-area li {
	display: block;
	margin-right: 20px;
}
#menu-members-area li a {
	display: inline-block;
	color: #525452;
	text-transform: uppercase;
	font-family: "Lato", sans-serif;
	font-weight: 400;
	font-size: 14px;
	text-decoration: none;
	padding: 10px 5px 10px 10px;
	line-height: 100%;
	position: relative;
}
#menu-members-area li a::after {
	content: "\f0da";
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	font-size: 1rem;
	color: var(--highlight);
	margin-left: 15px;
	transition: color 0.3s;
}
#menu-members-area li a:hover,
#menu-members-area li.current-menu-item a {
	color: var(--highlight);
	text-decoration: none;
	font-weight: 700;
}
#menu-members-area li a:hover::after,
#menu-members-area li.current-menu-item a::after {
	color: var(--highlight);
}

.table-mobile{
	font-size: .9rem;
}
.table-mobile .tm-label{
	font-weight:700;
	background-color: #e1ae82;
}
@media screen and (max-width: 992px) {
	*{
		max-width: 100%;
	}
	section{
		/*padding-top:25px !important;*/
		padding-bottom:0;
		display:inline-block;
	}
	section:not(:first-of-type) {
		padding-top: 25px !important;
	}
	.container-xl > .row, .container-xl > .row > .col .row{
		--bs-gutter-x: 0;
	}
	#header-slider .carousel-item, .full-width-slider .carousel-item {
		padding-bottom: 45%;
	}

	hr{
		display:none;
	}
	ul.checklist{
		column-count:2;
	}
	a.button{
		margin: 1em 0;
	}
	.anker{
		width:50px;
		height:auto;
	}
	.deco-image-right{
		width:250px;
	}
	footer .col-lg-6 .textwidget {
		border-right: none;
		border-left: none;
		padding-left: 0;
	}
	footer .col-lg-6 .widgettitle{
		padding-left: 0;
	}

	#mobile-main-menu .nav {
		padding: 20px 0;
	}
	#mobile-main-menu .nav > li {
		display: block;
		padding: 5px 20px;
		text-align: left;
	}
	#mobile-main-menu .nav > li > a {
		font-size: 1.2rem;
	}
	#mobile-main-menu .glt-mobile-toggle {
		appearance: none;
		background: none;
		border: 0;
		border-radius: 0;
		padding: 0 0 3px;
		font: inherit;
		font-size: 1.2rem;
		font-weight: 300;
		color: #000;
		text-transform: uppercase;
		cursor: pointer;
	}
	#mobile-main-menu .glt-mobile-toggle:hover,
	#mobile-main-menu .glt-mobile-toggle[aria-expanded="true"] {
		font-weight: 700;
	}
	#mobile-main-menu .nav > li > .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		display: none;
		padding: 5px 0 5px 20px;
		white-space: normal;
		margin-top: 5px;
		text-align: left;
	}
	#mobile-main-menu .nav > li > .sub-menu::before {
		display: none;
	}
	#mobile-main-menu .nav > li > .sub-menu > li {
		display: block;
		margin: 3px 0;
		padding: 0;
	}
	#mobile-main-menu .nav > li > .sub-menu > li > a {
		font-size: 0.85rem;
		text-transform: uppercase;
		font-weight: 300;
	}
	#mobile-main-menu .nav > li > .sub-menu > li > a:hover,
	#mobile-main-menu .nav > li > .sub-menu > li.current-menu-item > a {
		font-weight: 700;
	}
	#mobile-main-menu .nav > li:hover > .sub-menu,
	#mobile-main-menu .nav > li.current-menu-item > .sub-menu,
	#mobile-main-menu .nav > li.current-menu-parent > .sub-menu,
	#mobile-main-menu .nav > li.current-menu-ancestor > .sub-menu {
		display: block;
	}
	#mobile-main-menu .nav > .menu-item-language > .glt-mobile-toggle[aria-expanded="false"] + .sub-menu {
		display: none;
	}
	#mobile-main-menu .nav > .menu-item-language > .glt-mobile-toggle[aria-expanded="true"] + .sub-menu {
		display: block;
	}

}
.fa, .far, .fas {
	font-family: "Font Awesome 5 Pro" !important;
}
/*++++++++++++++++++CONTENT FEED ITEMS+++++++++++++++++*/
.editorial-grid {
    /* Masonry benötigt kein display: grid */
    width: min(1400px, 92vw);
    margin: 0 auto;
    /* padding: clamp(3rem, 7vw, 8rem) 0;*/
    padding: 0;

}

.grid-item {
    float: left;
    min-width: 0;
    margin-bottom: 0; /* Ersatz für row-gap */
    padding-left: calc(clamp(1rem, 2vw, 2rem) / 2);
    padding-right: calc(clamp(1rem, 2vw, 2rem) / 2);
}

.grid-item img,
.grid-item video {
    max-width: 100%;
    display: block;
    height: auto;
    object-fit: cover;
}

/* Prozentuale Breiten für Masonry (12 Spalten System) */
.grid-sizer, .w-1 { width: 8.333%; }
.w-2 { width: 16.666%; }
.w-3 { width: 25%; }
.w-4 { width: 33.333%; }
.w-5 { width: 41.666%; }
.w-6 { width: 50%; }
.w-7 { width: 58.333%; }
.w-8 { width: 66.666%; }
.w-9 { width: 75%; }
.w-10 { width: 83.333%; }
.w-11 { width: 91.666%; }
.w-12 { width: 100%; }

.text-block {
    display: flex;
    align-items: center;
    min-height: 12rem;
}

.text-block h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 4rem);
    font-weight: 300;
    line-height: 0.95;
    letter-spacing: normal;
}

.caption {
    margin: 0.4rem 0 0;
    text-transform: uppercase;
    text-align: center;
}

.description.wysiwyg-content {
    font-size: 0.95rem;
    line-height: 1.4;
    font-weight: 300;
    margin-top: 0.5rem;
}
/* FIX für zentrierte captions */
.grid-item.has-custom-width .image-area {
    width: fit-content;
    max-width: var(--item-width);
}

.grid-item.has-custom-width .image-area img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
}

.grid-item.has-custom-width .caption {
    text-align: center;
}

/* Bild mit expliziter Breite/Höhe in px (überschreibt Skalierung) */
.grid-item.has-explicit-size .image-area {
    width: fit-content;
    max-width: 100%;
}

.grid-item.has-explicit-size .image-area img {
    display: block;
}
/* Video-Spalte */
.video-spalte-wrapper.align-center {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.video-spalte-wrapper.align-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.video-spalte-wrapper.align-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.video-spalte-wrapper.has-custom-width .video-area {
    width: 100%;
    max-width: var(--item-width);
}

.video-spalte-wrapper .video-area video {
    display: block;
    width: 100%;
    height: auto;
}

/* Mobile/Tablet: volle verfuegbare Wrapperbreite, unabhaengig von Skalierung,
   Ausrichtung und optionalem Wrapper fuer die KI-Kennzeichnung. */
@media (max-width: 991.98px) {
    .video-spalte > .row {
        --bs-gutter-x: 0;
        width: min(1400px, 92vw);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .row > .video-spalte-col {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: calc(clamp(1rem, 2vw, 2rem) / 2);
        padding-right: calc(clamp(1rem, 2vw, 2rem) / 2);
    }

    .video-spalte-col > .video-spalte-wrapper {
        width: 100%;
        max-width: 100% !important;
        margin-left: 0;
        margin-right: 0;
        align-items: stretch;
    }

    .video-spalte-wrapper.has-custom-width .video-area,
    .video-spalte-wrapper .video-area {
        width: 100%;
        max-width: 100% !important;
    }

    .video-spalte-wrapper .video-area > .aiml-video-wrap {
        display: block;
        width: 100%;
        max-width: 100%;
    }
}

/* BEGIN Page loading: dezente Linie ohne Einfluss auf Layout oder Bedienung. */
html.page-is-loading::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 35%;
    height: 2px;
    background: var(--highlight, #00254e);
    z-index: 2147483647;
    pointer-events: none;
    opacity: 0;
    animation: page-loading-line 1.3s ease-in-out 150ms infinite;
}

@keyframes page-loading-line {
    0% { transform: translateX(-100%); opacity: 0; }
    15%, 85% { opacity: 0.75; }
    100% { transform: translateX(286%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html.page-is-loading::after {
        animation: none;
        width: 100%;
        opacity: 0.6;
    }
}
/* END Page loading */

/* BEGIN Masonry reveal: nur mit aktivem JavaScript bis zur Freigabe ausblenden. */
.masonry-reveal-enabled .editorial-grid {
    transition: opacity 180ms ease;
}

.masonry-reveal-enabled .editorial-grid:not(.masonry-reveal-ready) {
    opacity: 0;
    visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .masonry-reveal-enabled .editorial-grid {
        transition: none;
    }
}
/* END Masonry reveal */

/* Mobile Ansicht: Inhalte sofort anzeigen, ohne Ladeanimation oder Einblendung. */
@media (max-width: 991.98px) {
    html.page-is-loading::after {
        content: none;
        animation: none;
    }

    .masonry-reveal-enabled .editorial-grid,
    .masonry-reveal-enabled .editorial-grid:not(.masonry-reveal-ready) {
        opacity: 1;
        visibility: visible;
        transition: none;
    }
}

.video-wrapper {
    position: relative;
    width: 100%;
}

.video-mute-control {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.4);
    border: none;
    color: #fff;
    padding: 8px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    line-height: 0;
    transition: background 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-mute-control:hover {
    background: rgba(0, 0, 0, 0.7);
}

.video-mute-control svg {
    width: 20px;
    height: 20px;
}
.offset-top {
    margin-top: clamp(2rem, 5vw, 5rem);
}

.offset-top-large {
    margin-top: clamp(4rem, 9vw, 9rem);
}

.offset-top-xlarge {
    margin-top: clamp(8rem, 18vw, 18rem);
}

.push-left {
    transform: translateX(-18%);
}

/* optional: Video nur bei Hover abspielen */
.grid-item video,
.video-spalte-wrapper video {
    cursor: pointer;
}

/* Deaktiviert Edge Video-Overlays wie Bild-im-Bild und Verbessern */
video::-webkit-media-controls-panel {
    display: none !important;
    -webkit-appearance: none;
}

video::--webkit-media-controls-play-button {
    display: none !important;
    -webkit-appearance: none;
}

video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none;
}

video {
    -webkit-video-enhance: none !important;
}

/* Tablet */
@media (max-width: 991px) {
    .w-3,
    .w-4,
    .w-5,
    .w-6,
    .w-7,
    .w-8,
    .w-9,
    .w-10,
    .w-11,
    .w-12 {
        width: 100%;
    }
    
    .w-1, .w-2 {
        width: 50%;
    }

    .push-left {
        transform: none;
    }
}

/* Mobile: echte Leserichtung, alles untereinander */
@media (max-width: 575px) {
    .grid-item {
        float: none;
        width: 100% !important;
    }
    .editorial-grid {
        display: block;
    }

    .offset-top,
    .offset-top-large,
    .offset-top-xlarge {
        margin-top: 0 !important;
    }

    .grid-item[style*="margin-top"] {
        margin-top: 0 !important;
    }

    .text-block {
        min-height: auto;
    }

    .caption {
        text-align: center;
    }
    blockquote{
        font-size: 34px;
    }
}

/* Ausrichtung der Elemente im Grid (Desktop/Tablet) */
@media (min-width: 576px) {
    .grid-item.align-center {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .grid-item.align-right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .grid-item.align-left {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    /* Inhalte nehmen nur so viel Platz ein wie nötig, damit align-items wirkt */
    .grid-item.align-left > div,
    .grid-item.align-center > div,
    .grid-item.align-right > div {
        max-width: 100%;
    }

    .grid-item.has-custom-width > div {
        width: var(--item-width);
        flex-shrink: 0;
    }

    /* Für Text-Blöcke die Ausrichtung auch auf den Text anwenden, falls gewünscht */
    /* erstmal nicht ---
    .grid-item.align-center .text-block,
    .grid-item.align-center .text-area {
        text-align: center;
        justify-content: center;
    }

    .grid-item.align-right .text-block,
    .grid-item.align-right .text-area {
        text-align: right;
        justify-content: flex-end;
    }
    */
}

/* Mobile: Ausrichtung ignorieren (immer zentriert) und Skalierung ignorieren (immer 100%) */
@media (max-width: 575px) {
    .grid-item.align-left,
    .grid-item.align-center,
    .grid-item.align-right {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .grid-item.align-left > div,
    .grid-item.align-center > div,
    .grid-item.align-right > div,
    .grid-item.has-custom-width > div {
        width: 100% !important;
        max-width: 100% !important;
    }

    .grid-item.align-left .text-block,
    .grid-item.align-left .text-area,
    .grid-item.align-center .text-block,
    .grid-item.align-center .text-area,
    .grid-item.align-right .text-block,
    .grid-item.align-right .text-area {
        text-align: center;
        justify-content: center;
    }
}

.spacer-area {
    width: 100%;
}

.grid-item.has-custom-width .carousel-container {
    width: 100%;
}

/* Carousel Controls schwarz und dünner */
.carousel-control-prev-icon {
    filter: invert(1) !important;
    opacity: 1 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M10 2l-6 6 6 6'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    filter: invert(1) !important;
    opacity: 1 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 2l6 6-6 6'/%3e%3c/svg%3e");
}

.carousel-indicators [data-bs-target] {
    background-color: #000; /* Indikatoren schwarz machen */
}

/* Hover-Effekt für Carousel-Steuerelemente: Heller werden */
.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
    opacity: 0.5 !important;
    transition: opacity 0.2s ease-in-out;
}

/* Desktop-spezifische Anpassungen für das Editorial Grid */
@media (min-width: 992px) {
    .editorial-grid .carousel-container {
        padding: 0 20px; /* Platz für die Controls schaffen (80px) */
    }

    .editorial-grid .carousel-control-prev {
        left: -80px;
    }

    .editorial-grid .carousel-control-next {
        right: -80px;
    }
}

/* Mobile/Tablet Anpassungen für das Editorial Grid */
@media (max-width: 991px) {
    .editorial-grid .carousel-container {
        padding: 0; /* Auf Mobile kein extra Padding */
    }
}

.simple-slider .carousel-item {
    height: 0;
    padding-bottom: 56.25%; /* Default ratio 16:9 */
    background-size: cover;
    background-position: center;
    position: relative;
}

.simple-slider.ratio-landscape .carousel-item {
    padding-bottom: 56.25%;
}

.simple-slider.ratio-portrait .carousel-item {
    padding-bottom: 125%;
}

.simple-slider.ratio-square .carousel-item {
    padding-bottom: 100%;
}

.simple-slider .carousel-item img,
.simple-slider .carousel-item video {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.simple-slider .carousel-indicators {
    bottom: -15px; /* Etwas Platz unter dem Slider lassen */
}

/* Slider mit Beschreibung */
.slider-mit-beschreibung-container .slider-description-box {
    font-weight: 300;
}

.slider-mit-beschreibung-container .slider-description-box .slider-page-title {
    font-size: 1rem;
    font-weight: 300;
    margin-bottom: 2rem;
}

.slider-mit-beschreibung-container .slider-dynamic-text-wrapper {
    position: relative;
    min-height: 3em; /* Platzhalter für den Text */
    text-align: center;
}

.slider-mit-beschreibung-container .slider-dynamic-text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

.slider-mit-beschreibung-container .slider-dynamic-text.active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}

.slider-mit-beschreibung-container .slide-caption {
    font-weight: 300;
    margin-bottom: 0.25rem;
}

.slider-mit-beschreibung-container .slide-description {
    font-size: 0.95rem;
    line-height: 1.4;
    font-weight: 300;
}

.slider-mit-beschreibung-layout .editorial-grid {
    display: block !important;
}

.slider-mit-beschreibung-layout .grid-item {
    margin-bottom: 0 !important;
}

.slider-mit-beschreibung-layout .grid-item.align-left { align-self: flex-start; }
.slider-mit-beschreibung-layout .grid-item.align-center { align-self: center; }
.slider-mit-beschreibung-layout .grid-item.align-right { align-self: flex-end; }

.slider-mit-beschreibung-layout .grid-item.has-custom-width {
    width: var(--item-width) !important;
}
.slider-mit-beschreibung-layout .no-symbol u {
    text-decoration: underline;
    text-underline-offset: 2px;
    vertical-align: super;
    font-size: 0.8rem;
    text-transform: none;
}
/* --------------------------------------------------------------
   WYSIWYG – responsive media
-------------------------------------------------------------- */

.text-area img {
    max-width: 100%;
    height: auto;
}


@media (max-width: 767.98px) {

    /*
     * WordPress alignleft / alignright sind auf Mobile
     * keine Layoutanweisungen mehr.
     */
    .text-area .alignleft,
    .text-area .alignright,
    .text-area .aligncenter,
    .text-area figure.alignleft,
    .text-area figure.alignright,
    .text-area figure.aligncenter,
    .text-area .wp-caption.alignleft,
    .text-area .wp-caption.alignright,
    .text-area .wp-caption.aligncenter {
        float: none !important;
        clear: both;
        display: block;
        width: auto !important;
        max-width: 100% !important;
        margin: 1.5rem auto !important;
    }


    /*
     * Bilder innerhalb dieser Elemente ebenfalls sauber
     * als Block darstellen.
     */
    .text-area .alignleft img,
    .text-area .alignright img,
    .text-area .aligncenter img,
    .text-area figure img,
    .text-area .wp-caption img {
        display: block;
        max-width: 100%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }


    /*
     * Falls die align-Klasse direkt auf dem IMG sitzt.
     */
    .text-area img.alignleft,
    .text-area img.alignright,
    .text-area img.aligncenter {
        float: none !important;
        clear: both;
        display: block;
        margin: 1.5rem auto !important;
    }
}

/* Custom More Tag Styles */
.custom-more-link-wrapper {
    margin: 20px 0;
}

.custom-more-link {
    display: inline-block;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 400;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.custom-more-link:hover {
    opacity: 0.7;
}

.custom-more-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    background-color: #fff; /* Hintergrundfarbe hinzugefügt */
    position: relative;
    z-index: 10;
}

.custom-more-content.open {
    max-height: 5000px; /* Großer Wert für den Übergang */
    transition: max-height 0.8s ease-in;
    padding-bottom: 20px;
}

.custom-more-content-inner {
    padding-top: 10px;
}

.custom-more-close-wrapper {
    text-align: right;
    margin-top: 20px;
}

.custom-more-close {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    border: none;
    color: #333;
    text-decoration: none;
    font-size: 30px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.custom-more-close:hover {
    background-color: #f0f0f0;
    border-color: #999;
}
/* Hack um die verschobenen Nummern im Menü zu korrigieren */
.jewellery-desktop-view .jewel-title {
    min-width: 0;
}

.jewellery-desktop-view .jewel-no {
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
}

header {
    position: relative;
}

/* Header Search Overlay */
.header-search-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 999;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-bottom: 1px solid #eee;
}

.search-form-wrapper {
    position: relative;
}

.search-form-wrapper form {
    display: flex;
    flex-wrap: wrap; /* Erlaubt Umbruch für Relevanssi-Elemente */
    align-items: center;
    gap: 0;
    width: 100%;
    padding-right: 40px; /* Platz für den Schließen-Button */
}

/* WordPress default search form might wrap input in label or span or div */
.search-form-wrapper form label,
.search-form-wrapper form .wp-block-search__inside-wrapper,
.search-form-wrapper form > div:not([id*="rlvlive"]):not(.live-ajax-messages):not(.ajax-results) {
    flex: 1; /* Zurück auf 1 für die Reihe */
    margin-bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

/* Relevanssi spezifische Elemente unterhalb anzeigen */
.relevanssi-live-search-instructions {
    display: none;
}

.search-form-wrapper form [id*="rlvlive"] {
    width: 100%;
    flex: 0 0 100%;
}

.search-form-wrapper form label input[type="search"],
.search-form-wrapper form label input[type="text"],
.search-form-wrapper form div:not([id*="rlvlive"]) input[type="search"],
.search-form-wrapper form div:not([id*="rlvlive"]) input[type="text"] {
    flex: 1;
    border-right: none;
}

.search-form-wrapper input[type="search"],
.search-form-wrapper input[type="text"] {
    width: 100%;
    border: 1px solid #ccc;
    padding: 10px 15px;
    outline: none;
    height: 45px;
    border-right: none; /* Verschmilzt mit dem Button */
}

.search-form-wrapper input[type="submit"],
.search-form-wrapper button[type="submit"] {
    background: #011b3c;
    color: #fff;
    border: 1px solid #011b3c;
    padding: 0 25px;
    cursor: pointer;
    height: 45px;
    white-space: nowrap;
}

.search-close-btn {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;
    line-height: 1;
    padding: 10px;
}

.search-trigger i {
    font-size: 1.1em;
}

.menu-item-search a {
    cursor: pointer;
}

/* Custom Language Switcher */
.menu-item-glt {
    position: relative;
    display: flex;
    align-items: center;
}

.glt-custom-switcher {
    position: relative;
}

.glt-current-lang {
    text-transform: uppercase;
    text-decoration: none;
    color: #333;
    padding: 0 10px;
    display: block;
    line-height: 1;
}

.main-nav .menu-item-glt > .glt-custom-switcher > a {
    font-weight: 300;
}

.menu-item-glt:hover > .glt-custom-switcher > a {
    font-weight: 700;
}

.glt-lang-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    display: none;
    min-width: 60px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    z-index: 1000;
}

.glt-lang-dropdown li {
    padding: 5px 0;
}

.glt-lang-dropdown li a {
    text-decoration: none;
    color: #333;
    display: block;
    text-transform: uppercase;
    font-size: 0.9em;
}

.glt-lang-dropdown li a:hover {
    color: #011b3c;
}

.menu-item-glt:hover .glt-lang-dropdown {
    display: block;
}

/* Ensure the search overlay is below the fixed header too if needed */
.fixed-header.show ~ .header-search-overlay {
    position: fixed;
    top: 80px; /* Höhe des fixed-header */
    left: 0;
    right: 0;
    z-index: 999;
}

/* Falls das Overlay im Header ist, aber der Header nicht mitscrollt, 
   müssen wir es eventuell umhängen oder per JS steuern. 
   Für jetzt fixieren wir die Position relativ zum Header. */

/* Search Results Page Styles */
.search-results .post-thumbnail img {
    transition: transform 0.5s ease;
}

.search-results article:hover .post-thumbnail img {
    transform: scale(1.05);
}

.search-results .post-content {
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.search-results .post-type-badge {
    letter-spacing: normal;
}

.search-results .entry-title a:hover {
    color: #011b3c !important;
}

.search-results .pagination .nav-links {
    display: flex;
    gap: 10px;
    align-items: center;
}

.search-results .pagination .page-numbers {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: all 0.2s ease;
}

.search-results .pagination .page-numbers:hover,
.search-results .pagination .page-numbers.current {
    background: #011b3c;
    color: #fff;
    border-color: #011b3c;
}

.search-results .no-results .searchform {
    display: flex;
    justify-content: center;
}

.search-results .no-results .searchform > div {
    display: flex;
    width: 100%;
}

.search-results .no-results input[type="text"] {
    flex: 1;
    height: 50px;
    padding: 0 15px;
    border: 1px solid #ccc;
    border-right: none;
}

.search-results .no-results input[type="submit"] {
    background: #011b3c;
    color: #fff;
    border: 1px solid #011b3c;
    padding: 0 25px;
    height: 50px;
    cursor: pointer;
}
/*++++++++++++JEWELS ARCHIVE+++++++++++++++++++++++*/
.jewels-archive {
    font-family: 'Lato', sans-serif;
}

.jewel-row {
    border-bottom: 1px solid #000 !important;
}

.jewel-info {
    min-width: 300px;
}

@media (max-width: 767.98px) {
    .jewel-info {
        min-width: auto;
        width: 100%;
    }
}

.jewel-name {
    width: 150px;
}

.jewel-number {
    font-weight: 300;
}

.jewel-gallery {
    gap: 0;
}

.jewel-image {
    width: 25%;
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    .jewel-image {
        width: auto;
        margin-bottom: 35px;
    }

    .jewel-image img {
        max-height: 125px;
        width: auto;
    }
}

.jewel-image img {
    width: auto;
    height: auto;
    max-width: 150px;
    object-fit: contain;
}

/* Modal Styling */
#jewelModal .modal-content {
    border: none;
    border-radius: 0;
    background: transparent;
}

#jewelModal .modal-body {
    padding: 0;
    background: #fff;
    position: relative;
}

.modal-backdrop.show {
    backdrop-filter: blur(5px);
    background-color: rgba(255, 255, 255, 0.8);
}

#jewelModal .close-modal {
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #000;
    font-size: 1.5rem;
    text-decoration: none;
    z-index: 10;
}

.jewel-modal-image img {
    width: 100%;
    height: auto;
}

.jewel-modal-text {
    padding: 40px;
    font-family: 'Lato', sans-serif;
}

.modal-modellname {
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.modal-material {
    margin-bottom: 20px;
}

.modal-beschreibung {
    margin-top: 20px;
}
@media (min-width: 992px) {
    .mt-lg-7 {
        margin-top: 7rem !important;
    }
    .h-700 video{
        height:700px !important;
        width:auto !important;
    }
    .align-items-center .col-lg-6{
        display:flex;
        align-items:center;
    }
	.adjust-arrows .carousel-control-prev{
		left: -50px !important;
	}
	.adjust-arrows .carousel-control-next{
		right: -50px !important;
	}
}
/*+++++++++++++PRESS++++++++++++++++++++*/
/* Sprungmarken Offset */
.press-section {
	scroll-margin-top: 150px;
}

.press-archive-page {
	font-family: 'Lato', sans-serif;
}
.press-nav .nav{
	padding-left:0;
}
.press-nav .nav-link {
	color: #000;
	font-weight: 300;
	padding-left: 0;
}
.press-nav .nav-link:hover {
	font-weight:700;
	text-decoration: none;
}

/* Zentrierte Überschrift mit Linie */
.press-section-title.centered-title {
	position: relative;
	text-align: center;
	font-size: 52px;
	font-weight: 300;
	text-transform: uppercase;
	margin-bottom: 2rem;
	border: none !important; /* Override previous border */
}
.press-section-title.centered-title:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: #000;
	z-index: 1;
}
.press-section-title.centered-title span {
	position: relative;
	background: #fff;
	padding: 0 20px;
	z-index: 2;
}

/* Teaser Style */
.press-item-link {
	display: block;
	height: 100%;
}
.press-item-link:hover {
	text-decoration: none;
}
.press-item-row {
	border-color: #000 !important;
}
.teaser-thumb {
	width: 65px;
	height: 92px;
	object-fit: cover;
}
.teaser-thumb-placeholder {
	width: 65px;
	height: 93px;
	background: #f0f0f0;
}
.press-item-title {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
	color:#000;
}
.press-item-date {
	font-size: 0.9rem;
	color: #000;
	text-transform: uppercase;
}
.press-tag {
	display: block;
	font-size: 0.9rem;
	text-transform: uppercase;
	/*background: #eee;*/
	padding: 0;
	margin-bottom: 0;
	width: fit-content;
}
.press-item-arrow {
	display:none;
	font-size: 1.2rem;
	color: #000;
	padding-top: 5px;
}
/*+PRESS SINGLE+*/
.post-navigation .nav-prev a,
.post-navigation .nav-next a,
.post-navigation .overview-link {
	color: #000;
	font-size: 0.9rem;
	font-weight: 500;
	transition: opacity 0.2s ease;
}
.post-navigation a:hover {
	opacity: 0.7;
	color: #000;
}
.post-navigation .overview-link {
	letter-spacing: normal;
}
.jewellery-models-list {
	min-width: 300px;
}
@media (max-width: 991.98px) {
	.jewellery-models-list {
		min-width: 100%;
	}
}
.jewellery-single-title-row .no-symbol u {
	text-decoration: underline;
	text-underline-offset: 2px;
	vertical-align: super;
	font-size: 0.8rem;
	text-transform: none;
}
.jewellery-single-title-row h1, .jewellery-single-title-row .jewel-no{
	color:#000;
	font-size:1rem;
	font-weight:500;
}
.avf-breadcrumb{
	margin-bottom:.35rem;
}
.avf-breadcrumb-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	font-size:.75rem;
	text-transform:uppercase;
	line-height:1.3;
}
@media (min-width: 992px) {
	.avf-breadcrumb-list{
		justify-content:flex-start;
	}
}
.avf-breadcrumb-item + .avf-breadcrumb-item::before{
	content:"/";
	padding:0 .5em;
}
.avf-breadcrumb-item a{
	color:var(--color);
}
.avf-breadcrumb-item a:hover{
	font-weight:500;
	text-decoration:none;
}
.avf-breadcrumb-item[aria-current="page"] span{
	font-weight:500;
}
.titelzeile-social .social-btn {
	color: #333;
	font-size: 1.2rem;
	transition: color 0.2s ease;
}
.titelzeile-social .social-btn:hover {
	color: #000;
}
/*+++++++++++++/PRESS++++++++++++++++++++*/
/* BEGIN Mobile sliders: volle Wrapperbreite, Pfeile ausserhalb am Viewportrand.
   Die exakten Pfeilpositionen setzt adjustSliderControls() in alexfunctions.js. */
@media (max-width: 991.98px) {
    .grid-item > .slider-area,
    .grid-item > .carousel-container,
    .carousel-container,
    .editorial-grid .carousel-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0;
        padding-right: 0;
        overflow: visible;
    }

    .carousel.simple-slider {
        width: 100%;
        overflow: visible;
    }

    .carousel.simple-slider .carousel-item:has(> img, > video) {
        height: auto;
        padding-bottom: 0;
    }

    .carousel.simple-slider .carousel-item > img,
    .carousel.simple-slider .carousel-item > video {
        position: static;
        width: 100% !important; /* Bootstrap w-auto ueberschreiben. */
        max-width: 100%;
        height: auto;
        transform: none;
    }

    .carousel.simple-slider > .carousel-control-prev,
    .carousel.simple-slider > .carousel-control-next {
        width: 22px;
        opacity: 1;
    }

    /* Grundposition fuer zentrierte Wrapper, auch vor der JS-Initialisierung. */
    .carousel.simple-slider > .carousel-control-prev {
        left: calc(50% - 50vw + 1px);
    }

    .carousel.simple-slider > .carousel-control-next {
        right: calc(50% - 50vw + 1px);
    }

    .carousel.simple-slider .carousel-control-prev-icon,
    .carousel.simple-slider .carousel-control-next-icon {
        width: 22px;
        height: 28px;
    }
}
/* END Mobile sliders */

/* Hinweis auf die verlinkten Bilder in der mobilen Schmuck-Kategorieansicht. */
.jewellery-mobile-view .jewel-mobile-thumb-wrapper {
    position: relative;
}

.jewellery-mobile-view .jewel-mobile-tap {
    position: absolute;
    right: 12px;
    bottom: 10px;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.4;
    text-transform: uppercase;
    pointer-events: none;
}

/* Bild volle Breite: auch kleinere Originalbilder auf Containerbreite skalieren.
   Der optionale KI-Wrapper muss ebenfalls die volle Breite einnehmen. */
.bild-volle-breite > .row > div > .aiml-image-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
}

.bild-volle-breite > .row > div > img,
.bild-volle-breite > .row > div > .aiml-image-wrap > img {
    display: block;
    width: 100%;
    height: auto;
}

/* BEGIN Mobile banner zoom: Klasse im Feld CSS-Klassen von Bild volle Breite oder Feed-Bild.
   Die echte Bildbreite vergroessert auch die Blockhoehe; nur seitlich beschneiden. */
@media (max-width: 991.98px) {
    .zoom-on-mobile-150 { --mobile-banner-width: 150%; }
    .zoom-on-mobile-200 { --mobile-banner-width: 200%; }
    .zoom-on-mobile-250 { --mobile-banner-width: 250%; }
    .zoom-on-mobile-300 { --mobile-banner-width: 300%; }

    .bild-volle-breite:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .row > div {
        overflow: hidden;
    }

    .bild-volle-breite:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .row > div > img,
    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area > img,
    .bild-volle-breite:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .row > div > .aiml-image-wrap > img,
    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area > .aiml-image-wrap > img {
        display: block;
        width: var(--mobile-banner-width);
        max-width: none;
        height: auto;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area {
        width: 100%;
        max-width: var(--item-width, 100%);
        overflow: hidden;
    }

    /* KI-Kennzeichnung fuegt einen Wrapper hinzu; Badge selbst nicht zoomen. */
    .bild-volle-breite:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .row > div > .aiml-image-wrap,
    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area > .aiml-image-wrap {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    /* Auch bei im Feed gesetzten Inline-Pixelmassen mobil proportional zoomen. */
    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area > img,
    .grid-item:is(.zoom-on-mobile-150, .zoom-on-mobile-200, .zoom-on-mobile-250, .zoom-on-mobile-300) > .image-area > .aiml-image-wrap > img {
        width: var(--mobile-banner-width) !important;
        max-width: none !important;
        height: auto !important;
    }
}
/* END Mobile banner zoom */

.py-lg-0{
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
@media (min-width: 992px) {
	.left-out{
		margin-left: -75px;
	}
}
@media (max-width: 991.98px) {
	.w-mb-100{
		width:100%;
		height:auto;
	}
}

