/*
Theme Name: SCHÄFER FM
Theme URI: https://www.schaefer.ag
Author: SCHÄFER AG
Description: WordPress Theme basierend auf der bestehenden TYPO3-Website.
Version: 1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: schaefer-fm
*/

#menuContainerMobile {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: white;
  overflow-y: auto;
}

#menuContainerMobile.menu-active-1 {
  display: block;
}
.immo_video {
	margin-bottom: 0px !important;
}



.socialfooter {
	text-align: center !important;
	padding-bottom: 20px;
	width: 100%;
}
.socialfooter a {
	padding-left: 8px;
	padding-right: 8px;
	text-decoration: none !important;
	color: #C4C7C7 !important;
}
.socialfooter a:hover {
	text-decoration: none !important;
}

.row {
	margin-left: 0px;

}



.w3-wrapper{
		color: #ffffff;
		text-decoration: none;
		font-size: 15px;
		position: relative;
		padding: 11px 7px 15px 7px;
		display: block;
		border-bottom: 3px solid transparent;
		transition: all 0.3s;
		box-sizing: border-box;
		height: 54px;
		width:38px;
		
	   
	
	}
	.notify-icon{
	  width: 25px;
		height: 25px;
		display: block;
		position: relative;
		background-position: center center;
	  
	}
	.notify-animation {
		animation:ring 1.6s linear infinite;
	}
	.w3-count{
	   position: absolute;
		padding: 1px 6px;
		background: #C00;
		color: #fff;
		border-radius: 30px;
		top: 7px;
		right: 0px;
		min-width: 12px;
		font-size: 11px;
		z-index: 200;
		text-align: center;
		  animation: w3-alert-red 1.6s infinite;
		  display: none;
	}
	@keyframes w3-alert-red {
		0% {
			-webkit-box-shadow: 0 0 0 0 rgba(254, 57, 5, 0.7);
			-moz-box-shadow: 0 0 0 0 rgba(254, 57, 5, 0.7);
			box-shadow: 0 0 0 0 rgba(254, 57, 5, 0.7)
		}
		100% {
			-webkit-box-shadow: 0 0 0 15px rgba(254, 57, 5, 0);
			-moz-box-shadow: 0 0 0 15px rgba(254, 57, 5, 0);
			box-shadow: 0 0 0 15px rgba(254, 57, 5, 0)
		}
	}
	
	@keyframes ring
	  {
		0% { transform: rotate(0deg) }
		5% { transform: rotate(0deg) }
		15% { transform: rotate(0deg) }
		25% { transform: rotate(20deg) }
		35% { transform: rotate(-15deg) }
		45% { transform: rotate(10deg) }
		55% { transform: rotate(-5deg) }
		60% { transform: rotate(0deg) }
		100% { transform: rotate(0deg) }
	  }





.cn-button {
	color: white !important;
}
.videofront {
	width: 100%;
	margin: auto;
	text-align: center;
}
.videofrontpage {
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.videofront {
	width: 80%;
}

.searchmessage {
	margin-bottom: 50px;
}
.smallrow {
	margin-top: -40px !important;
}
h4 {
	margin-bottom: 10px !important;
}

.form-group label {
	font-weight: normal;
	font-size: 10px;
}
.formline label {
	font-weight: normal;
	font-size: 10px;
}
.provision {
	padding-top: 20px;
	padding-bottom: 10px;
}
.redtext a {
	color: #C00 !important;

}
.redtext :before {
	color: #C00 !important;

}

div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 5px !important;
}

img.alignleft {
	float: left;
	padding-right: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.btn-read-more {
	display: none;
}

.lead {
	font-size: 16px;
}

.liveblog h2 {
	padding-top: 30px;
	padding-bottom: 30px;
}

.videotextbox a:link { text-decoration: none !important; }

.videotextbox a:visited { text-decoration: none !important; }

.videotextbox a:hover { text-decoration: none !important; 
	cursor: pointer;
	
}

.videotextbox a:active { text-decoration: none !important; }





.wpforms-submit {
	background-color: lightgray !important;
	padding: 10px !important;
	margin-top: -10px !important;
	width: fit-content !important;
	padding-right: 15px !important
	width: fit-content !important;
	font-size: 12px !important;
	color: black !important;
	border: none;
	border-width: 0px;
}
.wpforms-submit-container {
	padding-left: 5px !important;
}
.wpforms-submit a:hover {
	border: none;
	border-width: 0px;
}
div.wpforms-container-full .wpforms-form input {
	font-size: 12px !important;
}



.merkliste_buttons .s-button{
	display: inline-block;
	width: 100%;
}

.merklistelink :before {

	 font-family:fontawesome;
	content:'\f005';
	font-style:normal;
	  margin-right: 0px;
	  margin-top: 0px;
	  margin-left: -15px;
	  font-size: 12px;
	  float: left;
	  color: gray;
	  height: 10px;

}

.merklistelink {
float: right;
margin-right: 100px;
margin-top: 8px;
font-size: 12px;
top: 5px;
	
}
.merklistelink a {
	color: gray;
}

.merkliste  {
	float: right;
	height: 38px;
	margin-top: -10px;
	font-style: normal !important;
	display: inline-block;
}
.merkliste {
	z-index: 444;
	position:relative;
}

.merkliste i {
  cursor:pointer;
  padding:10px 12px 8px;
  background:#fff;
  border-radius:50%;
  display:inline-block;
  margin:0 0 15px;
  color:#aaa;
  transition:.2s;

}


.merkliste i:hover {
  color:#666;
}

.merkliste i:before {
  font-family:fontawesome;
  content:'\f005';
  font-style:normal;
  

}

.merkliste span {
  position: absolute;
  bottom:70px;
  left:0;
  right:0;
 visibility: hidden;
  transition:.6s;
  z-index:-2;
  font-size:2px;
  color:transparent;
  font-weight:400;

  
}

.merkliste i.press {
  animation: size .4s;
  color:#e23b3b;
}

.merkliste span.press {
  bottom:120px;
  font-size:14px;
  visibility:visible;
  animation: fade 1s;
}
.merklistebutton {
	float: left;
	font-size: 14px;
	padding-left: 0px !important;
}

@keyframes fade {
  0% {color:#transparent;}
  50% {color:#e23b3b;}
  100% {color:#transparent;}
}

@keyframes size {
  0% {padding:10px 12px 8px;}
  50% {padding:14px 16px 12px;  
	margin-top:-4px;}
  100% {padding:10px 12px 8px;}
}



.headline {
	margin-top: 170px;
}
.headline h2 {
	font-weight: 800 !important;
}
.headline h4 {
	font-weight: 800 !important;
}

.blockformat {
	text-align: justify;
}

.filter-column-spacer {
		height: 43px;
		width: 20px;

	}

/* SLIDER START */



.owl-carousel,
.owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative
}

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden
  margin-top: -20px !important;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%
}

.owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
  display: none
}

.no-js .owl-carousel,
.owl-carousel.owl-loaded {
  display: block
}

.owl-carousel .owl-dot,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block
}

.owl-carousel.owl-hidden {
  opacity: 0
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab
}

.owl-carousel.owl-rtl {
  direction: rtl
}

.owl-carousel.owl-rtl .owl-item {
  float: right
}

.owl-carousel .animated {
  animation-duration: 1s;
  animation-fill-mode: both
}

.owl-carousel .owl-animated-in {
  z-index: 0
}

.owl-carousel .owl-animated-out {
  z-index: 1
}

.owl-carousel .fadeOut {
  animation-name: fadeOut
}

@keyframes fadeOut {
  0% {
	opacity: 1
  }
  
100% {
	opacity: 0
  }
}

.owl-height {
  transition: height 0.5s ease-in-out
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 2.0s ease
}

.owl-carousel .owl-item .owl-lazy:not([src]),
.owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0
}

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url('owl.video.play.png') no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 0.1s ease
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3)
}

.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
  display: none
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 0.4s ease
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%
}

.owl-theme .owl-dots,
.owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent
}

.owl-theme .owl-nav {
  margin-top: 10px
}

.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px
}

.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none
}

.owl-theme .owl-nav .disabled {
  opacity: .5;
  cursor: default
}

.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 10px
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1
}

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity 0.2s ease;
  border-radius: 30px
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #869791
}


.main-head {
	background: #0D1440;
	box-shadow: 0px 1px 10px -6px rgba(0, 0, 0, .15);
	padding: 1rem;
	margin-bottom: 0;
	margin-top: 5rem;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	border-radius: 4px;
	font-size: 16px;
}


/*slider*/

/*


SLIDER END */ 



.boxspacer {
	margin-bottom: 20px;

}
.wpforms-field-label-inline {
	font-size: 12px !important;
	
}

select {
	color: gray !important;
	font-size: 12px !important;
}

.wpforms-container input, textarea,select {
	background-color: #F8F8F8 !important;
}
.wpforms-field-label {
	font-size: 12px !important;
	font-weight: normal !important;
}

.intro-text {
	padding-right: 80px;
	font-size: 18px;
	color: gray;
	line-height: 1.8;
}
.space {
	height: 25px;
}
.table-title {
	padding-right: 8px;
	text-align: left;
}

.kontakt-image {
	float: left;
	width: 180px !important;
	text-align: center;
	
}
.request {
	margin-left: 15px;
}
.contact-details-icon {
	font-size: 48px;
	margin-left: -50px;
	margin-bottom: 10px;
	margin-top: -20px;
	color: lightgray;
}
.contact-details {
	
	text-align: center;
	margin-top: 30px;
	color: gray;
	float: right;
	width: 180px;

}
.kontakt-details {
	text-align: center;
	margin-top: 10px;
	color: darkgray;
	float: right;
	width: 180px;
}
.kontakt-details h3 {
	font-size: 14px;
}
.kontakt-details-sub {
	font-size: 12px;
	padding-bottom: 20px;
	text-align: left;
	padding-left: 0px;
}
.kontakt-details .s-button {
	margin-left: -35px;
}
.contact-info {
	font-size: 14px;
}
.immo-kontakt-frame {
	float: right;
	width: 400px;
	border-radius: 10px;
	padding: 10px;
	margin-top: -30px;
	margin-bottom: 20px;
	border-color: lightgray;
	border-radius: 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.kontakt-avatar {
	width: 120px;
	height: auto;
	margin-bottom: 10px;
}
.kontakt-table {
	text-align: left;
	font-size: 14px;
	margin-left: -50px;
}
.kontakt-name {
	width: 100%;
	text-align: center;
	font-weight: bold;
	color: #C00;
}
.kontakt-name-sub {
	font-size: 12px;
	text-align: center;
	
}
.immo-kontakt {
	text-align: center !important;
}
.service-list {
	  list-style: none;
	}
	
	.service-list li:before {
	  content: '✓';
	  margin-right: 10px;
	  margin-top: -2px;
	  margin-left: -25px;
	  font-size: 20px;
	  float: left;
	  color: #C00;
	}

.service-list {
	color: lightgray !important;
}
.service-list li {
	color: gray !important;
	margin-bottom: 20px;
	margin-left: 25px;
	
	
}

.nav-divider {
	  color: lightgray;
	  margin-left: 50px;
	  margin-right: 50px;
}

.smart {
	background-color: white !important;
}
.economy {
	background-color: #ceb392;
	background-image: url('https://www..schaefer.ag/wp-content/userfiles/myfacility.jpg') !important;
	  background-size: cover !important;
	  background-position: center; 
	  background-repeat: no-repeat;
}
.luxury {
	background-color: #292524 !important;
}


h3 {
	margin-bottom: 15px;
	text-align: left !important;
}

h1 {
	margin-bottom: 15px;
	text-align: left !important;
	font-size: 24px;
}
.centerh3 {
	text-align: center !important;
	float: center;
	width: 100%;
}
.immo_video {
	margin-top: 5px;
	margin-bottom: 30px;
}



.youtubevideo {
	margin-block: 80px;
}
.video-container-yt {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0;
	height: 0;
	overflow: hidden;
	margin-bottom: 40px;
}

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

.wp-block-button {
	color: lightgray;
}
.wp-block-button__link {
	background-color: lightgray;
}
.wp-block-button__link

.serviceRow {
	padding-right: 20px;
}
.serviceBox{
	font-family: 'Poppins', sans-serif;
	text-align: left;
	padding: 0 20px 20px;
	margin: 5px 5px;
	border-radius: 20px;
	position: relative;
	//min-height: 910px;
	z-index: 1;

	
}
.glyphicon-ok {
	min-height: 10px;
	font-size: 18px;
	float: left;
}
.serviceTitle {
	color: #C00;
	font-weight: lighter;
	font-size: 16px;
	min-height: 80px;
	text-align: center !important;
	width: 100%;
	
}
.serviceBox:before{
	content: '';
	background-color: #fff;
	background-color: #e8c99b;
	background-color: #d9d9d9;
	background-image: linear-gradient(315deg, #d9d9d9 0%, #f6f2f2 74%);
	//border-bottom: 30px solid lightgray;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	position: absolute;
	left: 0;
	right: 0;
	top: 20px;
	bottom: 0;
	z-index: -1;
	
}
.serviceBox .service-icon{
	color: lightgray;
	background-color: lightgray;
	font-size: 35px;
	text-align: center;
	height: 155px;
	width: 100%;
	padding: 7px;
	margin: 0 auto 30px;
	border-radius: 25px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
	
	
}
.serviceBox .service-icon:before{
	content: '';
	background-color: lightgray;
	height: 30px;
	width: 30px;
	border-radius: 5px;
	transform: rotate(45deg);
	position: absolute;
	left: 25px;
	bottom: -10px;
	display: none;
	
}
.serviceBox .service-icon span{
	background-color: #fff;
	line-height: 60px;
	height: 60px;
	width: 60px;
	border-radius: 50%;
	display: inline-block;
}
.serviceBox .title{
	color: lightgray;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 27px;
	text-transform: uppercase;
	margin: 0 0 10px;
	
}
.serviceBox .description{
	color: #999;
	font-size: 14px;
	line-height: 22px;
	margin: 0;
}
.serviceBox.magenta:before{ border-color: #FF415A; }
.serviceBox.magenta .service-icon,
.serviceBox.magenta .service-icon:before{
	color: #FF415A;
	background-color: #FF415A;
}
.serviceBox.magenta .title{ color: #FF415A; }
.serviceBox.pink:before{ border-color: #FF679F; }
.serviceBox.pink .service-icon,
.serviceBox.pink .service-icon:before{
	color: #FF679F;
	background-color: #FF679F;
}
.serviceBox.pink .title{ color: #FF679F; }
.serviceBox.purple:before{ border-color: #A969BE; }
.serviceBox.purple .service-icon,
.serviceBox.purple .service-icon:before{
	color: #A969BE;
	background-color: #A969BE;
}
.serviceBox.purple .title{ color: #A969BE; }

.headerImageNonFluid .carousel-caption {
	margin-top: -20px !important;
}

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


	
	article .carousel-caption {
		margin-top: 260px !important;
	}
	

	
	.carousel-caption {
		
		margin-top: 90px !important;
	}
	
	
	.carousel-inner .item img {
	object-fit: cover;
	width: 100%;
	height: 340px;
	}

	.carousel-control {
		top: 80px !important;
	}
	.carousel {
		height: 390px !important;
	}
	
	
	.req-form {
		margin-left: -17px;
	}
	
	.card-text {
		font-size: 16px !important;
	}
	
	.card-details {
	
			font-size: 10px !important;
			//color: #b80303;
		}
	.nav-divider {
		  color: lightgray;
		  margin-left: 30px;
		  margin-right: 30px;
	}
	.intro-text {
			
			padding-right: 100px;
			max-width: 550px;
		}
}

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

	.largeh5 {
	font-size: 16px !important;
	}

	.videofront {
		width: 100% !important;
	}
	.video_title {
		width: 100% !important;	
	}
	
	div.wpforms-container-full .wpforms-form .wpforms-field {
		padding: 5px !important;
		padding-left: 0px !important;

	}
	
	.carousel-caption {
		
		margin-top: 40px !important;
	}
	.carousel-inner .item img {
	object-fit: cover;
	width: 100%;
	height: 340px;
	}
	.carousel-caption h2 {
		font-size: 28px;
	}
	.carousel-caption h4 {
		font-size: 22px;
	}
	.carousel-control {
		top: 80px !important;
	}
	.carousel {
		height: 390px !important;
	}
	
	.intro-text {
		padding-right: none;
		max-width: none;
	}
	
	.checkbox_label {
		font-size: 16px !important;
	}
	
	.energiebedarf {
		margin: auto;
	}
	.immo-kontakt-frame {
		float: left;
	}
	
	.card-text {
		font-size: 18px !important;
	}
	
.input-group {
	padding-bottom: 20px;
}
	
	.slider {
		margin-bottom: 20px;
	}
	
	.formline h3 {
		margin-top: 28px;
	}
	
	.img-respo-left {
		padding-right: 0px;
		padding-bottom: 20px;
	}
	
	.img-respo-center {
		padding-left: 0px;
		padding-bottom: 20px;
		padding-right: 0px;
	}
	.img-respo-right {
		padding-left: 0px;
		padding-bottom: 20px;
	}
	
	.filter-column-spacer {
		display: none;
	}
	
	.nav-divider {
		  color: lightgray;
		  margin-left: 15px;
		  margin-right: 15px;
	}
	
	.serviceBox .service-icon {
		
	}
	

	.serviceBox{ margin: 0 0 30px; }
}

.image_border_gray {

	  overflow: hidden;
	}
	
	
	.header-background-image {
	  background: no-repeat 50% 50%;
	  background-size: cover;
	  -webkit-animation-name: kenburns;
	  animation-name: kenburns;
	  -webkit-animation-timing-function: linear;
	  animation-timing-function: linear;
	  -webkit-animation-iteration-count: infinite;
	  animation-iteration-count: infinite;
	  -webkit-animation-duration: 35s;
	  animation-duration: 35s;
	  opacity: 1;
	  -webkit-transform: scale(1.2);
	  transform: scale(1.2);
	}
	
	.header-background-image:nth-child(1) {
	  -webkit-animation-name: kenburns-1;
	  animation-name: kenburns-1;
	  z-index: 3;
	}
	

	.header-background-image h2 {
		display: none;
	}
	.header-background-image h4 {
		display: none;
	}
	
	
	

	
	@-webkit-keyframes 
	kenburns-1 {  0% {
	 opacity: 1;
	 -webkit-transform: scale(1.2);
	 transform: scale(1.2);
	}
	 1.5625% {
	 opacity: 1;
	}
	 23.4375% {
	 opacity: 1;
	}
	 26.5625% {
	 opacity: 1;
	 -webkit-transform: scale(1);
	 transform: scale(1);
	}
	 100% {
	 opacity: 1;
	 -webkit-transform: scale(1.2);
	 transform: scale(1.2);
	}
98.4375% {
	 opacity: 1;
	 -webkit-transform: scale(1.21176);
	 transform: scale(1.21176);
	}
	 100% {
	 opacity: 1;
	}
	}
	
	@keyframes 
	kenburns-1 {  0% {
	 opacity: 1;
	 -webkit-transform: scale(1.2);
	 transform: scale(1.2);
	}
	1.5625% {
	 opacity: 1;
	}
	 23.4375% {
	 opacity: 1;
	}
	 26.5625% {
	 opacity: 1;
	 -webkit-transform: scale(1);
	 transform: scale(1);
	}
100% {
	 opacity: 1;
	 -webkit-transform: scale(1.2);
	 transform: scale(1.2);
	}
98.4375% {
	 opacity: 1;
	 -webkit-transform: scale(1.21176);
	 transform: scale(1.21176);
	}
	 100% {
	 opacity: 1;
	}
	}



.descriptionimmo {
	font-size: 16px;
	text-align: justify;
	margin-left: -15px;
}
.descriptionimmo li {
	margin-left: 16px;
}
.immoimage-row {
	margin-left: -15px;
}
.immooffer-row {
	margin-left: -15px;
}
.immooffer-row-header {
	margin-left: -15px;
}

.objekt-id-label {
	//color: lightgray !important;
	padding: 10px;
	padding-left: 13px;
	height: 50px;
	padding-top: 20px;
	margin-top: 6px;
}

.tml-login {
	width: 400px !important;
}
.tml-field {
	width: 400px;
}
.tml-lostpassword-link {
	text-decoration: none;
	list-style: none;
}
.tml-button {
	padding: 10px;
}
.tml-field {
	padding: 10px;
}

.tnp-subscription {
	max-width: 40px;
}

.tnp-field label {
	font-weight: normal !important;
	font-size: 12px;
}
.tnp-submit {
	background-color: lightgray !important;
	color: black !important;
	font-size: 12px !important;
}

.btn {
	margin-top: 20px;
}

@keyframes click-wave {
	  0% {
		height: 40px;
		width: 40px;
		opacity: 0.35;
		position: relative;
	  }
	  100% {
		height: 200px;
		width: 200px;
		margin-left: -80px;
		margin-top: -80px;
		opacity: 0;
	  }
	}
	
	.checkbox_label {
		margin-left: 10px;
		margin-top: 5px;

	}
	.checkframe {
		display: inline-block;
		width: 100%;
	}
	
	
	.option-input {
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  -ms-appearance: none;
	  -o-appearance: none;
	  appearance: none;
	  position: relative;
	  top: 13.33333px;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  height: 25px;
	  width: 25px;
	  transition: all 0.15s ease-out 0s;
	  background: white;
	  border-style: solid;
	  border-width: 2px;
	  border-color: gray;
	  border-radius: 5px;
	  color: floralwhite;
	  cursor: pointer;
	  display: inline-block;
	  margin-right: 0.5rem;
	  outline: none;
	  position: relative;
	  z-index: 1000;
	  margin: 4px 0 4px !important;
	}
	.option-input:hover {
	  background: lightgray;
	}
	.option-input:checked {
	  background: #C00;
	}
	.option-input:checked::before {
	  height: 25px;
	  width: 22px;
	  position: absolute;
	  content: '✔';
	  display: inline-block;
	  font-size: 16.66667px;
	  text-align: center;
	  line-height: 22px;
	}
	.option-input:checked::after {
	  -webkit-animation: click-wave 0.65s;
	  -moz-animation: click-wave 0.65s;
	  animation: click-wave 0.65s;
	  background: red;
	  content: '';
	  display: block;
	  position: relative;
	  z-index: 100;
	}
	.tnp-privacy {
		width: 10px !important;
	}
	
	




.contact-box {
	position: fixed;
	bottom: 20px !important;
}

#kind_of {
	background-color: white;
}

.hideme
{
	opacity:0;
}

.scale-up-center {
	-webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
			animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

.slide-top {
	margin-top: 100px;
}

.slide-top {
	-webkit-animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
			animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-top {
  0% {
	-webkit-transform: translateY(0);
			transform: translateY(0);
  }
  100% {
	-webkit-transform: translateY(-100px);
			transform: translateY(-100px);
  }
}
@keyframes slide-top {
  0% {
	-webkit-transform: translateY(0);
			transform: translateY(0);
  }
  100% {
	-webkit-transform: translateY(-100px);
			transform: translateY(-100px);
  }
}

@-webkit-keyframes scale-up-center {
  0% {
	-webkit-transform: scale(0.5);
			transform: scale(0.5);
  }
  100% {
	-webkit-transform: scale(1);
			transform: scale(1);
  }
}
@keyframes scale-up-center {
  0% {
	-webkit-transform: scale(0.5);
			transform: scale(0.5);
  }
  100% {
	-webkit-transform: scale(1);
			transform: scale(1);
  }
}

#entry_container .card {
	  //margin: 10px;
	  width: 300px;
	  background: #fff;
	  border-radius: 5px;
	  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	  margin-top: 16px;
	}
.lds-ripple {
		margin-top: 80px;
	  display: inline-block;
	  position: relative;
	  width: 80px;
	  height: 80px;
	}
	.lds-ripple div {
	  position: absolute;
	  border: 4px solid gray;
	  opacity: 1;
	  border-radius: 50%;
	  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
	}
	.lds-ripple div:nth-child(2) {
	  animation-delay: -0.5s;
	}
	@keyframes lds-ripple {
	  0% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 1;
	  }
	  100% {
		top: 0px;
		left: 0px;
		width: 72px;
		height: 72px;
		opacity: 0;
	  }
	}
	.loaderframe {
		text-align: center;
		width: 100%;
		min-height: 500px;
		
	}
	

input[type=search] {
	-webkit-appearance: none;
}
input[type=search]::-webkit-search-cancel-button {
	-webkit-appearance: searchfield-cancel-button;
}

.publishdate {
	color: lightgray;
	padding-bottom: 20px;

}

/*
.immo_video {
	border-style: solid;
	border-width: 8px;
	border-color: lightgray;
	border-radius: 10px;
}
*/

.thin-headline {
	padding: 0;
	  margin: 0;
	  font-family: Helvetica, sans-serif;
	  font-size: 24px;
	  color: #C00;
	  line-height: 1.4em;
	  box-shadow: none;
	  border: none
}

.changelog {
	font-size: 12px !important;
	position: absolute !important;
	z-index: 1000000;
	top: 5px;
	left: 8px;
}
.changelog a {
	color: gray !important;
}

.textBlock h4 {
	margin-top: 50px;
}
.centered-image {
	width: 100%;
	text-align: center;
	padding-top: 50px;
	padding-bottom: 50px;
	
}
.centered-image img {
 max-width: 100%;
}
.object-id {

	padding-top: 20px;
	color: lightgray;
}


/*PRODUCT BOX*/

.product-box {
	padding: 20px;
	border-style: solid;
	border-width: 1px;
	border-color: lightgray;
	border-radius: 15px;
	font-size: 14px;
	width: 95%;
	margin-bottom: 20px;
	color: gray;
	text-align: left !important;
}
.product-box p {
	padding-left: 15px;
}
.product-box .product-box-title {
	font-size: 18px;
	padding-bottom: 15px;
}
.product-box-selected {
	background-color: color(srgb 0.743 0.743 0.743) !important;
	box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px, rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px, rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px;
	color: black;
	background-color: #f6f6f6;
	background-image: linear-gradient(315deg, #f6f6f6 0%, #e9e9e9 74%);
}
.product-box-teaser {
	//box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
	//width: 97%;
	//margin-left: -1%;
}
.product-box-step1 {
	background-image: linear-gradient(315deg, white 0%, #F5F5F5 74%);
}
.product-box-step2 {
	background-image: linear-gradient(315deg, white 0%, #E0E0E0 74%);
}
.product-box-step3 {
	background-image: linear-gradient(315deg, white 0%, #D3D3D3 74%);
}
.product-box-step4 {
	background-image: linear-gradient(315deg, white 0%, #C0C0C0 74%);
}



/*Energieausweis */

.energieausweis-header {
	font-size: 12px;
	display: none;
}
.co2 {
	text-align: right;
	width: 320px;
}
.ea-group {
	width: 160px;
	height: 30px;
	float: right;
	position: absolute;
	top: 25px;
	right: 0px;
	text-align: center;
	font-size: 24px;
}
.ea-group h5 {
	font-size: 12px !important;
	color: black !important;
}

.energieausweis {
	border-style: solid;
	border-width: 5px;
	border-color: #d8a73e;
	width: 365px;
	padding: 5px;
	border-radius: 15px;
	padding-left: 10px;
	display: none;
}

.berechnet {
	background-color: #f7de99;
	width: 365px;
	padding: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	border-radius: 15px;
	padding-left: 10px;
	font-weight: bold;
	display: none;
}
.energiebedarf {
	border-style: solid;
	border-width: 5px;
	border-width: 1px;
	//border-color: #d8a73e;
	border-color: lightgray;
	width: 365px;
	border-radius: 15px;
	padding-left: 15px !important;
	position: relative;
	height: 250px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	margin-left: -15px;
}
.energiebedarf-header {
	background-color: #f7de99;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	left: 0px;
	top: -2px;
	position: absolute;
	width: 100%;
	padding: 8px;
	font-weight: bold;
	display: none;
}
.value-frame {
	position: absolute;
	top: 20px;
}

.ea-frame {
	position: relative;
	height: 140px;
	font-size: 10px;
}

.ea-line-top {
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	position: absolute;
	top:25px;
	background: rgb(95,255,0);
	background: linear-gradient(90deg, rgba(95,255,0,1) 0%, rgba(255,153,0,1) 49%, rgba(255,0,0,1) 100%);
	width: 330px;
	height: 20px;

}
.ea-line-bottom{
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	position: absolute;
	top: 50%;
	background: rgb(95,255,0);
	background: linear-gradient(90deg, rgba(95,255,0,1) 0%, rgba(255,153,0,1) 49%, rgba(255,0,0,1) 100%);
	width: 330px;
	height: 20px;
	bottom: 0px;
}
.ea-line-title {
	display: inline-block;
	position: absolute;
	width: 350px;
	top: 50px;
	font-weight: bold;
}
.ea-line-value {
	display: inline-block;
	width: 28px;
	height: 25px;
}
.ea-arrow-top {
	position: absolute;
	top: 8px;
	font-size: 18px;
	width: 25px;
	height: 15px;
}
.ea-arrow-bottom {
	position: absolute;
	bottom: -4px;
	font-size: 18px;
	width: 25px;
	height: 15px;

}
.ea-arrow-line {
	position: absolute;
	height: 15px;
	top: 0px;
	background-color: yellow;
}
.ea-arrow-bottom {
	position: absolute;
	height: 15px;
	bottom: 40px;
}
.ea-cat {
	width: 34px;
	text-align: center;
	font-weight: bold;
	margin-top: 5px;
	display: inline-block;
}

.primaerenergiebedarf {
	bottom: 10px;
	position: absolute;
	height: 25px;
	width: 300px;
	font-weight: bold;
}
.energiebedarf-details {

	height: 25px;
	width: 300px;
	font-weight: bold;
	padding-bottom: 30px;
}


/*Energieausweis */


/*NAVIGATION */
.glyphicon {
	margin-right: 0px;
}

.carousel-control .whitebg {
	background-color: white;
	color: gray;
	padding: 5px;
	width: 40px;
	height: 40px;
	padding-top: 4px;
}

.carousel-control


.tab {
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px !important;
}
.red-element
 {
	color: #C00 !important;
	
}
.headerImage .red-element {
	padding-right: 6px;
}
.main_text_area {
	padding-right: 80px;
	text-align: justify;
}

.card-deck {
	max-width: 300px !important;
	float: left;
}
.card-deck .card-title {
	display: flex;
	  justify-content: center;
	  align-items: center;
	  height: 30px;
	  width: 100%;
}
.home-icon {
	margin-right: 25px;
}
.icon {
	float: left;
	height: 40px;
	width: 50px;
	padding-right: 10px;
}
.icon img {
	width: 40px;
	height: 40px;
}

/*NAVIGATION*/






/*EFFECTS*/

.metaNavigation li {
	display: inline-block;
	margin-left: 20px;
}

.contact_hide {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.5s, opacity 0.5s linear;
}
.contact_icon {
	font-size: 24px;
}
.contact_text {
	padding: 5px;
	color: white;
}
.contact_name {
	font-size: 14px;
	padding: 10px;
	color: white;
	padding-top: 7px;
	padding-bottom: 7px;
}
.contact_phone a {
	font-size: 12px;
	color: white;
}
.contact_phone a {
	color: white;
}

.contact_disclaimer {
	margin-top: 10px;
	font-size: 8px;
}

.sidebarrespo {
	display: none;
}

.sidebarsc {
	font-size: 20px;
	color: white;
	background-color: none;
	opacity: 0.9;
	position: fixed;
	left: 0px;
	top: 300px;
	padding-right: auto;
	padding-left: auto;
	padding-top: 15px;
	text-align: center;
	z-index: 1;
	cursor: pointer;
}
.sidebarbutton {
	padding-top: 5px;
	background-color: #C00;
	width: 40px;
	height: 40px;
	margin-bottom: 5px;
}
.sidebaricontext {
	font-size: 6px;
	margin-top: -5px;
}
.sidebarsc a {
	color: white;
}
.sidebarsub {
	background-color: #C00;
	width: 145px;
	position:fixed;
	left: 45px;
	top: 315px;
	display: none;
	box-shadow: 5px 10px 18px #888888;
	z-index: 1200000;
}
.sidebarnetwork {
	background-color: #C00;
	float: left;
	width: 70px;
	height: 70px;
	padding-left: 8px;
	padding-top: 6px;
}
.sidebarsubdisplay {
	display:block;
	
}

.socialcompany {
	width: 30px;
	height: 30px;
}

.experience {
	width: 100px;
	height: 100px;
	position: absolute;
	top: 0px;
	left: -70px;
	
}
.experience_year {
	position: absolute;
	top: 0px;
	left: 17px;
	text-align: center;
	color: white;
	font-size: 26px;
	
}
.experience_image {
	 width: 60px;
	height: 80px;
}
.experience_text {
	color: white;
	font-size: 8px;
	position: absolute;
	left: 5px;
	top: 32px;
	width: 50px;
	text-align: center;
}


.btn-danger {
	background-color: #CC0000;
	color: white;
}

.shadow
{
	position:relative;
	-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
	   -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
			box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.shadow:before, .shadow:after
{
  content:"";
	position:absolute;
	z-index:-1;
	-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
	-moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
	box-shadow:0 0 20px rgba(0,0,0,0.8);
	top:0;
	bottom:0;
	left:10px;
	right:10px;
	-moz-border-radius:100px / 10px;
	border-radius:100px / 10px;
}
.shadow:after
{
  right:10px;
	left:auto;
	-webkit-transform:skew(8deg) rotate(3deg);
	   -moz-transform:skew(8deg) rotate(3deg);
		-ms-transform:skew(8deg) rotate(3deg);
		 -o-transform:skew(8deg) rotate(3deg);
			transform:skew(8deg) rotate(3deg);
}



/*EFFECTS*/

/* NAVIGATION: */



#mainMenuDesktop li {
	margin-left: 0px;
	margin-right: 0px;
}

.sub-menu {
	  display: none;
	  background-color: white;
	  opacity: 0.5;
	  height: 0;
	  position: absolute;
	  z-index: 100;
	  right: 0;
	  left: 0;
	  padding-top: 50px;
	  box-shadow: 0 8px 6px -6px #C4C7C7
	}
	
.sub-menu ul {
  text-decoration: none;
  list-style: none
}

.sub-menu li {
  padding: 8px;
  color: darkgray
}

.display_container {
	  opacity: 0;
	  -webkit-animation: fadeIn ease-in 1;
	  -moz-animation: fadeIn ease-in 1;
	  animation: fadeIn ease-in 1;
	  -webkit-animation-fill-mode: forwards;
	  -moz-animation-fill-mode: forwards;
	  animation-fill-mode: forwards;
	  -webkit-animation-duration: 0.2s;
	  -moz-animation-duration: 0.2s;
	  animation-duration: 0.2s;
	  display: block;
	  height: auto;
	  min-height: 300px;
	  opacity: 1.0;
	  overflow: hidden
	}

/* END NAVIGATION */ 

/* Header */

#myCarousel{
	 position: absolute;
}
.searchbox_overlay {
	position: relative;
	margin-top: -150px;
	width: 100%;
	z-index: 10;
	height: 200px !important;
}
.searchbox {
	min-height: 0px !important;
}
.searchbox_overlay .search_string {
	border-color: lightgray;
	border-width: 1px;
	border-radius: 0px;
	height: 50px;
	overflow: hidden; 
	padding-right: .5em;
	width: 90%;
	position: absolute;
	right: 70px;
	left: 20px;
	
}
.offerbutton {
	z-index: 100;
	border-radius: 40px;
	position: absolute;
	top: 130px;
	text-align: center;
	
}
.radius_button {
	border-radius: 10px;
	padding-left: 30px;
	padding-right: 30px;
}
.button_teaser_frame {
	width: 100%;
	position: absolute;
	top: 90px;
	z-index: 100;
	left: 0px;
}
.button_teaser_frame .radius_button {
	margin-top: 5px;
}
.search_button {
	position: absolute;
	right: 16px;
	top: 15px;
	height: 50px;
}
.form_frame {
	 margin: auto;
	 background-color: white;
	  padding: 20px;
	  padding-left: 10px;
	  padding-right: 10px;
	  width: 80%;
	  height: 150px;
	  position: relative;
}

.teasers {
	//margin-top: -500px;
}

/* END HEADER */

.offer-box:hover {
	background-color: #C4C7C7 !important;
	color: white !important;
	/*
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
	*/

}
.offer-box {
	min-height: 500px !important;
	margin-bottom: 40px !important;
	color: darkgray;
}

.blog-box:hover {
	
	color: white !important;
	/*
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
	*/
}
.blog-box {

	color: darkgray;

}

.frontpagecard .card-body {
	height: 500px !important;
}
.frontpagecard .card-body-blog {
	height: 400px !important;

	}



.frontpagecard .card {
	transition: ease box-shadow 0.3s;
	postion: relative;
}
.frontpagecard .card-img-placeholder {
	background-color: gray;
	width: 100%;
	height: 200px;
}
.frontpagecard .card-excerpt {
	height: 200px;
	color: gray !important;

}
.frontpagecard .card-text  {
	//color: #b80303 !important;
	color: black !important;
	font-weight: normal !important;
	font-size: 18px;
	height: 300px !important;
	padding: 70px 0;
}
.frontpagecard .card-text-blog {

	color: black !important;
	font-weight: normal !important;
	font-size: 16px;
	height: 330px !important;
	padding: 70px 0;
}
.frontpagecard .card-text-sub {
	color: gray !important;
	font-size: 14px !important;
	height: 50px;
}
.frontpagecard .card-location {
	height: 40px;
}
.frontpagecard .card-placeholder-background {
	background-color: lightgray !important;
}
.frontpagecard .card-img-top {
	min-height: 220px;
	background-color: gray;
}
.frontpagecard .card-text-placeholder {
	background-color: white;
	width: 60%;
	height: 20px;
}
.frontpagecard .card-details-placeholder {
	background-color: white;
	width: 100%;
	height: 12px;
}
.frontpagecard .card-price-placeholder {
	background-color: white;
	width: 30%;
	height: 12px;
}
.frontpagecard .card-price {
	position: absolute;
	bottom: 100px !important;
	padding-top: 5px;
	color: black;
	//right: 35px;
}



.image_border_gray {
	overflow:hidden;
}
.header-background-image {
	
	height: 550px;
	background-repeat: no-repeat;
	 
	  background-position: center; 
	  background-size: cover;
	  
	  
	  -webkit-animation-name: kenburns;
		animation-name: kenburns;
		-webkit-animation-timing-function: linear;
		animation-timing-function: linear;
		-webkit-animation-iteration-count: initial;
		animation-iteration-count: initial;
		-webkit-animation-duration: 16s;
		animation-duration: 16s;
		opacity: 1;
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
		
	  
	  
}
.header-background-image:nth-child(1) {
	-webkit-animation-name: kenburns-1;
	  animation-name: kenburns-1;
	  z-index: 3;
}
.dt{
	font-weight: bold;
	width: 165px;
	float: left;
	color: darkgray;
}
.delement {
	color: darkgray;
	padding-bottom: 15px;
}
.rowelement {
	height: 40px;
}
.imagecaption {
	color:darkgray;
	margin-top:8px;
}
.immoimage img {
	float: left;
	width:  100%;
	height: 220px;
	object-fit: cover;
	margin-bottom: 25px;
}
.contact_preview_image {
	float: left;
	width:  100%;
	max-width: 300px;
	height: 226px;
	object-fit: cover;
}
.contact_preview_text {
	
}
.card .card-img-top {
	float: left;
	width:  100%;
	height: 240px;
	object-fit: cover;
	margin-bottom: 20px;
}
.startsearchbox {
	width: 600px;
	margin: auto;
	margin-top: 50px;
}
.immofeld {
	font-size: 16px;
	color: gray;
}
.immofeldvalue {
	font-size: 16px;
	color: black;
}
.immoinfoblock{
	border-left-color: #f0f0f0;
	border-left-style: solid;
	border-left-width: 5px;
}



@charset "UTF-8";
/* CSS Document */

/*MAIN PAGE - CAROUSEL START*/

.imo_details {
	background-color: white;
	padding: none;
	width: 400px;
   min-height: 300px;
	top: 0px;
	right: 50px;
	margin-right: -200px;
	position: absolute;
	text-shadow: none;
	opacity: 0.9;
}

.imo_title {
	padding: 20px;
	text-decoration: none;

}
.imo_area {
	padding: 20px;
	font-size: 14px;
	color: darkgrey;
	text-decoration: none;
}

.imo_title {
	padding: 20px;
	font-size: 14px;
	color: darkgray;
}
.imo_specs {
	padding: 20px;
	font-size: 14px;
	color: #b80303
}
.imo_price {
	padding: 20px;
	font-size: 16px;
	color: darkgray;
	font-weight: bold;
	text-align: right;
}
.imo_category {
	padding-left: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 20px;
	background-color: #b80303;
	color: white;
	font-weight: bold;
	font-size: 16px;
}
.cjq {
	display: none !important;
}
/*MAIN PAGE - CAROUSEL END*/

/*TAB NAVIGATION - START*/

.header_contact {
	
	margin-top: 15px;
	display: none;
}

.header_area_tab {
	display: none;
	width: 400px;
	right: 20px;
	margin-bottom: 8px;
	float: right;
	z-index: 10000;
	position: absolute;
	top: 107px !important;

 
}
.header_area_tab .tab {
	display: none;
	//display: inline;
	font-weight: bold;
	color: darkgray;
	text-align: center;
	font-size: 18px;
	border-color: darkgray;
	border-width: 1px;
	border-style: solid;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom: none;
	padding-left: 18px;
	padding-right: 18px;
	padding-top: 10px;
	padding-bottom: 10px;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	width: 100px;
	height: 80px;
}

.header_area_tab .active {
	background-color: #b80303;
	color: white;
	border-color: #b80303;
	
}
						   
/*TAB NAVIGATION - END*/


/*SOLD BANNER */

.first {

  //background: #fff;
}

.second {
  position: relative;


}
	
.verkauft {
	
	height: 35px;
	width: 180px;
	background-color: #9C1B21;
	position: absolute;
	top: 48px;
	right: -6px;
	text-align: center;
	color: #FFF;
	font-weight: 600;
	font-size: 24px;
	white-space: nowrap;
  -webkit-transform: rotate(35deg);
	-moz-transform: rotate(35deg);
	-ms-transform: rotate(35deg);
	-o-transform: rotate(35deg);
	transform: rotate(35deg);
	opacity: 0.8;
	
}

.verkauft:before {
	box-sizing: border-box;
	border-style: solid;
	border-color: transparent;
	border-width: 37px;
	border-left-width: 53px;
	border-right-width: 26px;
	content: "";
	display: block;
	left: -49px;
	position: absolute;
	width: 141%;
	border-top-width: 0px;
	border-bottom-color: #9c1b21;
	top: -2px;
	z-index: -1;
	
}


/*CONTAINERS - START*/

.container-gray {
	background-color: #F0F0F0;
	//padding-bottom: 50px;
}
	.container-gray-padding {
		padding-bottom: 50px !important;
	}
.container-white {
	background-color: white;
	padding-bottom: 50px;
}
.container-headline {
	padding: 40px;
	padding-bottom: 0px; !important;
	text-align: center;
	width: 100%;
}
.card-img-top {
	max-width: 100%;
}
.card-body {
	background-color: white;
	padding: 15px;
	
}
.card-body-blog {
	
	padding: 15px;
	
}
.card-text {
	color: darkgray;
	
}
.card {
	padding-right: 0px;
}
.card-location {
	color: lightgray;
}
.card-details {
	color: black;
	height: 40px;
	font-size: 12px;
	//color: #b80303;
}
.card-price {
	text-align: left;
	width: 100%;
	font-weight: bold;
	color: darkgray;
	
}
.card-price-sub {
	font-size: 12px;
	width: 100%;
	margin-top: 12px;
	color: darkgray;
	display: inline-block;
}

.searchbox {
	min-height: 300px;
	text-align: center;
	padding: 20px;
}

.teaser-box {
	
	float: right;
	z-index: 10;
}
.entry-frame {
	padding-top: 40px !important;
	padding-bottom: 50px !important;
	border-radius: 20px;

}

/*CONTAINERS - END*/


/*OFFER - START*/

.offer_row {
	//padding-top: 30px;
	font-size: 16px;
}
.offer_location {
	color: darkgray;
	text-align: right;
	padding-top: 30px;
}
.offer_details_gray {

	color: darkgray;
}
.offer_details table {
	
	width: 80%;
	color: darkgray;
	
}
.offer_pictures {
	margin-bottom: 40px;
	color: darkgray;
}
.offer_pictures p {
	padding-top: 10px;
	padding-bottom: 10px;
}

.offer_details_box {
	
}

.tag {
	background-color: #b80303;
	padding: 10px;
	border-radius: 20px;
	color: white;
}
.tagline {
	padding-top: 30px;
	padding-bottom: 30px;
}
.taglarge {
	font-size: 24px;
}
.tag a {
	color: white;
}
.image_border_gray {
	background-color: #F7F7F7;
}
/*OFFER - END*/


/*OVERRIDES - START*/

.teaser-box-text {
	width: 100%;
	background-color: white;
	height: 170px;
	padding: 20px;
	padding-top: 60px;
}
.teaser {
	margin-top: 50px;
}


.slidecontainer {
  width: 100%; /* Width of the outside container */
}

.formline {
	margin-bottom: 15px;
}




/* The slider itself */
.slider {
	margin-top: 10px;
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 10px; /* Specified height */
  background: #d3d3d3; /* Grey background */
  outline: none; /* Remove outline */
  opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: .2s; /* 0.2 seconds transition on hover */
  transition: opacity .2s;
}

/* Mouse-over effects */
.slider:hover {
  opacity: 1; /* Fully shown on mouse-over */
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
	  -webkit-appearance: none; /* Override default look */
	  appearance: none;
	  border-radius: 50%;
	  width: 25px; /* Set a specific slider handle width */
	  height: 25px; /* Slider handle height */
	  background: #b80303; /* Green background */
	  cursor: pointer; /* Cursor on hover */
	}
	
	.slider::-moz-range-thumb {
	  width: 25px; /* Set a specific slider handle width */
	  border-radius: 50%;
	  height: 25px; /* Slider handle height */
	  background: #b80303; /* Green background */
	  cursor: pointer; /* Cursor on hover */
	}
output {
	display: inline;
}
*/


/*OVERRIDES - END*/


/*TEMPLATE WP TEMPS - START*/
.headerImage_angebote {
	background-image: url("")
}
.headerImage_singledemo {
	background-image: url("")
}

/*TEMPLATE WP TEMPS - END*/


/*CONTACT FORM - START*/

.contact_preview {
	border-color: #C4C4C4;
	border-style: solid;
	border-width: 5px;
	border-radius: 15px;
	background-color: #F3F3F3;
	padding: 20px;
	height: 200px;
	position: relative
}
.contact_preview_image {
	float: left;
	border-radius: 10px;
	height: 190px;
	width: auto;
	position: absolute;
	top: 0px;
	left: 0px;
}
.contact_preview_text {
	position: absolute;
	left: 320px;
}
.text-gray {
	color: darkgray;
}
.form_area {
	padding-bottom: 20px;
}

.card a:link { text-decoration: none; }

.card a:visited { text-decoration: none; }

.card a:hover { text-decoration: none; }

.card a:active { text-decoration: none; }

/*
.nav-button {
	border-right-width: 1px;
	border-right-color: white;
	border-right-style: solid;
	width: 150px;
}*/

/*CONTACT FORM - END*/

/*RESPONSIVE - START*/

@media screen and (max-width: 456px){
	
	.header_area_tab {
		z-index: 1000;
	}
	.service-icon {
		
	}
	.filter-column-spacer {
		display: none;
	}
}
@media screen and (max-width: 600px){
	

	.filter-column-spacer {
		display: none;
	}

	.service-icon {
	
	}
}

@media screen and (max-width: 768px){
	
.logo_schaefer {
	width: 220px !important;
}
	
.headline h2 {
	font-size: 24px !important;
	word-wrap: break-word !important;
}
.headline h4 {
	font-size: 18px !important;
	word-wrap: break-word !important;
}
	
.centerh3 {
	font-size: 20px !important;
	word-wrap: break-word;
}

.blog-caption h4 {
	font-size: 24px !important;
}

.front-large {
	font-size: 28px !important;
	color: white !important;
	
}

.carousel-control .whitebg {
  padding-top: 9px !important;
}


	.front-title {
		height: 38px !important;
	}

	.wallcontainer {
	display:none;
	
	}
	
	
	.servicenummer h3 {
		font-size: 20px;
	}
	
	
	.owl-carousel {
		padding-left: 15px;
		padding-right: 15px;
	}
	.immooffer-row-header {
		margin-left: -5px;
	}
	
	.intro-text {
		font-size: 14px;
	}
	
	
	
.container-fluid {
	padding-right: 0px;
	padding-left: 0px;
}



	#update_result_button {
		margin-top: 50px;
	}

	.merklistelink {
		float: right;
		margin-right: 10px;
		margin-top: 8px;
		font-size: 12px;
	}
	
	.filter-column-spacer {
		display: none;
	}

	.entry-frame .container {
		padding: none;
		padding-left: 0px;
		
	}

	.entry-frame .col-md-4 {
		padding-left: 0px;
		padding-right: 0px;
	}

	.carousel-control {
		margin-top: -160px;
	}
	
	.slider {
		margin-bottom: 20px;
	}
	
	#entry_container {
		padding: none;
		border-radius: 0px;
	}
	#entry_container .container {
		padding: none;
	}
	.entry-frame {
		border-radius: 0px;
	}
	#entry_container .col-md4 {
		padding-left: 0px;
		padding-right: 0px;
	}
	.form_frame {
		width: 100%;
		padding-left: 0px;
		padding-right: 0px;
	}
	.mainContentArea p {
		padding-right: 0px;
	}
	.product-box {
		width: 100%;
	}

	.button_teaser_text {
		//display: none;
		font-size: 8px;
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.searchbox {
		margin-top: -260px;
	}
	
	.radius_button {
		font-size: 10px;
	}
	
	.main_text_area {
		padding-right: 10px;
	}
	.carousel-caption {
		
		margin-top: 40px !important;
	}
	.carousel-inner .item img {
	object-fit: cover;
	width: 100%;
	height: 340px;
	}
	.carousel-caption h2 {
		font-size: 22px;
	}
	.carousel-caption h4 {
		font-size: 18px;
	}
	.carousel-control {
		top: 80px !important;
	}
	
	
	

	  .sidebarrespo {
		position: absolute;
		float: left;
		display: inline-block;
		z-index: 100000;
		right: 10px;
		top: 174px;
		
	  }
	  .sidebarrespo .sidebarbutton {
		padding-top: 5px;
		width: 50px;
		height: 38px;
		float: left;
		color: white;
		text-align: center;
		border-right-color: white;
		border-right-style: solid;
		border-right-width: 1px
	  }
	  .sidebarrespo .first {
		border-left-color: white;
		border-left-style: solid;
		border-left-width: 1px
	  }
	  .sidebarrespo .sidebaricontext {
		display: block;
		font-size: 8px;
		margin-top: 1px
	  }
	  .sidebarrespo .sidebarsc {
		position: absolute;
		top: 280px;
		right: 0px !important;
		left: auto;
		font-size: 24px;
	
	  }
	  .sidebarrespo .sidebarsub {
		position: absolute;
		left: auto;
		right: 150px;
		left: auto;
		top: 40px;
		width: 50px;
		height: 250px;
		border-color: white;
		border-style: solid;
		border-width: 1px
	  }
	  .sidebarrespo .sidebarnetwork {
		background-color: #C00;
		float: left;
		width: 39px;
		height: 39px;
		padding-left: 8px;
		padding-top: 6px
	  }
	  .sidebarrespo .socialcompany {
		width: 30px;
		height: 30px;
		padding-left: 5px;
		padding-top: 5px
	  }
	
	.contact-box {
		display: none;
		position: fixed; 
		bottom:0%;
		z-index: 100000;
		top: 280px;
		
	}
	.headerImageNonFluid h2 {
		padding-left: 20px;
		font-size: 36px;
	}
	.headerImage h2 {
		padding-left: 20px;
		font-size: 36px;
		
	}
	.headerImageNonFluid h4 {
		padding-left: 20px;
		font-size: 18px;
	}
	.headerImage h4 {
		padding-left: 20px;
		font-size: 24px;
		
	}
	
	 .header_area_tab {
		 top: 140px !important;
		 z-index: 10;
		 right: -10px;

	}

	#headerWrapperBackground {
		height: 173px;
	}
	.imo_details {
		width: 240px;
		font-size: 10px;
		right: 160px;
	}
	.imo_details h2 {
		font-size: 18px;
	}
	.headerImage_singledemo {
		height: 250px !important;
		min-height: 250px;
		width: auto;
	}
	.tabnav {

	}
	#fmCarousel {
		height: 400px !important;
	}
}
.videotextbox {
	font-size: 16px !important;
	text-align: justify !important;
}
.mainContentArea li {
	line-height: 1.1;
}
.videowindow {
	margin-top: 40px !important;
}
.video_untertitel {
	font-size: 12px !important;
	padding-bottom: 25px;
}

.s-button {
	background-color: lightgray;
	padding: 10px;
	margin-top: -10px;
	width: fit-content !important;
	padding-right: 15px;
	width: fit-content !important;
	font-size: 12px;
	color: black;
}

.s-block-button {
	width: fit-content !important;

}

.s-block-button .glyphicon{
	margin-right: 7px;
}
.s-block-button .glyphicon:before {
	  font-weight: 100;
}
.glyphicon-chevron-right:before {
	font-weight: 100;
}
.s-block-button-link {
	color: white !important;
	display: inline-block;
	clear: both;
}
.s-block-button-link:hover {
	text-decoration: none !important;
	color: #C00 !important;
}
.service-icon {
	
}
.serviceBox {
	min-height: 100px !important;
}


}


/*RESPONSIVE - END*/

body {
	font-family: 'Source Sans Pro', sans-serif !important;
	padding-bottom: 0px !important;
}
#navigation_wrapper {
	
}

#menu-footer-primary, #menu-footer-social li {
	//padding-bottom: 5px;
	font-size: 12px;
}
#menu-footer-primary, #menu-footer-social {
	padding-top: 5px;
}

#menu-footer-primary {
	//color: #C00;
}
#menu-footer-primary ul li {
	//color: #C00;
	
}


.btnstyle {
  background-color: lightgray !important;
padding: 8px !important;

width: fit-content !important;
padding-right: 15px!important
width: fit-content !important;
font-size: 12px!important;
color: black !important;
border: none!important;
border-radius: 0px!important
}

#anfrage_form {
  scroll-margin-top: 90px;
}
.nextofferbutton {
	margin-top: -10px;
	margin-bottom: 15px;
}


/*VIDEO WALL START */

#c275 {
  margin-top: 50px;
}

.vwall {

  height: 400px;
  width: 100%;
}
#videowall {

  height: 500px;
  width: 100%;
  position: relative;
}
#videowall .videolistcontainer {
  display: none;
}

#videowall .box {
  position: absolute;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat:no-repeat;
  border-color: white;
  border-width: 1px;
  border-style: solid;
  align-items: center;
  

}
#videowall .box:hover {
  //background-size: 120%;
  //transform: scale(1.05);
  //transition: all 0.3s ease-in;
}

#videowall .box1 {
  width: 50%;
  height: 60%;
  left: 0px;
 

}
#videowall .box2 {
  width: 25%;
  height: 40%;
  left: 50%;
 
	
}
#videowall .box3 {
  width: 25%;
  height: 40%;
  left: 75%;
 
}
#videowall .box4 {
  width: 25%;
  height: 40%;
  left: 0%;
  bottom: 0px;

  
}
#videowall .box5 {
  width: 25%;
  height: 40%;
  left: 25%;
  bottom: 0px;
  
  
}
#videowall .box6 {
  width: 50%;
  height: 60%;
  left: 50%;
  bottom: 0px;
  background-color: none;
  overflow: hidden;
 
}
#videowall .box1 .video1 {
  width: 100%;
   height: 100%;
   object-fit: cover;
  overflow: hidden;
  position: relative;
}
#videowall .box2 .video2 {
  width: 100%;
	height: 100%;
	object-fit: cover;
  overflow: hidden;
  position: relative;
}
#videowall .box3 .video3 {
  width: 100%;
	height: 100%;
	object-fit: cover;
  overflow: hidden;
  position: relative;
}
#videowall .box4 .video4 {
  width: 100%;
	height: 100%;
	object-fit: cover;
  overflow: hidden;
  position: relative;
}
#videowall .box5 .video5 {
  width: 100%;
	height: 100%;
	object-fit: cover;
  overflow: hidden;
  position: relative;
}
#videowall .box6 .video6 {
  width: 100%;
	height: 100%;
	object-fit: cover;
  overflow: hidden;
  position: relative;
}
.playbutton {
  width: 100px;
  height: 70px;
  margin: auto;
}
.playbuttonframe {

  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* VIDEO WALL END */




.blog-caption {
	position: relative;
	height: 200px;
	top: -205px !important;
}
.container-headline-front {
	padding: 40px;
	padding-left: 15px;
	padding-bottom: 0px; !important;
	text-align: center;
	width: 100%;
}
.container-headline-front a {
	text-decoration: none;
}

.card-body-blog {
	background-color: none !important;
	
}

.blog-caption {
	position: relative;
	height: 200px;
	top: -205px !important;
}
.container-headline-front {
	padding: 40px;
	padding-left: 15px;
	padding-bottom: 0px; !important;
	text-align: center;
	width: 100%;
}
.container-headline-front a {
	text-decoration: none;
}

.blog-box {
	border-bottom-width: 20px;
	  border-bottom-style: solid;
	  border-bottom-color: white;
	  text-decoration: none;
}
.blog-box:hover {

  box-shadow:inset 0px 0px 0px 1px lightgray !important;
  border-bottom-width: 20px;
  border-bottom-style: solid;
  border-bottom-color: lightgray;
  text-decoration: none;
  /*
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
  */
}
.blogframefront .card-body-blog {
	box-shadow: none;
}
.frontpagecard .card-body-blog {
height: 380px !important;

}

.servicenummer {
	margin-top: 20px;
}
.servicenummer h3 {
	text-align: center !important;
}


  /* unread message count */
.notification-box {
	background-color: white;
	display: none;
	float: right;
	width: 280px;
	height: auto;
	position: absolute;
	right: 0px;
	top: 40px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	padding: 20px;
	font-size: 12px;
	border-radius: 10px;
	z-index: 1000;
	
}
.notification-box a {
min-height: 25px;
}

.notification-box hr {
	padding-bottom: 10px;
}
.roundedImage {

	
	background-repeat: no-repeat;
	background-color: lightgray;
	background-size: cover;
	overflow:hidden;
	/*
	-webkit-border-radius:50px;
	-moz-border-radius:50px;
	border-radius:50px;
	*/
	width:38px;
	height:38px;
	float: left;
	margin-right: 10px;
	display: inline-block;
	
}
.roundedImageGewerbe {
	background-image: url('https://www.schaefer-realestate.ag/wp-content/themes/schaeferimmo/assets/images/teasers/gewerbe.jpg');
}
.roundedImageWohnen {
	background-image: url('https://www.schaefer-realestate.ag/wp-content/themes/schaeferimmo/assets/images/teasers/wohnen.jpg');
}
.roundedImageGrund {
	background-image: url('https://www.schaefer-realestate.ag/wp-content/themes/schaeferimmo/assets/images/teasers/ground.jpg');
}
.roundedImageBlog {
	background-image: url('https://www.schaefer-realestate.ag/wp-content/uploads/2021/12/live-blog.jpg');
}
.display-notification-box {
	display: block !important;
}

.close-notification-box {
	width: 100%;
	text-align: right;
	float: right;
}

.notify-entry {
	min-height: 47px;
}

/*Star Connect Sheet */


.connect-frame {
  
  position: relative;
  font-size: 18px;
  display: inline-block;
  width: 100%;
  margin-top: 15px;
  
}

.connect-network {
  
  padding: 15px;
  font-size: 16px;
  text-align: center;
  position: relative;
  width: 50px;
  height: 50px;
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.705);
  color: white;
}

.connect-fb:hover {
  
  background-color: #4267B2;
  cursor: pointer;
  
}
.connect-tw:hover {
  background-color: #1DA1F2;
  cursor: pointer;
}
.connect-in:hover {
  background-color:  #E1306C;
  cursor: pointer;
}
.connect-yt:hover {
  background-color: #FF0000;
  cursor: pointer;
}
.connect-xi:hover {
  background-color: #126567;
  cursor: pointer;
}
.connect-li:hover {
  background-color: #0072b1;
  cursor: pointer;
}

/*End Connect Sheet */


/*Start Share Sheet */


.share_container {

  background-color: rgba(0, 0, 0, 0.705);
  position: relative;
  font-size: 18px;
  display: inline-block;
  width: 100%;
  margin-top: 5px;
  color: white;
  
}
.share_container i {
  padding: 5px;
  
}
.share_title {
  padding: 10px;
  font-size: 14px;
}
.share_title i {
  margin-right: 10px;
  color: white
}
.share_container {
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

.share_container:hover {
  background-color: #C00;
  color: #fff;
}

.share_content {
  background-color: white;
  border-style: solid;
  border-width: 1px;
  border-color: lightgray;
  width: 100%;
  display: block;
  font-size: 18px;
  height: 85px;
  padding-top: 5px;
  text-align: center;
  border-top-width: 0px;
  display: none;
}
.share_frame {
  width: 320px;
  min-height: 100px;
  overflow: visible;
  z-index:1;
  height: 150px;
  display: block !important;
}
.share_frame a {
  color: black !important;
}



.share_frame:hover .share_content {
  display: block;
}
.share_content:hover .share_content {
  display: block;
}




.social-network {
  padding: 15px;
  font-size: 24px;
  text-align: center;
  margin-right: 8px;
  margin: 5px;
  position: relative;
  width: 62px;
  height: 62px;
  display: inline-block;
}
.social-network:hover {
  cursor: pointer;
}



.share_content a {
  color: white !important;
}
.share_content a:visited {
  color: white !important;
}
.share_content a {
  color: white !important;
}
.share_content a:visited {
  color: white !important;
}


.social-fb {
  background-color: #4267B2;
}
.fb-link:hover .social-fb {
  background-color: rgba(66, 103, 178, 0.5)
}

.social-tw {

  background-color: #1DA1F2;

}
.tw-link:hover .social-tw {
  background-color: rgba(29, 161, 242, 0.504)
}
.social-li {
  background-color: #0072b1
}
.li-link:hover .social-li {
  background-color: rgba(0, 114, 177, 0.498)
}
.social-xi {
  background-color: #126567
}
.xi-link:hover .social-xi {
  background-color: rgba(18, 101, 103, 0.498)
}
.social-wa {
  background-color: #25D366
}
.wa-link:hover .social-wa {
  background-color: rgba(37, 211, 102, 0.505)
}

.sharerow {
	display: block !important;
}

footer {
	margin-top: 0px !important;
	margin-bottom: -80px !important;
}
.ss-inline-share-wrapper {
display: none;
}

/*End Share Sheet */

/* Menu Adjustments */

.menuBox .card-title a {
  color: black !important;
  
}
.menuBox .card-title {
  border-bottom-color: black !important;
}
.menuBox .card-title:hover {
  border-bottom-color: #C00 !important;
}
.menuBox .card-title:hover .menuBoxSubHeadline {
  color: #C00 !important;
}
.subNavMenuItems a {
  color: black !important;
}
.subNavMenuItems a:hover {
  color: #C00 !important;
}

.subNavMenuItems li:before {
  color: black !important;
}
#mainMenuDesktop {
	text-decoration: none;
}
#mainMenuDesktop a:hover {
  color: #C00 !important;
  text-decoration: none !important;
}

#mainMenuDesktop li:hover {
  color: #C00 !important;
  text-decoration: none !important;
}
#mainMenuDesktop ul:hover {
  text-decoration: none !important;
}

/* Menu Adjustments END */

/* Notification overriedes */
.notify-entry a {
	color: black;
}

.notify-entry:hover a {
	color: #C00 !important;
	text-decoration: none;
}

.close-notification-box {
	color: black !important;
}
.close-notification-box:hover {
	color: #C00 !important;
	text-decoration: none !important;
}


/*OVERRIDES START */

.front-large {
	font-size: 38px;
	color: white !important;
}
.blogframefront .col-md-3 {
	padding-right: 0px !important;
	padding-left: 2px !important;
}

.blogframefront #entry_container {
	padding-right: 15px !important;
	padding-left: 15px !important;
	margin-top: -16px !important;
}
.centerh3 {
	font-size: 38px;
}
.largeh5 {
	font-size: 38px;
	}
/*OVERRIDES END */


.front-large a {
  color: white !important;
}

.front-large a:hover {
  color: #C00 !important;
}
.bp-x {
	top: 80px;
}
.bp-controls button {
	background-color:black !important;
}
#cn-refuse-cookie {
	background-color: gray !important;
}
.ss-inline-share-wrapper {
	display: none !important;
}
#menu-icon button:hover {
  background-color: white !important;
}

.sub_box {
  display: none !important;
}

.singleliveblogpublishdate {
	margin-top: -20px !important;
	font-size: 12px;
	color: darkgray;
}
.blogpublishdate {
	color: darkgray;
	font-size: 12px;
}

//Updated contact box: 

.contact-box img {
  border-radius: 50%;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px !important;
  
}
#contact-image {
	border-radius: 50%;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px !important;
	z-index: 2;
}
.contact-portrait {
  z-index: 3;
  position: relative;
}
._contact-status {
  background-color: rgb(132, 241, 22);
  height: 20px;
  width: 20px;
  position: absolute;
  z-index: 5;
  border-radius: 50%;
  right: 5px;
  top: 40px;
  float: right;
  border-style: solid;
  border-color: white;
  border-width: 2px;
  box-shadow: 120px 80px 40px 20px #0ff;
}
.contact-status {
  height: 20px;
  width: 20px;
  position: absolute;
  z-index: 5;
  border-radius: 50%;
  right: 5px;
  top: 40px;
  float: right;

}

.circle {
  height: 20px;
  width: 20px;
  background-color: red;
  border-radius: 100%;
  position: relative;
  border: 2px solid white;
  box-shadow: 0 0 15px 0 red inset;
  transform: rotate(-50deg);
}
.activecircle {
  background-color: #19f000 !important;
  box-shadow: 0 0 15px 0 #19f000 inset !important;
}

.highlight {
  position: absolute;
  top: 2px;
  right: 0;
  left: 0;
  margin: auto;
  width: 80%;
  height: 64%;
  opacity: .92;
  border-radius: 100%;
  
  /* gratuitous gradient compatibility - activate! */
  background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */
}

.contact_text {
  color: black;
  padding: 10px;
  float: left;
  width: 100%;
  padding: 0px;
  padding-top: 10px;
  font-weight: 400;
}
.contact_name {
  color: black;
  padding: 10px;
  float: left;
  width: 100%;
  padding: 0px !important;
  font-weight: 400;
}
.contact_disclaimer {
  font-size: 14px !important;
  color: black;
  padding: 10px;
  float: left;
  width: 100%;
  padding: 0px !important;
  font-weight: 400;
}
.contact_phone {
  color: black;
  padding: 10px;
  float: left;
  width: 100%;
  padding: 0px !important;
  font-weight: 400;
}
.contact_phone a {
  color: black;
  font-size: 14px !important;
  padding: 0px !important;
}
.contact-box {
  background-color: transparent;
  box-shadow: none;
  z-index: 1000;
}
.contact-box {
  top: auto;
  bottom: 0px;
  right: 20px;
  margin-bottom: -250px !important;
  
}
.contact-box-content {
  background-color: rgb(238, 238, 238);
  bottom: 160px;
  width: 300px;
  height: 110px;
  right: 80px;
  position: absolute;

  visibility: hidden;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;

  border-radius: 12px;

}
@keyframes fadeInOpacity {
  0% {
	opacity: 0;
	right: 0px;
  }
  100% {
	opacity: 1;
	right: 80px;
  }

}
.is-open {
  visibility: visible;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 0.2s;

}
.to-top-box {
  display: none;
}


/* Map Navigation */


.map_navigation h4 {
  color: #CC0000;
  margin-left: 40px;
  font-weight: 400 !important;
  font-weight: lighter;
}

.map img {
  display: block;
  width: 100%;
}

.mapframe {
  
  max-width: 600px;
  min-height: 700px;
  height: auto;
  display: inline-block;
  width: 100%;
  padding-bottom: 20px;
  
}
.mapframe .subline {
  font-weight: bold;
  padding-bottom: 5px;
}

.map {
  width: 79%;
  position: relative;
  float: left;
  height: auto;
}
.map_navigation {
  position: absolute;
  left: 90%;
  top: 0%;
  display: block;
  width: 20%;
  padding-top: 50px;
  font-family: Helvetica, sans-serif;
  padding-right: 5px;
  text-align: left;
  font-weight: lighter;
  
}
.map_navigation li {
  cursor: pointer;
  margin-left: 40px;
  list-style: none;
  padding-bottom: 10px;
  color: gray;
  border-bottom-color: white;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding-top: 10px;
  min-width: 100px;
  transition: border-bottom-color .2s ease-out,transform .2s ease-out;
}
.point_text_style {
  border-bottom-color: #CC0000 !important;
}

.pointbox {
  background-color: white;
  padding: 10px;
  padding-left: 15px;
  padding-right: 15px;
  border-radius: 10px;
  position: absolute;
  font-family: Arial;
  width: 250px;
  height: 268px;
  display: block;
  left: 70%;
  top: 55%;
  font-size: 12px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  margin-right: 20px !important;
  z-index: 100;
}
.pointbox td {
  min-width: 50px;
}
.pointbox p {
  width: 100%;
  padding-right: 0px;
  padding-bottom: 0px;
}
.pointbox h4 {
  font-size: 14px;
  font-weight: 400 !important;
}
.point1box {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.1s, opacity 0.5s linear;
}
.point2box {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.1s, opacity 0.5s linear;
}
.point3box {
  visibility: hidden;
  opacity: 0;
  height: 385px;
  transition: visibility 0.1s, opacity 0.5s linear;
}
.point4box {
  visibility: hidden;
  opacity: 0;
  
  transition: visibility 0.1s, opacity 0.5s linear;
}
.pointactive {
  visibility: visible;
  opacity: 1.0;
}

.map .point a {
  width: 15px;
  height: 15px;
  background-color: black;
  border-color: white;
  border-style: solid;
  border-width: 3px;
  position: absolute;
  border-radius: 50%;
  display: block;
  transition: background-color .2s ease-out,transform .2s ease-out;
}
.map .infopoint a {
  width: 8px;
  height: 8px;
  background-color: black;
  border-color: white;
  border-style: solid;
  border-width: 2px;
  
  position: absolute;
  border-radius: 50%;
  display: block;
  transition: background-color .2s ease-out,transform .2s ease-out;
}
.map .infopoint .linktext {
  font-size: 12px;
  margin-left: 12px;

} 
.map .infopoint a {
  color: black;
  font-weight: bold;
  text-decoration: none;
  font-family: Arial;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
}
.infopoint1 a {
  left: 30%;
  top: 40%;
}
.infopoint2 a {
  left:48%;
  top: 16%;
}
.infopoint3 a {
  left:62%;
  top: 75%;
}
.infopoint4 a {
  left:80%;
  top: 42%;
}
.infopoint5 a {
  left:22%;
  top: 88%;
}
.infopoint6 a {
  left:26%;
  top: 80%;
}
.map .point1 a {
  left: 75%;
  top: 27%;
}
.map .standorttext {
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  color: black;
  z-index: 200;
}
.standorttextred {
  color: #CC0000 !important;
}
.map .standorttext1 {
  left: 79.5%;
  top: 28%;
}
.map .standorttext2 {
  left: 41%;
  top: 55%;
}
.map .standorttext3 {
  left: 26%;
  top: 58%;
}
.map .standorttext4 {
  left: 40%;
  top: 83%;
}
.map .point2 a {
  left: 36%;
  top: 54.5%;
}
.map .point3 a {
  left: 33%;
  top: 55%;
}
.map .point4 a {
  left: 35%;
  top: 82%;
}
.map .active {
  background-color: #e23b3b !important;
  transform: scale(1.7);
  z-index: 150;
}


@media (max-width: 767px) {
  
  .mapframe {
	min-height: 600px;
  }
  .map .standorttext {
	font-size: 10px;
	
  }
  .map .linktext {
	font-size: 10px !important;
  }
  .map img {
	margin-top: -35px;
  }
 
   .pointbox {
	 width: 190px;
	 font-size: 10px;
	 height: 225px;
	 top: 50%;
   }
   .pointbox h4 {
	 font-size: 12px;
	 text-align: left;
   }
   .pointbox h4 {
	 font-size: 12px;
	 padding-bottom: 2px;
	 
   }
   .point3box {
	height: 330px; 
   }
   .map_navigation h4 {
	  font-size: 12px;
	  margin-bottom: 2px !important;
	}
	.map_navigation li {
	  font-size: 12px;
	  padding-bottom: 2px;
	  padding-top: 2px;
	}

   .map .point {
	 width: 10px;
	 height: 10px;
   }
   .map .active {
	 transform: scale(1.5) !important;
   }
}

.servicebox {
  width: 100%;
  height: 260px;
  background-color: lightgray;
  color: white;
  
}

.servicebox1 {
  background-image: linear-gradient(to bottom, rgba(245, 246, 252, 0),rgba(245, 246, 252, 0), rgba(0, 0, 0, 0.73)), url("/wp-content/themes/schaeferimmo/assets/images/headers/standorte.jpeg");
  background-size:cover;
  background-position: center;
  position: relative;

}
.servicebox2 {
  background-image: linear-gradient(to bottom, rgba(245, 246, 252, 0),rgba(245, 246, 252, 0), rgba(0, 0, 0, 0.73)), url("/wp-content/themes/schaeferimmo/assets/images/headers/myrealestate.jpg");
  background-size:cover;
  background-position: right 0px center;
  position: relative;
}
.fullboxleft {
	padding-right: 1px;
}
@media (max-width: 991px) {
	.fullboxleft {
		padding-right: 15px !important;
		padding-bottom: 35px !important;
	}
	
}
.fullboxright {
	padding-left: 1px;
}
@media (max-width: 991px) {
	.fullboxright {
		padding-left: 15px !important;
	}
	
}

.serviceboxframe {
  margin-top: 50px;
  margin-bottom: 50px;
  background: -moz-linear-gradient(top,  rgba(137,255,241,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(137,255,241,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  rgba(137,255,241,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  rgba(137,255,241,0) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  rgba(137,255,241,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
  background: linear-gradient(to bottom,  rgba(137,255,241,0) 0%,rgba(0,0,0,1) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0089fff1', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
}

.servicebox .textbox span {

  display: table-cell;
  height: 100%;
  left: 0px;
  top: 4px;
  width: 25px;
  bottom: 0px;
  font-size: 20px;
  float: left;
  font-weight: lighter;

}
.servicebox .textbox p {
  margin-left: 30px;
  font-weight: 650;
  font-size: 20px;
  width: 80%;
  text-shadow: 0px 1px 2px rgb(0 0 0 / 90%);
  font-family: 'Open Sans', sans-serif;
  left: 20px;
}
.servicebox:hover {
  color: #C00 !important;
  transition: 0.4s;
}
.textbox {
  position: absolute;
  bottom: 0px;
  left: 10px;
  width: 100%;
}

.right {
  background-position: right 0px center;
  
}
.handwritten {
  font-family: 'Vujahday Script', cursive !important;
  font-size: 60px !important;
  margin-top: -20px;
}
.handwritten .csBlock {
  margin-top: 30px !important;
}
.notbold {
  font-weight: 400 !important;
}
#c294 .front-large {
  color: black !important;
}
.smalldistance {
  height: 10px;
}

@media (max-width: 362px) {
  .handwritten {
	font-size: 20px !important;
  }
  .handwritten .csBlock {
	margin-top: 22px !important;
  }
  
}
@media (min-width: 363px) and (max-width: 430px) {
  .handwritten {
	font-size: 25px !important;
  }
  .handwritten .csBlock {
	margin-top: 22px !important;
  }
  
}
@media (min-width: 431px) and (max-width: 767px) {
  .handwritten {
	font-size: 35px !important;
  }
  .handwritten .csBlock {
	margin-top: 22px !important;
  }
}



/* Serivce Box Start */

.serviceSlogans .serviceRow {
  padding-right: 20px;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
	.serviceSlogans .serviceRow {
	margin-top: 70px;
  }
}
.serviceSlogans .serviceBox{
  font-family: 'Poppins', sans-serif;
  text-align: left;
  padding: 0 20px 20px;
  margin: 5px 5px;
  border-radius: 20px;
  position: unset;
  z-index: 1;
  

}
.serviceSlogans .glyphicon-ok {
  min-height: 10px;
  font-size: 18px;
  float: left;
}
.serviceSlogans .serviceTitle {
  color: #C00;
  font-weight: lighter;
  font-size: 16px;
  min-height: 80px;
  text-align: center !important;
  width: 100%;
  
}
.serviceSlogans .serviceBox:before{
  content: '';
  background-color: #fff;
  background-color: #e8c99b;
  background-color: #d9d9d9;
  background-image: linear-gradient(315deg, #d9d9d9 0%, #f6f2f2 74%);
  //border-bottom: 30px solid lightgray;
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  bottom: 0;
  z-index: -1;
  
}
.serviceSlogans .serviceBox .service-icon{
  color: lightgray;
  background-color: white !important;
  font-size: 35px;
  text-align: center;
  height: 180px !important;
  width: 79%;
  padding: 7px;
  margin: 0 auto 5px;
  margin-top: 20px;
  top: -50px;
  border-radius: 25px;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
  border-color: lightgray;;
  border-style: solid;
  border-width: 1px;
  /*background-image: url('https://www.schaefer-realestate.ag/wp-content/uploads/graphics/economy.jpg') !important;*/
}
.serviceSlogans .handwrittenservice {
  color: #C00;
  margin: auto;
  text-align: center;
  vertical-align: middle;
  line-height: 100px; 
  padding-top: 30px;
  height: 100%;
  
}
.serviceSlogans .serviceBox .service-icon:before{
  content: '';
  background-color: lightgray;
  height: 30px;
  width: 30px;
  border-radius: 5px;
  transform: rotate(45deg);
  position: absolute;
  left: 25px;
  bottom: -10px;
  display: none;
  
}
.serviceSlogans .serviceBox .service-icon span{
  background-color: #fff;
  line-height: 60px;
  height: 60px;
  width: 60px;
  border-radius: 50%;
  display: inline-block;
}
.serviceSlogans .serviceBox .title{
  color: lightgray;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.5px;
  line-height: 27px;
  text-transform: uppercase;
  margin: 0 0 10px;
  
}
.serviceSlogans .serviceBox .description{
  color: #999;
  font-size: 14px;
  line-height: 22px;
  margin: 0;
}
.serviceSlogans .serviceBox.magenta:before{ border-color: #FF415A; }
.serviceSlogans .serviceBox.magenta .service-icon,
.serviceSlogans .serviceBox.magenta .service-icon:before{
  color: #FF415A;
  background-color: #FF415A;
}
.serviceSlogans .serviceBox.magenta .title{ color: #FF415A; }
.serviceSlogans .serviceBox.pink:before{ border-color: #FF679F; }
.serviceSlogans .serviceBox.pink .service-icon,
.serviceSlogans .serviceBox.pink .service-icon:before{
  color: #FF679F;
  background-color: #FF679F;
}
.serviceSlogans .serviceBox.pink .title{ color: #FF679F; }
.serviceSlogans .serviceBox.purple:before{ border-color: #A969BE; }
.serviceSlogans .serviceBox.purple .service-icon,
.serviceSlogans .serviceBox.purple .service-icon:before{
  color: #A969BE;
  background-color: #A969BE;
}
.serviceSlogans .serviceBox.purple .title{ color: #A969BE; }

.serviceSlogans .service-list {
	list-style: none;
	padding-right: 20px;
	
  }
  
 .serviceSlogans .service-list li:before {
	content: '✓';
	margin-right: 10px;
	margin-top: -2px;
	margin-left: -25px;
	font-size: 20px;
	float: left;
	color: #C00;
  }

.serviceSlogans .service-list {
  color: lightgray !important;
}
.serviceSlogans .service-list li {
  color: gray !important;
  margin-bottom: 20px;
  margin-left: 25px;
  line-height: 1.4;
  
}


/* Serivce Box End */
.logocontainer {
	padding-left: 2px;
}
@media screen and (max-width: 768px){
	.logocontainer {
		padding-left: 15px;
	}
}
.larger {
	font-size: 16px;
}
 a .s-block-button {
	text-decoration: none !important;
}

/* Video on Fron Page */
.front-video-frame {
	width: 100vw;
	height: 100vh;
	/*background-image: linear-gradient(rgba(12,3,51,0.3), rgba(12,3,51,0.3));*/
	background-image: linear-gradient(rgba(43, 43, 43, 0.3), rgba(44, 44, 44, 0.3));


	top: 0;
	left: 0;
	align-items: center;
	justify-content: center;
}
.front-video-frame video {
  width: 100vw;
  height: 100vh;
  position: absolute;
  object-fit: cover;
}

.front-video-frame a {
  color: white !important;
}
.front-video-frame button {
  background-color: none;
  padding: 12px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-style: solid;
  border-color: white;
  border-width: 2px;
  border-radius: 3px;
  font-size: 14px;
  width: auto;
  margin-top: 40px;
  margin-left: 23px;
  display: inline-block;
  background-color: rgba(193, 193, 193, 0.61);
  backdrop-filter: blur(3px);
}
.front-video-frame button:hover {
  background-color: rgba(139, 139, 139, 0.61);
  backdrop-filter: blur(5px) !important;
}
.hidebutton {
  display: none;
}


.carousel-caption h2 {
	font-weight: 650 !important;
}
.carousel-caption h4 {
	font-weight: 650 !important;
}




@media (min-aspect-ratio: 16/9) {
	.back-video {
		width: 100%;
		height: auto;
	}
}
@media (max-aspect-ratio: 16/9) {
	.back-video {
		width: auto;
		height: 100%;
	}
}

#front-video-frame-sources {
  display: none;
}
.front-video-frame .carousel-caption {
  display: none;
}
.card-price .fa-info:before {
	content: "i" !important;
	font-family: 'Open Sans', sans-serif;
	font-size: 12px;
	
}

.header_contact_text, .iso {
	display: none;
}

.myFacilityLogin {
  top: 16px;
  right: 60px !important;
  position: fixed;
  z-index: 900;
  min-height: 50px;
}
.myFacilityLogin .myFacilityContent {
  box-shadow: none;
}
.myFacilityLogin .glyphicon {
  font-size: 10px;
  padding-right: 8px;
  margin-left: 0px !important;
}
.myFacilityLogin button {
  width: 90px;
  height: 40px;
  border-radius: 70px;
  font-size: 12px;
  border-width: 2px;
  border-style: solid;
  background-color: white;
  color: #C00;
  border-bottom-color: #C00 !important;
  border-right-color: #C00 !important;
  border-color: #C00;
  box-shadow: none;

}
.myFacilityLogin button:hover {
  color: white;
  background-color: #C00;
}
@media (min-width: 769px) {
	.sidebarsubdisplay {
		display:block;
		padding-top: 18px;
	}
}
@media (max-width: 767px) {
	
	.merklistelink {
		
		
	}
	#menu-icon {
		right: -140px !important;
	}
	.headerLogo {
		height: 50px !important;
	}
}
@media (max-width: 427px) {

	.headerLogo {
		left: 160px !important;
		height: 40px !important;
	}
}
@media (max-width: 502px) {
	#menu-icon {
		right: -68px !important;
		top: -25px;
	}
}
@media (max-width: 427px) {
	#menu-icon {
		top: -98px;
	}
}
.listElement {
	padding-bottom: 12px;
}
.listElement li{
  margin-left: 15px;
  line-height: 1.5;
}
@media (min-width: 2200px) {
	.carousel-caption {
		left:25%
	}
}

.button, .wp-element-button  {
	background-color: lightgray !important;
	padding: 10px !important;
	margin-top: -10px;
	width: fit-content !important;
	padding-right: 15px;
	width: fit-content !important;
	font-size: 12px !important;
	color: black !important;
	font-weight: 400 !important;
	border-radius: 0px;
}
.wc-block-cart__submit-container {
	margin-left: 1px;
}
.wc-block-cart__submit-container:hover {
	text-decoration: none;
}
.xoo-wsc-btn {
	background-color: lightgray !important;
	font-size: 14px !important;
	color: black !important;
}
.xoo-wsc-btn .amount {
	color: black;
	font-weight: bold;
}
.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:hover, .xoo-wsc-container .xoo-wsc-btn:hover {
	border-color: white;
}

.wp-element-button {
	border:  none !important;
}
.wp-element-button:hover {
	color: white;
	background-color: #C00;
	border: none;
}



.main_text_area {
	padding-left: 0px !important;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	min-height: 650px;
	background-color: white;
	padding: 15px;
	width: 31.3%;
	border-radius: 10px;
	margin-right: 2%;
	background-color: rgb(246, 246, 246);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);

}
@media screen and (max-width: 768px){
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
		min-height: 550px;
	}
	
}
.woocommerce ul.products li.product img, .woocommerce-page ul.products li.product img {

	border-radius: 10px;

}

.woocommerce ul.products li.product:hover, .woocommerce-page ul.products li.product:hover {
	background-color: rgb(232, 232, 232);

}
.woocommerce .woocommerce-Price-amount {
	font-size: 24px;
}
.woocommerce .products ul, .woocommerce ul.products {
}
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
	font-size: 18px;
}
.woocommerce ul.products li.product .price {
	font-size: 24px;
}
.woocommerce .price {
	padding-top: 15px;
	padding-bottom: 15px;
	color: black !important;
}
.woocommerce div.product div.images .flex-control-thumbs img {
	padding-right: 3px;
	padding-top: 3px;
}
.woocommerce .star-rating {
	color: #C00;
}
.woocommerce span.onsale {
	background-color: gray;
}
.woocommerce .qty {
	height: 34px;
}
.woocommerce h2, h3, h4 {
	padding-bottom: 15px;
}
.woocommerce ul.products li.product .button {
	position: absolute;
	bottom: 15px;
	right: 15px;
}

.add_to_cart_button::before, .xoo-wsc-btn::before, .wp-element-button::before, .woocommerce-button::before  {
	content: "\e080" !important; /* Unicode für den Chevron-Pfeil in Glyphicon */
	font-family: 'Glyphicons Halflings'; /* Muss eingebunden sein */
	color: #C00; /* Rote Farbe */
	margin-right: 5px; /* Abstand zum Text */
	float: left;
}
.xoo-wsc-container, .xoo-wsc-slider {
	position: fixed !important;
}
.product_meta .posted_in {
	display: inline-block;
	width: 100%;
}
.product_meta .tagged_as {
	display: inline-block;
	width: 100%;
}
.product_meta .tagged_as a {
	padding: 5px;
	padding-left: 8px;
	padding-right: 8px;
	background-color: #C00;
	color: white;
	border-radius: 10px;
	font-size: 12px;
}
.wp-block-product-new {
	display: none;
}


/*Overrides
*/
.searchBoxHeader {
	display: none;
}
.myFacilityLogin {
	
}


/*Overrides END
*/



@media only screen and (min-width: 769px) {
  .woocommerce .woocommerce-MyAccount-navigation {
	width: 22%;

	float: left;
  }
  .woocommerce .woocommerce-MyAccount-content { 
	width: 75%;
	float: right;
  }
}
  .woocommerce .woocommerce-MyAccount-content .amount {
	font-size: 14px;
}
/* Style WC Account Endpoint Links */

.woocommerce-info {
	border-top-color: #C00;
}
.woocommerce-info::before {
	color: #C00;
}

nav.woocommerce-MyAccount-navigation ul {
  list-style-type: none;
  padding-left: 0;
  max-width:200px;
  font-size: 17px;
  line-height: 26px;
}
nav.woocommerce-MyAccount-navigation ul li {
  padding: 8px 20px;
  background-color: rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
nav.woocommerce-MyAccount-navigation ul li.is-active {
  background-color: rgba(0,0,0,0.1);
}
nav.woocommerce-MyAccount-navigation ul li.is-active a {
  color: rgba(0,0,0,0.8); cursor: default;
}
nav.woocommerce-MyAccount-navigation ul li.is-active:after {
  content: "";
  height: 0;
  width: 0;
  border-top: 20px solid transparent;
  border-left: 14px solid rgba(0,0,0,0.1);
  border-bottom: 20px solid transparent;
  float: right;
  margin-right: -34px;
  margin-top: -7px;
}
nav.woocommerce-MyAccount-navigation ul li:not(.is-active):hover {
  background-color: rgba(0,0,0,0.07);
}
nav.woocommerce-MyAccount-navigation ul li:not(.is-active):hover:after { 
  content: "";
  height: 0;
  width: 0;
  border-top: 20px solid transparent;
  border-left: 14px solid rgba(0,0,0,0.07);
  border-bottom: 20px solid transparent;
  float: right;
  margin-right: -34px;
  margin-top: -7px;
}

.woocommerce-address-fields input, .woocommerce-EditAccountForm input {
	padding: 8px;
	color: gray;
	border-width: 2px;
	border-style: solid;
}
.woocommerce-address-fields select, .woocommerce-EditAccountForm select {
	padding: 8px;
	color: gray;
	background-color: white;
	border-style: solid;
	border-width: 1px;
	padding: 8px;
	font-size: 16px;
}
.woocommerce-message {
	border-top-color: #C00;
}
.woocommerce-message::before {
	color: #C00;
}



.front-video-frame .carousel-caption {
	margin-top: 35% !important;
	margin-left: 0% !important;
	top: 30%;
}
.fixed {
	
}
#headerWrapper {
	background-color: transparent;
	transition: background-color 0.8s ease; /* Übergang für Hintergrundfarbe */
	top: 0px;
	min-height: 130px;
	opacity: 0.9;
	background-size: contain;
	overflow: visible;
	position: relative;
}
#headerWrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
	ellipse at center top,
	rgba(255, 255, 255, 0.4),
	rgba(255, 255, 255, 0.1) 50%,
	rgba(255, 255, 255, 0) 90%
  );
  mix-blend-mode: screen;
  pointer-events: none;
}
#headerWrapper::after {
	content: '';
	position: absolute;
	top: 30%;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(255,255,255,0));
	opacity: 0.4;
	pointer-events: none;
	display: none;
}
.headerLogo {
	position: absolute;
	top: 40px;
	float: center;
	height: 80px;
	width: auto;
	left: 50%;
	  transform: translate(-50%, -50%);
}
.logocontainer {
	width: 320px;
	top: -20px;
	position: fixed;
	margin: 5% auto; /* Only centers horizontally not vertically! */
	left: 0;
	right: 0;
}


.close {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 24px;
	cursor: pointer;
	color: white;
	opacity: 0.8;
}


header .burger {
	position: fixed;
	top: 0px;
	left: 15px;
	font-size: 48px;
	cursor: pointer;
	z-index: 10;
	color: black;
}

.menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(5px);
	display: none;
	z-index: 99;
}

.menu-container {
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 70vw; /* Menü belegt nur 80% der Seitenbreite */
	display: flex;
	transform: translateX(-100%);
	transition: transform 0.3s ease;
	z-index: 2000;
}

.main-menu {
	background-color: #efefef;
	width: 35vw; /* Breite der Hauptmenüspalte */
	height: 100%;
	padding: 20px;
	overflow-y: auto;
}

.secondary-menu {
	background-color: #e1e1e1;
	width: 45vw; /* Breite der Untermenüspalte */
	height: 100%;
	padding: 20px;
	padding-top: 80px;
	overflow-y: auto;
	position: relative;
	opacity: 0.8;
}

.menu-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px;
	cursor: pointer;
	font-size: 18px;
	user-select: none;
	border-bottom-width: 1px;
	border-bottom-color: white;
	border-bottom-style: solid;
}
.menu-item:last-child {
  border-bottom: none;
}
#submenu-1 a {
	color: black;
}

.menu-item a {
	color: black !important;
}

.menu-item .arrow {
	font-size: 12px;
}

.menu-item:hover,
.menu-item.selected {
	background-color: #b4b4b4;
}

/* Stil für Untermenüpunkte in der zweiten Spalte */
.secondary-menu .submenu {
	list-style-type: none; /* Entfernt die Aufzählungspunkte */
	padding-left: 20px; /* Fügt zusätzlichen Platz links hinzu */
	opacity: 0;
	transition: opacity 0.5s ease-in-out; /* Übergang für Überblendung */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 25px;
}

.secondary-menu .submenu li {
	font-size: 14px;  /* Kleinere Schriftgröße */
	padding: 8px 10px; /* Weniger Padding */
	cursor: pointer;
}

.secondary-menu .submenu li:hover {
	background-color: #a9a9a9;
}

.submenu.hidden {
	display: none;
}

.close {
	position: absolute;
	top: 10px;
	left: 71%;
	font-size: 24px;
	cursor: pointer;
	z-index: 15;
}

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

@media (max-width: 600px) {
	.menu-container {
		flex-direction: column;
		width: 100%;
	}
	.main-menu, .secondary-menu {
		width: 100%;
	}
}
#secondMenuContainer {
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: blue;
}
.menulayer1 {
	width: 70%;
}
#menuContainer .leftcolumn {
	background-color: lightgray;
	float: left;
	width: 50%;
	height: 100%;
	padding: 25px;
}
#menuContainerMobile .leftcolumn {
	float: left;
	width: 50%;
	height: 100%;
	padding: 25px;
}
.rightcolumn {
	background-color: rgb(228, 228, 228);
	float: right;
	width: 50%;
	height: 100%;
	padding: 25px;
}
.menulayer2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 70%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	display: flex;
}

.menulayer2 .leftcolumn,
.menulayer2 .rightcolumn {
	width: 50%;
	padding: 20px;
}

.menulayer2 .leftcolumn ul {
	list-style-type: none;
}

.menulayer2 .rightcolumn {
	border-left: 1px solid #ccc;
	overflow-y: auto;
  overscroll-behavior: contain;         /* verhindert Durchscrollen der Seite */
  -webkit-overflow-scrolling: touch;    /* sanftes Scrollen iOS */
  scrollbar-gutter: stable both-edges;
}
.menulayer2 .leftcolumn .menu-item.selected {
	font-weight: bold;
	background-color: #f0f0f0;
}
.back-button {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 10px;
	background-color: #f0f0f0;
	border-bottom: 1px solid #ccc;
}
.back-button .arrow {
	margin-right: 5px;
}
.nodge {
	background-color: white;
	height: 80px;
	left: 0; 
	 right: 0; 
	top: 0px;
	width: 300px;
	margin-inline: auto; 
	border-bottom-right-radius: 25px;
	border-bottom-left-radius:  25px;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	opacity: 0.9;
}
.nodge .logo_schaefer {
	left: 25%; 
	 top: -15px;
	 position: relative;
	 width: 190px;
	 height: auto;
}
#menuContainer .areaimage {
	width: 100%;
	height: auto;
}
.navbutton {
	display: flex;
	text-align: center;
	width: 100%;
	padding: 10px;
	border-style: solid;
	border-width: 2px;
	border-radius: 8px;
	color: black !important;
	justify-content: center;
	align-items: center;
	  display: block;
	  margin-top: 1em; /* optional, für Abstand nach oben */
}

.navbutton:hover {
	color: black !important;
	text-decoration: none !important;
	background-color: rgb(207, 206, 206) !important;
}
.navbutton:visited {
	color: black !important;
}
#menuLayer2Left .menu-item.selected {
	background-color: #f0f0f0;
	font-weight: bold;
	color: #333;
}
.navbutton-container {
  margin-top: 1em;
}
.navbutton {
  display: block;
}
.navbutton {
  display: inline-block; /* oder block – je nach Stil */
  text-decoration: none;
}
.menu-detail {
  list-style: none;
}

.submenu li {
  list-style: none;
}


@media (max-width: 768px) {
	.menulayer1,
	.menulayer2 {
		width: 100%;
		flex-direction: column;
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		z-index: 1000;
		background: white;
	}

	.menulayer1 .leftcolumn,
	.menulayer1 .rightcolumn,
	.menulayer2 .leftcolumn,
	.menulayer2 .rightcolumn {
		width: 100%;
		float: none;
		padding: 20px;
	}

	.menulayer2 {
		display: none; /* Nur eine Ebene gleichzeitig zeigen */
	}

	.back-button {
		display: block;
	}

	.close {
		left: auto;
		right: 20px;
	}
}
@media (max-width: 768px) {
	.hidden-mobile {
		display: none !important;
	}
}

#menuContainer h1 {
	font-size: 24px;
	padding-bottom: 10px;
}
#menuContainer h3 {
	color: black;
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 14px;
	text-align: justify !important;
}
.header-abstand {
	margin-top: 100px;
}
.top-spacing {
  height: 120px;
}




.header-box {
	min-height: 150px;
}
#header-news-box {
 	z-index: 1000;
	position: fixed;
	top: 10px;
	right: 20px;
	
	
}
.subheadline {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	--fa-style-family-brands: "Font Awesome 6 Brands";
	--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
	--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
	--fa-style-family-classic: "Font Awesome 6 Free";
	--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
	box-sizing: border-box;
	font-weight: 500;
	padding: 0;
	margin: 0;
	font-family: Helvetica,sans-serif;
	color: #c70e1d;
	line-height: 1.4em;
	box-shadow: none;
	border: none;
	font-size: 24px;
	margin-bottom: 10px;
	padding-bottom: 20px;
	text-align: left;
}

@media (max-width: 768px) {
  .menu-container {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
  }

  .menulayer1,
  .menulayer2,
  .menulayer3,
  .menulayer4 {
	position: absolute;
	top: 0;
	left: 100%;
	width: 100%;
	height: 100%;
	background-color: white;
	transition: left 0.3s ease-in-out;
	z-index: 1;
	display: block;
  }

  .menu-active-1 .menulayer1 { left: 0; z-index: 2; }
  .menu-active-2 .menulayer2 { left: 0; z-index: 3; }
  .menu-active-3 .menulayer3 { left: 0; z-index: 4; }
  .menu-active-4 .menulayer4 { left: 0; z-index: 5; }

  .back-button {
	display: block;
	padding: 10px;
	background-color: #f0f0f0;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
	cursor: pointer;
  }
}
@media (min-width: 769px) {
  #menuContainerMobile {
	display: none;
  }
}

@media (max-width: 768px) {
  #menuContainer {
	display: none;
  }
}
#menuContainerMobile {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100vw;
	height: 100vh;
	background: white;
	z-index: 9999;
	overflow-y: auto;
	transition: all 0.3s ease-in-out;
}

#menuContainerMobile.active {
	display: block;
}
.desktop-only { display: block; }
.mobile-only { display: none; }

@media (max-width: 767px) {
	.desktop-only { display: none; }
	.mobile-only { display: block; }
}
/* Nur auf kleinen Bildschirmen sichtbar */
.mobile-burger-button {
	display: none;
	position: fixed;
	top: 15px;
	right: 15px;
	z-index: 9999;
	background: none;
	border: none;
	font-size: 28px;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	#menuContainerMobile {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: white;
		z-index: 9999;
		overflow-y: auto;
	}
	
	#menuContainerMobile.menu-active-1 {
		display: block;
	}
	#menuContainerMobile {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}
	
	#menuContainerMobile.menu-active-1 {
		opacity: 1;
		pointer-events: auto;
	}

	.menulayer1,
	.menulayer2,
	.menulayer3,
	.menulayer4 {
		display: none;
		padding: 20px;
	}

	.menulayer1.active,
	.menulayer2.active,
	.menulayer3.active,
	.menulayer4.active {
		display: block;
	}

	.menu-item {
		padding: 12px 0;
		border-bottom: 1px solid #ddd;
		cursor: pointer;
	}

	.back-button {
		font-weight: bold;
		margin-bottom: 15px;
		cursor: pointer;
	}

	.navbutton-container {
		margin-top: 20px;
	}

	.areaimage {
		max-width: 100%;
		height: auto;
	}
}

/* >>> NEU: nur Mobile-Container, getrennt vom Desktop */
.menu-container-mobile {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  display: none; /* über Klasse aktivieren */
}
.menu-container-mobile.menu-active-1 { display: block; }

/* Mobile-Layer (eine Ebene je Screen) */
.menu-container-mobile .menulayer1,
.menu-container-mobile .menulayer2,
.menu-container-mobile .menulayer3,
.menu-container-mobile .menulayer4 {
  display: none;
  padding: 20px;
}
.menu-container-mobile .menulayer1.active,
.menu-container-mobile .menulayer2.active,
.menu-container-mobile .menulayer3.active,
.menu-container-mobile .menulayer4.active {
  display: block;
}

/* Buttons/Listen innerhalb Mobile */
.menu-container-mobile .menu-item {
  padding: 12px 0;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}
.menu-container-mobile .submenu { list-style: none; margin: 0; padding-left: 0; }
.menu-container-mobile .back-button {
  display: block;
  font-weight: bold;
  margin-bottom: 15px;
  cursor: pointer;
}

/* Sichtbarkeit Desktop vs Mobile */
@media (min-width: 769px) {
  #menuContainerMobile { display: none !important; }
}
@media (max-width: 768px) {
  #menuContainer { display: none !important; } /* nur Desktop ausblenden */
}


/* --- MOBILE NAV OVERRIDES (ganz unten einfügen) --- */
@media (max-width: 768px) {
	.menu-container-mobile {
		position: fixed;
		inset: 0;
		background: #fff;
		z-index: 9999;
		overflow-y: auto;
	}
	
	.menu-container-mobile .menulayer1,
	.menu-container-mobile .menulayer2,
	.menu-container-mobile .menulayer3,
	.menu-container-mobile .menulayer4 {
		display: none;
		position: relative;
		width: 100%;
		min-height: 100vh;
		background: #fff;
		padding: 20px;
	}
	.menu-container-mobile .menulayer1.active,
	.menu-container-mobile .menulayer2.active,
	.menu-container-mobile .menulayer3.active,
	.menu-container-mobile .menulayer4.active {
		display: block;
	}
	
	.menu-container-mobile .leftcolumn,
	.menu-container-mobile .rightcolumn {
		width: 100% !important;
		float: none !important;
		padding: 0 !important;
	}
	/* L2/L3 rechte Spalte ausblenden (Mobile nur links) */
	.menu-container-mobile .menulayer2 .rightcolumn,
	.menu-container-mobile .menulayer3 .rightcolumn { display: none !important; }
	
	.menu-container-mobile .submenu { list-style: none; margin: 0; padding: 0; }
	.menu-container-mobile .menu-item {
		padding: 12px 0;
		border-bottom: 1px solid #eee;
		cursor: pointer;
	}
	.menu-container-mobile .menu-item:last-child { border-bottom: 0; }
	
	.menu-container-mobile .back-button {
		display: block;
		padding: 12px 0;
		font-weight: 600;
		border-bottom: 1px solid #eee;
		margin-bottom: 12px;
		cursor: pointer;
	}
	
	/* Desktop-Menü auf Mobile ausblenden */
	#menuContainer { display: none !important; }
}


/* Desktop: Mobile ausblenden */
@media (min-width: 769px) {
	#menuContainerMobile { display: none !important; }
}

@media (max-width: 768px) {
	#menuContainerMobile { position: fixed; inset: 0; background: #fff; z-index: 9999; }
	.menulayer1, .menulayer2, .menulayer3, .menulayer4 {
		position: absolute; inset: 0; overflow-y: auto; background: #fff;
	}
	.leftcolumn, .rightcolumn { width: 100%; float: none; padding: 20px; }
}
@media (max-width: 768px) {
	#menuContainerMobile .menulayer2 .rightcolumn,
	#menuContainerMobile .menulayer3 .rightcolumn {
		display: none !important;
	}
	#menuContainerMobile .menulayer2 .leftcolumn,
	#menuContainerMobile .menulayer3 .leftcolumn {
		width: 100% !important;
		padding: 20px;
	}
}
.menulayer1 .back-button { display: none !important; }

.menu-item.is-active {
	font-weight: bold;
	color: #c00; /* Beispiel */
}
/* --- Container & Ebenen --- */
#menuContainerMobile {
  --mm-radius: 16px;
  --mm-gap: 12px;
  --mm-pad: 16px;
  --mm-bg: #fff;
  --mm-fg: #0b1020;
  --mm-muted: #5b6270;
  --mm-border: #e7e9ee;
  --mm-accent: #0b72ff;
  --mm-active-bg: #f2f6ff;
  --mm-shadow: 0 10px 25px rgba(0,0,0,.08);
  color: var(--mm-fg);
}

/* einspaltig */
#menuContainerMobile .leftcolumn,
#menuContainerMobile .rightcolumn { padding: 0 var(--mm-pad) var(--mm-pad); }
#menuContainerMobile .rightcolumn { display: none !important; }

/* Back-Button */
#menuContainerMobile .back-button {
  position: sticky; top: 0;
  margin: 0; padding: 14px var(--mm-pad);
  background: var(--mm-bg);
  border-bottom: 1px solid var(--mm-border);
  z-index: 2;
  font-weight: 600;
}

/* Listen */
#menuContainerMobile ul.submenu,
#menuContainerMobile .leftcolumn > ul {
  list-style: none; margin: var(--mm-pad) 0 0; padding: 0;
}

#menuContainerMobile li.menu-item {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
  padding: 14px 14px;
  /*
  border: 1px solid var(--mm-border);
  border-radius: 14px;
  margin-bottom: var(--mm-gap);
  background: #fff;
 
  box-shadow: var(--mm-shadow);
  */
  font-size: 16px;
  line-height: 1.25;
}
#menuContainerMobile li.menu-item:hover {
	background: lightgray;
}

/* Abstand Text – nicht am Rand kleben */
#menuContainerMobile li.menu-item span,
#menuContainerMobile li.menu-item a { width: 100%; text-decoration: none; color: inherit; }

/* Chevron für Einträge mit Kindern */
#menuContainerMobile li.menu-item.has-children::after {
  content: "›";
  font-size: 18px;
  color: var(--mm-muted);
  margin-left: 8px;
}

/* Active-Markierung (vom Script gesetzt) */
#menuContainerMobile li.menu-item.is-active {
  background: var(--mm-active-bg);
  border-color: #dbe7ff;
  font-weight: 700;
}

/* Vorschau (Detail) */
#menuContainerMobile .menu-content {
  background: #fff;
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius);
  box-shadow: var(--mm-shadow);
  padding: calc(var(--mm-pad) + 2px);
  margin: var(--mm-pad);
}

#menuContainerMobile .menu-content h1 {
  font-size: 22px; line-height: 1.25; margin: 0 0 8px;
}
#menuContainerMobile .menu-content h3 {
  font-size: 15px; line-height: 1.5; color: var(--mm-muted);
  font-weight: 500; margin: 10px 0 12px;
}
#menuContainerMobile .menu-content .areaimage {
  display: block; width: 100%; height: auto;
  border-radius: 12px; margin: 10px 0 12px;
}

/* Call-to-Action Button wie Desktop */
#menuContainerMobile .navbutton-container {
  margin-top: 12px; display: flex; gap: 10px;
}


/* Close-Icon etwas freundlicher */
#menuContainerMobile .close {
  position: sticky; top: 0; right: 0;
  padding: 14px var(--mm-pad);
  font-size: 20px; z-index: 3; background: var(--mm-bg);
}

/* --- Screen-Transitions (Slide) --- */
/* Wir arbeiten mit data-dir="forward|backward" auf dem Container
   und .active auf dem Ziel-Layer -> Keyframe-Animation */
@keyframes mm-slide-in-right {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes mm-slide-in-left {
  from { opacity: 0; transform: translateX(-20px); }
  to   { opacity: 1; transform: translateX(0); }
}

#menuContainerMobile[data-dir="forward"] .menulayer1.active,
#menuContainerMobile[data-dir="forward"] .menulayer2.active,
#menuContainerMobile[data-dir="forward"] .menulayer3.active,
#menuContainerMobile[data-dir="forward"] .menulayer4.active {
  animation: mm-slide-in-right .28s ease both;
}

#menuContainerMobile[data-dir="backward"] .menulayer1.active,
#menuContainerMobile[data-dir="backward"] .menulayer2.active,
#menuContainerMobile[data-dir="backward"] .menulayer3.active,
#menuContainerMobile[data-dir="backward"] .menulayer4.active {
  animation: mm-slide-in-left .28s ease both;
}

/* Kleinere Touch-Optimierungen */
#menuContainerMobile .menu-item:active {
  transform: translateY(1px);
}
/* rote Markierung für den aktuell aktiven Punkt */
#menuContainerMobile li.menu-item.is-current {
  color: #c40000;                 /* Text rot */
  border-color: #ffd1cc;          /* sanfte rote Kontur */
  background: #fff6f5;            /* zarter Hintergrund */
  font-weight: 800;
}
Kleines Styling für den Desktop-Zurück-Button (angelehnt an mobile) 
.menulayer2 .menu-head {
  display:flex; align-items:center; gap:.75rem; padding:.75rem 1rem; border-bottom:1px solid #eee;
}
.menulayer2 .back-button {
  appearance:none; border:1px solid white; padding:.35rem .6rem; border-radius:.5rem;
  padding: 10px;
  font:inherit; cursor:pointer; line-height:1; background:transparent;
}
.menulayer2 #menuTitle { font-weight:600; }

.headerLogo {
  transition: filter .3s ease;
}
.menu-open .headerLogo {
  filter: blur(5px);
}

@media (max-width: 960px) {
	#menuContainer .menu-item {
		font-size: 14px;
	}
	#menuContainer h1 {
		font-size: 18px;
	}
	#menuContainer h3 {
		font-size: 11px;
	}
}

.front-video-frame {
  position: relative; /* Bezugspunkt für den Pfeil */
}

.front-video-frame .arrow {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 88px;                 /* breiter */
  height: 32px;                /* flacher / dünner */
  z-index: 5;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  color: #fff;                 /* Pfeilfarbe; bei Bedarf anpassen */
  cursor: pointer;
  opacity: .9;
  transition: opacity .2s ease, transform .2s ease;
  /* Schlanker Chevron (nur Linien, kein Fill) */
  background-image: url("data:image/svg+xml;utf8,\
<svg viewBox='0 0 88 32' xmlns='http://www.w3.org/2000/svg'>\
<polyline points='4,4 44,28 84,4' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}
.front-video-frame .arrow:hover { opacity: 1; transform: translateX(-50%) translateY( -2px ); }

/* Bouncen lassen, aber dezent und mit der X-Zentrierung */
.front-video-frame .bounce { animation: bounce 2s infinite; }
@keyframes bounce {
  0%,20%,50%,80%,100% { transform: translate(-50%, 0); }
  40%                 { transform: translate(-50%, -12px); }
  60%                 { transform: translate(-50%,  -6px); }
}

/* optional: auf sehr kleinen Screens etwas kleiner */
@media (max-width: 480px) {
  .front-video-frame .arrow { width: 72px; height: 28px; bottom: 16px; }
}
/* Video bleibt klick/touch-durchlässig -> kein iOS-Fullscreen */
@media (max-width: 768px) {
  .video-background {
	pointer-events: none;     /* verhindert Tap -> kein Vollbild */
  }
	.corp-row {
		margin-left: -7px !important;
	}
	.footer-links-right {
		margin-left: -7px !important;	
	}
}

/* Für Optik, falls noch nicht gesetzt */
.video-background {
  width: 100vw;
  height: 100vh;
  position: absolute;
  object-fit: cover;
  inset: 0;
}
.is-ios .video-background {
  pointer-events: none !important;
}

.news-list-view h3 {
	padding-top: 5px;
}
@media (max-width: 991px) { 
	.news-single .thumbnail {
		padding-left: 0px;
		padding-right: 0px;
	}
}
/* Icon fixiert oben rechts */
.mf-login-fixed {
  position: fixed;
  top: 18px;
  right: 60px;
  z-index: 2000;
}

/* Link/Icon */
.mf-login-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
}

.mfLoginIcon {
  width: 30px;
  height: 30px;
  fill: black; /* CI-Farbe anpassen */
  transition: fill .2s ease;
}

.mf-login-link:hover .mfLoginIcon {
  fill: #cc0000; /* Hover-Farbe */
}

/* Tooltip-Box mit Drop-Shadow */
.mf-tooltip {
  position: absolute;
  right: 100%;               /* links neben dem Icon */
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  background: lightgray;
  color: black;
  padding: 6px 10px;
  border-radius: 6px;
  white-space: nowrap;
  font-size: 13px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;

  /* Drop Shadow */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15),
              0 2px 4px rgba(0, 0, 0, 0.10);
}

/* kleiner Pfeil */
.mf-tooltip::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: lightgray;
}

/* Anzeigen bei Hover/Fokus */
.mf-login-link:hover .mf-tooltip,
.mf-login-link:focus-visible .mf-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(-12px);
}


.burger {
  width: 28px;              /* Gesamtbreite */
  height: 20px;             /* Gesamt-Höhe */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  margin-top: 30px;
  margin-left: 10px;
}

.burger span {
  display: block;
  height: 2px;              /* Linienstärke -> dünner machen */
  width: 100%;
  background: #000;         /* Farbe, ggf. CI-Rot #cc0000 */
  border-radius: 1px;       /* leichte Rundung */
  transition: background .2s ease;
}

/* Hover-Effekt */
.burger:hover span {
  background: #cc0000;
}

/* Desktop/Mobile Steuerung */
.desktop-only { display: none; }
.mobile-only  { display: none; }

@media (min-width: 769px) {
  .desktop-only { display: flex; }
}
@media (max-width: 768px) {
  .mobile-only { display: flex; }
}
@media (max-width: 768px) {
	.burger {
		margin-top: 30px;
		margin-left: 10px;
		transform: scale(0.8);
	}
	.headerImage button {
		margin-left: 20px;
	}
	.mf-login-fixed {
		transform: scale(0.8);
	}
	#header-news-box {
		transform: scale(0.8);
	}
	.socialfooter {
		transform: scale(0.8);
		margin-left: -20px;
	}
}
.contact-portrait {
	border-style: solid;
	border-width: 5px;
	border-color: white;
}
.subtitle-text {
	margin-top: 18px;
}
.contentAreaWithoutHeader {
	padding-top: 10px !important
}
.footer-background {
  background-image: url('https://www.schaefer.ag/wp-content/themes/schaefer-fm/assets/images/b_background.jpeg');
  background-size: cover;      /* skaliert Bild so, dass es das Element vollständig ausfüllt */
  background-position: center; /* Bild mittig ausrichten */
  background-repeat: no-repeat;/* kein Kacheln */
}


.headerImage {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.headerImage {
  position: relative;         /* Stacking-Context */
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.headerImage::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(128,128,128,0.55) 0%,   /* stärkeres Grau, 55% Deckkraft */
    rgba(128,128,128,0.25) 40%,  /* bis knapp zur Mitte noch gut sichtbar */
    rgba(128,128,128,0.0) 70%    /* läuft bis 70% komplett aus */
  );
  pointer-events: none;
  z-index: 0;
}

.headerImage > * {
  position: relative;
  z-index: 1;
  color: #fff;
}
.blogFrontPage .frontpagecard .card-body-blog {
	height: 360px important!;
}

/* Container für die Detailansicht – fixe, responsive Höhe */
.areaimage {
  display: block;
  width: 100% !important;             /* volle Breite */
  aspect-ratio: 16 / 9 !important;    /* erzwingt Querformat */
  object-fit: cover !important;       /* Bild füllt das Rechteck und schneidet überstehendes ab */
  object-position: center top !important; /* Fokus nach oben, wenn etwas abgeschnitten wird */
  border-radius: 8px;      /* optional für abgerundete Ecken */
}
.footer-main-content {
	color: black !important;
}
.footer-main-content .col-md-7, .footer-main-content .col-md-2 {
	padding-left: 9px;
}
.footer-main-content .image-embed-item {
	display: none;
}
@media (max-width: 768px) {
 .footer-main-content .col-md-7, .footer-main-content .col-md-2 {
	padding-left: 5px;
	 margin-left: -11px;
	}
}
@media (max-width: 815px) {
	.sidebarsc {
		display: none;	
	}
}
#menuContainer .close {
  position: absolute;
  top: 20px; 
  right: 20px;
  width: 40px; 
  height: 40px;
  border-radius: 50%;
  background: #8d8d8d;          /* schwarzer Kreis */
  color: #C00 !important;               /* weißes X */
  font-size: 18px;           /* schön groß */
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,0.5); /* kräftiger Schatten */
  transition: transform 0.2s ease, background 0.2s ease;
  z-index: 9999;
  text-shadow: 0 0 6px rgba(255,255,255,0.9); /* ✨ leuchtender Effekt fürs X */
	opacity: 0.6 !important;
}

#menuContainer .close:hover {
  transform: scale(1.15);   
  background: #111;         /* leicht heller Schwarz beim Hover */
}

/* Fallback: ohne JS bleibt alles sichtbar */
.teaser .teaser-box-frame {
  opacity: 1;
  transform: none;
}

/* Nur wenn JS aktiv ist, startet es "unsichtbar" */
.js .teaser .teaser-box-frame {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

/* Sichtbar-Status */
.js .teaser .teaser-box-frame.is-visible {
  opacity: 1;
  transform: none;
}
.teaser-title {
	bottom: 5px !important;
}
.leistungsangebot {
	padding-bottom: 0px !important;
	padding-top: 30px !important;
}
footer a:link {
	color: black !important;
}
.footer-content {
	color: black !important;
}
div.tnp-subscription {
 margin-left: -0px !important;	
}
.newsletter-form {
	margin-left: 0px !important;
	margin-bottom: 40px;
}
.newsletter-button {
	min-width: 200px;
}
.social-box {
	width: 40px;
	height: 40px;
	background-color: lightgray;
	display: flex;
	margin-top: -10px;
  justify-content: center; /* horizontal zentrieren */
  align-items: center;     /* vertikal zentrieren */
}

.social-box img {
  max-width: 100%;
  max-height: 100%;
  margin-top: -5px;
}
.socialfooter {
  display: flex;       /* ordnet die Boxen in einer Reihe an */
  gap: 10px;           /* Abstand zwischen den Boxen */
}

.social-box {
  flex: 0 0 auto;  /* verhindert, dass sich die Boxen dehnen */
}
.social-box img {
  filter: invert(1);
}
.content-gray-cell-fassade {
  background-color: #e0e0e0;
  text-align: justify;
  padding: 25px;
  color: #5E5E5E
  padding-bottom: 0px;
  padding-top: 25px;
}
.contact-portrait {
	width: 102px !important;
	height: 102px !important; 
	margin-top:-20px !important;
	margin-left: -5px !important;
}
.contact-box-content {
	height: 100px !important;
}
.frame-fassade {
  position: relative;
  display: flex;             /* Flex nur in dieser Box */
  align-items: center;       /* vertikal zentriert */
  justify-content: center;   /* horizontal zentriert */
  overflow: hidden;          /* falls Bild übersteht */
}

.img-fassade {
  width: 100%;
  height: 90% !important;    /* überschreibt Bootstrap height:auto */
  object-fit: cover;         /* Bild füllt den Rahmen, ggf. beschnitten */
  object-position: center;   /* vertikal mittig */
  display: block;
}
div#comparison1 { 
  width: 50vw;
  height: 50vw;
  max-width: 550px;
  max-height: 550px;
  overflow: hidden; 
}
div#comparison1 figure { 
  background-image: url(https://newsletter.schaefer.ag/after_02.jpg); 
  background-size: cover;
  position: relative;
  font-size: 0;
  width: 100%; 
  height: 100%;
  margin: 0; 
}
div#comparison1 figure > img { 
  position: relative;
  width: 100%;
}
div#comparison1 figure div { 
  background-image: url(https://newsletter.schaefer.ag/before_01.jpg);
  background-size: cover;
  position: absolute;
  width: 50%; 
  box-shadow: 0 5px 10px -2px rgba(0,0,0,0.3);
  overflow: hidden;
  bottom: 0;
  height: 100%;
}

div#comparison2 { 
  width: 50vw;
  height: 50vw;
  max-width: 550px;
  max-height: 550px;
  overflow: hidden;
  float:right;
}
div#comparison2 figure { 
  background-image: url(https://newsletter.schaefer.ag/after_03.jpg); 
  background-size: cover;
  position: relative;
  font-size: 0;
  width: 100%; 
  height: 100%;
  margin: 0; 
}
div#comparison2 figure > img { 
  position: relative;
  width: 100%;
}
div#comparison2 figure div { 
  background-image: url(https://newsletter.schaefer.ag/before_02.jpg);
  background-size: cover;
  position: absolute;
  width: 50%; 
  box-shadow: 0 5px 10px -2px rgba(0,0,0,0.3);
  overflow: hidden;
  bottom: 0;
  height: 100%;
}


.comparisonframe {
  

  font-size: 14px;
  margin-bottom: 20px;
}
.comparisonframe .left {
  padding-top: 5px;
  float: left;
  width: 48%;
  text-align: left;

}
.comparisonframe .right {
  padding-top: 5px;
  float: right;
  width: 48%;
  text-align: right;
}
/* Eltern-Container für Floats korrekt „einziehen“ */
.comparisonnav::after {
  content: "";
  display: block;
  clear: both;
}

/* Mittigen Text absolut über den Floats zentrieren */
.comparisonnav {
  position: relative; /* Bezug für die absolute Mitte */
}

.comparisonnav .centertext {
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;              /* passt zur padding-top:5px deiner .left/.right */
  text-align: center;
  pointer-events: none;  /* Klicks gehen nicht „verloren“ */
  /* optional: etwas Luft, falls knapp
     padding: 0 10px;
  */
}
/* Navi *unter* den Vergleichsboxen erzwingen – auch wenn #comparison2 float:right hat */
#comparison1 + .comparisonnav,
#comparison2 + .comparisonnav {
  clear: both;       /* trennt von den davor liegenden Floats */
  margin-top: 8px;   /* kleiner Abstand unter dem Bild */
}

/* (bereits vorhandene) Zentrier-Zeile bleibt, wir geben ihr nur die Bezugsebene */
.comparisonnav {
  position: relative;
}

/* Mittlerer Erklärungstext bleibt zentriert über den Floats */
.comparisonnav .centertext {
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;             /* passt zu padding-top:5px bei .left/.right */
  text-align: center;
  pointer-events: none;
}

/* Containerhöhe für die Float-Kinder korrekt herstellen */
.comparisonnav::after {
  content: "";
  display: block;
  clear: both;
}
.comparisonnavright {
	padding-top: 8px !important;
}
/* Navi sitzt unter den (floatenden) Vergleichsboxen */
#comparison1 + .comparisonnav,
#comparison2 + .comparisonnav {
  clear: both;
  margin-top: 8px;
}

/* Einheitliche vertikale Ausrichtung in der Navi */
.comparisonframe .comparisonnav {
  position: relative;
  min-height: 28px;        /* gemeinsame Höhe/Basislinie */
}

/* Die floatenden Blöcke links/rechts: Padding weg, gleiche Zeilenhöhe */
.comparisonframe .comparisonnav .left,
.comparisonframe .comparisonnav .right {
  padding-top: 0;          /* überschreibt deine 5px nur in der Navi */
  line-height: 28px;       /* gleiche Baseline wie die Mitte */
}

/* Mittiger Erklärungstext exakt vertikal zentriert */
.comparisonframe .comparisonnav .centertext {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  pointer-events: none;    /* keine Klicks blockieren */
}

/* Glyphicons auf Texthöhe bringen */
.comparisonframe .comparisonnav .glyphicon {
  vertical-align: middle;
  line-height: 1;
}
.comparisonframe .comparisonnav span {
	margin-top: -5px;
}
footer a:visited {
	color: black !important;
}
footer a:link {
	color: black !important;
}
footer a {
	color: black !important;
}


@media (min-width: 767px) {
  .compareboxleft {
	  padding-left: 0px !important;
	
  }
  .compareboxright {

		padding-right: 0px !important;
	}
}
.comparisonnavright {
	padding-left: 0px;
}
.comparisonnavleft {
	padding-right: 0px;
}
@media (max-width: 991px) {
	.comparebox {
		padding-right: 0px !important;
		padding-left: 0px !important;
	}
	.comparisonnavright {
		padding-left: 0px !important;
	}
	.comparisonnavleft {
		padding-right: 0px !important;
	}
}

/* Grundstil – falls noch nicht drin */
.html-sitemap,
.html-sitemap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Einrückung für Unterebenen */
.html-sitemap li > ul {
  margin-left: 1.25rem !important; /* erzwingt Einrückung */
  padding-left: 0 !important;
}

/* etwas Luft zwischen Einträgen */
.html-sitemap > li { margin: .25rem 0; }

/* optional: dezente Führungsstriche */
.html-sitemap li { position: relative; padding-left: .6rem; }
.html-sitemap li::before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0;
}
.html-sitemap li > ul { margin-inline-start: 1.5rem !important; }

.front-video-frame button {
	margin-top: 20px !important;
}
/* Org-Chart */

:root {
  --fg: #111827;
  --line: #cfd5db;
  --border: #e5e7eb;
  --hover-scale: 1.08;
}

html, body { height: 100%; }
body { margin: 0; background: #fff; color: var(--fg); font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; }

.orbit-stage { 
	position: relative; 
	width: min(980px, 100%);
	height: clamp(400px, 55vw, 640px);
	margin: 24px auto; }
	

.orbit-lines { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

/* 3D Kugel-Look */
.node {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #ffffff 0%, #f2f2f2 45%, #dcdcdc 100%);
  border: 1px solid #e5e7eb;
  box-shadow:
	inset 2px 2px 8px rgba(255,255,255,0.6),
	inset -6px -6px 10px rgba(0,0,0,0.08),
	0 6px 18px rgba(0,0,0,0.08),
	0 3px 6px rgba(0,0,0,0.05);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}

.node::before {
  content: "";
  position: absolute;
  top: 10%;
  left: 15%;
  width: 60%;
  height: 60%;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 70%);
  border-radius: 50%;
  filter: blur(6px);
  pointer-events: none;
}

.node.orbit:hover {
  transform: scale(var(--hover-scale));
  box-shadow:
	inset 2px 2px 8px rgba(255,255,255,0.6),
	inset -8px -8px 12px rgba(0,0,0,0.1),
	0 16px 36px rgba(0,0,0,0.16),
	0 8px 18px rgba(0,0,0,0.10);
}

/* Größen der Kugeln werden per JS gesetzt, damit das Verhältnis konstant bleibt */
.node.center { left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; z-index: 1; 
	background: none;
	background-color: #C00 !important;
}
.node .nodelabel {
	
}
.node.center .nodelabel { font-weight: 700; letter-spacing: .02em; font-size: clamp(12px, 2.2vw, 16px); 
	color: white;
}

.node.orbit { display: grid; place-items: center; cursor: pointer; text-decoration: none; color: inherit; z-index: 0; will-change: transform; }
.nodelabel { text-align: center; padding: 0 8px; color: var(--fg); font-weight: 600; font-size: clamp(6px, 1.0vw, 11px); }


/* Karten-Wrapper rund + Schatten */
.fm-orbit-card {
  /* Layout */
  max-width: 1080px;     /* gern anpassen */
  margin: 24px auto;
  padding: clamp(8px, 2vw, 16px);

  /* Look */
  background-color: #f8f9fb !important;
  border-radius: 24px;
  box-shadow:
	0 12px 28px rgba(0,0,0,.12),
	0 6px 16px rgba(0,0,0,.10),
	0 2px 6px rgba(0,0,0,.06);
  border: 1px solid #eef1f4; /* dezente Kante */
}

/* Optional: feiner Glanzverlauf oben (ganz zart) */
.fm-orbit-card--glossy {
  background:
	linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0) 60%),
	#fff;
}

/* Optionaler Header-Bereich in der Karte */
.fm-orbit-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: clamp(8px, 2vw, 16px);
}

.fm-orbit-card__title {
  font-size: clamp(18px, 2.6vw, 24px);
  font-weight: 700;
  color: #111827;
  margin: 0;
}

/* Etwas engerer Rahmen für sehr kleine Screens */
@media (max-width: 540px) {
  .fm-orbit-card {
	margin: 12px;
	padding: 16px;
	border-radius: 20px;
  }
}



  .pfm-explode-wrap{
	max-width: 760px; margin:0 auto;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	color:#111;
  }
  .pfm-explode-wrap .title{ text-align:center; margin:0 0 .5rem; font-weight:600; }
  .pfm-explode-wrap .note{ text-align:center; font-size:.92rem; color:#555; margin:.2rem 0 1rem; }
  .pfm-svg{ width:100%; height:auto; display:block; }
  .pfm-slice{ cursor:pointer; transition:transform .2s ease, filter .2s ease; }
  .pfm-slice:hover{ filter:brightness(1.08); }
  .pfm-label{ font-size:10.5px; font-weight:600; }
  .pfm-sub{ font-size:10px; fill:#444; }
  @media (min-width:560px){ .pfm-label{font-size:14px;} .pfm-sub{font-size:12.5px;} }
  
  
  .content-image-center {
	  display: flex;
		align-items: center;
		justify-content: center;
  }
.colcontentfooter {
	min-height: 60px;
}
.handwrittenservice {
	padding-top: 0px !important;
}
.mapframe {
	min-height: 0px !important;
	margin-bottom:50px !important;
}
.news-text-wrap ul li {
  line-height: 25px !important;
}
.form-check a {
	color: black !important;
}
.menu-head {
	background-color: white;
}
.aqua {

  display: block; /* oder flex, je nach Layout */
  padding-top: 50px;
  margin-top: 50px;
}
.leftcolumn {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 100vh;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 1600px) {
	.headerImage {
		min-height: 800px !important;
	}
}
/* Button-Reset wie gehabt – wichtig für Themes */
.front-video-frame .video-progress-button{
  position:absolute; left:50px; bottom:50px;
  width:64px; height:64px; border:none !important;
  padding:0 !important; margin:0 !important; background:transparent !important;
  box-shadow:none !important; border-radius:50% !important;
  cursor:pointer; z-index:5; display:grid; place-items:center;
  -webkit-appearance:none !important; appearance:none !important;
}
.front-video-frame .video-progress-button::before,
.front-video-frame .video-progress-button::after{ content:none !important; }

/* SVG und Kinder sollen NICHT die Klicks fangen */
.front-video-frame .video-progress-button svg{ display:block; overflow:visible; }
.front-video-frame .video-progress-button svg *{ pointer-events:none; }

/* Ringe */
.front-video-frame .video-progress-button .ring-bg{
  fill:rgba(0,0,0,.35); stroke:rgba(255,255,255,.25); stroke-width:2;
}
.front-video-frame .video-progress-button .ring-progress{
  fill:none; stroke:#fff; stroke-width:4.5; stroke-linecap:round;
  transform:rotate(-90deg); transform-origin:24px 24px;
}

/* Icons: Standard AUS, dann je State EIN */
.front-video-frame .video-progress-button .icon{ display:none; fill:#fff !important; opacity:.98; }
.front-video-frame .video-progress-button.state-playing .icon-pause{ display:block; }
.front-video-frame .video-progress-button.state-paused  .icon-play{  display:block; }

/* Tastaturfokus (optional) */
.front-video-frame .video-progress-button:focus{ outline:2px solid #fff; outline-offset:4px; }
@media (max-width:480px){
  .front-video-frame .video-progress-button{ left:16px; bottom:16px; width:56px; height:56px; }
}
/* Video soll keine Klicks fangen */
.front-video-frame .video-background {
  pointer-events: none;
}

/* Button über allem und ohne Focus-/Active-/Theme-Ränder */
.front-video-frame .video-progress-button {
  z-index: 1;
  border: none !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}
.front-video-frame .video-progress-button:focus,
.front-video-frame .video-progress-button:focus-visible,
.front-video-frame .video-progress-button:active {
  outline: 0 !important;
  box-shadow: none !important;
  border: none !important;
}
.front-video-frame .video-progress-button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Icons wirklich exklusiv (weiß) */
.front-video-frame .video-progress-button .icon { display: none; fill: #fff !important; opacity: .98; }
.front-video-frame .video-progress-button.state-playing .icon-pause { display: block; }
.front-video-frame .video-progress-button.state-paused  .icon-play  { display: block; }

/* Falls dein Theme auf :focus pseudo-Elemente legt */
.front-video-frame .video-progress-button::before,
.front-video-frame .video-progress-button::after {
  content: none !important;
}
/* Skaliert den gesamten Button auf 50 % */
.front-video-frame .video-progress-button {
  transform: scale(0.7);
  transform-origin: left bottom;  /* Anker bleibt in der Ecke */
}

/*


.front-video-frame .carousel-caption h2,
.front-video-frame .carousel-caption h4,
.front-video-frame .carousel-caption a {
  opacity: 0;
  transform: translateY(25px);
  animation: fadeUp 1.8s ease-out forwards; 
}


@keyframes fadeUp {
  0% {
	opacity: 0;
	transform: translateY(25px);
  }
  60% {
	opacity: 1;
	transform: translateY(0);
  }
  100% {
	opacity: 1;
	transform: translateY(0);
  }
}


.front-video-frame .carousel-caption h2 {
  animation-delay: 1.5s; 
}
.front-video-frame .carousel-caption h4 {
  animation-delay: 2.7s;
}
.front-video-frame .carousel-caption a {
  animation-delay: 3.9s; 
}
*/




.video-box {
  display: flex;
  align-items: stretch;
}

.video-box .col-md-6 {
  position: relative;
  overflow: hidden; /* wichtig, damit nichts übersteht */
}

/* Video vollflächig + leichter Zoom */
.video-box .col-md-6 video.inline-video {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* füllt Fläche, behält Seitenverhältnis */
  display: block;
  transform: scale(1.08); /* leicht vergrößert (8%) */
  transform-origin: center center; /* mittig zoomen */
}

/* Standard: nichts erzwingen – Bootstrap darf mobil stapeln */
.video-box .col-md-6 {
  position: relative;
}

/* Nur ab Desktop (≥ 992px) die volle Höhe + Zoom aktivieren */
@media (min-width: 992px) {
  .video-box {
	display: flex;
	align-items: stretch;            /* beide Spalten gleich hoch */
  }
  .video-box .col-md-6 {
	overflow: hidden;                /* Video darf beschnitten werden */
  }
  .video-box .col-md-6 video.inline-video {
	width: 100%;
	height: 100%;
	object-fit: cover;               /* füllt komplett, ohne Verzerrung */
	display: block;
	transform: scale(1.08);          /* leichter Zoom gegen graue Ränder */
	transform-origin: center;
  }
}

@media (max-width: 991.98px) {
  .video-box { display: block; }

  /* Linke Spalte (Video) */
  .video-box .video-cell {
	position: relative;
	aspect-ratio: 1 / 1;   /* quadratisch – oder 4 / 5, wenn du mehr Höhe willst */
	overflow: hidden;
  }

  .video-box .video-cell video.inline-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;      /* bleibt randlos, oben/unten leicht beschnitten */
	object-position: center top; /* Fokus etwas nach oben, wenn gewünscht */
	display: block;
  }

  /* Rechte Text-Spalte unverändert */
  .video-box .content-gray-cell {
	position: static;
	overflow: visible;
  }
}

/*TILE CORPORATE LAYOUT */

/* 5 Spalten ab md (≥992px) */
@media (min-width: 992px) {
  .tile.col-md-5ths {
	width: 20% !important;
	float: left;
  }
  .tile-grid > .col-md-5ths:nth-child(5n+1) {
	clear: left;
  }
}

/* optional ab lg explizit */
@media (min-width: 1200px) {
  .tile.col-md-5ths { width: 20% !important; }
}

/* ======================================================
   Grundlayout & Animation
====================================================== */
.tile {
  text-decoration: none;
  color: inherit;
  display: block;
  margin-bottom: 30px;
}
.tile .tile-inner {
  position: relative;
  height: 220px;
  background: #f7f7f7;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

/* ======================================================
   Vorder- & Rückseite
====================================================== */
.tile-front,
.tile-back {
  position: absolute;
  inset: 0;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: opacity .25s ease, transform .25s ease, color .25s ease;
}
.tile-front { opacity: 1; transform: translateY(0); }
.tile-back  { opacity: 0; transform: translateY(8px); }

/* ======================================================
   Hover-Effekt (hellgrau statt Rot)
====================================================== */
.tile:hover .tile-inner {
  background-color: #e9e9e9; /* sanftes Hellgrau */
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.15);
}
.tile:hover .tile-front {
  opacity: 0;
  transform: translateY(-8px);
}
.tile:hover .tile-back {
  opacity: 1;
  transform: translateY(0);
  color: #000; /* schwarze Schrift auf grauem Grund */
}

/* ======================================================
   Typografie & Logo
====================================================== */

/* Dein globales h3 bleibt unberührt */
.tile h3 {
  margin: 10px 0 6px;
}

/* Logo */
.tile .logo {
  width: 70%;           /* nimmt immer 70% der Kachelbreite */
  max-width: 140px;     /* optional Begrenzung, falls nötig */
  margin: 0 auto 10px;
}
.tile .logo img {
  width: 100%;
  height: auto;
  display: block;
}

/* optionaler Platzhaltertext (wenn noch kein Logo drin ist) */
.tile .logo:not(:has(img)) {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .7;
}

/* Fließtext */
.tile p {
  margin: 0;
  opacity: .8;
}

/* Rückseiten-Liste */
.tile-back ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tile-back li {
  line-height: 1.4;
}

/* ======================================================
   Fokus & Mobile
====================================================== */
.tile:focus { outline: none; }
.tile:focus .tile-inner {
  box-shadow: 0 0 0 3px rgba(204,0,0,0.35), 0 10px 28px rgba(0,0,0,0.12);
}
.unternehmen-title {
	padding-top: 10px;
	font-size: 12px;
	color: black;
}
.unternehmen-title-back {
	font-size: 10px !important;
	color: black;
}

@media (max-width: 767px) {
  .tile .tile-inner { height: 200px; }
}


/* Fade Caption in and out with Video */
.front-video-frame .carousel-caption .seq {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.front-video-frame .carousel-caption .seq.visible {
  opacity: 1;
  transform: translateY(0);
}
/* Flaggen oberhalb der Adresse */
.tile-back .flags {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}

/* Flaggen-Größe: 20 % der Boxbreite, Höhe automatisch */
.tile-back .flags img {
  width: 20%;
  height: auto;
  border-radius: 2px;
  margin-right: 3px;
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
  transition: transform .2s ease, box-shadow .2s ease;
}

/* sanfter Effekt beim Hover auf der ganzen Box */
.tile:hover .tile-back .flags img {
  transform: scale(1.05);
  box-shadow: 0 0 3px rgba(0,0,0,0.2);
}

/* Damit die Adresse etwas Abstand nach oben bekommt */
.tile-back .address {
  margin-top: 4px;
}

.tile-back .flag {
  width: 20%;
  height: auto;
  display: inline-block;
  border-radius: 2px;
  margin-right: 4px;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  transition: transform .2s ease, box-shadow .2s ease;
}

.tile:hover .tile-back .flag {
  transform: scale(1.05);
  box-shadow: 0 0 3px rgba(0,0,0,0.22);
}
.flag {
	margin-top: 10px;
	margin-bottom: 10px;
}
/* Stelle sicher, dass das Bild tatsächlich Fläche bekommt */
.tile-back .flag {
  display: inline-block;     /* oder block */
  width: 20%;
  height: auto;
  max-width: 100%;
}
/* =========================================
   5 Spalten ab md (≥992px) – sicher gegen col-sm-6
========================================= */
@media (min-width: 992px) {
  .tile.col-md-5ths {
	width: 20% !important;
	float: left;
  }
  /* Jede 5. Kachel beginnt neue Zeile */
  .tile-grid > .col-md-5ths:nth-child(5n+1) { clear: left; }
}

/* =========================================
   Grundlayout & Hover
========================================= */
.tile {
  display: block;
  text-decoration: none;
  color: inherit;
  margin-bottom: 30px;
}

.tile .tile-inner{
  position: relative;
  height: 220px;                 /* kannst du anpassen */
  background: #f7f7f7;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  will-change: transform, box-shadow, background-color;
}

/* Vorder- & Rückseite (deine Struktur beibehalten) */
.tile-front, .tile-back{
  position: absolute; inset: 0;
  padding: 18px;
  transition: opacity .25s ease, transform .25s ease, color .25s ease;
}

/* Hover: hellgrau statt Rot */
.tile:hover .tile-inner{
  background: #e9e9e9;
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.15);
}
.tile-front{ opacity: 1; transform: translateY(0); }
.tile-back { opacity: 0; transform: translateY(8px); }

.tile:hover .tile-front{ opacity: 0; transform: translateY(-8px); }
.tile:hover .tile-back { opacity: 1; transform: translateY(0); color: #000; }

/* =========================================
   VORDERSEITE: Logo- & Text-Zone (ANTI-TREPPE)
   -> ohne HTML-Änderungen
========================================= */
.tile-front{
  display: flex;
  flex-direction: column;
}

/* Logo-Zone ≈ 42% der Kachelhöhe */
.tile-front .logo{
  flex: 0 0 42%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Logo immer 70% Kachelbreite, proportional in der Höhe */
.tile-front .logo img{
  display: block;
  width: 70%;
  max-width: 180px;              /* optional begrenzen */
  height: auto;
  max-height: 100%;
}

/* Text-Zone ≈ 34% der Kachelhöhe */
.tile-front .unternehmen-title{
  flex: 0 0 34%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 12px;
  line-height: 1.3;
  /* Zeilen begrenzen, damit keine Sprünge entstehen */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* HINWEIS:
   Wenn du wirklich den exakten Website-h3-Stil willst,
   ersetze im HTML <div class="unternehmen-title"> durch <h3 class="unternehmen-title">.
   (Ein div erbt keine h3-Styles.) */

/* Rückseite: Titelblock optisch zusammenhalten (optional) */
.unternehmen-title-back { margin-bottom: 6px; }

/* =========================================
   FLAGGEN (DE/CH) – 20% Breite
========================================= */
.tile-back .flags {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}

.tile-back .flag{
  width: 20%;
  height: auto;
  display: inline-block;
  border-radius: 2px;
  margin-right: 4px;
  box-shadow: 0 0 2px rgba(0,0,0,0.12);
  transition: transform .2s ease, box-shadow .2s ease;
}

.tile:hover .tile-back .flag{
  transform: scale(1.05);
  box-shadow: 0 0 3px rgba(0,0,0,0.22);
}

/* Adresse etwas Luft nach oben */
.tile-back .address { margin-top: 4px; }

/* =========================================
   Fokus & Mobile
========================================= */
.tile:focus { outline: none; }
.tile:focus .tile-inner {
  box-shadow: 0 0 0 3px rgba(0,0,0,0.15), 0 10px 28px rgba(0,0,0,0.12);
}

@media (max-width: 767px){
  .tile .tile-inner { height: 200px; }
  .tile-front .logo { flex-basis: 40%; }
  .tile-front .unternehmen-title { flex-basis: 36%; }
}
.tile-grid {
	margin-left: -30px !important;
}
.tile-front .unternehmen-title {
  flex: 0 0 34%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
  /* stattdessen */
  white-space: normal;       /* normale Zeilenumbrüche erlauben */
  word-break: normal;        /* keine Zerstückelung mitten im Wort */
  overflow-wrap: anywhere;   /* darf bei Bedarf umbrochen werden, aber nie mit "…" */
}
/* Hintergrundfarbe nur für die Vorderseite */
.tile-front {
  background-color: #e0e0e0;   /* <– hier deine Wunschfarbe */
}
/* Weniger Abstand zwischen Logo und Unternehmens-Titel */
.tile-front .logo {
  flex: 0 0 30%; /* vorher 42%, etwas kompakter */
}

.tile-front .unternehmen-title {
  flex: 0 0 38%; /* vorher 34%, leicht angehoben */
  margin-top: -6px; /* feine Justierung – Logo und Titel rücken näher zusammen */
}
/* Adresse mittig, Text darunter */
.tile-back .address {
  text-align: center;
}

/* Flags als eigene Zeile (zentriert) */
.tile-back .flags {
  display: block;          /* -> bricht die Zeile nach den Flags */
  margin: 0 auto 6px;      /* zentriert + Abstand nach unten */
}

/* Einzelne Flaggen: Größe + Mindestbreite */
.tile-back .flag,
.tile-back .flags img {
  width: 40px;
  min-width: 18px;         /* dein Fix, damit sie nicht zu klein werden */
  height: auto;
  display: inline-block;   /* mehrere Flags nebeneinander */
  vertical-align: middle;
}
#standardvideo {
  width: calc(100% + 30px);
  margin-right: -30px;
  height: auto;
  display: block;
  object-fit: cover; /* falls das Seitenverhältnis bleiben soll */
  margin-left: -15px;
  margin-top: 20px;
}
.no-padding {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 961px){
	.video-box-text {
		margin-left: -15px !important;
	}
}
.col-md-6 li {
	padding-bottom: 5px;
	line-height: 1.25;
}
/* Bildspalte: füllt die Zelle randlos */
.col-image {
  display: block;           /* falls anderswo 'display:flex' o.ä. gesetzt wurde */
  width: 100%;
  padding: 0;               /* keine Innenabstände in der Bildzelle */
  background-size: cover;   /* vollflächig, ohne Verzerrung */
  background-position: center;
  background-repeat: no-repeat;
  min-height: 320px;        /* Fallback-Höhe (Desktop & große Tablets) */
}

/* Desktop: beide Spalten exakt gleich hoch (nur hier, scoped!) */
@media (min-width: 768px) {
  .cover-row {
	display: flex;
	align-items: stretch;
  }
}

/* Mobil: sichere Höhe via Aspect-Ratio (nie wieder „Strich“) */
@media (max-width: 767px) {
  .col-image {
	min-height: 0 !important;  /* min-height neutralisieren, falls überschrieben wird */
	aspect-ratio: 16 / 9;      /* garantiert sichtbare Höhe */
	/* Alternative, wenn aspect-ratio nicht greift:
	   height: 40vh !important; min-height: 260px !important; */
  }
}
.reinwasser {
	border-width: 10px;
	border-color: black;
	border-style: solid;
}
@media (max-width: 991px) {
	.img-respo-left {
		width: 100% !important;
	}
	.img-respo-center {
		width: 100% !important;
	}
	.img-respo-right {
		width: 100% !important;
	}
	
}
.leistungsangebot a {
	color: white !important;
}
.leistungsangebot a:href {
	color: white !important;
}
.leistungsangebot a:visited {
	color: white !important;
}
.leistungsangebot a:active {
	color: white !important;
}
.footer-links-right li {
	padding-bottom: 5px !important;
}
.serviceBox .service-icon {
	display: none !important;
}
.handwrittenservice {
	padding-top: 50px !important;
}