#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #c2c7b0;
  z-index: 2000;
  transition: all 2s;
}
#preloader.fade-out {
  opacity: 0;
}
#preloader .logo {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/logo-vc.svg) no-repeat center center;
  background-size: 25% auto;
  z-index: 2500;
  transition: all 1s;
}
#preloader .logo.fade-out {
  opacity: 0;
}
@keyframes pulsing {
  0% {
    opacity: 0;
    transform: scale3d(1, 1, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  50% {
    opacity: 1;
    transform: scale3d(1.05, 1.05, 1.05);
    animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  }
  100% {
    opacity: 0;
    transform: scale3d(1, 1, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
}
#preloader .logo {
  animation: pulsing 5s infinite;
}
body {
  color: #575756;
  background: #f2f2f2;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
}
img {
  max-width: 100%;
  height: auto;
}
a {
  color: #575756;
}
p:last-child {
  margin-bottom: 0;
}
h3 {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 12px;
  margin: 30px 0;
}
.btn.active,
.btn:active {
  box-shadow: none;
}
.tableish {
  display: table;
}
.tableish > div {
  display: table-cell;
  vertical-align: middle;
  float: none;
}
#menu-quick {
  position: fixed;
  top: 15px;
  left: 0;
  z-index: 100;
}
#menu-quick .icons {
  padding-left: 40px;
}
#menu-quick .icons li {
  display: inline;
  margin-right: 15px;
}
#menu-quick .icons li:last-child {
  margin-right: 0;
}
#menu-quick .icons li a {
  text-decoration: none;
}
#menu-quick .icons li img {
  width: 30px;
  height: auto;
}
#menu {
  position: fixed;
  /* top: 60px; */
  top: 204px;
  left: 0;
  z-index: 35;
  transition: all 1s;
  padding-right: 15vw;
  transition: all 0.5s;
}
#menu li {
  list-style: none;
}
#menu li a {
  font-size: 14px;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  transition: all 0.5s;
  white-space: nowrap;
  text-decoration: none;
}
#menu li.active {
  padding-right: 10px;
}
#menu li.active a {
  font-size: 14px;
  color: #a2195b;
}
#menu.offsetMenu {
  transition-delay: 0.05s;
  transform: translateX(-130px);
}
#menu.offsetMenu li {
  transform: translateX(-110px);
}
#menu.offsetMenu li + li {
  transform: translateX(-110px);
}
#menu.offsetMenu li + li + li {
  transform: translateX(-70px);
}
#menu.offsetMenu li + li + li + li {
  transform: translateX(-90px);
}
#menu.offsetMenu li + li + li + li + li {
  transform: translateX(-120px);
}
#menu.offsetMenu li + li + li + li + li + li {
  transform: translateX(-90px);
}
#menu.offsetMenu li + li + li + li + li + li + li {
  transform: translateX(-110px);
}
#menu.offsetMenu li.active {
  border-color: #a2195b;
}
#menu.offsetMenu.resetOffset {
  transform: translateX(0);
}
#menu.offsetMenu.resetOffset li {
  transform: translateX(0);
}
#menu.offsetMenu.resetOffset li + li {
  transition-delay: 0.1s;
}
#menu.offsetMenu.resetOffset li + li + li {
  transition-delay: 0.2s;
}
#menu.offsetMenu.resetOffset li + li + li + li {
  transition-delay: 0.3s;
}
#menu.offsetMenu.resetOffset li + li + li + li + li {
  transition-delay: 0.4s;
}
#menu.offsetMenu.resetOffset li + li + li + li + li + li {
  transition-delay: 0.5s;
}
#menu.offsetMenu.resetOffset li + li + li + li + li + li + li {
  transition-delay: 0.6s;
}
#menu.offsetMenu.resetOffset li + li + li + li + li + li + li + li {
  transition-delay: 0.7s;
}
#menu.offsetMenu.resetOffset li + li + li + li + li + li + li + li + li {
  transition-delay: 0.8s;
}
#menu.offsetMenu.resetOffset li:hover a {
  border-color: #fff;
}
#menu .sections {
  padding-left: calc(var(--bs-gutter-x, 2rem) * .5);
}
#menu .sections li {
  border-bottom: 2px solid #fff;
  transition: all 0.5s;
  width: 100%;
  /*      &:last-child {
        border-bottom: none;
      }*/
}
#menu .sections li a {
  display: block;
  line-height: 30px;
  padding-right: 20px;
}
#menu .sections li.active,
#menu .sections li:hover {
  width: 120%;
}
#menu .sections li.active {
  border-color: #a2195b;
}
#menu .sections li:nth-child(3) {
  padding-left: 40px;
  margin-left: -40px;
  margin-right: 40px;
}
#menu .sections li:nth-child(4) {
  padding-left: 20px;
  margin-left: -20px;
  margin-right: 20px;
}
#menu .sections li:nth-child(5) {
  margin-left: 10px;
}
#menu .sections li:nth-child(5) a {
  margin-left: -10px;
}
#menu .sections li:nth-child(6) {
  padding-left: 20px;
  margin-left: -20px;
  margin-right: 20px;
}
@keyframes scrolldown {
  0% {
    transform: translate3d(0, -100px, 0);
    opacity: 0.8;
  }
  75% {
    transform: translate3d(0, 0, 0);
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
#splash {
  position: relative;
  transition: none;
}
#splash .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -240px;
  margin-left: -120px;
  transition: all 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#splash .logo img {
  max-width: 240px;
  height: auto;
}
#splash .scroll-down-tutorial {
  position: absolute;
  bottom: 30px;
  left: 40px;
  transition: all 0.1s;
  width: 80px;
  transition: all 1s ease-out;
}
#splash .scroll-down-tutorial.fade {
  opacity: 0;
}
#splash .scroll-down-tutorial img {
  /*animation: scrolldown 2s infinite;*/
  width: 40%;
  height: auto;
  margin: 0 30%;
}
#splash .scroll-down-tutorial .instructions {
  font-size: 10px;
  text-align: center;
  color: #fff;
  margin-bottom: 10px;
}
.separator {
  width: 100%;
  height: 1px;
  background: url(../img/separator_pink.jpg) no-repeat 0 0;
  background-size: auto 1px;
  margin-top: 30px;
  margin-bottom: 30px;
  position: relative;
}
.separator:last-child {
  display: none;
}
.intro-text {
  margin: 60px 0;
}
.intro-text .separator {
  left: -100px;
}
.fullsize.photo {
  padding-left: 0;
  padding-right: 0;
}
.fullsize.photo .caption {
  margin-top: -30px;
  padding-bottom: 10px;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
}
.carousel {
  margin-bottom: -1px;
  /* prevents "extra pixel" from safari */
}
.carousel .carousel-indicators {
  text-transform: uppercase;
  color: #fff;
  bottom: 5px;
}
.carousel .carousel-indicators li {
  margin-left: 2px;
  margin-right: 2px;
}
.slideshow-caption {
  text-align: center;
  margin-top: 25px;
  margin-bottom: 25px;
  font-size: 18px;
}
.col:has(.full-width),
.slideshow.full-width,
.carousel.full-width {
  padding-left: 0;
  padding-right: 0;
}
.logo-side {
  text-align: center;
  text-transform: uppercase;
  color: #a2195b;
  font-weight: bold;
  font-size: 10px;
}
@media (width <= 768px) {
  .logo-side {
    display: none !important;
  }
}
.logo-side img {
  max-width: 120px;
  display: block;
  margin: 0 auto 5px auto;
}
.phone-number {
  color: #a2195b;
  font-size: 18px;
}
.leistungen-btn {
  text-align: center;
}
.leistungen-btn a {
  z-index: 200;
  margin-top: 50px;
  margin-bottom: 50px;
  color: #a2195b;
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 400;
  background: url(../img/ico_close.png) no-repeat left center;
  background-size: 23px auto;
  padding-left: 40px;
  transition: all 0.1s;
}
.leistungen-btn a.collapsed {
  background-image: url(../img/ico_open.png);
}
.leistungen-btn a:hover,
.leistungen-btn a:focus {
  color: #a2195b;
}
#leistungen {
  background: #c2c7b0;
  text-align: left;
}
#leistungen .section-text {
  padding: 40px 0;
}
#leistungen li {
  color: #fff;
  line-height: 32px;
  font-size: 16px;
}
#leistungen li span {
  color: #a2195b;
}
#business-card {
  font-size: 22px;
}
#business-card .row {
  background: #c2c7b0;
}
#business-card .separator {
  left: -100px;
  margin-top: 20px;
  margin-bottom: 20px;
}
#business-card span.phone,
#business-card span.email,
#business-card span.website {
  display: block;
}
#business-card .address {
  text-transform: uppercase;
}
#map_canvas {
  height: 500px;
}
#map_canvas img {
  max-width: none !important;
  max-height: none !important;
}
#map iframe {
  display: block;
}
.section-text {
  padding-top: 50px;
  padding-bottom: 50px;
}
.section-text a,
.section-text a:hover {
  text-decoration: underline;
}
#section-1 .separator {
  background-position: right center;
  right: -100px;
}
#section-2 .separator.first {
  left: -80px;
}
#section-2 .separator.second {
  background-position: right center;
  right: -80px;
}
#section-4 .logo-side {
  padding-top: 50px;
  padding-bottom: 50px;
}
#section-5 .separator {
  left: -66px;
}

#impressum {
  margin: 60px 0;
  text-transform: uppercase;
  font-size: 12px;
}
#footer {
  background: #a2195b;
  color: #fff;
  padding-top: 20px;
  padding-bottom: 40px;
}
#footer a {
  color: #fff;
}
#footer .logo-side {
  color: #fff;
}
#footer .copy {
  padding: 15px 3rem 0 3rem;
  font-size: 11px;
  line-height: 14px;
}
#footer h4 {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: normal;
  margin-top: 20px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #fff;
  max-width: 30rem;
}
#footer ul {
  padding: 0;
  margin: 0;
}
#footer ul li {
  list-style: none;
  font-size: 11px;
  line-height: 18px;
  margin-bottom: 2px;
}
#footer ul li:last-child {
  margin-bottom: 0;
}
.contains-scroll-top {
  position: relative;
}
.contains-scroll-top a {
  padding: 20px 10px 20px 0;
}
.contains-scroll-top a img {
  width: 20px;
  height: auto;
}
.scroll-top {
  position: absolute;
  right: 20px;
  bottom: 25px;
}
#scroll-top {
  position: fixed;
  right: 20px;
  bottom: 25px;
  transition: all 0.5s;
  opacity: 0;
}
#scroll-top:hover {
  bottom: 30px;
}
#scroll-top a {
  padding: 20px 10px;
}
#scroll-top a img {
  width: 20px;
  height: auto;
}
#impressumModal {
  font-size: 11px;
}
#impressumModal h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}
@keyframes kenburns {
  0% {
    opacity: 1;
  }
  50% {
    transform: scale3d(2, 2, 2) translate3d(220px, -5%, 0px);
    animation-timing-function: ease-in;
    opacity: 1;
  }
  100% {
    transform: scale3d(1, 1, 1) translate3d(0px, 0px, 0px);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  /*100% {
        transform: scale3d(3, 3, 3) translate3d(-170px, 100px, 0px);
        opacity: 0;
    }*/
}
#splash .backstretch {
  background: #c2c7b0;
  transition: none;
}
#splash .backstretch img {
  animation: kenburns 60s 1;
}
@media screen and (max-width: 991px) {
  .intro-text .separator {
    left: 0;
  }
  #section-1 .separator {
    right: 0;
  }
  #section-2 .separator.first {
    left: 0;
  }
  #section-2 .separator.second {
    right: 0;
  }
  #section-2 .section-text {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #section-5 .separator {
    left: 0;
  }
  #business-card .text {
    text-align: center;
    padding: 30px 0;
  }
  #business-card .separator {
    left: 0;
    background-position: center center;
  }
  #footer {
    text-align: center;
  }
  #footer h4 {
    margin: 20px auto;
  }
}
@media screen and (max-width: 767px) {
  #preloader .logo {
    background-size: 50% auto;
  }
  #splash .backstretch img {
    animation: none;
  }
  #splash .logo {
    margin-top: -120px;
  }
  #menu-quick .icons {
    padding-left: 15px;
  }
  #menu {
    pointer-events: none;
  }
  #menu.offsetMenu {
    transform: translateX(-52%);
  }
  #menu.offsetMenu.resetOffset {
    transform: translateX(-25px);
  }
  #menu .sections li.active,
  #menu .sections li:hover {
    width: 110%;
  }
  .logo-side {
    margin-top: 20px;
  }
  .leistungen-btn a {
    font-size: 3vw;
  }
  #menu {
    padding-right: 0;
  }
  #section-1 .section-text {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #section-4 .logo-side {
    padding-top: 0px;
    padding-bottom: 20px;
  }
  #section-4 .section-text {
    padding-top: 0;
    padding-bottom: 20px;
  }
  #section-5 .section-text {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #section-6 .section-text {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
/*# sourceMappingURL=bootstrap.css.map */

#kontaktModal .modal-body {
  padding: 0;
}
#menu .sections li a:hover,
#menu .sections li a:focus {
  text-decoration: none;
}
#jobsModal .row {
  margin-bottom: 15px;
}
#jobsModal .row:last-child {
  margin-bottom: 0;
}

.pace-running .cookieinfo {
  display: none;
}
.cookieinfo {
  font-family: Verdana, sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
.cookieinfo a {
  text-decoration: underline !important;
}
.cookieinfo > .cookieinfo-close {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  float: none !important;
  margin: 10px auto 0 auto !important;
}
.cookieinfo > span {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  text-align: center;
  width: 100%;
}
#phone-mobile,
#menu-quick .icons .mobile-menu-btn,
#mobile_logo,
#mobile_menu,
.mobile-only,
.icons img.mobile-only,
.logo img.mobile-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .desktop-only,
  .icons img.desktop-only,
  .logo img.desktop-only {
    display: none;
  }
  .mobile-only,
  .icons img.mobile-only {
    display: inline-block;
  }
  .logo img.mobile-only {
    display: block;
  }
  #phone-mobile {
    z-index: 10;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
  }
  #phone-mobile .map a,
  #phone-mobile .telephone a {
    top: 15px;
    background: transparent;
  }
  #phone-mobile .map a {
    position: absolute;
    right: 40px;
    padding: 1px 20px;
  }
  #phone-mobile .map a img,
  #phone-mobile .telephone a img {
    max-width: 30px;
    height: auto;
    min-height: 0;
  }
  #menu-quick,
  #phone-mobile .map a,
  #phone-mobile .telephone a {
    top: 34px;
  }
  #menu {
    transform: translateX(-25px);
    top: 114px;
    pointer-events: all;
    background: rgba(255,255,255,0.8);
  }
  #menu .sections li {
    border-color: #575756;
    border-bottom: none;
  }
  #menu .sections li a {
    color: #575756;
    padding-right: 0;
  }
  #menu .sections li.active a {
    color: #a2195b;
  }
  #menu.offsetMenu {
    transform: translateX(-100%);
  }
  #menu-quick .icons .mobile-menu-btn {
    display: inline;
  }
  #splash {
    top: 0;
    margin-bottom: 114px;
  }
  #splash .logo,
  #splash .telephone,
  #menu-quick .icons .phone,
  .scroll-down-tutorial {
    display: none;
  }
  #mobile_logo {
    display: block;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 5;
  }
  #mobile_logo .logo {
    max-width: 75px;
    margin: 15px auto;
  }
}

.carousel-inner>.item>a>img,
.carousel-inner>.item>img,
.img-responsive,
.thumbnail a>img,
.thumbnail>img {
    display: block;
    max-width: 100%;
    height: auto
}
.carousel {
    position: relative
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-inner>.item {
    position: relative;
    display: none;
    -webkit-transition: .6s ease-in-out left;
    -o-transition: .6s ease-in-out left;
    transition: .6s ease-in-out left
}

.carousel-inner>.item>a>img,
.carousel-inner>.item>img {
    line-height: 1
}

@media all and (transform-3d),
(-webkit-transform-3d) {
    .carousel-inner>.item {
        -webkit-transition: -webkit-transform .6s ease-in-out;
        -o-transition: -o-transform .6s ease-in-out;
        transition: transform .6s ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        perspective: 1000px
    }

    .carousel-inner>.item.active.right,
    .carousel-inner>.item.next {
        left: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    .carousel-inner>.item.active.left,
    .carousel-inner>.item.prev {
        left: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }

    .carousel-inner>.item.active,
    .carousel-inner>.item.next.left,
    .carousel-inner>.item.prev.right {
        left: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.carousel-inner>.active,
.carousel-inner>.next,
.carousel-inner>.prev {
    display: block
}

.carousel-inner>.active {
    left: 0
}

.carousel-inner>.next,
.carousel-inner>.prev {
    position: absolute;
    top: 0;
    width: 100%
}

.carousel-inner>.next {
    left: 100%
}

.carousel-inner>.prev {
    left: -100%
}

.carousel-inner>.next.left,
.carousel-inner>.prev.right {
    left: 0
}

.carousel-inner>.active.left {
    left: -100%
}

.carousel-inner>.active.right {
    left: 100%
}

.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
    background-color: rgba(0, 0, 0, 0);
    filter: alpha(opacity=50);
    opacity: .5
}

.carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
    background-repeat: repeat-x
}

.carousel-control.right {
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
    background-repeat: repeat-x
}

.carousel-control:focus,
.carousel-control:hover {
    color: #fff;
    text-decoration: none;
    filter: alpha(opacity=90);
    outline: 0;
    opacity: .9
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next,
.carousel-control .icon-prev {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    margin-top: -10px
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
    left: 50%;
    margin-left: -10px
}

.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
    right: 50%;
    margin-right: -10px
}

.carousel-control .icon-next,
.carousel-control .icon-prev {
    width: 20px;
    height: 20px;
    font-family: serif;
    line-height: 1
}

.carousel-control .icon-prev:before {
    content: '\2039'
}

.carousel-control .icon-next:before {
    content: '\203a'
}

.carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none
}

.carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    border-radius: 10px
}

.carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6)
}

.carousel-caption .btn {
    text-shadow: none
}

@media screen and (min-width:768px) {

    .carousel-control .glyphicon-chevron-left,
    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-next,
    .carousel-control .icon-prev {
        width: 30px;
        height: 30px;
        margin-top: -10px;
        font-size: 30px
    }

    .carousel-control .glyphicon-chevron-left,
    .carousel-control .icon-prev {
        margin-left: -10px
    }

    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-next {
        margin-right: -10px
    }

    .carousel-caption {
        right: 20%;
        left: 20%;
        padding-bottom: 30px
    }

    .carousel-indicators {
        bottom: 20px
    }
}
.container-fluid:not(.no-white-bkg):has(.section-text) {
  background: #fff;
}