.page-template-page-new,
.is-root-container:has(p.tagline) {
  .has-background[style*="background-color:#ffffff"] {
    * {
      color: unset;
    }

    .wp-block-column {
      background-color: #f6f6f6;
      border-radius: 1em;
      padding: 2em 3em;
    }
  }

  .wp-block-cover {
    overflow-x: clip;
  }

  .content > .wp-block-columns:not(.has-background, .no-background) .wp-block-column {
    background-color: #f6f6f6;
    margin-bottom: 5em;
    padding: 4em 3em;
    text-align: left;
  }

  .optional {
    opacity: 50%;
  }

  .content > .wp-block-cover:first-child,
  .content > script + .wp-block-cover.alignfull {
    .wp-block-cover__inner-container {
      padding-block: 14em 3em;
    }

    img {
      height: auto;
      inset: auto 1em -1em auto;
      width: 30em;

      @media (max-width: 1330px) {
        display: none;
      }
    }
  }

  .wp-block-cover:has(.wp-block-cover__background.has-primary-background-color) .wp-element-button {
    background-color: white;
    color: #d90056;
  }

  .wp-block-cover.has-primary-background-color,
  .wp-block-cover:has(.wp-block-cover__background.has-primary-background-color) {
    background: linear-gradient(to bottom, #165faa 0%, #d90056 100%);

    .wp-block-button + .wp-block-button > * {
      background-color: #165faa;
    }

    img {
      inset: auto 2em -2em auto;
      z-index: 999;
    }
  }

  :is(.wp-block-cover, .wp-block-group) :is(h1, h2) + p:not([class]) {
    font-size: 1.5em;
  }

  :is(h1, h2, h3, h4, h5, h6) {
    line-height: 1.2;
  }

  form {
    margin-bottom: 0;
  }

  p {
    line-height: 1.4;

    a {
      text-decoration: none !important;

      &:is(:hover, :focus, :active) {
        text-decoration: underline !important;
      }
    }
  }

  h2 {
    margin-bottom: .5em;
    padding-bottom: 0;
  }

  .tagline {
    background-color: var(--tagline-bg-color, #165faa);
    color: var(--tagline-color, white) !important;
    border-radius: 999px;
    font-size: .825em;
    font-weight: 500;
    margin-inline: 0 auto;
    padding: .125em 1em;
    width: fit-content;

    + * {
      margin-top: 0;
      padding-top: 0;
    }
  }

  .wp-block-media-text {
    gap: 3em clamp(3em, 7vw, 7em);
    margin-block: clamp(3em, 7vw, 7em);
    padding-block: 0;

    .wp-block-media-text__content {
      padding: 0;

      @media (min-width: 768px) {
        padding-block: 3em;
      }
    }

    p:last-child {
      margin-bottom: 0;
    }
  }

  .wp-block-group ul li {
    color: currentcolor !important;
  }

  .wp-block-buttons {
    gap: .5em .75em;
    margin-top: 2em;
  }

  .wp-block-group p + .wp-block-buttons {
    margin-top: 1em;
  }

  .wp-block-button {
    margin: 0;
  }

  input[type=submit],
  .wp-block-button__link {
    /*border-radius: 999px !important;
    box-shadow: none !important;*/
    font-size: 1em !important;
    text-transform: none !important;
  }

  * + .tiles {
    margin-top: 5em;
  }

  .wp-block-group.alignfull > * > .wp-block-media-text {
    margin-block: 0;
  }

  .tiles.tiles-4 > .wp-block-group__inner-container {
    grid-template-columns: repeat(auto-fill, minmax(Min(15em, 100%), 1fr));
  }

  .tiles > .wp-block-group__inner-container {
    display: grid;
    gap: 3em 5em;
    grid-template-columns: repeat(auto-fill, minmax(Min(21em, 100%), 1fr));
  }

  :is(.wp-block-column, .tiles) {
    .wp-block-image {
      filter: brightness(0) saturate(100%) invert(25%) sepia(72%) saturate(1745%) hue-rotate(193deg) brightness(95%) contrast(87%);
      margin: 0 0 1em 0;
      width: 7em;
    }
  }

  * + .wp-block-gallery {
    margin-top: 3em;
  }

  .company-logos,
  .blocks-gallery-grid {
    display: grid !important;
    gap: 2em 5em;
    grid-template-columns: repeat(auto-fill, minmax(min(9em, 100%), 1fr));
    justify-content: space-between;
    width: 100%;

    figure {
      height: unset;
    }

    > * {
      flex-grow: unset;
      margin: 0 !important;
      padding: 0 !important;
      width: unset !important;
    }

    img {
      aspect-ratio: 2;
      filter: brightness(0) invert(1);
      object-fit: contain;
      width: 100%;
    }
  }

  /*.stacking-cards {
    overflow: visible;

    > * {
      background: linear-gradient(180deg, #f6f6f6 0%, #fafafa 100%);
      position: sticky;
      top: 0;
    }
  }*/

  .has-background p > a {
    text-decoration: underline !important;

    &:is(:hover, :focus, :active) {
      text-decoration: none !important;
    }
  }

  .block-teaser-container .cards {
    justify-content: start !important;
    row-gap: 1em;

    .card {
      margin-bottom: 0 !important;
    }

    > .col-xl-12 {
      .card-title {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
      }

      img {
        display: none;
      }

      .card-body {
        align-items: center !important;
        display: flex;
        flex-direction: unset !important;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1em 2em;
        padding: 1em 1.5em !important;

        > p {
          display: none;
        }
      }
    }
  }

  .wp-block-group__inner-container > *:not([class*=align]) {
    max-width: 50rem;
  }

  .wp-block-media-text {
    .wp-block-media-text__content {
      background-color: unset;
    }
  }

  .content > .wp-block-group.alignfull {
    padding: clamp(3em, 7vw, 7em) 15px !important;

    &:has(.wp-block-gallery) {
      padding-block: 3em !important;
    }
  }

  .gform_wrapper {
    background-color: white;
    border-radius: 1em;
    box-shadow: rgba(0, 0, 0, 0.07) 0 .25em 1em 0px;
    padding: clamp(2em, 4vw, 4em);

    .gfield_label,
    .gfield_description {
      color: #585858 !important;
    }

    .custom-control-label {
      color: rgb(88, 88, 88);
    }

    @media (max-width: 768px) {
      .gfield--width-half {
        flex-basis: 100%;
        max-width: 100%;
      }
    }
  }

  .wp-block-columns {
    gap: 5em;
  }

  .wp-block-column {
    margin: 0;
  }

  .company-logos > ul:after,
  .company-logos.has-nested-images::after {
    align-items: center;
    aspect-ratio: 2;
    border: 1px dashed;
    content: 'Dein Unternehmen?';
    display: flex;
    justify-content: center;
    opacity: .7;
    padding: 1em;
    text-align: center;
  }

  .sticky {
    height: min-content;
    hyphens: auto;
    position: sticky;
    top: 3em;

    + * {
      .wp-block-group {
        background-color: #f6f6f6;
        border-radius: 1em;
        counter-increment: tile;
        hyphens: auto;
        padding: clamp(1.5em, 3vw, 3em) clamp(2em, 4vw, 4em);

        + .wp-block-group:not(.teaser) {
          margin-top: 3em;
        }
      }

      h3 {
        font-size: 2em;
        font-weight: 500;
      }

      p {
        font-size: 1.5em;
      }
    }
  }

  .wp-block-columns:not(.teasers) .sticky + * h3::before {
    color: #165faa;
    content: counters(tile, "", decimal-leading-zero);
    display: block;
    font-size: 3em;
    margin-bottom: .25em;
  }

  .wp-block-columns.teasers .sticky + .wp-block-column {
    display: grid;
    gap: 3em;
    grid-template-columns: repeat(auto-fill, minmax(min(21em, 100%), 1fr));

    > .wp-block-group {
      margin-top: 0;
    }
  }

  .wp-block-group.bubble {
    display: flex;
    flex-direction: column;
    padding: 3em !important;
    margin: 0;
    transition: all .3s cubic-bezier(.69, .07, .42, 1);
    overflow: hidden;

    > *:not(.wp-block-buttons) {
      position: relative;
      z-index: 1;
    }

    .wp-block-image {
      transition: all .3s cubic-bezier(.69, .07, .42, 1);
    }

    &.teaser:has(.wp-block-button)::after {
      aspect-ratio: 1;
      background-color: #165faa;
      border-radius: 999px;
      content: '';
      display: block;
      inset: auto 4.5em 4.5em auto;
      position: absolute;
      transition: all .5s cubic-bezier(.69, .07, .42, 1);
      transform: translate(50%, 50%);
      width: 3em;
    }

    &.teaser:has(.wp-block-button):is(:hover, :focus, :active) {
      color: white;

      &::after {
        width: 250%;
      }

      .wp-block-image {
        filter: brightness(0) invert(1);
      }
    }

    .wp-block-group__inner-container {
      display: flex;
      flex-direction: column;
      height: 100%;
      position: relative;
      z-index: 1;
    }

    .wp-block-buttons {
      align-self: end;
      margin-top: auto;
    }

    .wp-block-button__link {
      background-color: #165faa;
      color: white;
      border-radius: 999px;
      box-shadow: none;
      font-size: 0 !important;
      padding: .5rem;
    }

    .wp-block-button__link::after {
      font-family: "icons";
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      text-decoration: none;
      text-transform: none;
      line-height: 1;
      content: "";
      transition: inherit;
      font-size: 2rem;
      position: relative;
      z-index: 1;
    }

    .wp-block-button__link::before {
      content: '';
      inset: 0;
      position: absolute;
      z-index: 999;
    }
  }

  .wp-block-group.alignfull + .wp-block-group:not(.alignfull) {
    margin-block: clamp(3em, 7vw, 7em);
  }

  .alignwide {
    max-width: 1300px;
  }

  .wp-block-column .accordion-item {
    border-block: 1px solid #585858;
    counter-increment: details;
    margin: -1px 0;

    .accordion-link::before {
      color: #5187C0;
      content: counters(details, "", decimal-leading-zero);
      font-weight: 300;
      white-space: nowrap;
    }

    .accordion-body {
      padding-left: 3em;
    }
  }

  :not(.wp-block-group__inner-container) > .wp-block-quote {
    margin-block: clamp(3em, 7vw, 7em);
  }

  .wp-block-quote {
    p {
      font-size: 2em;

      &::before {
        content: '«'
      }

      &::after {
        content: '»'
      }
    }

    cite {
      display: block;
      font-size: 1.25em;
      font-style: normal;
      line-height: 1.2;
      margin-top: 1.5em;
      padding-top: .25em;
      position: relative;

      img {
        aspect-ratio: 1;
        border-radius: 50%;
        inset: 0 auto auto 0;
        object-fit: cover;
        object-position: top;
        position: absolute;
        width: 3em !important;
      }

      &:has(img) {
        padding-left: 4em;
      }
    }
  }

  .accordion-link {
    align-items: start;
    background: none !important;
    color: #165faa;
    display: flex;
    font-size: 1.5em;
    font-weight: 500;
    gap: .5em 1em;
    outline: none;
    padding: .75em 0;

    &::after {
      color: #5187C0;
      font-size: 1em;
      margin: 0 0 0 auto;
      transform: rotate(90deg) translateX(.25em);
    }

    &[aria-expanded="true"]::after {
      transform: rotate(-90deg) translateX(-.25em);
    }
  }

  .content > .wp-block-group:not(.has-background) {
    .gform_wrapper {
      box-shadow: unset !important;
      background-color: #f6f6f6;
    }

    .portrait {
      background-color: #f6f6f6;
      border-color: white;

      img {
        mix-blend-mode: multiply !important;
      }
    }
  }

  .accordion-body {
    padding: 0 0 .75em;
  }

  .wp-block-acf-employees:not(.normal) {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(auto-fill, minmax(min(3em, 100%), 1fr));
  }

  .wp-block-acf-employees:not(.normal) .type-employee {
    cursor: unset !important;
    flex: unset !important;

    .portrait {
      aspect-ratio: 1 !important;
      border: .2em solid;
      border-radius: 50%;
      margin-bottom: 0 !important;
      width: 4em !important;
    }

    img {
      aspect-ratio: 1 !important;
      border-radius: inherit;
      mix-blend-mode: unset !important;
      object-fit: cover !important;
      object-position: 0 30%;
    }

    figcaption,
    .data-wrapper {
      display: none !important;
    }
  }

  a[href^="tel"] {
    white-space: nowrap;
  }

  .wp-block-group.has-secondary-background-color ul:not(.blocks-gallery-grid),
  .wp-block-columns.packages ul {
    display: flex;
    flex-direction: column;
    gap: .5em;
    list-style: "✓";
    margin: 0 0 1em 0;

    li {
      padding-left: .5em;
    }
  }

  .wp-block-group__inner-container > .block-accordion-container .accordion-item {
    background-color: #f6f6f6;
    border-radius: 1em;
    padding: 0 2em;

    + .accordion-item {
      margin-top: 1em;
    }
  }

  .has-secondary-background-color {
    --tagline-bg-color: #5187C0;
    --tagline-color: #ffffff;

    padding: 0 15px !important;

    .portrait {
      border-color: #165faa !important;
    }
  }

  .wp-block-group.alignfull.has-background > * > .wp-block-group {
    margin-inline: auto;
  }

  .wp-block-group .counter {
    color: #165faa;
    font-size: 3em;

    strong {
      font-weight: 700;
    }

    & + * {
      margin-top: 0 !important;
    }
  }

  .wp-block-column figure:has(img[src*=woo][src$=svg]) {
    align-items: center;
    display: flex;
    height: 7em;
    width: unset;

    img {
      height: 3.5em;
    }
  }

  .block-posts-container {
    margin-bottom: 0;
  }

  a.card {
    border-top-right-radius: 25px;
    text-decoration: none !important;

    .card-body .typtitle {
      display: none !important;
    }
  }

  .has-graylight-background-color a.card {
    div.card-body {
      padding: 0 1.5em 1.5em 1.5em;
    }
  }

  .content > .wp-block-group.alignfull.has-background {
    margin-bottom: 0;
  }

  .wp-block-media-text__media:has(img[src*=".svg"]) {
    aspect-ratio: 4/3;
    background-color: #f6f6f6;
    display: flex;
    padding: 21%;

    /*img {
      filter: drop-shadow(0px 1000vw 0 #165faa);
      transform: translateY(-1000vw);
    }*/
  }

  ul.links {
    display: flex;
    gap: .625em;
    flex-direction: column;
    font-size: 1.5em;
    list-style: none;
    margin: 0;
    padding: 0;

    li {
      margin: 0;
      padding: 0;
    }

    a {
      align-items: center;
      color: #165faa;
      display: inline-flex;
      gap: .25em;
      font-weight: 500;
      text-decoration: none;
      transition: .5s;

      strong {
        font-weight: 300;
        height: 1em;
        max-width: 0;
        overflow: hidden;
        transition: inherit;
        white-space: nowrap;
      }

      &:is(:hover, :focus, :active) {
        opacity: .5;

        strong {
          max-width: 21ch;
        }

        &::after {
          translate: .125em;
        }
      }
    }

    a::after {
      font-family: "icons";
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      text-decoration: none;
      text-transform: none;
      line-height: 1;
      content: "";
      transition: inherit;
    }
  }

  .has-graylight-background-color > .wp-block-group__inner-container > .wp-block-acf-employees {
    .portrait {
      background-color: white;
    }
    
    .overlay p {
      color: unset;
    }
  }
}

* + .wp-block-columns.packages {
  margin-top: 3em;
}

.wp-block-columns.packages {
  gap: 2em !important;

  .wp-block-column {
    background-color: #fff;
    border-radius: 1em;
    display: flex;
    flex-direction: column;
    padding: 4em 2em 2em;
    text-align: center;

    h3 {
      margin-top: 0;
      padding-bottom: .25em;

      + p:not([class]) {
        font-size: .75em;
        opacity: .7;
      }
    }

    .price {
      color: #165faa;
      font-size: 1.5em;
      font-weight: 500;
      margin-bottom: 2em;

      em {
        font-size: .75em;
        font-style: normal;
        font-weight: normal;
      }
    }

    ul {
      text-align: left;
    }

    .wp-block-buttons {
      margin-top: auto;
      padding-top: 1em;
    }

    .wp-block-button {
      width: 100%;
    }

    .wp-block-button__link {
      background: #165faa !important;
      text-align: center;
      width: 100%;
    }
  }
}

.has-graylight-background-color > .wp-block-group__inner-container > ul > li {
  color: currentColor !important;
}

.has-graylight-background-color > .wp-block-group__inner-container > ul:last-child {
  margin-bottom: 0;
}

.block-mood .robot {
  --color: white !important;
}

.web-contact {
  display: none;

  a {
    padding-left: 20px !important;

    &::before {
      display: none !important;
    }
  }
}

.parent-pageid-14745,
.page-id-14745 {
  .fernwartung,
  .btn-supportcenter:not(.web-contact) {
    display: none !important;
  }

  .web-contact {
    display: block;
  }
}