/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         lutzgestaltet
 Author URI:     https://www.lutzgestaltet.de
 Template:       Divi
 Version:        1.0.0
*/

body {
    hyphens: auto;
}

body.page-id-2 {
    hyphens: none;
}

body.page-id-2 #main-header, body.page-id-2 #main-footer, body.page-id-19 #main-footer, #main-footer, body.page-id-2 #contactbar {display: none;}

body.page-id-2 #main-content {
    height: 100vh;
    display: flex;
    align-items: center;
    background: #d7d5dd !important;
}

body.page-id-2 #post-2 {
    width: 100%;
}

body.page-id-19 #main-header, header {
    background-color: transparent;
    height: 125px;
}


body.page-id-19 #main-footer {
    background-color: #78113e;
}


body.page-id-19 #footer, body.page-id-19 #contactbar, body.page-id-19 #et-top-navigation {
    display: none !important;
}


/* ===================================
    Schriften
====================================== */

h1, h2, h3, h4, h5, h6, p, a, .et_mobile_menu li a, .et_pb_text_inner {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
}

a, p, h4, .para, .et_pb_text_inner {
    color: black !important;
    font-size: 16px !important;
    padding-bottom: 0 !important;
    line-height: 1.6em;
}

h1, h2, h2 a {
  font-size: 32px !important;
    hyphens: none;
}

h4 {
    font-weight: 600;
}

.white h1, .white p {
    color: white !important;
}


body.page-id-19 .et_mobile_menu li a{
    color: white !important;
}

h1 {
    font-size: 32px !important;
    line-height: 1.2em;
    color: black;
    font-family: Arial, Helvetica, sans-serif;
    font-style: normal;
}

@media all and (max-width: 980px) {
   h1, h2, h2 a {
    font-size: 32px !important;
}
}

@media all and (max-width: 500px) {
    h1, h2, h2 a {
    font-size: 24px !important;
}
}

@media all and (max-width: 285px) {
    h1, h2, h2 a {
    font-size: 20px !important;
}   
    
    #start h1 {
        padding-bottom: 0px;
}
}

@media all and (max-width: 285px) {
    p {
    font-size: 1em !important;
}   
    h1, h2, h2 a {
    font-size: 1.2em !important;
}   

}



    
/* ===================================
    Allgemein
====================================== */ 

.np {padding: 0px !important;}
.npt {padding-top: 0px !important;}
.npb {padding-bottom: 0px !important;}
.nplr {padding-left: 0px; padding-right: 0px;}
.npl {padding-left: 0px;}
.npr {padding-right: 0px;}
.nmb {margin-bottom: 0px !important;}
.vw {width: 100vw;max-width: 100vw;}
.vh {height: 100vh;}
.fc {width: 100%;}
.autoheight {
    height: 100vh;
}
.dflex {display: flex;}

.gm {
    min-height: 25vw;
    display: flex;
    justify-content: center;
    align-items: center;
}


.valign {
    display: flex;
    justify-content: center;
    align-items: center;
}

.start1 {
    width: 33% !important;
    margin-right: 0 !important;
    margin-bottom: 0;
}

.start2 {
    width: 67% !important;
}

.start1_m .et_pb_module {
    margin-bottom: 0;
}


.extrapad {
    padding-top: 4.5em;
    padding-bottom: 4.5em;
}

.btn {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 16px;
    background-color: #78113E;
    color: white !important;
    border: none;
    padding: 15px 20px !important;
}



@media all and (max-width: 768px) {
.extrapad {
    padding-top: 7.5em;
    padding-bottom: 7.5em;
}
}
@media all and (min-width: 501px) {
    .mbrake {
        display: none;
    }
}

@media all and (max-width: 500px) {
.extrapad {
    padding-top: 4em;
    padding-bottom: 4em;
}
    
    .mbrake {
        display: block;
    }
}

@media all and (max-width: 400px) {
.extrapad {
    padding-top: 3em;
    padding-bottom: 3em;
}
}

@media all and (max-width: 300px) {
.extrapad {
    padding-top: 2em;
    padding-bottom: 2em;
}
}

@media all and (max-width: 250px) {
.extrapad {
    padding-top: 1em;
    padding-bottom: 1em;
}
}
/* ===================================
    Social Media Iconbar
====================================== */

#socialmenu {
    float: left;
    margin-top: 5px;

}
.smimg {width: 20px; height: auto;}
.sml:first-of-type, .smlb:first-of-type {
    margin-right: 10px;
}

#socialmenu a {
    margin-right: 10px;
}
/* ===================================
    Header
====================================== */

body.page-id-19 .logo_container {display: none;}

#main-header .container {
    height: 125px;
margin: 0 auto;

}
body.page-id-19 #main-header .container {
    height: unset;
margin: auto;

}

.logo_container {height: 125px;}

body.page-id-19 #main-header {display: flex;}

#main-header {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none!important;
    box-shadow: none!important;
}


.et_mobile_menu {
    border: 0px;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none!important;
    box-shadow: none!important;
}


#main-header.et-fixed-header {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;   
}

#logo {
    float: right;
    max-height: 100% !important;
    height: auto !important;
    max-width: 330px !important;
    object-fit: contain;
    padding: 18px 0;
}

@media all and (max-width:980px) {
    .et_header_style_left #et-top-navigation {
        display: flex !important;
    }
    #logo {
        max-width: 100% !important;
    }
}

@media all and (max-width: 450px) {
    body.page-id-38 #et-top-navigation,  body.page-id-41 #et-top-navigation {
        padding: 10px !important;
        align-items: center !important;
        margin: 100px 0 0 0 !important;
        height: 60px;
        width: 100%;
display: flex !important;
justify-content: center;

    }    
    body.page-id-19 #et-top-navigation {
        margin-top: unset;

    }
    
    #main-header .container {
        width: 100%;
        margin: 0;
    }    
    #main-header .logo_container {
        width: 100%;
        margin: 0;
        background: #ffffff;
    }
    
    #main-header {
        height: 185px;
    }
    
    #logo {
        height: auto !important;
        max-height: 125px !important;
        max-width: 82% !important;
    }
    
    .logo_container {
          justify-content: center;
        display: flex;
}
    }

@media all and (max-width: 980px) {
    .et_pb_row.et_pb_equal_columns > .et_pb_column, .et_pb_section.et_pb_equal_columns > .et_pb_row > .et_pb_column {
  -ms-flex-order: 1;
  -webkit-box-ordinal-group: 2;
  order: 1;
}
}

/* ===================================
    Navigation
====================================== */


#et-top-navigation {
    float: right;
    padding: 0 0 0 0 !important;
    margin-right: 200px;
    height: 125px;
    display: flex;
    align-content: center;
    align-items: center;
    z-index: 9999;
position: relative;
}

.et_mobile_menu li  {
height: 25px;
display: flex;
width: 100%;
text-align: center;
justify-content: center;
align-items: center;
margin-bottom: 5px;

}

.et_mobile_menu li a {
    border-bottom: 0px;
}

.et_mobile_menu li a:hover, .nav ul li a:hover {
  background-color: transparent;
  opacity: 1;
}

body.page-id-19 #et-top-navigation {
    float: right;
    padding: 0 0 0 0 !important;
    margin-right: unset;
    height: unset;
    position: unset;
    display: flex;
    align-items: center;
    }

body.page-id-19 .et_header_style_left #et-top-navigation .mobile_menu_bar{
    padding-top: 0;
}
.et_header_style_left #et-top-navigation .mobile_menu_bar{
    padding-top: 24px;
}

@media only screen and (min-width: 981px) {
  #et_mobile_nav_menu {    
    display: block;
  }
  #top-menu-nav, #top-menu, #et_top_search {    
    display: none !important;
  }
}

body.page-id-19 .mobile_menu_bar::before, body.page-id-19 .mobile_menu_bar::after {
    color: white !important;
}

.mobile_menu_bar::before, .mobile_menu_bar::after {
    color: black !important;
}

body.page-id-19 .sml {display: inline-block;}
.sml, body.page-id-19 .smlb {display: none;}

/*
#mobile_menu {
    padding: 0;
display: flex;
justify-content: flex-end;
} */


#mobile_menu li a {padding: 0px;}


#smenu, #mmenu {
    float: right;
    width: auto;
}

body.page-id-19 #mobile_menu {
    background: transparent;
    padding: 0;
    width: auto;
position: absolute;
right: 0;
left: unset;
}


body.page-id-19 .mobile_menu_bar {
    padding: 24px 0 !important;
}

.mobile_menu_bar {
    height: 125px;
padding: 0 !important;
display: flex;
align-items: center;
}

@media all and (min-width: 451px) {
#mobile_menu {
    width: 182px;
    left: 50px;
    padding: 10px 0;
    }

    #menu-item-44 a {margin-right: 20px;}
}

@media all and (max-width: 450px) {
    #mobile_menu {
        width: 100%;
        text-align: center;
}
    #menu-item-44 a {margin-right: 0px;}
    
    .mobile_menu_bar {
  padding: 0px 0 !important;
}
    
    .mobile_menu_bar {
        height: auto;
    }
    
    #et-top-navigation {
        display: flex;
        position: relative;
        top: 100%;
        margin: 0;
        float: unset;
        text-align: center;
        justify-content: center;
        height: auto;
        padding-top: 15px !important;
        height: 50px;
    }
    
    #start {
        padding-top: 0px;
}
}

/* ===================================
    Footer
====================================== */

#footer {
    margin-top: -1px;
    background-color: #78113e !important;
}

#footer,
#footer .et_pb_text_inner,
#footer .et_pb_text_inner p,
#footer .et_pb_text_inner h1,
#footer .et_pb_text_inner h2,
#footer .et_pb_text_inner h3,
#footer .et_pb_text_inner h4,
#footer .et_pb_text_inner h5,
#footer .et_pb_text_inner h6,
#footer a {
    color: #ffffff !important;
}

#footer a:hover {
    color: #ffffff !important;
    text-decoration: underline;
}
    
    #footer-bottom {display:none;}

#social {
    margin-top: 15px;
    display: flex;
}
#social .barimg:nth-of-type(1){
    margin-left: -3px;
}


/* ===================================
    START
====================================== */

#start .et_pb_row_0 {
    display: flex;
    direction: ltr;
}

.et_pb_team_member_image {
    max-width: unset;
    margin-bottom: 0 !important;
}


.rubrik_copy {
    padding: 10px 25px;
}

@media all and (max-width:450px) {
.et_pb_row_1 {
    padding-top: 0;
}
}



/* ===================================
    TEAM
====================================== */
.tk_img img {display: block !important;}

.tk_text {
    position: absolute;
    bottom: 25px;
    padding-left: 25px;
}

/*
.l-kachel .et_pb_column {
    display: flex;
flex-wrap: wrap;
}

*/

#ts .et_pb_slide, #ts .et_pb_slide_description {
    padding: 0 !important;
}

@media all and (min-width:981px) {
    
    .leiqu {
        width: 31% !important;
        margin-right: 27px !important;
        float: left;
    }
    .leiqu3, .leiqu6 {
        margin-right: 0px !important;
    }
    
    .l-kachel .et_pb_module {
  margin-bottom: 27px;
    }
    
    .leiqu1 { order: 1; }
    .leiqu2 { order: 2; }
    .leiqu3 { order: 3; }
    .leiqu4 { order: 4; }
    .leiqu5 { order: 5; }
    .leiqu6 { order: 6; }

}

@media all and (max-width:980px) {
    
    .leiqu {
        width: 45.5% !important;
        margin-right: 27px !important;
        float: left;
    }
    .leiqu2, .leiqu4, .leiqu6 {
        margin-right: 0px !important;
    }
    
    .l-kachel .et_pb_module {
  margin-bottom: 27px;
    }
    
    .leiqu1 { order: 1; }
    .leiqu2 { order: 3; }
    .leiqu3 { order: 2; }
    .leiqu4 { order: 5; }
    .leiqu5 { order: 4; }
    .leiqu6 { order: 6; }

}

@media all and (min-width:768px) {
    #team .qu {
        width: 25% !important;
        margin: 0 !important;
        float: left;
    }

}


@media all and (max-width:767px) {
    #team .qu {
        width: 50% !important;
        margin: 0 !important;
    }
    
    .leiqu {
        width: 100% !important;
        margin-right: 0px !important;
    }
}

@media all and (max-width:500px) {
    #team .qu{
        width: 100% !important;
    }
    
    .leiqu {
        width: 100% !important;
        margin-bottom: 27px !important;
    }
}


/* ===================================
    LEISTUNGEN
====================================== */

#rubrikstop {display: none;}

.kachel_text {
    margin-top: -100%;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
}

.kachelpic {
    display: block;
}

.kachel_img img {
    width: 100%;
}

.back {text-align: right;}

.rubrik1, .rubrik2, .rubrik3, .rubrik4, .rubrik5, .rubrik6 {
    line-height: 0;
}

.tr_back a {
    color: #78113E !important;
}

.buchen {padding-right: 0 !important;}


.overlay {
    display: block;
    margin-top: -100%;
    opacity: 0.5;
}

.uc {color: white !important;padding: 0 17px;}

.kachel:hover .overlay {display: none;}
/* .kachel:hover .uc {color: #78113E !important;} */
.kachel:hover .kachel_text {background: transparent !important;}


.rubriken .et_pb_text {
    margin-bottom: 15px !important;
}
.rubriken .nmb {
    margin-bottom: 0px !important;
}


.l-kachel h4 {
    hyphens: none;
}

.leistsec {
    padding-top: 10px;
}

.last {
    margin-bottom: 10px;
}


.leitsttab h4{
    line-height: 1.5em;
    padding-bottom: 5px !important;


 margin-top: 5px;
}
.leitsttab h4:last-of-type {
    margin-top: 10px;
}

    #rubrik1 .et_pb_row, #rubrik2 .et_pb_row, #rubrik3 .et_pb_row, #rubrik4 .et_pb_row, #runbrik5 .et_pb_row {
        padding-bottom: 0px !important;
    }
    

/* ===================================
    TEAMCAROUSEL
====================================== */  

#tc a {
    pointer-events: none; 
    cursor: default; 
}

#tc .item-title {display: none;}

/* ===================================
    POPUPS
====================================== */

#popmake-631 {
 background-color: transparent !important;
}

/* Keep the promo colour within its popup. Divi otherwise exports the popup's
   generated section class globally, where it collides with the start page. */
#popmake-631 .et_pb_section {
    background-color: rgba(120, 17, 62, 0.5) !important;
}

#pum-631 .btn {
 background-color: white;
  color: #78113E !important;
}
#pum-631 .pum-close {
    color: white !important;
}

.pum-overlay, html.pum-open.pum-open-overlay.pum-open-scrollable body > [aria-hidden] {
    padding: 0 !important;
}

.pum-container {
    padding: 0 !important;
}

.pum-container .et_pb_row {
    max-width: 100%;
}

.pum-theme-lightbox {
    background-color: rgba( 0, 0, 0, 0 );
}

@media all and (min-width:980px) {
#popmake-631 .et_pb_section {
  padding: 8% 0;
}
}
    

/* ===================================
    SIDEBAR
====================================== */

#contactbar {
    position: fixed;
    top: 45%;
    right: 0;
    width: auto;
    z-index: 99998;
    padding-bottom: 0;
    background: #d7d5dd;

}


.barlink {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 10px 0 10px;
}

.barlink:last-of-type {
    margin: 10px;
}


.barimg {
    width: 35px;
    height: 35px;
}

#social .barimg {
    width: 35px;
    height: 35px;
}

.barlink svg path {
   fill: blue!important;
}
.barlink svg text {

   fill: blue!important;
}



@media all and (min-width:601px) {
    
    #contactbar {
        display: block;
    }
    
    .et_pb_scroll_top {
        display: none !important;
    }
}

@media all and (max-width:600px) and (orientation:portrait) {
    
    #contactbar {
     /*   position: fixed;
        top: unset;
        left: 0;
        bottom: 0px;
        width: 100%;
        height: 65px;
        z-index: 99998;
        padding-bottom: 0;
        background: #78113E;
        -webkit-animation: slide 1s forwards;
        -webkit-animation-delay: 2s;
        animation: slide 1s forwards;
        animation-delay: 2s;
        display: flex;
        justify-content: center;
        border-radius: 0px !important; */
        display: none
}


    .barlink {
        width: 45px;
        height: 45px;
        margin: 10px 10px 10px 0;
    }
    
    .barlink:last-of-type {
        margin: 10px 0 10px 0;
}

    
    .barimg {
        width: 45px !important;
        height: 45px !important;
    }
    
    .navhelp {  
        display: flex;
        justify-content: center;
    }
    .back img {
        width: 45px !important;
}
    
    .et_pp_scroll_top {
        display: inline;
    }

}

    
/* ===================================
    Scroll to top
====================================== */

.et_pb_scroll_top {
  background: #d7d5dd !important;
    border-radius: unset !important;
    padding: 5px !important;
}
.et_pb_scroll_top::before {
  content: url(/../wp-content/uploads/scm_top.svg);
  width: 35px;
  display: block;
}
    
/* ===================================
    Video
====================================== */

body.page-id-19 #et-main-area {
    margin-top: -100px;
}


    @media only screen and (max-width:980px) and (orientation:landscape) {
    #scmb_p {display: none;}
    #scmb_ls {display: block;}
}

@media only screen and (min-width:981px) and (orientation:portrait) {
    #scmb_p {display: block;}
    #scmb_ls {display: none;}
}


@media only screen and (max-width:980px) and (orientation:landscape) {
    #scmb_p {display: none;}
    #scmb_ls {display: block;}
}

@media only screen and (max-width:980px) and (orientation:portrait) {
    #scmb_p {display: block;}
    #scmb_ls {display: none;}
}

#vidwebm {
    display: none;
}

/* Firefox 2 */
html>/**/body #vidwebm, x:-moz-any-link {
    display: block;
}
html>/**/body #vidmp4, x:-moz-any-link {
    display: block;
}

/* Firefox 3 */
html>/**/body #vidwebm, x:-moz-any-link, x:default {
    display: block;
}
html>/**/body #vidmp4, x:-moz-any-link, x:default {
    display: block;
}

/* Any Firefox */
@-moz-document url-prefix() { 
    #vidwebm {
        display: block;
    }    #vidmp4 {
        display: none;
    }
}

#buchenbtn {
    width: 100px;
    height: 100px;
    position: fixed;
    left: 0;
    top: 179px;
    z-index: 100;
}

#buchenbtn img,
.buchenbtnimg {
    display: block;
    width: 100px;
    height: 100px;
}

/* Keep Popup Maker's generated section colour from leaking into the hero. */
#start .et_pb_row {
    background: #D9D9D9 !important;
}

/* First-frame fallback while the Lottie JSON and its image assets load. */
#start .dsm_lottie_wrapper {
    background: #d9d9d9 url('/wp-content/motions/images/img_12.jpg') center / cover no-repeat !important;
}

#start .dsm_lottie_wrapper.reviderm-lottie-loading svg {
    opacity: 0 !important;
}

#start .dsm_lottie_wrapper.reviderm-lottie-ready svg {
    opacity: 1;
    transition: opacity 180ms ease-out;
}

/*
 * The start section contains separate desktop and mobile hero rows. Divi's
 * cached numeric row selectors can become stale after a Popup Maker update,
 * so use the stable custom classes from the layout to keep exactly one hero
 * variant visible at each breakpoint.
 */
@media only screen and (min-width: 981px) {
    #start .dsm_lottie_wrapper {
        min-height: 33.2vw;
    }

    #start .et_pb_row:has(.start1_m) {
        display: none !important;
    }
}

@media only screen and (max-width: 980px) {
    #start .dsm_lottie_wrapper {
        min-height: 50vw;
    }

    #start .et_pb_row:has(.start2) {
        display: none !important;
    }

    #start .et_pb_row:has(.start1_m) {
        display: flex !important;
    }
}
