html {
  color: #000000; 
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0; 
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
}
* {
	box-sizing: border-box;
}
img {
	border:none;
}
p {
	margin:0px 0px 20px 0px;
	padding:0px;
}
.rel {
	position:relative;
}
.text-left {
	text-align:left;
}
.text-center {
	text-align:center;
}
.text-right {
	text-align:right;
}

h1 {
	margin:0px 0px 34px 0px;
	padding:0px;
	font-size:50px;
	color:#666666;
}
h2,h3,h4,h5 {
	margin:0px 0px 0px 0px;
	padding:18px 0px 0px 0px;
	font-size:24px;
	color:#666666;
}
h1 {
	border-bottom:1px solid #666666;
	text-transform:uppercase;
}
.home h1,
.home h2,
.home h3,
.home h4,
.home h5 {
	margin:24px 0px 24px 0px;
	font-size:36px !important;
	border-bottom:none;
	text-transform:normal;
}
.subheader {
	font-weight:bold;
	text-transform:uppercase;
	color:#666666;
}
@media (max-width: 767px) {
	h1,h2,h3,h4,h5 {
		font-size:22px;
		margin:0px 0px 17px 0px;
		-moz-hyphens: auto;
		-o-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
	.home h1,
	.home h2,
	.home h3,
	.home h4,
	.home h5 {
		margin:24px 0px 24px 0px;
		font-size:36px !important;
	}
}

/* Button */

a {
	color:#666666;
	text-decoration:underline;
}
a:hover {
	text-decoration:none;
}

.button {
	font-size:16px;
	line-height:16px;
	color:#000000;	
	background-color:#F4E349;
	border-radius:4px;
	text-decoration:none;
	border-top:1px solid #f8f199;
	border-bottom:1px solid #f8f199;
	padding:13px;
	display:inline-block;
}
.button.button-tel {
	font-size:16px;
	line-height:16px;
	color:#000000;	
	background-color:transparent;
	border-radius:4px;
	text-decoration:none;
	border:1px solid #ffffff;
	padding:13px 13px 13px 42px;
	display:inline-block;
	background-image:url(../Images/telefon.svg);
	background-repeat:no-repeat;
	background-position:-8px -9px;
	background-size:auto 60px;
}
.button.button-mail {
	font-size:16px;
	line-height:16px;
	color:#000000;	
	background-color:transparent;
	border-radius:4px;
	text-decoration:none;
	border:1px solid #ffffff;
	padding:13px 13px 13px 42px;
	display:inline-block;
	margin-right:16px;
	background-image:url(../Images/email.svg);
	background-repeat:no-repeat;
	background-position:-8px -9px;
	background-size:auto 60px;
}
.button:hover {
	text-decoration:underline;
}

/* Header */
.header {
	border-bottom:1px solid #797979;
}
.header-wrapper {
	height:90px;
}
.logo {
	position:absolute;
	top:41px;
	left:0px;
	width:123px;
	height:43px;
	z-index:100;
	transition: all 150ms ease-out;
}
@media (max-width: 991px) {
	.header {
		border-bottom:none;
	}
	.header-wrapper {
		padding:0px;
	}
	.logo {
		top:24px;
		left:0px;
	}
}

/* slider */

.slider {
	height:auto;
	max-width:1920px;
	margin:auto;
}
.carousel-headbild {
	position:relative;
}
.carousel-inner {
	margin:0px;
}
.slider-item, .headbild_item_slider {
	height:600px;
	background-position:center center;
	background-size: auto 100%;
	background-repeat:no-repeat;
}
.carousel-indicators-wrapper {
	position:absolute;
	left:0px;
	bottom:15px;
	width:100%;
	z-index:100;
	text-align:center;
}
.slider-headline-wrapper {
	display: flex;
  flex-direction: column;
  justify-content: center;
  height:600px;
}
.slider-headline {
	text-align:center;
	text-transform:uppercase;
	text-shadow: 2px 2px 2px #666666;
	font-weight:bold;
	color:#FFFFFF;
	font-size:70px;
	margin:0% 18% 0% 18%;
}
@media (max-width: 767px) {
	.slider, .slider-item, .headbild_item_slider {
		background-size: 100% auto;
		height:140px;
	}
	.slider-headline-wrapper {
		height:140px;
	}
	.slider-headline {
		font-size:24px;
	}
}
@media (max-width: 448px) {
	.slider, .slider-item, .headbild_item_slider {
		height:140px;
	}
	.slider-headline {
		font-size:14px;
	}
}

/* Content */

.main {
	padding:60px 0px 0px 0px;
}
@media (max-width: 767px) {
	.main {
		padding:40px 0px 0px 0px;
	}
}
.twa-content-image img {
	width:100%;
	height:auto;
	margin-top:0px;
}
.abbinder {
	padding:30px 0px 30px 0px;
	margin:30px 0px 30px 0px;
	background-color:#eaeaea;
}

/* Farbe nicht definiert */
.frame-layout-0 h1,
.frame-layout-0 h2,
.frame-layout-0 h3,
.frame-layout-0 h4,
.frame-layout-0 h5 {
	color:#666666;
}
.teaser .frame-layout-0 img {
	border-top:8px solid #000000;
}
/* Farbe Grau (Standard) */
.frame-layout-1 h1,
.frame-layout-1 h2,
.frame-layout-1 h3,
.frame-layout-1 h4,
.frame-layout-1 h5 {
	color:#666666;
}
.teaser .frame-layout-1 img {
	border-top:8px solid #666666;
}
.fe-layout-1 h1,
.fe-layout-1 h2,
.fe-layout-1 h3,
.fe-layout-1 h4,
.fe-layout-1 h5 {
	color:#666666;
}
.fe-layout-1 h1 {
	border-color:#666666;
}
.fe-layout-1 .subheader {
	color:#666666;
}

/* Farbe Abbinder */
.abbinder h1,
.abbinder h2,
.abbinder h3,
.abbinder h4,
.abbinder h5 {
	color:#666666 !important;
}

/* Farbe Rot */
.frame-layout-2 h1,
.frame-layout-2 h2,
.frame-layout-2 h3,
.frame-layout-2 h4,
.frame-layout-2 h5 {
	color:#c53335;
}
.teaser .frame-layout-2 img {
	border-top:8px solid #c53335;
}
.fe-layout-2 h1,
.fe-layout-2 h2,
.fe-layout-2 h3,
.fe-layout-2 h4,
.fe-layout-2 h5 {
	color:#c53335;
}
.fe-layout-2 h1 {
	border-color:#c53335;
}
.fe-layout-2 .subheader {
	color:#c53335;
}

/* Farbe Grün */
.frame-layout-3 h1,
.frame-layout-3 h2,
.frame-layout-3 h3,
.frame-layout-3 h4,
.frame-layout-3 h5 {
	color:#75af54;
}
.teaser .frame-layout-3 img {
	border-top:8px solid #75af54;
}
.fe-layout-3 h1,
.fe-layout-3 h2,
.fe-layout-3 h3,
.fe-layout-3 h4,
.fe-layout-3 h5 {
	color:#75af54;
}
.fe-layout-3 h1 {
	border-color:#75af54;
}
.fe-layout-3 .subheader {
	color:#75af54;
}
/* Farbe Gelb */
.frame-layout-4 h1,
.frame-layout-4 h2,
.frame-layout-4 h3,
.frame-layout-4 h4,
.frame-layout-4 h5 {
	color:#F4E349;
}
.teaser .frame-layout-4 img {
	border-top:8px solid #F4E349;
}
.fe-layout-4 h1,
.fe-layout-4 h2,
.fe-layout-4 h3,
.fe-layout-4 h4,
.fe-layout-4 h5 {
	color:#F4E349;
}
.fe-layout-4 h1 {
	border-color:#F4E349;
}
.fe-layout-4 .subheader {
	color:#F4E349;
}

/* Newsletteranmeldung */
.frame-layout-5 {
	padding-top:50px;
	background-image:url(../Images/kuvert.svg);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:65px 65px;
	margin:40px 0px 40px 0px;
}
.frame-layout-5 h1 {
	text-transform:none !important;
}

/* Qualitäts-Siegel */
.quality-seals {
	border-top:1px solid #6b6b6b;
	margin:40px 0px 0px 0px;
	padding:20px 0px 0px 0px;
}
.quality-seals img {
	max-width:100%;
	height:auto;
}
@media screen and (max-width: 767px) {
	.quality-seals .text-left, .quality-seals .text-right{
		text-align:center;	
	}
	.quality-seals img {
		margin-bottom:20px;
	}
}

/* Footer top */
.footer {
	line-height: 1.3em;
	margin-top:40px;
}
.footer-top {
	height:300px;
	margin:90px 0px 0px 0px;	
	padding:0px 0px 0px 0px;
	background-color:#ffdc20;
}
.footer-top h1,
.footer-top h2,
.footer-top h3,
.footer-top h4,
.footer-top h5 {
	font-size:36px;
	line-height:38px;
	margin:0px;
	color:#666666;
}
.footer-top-right {
	height:300px;
	position:relative;
}
.footer-top-right img {
	position:absolute;
	bottom:0px;
	right:0px;
}
@media (max-width: 1199px) {
	.footer-top .button {
		margin-bottom:15px;
	}
}
@media (max-width: 767px) {
	.footer-top {
		height:auto;
		padding:0px 0px 25px 0px;
	}
	.footer-top-right {
		height:auto;
	}
	.footer-top-right img {
		position:static;
		bottom:auto;
		right:auto;
		width:100%;
		height:auto;
	}
}

/* Footer bottom */
.footer-bottom {
	padding:43px 0px 43px 0px;
	background-color:#787a79;
	color:#FFFFFF;
}
.footer-bottom h1,
.footer-bottom h2,
.footer-bottom h3,
.footer-bottom h4,
.footer-bottom h5 {
	font-size:16px !important;
	font-weight:normal;
	text-transform:uppercase;
	padding:0px;
	margin:0px 0px 12px 0px;
}
.footer-bottom ul {
	margin:0px;
	padding:0px;
	list-style-type:none;
}
.footer-bottom ul li {
	padding:0px 0px 5px 0px;
}
.footer-bottom a {
	color:#FFFFFF;
	text-decoration:none;
}
.footer-bottom a:hover {
	text-decoration:underline;
}
.footer-bottom p {
	margin:0px 0px 20px 0px;
	padding:0px;
}

/* Teaser */

.teaser {
	padding:30px 0px 30px 0px;
}
.teaser img {
	width:100%;
	height:auto;
	margin-bottom:10px;
}
.teaser h1,
.teaser h2,
.teaser h3,
.teaser h4,
.teaser h5 {
	font-size:24px !important;
	-moz-hyphens: auto;
	-o-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	margin:0px 0px 5px 0px;
	padding:0px;
}
.teaser ul {
	margin:0px;
	padding:0px;
	list-style-type:none;
}
.teaser ul li {
	padding:0px 0px 5px 0px;
}
@media (max-width: 1199px) {
	.teaser h1,
	.teaser h2,
	.teaser h3,
	.teaser h4,
	.teaser h5 {
		font-size:18px !important;
	}
}
@media (max-width: 991px) {
	.teaser h1,
	.teaser h2,
	.teaser h3,
	.teaser h4,
	.teaser h5 {
		font-size:14px !important;
	}
}
@media (max-width: 767px) {
	.teaser h1,
	.teaser h2,
	.teaser h3,
	.teaser h4,
	.teaser h5 {
		font-size:24px !important;
	}
}

/* News */

.news-list-item {
	padding-bottom:25px;
}
.news-list-item img {
	width:100%;
	height:auto;
}
.news-list-item a,
.news-list-item a:link,
.news-list-item a:active,
.news-list-item a:visited {
	color:#000000;
	text-decoration:none;
}
.news-list-item a:hover {
	text-decoration:underline;
}
.news-list-item h2 {
	font-weight:bold;
	font-size:18px;
	color:#000000;
	margin:0px 0px 0px 0px;
	padding:10px 0px 18px 0px;
}
.news-list-item h2.tav_newsheadline {
	padding-bottom:3px;
}

/* Tooltip */

.tooltip {
  position: relative;
  display: inline-block;
  vertical-align: middle; 
  z-index:0;
}
.tooltip.zindex {
	z-index: 3000;
}
@media screen and (min-width: 700px) {
  .tooltip {
    align-self: center;
  } 
  .tooltip.zindex {
		z-index: 1000;
	}
}
@media screen and (min-width: 768px) {
  .tooltip {
    position:absolute;
    top:0px;
    right:0px;    
  } 
}
@media screen and (min-width: 912px) {
  .tooltip {
    position:absolute;
    top:0px;
    right:0px;
  } 
}
.tooltip .tooltip-layer {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: none;
  overflow: auto;
  width: 100vw;
  height: 100vh;
  padding: 60px 15px 15px 15px;
  background-color: #f4e349;
  font-weight: normal;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 768px) {
	.tooltip .tooltip-layer {
	  position: absolute;
	  top: 100%;
	  left: -179px;
	  overflow: initial;
	  width: 210px;
	  height: auto;
	  padding: 15px 35px 15px 15px;
	  margin-top: 15px;
	  font-size: 0.8571428571rem;
	  line-height: 1.5em;	  
	  background: #f4e349;
	}
  .tooltip .tooltip-layer:before {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 12px;
    width: 0;
    height: 0;
    border-width: 0 10px 10px 10px;
    border-style: solid;
    border-color: transparent; 
  }
  .tooltip .tooltip-layer:after {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 13px;
    width: 0;
    height: 0;
    border-width: 0 9px 9px 9px;
    border-style: solid;
    border-color: transparent transparent #f4e349 transparent; 
  }
  .tooltip .tooltip-layer.right {
  	top: -30px;
    left: 35px; 
  }
  .tooltip .tooltip-layer.right:before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: -12px;
    right:auto;
    width: 0;
    height: 0;
    border-width: 0 10px 10px 10px;
    border-style: solid;
    border-color: transparent; 
  }
  .tooltip .tooltip-layer.right:after {
    content: '';
    position: absolute;
    top:16px;
    bottom: auto;
    left: -17px;
    right:auto;
    width: 0;
    height: 0;
    border-width: 9px 9px 9px 9px;
    border-style: solid;
    border-color: transparent #f4e349 transparent transparent; 
  }
}
.tooltip .tooltip-layer.visible {
	display: inline-block; 
}
.tooltip .tooltip-layer .close {
  position: absolute;
  background : url(../Images/close.svg) 5px 5px no-repeat;
  top: 20px;
  right: 20px;
  display: flex;
  width: 36px;
  height: 36px;
  color: #ffffff;
  border-radius: 50%;
  font-size: 1.4rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .tooltip .tooltip-layer .close {
		background : url(../Images/close.svg) 5px 5px no-repeat;
		top: 10px;
		right: 10px;
		width: 22px;
		height: 22px;
		font-size: 1rem; 
	} 
}
.tooltip .title {
  display: block;
  width: 80%;
  margin-bottom: 10px; 
}
.tooltip .tooltip-icon {
	font-family: 'Times new Roman';
	font-size:12px;
	font-weight:bold;
	background-color:#787979;
  position: relative;
  z-index: 0;
  display: flex;
  width: 20px;
  height: 20px;
  border-radius:10px;
  color: #ffffff;
  cursor: pointer;
  justify-content: center;
  align-items: center; 
}
.tooltip .tooltip-icon:before {
	display: inline-block;
	height: 25px; 
}

/* Bestellung */

.produkt-liste {
	padding:60px 0px 30px 0px;
}
.produkt-liste ul {
	margin-bottom:0px;
}
.produkt-liste-preis {
	padding:20px 0px 20px 0px;
	font-size:28px;
	font-weight:bold;
	line-height:28px;
}
.produkt-liste-preis .small {
	font-size:16px;
	line-height:18px;
	font-weight:normal;
	display:block;
	padding-top:5px;
}
.produkt-liste-eintrag {
	padding:0px 0px 30px 0px;
}
.produkt-anfrage h2 {
	margin:0px 0px 20px 0px;
	padding-top:0px;
	text-transform:uppercase;
	font-size:20px;
}
.paketname {
	padding-top:15px;
	font-weight:bold;
}
.gesamtpreis {
	font-weight:bold;
}
.gesamtpreis span {
	display:none;
}
.preisausgabe {
	display:none;
}

/* Referenzen */

.referenzen-liste {
	margin:20px 0px 0px 0px;
}
.referenzen-liste .referenz-item {
	position:relative;
	margin:0px 0px 30px 0px;
}
.referenzen-liste .referenz-item img {
	width:100%;
	height:auto;
}
.referenzen-liste .referenz-info {
	position:absolute;
	top:0px;
	left:0px;
	display:none;
	width:100%;
	text-align:center;
  flex-direction: column;
  justify-content: center;
}
.referenzen-liste .referenz-info .referenz-titel {
	font-weight:bold;
}
.referenzen-liste .referenz-item:hover img {
	opacity:0.4;
	cursor:pointer;
}
.referenzen-liste .referenz-item:hover .referenz-info {
	display:flex;
	color:#000000;
}
.referenzen-liste .referenzen-kategorie {
	position:absolute;
	top:10px;
	right:10px;
}
.referenzen-liste .referenzen-kategorie div {
	background:#FFFFFF;
	padding:5px 10px 5px 10px;
	border:1px solid #f0e04e;
	border-radius:4px;
	margin-left:5px;
	font-size:12px;
	line-height:12px;
	display:inline-block;
}

/* Video */
.video {
	border:1px solid #666666;
	border-top:8px solid #666666;
	margin:10px 0px 10px 0px;
}
.video-wrapper{width:100%;position:relative;margin-bottom:2rem}
.video-wrapper .he{padding-top:calc(105% / 16 * 9)}
.video-wrapper .he iframe{position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0}

/* Thermen */

.thermen-header {
	position:relative;
	background:#e6efde;
	padding:15px 50px 15px 20px;
	font-size:18px;
	line-height:18px;
	margin:8px 0px 2px 0px;
	font-weight:bold;
}
.thermen-header.active, .thermen-header:hover {
	background:#c3d6ae;
	cursor:pointer;
}
.thermen-header span {
	position:absolute;
	top:7px;
	right:10px;
	display:inline-block;
	background:#FFFFFF;
	font-size:19px;
	padding:7px 1px 5px 0px;
	height:34px;
	width:34px;
	border-radius:17px;
	border:1px solid #000000;
	text-align:center;
	transform-origin: center center;
	transition: transform .35s ease-in-out;
}
.thermen-header.active span {
	transform: rotate(180deg);
	padding:7px 2px 5px 0px;
}
.thermen-list {
	display:none;
	padding:0px 0px 20px 0px;	
}
.thermen-list .align-center {
	text-align:center;
}
.thermen-list tr.even {background: #ffffff}
.thermen-list tr.odd {background: #eaeaea}
.thermen-list th {
	font-weight:normal;
	text-align:left;
	padding:5px 0px 5px 0px;
}
.thermen-list th:first-child {
	padding:5px 0px 5px 20px;
}
.thermen-list th.th-anlage {
	width:350px;
}
.thermen-list th.sortable:hover {
	cursor:pointer;
}
.thermen-list td {
	font-weight:normal;
	text-align:left;
	padding:5px 20px 5px 0px;
}
.thermen-list td:first-child {
	padding:5px 0px 5px 20px;
}
.thermen-list .td-details span {
	display:inline-block;
	background:#FFFFFF;
	font-size:10px;
	padding:4px 1px 5px 0px;
	height:20px;
	width:20px;
	border-radius:10px;
	border:1px solid #000000;
	text-align:center;
	transform-origin: center center;
	transition: transform .35s ease-in-out;
}
.thermen-list tr.active .td-details span {
	transform: rotate(180deg);
	padding:4px 2px 5px 0px;
}
.thermen-list tr.active {
	background:#96ba71 !important;
}
.thermen-list tr.thermen-details-handle:hover {
	cursor:pointer;
}
.thermen-details-tr td {
	padding:0px !important;
} 
.thermen-details {
	border:1px solid #96ba71;
	padding:25px 20px 25px 20px;
	margin:0px;
	background: rgb(150,186,113);
	background: linear-gradient(0deg, rgba(150,186,113,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 80%, rgba(150,186,113,1) 100%);
}
.thermen-details-header {
	font-size:24px;
	padding:0px 0px 12px 0px;
	color:#666666;
	font-weight:bold;
}
.thermen-status {
	display:inline-block;
	width:14px;
	height:14px;
	border:1px solid #000000;
	border-radius:7px;
	background:#FFFFFF;
}
.thermen-status.abgeschlossen {
	border:1px solid #96ba71;
	background:#96ba71;
}
.thermen-status.inArbeit {
	border:1px solid #fde32b;
	background:#fde32b;
}
.thermen-legende {
	padding:15px 20px 0px 20px;
	display:flex;
	align-items:center;
	font-size:14px;
}
.thermen-legende div {
	padding:0px 20px 0px 0px;
}
.thermen-legende span {
	margin:0px 5px 0px 0px;
}
.thermenModal .modal-body {
	padding:0px !important;
}
h5.modal-title {
	color:#212529;
	font-size:24px;
	padding:0px;
}
.thermen-factbox {
	background:#eaeaea;	
	margin:10px 0px 20px 0px;
	padding:20px;
}
.thermen-factbox-wrapper {
	display:flex;
	flex-direction: row;
	align-items:stretch;
}
.thermen-factbox-right {
	padding:20px 0px 20px 20px;
	width:50%;
}
.thermen-factbox-left {
	padding:20px 20px 20px 0px;
	width:50%;
	border-right:1px solid #96ba71;
}
.thermen-factbox-table {
	display:flex;
}
.thermen-factbox-label {
	width:50%;
}
.thermen-factbox-value {
	text-align:right;
	width:50%;
}
.thermen-factbox hr {
	margin:0px;
}
.thermen-galerie-item img {
	width:100%;
	height:auto;
	margin:0px 0px 20px 0px;
}
.thermen-downloads {
}
.thermen-downloads span {
	font-size:40px;
}
.thermen-downloads a {
	display:inline-block;
	text-align:center;
	color:#000000 !important;
	width:120px;
	margin-bottom:20px;
}
@media screen and (max-width:  1199px) {
	.thermen-factbox {
		font-size:12px;
	}
}
@media screen and (max-width:  991px) {
	.thermen-list {
		font-size:16px;
	}
	.thermen-factbox-wrapper {
		display:block;
	}
	.thermen-factbox-right {
		padding:20px 0px 20px 0px;
		width:100%;
	}
	.thermen-factbox-left {
		padding:20px 0px 20px 0px;
		width:100%;
		border-right:none;
	}
	.thermen-factbox {
		font-size:16px;
	}
}
@media screen and (max-width: 767px) {
	.thermen-header {
		font-size:14px;
		line-height:14px;
	}
	.thermen-header span {
		top:7px;
		right:10px;
		font-size:14px;
		padding:7px 5px 5px 4px;
		height:28px;
		width:28px;
		border-radius:14px;
	}
	.thermen-list th, 
	.thermen-list td {
		font-size:10px;
	}
	.thermen-list th.th-anlage {
		width:160px;
	}
	.thermen-comma {
		display:none;
	}
	.thermen-adresse {
		display:block;
	}
	.thermen-legende {
		font-size:10px;
	}
	.thermen-details {
		font-size:16px;
	}	
}
@media screen and (max-width: 400px) {
	.thermen-header b {
		padding-top:5px;
		display:block;
	}
	.thermen-header span {
		top:17px;
	}	
}

.tooltip {
	z-index:2000 !important;
}
