﻿@charset "UTF-8";
@font-face {
  font-family: 'DefaultFont';
  src: url("../App_Fonts/Camphor/22f912b4b10a938d5f28b7fe79ed7466.ttf") format("truetype"), url("../App_Fonts/Camphor/22f912b4b10a938d5f28b7fe79ed7466.woff") format("woff"), url("../App_Fonts/Camphor/22f912b4b10a938d5f28b7fe79ed7466.woff2") format("woff2"); }

body {
  font-family: 'DefaultFont' !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.cryptMail:after {
  content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
  cursor: pointer; }

h1 {
  font-family: 'DefaultFont' !important; }

h2 {
  font-family: 'DefaultFont' !important; }

.registerForm {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.removeForm {
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center; }
  .removeForm span {
    text-align: center; }

.registerSection {
  display: block;
  max-width: 1200px;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
  border-bottom: 2px solid #767676; }
  .registerSection:last-child {
    border-bottom: 0px; }
  .registerSection > * {
    display: flex;
    margin-bottom: 0.5em;
    align-items: center;
    flex-wrap: wrap; }
    .registerSection > * > span:first-child {
      width: 30%; }
    .registerSection > * > input[type=text]:nth-child(2) {
      width: 70%; }
    .registerSection > * > span:nth-child(3) {
      width: 100%;
      color: #e74c3c; }
    .registerSection > *.fullspan {
      width: 100%;
      display: block; }
      .registerSection > *.fullspan > span:first-child {
        width: 100%; }
    .registerSection > *.captcha {
      display: flex; }
      .registerSection > *.captcha > * {
        display: inline-block;
        margin: 0 0.5em; }
      .registerSection > *.captcha > span:nth-child(3) {
        width: auto;
        color: inherit; }
      .registerSection > *.captcha span[data-val-errormessage] {
        color: #e74c3c;
        display: block;
        position: absolute;
        margin-top: 3.5em; }
    .registerSection > *.buttons {
      display: flex;
      justify-content: flex-end; }
      .registerSection > *.buttons input {
        display: block; }
  .registerSection.description {
    /*background-color: red;*/ }
  .registerSection.company {
    /*background-color: red;*/ }
  .registerSection.person {
    /*background-color: blue;*/ }
  .registerSection.contanct {
    /*background-color: green;*/ }
  .registerSection.confirmation {
    /*background-color: orange;*/ }

.required::after,
.importantColor {
  color: #e74c3c; }

.required::after {
  content: ' *'; }

select.cs-dropdown {
  border: 0 none;
  padding: 0 10px;
  color: #666;
  border: 1px solid #e5e5e5;
  transition: .2s ease-in-out;
  transition-property: color,background-color,border;
  box-sizing: border-box;
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: top;
  width: 70%;
  height: 51px; }
  select.cs-dropdown * {
    /*color: red;
		background-color: blue;*/ }

span.uk-asp-checkbox {
  display: flex;
  width: 100%;
  align-items: center; }
  span.uk-asp-checkbox input[type=checkbox] {
    display: inline-block;
    height: 16px;
    width: 16px;
    overflow: hidden;
    margin-top: -4px;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border: 1px solid #ccc;
    transition: .2s ease-in-out;
    transition-property: background-color,border;
    box-sizing: border-box;
    margin: 0;
    border-radius: 0;
    font: inherit;
    touch-action: manipulation;
    margin-right: 0.5em; }
    span.uk-asp-checkbox input[type=checkbox]:not(:disabled) {
      cursor: pointer; }
    span.uk-asp-checkbox input[type=checkbox]:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
      background-color: #1e87f0;
      border-color: transparent;
      color: white; }

.globalContent {
  max-width: 1080px; }

a {
  color: #D46954; }

a:hover {
  color: #D46954; }

.heroContainer {
  position: absolute;
  top: -1%;
  left: 50%;
  z-index: -1;
  width: 1820px;
  display: block; }

.heroImage {
  position: relative;
  left: -50%;
  width: 150%;
  margin: 0 auto;
  margin-left: 11%; }

.siteContainer {
  position: relative;
  background: transparent;
  z-index: 0;
  box-sizing: 0; }

.siteContainer-Blue {
  position: relative;
  background: transparent;
  z-index: 0;
  box-sizing: 0; }

.siteContainer:before {
  top: -60% !important;
  background-color: #D46954;
  -webkit-clip-path: ellipse(48% 62% at 34% 32%);
  clip-path: ellipse(53% 60% at 30% 32%);
  width: 100%;
  height: 180%;
  content: "";
  z-index: -1;
  background-position: 0 80%;
  background-repeat: no-repeat;
  background-size: cover;
  transform: skewY(-4deg);
  background-image: url(images/frontpage/waves-3.png), linear-gradient(30deg, #f7001d 30%, #D46954 88%);
  position: absolute;
  left: 0; }

.sectionContainer-Trinkwasser {
  position: relative;
  padding-bottom: 1rem;
  overflow: hidden; }

.sectionContainer-Trinkwasser:before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  z-index: -1;
  background: url(images/frontpage/bg-blur.svg) no-repeat; }

.sectionContainer-Pipes {
  padding-top: 6rem;
  margin-bottom: 4rem;
  position: relative; }
  .sectionContainer-Pipes:before, .sectionContainer-Pipes:after {
    width: 200%;
    height: 100%;
    position: absolute;
    top: 50%;
    content: "";
    z-index: -1;
    background: url(images/frontpage/pipeflow.svg) no-repeat;
    animation: move 100s infinite linear; }
    @media (min-width: 1650px) {
      .sectionContainer-Pipes:before, .sectionContainer-Pipes:after {
        top: 55%;
        width: 105%; } }
  .sectionContainer-Pipes:before {
    right: 100%;
    margin-right: -3px; }

.sectionContainer-General {
  padding-top: 10rem;
  position: relative; }

@keyframes move {
  from {
    transform: translateX(0%); }
  to {
    transform: translateX(100%); } }

@media screen and (max-width: 1700px) {
  .siteContainer:before {
    -webkit-clip-path: ellipse(198% 62% at 34% 32%);
    clip-path: ellipse(198% 62% at 34% 32%);
    width: 130%; } }

.contentSectionHero {
  max-width: 1080;
  margin: 0 auto; }

.content-TrinkwasserHero {
  max-width: 1080;
  margin: 0 auto;
  padding-bottom: 10rem; }

.content-TrinkwasserBlue {
  max-width: 1080;
  margin: 0 auto;
  background-color: transparent;
  padding-bottom: 2rem; }

.content-TrinkwasserBauteile {
  max-width: 1080;
  margin: 0 auto;
  padding-top: 3rem; }

.sectionContainer-Skewed {
  position: relative;
  z-index: 0;
  background-color: transparent; }

.sectionContainer-Skewed:before {
  width: 100%;
  height: 120%;
  position: absolute;
  left: 0;
  top: -9%;
  content: "";
  z-index: -2;
  transform: skewY(-2.5deg); }

.contentSectionBlue:before {
  background-image: linear-gradient(230deg, #0035ff, #0b24a4 55%, #0b24a4 0, #141658); }

.globalFooter {
  padding-top: 2rem;
  background-color: #fff;
  text-align: center;
  font-size: 1.1rem;
  color: #333d47 !important;
  text-decoration: none !important; }
  .globalFooter a {
    color: #333d47 !important;
    text-decoration: none !important; }

.imgTrinkwasserBlock {
  padding-top: 2rem; }

.imgTrinkwasserPanelHeadline {
  font-size: 18px;
  font-weight: bold;
  line-height: 40px;
  color: #0a2540; }

.imgTrinkwasserPanel {
  box-shadow: 0 7px 30px 3px rgba(153, 153, 155, 0.35);
  border-radius: 6px;
  max-width: 300px;
  border: 3px solid #fff; }

.whitePanel {
  background-color: white;
  border-radius: 6px;
  width: 100%;
  margin-top: 55px;
  max-width: 450px;
  height: 300px; }
  .whitePanel .contentPadding {
    padding-top: 40px;
    padding-bottom: 50px;
    margin-left: 40px;
    margin-right: 40px;
    color: #333d47; }
    .whitePanel .contentPadding .icon {
      width: 60px;
      margin-bottom: 15px; }
    .whitePanel .contentPadding .mainHeadline {
      display: block;
      font-size: 25px;
      font-weight: bold;
      margin-bottom: 10px; }
    .whitePanel .contentPadding .subHeadline {
      display: block;
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 15px; }
    .whitePanel .contentPadding .text {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.5;
      color: #6c718b; }

.siteHeader {
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  display: block;
  margin-bottom: -130px;
  z-index: 1001; }

.siteHeaderContainer {
  box-sizing: border-box;
  display: block;
  position: relative; }

.siteHeaderList {
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none; }

.siteHeaderNavItem {
  font-size: 16px;
  font-weight: 600;
  color: #767676;
  padding: 0px 0px 0px 40px; }

.siteHeaderNavItem:hover {
  color: #333d47;
  text-decoration: none !important;
  text-shadow: 0px 0px 2px #fff; }

.contentHandBlock .contentHandBlockPart {
  text-align: center; }
  .contentHandBlock .contentHandBlockPart .handIcon {
    max-width: 100px;
    margin-bottom: 10px; }
  .contentHandBlock .contentHandBlockPart span {
    font-weight: bold;
    font-size: 20px; }

.primaryHeadline {
  font-size: 32px;
  font-weight: bold;
  margin-top: 0 !important;
  margin-bottom: 1rem !important; }

.secondaryHeadline {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-weight: bold;
  color: #6c718b; }

.navContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 1rem; }

.logoWrapper {
  height: auto;
  color: white; }

.logoImg {
  height: 40px;
  width: 210px;
  background-image: url(images/zvclogo_full.png);
  background-size: cover; }

.tabletOverlayContainer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  height: 100%; }

.imageContainerFrontpageHeader {
  position: absolute;
  max-width: 560px; }

.imageFrontpageHouse {
  position: relative;
  animation: floating 4.2s .4s ease-in-out infinite; }

.imageFrontpageTablet {
  position: absolute;
  top: 65%; }

.hyperlink_custom_white {
  color: white !important;
  text-decoration: underline !important; }

.hyperlinkCustom .cryptMail {
  text-decoration: underline !important;
  color: #6c718a !important; }

@keyframes floating {
  from {
    transform: translate(0, 0px); }
  65% {
    transform: translate(0, 6px); }
  to {
    transform: translate(0, 0px); } }

.contentContainer {
  font-size: 1.1rem;
  line-height: 1.55;
  letter-spacing: 0;
  color: #6c718a; }

.contentSection {
  max-width: 1080px; }

.contentSectionSmarthome {
  position: relative;
  z-index: 0;
  background-color: transparent;
  padding-bottom: 6rem; }

.contentSectionSmarthome:before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  z-index: -1;
  transform: skewY(-2.5deg);
  background-image: linear-gradient(-180deg, #f5f7fc 7%, #fff);
  box-sizing: border-box; }

.contentSectionOptimierung {
  position: relative;
  z-index: 0;
  background-color: transparent;
  padding-bottom: 6rem; }

.contentSectionOptimierung:before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  z-index: -1;
  transform: skewY(2.5deg);
  background-image: linear-gradient(-180deg, #f5f7fc 7%, #fff);
  box-sizing: border-box; }

.contentSectionFooter {
  position: relative;
  z-index: 0;
  background-color: transparent;
  color: white; }

.contentSectionFooter:before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  z-index: -1;
  transform: skewY(-2.5deg);
  background-image: linear-gradient(-180deg, #e74c3c 7%, #D46954);
  box-sizing: border-box; }

.buttonFrontpageHeader {
  font-family: 'DefaultFont' !important;
  font-weight: bold !important;
  border-radius: 4px !important;
  background-size: 200% auto;
  box-shadow: 0 4px 10px 1px rgba(40, 46, 85, 0.2), inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
  background-color: #e74c3c !important;
  -webkit-transition: 400ms all cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition: 400ms all cubic-bezier(0.4, 0, 0.2, 1) !important; }

.buttonFrontpageHeader:hover {
  -webkit-transform: translateY(-1px) !important;
  transform: translateY(-1px) !important; }

.buttonFrontpageLogin {
  font-family: 'DefaultFont' !important;
  font-weight: bold !important;
  border-radius: 4px !important;
  background-size: 200% auto;
  box-shadow: 0 4px 10px 1px rgba(40, 46, 85, 0.2), inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
  background-color: #e74c3c !important;
  -webkit-transition: 400ms all cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition: 400ms all cubic-bezier(0.4, 0, 0.2, 1) !important;
  background-image: linear-gradient(to right, #f37676 0%, #e74c3c 51%, #ec6767 100%); }

.buttonFrontpageLogin:hover {
  -webkit-transform: translateY(-1px) !important;
  transform: translateY(-1px) !important; }

.triple_image {
  max-width: 230px; }

.triple_image_frame div {
  font-size: 1rem;
  padding-bottom: 3rem; }

.triple_image_frame h3 {
  margin-top: 15px; }

.globalFooter {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  .globalFooter a {
    color: #D46954 !important;
    text-decoration: none !important; }
  .globalFooter a:hover {
    color: #D46954 !important;
    text-decoration: none !important;
    text-shadow: 0px 0px 2px #D46954; }

.contentSectionRed {
  position: relative;
  z-index: 0;
  background-color: transparent;
  color: white; }

.contentSectionRed:before {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  z-index: -1;
  transform: skewY(-2.5deg);
  background-image: linear-gradient(-180deg, #e74c3c 7%, #D46954);
  box-sizing: border-box; }

.neoMoNavBurgerWrapper {
  display: none !important; }

@media screen and (max-width: 788px) {
  .siteHeaderNav {
    display: none !important; }
  .neoMoNavBurgerWrapper {
    display: block !important; }
  .neoMoNavBurgerWrapper {
    /* Main menu positionning */
    /* Blue band effect */
    /* Skewing effect on menu links */
    /* Apparition effect on links */
    /* Decoration */
    /* Burger Style: */
    /* Toggle State part */
    /* MENU Text part */ }
    .neoMoNavBurgerWrapper .main-nav {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      text-align: center;
      background: #fff;
      opacity: 0;
      z-index: -1;
      visibility: hidden;
      transition: all .375s; }
    .neoMoNavBurgerWrapper .main-nav.is-open {
      opacity: 1;
      z-index: 8888;
      visibility: visible; }
    .neoMoNavBurgerWrapper .main-nav::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: -15px;
      background: #e74c3c;
      transform-origin: 0 0;
      transform: skew(-14deg) translateX(-120%);
      transition: all .275s .1s; }
    .neoMoNavBurgerWrapper .main-nav.is-open::before {
      transform: skew(-14deg) translateX(0); }
    .neoMoNavBurgerWrapper .main-nav ul {
      display: inline-flex;
      flex-direction: column;
      height: 100%;
      align-items: flex-end;
      justify-content: center;
      transform: translateX(-18%) skew(-16deg); }
    .neoMoNavBurgerWrapper .main-nav li {
      display: block;
      margin: .5rem 0;
      text-align: right;
      transform: skew(16deg); }
    .neoMoNavBurgerWrapper .main-nav a {
      opacity: 0;
      transform: translateY(-10px); }
    .neoMoNavBurgerWrapper .main-nav.is-open a {
      opacity: 1;
      transform: translateY(0); }
    .neoMoNavBurgerWrapper .main-nav li:nth-child(1) a {
      transition: all 275ms 175ms; }
    .neoMoNavBurgerWrapper .main-nav li:nth-child(2) a {
      transition: all 275ms 225ms; }
    .neoMoNavBurgerWrapper .main-nav li:nth-child(3) a {
      transition: all 275ms 275ms; }
    .neoMoNavBurgerWrapper .main-nav li:nth-child(4) a {
      transition: all 275ms 325ms; }
    .neoMoNavBurgerWrapper .main-nav li:nth-child(5) a {
      transition: all 275ms 375ms; }
    .neoMoNavBurgerWrapper .main-nav ul,
    .neoMoNavBurgerWrapper .main-nav li {
      list-style: none;
      padding: 0; }
    .neoMoNavBurgerWrapper .main-nav a {
      display: block;
      padding: 12px 0;
      color: #FFF;
      font-size: 1.4em;
      text-decoration: none;
      font-weight: bold; }
    .neoMoNavBurgerWrapper .main-nav a:hover {
      color: #e95e38; }
    .neoMoNavBurgerWrapper .ezgLogo {
      position: fixed;
      top: 11px;
      left: 15px;
      z-index: 99999;
      height: 60px;
      width: 60px;
      background-size: contain;
      display: none;
      transition-delay: 2s;
      transition-property: display; }
    .neoMoNavBurgerWrapper .open-main-nav {
      position: fixed;
      top: 15px;
      padding-top: 20px;
      right: 15px;
      z-index: 99999;
      background: none;
      border: 0;
      cursor: pointer; }
    .neoMoNavBurgerWrapper .open-main-nav.is-open .ezgLogo {
      display: block;
      transition-delay: 2s;
      transition-property: display; }
    .neoMoNavBurgerWrapper .open-main-nav.is-open .burger-text {
      color: #fff; }
    .neoMoNavBurgerWrapper .open-main-nav.is-open .burger {
      background-color: #fff; }
    .neoMoNavBurgerWrapper .open-main-nav.is-open .burger:after,
    .neoMoNavBurgerWrapper .open-main-nav.is-open .burger:before {
      background-color: #fff; }
    .neoMoNavBurgerWrapper .open-main-nav:focus {
      outline: none; }
    .neoMoNavBurgerWrapper .burger {
      position: relative;
      display: block;
      width: 28px;
      height: 4px;
      margin: 0 auto;
      background: #fff;
      transition: all .275s; }
    .neoMoNavBurgerWrapper .burger:after,
    .neoMoNavBurgerWrapper .burger:before {
      content: '';
      display: block;
      height: 100%;
      background: #fff;
      transition: all .275s; }
    .neoMoNavBurgerWrapper .burger:after {
      transform: translateY(-12px); }
    .neoMoNavBurgerWrapper .burger:before {
      transform: translateY(-16px); }
    .neoMoNavBurgerWrapper .is-open .burger {
      transform: skew(5deg) translateY(-8px) rotate(-45deg); }
    .neoMoNavBurgerWrapper .is-open .burger:before {
      transform: translateY(0px) skew(-10deg) rotate(75deg); }
    .neoMoNavBurgerWrapper .is-open .burger:after {
      transform: translateY(-12px) translateX(10px) skew(-20deg);
      opacity: 0; }
    .neoMoNavBurgerWrapper .burger-text {
      display: block;
      font-size: .675rem;
      letter-spacing: .05em;
      margin-top: .5em;
      text-transform: uppercase;
      font-weight: 500;
      text-align: center;
      color: #fff; } }
