/* weber-automaten.ch */


@charset "utf-8";

@font-face {
	font-family: 'RobotoLight';
	src: url('/assets/fonts/roboto-v30-latin-300.woff') format('woff');
}
@font-face {
	font-family: 'RobotoRegular';
	src: url('/assets/fonts/roboto-v30-latin-regular.woff') format('woff');
}
@font-face {
	font-family: 'RobotoBold';
	src: url('/assets/fonts/roboto-v30-latin-700.woff') format('woff');
}
@font-face {
	/* Helvetica Neue LT Pro 35 Thin */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 200;
	font-style: normal;
}
@font-face {
	/* Helvetica Neue LT Pro 45 Light */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 300;
	font-style: normal;
}
@font-face {
	/* Helvetica Neue LT Pro 55 Roman */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
}
@font-face {
	/* Helvetica Neue LT Pro 56 Italic */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 400;
	font-style: italic;
}
@font-face {
	/* Helvetica Neue LT Pro 75 Bold */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 700;
	font-style: normal;
}
@font-face {
	/* Helvetica Neue LT Pro 76 Bold Italic */
	font-family: "helvetica-neue-lt-pro", sans-serif;
	font-weight: 700;
	font-style: italic;
}


html { scroll-behavior: smooth; height: 100%; min-height: 100%; scroll-padding-top:calc(var(--site-header-height) + 18px)}
body { height: 100%; min-height: 100%; overflow-x: hidden; font-family: "helvetica-neue-lt-pro", sans-serif; font-style: normal; font-weight: 400; font-size: 1.25em; line-height: 1.75em; background: #ffffff; color: #332829; /*font-family: 'RobotoRegular'; font-weight: normal;*/ }
body.ov_hidden { overflow: hidden; }

@media only screen and (max-width: 1600px) {
}

header { z-index: 10; width: 100%; padding: 0 0 0 0; position: fixed; background: #ffffff; }
main { z-index: 1; position: relative; padding: 140px 0; /* overflow: hidden; */ }
footer { } 
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 1020px) {
}
@media only screen and (max-width: 767px) {
    main { padding: 20px 0; }
}

h1 { color: #DB1729; margin: 0 0 1em 0; font-size: 2em; line-height: 1.2em; font-family: "helvetica-neue-lt-pro", sans-serif;font-weight: 700;font-style: normal; /* font-weight: normal; font-style: normal; font-family: 'RobotoBold'; */ }
h2 { color: #DB1729; margin: 0 0 1em 0; font-size: 1.5em; line-height: 1em; font-family: "helvetica-neue-lt-pro", sans-serif;font-weight: 400;font-style: normal; /* font-weight: normal; font-style: normal; font-family: 'RobotoBold';*/ }
h3 { color: #DB1729; margin: 0 0 10px 0; font-size: 1em; line-height: 1em; font-family: "helvetica-neue-lt-pro", sans-serif;font-weight: 400;font-style: normal; /* font-weight: normal; font-style: normal; font-family: 'RobotoRegular'; */ }
h4 { }
h5 { }
h6 { }
@media only screen and (max-width: 767px) {
	h1 { font-size: 1.6em; }
    h2 { font-size: 1.6em; }
    h3 { font-size: 1.25em; }
}
.typography_h2 { font-size: clamp(28px, 2.6vw, 36px);font-weight: 700;line-height: 1.2;letter-spacing: -.015em;margin-bottom: .65em; }

/* Scroll-aware header: remains in the document flow, with no layout jump. */
:root{--site-header-height:98px}

.site-header{position:sticky;top:0;z-index:1020;transform:translateY(0);transition:transform 220ms cubic-bezier(.2,.7,.3,1),box-shadow 180ms ease;background:var(--paper)}
.site-header.is-scrolled{box-shadow:0 5px 18px rgba(15,27,49,.07)}
.site-header.is-hidden{transform:translateY(calc(-100% - 2px));box-shadow:none}
.site-header:has(:focus-visible){transform:translateY(0);transition:none}
.skip-link{z-index:1080}
@media(max-width:991px){.site-header .navbar-collapse{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
@media print{html{scroll-padding-top:0}.site-header{position:static;transform:none;box-shadow:none}}



/* a { text-decoration: underline; color: #DB1729; color: #332829; }
a:hover { text-decoration: none; color: #81312F; }
*/

a { color: #332829; text-decoration-color: #DB1729; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color 180ms ease;}
a:hover { color: #DB1729;}

p { margin-bottom: 1.5em; }
big { font-size: 1.25em; font-weight: 400; }
div { /* position: relative; */ }

.overlay, .card, .produktbild_container { position: relative;}

img { -webkit-backface-visibility: hidden; -webkit-transform: translateZ(0); backface-visibility: hidden; transform: translateZ(0); }

.bild-inline {width: auto;float: left;margin: 0 50px 50px 0;}
.bild-inline img { max-width: 200px;}

@media only screen and (max-width: 470px) {
	.bild-inline {margin: 0 50% 20px 0;}
}

figure { padding: 0; /*padding: 0 0 0 1.5em;*/ }
.blockquote { font-size: 1.4em; }
.blockquote-footer { color: rgb(255, 255, 255); font-size: 0.8em; margin-bottom: 1.5em; }
.blockquote-footer:before { /*display: none;*/ }

ul { margin-bottom: 1.5em; padding-left: 1.2em; }
ul li { }

ol { margin-bottom: 1.5em; }
ol li {}

b, strong { font-family: "helvetica-neue-lt-pro", sans-serif;font-weight: 700;font-style: normal; /* font-weight: normal; font-family: 'RobotoBold'; */ }

dl.row { margin-right: 0; margin-left: 0; }
dd { margin-bottom: 0; }

figure, .blockquote, .btn { margin-bottom: 1em; }

table { font-size: 0.8em; width: 100%; }
table td, table th { padding: .75rem 0; vertical-align: top; border-bottom: 1px solid #000000; }

.text-primary { color: #DB1729!important; }
.text-secondary { color: #81312F!important; }

.bg-primary { background-color: #DB1729!important; }
.bg-secondary { background-color: #81312F!important; }

/* Button bootstrap classes > before Issue Arrow
.btn { border-radius: 0; }
.btn.btn-lg {  }

.btn-primary { background-color: #DB1729; border-color: #DB1729; color: #ffffff; }
.btn-primary:hover { background-color: #DB1729; border-color: #DB1729; }

.btn-primary.focus, .btn-primary:focus { box-shadow: none;  }
.btn-primary.active, .btn-primary:active { box-shadow: none!important; background-color: #DB1729!important; border-color: #DB1729!important; }

.btn-secondary { background-color: #81312F; border-color: #81312F; color: #ffffff; }
.btn-secondary:hover { background-color: #81312F; border-color: #81312F; }*/

/* Gemeinsamer Weber-Buttonstil */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    min-height: 48px;
    padding: 12px 22px;
    border-width: 2px;
    border-style: solid;
    border-radius: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

.btn:focus {
    box-shadow: none;
}

/* Pfeil nur beim Primary Button */

.btn-primary::after {
    content: "\2192";
    flex: 0 0 auto;
    font-size: 26px;
    line-height: 1;
    transition: transform 180ms ease;
}

.btn-primary:hover::after {
    transform: translateX(5px);
}

.btn.btn-change-settings::after {
    content: none !important;
    display: none !important;
}

/* Primary */
.btn-primary {
    background-color: #DB1729;
    border-color: #DB1729;
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #b50e20 !important;
    border-color: #b50e20 !important;
    color: #ffffff !important;
}

/* Secondary – ohne Pfeil */
.btn-secondary {
    background-color: #81312F;
    border-color: #81312F;
    color: #ffffff;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: #642422 !important;
    border-color: #642422 !important;
    color: #ffffff !important;
}

.btn-secondary.focus, .btn-secondary:focus { box-shadow: none;  }
.btn-secondary.active, .btn-secondary:active { box-shadow: none!important; background-color: #81312F!important; border-color: #81312F!important; }

.alert-success {}
.alert-danger {}

.form-control {}
textarea.form-control { height: 180px; }
.form-check-input:checked {background-color: #DB1729 ;border-color: #DB1729;}

.form-floating>label { font-size: 0.9em; padding: 0.6em .6em;}

.svg-secondary { fill: #81312F; width:25px; } 
.img-captcha { border-radius: 6px; }

/* Custom */
.overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }

.plugin_trenner {}
.width_basic { max-width: 1280px; padding: 0 20px; }
.paddin_bottom_80 { padding-bottom: 3.63em; }
.paddin_top_120 { padding-top: 5.45em; }
.paddin_top_160 { padding-bottom: 7.27em; }

.padding_y_160 { padding-top: 7.27em; padding-bottom: 7.27em; }

.content { max-width: 700px; }
.height_200 { height: 200px; }
.height_240 { height: 240px; }
.height_250 { height: 250px; }
.height_300 { height: 300px; }
.height_600 { height: 600px; }

.maxheight_200 { max-height: 200px;}
.maxheight_240 { max-height: 240px;}
.maxheight_330 { max-height: 330px;}
.maxheight_400 { max-height: 400px;}

@media only screen and (max-width: 767px) {
	.width_basic { padding: 0 15px; } 
 }

.felxslider_container { /*height: 522px;*/ padding: 0; /*border: 1px solid red;*/ }
.flexslider { }
.flexslider_height { height: 100%;}
.flexslider .overlay { background: rgba(0,0,0,0.5); pointer-events: none; }
.flex-direction-nav { pointer-events: none; }
.flex-direction-nav li a { pointer-events: auto; }
.flex-direction-nav .flex-prev {left: -20px;}
.flex-direction-nav .flex-next {right: -20px;}

.flex-control-paging li a { width: 0.6em; height: 0.6em; background: #c6c6c6; cursor: pointer; }
.flex-control-paging li a.flex-active { background: #000000; }
@media only screen and (max-width: 767px) {
	.felxslider_container { padding: 0 15px 15px 15px; } 
 }

.width_extrasmall { max-width: 480px; padding: 0 40px; }
.width_small { max-width: 640px; padding: 0 40px; }
.width_medium { max-width: 800px; padding: 0 40px; }
.width_normal { max-width: 1024px; padding: 0 40px; }
.width_large { max-width: 1440px; padding: 0 40px; }
.width_extralarge { max-width: 1280px; padding: 0 40px; }
.width_superlarge { max-width: 1600px; padding: 0 40px; }
.width_full { padding: 0 40px; }
.width_full_complete { padding: 0; }

@media only screen and (max-width: 767px) {
    .width_extrasmall { padding: 0 15px; }
    .width_small { padding: 0 15px; }
    .width_medium { padding: 0 15px; }
    .width_normal { padding: 0 15px; }
    .width_large { padding: 0 15px; }
    .width_extralarge { padding: 0 15px; }
    .width_superlarge { padding: 0 15px; }
    .width_full { padding: 0 15px; }
}

.cover { background-position: center; background-repeat: no-repeat; background-size: cover; }

#logo {width: 402px;padding: 0;float: left;margin: 35px 0 25px 0;}

@media only screen and (max-width: 1440px) {
	#logo { width: 306px; margin: 35px 0 25px 0;}
}
@media only screen and (max-width: 767px) {
	#logo { width: 180px; margin: 20px 0 10px 0;}
}


/*########################### mainnav ################################ */ 

@media only screen and (max-width: 1440px) {
	.mainnav.mobile-nav { display: block; float: none; position: fixed; top: 0; right: 0; bottom: 0; width: 75vw; max-width: 26em; background: #FFFFFF; overflow: auto; /* margin: 5.92em 0 0 0; padding: 0 0 5.66em 20px;*/ margin:0; padding:5.92em 0 5.66em 20px; box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.16); transform: translateX(100%); visibility: hidden; pointer-events: none; transition: transform 900ms ease, visibility 0ms linear 900ms; will-change: transform; z-index: 9999; }
	.mainnav.mobile-nav.showx { transform: translateX(0); visibility: visible; pointer-events: auto; transition: transform 900ms ease, visibility 0ms linear 0ms; }
}	
@media only screen and (max-width: 767px) {
	.mainnav.mobile-nav { margin: 3.37em 0 0 0; } 
}
@media only screen and (max-width: 470px) {
	.mainnav.mobile-nav { margin: 5.10em 0 0 0; width: 100vw;} 
}	

.nav_container { width: 26em; position: fixed; top: 0; bottom: 0; right: -26em; background: #D3DCE2; transition: 300ms; overflow: auto; padding: 5.66em 4.16em 5.66em 3em; }
.nav_container.show { right: 0; }

.dektop-nav { float: right; display: block; }
.mobile-nav { display: none; }

/*########################### LEVEL 0 ################################ */ 

.mainnav .iconnav, .iconnav-home { float: right; }
.mainnav .login {float: right;}
.mainnav ul.level0, .iconnav ul, .iconnav-home ul { display: block; margin: 51px 0 0 0; padding: 0; }
.mainnav ul.level0 li, .iconnav ul li, .iconnav-home ul li { list-style: none; float: left; margin: 0 0 0 20px; position: relative; }
.mainnav ul.level0 li a, .iconnav ul li a, .iconnav-home ul li a { /* color: #332829;*/ font-size: 1.15em; padding: 0; display: block; text-decoration: none; font-family: "helvetica-neue-lt-pro", sans-serif;font-weight: 300;font-style: normal; /* font-family: 'RobotoBold'; */ }
.mainnav ul.level0 li a:hover, .iconnav ul li a:hover, .iconnav-home ul li a:hover { color: #332829; }
.mainnav ul.level0 li.active > a, .iconnav ul li.active a, .iconnav-home ul li.active a { color: #332829; font-weight: 700; }

.mainnav ul.level0 li a {font-size: 1em;font-weight: 400;/*line-height: 1.7;*/}
.iconnav ul li {margin: 0 0 0 5px;}
.mainnav ul.level0 {margin: 51px 30px 0 0;}

@media only screen and (max-width: 1440px) {
	.mainnav ul.level0, .iconnav ul, .iconnav-home ul {margin: 42px 0 0 0; }

}

@media only screen and (max-width: 1330px) {
	.mainnav { display: none; float: none; width: 26em; position: fixed; top: 0; bottom: 0; right: -26em; background: #FFFFFF; transition: 300ms; overflow: auto; padding: 5.66em 0 5.66em 20px; /*padding: 5.66em 4.16em 5.66em 3em;*/}
	.mainnav.show { display: block; right: 0; width: 40%;}
	.mainnav ul.level0 { border-bottom: solid 1px #a4a4a4; margin: 0 0 0 0; }
	.mainnav ul.level0 li { float: none; margin: 0 0 0 0; border-top: 1px #a4a4a4 solid;padding: 5px 0; }
	.mainnav ul.level0 li a { font-size: 1em; font-weight: 400; padding: 0 0 0 10px; }
	.dektop-nav { display: none; }
	.mobile-nav { display: block; }
}

@media only screen and (max-width: 767px) {
	.mainnav { display: none; float: none; } 
	/*.mainnav.show { width: 60%;}
	.mobile-nav.show { display: block; width: 60%;}*/
	.mainnav ul.level0 { border-bottom: solid 1px #332829; margin: 0 0 0 0; }
	.mainnav ul.level0 li { float: none; margin: 0 0 0 0; }
}

@media only screen and (max-width: 470px) {
	/*.mainnav.show { width: 100%;}
	.mobile-nav.show { width: 100%;}*/
}


.iconnav{ float: right; }
.iconnav ul, .iconnav-home ul { margin: 48px 0 0 0; }
a.icon_link { font-size: 1.4em !important;}

@media only screen and (max-width: 1440px) {
	.iconnav{ margin-right: 60px;position: relative;z-index: 99;}
	.iconnav ul {margin: 40px 0 0 0;}
	.iconnav-home ul {display: none;}
}

@media only screen and (max-width: 767px) {
	.iconnav{ margin-right: 60px; width: 200px;}
	.iconnav ul {margin: 17px 0 0 0;}
}

@media only screen and (max-width: 470px) {
	.iconnav{ margin-left: 0; margin-right: 0px; width: 263px; }
	.iconnav ul { float: right; margin: 0;}
}



/*########################### LEVEL 1 ################################ */ 


.mainnav ul li ul.level1 { position: absolute; left: 0; width: 250px; text-align: left; padding: 10px; display: none; background: #ffffff; }
.mainnav ul li ul.level1 li { float: none; margin: 0 0 0 0; padding: 0; }
.mainnav ul li ul.level1 li a { color: #332829; font-size: 0.8em; padding: 0 0 0 40px; border: none; font-family: "helvetica-neue-lt-pro", sans-serif; }
.mainnav ul li ul.level1 li:hover a { color: #332829; }
.mainnav ul li ul.level1 li.active > a { color: #332829; font-weight: 700; }
.mainnav ul.level0 li.active ul.level1 li a { color: #332829; }
.mainnav ul.level0 li.active ul.level1 li a:hover { color: #332829; }
.mainnav ul li:hover ul.level1 {  /*display: none; display: block;*/ }

@media only screen and (max-width: 1330px) {
	.mainnav ul li ul.level1 {display: block; position: relative; padding: 0 0 0 0; border-bottom: none; width: auto; }
	.mainnav ul li ul.level1 li a { font-size: 1em};
	.mainnav ul li:hover ul.level1 {display: block;}
}

@media only screen and (max-width: 767px) {
	.mainnav ul li ul.level1 { /*display: block; position: relative; border-bottom: none; width: auto;*/ }
}


/*########################### LEVEL 2 ################################ */ 


.mainnav ul li ul.level2 { position: absolute; left: 0; width: 250px; text-align: left; padding: 10px; display: none; background: #ffffff; }
.mainnav ul li ul.level2 li { float: none; margin: 0 0 0 0; padding: 0; }
.mainnav ul li ul.level2 li a { color: #332829; font-size: 0.8em; padding: 0 0 0 60px; border: none; font-family: "helvetica-neue-lt-pro", sans-serif; }
.mainnav ul li ul.level2 li:hover a { color: #332829; }
.mainnav ul li ul.level2 li.active a { color: #332829; font-weight: 700; }
.mainnav ul li.active ul.level2 li a { color: #332829; }
.mainnav ul li.active ul.level2 li a:hover { color: #332829; }
.mainnav ul li.active ul.level2 li.active a { color: #332829; font-weight: 700; }
.mainnav ul li:hover ul.level2 { /*display: none;  display: block;*/ }

@media only screen and (max-width: 1330px) {
	.mainnav ul li ul.level2 {display: block; position: relative; padding: 0 0 0 0; border-bottom: none; width: auto; }
	.mainnav ul li ul.level2 li a { font-size: 1em};
	.mainnav ul li:hover ul.level2 {display: block;}
}

@media only screen and (max-width: 767px) {
	.mainnav ul li ul.level2 { /* display: block; position: relative; border-bottom: none; width: auto; */ }
}



/*########################################################### */ 


.mainnav.login ul li a .icon {position: absolute;width: 1.8em;top: -0.2em;left: 0;}

.subnav {}
.subnav ul.level0 {list-style: none; padding: 0;}
.subnav ul.level0 li {border-bottom: #a4a4a4 solid 1px; font-weight: 400;}
.subnav ul.level0 li:last-child { border-bottom: #a4a4a4 solid 1px; }
.subnav ul.level0 li a { color: #000000; display: block; padding: 8px 0; text-decoration: none;}
.subnav ul.level0 li:hover > a { font-weight: 700;}
.subnav ul.level0 li.active > a { font-weight: 700; }

.subnav ul.level0 li ul.level1 { list-style: none; padding: 0;}
.subnav ul.level0 li ul.level1 li:first-child {border-top:#a4a4a4 solid 1px; padding: 0; }
.subnav ul.level0 li ul.level1 li:last-child { border-bottom: none; }
.subnav ul.level0 li ul.level1 li a {display: block; padding: 8px 0 8px 40px;}
.subnav ul.level0 li:hover ul.level1 li a { font-weight: 400;}
.subnav ul.level0 li ul.level1 li:hover a { font-weight: 700;}
.subnav ul.level0 li ul.level1 li.active a { font-weight: 700;}


@media only screen and (max-width: 1330px) {
	.ohnesubnav {display: none;}
	.contentohnesubnav {max-width: 1024px;padding: 0 15px;width: 100%;margin: 0 auto;}
}

@media (min-width: 1330px) {
    .ohnesubnav .subnav {position: sticky;top: 150px;max-height: calc(100vh - 140px);overflow-y: auto;}
}




/* login nav start */
.loginnav { float: right; }
.loginnav ul { margin: 0 0 0 0; padding: 0; }
.loginnav ul li { list-style: none; float: left; }
.loginnav ul li a { background: #EEEEEE; color: #332829; font-size: 16px; padding: 5px 30px; display: block; border: none; font-weight: 700; text-decoration: none; transition: 300ms; }
.scroll .loginnav ul li a { padding: 15px 30px; }
@media only screen and (max-width: 1800px) {
	.loginnav { float: right; margin: 0 0 0 30px; }
}
@media only screen and (max-width: 1320px) {
	.loginnav { float: right; margin: 0 0 0 20px; }
}
@media only screen and (max-width: 900px) {
	.loginnav { margin: 0 0 0 0; display: none; }
	.loginnav ul li a { padding: 15px 30px; }
}
@media only screen and (max-width: 900px) {
	.loginnav { float: none; margin: 0 0 20px 0; }
	.loginnav ul li { float: none; }
}

.loginnav {}
.loginnav .dropdown-toggle::after { display: none; }
.loginnav ul.dropdown-menu { border: none; border-radius: 0 0 5px 5px; overflow: hidden; }
.loginnav ul.dropdown-menu li { width: 100%; }
.loginnav ul.dropdown-menu li a { border-bottom: solid 1px #EEEEEE; padding: 15px 30px; }
.loginnav ul.dropdown-menu li:last-child a { border-bottom: none; }
@media only screen and (max-width: 900px) {
	.loginnav ul.dropdown-menu { border-radius: 5px 5px 0 0; width: 100%; }
}
/* login nav end */


/* chatGPT */

.mobile-navigation ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.mobile-navigation a {
    display: block;
    padding: .75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    text-decoration: none;
    font-weight: 400;
}

/* Ebenen */
.level-1 { padding-left: 1rem; }
.level-2 { padding-left: 2rem; }
.level-3 { padding-left: 3rem; }

/* aktiver Punkt */
.mobile-navigation a.active {
    font-weight: 700;
}

/* Untermenüs initial geschlossen */
.mobile-navigation ul ul {
    display: none;
}

/* geöffnet */
.mobile-navigation li.open > ul {
    display: block;
}

/* chatGPT ende */



.map { height: 500px; }
.map iframe { width: 100%; height: 100%; }

footer { color:#ffffff; font-size: 0.9em; padding: 0;font-weight: 200;letter-spacing: 0.05em; /* padding: 2em 0 0.5em 0; */}
footer a { color: #ffffff;text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color 180ms ease;}
footer a:hover { color: #ffffff;text-decoration: none;}


footer .produkte-slider-group {}
footer .produkte-slider-group h2 { color: #DB1729;}
footer .produkte-slider-group .card a { color: #000000; text-decoration: none;}

footer .border-bottom { border-bottom: #ffffff solid 2px !important;}

.footer-slogan { color: #ffffff;font-style: italic;font-weight:300;font-size: 1.5em;margin-bottom: 30px;letter-spacing: 0.03em;}

.footernav {}
.footernav strong {border-bottom: #ffffff solid 1px; color: #ffffff; display: block; font-size: 1.0em; margin: 0 0 22px 0; padding: 0 0 4px 0;}
.footernav strong a { color: #ffffff; text-decoration: none;}
.footernav ul { padding: 0; display: inline-block; }
.footernav ul li { line-height: 1.7em; list-style: none;}
.footernav ul li a { color: #ffffff; /*font-size: 0.9em;*/ font-weight: 200;letter-spacing: 0.05em;text-decoration: none;}
.footernav ul li a:hover { text-decoration: underline;}
.footernav p { /*font-size: 0.9em;*/ font-weight: 200; line-height: 1.2em;letter-spacing: 0.05em;}
.footernav p a { color: #ffffff;text-decoration: underline;}
.footernav p a:hover { color: #ffffff;text-decoration: none;}

.socialnav { font-size: 1.25em; line-height: 1.50em; }
.socialnav ul { padding: 0; display: inline-block; }
.socialnav ul li { list-style: none; float: left; margin-left: 1em; }
.socialnav ul li a { text-decoration: none; }
@media only screen and (max-width: 767px) {
    .socialnav ul li { margin-left: 0; margin-right: 1em; }
}

.menuicon { display: none; position: absolute; right: 15px; top: 45px; width: 30px; height: 25px; margin: 0 0 0 0; transition: 0ms; z-index: 9999; }
.menuicon .line { width: 30px; height: 3px; background: #000000; position: absolute; }
.menuicon .line:nth-of-type(1) { top: 0; }
.menuicon .line:nth-of-type(2) { top: 11px; }
.menuicon .line:nth-of-type(3) { top: 22px; }
.menuicon.active .line:nth-of-type(1) { top: 8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.menuicon.active .line:nth-of-type(2) { opacity: 0.0; visibility: hidden; }
.menuicon.active .line:nth-of-type(3) { top: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

@media only screen and (max-width: 1330px) {
	.menuicon { display: block; }
}
@media only screen and (max-width: 767px) {
	.menuicon { display: block; top: 23px; }
}

/* ------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------ */

ul.square { list-style-type:square; }
ul.circle { list-style-type:circle; }
ul.square { list-style-type:square; }
ul.image { list-style-image: url('img/sqpurple.gif'); }

ol.decimal-leading-zero { list-style-type:decimal-leading-zero; }
ol.lower-alpha { list-style-type:lower-alpha; }
ol.upper-alpha { list-style-type:upper-alpha; }
ol.upper-roman { list-style-type:upper-roman; }

ul.linklist { list-style-type:none;  }
ul li { position: relative; }
ul.linklist span { position: absolute; left: -20px; top: 2px; }

.card { border: none; border-radius: 0; box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.16); padding: 20px;}

.card-header { background-color: transparent; padding:20px;margin-bottom: 0;color: #000000;border-bottom:none;}
.card-header:first-child {border-radius: 0;}

.card .card-body { padding: 0; padding-top: 40px;}
.card .card-body h2 { color:#332829; font-weight: 700;}
.card .card-body h3 { color:#332829; font-size: 1em; font-weight: 700; margin: 0 0 5px 0;}
.card .card-body h3 a {text-decoration: none; }
.card .card-body p {margin-bottom: 0;}
.card .card-body p.date { color: #DB1729; font-size:0.7em; margin-bottom: 10px;}
.card .card-footer { background-color: transparent; border: none; padding: 0;}
.card .card-footer h3 { color: #000000; font-size: 1em; font-weight: 700;}

.blog .card-body h2 { font-size: 1em; line-height: 1.2em;}
.blog .card-body p { font-size: 0.8em; line-height: 1.375em;}
.blog .card-footer {background-color: #ffffff;border: none; padding: 0 16px 20px 16px;}
.blog .card-footer p {font-size: 0.8em; line-height: 1.375em; margin-bottom: 0;}

.card-img-wrapper {height: 330px; padding: 16px 0;}
.card-hover-zoom .card-img-wrapper {overflow: hidden;max-height: 330px;}
.card-hover-zoom img {transition: transform 0.3s ease;width: 100%;height: 100%;object-fit: contain; /* oder cover für stärkeres Zoom-Gefühl */}
.card-hover-zoom:hover img {transform: scale(1.08);}


.blog .card-image {overflow: hidden;position: relative;}
/* Bild sauber skalierbar machen */
.blog .card-image img {width: 100%;height: 100%;object-fit: cover; /* entscheidend für “Ausschnitt-Zoom” */transition: transform 0.4s ease;}
/* Optional: fixe Höhe für einheitliche Cards */
.blog .card-image {/*height: 220px;*/ /* je nach Design anpassen */}
/* Hover-Effekt */
.blog:hover .card-image img {transform: scale(1.1);}

.team .card-body h2, .team .card-body p { font-size: 1em; line-height: 1.2em;}

.mitrahmen { border: #ffffff solid 4px;}
.mitrahmen:hover { border: #DB1729 solid 4px;}

.teaser {border: none;border-radius: 0;box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.16);padding: 20px; text-align: center;} 

.produktbild_container { border-radius: 6px; overflow: hidden; }
.produktbild {}
.product-image { width: 100%;}
.produktbild a img { transition: 500ms; }
.produktbild a:hover img { transform: scale(1.3); }

.object-fit-contain { object-fit: contain; /*width: 100%; height: 100%;*/ }

.filterarea { background-color: #EFEFEF;}

.swiper-slide {/*width: 31.7%;*/ /* width: 25%; */ height: auto !important; /*padding: 0 12px;*/}
.swiper-pagination { position: relative; bottom: 0; padding: 10px 0 0 0; }
.swiper-button-prev, .swiper-button-next { color: #000000; width: 2.5em;height: 2.5em; /*background: red;*/ background-color: transparent; /*border-radius: 50%;*/ box-shadow: 0 2px 40px rgba(0, 0, 0, .1);}
.swiper-button-prev {left: -1.75em; left: 0;}
.swiper-button-next {right: -1.75em; right: 0;}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled { opacity: .0; }
.swiper-button-next:after, .swiper-button-prev:after { font-size: 1.6em; color: #DB1729; }

@media only screen and (max-width: 1224px) {
    .swiper-slide {/* width: 44%; */}
}

@media only screen and (max-width: 767px) {
	.swiper-slide {/* width: 90%; */}
}

/* .artikel .card .bi {position: absolute;right: 0; top: 0; font-size: 1.6em;} */
.artikel .card a .bi { color: #000000;} 
.pinactive { color: #DB1729 !important; }
.zindex99 { z-index: 99; }

.anzahl_pinartikel {position: absolute;top: -12px;right: 4px;background: #DB1729;width: 25px;height: 25px;text-align: center;/* font-size: 14px;line-height: 25px;*/ font-size: 0.55em; font-weight:400; line-height: 1.5em; border-radius: 50%;}
a .anzahl_pinartikel { color: #FFFFFF!important; text-decoration: none;}	

.anzahl_artikel {position: absolute;top: -12px;right: -5px;background: #DB1729;width: 25px;height: 25px;text-align: center;/* font-size: 14px;line-height: 25px;*/ font-size: 0.55em; font-weight:400; line-height: 1.5em; border-radius: 50%;}
a .anzahl_artikel { color: #FFFFFF!important; text-decoration: none;}	


.artikel .ab-preis { color: #DB1729; font-size: 1.5em;}
.artikel .preis { text-align: left; font-weight:700;}
.artikel .preiszusatz {color: #7D7D7D; font-size: 0.8em;}
.artikel .preiszusatz a {color: #7D7D7D;}

.card-body .ab-preis {color: #7D7D7D; font-size: 0.8em;}

/* .preis-warenkorb {justify-content: flex-end; /* Inhalt nach rechts */ /* align-items: center;}*/
/* .preis-warenkorb .preis {margin-right: 32px; /* Abstand zum Icon */ /* text-align: right;white-space: nowrap;}*/

.col-6 .preis-warenkorb {white-space: nowrap;}

.preis-warenkorb {display: flex;align-items: center; /* vertikal mittig */justify-content: flex-end;gap: 10px;width: 100%;}
.preis-warenkorb .preis {text-align: right; font-weight:300;}

.preis {margin-right: auto;       /* schiebt Icons nach rechts */text-align: right;min-width: 70px;}
.btn-pin, .btn-warenkorb {display: flex;align-items: center;justify-content: center;line-height: 1; cursor: pointer;}
.btn-warenkorb {position: relative; top: -4px;}
.btn-pin a:hover, .btn-warenkorb:hover { color: #DB1729;}
.btn-pin-detail { display: inline-flex;}

.row.warenkorb { border-bottom: solid 1px #707070; line-height: 1.2em; margin: 0 0 30px 0; /*margin-bottom: 30px;*/ padding-bottom: 30px; }
.warenkorb h2, .merkzettel h2, .bestellungen h2 { color: #000000; font-size: 1em; font-weight: 700; margin-bottom: 0.5em; }
.warenkorb p, .merkzettel p { margin: 0;}
.warenkorb span, .merkzettel span { color: #7D7D7D; font-size: 0.8em;  font-weight: 400;}
.warenkorb span a, .merkzettel span a {color: #7D7D7D;}

.row.merkzettel { margin-bottom: 30px;}
.row.bestellungen { margin-bottom: 30px;}

.breadcrumb-item { font-size: 0.9em; }
.breadcrumb-item+.breadcrumb-item::before {content: var(--bs-breadcrumb-divider, ">");}

.accordion { margin-bottom: 1px;}
.accordion-body p:last-child { margin-bottom: 0; }
.accordion-button { background: transparent; font-size: 0.9em; border-bottom: solid 1px #332829; }
.accordion-button:not(.collapsed) { background: transparent; box-shadow: none; color: #332829; }

.modal-dialog { max-width: 900px; }
.modal-content {box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.16);}
.modal-header { border-bottom: none; }
.modal-footer { border-top: none; }

.img-center { margin: 0 auto;}
.img-fit-content { width: fit-content;}

.plugin_image {box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.16); }

@media (min-width: 576px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: column; flex-flow: column; margin-right: 0; margin-left: 0; }
	.galerieUebersicht.card-deck .card { margin-right: 0; margin-left: 0; margin-bottom: 15px; }
}
@media (min-width: 776px) {
	.galerieUebersicht.card-deck { -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; }
	.galerieUebersicht.card-deck .card { margin-right: 15px; margin-left: 15px; margin-bottom: 30px; }
}

.plugin_galerie_height { height: 180px; }

.responsive-video { position: relative; padding-bottom: 56.25%; padding-top: 0px; height: 0; overflow: hidden; width: 100%; }
.responsive-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

figure video { width: 100%; height: auto; display: block; }

hr { margin: 0; border: 0 none; background-color: #332829; height: 1px; clear: both; opacity: 1; }
hr.space1 { height: 1px; }
hr.space2 { height: 2px; }
hr.space3 { height: 3px; }
hr.space4 { height: 4px; }
hr.space5 { height: 5px; }
hr.space10 { height: 10px; }

.header-abstand { height: 160px;}
@media (max-width: 1440px) {
	.header-abstand { height: 120px; }
}
@media (max-width: 767px) {
	.header-abstand { height: 66px; }
}

@media (max-width: 470px) {
	.header-abstand { height: 102px;}
}

.text-color-none {border-color: rgba(0, 0, 0, 0.0) !important; background-color: transparent !important;}

.scroll_progressbar { position: fixed; top: 0; left: 0; width: 0; height: 4px; z-index: 9999; }

.ribbon {
	position: fixed;
	top: 140px;
	left: -40px;
	width: 250px;
	padding: 10px 0;
	background-color: #332829;
	color: white;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	transform: rotate(-45deg);
	transform-origin: top left;
	z-index: 9000;
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
	display: none;
	cursor:pointer;
}


/* Modern directional Sticky Header (Weber) -------------------------- */
:root { --weber-header-height: 140px; --weber-header-ease: cubic-bezier(.2, .7, .3, 1); }
html { scroll-padding-top: calc(var(--weber-header-height) + 24px); }
header.weber-sticky-header {
	position: fixed; top: 0; left: 0; z-index: 1020;
	background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(51,40,41,.08);
	box-shadow: 0 1px 0 rgba(51,40,41,.03); transform: translateY(0);
	transition: transform 240ms var(--weber-header-ease), background-color 180ms ease, box-shadow 180ms ease,
	will-change: transform;
}
@supports ((-webkit-backdrop-filter: blur(14px)) or (backdrop-filter: blur(14px))) {
	header.weber-sticky-header.is-scrolled { background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(14px) saturate(145%); backdrop-filter: blur(14px) saturate(145%); }
}
header.weber-sticky-header.is-scrolled { border-bottom-color: rgba(51,40,41,.12); box-shadow: 0 12px 32px rgba(51,40,41,.10); }
header.weber-sticky-header.is-hidden { transform: translateY(calc(-100% - 2px)); box-shadow: none; }
header.weber-sticky-header:has(:focus-visible) { transform: translateY(0); transition: none; }
header.weber-sticky-header #logo,
header.weber-sticky-header .mainnav ul.level0,
header.weber-sticky-header .iconnav ul,
header.weber-sticky-header .iconnav-home ul,
header.weber-sticky-header .menuicon { transition: width 220ms var(--weber-header-ease), margin 220ms var(--weber-header-ease), top 220ms var(--weber-header-ease); }
@media (min-width: 1331px) {
	header.weber-sticky-header.is-scrolled #logo { width: 250px; margin-top: 18px; margin-bottom: 14px; }
	header.weber-sticky-header.is-scrolled .mainnav ul.level0,
	header.weber-sticky-header.is-scrolled .iconnav ul,
	header.weber-sticky-header.is-scrolled .iconnav-home ul { margin-top: 25px; }
}
@media (max-width: 1330px) {
	:root { --weber-header-height: 116px; }
	/* Do not create a containing block around the fixed mobile drawer. */
	header.weber-sticky-header, header.weber-sticky-header.is-hidden {
		transform: none;
		will-change: auto;
		transition: background-color 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	}
	header.weber-sticky-header .mainnav.mobile-nav {
		max-height: 100dvh;
		overscroll-behavior: contain;
	}
	header.weber-sticky-header.is-scrolled #logo { width: 250px; margin-top: 18px; margin-bottom: 14px; }
	header.weber-sticky-header.is-scrolled .iconnav ul { margin-top: 24px; }
	header.weber-sticky-header.is-scrolled .menuicon { top: 29px; }
}
@media (max-width: 767px) {
	:root { --weber-header-height: 70px; }
	header.weber-sticky-header #logo, header.weber-sticky-header.is-scrolled #logo { width: 170px; margin-top: 16px; margin-bottom: 10px; }
	header.weber-sticky-header .iconnav, header.weber-sticky-header.is-scrolled .iconnav { width: auto; }
	header.weber-sticky-header .iconnav ul, header.weber-sticky-header.is-scrolled .iconnav ul { margin-top: 14px; }
	header.weber-sticky-header .menuicon, header.weber-sticky-header.is-scrolled .menuicon { top: 21px; }
}
@media (max-width: 470px) { :root { --weber-header-height: 102px; } header.weber-sticky-header .iconnav { width: 100%; } }
@media (prefers-reduced-motion: reduce) {
	header.weber-sticky-header, header.weber-sticky-header #logo, header.weber-sticky-header .mainnav ul.level0,
	header.weber-sticky-header .iconnav ul, header.weber-sticky-header .iconnav-home ul, header.weber-sticky-header .menuicon { transition: none; }
}
@media print { header.weber-sticky-header { position: static; transform: none; box-shadow: none; } html { scroll-padding-top: 0; } }




/* Header: Navigation und Icons */
header .mainnav ul.level0 > li > a {
    position: relative;
    transition: color 180ms ease;
}

/* Animierte Linie */
header .mainnav ul.level0 > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -8px;
    left: 0;
    height: 2px;
    background: #DB1729;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 220ms ease;
}

header .mainnav ul.level0 > li > a:hover,
header .mainnav ul.level0 > li > a:focus-visible,
header .mainnav ul.level0 > li.active > a {
    color: #DB1729;
}

header .mainnav ul.level0 > li > a:hover::after,
header .mainnav ul.level0 > li > a:focus-visible::after,
header .mainnav ul.level0 > li.active > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Header-Icons */
header .iconnav a.icon_link,
header .iconnav-home a.icon_link {
    display: grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    color: #332829;
    transition:
        /* color 180ms ease,*/
        transform 180ms ease;
}

header .iconnav a.icon_link:hover,
header .iconnav a.icon_link:focus-visible,
header .iconnav-home a.icon_link:hover,
header .iconnav-home a.icon_link:focus-visible {
    background: transparent;
    color: #DB1729;
    /* transform: translateY(-2px); */
}

/* Einheitlicher Tastaturfokus */
header a:focus-visible {
    outline: 2px solid #DB1729;
    outline-offset: 4px;
}

@media (max-width: 1330px) {
    header .mobile-nav ul.level0 > li > a::after {
        display: none;
    }

    header .mobile-nav ul.level0 > li > a {
        padding: 10px 14px;
        border-left: 3px solid transparent;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            border-color 180ms ease;
    }

    header .mobile-nav ul.level0 > li > a:hover,
    header .mobile-nav ul.level0 > li > a:focus-visible,
    header .mobile-nav ul.level0 > li.active > a {
        border-left-color: #DB1729;
        background-color: rgba(219, 23, 41, 0.07);
        color: #DB1729;
    }
}

@media (prefers-reduced-motion: reduce) {
    header .mainnav a,
    header .mainnav a::after,
    header .iconnav a.icon_link,
    header .iconnav-home a.icon_link {
        transition: none;
    }
}

/* Weber CTA Button mit Pfeil 
.btn-weber-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 48px;
    margin: 0;
    padding: 12px 22px;

    border: 2px solid #db1729;
    border-radius: 0;
    background-color: #db1729;
    color: #ffffff !important;

    font-family: "helvetica-neue-lt-pro", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    text-decoration: none;

    cursor: pointer;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.btn-weber-arrow::after {
    content: "\2192";
    flex: 0 0 auto;
    font-size: 26px;
    font-weight: 300;
    line-height: 1;
    transition: transform 180ms ease;
}

.btn-weber-arrow:hover {
    border-color: #b50e20;
    background-color: #b50e20;
    color: #ffffff !important;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(181, 14, 32, 0.2);
    transform: translateY(-2px);
}

.btn-weber-arrow:hover::after {
    transform: translateX(5px);
}

.btn-weber-arrow:focus-visible {
    outline: 3px solid rgba(219, 23, 41, 0.35);
    outline-offset: 4px;
}

.btn-weber-arrow:active {
    box-shadow: none;
    transform: translateY(0);
}

@media (max-width: 767px) {
    .btn-weber-arrow {
        min-height: 44px;
        gap: 15px;
        padding: 9px 14px;
        font-size: 15px;
    }

    .btn-weber-arrow::after {
        font-size: 23px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .btn-weber-arrow,
    .btn-weber-arrow::after {
        transition: none;
    }
}*/

