

/* Texte */
.text-weiss,
.text-weiss *{
	color:var(--weiss);
}
.text-schwarz,
.text-schwarz *{
	color:var(--schwarz);
}
.text-rot,
.text-rot *{
	color:var(--rot);
}
.text-blau,
.text-blau *{
	color:var(--blau);
}
.text-dunkelgrau,
.text-dunkelgrau *{
	color:var(--dunkelgrau);
}


.wpb_text_column a{
	text-decoration:none;
}


h1,h2,h3,h4{
	text-wrap:balance;
	margin-bottom:24px;
}
p{
	margin-bottom:24px;
}
b, strong{
	font-weight:600;
}


/* Backgroundcolors */
.bg-rot{
	background-color:var(--rot);
}
.bg-blau{
	background-color:var(--blau);
}
.bg-dunkelgrau{
	background-color:var(--dunkelgrau);
}


.verlauf-oben,
.verlauf-unten{
	position:relative;
}
.verlauf-oben:before{
	position:absolute;
	content:"";
	top:0px;
	left:-100%;
	width:300%;
	height:150px;
	background: linear-gradient(to bottom,  rgba(6,16,24,1) 0%,rgba(6,16,24,0) 100%);
}
.verlauf-unten:after{
	position:absolute;
	content:"";
	bottom:0px;
	left:-100%;
	width:300%;
	height:150px;
	background: linear-gradient(to top,  rgba(6,16,24,1) 0%,rgba(6,16,24,0) 100%);
}





/* 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;
}
.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:50%;
	width: calc( var(--windowWidth) / 2);
	height:100%;
	background-color:var(--dunkelgrau);
}
.bg-half-left:before{
	content:"";
	position:absolute;
	top:0px;
	left:50%;
	width: calc( var(--windowWidth) / 2);
	height:100%;
	background-color:var(--dunkelgrau);
}
@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-bottom:370px !important;
	}
	.bg-half-right:before,
	.bg-half-left:before{
		content:"";
		position:absolute;
		top:auto;
		bottom:0px;
		left:0px;
		width:100%;
		height:350px;
		background-color:var(--dunkelgrau);
	}
	.bg-half-left .wpb_content_element{
		text-align:left;
	}
}

/* Buttons */
a.link-btn,
.link-btn a{
	display:inline-block;
	background:var(--blau);
	border: 0px solid var(--blau);
	border-radius: 5px;
	padding-top: 0.3em;
    padding-bottom: 0.3em;
	padding-left:20px;
	padding-right:20px;
	text-decoration:none;
	font-weight:400;
	transition: all .4s;
	color:var(--weiss);
	font-size:24px;
	text-transform:uppercase;
	margin-top:20px;
}
a.link-btn:hover,
.link-btn a:hover{
	background:var(--rot);
	color:var(--weiss);
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {

}
@media (max-width: 768px) {

}
@media (max-width: 576px) {
	a.link-btn,
	.link-btn a{
		display:inline-block;
		background:var(--blau);
		border: 0px solid var(--blau);
		border-radius: 5px;
		padding-top: 0.3em;
		padding-bottom: 0.3em;
		padding-left:10px;
		padding-right:10px;
		text-decoration:none;
		font-weight:400;
		transition: all .4s;
		color:var(--weiss);
		font-size:18px;
		text-transform:uppercase;
		margin-top:20px;
	}
}



/* Header */

.branding *{
	transition:all .4s;
}
.sticky-off .branding .same-logo{
	background:#fff;
	padding: 30px 20px 20px 20px;
	margin-top:90px;
}
.sticky-on .branding .same-logo{
	background:#fff;
	padding: 5px !important;
}
.branding img{
	transition:all .4s;
}

.sticky-off .branding a img, .sticky-off .branding img{
	width:170px;
}
.sticky-on .branding a img, .sticky-on .branding img{
	width:100px;
}
.mobile-header-bar .mobile-branding img{
	width:100px;
	margin:10px 0px;
	transition:all .4s;
}

.header-bar #primary-menu{
	margin-top:40px;
}
.sub-nav{
	box-shadow: none;
}


@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {

}
@media (max-width: 768px) {

}
@media (max-width: 576px) {

}

/*


.main-nav > li > a .menu-text{
		font: normal 300 1.25rem / 1.2em "Commissioner", Helvetica, Arial, Verdana, sans-serif;
	}
.main-nav .sub-nav > li > a, .sub-downwards .sub-nav.sub-nav-widgets > li{
	padding: 10px 10px 10px 0px
}
.main-nav .sub-nav > li:not(.wpml-ls-item) > a{
	position:relative;
}
.main-nav .sub-nav > li:not(.wpml-ls-item) > a:before{
	position:relative;
	display:inline-block;
	content:"";
	background:url(../images/pfeil-gruen.svg) no-repeat left bottom 3px transparent;
	background-size: 16px auto;
	width:30px;
	height:24px;
	opacity:0;
	transition:all .4s;
}
.main-nav .sub-nav > li:not(.wpml-ls-item) > a:hover:before{
	background:url(../images/pfeil-gruen.svg) no-repeat right 5px bottom 3px transparent;
	background-size: 16px auto;
	opacity:1;
}
.sub-nav{
	box-shadow:none;
}

.mini-widgets .text-area a:not(.dt-btn), .mobile-mini-widgets .text-area a:not(.dt-btn){
	text-decoration:none;
}


.dt-mobile-header{
	height:auto;
	min-height:1px;
}
.dt-mobile-header .next-level-button{
	background: url(../images/pfeil-gruen-diag-unten.svg) no-repeat center transparent;
	background-size: 12px auto;
}
.dt-mobile-header .next-level-button svg{
	display:none;
}



*/


/* Footer */
#footer{

}
#footer #media_image-2 img{
	width:200px;
	height:auto;
}
#footer #nav_menu-2{
	text-align:right;
}
#footer #nav_menu-2{
	text-align:right;
}
.footer .menu li, .footer .widget_pages li, .footer .custom-menu.dividers-on li, .footer .blogroll li, .footer .qts-lang-menu li{
	border-width:0px;
}
.menu li, .qts-lang-menu li, .widget_pages li{
	padding:0;
}
#footer .wf-container{
	display:flex;
	align-items: flex-end;
}

#bottom-menu li{
	margin-left:20px;
}


@media (max-width: 1400px) {

}
@media (max-width: 1200px) {
	#footer #media_image-2 img{
		width:160px;
		height:auto;
	}
}
@media (max-width: 992px) {
	#footer,
	#footer #nav_menu-2{
		text-align:center;
	}
	#footer .wf-container{
		display:flex;
		flex-direction: column;
		align-items: flex-end;
	}
	#bottom-menu li{
		margin-left:0px;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 576px) {

}

/* Module */

/* Bildelemente Illustrationen */

.wpb_single_image.maxWidth50 img{
	max-width:50%;
	height:auto;
}
.wpb_single_image.maxWidth60 img{
	max-width:60%;
	height:auto;
}
.wpb_single_image.maxWidth70 img{
	max-width:70%;
	height:auto;
}
.wpb_single_image.maxWidth80 img{
	max-width:80%;
	height:auto;
}
.wpb_single_image.maxWidth90 img{
	max-width:90%;
	height:auto;
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {
	.wpb_single_image.illustration img{
		max-width:60%;
		height:auto;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 576px) {
	.wpb_single_image.illustration img{
		max-width:80%;
		height:auto;
	}
}

/* Preisliste */

.wpb_text_column.behandlungsthema{
	
}
.wpb_text_column.behandlungsthema hr{
	margin-bottom:48px;
}
.wpb_text_column.behandlungsthema .preis{
	color: var(--blau);
	font-size:2.6rem;
	font-weight:600;
	margin-bottom:12px;
}
.wpb_text_column.behandlungsthema .preispro{
	font-size:1rem;
	font-style:italic;
	margin-bottom:36px;
}

/* Reverse Grid. Reihenfolge der Spalten ändert sich */


@media (max-width: 992px) {
	.vc_row.reverse-grid-992 .wpb_column.first{
		order: 2;
	}
	.vc_row.reverse-grid-992 .wpb_column.second{
		order: 1;
	}
}


/* Headerslider */

section.headerslider{
	
}
section.headerslider .sliderzeile{
	position:relative;
	min-height: 90vh;
	background-size:cover;
	background-position: right bottom;
}
section.headerslider .sliderzeile > .ult-item-wrap{
	position:absolute;
	left:10%;
	bottom:25%;
}
section.headerslider .sliderzeile .wpb_text_column:not(.link-btn){
	font-size: 3rem;
	line-height:1.4em;
}
section.headerslider .sliderzeile .wpb_text_column.shadow{
	text-shadow: var(--text-shadow-black);
}
section.headerslider .sliderzeile .wpb_text_column:not(.link-btn) strong{
	font-size: 5rem;
}
section.headerslider .sliderzeile .wpb_text_column.link-btn{
	margin-top: var(--standard-margin-top);
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {
	section.headerslider .sliderzeile > .ult-item-wrap{
		position:absolute;
		left:10%;
		bottom:20%;
	}
	section.headerslider .sliderzeile .wpb_text_column:not(.link-btn){
		font-size: 2rem;
	}
	section.headerslider .sliderzeile .wpb_text_column:not(.link-btn) strong{
		font-size: 3rem;
	}
	section.headerslider .sliderzeile .wpb_text_column.link-btn{
		margin-top: calc( var(--standard-margin-top) / 2 );
	}
}
@media (max-width: 992px) {
	section.headerslider .sliderzeile.willkommen > .ult-item-wrap{
		position:absolute;
		left:10%;
		bottom:auto;
		top:10%
	}
	.carousel-shortcode.carousel-shortcode-id-925fdbf017e9cf2fab040e360bc485be.reposition-arrows .owl-nav div.owl-prev{
		left:20px !important;
	}
	.carousel-shortcode.carousel-shortcode-id-925fdbf017e9cf2fab040e360bc485be.reposition-arrows .owl-nav div.owl-next{
		right: 20px !important;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 576px) {
	section.headerslider .sliderzeile > .ult-item-wrap{
		position:absolute;
		left:5%;
		bottom:10%;
	}
	section.headerslider .sliderzeile.willkommen > .ult-item-wrap{
		position:absolute;
		left:5%;
		bottom:auto;
		top:5%
	}
}

/* Headerbild */
section.headerbild{
	
}
section.headerbild .wpb_single_image .wpb_wrapper{
	position:relative;
}
section.headerbild .wpb_single_image .wpb_wrapper .vc_single_image-wrapper{
	position:relative;
	z-index:10;
}
section.headerbild .wpb_single_image .wpb_wrapper .vc_figure-caption{
	position:absolute;
	left: 50%;
	bottom: 110px;
	z-index:15;
	font-size: 5rem;
	line-height: 1.2em;
	color:#fff;
	font-weight:400;
	text-transform: uppercase;
	text-shadow: var(--text-shadow-black);
	transform: translateX( calc( var(--wrapperWidth) / 2 * -1 ) );
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {
	section.headerbild .wpb_single_image .wpb_wrapper .vc_figure-caption{
		left: 50%;
		bottom: 60px;
		font-size: 4rem;
		line-height: 1.2em;
	}
}
@media (max-width: 992px) {
	section.headerbild .wpb_single_image .wpb_wrapper .vc_single_image-wrapper img{
		aspect-ratio: 4/2.5;
		object-fit:cover;
	}
}
@media (max-width: 768px) {
	section.headerbild .wpb_single_image .wpb_wrapper .vc_figure-caption{
		left: 50%;
		bottom: 60px;
		font-size: 3rem;
		line-height: 1.2em;
	}
}
@media (max-width: 576px) {
	section.headerbild .wpb_single_image .wpb_wrapper .vc_single_image-wrapper img{
		aspect-ratio: 1/1;
		object-fit:cover;
	}
}


/* Panorama-Bild */
section.bildpanorama{
	min-height:50vh;
	background-size: cover;
}
section.bildpanorama .wpb_text_column{
	background: rgba(255,255,255,.7);
	padding: 40px;
	box-sizing:border-box;
}
section.bildpanorama .wpb_text_column h3{
	color: var(--rot);
	font-size: 1.875rem;
}

/* Logo-Slider */
section.logo-slider .vc_row{
	background: var(--dunkelgrau-10);
}
section.logo-slider .wpb_single_image{
	text-align:center;
	margin-bottom:0px;
	padding: 10px 0;
}
section.logo-slider .wpb_single_image img{
	width:50%;
	height:auto;
	opacity: .5;
	transition: all .4s;
}
section.logo-slider .wpb_single_image:hover img{
	opacity: 1;
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {

}
@media (max-width: 768px) {

}
@media (max-width: 576px) {

}

/* Kundenstimmen-Slider */

section.kundenstimmen .kundenstimme-zeile{
	
}
section.kundenstimmen .owl-nav .owl-prev{
	display:none;
}
section.kundenstimmen .kundenstimme-zeile .wpb_single_image img{
	width:160px;
	height:auto;
}

/* Portfolio-Slider / Templatera */


body.page-id-26 .portfolio-slider .wpb_text_column.ueberschrift{
	display:none;
}

/*
section.portfolio-slider .vc_column_container>.vc_column-inner{
	padding-left:5px;
	padding-right:5px;
}
*/
.portfolio-slider-inner .vc_column_container .vc_column-inner .wpb_wrapper{
	position:relative;
}
.portfolio-slider-inner .vc_column_container .vc_column-inner .wpb_wrapper .wpb_single_image{
	position:relative;
	z-index:10;
	margin-bottom:0px;
}
.portfolio-slider-inner .vc_column_container .vc_column-inner .wpb_wrapper .wpb_text_column{
	position:absolute;
	left:30px;
	padding-right:30px;
	bottom:40px;
	z-index:15;
	margin-bottom:0px;
	color:#fff;
	font-weight: 300;
	opacity:.8;
	transition: all .4s;
}
.portfolio-slider-inner:hover .vc_column_container .vc_column-inner .wpb_wrapper .wpb_text_column{
	bottom:45px;
	opacity:1;
}
.portfolio-slider-inner .vc_column_container .vc_column-inner .wpb_wrapper .wpb_text_column h3{
	color:#fff;
	font-size: 1.6rem;
	margin-bottom:0px;
}

/* Video */
section#video{
	padding-top:0px !important;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper{
	position:relative;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.video{
	position:relative;
	z-index:10;
	margin-bottom:0px;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.video video{
	vertical-align:bottom;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.sound{
	position:absolute;
	z-index:15;
	left:40px;
	bottom:40px;
	margin-bottom:0px;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.sound #volume-btn{
	display:inline-block;
	width:50px;
	height:38px;
	cursor:pointer;
	text-indent:-10000px;
	background:url(../images/sound-on.png) no-repeat center transparent;
	background-size: 100% auto;
}
#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.sound #volume-btn.active{
	background:url(../images/sound-off.png) no-repeat center transparent;
	background-size: 100% auto;
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {
	#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.video video{
		aspect-ratio: 4/2.5;
		object-fit:cover;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 576px) {
	#video .vc_column_container .vc_column-inner .wpb_wrapper .wpb_raw_code.video video{
		aspect-ratio: 1/1;
		object-fit:cover;
	}
}

/* Accordion */



/* Headerbereich Content */
#headerbereich{
	margin-top:-160px;
	position:relative;
	margin-bottom:100px;
}
#headerbereich.singleHeader{
	margin-bottom:0px;
}
#headerbereich{
	overflow:visible;
}
#headerbereich .ult-carousel-wrapper{ margin-bottom:0px; }
.slick-prev{ left: 20px; }
.slick-next{ right: 20px; }
#headerbereich .slidezeile{
	min-height:90vh;
	margin:0;
	padding:0;
}
#headerbereich.tiny .slidezeile{
	min-height:70vh;
}
#headerbereich .vc_column-inner{
	margin:0;
	padding:0;
}
#headerbereich .ult-carousel-wrapper{
	position:relative;
	padding-bottom:0px;
}
#headerbereich .ult-carousel-wrapper .slick-slider .slick-slide{
	position:relative;
	z-index:5;
}
#headerbereich .ult-carousel-wrapper .slick-slider .slick-slide:after{
	content:"";
	position:absolute;
	z-index:10;
	bottom:0px;
	left:-100%;
	width:300%;
	height:300px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,061018+100&0+0,0.65+100 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(6,16,24,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}
#headerbereich .ult-carousel-wrapper .slick-slider .slick-dots{
	position:relative;
	transform:translateY(0px);
}

#headerbereich .wpb_text_column.text-container{
	position:absolute;
	left:10%;
	bottom:15%;
}
#headerbereich .wpb_text_column.text-container h1{
	color:#fff;
	text-shadow: var(--text-shadow-black);
}
#headerbereich .wpb_text_column.text-container h1 .text-hellgold{
	text-shadow: var(--text-shadow-white);
}

#headerbereich .vc_row.textbereich{
	width:1600px;
	max-width:100%;
	position:absolute;
	bottom:0px;
	left:50%;
	transform:translateX(-50%);
}
#headerbereich .vc_row.textbereich .wpb_column.first{
	
}
#headerbereich .vc_row.textbereich .wpb_column.first h1{
	border-left: 10px solid var(--rot);
	padding-left:20px;
	text-shadow: var(--text-shadow-black);
	margin-bottom:140px;
	box-sizing:border-box;
}
#headerbereich .vc_row.textbereich .wpb_column.last{
	background: var(--verlauf-rot-diagonal-down);
	clip-path: polygon(0 0, 100% 0%, 100% 90%, 0% 100%);
	transform:translateY(100px);
}
#headerbereich .vc_row.textbereich .wpb_column.last .wpb_text_column{
	padding: 40px 40px 40px 40px;
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {

}
@media (max-width: 768px) {

}
@media (max-width: 576px) {

}
