/* Extra small devices (small phones, 160px and up) */
@media all and (min-width: 160px) {

/* ========== */
/* RESET !!!  */
/* ========== */

* {
  /* Ausdehnungen und Abstände */
    margin: 0;
    padding: 0;

  /* Style */
    box-sizing: border-box;
}


/* ==========  ANFANG: html  ========== */
html {
  background-color: #ffffff;

  /* Ausdehnungen und Abstände */
    max-width: 1600px;
    margin: 0 auto;

  /* Schrift */
    font-family: 'Ysabeau Infant', sans-serif;
    /* font-family: 'Poiret One', cursive !important; */

      /*  HINWEIS: Folgende Zeilen in HTML Dokument einbinden!
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link href="https://fonts.googleapis.com/css2?family=Ysabeau+Infant:wght@100&display=swap" rel="stylesheet">
    */

    font-size: 1.4rem;
    font-weight: normal;
    color: black; /* Farbe - Schwarz */

    line-height: 1.4;
    letter-spacing: normal;

  /* Verhalten */
    scroll-behavior: smooth;
}
/* ==========  ENDE: html  ========== */



/* ==========  ANFANG: body (GRID) ========== */
body {
  /* Darstellung: GRID CONTAINER */
    display: grid;

  /* horizontal (Spalten) */
    grid-template-columns: auto;
  /* vertikal (Zeilen) */
    grid-template-rows: auto;

    grid-template-areas:
      "header-bereich"
      "nav-bereich"
      "main-bereich"
      "aside-bereich"
      "footer-bereich";

    /* Abstände zwischen den GRID Areas */
      grid-column-gap: 0;
      grid-row-gap: 0;

  /* Verhalten (...) */
    overflow-y: scroll;
}
/* ==========  ENDE: body  ========== */



/* ==========  ANFANG: Header  ========== */
header {
  /* GRID AREA */
    grid-area: header-bereich;

  /* Ausdehnungen und Abstände */
    width: 100%;

  /* Hintergrund */
    /* background-color: #f4eee6; */
    background-color: #ffffff;
    border-bottom: 1px dotted #2c2c2c; /* Farbe - ### */

  /* Darstellung */
    display: flex;
    overflow: hidden;

    /* Für folgende Flex Items - Spalten - kein Umbruch */
      flex-direction: column;
      flex-wrap: nowrap;

    /* Ausrichtung hier: vertikal: mittig - horizontal: mittig */
      justify-content: space-around;
      align-items: center;

    /* Abstände */
      column-gap: 0;
      row-gap: 0;
}

header > div {
  width: 100%;
  background-color: #ffffff;
}

header > div a {
  text-decoration: none;
}

#intro {
  /* Ausdehnungen und Abstände */
    width: 100%;

  /* Darstellung */
    display: flex;
    overflow: hidden;

    position: relative;

  /* Für folgende Flex Items - Spalten - Umbruch */
    flex-direction: row;
    flex-wrap: nowrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: flex-start;
    align-items: center;

  /* Abstände */
    column-gap: 0;
    row-gap: 0;

    padding-bottom: 0;

    border: none;
}

#intro-text {
  position: absolute;

  width: auto;

  top: 1rem;
  left: 2rem;
  right: 2rem;

  opacity: 0.6;

  padding-top: 0.6rem;
  padding-right: 0.6rem;
  padding-left:  0.6rem;
  padding-bottom: 1.2rem;

  background-color: #dfdfdf;
    border: 1px dotted #1c1c1c;

  z-index: 1;

  text-align: center;
}
/* ==========  ENDE: header  ========== */






/* ==========  ANFANG: DROPDOWN MENÜ *** PAGE  ========== */
main div.dropdown {
  padding: 1px 0;
}

main div.dropdown:hover {
  cursor: pointer;
}

main div.dropdown .dropdown-content {
  display: none; /* NONE! */

  position: absolute;
    margin: 1.4rem auto 0 auto;
  z-index: 100;

  left: 24%;
  right: 24%;

  /* Style */
    box-shadow: 0px 0px 12px 1px rgba(0,0,0,0.3);

    border: 1px dotted #1c1c1c;
    border-radius: 8px;

    padding: 0.2rem 0.8rem;

    font-size: 0.8rem;

    color: #1c1c1c;

    text-align: left;
}

main div.dropdown:hover .dropdown-content {
  /* Darstellung */
    display: block;

  /* Ausdehnungen und Abstände */
    width: auto;
    min-height: 160px;

    padding: 0.8rem;

    text-align: left;

    opacity: 0.8;
    background-color: #ffffff;
}

main div.dropdown:hover .dropdown-content p {
  /* Darstellung */
    text-align: left;
}

main div.dropdown:hover .dropdown-content a {
  /* Darstellung */
    display: block;

  /* Style */
    text-decoration: none;

  /* Ausdehnungen und Abstände */
    width: 100%;
    margin-top: 0.9rem;
    margin-bottom: 0.9rem;

    padding: 0.2rem;

    border-left: 2px solid #f0f0f0;
}

main div.dropdown:hover .dropdown-content a:hover {
  /* Style */
    text-decoration: none;

    /* background-color: #f0f0f0; */
    border-left: 2px solid #1c1c1c;
}

main div.dropdown:hover .dropdown-content a:active {
  /* Style */
    text-decoration: none;

    /* background-color: #f0f0f0; */
    border-left: 2px solid #1c1c1c;
}
/* ==========  ENDE: DROPDOWN MENÜ  ========== */



/* ==========  ANFANG: Nav  ========== */
nav {
  /* GRID AREA */
    grid-area: nav-bereich;

  /* Ausdehnungen und Abstände */
    width: 100%;
    padding: 0.9rem 0.9rem 0.9rem 0.9rem;

    margin-bottom: 2rem;

  /* Position - Style */
    top: 0 !important;

    position: sticky !important;
    z-index: 99;

    opacity: 0.9;

  /* Hintergrund */
    background-color: #f9f9f9;
    border-bottom: 1px dotted #2c2c2c; /* Farbe - ### */

  /* Ausrichtung von: ...content */
    text-align: left;

  /* Darstellung */
    display: flex;
    overflow: visible;

    /* Für folgende Flex Items ... */
      flex-direction: row;
      flex-wrap: wrap;

    /* ... */
      justify-content: space-between;
      align-items: flex-start;

    /* Abstände */
      column-gap: 1.8rem;
      row-gap: 0.9rem;

  /* Schrift */
    color: #000000;
}

nav > button {
  display: block;
}

#navi {
  display: none;
}

.hamburger {
  display: block;
}

.hamburger:hover {
  cursor: pointer;
  border: 1px solid darkolivegreen;
}

.close {
  display: block;
}

.close:hover {
  cursor: pointer;
  border: 1px solid red;
}

nav > div > a {
  width: 100%;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
}

#nutzer-logout {
  border: none;
}

#nutzer-logout:hover {
  border: none;
}
/* ==========  ENDE: nav  ========== */



/* ==========  ANFANG: DROPDOWN MENÜ *** NAVIGATION  ========== */
nav div.dropdown:hover {
  cursor: pointer;
}

nav div.dropdown .dropdown-content {
  display: none; /* NONE! */

  position: absolute;
    margin-top: 2px;
  z-index: 100;

  /* Style */
    background-color: #f9f9f9;
    box-shadow: 0px 0px 12px 1px rgba(0,0,0,0.3);

    text-align: left;
}

nav div.dropdown:hover .dropdown-content {
  /* Darstellung */
    display: block;

  /* Ausdehnungen und Abstände */
    width: auto;
    padding: 0 0.9rem;
}

nav div.dropdown:hover .dropdown-content a {
  /* Darstellung */
    display: block;

  /* Style */
    text-decoration: none;

  /* Ausdehnungen und Abstände */
    width: 100%;
    margin-top: 0.9rem;
    margin-bottom: 0.9rem;

    padding: 0.2rem;

    border-left: 2px solid #f0f0f0;
}

nav div.dropdown:hover .dropdown-content a:hover {
  /* Style */
    text-decoration: none;

    /* background-color: #f0f0f0; */
    border-left: 2px solid #1c1c1c;
}

nav div.dropdown:hover .dropdown-content a:active {
  /* Style */
    text-decoration: none;

    /* background-color: #f0f0f0; */
    border-left: 2px solid #1c1c1c;
}
/* ==========  ENDE: DROPDOWN MENÜ  ========== */



/* ==========  ANFANG: main  ========== */
main {
  /* GRID AREA */
    grid-area: main-bereich;

  /* Ausdehnungen und Abstände */
    max-width: 1400px;
    width: 98%;

    margin-right: auto;
    margin-left: auto;

    margin-top: 0;
    margin-bottom: 0;

  /* Darstellung */
    display: flex;
    overflow: hidden;

    /* Für folgende Flex Items - Spalten - kein Umbruch */
      flex-direction: column;
      flex-wrap: nowrap;

    /* Ausrichtung hier: vertikal: ### - horizontal: ### */
      justify-content: flex-start;
      align-items: flex-start;

    /* Abstände */
      column-gap: 0;
      row-gap: 2.4rem;
}
/* ==========  ENDE: main  ========== */



/* ==========  ANFANG: aside  ========== */
aside {
  /* Ausdehnungen und Abstände */
    margin-top: 2.4rem;
    padding-bottom: 0.8rem;

    width: 100%;

  /* GRID AREA */
    grid-area: aside-bereich;

  /* Hintergrund */
    background-color: #ffffff;

  /* Ausrichtung von: ...content */
    text-align: center;

  /* Darstellung */
    display: flex;
    overflow: hidden;

    /* Für folgende Flex Items ... */
      flex-direction: row;
      flex-wrap: nowrap;

    /* Ausrichtung hier: vertikal: ### - horizontal: mittig */
      justify-content: space-evenly;
      align-items: center;

    /* Abstände */
      column-gap: 0;
      row-gap: 2.4rem;

  /* Wichtig */
    height: fit-content;
}


aside a {
  /* Ausdehnungen und Abstände */
    padding: 1.6rem 3.2rem;

    border: 1px dotted #1c1c1c;
}
/* ==========  ENDE: aside  ========== */



/* ==========  ANFANG: footer  ========== */
footer {
  /* Ausdehnungen und Abstände */
    
    margin-top: 2.4rem;

    width: 100%;

  /* Hintergrund */
    background-color: #cbcab8;

  /* GRID AREA */
    grid-area: footer-bereich;

  /* Ausdehnungen und Abstände */
    min-height: 12vh;

  /* Hintergrund */
    border-top: 1px dotted #2c2c2c; /* Farbe - ### */

  /* Darstellung */
    display: flex;
    overflow: hidden;

    /* Für folgende Flex Items - Spalten - kein Umbruch */
      flex-direction: column;
      flex-wrap: nowrap;

    /* Ausrichtung hier: vertikal: ### - horizontal: mittig */
      justify-content: space-evenly;
      align-items: center;

    /* Abstände */
      column-gap: 0;
      row-gap: 0;
}

footer article {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;

    background-color: #cbcab8;
}

footer section {
    width: 82%;
    padding: 0.6rem;
    margin-right: auto;
    margin-left: auto;
    background-color: #ffffff;
}


footer a.hyperlink-footer {
    /* Schrift */
      font-size: inherit;
      font-weight: inherit;
      color: #2c2c2c;

    /* Stil */
      display: block;

      text-decoration: none;
      outline: inherit;

      background-color: #ffffff;

      min-width: 200px;
      padding: 0.2rem;

      border: 1px dotted #1c1c1c;
  }

  footer a.hyperlink-footer:hover {
    /* Schrift */
      font-weight: bold;
      color: #2c2c2c;

    /* Stil */
      text-decoration: none;
      outline: inherit;
  }
  /* ENDE: Hyperlinks */

/* ==========  ENDE: footer  ========== */



/* ==========  ANFANG: ARTICLE - SECTION  ========== */
article {
  /* Ausdehnungen und Abstände */
    width: 100%;
    /* margin-left: auto; */
    /* margin-right: auto; */

  /* Hintergrund - Farbe: grau/hell - ### */
    background-color: #ffffff;

  /* Darstellung */
    display: flex;
    overflow: visible;

  /* Für folgende Flex Items - Zeilen - Umbruch */
    flex-direction: column;
    flex-wrap: nowrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: flex-start;
    align-items: center;

    /* Abstände */
      column-gap: 1.6rem;
      row-gap: 2.4rem;

  /* TEST */
    /* border: 1px dotted green; */
}


section {
  /* Grundlegende Eigenschaften ... */
  background-color: #ffffff;

  text-align: center;

  width: 100%;

  /* Darstellung */
    display: flex;
    overflow: hidden;

  /* Für folgende Flex Items - Spalten - mit Umbruch */
    flex-direction: column;
    flex-wrap: nowrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: flex-start;
    align-items: center;

    /* Abstände */
      column-gap: 1.6rem;
      row-gap: 1.6rem;

  /* TEST */
    /* border: 1px dotted pink; */
}
/* ==========  ENDE: ARTICLE - SECTION  ========== */



/* ==========  ANFANG: ... allgemeine KLASSEN  ========== */


h2.topic {
  margin-top: -2rem;
  margin-bottom: -1rem;

  text-align: center;
}

h2.topic span.outgoe {
  display: none;
}

h2.topic span.toptitel {
  font-size: 1.8rem;
  color: #24245d;
}



.flex-row {
  display: flex;
  /* width: 96%; */
  /* min-width: 96%; */

  /* Für folgende Flex Items - Spalten - ... mit ... Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: space-evenly;
    align-items: center;

  /* Abstände */
    column-gap: 0.8rem;
    row-gap: 1.6rem;
}


.sign-og {
    /* Schrift */
      font-weight: bolder;
      color: #24245d; /* Farbe: blau */
}


.skyline-goe {display: none;}


.infobox {
  width: auto;
  padding: 1rem;

  border: 1px dotted #1c1c1c;
  border-radius: 8px;

  font-weight: bold;
  font-size: smaller;
}

/* details .infobox {border: none;} */


.sec-abstand {
  padding: 0.8rem 0.4rem;
}


.sec-bg {
  background-color: #cbcab8;
}


.floatable {
  overflow: visible;
}


.testausgabe {
  display: none;

  font-family: monospace;

  color: darkblue;
  font-size: 0.6rem;
  border: 1px dotted darkblue;

  row-gap: 1rem;

  background-color: #ffffff;

  max-width: 98%;
  overflow: hidden;
}

.testausgabe p {
  color: darkblue;
}


.stretchable > section {
  /* Ausrichtung ... */
    align-items: flex-end;
}


.box-size-full {
  /* Ausdehnungen und Abstände */
  width: 100%;
}


.box-size-half {
  /* Ausdehnungen und Abstände */
  width: 90%;
}


.box-size-eindrittel {
  /* Ausdehnungen und Abstände */
  width: 90%;
}

.box-size-eindrittel-row {
  /* Ausdehnungen und Abstände */
  width: 36%;
}

.box-size-zweidrittel {
  /* Ausdehnungen und Abstände */
  width: 90%;
}


.box-size-small {
  /* Ausdehnungen und Abstände */
  width: 86%;
}

.box-size-small-shop {
  /* Ausdehnungen und Abstände */
    width: 26%;
    padding: 0.4rem;

    border: 1px dotted pink;
    border-radius: 8px;

    background-color: #ffffff;
}

.box-size-small-shop-page {
  /* Ausdehnungen und Abstände */
    width: 72%;
    padding: 0.4rem 0.8rem;

    border: 1px dotted grey;
    border-radius: 8px;

    background-color: #ffffff;
}

.box-size-small-shop:hover {
  cursor: pointer; 
}

.box-prod-beschreibung {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;

  row-gap: 1.6rem;

  justify-content: space-around;
  align-items: flex-start;

  width: 100%;

  padding: 0.6rem 0;

  border: 1px dotted #1c1c1c;
  border-radius: 6px;
}


.box-prod-beschreibung-zusatz {
  display: flex;

  flex-direction: column;
  flex-wrap: nowrap;

  justify-content: flex-start;
  align-content: flex-start;

  row-gap: 1.6rem;
  align-items: stretch;

  width: 100%;
}

.wrapper-prod {

  /* Für folgende Flex Items - Spalten - mit Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

    /* Ausrichtung hier: vertikal: ### - horizontal: ### */
      justify-content: space-evenly;
      align-items: stretch; /* Wichtig: Gleiche Höhe der Produkt-Boxen */
  column-gap: unset;
}


.wrapper-prod section {
  overflow: hidden;
}


.wrapper-prod-full {

  /* Für folgende Flex Items - Spalten - mit Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

    /* Ausrichtung hier: vertikal: ### - horizontal: ### */
      justify-content: space-between;
      align-items: start /* Wichtig: ... */
}

.filter-button {
  border: 1px dotted #1c1c1c;
    border-radius: 8px;

  padding: 0.2rem 0.8rem;

  font-size: 0.8rem;

  color: #1c1c1c;
}


.filter-button:hover {
  cursor: pointer;
}

.filter-button-shop {
  background-color: #ffffff;
  
  border: 1px dotted #1c1c1c;
    border-radius: 8px;

  width: 42%;
  padding: 0.2rem 1.8rem;

  font-size: 0.8rem;

  color: #1c1c1c;
}

.filter-button-shop:hover {
  cursor: pointer;
}


/* ANFANG:  Kreis */
.kreis {
    border: 1px dotted grey;
    width: 240px;
    height: 240px;
    border-radius: 50%;

    background-color: #cbcab8;
}


/* ANFANG:  Kreis */
.kreis-small {
    border: 1px dotted grey;
    width: 120px;
    height: 120px;
    border-radius: 50%;

    background-color: #cbcab8;
}


.kreis-text {
    margin-top: 36%;
    text-align: center;
    border: none;

    font-size: 1.8rem;

    max-width: 94%;
      margin-right: auto;
      margin-left: auto;

    background-color: #cbcab8;

    cursor: pointer;
}


.kreis-text-small {
  margin-top: 36%;
  text-align: center;
  border: none;

  max-width: 94%;
    margin-right: auto;
    margin-left: auto;

  background-color: #cbcab8;

  cursor: pointer;
}
/* ENDE:  Kreis */


/* ANFANG - Tooltip */
.tooltip {
  position: relative;
  display: inline-block;

  cursor: pointer;

  /* border-bottom: 1px dotted #424242; */
}


/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;

  opacity: 0;
  transition: opacity 1s;

  width: 400px;
  padding: 0.6rem 0.4rem 0.8rem 0.4rem;
  border-radius: 6px;

  top: 126%;
  left: 50%;
  margin-left: -200px; /* Use half of the width (260/2 = 130), to center the tooltip */

  background-color: #424242;
  color: #C6CCEC;


  text-align: center;

  /* Position the tooltip text! */
  position: absolute;
  z-index: 1;
}

.box-size-eindrittel-row .tooltiptext {
  width: 200px;
  margin-left: -100px;
}

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;

  bottom: 100%;  /* At the top of the tooltip */
  left: 50%;

  margin-left: -5px;
  border-width: 5px;

  border-style: solid;
  border-color: transparent transparent black transparent;
}


/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;

  opacity: 1;
}


/* ==========  ANFANG: Horizontale ####  ========== */
.rumpf-wrapper {
  /* Style */
  /* border: 1px dotted #2c2c2c; */

  width: 94%;

  position: relative;
  /* overflow: hidden; */

  margin-right: auto;
  margin-left: auto;

  height: 100%;

  background-color: #ffffff;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;
}

.card {
  scroll-behavior: smooth;

  min-width: 100%;
  min-height: 200px;

  display: flex;

  /* Für folgende Flex Items: ... */
    flex-direction: column;
    flex-wrap: nowrap;

  /* Ausrichtung ... */
    justify-content: space-between;
    align-items: stretch;

  /* Abstände zwischen den Flex ITEMs */
    column-gap: 0;
    row-gap: 1.8rem;
}

.card--content {
  width: 100%;
  min-width: 100%;

  padding-bottom: 0.9rem;

  border: 1px solid #424242;
}

.card--content h3 {
  width: 100%;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;

  background-color: #424242;
  color: #ffffff;
}

.card--content p {
  padding: 0.9rem;
}

.card--content figure {
  max-width: 100%;
  padding: 0;
}

.card-nav-left {
  display: none;
}

.card-nav-right {
  display: none;
}

.rumpf-wrapper button {
  width: 100%;
  height: 100%;

  background-color: inherit;
  border: none;

  color: #ffffff;

  cursor: pointer;
}
/* ==========  ENDE: Horizontale ####  ========== */


/* ========== ========== ========== */
/* ANFANG: Formular */
form {
  width: 84%;

  /* Darstellung: FLEX CONTAINER */
    display: flex;
    overflow: hidden;

  /* Für folgende Flex Items ... ... ... ... */
    flex-direction: column;
    flex-wrap: nowrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: flex-start;
    align-items: center;

    /* Abstände */
    column-gap: 0;
    row-gap: 0.4rem;
}

input {
  display: block;

  /* Text */
  font-family: inherit;
  font-size: smaller;

  /* Ausdehnungen und Abstände */
  width: 84%;

  margin-right: auto;
  margin-left: auto;

  padding: 0.2rem 0.4rem;

  border: 1px dotted #2c2c2c;
  border-radius: 6px;

  /* Style */
  background-color: #ffffff;
  cursor: pointer;
}

input[type="submit"] {
  /* padding: 0.6rem; */

  border-radius: 0px;

  font-size: inherit;

  background-color: #2c441f;

  color: #ffffff;
}

input[type="submit"]:hover {
  cursor: pointer;
  font-weight: bold;

  color: #ffffff;
}

label {
  padding: 0.8rem;
}

fieldset {
  /* Ausdehnungen und Abstände */
  padding: 0.8rem;

    /* border-width: 1px; */
    border: 1px dotted #1c1c1c;

  margin-bottom: 0.8rem;
}

legend {
  display: block;

  /* Ausdehnungen und Abstände */
  padding-right: 0.6rem;
  padding-left: 0.6rem;
}

form input::placeholder {
  color: black;
}

form textarea {
  display: block;

  /* Text */
  font-family: inherit;
  font-size: smaller;
  color: #424242;

  /* Ausdehnungen und Abstände */
  width: 84%;
  height: 180px;

  margin-right: auto;
  margin-left: auto;

  padding: 0.2rem 0.4rem;

    /* border: 0; */
    border: 1px dotted #424242;
    border-radius: 6px;

  /* Style */
  resize: none;
}


form.form-flex-cont {
  /* Darstellung */
  display: flex;
  overflow: hidden;

  /* Für folgende Flex Items - ### - Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

  /* Ausrichtung hier: vertikal: mittig - horizontal: mittig */
    justify-content: space-evenly;
    align-items: flex-start;

  /* Abstände */
    column-gap: 0.9rem;
    row-gap: 0.9rem;
}


.detail-button,
input[type="submit"].warenkorb-button,
a.warenkorb-button,
input[type="submit"].warenkorb-button-deactive,
a.warenkorb-button-deactive  {
  border: 1px dotted #7797ff;
    border-radius: 8px;

    width: 96%;
    height: auto;

  padding: 0.3rem 0.4rem;

  background-color: #2c441f;
  color: #ffffff;
}

.detail-button:hover,
input[type="submit"].warenkorb-button:hover,
a.warenkorb-button:hover {
  cursor: pointer;
  font-weight: bold;
}


input[type="submit"].warenkorb-button-deactive:hover,
a.warenkorb-button-deactive:hover {
  cursor: not-allowed;
  font-weight: normal;
}



/* ==========  ENDE: ... ========== */



/* ====================
  Warenkorb  - warenkorb.php
======================= */
.ausgabezeile-grau {
  display: block;

  width: 66%;

  background-color: #424242;

  margin: 0 auto;
   border-radius: 2px;
  padding: 0.6rem;

  color: white;
}




/* ==========  ANFANG: ... einzelne ELEMENTE  ========== */



/* ANFANG: Hyperlinks */

a {
/* Schrift */
    font-size: inherit;
    font-weight: inherit;
    color: inherit;

/* Stil */
    text-decoration: none;
    outline: inherit;
}

a:hover {
    /* Schrift */
      font-weight: bolder;
      color: inherit;

      cursor: pointer;

    /* Stil */
      text-decoration: none;
      outline: inherit;
}


a.hyperlink-green {
    /* Schrift */
      font-weight: normal;
      font-size: 0.9rem;

      color: #ffffff;

    /* Stil */
        display: inline-block;

        text-decoration: none;
        outline: inherit;

        background-color: #2c441f;
        color: #ffffff;

        min-width: 340px;
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
}

a.hyperlink-green:hover {
    /* Schrift */
        font-weight: bold;
        color: #ffffff;

        cursor: pointer;

    /* Stil */
        text-decoration: none;
        outline: inherit;
}

.hyperlink-main {
    /* Schrift */
      font-weight: bold;
      font-size: 0.9rem;

      border: 1px dotted #1c1c1c;
      border-radius: 6px;

      color: darkred;

    /* Stil */
        display: inline-block;

        text-decoration: none;
        outline: inherit;

        background-color: #ffffff;

        padding: 0.4rem 2rem;
}

.hyperlink-main:hover {
    /* Schrift */
        cursor: pointer;

    /* Stil */
        text-decoration: none;
        outline: inherit;
}

/* ENDE: Hyperlinks */


p {
  width: 100%;

  padding-right: 0.8rem;
  padding-left: 0.8rem; 
}


main figure {
  width: 100%;
  text-align: center;
}


figcaption {
  font-size: smaller;
  text-align: left;
}


main img {
  width: 100%;
}


details {
  margin: 0;
  padding: 1.2rem;

  width: 100%;
    border: 1px dotted #2c2c2c;
}

details > section {
  margin-top: 1.2rem;
}

summary:hover {
    cursor: pointer;
    font-weight: bold;
}


/* ANFANG: Tabelle */

    table {
      /* Hintergrundfarbe: ein grauton */
      background-color: #ffffff;

      /* Ausdehnungen und Abstände */
        width: 92%;

        margin: 0 auto;
        border: none;
        border-collapse: collapse;

      /* Schrift */
        font-size: 0.7rem;
    }


    thead {
      background-color: #ffffff;

      border-bottom: none;
    }

    thead tr {
      background-color: #424242;
      color: #ffffff;
    }

    tbody {
      border: none;
    }


    th {
      background-color: #424242;
      color: #8e8e8e;
    }


    tr {
      /* display: block; */

      border: 1px dotted #1c1c1c;
      border-radius: 8px;

      margin-bottom: 0.8rem;
    }


    th, td {
      /* Ausdehnungen und Abstände */
      padding: 0.4rem 0.4rem;

      /* Dekoration */
        text-align: left;
        vertical-align: top;

        max-width: 100%;
    }


    tr:nth-child(odd) {
      background-color: #ffffff;
    }


    tr:hover {
      /* Hintergrundfarbe: ... */
      background-color: #f7f7f7;
    }



/* ANFANG: Liste */
main ul {
    display: block;

  /* Dekoration */
    list-style-type: none;

  /* Ausdehnungen und Abstände */
    width: 86%;
      margin: 1rem auto;

    text-align: center;
}

main li {
  /* Ausdehnungen und Abstände */
    margin: 0.6rem auto;
    padding: 0.4rem 0.2rem;

    border: 1px dotted #1c1c1c;
    border-radius: 8px;

    background-color: #ffffff;

    /* box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); */
}

main li:nth-child(odd) {
    background-color: #ffffff;
}


/* ==========  ENDE: ... einzelne ELEMENTE  ========== */



/* ANFANG: GOTOP */

/* ==========  ANFANG: ... GOTOP ========== */
#gotop {
  position: fixed;

  font: 1.1em/2 Arial;
  text-align: center;
  color: #fff;
  background: radial-gradient(circle,#282828,#555);
  border-radius: 10px;
  box-shadow: 0 0 4px 2px #666;
  width: 2em;
  height: 2em;

  left: 88%;
  margin-left: -5px;
  margin-right: auto;

  bottom: 16px;
  padding: 2px 2px 4px 2px;

  opacity: .8;
  transition: 1s;
  z-index: 10;
}

#gotop:hover,
#gotop:focus {
  background: radial-gradient(circle,#555,#282828);
  border-radius: 30px;
}

#gotop span {
  height: 0;
  width: 0;
  top: -4000em;
  overflow: hidden;
  position: fixed;
}
/* ==========  ENDE: ... GOTOP ========== */


/* ====================== */
} /* ENDE */
/* ====================== */




/* Small (phones and small tablets, 360px and up) */
@media only screen and (min-width: 360px) {


/* ====================== */
} /* ENDE */
/* ====================== */




/* ====================== */
/* Medium devices (small tablets and PHONEs, 480px and up) */
@media only screen and (min-width: 480px) {



h2.topic {
  margin-top: 2rem;
  margin-bottom: 1rem;
  
  line-height: 0.8;
}

h2.topic span.outgoe {
  display: inline-block;

  font-size: 1.4rem;
  font-weight: normal;
}

h2.topic span.toptitel {
  font-size: 2.8rem;
}




/* ====================== */
} /* ENDE */
/* ====================== */




/* ====================== */
/* Medium devices (TABLETs and large phones (LANDSCAPE), 600px and up) */
@media only screen and (min-width: 600px) {



#intro-text {
  width: auto;

  left: auto;
  right: 12%;

  padding-right: 1rem;
  padding-left: 1rem;
}


.skyline-goe {display: block;}


/* ====================== */
} /* ENDE */
/* ====================== */




/* ====================== */
/* Large devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {



/* ==================== */
.rumpf-wrapper {
  /* Ausdehnungen und Abstände */
    width: 100%;
    height: 100%;

    margin-right: auto;
    margin-left: auto;

    background-color: #ffffff;

    align-items: center;

  /* Darstellung */
    display: flex;

    flex-direction: row;
    justify-content: center;
  }

  .card {
    overflow: auto;
    scroll-behavior: smooth;

    min-width: 100%;
    min-height: 200px;

    /* padding: 0.9rem; */

    display: flex;

  /* Für folgende Flex Items: ... */
    flex-direction: row;
    flex-wrap: nowrap;

  /* Ausrichtung ... */
    justify-content: space-between;
    align-items: stretch;

  /* Abstände zwischen den Flex ITEMs */
    column-gap: 1.8rem;
    row-gap: 0;
}

.card--content {
  width: auto;
  min-width: 460px;
}

.card-nav-left {
  display: block;

  background-color: #424242;
  border: 1px dotted #1c1c1c;

  border-radius: 40px;
  margin-right: -52px;
  z-index: 1;

  padding: 1.4rem;

  opacity: 0.8;
  cursor: pointer;

  font-size: 0.4rem;
}

.card-nav-right {
  display: block;

  background-color: #424242;
  border: 1px dotted #1c1c1c;

  border-radius: 40px;
  margin-left: -52px;
  z-index: 1;

  padding: 1.4rem;

  opacity: 0.8;
  cursor: pointer;

  font-size: 0.4rem;
}

/* ===== Scrollbar CSS ===== */

/* Firefox */
.rumpf-wrapper * {
  scrollbar-width: auto;
  scrollbar-color: #1c1c1c #a1a1a1;
}

/* Chrome, Edge, and Safari */
.rumpf-wrapper *::-webkit-scrollbar {
  width: 16px;
}

.rumpf-wrapper *::-webkit-scrollbar-track {
  background: #a1a1a1;
}

.rumpf-wrapper *::-webkit-scrollbar-thumb {
  background-color: #1c1c1c;
  border-radius: 10px;
  border: 3px solid #a1a1a1;
}



/* ====================== */
} /* ENDE */
/* ====================== */




/* ====================== */
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {



/* ==========  ANFANG: Nav  ========== */
nav {
  /* ... */
    justify-content: space-evenly;
}

#navi {
  display: flex;
}

.hamburger {
  display: none;
}

.close {
  display: none;
}
/* ==========  ENDE: Nav  ========== */



/* ==========  ANFANG: ARTICLE - SECTION  ========== */
article {
  /* Für folgende Flex Items - Zeilen - Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: space-between;
    align-items: flex-start;

    /* Abstände */
      column-gap: 0;
}


section {
  /* Für folgende Flex Items - Spalten - mit Umbruch */
    flex-direction: row;
    flex-wrap: wrap;

  /* Ausrichtung hier: vertikal: ### - horizontal: ### */
    justify-content: space-evenly;
    align-items: flex-start;
}
/* ==========  ENDE: ARTICLE - SECTION  ========== */


.stretchable {
  /* Ausrichtung ... */
    justify-content: space-evenly;
    align-items: stretch;
}

.filter-button-shop {
  width: 20%;
}

.box-size-half {
  /* Ausdehnungen und Abstände */
  width: 48%;
}

.box-size-eindrittel {
  /* Ausdehnungen und Abstände */
  width: 30%;
}

.box-size-eindrittel-row {
  /* Ausdehnungen und Abstände */
  width: 30%;
}

.box-size-eindrittel-row .tooltiptext {
  width: 400px;
  margin-left: -200px;
}


.box-size-zweidrittel {
  /* Ausdehnungen und Abstände */
  width: 68%;
}


.box-size-small {
  /* Ausdehnungen und Abstände */
  width: 22%;
}


.box-prod-beschreibung {
  width: 60%;
}


.box-prod-beschreibung-zusatz {
  width: 36%;
}


.box-size-small-shop {
  /* Ausdehnungen und Abstände */
    width: 12%;
}


.box-size-small-shop-page {
  /* Ausdehnungen und Abstände */
    width: 18%;

    font-size: 0.8rem;
}


.box-size-mini {
  /* Ausdehnungen und Abstände */
    width: 10%;
}

.box-size-maxi {
  /* Ausdehnungen und Abstände */
    width: 86%;
}

.wrapper-prod {
    justify-content: flex-start;

    column-gap: 1.6rem;
}

.wrapper-prod section {
  overflow: visible;
}

/* ====================== */
} /* ENDE */
/* ====================== */




/* ====================== */
/* Extra Large devices (laptops/desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {


/* ====================== */
} /* ENDE */
/* ====================== */