/* latin */
@font-face {
  font-family: 'Convergence';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('../fonts/convergence-v9-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/convergence-v9-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-900italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-900italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local(''),
       url('../fonts/lato-v17-latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/lato-v17-latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --hintergrund_dunkel: rgb(248 248 248);
  --hintergrund_hell: rgb(224 255 255);
  --hintergrund_menue: rgb(224 255 255 / 0.8);
  --kbn-rot: rgb(225 14 22);
  --kbn-blau: rgb(0 159 227);
  --kbn-gruen: green;
  --lightgreen: rgb(0 255 0 / 0.6);
  --lightred: rgb(255 0 0 / 0.6);
  --maincolor: rgb(17 37 68);
  --maincolor_light: rgb(17 37 68 / 0.5);
  --softred: rgb(255 0 0 / 0.4);
  --tableheader: rgb(221 221 221);
}

body {
  background-color: var(--hintergrund_hell);
  color: var(--maincolor);
  font-family: Lato, Verdana, Arial, Helvetica, sans-serif;
  margin: 0;
  hyphens: auto;
  word-break: break-word;
  overflow-wrap: break-word;
}

button {
  background-color: var(--maincolor);
  border: 1px solid black;
  border-radius: 5px;
  color: var(--hintergrund_dunkel);
  cursor: pointer;
  font-family: Lato, Verdana, Arial, Helvetica, sans-serif;
  font-size: 1em;
  font-weight: bold;
  min-height: 1.8em;
  padding: 0.4em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: Convergence, Verdana, Arial, Helvetica, sans-serif;
}

input, select {
  font-family: Lato, Verdana, Arial, Helvetica, sans-serif;
}

th {
  background-color: var(--tableheader);
  border-bottom: 2px solid var(--maincolor);
}

td {
  height: 1.7em;
}

.abschnitt {
  background-color: var(--hintergrund_dunkel);
  border: 1px solid var(--maincolor);
  border-radius: 5px;
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor_light);
  margin: 5px;
  padding: 5px;
  position: relative;
}

.anzahl_artikel {
  background-color: inherit;
  border: none;
  font-weight: bold;
  font-size: 1.3em;
  text-align: center;
  width: 1.3em;
}

.banner {
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor);
  max-width: 96vw;
  width: 70vh;
}

.button_gross {
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor_light);
  color: var(--hintergrund_hell);
  font-size: 1.5em;
  opacity: 0.4;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.expand {
  display: inline;
}

.fusszeile {
  background-color: var(--maincolor);
  bottom: 0;
  color: white;
  height: 3vh;
  padding-top: 0.8em;
  position: sticky;
  text-align: center;
  z-index: 50;
}

.gruppe {
  display: none;
}

.hintergrund {
  background-color: rgb(255 255 255 / 0.8);
  height: 100vh;
  position: fixed;
  width: 100vw;
  z-index: 40;
}

.icon {
  background-color: white;
  background-repeat: no-repeat;
  background-size: contain;
  border-right: 0.7vh solid var(--maincolor);
  float: right;
  height: 7vh;
  text-align: center;
  width: 7vh;
}

.icon.links {
  border-left: 1vh solid var(--maincolor);
  float: left;
}

.inactive {
  opacity: 0.5;
  pointer-events: none;
}

.infobox {
  background-color: var(--tableheader);
  border: 1px solid var(--maincolor);
  border-radius: 5px;
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor_light);
  padding: 4px;
  text-align: center;
}

.inhalt {
  overflow: auto;
  overflow-x: hidden;
}

.inner {
  margin-left: 1vw;
  margin-top: 1vh;
  width: 98vw;
}

.kopfzeile {
  background-color: var(--maincolor);
  border-bottom: 2px solid var(--maincolor);
  height: 7vh;
  position: sticky;
  top: 0;
  z-index: 10;
}

.produktgruppe {
  background-color: var(--tableheader);
  border: 1px solid var(--maincolor);
  border-radius: 7px;
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor_light);
  cursor: pointer;
}

.reduce {
  display: none;
}

.ueberschrift {
  background-color: var(--maincolor);
  background-position: 95% 0;
  background-repeat: no-repeat;
  background-size: contain;
  color: var(--hintergrund_dunkel);
  display: block;
  font-weight: bold;
  padding: 0.5vh 0;
  text-align: center;
  width: 100%;
}

.ueberschrift.links {
  text-align: left;
}

.ueberschrift.rechts {
  background-position: 5% 0;
  text-align: right;
}

.zutaten {
  background-color: var(--hintergrund_hell);
  border: 0.15em solid var(--maincolor);
  border-radius: 0.7em;
  box-shadow: 0.1em 0.1em 0.3em var(--maincolor_light);
  left: 15vw;
  padding: 5vw;
  padding-top: 0;
  position: fixed;
  top: 35vh;
  width: 55vw;
  z-index: 50;
}
