@charset "utf-8";

:root {
  --akzent-1:           rgb(227, 30, 35);   /* ===== Stemke-Rot ===== */
  --akzent-2:           rgb(100, 100, 100);   /* ===== 2. Farbe ===== */
  --akzent-2-kontrast:  rgb(255, 255, 255);   /* ===== Kontrast für Text auf 2. Farbe ===== */
  --hintergrund-1:      rgb(255, 255, 255); /* ===== Normaler Hintergrund ===== */
  --text-1:             rgb(0, 0, 0);       /* ===== Normale Schriftfarbe ===== */
  --hintergrund-2:      rgb(200, 200, 200); /* ===== abgesetzter Hintergrund ===== */
  --hintergrund-3:      rgb(230, 230, 230); /* ===== getönter Hintergrund ===== */
}
    
html {
    box-sizing: border-box;
	background-color: var(--hintergrund-1);
}

body {
    max-width: 80em;
    margin: 0 auto; 
	padding: 0 .5em;
    font: "Lucida Grande", "Lucida Sans Unicode", Verdana, Helvetica, Arial, sans-serif;
	color: var(--text-1);
    background-color: var(--hintergrund-2);
	position: relative;
}

/* ===== header ===== */

header {
	background-color: var(--hintergrund-1);
	padding: .5em;
    height: 4em;
    margin-bottom: .5em;
}

header-schrift-h1 {
	font-family: "Times New Roman", serif;
	color: var(--akzent-1);
	font-size: 3em;          /* Schriftgröße für 1-Spalten-Layout; bei mehr Spalten 3em */
	font-weight: bold;
	text-shadow: 1px 1px rgb(0, 0, 0), 2px 2px rgb(0, 0, 0), 3px 3px rgb(0, 0, 0);
 }

header-schrift-h2 {
	font-family: "Times New Roman", serif;
	color: var(--akzent-1);
	font-size: 1.8em;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.3), 2px 2px rgba(0, 0, 0, 0.3), 3px 3px 1px rgba(0, 0, 0, 0.3);
	display: none;
}

header-schrift-h3 {
	font-family: "Times New Roman", serif;
	color: var(--text-1);
	font-size: 1.4em;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
	display: none;
}

header a{
	text-decoration: none;
}

.logobaecker {
    width: auto; 
    max-height: 3em;
    vertical-align: top;
    float: left;    
}

.logorechts {
    width: auto; 
    max-height: 5em;
    vertical-align: top;
    float: right;    
}

/* ===== Navigation ===== oberhalb des main-Elements  ===== */

#navigation ul {
    list-style:none;
    margin: 0em;
    margin-left: .1em;
    padding: 0em;
}

#navigation li {
	display: inline-block;
	list-style: none; 
	padding: .1em;
	margin-right: .2em; 
    bottom: 0;
}

#navigation a {
	display: block; 
	text-decoration: none;
	padding: .1em .3em;
	background-color: var(--hintergrund-3);
}

#navigation a[aria-current=page] {
	font-weight: bold;
    background: var(--hintergrund-1);
}

#navigation a:hover,
#navigation a:focus, 
#navigation a:active  {
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast); 
}

/* ===== Hauptfenster ==== mit Sectionen */

	
main {
    padding: 0.5em 1em;
	background: var(--hintergrund-1);
}

a {
	color: inherit; 
}

a:hover,
a:focus {
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast); 
}

a.button{
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast); 
	font-weight: bold;
	padding: 0.2em .5em;
	margin: 0.2em .5em;
	text-decoration: none;	
}
a.button:hover,
a.button:focus {
	background: var(--akzent-1);
}

article {                  /* Abschnitte immer über gesamte Breite */
	padding: 0em;     
    margin: 0;
}

h1 {
	font-weight: bold;
	color: var(--akzent-1);
}

.akzent {
	font-weight: bold;
	color: var(--akzent-2);
}


/* ===== Ausklappbare Bereiche Formatieren ====== */
details {
	background: var(--hintergrund-1);
	color: var(--text-1);
    margin: 0 .5em .5em .5em;
	padding: 0;
}
summary{
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast); 
	padding: 0.2em 1em;
}
summary:hover,
a.summary:focus {
    background: var(--akzent-1); 
}

/*  ===== Bilder =====  */

img {
  width: calc(100% - 1em); /* Bilder immer über ganze Spalten-Breite */
  margin: 0.5em;
}

.bildlinks,
.bildrechts {
    max-width: 35%; 
    height: auto;
    margin-bottom: 1em; 
}
.bildlinks15,
.bildrechts15 {
    max-width: 15%; 
    height: auto;
    margin-bottom: 1em; 
}
.bildlinks,
.bildlinks15{
    float: left;
    margin-right: 1em; 
}
.bildrechts,
.bildrechts15 {
    float: right;
    margin-left: 1em; 
} 

/* ===== Spalten anpassbar: ===== */

section {
	background: var(--hintergrund-3);
	position: relative;
    margin: .5em 0;
}

section h2 {
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast); 
	padding: .2em 1em;
	margin: 0;
}

section p {
	padding: 0.5em; 
    margin-bottom: 0;
}

section p.button-right {
    text-align: right; 
}

section p.icon {
    height: 2em;
	padding: 0 .5em .5em;
}
section table {
	padding: .5em; 
}
section td {
	margin: .2em 0; 
}

/* ===== Tabelle Öffnungszeiten ===== */
table.zeiten{
    min-width: calc(100% - 1em);
	margin: 0 .5em .5em .5em;
	padding: .5em;
	background-color: var(--hintergrund-1);
}
/* ===== Sortiment beschreibung der Artikel ===== */
	
.artikel ul {
	display: block;
	list-style: none;
}

.artikel li {
	display: block;
	list-style: none;
	margin-right: .5em; 
}

/*  ===== Link zum Seitenanfang =====  */

#toplink {                  
    position: fixed; 
    bottom: 5em; 
    right: 0em; 
}

#pfeil-oben {
	background: url("../icons/pfeil-oben.svg") no-repeat;
    background-color: var(--akzent-2);
    background-size: contain;
	float: left;
	width: 2em;
	height: 2em;
    margin: .2em;
}

#pfeil-unten {
	background: url("../icons/pfeil-unten.svg") no-repeat;
    background-color: var(--akzent-2);
    background-size: contain;
	float: left;
	width: 2em;
	height: 2em;
    margin: .2em;
}

#pfeil-oben:hover,
#pfeil-unten:hover{
    background-color: var(--akzent-1);
}


/* ===== Navigation innerhalb der Seite ===== */

#navigation-seite li {
	display: inline-block;
	width: auto;
	list-style: none;
}

#navigation-seite a {
	display: block; 
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast);
	padding: .2em .3em;
	margin: .2em .3em;
	text-decoration: none;	
}

#navigation-seite a:hover,
#navigation-seite a:focus, 
#navigation-seite a:active  {
    background-color: var(--akzent-1);
}

/* ===== Footer ===== */
	
#footer {
    display: block;
    margin-top: .5em;
    margin-bottom: 0em;
}

#footer ul {
    list-style:none;
    margin: 0em;
    margin-left: .1em;
    padding: 0em;
}

#footer li {
	display: inline-block;
	list-style: none; 
	padding: .1em;
	margin-right: .2em; 
    bottom: 0;
}
	
footer #copyright {
    position: relative;
    text-align: right;
    padding: .2em 0em;
    margin-top: 0em;
}

#copyright a {
	text-decoration: none;
	padding: .1em .3em;
    margin-right: 1em;
	background-color: var(--hintergrund-3);
}

#copyright a:hover,
#copyright a:focus, 
#copyright a:active  {
    background-color: var(--akzent-2);
	color: var(--akzent-2-kontrast);
}
	


/* ===== responsives Layout ===== */

/* Mobile first! 1-Spaltenlayout  */



/* 2-Spaltenlayout, sobald der Platz es erlaubt  */

@media only screen and (min-width: 40em) 
{
    main {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 1em;
      position: relative;
      margin: 0em auto;
    }

    article {
        grid-column: span 2;
    }
    
    header-schrift-h1 {
    margin-right: .5em;
    }
   
    header-schrift-h2 {
        display: contents;
    }
   
    #navigation ul {
        margin-left: 1em;
    }
    
    footer #copyright {
        position: absolute;
        margin: 1em 0;
        bottom: -.5em;
        right: 1em; 
    }    
}
         
    
/* 3-Spaltenlayout, sobald der Platz es erlaubt  */
@media only screen and (min-width: 60em) {
  main {
	grid-template-columns: repeat(3, 1fr);
  }

	main header,
	main footer,
    article {
	  grid-column: span 3;
	}
   
    header-schrift-h2,
    header-schrift-h3 {
        display: contents;
    }

}

/* Flexbox Fallback wenn der  Browser kein display:grid unterstützt. */
@supports not (display: grid) {
  main {
    display: flex;
    flex-flow: row wrap;
  }

main > * {
    	margin-top: 4em;
  flex: 1 100%;      /* Alle Elemente werden über die volle Breite dargestellt */
} 

article {
  flex: 1 64%;      
  margin: 1%;
}
section,
aside {
  flex: 1 31%;      /* Diese Elemente erhalten eine Breite von 1/3.  */
  margin: 1%;
}
}