.px-kontaktbereich {
  position: relative;
  z-index: 0;
}
.px-kontaktbereich-background {
  position: absolute;
  width: 100%;
  height: calc(100% - 75px);
  left: 0;
  bottom: 0;
  z-index: 0;
  background: var(--offwhiteGradient);
}
.px-kontaktbereich-inner {
  z-index: 1;
  position: relative;
  container-type: inline-size;
  max-width: var(--maxWidthBig);
  width: var(--baseWidth);
  margin: 0 auto;
}
.px-kontaktbereich-inner .px-kontaktbereich-content {
  display: flex;
  justify-content: space-between;
  gap: 20px clamp(2.2222222222rem, 1.6216216216rem + 3.3783783784vw, 4.4444444444rem);
}
@container (width <= 960px) {
  .px-kontaktbereich-inner .px-kontaktbereich-content {
    flex-direction: column;
    gap: var(--fl-margin-before-small);
  }
}
@container (width <= 960px) {
  .px-kontaktbereich-inner .px-kontaktbereich-content .col {
    width: 100% !important;
  }
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.text {
  width: 58%;
  padding-bottom: var(--fl-margin-after-small);
}
@container (width >= calc(768px + 1px)) {
  .px-kontaktbereich-inner .px-kontaktbereich-content .col.text {
    padding-top: calc(var(--fl-margin-before-medium) + 75px);
  }
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.image {
  width: 33%;
  position: relative;
}
@container (width <= 960px) {
  .px-kontaktbereich-inner .px-kontaktbereich-content .col.image {
    order: -1 !important;
    max-width: 450px;
    margin: 0 auto;
  }
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.image .image-big {
  position: relative;
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.image .image-big img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.image .image-big .contact-box {
  position: absolute;
  padding: clamp(0.5555555556rem, 0.4054054054rem + 0.8445945946vw, 1.1111111111rem) clamp(1.1111111111rem, 0.960960961rem + 0.8445945946vw, 1.6666666667rem);
  background-color: var(--contrastColorInverted);
  border-radius: var(--borderRadiusSmall);
  filter: var(--defaultDropShadow);
  transform: translate(25%, 50%);
  bottom: 0;
  right: 0;
  z-index: 2;
}
.px-kontaktbereich-inner .px-kontaktbereich-content .col.image .image-big .contact-box p + p {
  padding-top: 5px;
}
@container (width <= 960px) {
  .px-kontaktbereich-inner .px-kontaktbereich-content .col.image .image-big .contact-box {
    transform: none !important;
  }
}
.px-kontaktbereich.image-round .col.image img {
  height: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
}
.px-kontaktbereich:not(.image-round) .col.image img {
  filter: var(--defaultDropShadow);
  border-radius: var(--borderRadiusBig);
}
.px-kontaktbereich.imageposition-right .col.text {
  order: 1;
}
.px-kontaktbereich.imageposition-right .col.image {
  order: 2;
}
.px-kontaktbereich.imageposition-right .col.image .contact-box {
  transform: translate(-25%, 50%);
  right: auto;
  left: 0;
}
.px-kontaktbereich[class*=image-decoration]:not(.image-decoration-none) .image-big img {
  position: relative;
  z-index: 1;
}
.px-kontaktbereich[class*=image-decoration]:not(.image-decoration-none) .image-big::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("../../../img/bg-normal.svg") no-repeat center/contain;
  bottom: -200px;
  right: -140px;
  z-index: 0;
  opacity: 1;
}
.px-kontaktbereich[class*=image-decoration]:not(.image-decoration-none).image-decoration-left-top .image-big::after {
  bottom: auto;
  right: auto;
  top: -200px;
  left: -140px;
}