/* Animation Bilder / Ken Burns Effekt */
/* Die Bilder brauchen ein entsprechendes Format, viel Höhe für die mobilen Ansichten! Richtung Quadrat */
/* Bilder von Barthel Shooting sind 16/11 */
    .kenBurnsEffekt-01,
	.kenBurnsEffekt-02{
        width: 100%;
        margin: 0 auto;
        overflow: hidden;
        position: relative;
		background: var(--bg-hellgrau);
		border-radius: var(--border-radius);		
    }
	
#headerbereich .kenBurnsEffekt-01,
#headerbereich .kenBurnsEffekt-02{	
	aspect-ratio: var(--headerFormat);
}
#headerbereich.tiny .kenBurnsEffekt-01,
#headerbereich.tiny .kenBurnsEffekt-02{	
	aspect-ratio: var(--headerFormatTiny);
}

@media (max-width: 768px) {
	#headerbereich .kenBurnsEffekt-01,
	#headerbereich .kenBurnsEffekt-02,
	#headerbereich.tiny .kenBurnsEffekt-01,
	#headerbereich.tiny .kenBurnsEffekt-02{	
		aspect-ratio: 16 / 12;
	}
	#headerbereich .kenBurnsEffekt-01 img,
	#headerbereich .kenBurnsEffekt-02 img,
	#headerbereich.tiny .kenBurnsEffekt-01 img,
	#headerbereich.tiny .kenBurnsEffekt-02 img{	
		aspect-ratio: 16 / 14;
		object-fit: cover;
	}
}
@media (max-width: 576px) {
	#headerbereich .kenBurnsEffekt-01,
	#headerbereich .kenBurnsEffekt-02,
	#headerbereich.tiny .kenBurnsEffekt-01,
	#headerbereich.tiny .kenBurnsEffekt-02{	
		aspect-ratio: 16 / 15;
	}
	#headerbereich .kenBurnsEffekt-01 img,
	#headerbereich .kenBurnsEffekt-02 img,
	#headerbereich.tiny .kenBurnsEffekt-01 img,
	#headerbereich.tiny .kenBurnsEffekt-02 img{	
		aspect-ratio: 16 / 16;
		object-fit: cover;
	}
}

.kenBurnsEffekt-01 img,
.kenBurnsEffekt-02 img {
    position: absolute;
    width: 100%;
}
.kenBurnsEffekt-01 img { animation: var(--kenBurnsEffekt-01); transform-origin: bottom left; }
.kenBurnsEffekt-02 img { animation: var(--kenBurnsEffekt-02); transform-origin: bottom right; }
@keyframes kenBurnsEffekt-01 { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.3); } }
@keyframes kenBurnsEffekt-02 { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.3); } }
/* Butler-App */
.butler-no-consent{
	text-align: center;
	padding: 10px 30px 10px 30px;
}

/* Textelemente */
/* Overline */
.wpb_text_column.overline p:first-child{
	margin-bottom: 10px;
	font-size: 1.2rem;
	line-height: 1.2em;
	color: var(--hellgruen);
	text-wrap: balance;
}

/* Bildelemente */

/* Backgroundimages */
/* Funktion um Bilder über die Hälfte ausserhalb des Grids der vollen Seite laufen zu lassen: Stretch Section, Bild als Section-Hintergrund, Section benötigt eine ID! */

.bg-half-right{
	position:relative;
	background-position: right center;
	background-size: auto 100%;
	background-repeat:no-repeat;
	/* min-height: 80vh; */
}
.bg-half-left{
	position:relative;
	background-position: left center;
	background-size: auto 100%;
	background-repeat:no-repeat;
	
}
.bg-half-right:before{
	content:"";
	position:absolute;
	top:0px;
	right: calc( 50% + 30px );
	width: calc( var(--windowWidth) / 2 - 60px);
	height:100%;
	background-color:var(--dunkelgrau);
    background-image: var(--half-background-image, none);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	border-radius: var(--border-radius);
}

.bg-half-left:before{
	content:"";
	position:absolute;
	top:0px;
	left: calc( 50% + 30px );
	width: calc( var(--windowWidth) / 2 - 60px);
	height:100%;
	background-color:var(--dunkelgrau);
    background-image: var(--half-background-image, none);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	border-radius: var(--border-radius);
}

@media (max-width: 992px) {
	.bg-half-right,
	.bg-half-left{
		position:relative;
		background-position: left top;
		background-size: 100% auto;
		background-repeat:no-repeat;
		padding-top:420px !important;
	}
	.bg-half-right:before,
	.bg-half-left:before{
		content:"";
		position:absolute;
		top:0px;
		bottom:auto;
		left:15px;
		width: calc( 100% - 30px );
		height:400px;
		background-color:var(--dunkelgrau);
	}
	.bg-half-left .wpb_content_element{
		text-align:left;
	}

	.bg-half-right.reverse-992,
	.bg-half-left.reverse-992{
		padding-top:0px !important;
		padding-bottom:420px !important;
	}
	.bg-half-right.reverse-992:before,
	.bg-half-left.reverse-992:before{
		top: auto;
		bottom: 0px;
		left:15px;
	}
	 
}

@media (max-width: 576px) {
	:is(.bg-half-left, .bg-half-right):before{
		background-size: auto 100%;
		background-position: center;
	}
}

/* Accordion */

section.faq .wpb_text_column{
	margin-bottom: 0px;
}
section.faq h1{
	margin-bottom: 48px;
}
section.faq h2{
	color: var(--heading-color);
	font-size: var(--heading-faq-title-size);
	line-height: 1.2em;
	font-weight: 500 !important;
	margin-bottom: 24px !important;
}
section.faq h3,
section.faq h3 a,
section.faq h3 a span{
	color: var(--heading-color) !important;
	font-size: var(--heading-faq-question-size) !important;
	line-height: 1.2em !important;
	font-weight: 300 !important;
}
.wpb_content_element.dt-accordion-line-on .wpb_accordion_wrapper .wpb_accordion_header{
	border-top: 1px solid var(--dunkelgrau) !important;
	padding: 20px 0 10px 0 !important;
}
.dt-style.wpb_content_element .wpb_accordion_wrapper .wpb_accordion_content{
	padding: 5px 0 15px 0;
}
.wpb_accordion .wpb_accordion_wrapper .wpb_accordion_section:last-child{
	border-bottom: 1px solid var(--dunkelgrau) !important;
	padding: 20px 0 15px 0 !important;
}
.content .wpb_content_element.dt-style:not(.dt-accordion-bg-on) .wpb_accordion_header > a:before{
	background: transparent;
}
.wpb_content_element .wpb_accordion_header>a:after{
	font-size: 1.2rem;
	font-weight: 300;
	width: 32px;
	height: 16px;
}

/* Shared FAQ appearance for both classic The7 and WPBakery TTA accordions.
   Plugin markup, IDs and open/close behavior remain owned by the builder. */
#page :is(.wpb_accordion_header, .vc_tta-accordion .vc_tta-panel-title),
#page :is(.wpb_accordion_header, .vc_tta-accordion .vc_tta-panel-title) a,
#page :is(.wpb_accordion_header, .vc_tta-accordion .vc_tta-panel-title) a span {
    color: var(--heading-color) !important;
    font-family: var(--font-family);
    font-size: var(--heading-faq-question-size) !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
}
#page .wpb_accordion .wpb_accordion_header,
#page .vc_tta-accordion .vc_tta-panel-heading {
    margin: 0 !important;
    padding: 20px 0 10px;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--dunkelgrau) !important;
    border-radius: 0 !important;
    box-shadow: none;
}
#page .vc_tta-accordion .vc_tta-panel { margin: 0 !important; }
#page .vc_tta-accordion .vc_tta-panel-title { margin: 0; }
#page .vc_tta-accordion .vc_tta-panel-title > a {
    position: relative;
    display: block;
    padding: 0 25px 0 0 !important;
    text-decoration: none;
}
#page .vc_tta-accordion .vc_tta-controls-icon {
    left: auto !important;
    right: 3px !important;
    color: var(--heading-color);
}
#page .vc_tta-accordion .vc_tta-controls-icon::before,
#page .vc_tta-accordion .vc_tta-controls-icon::after { border-color: currentColor !important; }
#page .wpb_accordion .wpb_accordion_content,
#page .vc_tta-accordion .vc_tta-panel-body {
    padding: 5px 0 15px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none;
}
#page .wpb_accordion .wpb_accordion_content .wpb_text_column,
#page .vc_tta-accordion .vc_tta-panel-body .wpb_text_column { margin-bottom: 0; }
#page .vc_tta-accordion .vc_tta-panel-body::before,
#page .vc_tta-accordion .vc_tta-panel-body::after { display: none !important; }
#page .vc_tta-accordion .vc_tta-panel:last-child {
    padding: 20px 0 15px;
    border-bottom: 1px solid var(--dunkelgrau);
}

/* News */
/* Blog Masonry and Grid */
