@charset "UTF-8";
/* ==========================================================================
   Typo
   ========================================================================== */
/* ==========================================================================
   Farben
   ========================================================================== */
/* ==========================================================================
   Größenvorgaben
   ========================================================================== */
/* ==========================================================================
   Breakpoints
   ========================================================================== */
@font-face {
  font-family: "webfont";
  src: url("../fonts/Roboto-Light.woff2") format("woff2"), url("../fonts/Roboto-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "webfont";
  src: url("../fonts/Roboto-Regular.woff2") format("woff2"), url("../fonts/Roboto-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "webfont";
  src: url("../fonts/Roboto-Bold.woff2") format("woff2"), url("../fonts/Roboto-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
  color: #18467B !important;
  font-family: webfont, Helvetica, Arial, sans-serif;
}

.h1,
h1 {
  font-size: 1.889rem;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3em;
  margin-bottom: 0;
}

h1.negative {
  color: #fff;
}

h2 {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.56rem;
  text-align: center;
}

.par {
  font-weight: bold;
  text-align: left;
  color: #89929d !important;
}

h3 {
  letter-spacing: 1px;
  font-size: 1.225rem;
  font-weight: 500;
}

h4 {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.3em;
}

.subline-green, .subline {
  text-align: center;
  font-size: 1.225rem;
  line-height: 1.3em;
  color: #18467B !important;
  margin-top: 1em;
}

.subline-green {
  font-weight: bold;
  line-height: 1.3em;
  color: #2FB44A !important;
}

.content p, .hyphenate {
  hyphens: auto;
  -webkit-hyphens: auto;
  -webkit-locale: "de";
  -webkit-hyphenate-character: "-";
  -moz-hyphens: auto;
}

em {
  font-weight: bold;
  font-style: normal;
  color: #18467B;
}

a,
a:link,
a:visited {
  color: #18467B;
  text-decoration: underline;
}

a:hover,
a:active {
  color: #2875CD;
}

a.link-hidden:link,
a.link-hidden:visited {
  color: #000;
  text-decoration: none !important;
}

a.link-hidden:hover,
a.link-hidden:active {
  color: #18467B;
  text-decoration: underline;
}

.gray {
  color: #89929d;
}

.bold {
  font-weight: bold;
}

p.tight {
  margin-bottom: 0.5em;
}

ul {
  margin: 0;
  padding-left: 1.1em;
}

a.arrow-left:before {
  content: "→";
  text-decoration: none;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  .h1, h1 {
    font-size: 1.7rem;
  }
  h2 {
    font-size: 1.4rem;
  }
  h3 {
    font-size: 1.1rem;
  }
  h4 {
    font-size: 1rem;
  }
}
.hide {
  display: none !important;
}

.wrap {
  hyphens: auto;
  -webkit-hyphens: auto;
  -webkit-locale: "de";
  -webkit-hyphenate-character: "-";
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -ms-hyphens: auto;
}

.nowrap {
  white-space: nowrap;
  word-wrap: none;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: manual;
}

.top-margin-0 {
  margin-top: 0;
}

.no-vertical-margin {
  margin-top: 0;
  margin-bottom: 0;
}

.no-vertical-padding {
  padding-top: 0;
  padding-bottom: 0;
}

.no-horizontal-padding {
  padding-left: 0;
  padding-right: 0;
}

.no-top-padding {
  padding-top: 0;
}

.no-bottom-padding {
  padding-bottom: 0;
}

.margin-large-top {
  margin-top: 70px;
}

.align-left {
  text-align: left;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  .margin-large-top {
    margin-top: 40px;
  }
}
/* ==========================================================================
   Menübalken
   ========================================================================== */
.navbar {
  background-color: #fff !important;
  padding-top: 5px;
  padding-bottom: 5px;
}

.uk-navbar-nav > li a {
  text-transform: none;
  font-size: 1rem;
  color: #18467B;
}

.uk-navbar-nav > li > a {
  color: #18467B;
}

.uk-navbar-nav > li a:hover {
  color: #2875CD;
}

.uk-navbar-nav > li.uk-active > a {
  color: rgb(178.7916666667, 184.6041666667, 191.7083333333);
  font-weight: bold;
}

.uk-navbar-dropdown {
  --uk-position-offset: -10px;
  --uk-position-shift-offset: -22px;
  background-color: #373c43;
}

.uk-navbar-dropdown-nav li a {
  color: #fff;
}

.uk-navbar-dropdown-nav > li > a:hover {
  color: #b2d6ff;
}

.uk-navbar-dropdown-nav > li.uk-active > a {
  color: rgb(176.0322580645, 182.2258064516, 189.9677419355) !important;
  font-weight: bold;
}

.uk-navbar-dropdown-nav > li.uk-active > a .nav-container {
  max-width: 1760px;
  background: #fff;
}

/* ==========================================================================
   Hamburger
   ========================================================================== */
/* Hamburger-Wrapper zum exakten Positionieren des Dropdowns */
.hamburger-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.hamburger {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  cursor: pointer;
}

.hamburger .bar {
  display: block;
  width: 30px;
  height: 5px;
  background: #373c43;
  border-radius: 3px;
  transition: transform 0.32s cubic-bezier(0.2, 0.9, 0.3, 1), opacity 0.18s linear;
  transform-origin: center;
}

.hamburger .bar + .bar {
  margin-top: 5px;
}

.hamburger.active .bar:nth-child(1) {
  transform: translateY(12px) rotate(45deg);
}

.hamburger.active .bar:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger.active .bar:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* ==========================================================================
   Off-Canvas Menü (Mobile)
   ========================================================================== */
.offcanvas-bar {
  background: #fff;
  color: #18467B;
  font-size: 1.1rem;
}

ul.mobile-nav {
  margin-top: 50px;
  color: #18467B !important;
  font-size: 1.1rem;
}
ul.mobile-nav li {
  margin: 0.5em 0;
}
ul.mobile-nav li > a:link,
ul.mobile-nav li > a:visited {
  color: #18467B !important;
  font-size: 1.1rem;
}
ul.mobile-nav li:not(:last-child) {
  border-bottom: 1px solid #ccd0d5;
}
ul.mobile-nav li > a:hover,
ul.mobile-nav li > a:focus {
  color: #2875CD !important;
  font-size: 1.1rem;
}

li.uk-parent ul li {
  border-bottom: none !important;
}

.uk-navbar-dropdown-nav .uk-nav-divider.divider-dark {
  border-top-color: #89929d !important;
}

.uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
  border-top-color: #ccd0d5 !important;
}

/* ==========================================================================
   Hamburger ein-/ausblenden
   ========================================================================== */
@media (max-width: 1022px) {
  .navMobile {
    display: block;
  }
  .navDesktop {
    display: none !important;
  }
}
@media (min-width: 1023px) {
  .navMobile {
    display: none !important;
  }
  .navDesktop {
    display: block;
  }
}
.keyvisual-max {
  height: 680px;
}

.keyvisual {
  height: 300px;
}

.logo {
  width: 100%;
  max-width: 300px;
}

.baddesign-logo {
  width: 100%;
  max-width: 320px;
}

.icon-xs {
  width: 18px;
}

.picture img {
  width: 100%;
}
.picture .pic-label {
  font-size: 0.7223rem;
  color: #373c43;
  font-weight: bold;
  margin: 5px 0 0 0;
  line-height: 1.2em;
}

.picture.pic-responsive {
  width: 20vw;
  min-width: 150px;
}

.picture.pic-xs {
  max-width: 250px;
}

.picture.pic-right {
  float: right;
  margin: 0 0 15px 25px;
}

.picture.pic-left {
  float: left;
  margin: 0 25px 15px 0;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  .logo {
    max-width: 220px;
  }
  .content-wrapper {
    margin: 0;
  }
  .keyvisual-max {
    height: 300px;
  }
  .keyvisual {
    height: 150px;
  }
  .baddesign-logo {
    max-width: 220px;
  }
}
/* ==========================================================================
   Kleine Teaser (s. Gewerke auf Startseite)
   ========================================================================== */
.card-teaser .uk-card-header {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  min-height: 5em;
  display: flex;
  align-items: flex-end;
}
.card-teaser h3.uk-card-title {
  font-size: 1.225rem;
  letter-spacing: 0;
}
.card-teaser .uk-card-footer {
  padding: 32px 0 0 0;
}

.card-gray {
  background-color: #e9e9ec;
}

/* ==========================================================================
   21grad Blog-Beiträge
   ========================================================================== */
.vai21grad_headline {
  padding: 20px 0 10px 0;
}
.vai21grad_headline h4.uk-card-title {
  font-size: 1rem !important;
  text-transform: none;
  letter-spacing: 0;
}

.vai21grad_desc {
  padding: 10px 0;
}

.vai21grad_more {
  padding: 20px 0 50px 0;
}

body#vai21grad_article {
  hyphens: auto;
  -webkit-hyphens: auto;
  -webkit-locale: "de";
  -webkit-hyphenate-character: "-";
  -moz-hyphens: auto;
}

body#vai21grad_article .alignright {
  float: right;
  margin: 0 0 20px 30px;
}

body#vai21grad_article .alignleft {
  float: left;
  margin: 0 30px 20px 0;
}

body#vai21grad_article h1 {
  margin: 0 0 1.5rem 0;
  text-align: left;
}

body#vai21grad_article h2 {
  font-weight: normal;
  margin: 2rem 0 1rem 0;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}

body#vai21grad_article h2:first-child {
  margin-top: 0;
}

.vai21grad_headline {
  font-weight: normal;
  line-height: 1.2em;
}

.vai21grad_description {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin-bottom: 3rem;
}

hr.vai21grad_hr {
  background: #bbb;
  border: none;
  height: 1px;
  overflow: hidden;
  margin: 2rem 0;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
a.btn,
a.btn:link,
a.btn:visited,
.btn {
  text-decoration: none;
  background-color: #2FB44A;
  font-weight: 500;
  color: #fff;
  padding: 0.85em 1.75em;
  border: none;
  border-radius: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  user-select: none;
  font-size: 1em;
  font-weight: bold;
  white-space: nowrap;
}

a.btn:hover,
.btn:hover {
  background-color: rgb(36.4405286344, 139.5594713656, 57.3744493392);
}

a.btn:active,
.btn:active {
  position: relative;
  background-color: rgb(36.4405286344, 139.5594713656, 57.3744493392);
  top: 1px;
  left: 2px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
}

a.btn.btn-large {
  padding: 1em 3em;
}

textarea,
textarea.uk-textarea,
input.uk-input,
input[type=text],
input[type=number],
input[type=email],
input[type=tel] {
  background-color: #f4f4f5;
  color: #000 !important;
  border: 1px solid #89929d;
  padding: 10px !important;
}

input:active,
input:focus {
  border-color: #18467B;
}

#nachricht {
  height: 250px;
}

.specfield {
  display: none;
}

.required {
  color: rgb(249, 29, 99);
}

.footer {
  background-color: #616A75;
}
.footer h4 {
  color: #fff !important;
}
.footer a:link, .footer a:visited {
  text-decoration: underline;
  color: #fff;
}
.footer a:active, .footer a:hover {
  color: #b2d6ff;
}

.logo-shk-innung {
  max-width: 90px;
}

.footer-address {
  color: #fff;
  font-size: 0.7223rem;
}

/* ==========================================================================
   GoToTop
   ========================================================================== */
#scrollTopBtn {
  position: fixed;
  visibility: hidden;
  bottom: 50px;
  right: 50px;
  font-size: 16px;
  background-color: rgba(137, 146, 157, 0.6);
  color: #fff;
  outline: 1px solid rgba(255, 255, 255, 0.4666666667);
  cursor: pointer;
  opacity: 0;
  z-index: 1000;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(20px);
  -moz-transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  -webkit-transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

#scrollTopBtn:hover {
  background-color: rgba(164.8611111111, 171.7361111111, 180.1388888889, 0.6);
}

#scrollTopBtn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  #scrollTopBtn {
    bottom: 0;
    right: 0;
  }
}
/* ==========================================================================
   Basics
   ========================================================================== */
html {
  font-size: 112.5%;
}

body {
  background-color: #f1f1e9 !important;
  font-family: webfont, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  color: #000;
  line-height: 1.55em;
}

.content-wrapper {
  margin: 0 3%;
}

.content-max-width {
  max-width: 1760px;
}

.content {
  background-color: #fff !important;
}

.headline-bar {
  background-color: #18467B;
  color: #fff;
  font-size: 1.889rem;
  padding-top: 30px;
  padding-bottom: 30px;
}
.headline-bar h1 {
  color: #fff !important;
  text-transform: none;
  text-align: left;
}

#menubar-logo {
  height: 64px;
  margin-top: -13px;
}

/* ==========================================================================
   Ruler/Divider
   ========================================================================== */
hr.hr-headline,
hr.hr-subline {
  max-width: 50px;
  margin: 25px auto;
  background-color: #18467B;
  background: none;
  border-top: 2px solid #18467B;
  height: 0;
  overflow: hidden;
  padding: 0 0 25px 0;
}

hr.hr-subline {
  margin: 0;
  padding-bottom: 0;
}

hr.hr {
  border-top: 1px solid #ccd0d5;
}

/* ==========================================================================
   Call to Action
   ========================================================================== */
div.c2a {
  background-color: #e9e9ec;
  text-align: center;
}
div.c2a .btn-box {
  margin-top: 2em;
  margin-bottom: 20px;
}

/* ==========================================================================
   Slick-Slider
   ========================================================================== */
.slideshow-nav {
  text-align: right;
}
.slideshow-nav a {
  font-size: 40px;
  text-decoration: none;
  color: #000;
  padding: 10px 0;
}
.slideshow-nav a:link, .slideshow-nav a:visited {
  text-decoration: none;
  color: #18467B;
}
.slideshow-nav a:hover, .slideshow-nav a:active {
  text-decoration: none;
  color: #2875CD;
}

li.slick-active button {
  color: #000 !important;
}

#partner.slideshow-box div {
  padding: 0 10px;
}

#partner.slideshow-box {
  overflow: hidden;
}

/* ==========================================================================
   Alerts
   ========================================================================== */
.alert {
  background-color: #fff;
  padding: 30px 35px;
  margin: 0 0 20px 0;
  border: 5px solid #b2d6ff;
  display: block;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
  /*
  -moz-box-shadow: 1px 3px 10px rgba(0,0,0,.3);
  -webkit-box-shadow: 1px 3px 10px rgba(0,0,0,.3);
  box-shadow: 1px 3px 10px rgba(0,0,0,.3);
  */
}

.alert.success {
  background-color: #2FB44A;
  border-color: #2FB44A;
  color: #fff;
}

.alert.error {
  background-color: rgb(249, 29, 99);
  border-color: rgb(249, 29, 99);
  color: #fff;
}

.alert.warning {
  background-color: #ffcd4d;
  border-color: #ffcd4d;
}

.alert.info:hover {
  background-color: rgb(244.3, 249.3025974026, 255);
}

.alert .imgbox {
  margin: 20px 0;
}

.alert.center {
  text-align: center;
}
.alert.center .imgbox {
  margin: 20px auto;
}

.alert .imgbox.midi {
  max-width: 450px;
}

/* ==========================================================================
   "Wir für Sie" / Startseite
   ========================================================================== */
.vorteile {
  background-image: url(../img/media/bg-zeichnung-blue.webp);
  background-size: cover;
  margin-top: 100px;
  margin-bottom: 50px;
  padding-top: 100px;
  padding-bottom: 100px;
}
.vorteile p {
  color: #fff;
  margin-top: 0.5em;
}
.vorteile h3 {
  color: #b2d6ff !important;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
}
.vorteile img {
  width: 50px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  .content-wrapper {
    margin: 0;
  }
  .headline-bar {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
/* ==========================================================================
   Minis
   ========================================================================== */
/*
.hover-zoom { transition:ease-in 0.25s all }
.hover-zoom:hover { transform: scale(1.1); }

.hover-move { transition:ease-out 0.25s all }
.hover-move:hover {
	transform: translate(-4px, -6px);
	-moz-box-shadow: 2px 2px 10px rgba(0,0,0,.5);
	-webkit-box-shadow: 2px 2px 10px rgba(0,0,0,.5);
	box-shadow: 2px 2px 10px rgba(0,0,0,.5);
}
*/
/* ==========================================================================
   Ein Objekt einblenden und von links nach rechts einschieben – und umgekehrt
   ========================================================================== */
/*
@keyframes fadeInLeft {
	0% {
		opacity: 0;
		transform: translateX(-100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes fadeInRight {
	0% {
		opacity: 0;
		transform: translateX(100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
*/
/* ==========================================================================
   Ein Objekt einblenden und von unten nach oben einschieben
   ========================================================================== */
/*
@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
*/
/* ==========================================================================
   Ein Objekt einblenden und von oben nach unten einschieben
   ========================================================================== */
/*
@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translateY(-80px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
*/
/* ==========================================================================
   Einfache Timeline-Animationen
   ========================================================================== */
/*
@keyframes slide-in-from-bottom-timeline {
	from {
		opacity: 0;
		transform: translateY(120px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
*/
@keyframes zoom-in-timeline {
  from {
    opacity: 0;
    transform: scale(0.3);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes slide-in-out-timeline {
  0% {
    opacity: 0;
    transform: translateY(25px); /* 120px */
  }
  10% {
    opacity: 1;
    transform: translateY(0);
  }
  90% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-25px); /* -50px */
  }
}
@keyframes slide-in-out-light-timeline {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }
  25% {
    opacity: 1;
    transform: translateY(0);
  }
  75% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-50px);
  }
}
@keyframes slide-in-fade-out-timeline {
  0% {
    opacity: 0;
    transform: translateY(120px);
  }
  25% {
    opacity: 1;
    transform: translateY(0);
  }
  75% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0.4;
  }
}
@keyframes slide-right-timeline {
  0% {
    opacity: 0;
    transform: translateX(-300px);
  }
  25% {
    opacity: 1;
    transform: translateX(0);
  }
  75% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(0);
  }
}
@keyframes slide-left-timeline {
  0% {
    opacity: 0;
    transform: translateX(300px);
  }
  25% {
    opacity: 1;
    transform: translateX(0);
  }
  75% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(0);
  }
}
@keyframes flip-timeline {
  0% {
    opacity: 0;
    transform: rotateY(-90deg);
  }
  25% {
    opacity: 1;
    transform: rotateY(0deg);
  }
  75% {
    opacity: 1;
    transform: rotateX(0deg);
  }
  100% {
    opacity: 0;
    transform: rotateX(90deg);
  }
}
/*
@keyframes fade-in-out-timeline {
	0% {
		opacity: 0;
	}
	25% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
*/
@keyframes fade-out-on-exit-timeline {
  0% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
/* ==========================================================================
   Media Query
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
  /*
  	.fade-in-up {
  		opacity: 0;
  		transform: translateY(80px);
  		animation: fadeInUp 1s ease-out forwards;
  	}

  	.fade-in-down {
  		opacity: 0;
  		transform: translateY(-80px);
  		animation: fadeInDown 1s ease-out forwards;
  		/// animation-delay: .5s;
  	}

  	.fade-in-left {
  		opacity: 0;
  		transform: translateX(-100px);
  		animation: fadeInLeft 1s ease-out forwards;
  		animation-delay: .5s;
  	}

  	.fade-in-right {
  		opacity: 0;
  		transform: translateX(100px);
  		animation: fadeInRight 1s ease-out forwards;
  	}
  */
}
@media screen and (prefers-reduced-motion: no-preference) and (min-width: 767px) {
  @supports (animation-timeline: view()) {
    /*
    			.tlFadeInOut {
    				animation: fade-in-out-timeline linear forwards;
    				animation-timeline: view();
    				animation-range: entry 10% exit 90%;
    			}

    			.tlSlideIn {
    				animation: slide-in-from-bottom-timeline linear forwards;
    				animation-timeline: view();
    				animation-range: entry 0% cover 30%;
    			}

    */
    .tlSlideRight {
      animation: slide-right-timeline linear forwards;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .tlSlideLeft {
      animation: slide-left-timeline linear forwards;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .tlSlideInFadeOut {
      animation: slide-in-fade-out-timeline linear;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .tlSlideInOut {
      animation: slide-in-out-timeline linear;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .tlSlideInOutLight {
      animation: slide-in-out-light-timeline linear;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .tlZoomIn {
      animation: zoom-in-timeline linear forwards;
      animation-timeline: view();
      animation-range: entry;
    }
    .tlFlip {
      animation: flip-timeline linear forwards;
      animation-timeline: view();
      animation-range: entry 0% exit 90%;
    }
    .tlFadeOutOnExit {
      animation: fade-out-on-exit-timeline linear forwards;
      animation-timeline: view();
      animation-range: entry 0% exit 90%;
    }
  }
}
/* ==========================================================================
   UIKit Overwerites und Erweiterungen
   ========================================================================== */
.container-xxlarge {
  max-width: 1760px !important;
}

.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #fff;
}

.uk-offcanvas-overlay::before {
  background-color: rgba(0, 0, 0, 0.2);
}

.uk-lightbox {
  background: rgba(0, 0, 0, 0.8509803922);
}

.uk-form-label {
  color: #000;
  font-size: 1rem;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 1022px) {
  .uk-padding-large {
    padding-left: 10px;
    padding-right: 10px;
  }
}
/**
 * Default-Styles fuer die Vaillant Produktpalette
 * v3.0 (04/2021)
 */
h2.prodSubCatHeadline {
  font-size: 1.56rem;
  text-align: left;
  font-weight: bold;
  margin-bottom: 20px !important;
}

#prodList h1.prodName {
  font-size: 2.166em;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 0.5em;
  padding: 0;
}

#prodList #productimage {
  float: left;
  width: 250px;
  height: 400px;
  position: absolute;
  top: 15px;
  text-align: center;
  left: 0;
}

#prodList #productdescription {
  float: left;
  width: 500px;
  padding-left: 250px;
}

#prodList p,
#prodList .maintext {
  margin: 0 0 1em 0;
}

#prodList nobr {
  white-space: normal;
}

a.catImageLink,
a.catImageLink:link,
a.catImageLink:visited,
a.catImageLink:hover,
a.catImageLink:active {
  text-decoration: none;
  color: #000;
}

h3.product-card-title {
  margin: 0.5em 0 0.2em 0;
}

.prodListItem img {
  width: 100%;
}
.prodListItem p {
  line-height: 1.3em;
  margin: 0;
}

/****************************************************
	Submenu
*****************************************************/
ul.prodSubmenu {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul.prodSubmenu li {
  margin: 0 0 0.4rem 0;
}

ul.prodSubmenu a.active {
  font-weight: bold;
  text-decoration: none;
}

/****************************************************
	Produkte
*****************************************************/
#prodDetail h1 {
  padding-left: 250px;
}

#prodCategorieList {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: auto;
}

#prodCategorieList li {
  display: inline-block;
  vertical-align: top;
  margin: 0 25px 40px 0;
  width: 205px;
}

#prodCategorieList li.firstItem {
  margin-left: 0px;
}

#prodCategorieList li p {
  margin: 0;
}

#prodCategorieList .imageBox {
  width: 203px;
  height: 68px;
  overflow: hidden;
  border: solid 1px #DDDDDD;
  background-position: center;
}

#prodCategorieList li h3 {
  position: relative;
  padding: 0.5em 5px;
  line-height: 1em;
  background: #fff;
  display: inline-block;
  top: -1.5em;
  left: -5px;
  margin: 0;
}

#prodCategorieList .textBox {
  margin-top: -1.5em;
}

#prodCategorieList .moreLinkBox {
  padding-top: 5px;
}

.prodList {
  padding: 0;
}

.prodSubCategorie h2 {
  padding: 0;
  color: #666666;
  font-size: 1.166em;
  line-height: 30px;
  margin: 0;
}

.prodSubCategorie h2.openHide {
  cursor: pointer;
  padding-left: 25px;
  background: transparent url(../images/openHideArrows.png) no-repeat 10px 0;
}

.prodSubCategorie h2.openHide.open {
  background-position: 10px -100px;
}

.prodSubCategorie h3 {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}

.prodSubCategorie p {
  margin: 0;
}

.subCategorieTeaserBox {
  overflow: auto;
  background: #ccd0d5;
  padding: 2px 15px;
}

.subCategorieTeaserBox img {
  float: left;
  margin-right: 15px;
}

.subCategorieTeaserBox p {
  padding: 15px;
}

.prodSubCategorie ul {
  margin: 0;
  list-style: none;
}

.prodSubCategorie ul li {
  padding: 10px 15px 10px 67px;
  background: #e9e9ec;
  margin: 1px 0;
}

.vai21grad_img {
  height: 206px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 1000;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "sans-serif";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: 10px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: 10px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "●";
  width: 20px;
  height: 20px;
  font-family: "sans-serif";
  font-size: 20px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: #000;
  opacity: 1;
}
