
/*Font*/
/* raleway-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: 'Raleway';
		font-style: normal;
		font-weight: 400;
		src: url('../_fonts/raleway-v29-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	}

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

	body {
		font-size: 1em;
		line-height: 1.3;
		color: #494747;
		font: 400 1em/22px "Raleway", Helvetica Neue, Helvetica, Arial, sans-serif;
	}
	
	h1 {
		font-family: 'Raleway', sans-serif;
		font-style: normal;
		font-variant: normal;
		font-weight: 700;
		font-size: 1.8em;
	}
	
	h2 {
		font-family: 'Raleway', sans-serif;
		font-weight: 700;
		font-size: 1.6em;
	}
	
	h3 {
		font-family: 'Raleway', sans-serif;
		font-weight: 700;
		font-size: 1.4em;
	}
	
	h4 {
		font-family: 'Raleway', sans-serif;
		font-weight: 700;
		margin: 1em 0;
		font-size: 1.2em;
	}
	

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

/*Startseite*/
	.page-home .main	{
		background-color: #fff;
		max-width: 1200px;
	}

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

	.page-home .main h1, .page-home .main h2, .page-home .main h3 {
		color:#4F4083;
	}

	h1, .h1, h2, .h3, h3, h4, .h4 {
		color:#4F4083;		
	}

/*Socialmedia*/  
  .social-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    top: 20px;
    z-index: 9999;
  }    


/*Main größer*/

	.headertop, .topnav, .navigation, .slider.headerimage, .flexslider, .main, .social-buttons-inner {
		max-width: 1280px;
		background-color: #fff;		
	}

	header, nav {
		background-color: #fff;
	}

	.topnav li.active > a {
		color: #fff;
	}
	.topnav li.active a {
		color: #4F4083;	
	}

	.p{
		color: #222;
	}


/*Sliderbilder Unterseiten größer*/

	.slider.headerimage .flexslider .slides li img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		border-radius: 0 0 85% 85% / 0%;
	}

	.slider.headerimage, .slider.headerimage, .slider.headerimage .flexslider, .slider.headerimage .flexslider .slides, .slider.headerimage .flexslider .slides li, .slider.headerimage .flexslider .slides li img {
		max-height: calc(90vh - 165px); /*90 Standard*/
		background-color: transparent;
	}

/* 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;	
	}


/*Logo-Slider*/
@mixin white-gradient {
	background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}

/* Animation*/
@keyframes scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-250px * 7))}
}


.logoslider {
	background: transparent;
	box-shadow: 0 10px 20px -5px rgba(0, 0, 0, .125);
	height: 120px;
	margin: auto;
	overflow:hidden;
	position: relative;
	width: 100%;
	
	&::before,
	&::after {
		@include white-gradient;
		content: "";
		height: 100px;
		position: absolute;
		width: 200px;
		z-index: 2;
	}
	
	&::after {
		right: 0;
		top: 0;
		transform: rotateZ(180deg);
	}

	&::before {
		left: 0;
		top: 0;
	}
	
	.slide-track {
		animation: scroll 40s linear infinite;
		display: flex;
		width: calc(250px * 14);
		flex-direction: row;
	}
	
	.slide {
		width: 300px;
		display: flex;
		object-fit: cover;
		text-align: center;
		margin: auto;
		padding: 20px;
	}
}

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

	.headertop .haus {
	background: url(images/header_wurster.png) no-repeat;
	height: 140px;
	}

	.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-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;
		float: left;
		min-height: 30vh;	
	}

/*für die Anzeige - Ratgeber, News etc.*/

	.news-card {
		display: flex;
		margin-bottom: 20px;
		border-top: #323232 1px groove;
	}
	
	.news-card-img {
		margin-right: 15px;
		flex-shrink: 0;
		float: left;
		margin-top: 15px;
	}
	
	.news-txt {
		flex-grow: 1;
		overflow: hidden;
	}

/* für eigene 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: 2.5rem;
		max-height: 50vh;
	}


	.blog-card{
		display: flex;
		flex-direction: column;
		width: clamp(20rem, calc(20rem + 2vw), 22rem);
		overflow: hidden;	
	}

	.blog-card-img{
		max-width: 100%;
		display: block;
		object-fit: cover; 
	
	}
	
	.blog-card-text{
		max-width: 300px;
		width: 100%;
		margin: 0% auto 0;
		position: absolute;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
		padding-top: 110px;
		overflow: hidden;
		transition: all .52s ease-in-out;
	}

/*Kundenstimmen und Marken*/
		#frame {
			margin-left: 20px;
			width: max-content;
			min-height: 200px;
		}
			
		#Hauptspalte {
			width: 65vh;
			float: left;
			margin-bottom: 20px;
			margin-left: 30px;
		}

		#linkeSpalte {
			float: left;
			width: 150px;
		}
		#rechteSpalte {
			float: right;
			width: auto;
		}
		#enclose {
			float: left;
			width: 560px;
		}
		#Fusszeile {
			clear: both;
			padding-top: 1em;
			text-align: center;
		}


/* 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{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 2em;
		padding: 1em 0 3em 0;
	}
	
	.page-home .info_box{
		color:white;
	}

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

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

	.div-logo{
		background: #fff;
		border: 1px solid #eee;
		border-bottom: 2px solid #e3e3e3;
		text-align: center;
		height: 150px;
		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%;
	}

/*//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%;
	}

	


/*//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;	
	}	
	.headertop .haus h1, .headertop .haus .h1{
			font-size: 1.8em;
			padding: 0 0 30px 10px;
	}
	
	.info_box p{
		color:#494747;
	}

	.blog-galerie {
		width: 50%;
		padding: 5px;
		display: block;
	}

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

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

	#frame {
		margin-left: 20px;
		min-height: 200px;
	}

	#Hauptspalte {
		width: 50vh;
		float: left;
		margin-bottom: 20px;
		margin-left: 30px;
		min-height: 200px;
	}

	#linkeSpalte {			
		width: 200px;
	}

}

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

	.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;
		
	}


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

	.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: 550px;
		float: left;
	}
}

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

	.slide-text{
		display: none;
	}
}

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

		.news-card {
			display: grid;
			border-top: #323232 1px groove;
			margin-top: 15px;
		}
	
		#frame {
			margin-left: 20px;
			min-height: 200px;
		}

		#Hauptspalte {
			width: 65vh;
			float: left;
			margin-bottom: 20px;
			margin-left: 30px;
			min-height: 200px;
		}

		#linkeSpalte {			
			width: 200px;
		}

		.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;
		}


		.headertop .haus {
			background: url(images/header_wurster_k700.png) no-repeat;
			height: 100px;
		}

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

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

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

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

	#frame {
		margin-left: 20px;
		min-height: 200px;
	}

	#linkeSpalte {
		width: -webkit-fill-available;
	}

	#Hauptspalte {
        width: 350px;
        margin-left: 0px;
        min-height: 200px;
    }

	.headertop .haus {
		background: url(images/header_wurster_k300.png) no-repeat;
		height: 100px;
	}

	.blog-galerie {
		display: contents;
	}

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

	.box-logo_galerie{
		display: contents;
	}

	.blog-card-galerie {
		width: 100%;
		padding: 5px;
		min-height: 550px;
		float: left;
	}

}
	