@charset "UTF-8";
.page-header > .primary-menu .menu-item.menu-item-has-children > a:after, .mobile-menu .menu-item-has-children summary:after, .wp-element-button:after, .menu-item.highlight:is(a):after, .menu-item.highlight > a:after, input[type=submit]:after, .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span:after, .wp-block-haeberlis-services-teaser:is(a, article) span:after, .linkedin::before, .phone::before, .email::before {
  background-color: currentColor;
  content: "";
  height: 1em;
  display: inline-block;
  -webkit-mask-position: right;
          mask-position: right;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1em;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
}

.is-root-container {
  padding-inline: var(--wp--custom--layout--device-spacing);
  padding-bottom: clamp(3.625em, 7vw, 7.2em);
}
.is-root-container > .alignfull {
  margin-inline: calc(-1 * var(--wp--custom--layout--device-spacing));
}
.is-root-container > .alignfull.has-background:not(.wp-block-media-text) {
  padding-inline: var(--wp--custom--layout--device-spacing);
}
.is-root-container > :first-child:not(.wp-block-media-text) {
  padding-top: clamp(2rem, 6vw, var(--wp--preset--spacing--huge));
}

:is(.is-layout-constrained, .is-layout-flow) > [class*=wp-block-]:not(:first-child, h1, h2, h3, h4, h5, h6, p, ul, ol, table, details, .wp-block-buttons) {
  margin-top: var(--wp--custom--layout--flow-space);
}

.alignfull + .alignfull {
  --wp--custom--layout--flow-space: 0;
}

html:has(.menu-toggle input:checked) {
  overflow: hidden;
}
html:has(.menu-toggle input:checked) .page-header:before {
  visibility: visible;
}

.is-layout-grid {
  gap: 1.6em;
}

*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, input[type=submit], textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

@view-transition {
  navigation: auto;
}
body {
  accent-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  font-family: var(--wp--preset--font-family--sans-serif);
  font-weight: 300;
  font-size: var(--wp--preset--font-size--normal);
  line-height: 1.4;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: 400;
  line-height: 1.3;
  color: var(--wp--preset--color--dark);
}
:where(h1, h2, h3, h4, h5, h6):not(:last-child) {
  margin-bottom: 0.5em;
}

h1, .has-extra-large-font-size {
  font-size: var(--wp--preset--font-size--extra-large);
  line-height: 1.17;
  margin-bottom: 0.55em;
}

h2, .has-large-font-size {
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.2;
  margin-bottom: 0.67em;
  margin-top: 2.33em !important;
}
h2:has(+ h3, + .has-medium-font-size) + :is(h3, .has-medium-font-size), .has-large-font-size:has(+ h3, + .has-medium-font-size) + :is(h3, .has-medium-font-size) {
  margin-top: 1.1em;
}

h3, .has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.07;
  margin-bottom: 0.46em;
}

:not(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 1.5em;
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge);
  line-height: 1.08;
  margin-bottom: 0.42em;
}

a {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  transition: 0.3s;
}

:is(p, ul, ol, table):not(:last-child) {
  margin-bottom: 0.75em;
}

.email, .phone, .linkedin {
  position: relative;
  padding-left: 1.75em;
  font-weight: 400;
}
.email a, .phone a, .linkedin a {
  color: var(--wp--preset--color--primary) !important;
}
.email a:is(:hover, :focus, :active), .phone a:is(:hover, :focus, :active), .linkedin a:is(:hover, :focus, :active) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.email::before, .phone::before, .linkedin::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--wp--preset--color--primary);
  font-size: 1.5em;
}

.email:has(+ .phone),
.email:has(+ .linkedin),
.phone:has(+ .email),
.phone:has(+ .linkedin),
.linkedin:has(+ .email),
.linkedin:has(+ .phone) {
  margin-bottom: 1.4em;
}
@media (max-width: 893px) {
  .email:has(+ .phone),
  .email:has(+ .linkedin),
  .phone:has(+ .email),
  .phone:has(+ .linkedin),
  .linkedin:has(+ .email),
  .linkedin:has(+ .phone) {
    margin-bottom: 0.625rem;
  }
}

.email::before {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/envelope-light-full.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/envelope-light-full.svg");
}

.phone::before {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/phone-light-full.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/phone-light-full.svg");
}

.linkedin::before {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/linkedin-brands-solid-full.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/linkedin-brands-solid-full.svg");
}

p:not(.email, .phone, .linkedin) > a:is(:hover, :focus, :active) {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 5px !important;
}

.has-primary-background-color {
  --btn-bg: var(--wp--preset--color--accent);
  --btn-color: var(--wp--preset--color--base);
  --btn-hover-color: var(--wp--preset--color--accent);
  --btn-hover-border-color: var(--wp--preset--color--accent);
  --btn-hover-bg: transparent;
}
.has-primary-background-color :is(p, h1, h2, h3, h4, h5, h6, ul li) {
  color: var(--wp--preset--color--white);
}

.wp-block-cover {
  padding: 0;
}
.wp-block-cover__inner-container {
  padding-inline: var(--wp--custom--layout--device-spacing);
}

.wp-block-group.has-background {
  padding-block: clamp(3.625em, 6vw, 5.35em);
  padding-inline: var(--wp--custom--layout--device-spacing);
  margin-bottom: var(--wp--preset--spacing--large);
}
.wp-block-group.has-background:not(.alignwide, .alignfull) {
  padding-block: clamp(3.25em, 5vw, 4em) clamp(3.25em, 5vw, 4.3em);
  padding-inline: clamp(1.875rem, 6vw, 6.75rem);
}
.wp-block-group.has-background:not(.alignwide, .alignfull) .wp-block-buttons {
  margin-top: 1.5em;
}
.wp-block-group > :first-child {
  margin-top: 0 !important;
}
.wp-block-group > :last-child {
  margin-bottom: 0 !important;
}

.is-root-container > :first-child:is(.wp-block-media-text) {
  --wp--preset--font-size--large: clamp(1rem, 2vw, 1.875rem);
  margin-bottom: clamp(2rem, 6vw, var(--wp--preset--spacing--huge));
  position: relative;
  overflow: hidden;
  min-height: clamp(300px, 50vw, 486px);
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text) {
    display: flex;
    flex-direction: column;
  }
  .is-root-container > :first-child:is(.wp-block-media-text) > .wp-block-media-text__media {
    width: 100%;
    height: auto;
  }
  .is-root-container > :first-child:is(.wp-block-media-text) > .wp-block-media-text__content {
    order: 2 !important;
    width: 100%;
  }
}
.is-root-container > :first-child:is(.wp-block-media-text):before {
  content: "";
  position: absolute;
  top: clamp(8em, 17vw, 15.7em);
  width: 36.9em;
  height: 36.9em;
  background: url("/wp-content/themes/haeberlis-services/assets/img/branding.svg") 50%/cover no-repeat;
  z-index: 3;
  right: var(--wp--custom--layout--wide-offset);
  transform: translateX(50%);
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text):before {
    width: 24.25rem;
    height: 24.25rem;
  }
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text):before {
    top: 51%;
    right: 3.55em;
    transform: translateY(-50%) translateX(50%);
  }
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text):before, .is-root-container > :first-child:is(.wp-block-media-text):after {
    display: none;
  }
}
.is-root-container > :first-child:is(.wp-block-media-text):after {
  content: "";
  position: absolute;
  top: 4.65em;
  width: 24.9em;
  height: 24.9em;
  background: url("/wp-content/themes/haeberlis-services/assets/img/branding.svg") 50%/cover no-repeat;
  z-index: 0;
  left: calc(var(--wp--custom--layout--wide-offset) - 4em);
  transform: translateX(-50%);
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text):after {
    width: 24.25rem;
    height: 24.25rem;
  }
}
.is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media {
  position: relative;
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media {
    aspect-ratio: 1.74;
  }
  .is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media:after {
    content: "";
    position: absolute;
    top: clamp(8em, 17vw, 15.7em);
    width: 36.9em;
    height: 36.9em;
    background: url("/wp-content/themes/haeberlis-services/assets/img/branding.svg") 50%/cover no-repeat;
    z-index: 3;
    right: var(--wp--custom--layout--wide-offset);
    transform: translateX(50%);
    top: 100%;
    right: 3.55em;
    transform: translateY(-50%) translateX(50%);
  }
}
@media (max-width: 700px) and (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media:after {
    width: 24.25rem;
    height: 24.25rem;
  }
}
.is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media img {
  filter: grayscale(100%);
}
.is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__media:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(from var(--wp--preset--color--primary) r g b/0.5);
  z-index: 2;
}
.is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__content {
  margin-inline: var(--wp--custom--layout--wide-offset) 1em;
  padding: clamp(6em, 13vw, 12.6em) 0 clamp(1.5em, 4vw, 4.1em);
  z-index: 4;
}
@media (max-width: 700px) {
  .is-root-container > :first-child:is(.wp-block-media-text) .wp-block-media-text__content {
    padding-top: 1.75em;
    margin-inline: 0;
    padding-inline: var(--wp--custom--layout--device-spacing);
  }
}

.wp-block-media-text .has-large-font-size {
  line-height: 1.33;
  margin-top: 0 !important;
}
.wp-block-media-text .wp-block-media-text__content > :first-child {
  margin-top: 0 !important;
}
.wp-block-media-text .wp-block-media-text__content > :last-child {
  margin-bottom: 0 !important;
}
.wp-block-media-text.alignwide {
  --wp--style--global--wide-size: 1732px;
  container-type: inline-size;
}
.wp-block-media-text.alignwide + p {
  margin-top: 4em;
}
.wp-block-media-text.alignwide.has-background.has-media-on-the-right .wp-block-media-text__content {
  padding-block: clamp(3.25em, 7cqw, 6.8em) clamp(3.25em, 7cqw, 6.55em);
  padding-inline: clamp(1.875rem, 6vw, 6.75rem);
}
@media (min-width: 1517px) {
  .wp-block-media-text.alignwide.has-background.has-media-on-the-right .wp-block-media-text__content {
    --wp--custom--layout--wide-offset: max(2em, calc((100cqw - 1260px) / 2));
    padding-left: var(--wp--custom--layout--wide-offset);
    padding-right: clamp(1.875rem, 7.5cqw, 7.35em);
  }
}

@media (max-width: 800px) {
  .wp-block-media-text.is-style-responsive-bottom {
    display: flex;
    flex-direction: column;
  }
  .wp-block-media-text.is-style-responsive-bottom > .wp-block-media-text__media {
    width: 100%;
    height: auto;
  }
  .wp-block-media-text.is-style-responsive-bottom > .wp-block-media-text__content {
    width: 100%;
  }
}

.wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article), .wp-block-haeberlis-services-teaser:is(a, article) {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white) !important;
  padding: 2em 1.5em;
  transition: 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) h3, .wp-block-haeberlis-services-teaser:is(a, article) h3 {
  color: var(--wp--preset--color--white);
  margin-bottom: 0.6em;
  font-weight: 700;
}
@media (hover: hover) {
  .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article):is(:hover, :focus, :active), .wp-block-haeberlis-services-teaser:is(a, article):is(:hover, :focus, :active) {
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--white) !important;
  }
  .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article):is(:hover, :focus, :active) span, .wp-block-haeberlis-services-teaser:is(a, article):is(:hover, :focus, :active) span {
    background: transparent !important;
    color: var(--wp--preset--color--white) !important;
  }
  .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article):is(:hover, :focus, :active) span:after, .wp-block-haeberlis-services-teaser:is(a, article):is(:hover, :focus, :active) span:after {
    right: 0.6em;
  }
}
.wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) p, .wp-block-haeberlis-services-teaser:is(a, article) p {
  font-weight: 400;
}
.wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span, .wp-block-haeberlis-services-teaser:is(a, article) span {
  padding-block: 0 !important;
  padding-left: 0 !important;
  background: transparent !important;
  border: none !important;
  margin-top: auto;
}

.wp-block-haeberlis-services-teasers {
  --wp--custom--layout--flow-space: 2.1em;
  margin-top: 2.1em;
}
.wp-block-haeberlis-services-teasers:not(.acf-block-preview), .wp-block-haeberlis-services-teasers > div:not([class]), .wp-block-haeberlis-services-teasers > div.acf-innerblocks-container {
  display: grid;
  gap: 1.6em;
  grid-template-columns: repeat(auto-fill, minmax(min(16em, 100%), 1fr));
}

.wp-block-columns {
  --wp--custom--layout--flow-space: 1em;
}
.wp-block-columns:has(iframe[src*="google.com/maps"]) > .wp-block-column > iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1.34;
}

.wp-block-quote + .wp-block-quote {
  --wp--custom--layout--flow-space: 3em;
}
.wp-block-quote p:not(:has(strong)) {
  font-style: italic;
}

.wp-block-heading + .wp-block-quote {
  --wp--custom--layout--flow-space: .75em;
}

button, input[type=submit] {
  all: unset;
  cursor: pointer;
  transition: 0.3s;
}

.wp-element-button, .menu-item.highlight:is(a), .menu-item.highlight > a, input[type=submit], .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span, .wp-block-haeberlis-services-teaser:is(a, article) span {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.85em;
  background-color: var(--btn-bg, var(--wp--preset--color--primary));
  border-radius: 3.625rem;
  color: var(--btn-color, var(--wp--preset--color--white));
  border: 2px solid var(--btn-border-color, var(--wp--preset--color--primary));
  padding: 0.55em 2.5em 0.55em 1.4em;
  transition: 0.3s;
  white-space: nowrap;
  font-weight: 700;
  position: relative;
}
@media (hover: hover) {
  .wp-element-button:is(:hover, :focus, :active), .menu-item.highlight:is(:hover, :focus, :active):is(a), .menu-item.highlight > a:is(:hover, :focus, :active), input[type=submit]:is(:hover, :focus, :active), .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span:is(:hover, :focus, :active), .wp-block-haeberlis-services-teaser:is(a, article) span:is(:hover, :focus, :active) {
    background: var(--btn-hover-bg, transparent);
    color: var(--btn-hover-color, var(--wp--preset--color--primary));
    border-color: var(--btn-hover-border-color, var(--wp--preset--color--primary));
  }
  .wp-element-button:is(:hover, :focus, :active):after, .menu-item.highlight:is(:hover, :focus, :active):is(a):after, .menu-item.highlight > a:is(:hover, :focus, :active):after, input[type=submit]:is(:hover, :focus, :active):after, .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span:is(:hover, :focus, :active):after, .wp-block-haeberlis-services-teaser:is(a, article) span:is(:hover, :focus, :active):after {
    right: 0.6em;
  }
}
.wp-element-button:after, .menu-item.highlight:is(a):after, .menu-item.highlight > a:after, input[type=submit]:after, .wp-block-haeberlis-services-teaser:is(.wp-block) > :is(a, article) span:after, .wp-block-haeberlis-services-teaser:is(a, article) span:after {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
  rotate: -90deg;
  position: absolute;
  right: 0.8em;
  top: auto;
  transition: 0.3s;
}

.wp-block-buttons {
  margin-top: clamp(1.75em, 2vw, 1.85em);
}

.custom-logo-link {
  z-index: 10;
  margin-bottom: 0.2em;
}

.custom-logo {
  height: clamp(4.375em, 6vw, 5.5em);
  width: auto;
}

details summary {
  align-items: center;
  display: inline-flex;
  justify-content: space-between;
  width: 100%;
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  content: none;
}

.gform_fields {
  display: grid;
  gap: 1em 1.5em;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.gform_fields > * {
  grid-column: span 12;
}
@media (min-width: 768px) {
  .gform_fields .gfield--width-three-quarters {
    grid-column: span 9;
  }
  .gform_fields .gfield--width-half {
    grid-column: span 6;
  }
  .gform_fields .gfield--width-third {
    grid-column: span 4;
  }
  .gform_fields .gfield--width-quarter {
    grid-column: span 3;
  }
  .gform_fields .gfield--width-quarter.city {
    grid-column: span 4 !important;
    margin-left: -1em;
    min-width: calc(100% + 1rem);
  }
  .gform_fields .gfield--width-quarter.zip {
    grid-column: span 2 !important;
    min-width: 100%;
  }
}

label:not(.gchoice label, .menu-toggle), legend {
  display: block;
  margin-bottom: 0.25em;
  font-weight: 500;
}

fieldset {
  border: none;
  padding: 0;
}
fieldset .gchoice {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
fieldset .gchoice input[type=checkbox] {
  background: var(--wp--preset--color--light);
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
fieldset .gchoice input[type=checkbox]:checked {
  background: var(--wp--preset--color--primary);
}
fieldset .gchoice input[type=checkbox]:checked:before {
  content: "✓";
  color: var(--wp--preset--color--white);
}
fieldset .gchoice:has(+ .gchoice) {
  margin-bottom: 0.5em;
}

.gform_footer {
  margin-top: 1em;
  text-align: right;
}

input:not([type=submit]), select, textarea {
  background: var(--wp--preset--color--light);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  outline: 0;
  padding: 0.5em 1em;
  width: 100%;
}
input:not([type=submit]):is([type=checkbox], [type=radio]), select:is([type=checkbox], [type=radio]), textarea:is([type=checkbox], [type=radio]) {
  aspect-ratio: 1;
  height: 1em;
  padding: 0;
  width: 1em;
}

textarea {
  height: 7em;
  resize: none;
}

.hidden_label .gfield_label,
.gform_heading,
.gfield_visibility_hidden,
.validation_message {
  display: none;
}

.gform_wrapper {
  margin-top: 1em;
  margin-bottom: 5.6em;
}

.gfield_error input:not([type=submit], [type=checkbox]) {
  border: 2px solid var(--wp--preset--color--primary);
}

.gform_validation_errors {
  background: var(--wp--preset--color--accent);
  padding: 1em;
  margin-block: 1.5em 2.75em;
}
.gform_validation_errors:is(:focus-visible) {
  outline: none;
}
.gform_validation_errors h2 {
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 700;
  margin: 0 !important;
  color: var(--wp--preset--color--base);
}

.gform_confirmation_wrapper {
  margin-top: 1.5em;
  padding: 1em;
  background: var(--wp--preset--color--primary);
}
.gform_confirmation_wrapper .gform_confirmation_message {
  font-weight: 700;
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--normal);
}

.gfield_required {
  display: inline-block;
  margin-left: 0.15em;
}

:is(ul, ol) {
  margin: 0;
  padding: 0;
}

:not(nav, .wp-block-media-text__content) > :is(ul, ol):is(:not([class]), .wp-block-list) {
  margin-bottom: 1.85em;
}
:not(nav, .wp-block-media-text__content) > :is(ul, ol):is(:not([class]), .wp-block-list) li {
  list-style: none;
  padding-left: 1em;
  border-top: 1px dashed var(--wp--preset--color--primary);
  padding-block: 0.85em;
  position: relative;
}
:not(nav, .wp-block-media-text__content) > :is(ul, ol):is(:not([class]), .wp-block-list) li:before {
  --_bullet-point-size: 4px;
  content: "";
  display: block;
  position: absolute;
  width: var(--_bullet-point-size);
  height: var(--_bullet-point-size);
  border-radius: 50%;
  background: var(--wp--preset--color--base);
  left: 0;
  top: 1.45em;
}
:not(nav, .wp-block-media-text__content) > :is(ul, ol):is(:not([class]), .wp-block-list) li:last-child {
  border-bottom: 1px dashed var(--wp--preset--color--primary);
}

.wp-block-media-text__content > :is(ul, ol):is(:not([class]), .wp-block-list) {
  padding-left: 1em;
}
.wp-block-media-text__content > :is(ul, ol):is(:not([class]), .wp-block-list) li:has(+ li) {
  margin-bottom: 1em;
}

:is(.menu, .sub-menu) {
  display: flex;
  gap: 0.5em 1em;
  list-style: none;
}

.wp-block-table {
  --wp--custom--layout--flow-space: 2em;
  margin-bottom: 2.6em;
}
.wp-block-table, .wp-block-table table, .wp-block-table td, .wp-block-table th {
  border-collapse: collapse;
  border: none;
  vertical-align: top;
}
.wp-block-table thead {
  border: none;
}
.wp-block-table td, .wp-block-table th {
  padding: 0 1.5em 0 0;
  font-size: 0.88em;
}
@media (max-width: 642px) {
  .wp-block-table:not(.has-fixed-layout).no-wrap tr td.has-text-align-right {
    white-space: nowrap;
  }
}
@media (max-width: 642px) {
  .wp-block-table:not(.has-fixed-layout) tr td:first-child,
  .wp-block-table:not(.has-fixed-layout) tr th {
    word-break: break-word;
    -webkit-hyphens: auto;
            hyphens: auto;
    text-wrap: pretty;
  }
}
.wp-block-table:not(.has-fixed-layout) tr td:first-child,
.wp-block-table:not(.has-fixed-layout) tr th:first-child {
  max-width: -moz-max-content;
  max-width: max-content;
}
.wp-block-table:not(.has-fixed-layout) tr td:last-child,
.wp-block-table:not(.has-fixed-layout) tr th:last-child {
  padding-right: 0;
}
.wp-block-table:not(.has-fixed-layout) tr:not(:last-child) td, .wp-block-table:not(.has-fixed-layout) th {
  padding-bottom: 1em;
}

.menu-toggle {
  cursor: pointer;
  flex-direction: column;
  font-size: 2.25rem;
  gap: 0.194em;
  margin-bottom: 0;
  transition: 0.3s;
  width: 1em;
  z-index: 999;
}
.menu-toggle input {
  display: none;
}
.menu-toggle::before, .menu-toggle::after,
.menu-toggle * {
  background-color: var(--wp--preset--color--primary);
  content: "";
  display: inherit;
  height: 0.1875rem;
  transition: inherit;
  transform-origin: left;
  border-radius: 3rem;
}
.menu-toggle:has(:checked) * {
  opacity: 0;
}
.menu-toggle:has(:checked)::before {
  transform: rotate(31deg) translateY(-3px) translateX(4px);
}
.menu-toggle:has(:checked)::after {
  transform: rotate(-31deg) translateY(1px) translateX(5px);
}

:is(.mobile-menu, .menu-toggle) {
  display: none;
}

@media (max-width: 924px) {
  :is(.mobile-menu, .menu-toggle) {
    display: flex;
  }
  .page-header > .primary-menu {
    display: none;
  }
  .mobile-menu {
    background-color: var(--wp--preset--color--white);
    display: flex;
    height: 100dvh;
    inset: 0;
    overflow-y: auto;
    padding: calc(var(--wp-admin--admin-bar--height, 0px) + 9.5em) var(--wp--custom--layout--device-spacing) 3em;
    position: fixed;
    transform: translateX(100%);
    transition: 0.3s;
    z-index: 5;
    visibility: hidden;
  }
  .mobile-menu .primary-menu, .mobile-menu .menu {
    width: 100%;
  }
  .mobile-menu .menu {
    gap: 2.25rem;
    align-items: flex-start;
  }
  .mobile-menu .menu, .mobile-menu .menu .sub-menu {
    flex-direction: column;
  }
  .mobile-menu .menu > .menu-item {
    font-size: 1.25rem;
    font-weight: 700;
    width: 100%;
  }
  .mobile-menu .menu > .menu-item.highlight {
    width: auto;
  }
  body:has(.menu-toggle input:checked) .mobile-menu {
    visibility: visible;
    transform: translateX(0);
  }
}
.mobile-menu .menu-item-has-children[open] summary > a, .mobile-menu .menu-item-has-children[open] summary:after {
  color: var(--wp--preset--color--base);
}
.mobile-menu .menu-item-has-children[open] summary:after {
  transform: scaleY(-1);
}
.mobile-menu .menu-item-has-children summary:after {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
  font-size: 0.8em;
  transition: 0.3s ease;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.45em;
  color: var(--wp--preset--color--primary);
}
.mobile-menu .menu-item-has-children .sub-menu {
  background: var(--wp--preset--color--light);
  padding: 1.6em 1.1em;
  gap: 1em;
  margin-top: 0.6em;
}
.mobile-menu .menu-item-has-children .sub-menu .menu-item {
  line-height: 1;
  font-weight: 700;
  font-size: 1.125rem;
}
.mobile-menu .menu-item-has-children .sub-menu .menu-item[class*=current]:not(.highlight) {
  color: var(--wp--preset--color--base);
}

.page-footer {
  background: var(--wp--preset--color--light);
}
.page-footer > .wp-block-group {
  padding-inline: var(--wp--custom--layout--wide-offset);
}
.page-footer > .wp-block-group:first-child {
  gap: 3rem 1.6em;
  padding-block: 4.5em 3.75em;
}
@media (max-width: 943px) {
  .page-footer > .wp-block-group:first-child {
    padding-block: 3.5em 3.93em;
  }
}
.page-footer > .wp-block-group:first-child .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}
.page-footer > .wp-block-group:first-child .wp-block-column:has(img) {
  flex-shrink: 0;
}
.page-footer > .wp-block-group:first-child .wp-block-column:has(img) img {
  width: clamp(3.375rem, 5vw, 4.6875rem);
}
.page-footer > .wp-block-group:first-child > .wp-block-columns:last-child {
  justify-content: flex-end;
}
@media (max-width: 943px) {
  .page-footer > .wp-block-group:first-child > .wp-block-columns:last-child {
    justify-content: flex-start;
  }
}
.page-footer > .wp-block-group:first-child > .wp-block-columns:last-child h3 {
  opacity: 0;
}
@media (max-width: 943px) {
  .page-footer > .wp-block-group:first-child > .wp-block-columns:last-child h3 {
    display: none;
  }
}
@media (max-width: 943px) {
  .page-footer > .wp-block-group:first-child > .wp-block-columns {
    gap: 1.5em;
  }
  .page-footer > .wp-block-group:first-child > .wp-block-columns:last-child {
    flex-wrap: wrap !important;
    row-gap: 1rem !important;
  }
  .page-footer > .wp-block-group:first-child > .wp-block-columns:last-child .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    padding-left: calc(clamp(3.375rem, 5vw, 4.6875rem) + 1.5em);
  }
}
.page-footer .menu {
  flex-direction: row;
  gap: 0;
}
.page-footer .menu > *:before {
  display: inline;
  content: "|";
  padding-left: 0.35rem;
  padding-right: 0.22rem;
}
@media (max-width: 581px) {
  .page-footer .menu > :first-child::before {
    display: none;
  }
}
.page-footer h3 {
  font-size: 1.2em !important;
  font-weight: 500 !important;
  color: var(--wp--preset--color--base);
}
.page-footer .wp-block-columns {
  gap: 1.6em;
}
.page-footer > .wp-block-group:last-child {
  padding-block: 2.3em 2.2em;
  background: var(--wp--preset--color--white);
  gap: 1em;
}
@media (max-width: 581px) {
  .page-footer > .wp-block-group:last-child {
    flex-direction: column;
    align-items: flex-start;
  }
}
.page-footer > .wp-block-group:last-child > .wp-block-group {
  gap: 0;
}
@media (min-width: 905px) {
  .page-footer > .wp-block-group:last-child > .wp-block-group {
    padding-left: calc(clamp(3.375rem, 5vw, 4.6875rem) + 1.6em);
  }
}
@media (max-width: 581px) {
  .page-footer > .wp-block-group:last-child > .wp-block-group {
    flex-direction: column;
    align-items: flex-start;
  }
}
.page-footer > .wp-block-group:last-child a {
  color: var(--wp--preset--color--base) !important;
}
.page-footer > .wp-block-group:last-child a:is(:hover, :focus, :active) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.page-header {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  padding: 1.85em var(--wp--custom--layout--wide-offset);
  background: var(--wp--preset--color--white);
}
@media (max-width: 924px) {
  .page-header {
    padding-block: 1.25em 1.375em;
    align-items: center;
  }
  .page-header:before {
    background: var(--wp--preset--color--white);
    content: "";
    height: 6.5em;
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0);
    inset-inline: 0;
    z-index: 6;
    visibility: hidden;
  }
}
.page-header > .primary-menu .menu {
  gap: 1.8em;
  align-items: center;
}
.page-header > .primary-menu .menu > .menu-item {
  padding-bottom: 0.6em;
}
.page-header > .primary-menu .menu-item a {
  font-weight: 700;
}
.page-header > .primary-menu .menu-item.menu-item-has-children {
  position: relative;
}
.page-header > .primary-menu .menu-item.menu-item-has-children > a:after {
  -webkit-mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
          mask-image: url("/wp-content/themes/haeberlis-services/assets/img/icons/arrow-down.svg");
  font-size: 0.8em;
  transition: 0.3s ease;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.45em;
}
.page-header > .primary-menu .menu-item.menu-item-has-children:is(:hover, :focus, :active) > a {
  color: var(--wp--preset--color--base);
}
.page-header > .primary-menu .menu-item.menu-item-has-children:is(:hover, :focus, :active) a:after {
  transform: scaleY(-1);
}
.page-header > .primary-menu .menu-item.menu-item-has-children:is(:hover, :focus, :active) > .sub-menu {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
.page-header > .primary-menu .menu-item.menu-item-has-children > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--wp--preset--color--light);
  padding: 1.6em 1.1em;
  z-index: 5;
  transform: translateY(-1em);
  transition: 0.3s ease;
  visibility: hidden;
  opacity: 0;
  flex-direction: column;
  gap: 0.75em;
  width: -moz-max-content;
  width: max-content;
}
.page-header > .primary-menu .menu-item.menu-item-has-children > .sub-menu .menu-item {
  line-height: 1;
}
.page-header > .primary-menu .menu-item.menu-item-has-children > .sub-menu .menu-item a {
  font-weight: 700;
  font-size: 0.9em;
}
.page-header > .primary-menu .menu-item[class*=current]:not(.highlight) > a,
.page-header > .primary-menu .menu-item:not(.highlight) > a:is(:hover, :focus, :active) {
  color: var(--wp--preset--color--base);
}
.page-header__banner {
  padding: 0.875em var(--wp--custom--layout--wide-offset) 1em;
  font-size: var(--wp--preset--font-size--small);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
.page-header__banner p {
  margin-bottom: 0 !important;
  font-weight: 400;
}
.page-header__banner i {
  font-size: 1.5em;
  color: var(--wp--preset--color--white);
}
.page-header__banner > .wp-block-group {
  gap: 1.5em;
}
.page-header__banner > .wp-block-group > .wp-block-group {
  gap: 0.6875em;
}
@media (max-width: 924px) {
  .page-header__banner {
    display: none;
  }
}

.menu-item.highlight:is(a), .menu-item.highlight > a {
  padding-inline: 1.4em;
}
.menu-item.highlight:is(a):after, .menu-item.highlight > a:after {
  display: none;
}
