/* CSS Document */
.dce {
    line-height: 0;
}

/* Teaser Angebote */

.dce_teaser {
	line-height: 1;
	position: relative;
}

	.dce_teaser_item {
		display: flex;
		flex-wrap: wrap;
		max-height: calc(100vh - 120px);
		margin-bottom: 30px;
		overflow: hidden;
		background:#E8E8E8;
	}

		.dce_teaser_img {
			position: relative;
			max-height: calc(100vh - 120px);
		}

			.dce_teaser_pricewrap {
				position: absolute;
				z-index: 1;
				bottom:10px;
				left:10px;
				width:calc(100% - 20px);
				text-align: center;
				background:rgba(255,255,255,0.7);
				padding:5px;
			}

		.dce_teaser_text {
			padding-left:50px;
			padding-right: 510px;
			/*max-width: calc(100% - 560px);*/
			width: calc(100% - 460px);
			display: flex;
			align-items: center;
			position: relative;
		}

		.dce_teaser_price {
			font-weight: bold;
			font-size:36px;
			display: block;
		}

		.dce_cta {
			position: absolute;
			bottom:10px;
			width: calc(100% - 560px);
			text-align: center;
		}

			.dce_cta span {
				text-transform: uppercase;
				height: 40px;
				line-height: 40px;
				display: inline-block;
				padding: 0 20px;
				background: #5a7865;
				color:#fff;
			}

				.dce_cta span span {
					padding:0;
				}

				.dce_cta span span.active {
					display: none;
				}

			.dce_cta span i {
				display: none;
			}

			.dce_cta.isChecked span i{
				display: inline;
			}


				.dce_cta.isChecked span span.normal {
					display: none;
				}


				.dce_cta.isChecked span span.active {
					display: inline;
				}

			.dce_cta span:hover {
				cursor: pointer;
			}

			.dce_cta .monly {
				display: none;
			}

	.formfix {
		background:#bab9a8;
		display: block;
		position: absolute;
		top:0;
		right: 0;
		width:460px;
		height: calc(100vh - 120px);
		display: flex;
		flex-direction: column;
		align-items: center;
		padding:10px;
	}

	.formfix .frame-default {
		max-width: 100%;
	}

	.formfix header h4 {
		display: none;
	}

	.formfix.bottomfix {
		top:auto;
		bottom:0;
	}

		.formfix.scroll {
			position: fixed;
			top:110px;
			right: 100px;
		}

/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {
.dce_teaser_item {
	max-height: inherit;
}

.dce_teaser_img {
	max-width: 250px;
	max-height: inherit;
}

.dce_teaser_text {
	padding-right: calc(110px - 4%);
	max-width:calc(100% - 300px);
	padding-left:25px;
}
	
	.dce_cta {
		width:100%;
		text-align: left;
	}
	
.formfix {
	width:300px;
	right: -4vw;
	height: calc(100vh - 80px);
}
	
	.formfix.scroll {
		right: 0;
		top:70px;
	}
	
}
@media (max-width: 1023px) {
	
.dce_teaser_item {
		flex-direction: column;
}
	
	.dce_teaser_img {
		width: 100%;
		max-width: inherit;
	}
	
		.dce_teaser_img img {
			width:100%;
			height: auto;
		}
	
	.dce_teaser_text {
		max-width: inherit;
		padding:25px;
		width:100%;
		flex-direction: column;
	}
	
	.dce_cta {
		position: relative;
		bottom:inherit;
		width:100%;
	}
	
	.dce_cta .donly {
		display: none;
	}

	.dce_cta .monly {
		display: inline-block;
	}

	
.formfix {
	position: fixed;
	bottom:0;
	left:0;
	width:100%;
	right: 0;
	height: 60px;
	top:inherit;
	z-index: 2;
}
	
	.formfix.active {
		/*height: calc(100vh - 60px);*/
		overflow: auto;
		top:0;
		height: auto;
		display: block;
		z-index: 100;
	}
	
	.formfix.bottomposition {
		position: relative;
		bottom:inherit;
		left:inherit;
		right: inherit;
		height: auto;
		display: block;
	}
	
.formfix .frame-default {
  width: 92%;
	opacity: 1 !important;
	transform: none !important;
}

.formfix header h4 {
	display: block;
	text-align: center;
	height: 40px;
	line-height: 40px;
}
	
	.formfix header h4 .open {
		display: inline-block;
		height: 40px;
		line-height: 40px;
		padding:0 5px;
		background:#777777;
		color:#fff;
	}
	
	.formfix header h4 .close,
	.formfix.active header h4 .open{
		display: none;
	}
	
	.formfix.active header h4 .close {
		display: inline-block;
	}
	
	.formfix.active h3 {
		text-align: center;
	}
	
	.formfix.active header h4 {
		margin-top: 60px;
		margin-bottom: 1em;
	}
	
.formfix form {
	display: none;
}

.formfix.bottomposition	form,
.formfix form.active {
	display: block;
}
	
	
}
@media (max-width: 767px) {}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */


/* Isotope Bildergalerie */

.dce_referenzen_liste {
	
}

	#main .dce_referenzen_liste .grid-sizer {
		width: calc((100% - 32px) / 5);
	}
	
	#main .dce_referenzen_liste .dce_referenzen_item {
		width: calc((100% - 32px) / 5);
		margin-bottom: 8px;
		line-height:0;
		
		-webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.25);
		-moz-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.25);
		box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.25);
	}
	
		#main .dce_referenzen_liste img {
			width:100%;
			height:auto;
		}
			
	@media screen and (max-width: 767px) {
		
		#main .dce_referenzen_liste .grid-sizer {
			width: calc((100% - 10px) / 2);
		}
		
		#main .dce_referenzen_liste .dce_referenzen_item {
			width: calc((100% - 10px) / 2);
		}
	}

/* Startseiten teaser */

.startdce {
    background:#e8e7de url("../img/startdce_bg.png") 10% center no-repeat;
    position: relative;
    margin:140px 0;
    min-height: 115vh;
}

#main .startdce a,
#main .startdce a:link,
#main .startdce a:active,
#main .startdce a:visited,
#main .startdce a:hover {
    color:#fff;
    text-transform: uppercase;
    display: block;
    line-height: 0;
}

    .sdce_item {
        border:13px solid #f5f5f5;
        text-align: center;
        background:#bab9a8;
        display: inline-block;
        position: absolute;
    }

        .sdce_item.item1 {
            top:-70px;
            right:30%;
            z-index: 4;
        }

        .sdce_item.item2 {
            z-index: 3;
            right:12%;
            top:40%;
        }

        .sdce_item.item3 {
            z-index: 2;
            left:31%;
            bottom:-70px;
        }

         .sdce_item.item4 {
            z-index: 4;
             left:15%;
             top:34%;
        }

        .item_inner {
            position: relative;
        }

        .item_text {
            position: absolute;
            z-index: 1;
            width:100%;
            font-size:30px;
            line-height: 30px;
            bottom:40px;
        }

        .item2 .item_text {
            bottom:160px;
        }

        .item4 .item_text {
            bottom:220px;
        }

            .item_more {
                border:1px solid #fff;
                height:36px;
                line-height: 36px;
                padding:0 13px;
                font-size:18px;
                margin-top:25px;
                display: inline-block;
            }


/*dce5gruende*/

.dce5gruende {
    color:#000;    
}

    #main .dce5gruende li {
        border-bottom:2px dotted #777777;
        list-style:none;
        background:url(../img/li_bg.png) 0 15px no-repeat;
        background-size:20px auto;
        padding-left:36px;  
        line-height:2.4em;
        font-weight: bold;
    }

/* Stoerer */

.dce_stoerer {
	line-height: 1;
	display: flex;
}

	.dce_stoerer_left {
		font-size: 48px;
		font-weight: 900;
		text-transform: uppercase;
	}


/* Bildergalerie 4:3 */
.gallery43 {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
}
	.gallery43 div {
		width:24%;
		margin-bottom:10px;
	}
	.gallery43 div img {
		width:100%;
		height:auto;
	}

/* DCE Text mit Bild */

.dce_tb_wrap {
	border-bottom:1px solid #8e8e8e;
	margin-bottom:50px;
}

.dce_tb_img,
.dce_tb_text {
	float:left;	
}

.dce_tb_img {
	width:100px;	
}

.dce_tb_text {
	padding-left:30px;	
	width:calc(100% - 100px);
    line-height: 1;
}

	#main .dce_tb_text h3 {
        text-align: left;
        text-transform: none;
	}	
	
	.dce_tb_text p {
		margin-bottom:2em;	
	}


/* DCE Preistabelle */

.dce_pricetable_wrap {
    line-height: 1;
}

/* Preistabelle 1. Spalte fix */

.dce_pricecolfix {
	float:left;
	width:calc(25% - 1px);
	font-weight:400;
}

.dce_pricecolfix .dce_pc_date {
	text-align:left;
	font-weight: inherit;
	border-color:#dadada;
}

/* Preistabelle Slider */

.dce_pricetable {
	float:right;
	width:75%;
	font-weight:400;
}

.dce_pricecol {
	text-align:center;
	margin:0 2px;
}

	.dce_pc_date {
		background:#dadada;
		padding:10px 5px;
		border:1px solid #dadada;
		min-height:4em;
		line-height:4em;
		text-align:center;
        font-weight: bold;
	}
	
	.dce_pc_date span {
		display:block;
		text-transform:uppercase;	
	}
	
	.dce_pc_price {
		padding:20px 10px;
		border:1px solid #dadada;
		margin-top:3px;
        
	}
	
	.dce_pc_price:last-child {
		border-bottom:1px solid #dadada;
	}	
	
	.dce_pricecolfix .dce_pc_date,
    .dce_pricecolfix .dce_pc_price {
		background:#5a7865 ;
		border-color:#5a7865 ;
		color:#fff;
	}
	
	.slick-current .dce_pc_price {
		background:#f1f1f1;
	}
	
	.dce_pricetable .slick-prev,
	.dce_pricetable .slick-next {
		height:24px;
		z-index:10;
	}
	.dce_pricetable .slick-prev::before {
		content:"<";	
	}
	
	.dce_pricetable .slick-next::before {
		content:">";	
	}	
	
	.dce_pricetable .slick-prev::before,
	.dce_pricetable .slick-next::before {
		font-size:24px !important;
		color:#7a7b7f !important;
	}
	
	.dce_pricetable .slick-prev {
		left:3px !important;
		top:124px !important;
	}	
	 
	.dce_pricetable .slick-next {
		top:124px !important;	
		right:3px !important;
	}

/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {}
@media (max-width: 1023px) {}
@media (max-width: 767px) {}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */


/* DCE Stärkenbox */

.dce_staerkenbox {

}

	.textwrap {
		display: flex;
	}

	.dce_starken {
		border: 2px solid;
		border-color: #777777;
		padding:20px;
		min-width: 300px;
		margin-left: 20px;
	}

	.dce_starken span {
		font-weight: bold;
		margin-bottom: 1em;
		display: block;
	}

#main .dce_starken ul {
    margin-left:0;
}

.dce_starken li {
    min-height: 70px;
    list-style: none;
    background:url("../svg/dce_staerken_bg.svg") left 10px no-repeat;
    background-size:42px 42px;
    padding-left:60px;
    padding-top:20px;
    padding-bottom:20px;
	line-height: 1;
}


/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {}
@media (max-width: 1023px) {}
@media (max-width: 767px) {
.textwrap {
		flex-direction: column-reverse;
	}
	
	.dce_starken {
		margin-bottom:20px;
		margin-left: 0;
	}
}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */


/* DCE Zimmer */

.dce_zimmerblock {
    display: flex;
    flex-direction: row;
    background: #e6e6e6;
    margin-bottom:45px;
}

.dce_zb_left {
    width:60%;
}

    .dce_zb_right {
        width:40%;
        background:#fff;
        border-top:1px solid #e6e6e6;
        border-right:1px solid #e6e6e6;
        line-height: 1;
        display: flex;
        align-items: center;
        padding:0 50px;
        position: relative;
    }

    .dce_zb_right_inner {
        
    }

        .dce_zri_headline {
            margin-bottom: 30px;
            font-size: 24px;
        }

        .dce_zri_cta {
            position: absolute;
            bottom:0;
            left:0;
            width:100%;
        }

        #main a.dce_cta_btn,
        #main a.dce_cta_btn:link,
        #main a.dce_cta_btn:active,
        #main a.dce_cta_btn:visited,
        #main a.dce_cta_btn:hover {
            display:inline-block;
            text-transform: uppercase;
            color:#fff;
            text-decoration:none;
            background:#3b583d;
            height: 58px;
            line-height: 58px;
            width:calc(50% - 3px);
            text-align: center;
        }

        #main a.dce_cta_btn.dce_cta_btn1 {
            background:#5a7865 ;
        }
        
        #main a.dce_cta_btn.dce_cta_btn2 {
            float:right;
        }


        .dce_zimmerblock .slick-prev, 
        .dce_zimmerblock .slick-next {
            height:113px;
            width:50px;
            margin-top:-56px;
            left:10px;
        }

        .dce_zimmerblock .slick-next {
            left:auto;
            right: 10px;
        }

        .dce_zimmerblock .slick-prev:before,
        .dce_zimmerblock .slick-next:before {
            content:' ';
            height:113px;
            width:50px;
            display:block;
            background: url("../svg/slick_bg.svg") left center no-repeat;
            background-size:113px 100px;
            position: relative;
            z-index: 1;
        }

        .dce_zimmerblock .slick-next:before {
            background: url("../svg/slick_bg.svg") right center no-repeat;
            background-size:113px 100px;
        }
        


/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {}
@media (max-width: 1023px) {

.dce_zimmerblock {
    flex-direction: column;
    }
    
    .dce_zb_left,
    .dce_zb_right {
        width:100%;
    }
    
    .dce_zb_right {
        padding:20px;
        flex-direction: column;
         border: 1px solid #e6e6e6;
        display: block;
    }
    
    .dce_zri_cta {
        position: relative;
    }
}
@media (max-width: 767px) {}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */


/* Bildergalerie quadratisch */
.gallerysquare {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	justify-content: space-around;
}
	.gallerysquare div {
		width:24%;
		margin-bottom:10px;
	}
	.gallerysquare div img {
		width:100%;
		height:auto;
	}

/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {}
@media (max-width: 1023px) {}
@media (max-width: 767px) {}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */

/* Parallax */
.dce_parallax {
}

.dce_parallax img {
    width:100%;
    height: auto;
}

/* RESPONSIVE */
@media (max-width: 1440px) {}
@media (max-width: 1366px) {}
@media (max-width: 1279px) {}
@media (max-width: 1023px) {}
@media (max-width: 767px) {}
@media (max-width: 359px) {}

/* ###################################################################################################### */
/* ###################################################################################################### */

