/*!
 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
*/
/* ------ Params ------ */
@font-face {
  font-display: swap;
  font-family: "Titillium Web";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("load/fonts/titillium-web-v10-latin-regular.woff2") format("woff2"), url("load/fonts/titillium-web-v10-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("load/fonts/open-sans-v23-latin-regular.woff2") format("woff2"), url("load/fonts/open-sans-v23-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("load/fonts/open-sans-v23-latin-700.woff2") format("woff2"), url("load/fonts/open-sans-v23-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
}

body {
  max-width: 100%;
  overflow: hidden;
  background: none;
  font-family: "Open Sans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
}

@media (min-width: 769px) {
  body {
    background: #FFF url("load/img/header.jpg") 50% 0%;
    background-repeat: no-repeat;
    background-size: auto 168px !important;
  }
  body.page-template-page-template-landing-page,
  body.home {
    background: #FFF url("load/img/header-start.jpg");
    background-position-y: 0;
    background-position-x: calc(50% + 140px);
    background-size: auto !important;
    background-repeat: no-repeat;
  }
}
@media (min-width: 1600px) {
  body {
    background-size: 100% 168px !important;
  }
}
/* header */
.site-header {
  margin-top: 0;
  min-height: 70px;
  display: block;
  position: relative;
}

@media (min-width: 769px) {
  .site-header {
    margin-top: 48px;
  }
}
.site-header > .inside-header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0;
}

.site-header > .inside-header .main-navigation {
  width: auto;
  display: block;
  position: relative;
  float: right;
}

.site-header .header-image {
  top: 2px;
  position: relative;
}

.site-logo {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 30px;
  display: flex;
  flex-basis: 65%;
  z-index: 1;
}
.site-logo > a {
  padding-top: 13px;
  padding-bottom: 13px;
  display: block;
}

@media (min-width: 576px) {
  .site-logo {
    flex-basis: unset;
    display: inline-block;
  }
}
@media (min-width: 768px) {
  .site-logo {
    padding-top: 0;
    padding-bottom: 0;
  }
}
/* keyvisual start */
picture.branding {
  display: none;
}

@media (min-width: 768px) and (max-width: 1179px) {
  picture.branding {
    display: block;
    padding-left: 0 !important;
    float: right;
    margin-top: -90px;
    margin-right: 0px;
  }
  picture.branding img {
    max-width: 345px;
    max-height: 245px;
  }
}
@media (min-width: 1180px) {
  picture.branding {
    display: block;
    padding-left: 0 !important;
    float: right;
    margin-top: -90px;
    margin-right: -40px;
  }
}
/*menu layout*/
.inside-header {
  padding: 20px;
}

.inside-header.grid-container {
  padding-top: 0;
  padding-bottom: 0;
}
.inside-header.grid-container:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #a1dd55, #92cc4d);
  /*box-shadow: 1px 0 3px rgba(3,2,2,.21);*/
}

.main-navigation .main-nav > ul {
  background: #FFF;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.main-navigation .main-nav ul.sub-menu {
  background: #FFF;
}

.main-navigation .main-nav > ul > li {
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.25s ease;
}
.main-navigation .main-nav > ul > li:first-child > a {
  padding-top: 2px !important;
}

.main-navigation .main-nav > ul > li > a {
  padding: 0 20px 0 30px !important;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transition: all 0.25s ease;
  color: #51a319 !important;
}

.main-navigation .main-nav ul ul {
  border-bottom: none !important;
}

.main-navigation .main-nav > ul > li.sfHover,
.main-navigation .main-nav ul ul > li > a {
  background: #f9f9f9 !important;
}

.main-navigation .main-nav ul ul li a {
  position: relative;
  padding: 16px 20px 16px 46px !important;
  border-top: 1px solid #ededed;
  color: #51a319;
}

.main-navigation .main-nav ul ul li a:before {
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23444444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>');
  background-size: 14px 14px;
  display: block;
  position: absolute;
  width: 14px;
  height: 14px;
  left: 28px;
  top: 19px;
}

.main-navigation .main-nav > ul > li:hover {
  background: #f9f9f9;
  transition: all 0.25s ease;
}

.main-navigation .main-nav > ul > li a:hover {
  color: #444 !important;
  transition: all 0.25s ease;
}

@media (min-width: 970px) {
  .menu-item-has-children .dropdown-menu-toggle {
    display: none;
  }
  .main-navigation {
    padding-right: 30px;
  }
  .main-navigation .main-nav > ul {
    background: none;
    box-shadow: none;
    padding-top: initial;
  }
  .main-navigation .main-nav > ul > li {
    padding-left: 0;
    padding-right: 0;
    border-bottom: none;
    transition: border 0.25s ease;
  }
  .main-navigation .main-nav > ul > li > a:hover, .main-navigation .main-nav > ul > li.current-menu-ancestor > a, .main-navigation .main-nav > ul > li.current-menu-item > a {
    border-top: 2px solid #FFF;
    transition: border 0.25s ease;
  }
  .main-navigation .main-nav > ul > li:first-child > a {
    padding-top: 8px !important;
  }
  .main-navigation .main-nav > ul > li:hover {
    background: none;
  }
  .main-navigation .main-nav > ul > li > a {
    padding: 8px 10px !important;
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transition: all 0.25s ease;
    color: #444 !important;
  }
  .main-navigation .main-nav > ul > li a:hover {
    color: #FFF !important;
    transition: all 0.25s ease;
  }
  .main-navigation .main-nav > ul > li.sfHover,
  .main-navigation .main-nav ul ul > li > a {
    background: none !important;
  }
  .main-navigation .main-nav ul ul {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }
  .main-navigation .main-nav ul ul li a {
    padding: 15px 16px !important;
    transition: all 0.25s ease;
  }
  .main-navigation .main-nav ul ul li a:before {
    content: none;
  }
  .main-navigation .main-nav ul ul li a:hover {
    color: #444 !important;
    transition: all 0.25s ease;
  }
  .archive .main-navigation .main-nav ul > .menu-item-10738 > a,
  .single-post .main-navigation .main-nav ul > .menu-item-10738 > a,
  .main-navigation .main-nav ul > li:hover a {
    border-top: 2px solid #FFF;
  }
}
.has-inline-mobile-toggle #site-navigation.toggled {
  margin-top: 0;
}

#mobile-menu-control-wrapper {
  height: 70px;
}
#mobile-menu-control-wrapper .menu-toggle {
  height: inherit;
  color: #FFF;
  background-color: transparent;
  padding-right: 20px;
}

@media (min-width: 901px) {
  #mobile-menu-control-wrapper {
    height: auto;
  }
}
#page.grid-container {
  margin-top: 0;
  background: none;
}

@media (min-width: 768px) {
  #page.grid-container {
    margin-top: 0px;
  }
}
.content-area .site-main {
  position: relative;
}

.content-area .site-main > .page {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

body.home .content-area .site-main > .page {
  max-width: 960px;
}

/* content || headline block */
.headline-block {
  display: block;
}

.headline-block p:first-child {
  margin-top: 2.4em;
  font-size: 1.3rem;
  font-family: "Titillium Web";
  max-width: 416px;
  color: #666;
  margin-bottom: 0.2em;
}

.headline-block ul:first-child {
  list-style-type: none;
  margin: 0 0 1em;
}

.headline-block ul:first-child > li {
  display: list-item;
  font-size: 1.35rem;
  padding-left: 1.3em;
  position: relative;
  color: #666;
}

.headline-block ul:first-child > li:before {
  content: "";
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h20v20h-20z" fill="none"/><path d="m14.83 4.89 1.34.94-5.81 8.38h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4z"/></svg>') no-repeat;
  background-size: 24px 24px;
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
  top: 6px;
}

.headline-block h1 {
  font-size: 1.6rem;
  font-family: "Titillium Web";
  color: #51a319;
  margin-bottom: 0.6em;
  line-height: 130%;
}

@media (min-width: 576px) {
  .headline-block h1 {
    font-size: 1.8rem;
  }
}
@media (min-width: 992px) {
  .headline-block h1 {
    font-size: 1.9rem;
  }
}
@media (min-width: 1200px) {
  .headline-block p:first-child {
    font-size: 24px;
  }
  .headline-block h1 {
    font-size: 2.5rem;
  }
}
/* after header */
body.page-template-page-template-landing-page .threefacts__container {
  display: none !important;
}
body.page-template-page-template-landing-page picture.branding {
  margin-top: -30px;
}

@media (min-width: 768px) {
  body.page-template-page-template-landing-page .headline-block {
    min-height: 218px;
  }
}
.threefacts__container {
  box-shadow: rgba(0, 0, 0, 0.1) 0 3px 5px inset;
}

.threefacts__list {
  padding: 16px 0;
  margin: 0 28px;
  list-style: none;
}

.threefacts__list > li {
  line-height: normal;
  font-size: 0.88rem;
  margin-top: 4px;
  margin-bottom: 4px;
  padding-left: 24px;
  position: relative;
  display: block;
  padding-right: 18px;
}
.threefacts__list > li:before {
  position: absolute;
  content: "";
  background: url("load/img/check-square-green.svg") no-repeat;
  display: inline-block;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
  background-size: 16px;
}

@media (min-width: 768px) {
  .threefacts__list > li {
    display: inline;
    font-size: 0.94rem;
    padding-right: 22px;
  }
  .threefacts__list > li:before {
    width: 18px;
    height: 18px;
    background-size: 18px;
  }
}
/* content */
@media (max-width: 768px) {
  .home.one-container .site-content {
    padding: 0 30px 30px 30px !important;
  }
}
.one-container.right-sidebar .site-main {
  margin-bottom: 40px !important;
}

.inside-right-sidebar > aside {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* content || headlines */
.page-title,
.entry-title,
h1,
h2,
h3 {
  font-family: "Titillium Web", Arial, Helvetica, sans-serif;
  font-weight: 400;
}

/* content || tables */
.entry-content tbody tr {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.entry-content tbody td:first-child {
  flex: 1 0 100%;
}
.entry-content tbody td:nth-child(2),
.entry-content tbody td:nth-child(3) {
  width: 50%;
  text-align: center;
}

@media (min-width: 768px) {
  .entry-content tbody tr {
    display: table-row;
    flex-direction: initial;
    flex-wrap: initial;
  }
  .entry-content tbody td:first-child {
    flex: none;
  }
  .entry-content tbody td:nth-child(2),
  .entry-content tbody td:nth-child(3) {
    width: 35px;
  }
}
/* content || forms */
.frm-show-form br {
  display: none;
}

.frm_style_formidable-style.with_frm_style .form-field,
.frm-show-form p {
  margin-bottom: 0;
}

.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button {
  position: relative;
  z-index: 1;
  background: none !important;
  background-image: linear-gradient(#f55c2d, #e34514) !important;
  /*transition: all .45s ease;*/
  /*
  &:before {
      content: '';
      position: absolute;
      z-index: -1;
      left:0;
      top:0;
      width: 100%;
      height:100%;
      display: block;
      opacity: 0;
      background-image: linear-gradient(180deg,#e34514,#f55c2d);
      transition: opacity .45s ease;
  }
  */
}
.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button:hover:before {
  opacity: 1;
  transition: opacity 0.45s ease;
}

.frm_style_formidable-style.with_frm_style .frm_page_num_2 .frm_submit .submit_inner {
  justify-content: flex-end;
}

/* content || p */
.dynamic-entry-content p,
.entry-content p {
  line-height: 160%;
}
.dynamic-entry-content p br,
.entry-content p br {
  display: block !important;
  margin: 0 0 14px !important;
  content: "";
}

p.small-width {
  display: none;
  margin-bottom: 2em !important;
}

@media (min-width: 768px) {
  p.small-width {
    display: block;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.4em !important;
  }
}
.small-content-block {
  max-width: 600px;
  width: 100%;
  display: block;
  margin: 0 auto 2em;
}

/* content | top posts - columns-posts */
.columns-posts {
  padding: 3em 0;
  margin-bottom: 0;
  position: relative;
}

.columns-posts p a:last-child {
  margin-top: 0.8em;
  display: block;
  text-decoration: underline;
  color: #555;
  transition: color 0.25s ease;
}

.columns-posts p a:last-child:hover {
  transition: color 0.25s ease;
  color: #51a319;
}

.wp-block-columns.columns-posts {
  flex-wrap: wrap !important;
}
.wp-block-columns.columns-posts .wp-container-4 {
  display: flex;
  gap: 2em;
}
.wp-block-columns.columns-posts h3 {
  font-size: 1.6rem;
  flex: 1 0 100%;
}

.wp-block-columns.columns-posts:after {
  background: #f7f7f7;
  content: "";
  width: calc(100% + 60px);
  position: absolute;
  height: 100%;
  z-index: -1;
  top: 0;
  left: -30px;
  right: -30px;
}

@media (min-width: 768px) {
  .wp-block-columns.columns-posts:after {
    content: "";
    width: calc(100% + 80px);
    position: absolute;
    height: 100%;
    z-index: -1;
    top: 0;
    left: -40px;
    right: -40px;
  }
}
@media (min-width: 992px) {
  .wp-block-columns.columns-posts:after {
    background: #f7f7f7;
    content: "";
    width: 700%;
    position: absolute;
    height: 100%;
    z-index: -1;
    top: 0;
    left: -300%;
    right: -300%;
  }
}
.wrapper-post {
  height: 100%;
  margin: 1.2em 0;
}
.wrapper-post strong.title {
  font-weight: normal;
  display: block;
  margin-bottom: 1em;
}
.wrapper-post strong.title > a {
  font-size: 1.2em;
  display: block;
}
.wrapper-post .teaser {
  -webkit-hyphens: auto;
          hyphens: auto;
}
.wrapper-post a.more {
  width: 100%;
  margin-top: 0.8em;
  display: block;
  -webkit-hyphens: auto;
          hyphens: auto;
  color: #666;
  text-decoration: underline;
}
.wrapper-post a.more:hover {
  color: #51a319;
}

/* bg dots, widget-title */
.bg-dots, .widget-title {
  position: relative;
  overflow: hidden;
  line-height: normal;
}

.bg-dots:after, .widget-title:after {
  content: ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::";
  font-size: 8px;
  letter-spacing: 2px;
  padding: 8px 0 0;
  margin: 0;
  display: flex;
  position: relative;
}

p.bg-dots:after {
  padding-top: 5px;
  font-size: 8px;
}

@media (min-width: 576px) {
  .bg-dots:after, .widget-title:after {
    content: ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::";
    font-size: 8px;
    letter-spacing: 2px;
    padding: 8px 0 0 10px;
    margin: 0;
    display: inline-block;
    position: absolute;
  }
}
.entry-summary {
  margin-bottom: 2.2em;
}

/* content typo */
h2.entry-title,
h2 {
  font-size: 21px;
  line-height: normal;
}

h2.entry-title {
  font-size: 18px;
}

@media (min-width: 992px) {
  h2.entry-title {
    font-size: 21px;
  }
}
h2.icon-check {
  display: block;
  position: relative;
  font-size: 1.5em;
  margin: 0 0 1em;
  padding-left: 0;
  text-align: left !important;
}

@media (min-width: 576px) {
  h2.icon-check {
    display: table;
    font-size: 1.8em;
    margin: 0 auto 1em;
    padding-left: 54px;
    text-align: center !important;
  }
  h2.icon-check:before {
    content: "";
    display: block;
    background: url("load/img/icon-check-green.svg") no-repeat;
    background-size: 52px;
    width: 52px;
    height: 52px;
    position: absolute;
    left: 0;
    top: -9px;
  }
}
.h6 {
  margin-bottom: 0.6em;
  display: inline-block;
}

/* content stuff */
strong.tagline {
  margin-bottom: 2em;
  display: block;
  font-size: 1rem;
}

@media (min-width: 768px) {
  strong.tagline {
    margin-bottom: 0;
    font-size: 1.2rem;
  }
}
.entry-content ul {
  margin-left: 0;
  padding-left: 18px;
}

.entry-content ul > li,
.entry-content ol > li {
  margin-bottom: 0.3em;
}

/*button*/
.button-direktanfrage {
  display: block;
  text-align: center;
  margin-top: 1.8em;
  position: relative;
  width: 100%;
  /* background: linear-gradient(180deg,#9ede4a,#51b02e); green version */
  background: linear-gradient(#f55c2d, #e34514);
  margin-bottom: 20px !important;
  font-family: "Titillium Web";
  font-size: 1.4em;
  transition: all 0.25s ease;
  z-index: 100;
  color: #fff !important;
  padding: 1.1rem 1rem;
}

.button-direktanfrage.orange {
  background: linear-gradient(#f55c2d, #e34514);
  font-size: 1.1rem !important;
}

.branding ~ p {
  margin-bottom: 1em;
}

.branding ~ p .button-direktanfrage {
  max-width: 560px;
  font-size: 1.6em;
  margin: 3em auto 0;
  padding: 1.2rem 1rem;
}

@media (min-width: 576px) {
  .branding ~ p .button-direktanfrage {
    font-size: 2em;
    padding: 1.6rem 1.2rem;
  }
}
.branding ~ p .button-direktanfrage:before {
  content: "Anfrage starten:";
  font-size: 1.2rem;
  position: absolute;
  left: 0;
  top: -2.4rem;
  color: #666;
}

.button-direktanfrage:after {
  border-radius: inherit;
  /* background: linear-gradient(180deg,#a7e15b,#59c332); green version*/
  background: linear-gradient(180deg, #e34514, #f55c2d);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  z-index: -100;
  transition: opacity 0.45s ease;
}

.button-direktanfrage.orange:after {
  border-radius: inherit;
  background: linear-gradient(180deg, #e34514, #f55c2d);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  z-index: -100;
  transition: opacity 0.45s ease;
}

.button-direktanfrage:hover:after {
  opacity: 1;
}

.button-direktanfrage-neu {
  cursor: pointer;
  margin-top: 1.8em;
  padding: 1.1rem 1rem;
  transition: 0.25s;
  color: white;
  background-image: linear-gradient(#f55c2d, #e34514 50%, #f55c2d);
  background-position: 0 center;
  width: 100%;
  color: #fff !important;
  margin-bottom: 16px !important;
  text-align: center;
  font-size: 1.4em;
  font-family: "Titillium Web";
  /*

      display: block;
      text-align: center;
      margin-top: 1.8em;
      position: relative;

      background: linear-gradient(#f55c2d,#e34514);
      margin-bottom: 20px !important;
      font-family: 'Titillium Web';
      font-size: 1.4em;
      transition: all .25s ease;
      z-index: 100;
      color: #fff!important;
      padding: 1.1rem 1rem;

      */
}
.button-direktanfrage-neu:hover {
  background-position: 0 -8px; /* change the direction of the change here */
}

/* blog comments */
p.comment-form-cookies-consent,
p.comment-form-datenschutz-consent {
  margin: 0;
  display: flex;
  align-items: flex-start;
  flex-flow: wrap;
  position: relative;
}
p.comment-form-cookies-consent input,
p.comment-form-datenschutz-consent input {
  min-width: 1rem;
  width: 1rem;
  height: 1rem;
  display: block;
  margin: 6px 8px 0;
  position: relative;
  margin-left: 1px;
}
p.comment-form-cookies-consent label,
p.comment-form-datenschutz-consent label {
  flex: 1;
  display: inline-block;
  margin: 0.2em 0 1em;
}

textarea#comment + div.error {
  display: none !important;
}

#author-error.error,
#email-error.error,
#comment_form_datenschutz_consent-error.error {
  width: 100%;
  display: block !important;
  color: darkred !important;
  margin-bottom: 6px;
}

#comment-error.error {
  position: relative;
  text-indent: -999em;
  display: block;
}
#comment-error.error:before {
  content: "Bitte Kommentar angeben";
  position: absolute;
  display: block;
  width: 100%;
  height: 25px;
  color: #8b0000;
  text-indent: 0;
}

.comment-form-comment textarea.error {
  margin-top: 8px;
}

/* blog archive */
.archive .page-header {
  display: none;
}

.one-container.archive .post:not(:last-child), .one-container.blog .post:not(:last-child) {
  padding-bottom: 24px;
  border-bottom: 1px solid #e8e8e8;
}

.inline-post-meta-area {
  font-size: 0.75rem !important;
}
.inline-post-meta-area .gb-headline .gb-icon + span {
  white-space: nowrap;
}

.single .inline-post-meta-area {
  margin-top: 0;
}

@media (min-width: 576px) {
  .inline-post-meta-area {
    font-size: 0.8rem !important;
  }
}
@media (min-width: 980px) {
  .inline-post-meta-area {
    font-size: 0.86rem !important;
  }
}
/* blog widget */
p.text-aligned-center {
  margin-bottom: 1em;
  text-align: center;
}
p.text-aligned-center a {
  display: inline-block;
}

.widget_nav_menu .menu > li {
  display: block;
  padding-left: 20px;
}

.widget_nav_menu .menu > li a,
.widget_nav_menu .menu > li a:hover {
  transition: all 0.25s ease;
}

.site-footer .inside-site-info {
  padding-top: 8px;
}

.site-footer .inside-site-info.grid-container {
  background: #f0f0f0;
}

.footer-bar .widget_nav_menu .menu > li {
  width: 100%;
  padding: 14px 0 !important;
  border-bottom: 1px solid #ddd;
}

.footer-bar-align-right .copyright-bar {
  margin: 1.5em 0 0.7em;
}

@media (min-width: 768px) {
  .footer-bar .widget_nav_menu .menu > li {
    border: none !important;
    padding: 0;
    width: auto;
  }
  .site-footer .inside-site-info.grid-container {
    background: none;
  }
  .site-footer .inside-site-info {
    flex-direction: column-reverse;
    padding: 24px 30px 36px;
  }
  .footer-bar-align-right .copyright-bar {
    margin: 0 auto;
  }
}
.widget_nav_menu .menu > li:before {
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23aaaaaa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>');
  background-size: 14px 14px;
  width: 14px;
  height: 14px;
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
}

.widget_nav_menu .menu > li a {
  display: inline-block;
}

#menu-footer li:before {
  content: none;
}

/* blog comments */
.comment-body {
  position: relative;
}

.posted-by-admin .comment-author-info {
  padding-left: 60px;
}

.ccreator {
  margin-right: 10px;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  position: absolute;
  left: 0;
  top: 30px;
}

.wp-admin .ccreator {
  display: none !important;
}

/* blog form */
input#author,
input#email,
input#url {
  width: 100%;
}

/* blog button SC */
.button.orange {
  box-shadow: inset 0px 1px 0px 0px #fce2c1;
  background: linear-gradient(#f55c2d, #e34514);
  font-size: 1.1em;
  border-radius: 4px;
}

/* blog alert SC */
div.alert {
  margin-bottom: 1.4em;
}

div.alert p {
  margin-bottom: 0.6rem;
}

div.alert p:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

div.alert a {
  text-decoration: underline;
}
div.alert ul {
  padding-left: 1.1rem !important;
  margin: 0 !important;
}

div.alert.white {
  padding: 20px 24px;
  background: #fff;
  border: 1px solid #d9d9d9;
}

div.alert.green {
  position: relative;
  padding: 20px 24px 20px 64px;
  color: #4f8a10;
  background: #e0f2bf;
  border: 1px solid #4F8A10;
}

div.alert.green:before {
  content: "";
  display: block;
  background: url("load/img/icon-check-green.svg") no-repeat;
  background-size: 36px 36px;
  width: 36px;
  height: 36px;
  position: absolute;
  left: 10px;
  top: 14px;
}

/* post navigation */
.single-post-nav p > a {
  display: inline-block;
  font-size: 0.9em;
  line-height: normal;
}

/* posts yarpp */
.related-post a > abbr {
  display: none;
}

/* prefooter */
.wp-block-archives-dropdown > label {
  display: none;
}

.wp-block-archives-dropdown select {
  width: 100%;
}

.wp-block-navigation__container,
.most-commented {
  display: block !important;
  margin: 0;
  list-style-type: none;
}

.wp-block-navigation__container li,
.most-commented li {
  display: list-item !important;
  line-height: normal;
  padding: 5px 0 5px 18px !important;
  position: relative;
}

.wp-block-navigation__container li:before,
.most-commented li:before {
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23aaaaaa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>');
  background-size: 14px 14px;
  width: 14px;
  height: 14px;
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
}

.wp-block-navigation__container a span,
.most-commented a {
  transition: color 0.2s linear;
  color: #999999;
}

.wp-block-navigation__container a:hover span,
.most-commented a:hover {
  transition: color 0.2s linear;
  color: #fafafa;
}

/* widgets */
.widget-area .widget {
  padding: 30px !important;
}
.widget-area .widget.widget_search {
  padding-left: 6px !important;
  padding-right: 6px !important;
}
.widget-area .widget input[type=search] {
  -webkit-appearance: none;
  font-size: 16px !important;
}

#custom_html-4,
#custom_html-5 {
  background: #FAFAFA;
  border: 1px solid #D9D9D9;
  padding: 1em 1.2em 1.4em !important;
  margin: 0 0.4em 1em;
}

.textwidget a {
  display: inline !important;
  padding: 5px;
  margin: -5px;
}
.textwidget hr {
  margin: 0.8em 0 !important;
}
.textwidget .widget-button {
  display: inline-block !important;
}

.widget .search-form {
  justify-content: space-between;
}

.widget .search-form > label {
  width: 100%;
}

.top-posts h5 {
  line-height: normal;
}

.top-posts h5 > a {
  font-size: 0.9em;
}

.link-top-posts {
  display: block;
  margin-bottom: 0.6em;
}

.widget .search-form button.search-submit {
  font-size: inherit;
}

/* footer */
.footer-bar .widget_nav_menu li {
  margin: 0 5px;
}

footer.site-info {
  display: block;
}

/* cookie notice */
.cookies-not-set .site-footer {
  margin-bottom: 72px;
}

/*
#cookie-notice .cookie-notice-container {
    background: #ccc!important;
    max-width: 462px;
    margin: 10px;
}
*/
#cn-close-notice {
  display: none;
}

#cookie-notice .cookie-notice-container {
  padding: 6px 30px;
}

#cn-notice-text a {
  color: inherit;
  text-decoration: underline;
}

#cookie-notice .cn-button {
  color: #fff;
  padding: 9px;
  margin-top: 9px;
  font-weight: 700;
  border: none !important;
  text-decoration: none !important;
  background: #51a319;
  transition: all 0.25s ease;
}

#cookie-notice .cn-button:hover {
  transition: all 0.25s ease;
  background: #55555E;
}

#cn-notice-buttons {
  display: inline-block !important;
  margin: 10px;
}

.cookie-notice-container .cn-text-container {
  margin: 10px 6px 6px;
}

.hardfacts ul {
  margin-left: 0;
  padding: 0 0 0 14px;
}

.hardfacts ul > li {
  position: relative;
  list-style-type: none !important;
  padding-left: 2px !important;
  margin-left: 6px !important;
  line-height: 1.3em !important;
  padding-top: 0.3em !important;
  padding-bottom: 0.3em !important;
  margin-bottom: 0 !important;
}

.hardfacts ul > li:before {
  content: "";
  background: url("load/img/icon-check.svg") no-repeat;
  background-size: 18px 18px;
  width: 20px;
  height: 20px;
  left: -24px;
  display: inline-block;
  top: 4px;
  position: absolute;
}

.hardfacts .wp-block-column:last-child ul {
  display: none;
}

@media (min-width: 768px) {
  .hardfacts .wp-block-column:last-child ul {
    display: block;
  }
}
/* old code */
.flexy {
  display: flex;
}

.pos1, .pos2 {
  flex: 1;
  flex-grow: center;
  text-align: left;
}

.pos1 {
  order: 1;
}

.pos2 {
  display: none;
}

.flexy .check {
  position: relative;
  padding: 0 0 0 14px !important;
}

ul.check {
  margin-left: 0;
}
ul.check > li {
  position: relative;
  list-style-type: none !important;
  padding-left: 2px !important;
  margin-left: 6px !important;
  line-height: 1.3em !important;
  padding-top: 0.3em !important;
  padding-bottom: 0.3em !important;
  margin-bottom: 0 !important;
}

ul.check > li:before {
  content: "";
  background: url("load/img/icon-check.svg") no-repeat;
  background-size: 18px 18px;
  width: 20px;
  height: 20px;
  left: -24px;
  display: inline-block;
  top: 4px;
  position: absolute;
}

@media (min-width: 768px) {
  .pos2 {
    order: 2;
    display: block;
  }
}
/* testimonials */
.testimonials {
  margin: 2.4em 0 3.6em;
}

.et_pb_testimonial {
  position: relative;
}

.et_pb_testimonial:before {
  content: "";
  color: #777;
  top: -13px;
  background: #fff url("load/img/icon-quotations.svg") no-repeat;
  background-size: 32px;
  display: block;
  position: absolute;
  left: 46%;
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.et_pb_testimonial_0 {
  background-color: #f5f5f5;
}

.et_pb_testimonial_author {
  margin: 0;
}

.et_pb_testimonial_description {
  display: flex;
  height: inherit;
}

.et_pb_testimonial_description_inner {
  height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.et_pb_testimonial_description_inner > p {
  margin-bottom: 10px;
}

.testimonials .et_pb_column_1_3 {
  float: none !important;
}

.testimonials.displayflexrow .displayflexcol.hide-mobile {
  display: none;
}

.testimonials.displayflexrow .displayflexcol.first-element-mobile {
  margin-top: 0;
}

.testimonials.displayflexrow .displayflexcol {
  margin-top: 40px;
  margin-right: 0;
  margin-bottom: 0 !important;
}

.testimonials.displayflexrow .et_pb_column.et_pb_column_1_3.displayflexcol.mt0-1 {
  margin-top: 0;
}

.testimonials.displayflexrow .displayflexcol .et_pb_testimonial {
  padding: 30px 28px 28px;
}

.testimonials.displayflexrow .displayflexcol .et_pb_testimonial_description_inner > p {
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
  font-size: 0.9rem;
  line-height: 140%;
}

.testimonials .rating {
  color: #daa520;
  font-size: 1.2em !important;
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}

.testimonials .bottomright {
  display: flex;
  margin-top: auto;
  text-align: center;
  margin-bottom: 0;
}

.testimonials .bottomright > span {
  width: 100%;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #888;
  font-weight: 700 !important;
}

.testimonials .column_break {
  height: 0;
}

.testimonial-note .et_pb_blurb_container, .testimonial-note .et_pb_main_blurb_image {
  vertical-align: middle !important;
}

@media (min-width: 576px) {
  .et_pb_testimonial {
    height: 100%;
  }
  .bottomright {
    padding: inherit;
  }
  .testimonials.displayflexrow .displayflexcol.hide-mobile {
    display: inline-block;
  }
  .testimonials.displayflexrow .displayflexcol.first-element-mobile {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .displayflexrow {
    display: flex;
    flex-wrap: wrap;
  }
  .displayflexcol {
    margin-right: 2.5% !important;
  }
  .et_pb_column.et_pb_column_1_3 {
    flex-basis: 48.7%;
  }
  .et_pb_column.et_pb_column_1_3.displayflexcol.mt0-2 {
    margin-top: 0;
  }
  .displayflexcol.end-of-two-columns {
    margin-right: 0 !important;
  }
  .testimonials .column_break.after_three {
    flex-basis: auto;
  }
  .testimonials .column_break.after_two {
    flex-basis: 100%;
  }
}
@media (min-width: 992px) {
  .et_pb_column.et_pb_column_1_3 {
    flex-basis: 31.6%;
  }
  .et_pb_column.et_pb_column_1_3.displayflexcol.mt0-3 {
    margin-top: 0;
  }
  .displayflexcol.end-of-two-columns {
    margin-right: 2.5% !important;
  }
  .displayflexcol.end-of-three-columns {
    margin-right: 0 !important;
  }
  .testimonials .column_break.after_two {
    flex-basis: auto;
  }
  .testimonials .column_break.after_three {
    flex-basis: 100%;
  }
}
html.stop-overflow {
  overflow: hidden !important;
}

.fancybox-slide--html {
  padding: 0 !important;
}

.fancybox-bg {
  background: rgba(255, 255, 255, 0.96) !important;
}

.fancybox-content {
  border-radius: 0x;
  max-width: 1024px !important;
  width: 94% !important;
  background: none !important;
  padding: 20px 16px !important;
  display: inline-block;
}

.fancybox-content .fb-content {
  margin-top: 20px;
  padding: 1.2em 2.4em;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #d3d3d3;
  box-shadow: 0 0 10px #d3d3d3;
}

@media (min-width: 768px) {
  .fancybox-content .fb-content {
    padding: 2.4em 3.6em;
  }
}
.fancybox-close-small {
  background: #54a127 !important;
  color: #fff !important;
  border-radius: 50% !important;
  top: 27px !important;
  right: 3px !important;
  opacity: 1 !important;
  transition: all 0.25s ease;
}

.fancybox-close-small:hover {
  opacity: 0.8 !important;
  transition: all 0.25s ease;
}

.fancybox-is-open .fancybox-bg {
  opacity: 1 !important;
}

.fb-content .hl > a {
  font-size: 1.3em;
  color: #51a319;
  font-weight: normal;
}

.fb-content h3, .fb-content h4, .fb-content h5, .fb-content h6 {
  font-size: 1.4em;
  margin-top: 1em;
  margin-bottom: 0.4em;
}

.fb-content p {
  font-size: 1em;
  margin-bottom: 0.8em;
}

.fb-content ul {
  list-style-position: inside;
  padding: 1.4em;
  list-style-type: disc;
}

.fb-content a {
  color: #51a319;
}

.fb-content hr {
  margin: 20px 0 30px;
}

.fb-content blockquote {
  font-size: 0.9rem;
  font-style: normal;
  padding: 0 20px;
  border-color: #2ea3f2;
}

.fb-content blockquote h3 {
  margin-top: 0;
}

.fb-content button {
  color: #fff !important;
  background: #51a319 !important;
  border-radius: 6px !important;
  border: none !important;
  font-family: inherit !important;
}

.fb-content button, .fb-content button:hover {
  transition: all 0.5s ease;
}

.fb-content button:hover {
  background-color: #4d4d4d !important;
}

.fb-content .yarpp {
  display: none !important;
}

.wrapper-faq {
  margin: 2.4em auto 3.6em;
}

.accordion {
  max-width: 740px;
  margin: 0 auto 1em;
}

.accordion-header {
  cursor: pointer;
  position: relative;
  padding: 12px 30px 12px 15px !important;
  font-weight: 700;
  line-height: normal;
  color: #666;
  background: #f6f6f5;
  transition: all 0.25s ease;
}

.accordion-header:hover {
  background: #f1eeee;
  transition: all 0.25s ease;
}

.accordion-header > svg {
  color: inherit;
  fill: currentColor;
  position: absolute;
  right: 10px;
  top: 14px;
}

.initial-open > .accordion-header,
.open > .accordion-header {
  color: #fff;
  background: #51a319;
  transition: all 0.25s ease;
}
.initial-open > .accordion-header svg,
.open > .accordion-header svg {
  transform: rotate(180deg);
}

.accordion-content {
  margin: 0;
  padding: 14px;
}

.accordion-content > *:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

.accordion-content {
  display: none;
}

.initial-open > .accordion-content {
  display: block;
  transition: all 0.25s ease;
}

/* formidable and choices.js */
.choices {
  margin-bottom: 0 !important;
}
.choices .choices__list {
  color: #191919;
}

.choices[data-type*=select-one] .choices__inner {
  border-radius: 0;
  border: 1px solid #51a319;
  color: #191919;
  padding: 4px 7.5px !important;
  min-height: 40px !important;
}

.choices__inner .choices__placeholder {
  opacity: 1;
}

.frm_forms {
  padding-top: 0em;
  margin-bottom: 1.2em;
  display: block;
  max-width: 100%;
  width: 100%;
  float: left;
  clear: both;
}

.frm_style_formidable-style.with_frm_style .frm_section_heading {
  margin-top: 0 !important;
}

.with_frm_style input[type=text], .with_frm_style input[type=password],
.with_frm_style input[type=email], .with_frm_style input[type=number],
.with_frm_style input[type=url], .with_frm_style input[type=tel],
.with_frm_style input[type=phone], .with_frm_style input[type=search],
.with_frm_style select, .frm_form_fields_style, .with_frm_style .frm_scroll_box .frm_opt_container,
.frm_form_fields_active_style, .frm_form_fields_error_style,
.with_frm_style .frm-card-element.StripeElement,
.with_frm_style .chosen-container-multi .chosen-choices, .with_frm_style .chosen-container-single .chosen-single {
  border-radius: 0 !important;
  height: 40px !important;
  color: #191919;
  font-size: 16px !important;
}

.with_frm_style textarea {
  border-radius: 0 !important;
  color: #191919 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 16px !important;
}

.with_frm_style textarea::-moz-placeholder {
  font-size: 14px !important;
  color: #555 !important;
}

.with_frm_style textarea::placeholder {
  font-size: 14px !important;
  color: #555 !important;
}

.frm_style_formidable-style.with_frm_style .frm_error {
  padding-top: 3px !important;
}

.frm_forms .frm_rootline .frm_current_page input[type=button] {
  border: none !important;
  background: #51a319 !important;
  opacity: 1 !important;
}

.frm_forms .frm_rootline input {
  border: none !important;
  background: #d6d6d6 !important;
}

/* tooltip */
span.tooltips {
  width: 16px;
  height: 16px;
}

/* textarea */
#frm_field_175_container {
  margin-bottom: 0;
}

/* checkbox */
.with_frm_style .vertical_radio .frm_checkbox input {
  margin-right: 10px !important;
}

.with_frm_style .vertical_radio .frm_checkbox > label {
  display: flex !important;
  flex-direction: row !important;
  text-indent: 0 !important;
  padding-left: 0 !important;
}
.with_frm_style .vertical_radio .frm_checkbox > label span {
  color: #666666 !important;
}

.with_frm_style .frm_checkbox input[type=checkbox]:before {
  -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%);
  border-radius: 0;
}

.frm_style_formidable-style.with_frm_style .frm_submit button {
  border-radius: 0 !important;
  box-shadow: inset 0 0 1px rgba(3, 2, 2, 0.25) !important;
  border: 0 !important;
  background-color: #e34514 !important;
  padding: 6px 36px !important;
  min-height: 54px !important;
  transition: all 0.25s ease;
  color: #FFF !important;
}

.frm_style_formidable-style.with_frm_style .frm_submit button:hover,
.frm_style_formidable-style.with_frm_style .frm_submit button:focus,
.frm_style_formidable-style.with_frm_style .frm_submit button:active {
  background-color: #e34514 !important;
}

img.tooltip {
  vertical-align: middle;
  padding: 0 0 3px;
}

.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button {
  position: relative;
  padding-right: 56px !important;
}
.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button:after {
  content: "";
  background: url("load/img/arrow-right.svg") no-repeat;
  background-size: 20px;
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 24px;
  top: 18px;
  transition: all 0.25s ease !important;
}
.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button:hover {
  /*background: #666!important;*/
  transition: all 0.25s ease;
}
.frm_style_formidable-style.with_frm_style .frm_page_num_1 .frm_submit button:hover:after {
  content: "";
  right: 20px !important;
  transition: all 0.25s ease;
}

.frm_page_num_1 .frm_submit .submit_inner {
  flex-direction: row;
}

.frm_page_num_2 .frm_submit .submit_inner {
  flex-direction: row-reverse;
}

.frm_submit .submit_inner {
  display: flex;
  justify-content: left;
}
.frm_submit .submit_inner button:hover {
  background: #666 !important;
  transition: all 0.25s ease;
}
.frm_submit .submit_inner button.frm_button_submit.frm_final_submit {
  margin-left: 10px !important;
  margin-right: 10px !important;
}
.frm_submit .submit_inner button.frm_prev_page {
  box-shadow: inset 0 0 1px rgba(3, 2, 2, 0.25) !important;
  color: #51a319 !important;
  background: linear-gradient(#fbfbfb, #f1f1f1) !important;
  border: none !important;
  padding-right: 18px !important;
  padding-left: 18px !important;
}

.icon-ssl {
  position: relative;
  padding-left: 24px;
  margin-top: 0.8em;
}
.icon-ssl:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 14px;
  height: 18px;
  display: inline-block;
  background: url("load/img/lock.png") no-repeat;
  background-size: contain;
}

/*posts about author container */
.gb-container.about-dennis {
  position: relative;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 1.8em 0 0 120px;
  margin-bottom: 3.2em;
}

.gb-container.about-dennis:before {
  content: "";
  display: block;
  width: 100px;
  top: 24px;
  position: absolute;
  height: 100px;
  border-radius: 100%;
  background: url("load/img/avatar-dennis.jpg");
  background-size: cover;
  left: 0;
}

/* stoerer */
@media (min-width: 768px) {
  .page .frm_pos_top span.arrow {
    top: -40px;
    position: absolute;
    background: url("load/img/stoerer-jetzt-anfragen.svg") no-repeat 50% 50%;
    background-size: 86% 86%;
    width: 120px;
    height: 116px;
    right: -14px;
    background-color: #fff;
    padding: 20px;
    border-radius: 100%;
    z-index: 1;
  }
}
@media (min-width: 767px) and (max-width: 806px) {
  .page-template-page-template-landing-page .frm_pos_top span.arrow {
    position: absolute;
    background: url("load/img/stoerer-jetzt-anfragen.svg") no-repeat 50% 50%;
    background-size: 90% 90%;
    width: 120px;
    height: 116px;
    right: 0;
    top: -198px;
    background-color: #fff;
    padding: 20px;
    border-radius: 100%;
    z-index: 1;
  }
}
@media (min-width: 807px) {
  .page-template-page-template-landing-page .frm_pos_top span.arrow {
    top: -108px;
    position: absolute;
    background: url("load/img/stoerer-jetzt-anfragen.svg") no-repeat 50% 50%;
    background-size: 90% 90%;
    width: 120px;
    height: 116px;
    right: 0;
    background-color: #fff;
    padding: 20px;
    border-radius: 100%;
    z-index: 1;
  }
}