/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/



body {
  line-height: 1.5 !important;
}

.w-100 {
  width: 100%;
}


.order-first{
  order: -1;
}

.unternehmen-first-title{
  overflow-wrap: normal;
}

.forminator-checkbox-label a {
  color: var(--accent);
}

/* FAQ-Akkordeon: gleichmässige Linien ohne Überschneidung */
.gb-accordion { --faq-line: 1px; }

.gb-accordion .gb-accordion__toggle {
  border-width: 0 0 var(--faq-line) 0 !important;
}
.gb-accordion .gb-accordion__item:first-child > .gb-accordion__toggle {
  border-top-width: var(--faq-line) !important;
}

/* Allgemeines FAQ: untere Linie violett */
.gb-container-66eb57b4 .gb-accordion__toggle {
  border-bottom-color: var(--accent) !important;
}

.white_color {
  color: #fff !important;
}
.custom_logo {
  display: none;
}
p.white__color_P a {
  color: #000;
}
p.white__color_P a.active-lei {
  border-bottom: 1px solid #9564f5;
}
.leistung-purple a.active-lei,
.leistung-purple a:hover {
  border-bottom: 1px solid #fff;
}
.fp-scroll-mac .site-logo {
  display: none;
}
.fp-viewing-section1 .site-logo {
  display: block;
}
.fp-viewing-section1 .custom_logo {
  display: none;
}
.grid_093 {
  margin-bottom: 15px;
}
.leistungen_link_hm a {
  color: #fff;
  border-bottom: 1px solid;
}
.leis_all_link a {
  border-bottom: 2px solid #9564f5;
}

/* Kachlen auf neuer Leistungsseite */
.trust-tiles hr {
    align-self: center;
    width: 30%;
    margin-top: 10px;
    margin-bottom: 10px;
    border-top: 1px solid;
}
.trust-tiles figure {
  text-align: center;
}
.abacuspartner-label {
    padding: 4px 10px;
    align-self: flex-start;
}

.abacuspartner-label p {
    margin: 0;
    white-space: nowrap;
    font-weight: 600;
    line-height: 1.4;
}
.custom_logo {
  position: fixed;
  right: 72px;
  top: 48px;
  z-index: 999;
  width: 70px;
  height: 70px;
}
span.menu-bar-item.slideout-toggle.hide-on-mobile.has-svg-icon {
  box-shadow: 6px 5px 16px 5px rgba(0, 0, 0, 0.21);
  -webkit-box-shadow: 6px 5px 16px 5px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 6px 5px 16px 5px rgba(0, 0, 0, 0.21);
}
.floating-icons {
  position: fixed;
  right: 0;
  top: 45vh;
  z-index: 999;
}
.icon-phone {
  background: var(--accent);
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 10px;
  box-shadow: 6px 5px 16px 5px rgb(0 0 0 / 21%);
  -webkit-box-shadow: 6px 5px 16px 5px rgb(0 0 0 / 21%);
  -moz-box-shadow: 6px 5px 16px 5px rgba(0, 0, 0, 0.21);
}
.icon-phone img {
  width: 50%;
}
.page-id-393 ul {
  margin: 0 0 0.5em 1em;
}
.links-unter-049 img {
  margin-top: 10px;
}
.aktuelle-titke h4 {
  line-height: 1.3em;
  color: white;
}
.first-row-image img {
  width: 35%;
  object-fit: cover;
}
.aktuelles-first-row {
  height: 100vh;
}
p.title-kontakt-3904 {
  margin-bottom: 0;
  font-family: neulis-sans;
}
.home-title-displaynone {
  display: none;
}
.site-logo {
  background-color: #fff !important;
  padding: 15px 15px 15px 0px;
}
.sub-title-ser {
  font-family: neulis-sans;
}
figure {
  width: 100% !important;
  margin: 0 !important;
}
.error404 h1 {
  margin-top: 225px;
}
#fp-nav ul li a span,
#fp-nav ul li a.active span,
#fp-nav ul li:hover a span,
#fp-nav ul li:hover a.active span {
  height: 8px;
  width: 8px;
}
a.active {
  border: 2px solid var(--accent);
  border-radius: 100%;
  padding: 3px;
  margin-left: -5px;
}
.main-navigation .menu-bar-item > a {
  padding-left: 20px;
  padding-right: 20px;
  line-height: 50px;
}
span.gp-icon.pro-menu-bars {
  font-size: 40px;
  content: url(/wp-content/uploads/2021/08/Group-1.svg);
  margin-top: 22px;
  width: 30px;
}
.icon-phone {
  padding-left: 10px;
  padding-right: 10px;
}
.icon-phone img {
  width: 80%;
}
/* span.gp-icon.pro-menu-bars {
    font-size: 40px;
    content: url(/wp-content/uploads/2021/08/Group-1.svg);
    margin-top: 19px;
    width: 20px;
}
.main-navigation .menu-bar-item>a {
    padding-left: 15px;
    padding-right: 15px;
    line-height: 45px;
} */
aside#text-3 p {
  margin-bottom: 0;
}

/* General */

/* Header */

/* .page-id-227 .site-logo, 
.page-id-204 .site-logo ,
.page-id-108 .site-logo ,
.page-id-114 .site-logo ,
.page-id-393 .site-logo{
    display: none;
} */
.fp-viewing-section1 .site-logo,
.fp-viewing-willkommen .site-logo,
.fp-viewing-unternehmen .site-logo {
  display: unset;
}
/*nav#site-navigation {
  position: fixed;
  right: 0;
  top: 24px;
}*/
/* Menu  */
.inside-navigation {
  position: absolute;
  right: 0;
  top: 63px;
  background-color: var(--accent);
}
nav#generate-slideout-menu {
  height: 290px;
  top: 46px;
}

.inside-navigation.grid-container.grid-parent {
  height: 100%;
  top: 0;
}
.slideout-overlay {
  opacity: 0 !important;
}
.main-navigation .inside-navigation {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
}
.slideout-navigation button.slideout-exit {
  text-align: right !important;
  padding-bottom: 0px !important;
}
.main-navigation.slideout-navigation .main-nav > ul > li > a {
  line-height: 20px;
  padding-bottom: 25px;
  padding-left: 35px !important;
}
span.gp-icon.pro-close {
  content: url(/wp-content/uploads/2021/06/Path-39-1.svg);
}
span.gp-icon.pro-menu-bars {
  font-size: 40px;
}
.gp-icon svg {
  top: 14px;
}
.slideout-navigation.main-navigation .main-nav ul li a {
  font-family: GreycliffCF-Regular;
  letter-spacing: 2px;
  font-weight: 900 !important;
}
.main-navigation.slideout-navigation .main-nav > ul > li.current-menu-item > a {
  padding-bottom: 5px !important;
  margin-left: 35px !important;
  margin-bottom: 20px !important;
  padding-left: 0 !important;
  border-bottom: 1px solid;
  width: -moz-fit-content;
  width: fit-content;
}
/* Menu  end*/

/* Header end*/

/* Footer */
#footer-widgets ul li {
  margin-bottom: 0 !important;
}
.footer-widget-3 aside {
  margin-bottom: 10px !important;  
}
aside#media_image-3 {
  margin-bottom: 0;
}
aside#media_image-5 {
  display: none;
}
a.topbutton {
  mix-blend-mode: multiply;
  display: none !important;
}
.topbutton {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 10px;
  bottom: 50px;
  z-index: 1;
  /* background-image:url("/wp-content/uploads/2021/06/Path-39.svg");  */
  background-repeat: no-repeat;
  display: none;
}
path#Path_39 {
  fill: var(--accent);
}
aside#media_image-5 img {
  width: 30px !important;
}
aside#media_image-5 a {
  position: absolute;
  right: 50px;
  top: 50px;
}

.inside-site-info {
  display: block;
  text-align: left;
}
span.legal-page-footer {
  float: right;
}
.footer-widget-1 img {
  width: 50%;
}
.footer-widget-2 strong {
  font-family: neulis-sans;
}
aside#text-3 p {
  line-height: 33px;
}
.footer-widget-3 li {
  margin-bottom: 22px !important;
  letter-spacing: 2px;
}
aside#text-3 img {
  margin-top: 20px;
}
.copyright-bar {
  font-size: 12px;
  font-family: "Kumbh Sans";
}
.copyright-bar a {
  padding-left: 20px;
}
.inside-footer-widgets {
  padding-top: 50px;
}
.footer-widgets,
.site-info {
  background-color: var(--global-color-8);
}
/* .page-id-393 div#footer-widgets {
  display: none;
} */
/* Footer end*/

/* Fonts */
.home-title {
  font-family: neulis-sans !important;
}

h2,
h3 {
  letter-spacing: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: neulis-sans, sans-serif;
  font-weight: 600;
}
p,
a,
strong,
li,
b,
span {
  font-family: neulis-sans;
}

h1,
h2
 {
  color: var(--accent);
  font-weight: 600;
}


/* Fonts end*/

/* General end*/

/* All pages */

.first-row-image img {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
}
.arrow-link {
  position: absolute;
  bottom: 0px;
}
#fp-nav ul li a:not(.active) span {
  background: black !important;
  border: 2px solid #000000;
}
a.active {
  border: 2px solid var(--accent);
  border-radius: 100%;
  padding: 5px;
  margin-left: -7px;
}

/* All pages end*/

/* Home */

.home-row-02-links-01 {
  padding-top: 20px;
}
.home-row-02-links-02 {
  padding-top: 63px;
}
.home-row-02-links-03 {
  padding-top: 63px;
}
.home-row-02-boxes img {
  margin-bottom: 30px;
}
.home-row-02-boxes p {
  line-height: 41px;
}
p.home-row-02-links {
  border-bottom: 1px solid #ffffff9e;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 41px;
}
h3.home-row-02-title {
  font-size: 50px;
  font-family: neulis-sans;
  color: var(--accent);
}
p.home-row-02-text {
  font-size: 24px;
  font-family: neulis-sans;
}
.big-D img {
  opacity: 0.9;
}
.big-D {
  position: absolute;
  width: 25% !important;
  top: 85px;
  left: -5px;
}
.home-row-03-title {
  font-size: 50px;
  font-family: neulis-sans;
}
p.home-row-03-text {
  font-size: 29px;
  font-family: neulis-sans;
}
.home-row-03-text-02 {
  line-height: 30px;
}
p.home-row-03-link a {
  border-bottom: 1px solid var(--accent);
  letter-spacing: 2px;
}
.last-row-image img {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  object-fit: cover;
  width: 40%;
}
.aktuelle-home-post-date {
  color: var(--accent);
  padding-top: 27px;
  font-family: "Kumbh Sans";
}
.aktuelle-home-titke h4 {
  font-size: 24px !important;
  line-height: 34px;
}
a.aktuelle-home-link-text {
  border-bottom: 1px solid var(--accent);
  letter-spacing: 2px;
}

/* Home end */

/* Aktuelle  */

.arrow-down-aktueles img {
  position: absolute;
  bottom: 50px;
}

.aktuelle-row-01-title-02 {
  font-family: neulis-sans;
}
.single-aktuell {
  width: 100% !important;
  margin-right: 3%;
  background-color: var(--accent);
  margin-bottom: 3%;
  padding: 20px;
}
.aktuelle-post-date {
  color: #fff;
  margin-bottom: 20px;
  font-family: "Kumbh Sans";
}
.vc_row-fluid.aktuelles-row-02 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.aktuelle-text-short {
  color: #fff;
}
a.aktuelle-link-text {
  border-bottom: 1px solid #fff;
  letter-spacing: 2px;
  color: white;
  margin-top: 20px;
  display: inline-block;
}

a.aktuelle-home-link-text {
  margin-top: 20px !important;
  display: inline-block;
}
.page-id-166 .footer-widget-3 aside#media_image-5 {
  display: none;
}
/* Aktuelle end */

/* Untermehen */
.home-h2-title,
.team-title {
  font-family: neulis-sans;
}
.image-d-unternehmen img {
  position: absolute;
  left: -5px;
  width: 27%;
  bottom: -20px;
}

/* Untermehen end*/

/* Leistungen */

.title-hr-leistungen {
  font-family: neulis-sans;
}
.link-text-leistungen a,
.leistungen-first-row a {
  border-bottom: 1px solid var(--accent);
  padding-bottom: 5px;
  letter-spacing: 1.5px;
}

.leistung-purple a {
  padding-bottom: 5px;
  letter-spacing: 1.5px;
  color: #fff;
}
.white-col a {
  border-bottom: 0px solid var(--accent);
  padding-bottom: 5px;
  letter-spacing: 1.5px;
}
.white-col .active-lei,
.white-col a:hover {
  border-bottom: 1px solid var(--accent);
}
.white-text {
  color: #fff;
}
.white-col {
  width: 100% !important;
}

.leistungen-first-row p {
  margin-bottom: 5px;
}

/* Leistungen end*/

/* Kontakt */
.forminator-row {
  width: 100% !important;
}
.kontakt-h2-title {
  font-size: 24px;
  line-height: 30px;
  font-family: neulis-sans;
}
/*.forminator-row:nth-child(3) {
  width: 78% !important;
  float: left;
}*
.forminator-row.forminator-row-last {
  width: 22% !important;
}
button.forminator-button.forminator-button-submit {
  width: 87% !important;
}*/
/* Forminator-Selects: Unterstrich und Pfeil violett */
#forminator-module-11 .select2-container .select2-selection--single {
  border-bottom-color: var(--accent) !important;
}
#forminator-module-11 .select2-container .select2-selection__arrow,
#forminator-module-11 .select2-container .forminator-icon-chevron-down,
#forminator-module-11 .select2-container .forminator-icon-chevron-down::before {
  color: var(--accent) !important;
}
#forminator-module-11 .select2-container .select2-selection--single::before {
  background-color: var(--accent) !important;
}
#forminator-module-11 textarea,
#forminator-module-11.forminator-design--material .forminator-textarea--wrap::after {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
#forminator-module-11 textarea#forminator-field-textarea-1 {
  padding-left: 0 !important;
}
.forminator-row.forminator-row-last .forminator-col {
  padding: 0 !important;
}
button.forminator-button.forminator-button-submit {
    border: 1px solid var(--accent) !important;
    color: #ffffff !important;
    margin-left: 20px !important;
}
button.forminator-button.forminator-button-submit:hover {
    color: #ffffff !important;
    background-color: #270057 !important;
    border-color: #270057 !important;
}
/*.forminator-row.forminator-row-last {
  height: 140px !important;
  align-items: flex-end;
}*/
#forminator-module-11 .forminator-row-last .forminator-field {
    text-align: right;
}
.page-id-108 iframe,
.gmp_map_opts {
  position: absolute;
  left: 0;
  height: 100%;
  top: 0;
  width: 40% !important;
  /* 	        -webkit-filter: grayscale(100%);
        -moz-filter: grayscale(100%);
        -ms-filter: grayscale(100%);
        -o-filter: grayscale(100%);
         filter: grayscale(100%); */
}
.gmp_MapPreview {
  height: 100% !important;
}
.title-kontakt-02 {
  font-size: 50px;
  line-height: 70px;
  font-family: neulis-sans;
  margin-bottom: 30px;
}
p.kontakt-text-02 {
  line-height: 35px;
  margin-bottom: 35px;
}
p.kontakt-text-03 {
  line-height: 35px;
}

/* Kontakt end*/

/* Single */

a.x-back-bttn {
  position: absolute;
  right: 5%;
  top: 75px;
}
a.x-back-bttn img {
  width: 30%;
}
.single-aktuell-page {
  padding-top: 100px;
}
.aktuelle-single-post-date {
  font-family: "Kumbh Sans";
}
.aktuelle-single-titke h1 {
  color: var(--accent);
  font-size: 50px;
  padding-top: 20px;
  margin-bottom: 20px;
}

.single-aktuelle-content h2,
.single-aktuelle-content h3,
.single-aktuelle-content h4,
.single-aktuelle-content h5 {
  font-weight: 600;
}

.container-aktuell {
  width: 80%;
  margin-bottom: 80px;
}
/* Single end*/

.page-id-253 header.entry-header,
.page-id-255 header.entry-header {
  padding-top: 150px;
}
.page-id-253 p {
  margin-bottom: 5px !important;
}
.page-id-255 h3,
.page-id-255 h2 {
  font-family: neulis-sans;
}
.arrow-link-mobile {
  display: none;
}
/* a.topbutton {
    background-color: var(--accent);
    background-size: 50px 50px;
} */
.site-logo {
  position: fixed;
  left: 0;
  top: 50px;
  padding: 30px 60px 30px 50px;
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}
@media only screen and (max-width: 1199px) {
  .gb-grid-wrapper > .gb-grid-column-ee371a75 {
    width: 49% !important;
    padding-left: 10px;
  }
}
@media only screen and (max-width: 1099px) {
  .forminator-row.forminator-row-last {
    height: auto !important;
    align-items: flex-end;
  }
  /*.forminator-row:nth-child(3) {
    width: 100%;
    float: left;
  }*/
  button.forminator-button.forminator-button-submit {
    margin-left: 0 !important;
  }

  /* Fonts */
  h1 {
    font-size: 49px;
    margin-bottom: 20px;
  }
  h2 {
    font-size: 35px;
  }
  .page-id-393 h4 {
    font-size: 49px;
    margin-bottom: 20px;
  }
  /* Fonts end */

  /* All pages  */
  .first-row-image img {
    width: 45%;
    object-fit: cover;
  }
  /* All pages end */

  /* Home */
  h3.home-row-02-title {
    font-size: 49px;
  }
  .home-row-03-title {
    font-size: 49px;
    font-family: neulis-sans;
  }
  h4.gb-headline-44028776 {
    color: var(--accent);
    font-size: 49px;
    line-height: 50px;
  }
  /* Home end*/

  .right-side-aktuelle-header {
    margin-top: 300px;
    margin-bottom: 500px;
  }
  .single-aktuell {
    width: 47%;
  }
  .single-aktuell-page {
    padding-left: 5%;
    padding-right: 5%;
  }
  a.x-back-bttn {
    right: 1%;
  }
  #fp-nav.fp-left {
    left: 6px;
  }
}
@media only screen and (max-width: 1024px) {
  .first-row-image img {
    position: absolute;
    right: 0;
    top: 0;
    height: 500px;
    width: 100% !important;
  }
  .gb-grid-wrapper > .gb-grid-column-ee371a75 {
    width: 100% !important;
    padding-left: 10px;
  }
  .gmp_map_opts {
    position: absolute;
    left: 0;
    height: 300px !important;
    top: unset;
    width: 100% !important;
    bottom: 0;
  }
  .gmp_map_opts .gmpMapDetailsContainer {
    height: 300px !important;
  }
  .arrow-link {
    display: none;
  }
}



  /* .big-D {
    position: absolute;
    width: 11% !important;
    top: 85px;
    left: -5px;
  }

  .page-template-default.page .featured-image{
  display: none;
}

.p-relative{ position: relative; }

.d-flex { display: flex; }
.align-item-center { align-items: center; } */

.gb-accordion__content .gb-container {
  margin-bottom: 0 !important;
}

@media only screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
  .gb-grid-wrapper > .gb-grid-column-ee371a75 {
    width: 49% !important;
  }
  .page-id-166 .gb-grid-wrapper > .gb-grid-column-f029f015 {
    width: 49%;
  }
  #fp-nav.fp-left {
    left: 6px;
  }
  h1 {
    font-size: 49px;
    margin-bottom: 20px;
  }
  .first-row-image img {
    width: 50%;
  }
}
@media only screen and (min-device-width: 832px) and (max-device-height: 1195px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
  .first-row-image img {
    width: 45%;
  }
}
@media only screen and (max-width: 999px) {
  .container-aktuell {
    width: 100%;
  }
  .btn-footer {
    flex-direction: column;
    padding: 0 18.75px; 
  }
  .btn-footer a {
    margin-bottom: 20px;
  }
  nav#mobile-menu-control-wrapper {
    /*position: fixed;
    top: 190px;*/
        right: 0;
  }
  /*.inside-header.grid-container {
    padding: 0 !important;
    height: 0 !important;
  }*/
  .gp-icon svg {
    top: 4px;
  }
  .unternehmen-first-title {
    margin-top: 0 !important;
  }
  .page-id-108 iframe {
    width: 100% !important;
  }
  .floating-icons {
    position: fixed;
    right: 0;
    top: 330px;
    z-index: 999;
  }
  .first-row-image img {
    width: 49%;
    object-fit: cover;
  }
  h4 {
    margin-bottom: 20px!important;
 
  }
  .title-kontakt-02 {
    margin-bottom: 20px!important;
  }
  h1 {
    font-size: 34px;
    margin-bottom: 20px;
  }
  h2 {
    font-size: 26px;
  }
  p {
    font-size: 16px;
  }
  .home-row-02-boxes p {
    line-height: 28px;
  }
  h3.home-row-02-title {
    font-size: 34px;
  }
  p.home-row-02-text {
    font-size: 20px;
    font-family: neulis-sans;
  }
  .home-row-03-title {
    font-size: 34px;
    font-family: neulis-sans;
  }
  p.home-row-03-text {
    font-size: 24px !important;
    line-height: 30px;
  }
  .aktuelle-home-titke h4 {
    font-size: 24px !important;
    line-height: 30px;
  }
  .right-side-aktuelle-header {
    margin-top: 270px;
    margin-bottom: 280px;
  }
}
@media only screen and (min-device-width: 1024px) and (max-device-height: 768px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
  .right-side-aktuelle-header {
    margin-top: 100px;
    margin-bottom: 150px;
  }
}
@media only screen and (max-width: 767px) {

  .legal-page-footer {
    float: none !important;
    display: block;
  }

  .order-first-wrap > div:last-child{
    order: -1;
  }

 .page-id-166.separate-containers .inside-article{
    padding: 0 40px !important;
  }
  p.home_second_title {
    font-size: 25px !important;
    line-height: 35px !important;
}
.gb_custom_container {
    justify-content: flex-start !important;
}
.kontakt-h2-title {
    font-size: 20px;

}
  .gmp_map_opts {
    margin-bottom: 20px;
  }
  .custom_logo {
    /* position: fixed;
    right: 0px;
    top: 185px;
    z-index: 999;
    width: 59px;
    height: 60px; */
    display: none;
  }
  .mob-logo-home {
    margin-top: 20px !important;
  }
  .mob-display-03 {
    display: none !important;
  }

  .fp-viewing-section1 .site-logo {
    width: 34%;
  }
  .aktuelle-home-post-date {
    margin-top: 50px;
  }
  .page-id-393
    .mcw-fp-section.fp-footer-section.fp-auto-height.fp-section.fp-table.active.fp-completely {
    margin-top: 10px !important;
  }
  .page-id-166 .footer-widget-3 aside#media_image-5 {
    display: block;
  }
  .aktuelles-first-row {
    height: 85vh;
  }
  .home-title {
    margin-top: 50px;
  }
  .site-logo {
    background-color: #fff !important;
    padding: 15px 15px 15px 15px;
  }
  .gmp_map_opts {
    width: 100% !important;
    margin-top: 20px;
  }
  .gmp_MapPreview {
    height: 100% !important;
  }
  .gb-grid-wrapper > .gb-grid-column-ee371a75 {
    width: 100% !important;
  }
  span.legal-page-footer {
    float: left;
  }
  .first-row-image img {
    width: 100%;
    object-fit: cover;
    height: 250px;

  }
  .page-id-204   .first-row-image img,
  .page-id-166  .first-row-image img{
   object-position: top;
  }

  footer .inside-site-info {
    padding-bottom: 100px;
  }

  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 24px;
  }
  .mcw-fp-section.mcw-fp-section_6b5c36cb6f69.fp-section.fp-table.active.fp-completely {
    padding-top: 38px !important;
  }
  .last-row-image img {
    position: absolute;
    left: 0;
    top: 0;
    height: 25%;
    object-fit: cover;
    width: 100%;
  }
  .home-row-02-boxes {
    border-bottom: 20px solid #fff !important;
  }
  /* .leistungen-first-title {
    margin-top: 10px;
  } */
  .arrow-link-mobile {
    display: unset;
    position: absolute;
    bottom: 0px;
  }
  .arrow-link {
    display: none;
  }
  .mcw-fp-section.mcw-fp-section_6b5c36cb6f69.fp-section.fp-table {
    padding-top: 80px !important;
  }
  .mcw-fp-section.mcw-fp-section_6a9afa5be4d7.fp-section.fp-table,
  .mcw-fp-section.mcw-fp-section_41a9d90a2d3c.fp-section.fp-table {
    padding-top: 0 !important;
  }
  .unternehmen-first-title {
    margin-top: 8px;
  }
  .image-d-unternehmen {
    display: none;
  }
  .right-side-aktuelle-header {
    margin-top: 215px;
    margin-bottom: 100px;
  }
  .site-logo {
    width: 34%;
  }
  .site-header .header-image {
    width: 65px;
  }
  nav#mobile-menu-control-wrapper {
    /*position: fixed;
    top: 55px;*/
        right: 0;
  }
  .arrow-down-aktueles img {
    position: absolute;
    bottom: 0px;
  }
  .single-aktuell {
    width: 100%;
  }
  .aktuelle-titke h4 {
    font-size: 20px;
    line-height: 30px;
    color: white;
  }
  .aktuelle-post-date {
    font-size: 16px;
  }
  a.aktuelle-link-text {
    font-size: 16px;
  }
  .aktuelle-single-titke h1 {
    font-size: 26px;
  }
  .single-aktuell-page {
    padding-top: 75px;
    padding-bottom: 50px;
  }
  .aktuelle-single-post-date {
    font-size: 16px;
  }
  a.x-back-bttn img {
    width: 20%;
  }
  a.x-back-bttn {
    right: -70px;
  }
  /* 	.kontakt-title {
    margin-top: 115px;
} */
  .page-id-108 iframe,
  .gmp_map_opts {
    width: 100%;
    height: 260px;
  }
  .mcw-fp-section.mcw-fp-section_6b5c36cb6f69.fp-section.fp-table.active.fp-completely {
    padding-top: 0 !important;
  }
  .mcw-fp-section.mcw-fp-section_6b5c36cb6f69.fp-section.fp-table {
    padding-top: 0 !important;
  }
  h1.entry-title {
    font-size: 30px;
  }
  .page-id-255 h1.entry-title {
    font-size: 26px;
  }
  /* 	.mcw-fp-section.mcw-fp-section_d91ea55c4562.fp-section.fp-table.fp-completely {
    padding-top: 250px !important;
}*/
  .page-id-204 .mcw-fp-section,
  .page-id-393 .mcw-fp-section,
  .page-id-108 .mcw-fp-section {
    padding-top: 250px !important;
  }
  /* 	.mcw-fp-section.mcw-fp-section_d91ea55c4562.fp-section.fp-table.fp-completely .fp-tableCell{
		height:100% !important;
		display: block !important; 
	} */

  html,
  body {
    margin: 0 !important;

    overflow-x: hidden !important;
  }

  .copyright-bar a {
    padding-left: 0;
    padding-right: 20px;
  }
  aside#custom_html-3 a {
    display: none !important;
  }
  .page-id-255 aside#custom_html-3 a,
  .page-id-253 aside#custom_html-3 a {
    display: unset !important;
  }
  .page-id-166 aside#media_image-5 a {
    position: absolute;
    right: 50px;
    top: unset;
    margin-top: -700px !important;
  }
  .topbutton {
    right: 0px;
  }
  .first-row-leistungen-new {
    padding-bottom: 30px;
  }
  .page-id-393
    .mcw-fp-section.mcw-fp-section_bd05367f51f4.fp-section.fp-table.active.fp-completely,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_b8e536a5a610.fp-section.fp-table.active,
  .page-id-393 .mcw-fp-section.mcw-fp-section_b8e536a5a610.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_eec70fc4361d.fp-section.fp-table.active.fp-completely,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_eec70fc4361d.fp-section.fp-table.active.fp-completely,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_eec70fc4361d.fp-section.fp-table.active,
  .page-id-393 .mcw-fp-section.mcw-fp-section_eec70fc4361d.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_9616e11ee507.fp-section.fp-table.active.fp-completely,
  .page-id-393 .mcw-fp-section.mcw-fp-section_9616e11ee507.fp-section.fp-table {
    padding-top: 20px !important;
  }
  .page-id-393 .mcw-fp-section.mcw-fp-section_bd05367f51f4.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_bdc0aeee5bf2.fp-section.fp-table.active.fp-completely,
  .page-id-393 .mcw-fp-section.mcw-fp-section_bdc0aeee5bf2.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_b640282a0b84.fp-section.fp-table.active.fp-completely,
  .page-id-393 .mcw-fp-section.mcw-fp-section_b640282a0b84.fp-section.fp-table,
  .page-id-393 .mcw-fp-section.mcw-fp-section_97fb7baa7a27.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_97fb7baa7a27.fp-section.fp-table.active.fp-completely,
  .page-id-393 .mcw-fp-section.mcw-fp-section_1dde9b9bba24.fp-section.fp-table,
  .page-id-393
    .mcw-fp-section.mcw-fp-section_1dde9b9bba24.fp-section.fp-table.active.fp-completely {
    padding-top: 20px !important;
  }
  .page-id-393 .first-row-image img {
    height: 250px;
  }
  .leistungen-logo-new {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .page-id-166 .arrow-down-aktueles img {
    position: relative !important;
  }
  .section-01-home .fp-completely {
    padding-top: 200px !important;
    height: 540px !important;
  }
  .section-01-home {
    height: auto !important;
  }
  .section-01-home .fp-tableCell {
    height: auto !important;
  }
  .section-01-home img {
    height: 250px;
  }
  .arrow-link-mobile img {
    height: auto;
    display: none;
  }
  li {
    font-size: 16px;
  }
  .unternehmen-first-title {
    margin-top: 50px;
  }
  .mcw-fp-section .fp-tableCell {
    height: 100% !important;
  }
  .mcw-fp-section {
    height: 100% !important;
  }
  p.home-row-03-text {
    font-size: 24px !important;
    line-height: 30px;
  }
  figure#aktuelles-row {
    display: none;
  }
  .aktuelle-home-post-date {
    padding-top: 0px;
    margin-top: 20px;
  }
  .akt-home {
    margin-top: 60px;
  }
  .mobile-image img {
    height: 50%;
  }
  .mobile-image {
    margin-bottom: 400px !important;
  }
  .icon-phone {
    width: 60px;
  }
  .icon-phone img {
    width: 35%;
  }
  .icon-phone {
    padding-left: 0px;
    padding-right: 0px;
  }
}




:root { --dp-violet: var(--accent); --dp-text: #2b2e34; }

/* Header nicht mehr über dem Inhalt, sondern weisser Sticky-Balken */
.header-wrap { position: sticky; top: 0; z-index: 1000; background: #fff; transition: box-shadow .3s; }
.admin-bar .header-wrap { top: 32px; }
.header-wrap.is-scrolled { box-shadow: 0 2px 15px rgba(0,0,0,.08); }
.site-header { position: static; background: #fff; }
.inside-header.grid-container { height: auto !important; padding: 25px 40px !important; align-items: center; transition: padding .3s; }


/* Logo: altes fixed-Positioning aufheben, gross → klein */
.site-logo { position: static !important; padding: 0 !important; width: auto !important; background: transparent !important; }
.site-header .header-image { width: auto !important; max-width: none; height: 65px; transition: height .3s; }
.header-wrap.is-scrolled .inside-header.grid-container { padding-top: 10px !important; padding-bottom: 10px !important; }
.header-wrap.is-scrolled .header-image { height: 50px; }

/* Navigation rechts im Balken */
nav#site-navigation { position: static; margin-left: auto; background: transparent; }
#site-navigation .inside-navigation { position: static; background: transparent; }
div#primary-menu { display: flex; }
.main-navigation .main-nav ul li a { background: transparent !important; color: var(--dp-text) !important; font-weight: 500; }
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a { color: var(--dp-violet) !important; }
.main-navigation ul ul { background: #fff; border-top: 3px solid var(--dp-violet); box-shadow: 0 8px 20px rgba(0,0,0,.08); }

/* Mobile */
.menu-toggle, .menu-toggle:hover, .menu-toggle:focus { color: var(--dp-violet) !important; background: transparent !important; }
@media (max-width: 1024px) {
  div#primary-menu { display: none; }
  nav#site-navigation.toggled div#primary-menu { display: block; }
  .inside-header.grid-container { padding: 10px 20px !important; }
  .site-header .header-image { height: 50px; }
  .header-wrap.is-scrolled .header-image { height: 40px; }
}

@media (max-width: 1024px) {
  /* Burger: kein violetter Kasten, Icon violett, Text weg */
  #mobile-menu-control-wrapper { background: transparent !important; margin-left: auto; }
  #mobile-menu-control-wrapper .menu-toggle {
    padding: 0 0 0 15px;
    line-height: 50px;
    font-size: 28px;
    color: var(--dp-violet) !important;
    background: transparent !important;
  }
  @media (max-width: 1024px) {
  .inside-header.grid-container {
    padding: 10px 40px !important;
  }
}
  #mobile-menu-control-wrapper .mobile-menu { display: none; }

  /* Aufgeklapptes Menü */
  nav#site-navigation.toggled { background: #fff; border-top: 1px solid #eee; margin-top: 10px; }
  #site-navigation.toggled .main-nav ul li a {
    padding: 0;
    line-height: 50px;
    border-bottom: 1px solid #f0f0f0;
  }
}
@media only screen and (max-width: 767px) {
  html, body { overflow: visible !important; overflow-x: clip !important; }
}

/* Admin-Leiste ist auf kleinen Handys nicht fixiert, sonst entsteht oben eine Lücke */
@media (max-width: 600px) {
  .admin-bar .header-wrap { top: 0; }
}

/* Kontakt als Button */
.main-navigation .main-nav ul li.kontaktbutton {
  display: flex;
  align-items: center;
  margin-left: 15px;
}
.main-navigation .main-nav ul li.kontaktbutton > a {
  background: var(--accent) !important;
  color: #fff !important;
  line-height: 1.2;
  padding: 14px 28px;
  border: 2px solid var(--accent);
  border-radius: 0;
  transition: background .2s, color .2s;
}

.main-navigation .main-nav ul li.kontaktbutton:hover > a {
  background: var(--global-color-8) !important;
  border-color: var(--global-color-8);
  color: white !important;
}

/* Mobile: Button im aufgeklappten Menü */
@media (max-width: 768px) {
  .main-navigation .main-nav ul li.kontaktbutton {
    margin: 15px 0;
  }
  #site-navigation.toggled .main-nav ul li.kontaktbutton > a {
    line-height: 1.2;
    padding: 14px 28px;
    border-bottom: 2px solid var(--dp-violet);
  }
}

/* Desktop: Kontakt-Einträge im Menü verstecken */
.main-navigation .main-nav ul li.mobile-contact { display: none !important; }

@media (max-width: 1024px) {
  /* Floating-Buttons rechts ausblenden */
  .floating-icons { display: none !important; }

  /* Kontakt-Einträge im Burger-Menü */
  .main-navigation .main-nav ul li.mobile-contact { display: block !important; }
  .main-navigation .main-nav ul li.mobile-contact-first { margin-top: 10px; }
  #site-navigation.toggled .main-nav ul li.mobile-contact > a {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.3;
    padding: 14px 0;
    text-transform: none;
    font-size: 16px;
  }
  .main-navigation .main-nav ul li.mobile-contact svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: none;
    stroke: var(--dp-violet);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}

/* Aktuelles auf der Startseite: 3 nebeneinander ab Desktop */
@media (min-width: 1025px) {
  #aktuelles-row.aktuelles-row-02 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
  #aktuelles-row .single-aktuelle-home {
    display: flex;
    flex-direction: column;
  }
  /* «Mehr dazu» bei allen auf gleicher Höhe */
  #aktuelles-row .aktuelle-home-link-text {
    margin-top: auto;
    align-self: flex-start;
  }
}

.btn-umrandet {
    display: inline-flex;
    padding: 15px 20px;
    border: 2px solid var(--accent);
    background-color: #ffffff;
    color: var(--accent);
    text-decoration: none;
}

.btn-umrandet:hover {
  background-color: var(--accent);
  color: #ffffff;
}

.btn-ausgefuellt {
    display: inline-flex;
    padding: 15px 20px;
    border: 2px solid var(--accent);
    background-color: var(--accent);
    color: white;
    text-decoration: none;
}

.btn-ausgefuellt:hover {
  background-color: var(--global-color-8) !important;
  border-color: var(--global-color-8) !important;
  color: #ffffff;
}

.btn-footer {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

/* Fade-in nach oben – nur aktiv, wenn JS läuft */
.js-fade .fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease-out, transform .7s ease-out;
  transition-delay: var(--fade-delay, 0s);
}
.js-fade .fade-up.is-visible {
  opacity: 1;
  transform: none;
}

/* Wer in den Systemeinstellungen «Bewegung reduzieren» aktiv hat, bekommt keine Animation */
@media (prefers-reduced-motion: reduce) {
  .js-fade .fade-up { opacity: 1; transform: none; transition: none; }
}

.arrow-link,
.arrow-link-mobile {
  width: fit-content !important;
  max-width: 100%;
}
.js-fade .fade-up.fade-only { transform: none; }

/* Startseite Hero: Bild in der Spalte statt bis zum Rand */
@media (min-width: 1025px) {
  .first-row-image img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 10 / 11;
    object-fit: cover;
    border-radius: 8px;
    display: block;
  }
  .gb-grid-column-6e8613c9 > .gb-container {
    justify-content: center;
  }
  .entry-content > .gb-container:has(.first-row-image) {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .entry-content > .gb-container:has(.first-row-image) .gb-grid-wrapper:has(.first-row-image) {
    align-items: flex-start !important;
    margin-left: -80px;
  }
  .entry-content > .gb-container:has(.first-row-image) .gb-grid-wrapper:has(.first-row-image) > .gb-grid-column {
    width: 50% !important;
    padding-left: 80px;
  }
  .entry-content > .gb-container:has(.first-row-image) .gb-grid-wrapper:has(.first-row-image) > .gb-grid-column > .gb-container {
    justify-content: flex-start !important;
  }
}

/* News-Kacheln: Startseite + Aktuelles einheitlich */
.single-aktuell,
.single-aktuelle-home {
  background: #fff !important;
  border-top: 4px solid var(--dp-violet);
  padding: 24px 20px 28px !important;
  margin: 0 !important;
  color: var(--dp-text);
  display: flex;
  flex-direction: column;
}
.aktuelles-row-02 { align-items: stretch !important; }

/* Datum */
.single-aktuell .aktuelle-post-date,
.single-aktuelle-home .aktuelle-home-post-date {
  color: var(--dp-text) !important;
  font-size: 16px !important;
  margin: 0 0 14px !important;
  padding-top: 0 !important;
}

/* Titel */
.single-aktuell h4,
.single-aktuelle-home h4 {
  color: var(--dp-text) !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  margin: 0 0 14px !important;
}

/* Kurztext */
.single-aktuell .aktuelle-text-short,
.single-aktuelle-home .aktuelle-home-text-short {
  color: var(--dp-text) !important;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 22px;
}
.single-aktuell .aktuelle-text-short *,
.single-aktuelle-home .aktuelle-home-text-short * { color: inherit !important; }

/* «Mehr dazu» – unten bündig */
.single-aktuell a.aktuelle-link-text,
.single-aktuelle-home a.aktuelle-home-link-text {
  color: var(--dp-text) !important;
  border-bottom: 1px solid var(--dp-text) !important;
  letter-spacing: 2px;
  font-size: 17px;
  align-self: flex-start;
  margin-top: auto !important;
  padding-bottom: 2px;
  text-decoration: none;
}
.single-aktuell a.aktuelle-link-text:hover,
.single-aktuelle-home a.aktuelle-home-link-text:hover {
  color: var(--dp-violet) !important;
  border-color: var(--dp-violet) !important;
}

.page-id-XX iframe[src*="google.com/maps"] {
  width: 100%;
  height: 100%;
  min-height: 450px;
  border: 0;
  display: block;
}

/* Karte: Platzhalter vor und Wrapper nach der Zustimmung */
.gb-container-3f624669 [class*="wpconsent-iframe-placeholder"] {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 40% !important;
  height: 100% !important;
  margin: 0;
}
.gb-container-3f624669 iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

@media (max-width: 1024px) {
  .gb-container-3f624669 [class*="wpconsent-iframe-placeholder"] {
    position: relative !important;
    left: auto;
    top: auto;
    width: 100% !important;
    height: 300px !important;
  }
  .gb-grid-column-3f624669 {
    order: 2;
  }
}

@media (max-width: 767px) {
  .gb-container-3f624669 [class*="wpconsent-iframe-placeholder"] {
    height: 260px !important;
    margin: 20px 0;
  }
}

/* Headerbilder auf Mobile/Tablet: keine Fade-Animation, sonst bleiben sie unsichtbar */
@media (max-width: 1024px) {
  .js-fade .gb-grid-column.fade-up:has(.first-row-image) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Landingpages: Header-Bereich auf Mobile gleich breit wie der Rest */
@media (max-width: 767px) {
  .entry-content > .gb-container:has(.first-row-image) > .gb-inside-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Landingpages: Headerbild auf Mobile/Tablet im Fluss statt darüber */
/* Headerbild auf Mobile/Tablet im Fluss, alte Abstände neutralisieren */
/* Headerbild auf Mobile/Tablet im Fluss, alte Abstände neutralisieren */
@media (max-width: 1024px) {
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-wrapper:has(.first-row-image) {
    row-gap: 0;
  }
  /* Bild- und Textspalte untereinander, volle Breite */
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column {
    width: 100% !important;
    flex-basis: 100% !important;
  }
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column:has(.first-row-image) {
    order: -1;
  }
  /* Headerbild randlos über die ganze Bildschirmbreite */
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .first-row-image img {
    position: static !important;
    display: block;
    width: 100vw !important;
    max-width: none;
    height: auto !important;
    aspect-ratio: 3 / 2;
    object-position: center 30%;
    margin: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    object-fit: cover;
  }
  /* Textspalte: einheitlich 40px Abstand zum Bild */
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column:not(:has(.first-row-image)) {
    padding-top: 40px !important;
  }
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column:not(:has(.first-row-image)) > .gb-container {
    margin-top: 0 !important;
  }
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column:not(:has(.first-row-image)) > .gb-container > .gb-inside-container {
    padding-top: 0 !important;
  }
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .gb-grid-column:not(:has(.first-row-image)) > .gb-container > .gb-inside-container > :first-child {
    margin-top: 0 !important;
  }
  /* verhindert seitliches Scrollen durch die Scrollbar */
  html, body {
    overflow-x: clip !important;
  }
}
@media (max-width: 767px) {
  .separate-containers .entry-content > .gb-container:has(.first-row-image) .first-row-image img {
    aspect-ratio: 4 / 3;
  }
}
/* Aktuelles: oberen Bereich auf Mobile/Tablet nicht auf Bildschirmhöhe fixieren */
@media (max-width: 1024px) {
  .aktuelles-first-row {
    height: auto !important;
    min-height: 0 !important;
  }
  .right-side-aktuelle-header {
    margin-bottom: 40px !important;
  }
}

/* Forminator: Auswahlfelder immer volle Spaltenbreite */
#forminator-module-11 .select2-container {
  width: 100% !important;
}

/* Aktuelles-Beiträge: Container bündig mit Header und Footer */
.container-aktuell {
  width: 100% !important;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box;
  position: relative;
}
.container-aktuell .single-aktuell-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.container-aktuell a.x-back-bttn {
  right: 40px !important;
}

@media (max-width: 999px) {
  .container-aktuell {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .container-aktuell a.x-back-bttn {
    right: 30px !important;
  }
}

/* Desktop: Beitrag auf 80 % für bessere Lesbarkeit */
@media (min-width: 1000px) {
  .container-aktuell .single-aktuell-page {
    width: 80%;
  }
}

/* Kontakt: alten Platzhalter für die Karte unter der Adresse entfernen */
@media (max-width: 1024px) {
  .page-id-108 .gb-container-58360f9d > .gb-inside-container {
    padding-bottom: 0 !important;
  }
}

/* Leistungen: seitliche Navigation nicht animieren, sonst funktioniert position: fixed nicht */
.js-fade .fade-up:has(.sticky_left) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.separate-containers .entry-content > .gb-container:has(.first-row-image) .leistungen-first-row .gb-grid-column:not(:has(.first-row-image)) {
  padding-top: 0 !important;
}