/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later..jet-menu-item .jet-sub-mega-menu .elementor-widget-jet-listing-grid
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* resets
 -----------------------------------------------*/

p{
	margin-bottom: 0;
}

/* variables
 -----------------------------------------------*/

@media (min-width: 320px) {
	:root {
		--section-padding-y: 3rem;
		--section-padding-x: 1rem;
		--section-header: 5rem;
		--image-border-radius: 1rem;
		--border-width: 2px;
	}
}

@media (min-width: 768px) {
	:root {
		--section-padding-y: 5rem;
	}
}

@media (min-width: 1024px) {
	:root {
		--section-padding-y: 4rem;
		--image-border-radius: 1.5rem;
	}
}

@media (min-width: 1140px) {
	:root {
		--section-padding-y: 6rem;
	}
}

@media (min-width: 1420px) {
	:root {
		--section-padding-y: 6rem;
	}
}

@media (min-width: 1920px) {
	:root {
		--section-padding-y: 8rem;
	}
}


/* section
 -----------------------------------------------*/

.section.e-con {
	padding-top: var(--section-padding-y);
	padding-bottom: var(--section-padding-y);
	padding-left: var(--section-padding-x);
	padding-right: var(--section-padding-x);
}


.section.reset-top.e-con {
	padding-top: 0;
}

.section.reset-bottom.e-con {
	padding-bottom: 0;
}

.section.gap-1 > .e-con-inner{
	gap: calc(( var(--section-padding-y)) / 1.5);
}

.section.gap-2 > .e-con-inner{
	gap: calc(( var(--section-padding-y)) / 1.25);
}

/*
.section.e-con.hero-v2{
	padding-top: calc((var(--section-padding-y)) / 3);
}*/

/* section hast background-image
 -----------------------------------------------*/

.section .section-img-background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.section .section-img-background img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* section hast background-video
 -----------------------------------------------*/

.section .section-video-background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.section .section-video-background video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section .section-video-background .elementor-wrapper{
	height: 100%;
	width: 100%;
}

/* images
 -----------------------------------------------*/

.rounded-img img {
	border-radius: var(--image-border-radius);
}

/* styles
 -----------------------------------------------*/

.bordered {
	border: 2px solid !important;
}

/* icon box
 -----------------------------------------------*/

.icon-v1{
	flex: 0 0 auto;
}

.icon-v1.elementor-widget{
	display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: .5rem;
}

/* br
-------------------------------*/

@media (min-width: 320px) {
	span.br {
		display: none;
	}
}

@media (min-width: 960px) {
	span.br {
		display: contents;
	}
}


/* header
-------------------------------*/

.elementor-location-header {
	background-color: transparent;
}

.elementor-location-header header{
	padding: 1rem;
}

header.elementor-sticky--effects{
	background-color: white;
}

.elementor-location-header .logo svg{
	height: 2.5rem;
	width: auto;
}

header .logo svg path,
header .logo svg rect{
	transition: .125s;
}

.elementor-location-header header.elementor-sticky--effects .top-level-link .jet-menu-title,
.elementor-location-header header.elementor-sticky--effects .top-level-link .jet-menu-title + i{
	color: var( --e-global-color-d7d2909 );
}

/*
.home header:not(.elementor-sticky--effects) .logo svg path,
.home header:not(.elementor-sticky--effects) .logo svg rect,
.single-leistung header:not(.elementor-sticky--effects) .logo svg path,
.single-leistung header:not(.elementor-sticky--effects) .logo svg rect{
	fill: #ffffff;
}

.home header:not(.elementor-sticky--effects) .elementor-widget-jet-mega-menu a.top-level-link,
.single-leistung header:not(.elementor-sticky--effects) .elementor-widget-jet-mega-menu a.top-level-link{
	color: #ffffff;
}*/


body:not(.page-id-776):not(.single-leistung):not(.page-id-742):not(.page-id-23):not(.page-id-21) header header:not(.elementor-sticky--effects) .logo svg path,
body:not(.page-id-776):not(.single-leistung):not(.page-id-742):not(.page-id-23):not(.page-id-21) header header:not(.elementor-sticky--effects) .logo svg rect{
	fill: #ffffff!important;
}

body:not(.page-id-776):not(.single-leistung):not(.page-id-742):not(.page-id-23):not(.page-id-21) header:not(.elementor-sticky--effects) .elementor-widget-jet-mega-menu a.top-level-link,
body:not(.page-id-776):not(.single-leistung):not(.page-id-742):not(.page-id-23):not(.page-id-21) header:not(.elementor-sticky--effects) .elementor-widget-jet-mega-menu a.top-level-link{
	color: #ffffff!important;
}

.home header:not(.elementor-sticky--effects) .elementor-button,
.single-leistung header:not(.elementor-sticky--effects) .elementor-button{
	background-color: var(--e-global-color-88956a5);
	color: var(--e-global-color-d7d2909);
}


.elementor-location-header > header:not(.elementor-sticky--effects) .jet-mobile-menu__toggle-icon svg path{
	fill: #ffffff;
}

.jet-mobile-menu__toggle-icon svg{
	width: auto;
	height: 18px;
}

.jet-mobile-menu__toggle{
	height: 44px;
	width: 44px;
}

.elementor-203 .elementor-element.elementor-element-0dcf72e .jet-mobile-menu__item .jet-menu-label{
	font-size: 1.125rem;
}

.jet-mobile-menu__back svg:not([width]){
	min-width: 12px;
}

.jet-mobile-menu__after-template{
	margin-top: auto;
}

/* footer
-------------------------------*/

footer .logo svg path,
footer .logo svg rect{
	fill: #ffffff;
}

footer .logo svg{
	width: auto;
    height: 1.75rem;
}



/* hero v1
-------------------------------*/

@media screen and (min-width: 320px) {
    :root {
       --header-height: 76px;
    }
}

@media screen and (min-width: 1024px) {
    :root {
       --header-height: 80px;
    }
}

.hero-v1{
	margin-top: calc(var(--header-height) * -1)
}

.hero-v1 .hero-content{
	padding-top: var(--header-height);
}

.hero-v1.section{
	padding-top: var(--header-height);
}

.hero-v1.section.smaller{
	padding-bottom: var(--section-padding-y);
}

@media (min-width: 320px){
	.hero-v1{
		height: calc(70vh + (var(--header-height)));
	}
	
	.hero-v1.smaller{
		height: auto;
	}
}


@media (min-width: 560px){
	.hero-v1{
		height: calc(50vh + (var(--header-height)));
	}
}


@media (min-width: 1024px){
	.hero-v1{
		height: calc(60vh + (var(--header-height)));
	}
}

@media (min-width: 1320px){
	.hero-v1{
		height: calc(70vh + (var(--header-height)));
	}
}


@media (min-width: 1920px){
	.hero-v1{
		height: calc(70vh + (var(--header-height)));
	}
}

/* hero v2
-------------------------------*/

.hero-v2{
	overflow: hidden;
}

@media (min-width: 320px){
	.hero-v2{
		height: 80vh;
	}
}


@media (min-width: 560px){
	.hero-v2{
		height: 70vh;
	}
}


@media (min-width: 1024px){
	.hero-v2{
		height: 60vh;
	}
}

@media (min-width: 1320px){
	.hero-v2{
		height: 55vh;
	}
}

@media (min-width: 1920px){
	.hero-v2{
		height: 70vh;
	}
}


/* hero background img
-------------------------------*/
.hero-background-image{
	opacity: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.23, 1), opacity 0.23s, filter 0.4s;
    filter: blur(20px);
    transform:  scaleY(1.5);
    transform-origin: 50% 0;
}

.hero-background-image.active{
	opacity: 1;
    filter: blur(0px);
    transform:  scaleY(1);
}

.hero-background-img-listing{
	position: absolute;
	width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0;
}

.dynamic-tab-service-img-listing{
	
}

.hero-background-img-listing .jet-listing-grid.jet-listing{
	height: 100%;
    position: relative;
}

/*
.jet-listing-grid__items{	
    margin: 0!important;
    width: 100%!important;
}

.jet-listing-grid__item{
    padding: 0!important;
    width: auto;
	max-width: none!important;
}
*/

.hero-background-img-listing .jet-listing-grid__items .jet-listing-grid__item{
	max-width: none;
    position: absolute;
    height: 100%;
    width: 100%;
}

.hero-background-img-listing .jet-listing-grid__item > div,
.hero-background-img-listing .hero-background-image,
.hero-background-img-listing .hero-background-image > div{
	height: 100%;
} 

.hero-background-img-listing .hero-background-image img{
	opacity: .25;
}

/*-- smaller --*/



/* sprungmarken im hero
-------------------------------*/


.sprungmarke.active .elementor-button{
	background-color: var(--e-global-color-7c16034);
}


/* dynamic cpt img active button toggle
-------------------------------*/

.dynamic-tab-service-image{
	opacity: 0;
	will-change: transform, opacity, filter;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.23, 1), opacity 0.13s, filter 0.2s;
    filter: blur(10px);
    transform:  scaleY(1.15);
    transform-origin: 20% 0;
	height: 0;
}

.dynamic-tab-service-image img{
	aspect-ratio: 1;
}

.dynamic-tab-service-image.active{
	opacity: 1;
    filter: blur(0px);
    transform:  scaleY(1);
	height: 100%;
}

.cpt-toggle-button.active .elementor-button{
	background-color: var( --e-global-color-7c16034 )!important;
	color: #ffffff !important;
}



/* mega menue
-------------------------------*/


.jet-menu .jet-sub-mega-menu {
	/*opacity: 1!important;
    visibility: visible!important;*/
	margin-top: 2rem;
}
 

header.elementor-sticky--effects .jet-menu-item .jet-sub-mega-menu{
	margin-top: 3rem;
}
/*
.jet-menu .jet-listing .jet-listing-grid__items{
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(5, 1fr);
}

.jet-menu .jet-listing .jet-listing-grid__items .jet-listing-grid__item{
	
}
*/

.jet-menu-item .jet-sub-mega-menu{
	background-color: transparent;
}

.jet-menu-item .jet-sub-mega-menu .mega-menu-wrapper{
	background-color: #ffffff;
	border-radius: 2rem;
	box-shadow: 0 16px 16px rgba(0, 0, 0, 0.05);
}

.jet-menu-item .jet-sub-mega-menu{
	box-shadow: none;
}

header.elementor-sticky--effects {
	box-shadow: 0 16px 16px rgba(0, 0, 0, 0.025);
}

/*
.jet-menu-item .jet-sub-mega-menu{
	background-color: #0a103e;
	box-shadow: 0 16px 16px rgba(0, 0, 0, 0.025);
}

header.elementor-sticky--effects .jet-menu-item .jet-sub-mega-menu{
	background-color: #ffffff;
}*/


.jet-dropdown-arrow svg path,
.jet-mobile-menu__back svg path,
.jet-mobile-menu__back svg path,
svg path{
	fill: currentcolor;
}

.elementor-icon-wrapper{
	display: flex;
}


/* mega menue item - icon hover--*/

.leistung-post-icon {
    width: 2rem;
    height: 2rem;
    background-color: var(--e-global-color-88956a5);
    border-radius: 4rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
	transition: .125s;
}

.leistung-post-icon:hover{
	background-color: var( --e-global-color-d7d2909 );
}

.leistung-post-icon:hover svg path{
	fill: #ffffff;
}

.mega-menue_item .elementor-heading-title{
	display: flex;
	transition: .125s;
}

.mega-menue_item .elementor-heading-title:hover {
	opacity: .75;
}

.mega-menue_item:hover .elementor-heading-title {
	 transform: translateX(1rem);
}

.leistung-post-icon .elementor-icon-wrapper{
    align-items: center;
    justify-content: center;
    height: 100%;
}

.listing-item  .leistung-post-icon,
.mega-menue_item .leistung-post-icon,
.grid-style_item .leistung-post-icon{
    opacity: 0;
    transform: translateY(1rem);
    transition: .125s;
}

.listing-item:hover  .leistung-post-icon,
.mega-menue_item:hover .leistung-post-icon,
.grid-style_item:hover .leistung-post-icon{
    opacity: 1;
    transform: translateY(0);
}

/* blur effect
----------------------------------------*/

body:after{
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 0;
	z-index: 100;
	backdrop-filter: blur(10px);
	filter: brightness(0.75);
}

body.jet-menu-sub-active:after{
	height: 100%;
}

/* grid style  startseite
----------------------------------------*/

.grid-style_item{
    border-radius: var(--image-border-radius);
    overflow: hidden;
}

/* first 
-------------------------------*/
@media (min-width: 320px){
    .grid-style-v1 .grid-style-v1_one{
       grid-column: 1 / 7;
    }
}

@media (min-width: 1200px){
    .grid-style-v1 .grid-style-v1_one{
       grid-column: 1 / 3;
    }
}

/* second
-------------------------------*/
@media (min-width: 320px){
    .grid-style-v1 .grid-style-v1_two{
        grid-column: 1 / 7;
    }
}

@media (min-width: 390px){
    .grid-style-v1 .grid-style-v1_two{
        grid-column: 1 / 4;
    }
}

@media (min-width: 768px){
    .grid-style-v1 .grid-style-v1_two{
        grid-column: 1 / 4;
    }
}

@media (min-width: 1200px){
    .grid-style-v1 .grid-style-v1_two{
         grid-column: auto;
    }
}


/* three
-------------------------------*/

@media (min-width: 320px){
    .grid-style-v1 .grid-style-v1_three{
        grid-column: 1 / 7;
    }
}

@media (min-width: 390px){
    .grid-style-v1 .grid-style-v1_three{
        grid-column: 4 / 7;
    }
}


@media (min-width: 768px){
    .grid-style-v1 .grid-style-v1_three{
          grid-column: 4 / 7;
    }
}

@media (min-width: 1200px){
    .grid-style-v1 .grid-style-v1_three{
        grid-row: 1 / 3;
        grid-column: 4 / 4;
    }
}

/* four
-------------------------------*/

@media (min-width: 320px){
   .grid-style-v1 .grid-style-v1_four{
        grid-column: 1 / 7;
    }
}

@media (min-width: 390px){
   .grid-style-v1 .grid-style-v1_four{
        grid-column:  1 / 4;
    }
}

@media (min-width: 768px){
   .grid-style-v1 .grid-style-v1_four{
        grid-column: 1 / 4;
    }
}


@media (min-width: 1200px){
    
    .grid-style-v1 .grid-style-v1_four{
           grid-column: auto;
    }

}


/* five
-------------------------------*/

@media (min-width: 320px){
   .grid-style-v1 .grid-style-v1_five{
        grid-column: 1 / 7;
    }
}

@media (min-width: 390px){
   .grid-style-v1 .grid-style-v1_five{
        grid-column: 4 / 7;
    }
}

@media (min-width: 768px){
   .grid-style-v1 .grid-style-v1_five{
        grid-column: 4 / 7;
        grid-row: 3 / 3;
    }
}


@media (min-width: 1200px){
    .grid-style-v1 .grid-style-v1_five{
        grid-column: 2 / 4;
        grid-row: 3 / 2;
    }

}


@media (min-width: 390px) and (max-width: 767px) {
    .elementor-19 .elementor-element.elementor-element-6c272bd {
        --e-con-grid-template-rows: 1fr 200px 200px;
    }
}



/* service slider
-------------------------------*/

.service-slider .jet-listing-grid__slider-icon.slick-arrow{
    border-radius: 60px;
    border: var(--border-width) solid #ffffff;
}

.service-slider .jet-listing-grid__slider-icon.slick-arrow.slick-disabled{
    opacity: .5;
    pointer-events: none;
}

@media (min-width: 1360px){
	.service-slider .slick-list{
		overflow: visible;
	}
}

.service-slider  .slick-list .slick-slide {
	opacity: .5;
	transition: .25s;
}

.service-slider  .slick-list .slick-slide .listing-item{
    overflow: hidden;
    border-radius: var(--image-border-radius);
}

.service-slider  .slick-list .slick-slide .listing-item img{
    	transition: .5s;
}

.service-slider  .slick-list .slick-slide .listing-item:hover img{
    transform:  scale(1.2);
}

.service-slider .slick-list .slick-slide.slick-active {
	opacity: 1;
}

.service-slider .elementor-widget-image:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: .25;
    background: rgb(0,0,0);
background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}


@media (max-width: 764px){
    .service-slider.elementor-element .jet-listing-grid__slider-icon.prev-arrow{
        left: 16px!important;
    }
    
    .service-slider.elementor-element .jet-listing-grid__slider-icon.next-arrow{
        left: calc(64px + 16px)!important;
    }
}

.service-slider .leistung-post-icon,
.grid-style_item .leistung-post-icon{ 
	width: calc(( var(--image-border-radius)) * 2);
	height:  calc(( var(--image-border-radius)) * 2);
}
	
@media (max-width: 768px){
	.service-slider	.listing-item .leistung-post-icon,
	.grid-style_item .leistung-post-icon{
		opacity: 1;
		transform: translateY(0);		
	}
}