/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.4.0.1720356215
Updated: 2024-07-07 14:43:35

*/


/*

COLOR
blue var(--accent);
white var(--base-3);
gray: var(--accent-2);


*/

* {
    scroll-behavior: smooth;
    scroll-margin-top: 120px;
}
@media only screen and (max-width: 600px) {
    * {
        row-gap: 20px !important;
    }
}

/*MENU*/
.site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: transparent !important;
    border: none;
    transition: all .3s ease-in-out;  
}

.site-header.scroll{
    background-color: #fff !important;
    border-bottom: solid 1px var(--accent);

}

.site-header .header-image {
    width: 300px;
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 1200px) {
    .site-header .header-image {
        width: 200px;
    }    
    .gb-button {
        margin-right: 0 !important;
    }
}

@media only screen and (max-width: 990px) {
    .site-header .header-image {
        width: 250px;
    }    
}

@media only screen and (max-width: 600px) {
    .site-header .header-image {
        width: 200px;
    }    
}

@media only screen and (max-width: 350px) {
    .site-header .header-image {
        width: 150px;
    }    
}

.home .site-header .sub-menu {
    background: transparent;
    box-shadow: none;
    border-left: solid 4px #fff;
}

.site-header.scroll .sub-menu {
    background: white;
    box-shadow: none;
    border-left: solid 4px #fff;
}

ol, ul {
    margin: 0 0 1.5em 1em;
}

.gp-icon.icon-menu-bars {
    font-size: 35px;
    transition: color .3s ease-in-out;
}

.site-header.scroll .gp-icon.icon-menu-bars {
    color: var(--accent);
}


.inside-header {
    transition: all .3s ease-in-out;  
}

.site-header.scroll .inside-header {
    padding: 20px 30px 20px 30px;
}

.site-header #primary-menu a{
    color: #000;
    font-size: 16px;
}

.site-header #primary-menu a:hover{
    color: var(--accent);
}

.site-header > div {
    max-width: 1500px;
}

.main-navigation ul ul {
    width: fit-content;
    max-width: 300px;
    background-color: #fff;
    color: #000;
}

.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
    background-color: #fff;
    color: #000;
}


@media only screen and (max-width: 1000px) {
    .main-navigation ul ul {
        width: 100%;
        max-width: unset;
        background: transparent;
    }   
    .menu-item-has-children{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items {
        color: var(--accent);
    }
}

.sub-menu .current-menu-item,
.sub-menu a:hover {
    color: var(--accent) !important;
}

.sub-menu li:hover a {
    background: transparent !important;
}

/*HERO STYLING*/
.gb-container-3ebf944a:before {
    opacity: 1 !important;
    mix-blend-mode: multiply;
}

.gb-container-3ebf944a > div {
    z-index: 5;
}

.gb-container-3ebf944a:after {
    content:"";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: var(--accent-2);
    background: linear-gradient(to bottom, rgba(187,187,187,0.8) 0%,rgba(120,139,163,0.6) 65%,rgba(6,56,123,0.5) 100%);
    z-index: 0;
}

.gb-container-526dd89a:after {
    content:"";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: var(--accent-2);
    background: linear-gradient(to bottom, rgba(187,187,187,0.8) 0%,rgba(6,56,123,0.95) 100%);
    z-index: 0;
}


.gb-container-3ebf944a > .gb-shapes .gb-shape-1{
    z-index: 1;
}

.leistungen .wp-block-columns div > div {
    width: 100% !important;
    margin-bottom: 0;
}

.leistungen .specialrow > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

.leistungen .wp-block-columns img {
    max-height: 300px;
    width: 100%;
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 600px) {
    .terminanfrage {
        border: none !important;
    }
    .leistungen .wp-block-columns img {
        max-height: unset;
        aspect-ratio: 2 /1 !important;
    }
}


/*FONTS*/
h1 {
    font-size: 50px !important;
}

h2 {
    font-size: 35px !important;

}

h3 {
    font-size: 30px !important;

}

@media only screen and (max-width: 1000px) {
    h1 {
        font-size: 40px !important;
    }
    h2 {
       font-size: 30px !important;;
    }
    h3 {
        font-size: 25px !important;;
     }
}

@media only screen and (max-width: 600px) {
    h1 {
        font-size: 33px !important;
    }
    h2 {
       font-size: 25px !important;;
    }
    h3 {
        font-size: 20px !important;;
     }
}




h1, h2, h3 {
    margin-bottom: 1.5rem !important;
    margin-top: 0 !important;
}

h1 + h2,
h2 + h3 {
    margin-top: -1rem !important;
}

p + h1,
p+ h2,
p + h3 {
    margin: 3rem 0 1rem !important;
}

img {
    margin-bottom: 1rem !important;
}

.gb-button {
    margin-top: 1.5rem !important;
}

/*Footer*/
.site-footer, 
.site-footer a,
.site-footer p{
    color: #000 !important;
}

.site-footer > div {
    margin-top: 0;
}

.site-footer a {
    white-space: nowrap;
}


.site-footer ul{
display: block !important;
}
.site-footer ul li {
    display: block !important;
    margin: 0 0 .5rem !important
}

@media only screen and (max-width: 1000px) {
    .site-footer .wp-block-columns{
        gap: 0 !important;
        margin-bottom: 0;
    }
}
/*ELEMENTS*/

body input[type=email], 
body input[type=number], 
body  input[type=password], 
body input[type=search], 
body input[type=tel], 
body input[type=text], 
body  input[type=url], 
body  select, 
body  textarea{
    border: solid 1px #ddd;
    width: 100%;
}

.inside-header {
    padding: 20px 30px !important;
}

.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header {
    padding: 120px 30px 0px 30px;
}



.wp-block-image img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.wp-block-gallery .wp-block-image img {
    aspect-ratio: unset;
    object-fit: unset;
}

@media (max-width: 1024px) {
    .reverse {
        flex-direction: column-reverse;
    }
}

@media (max-width: 767px) {
    .wp-block-image img {
     aspect-ratio: 16 / 9;
     object-fit: cover;
    }
    .wp-block-gallery .wp-block-image img {
     aspect-ratio: unset;
     object-fit: unset;
    }
    .smallhero {
        padding: 225px 20px 30px !important;
    }
   }

.wp-block-image.regular img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

.gb-button{
    width: fit-content;
    max-width: max-content;
}

.gb-button-wrapper {
    justify-content: flex-start !important;
}


.hero {
    position: relative;
}

.hero .herovid video{
    position: absolute;
    top: 0;
    left: 0;
    height: 99%;
    width: 100%;
    z-index: 0;
    object-fit: cover;
  }
  /*
  @media (max-width: 767px) {
    .hero .herovid video{
      display: none;
    }
  }*/

  /*subfooter*/
  .gb-container-b706d851 .gb-button:not(#fakeid){
    margin-top: 0 !important;
  }
  @media (max-width: 600px) {
        .gb-container.gb-container-b706d851 {
            width: 100%;
            flex-direction: row;
            justify-content: center;
            row-gap: 0px;
        }
  }




/*SEO PAGES*/

.seo-page .smallhero{
    position: relative;
    height: 400px;
    background-size: cover;
    background-position: center;
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
    margin-bottom: 6rem;
}

    @media (max-width: 1100px) {
        .seo-page .smallhero{
            height: 350px;
        }
    }

    @media (max-width: 768px) {
        .seo-page .smallhero{
            height: 250px;
        }
    }

    @media (max-width: 500px) {
        .seo-page .smallhero{
            height: 200px;
        }
    }



.seo-page .smallhero:after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, 
        rgba(187, 187, 187, 0.8) 0%,
        rgba(120, 139, 163, 0.6) 65%, 
        rgba(6, 56, 123, 0.5) 
    100%);
}

.seo-page .bereich {
    position: relative;
    display: block;
    margin-bottom: 100px;
}

.seo-page .bereich.half{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 35px;
}
@media (max-width: 768px) {
    .seo-page .bereich.half{
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
    }
}

.seo-page .benefit ul{
    list-style-type: none;
    font-size: 1.3rem;
    padding-left: 1rem;
}

.seo-page .benefit li{
    position: relative;
    display: block;
    margin-bottom: 1.5rem;
}

.seo-page .benefit li:after{
    content: "";
    position: absolute;
    left: -3rem;
    top: -7px;
    border: solid var(--accent);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-width: 0 0 4px 4px !important;
    height: 10px;
    width: 20px;
    margin: 17px 0 0 14px;
}

.seo-page .kontakt > div {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    gap: 35px;
}

@media (max-width: 768px) {
    .seo-page .kontakt > div {
        flex-direction: column-reverse;
        gap: 15px;
    }
}

.seo-page .kontakt > div .contactinfo{
    width: 100%;
    max-width: 300px;
}

@media (max-width: 768px) {
    .seo-page .kontakt > div .contactinfo{
        max-width: unset;
    }
}

.seo-page .gb-button {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    padding: 16px 24px;
    background-color: var(--accent);
    color: var(--base-3);
    text-decoration: none;
    margin-top: 0;
}


.seo-page .gb-button:hover,
.seo-page .gb-focus-visible:hover{
    background-color: #032045;
}


/*TOGGLES*/
details{
    position: relative;
    display: block;
    margin-bottom: 30px;
    cursor: pointer;
}

summary {
    position: relative;
    padding-bottom: 15px;
    border-bottom: solid 2px var(--accent);
    padding-left: 25px;
    font-weight: bold;
}

summary:before{
    content: '+';
    position: absolute;
    top: 0;
    left: 0;
    color: var(--accent);
    font-size: 2rem;
    line-height: 0.75;
    font-weight: 400;
}

details[open] > summary:before{
    content: '-';
}

details p {
    padding: 20px;
    background: #eee;
}


details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}



