/* Kacheln */

.kacheln-container{
	display: flex;
	height: auto;
	flex-direction: column;
}

.kacheln-container .kachel{
	flex: 1;
	transition: all 0.5s ease-in-out;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	min-height: 260px;
}

.kacheln-container .kachel:last-child{
	margin-right: 0;
}

.kacheln-container .kachel::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: #4a4a49;
	z-index: 1;
	pointer-events: none;
	transition: 0.5s ease-in-out;
	opacity: 0;
}

.kacheln-container .kachel:hover::before{
	opacity: 0.4;
}

.kacheln-container .kachel:hover{
	flex: 3;
}

.kachel-content{
	display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    width: 320px;
    flex-direction: column;
    margin: 20px;
	z-index: 2;
	position: relative;
}

.kachel-title{
	color: #FFF;
	font-family: "Fira Sans", Sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 110%; /* 37.4px */
	display: block;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.8);
	white-space: nowrap;
	transition: all 0.5s ease-in-out;
}

.kachel-text{
	color: #FFF;
	font-family: "Fira Sans", Sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 450;
	line-height: 18px;
	display: block;
	margin-top: 8px;
	margin-bottom: 8px;
	transition: all 0.5s ease-in-out;
	opacity: 0;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.8);
}

.kachel-link{
	font-family: "Fira Sans", Sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
	text-transform: uppercase;
    fill: var(--e-global-color-ec44660);
    color: #fff !important;
    background-color: transparent;
    border-style: solid;
    border-width: 1px;
    border-color: #fff;
    border-radius: 0;
	padding: 8px 16px;
	transition: all 0.2s ease-in-out;
	display: inline-block;
	line-height: 1;
	margin-top: 8px;
	transition: all 0.5s ease-in-out;
	opacity: 0;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.8);
	pointer-events: none;
}

.kachel-link:hover{
    background-color: #154194;
    border-color: #154194;
}

.kachel:hover .kachel-text,.kachel:hover .kachel-link{
	opacity: 1;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.5);
	pointer-events: all;
}

.kachel-icon img{
	position: absolute;
    max-width: 100px;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
}

.kachel-icon .kachel-title{
	opacity: 0;
}

.kachel-icon:hover .kachel-title{
	opacity: 1;
}

.kacheln-produktion .kachel-link{
	display: none;
}

.kacheln-produktion .kachel:hover::before {
    opacity: 0 !important;
}


@media(min-width: 450px){
	.kacheln-container .kachel{
		min-height: 320px;
	}
}

@media(min-width: 600px){
	.kacheln-container .kachel{
		min-height: 380px;
	}
}

@media(min-width: 768px){
	.kacheln-container{
		flex-direction: row;
		height: 240px;
	}
	
	.kachel-content{
		width: 360px;
	}

	.kachel-title{
		font-size: 18px;
	}

	.kacheln-container .kachel{
		height: auto;
		min-height: auto;
		margin-bottom: 0;
	}

	.kachel-icon img{
		max-width: 100px;
	}
}

@media(min-width: 1024px){
	.kacheln-container{
		height: 380px;
	}

	.kachel-content{
		width: 450px;
		margin: 30px;
	}

	.kachel-title{
		font-size: 22px;
	}

	.kachel-text{
		font-size: 16px;
		line-height: 22px;
		margin-top: 14px;
		margin-bottom: 14px;
	}

	.kachel-link{
		font-size: 15px;
		padding: 12px 24px;
		margin-top: 14px;
	}
}

@media(min-width: 1280px){
	.kacheln-container{
		height: 450px;
	}

	.kachel-content{
		max-width: 450px;
	}

	.kacheln-container .kachel:hover{
		flex: 2;
	}

	.kachel-title{
		font-size: 26px;
	}
	
	.kachel-icon img{
		max-width: 100px;
	}
}


/* Hero Kachel */
.hero .kacheln-container{
	height: auto;
}

.hero .kacheln-container::after{
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,0.5) 100%);
	pointer-events: none;
}

.hero .kachel{
	display: flex;
	flex-direction: column;
    justify-content: flex-end;
}

.hero .kachel-link{
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
	opacity: 0 !important;
	margin: 0;
}

.hero .kachel-content{
	justify-content: flex-end;
	max-width: none;
	width: 100%;
	margin: 0;
	flex: 1;
}

.hero .kachel-title{
	position: relative;
    top: 0;
	left: 20px;
    font-size: 26px;
    text-transform: uppercase;
    font-weight: 900;
	white-space: normal;
}

.hero .kacheln-container .kachel{
	min-height: 200px !important;
}

@media(min-width: 767px){
	.hero .kacheln-container{
		height: 400px;
	}
	.hero .kachel-title{
		font-size: 1.8vw;
	}
}

@media(min-width: 1024px){
	.hero .kacheln-container{
		height: 600px;
	}
}

@media(min-width: 1366px){
	.hero .kacheln-container{
		height: 800px;
	}

	.hero .kachel-title{
		top: -20px;
		left: 40px;
	}
}


/* Homeicons */

.homeicons-container{
	display: flex;
}

.homeicon{
	position: relative;
	margin-left: 12px;
}

.homeicon:first-child{
	margin-left: 0;
}

.homeicon a{
	display: flex;
    align-items: center;
}

.homeicon img{
	width: 50px;
	z-index: 1;
	transition: all 0.3s ease-in-out;
}

.homeicon span{
	display: none;
	position: absolute;
    background-color: #154194;
    padding: 14px 40px 13px 40px;
    left: 3px;
    border-radius: 89px 0 0 89px;
    z-index: 0;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    font-family: "Fira Sans";
    text-transform: uppercase;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	pointer-events: none;
	white-space: nowrap;
}

.homeicon:hover img{
	z-index: 4;
}

.homeicon:hover span{
	opacity: 1;
	pointer-events: all;
	padding: 14px 105px 13px 165px;
	z-index: 3;
}

@media(min-width:768px){	
	.homeicon span{
		display: block;
	}

	.homeicon img{
		width: 80px;
	}
}

/* Kontakt Button */

.kontakt-container{
    color: #00792F;
}


.inactive .kontakt-btn,.inactive .anruf-btn{
    opacity: 0.6;
}

.anruf-btn-container{
    z-index: 99;
    position: fixed;
    top: calc(250px - 50px);
    right: 0px;
}

.kontakt-btn-container{
    z-index: 99;
    position: fixed;
    top: 250px;
    right: 0px;
}

.kontakt-btn{
    width: 50px;
    height: 50px;
    background: #00792F;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease-in-out;
	cursor: pointer;
}

.kontakt-btn img{
    transition: all 0.2s ease-in-out;
}

.kontakt-btn:hover img{
}   

.kontakt-content{
    position: absolute;
    right: 50px;
    top: 0;
	background-color: transparent;
    background-image: linear-gradient(90deg, #154194E6 0%, #001C36E6 100%) !important;
    border: 0 none;
    padding: 0;
    max-width: 600px;
    width: 80vw;
    transform: translateX(calc(100% + 70px));
    transition: 0.3s ease-in-out;
    z-index: -1;
    max-height: calc(100vh - 250px);
    overflow-y: scroll;
}

@media (min-width: 1024px){

    .anruf-btn-container{
        top: calc(250px - 70px);
    }

    .kontakt-btn{
        width: 70px;
        height: 70px;
    }

    .kontakt-btn img{
        transition: all 0.2s ease-in-out;
    }

    .kontakt-content{
        right: 70px;
    }
}

.kontakt-content .elementor-button{
    width: 100%;
}

.kontakt-content .ansprechpartner-text a{
    font-size: 16px !important;
}

/* width */
.kontakt-container ::-webkit-scrollbar {
    width: 6px;
}

/* Track */
.kontakt-container ::-webkit-scrollbar-track {
    background: #001c36;
}

/* Handle */
.kontakt-container ::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.4); 
}

/* Handle on hover */
.kontakt-container ::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.6); 
}

.kontakt-container.open .kontakt-content{
    transform: translateX(0);
}



.kontakt-ansprechpartner.open a::before,.kontakt-anfrage.open a::before,.kontakt-content a:hover::before{
    opacity: 1;
}

.kontakt-ansprechpartner.open a,.kontakt-anfrage.open a,.kontakt-content a:hover{
    color: #fff !important;
}

.kontakt-content a img{
    width: 36px;
    margin-right: 16px;
    transition: all 0.2s ease-in-out;
}

.kontakt-ansprechpartner.open a img,.kontakt-anfrage.open a img,.kontakt-content a:hover img{
    filter: brightness(0) invert(1);
    margin-right: 20px;
}

.kontakt-ansprechpartner .ansprechpartner-single{
    flex-basis: 100%;
    padding: 0 !important;
}

.kontakt-ansprechpartner-content,.kontakt-anfrage-content{
    display: none;
}

.kontakt-ansprechpartner.open .kontakt-ansprechpartner-content, .kontakt-anfrage.open .kontakt-anfrage-content{
    display: block;
}

.kontakt-ansprechpartner-content select,.kontakt-content input,.kontakt-content textarea,.kontakt-content button{
    display: flex;
    align-items: center;
    padding: 10px 12px;
    line-height: 1;
    transition: all 0.2s ease-in-out;
    position: relative;
    z-index: 2;
    font-size: 20px;
    /* height: 50px; */
    background-color: transparent;
    border-radius: 0;
    outline: none !important;
}
.kontakt-content input, .kontakt-content textarea {
    text-align: center;
}

.kontakt-content button{
    width: 100%;
    text-transform: uppercase;
    text-align: center;
    font-weight: 500;
    position: relative;
    justify-content: center;
    color: #fff;
}

.kontakt-content button::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #E5E5E5;
    opacity: 1;
    z-index: -1;
    transition: all 0.2s ease-in-out;
}

.kontakt-content button:hover::before{
    opacity: 0;
}

.kontakt-content button:hover{
    background: transparent;
    color: #00792F;
}

.kontakt-content button:active,.kontakt-content button:focus{
    background: transparent;
    color: #fff;
}

button.disabled{
    pointer-events: none;
}

.kontakt-content textarea{
    height: 100px;
}

.kontakt-ansprechpartner-content select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
} 

.kontakt-content ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #fff;
    opacity: 1; /* Firefox */
}
  
.kontakt-content :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #fff;
 }
  
.kontakt-content ::-ms-input-placeholder { /* Microsoft Edge */
    color: #fff;
}

.sidebar_anfrage_result{
    color: green;
    font-size: 14px;
    margin-bottom: 12px;
}

.kontakt-content .ansprechpartner-single{
    flex-direction: column;
}

.kontakt-content .ansprechpartner-image, .kontakt-content .ansprechpartner-content{
    width: 100%;
}

.kontakt-content .ansprechpartner-content{
    border: 0 none;
}

.kontakt-content .ansprechpartner-single:last-child{
    margin-bottom: 10px;
}

.kontakt-content .ansprechpartner-content a{
    padding: 0;
    margin: 0;
    color: #005a73 !important;
    border: 0 none;
    height: auto;
    display: inline-block;
}

.kontakt-content .ansprechpartner-content a:hover{
    color: #F8AD1A !important;
}

.kontakt-content .ansprechpartner-content a::before{
    display: none;
}


/* DWL Menu */

.dwl-menu,.dwl-menu ul{
	list-style: none;
	font-family: "Fira Sans",sans-serif;
	padding: 0;
}

.dwl-menu > li{
	font-size: 50px;
	line-height: 60px;
	font-weight: 900;
	width: 400px;
	opacity: 0.7;
}

.dwl-menu > li.open{
	opacity: 1;
}

.dwl-menu > li li{
	font-size: 22px;
	line-height: 45px;
	font-weight: 900;
	text-transform: none;
}

.dwl-menu > li > a{
	text-transform: uppercase;
}

.dwl-menu a{
	color: #fff;
	opacity: 1;
	transition: all 0.2s ease-in-out;
}

.dwl-menu .sub-menu{
	position: relative;
	padding: 30px;
	display: none;
}

.dwl-menu .open .sub-menu{
	display: block;
}

@media(min-width: 768px){

	.dwl-menu::after{
		content: "";
		position: absolute;
		left: 400px;
		width: 1px;
		height: 100%;
		background-color: #fff;
		top: 0;
	}

	.dwl-menu .sub-menu{
		position: absolute;
		left: 460px;
		top: 0;
		opacity: 0;
		transition: all 0.2s ease-in-out;
	}

	.dwl-menu .open .sub-menu{
		opacity: 1;	
		pointer-events: all;
	}

	.dwl-menu .sub-menu{
		display: block;
		padding: 0;
		pointer-events: none;
	}
}

.telnr{
	color: #fff !important;
}