@charset "utf-8";
/**
 * style.css
 * 
 * @author Roman Schlöricke
 * @created 16.07.25
 */

@font-face {
    font-family: 'OpenSansBold';
    src: url('OpenSans-Bold.woff2') format('woff2'),
    url('OpenSans-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'OpenSans';
    src: url('opensans-regular-webfont.woff2') format('woff2'),
    url('opensans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'OpenSansLight';
    src: url('open-sans.light.woff2') format('woff2'),
    url('open-sans.light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
    font-family: var(--mainFontFamily);
    box-sizing: border-box;
}

a{
    color: var(--aColor);
}

body {
    background-color: var(--bodyBackgroundColor);
    margin: 0;
    padding: 0;
    color: var(--mainFontColor);
    font-size: var(--mainFontSize);
    position: relative;
    min-height: 100vh;
}

#header {
    background-color: var(--headerBackgroundColor);
    height: var(--headerHeight);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    color: var(--headerColor);
}

#header * {
    color: inherit;

}

#header > *{
    width: 100%;
}

#header > .col_4_4{
    max-width: 1640px;
}

#header{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#header .firstline{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #004f91;
    width: 100%;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

#header .firstline > *{
    margin: 0;
    width: calc(100% / 3);
}

#header .firstline #infos{
    z-index: 2;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: end;
}

#header .firstline .miniBasket{
    top: unset;
}

#header .firstline .miniBasket img{
    margin-top: 0;
}

.MenuLang li {
    display: inline-block;
    min-width: 20px;
    margin-right: 5px;
    border-right: 1px solid var(--mainColor);
    padding-right: 5px;
}

.MenuLang li:nth-child(2) {
    border-right: none;
    /*margin-right: 17px;*/
}

.MenuLang li:last-child {
    border-right: none;
}

ul.MenuLang li a {
    text-transform: uppercase;
}

.MenuLang.first {
    /*margin-right: 15px;*/
}

.MenuLang .shop{
    overflow: hidden;
    background-color: var(--mainColor);
    padding: 5px 0px 5px 15px;
    position: relative;
    margin-right: -6px;
}

.MenuLang .shop a{
    color: #FFFFFF !important;

}

#quikbutton{
    padding: 0;
}

.MenuLang .shop.konfigurator a{
    padding-right: 15px;
    padding-left: 37px;
    overflow: hidden;
    white-space: nowrap;
}

.MenuLang .shop.konfigurator a:before{
    content: '';
    transform: rotate(45deg);
    background-color: var(--mainColor);
    position: absolute;
    left: -40px;
    top: 0;
    height: 80px;
    width: 80px;
    z-index: 0;
}

.MenuLang li.shop:last-child {
    background-color: grey;
}

.MenuLang .shop.konfigurator a:after {

}

#header #menu{
    /*display: flex;*/
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

#header #menu #Logo {
    /*height: calc(var(--headerHeight) - 20px);*/
}

#header #Logo img {
    width: 100%;
    height: 30px;
    object-fit: contain;
}

#HeaderExtnsion {
    padding-top: var(--headerHeight);
    position: relative;
    z-index: 1;
}

#content {
    font-size: var(--mainFontSize);
    padding-bottom: var(--footerHeight);
    z-index: 1;
    position: relative;
    height: auto;
}

#content * {
    font-size: inherit;
}

#FooterWrapper {
    font-size: var(--mainFontSize);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(var(--footerHeight) - 25px);
    background-color: var(--footerBackgroundColor);
    color: var(--footerColor);
    padding: 10px;
    z-index: 2;
    overflow: hidden;
}

#FooterWrapper * {
    color: inherit;
    font-size: inherit;
}

#FooterWrapper #footer {
    padding-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
    font-size: var(--footerFontSize);
}

#FooterWrapper .logo{
    width: calc((100% / 4) - 10px );
    height: calc(var(--footerHeight) - 75px);
}

#FooterWrapper .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#FooterWrapper .Footer > ul.menu{
    margin: 0;
}

#FooterWrapper .Footer > ul.menu li{
    margin: 0;
    padding: 0;
    display: block;
}

#FooterWrapper #footer ul.menu li a{
    margin: 0 0 10px 0;
    padding: 0;
}

#FooterWrapper .Footer > ul.menu li a:hover{
    text-decoration: underline;
}

.col_4_4{
    max-width: var(--contentMaxWidth);
    width: calc(100% - 40px);
}

h1,h2,h3,h4,h5{
    line-height: 1.2;
    font-weight: normal;
    margin-bottom: 10px;
}

#content h1{
    color: var(--h1Color);
    font-family: var(--h1FontFamily);
    font-size: var(--h1FontSize);

}

#content h2{
    color: var(--h2Color);
    font-family: var(--h2FontFamily);
    font-size: var(--h2FontSize);
}

#content h3{
    color: var(--h3Color);
    font-family: var(--h3FontFamily);
    font-size: var(--h3FontSize);
}

#content h4{
    color: var(--h4Color);
    font-family: var(--h4FontFamily);
    font-size: var(--h4FontSize);
}

#content h5{
    color: var(--h5Color);
    font-family: var(--h5FontFamily);
    font-size: var(--h5FontSize);
}

#content img[class*="image"]{
    margin: 0;
}

#header nav.main > div ul.menu li a::after {
    content: " ";
    position: absolute;
    background: var(--mainColor) fixed;
    margin-top: -1px;
    border-radius: 0;
    height: 3px;
    transform: scaleX(0);
    transition: transform 0.2s;
    transform-origin: right center;
    box-sizing: border-box;
    display: block;
    width: 100%;
}

#header nav.main > div > ul.menu > li.expand > a::after,
#header nav.main > div > ul.menu > li.active > a::after,
#header nav.main > div > ul.menu > li a:focus-visible::after,
#header nav.main > div > ul.menu > li a:hover::after {
    transform: scaleX(1);
    transform-origin: left center;
}

#header nav.main > div ul.menu li a:focus-visible,
#header nav.main > div ul.menu li a:hover,
#header nav.main > div ul.menu li.active > a{
    color: var(--mainColor);
}

#header nav.main > div ul.menu > li ul.menu li.active > a::after,
#header nav.main > div ul.menu > li ul.menu li a:focus-visible::after,
#header nav.main > div ul.menu > li ul.menu li a:hover::after {
    content: none;
}

#header nav.main > div ul.menu > li ul.menu li > a{
}

#header nav.main > div ul.menu > li ul.menu li.expand > a,
#header nav.main > div ul.menu > li ul.menu li.active > a,
#header nav.main > div ul.menu > li ul.menu li a:focus-visible,
#header nav.main > div ul.menu > li ul.menu li a:hover {
    text-shadow: 0.8px 0 0 currentColor;
    font-weight: normal;
}



div#dialog .File, div#dialog video {
    padding: 0;
}



#MenuButton {
    position: absolute;
    display: block;
    height: 50px;
    width: 50px;
    margin: 0;
    padding: 0;
    background-color: transparent;
    cursor: pointer;
    top: 92px;
    right: 12px;
    z-index: 20;
}

#MenuButton .line {
    position: relative;
    height: 3px;
    width: 60%;
    right: -40%;
    border-radius: 2px;
    background-color: #004f91;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.25s;
    -moz-transition-duration: 0.25s;
    -ms-transition-duration: 0.25s;
    -o-transition-duration: 0.25s;
    transition-duration: 0.25s;
}

#MenuButton .line.top {
    top: 12px;
    display: none;
}

#MenuButton .line.middle {
    top: 19px;
    top: 28px;
}

#MenuButton .line.bottom {
    top: 26px;
    top: 26px;
    transform: rotate(90deg);
}

#MenuButton.close .line.bottom, #MenuButton.close .line.middle, #MenuButton.close .line.top {
    transform: rotate(45deg);
    top: 22px;
    width: 90%;
    left: 3px;
}

#MenuButton.close .line.middle {
    top: 18px;
}

#MenuButton.close .line.bottom {
    transform: rotate(-45deg);
    top: 15px;
}

nav.second {
    opacity: 0.2;
    overflow: hidden;
    height: 100vh;
    display: table;
    position: fixed;
    top: 0;
    right: 0;
    width: 0vw;
    overflow: hidden;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.25s;
    -moz-transition-duration: 0.25s;
    -ms-transition-duration: 0.25s;
    -o-transition-duration: 0.25s;
    transition-duration: 0.4s;
}

nav.second .TableCell {
    vertical-align: middle;
    text-align: center;
    display: none;
}

nav.second.open .TableCell {
    display: table-cell;
}

nav.second .TableCell > div:first-child {
    display: none;
}

nav.second .TableCell > div:first-child {
    display: block;
}

nav.second.open {
    width: 100vw;
    opacity: 1;
}

#menu .second ul.menu li {
    display: block;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

#menu nav > div ul.menu li a {
    color: #004f91;
    padding: 0 0;
    margin: 13px 12px;
    text-transform: uppercase;
    font-size: 16px;
}

#footer .socialmedia {
    width: 100%;
    border-top: 1px solid rgba(255,255,255,0.5);
    margin-top: 10px;
    padding: 10px 0;
    display: flex;
    align-content: center;
}

#footer .socialmedia > *{
    width: calc(100% / 3);
    display: flex;
    align-content: center;
    gap: 20px;
}

#footer ul.menu > li {
    display: block;
}

#footer ul.menu,
#footer ul.menu li {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#footer h3 {
    font-family: "OpenSansBold", serif !important;
    font-weight: normal;
    font-size: 19px !important;
    line-height: 1;
}


#content .ext_Referenzen_Mansonry h2{
    line-height: 1.2;
    margin-top: 10px;
    margin-bottom: 3px;
    font-size: 20px;
    font-weight: bold;
}


[class*="S_News_Element"] h2{
    font-size: 20px !important;
}



#content .col_4_4 {
    gap: 25px;
}

#content textarea, #content div.ext_FormBuilder input, #content select, #content input[type="text"], #content input[type="submit"] {
    border: 1px solid #DDDDDD;
    background-color: #F0F0F0;
    color: #000;
    font-size: 15px;
    border-radius: 20px;
    padding: 10px;
    font-weight: normal;
}

#content input[type="submit"] {
    background-color: #004f91;
    border: 1px solid #004f91;
    color: #fff;
    font-size: 15px;
    border-radius: 20px;
    padding: 10px;
    font-weight: normal;
}

#content input[type="submit"]:hover {
    background-color: #002B4F !important;
    border: 1px solid #002B4F;
    color: #fff;
    cursor: pointer;
}

.ext_Softgarden .JobListDetail .angebot h2{
    margin: 0;
}

#content .ext_Softgarden .JobsSingle h2 {
    font-weight: bold;
}

#content .ext_Softgarden .JobsSingle .ButtonStyle {
    background-color: transparent !important;
    margin: 0;
    padding: 0;
    display: flex;
    width: fit-content;
}

#content .ext_Softgarden .JobsSingle .ButtonStyle a::after {
    content: '➔';
    margin-left: 10px;
    display: inline-block;
    text-align: center;
    height: auto;
    width: auto;
    padding: 0;
}

#content .ext_Softgarden .JobsSingle  .ButtonStyle a,
#content .ext_Softgarden .JobsSingle .ButtonStyle span {
    background-color: transparent;
    padding: 8px 5px 8px 10px;
    border-radius: 0;
    border: 1px solid var(--mainColor);
}

#content .ext_Softgarden .JobsSingle .ButtonStyle:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    color: var(--mainColor) !important;
}

#PanoView h2{
    font-size: 20px;
    font-weight: bold;
}

#content .singleView .sigleButton:hover a img.blue {
    display: block;
}

#content .singleView .mediaContain > div.sigleButton {
    display: none;
}
#BannerWrapper #ConsentSettings ul#Consents li:hover, #BannerWrapper #ConsentSettings ul#Consents li.active,
#BannerWrapper #ConsentSettings ul#Consents li:hover, #BannerWrapper #ConsentSettings ul#Consents li {
    color: #FFFFFF;
}

.UserLogin{
    position: relative;
    width: 350px;
    margin: 200px auto 0;
    background-color: #FFFFFF;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.UserLogin:before{
    display: block;
    content: 'Login';
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.UserLogin > form{
    margin-top: 10px;
}

.UserLogin > form label{
    margin-bottom: 0px;
}

.UserLogin > form input{
    margin-bottom: 10px;
    border: 1px solid #DDDDDD;
    background-color: #F0F0F0;
    color: #000;
    font-size: 15px;
    border-radius: 20px;
    padding: 10px;
    font-weight: normal;
}

.UserLogin > form input:last-child{
    margin-bottom: 0px;
    width: 100%;
}

@media only screen and (max-width: 1200px) {
    #header .firstline > *{
        margin: 0;
        width: 100%;
    }

    #header .firstline #infos {
        justify-content: center;
    }
}



/*Navigation Desktop*/
@media only screen and (min-width: 901px) {
    #header nav.main > div{
        position: relative;
        height: 50px;
    }

    #header nav.main > div li{
        position: unset;
    }

    #header nav.main,
    #header nav.main > div,
    #header nav.main > div ul.menu,
    #header nav.main > div ul.menu li:hover ul.menu {
        display: flex !important;
        justify-content: center;
        gap: 10px;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    #header nav.main > div > ul.menu > li > ul.menu{
        position: absolute;
        height: auto;
        background-color: transparent;
        top:unset;
        right: 0;
        /*bottom: 0;*/
        width: 100%;
    }

    #header nav.main > div > ul.menu > li > ul.menu{
        opacity: 1;
        display: none !important;
    }

    #header nav.main > div > ul.menu > li:hover > ul.menu{
        display: flex !important;
        flex-wrap: wrap;
        z-index: 10;
        background-color: var(--headerBackgroundColor);
    }

    #header nav.main > div > ul.menu > li.expand > ul.menu{
        display: flex !important;
        flex-wrap: wrap;
        gap: unset;
        background-color: var(--headerBackgroundColor);
    }

    #header nav.main > div > ul.menu:hover > li.expand:not(:hover) > ul.menu{
        display: none !important;
    }

    #header nav.main > div > ul.menu > li:hover > ul.menu li,
    #header nav.main > div > ul.menu > li > ul.menu li{
        margin: 5px 0;
        padding: 2px 10px;
        /*border-right: 1px solid #505050;*/
    }

    #header nav.main > div ul.menu li:hover ul.menu{
        gap: unset;
    }

    #header nav.main > div > ul.menu > li > ul.menu li:last-child{
        border-right: none;
    }

    #header nav.main > div ul.menu li,
    #header nav.main > div ul.menu li a{
        margin: 0;
        padding: 0;
        text-transform: uppercase;
        font-size: 16px;
    }

    #header nav.main > div ul.menu li a{
        position: relative;
	    white-space: nowrap;
    }


    #header nav.main > div ul.menu li > ul.menu li a {
        font-size: 14px;
    }
}


#FooterWrapper .socialmedia > div > a {
    height: 20px;
    width: 20px;
}
#FooterWrapper .socialmedia > div > a img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
    vertical-align: unset;
}

#footer > div, #footer > img {
    display: inline-block;
    width: 33%;
}

#FooterWrapper #footer ul.menu li a,
#footer .socialmedia, #footer .FooterContact a, #footer .FooterContact {
    font-size: 14px;
    font-family: "OpenSansLight", serif;
}

#content .SlickSlider .grid-item a.Button::after{
    left: unset;
    right: 20px;
}

#content{
    gap: 25px;
}


.ext_Referenzen_Mansonry:has(.SlickSlider){
    margin: 0;
}

#content .ext_Referenzen_Mansonry .SlickSlider .slick-list{
    padding-top:27px !important;
}

#bmf3rd .vehicle-selection-border-left .col-12.text-center picture > img {
    width: auto;
}

#bmf3rd #matchingTireSizes picture > img {
    width: 25px;
}

/*****************************/
/***** FelgenKonfi BMF3RD ****/
/*****************************/

#bmf3rd .data-result .item.bodyType .imgContainer img {
    width: auto !important;
    margin: 0 auto !important;
}

#bmf3rd .btn-box h2 {
    font-size: 18px !important;
}

#bmf3rd .progressBar .steps .step h5 {
    font-size: 16px;
}

#bmf3rd .article-details .logo-image {
    width: auto;
}

#bmf3rd .article-details .item-title h2, #bmf3rd .article-details .item-title h3 {
    color: #FFF
}

#bmf3rd #matchingTireSizes picture > img {
    height: 25px
}

.ext_Referenzen_Mansonry .container.SlickSlider .slick-track{
    display: flex;
    align-items: stretch;
    flex-direction: row;
}

.ext_Referenzen_Mansonry .container.SlickSlider .slick-track > div{
    height: unset;
}

.ext_Referenzen_Mansonry .container.SlickSlider .slick-track > div > div:not([class]){
    height: 100%;
}


/*#content .slick-arrow::before{*/
/*    position: absolute;*/
/*    top: 0;*/
/*    bottom: 0;*/
/*    left: 0;*/
/*    right: 0;*/
/*    display: flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*}*/


.PageCMS {
    display: flex;
    gap: 2px;
    margin: 5px 0;
}
.PageCMS > .pager{
    aspect-ratio: 1/1;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3px;

}

.PageCMS > .pager.active {
    background-color: var(--mainColor);
    color: #FFFFFF;
}

#content .slick-prev::before{
    transform: scaleX(-1);
}
/*Navigation Mobile*/
@media only screen and (max-width: 901px) {
    #header ul.menu.display{
        position: fixed;
        max-height: 100svh;
        height: 100%;
        box-shadow: inset 0 0 40px var(--mainColor);
        background: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 0 50px !important;
    }

    #header ul.menu.display > li:first-child{
        padding-top: 85px;
    }

    #header ul.menu.display li a{
        border:none;
    }

    #header .menu-icon{
        right: 0;
        top: 20px;
        margin-left: auto;
    }

    #header ul.menu li ul{
        background-color: transparent;
    }

    #header ul.menu.display li a{
        display: inline-block !important;
        text-transform: uppercase;
        text-align: left;
        padding: 2px 7px !important;
        letter-spacing: 1px;
        font-family: "OpenSansBold", serif;
        font-weight: normal;
    }
    #header ul.menu.display li a span{
        font-family: "OpenSansBold", serif;
        font-weight: normal;
    }

    #header ul.menu.display > li > a{
        color: var(--mainColor);
        width: 100%;
    }

    #header ul.menu.display > li.expand > a{
        border-bottom: 2px solid #505050;
        color: #505050;
    }



    #header ul.menu.display > li{
        /*margin-bottom: 20px !important;*/
    }

    #header ul.menu.display > li ul li a{
        color: var(--mainColor);
        font-size: 14px;
        width: 100%;
        margin: 5px 0;
    }

    #header ul.menu.display > li ul li.active a{
        color: #FFFFFF;
        background-color: var(--mainColor);
    }

    #header ul.menu.display li{
        width: 100%;
        text-align: left;
    }

    #header ul.menu li.collapse ul.menu li {
        display: none !important;
    }

    #header ul.menu li ul li:last-child {
        padding-bottom: 35px;
    }
}