/* =========================================================
   FONTS
   ========================================================= */
@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/source-sans-3-v19-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/source-sans-3-v19-latin-700.woff2') format('woff2');
}

/* =========================================================
   RESET / BASICS
   ========================================================= */
html {
  font-size: 16px !important;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body {
  font-family: "Source Sans 3", Helvetica, Arial, Verdana, sans-serif !important;
  font-size: 16px !important;
  font-weight: 300;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  color: #000;
  background: transparent !important;
}

a {
  color: #000;
  transition: all .4s ease;
}
a:hover,
a:focus {
  color: #000;
}

ul {
  margin: 0;
  padding: 0;
}
li {
  font-size: 16px;
}

h1 {
/*color: #000;
margin-bottom: 25px;
font-size: 2.0em;
font-weight:bold;*/
}

h2 {
  font-size: 30px!important;
  font-weight: bold;
}


h3 {
  font-size: 24px!important;
  font-weight: bold;
}

h4 {
  font-size: 22px;
  font-weight: bold;
}

h4 {
/*color: #000;
font-size: 24px;*/

}
.content {
	margin-top: 20px;
}

/* =========================================================
   CONTENT
   ========================================================= */
.row-wrapper {
  border-bottom: 1px solid #f2f2f2;
}

h1 {
  padding: 20px 0 50px;
  text-align: center;
  text-transform: uppercase;
  font-size: 32px;
  font-weight: 700;
}

p {
  margin-bottom: 15px;
}

#main {
border-top: 1px solid #f2f2f2;
}

.row-wrapper {
	margin-bottom:40px;
}


/* Foundation schneidet sonst Overlay ab */
.row-wrapper,
.row,
.columns {
  overflow: visible !important;
}

.nav-center {
  z-index: 9999 !important;
}

input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
	margin:0px!important;
}

input[type="file"], input[type="checkbox"], input[type="radio"], select {
  margin:0px!important;
}

.input_plz__gemein_name {
	margin-top: 18px;
}


.top-bar {
  background-color: #fff; /* this is the custom color */
  height:80px;
}

.top-bar.expanded .title-area {
	  background-color: #fff; /* this is the custom color */
	}

.title-area {
  height: 80px;
  margin: 5px !important;
}

	
.top-bar-section ul li>a {
	background: #fff!important;
	  color:#000!important;
  font-size:inherit;
  font-family:inherit;
  font-weight:300;
}

.top-bar-section ul li:hover>a{
	background: #fff!important;
	  color:#00ADEE !important;
  font-size:inherit;
  font-family:inherit;
  font-weight:300;
}

.top-bar .toggle-topbar.menu-icon a span::after {
    box-shadow: 0 0px 0 1px #666, 0 7px 0 1px #666, 0 14px 0 1px #666;
}

.top-bar-section ul li>a , .top-bar-section ul li:hover>a{
  font-size: 1.3125rem;
  color:#000;
}



@media only screen and (max-width: 1200px) {
	.top-bar-section ul {
		padding-left: 0px!important;
	}
}


@media only screen and (min-width: 40.063em) { 
	#buildingyear,#plcobject,#apartmentnumber {
	/*	width:30%;*/
	}

	.row-header {
  padding-top: 10px;
}

	.top-bar {
		  background-color: #fff; 
	
		}

			.title-area{
		height:45px;
		margin:0px!important;
	}
	
	.top-bar.expanded .title-area {
		  background-color: #EFEFEF; 
		}
		
	.top-bar-section ul li>a , .top-bar-section ul li:hover>a{
	  background:#fff!important;
	  transition: .3s;
	  transition-timing-function: ease;
	-webkit-transition-timing-function: cubic-bezier(.58,.3,.005,1);
	-o-transition-timing-function: cubic-bezier(.58,.3,.005,1);
	transition-timing-function: cubic-bezier(.58,.3,.005,1);

	  font-family:inherit;
	  font-weight:300;
	}
	
	.top-bar-section ul .active {
	  border-bottom: 3px solid #dc640c;
	}
	
	.top-bar-section ul li:hover {
	  border-bottom: 3px solid #dc640c;
	}


	.top-bar-section ul {
		/*padding: 15px;*/
		padding-left: 100px;
		padding-top:0px;
	}

	.background-menu{
	background: #EFEFEF;
	}

}

.top-bar-section ul li > a {
  color: #000 !important;
  font-weight: 500;
  text-decoration: none;
}
.top-bar-section ul li > a:focus,
.top-bar-section ul li > a:hover {
  color: #005185 !important;
  background-color: #dc640c !important;
}

.top-bar-section ul li {
  outline: none;
}
.top-bar-section ul li:focus-within {
  background-color: #dc640c;
}

 /* --- Fix für Top-Bar Navigation: saubere Darstellung Desktop + Mobile --- */

/* Grundlayout Desktop */
.top-bar-section ul.left {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.8rem; /* gleichmäßiger Abstand */
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.top-bar-section ul.left li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.top-bar-section ul.left li a , .top-bar-section ul li{
  display: block;
  padding: 0.6rem 1rem;
  text-decoration: none;
  white-space: nowrap;
  color: #000 !important;
  background: transparent !important;
  padding-bottom: 5px;
}

.top-bar-section ul.left li a:hover,
.top-bar-section ul.left li a:focus {
  color: #dc640c !important;
  background-color: #fff !important;
  outline: none;
}

/* --- Mobile Ansicht: Punkte untereinander --- */
@media (max-width: 768px) {
  .top-bar-section ul.left {
    display: block;        /* untereinander anordnen */
    gap: 0;                /* kein horizontaler Abstand */
  }

  .top-bar-section ul.left li {
    display: block;
    width: 100%;
    margin-bottom: 0.3rem; /* kleiner Abstand zwischen Punkten */
  }

  .top-bar-section ul.left li a {
    display: block;
    width: 100%;
    padding: 0.8rem;
    text-align: left;
    border: none;
  }
}

/* --- Abstand zwischen Menü und Partnerlogo, responsive --- */

/* Desktop-Ansicht */
.top-bar .logo {
  position: relative;
}

.top-bar .logo img.partner {
  float: right;
  max-height: 70px;
  margin-left: 2rem; /* Abstand zwischen Menü und Logo */
}

/* Menü bleibt sauber links ausgerichtet */
.top-bar-section ul.left {
  margin-right: 2rem; /* zusätzlicher Sicherheitsabstand, falls Logo breit ist */
  margin-left: 3rem;
}

/* Mobile Ansicht: Logo unter oder über Menü, kein Überlappen */
@media (max-width: 768px) {
  .top-bar .logo img.partner {
    float: none;
    display: block;
    margin: 0 auto 1rem auto; /* zentriert und mit Abstand unten */
  }

  .top-bar-section ul.left {
    margin-right: 0;
  }
}



.fbq button{
  padding:0px;
}

input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
	margin : 0px!important;
}

input[type="file"], input[type="checkbox"], input[type="radio"], select {
 margin : 0px!important;
}

.fbq .questionizer-root .input_plz__gemein_name {
  margin-top: 10px!important;
  bottom: -.3rem;
}

@media (max-width: 768px) {
  html {
    font-size: 80%!important;
  }

  .fbq {
    font-size: 100%;
  }
}

.fbq table {
background: transparent;
  margin-bottom: 0rem;
  border: none;
  table-layout: auto;
}

.fbq tr {
background: none!important;
}

.fbq table tr th, .fbq table tr td {
	padding: 0px!important;
}

/* Logo-Layout: Partner links, Brillux je nach View */
/* MOBILE oben: 2 Logos nebeneinander */
.logo-mobile-row{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  max-height: 70px;
  padding-left: 10px;

  /* Platz rechts für Hamburger */
  padding-right: 70px;
}

.logo-partner {
 max-height: 70px;
}


.logo-mobile-row img{
  max-height: 55px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}

/* DESKTOP oben links: nur Partnerlogo */
.logo-desktop-row img{
  max-height: 70px;
  width: auto;
  max-width: 200px;

}

/* DESKTOP rechts: Kundenlogo */
.logo-customer-desktop{
  max-height: 70px;
  margin-top: 10px;
  width: auto;
  max-width: 200px;
  display: block;
}

/* Mobile kleiner */
@media (max-width: 640px){
  .logo-mobile-row{
    height: 55px;
    padding-right: 65px;
	padding-top: 5px;

  }
  .logo-mobile-row img{
    height: 50px;
  max-width: 100px;
	margin-top:10px;
		margin-right:20px;
  }
}

