/*
Theme Name: Total Child
Theme URI: https://totalwptheme.com/
Template: Total
Author: WPExplorer
Author URI: https://www.wpexplorer.com/
Description: Premium Multi-purpose WordPress Theme.
Tags: custom-colors,accessibility-ready,custom-header,custom-menu,custom-logo,editor-style,featured-images,footer-widgets,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready
Version: 6.4.2.1769170431
Updated: 2026-01-23 13:13:51

*/

#site-header{
	padding:10px;
    margin-bottom:40px;
}

#bm-site-header-inner, #footer-widgets-inner{
    width:1140px;
    max-width:100%;
    margin:auto;
}

.footer-box{
    margin:0 !important;
    padding:0 !important;
    margin-right:40px !important;
}

#footer a, #footer a:visited{
    color:white !important;
}

#footer h2{
    margin-bottom: 0 !important;
    font-size:18px !important;
}

.footer-widget{
    padding-block-end: 10px !important;
}

#bm-smartphone-footer{
    padding-top:20px;
    padding-bottom:20px;
    padding-left:20%;
    padding-right:20%;
    display:none;
}

#bm-smartphone-footer .vcex-toggle__trigger{
    text-align: center;
}

#bm-smartphone-footer .vcex-toggle__content{
    text-align: center;
}

#bm-smartphone-footer .vcex-toggle__heading h2{
    text-transform: uppercase;
    text-align: center !important;
    font-weight: bold;
    border-bottom: 1px solid white;
    padding-bottom:10px;
    display:inline-block;
}

#bm-smartphone-footer .wpex-items-center {
    align-items: center !important;
}

#bm-smartphone-footer .wpex-flex {
    display: block !important;
}

#bm-call-to-action{
    position:absolute;
    right:10px;
    top:10px;
}

.menu-item{
	margin-right:30px;
}

.current-menu-parent{
}

.current-menu-parent {
    --wpex-main-nav-link-underline-opacity: 1;
    --wpex-main-nav-link-underline-transform: scaleX(1);
}

#site-navigation-wrap, #phone-call-to-action{
	padding-bottom:10px;
}

#phone-call-to-action{
    color: white !important;
}

img#phone-logo{
	width:50px;
	margin-right:10px;
}

.wpex-items-center{
	align-items: end !important;
}

.wpex-flush-dropdowns .main-navigation-ul > .menu-item > a {
    display: table-cell;
    vertical-align: bottom;
}

#footer-widgets, #footer-callout{
	width:100%;
	padding-left:10px;
	padding-right:10px;
}

.footer-box.span_1_of_4.col-1, .footer-box.span_1_of_4.col-2{
	flex-direction:row;
}

.in-via-logo, .vij-logo{
	width:70px;
	margin-right:20px
}

.bm-slider{
	max-height:50vh;
}

.bm-kreis{
	border-radius:250px;
	aspect-ratio:1;
	padding:10%;
	padding-top:0;
	padding-bottom:80px;
}

.bm-kreis hr{
	background-color:black;
	width:50%;
}

.vcex-teaser-button-wrap{
	background-image:url(/wp-content/uploads/2025/10/pfeil.png);
	background-repeat:no-repeat;
	background-size:contain;
	padding-left:40px;
	margin-top:10px;
}

.wpb_text_column h1{
	margin-top:0;
	color:var(--wpex-palette-38-color);
}

.vcex-teaser{
    margin-bottom:40px !important;
}

#site-logo-subline{
    display: none !important;
}

    /* Horizontal menu */
        /* Horizontal scrollable menu styles */
        /* Horizontal scrollable menu styles */
        .vcex-navbar {
            width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch; /* smooth scrolling on mobile */
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* Internet Explorer 10+ */
            position: relative;
            padding-left:30px !important;
            padding-right:30px !important;
        }
        
        /* Hide scrollbar for webkit browsers */
        .vcex-navbar::-webkit-scrollbar {
            display: none;
        }
        
        /* Body positioning for arrows */        
        .vcex-navbar-inner {
            flex-wrap: nowrap !important; /* prevent wrapping */
            min-width: max-content; /* ensure content fits */
            gap: 2rem !important; /* add space between items */
            justify-content: flex-start !important; /* override center alignment */
        }
        
        .vcex-navbar-link {
            flex-shrink: 0; /* prevent items from shrinking */
            white-space: nowrap; /* prevent text wrapping */
            min-width: max-content; /* ensure full content is visible */
            margin-bottom: 0 !important; /* remove bottom margin */
        }

        .vcex-navbar-link.active{
            font-weight: bold !important;
        }
        
        .vcex-navbar-link-text {
            white-space: nowrap; /* prevent text wrapping in links */
        }

        .bm-scrollnavi .vc_column-inner{
            padding-top:5px;
            padding-bottom:5px;
            margin-bottom:0 !important;
        }
        
        /* Navigation arrows */
        .menu-nav-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.9);
            border: none;
            width: 30px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 20;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        
        .menu-nav-arrow.visible {
            opacity: 1;
            visibility: visible;
        }
        
        .menu-nav-arrow:hover {
            background: rgba(255, 255, 255, 1);
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }
        
        .menu-nav-arrow-left {
            left: 10px;
        }
        
        .menu-nav-arrow-right {
            right: 10px;
        }
        
        .arrow-icon {
            font-size: 16px;
            color: #666;
            font-weight: bold;
        }


@media screen and (max-width: 1476px) {
    #site-header{
        padding-left:10px !important;
    }
}

@media screen and (max-width: 1390px) {
    #phone-call-to-action{
        display: none !important;
    }


    .header-fixed-height #site-logo .logo-img {
        max-height: 80px !important;
    }


    #site-header-flex-aside{
        margin-inline-start: 10px !important;
    }
}

@media screen and (max-width: 1090px) {
    .main-navigation-ul > .menu-item:not(:last-child) {
        margin-inline-end: 20px !important;
    }


}

@media screen and (max-width: 980px) {
    .header-eight-logo{
        margin-right:10px !important;
    }
}

/* Media Query for Tablets */
@media screen and (max-width: 960px) {
    #site-header {
        padding: 20px !important;
        margin-bottom:5px !important;
    }

    #site-header-inner{
        padding-left:20px !important;
        padding-right:20px !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    #site-logo-subline{
        display: block !important;
        font-size: 18px !important;
        text-transform: uppercase !important;
        margin-top: 4px !important;
        font-weight: bold !important;
    }

    #site-header-flex{
        align-items: center !important;
    }

    #site-header-flex-aside{
        align-items: center !important;
        margin-inline-start: 0 !important;
        justify-content: flex-start !important;
        text-align: left !important;
        order: 1 !important;
        flex: 0 0 auto !important;
    }

    #site-logo {
        float: none !important;
        text-align: center !important;
        margin: 0 auto !important;
        display: block !important;
        order: 2 !important;
        flex: 1 !important;
        padding-left:50px;
    }


    #site-logo-inner img::after {
        content: "\A Stuttgart";
        white-space: pre;
        display: block;
    }

    #bm-call-to-action{
        width:50px;
        left:10px;
        top:25px;
    }


    #mobile-menu {
        order: 3 !important;
        margin-left: auto !important;
        padding-left:10px !important;
    }

    .mobile-toggle-nav-ul .menu-item{
        margin-right:0 !important;
        text-align: center !important;
    }

    .mobile-toggle-nav__link{
        padding-right:0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        text-transform: uppercase !important;
        font-weight: bold !important;
    }

    .mobile-toggle-nav-ul .link-inner{
        padding:20px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .mobile-toggle-nav-ul li:hover .link-inner{
        color: white !important;
        background-color: #BD1670 !important;
    }

    .mobile-toggle-nav-ul .current-menu-item .link-inner, .mobile-toggle-nav-ul .current-menu-parent .link-inner{
        background-color: #BD1670 !important;
    }

    .wpex-mobile-menu .wpex-open-submenu{
        display: none !important;
    }

    img#phone-logo {
        width: 50px;
        margin-right: 0 !important;
    }

    .wpex-has-background-slider .vc_column_container{
        max-height:40vh !important;
    }

    .vcex-image img{
        max-height:40vh;
        width: 100%;
        object-fit: cover;
        object-position: center;
    }

    .wpb-content-wrapper{
        margin: 10px !important;
    }

    .wpb_text_column.wpb_content_element{
        padding-left:10vw !important;
        padding-right:10vw !important;
    }

    #footer-widgets-inner .col-2 {
        width: 60% !important;
    }

    #footer-widgets-inner .col-3{
        width: 20% !important;
    }
}


/* Media Query for Smartphones */

@media screen and (max-width: 768px) {

    .wpb-content-wrapper{
        margin: 0 !important;
    }

    .wpb_text_column.wpb_content_element{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    #bm-smartphone-footer{
        display:block;
    }

    #footer-widgets{
        display: none;
    }


    #site-header {
        /*padding: 5px !important;*/
    }

    .bm-uebersicht{
        padding:20px !important;
    }

    .vcex-teaser{
        padding-left:20px !important;
        padding-right:20px !important;
        margin-bottom:40px !important;
    }

    .vc_column_container > .vc_column-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wpb_text_column.wpb_content_element {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
    
    
}