/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* -------------------------------------------------------------------------- */
/*                         //NOTE Media + Tastenkürzel                        */
/* -------------------------------------------------------------------------- */

/*  FARBE

helles grün
#cfcf00

dunkles grün
#238000

*/

/*


@media (max-width: 449px) {
    Handy klein
}

@media (min-width: 450px ) {
    Handy größer
}

@media (min-width: 600px ) {
    beginn der 1-Spaltigkeit statt 756
}

@media (min-width: 992px ) {

}

@media (min-width: 1500px ) {

}

________________________________________________________________________________
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
	…
}
________________________________________________________________________________

*/

/*
Tastenkürzel um Kommentarblöcke zu erzeugen
*/

/* Shift + Alt + X */
/* -------------------------------------------------------------------------- */
/*                               Shift + Alt + X                              */
/* -------------------------------------------------------------------------- */

/* Alt + X */
/* --------------------------------- Alt + X -------------------------------- */

/* Alt + Y */
/* -------------------------------------------------------------------------- */

/* Strg + # */
/*  */



/* oswald-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/oswald-v57-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* oswald-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/oswald-v57-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* oswald-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/oswald-v57-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* oswald-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/oswald-v57-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/montserrat-v31-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/montserrat-v31-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/montserrat-v31-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/montserrat-v31-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/montserrat-v31-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  src: url("./fonts/montserrat-v31-latin-800.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 900;
  src: url("./fonts/montserrat-v31-latin-900.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* -------------------------------------------------------------------------- */

/* cormorant-garamond-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/cormorant-garamond-v21-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/cormorant-garamond-v21-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/cormorant-garamond-v21-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/cormorant-garamond-v21-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* -------------------------------------------------------------------------- */

/* lato-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/lato-v25-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/lato-v25-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/lato-v25-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  src: url("./fonts/lato-v25-latin-900.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */
/*                                //NOTE Farben                               */
/* -------------------------------------------------------------------------- */

/*
dunkelgrün
#238000

hellgrün
#cfcf00
*/

.h2dark * {
  color: #238000;
}

/* -------------------------------------------------------------------------- */

body,
div,
p,
span,
li,
a {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
}

html {
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
}

@media screen and (min-width: 400px) {
  html {
    font-size: calc(14px + (18 - 14) * (100vw - 400px) / (1920 - 400));
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 18px;
  }
}

h1,
h3,
h4,
h6 {
  font-family: "Cormorant Garamond", "Helvetica Neue", Arial, sans-serif !important;
  line-height: 1.1;
  margin: 0;
  padding: 0;
}

h1 {
  font-size: 2.5rem;
  padding-bottom: 1rem;
  font-weight: 600;
  color: #000000 !important;
}

h2 {
  font-size: 1rem;
  /* letter-spacing: -0.02em; */
  font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  color: #238000;
  text-transform: uppercase;
  margin-bottom: 0;
}

h3 {
  font-size: 2rem;
  font-weight: 600;
}

h4,
h6 {
  font-size: 1.5rem;
  font-weight: 500;
}

h5 {
    font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
      font-weight: 600;
        font-size: 1.2rem;
        color:  #394634;
}



.hleistungen p {
    font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
      font-size: 1rem;
  font-weight: 800;
}

.pbpp p {
    font-size: .85rem;
  line-height: 1.35;
}

.geschichte-hoch {
display: none;
}



@media (min-width: 768px) and (max-width: 1200px) {
.geschichte-hoch {
display: block;
}

.geschichte-hoch img {
  width: auto;
  height: auto;
max-height: 300px;
}
.geschichte-quer {
display: none;
}

}


p,
li {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  p,
  li {
    line-height: 1.65;
  }
}

b,
strong {
  font-size: 1.15rem;
  font-weight: 700;
}

/* immer Absatzabstand */
p,
p:last-child {
  margin-bottom: 0;
  padding-bottom: 1rem;
}


.lineup li {
  line-height: 2.25;
}

/* -------------------------------------------------------------------------- */
/*                            //NOTE The7 allgemein                           */
/* -------------------------------------------------------------------------- */

/* kein unterer Abstand von Editorelementen */
.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid > li {
  margin-bottom: 0;
}

/* maximale Breite zentriert */
.conmaxwidth {
  max-width: 991px;
  margin: 0 auto;
}

.icenter {
  text-align: left;
}

.whitefont * {
  color: #ffffff;
}

/* -------------------------------------------------------------------------- */
/*                                 //NOTE Menü                                */
/* -------------------------------------------------------------------------- */

.mobile-branding a img,
.branding a img {
  width: auto;
  height: 70px !important;
  padding: 5px 0 5px 0;
}

@media (min-width: 900px) {
  #phantom a img {
    width: auto;
    height: 70px;
    padding: 5px 0 5px 0;
  }
}

@media screen and (min-width: 900px) {
  .masthead .branding > a > img {
    width: auto !important;
    height: 170px !important;
    max-width: none !important;
    max-height: none !important;
    padding: 15px 0 !important;
  }
}

@media screen and (max-width: 900px) {
  body
    .masthead.sticky-mobile-on
    .mobile-header-bar
    .dt-mobile-menu-icon
    .lines-button
    > .menu-line {
    background: #222 !important;
    background-image: none !important;
  }

  body
    .masthead.sticky-mobile-on
    .mobile-header-bar
    .dt-mobile-menu-icon
    .lines-button
    > .menu-line::before,
  body
    .masthead.sticky-mobile-on
    .mobile-header-bar
    .dt-mobile-menu-icon
    .lines-button
    > .menu-line::after {
    background: #222 !important;
    background-image: none !important;
  }
}

.main-nav > li > a .menu-text {
  font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5;
  text-transform: uppercase;
}

.main-nav .sub-nav > li > a .menu-text {
  font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Menü oberste Ebene - Mobil */
.mobile-main-nav li > a .menu-text {
  font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.dt-mobile-header * {
  font-size: 1rem;
  line-height: 1.5;
}

@media (min-width: 1300px) {
  .sub-nav {
    top: 100px !important;
    width: 170px !important;
    margin-left: 10px;
    background-color: rgb(117, 117, 117, 0.9);
    padding: 5px !important;
  }
  .main-nav .sub-nav > li > a,
  .sub-downwards .sub-nav.sub-nav-widgets > li {
    margin: 0 !important;
    padding: 5px !important;
  }
}

.inline-header .header-bar > .mini-widgets {
  position: absolute;
  top: 15px;
  right: 50px;
}

.mini-contacts i {
  font-size: 20px;
  color: #ffffff;
  text-shadow: black 0.5px 1px 1px;
}

.masthead .soc-ico .soc-font-icon {
  font-size: 20px;
  color: #ffffff;
  text-shadow: black 0.5px 1px 1px;
}

.masthead .mini-widgets > * {
  margin-left: 0 !important;
}

/* -------------------------------------------------------------------------- */
/*                             //NOTE Headerbilder                            */
/* -------------------------------------------------------------------------- */

.vc_row.projektfirst {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  /* margin-top: -80px; */
  margin-bottom: 15px;
  height: 95vw !important;
  overflow: hidden;
}
/* 
@media (min-width: 1300px) {
  .vc_row.projektfirst {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
    height: 85vh !important;
    overflow: hidden;
  }
} */

@media (min-width: 1300px) {
  .vc_row.projektfirst {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    /*  margin-top: -250px;  Menühöhe */
    height: 85vh !important;
    overflow: hidden;
  }
}

.vc_row.projektfirst .wpb_column,
.vc_row.projektfirst .vc_column-inner,
.vc_row.projektfirst .wpb_wrapper,
.vc_row.projektfirst .wpb_text_column,
.vc_row.projektfirst .wpb_text_column .wpb_wrapper,
.vc_row.projektfirst .wpb_text_column p {
  height: 100% !important;
  margin: 0;
}

.vc_row.projektfirst img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  object-fit: cover;
  display: block;
}


.vc_row.projektfirst::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background-image: url("./images/welle-header-2.webp");
  width: 100%;
  aspect-ratio: 2048 / 273;
  background: url("./images/welle-header-2.webp") no-repeat center bottom / 100%
    100%;
  pointer-events: none;
}

.safari-background::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 50px;
  width: 100%;
  z-index: 10;
  background-image: url("./images/safari-background-variant-2.svg");
}

.startpage .slogangross {
  font-family:
    "Cormorant Garamond", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 3rem;
  line-height: 1;
  color: #ffffff;
  text-shadow: black 2px 3px 3px;
}

.startpage .sloganklein {
  font-size: 1.1rem;
  padding-top: 1rem;
  line-height: 1.5;
  color: #ffffff;
  text-shadow: black 1px 2px 2px;
}

.pplus1,
.pplus1 p {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
    text-shadow: black 1px 2px 2px;
}

h3.likeheader {
  font-size: 2.8rem;
  line-height: 1;
  color: #ffffff;
  text-shadow: black 2px 3px 3px;
}

@media (max-width: 779px) {
.pplus1,
.pplus1 p {
  font-size: 1.15rem;
}

h3.likeheader {
  font-size: 2rem;
}
}


.vc_row.projektfirst .headerslogan {
  position: absolute;
  z-index: 3;
  top: 52%;
  transform: translateY(-50%);
  margin: auto;
  width: 100%;
  text-align: left;
  padding-left: 0px;
}

@media (min-width: 779px) {
  .vc_row.projektfirst .headerslogan {
    padding-left: 50px;
  }
}

@media (min-width: 900px) {
  .startpage .slogangross {
    font-size: 4rem;
    line-height: 1;
  }

  .startpage .sloganklein {
    font-size: 1.25rem;
  }

  .vc_row.projektfirst .headerslogan {
    top: 52%;
  }
}

.btn-svg-border {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 500 !important;
  line-height: 1;
  padding: 0;
  min-width: 320px;
  min-height: 45px;
  box-sizing: border-box;
  background: transparent;
  color: #7ab362 !important;
  text-decoration: none;
  border-image: url("./images/decoded-border-image.svg") 3 / 3px / 0 stretch; /* Farbe im SVG */
}

.btn-svg-border:hover {
  text-decoration: none;
  font-weight: 700 !important;
  color: #cfcf00 !important;
}

.whitelink.btn-svg-border {
  color: #dbebd5 !important;
  border-image: url("./images/decoded-border-image-fff.svg") 3 / 3px / 0 stretch; /* Farbe im SVG */
}

.maxw.btn-svg-border {
  min-width: inherit;
  width: 100%;
  max-width: 250px;
}

.whitelink.btn-svg-border:hover {
  color: #ffffff !important;
}

.btn-svg-border.fullw {
  min-width: 100%;
  width: 100%;
}

.single .project-content {
  margin-bottom: 3rem !important;
}

/* -------------------------------------------------------------------------- */
/*                              // NOTE Elemente                              */
/* -------------------------------------------------------------------------- */

/* Iconboxen zb bei Karriere */
.boxicon {
  background-color: rgba(92, 140, 73, 0.85);
  padding: 15px;
}

.boxicon .aio-icon-title,
.boxicon .aio-icon-description,
.boxicon .aio-icon-description * {
  color: #ffffff;
}

.left-icon .aio-icon-left .aio-icon,
.left-icon .aio-icon-left .aio-icon-img {
  margin-right: 5px !important;
}

/* faq box */
.faq-svg-border {
  padding: 10px 5px 10px 5px;
  border: 3px solid transparent;
  border-image: url("./images/decoded-border-image.svg") 3 / 3px / 0 stretch;
}


/* icons6 */


.icons6 > .wpb_wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
}

.icons6 p {
  margin: 0;
}

.icons6 p:first-child {
  flex: 0 0 60px;
}

.icons6 img {
  width: 60px !important;
  height: 60px !important;
  max-width: 60px !important;
  object-fit: contain;
  display: block;
}

.icons6 {
  margin-bottom: 40px;
}


.icons6 p, .icons6 p strong {
  font-size: .85rem;
  line-height: 1.3;
}




/* -------------------------------------------------------------------------- */
/*                                  Portfolio                                 */
/* -------------------------------------------------------------------------- */

.pswp__caption h5 {
  display: none;
}

.pswp__caption .pswp__caption__center {
  font-size: 1rem !important;
}

.porticon img {
  height: 85px;
  width: auto;
}

.porticon {
  padding-top: 1.5rem;
}

/* -------------------------------------------------------------------------- */

.hs-reference-card {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  margin: 0 0 20px 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}

.hs-reference-card > .wpb_column > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.hs-reference-link {
  display: block;
  color: inherit;
  text-decoration: none !important;
}

.hs-reference-link img {
  display: block;
  width: 100%;
  max-width: none;
  aspect-ratio: 3.2 / 1;
  object-fit: cover;
  object-position: center;
}

.hs-reference-content {
  padding: 14px 16px 16px 16px;
}

.hs-reference-content h4 {
  margin: 0 0 5px 0;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1.25;
  font-weight: 600;
  color: #333333;
}

.hs-reference-content span {
  font-size: 0.9rem;
  line-height: 1.4;
  color: #6e9c54;
}

.hs-reference-link:hover .hs-reference-content span {
  color: #52783e;
}

.hs-reference-link:hover {
  text-decoration: none !important;
}

/* ----- */

.hs-project-cta {
  background: #6e9c54;
  border-radius: 8px;
  overflow: hidden;
  margin-top: 4px;
}

.hs-project-cta > .wpb_column > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.hs-project-cta-inner {
  padding: 18px 18px 20px 18px;
}

.hs-project-cta-inner h4 {
  margin: 0 0 8px 0;
  padding: 0;
  color: #ffffff;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 600;
  text-transform: uppercase;
}

.hs-project-cta-inner p {
  margin: 0 0 14px 0;
  padding: 0;
  color: #ffffff;
  font-size: 0.9rem;
  line-height: 1.45;
}

.hs-project-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 38px;
  padding: 8px 18px;
  box-sizing: border-box;
  border: 1px solid #ffffff;
  color: #ffffff !important;
  font-size: 0.88rem;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none !important;
}

.hs-project-cta-button:hover {
  background: #ffffff;
  color: #6e9c54 !important;
}


/* Vor und zurück navi */

/* Gesamte Navigation:
   links = vorheriger Beitrag
   mitte = Übersicht
   rechts = nächster Beitrag
*/
@media (min-width: 780px) {

    .post-navigation .nav-links {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        width: 100% !important;
    }

    .post-navigation .nav-previous {
        grid-column: 1 !important;
        justify-self: start !important;

        display: flex !important;
        align-items: center !important;

        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .post-navigation .nav-links > *:nth-child(2) {
        grid-column: 2 !important;
        justify-self: center !important;
        margin: 0 !important;
    }

    .post-navigation .nav-next {
        grid-column: 3 !important;
        justify-self: end !important;

        display: flex !important;
        align-items: center !important;

        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
    }

    .post-navigation .hs-nav-inner {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .post-navigation .hs-nav-next {
        justify-content: flex-end !important;
    }

    .post-navigation .post-title {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
    }

    .post-navigation .hs-nav-arrow {
        display: block !important;
        width: 9px !important;
        height: 9px !important;
        flex: 0 0 9px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
    }

    .post-navigation .hs-nav-prev .hs-nav-arrow {
        border-left: 2px solid #4b962e;
        border-bottom: 2px solid #4b962e;
        transform: rotate(45deg);
    }

    .post-navigation .hs-nav-next .hs-nav-arrow {
        border-right: 2px solid #4b962e;
        border-top: 2px solid #4b962e;
        transform: rotate(45deg);
    }

}


.post-navigation .post-title {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400;
  font-size: .9rem !important;
}



/* -------------------------------------------------------------------------- */
/*                               //NOTE Formular                              */
/* -------------------------------------------------------------------------- */

.naturformular {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.naturformular div {
  padding-bottom: 10px;
}

.naturformular label {
  padding-bottom: 20px;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 !important;
}

.form2spalten,
.form3spalten,
.form4spalten {
  width: 100%;
}

.form1spalten {
  width: 100%;
}

.icenter {
  text-align: left;
}

.fhinweis p {
  padding-top: 10px !important;
  font-size: 14px;
  line-height: 1.35;
}

.maus {
  display: none;
}

.naturformular .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
  margin-top: 10px;
}

.naturformular .wpcf7-checkbox .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

.naturformular .wpcf7-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
  accent-color: #5c8c49;
}

.naturformular .wpcf7-list-item-label {
  line-height: 1.4;
}

@media (max-width: 767px) {
  .naturformular .wpcf7-checkbox {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

@media (min-width: 756px) {
  .form2spalten {
    width: calc(50% - 15px);
  }

  .form3spalten {
    width: calc(33% - 15px);
  }

  .form4spalten {
    width: calc(25% - 15px);
  }

  .icenter {
    text-align: center;
  }

  .tiefer {
    padding-top: 10px;
  }

  .maus {
    display: block;
  }
}

span.wpcf7-list-item-label {
  font-size: 14px;
}

.wpcf7-submit {
  width: 100%;
}

.contact-form input[type="text"],
.contact-form textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="range"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea {
  background-color: transparent;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem !important;
  font-weight: 300;
  color: rgb(0, 0, 0);
  margin-bottom: 5px !important;
  padding-top: 3px;
  padding-right: 5px;
  padding-bottom: 3px;
  padding-left: 0px;
  border: none !important;
  border-bottom: 1px solid #000000 !important;
}

.wpcf7-submit {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem !important;
  font-weight: 300 !important;
}

.wpcf7-spinner {
  display: none;
}

/* Quiz */
.wpcf7-quiz-label {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem !important;
}

/* Input vom Quiz */
input[type="text"].qgroesse {
  font-size: 1rem !important;
  width: 50px !important;
}

textarea {
  vertical-align: top;
  height: 180px;
}

/* Fehlerausgabe von Form 7*/
.popup-message-style #page .wpcf7-response-output {
  top: 80% !important;
}

::-webkit-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #000000 !important;
  opacity: 1 !important;
}

:-ms-input-placeholder {
  color: #000000 !important;
  opacity: 1 !important;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #000000 !important;
  opacity: 1 !important;
}

.wpcf7-form-control.wpcf7-file,
.wpcf7 input[type="file"],
.tintern,
.tintern *,
.tintern p {
  color: #000000  !important;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem !important;
}

.wpcf7-form-control.wpcf7-select {
  color: #000000  !important;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem !important;
  background-color: transparent;
  border-bottom: 1px solid #000000  !important;
}

input:focus::-moz-placeholder {
  color: transparent !important;
}

textarea:focus::-moz-placeholder {
  color: transparent !important;
}

input:focus::-webkit-input-placeholder {
  color: transparent !important;
}

textarea:focus::-webkit-input-placeholder {
  color: transparent !important;
}

input:focus:-ms-input-placeholder {
  color: transparent !important;
}

textarea:focus:-ms-input-placeholder {
  color: transparent !important;
}

input:focus:-moz-placeholder {
  color: transparent !important;
}

textarea:focus:-moz-placeholder {
  color: transparent !important;
}

@media (max-width: 767px) {
  input[type="submit"],
  .nsu-submit {
    font-size: 1rem !important;
  }

  .contact-form input[type="text"],
  .contact-form textarea,
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="url"],
  .wpcf7-form input[type="number"],
  .wpcf7-form input[type="range"],
  .wpcf7-form input[type="date"],
  .wpcf7-form textarea {
    font-size: 1rem !important;
  }
}

a.blacklink {
  color: #000000;
}


/* -------------------------------------------------------------------------- */
/*                                //NOTE Footer                               */
/* -------------------------------------------------------------------------- */

.scroll-top.on {
  right: 50px;
}

@media (max-width: 756px) {
  .scroll-top.on {
    right: 20px;
  }
}

/* ------------------------- Fusszeile in Urzustand ------------------------- */

.wf-float-right {
  float: none;
}

#bottom-bar .wf-float-right {
  display: block;
  margin-left: 0;
}

#bottom-bar .wf-container-bottom {
  display: block;
}

#footer > .wf-wrap {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

.wf-container-footer {
  max-width: 1400px;
  margin-left: auto !important;
  margin-right: auto !important;
}

#footer .wf-container {
  padding: 0;
  margin-bottom: -30px;
}

#footer #reusable_block-2 .vc_row[data-vc-full-width="true"] {
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

@media (min-width: 779px) {
  #footer .wf-container {
    padding: 0 50px 0 50px;
    margin-bottom: -30px;
  }
}

/* ----------------------------- neue Fusszeile ----------------------------- */

.hs-footer {
  position: relative;
  margin-top: 0;
  background: #f3f5e9;
  color: #394634;
  font-size: 15px;
}

/* Welle vollständig anzeigen */
.hs-footer-wave {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 2048 / 273;
  background: url("./images/welle-footer-2.webp") no-repeat center bottom / 100%
    100%;
  pointer-events: none;
}


.footerh1 {

    font-size: 2.05rem;
  font-family: 'Oswald', "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
line-height: 1.5;
  color:  #394634;
}

.footerzz {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
      font-size: .75rem;
        font-weight: 600;
  color:  #394634;
}


/* Hauptbereich */
.hs-footer-main {
  position: relative;
  z-index: 2;
  background: transparent;
  overflow: visible;
}

/* Inhalt etwas kompakter */
.hs-footer-inner {
  position: relative;
  z-index: 5;
  width: calc(100% - 80px);
  max-width: 1500px;
  margin: 0 auto;
  padding: 35px 0 40px;

  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr 1.25fr 1fr;
  gap: 45px;
  align-items: start;
}

/* Logo sicher über allen Dekoelementen */
.hs-footer-brand {
  position: relative;
  margin-top: -15px;
  z-index: 6;
  min-width: 190px;
}

.hs-footer-logo {
  position: relative;
  z-index: 20;
  display: block !important;
  width: 210px !important;
  min-width: 210px;
  height: 105px !important;
  min-height: 105px;
  margin-top: -50px;
  background-image: url("./images/Logo_Hahn_Singer.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
}

/* Instagram ebenfalls nach vorne */
.hs-footer-social {
  position: relative;
  z-index: 7;
  display: flex;
  justify-content: flex-end;
}

.hs-footer-instagram {
  position: relative;
  z-index: 20;
  display: block !important;
  width: 175px !important;
  min-width: 175px;
  height: 175px !important;
  min-height: 175px;
  background-image: url("./images/footer-instagram.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

/* Pflanzen bewusst im Hintergrund */
.hs-footer-plant-left {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 170px;
  height: 300px;
  background: url("./images/footer-pflanze-links.png") no-repeat left bottom /
    contain;
  pointer-events: none;
}

.hs-footer-plant-right {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  width: 210px;
  height: 270px;
  background: url("./images/footer-pflanze-rechts.png") no-repeat right bottom /
    contain;
  pointer-events: none;
}

/* Copyright */
.hs-footer-bottom {
  position: relative;
  z-index: 10;
  background: #718b59;
  color: #fff;
}

.hs-footer-bottom-inner {
  width: calc(100% - 80px);
  max-width: 1500px;
  min-height: 66px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

/* -------------------------------------------------------------------------- */
/* unterhalb 1400 */


.hs-footer-column * {
  line-height: 2;
}

@media (max-width: 1399px) {
  .hs-footer-plant-left,
  .hs-footer-plant-right {
    display: none;
  }

  .hs-footer-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px 50px;
    padding: 35px 0 45px;
  }

  /* Reihe 1: Logo */
  .hs-footer-brand {
    grid-column: 1 / 2;
    grid-row: 1;
  }

  /* Reihe 2: Leistungen */
  .hs-footer-inner > .hs-footer-column:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  /* Reihe 2: Referenzen */
  .hs-footer-inner > .hs-footer-column:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }

  /* Reihe 2: Unternehmen */
  .hs-footer-inner > .hs-footer-column:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
  }

  /* Reihe 3: Kontakt */
  .hs-footer-contact {
    grid-column: 1 / 2;
    grid-row: 3;
  }

  /* Reihe 3: Instagram */
  .hs-footer-social {
    grid-column: 2 / 3;
    grid-row: 3;
    justify-content: flex-start;
  }

  .hs-footer-instagram {
    width: 160px !important;
    min-width: 160px;
    height: 160px !important;
    min-height: 160px;
  }
}

/* -------------------------------------------------------------------------- */
/* mobil unter 800 */

@media (max-width: 779px) {
  .hs-footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: calc(100% - 40px);
    padding: 30px 0 40px;
    text-align: center;
  }

  .hs-footer-brand,
  .hs-footer-column,
  .hs-footer-contact,
  .hs-footer-social {
    width: 100%;
    max-width: 360px;
  }

  .hs-footer-logo {
    margin: 0 auto;
  }

  .hs-footer-social {
    justify-content: center;
  }

  .hs-footer-instagram {
    margin: 0 auto;
  }

  .hs-footer-bottom-inner {
    width: calc(100% - 40px);
    padding: 20px 0;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 15px;
  }

  .hs-footer-legal {
    justify-content: center;
    gap: 25px;
  }
}

/* -------------------------------------------------------------------------- */
/*                              //NOTE OSM Karte                              */
/* -------------------------------------------------------------------------- */

#map-bg {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 100%;
  height: calc(100vh - 50px);
  z-index: 2;
}

@media (max-width: 768px) {
  #map-bg {
    height: calc(100vh - 100px);
  }
}

#map-bg img,
#map-bg picture {
  display: inline-block;
  box-sizing: content-box !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  /*transform: scale(1.5);*/
}

.maplink1 {
  position: absolute;
  display: block;
  background-image: url("/wp-content/themes/dt-the7-child/images/maplink-oben.png");
  background-repeat: no-repeat;
  background-size: 70px 98px;
  width: 70px;
  height: 98px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

@keyframes myAnim {
  0%,
  50%,
  100% {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

.maplink2 {
  position: absolute;
  display: block;
  background-image: url("/wp-content/themes/dt-the7-child/images/maplink-unten.png");
  background-repeat: no-repeat;
  background-size: 70px 98px;
  width: 70px;
  height: 98px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
  cursor: pointer !important;
  animation: myAnim 8s ease-in-out 0s infinite normal forwards;
}

.copymap-a {
  position: absolute;
  height: 25px;
  width: 100%;
  bottom: 5px;
  text-align: center;
  z-index: 99;
}

.copymap-i {
  padding: 2px 6px 2px 6px;
  font-size: 12px;
  color: #0f121c;
  background-color: rgba(255, 255, 255, 0.72);
}

@media (min-width: 992px) {
  .copymap-a {
    width: auto;
    right: 80px;
    text-align: right;
  }
}

@media (orientation: portrait) {
  img.map_quer {
    display: none !important;
  }
}

@media (orientation: landscape) {
  img.map_quer {
    display: block !important;
  }
}

/* -------------------------------------------------------------------------- */
/*                           //NOTE Responsive Ende                           */
/* -------------------------------------------------------------------------- */

@media (max-width: 599px) {
  h1 {
    font-size: 1.75rem;
  }
}

/* ---------------------------------- ENDE ---------------------------------- */
/* -------------------------------------------------------------------------- */
