/*Font*/

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../_fonts/roboto-v51-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

	body {
		font-size: 1em;
		line-height: 1.3;
		color: #30303B;
		font: 400 1em/22px 'Roboto', sans-serif;
	}

	h1 {
		font-family: 'Roboto', sans-serif;
		font-style: normal;
		font-variant: normal;
		font-weight: 400;
		font-size: 1.6em;
	}

	h2 {
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.4em;
	}

	h3 {
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.2em;
	}

	h4 {
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		margin: 1em 0;
		font-size: 1.0em;
	}

	
	h1, .h1, h2, .h3, h3, h4, .h4 {
		color:#B40000;
		font-weight: bold;
	}


	.seotext {
		clear: both;
		background: #eee;
		/*border-bottom: 2px solid #fff;*/
		border-radius: 4px;
		font-size: 0.8em;
		margin-top: 30px;
		padding: 20px 30px;
		color: #30303B;
	}

/*Startseite*/
	.page-home .main, .page-home .navigation	{
		background-color: #eee;
		max-width: 1280px;
	}

	.page-home .main .content, .page-home .link_weitere_informationen a {
		color: #30303B;
	}

	.page-home .main h1, .page-home .main h2, .page-home .main h3 {
		color:#B40000;
		font-weight: bold;
	}
	
	.page-home .a {
		outline: 0;
		text-decoration: none;
		color: #eee;
	}

/*Main größer*/

	.headertop,  .navigation, .slider.headerimage, .flexslider, .social-buttons-inner {
		max-width: 1300px;
		background-color: #30303b;
		color: #eee;		
	}
	
	.main	{
		background-color: #eee;
		max-width: 1300px;
	}


	header, nav , footer , .topnav, .topnav a  {
		background-color: #30303b;
		color: #eee;		
	}

	.topnav {
		position: relative;
		list-style: none;
		z-index: 900;
	}


	.topnav ul li {
		display: block;
		padding: 0px 8px 0px 8px;
		background-color: #30303b;
	}

	.topnav li.active > a {
		color: #B40000;
	}

	.social-mailbox i{
		margin:5px 0 0 0;
	}
	


/*Sliderbilder*/


	.slider.headerimage .flexslider .slides li img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		display: block; /* wichtig gegen Inline-Spacing */
	}

	/* nur einmal auf den relevanten Container anwenden */
	.slider.headerimage {
		max-height: calc(90vh - 165px);
		overflow: hidden; /* verhindert Overflow + Layout-Glitches */
	}

	.slider.headerimage .flexslider,
	.slider.headerimage .flexslider .slides,
	.slider.headerimage .flexslider .slides li {
		height: 100%;
	}


/*boxen sortiment Startseite für content*/

	.homesortiment_1 {
		margin: 0 0 40px -20px;
	}

	.homesortiment_1 a {
		color: #eee;
	}

	.homesortiment_1.animate.scroll {
		opacity: 0;
		transform: scale(1.08, 1.08);
		transition: all 0.8s ease;
	}

	.homesortiment_1.animate.in-view {
		opacity: 1;
		transform: scale(1, 1);
	}

	.homesortiment .col {}

	.homesortiment_1 .box {
		box-shadow: 0 0px 2px 0px rgba(1, 1, 1, 0.2);
		height: 150px;
		position: relative;
		overflow: hidden;
	}

	.homesortiment_1 .box img {
		height: 100%;
		width: 100%;
		object-fit: cover;
		backface-visibility: hidden;
		/*transition: all 0.3s linear 0s;*/
	}

	.homesortiment_1 .box:hover img {
		/*transform: scale(1.03, 1.03);*/
	}

	.homesortiment_1 .box p:before {
		content: "\f105";
		font-family: FontAwesome;
		font-style: normal;
		font-weight: normal;
		text-decoration: inherit;
		color: #eee;
		font-size: 18px;
		padding-right: 0.5em;
		position: absolute;
		top: 10px;
		left: 5px;
		opacity: 0;
		transition: opacity.3s ease;
	}

	.homesortiment_1 .box p {
		position: absolute;
		display: block;
		width: 100%;
		bottom: -16px;
		background: rgba(50, 50, 50, 0.8);
		padding: 2px 10px;
		color: #eee;
		transition: padding 0.3s ease;
	}

	.homesortiment_1 .box:hover p {
		padding: 10px 10px 10px 20px;
	}

	.homesortiment_1 .box:hover p:before {
		opacity: 1;
	}

	/*das Original ausbleneden*/
	.homesortiment{
		display: none;
	}


	.prospekthome {
		margin-top: 25px;
		background: #eee;
		/*border-bottom:  2px solid #eee;*/
		border-radius: 4px!important;
		padding: 5px;
	}

/* startseite custom slider text ##################*/	
	
	.slide-text{
		position:absolute;
		bottom: 25%;
		background: rgba(0,0,0,0.7);
		text-transform:none ;
		color:#fff;
		padding: 0 20px;
		font-size: 300%;
		max-width: 100%;
		object-position: center;	
	}

/*header*/
	.headertop .logo img {
		display: none !important;
	}

	.headertop .haus {
	background: url(images/header_engelhardt.png) no-repeat;
	height: 105px;
	background-color: #30303b;
	}


	.headertop .haus .h1  {
	display: none !important;
	}


/*Blog*/

	.blog-container{
		padding-left: 70px;
		padding-right: 70px;
		box-sizing: content-box;
		display: flex;
		margin-left: auto;
		margin-right: auto;
		max-width: 1280px;
		place-items: center;
	}

	.blog-txt{
		margin: 20px;
	}

	.blog-galerie-grid{
		display: grid;
		column-gap: 25px;
    	grid-template-columns: 1.1fr 4fr;
    	padding: 0em 1em 0.5em 0em;
		place-items: center;
	}

	.blog-galerie{
		width: 33%;
		padding: 5px;
		min-height: 450px;
    	float: left;	
	}

	/*für die Anzeige eigerner BLOG-Einträge*/
	.blog-card-galerie{
		width: 33%;
		padding: 5px;
		min-height: 1px;
		float: left;	
	}

	.blog-card-container{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		max-width: 1200px;
		margin-block: 2rem;
		gap: 2rem;
		max-height: 25vh;
	}


	.blog-card{
		display: flex;
		flex-direction: column;
		width: clamp(20rem, calc(20rem + 2vw), 22rem);
		overflow: hidden;
		box-shadow: 0 .1rem 1rem rgba(0, 0, 0, 0.4); 
		/* border-radius: 1em;  */
		background: #ECE9E6;
		/* background: linear-gradient(to right, #FFFFFF, #ECE9E6);  */
	}

	.blog-card-img{
		max-width: 100%;
		display: block;
		object-fit: cover;
	}

/*Prospekt*/

	.prospekt {
		position: relative;
		background: transparent;
		min-height: 250px;   
	}
	
	.prospekt .prospekt_text {
		display: block;
		float: left;
		width: 65%;
		font-size: 1.2em;
		padding: 20px;
	}

/* add custom styles*/
/* Home Overlay  ####################################################*/
	.home-overlay{
		z-index: 2;
		position: absolute;
		width: 100%;
		top:0;
	}

	.home-overlay-container{
		width: 600px;
		/*position #################*/
		margin: 250px auto 0 auto;
		/*color overlay #############*/
		background: rgba(255, 255, 255, 0.8);
	}

	.home-overlay .image{
		width: 50%;
		float: left;
		padding: 10px;

	}
	.home-overlay .text{
		width: 50%;
		float: left;
		padding: 10px;
	}

/* end Home Overlay  ##################################################*/

	.logoright .haus h1, .logoright .haus .h1 {
	font-size: 2.8em;
	}


/*wohnbereiche custom image-boxen*/
	 .page-wohnbereiche .pcustom .space{
		margin-top: 30px;
		
	 }
/*wohnbereiche custom zusätzliche bilder*/
	.col-moreimages{
	margin-top: 20px;
	}
	.col-moreimages .moreimages{
		float: left;
		margin: 0 10px 10px 0;
		width: calc(33.333333% - 10px);

	}
/* Infobox 3-spaltiger Text #######################################*/

	.info_box{
		-moz-column-gap: 10px;
		column-count: 3;
		column-gap: 25px;
		column-rule-style: solid;	
	}
	
	.page-home .info_box{
		color: #eee;
		background: #30303B;
		column-rule-style: solid;		
	}

/*//logo galerie####################################################*/

	.box-logo{
		width: 15%;
		padding: 5px;
	}

	.div-logo{
		background: #2D2D37;
		border: 1px solid #eee;
		border-bottom: 2px solid #e3e3e3;
		text-align: center;
		height: 75px;
		margin: auto;
		position: relative;

	}

	.div-logo img{
	   position: absolute;
		top: 50%;
		left: 50%;
		margin-right: -50%;
		transform: translate(-50%, -50%);
		backface-visibility: hidden;
		max-height: 90%;
		max-width: 90%;
	}

	.page-home 	.box-logo{
		width: 20%;
		padding: 5px;
	}

	.page-home 	.div-logo{
		background: #FFFFFF;
		border: 1px solid #FFFFFF;
		border-bottom: 2px solid #FFFFFF;
		text-align: center;
		height: 150px;
		margin: auto;
		position: relative;

	}

/*//logo banner####################################################*/

	.box-logo_banner {
		width: 10%;
		padding: 5px;
	}

	.div-logo_banner {
		background: #fff;
		border: 1px solid #eee;
		border-bottom: 2px solid #eee;
		text-align: center;
		height: 50px;
		margin: auto;
		position: relative;
	}

/* Galerie mit Text*/

	.box-logo_galerie{
		width: 33%;
		padding: 50px;		
	}

	.box-logo_galerie_25{
		width: 25%;
		padding: 5px;		
	}

    .box-logo-text-l{
		text-align: left;
		width: 100%;
		min-height: 1px;
		overflow: hidden;
	}

	.box-logo-text{
		width: 100%;
		text-align:center;
		min-height: 1px;
		overflow: hidden;
	}

	.box-logo-image{
		width: auto;
		height: auto;
		max-height: 164px;
		max-width: 100%;
	}
/*Bildergallerie */

 /*//ueber-uns######################################################*/

	.p-ueber-uns .col{
		padding: 10px;

	}
	.p-ueber-uns .col .mod{
		min-height: 430px;
		border: 1px solid #eee;
		border-bottom: 2px solid #e3e3e3;
		padding: 10px 10px 0 10px;
		background: #F2F2F2;
		font-size: 0.8em;
	}

	.p-ueber-uns .col .mod .text{

	}
	img.service{
	margin-top: 15px;
	}

	.gmapcontent2{
	float: right;
	margin: -130px 125px 0 0;
	}


	.service_img {
		border-radius: 25%;
	}

/*//video reponsive######################################################*/

	.responsive-video {
    	position: relative;
    	padding-bottom: 55%;
    	padding-top: 30px;
    	height: 0;
    	overflow: auto;
	}

	.responsive-video video,
	.responsive-video iframe
	.responsive-video object,
	.responsive-video embed {
   	 position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
   	 height: 100%;
	}


/* responsive IFrame Darstellung############################################*/
	.embed-container {
		position: relative; 
		padding-bottom: 100% /*56.25%;*/ /* ratio 16x9 */;
		height: 0; 
		overflow: hidden; 
		width: 100%;
		height: auto;
	}
	
	.embed-container iframe {
		position: absolute; 
		top: 0; 
		left: 0; 
		width: 100%; 
		height: 100%; 
	}
	
	/* ratio 4x3 */
	.embed-container.ratio4x3 {
	  padding-bottom: 75%;
	}	
	
	
/* All Mobile Sizes (devices and browser) */

@media only screen and (max-width: 959px) {

	/*Navigation Menü Text*/
	.opennav:before{
		content: 'Menü';
		margin-right: 10px;
		font-size: 0.7em;	
		color:#fff;
	}	

	.topnav li.active > a {
		color: #B40000;
	}
	
	.topnav {
		background: transparent;
		color: #323232;
	}

	.topnav ul li {
		background: transparent;
	}

	.topnav li a {
        display: block;
        width: 100%;
        padding: 5px;
        background: transparent;
		color:#323232;
    }

	.fa {
		color:#fff;
	}

	.m_home i {
		color:#323232
	}

	.headertop .haus h1, .headertop .haus .h1{
			font-size: 1.8em;
			padding: 0 0 30px 10px;
	}
	
	.blog-galerie {
		width: 50%;
		padding: 5px;
		min-height: 350px;
	}

	.box-logo_galerie {
		width: 50%;
		padding: 5px;
	}

	.box-logo-text{
		width: 100%;
	}

	.box-galerie {		
		padding: 5px;
	}

}

@media only screen and (max-width: 810px) {

	.box-logo_galerie{
		width: 100%;
		padding: 5px;
		display: grid;
		column-gap: 25px;
		grid-template-columns: 1.1fr 4fr;	
	}

	.box-logo_galerie_25 {
		width: 100%;
		padding: 5px;
		display: grid;
		column-gap: 25px;
		grid-template-columns: 1.1fr 4fr;
		
	}

	.blog-galerie {
		display: block;
 	}			
	
	.box-logo-text-l {
		max-width: max-content;
	}
	

	.blog-container{
		display: block;
		padding-left: 0;
		padding-right: 0;
	
	}  

	.p-ueber-uns .col{
		width: 100%;
	}

	.blog-card-galerie {
		width: 45%;
		padding: 5px;
		min-height: 300px;
		float: left;
		/* max-height: 25vh; */
	}


}

@media only screen and (max-width: 768px) {
		.box-logo{
		width: 50%;
		}

		.page-home .box-logo {
			width: 50%;
		}

		.p-ueber-uns .col{
		width: 100%;
		}

		.gmapcontent2{
		float: left;
		margin: inherit;
		}

		.headertop .haus h1, .headertop .haus .h1{
			font-size: 1em;
			display: block;
			margin: 0;
			padding: 0 0 10px 10px;
		}

		.page-service .content ul{
		width: 100%;
		display: inline-table;
		margin-top: 40px;
		}


		.page-home .box-logo {
			width: 50%;
		}


		.info_box {
			column-count: 1;
		}

		.page-home .info_box {
			color: #30303B;
			background: #eee;
			column-rule-style: solid;
			column-count: 1;
		}

			.headertop .haus {
		background: url(images/header_engelhardt.png) no-repeat;
		height: 105px;
		background-color: #30303b;
		margin: -150px;
	}
}

@media only screen and (max-width: 700px) {
	.home-overlay{
		display: none;
	}

	.slide-text{
		display: none;
	}

	.headertop .haus {
		background: url(images/header_engelhardt_700k.png) no-repeat;
		height: 160px;
		background-color: #30303b;	
	}
}


@media only screen and (max-width: 479px) {
	.headertop .haus {
		background: url(images/header_engelhardt_350k.png) no-repeat;
		height: 115px;
		background-color: #30303b;
	}

	.blog-galerie {
		display: contents;
	}

	.blog-galerie-grid{
		display: contents;
	}

	.box-logo_galerie{
		display: contents;
	}

	.blog-card-galerie {
		width: 100%;
		padding: 5px;
		min-height: 300px;
		float: left;
		/* max-height: 25vh; */
	}

}
	