/**
 * Button 
 ===================================== */
 a.button {
   display: block;
   color: #fff !important;
   background-color: #B73333;
   padding: 10px 20px;
   text-decoration: none;
   text-align: center;
   margin: 0 auto;
   transition: all ease-in-out .25s;
}
a.button:hover {
   color: #fff;
   background-color: #990000;
}



/**
 * GRID
 * used for listing producers and
 * DMP delivery stations
 ===================================== */
.grid-container {
   max-width: 1440px;
   width: 100%;
   display: grid;
   margin-right: auto;
   margin-left: auto;
   position: relative;

   -webkit-box-align: stretch;
   -ms-flex-align: stretch;
   align-items: stretch;
}
.parent {
   display: grid;
   grid-template-columns: repeat(4, minmax(220px, 100%));
   grid-column-gap: 30px;
   grid-row-gap: 30px;
   align-items: stretch;
   -webkit-box-align: stretch;
   -ms-flex-align: stretch;
}
@media (max-width: 1024px) {
   .parent {
      grid-template-columns: repeat(2,1fr);
   }
}
@media (max-width: 767px) {
   .parent {
      grid-template-columns: repeat(1,1fr);
   }
}
.grid-item {
   border: 1px solid #C6C6C6;
   padding: 20px;
}


@media (max-width: 1024px) {
   .all-categories .parent {
      grid-template-columns: repeat(2,1fr);
   }
}

.all-categories a p {
   color: #990000;
}




/**
 * Article 
 ===================================== */
article img {
   width: 100%;
   display: block;
   margin: 0 auto 1em auto;
   text-align: center;
}
article h2 {
   /* text-align: center; */
   font-size: 1em;
   margin-bottom: 1em;
}
article span {
   text-align: center;
   display: block;
   /* margin-bottom: 1em; */
}

.product-child {
   border: 1px solid #ccc;
   padding: 15px;
}
.product-child > img {
   margin-bottom: 15px !important;
}
.product-child a {
   margin-top: 1em;
}


/**
 * Producer Head
 ===================================== */
section.producer-head {
   padding: 25px 0;
}
section.producer-head span {
   display: block;
}
section.producer-head .producer-logo {
   text-align: right;
}
section.producer-logo .producer-logo img {
   width: auto;
   max-width: 200px;
   height: 150px;
}
.producer-logo img {
   max-width: 200px !important;
   height: auto;
}
section.producer-hero {
   color: #fff;
   padding: 50px 0;
   background-color: #B30C0C;
}
@media (max-width: 768px) {
   .producer-head h1,
   .producer-head span {
      text-align: center;
   }
   .producer-head span {
      margin-bottom: 2em;
   }
   section.producer-head .producer-logo {
      text-align: center;
   }
}



/**
 * Producer Information
 ===================================== */
span.divider {
   display: block;
   width: 50px;
   border-bottom: 2px solid #fff;
   margin: 20px 0 20px 0;
}
.gmap {
   line-height: 0 !important;
   border: 5px solid #fff;
   padding-left: 0 !important;
   padding-bottom: 0 !important;
   padding-right: 0 !important;
}
.gmap iframe {
   height: 400px;
}
section.producer-information {
   padding: 40px 0;
   background-color: #F6F6F6;
   margin-bottom: 50px;
}
section.producer-information h3 {
   font-size: 1.4em;
   font-weight: bold;
   margin-bottom: 1em;
   padding-bottom: 8px;
   border-bottom: 1px solid #ccc;
}
section.producer-information a {
   color: #B30C0C;
   text-decoration: none;
}
section.producer-information ul {
   padding-left: 0;
}
section.producer-information ul li {
   display: flex;
   list-style: none;
   margin-bottom: .75em;
}
.pinfo-block {
   display: block;
   margin-bottom: 2em;
}
/* icons */
.list-icon {
   display: inline-block;
   width: 20px;
   margin-right: 10px;
}
.list-text {
   display: inline-block;
}

/**
 * Producer Delivers to
 ===================================== */
section.producer-delivers-to {
   margin-bottom: 100px;
   margin-top: 100px;
}
section.producer-delivers-to h2 {
   text-align: center;
   margin-bottom: 1.5em;
}


/**
 * CATEGORIES
 ===================================== */

.category-list {
   padding: 1.5rem;
}
.category-list.container {
   max-width: 1200px;
   margin: 0 auto;
}

@media (max-width: 767px) {
   .category-list.container {
      margin-top: 15px;
   }
}

input[type="radio"] {
   position: absolute;
   left: -9999px;
} /* Cat-Image*/
.cat_image {
   width: 100%;
   /* height: 25vh; */
   overflow: hidden;
   /* border-radius: 15px; */
   display: none;
}
.cat_image img {
   height: auto;
   width: 100%;
}
.show {
   display: block;
} /* FILTERS–––––––––––––––––––––––––––––––––––––––––––––––––– */
.filters {
   text-align: center;
   margin-bottom: 2rem;
}
.filters * {
   /*display: inline-block;*/
   display: block;
}
.filters label {
   padding: 0.5rem 0;
   margin-bottom: 0.25rem;
   border-radius: 2rem;
   min-width: 50px;
   line-height: normal;
   cursor: pointer;
   transition: all 0.1s;
}
.filters label:hover {
   background: var(--red);
   color: var(--white);
} /* FILTERED ELEMENTS (POSTS)–––––––––––––––––––––––––––––––––––––––––––––––––– */
.products {
   display: grid;
}
.products .product {
   background: #fafafa;
   border: 1px solid rgba(0, 0, 0, 0.1);
   border-radius: 15px;
   overflow: hidden;
}
.products .product-description {
   font-size: 1.1rem;
}
.products .product-price {
   font-size: 1.3rem;
   font-weight: bold;
} /* FILTERING RULES–––––––––––––––––––––––––––––––––––––––––––––––––– */
[value="Alle anzeigen"]:checked ~ .filters [for="alle"],
[value="Aufstriche & Saucen"]:checked ~ .filters [for="aufstriche_saucen"],
[value="Brot & Getreide"]:checked ~ .filters [for="brot_getreide"],
[value="Eier & Teigwaren"]:checked ~ .filters [for="eier_teigwaren"],
[value="Essig & Öl"]:checked ~ .filters [for="essig_oel"],
[value="Fisch"]:checked ~ .filters [for="fisch"],
[value="Fleisch & Geflügel"]:checked ~ .filters [for="fleisch_gefluegel"],
[value="Gemüse & Obst"]:checked ~ .filters [for="gemuese_obst"],
[value="Getränke"]:checked ~ .filters [for="getraenke"],
[value="Kräuter & Gewürze"]:checked ~ .filters [for="kraeuter_gewuerze"],
[value="Milchprodukte"]:checked ~ .filters [for="milchprodukte"],
[value="Naschereien"]:checked ~ .filters [for="naschereien"],
[value="Nonfood"]:checked ~ .filters [for="nonfood"],
[value="Wurst, Speck & Co"]:checked ~ .filters [for="wurst_speck_co"] {
   color: #990000;
   margin-left: 0.5em;
   text-decoration: underline;
}
[value="Alle anzeigen"]:checked ~ .products [data-category] {
   display: flex;
}
[value="Aufstriche & Saucen"]:checked ~ .products .product:not([data-category~="aufstriche_saucen"]),
[value="Brot & Getreide"]:checked ~ .products .product:not([data-category~="brot_getreide"]),
[value="Eier & Teigwaren"]:checked ~ .products .product:not([data-category~="eier_teigwaren"]),
[value="Essig & Öl"]:checked ~ .products .product:not([data-category~="essigoel"]),
[value="Fisch"]:checked ~ .products .product:not([data-category~="fisch"]),
[value="Fleisch & Geflügel"]:checked ~ .products .product:not([data-category~="fleisch_gefluegel"]),
[value="Gemüse & Obst"]:checked ~ .products .product:not([data-category~="gemuese_obst"]),
[value="Getränke"]:checked ~ .products .product:not([data-category~="getraenke"]),
[value="Kräuter & Gewürze"]:checked ~ .products .product:not([data-category~="kraeuter_gewuerze"]),
[value="Milchprodukte"]:checked ~ .products .product:not([data-category~="milchprodukte"]),
[value="Naschereien"]:checked ~ .products .product:not([data-category~="naschereien"]),
[value="Nonfood"]:checked ~ .products .product:not([data-category~="nonfood"]),
[value="Wurst, Speck & Co"]:checked ~ .products .product:not([data-category~="wurst_speck_co"]) {
   display: none;
}



/**
 * Products
 * ==========================*/
.product-title.row,
.product-shop.row,
.product-description.row,
.product-price.row {
   margin-left: 0 !important;
   margin-right: 0 !important;
   padding-left: 0 !important;
   padding-right: 0 !important;
}

ol.products > li.product.row {
   margin-bottom: 1em !important;
}
ol.products > li.product.row .col-9 {
   padding-top: 10px;
   padding-bottom: 10px;
}
ol.products > li.product.row a.button.buy_now {
   display: inline-block;
   margin-top: 15px;
}

ol.filters li {
   text-align: left;
}

.product-title {
   display: inline-block;
   font-size: 1.15em;
   line-height: 1.125em;
   font-weight: bold;
}

.product-shop {
   margin-bottom: 0.5em;
}

.product-child img + .product-title {
   margin-bottom: 10px;
}

/**
 * Category Navigation Mobile
 * ========================== */

.mobile-category-nav {
   display: none;
   position: fixed;
   top: 85px;
   left: 0;
   right: 0;
   z-index: 99;
}
@media (max-width: 767px) {
   .mobile-category-nav {
      display: block;
   }
   ol.filters,
   .mobile-category-nav ol.filters {
      display: none;
   }
}

.mobile-category-nav ol.filters {
   background-color: #B73333;
   padding: 15px 0;
}
.mobile-category-nav ol.filters li {
   display: inline-block;
   background-color: rgba(0,0,0,0.25);
   border-radius: 99px;
   margin: 0 5px 10px 5px;
   padding-left: 10px;
   padding-right: 10px;
}
.mobile-category-nav ol.filters li:hover {
   background-color: #fff;
}
.mobile-category-nav ol.filters li label {
   color: #fff;
}
.mobile-category-nav ol.filters li:hover label {
   color: #990000;
}



.nav-head {
   display: block;
   width: 100%;
   height: 50px;
   color: #fff;
   background-color: #990000;
   position: relative;
   padding: 12px 0 0 24px;
}
.nav-head-title {
   font-size: 16px;
   font-weight: bold;
}
.nav-head-trigger {
   width: 35px;
   height: 35px;
   position: absolute;
   right: 10px;
   top: 10px;
}
.nav-head-trigger i {
   display: block;
   font-size: 30px;
   color: #fff;
}
.category-list + .row {
   position: relative !important;
   margin-bottom: 25px !important;
}


ol.cat_images {
   margin-bottom: 1em;
}

.cat_images + h2 {
   color: #fff !important;
   position: absolute;
   bottom: 20px;
   left: 20px;
   text-align: left;
   text-shadow: 0 0 10px #000;
}

.cat_images,
.category-list {
   padding-left: 0 !important;
   padding-right: 0 !important;
}

.category-list.container {
   width: 100%;
}

.category-list.container > .row{
   position: relative;
}

.category-list > .row:nth-child(2) {
   padding-left: 15px;
   padding-right: 15px;
}

/**
 * Back-To-Top Button
 * ---
 * Dynamically added by custom.js
 * ============================== */
.back-to-top {
   color: #fff !important;
   background: #990000;
   position: fixed;
   bottom: 80px;
   right: 20px;
   padding: 10px 15px;
   z-index: 100;
}
.back-to-top:hover {
   color: #fff;
   background-color: #B73333;
}
.back-to-top i {
   font-size: 24px;
}