/* Normalize */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],/* 1 */
input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* Reset & Basis */
* { margin: 0; padding: 0; box-sizing: border-box; }


@font-face {
	
    font-family: 'HansHand';
    src: url('../fonts/hanshand/HansHand.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
	font-display: fallback;
}


@font-face {	  
	  font-family: 'Open Sans';
	  font-style: normal;
	  font-weight: 400;
	  src: url('../fonts/OpenSans/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
	  font-display: fallback;
	}


:root {
	--primary: #3E6D92;
	--primary-light: #E8F0F6;
	--color-red: #d70d0a; /* #E9261C; */
	--text: #444;
	--bg: #ffffff;
	--bg-light: #d0d0d0;
	--font-serif: Georgia, 'Times New Roman', serif;
	--font-sans: 'Open Sans', sans-serif;
	--font-segoe: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	--font-hanshand: "HansHand", "Architects Daughter", "Patrick Hand", cursive;
	--transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}


:focus-visible {
  background-color:var(--color-red);
  color:white;
 
  outline: 2px solid var(--color-red); 
}

input:focus-visible,
textarea:focus-visible {
   background-color:white;
   color:#444;
   border: 1px solid red !important;
}

/* Grid System 12er
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.container {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0px !important;
  box-sizing: border-box; 
  background-color: white; }
  
.container:first-child::before {
   content: '';
   min-height: 0px;
   display: block;
 }
 
 .wrap {padding: 1rem 2rem 0 2rem !important}
   @media (min-width: 550px) {
	  .wrap {padding: 1rem 4rem 0 4rem !important}
  }
  

@media (min-width: 1101px) {
  .row {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* 12 gleich große Spalten */
    column-gap: 15px;
  }
  
  /* Spezielles Raster für 5 Tafeln */
  .row.tafeln {
    grid-template-columns: repeat(5, 1fr);
  }

  /* Sicherstellen, dass die Kinder in der 5er-Row jeweils genau 1 Feld belegen */
  .row.tafeln > .col, 
  .row.tafeln > .cols {
    grid-column: span 1;
    width: auto;
  }
}

  /* Grids */
  .one.cols    { grid-column: span 1; }
  .two.cols    { grid-column: span 2; }
  .three.cols  { grid-column: span 3; }
  .four.cols   { grid-column: span 4; }
  .five.cols   { grid-column: span 5; }
  .six.cols    { grid-column: span 6; }
  .seven.cols  { grid-column: span 7; }
  .eight.cols  { grid-column: span 8; }
  .nine.cols   { grid-column: span 9; }
  .ten.cols    { grid-column: span 10; }
  .eleven.cols { grid-column: span 11; }
  .twelve.cols { grid-column: span 12; }
  
  /* Breite auf auto setzen! */
  .col, .cols { width: auto; }
}


		
 @media (max-width: 768px) {
           
            .container { padding: 0 60px; }
            .row { grid-template-columns: 1fr; gap: 15px; }
			.col, .cols { margin-top:20px; }
        }


/* grid footer */

@media (min-width: 769px) and (max-width: 1100px) {

    /* 1. Das Haupt-Grid des Footers */
    #footer .row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; 
        gap: 0px 0px;
        width: 100% !important;
    }

  

    /* 2. Das Logo (Erste Spalte in der Row) */
    #footer .row .cols:first-child,
    #footer .row .col:first-child {
        grid-column: 1 / span 2 !important; 
        width: 100% !important;
        float: none !important;
        text-align: center;
    }

    /* 3. Die mittleren Boxen (Adresse/Kontakt) */
    /* Diese nehmen automatisch jeweils 1fr ein (50% Breite) */
    #footer .f-box:not(.changebox) {
        grid-column: span 1 !important;
     
    }

    /* 4. Die Spezial-Box am Ende (Links & Social) */
    #footer .changebox.f-box {
        grid-column: 1 / span 2 !important; 
     
        /* Inneres Grid bilden für Links und Social nebeneinander */
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; 
        gap: 20px;
		}

		/* Inhalte der changebox sortieren */
		#footer .changebox .footer_links {
			order: 1 !important; /* Verlinkungen in linke Spalte */
			grid-column: span 1 !important;
		}

		#footer .changebox .footer_social {
			order: 2 !important; /* Socials in rechte Spalte */
			grid-column: span 1 !important;
			text-align: left;   
			padding:0px 20px 2px 30px;
			margin-top:16px;
		}

}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.segoe		{font-family: var(--font-segoe);}
.sans  		{font-family: var(--font-sans);}
.serif 		{font-family: var(--font-serif);}
.hanshand 	{font-family: var(--font-hanshand);}

.kapital { text-transform:uppercase;}
.kursiv  { font-style:italic; }

html {
  font-size: 62.5%;  /* 62,5% = 1.5rem = 15px :) */
   scroll-behavior: smooth;
 
}

body {
  font-family: var(--font-sans);
  font-size: clamp(1.6rem, 5vw, 2.3rem);
  line-height: 1.5;
  font-weight: 400;
  color: var(--text); 
  background-color: var(--bg); 
  
  }

strong, b {
	font-weight: 600;
}


h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 400; }

h1 { font-size: clamp(2.2rem, 4.5vw + 1rem, 4.5rem); line-height: 1.1; font-family: 'Georgia', serif; }
h2 { font-size: clamp(2rem, 4.3vw + 1rem, 4.3rem); line-height: 1.25; font-family: 'Georgia', serif; }
h3 { font-size: clamp(1.8rem, 3vw + 1rem, 2.6rem); line-height: 1.3; letter-spacing: -.1rem;}
h4 { font-size: clamp(1.5rem, 2vw + 1rem, 2.2rem); line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: clamp(1.2rem, 1.5vw + 1rem, 1.8rem); line-height: 1.5; letter-spacing: -.05rem; }
h6 { font-size: clamp(1rem, 1vw + 1rem, 1.6rem); line-height: 1.6; letter-spacing: 0; }

.infos h3 {
	margin:6rem 0 1rem 0;
	font-weight:600;
	
	letter-spacing:0;	
}

.infos h3:first-child {
	margin:0rem 0 1rem 0;	
}

.wrap h3 {
	font-weight:600;
	font-size: clamp(1.8rem, 2vw + 1rem, 2.3rem);
	
}


p {
  font-size: clamp(1.6rem, 5vw, 2.3rem);
  margin-top: 0; 
  margin-bottom:3.0rem;
  }

address { font-style:normal;}

a.link-blue {
	color:blue;
	text-decoration:underline
}

/* Text Sizing */
.text-size-xxl { font-size: clamp(1.8rem, 5vw, 3.0rem); line-height: 1.1; }
.text-size-xl  { font-size: clamp(1.6rem, 4vw, 2.4rem) ; line-height: 1.2; }
.text-size-l   { font-size: clamp(1.4rem, 3vw, 2.0rem); line-height: 1.3; }
.text-size-m   { font-size: clamp(1.2rem, 2.5vw, 1.6rem); line-height: 1.5; }
.text-size-s   { font-size: clamp(0.9rem, 1.5vw, 1.1rem); line-height: 1.5; }
.text-size-xs  { font-size: clamp(0.75rem, 1vw, 0.9rem);  line-height: 1.5; }



/* Skip Link */
.skip-link {
  position: absolute;
  top: -100px; /* aus den sichtb. Bereich schieben */
  left: 0;
  background: #000;
  color: #fff;
  padding: 10px;
  z-index: 100;
}

.skip-link:focus {
  top: 0; /* Erscheint oben am Bildschirm, sobald man "Tab" drückt */
}




/* Bildbox
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Grundcontainer für das Bild-Stapel-Design */
.bildbox-wrapper {
    position: relative;
    display: inline-block;
    margin: 40px 30px; /* Genug Platz für die versetzten Ebenen */
    z-index: 1;
}

/* Gemeinsame Stile für die zwei "unterliegenden" Ebenen */
.bildbox-wrapper::before,
.bildbox-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* Die rote Ebene (unten) */
.bildbox-wrapper::before {
    background-color: #E9261C; /* Dein Rot */
    transform: rotate(-2deg) translate(-11px, -7px);
    opacity: 0.9;
}

/* Die graue Ebene (mitte) - Edelstahl/Metzger-Grau */
.bildbox-wrapper::after {
    background-color: #D1D5DB; 
    border: 1px solid rgba(0,0,0,0.1);
    transform: rotate(2deg) translate(10px, -5px);
}

/* Das eigentliche Bild (oben) */
.bildbox {
    display: block;
    max-width: 100%; 
    height: auto;
    background: #fff;
    padding: 6px; /* Weißer Fotorand */
    border: 1px solid #eee;
    box-shadow: 0 10px 20px rgba(0,0,0,0.12);
	margin-bottom:0;
}

.sticky-img {
	position: -webkit-sticky; /* Safari Support */
    position: sticky;
    top: 20px; /* Abstand zum oberen Rand, wenn es fixiert ist */
    display: block;
    max-width: 100%;
    height: auto;	
}

/* --- Jedes 2. Bild spiegelt sich) --- */

.bildbox-wrapper:nth-of-type(even)::before {
    transform: rotate(3deg) translate(12px, -10px);
}

.bildbox-wrapper:nth-of-type(even)::after {
    transform: rotate(-2deg) translate(-10px, -5px);
}

/* --- Optimierung für Mobilgeräte (unter 768px) --- */
@media (max-width: 767px) {
    .bildbox-wrapper {
        margin: 0px 0px; /* Weniger Abstand außen */
        display: block;    /* Nimmt die volle Breite ein */
    }

    /* Hintergründe fast gerade rücken und Versatz minimieren */
    .bildbox-wrapper::before {
        transform: rotate(-2deg) translate(-5px, -2px) !important;
    }

    .bildbox-wrapper::after {
        transform: rotate(1deg) translate(5px, -1px) !important;
    }

    /* Spiegelung für das Handy ebenfalls dezenter */
    .bildbox-wrapper:nth-of-type(even)::before {
        transform: rotate(1deg) translate(5px, -3px) !important;
    }

    .bildbox-wrapper:nth-of-type(even)::after {
        transform: rotate(-1deg) translate(-5px, -3px) !important;
    }

    .bildbox {
        padding: 3px; /* Schmalerer weißer Rand auf kleinen Screens */
    }
}


/* Wochenmenü
------------------------------------------------- */
 .wm-main-wrapper {
        max-width: 1100px;
        margin: 0 auto;
        padding: 20px 0;
        color: #fff;
    }

    /* Grid Layout: Desktop & Tablet */
    .wm-grid-5 {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
    }

    /* --- TAFEL DESIGN (UNVERÄNDERT) --- */
    .wochentafel-red {
		background: #a30000;
		background-image: linear-gradient(135deg, #c40000 0%, #8b0000 100%);
		border: 10px solid #f0f0f0;
		border-radius: 3px;
		padding: 10px 6px;
		color: #fff;
		min-height: 278px;
        flex: 0 0 192px !important;
		width: 192px !important;
        max-width: 192px !important;
        min-width: 192px !important;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
		position: relative;
		text-align: center;
		display: flex;
		flex-direction: column;
		transition: transform 0.3s ease;
		overflow: hidden;
	}

    @media (min-width: 769px) {
        .wm-grid-5 > div:nth-child(odd) { transform: rotate(0deg); }
        .wm-grid-5 > div:nth-child(even) { transform: rotate(0deg); }
        .wochentafel-red:hover {
            transform: scale(1.05) rotate(0deg) !important;
            z-index: 10;
        }
    }

    .tafel-head-area {
        font-family: var(--font-sans), sans-serif;
        margin-bottom: 0px;
		color: #fff;
    }

    .tafel-day {
        font-size: 1.4rem;
        font-weight: 600;
        text-transform: uppercase;
        display: block;
        line-height: 1;
		text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    }

    .tafel-date {
        font-size: 1.3rem;
        opacity: 1;
        display: block;
        margin-top: 5px;
		text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    }

    .tafel-content {
        flex-grow: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px 10px 10px;
    }

    .tafel-content-inner {
        font-family: var(--font-hanshand), cursive;
        font-size: 1.9rem;
        line-height: 1.5;
        transform: rotate(-10deg);
        text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        word-wrap: break-word;
        max-width: 100%;
    }

    .tafel-preis-hand {
        font-size: 1.7rem;
        margin-top: 15px;
    }
    /* --- ENDE TAFEL DESIGN --- */

    .wm-tabs {
        display: flex;
        gap: 15px;
        margin-bottom: 40px;
        justify-content: center;
    }

    .wm-tab-btn {
        display: inline-flex;
        flex-direction: row; 
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 2px solid #444;
        color: #444;
        padding: 12px 25px;
        cursor: pointer;
        font-family: var(--font-sans), sans-serif;
        font-size: 1.3rem;
        font-weight: bold;
        text-transform: uppercase;
        transition: none;
        min-width: 180px;
    }

    .wm-tab-btn.active, .wm-tab-btn:hover {
        background: #eee;
        color: #444;
    }

    .wm-tab-btn small {
        font-size: 1.5rem;
        font-weight: bold;
        margin-left: 8px; 
        text-transform: none;
        display: inline;
    }

    .wochen-container { 
        display: none !important; 
    }
    .wochen-container.active { 
        display: block !important; 
    }
	
	.wm-printlink {
		    display: block;
			margin-top: 20px;
		}

    @media (max-width: 768px) {
        .wm-tabs {
            flex-direction: column;
            align-items: center;
            gap: 10px;
        }

        .wm-tab-btn {
            width: 95%;
            max-width: 450px;
            font-size: 1rem;
        }
        
        .wm-tab-btn small {
            font-size: 1rem;
        }

        .wm-grid-5 {
            display: flex !important;
            flex-wrap: nowrap !important;
            justify-content: flex-start !important;
            overflow-x: auto !important;
            scroll-snap-type: x mandatory;
            scroll-padding: 0 50%;
            gap: 20px;
            padding: 10px 40px 30px 40px;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }

        .wm-grid-5::-webkit-scrollbar {
            display: none;
        }

        .wochentafel-red {
            scroll-snap-align: center;
            transform: rotate(0deg) !important;
        }
		
		.wm-printlink {
		    display: block;
			margin-top: 10px;
		}
    }
	
	
	@media (min-width: 769px) and (max-width: 1000px) {
		.wm-tab-btn small, 
		.wm-tab-btn {
			font-size: 1.2rem;
		}
		
	}




/* Bg colors 
------------------------------------------------- */
.bg_trans	{ background-color:none; background-color:transparent}
.bg_red 	{ background-color:#da1d2c; color:white;} 		
.bg_darkred { background-color:darkred; color:white;}
.bg_sh_red	{ background-color:#a22523; color:white; }			
.bg_sh_wall { background-color:#ecdabc; color:#444; }  /* #ecdabc */
.bg_sh_main { background-color:#fbf8f6;}
.bg_footer  { background-color: #e2efd1; }
.bg_dim  	{ background-color: #f8f8f8; }
				
.bg_cta 	{ background-color:#2B2930; color:white}

.bg_crimson { background-color:crimson; color:white;}
.bg_coral	{ background-color:coral; }
.bg_blue 	{ background-color:lightblue; }
.bg_darkblue{ background-color:#102f47; color:white;}
.bg_darkblu2{ background-color:#1e4059; color:white;}
.bg_white 	{ background-color:white; }
.bg_ghostwhite 	{ background-color:ghostwhite; }
.bg_yellow 	{ background-color:yellow; }
.bg_green 	{ background-color:green; color:white;}
.bg_black 	{ background-color:#222; color:white;}
.bg_black2 	{ background-color:#000; color:#f8f8f8;}
.bg_gray	{ background-color:gray; color: white;}
.bg_light 	{ background-color:#fbf8f6; }
.bg_maroon	{ background-color:maroon; color:white;}
.bg_darkmagenta	{ background-color:darkmagenta; color:white;}
.bg_orange	{ background-color:orange; color:white;}
.bg_olive	{ background-color:olive; color:white;}
.bg_purple	{ background-color:purple; color:white;}
.bg_fuchsia	{ background-color:fuchsia; color:white;}
.bg_navy	{ background-color:navy; color:white;}
.bg_gold_2	{  background-image: url("../img/layout/gold_2.png");	}
.bg_hotpink	{ background-color:hotpink; }
.bg_indigo	{ background-color:indigo; color:white;}
.bg_lavender	{ background-color:lavender; }
.bg_lavenderblush	{ background-color:lavenderblush; }
.bg_ivory	{ background-color:ivory; }
.bg_lightblue	{ background-color:lightblue; }
.bg_thistle	{ background-color:thistle; }
.bg_royalblue	{ background-color:royalblue; color:white;}
.bg_slategray	{ background-color:slategray; color:white;}
.bg_orange 	{ background-color:orange; }
.bg_orangered 	{ background-color:orangered; color:white; }
.bg_skyvlue	{ background-color:skyblue; }
.bg_yellowgreen	{ background-color:yellowgreen; }
.bg_steelblue 	{ background-color:steelblue; color:white}

.bg_darkgreen 	{ background-color:darkgreen; color:white; }
.bg_teal 	{ background-color:teal; color:white; }
.bg_tan	{ background-color:tan; color:white; }
.bg_lightgreen 	{ background-color:lightgreen; color:white; }
.bg_seagreen 	{ background-color:seagreen; color:white; }
.bg_dimgray 	{ background-color:dimgray; color:white; }
.bg_firebrick 	{ background-color:firebrick; color:white; }
.bg_oldlace 	{ background-color:oldlace;  }


.bg_purple-hotpink  { background-image:linear-gradient(110deg, #5f0a87 0%, #a4508b 100%); color:#fff; }
.bg_hinweis-1  		{ background-image: linear-gradient(180deg, #431726 0%, #091c4c 100%); color:#fff }
.bg_wall-main 		{ background-image:linear-gradient(110deg, #cdba9c 0%, #fbf8f6 100%);  }
.bg_main 			{ background-image:linear-gradient(180deg, #fcfcfc 10%, #222 100%);  }


.no-bg { background-color:transparent !important; background-image:none;  }

.border-1	{ border: 1px solid white}
.border-3	{ border: 3px solid white}
.border-1-dark	{ border: 1px solid #444}
.border-3	{ border: 3px solid var(--color-red); border-bottom-radius:4px;}
.border-top-1-dark { border-top: 1px solid #ccc}

a {
	color: inherit;
	text-decoration:none;}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	 text-decoration:none;
	 color:inherit;
 }



.pill {
	display: inline-block; 
	padding: 6px 16px; 
	border-radius: 20px; 
	font-size: 1.4rem; 
	text-decoration: none; 
	transition: all 0.2s ease; 
	background-color: #f5f5f5; 
	color: #444; 
	border: 1px solid #ddd;
	}

.pill-font-2 {font-size:1.85rem !important;}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  color: #555;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color:white;
  border-color: #888;
  outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
  background-color: navy;
  border-color: blue; }
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #1EAEDB;
  border-color: #1EAEDB; }

input[type="submit"].gutscheinbutton {
	background-color:#a22523; color:white;
}



/* Animate
------------------------------------------------ */
.anibox { overflow: auto; }
.img-animate { animation:none; }
@media (min-width: 1460px) {
	.anibox {
	  width: 100%; 
	  height: 100%; 
	  overflow: hidden; 
	  position: relative;
	 
	}


	.img-animate {
	  width: 100%; 
	  height: 100%; 
	  object-fit: cover; 
	  animation: zoomOut 10s ease; /* Animation */
	}


	@keyframes zoomOut {
	  0% {
		transform: scale(1.12); /* Startgröße */
	  }
	  100% {
		transform: scale(1); /* Ende mit leichtem Auszoomen */
	  }
	}	
}	

/* TopButton
------------------------------------------------ */
#gototop {
  display: none;
  position: fixed;
  bottom: 2px;
  right: 10px;
  z-index: 99;
  font-size: 3.0rem;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0px 15px;
  border-radius: 4px;
  background-color:#df2331;
}


/* Produktseite img Abstand
------------------------------------------------- */

#produkte .four img {margin-bottom:3px !important; }



/* Position */
.relative {position:relative;}


/* Scroll Down
------------------------------------------------- */
.scroll-down {
    bottom: 20px;
    position: absolute;
    text-align: center;
    width: 100%;
    z-index: 2;
	}
	
	.scroll-down a {
    display: inline-block;
    outline: 0;
    position: relative;
    text-align: center;
    text-decoration: none;
	animation: bounce 2000ms infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
	cursor: pointer;
}
@keyframes bounce {
50% {
    transform: translateY(-20px);
  }
}

.scroll-down a svg {
    display: block;
    fill: #fff;
    -webkit-filter: drop-shadow(0 0 3px #000);
    height: 50px;
    -webkit-transform: rotate(90deg);
    width: 50px;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  width:100%;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: disc inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 0rem;  list-style-position:outside;}

.liste li {margin-bottom:2rem}
.liste2 li {font-size:80%; margin-bottom:2rem}
.kochkurse {
		background-color: #ddd;
		color: 000;
}

.mbliste-1 { margin:0 0 0 30px; }
.mbliste-1 li { margin:0 0 10px 0px; }
 
 @media (min-width: 1200px) {
	.mbliste-1 { margin:0 0 0 133px; }
	
 }
 

.mbliste li { margin:0 0 10px 0px; }
 
 @media (min-width: 1200px) {
	.mbliste-1 { margin:0 0 0 133px; }
 }
 
.mbliste-2 li { margin:0 0 20px 40px; }
 @media (max-width: 768px) {
	.mbliste-2 { margin:0 0 20px 0px; }
 }
 
/* KI Hinweis 
-------------------------------------------------- */

.ki {
    position: absolute;
    bottom: 8px;
    font-size: 1.2rem;
    left: 7px;
    color: #555;
    padding: 4px;
}
@media (max-width: 768px) {
    .ki {
        /* Hebt die absolute Positionierung für mobile Ansichten auf */
        position: relative !important; 
        bottom: auto !important;
        left: auto !important;
        
        /* Passt das Layout an, sodass es unter dem Bild bleibt */
        display: block;
        margin-top: -30px; 
        
    }
}

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
table { font-size:85%}
th,
td {
  padding: 12px 15px;
  text-align: left;
  border: 1px solid #E1E1E1; }

th:first-child,
td:first-child {
  padding-left: 15px; }
th:last-child,
td:last-child {
  padding-right: 15px; }

thead tr  { background-color:#f5f5f5; }
tr:hover { background-color:#f8f8f8; }
td:hover { background-color:#f1f1f1; }

.vita-table td:first-of-type {
	width:95px !important;
}

.mytable_4 {
  width: 100%;
    max-width: 600px;
    border-collapse: collapse;
    font-family: "Segoe UI", Arial, sans-serif;
    background: #fffdf8;
    border: 3px solid #d70d0a;
    border-radius: 0px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Titelzeile */
.mytable_4 tr:first-child td {
  background:  var(--color-red);
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  padding: 12px;
  letter-spacing: 0.5px;
}

/* Allgemeine Zellen */
.mytable_4 td {
  padding: 10px 14px;
  border-bottom: 1px solid #eee;
  color: #333;
}

/* Erste Spalte (Produktnamen) */
.mytable_4 td:first-child {
  font-weight: 500;
}

/* Zweite Spalte (Gewicht) */
.mytable_4 td:last-child {
  text-align: right;
  color: #7a6a58;
  white-space: nowrap;
}

/* Zebra-Streifen */
.mytable_4 tr:nth-child(even):not(:first-child) {
  background-color: #faf6f0;
}

/* Hover-Effekt */
.mytable_4 tr:hover:not(:first-child) {
  background-color: #f3ebe2;
  transition: background 0.2s ease;
}

/* Letzte Zeile hervorheben */
.mytable_4 tr:last-child td {
  border-top: 2px solid #d6c2a8;
  font-weight: bold;
  background: #f7f1e8;
}

/* Leere Zelle etwas dezenter */
.mytable_4 td:empty {
  background: transparent;
  border-bottom: none;
}

/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

section:first-of-type {
  margin-top:0rem;
}
section:last-of-type {
  margin-bottom:0rem;
}

section {
  margin-top:0rem;
}


button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form,
img {
  margin-bottom: 2.5rem; }

img {
	max-width: 100%;
  height: auto;
}



/* Buttons
------------------------------------------------ */
.btn-s {
	display:inline-block;
    width: auto;
    background: #f2f2f2;
	color:#000;
    height: auto;
    padding: 2px 10px;
    border: 1px solid #ccc;
	border-radius:4px;
	margin-bottom:7px;
	font-size:80%;
}

.btn-s:hover {
	background: #f8f8f8;
    }
	
.btn-s:active {
	background: #ddd;
    }	
	
.btn-cta {
	display:inline-block;
    width: auto;
    background: #b30000;
	color:#fff;
    height: auto;
    padding: 12px 20px;
    border: 1px solid #ccc;
	border-radius:4px;
	font-size:80%;
}

.btn-cta:hover {
	background: var(--color-red);
	color:#fff;
    }
	
	
/* Interne Nav Präsentkörbe */
.basket-nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Bricht auf kleinen Bildschirmen um */
    gap: 20px;       /* Abstand zwischen den Buttons */
    width: 100%;
}

/* Die drei Spalten gleichmäßig verteilen */
.basket-nav-container > div {
    flex: 1;
}

/* Ausrichtung der Buttons in den Spalten */
.nav-prev { text-align: left; }
.nav-overview { text-align: center; }
.nav-next { text-align: right; }

/* Mobile Optimierung: Auf dem Smartphone untereinander anzeigen */
@media (max-width: 768px) {
    .basket-nav-container {
        flex-direction: column;
    }
    .basket-nav-container > div {
        text-align: center;
        width: 100%;
    }
    .basket-nav-container .btn-cta {
        width: 100%; /* Macht die Buttons auf dem Handy gleich breit */
        box-sizing: border-box;
    }
}

	


.pdf-button {
display: block;
    width: 200px;
    
	background: #ddcbbb url('../img/layout/pdficon_large.png') 0.5em 0.2em	no-repeat;
    height: 20px;
    padding: 0;
    border: 0px solid #ccc;
	margin-bottom:7px;
	font-size:1em;
}


.pdfbtn {
	display:block;
	margin:0em 0.5em 0.6em 0.5em;
	padding:0.3em 1em 0.3em 3.5em; 
	background:#ddcbbb url('../img/layout/pdficon_large2.png') 0.5em 0.2em	no-repeat; 
	color:#222;
	font-size:0.8em;
	text-decoration:none;
	text-shadow:1px 0px 0px #DDD;
	font-family:'OpenSansRegular', sans-serif;
	}
	
.pdfbtn:hover {	
	background-color:#2f221c;
	color:#eee;
	text-decoration:none;
	text-shadow:0px 0px 0px #DDD;
	}

	
a.pdf-button:hover{
background:#f8f8f8;
}


.cardbtn {
	display:block;
	margin:0em 0.5em 0.6em 0.5em;
	padding:0.4em 1em 0.4em 1em; 
	background:#dd0315dd; 
	color:#fff;
	font-size:0.8em;
	text-decoration:none;
	text-shadow:0.5px 0px 0px #eee;
	font-family:'OpenSansRegular', sans-serif;
	 
	}
	
.cardbtn:hover {	
	background-color:#2f221c;
	color:#eee;
	text-decoration:none;
	text-shadow:0px 0px 0px #DDD;
	}
	
.cardbtn-cta {
	display:block;
	margin:0em 0.5em 0.6em 0em;
	padding:0.4em 1em 0.4em 1em; 
	background:#dd0315dd; 
	color:#fff;
	font-size:0.8em;
	text-decoration:none;
	text-shadow:0.5px 0px 0px #eee;
	font-family:'OpenSansRegular', sans-serif;
	width:105px;
	 
	}
	
.cardbtn-cta:hover {	
	background-color:#fff;
	color:#222;
	text-decoration:none;
	text-shadow:0px 0px 0px #DDD;
	}

	
	.shine {
    position: relative;
    overflow: hidden; 
	}

	.shine::after {
		content: '';
		position: absolute;
		top: -50%;
		left: -100%;
		width: 50%;
		height: 200%;
		background: linear-gradient(
			to right, 
			rgba(255, 255, 255, 0) 0%, 
			rgba(255, 255, 255, 0.4) 50%, 
			rgba(255, 255, 255, 0) 100%
		);
		transform: rotate(25deg);
	
		
		/* Animation: Name, Dauer, Timing, Verzögerung, Wiederholung */
		/* animation: slideShine 4s ease-in-out infinite; */
		
		/* Animation: Name, Dauer, Timing, Delay, Anzahl Durchläufe */
		
		animation: slideShine 4s linear 0s 3;
		animation-fill-mode: forwards; 
		
	}

	@keyframes slideShine {
		0% { left: -100%; }
		40% { left: 150%; } /* 40% von 5 Sekunden = 2 Sekunden für den Durchlauf */
		100% { left: 150%; } /* Rest der Zeit (4 Sek) bleibt er unsichtbar */
	}

		
.submitred { 
    padding: 0 1em;
    background: #dd0315dd !important;
    text-decoration: none;
    font-family: 'OpenSansRegular', sans-serif;
    color: white !important;
}	

.submitred:hover {
	background: black !important;
	
	}
	
	
	
	
.otbtn {
	display:block;
	margin:0em 0.5em 0.6em 0.5em;
	padding:0.3em 1em 0.3em 3.5em; 
	background:#ddcbbb url('../img/layout/ot2.png') 0.5em 0.3em	no-repeat; 
	color:#222;
	font-size:0.8em;
	text-decoration:none;
	text-shadow:1px 0px 0px #DDD;
	font-family:'OpenSansRegular', sans-serif;
	}
	
.otbtn:hover {	
	background-color:#2f221c;
	color:#eee;
	text-decoration:none;
	text-shadow:0px 0px 0px #DDD;
	}

	

.pdf-button i {
    margin-right: 8px;
    color: white;
    background-color: red;
    padding: 8px;
}


.del-button {
	text-align: left;
    padding: 0 10px 0 41px;
    background: #f8f8f8;
    position: relative;
    height: 30px;
    line-height: 28px;
    margin: 0 0 0 10px;
}


.del-button i {
	float: left;
    position: absolute;
    left: 0;
    padding: 7px;
	margin: -1px;
    font-size: 1.6rem;
    background: red;
    color: white;
}

.tisch-buchen {
	display: block;
    width: 200px;
    background: #da3743;
	color:white;
    height: auto; 
    border: 1px solid #ccc;
	margin:7px 0;
	text-align:center;
	font-weight:500;
}

.tisch-buchen i {
    margin: 0 0 0 -8px;
    color: white;
    padding: 12px;
}

.tisch-buchen:hover {
    background: #b8222d;
}



.gallery img {
	width: 96%;
    margin: 0 2% 5px 2%
}

@media (min-width: 950px) {
	.gallery img {
    width: 49%;
    margin: 0.5%;
	float:left;
	}
}


/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box; }
.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.u-pull-right {
  float: right; }
.u-pull-left {
  float: left; }


/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #a1a1a1; }

.center {
	margin:0 auto;
	display:block;}

/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Self Clearing Goodness */
.clear,
.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both; }


/* Aspect Ratio
--------------------------------------------------- */
img {
  aspect-ratio: attr(width) / attr(height);
}


/* ############################################################################################### 
 BASE LAYOUT HELPERS
################################################################################################## */

/* Shadow */
.drop   { -moz-box-shadow: 0 0 5px #aaa; -webkit-box-shadow: 0 0 5px #aaa; box-shadow: 0 0 5px #aaa; }
.drop-2   { -moz-box-shadow: 0 0 2px #aaa; -webkit-box-shadow: 0 0 2px #aaa; box-shadow: 0 0 2px #aaa; }
.drop-10   { -moz-box-shadow: 0 0 10px #aaa; -webkit-box-shadow: 0 0 10px #aaa; box-shadow: 0 0 10px #aaa; }
.drop-50   { -moz-box-shadow: 0 0 50px #fff; -webkit-box-shadow: 0 0 50px #fff; box-shadow: 0 0 50px #fff; }

.shadowbox {
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);

}

.unterschrift {
	color: #003153;
    font-size: clamp(2rem, 4vw, 3.3rem);
	font-family: var(--font-hanshand);
}

.hide { display:none; }
.rotate2 { transform:rotate(2deg); -ms-transform:rotate(2deg); -moz-transform:rotate(2deg);  -webkit-transform:rotate(2deg); -o-transform:rotate(2deg); }
.rotate-2 { transform:rotate(-2deg); -ms-transform:rotate(-2deg); -moz-transform:rotate(-2deg);  -webkit-transform:rotate(-2deg); -o-transform:rotate(-2deg); }

.rotate3 { transform:rotate(3deg); -ms-transform:rotate(3deg); -moz-transform:rotate(3deg);  -webkit-transform:rotate(3deg); -o-transform:rotate(3deg); }
.rotate-3 { transform:rotate(-3deg); -ms-transform:rotate(-3deg); -moz-transform:rotate(-3deg);  -webkit-transform:rotate(-3deg); -o-transform:rotate(-3deg); }
.rotate-5 { transform:rotate(-5deg); -ms-transform:rotate(-5deg); -moz-transform:rotate(-5deg);  -webkit-transform:rotate(-5deg); -o-transform:rotate(-5deg); }
.rotate-90 { transform:rotate(90deg); -ms-transform:rotate(90deg); -moz-transform:rotate(90deg);  -webkit-transform:rotate(90deg); -o-transform:rotate(90deg); }
.wb { text-align: right;
    font-size: small;
    margin: -16px -12px 0 0;
}

.spacer	{clear:both; display:block; height:1rem; margin-top:2rem; margin-bottom:2rem;}
.spacer-big	{clear:both; display:block; height:1rem; margin-top:8rem; margin-bottom:4rem;}

.img-circle { border-radius: 50%; }

/* Floater */
.float-right, .fr	{float:left}
.float-left, .fl	{float:right}
.float-none, .fn	{float:none}

/* Topper und Bildunterschriften */
.topper	{ font-size: 1.6rem; line-height: 1.6;  letter-spacing: 0; }
.bu 	{ font-size: 1.6rem; line-height: 1.6;  letter-spacing: 0; }
.bu1 	{ font-size: 1.2rem; line-height: 1.6;  letter-spacing: 0; }


/* Breadcrumb */
.breadcrumb	{ font-size: 1.5rem; line-height: 1;  letter-spacing: 0; }
.breadcrumb-flat {
  display: flex;
  align-items: center;
  flex-wrap: nowrap; /* Verhindert hässliche Zeilenumbrüche */
  overflow-x: auto;  /* Erlaubt Wischen, falls der Name zu lang ist */
  padding: 12px 0;
  font-size: 13px;   /* Etwas kleiner, da der Text länger ist */
  color: #666;
  -webkit-overflow-scrolling: touch;
}

/* Verstecke die Scrollbar für Optik */
.breadcrumb-flat::-webkit-scrollbar {
  display: none;
}

.brand-link {
  font-weight: normal; 
  text-decoration: none;
  white-space: nowrap;
}

.breadcrumb-flat a:not(.brand-link) {
  color: #46668f;
  text-decoration: none;
  white-space: nowrap;
}

.separator {
  margin: 0 10px;
  color: #222;
  flex-shrink: 0; /* Verhindert, dass der Pfeil gequetscht wird */
}



/* share Menü */


.share-wrapper {
	position: relative; 
    display: inline-block;
	float:inline-end;
}

.share-toggle {
    background: #fff;
    border: 1px solid #fff;
    padding: 3px 10px;
	margin-top:0;
    cursor: pointer;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
	
	display: flex;          /* Neu: Aktiviert Flexbox */
    align-items: center;    /* Neu: Zentriert SVG und Text vertikal */
    line-height: 1;         /* Verhindert Zeilenabstand-Probleme */
}

@media (min-width: 950px) {
	.share-toggle {margin-top:-35px}
}

.tl {margin: 0 0 0 10px}
.share-toggle:hover {background:#eee; color:red}


.share-dropdown {
    display: none;
    position: absolute;
    top: 90%; 
    right: 0; /* Richtet die Box an der rechten Kante des Buttons aus */
    background-color: #fff;
    min-width: 160px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    border-radius: 4px;
    z-index: 9999;
    border: 1px solid #ddd;
}

.share-dropdown.show {
    display: block;
}

.share-dropdown a {
    display: block;
    padding: 10px 15px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
}

.share-dropdown a:last-child {
    border-bottom: none;
}

.share-dropdown a:hover {
    background-color: var(--color-red);
    color: white;
}

#copyLinkBtn {
    font-weight: bold;
    background-color: #f9f9f9;
}
#copyLinkBtn:hover {color:red}

.copy-success {
    color: #28a745 !important; /* Grün */
}








.block  {display:block; }
.fo_w  {color:white} 

.mt_m10{ margin-top:-1.0rem !important;}
.mt_0  { margin-top:0rem}
.mt_10 { margin-top:1.0rem !important;}
.mt_15 { margin-top:1.5rem !important;}
.mt_20 { margin-top:2.0rem !important;}
.mt_30 { margin-top:3.0rem !important;}
.mt_40 { margin-top:4.0rem !important;}
.mt_50 { margin-top:5.0rem !important;}
.mt_60 { margin-top:6.0rem !important;}
.mt_70 { margin-top:7.0rem !important;}
.mt_80 { margin-top:8.0rem !important;}

.mb_0  { margin-bottom:0rem !important;}
.mb_5  { margin-bottom:0.5rem !important;}
.mb_10 { margin-bottom:1.0rem !important;}
.mb_20 { margin-bottom:2.0rem !important;}
.mb_30 { margin-bottom:3.0rem !important;}
.mb_40 { margin-bottom:4.0rem !important;}
.mb_50 { margin-bottom:5.0rem !important;}
.mb_60 { margin-bottom:6.0rem !important;}
.mb_70 { margin-bottom:7.0rem !important;}
.mb_80 { margin-bottom:8.0rem !important;}

.mb_m20{ margin-bottom:-2.0rem !important;}


.ml_0  { margin-left:0rem !important;}
.ml_10 { margin-left:1.0rem !important;}
.ml_20 { margin-left:2.0rem !important;}
.ml_30 { margin-left:3.0rem !important;}
.ml_40 { margin-left:4.0rem !important;}

.mr_0  { margin-right:0rem !important;}
.mr_10 { margin-right:1.0rem !important;}
.mr_20 { margin-right:2.0rem !important;}
.mr_30 { margin-right:3.0rem !important;}
.mr_40 { margin-right:4.0rem !important;}

.ma_0   { margin:0rem; !important;}



.pt_0  { padding-top: 0rem !important;}
.pt_10 { padding-top:1.0rem !important;}
.pt_20 { padding-top:2.0rem !important;}
.pt_30 { padding-top:3.0rem !important;}
.pt_40 { padding-top:4.0rem !important;}
.pt_50 { padding-top:5.0rem !important;}
.pt_60 { padding-top:6.0rem !important;}
.pt_70 { padding-top:7.0rem !important;}
.pt_80 { padding-top:8.0rem !important;}
.pt_90 { padding-top:9.0rem !important;}



.pb_0  { padding-bottom:0rem !important;}
.pb_10 { padding-bottom:1.0rem !important;}
.pb_20 { padding-bottom:2.0rem !important;}
.pb_30 { padding-bottom:3.0rem !important;}
.pb_40 { padding-bottom:4.0rem !important;}
.pb_50 { padding-bottom:5.0rem !important;}
.pb_60 { padding-bottom:6.0rem !important;}
.pb_70 { padding-bottom:7.0rem !important;}
.pb_80 { padding-bottom:8.0rem !important;}
.pb_90 { padding-bottom:9.0rem !important;}





.pl_0  { padding-left:0rem !important;}
.pl_10 { padding-left:1.0rem !important;}
.pl_20 { padding-left:2.0rem !important;}
.pl_30 { padding-left:3.0rem !important;}
.pl_40 { padding-left:4.0rem !important;}
.pl_50 { padding-left:5.0rem !important;}

.pr_0  { padding-right:0rem !important;}
.pr_10 { padding-right:1.0rem !important;}
.pr_20 { padding-right:2.0rem !important;}
.pr_30 { padding-right:3.0rem !important;}
.pr_40 { padding-right:4.0rem !important;}
.pr_40 { padding-right:5.0rem !important;}

.pa_0   { padding:0rem !important; }
.pa_10  { padding:1.0rem !important;}
.pa_20  { padding:2.0rem !important; }
.pa_30  { padding:3.0rem !important; }
.pa_40  { padding:4.0rem !important; }
.pa_50  { padding:5.0rem !important; }
.pa_60  { padding:6.0rem !important; }
.pa_70  { padding:7.0rem !important; }
.pa_80  { padding:8.0rem !important; }


.h100	{min-height:100px}
.h200	{min-height:200px}
.h300	{min-height:300px}
.h400	{min-height:400px}
.h500	{min-height:500px}
.h600	{min-height:600px}

.preistable td {
		background-color:#f8f8f8;
		padding:8px 10px;
		
		border-top:0px solid #fff;  
		border-left:0px solid #fff;  
		border-right:0px solid #fff;  
		border-bottom: 0px solid #fff;   
		border-collapse: collapse; 
		
}
.preistable tr { border-bottom: 2px solid #fff;  }
.preistable td:last-child {width:25%; text-align:right}



/* Scrollable table */
.table-scrollable {
  width: 100%;
  overflow-y: auto;
  margin: 0 0 1em;
}

.table-scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
}

.table-scrollable::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid #fff;
  background-color: rgba(0, 0, 0, .3);
}


.ta1 { height:82px}
.ta2 { height:82px}

@media (min-width: 1050px) {
.pa_full {padding:0 17.0rem 0 17.0rem}
}


.hide_on_mobile {display:none}
@media (min-width: 1460px) {
.hide_on_mobile {display:block}
}

.hide_on_mobile_2 {display:none}
@media (min-width: 1460px) {
.hide_on_mobile_2 {display:block}
}

.show_on_desktop { display:none}
@media (min-width: 1460px) { .show_on_desktop {display:inline;} }

.show_on_mobile { display:table; }
@media (min-width: 1460px) { .show_on_mobile {display:none;} }



/* Share Buttons */
.mobile-share, .desktop-share {
  display: none;
}

@media (max-width: 768px) {
  .mobile-share {
    display: block;
    position: absolute; /* Oder fixed, je nach Wunsch */
    top: 15px;
    left: 15px;
    z-index: 9999;
  }
}

@media (min-width: 769px) {
  .desktop-share {
    display: block;
  }
}




/* FS Galerie */
.lbimage {
	margin-bottom: 0;
    border: 2px solid #a22523;
    box-shadow: 2px 2px 5px #aaa;
    border-radius: 5px;
} 

.fsgal {
	position:relative;
}
.lupe {
	position: absolute;
    bottom: 9px;
    right: -3px;
    width: 20px;
    height: 20px;
    padding:8px;
	background: #a22523;
	border: 2px solid #a22523;
    border-radius: 5px 0 5px 0px;
    
}
@media (min-width: 1050px) {
	.lupe {
	width: 30px;
    height: 30px;
	}
}
.lupe img { filter: invert(100%); }

/* Toolbar ausblenden 
	.fslightbox-toolbar-button:nth-child(-n+5) { display: none; }
*/


/* Round Corners */
.round { -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; }


/* Chart Tooltip */



/* Text  */
.text-left	 	{ text-align:left; }	
.text-right 	{ text-align:right; }	
.text-center 	{ text-align:center; }
.text-bold  	{ font-weight:500; }

.text-left-center { text-align:center; }
.text-right-center { text-align:center; }
.fullw-mobile		{ display:block; margin:0 0 20px 0}
.footernav			{ margin-right:10px}

@media (min-width: 1050px) {
	.text-left-center 	{ text-align:left;}
	.text-right-center  { text-align:right;}
	.fullw-mobile		{ display:inline; margin:0 0 0px 0}
	.footernav			{ margin-right:10px}
	.footernav:last		{  margin-right:0px}
}



.text-uppercase { text-transform: uppercase; }

/* Full Width Images 100%	*/
.fullw { width:100%; }
.w300	{ width:300px !important; }

/* Fehler */
.fehler { background:#FFD5D5; border:1px solid #600; color:#444}
.nos	{ display:none; }


/* No Optionen 
-------------------------------------------- */
.no-border { 
	border:none;
	border:0px !important;
	}
	
	

/* ---- Video Wrapper ----------------------------------------------------------------------- */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Container für 16:9 Responsive iFrames (z.B. für Blitzvideoserver) */
.video-wrapper {
    position: relative;
    aspect-ratio: 470 / 350;
   
    overflow: hidden;
    width: 100%;
    background-color: #000; 
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}


.video-figure {
    margin-bottom: 2rem;
    width: 100%;
}

/* Video Facade 
--------------------------------------------------- */
/* Container darf nichts abschneiden */


/* --- KARTEN-LAYOUT --- */
.mb-video-card { margin-bottom: 10px; width: 100%; }

.video-facade { 
    position: relative; 
    cursor: pointer; 
    border-radius: 0px; 
    overflow: hidden; 
  
}

.facade-img { 
    display: block; 
    width: 100%; 
    height: auto; 
    aspect-ratio: 16 / 9; /* oder 16 / 9 */
    object-fit: cover;   
    margin: 0; 
    padding: 0;
    transition: transform 0.5s ease;
}

.video-facade:hover .facade-img { transform: scale(1.03); }

.play-button-overlay { 
    position: absolute; top: 50%; left: 50%; 
    transform: translate(-50%, -50%); 
    width: 60px; height: 60px; 
    pointer-events: none; 
}

.mb-video-external-title { 
    display: block;
    margin-top: 6px;
    color: #444;
   
}

.mb-video-external-title h3 {  
	font-size: 1.5rem;
    line-height: 1.3;
	font-weight:normal;
	}

/* --- MODAL (LIGHTBOX) --- */
.mb-modal {
    display: none; position: fixed; z-index: 999999; 
    left: 0; top: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.95);
    align-items: center; justify-content: center;
}
.mb-modal-content { width: 95%; max-width: 1200px; position: relative; }
.mb-video-container { position: relative; padding-bottom: 56.25%; height: 0; background: #000; }
.mb-video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.mb-close {
    position: absolute; top: 40px; right: 50px;
    color: #fff; font-size: 55px; cursor: pointer; user-select: none;
}
@media (max-width: 768px) {
    .mb-close { top: 45px; right: 25px; font-size: 40px; }
}



/* presse
-------------------------------------------------- */
.presse h3 { 
    font-size: clamp(1.8rem, 2vw + 1rem, 2.1rem);
    letter-spacing: normal;
}


/* images
-------------------------------------------------- */
.image-container {
	position: relative;
	width: 100%; 
    height: 100vh; 
    overflow: hidden; 
}
   
   
   .logo_mobile { 
		width:300px; 
		max-width:300px 
		height:auto;
		margin:80px auto 20px auto;
		}

@media (min-width: 769px) {
	.logo_mobile { 
		width:450px;
		max-width:450px;
		margin:40px auto 40px auto;
	}
 }	 

@media (max-width: 1460px) {
  .ta_overlay { 
    display: block; 
    margin-top: -10px; 
    padding: 20px 15px; 
    border: 0px !important; 
    box-shadow: none;      
    border-radius: 4px;    
  }
  
 
  .ta_overlay_head h1 {
    font-size: 1.26em; 
    margin-bottom: 5px; 
    font-weight: normal; 
    letter-spacing: 0;
  }
  .ta_overlay_sub h2 {
    font-size: 0.8em; 
    margin-bottom: 0; 
    font-weight: normal; 
    letter-spacing: 0;
  }
}



@media (min-width: 1460px) {
  .ta_overlay {
    position: absolute; 
    top: 4px; 
    padding: 20px 20px;
    z-index: 99;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
  }
  
  .ta_overlay img { width:350px; max-width:350px; height:auto;}
 
	.ta_overlay_head h1 {
		font-size:2.5em; 
		margin-bottom:0; 
		font-weight: normal; 
		letter-spacing:0
		}
	
	.ta_overlay_sub h2 {
		font-size:1em; 
		margin-bottom:0; 
		font-weight: normal; 
		letter-spacing:0;
		}
}

.ta_buttons {
	padding:0 10px 0 10px;
}

.ta_overlay {
    left: 2%;
    color: #102f47; 
    text-align: center; 
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0.8) 100%);
    
}

.ta_overlay_head { font-family: 'Georgia, Times', serif;}



.responsive {
  max-width: 100%;
  height: auto;
}
 .innerborder {
	outline: 1px solid #f5f5f5;
    outline-offset: -10px;

 }
 
 .scale {
	 transform: scale(1);
	 transition: all 0.3s linear;
 }
 
 .scale:hover {
	 transform: scale(1.03);
 }
 
.logo { margin:0; padding:0}
.plogo { margin:10px 20px; padding:0}

.logo-footer {  margin: 0 0 0 -25px;}
.logo-footer-2 {width:300px; max-width:350px}

@media (min-width: 768px) {
	.logo-footer { margin: -15px 0 0 -40px}
	.logo-footer-2 {width:500px; max-width:500px}
}



.imgbox img {
	margin-bottom:0;
}



.ta_main { height:205px; color:#fff;}

@media (min-width: 768px) {
	
	.topaufmacher {
		width:100%; height:645px;
	}
}

@media (min-width: 950px) {
	.ta_main { 
		height:auto; 
		}					
}


/* Teaser Overlay */

@media (max-width: 1459px) {
	
	.teaser-wrap {
		display: flex;
		justify-content: center; /* Zentriert die Kinder horizontal */
		align-items: center;     /* Zentriert sie vertikal (optional) */
		gap: 20px;
		}
	
	.teaser_overlay_menu {
		display:inline-block;
		width:120px; 
		}
	
	.teaser_overlay_hotline {
		display:inline-block;
		width:120px; 
		}
		
	.teaser_overlay_kundenkarte {
		display:inline-block;
		width:120px; 
		}
		
		

	.teaser_overlay-2 {
		display:inline-block;
		width:200px; 
		margin:0 0 0 0px;
		vertical-align: top; 
	}
	.teaser_overlay-2 img {
    width: 100%;       /* Nutzt die vollen 200px des Containers */
    height: auto;      /* Berechnet die Höhe korrekt auf 125px (200 / 1.6) */
    display: block;    /* Entfernt den Standard-Abstand unter Bildern */
	}
}


@media (min-width: 1460px) {
	.teaser-wrap {
		position: relative;
	}
	
	
	.teaser_overlay_hotline {
		position:absolute;
		right:120px;
		bottom:334px;
		z-index:99;
		width:180px;
		transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
	}
	
	.teaser_overlay_menu {
		position:absolute;
		right:20px;
		bottom:220px;
		z-index:99;
		width:200px;
		transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
	}
	

	.teaser_overlay_kundenkarte {
			position: absolute;
			right: 120px;
			bottom: 103px;
			z-index: 98;
			width: 185px;
			transform: rotate(0deg);
			transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
		}
	
	
	.teaser_overlay_hotline, 
	.teaser_overlay_menu, 
	.teaser_overlay_kundenkarte {
		border-radius: 50%;		
		overflow: hidden;   
	}
	
	.teaser_overlay_hotline:hover,
	.teaser_overlay_menu:hover,
	.teaser_overlay_kundenkarte:hover {
		transform: rotate(0deg) scale(1.05);
	}

	.teaser_overlay-2 {
		position:absolute;
		right:20px;
		bottom:30px;
		z-index:99;
		width:300px;
		
	}
}


/* Hero Video */

@media (max-width: 1460px) {
  
  .hero-video {
	  width: 100%;
	  height: 100%;
	  object-fit: cover; 
	  z-index: 11;
	  
	}
}

@media (min-width: 1460px) {
.hero {
  height: 91vh; 
  overflow: hidden;
  align-items: center;
  justify-content: center;
}

.hero-video {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; 
  z-index: 11;
   aspect-ratio: 12 / 5;
  }
}


/* Headline Hacks */
@media (min-width: 950px) {
	.head1 {    
	background: #f12020;
    color: #fff;
    padding: 15px;
    margin: 50px 0 50px -186px;
	}
	
	.head2 {    
	background: #f12020;
    color: #fff;
    padding: 15px;
    margin: 10px 0px 0px 0px;
	}
}
	
	.team {
		display:block;
		font-size:2rem;
	}
	
	

/* footer 
--------------------------------------------------- */
.text-size-footer { 
	font-size: clamp(1.5rem, 2.5vw, 1.6rem); line-height: 1.6; 
}

.f-box {
		margin-bottom:50px;
		padding:0px 20px 2px 60px;
}

.bdimagebox {
		margin:20px 0 40px 0;
}

.copyright {
	text-align: center;
    margin: 0 0 20px 0;
}
.sublinks {
	text-align:center;
}

.sublinks a {
	display: inline-block;
    text-align: center;
    margin: 10px 20px 0px 0px
}

.sm-icon { width:32px; margin-right:5px}


@media (min-width: 1101px) {
	.copyright {
	text-align: left;
    margin: 0 0 0px 0;
	}
	
	.f-box { margin-top:50px; padding:0; line-height:2}
	.bdimagebox { margin:40px 0 45px 0; }
	
	.sublinks { text-align:right}
	.sublinks a {
	display: inline-block;
    text-align: left;
    margin: 0 16px 0 0;
	}
}

#footer h3 {
            color: #f75452;
            margin-bottom: 1.5rem;
            border-bottom: 1px solid #555;
            padding-bottom: 0.5rem;
			font-size:1.7rem;
			font-weight:600;
			text-transform:uppercase;
        }
		


.faq-item {
	
	margin-bottom:80px;
}


/* cards
--------------------------------------------------- */

@media (min-width: 950px) {
	.row-equal-heights { display: flex;  }
}

.cards {
  margin-bottom:30px;
  padding:11px;
  border: 1px solid #aaa;
  height: 96%;
  font-size:86%;
  text-align:center;
  cursor:pointer;
}

.cards h3 {
	    margin: 0 0 5px 0;
    font-size: 2.1rem;
    font-weight: 500;
}



@media (min-width: 950px) {
	.cards { margin-bottom:0px;  }
}



.zitat{
width:90%;
margin:54px auto;
border-top: dotted 4px #e60808;
border-bottom: dotted 3px #888;
padding: 25px 0px 30px 0px;
color:#e60808 !important;
font-weight: 600 !important;
line-height:1.4 !important;
font-size: clamp(1.8rem, 2.5vw, 2.8rem);
text-align: center;
font-style:italic;
}

h2.zitat {
font-family: var(--font-sans);
width:90%;
margin:54px auto;
border-top: dotted 4px #e60808;
border-bottom: dotted 3px #888;
padding: 25px 0px 30px 0px;
color:#e60808 !important;
font-weight: 600 !important;
line-height:1.4 !important;
font-size: clamp(1.8rem, 2.5vw, 2.8rem);
text-align: center;
font-style:italic;	
}

.zitat-closer, h2.zitat-closer {
border-top: dotted 3px #888;
border-bottom: dotted 4px #e60808;	
}



.zitat span {
	font-size:65%;
	display:block;
	margin-top:22px !important;
}








/* Promoboxen
-------------------------------------------------- */

/* TA headline */
.headline {
	margin-top:0px;
	font-size:1.5em;
}
@media (min-width: 800px) {
	.headline {
	margin-top:30px;
	}
}

aside {
  width: 90%;
  padding:0.0rem;
  float: none;
  font-style: italic;
  margin: 0 0 25px 0px;
  border:0px solid red;
}
.aside-headline {
	font-size:2.1rem;
	margin:0 0 1rem 0;
	
}

@media (min-width: 750px) {
	aside {
		float: right;
		margin: 0 0 10px 15px;
	    width: 30%;
	}
}


 
/* Accordion
----------------------------------------- */

.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: background-color 0.4s, color 0.4s;
margin: 10px 0 0 0;
padding: 8px 10px 6px 10px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
/* für das + zeichen rechts */
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}

h3.accordion {font-size:2rem; font-weight:normal;padding:10px } 

.accordion:hover {
background-color: #ccc;
color: #000; 
}

.accordion:focus-visible {
outline: 2px solid #444;
background-color: #ddd;
}

.accordion.accordion-active {
background-color: #444; 
color: #fff;           
}



.panel {
border: 1px solid #eee;
border-top: none;
padding: 0 20px;
font-size: 1.5rem; /* Korrigiert von 1.8rem für bessere Lesbarkeit */
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}

/* + Icon rechts im Tab */
.accordion::after {
		content: '\002B'; /* Unicode Plus */
		font-size: 18px;
		font-weight: bold;
		color: #777;
		transition: transform 0.3s ease, color 0.3s ease;
		line-height: 1;
	}
	
.accordion-active + .panel {
border: 1px solid #ccc;
border-top: none;
}

/* Icon-Wechsel bei aktiver Klasse */
.accordion.accordion-active::after {
	content: '\2212'; /* Unicode für - */
	color: #fff;
}

@media only screen and (max-width: 1024px) {
.panel ul { margin-left: -20px !important; }
}

.panel ul { margin-left: 0px; }





/* Header Navigation
-------------------------------------------------- */


.nav-container {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 0 0px !important;
		box-sizing: border-box; 
		background-color:#342d2d;
		
}


.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px 10px 8px;
	margin:0 0 0px 0;
	
	
}

.hamburger {
    display: none;
}

.bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: #000;
}

.nav-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.nav-menu li {
    list-style: none;
	margin-top:3rem;
}

.nav-menu a {
    text-decoration: none;
	text-transform:uppercase;
}

.nav-item {
    margin-left: 3rem;
}

.nav-link{
    font-size: 1.8rem;
    font-weight: 400;
    color: #fff; /* #475569;  */
	
}

.mainmenu li:last-child {
   padding-right:15px;
}

.nav-link:hover{
    color: #f1f1f1; /* #482ff7; */ 
}

.nav-logo {
	font-size: 1.5em;
	color: #fff; 
	
}

@media only screen and (max-width: 1159px) {
	.nav-container {
		background-color:white;
		
	}
	
	
	
    .nav-menu {
        position: fixed;
		z-index:999;
        left: -100%;
        top: 10.4rem;
        flex-direction: column;
        background-color: #222;
        width: 100%;
		border-radius: 0px;
        text-align: center;
        transition: 0.3s;
        box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
		
    }

    .nav-menu.active {
        left: 0;
    }

	.nav-menu li {
		margin-top:2.5rem;
		
	}
	
	.nav-menu li:last-of-type {
		margin-bottom:4rem;
	}

    .nav-item {
        margin: 0.7rem 0 1.8rem 0;
    }

    .hamburger {
        display: block;
        cursor: pointer;
		color:red;
    }
	
	    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

}


@media only screen and (min-width: 1200px) {
	.nav-logo {
	font-size: 1.7em;
	color:#fff /* #222111; */
	}
	
	.navbar {
		  padding: 0px 30px 0px 18px;
	}	
	
	
}



/* Multilevel Navigation
-------------------------------------------------- */
.nav-container {
	background-color: #fff; 
    text-align: center;
	max-height:96px;
	position: normal;
	top: 0;
	z-index:99;
	border-top:3px solid #666;
	border-bottom:1px solid #666;
	position:relative;
}

@media only screen and (max-width: 1459px) {
	.nav-container { 
		border:0px;
		text-align: right;
		background-color: #fff;
		font-size: 1.8rem;
		text-transform:uppercase;
		top:-0px;
		display:table;
		
	}
}

@media only screen and (min-width: 1460px) {
	.nav-container { 
		
		text-align: right;
		background-color: #333;
		
		font-size: 1.6rem;
		text-transform:uppercase;
	}
}




  .hamburger {
		display:none;
  }

  .mainmenu {
      text-align: left;
      display: inline;
      margin: 0;
      padding: 15px 4px 16px 0;
      list-style: none;
	  background-color: #333;
	  position:relative;
	  z-index:99;
    }
	
	
	/* Toplevel */
    .mainmenu li {
     
      display: inline-block;
      margin-right: 0px !important;
      position: relative;
      padding: 0px 0px;
      background: inherit;
      cursor: pointer;
	  color:#fff;
      -webkit-transition: all 0.2s;
      -moz-transition: all 0.2s;
      -ms-transition: all 0.2s;
      -o-transition: all 0.2s;
      transition: all 0.2s;
    }


	.mainmenu li a  { text-decoration:none; color:#fff; display:block; padding:2px 0 0 50px }
	@media only screen and (min-width: 1000px) {
	.mainmenu li a  { padding:20px 8px; }
	}
	
	
	
    .mainmenu li a:hover {
      background: #ec043d;
      color: #fff;
	  
    }
	
	.activelevel {
      background: #ec043d;
      color: #fff;
	  
    }


	/* Sublevel 1 */
    .mainmenu li ul {
    
	  padding: 0px;
      position: absolute;
      top: 38px;
      left: -30px;
      width: 250px;
	  background:#444;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none;
      display: none;
      opacity: 0;
      visibility: hidden;
	  z-index:99;
    }

    .mainmenu li ul li {
      background: #444;
      display: block;
      color: #fff;
      text-shadow: 0 -1px 0 #000;
	  margin-left:0.5rem;
	  
    }
	

    .mainmenu li ul li:hover {
      background: #ec043d;
    }

    .mainmenu li:hover ul {
      display: block;
      opacity: 1;
      visibility: visible;
    }
	
	li.ssmtr { white-space: nowrap; }

	/* Sublevel 2 */
	.mainmenu li ul li ul.subsubmenu{
      font-size: 1.0em;
	  padding: 0px;
      position: absolute;
      top: -15px;
      left: 178px;
      width: auto;
	  background:#333; 
      display: none !important;
      opacity: 0;
      visibility: hidden !important;
	  z-index:99;
    }
	
	  .ssmtr:hover  ul.subsubmenu {
      display: block !important;
      opacity: 1;
      visibility: visible !important;
	  
    }
	

    /* Medium screens */
    @media only screen and (max-width: 1459px) {
     


	 .mainmenu {
        font-size: 1em;
		width: 96%;
		display:none;
		
      }
	  
	  .hamburger {
		display:block;
		font-size:2.5em;
		background: white;
		color:black;
		padding:0px;
		text-align:right;
		position:absolute;
		right:16px;
		top:16px;
		cursor:pointer;
		z-index:888;
	  }
	  
	  .hamburger_go {
		  color:black;
		  display:block;
		  padding:2px 10px;
		  cursor: pointer;
	  }

      .mainmenu li {
        padding: 10px 0;
        display: block;
        text-align: left;
        width: 92%;
        position: relative;
							
      }
	  
	  .mainmenu li:hover {
        background-color: #333;
		
      }
	  
	   .mainmenu li ul{
        background-color: #333;
		
      }
	  
	



      .mainmenu li ul li {
        background: #333;
        display: block;
        color: #fff;
        text-shadow: 0 -1px 0 #000;
		width:100%;
		
      }

      .mainmenu li ul li:hover {
        background-color: #333;
      }

      .mainmenu li a {
        display: block;
		
      }

      .mainmenu li ul {
        position: relative;
        left: 10px;
        top: 0;
        opacity: 1;
        visibility: visible;
        width: 80%;
        display: block;
      }

      .mainmenu li:hover ul {
        display: block;
      }
	  
	  .mainmenu li ul li ul.subsubmenu{
      font-size: 1.0em;
	  padding: 0px;
      position: relative;
      top: 0px;
      left: 20px;
      width: 80%;
	  background:#333;
   
      display: block !important;
      opacity: 1;
      visibility: visible !important;
	  z-index:99;
    }
	  
	  
    }



/* Boxen
--------------------------------------------------- */

.praesentkorb h3 {
	font-weight:600;
	font-size:98%;
}

.praesentkorb {
    background: #f5f5f5;
    padding: 20px;
    font-size: 90%;
}





/* Paralax
--------------------------------------------------- */
.paralax {
  
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;	
}

.para_1 { 
	background-image: url("../img/headpic/mb_ta.jpg");
    min-height: 400px; 
}


.para_2 { 
	background-image: url("../img/layout/para3.jpg");
    min-height: 400px; 
}

.para_3 { 
	background-image: url("../img/headpic/16.jpg");
    min-height: 350px; 
}



/* Divider
-------------------------------------------------- */
 @media only screen and (max-width: 768px) {
  .divider {
	position:relative;
	margin:50px 0 0px 0;
	}
 }
 
  @media only screen and (min-width: 769px) {
  .divider {
	position:relative;
	margin:70px 0 80px 0;
	}
 }

	
.divider hr {
	border-top:1px solid #a1a1a1;
}
.divider i {
	position:absolute;
	top:-10px;
	left:44%;
	background-color:white;
	padding:0 3%;
	font-size:1.8rem;
}

.divider .text-divider {
	position: absolute;
    top: -15px;
    left: 50%;
    transform: translate(-50%);
    border: 1px solid #a2a2a2;
    padding: 2px 15px;
    font-size: 80%;
}

/* Metzger Divider
-------------------------------------------------- */

.butcher-divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 40px 0;
  color: #3d3d3d; /* Ein edles Anthrazit */
}

.butcher-divider::before,
.butcher-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #d4af37; /* Dezenter Goldton oder Silber */
  margin: 0 15px;
}

.butcher-divider .symbol {
  font-size: 2.5rem;
  font-family: serif;
  color: #800000; 
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 300;
}



/* Form
-------------------------------------------------- */


   


    .form-group {
        margin-bottom: 1px;
    }

    .form-group label {
        display: block;
        margin-bottom: 5px;
        font-weight: 600;
        
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #555;
    }

    .form-group input[type="text"],
    .form-group input[type="tel"],
    .form-group textarea {
        width: 90%;
        padding: 12px; 
        transition: border-color 0.3s ease;
        border-radius: 2px;
		border:1px solid #ccc;
    }

    .form-group input:focus,
    .form-group textarea:focus {
        outline: none;
        border-bottom: 2px solid var(--accent-color);
    }

    textarea {
        min-height: 104px;
        resize: vertical;
    }

    .checkbox-group {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: -10px 0 10px 0;
    }

    .checkbox-group input[type="checkbox"] {
        margin-top: 4px;
        cursor: pointer;
    }

    

    .btn-submit {
        background: var(--color-red);
        color: #fff;
        border: none;
        padding: 1px 20px;
        font-size: 1.2rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        cursor: pointer;
        transition: background 0.3s ease, transform 0.2s ease;
        display: inline-block;
    }

  

    .alert {
        padding: 15px;
        margin-bottom: 30px;
        border-radius: 3px;
    }
    .alert-success { background: #e8f5e9; color: #2e7d32; border-left: 5px solid #2e7d32; }
    .alert-error { background: #ffebee; color: #c62828; border-left: 5px solid #c62828; }

    /* Responsive Anpassung */
    @media (max-width: 768px) {
        .form-container { padding: 30px; }
        .mbform .row { flex-direction: column; }
    }




/* Colors
-------------------------------------------------- */

.text-normal 	{ color: #222; }
.text-white		{ color:#fff; }
.text-gray		{ color:#ccc}
.text-red		{ color: var(--color-red); }
.text-darkred		{ color:darkred; }
.text-sh-red	{ color:#a22523; }
.h2-red			{ color: #f12020;}
.h2-orange			{ color: orange;}

.box {
		margin-bottom:20px;
		padding:20px 20px 2px 20px;
}

p.box { font-size: clamp(1.6rem, 5vw, 2.0rem); }

.box .ecke {
	float: left;
	margin:0 1rem 0 0;
	padding:0;
	
}

.hinweis {
	background-color:#f8f8f8;
	color:#222;
	margin-bottom: 15px;
	padding: 10px;
	font-size:90%;
	
}

.hinweis h3 {font-size: clamp(1.8rem, 3vw + 1rem, 3.0rem); font-weight:500}

.hinweis-3 {
	background-color:#f8f8f8;
	color:#222;
	padding: 10px;
	font-size:90%;
}
.hinweis-3 img { width:222px}
@media (min-width: 769px) {
.hinweis-3 img { width:252px}
}


.newsletterbox {
	position: relative;
	background-color:#cc0b0e;
	margin-bottom: 25px;
	margin-top: 30px;
	padding: 25px;
	font-size:86%;
	border:0	px dashed #b10b18;
	font-style: normal;
	color:white;
	max-width:74%;
	
}

@media (min-width: 750px) {
	.newsletterbox {
		max-width:100%;
		margin:0 15px;
	}
	
}

.boxlogo {
	width: 100px;
    position: absolute;
    top: -45px;
    right: -42px;
}



.danger {
  background-color: #ffdddd;
  border-left: 6px solid #f44336;
  color:black;
}

.success {
  background-color: #ddffdd;
  border-left: 6px solid #04AA6D;
  color:black;
}

.info {
	background-color: #f5f5f5;
    border-left: 6px solid #df2331;
    color: #444;
    font-size: 1.7rem;
}


.note {
  background-color: #ffffcc;
  border-left: 6px solid #ffeb3b;
}

.bigbox {
	max-width:100%;
	padding:80px 30px;
}

.bigbox-head {
	font-size:2.5rem;
}

/* Larger than tablet */
@media (min-width: 750px) { 
	.bigbox {padding:60px 30px 80px 30px;}
	.bigbox-head { 	font-size:3rem;  } }

.bigbox-text {
	font-variant:small-caps;
	font-size:2.0rem;
}

/* CTA Box */
.cta-box {
	text-align: center; 
	background: #f9f9f9; 
	padding: 30px; 
	border: 1px solid #ddd;
	
}

/* Dark Theme
-------------------------------------------------- */

.dark { background-color:#222; color:white} 
.dark .header { background-color:#777; color:white} 
.dark .header a{ color:white} 
.dark .container {background-color:#555; }


/* Form
-------------------------------------------------- */

.mbform {
	font-size:1.5rem;
	padding:30px;
	
}

.mbform.datenschutz {
	

}


.mycheckbox {
		float:left;
		transform: scale(2);
		margin:6px 10px 0 10px;

}




input.shop-btn {
	display: block;
    margin: 10px auto !important;
    width: 229px;
    background-color: darkred;
    color: white;
    border: 1px solid white;
}

input.shop-btn-green {
	display: block;
    margin: 10px auto !important;
    width: 272px;
    background-color: green;
    color: white;
    border: 1px solid white;
}


/* Partner Grid */
section.partner-grid {
    padding: 0px 0;
}

.partner-flex-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
}

.partner-card {
    position: relative; 
    background: #ffffff;
    border: 2px solid #d1d1d1;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

.partner-card:hover {
    border-color: #b52025;
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

.partner-card h3 {
	
	font-size: clamp(1.8rem, 2vw + 1rem, 1.9rem);
}

/* Klickfläche auf die ganze Card */
.partner-card h3 a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; 
}


.partner-visible-url {
    font-size: 1.3rem;
    color: #666;
    margin-top: auto; 
    padding-top: 1.5rem;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.partner-visible-url::before {
    content: '🔗'; 
    margin-right: 8px;
    font-size: 1.3rem;
    opacity: 0.6;
}


.partner-card:hover .partner-visible-url {
    color: #b52025;
}

.partner-logo-wrapper {
    height: 120px; 
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    background: #fff; 
    border-radius: 4px;
}

.partner-logo-wrapper img {
    max-height: 100px;
    max-width: 90%;
    object-fit: contain;
}

.partner-content-text {
    font-size: 1.6rem; 
    line-height: 1.6;
    color: #333;
    margin: 0;
}

@media (max-width: 1200px) {
    .partner-flex-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 Spalten auf Tablets */
    }
}

@media (max-width: 768px) {
    .partner-flex-grid {
        grid-template-columns: 1fr; /* 1 Spalte auf Smartphones */
    }
    
    .partner-card h3 {
        min-height: auto;
    }
}
/* Ende Partner */


/* Artikel Teaser 
Erweitert die Klickfläche des Links auf den nächsten Parent mit .relative 
-------------------------------------------------------------------------- */
.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

/* Optional: Ein leichter Hover-Effekt für die ganze Box */
.card-teaser {
    transition: background-color 0.3s ease;
    padding: 15px; /* Etwas Innenabstand, falls gewünscht */
    border-radius: 4px;
	 background-color: #f9f9f9;
}

.card-teaser h3 { font-size: clamp(1.8rem, 1rem + 2vw, 2.7rem); }




/* Kundenkarte
------------------------------------------------ */
 .highlight-box {
            background-color: #a02020;
            color: white;
            padding: 15px;
            border-top-radius: 5px;
            margin: 20px 0;
            text-align: center;
        }
        .highlight-box h3 {
            margin: 0;
            font-size: 1.4em;
        }
        .vorteile-liste {
            list-style: none;
            padding: 0;
        }
        .vorteile-liste li {
            margin-bottom: 15px;
            padding-left: 30px;
            position: relative;
        }
        .vorteile-liste li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: #a02020;
            font-weight: bold;
            font-size: 1.2em;
        }
        .cta-text {
            font-weight: bold;
            text-align: center;
            margin-top: 25px;
            color: #a02020;
        }
        .footer-note {
            font-size: 0.85em;
            color: #777;
            margin-top: 20px;
            border-top: 1px solid #ddd;
            padding-top: 10px;
        }



/* Hero Overlay Text 
------------------------------------------------ */
 @media (min-width: 200px) {
   .hero-overlaytext {      
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		text-align: center;
		width: 100%;
		max-width: 800px;
		filter: drop-shadow(5px 3px 5px rgba(0, 0, 0, 0.9));
		
			}

       .scrim { backdrop-filter: blur(1px); padding:5px;}

        /* Titelzeile */
        .titlezeile {
            font-family: 'Georgia', serif;
            font-size: clamp(2rem, 6vw, 9rem);
            line-height:1.14;
            margin: 0;
            font-weight: 400;
            background: linear-gradient(to bottom, #fff, #fff);
			-webkit-background-clip: text; /* Korrektur: background-clip hinzufügen */
			background-clip: text;
			-webkit-text-fill-color: transparent;
			
			/* Flexbox hilft, Haupttext und Span sauber untereinander zu stapeln */
			display: flex;
			flex-direction: column;
			align-items: flex-center; /* Oder 'center', falls gewünscht */

        }

        /* Subtitel */
        .subtitlezeile {
            font-family: 'Segoe UI', sans-serif;
            font-size: clamp(1.4rem, 3vw, 2.5rem);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            border-top: 1px solid rgba(255,255,255,0.3);
            border-bottom: 1px solid rgba(255,255,255,0.3);
            padding: 0.2em 0;
            display: inline-block;
			margin-top: 0.2em; 
			display: inline-block;
			margin-top: 0.2em; 
			-webkit-text-fill-color: #fff; 
        }

      
 }
 
 
.hero-caption {
    position: absolute;
    bottom: 25px;
    right: 25px;
    background-color: rgba(34, 34, 34, 0.65); /* Halbtransparenter, dunkler Hintergrund */
    color: #fff;
    padding: 6px 14px;
    font-size: clamp(1rem, 1.5vw, 1.3rem);
    font-family: var(--font-sans);
    font-weight: 400;
    border-radius: 3px;
    z-index: 20; /* Liegt über dem Bild, aber unter Navigations-Overlays */
    backdrop-filter: blur(4px); /* Moderner Glas-Effekt für bessere Lesbarkeit */
    -webkit-backdrop-filter: blur(4px); /* Safari Support */
    text-align: right;
    max-width: 85%; /* Verhindert, dass der Text auf Mobile die gesamte Breite einnimmt */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
 
/* Schnellkontakt Buttons */
.quick-contact-actions {
    display: flex;
    flex-direction: column;
}

.btn-call, .btn-mail {
    display: block;
    padding: 15px 20px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-family: var(--font-sans);
}

.btn-call {
    background-color: #a11c1c; /* Ein kräftiges Metzger-Rot */
    color: #fff !important;
}

.btn-mail {
    background-color: #333;
    color: #fff !important;
}

.btn-call:hover, .btn-mail:hover {
    filter: brightness(1.2);
    transform: translateY(-2px);
}

.btn-route {
    display: block;
    padding: 15px 20px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-family: var(--font-sans);
    
    /* Weiches, helles Grün als Hintergrund */
    background-color: #dcedc8; 
    /* Dunkelgrüne Schrift für perfekten Kontrast (Barrierefreiheit / WCAG) */
    color: #33691e !important; 
    border: 1px solid #c5e1a5;
}

.btn-route:hover {
    background-color: #c5e1a5; /* Etwas dunkler beim Hover */
    transform: translateY(-2px);
    color: #1b5e20 !important;
}



.btn-cta-red {
    display: inline-block;
    padding: 15px 20px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-family: var(--font-sans);
    background-color: var(--color-red); 
    color: #fff !important; 
    border: 1px solid darkred;
}

.btn-cta-red:hover {
    background-color: darkred; /* Etwas dunkler beim Hover */
    transform: translateY(-2px);
    color: #fff !important;
}

.quick-contact-actions .icon {
    margin-right: 10px;
    font-size: 2.2rem;
}

@media (max-width: 768px) {
    .text-right { text-align: center; }
}




@media print {
    .pagebreak {
        clear: both;
        page-break-after: always;
    }
}

/* Nur für Screenreader */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


@media (max-width: 768px) {
    .careerimg { display:block; width:150px; margin:0 auto 10px auto }
}

@media (min-width: 769px) {
.careerimg {
	float:left;
	width:150px;
	margin:20px 30px 0 0
}
}