@charset "UTF-8";
/* Un-Float mobile item toggles */
.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle {
  float: none !important;
  padding-left: 10px;
}
.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle .icon-arrow {
  transform: scale(1.25);
}

footer {
  /* Menu link styling */
}
footer .wp-block-navigation li a {
  text-decoration: underline;
  transition: 250ms ease-in-out;
  color: var(--wiro-red) !important;
}
footer .wp-block-navigation li a:not([href^="https://gewerbe.wiro.de"])::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
footer .wp-block-navigation li a:not([href^="https://gewerbe.wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
footer .wp-block-navigation li a:hover {
  color: var(--wiro-black) !important;
}

/* External buttons */
.gb-button.wiro-btn-white, .gb-button.wiro-btn-filled, button.wiro-btn-white, button.wiro-btn-filled, a.wiro-btn-white, a.wiro-btn-filled {
  /** Grab all buttons with URLs **/
}
.gb-button.wiro-btn-white[href^=http], .gb-button.wiro-btn-filled[href^=http], button.wiro-btn-white[href^=http], button.wiro-btn-filled[href^=http], a.wiro-btn-white[href^=http], a.wiro-btn-filled[href^=http] {
  /* Completely external URLs */
}
.gb-button.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, .gb-button.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, button.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, button.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, a.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, a.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after {
  content: "🡽";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 0.5rem;
}
.gb-button.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, .gb-button.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, button.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, button.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, a.wiro-btn-white[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, a.wiro-btn-filled[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
.gb-button.wiro-btn-white[href^=http], .gb-button.wiro-btn-filled[href^=http], button.wiro-btn-white[href^=http], button.wiro-btn-filled[href^=http], a.wiro-btn-white[href^=http], a.wiro-btn-filled[href^=http] {
  /* WIRO (sub)domains ("cosmos") */
}
.gb-button.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, .gb-button.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, button.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, button.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, a.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, a.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
.gb-button.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, .gb-button.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, button.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, button.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, a.wiro-btn-white[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, a.wiro-btn-filled[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
.gb-button.wiro-btn-link, button.wiro-btn-link, a.wiro-btn-link {
  text-decoration: underline;
  /** Grab all buttons with URLs **/
}
.gb-button.wiro-btn-link[href^=http], button.wiro-btn-link[href^=http], a.wiro-btn-link[href^=http] {
  /* Completely external URLs */
}
.gb-button.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, button.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, a.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after {
  content: "🡽";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 0.5rem;
}
.gb-button.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, button.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, a.wiro-btn-link[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
.gb-button.wiro-btn-link[href^=http], button.wiro-btn-link[href^=http], a.wiro-btn-link[href^=http] {
  /* WIRO (sub)domains ("cosmos") */
}
.gb-button.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, button.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, a.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
.gb-button.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, button.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, a.wiro-btn-link[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
.gb-button.wiro-btn-filled::after, button.wiro-btn-filled::after, a.wiro-btn-filled::after {
  color: var(--wiro-white) !important;
}
.gb-button.wiro-btn-filled:hover::after, button.wiro-btn-filled:hover::after, a.wiro-btn-filled:hover::after {
  color: var(--wiro-white) !important;
}
.gb-button.wiro-btn-link-icon-right, button.wiro-btn-link-icon-right, a.wiro-btn-link-icon-right {
  width: auto !important;
  cursor: pointer;
}
.gb-button.wiro-btn-link-icon-right .file-info, button.wiro-btn-link-icon-right .file-info, a.wiro-btn-link-icon-right .file-info {
  order: 2;
  color: var(--wiro-black);
  font-size: 1rem;
}
.gb-button.wiro-btn-link-icon-right .gb-button-text, button.wiro-btn-link-icon-right .gb-button-text, a.wiro-btn-link-icon-right .gb-button-text {
  text-decoration: underline;
}
.gb-button.wiro-btn-link-icon-right:hover .file-info, button.wiro-btn-link-icon-right:hover .file-info, a.wiro-btn-link-icon-right:hover .file-info {
  text-decoration: none !important;
}
.gb-button.wiro-btn-link-icon-right:hover.wiro-btn-link-download::after, button.wiro-btn-link-icon-right:hover.wiro-btn-link-download::after, a.wiro-btn-link-icon-right:hover.wiro-btn-link-download::after {
  transform: scale(1.15);
  transform-origin: center center;
  color: var(--wiro-black);
}
.gb-button.wiro-btn-link-icon-right.wiro-btn-link-download::after, button.wiro-btn-link-icon-right.wiro-btn-link-download::after, a.wiro-btn-link-icon-right.wiro-btn-link-download::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="%23E1001A"><path d="M7 10.5L2.625 6.125L3.85 4.85625L6.125 7.13125V0H7.875V7.13125L10.15 4.85625L11.375 6.125L7 10.5ZM1.75 14C1.26875 14 0.856771 13.8286 0.514062 13.4859C0.171354 13.1432 0 12.7312 0 12.25V9.625H1.75V12.25H12.25V9.625H14V12.25C14 12.7312 13.8286 13.1432 13.4859 13.4859C13.1432 13.8286 12.7312 14 12.25 14H1.75Z"/></svg>');
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 10px;
}

p a, .wp-block-list a {
  text-decoration: underline;
  /** Grab all buttons with URLs **/
}
p a[href^=http], .wp-block-list a[href^=http] {
  /* Completely external URLs */
}
p a[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after, .wp-block-list a[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"])::after {
  content: "🡽";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 0.5rem;
}
p a[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after, .wp-block-list a[href^=http]:not([href^="https://gewerbe.wiro.de"]):not([href*="wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
p a[href^=http], .wp-block-list a[href^=http] {
  /* WIRO (sub)domains ("cosmos") */
}
p a[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after, .wp-block-list a[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"])::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
p a[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after, .wp-block-list a[href^=http][href*="wiro.de"]:not([href^="https://gewerbe.wiro.de"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}
p a:hover, .wp-block-list a:hover {
  text-decoration: underline !important;
}

a.rundgang-link::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
a.rundgang-link:hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}

.wiro-newsletter-cta .cta-title-text {
  font-family: "Crete Round", serif;
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 2.25rem;
}
@media (max-width: 1024px) {
  .wiro-newsletter-cta .cta-title-text {
    font-family: "Crete Round", serif;
    font-size: 1.875rem;
  }
}
@media (max-width: 380px) {
  .wiro-newsletter-cta .cta-title-text {
    font-family: "Crete Round", serif;
    font-size: 1.6rem;
  }
}

nav .after-mobile-menu {
  order: 5;
  display: none;
}
nav .after-mobile-menu a {
  font-size: 1.125rem !important;
}
nav.toggled .after-mobile-menu {
  display: block;
}

.wp-block-list {
  margin: 0 0 1.5rem 1.4rem;
}
.wp-block-list li {
  margin-bottom: 0.6rem;
  line-height: 1.875rem;
}

/* stylelint-disable selector-class-pattern */
/**
 * Mega Forms - beautify checkboxes
 * This is based on https://moderncss.dev/pure-css-custom-checkbox-style/
 **/
:root {
  --form-control-disabled: rgb(116, 116, 116);
}

.mf_progressbar_percentage.percentbar_blue {
  background: rgb(0, 0, 0) !important;
  color: rgb(255, 255, 255);
}

ul.mf-checkboxes li label--disabled,
ul.mf-radios li label--disabled {
  color: var(--form-control-disabled);
  cursor: not-allowed;
}

/****** Pretty Checkboxes ******/
.mform_body .mf_input_consent > label > span {
  display: block;
  margin-left: 2.2em;
}
.mform_body .mfield {
  padding: 0 0 1em;
}
.mform_body .mfield h3 {
  margin: 0;
}
.mform_body .mfield {
  /****** Regular checkboxes ******/
}
.mform_body .mfield input[type=checkbox],
.mform_body .mfield input[type=radio] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  -moz-appearance: none;
  appearance: none;
  /* For iOS < 15 */
  background-color: rgb(255, 255, 255);
  /* Not removed via appearance */
  margin: 0;
  font: inherit;
  color: currentcolor;
  width: 1.75em;
  height: 1.75em;
  border: 0.1em solid currentcolor;
  border-radius: 0.1em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  float: left;
  min-height: initial;
}
.mform_body .mfield input[type=checkbox]::before,
.mform_body .mfield input[type=radio]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transform-origin: bottom left;
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em rgb(0, 0, 0);
  /* Windows High Contrast Mode */
  background-color: canvastext;
}
.mform_body .mfield input[type=checkbox]:checked::before,
.mform_body .mfield input[type=radio]:checked::before {
  transform: scale(1);
  /* Prevent theme overrides */
  position: relative !important;
  display: block !important;
  margin: inherit !important;
}
.mform_body .mfield input[type=checkbox]:disabled,
.mform_body .mfield input[type=radio]:disabled {
  color: var(--form-control-disabled);
  cursor: not-allowed;
}
.mform_body .mfield.pretty-selection {
  /* Hide default checkbox/radio element */
}
.mform_body .mfield.pretty-selection input[type=checkbox],
.mform_body .mfield.pretty-selection input[type=radio] {
  display: none;
}
.mform_body .mfield.pretty-selection input[type=checkbox] span,
.mform_body .mfield.pretty-selection input[type=radio] span {
  background-color: rgb(216, 216, 216);
  color: rgb(0, 0, 0);
  border-radius: 1em;
  padding: 1em;
  cursor: pointer;
}
.mform_body .mfield.pretty-selection input[type=checkbox]:checked span,
.mform_body .mfield.pretty-selection input[type=radio]:checked span {
  background-color: rgb(0, 0, 0);
  color: rgb(255, 255, 255);
}
.mform_body .mfield.pretty-selection {
  /* Align elements next to each other */
}
.mform_body .mfield.pretty-selection .mf_input_checkboxes ul,
.mform_body .mfield.pretty-selection .mf_input_radios ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}
.mform_body .mfield.pretty-selection .mf_input_checkboxes ul li,
.mform_body .mfield.pretty-selection .mf_input_radios ul li {
  padding: 1em 0;
}

@media (max-width: 767px) {
  .mform_body input[type=radio] {
    margin-bottom: 25px;
  }
}
.wpcf7-form input[type=email], .wpcf7-form input[type=number], .wpcf7-form input[type=password], .wpcf7-form input[type=search], .wpcf7-form input[type=tel], .wpcf7-form input[type=text], .wpcf7-form input[type=url], .wpcf7-form select, .wpcf7-form textarea {
  border: 1px solid #706F6F;
  box-sizing: border-box;
  color: var(--wiro-black);
  padding: 0.5rem 0.75rem;
  transition: border-color 0.3s, box-shadow 0.3s;
  width: 100%;
  background-color: #fff;
}
.wpcf7-form input[type=email]:focus, .wpcf7-form input[type=number]:focus, .wpcf7-form input[type=password]:focus, .wpcf7-form input[type=search]:focus, .wpcf7-form input[type=tel]:focus, .wpcf7-form input[type=text]:focus, .wpcf7-form input[type=url]:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus {
  box-shadow: 0 0 0 3px rgba(225, 0, 26, 0.2);
  outline: none;
}
.wpcf7-form select {
  max-width: 262px;
  color: #706F6F !important;
}
.wpcf7-form select option {
  color: #000 !important;
}
.wpcf7-form .col-2-field {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.wpcf7-form .col-2-field.address-field {
  grid-template-columns: 35% 1fr;
}
@media (max-width: 600px) {
  .wpcf7-form .col-2-field {
    grid-template-columns: 1fr !important;
    gap: 0;
  }
}
.wpcf7-form p {
  margin-bottom: 1.25rem;
}
.wpcf7-form p label {
  font-size: 1.125rem;
  font-weight: 700;
}
.wpcf7-form p label .wpcf7-list-item-label {
  font-weight: 400;
}
.wpcf7-form p input, .wpcf7-form p textarea, .wpcf7-form p select {
  margin-top: 0.5rem;
}
.wpcf7-form .required {
  color: #9747FF;
  padding-left: 4px;
}
.wpcf7-form .wpcf7-list-item {
  margin-left: 0 !important;
}
.wpcf7-form {
  /****** Regular checkboxes ******/
}
.wpcf7-form input[type=checkbox],
.wpcf7-form input[type=radio] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  /* Remove most all native input styles */
  -moz-appearance: none;
  appearance: none;
  /* For iOS < 15 */
  background-color: rgb(255, 255, 255);
  /* Not removed via appearance */
  margin: 0;
  font: inherit;
  color: #706F6F;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.1em solid currentcolor;
  border-radius: 0.1em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  float: left;
  min-height: initial;
}
.wpcf7-form input[type=checkbox]::before,
.wpcf7-form input[type=radio]::before {
  content: "";
  width: 1.15em;
  height: 1.15em;
  -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transform-origin: bottom left;
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #E1001A;
  /* Windows High Contrast Mode */
  background-color: canvastext;
}
.wpcf7-form input[type=checkbox]:checked::before,
.wpcf7-form input[type=radio]:checked::before {
  transform: scale(1);
  /* Prevent theme overrides */
  position: relative !important;
  display: block !important;
}
.wpcf7-form input[type=checkbox]:disabled,
.wpcf7-form input[type=radio]:disabled {
  color: var(--form-control-disabled);
  cursor: not-allowed;
}
.wpcf7-form .wpcf7-acceptance, .wpcf7-form .acceptance-field {
  margin-top: 3rem;
}
.wpcf7-form .wpcf7-acceptance label, .wpcf7-form .acceptance-field label {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 1rem;
}
.wpcf7-form .wpcf7-submit {
  border-radius: 5px;
}

/* Prevent scrollbars resulting from animated containers */
html,
body {
  overflow-x: hidden;
}

/* Default page headings */
.page-heading-container .gb-headline {
  max-width: 900px;
}

/* Default typography on regular pages */
.default-page-content {
  max-width: 955px;
  margin-left: auto;
  margin-right: auto;
}
.default-page-content h2:first-child {
  margin-top: 4rem;
}
.default-page-content h2 {
  margin-top: 3.333rem;
  margin-bottom: 2.5rem;
}
.default-page-content h3 {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.default-page-content h4, .default-page-content h5, .default-page-content h6 {
  margin-top: 2.75rem;
  margin-bottom: 1.5rem;
}
.default-page-content ul:not(.mform_fields), .default-page-content ol {
  margin: 1.5rem 0 1.5rem 1.5rem;
}
.default-page-content a[href^=http]:not([href^="https://wiro.qbus.dev"]) {
  /* Give the icon a bit of room */
  padding-right: 0.25rem;
}
.default-page-content a[href^=http]:not([href^="https://wiro.qbus.dev"])::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
.default-page-content a[href^=http]:not([href^="https://wiro.qbus.dev"]):hover::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}

/* Special wrapper for fancy WIROtel background */
@media (min-width: 1025px) {
  .wirotel-outer-wrapper {
    background-image: linear-gradient(90deg, var(--wiro-background-orange) 36%, rgba(245, 245, 245, 0) 36%);
  }
}
.wirotel-outer-wrapper .wirotel-teaser .gb-headline::after {
  content: "🡥";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 0;
}
.wirotel-outer-wrapper .wirotel-teaser .gb-block-image {
  position: relative;
}
.wirotel-outer-wrapper .wirotel-teaser .gb-block-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: transparent;
  transition: all 300ms ease-in-out;
}
.wirotel-outer-wrapper .wirotel-teaser:hover .gb-headline::after {
  transform: scale(1.15);
  transform-origin: center center;
  color: inherit;
}
.wirotel-outer-wrapper .wirotel-teaser:hover .gb-block-image::after {
  background-color: rgba(225, 0, 25, 0.75);
}

/* Mietwohnungen */
.wiro-mietwohnung .titel {
  transition: all 300ms ease-in-out;
}
.wiro-mietwohnung .link-icon .gb-icon {
  transition: all 300ms ease-in-out;
  transform-origin: bottom left;
}
.wiro-mietwohnung:hover .titel {
  color: var(--wiro-red);
}
.wiro-mietwohnung:hover .link-icon .gb-icon {
  transform: scale(1.1);
}
.wiro-mietwohnung:hover .mw-details .mw-details-inner {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Link Teaser Boxes */
.link-teaser:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Tile Navigation Buttons */
.wiro-tile-button {
  cursor: pointer;
}
.wiro-tile-button .has-arrow::after {
  content: "🡕";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 -0.25rem;
}
.wiro-tile-button:hover .has-arrow::after {
  transform: scale(1.25);
  transform-origin: center center;
  color: inherit;
}

/* Skyline background graphics */
@media (max-width: 1655px) {
  .skyline-container {
    display: none;
  }
}

/* Lexikon nav elements select box */
.wiro-lexikon-select-box {
  position: relative;
}
.wiro-lexikon-select-box select {
  background: var(--wiro-background-grey);
  border: 0;
  width: calc(100% - 2rem);
  margin: 0 1rem;
  appearance: none;
  cursor: pointer;
  font-size: 1rem;
}
.wiro-lexikon-select-box .select_arrow {
  position: absolute;
  top: 1.1rem;
  right: 2rem;
  pointer-events: none;
  border-style: solid;
  border-width: 5px 5px 0;
  border-color: var(--wiro-black) transparent transparent transparent;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#featured-posts-api-response {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1140px;
  margin: 0 auto;
}
#featured-posts-api-response .loader {
  width: 48px;
  height: 48px;
  border: 3px solid var(--wiro-dark-grey);
  border-radius: 50%;
  display: block;
  margin: 2rem auto 0;
  position: relative;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
#featured-posts-api-response .loader::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-bottom-color: var(--wiro-red);
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#featured-posts-api-response #loadingMessage {
  display: block;
  text-align: center;
  padding-bottom: 2rem;
  width: 100%;
}
@media (max-width: 1023px) {
  #featured-posts-api-response {
    max-width: 554px;
  }
}
#featured-posts-api-response {
  /* Regular Posts */
}
#featured-posts-api-response .fetchedPost {
  display: flex;
  align-items: center;
  text-decoration: none;
  opacity: 0;
}
@media (max-width: 1023px) {
  #featured-posts-api-response .fetchedPost {
    width: 100%;
  }
}
#featured-posts-api-response .fetchedPost {
  /* Sticky Post(s) */
}
#featured-posts-api-response .fetchedPost.sticky {
  flex-direction: row;
  width: 100%;
  height: 100%;
  transition: 0.5s all ease-in-out;
}
@media (max-width: 1023px) {
  #featured-posts-api-response .fetchedPost.sticky {
    flex-direction: column;
  }
}
#featured-posts-api-response .fetchedPost.sticky .post-thumbnail {
  display: flex;
}
@media (min-width: 1024px) {
  #featured-posts-api-response .fetchedPost.sticky .post-thumbnail {
    width: 50%;
    align-self: start;
  }
}
#featured-posts-api-response .fetchedPost.sticky .post-thumbnail img {
  object-fit: cover;
  /* Probably not intended, though current system works with it */
  aspect-ratio: 16/11;
  /* Placeholder pattern */
  background-color: #fbfbfb;
  background-image: radial-gradient(#9c0000 0.5px, #fbfbfb 0.5px);
  background-size: 10px 10px;
}
#featured-posts-api-response .fetchedPost.sticky .post-content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  padding: 2rem;
  padding-right: 1rem !important;
  background-color: #fff;
}
@media (min-width: 1024px) {
  #featured-posts-api-response .fetchedPost.sticky .post-content {
    width: 50%;
  }
}
#featured-posts-api-response .fetchedPost.sticky .post-content .date {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  color: #706f6f;
  margin-bottom: 1.2rem;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .date .icon {
  width: 1rem;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .date .icon svg {
  display: flex;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .title {
  font-family: Aller, sans-serif;
  font-weight: bold;
  font-size: 1.389rem;
  line-height: 1.944rem;
  margin-bottom: 1rem;
  transition: all 250ms ease-in-out;
  color: var(--wiro-black);
  display: block;
  text-decoration: none;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .title::after {
  content: "🡥";
  font-weight: 400;
  font-family: wiro-icons, sans-serif;
  display: inline-block;
  transition: 300ms all ease-in-out;
  color: var(--wiro-red);
  margin: 0 0 0 0.5rem;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .title:hover {
  color: var(--wiro-red);
  text-decoration: underline;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .title:hover::after {
  transform: scale(1.15);
  transform-origin: center center;
  color: inherit;
}
#featured-posts-api-response .fetchedPost.sticky .post-content .excerpt {
  margin-bottom: 1rem;
  color: var(--wiro-dark-grey);
}

.gb-accordion.with-counter {
  counter-reset: acc-counter;
}
.gb-accordion.with-counter .gb-accordion__toggle .gb-text::before {
  counter-increment: acc-counter;
  content: counter(acc-counter) ". ";
  color: #AD0F09;
}

.fancybox-container .fancybox-toolbar {
  right: 1rem;
}
.fancybox-container .fancybox-toolbar .fancybox-button--close {
  background-color: transparent !important;
}
.fancybox-container .fancybox-toolbar .fancybox-button--close svg {
  width: 3rem !important;
  height: 3rem !important;
  color: var(--wiro-white);
  transition: transform 0.3s ease-in-out;
}
.fancybox-container .fancybox-toolbar .fancybox-button--close:hover {
  background-color: transparent !important;
}
.fancybox-container .fancybox-toolbar .fancybox-button--close:hover svg {
  transform: scale(1.2);
}
.fancybox-container .fancybox-toolbar .fancybox-button--close:focus svg {
  outline: 1px auto var(--wiro-black);
  outline-offset: 1px;
  -webkit-focus-ring-color: auto;
}

.ari-fancybox::after {
  content: url("../icons/zoom.svg");
  background-color: var(--wiro-red);
  padding-top: 11px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  height: 65px;
  width: 65px;
  left: calc(50% - 32px);
  top: calc(50% - 32px);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ari-fancybox::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(43, 46, 52, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ari-fancybox:focus img {
  border: 3.4px solid var(--wiro-red);
}
.ari-fancybox:focus::before {
  opacity: 1;
  inset: 3px;
}
.ari-fancybox:focus::after {
  opacity: 1;
  background-color: var(--wiro-black);
}
.ari-fancybox:hover::after, .ari-fancybox:hover::before {
  opacity: 1;
}

.wiro-neighborhood-select-box select {
  background-color: transparent;
  border: none;
  color: var(--wiro-red);
  text-decoration: underline;
}
.wiro-neighborhood-select-box select option {
  background-color: var(--wiro-background-grey);
  color: #333;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 48px;
}

.neighborhood-item {
  cursor: pointer;
  transition: fill 0.3s;
}
.neighborhood-item:hover, .neighborhood-item.active, .neighborhood-item:focus {
  fill: var(--wiro-red);
}

/* Align main menu to content width */
body.sticky-enabled .main-navigation.is_stuck {
  background: var(--wiro-white);
}

/* Cover image in slider container */
.slider-container figure.gb-block-image {
  height: 100%;
}
.slider-container figure.gb-block-image img {
  object-fit: cover;
  height: 100%;
}

p code {
  font: inherit !important;
  border-bottom: 3.5px solid var(--wiro-dark-red);
  padding-bottom: 3px;
  line-height: 2.4rem !important;
}

.js-flickity {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.flickity-enabled {
  opacity: 1;
}

@media (max-width: 400px) {
  h1 {
    font-size: 1.94rem !important;
  }
}

#nextBtn circle, #prevBtn circle {
  transition: fill 0.3s ease;
}
#nextBtn.not-active, #prevBtn.not-active {
  pointer-events: none;
}
#nextBtn.not-active circle, #prevBtn.not-active circle {
  fill: #C4C4C6 !important;
}
#nextBtn:hover circle, #prevBtn:hover circle {
  fill: #000 !important;
}

.loader {
  width: 48px;
  height: 48px;
  border: 3px solid var(--wiro-dark-grey);
  border-radius: 50%;
  display: block;
  margin: 2rem auto 0;
  position: relative;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-bottom-color: var(--wiro-red);
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 1025px) {
  header, .top-bar {
    display: none;
  }
}
#mobile-header.toggled {
  max-height: calc(100vh - 80px) !important;
  overflow-y: auto !important;
  box-shadow: -1px 4px 20px 0 #757575;
}

ul.toggled-on,
ul.gb-sub-menu {
  position: fixed !important;
  left: 0 !important;
  width: 100vw;
  background-color: #fff !important;
  padding-bottom: 2rem;
  box-shadow: 0 13px 20px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 1025px) {
  ul.toggled-on,
  ul.gb-sub-menu {
    padding-bottom: 0;
    box-shadow: none;
    position: relative !important;
  }
}
ul.toggled-on li.menu-item,
ul.gb-sub-menu li.menu-item {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding-left: 0 !important;
  position: relative;
  left: -5px;
}
ul.toggled-on li.menu-item a,
ul.gb-sub-menu li.menu-item a {
  padding: 0.5rem 0 0.5rem 2rem;
  display: flex;
  justify-content: flex-start;
  border-inline: 1px solid var(--wiro-red);
  transition: 300ms ease-in-out;
  font-size: 1.125rem !important;
}
@media (max-width: 1025px) {
  ul.toggled-on li.menu-item a,
  ul.gb-sub-menu li.menu-item a {
    margin-left: 2rem;
  }
  ul.toggled-on li.menu-item a:hover,
  ul.gb-sub-menu li.menu-item a:hover {
    background-color: #fff !important;
    text-decoration: underline !important;
  }
}
ul.toggled-on li.menu-item a .item-title,
ul.gb-sub-menu li.menu-item a .item-title {
  font-weight: 700;
}
@media (min-width: 1025px) {
  ul.toggled-on li.menu-item a .item-title,
  ul.gb-sub-menu li.menu-item a .item-title {
    flex-basis: 30%;
  }
}
@media (max-width: 1025px) {
  ul.toggled-on li.menu-item a .item-description,
  ul.gb-sub-menu li.menu-item a .item-description {
    display: none;
  }
}

@media (min-width: 1025px) {
  .gb-menu > li:last-child .sub-menu li a .item-title {
    flex-basis: 21% !important;
  }
}

#mobile-header .mobile-header-logo {
  margin-left: 0 !important;
}
#mobile-header .mobile-header-logo img {
  height: 80px;
  width: 110px;
  padding: 0 !important;
}
#mobile-header .menu-toggle svg {
  width: 35px !important;
  height: 35px !important;
}

.gewerberaumwunsch .wpcf7-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 2rem;
}
.gewerberaumwunsch .wpcf7-form h3 {
  margin-bottom: 1.87rem;
}
.gewerberaumwunsch .wpcf7-form h4 {
  margin-bottom: 0.83rem;
}
.gewerberaumwunsch .wpcf7-form legend {
  margin-bottom: 1.125rem !important;
  font-weight: 700;
}
.gewerberaumwunsch .wpcf7-form label {
  margin-bottom: 0.3rem !important;
}
.gewerberaumwunsch .wpcf7-form .wpcf7-notes {
  font-size: 1rem !important;
}
.gewerberaumwunsch .wpcf7-form .col-2-field.gewerbeart-checkbox {
  max-width: 500px;
}
.gewerberaumwunsch .wpcf7-form .col-2-field.gewerbeart-checkbox .wpcf7-list-item-label {
  margin-left: 1rem;
}
@media (max-width: 600px) {
  .gewerberaumwunsch .wpcf7-form .col-2-field.gewerbeart-checkbox {
    gap: 1rem !important;
  }
}
.gewerberaumwunsch .wpcf7-form .col-2-field.freiwillig-mitteilen-checkbox {
  max-width: 630px;
}
.gewerberaumwunsch .wpcf7-form .col-2-field.freiwillig-mitteilen-checkbox .wpcf7-list-item-label {
  margin-left: 1rem;
}
@media (max-width: 600px) {
  .gewerberaumwunsch .wpcf7-form .col-2-field.freiwillig-mitteilen-checkbox {
    gap: 1rem !important;
  }
}
.gewerberaumwunsch .wpcf7-form .col-2-field.stadtteil-checkbox {
  max-width: 860px;
  grid-template-columns: 1fr 1fr 1fr !important;
}
@media (max-width: 900px) {
  .gewerberaumwunsch .wpcf7-form .col-2-field.stadtteil-checkbox {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }
}
@media (max-width: 600px) {
  .gewerberaumwunsch .wpcf7-form .col-2-field.stadtteil-checkbox {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}
.gewerberaumwunsch .wpcf7-form .col-2-field.stadtteil-checkbox .wpcf7-list-item-label {
  margin-left: 1rem;
}
.gewerberaumwunsch .wpcf7-form .col-2-field.personen-fields {
  row-gap: 0 !important;
}
.gewerberaumwunsch .wpcf7-form .width-747 {
  max-width: 747px !important;
  width: 100% !important;
}
.gewerberaumwunsch .wpcf7-form .width-415 {
  max-width: 415px !important;
  width: 100% !important;
}
.gewerberaumwunsch .wpcf7-form .width-360 {
  max-width: 360px !important;
  width: 100% !important;
}
.gewerberaumwunsch .wpcf7-form ul {
  margin-left: 1.7rem !important;
}
.gewerberaumwunsch .wpcf7-form .black-text {
  color: #000 !important;
}

body.archive.one-container .site-main > :last-child {
  margin-bottom: 6.25rem !important;
}
@media (max-width: 1025px) {
  body.archive.one-container .site-main > :last-child {
    margin-bottom: 5rem !important;
  }
}
@media (max-width: 768px) {
  body.archive.one-container .site-main > :last-child {
    margin-bottom: 3rem !important;
  }
}
body .only-in-mieten {
  display: none !important;
}

/*# sourceMappingURL=site-gewerbe.css.map */
