/* includes border and padding in the total width and height of html elements*/
* {
    box-sizing: border-box;
    
}

body {
  margin: 0;
  line-height: 1.4;
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: #212324;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

@media only screen and (min-width: 768px) {
  h1 {font-size: 32px;}
}

@media only screen and (max-width: 767px) {
  h1 {font-size: 26px;}
}

@media only screen and (min-width: 768px) {
  h2 {font-size: 26px;}
}

@media only screen and (max-width: 767px) {
  h2 {font-size: 22px;}
}

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

article a, details > p > a, details > p > strong> a, div.item-pick-up > p > a {
  color: #509856;
}

a:hover, a:focus, a:active {
  text-decoration: underline;
}

details {
  margin-top: 1rem;
}

details > p {
  margin-top: .5rem;
}

summary {
  font-size: 21px;
  font-weight: bold;
}

hr.break {
  margin: 0 calc(7vw + 1rem);
}

@media only screen and (max-width: 767px) {
  hr.break {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    padding: 1rem 7vw;
  }
}

@media only screen and (max-width: 767px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    padding: 1rem 1.75rem;
  }
}

/*clear flow after any row*/
.row::after {
    content: "";
    clear: both;
    display: table;
  }
  
[class*="col-"] {
    position: relative;
    /*float: left;*/
    padding: 0 15px;
    border: 1px solid transparent;
  }

@media only screen and (min-width: 768px) {
/* grid-view with 12 columns on desktop*/
  .col-md-1 {width: 8.33%;}
  .col-md-2 {width: 16.66%;}
  .col-md-3 {width: 25%;}
  .col-md-4 {width: 33.33%;}
  .col-md-5 {width: 41.66%;}
  .col-md-6 {width: 50%;}
  .col-md-7 {width: 58.33%;}
  .col-md-8 {width: 66.66%;}
  .col-md-9 {width: 75%;}
  .col-md-10 {width: 83.33%;}
  .col-md-11 {width: 91.66%;}
  .col-md-12 {width: 100%;}
  /* do not display on desktop*/
  .col-md-0 {display: none;}
}

@media only screen and (min-width: 768px) {
  /* push grid container to the right on desktop*/
    .col-md-push-1 {left: 8.33%;}
    .col-md-push-2 {left: 16.66%;}
    .col-md-push-3 {left: 25%;}
    .col-md-push-4 {left: 33.33%;}
    .col-md-push-5 {left: 41.66%;}
    .col-md-push-6 {left: 50%;}
    .col-md-push-7 {left: 58.33%;}
    .col-md-push-8 {left: 66.66%;}
    .col-md-push-9 {left: 75%;}
    .col-md-push-10 {left: 83.33%;}
    .col-md-push-11 {left: 91.66%;}
    .col-md-push-12 {left: 100%;}
  }

  @media only screen and (min-width: 768px) {
    /* pull grid container to the left on desktop*/
      .col-md-pull-1 {right: 8.33%;}
      .col-md-pull-2 {right: 16.66%;}
      .col-md-pull-3 {right: 25%;}
      .col-md-pull-4 {right: 33.33%;}
      .col-md-pull-5 {right: 41.66%;}
      .col-md-pull-6 {right: 50%;}
      .col-md-pull-7 {right: 58.33%;}
      .col-md-pull-8 {right: 66.66%;}
      .col-md-pull-9 {right: 75%;}
      .col-md-pull-10 {right: 83.33%;}
      .col-md-pull-11 {right: 91.66%;}
      .col-md-pull-12 {right: 100%;}
    }

@media only screen and (max-width: 767px) {
  /* grid-view with 12 columns on mobile*/
    .col-sd-1 {width: 8.33%;}
    .col-sd-2 {width: 16.66%;}
    .col-sd-3 {width: 25%;}
    .col-sd-4 {width: 33.33%;}
    .col-sd-5 {width: 41.66%;}
    .col-sd-6 {width: 50%;}
    .col-sd-7 {width: 58.33%;}
    .col-sd-8 {width: 66.66%;}
    .col-sd-9 {width: 75%;}
    .col-sd-10 {width: 83.33%;}
    .col-sd-11 {width: 91.66%;}
    .col-sd-12 {width: 100%; padding: 0;}
    /* do not display on mobile*/
    .col-sd-0 {display: none;}
  }

/*Hauptnavigation*/
  header.navbar {
    overflow: hidden;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    background-color: #f4c922;;
    padding: 2rem calc(7vw + 1rem);
    transition: 0.4s;
}

@media screen and (max-width: 767px) {
  header.navbar {padding: 2rem 1.75rem!important;}
}

header.navbar > nav > div.nav {
  display: block;
  width: 25vw;
  min-width: 200px;
  max-width: 400px;
  transition: 0.4s;
}

/*Logo*/
header.navbar > nav > div.nav > a.logo {
  float: left;
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: center;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .navbar > nav > div.nav > a.logo {
    box-sizing: content-box;
    width: 100%;
    /*padding: 0.25em 0 0.25em 0.25em;*/
  }
}

@media screen and (min-width: 768px) {
  .navbar > nav > div.nav > a.logo {
    box-sizing: content-box;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .navbar > nav > div.nav > a.logo > div {
    float: left;
    color: #fff;
    font-size: 1.25em;
    padding: 0.75em 0.5em 0;
  }
}

@media screen and (min-width: 768px) {
  .navbar > nav> div.nav > a.logo > div {
    float: left;
    color: #fff;
    font-size: 1.5em;
    padding: 1em 1.5em 1em 0.75em;
  }
}
/*.navbar > a.logo {
  width: 25vw;
  min-width: 200px;
  max-width: 400px;
  transition: 0.4s;
}*/

@media screen and (max-width: 767px) {
  .navbar > nav > div.nav > a.logo {
    height: 62px;
    display:block;
  }
}

@media screen and (min-width: 768px) {
  .navbar > nav > div.nav > a.logo {height: 127px;}
}

/*Hauptmenü*/  
nav > ul {
  display: block;
  float: right;
}

nav > ul > li {
  display: inline-block;
  list-style-type: none;
  overflow: hidden;
  padding: 0;
}

nav > ul > li > a {
  float: left;
}

nav > ul > li > a {
  display: block;
  color: #4A4444;
  text-align: center;
  font-size: 1.5em;
  padding: 1em 1.5em;
}

/*animated Menu Icon*/
.mobile-menu-icon {
  display: inline-block;
  cursor: pointer;
}

.bar1, .bar2, .bar3 {
  width: 35px;
  height: 5px;
  background-color: #333;
  margin: 6px 0;
  transition: 0.4s;
}

.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
  transform: rotate(-45deg) translate(-9px, 6px);
}

.change .bar2 {opacity: 0;}

.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}

/*responsive Main Navigation*/
.navbar .icon {
  display: none;
}

@media screen and (max-width: 1340px) and (min-width: 768px) {
  .navbar > nav > ul > li:first-child {display: none;}
  .navbar .icon {display: none;}
  nav > ul > li > a {font-size: clamp(1em, 2.5vw, 1.5em);}
  nav > ul {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    height: 91.8px;
  }
}

@media screen and (max-width: 767px) {
  .navbar > nav > ul > li:not(:last-child) {display: none;}
  .navbar .icon {
    display: block;
    position: absolute;
    right: 0.5rem;
    top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .navbar.responsive > nav > ul > li {
    float: none;
    display: block;
  }
  .navbar.responsive > nav > ul > li > a {text-align: left;}
}

main#main-content {
  display: block;
}

/*Button*/
a.button-main {
  display: inline-block;
  border: none;
  border-radius: 5px;
  padding: 1rem;
  background-color: #f4c922;
  color: #fff;
  font-size: 16px;
  font-weight: bolder;
  text-transform: uppercase;
}

a.button-main:hover, a.button-main:focus, a.button-main:active {
  text-decoration: none;
  background-color: #f4c50b;
}

/*municipality overview*/
#municipality, #content {
  scroll-margin-top: 160px;
}

.overview {
  width: 100%;
}

.overview > div > a > div > div, .overview > div  {
  padding: .5rem 1rem;
}

@media screen and (min-width: 768px) {
  .overview > div > a > div > div, .overview > div {
    display: block;;
    width: 33.33%;
    float: left;
  }
}

@media screen and (max-width: 767px) {
  .overview > div > a > div:first-child {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .overview > div > a > div > div:not(:first-child), .overview > div:nth-child(2), .overview > div:nth-child(3) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .overview > div:first-child {
    border-top-right-radius: .5rem;
  }
}

.overview > div:first-child {
  border-top-left-radius: .5rem;
}

.overview > div:nth-child(3) {
  border-top-right-radius: .5rem;
}

.overview > div {
  background-color: #fdf3ce;
  font-weight: 600;
}

.overview > div > a:nth-child(odd) > div > div {
  background-color: #fef9e7;
}

.overview > div > a:hover > div > div {
  text-decoration: underline;
  background-color: #fdf3ce;
}

/*Lead Asset*/
.lead-asset {
  width: 100%;
  height: 24rem;
  padding: 0;
  margin: 1rem 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .mobile-lead-asset {padding: 0;}
}

/*Flex-Box*/
.flex-container {
  display:flex;
  width: 100%;
  background-image: linear-gradient(to bottom, #251f5f2b 0%, #251f5f8a 50%);
  padding: 2rem calc(7vw + 1rem);
  height: inherit;
  flex-flow: column nowrap;
  align-items: flex-start;
  justify-content: flex-end;
}

div.flex-container > h1, div.flex-container > p {
  color: #fff;
}

div.flex-container > h1 {
  margin: 0 0 0.5rem 0;
}

div.flex-container > p {
  margin: 0.5rem 0 1rem 0;
}

div.card-container {
  width: 100%;
}

div.card-image-container > img {
  width: 100%;
}

div.card-text-container > a {
  width: 100%;
  height: 13rem;
  text-decoration: none;
}

a.content-card:hover, a.content-card:active, a.content-card:focus {
  text-decoration: none;
}
div.card-container:hover > div.card-text-container > div.card-title {
  text-decoration: underline;
}

/*div.card-text-container > a:visited > div.card-title > h2 {
  color: grey;
}*/

div.card-text-container > hr {
  width: 20%;
  float: left;
  border: none;
  border-bottom: 2px solid #f4c922;
  margin: 1rem 0;
}

div.card-title {
  width: 100%;
  height: 25%;
  overflow: hidden;
}

div.card-title > h2 {
  font-size: 24px;
  margin: 0;
  margin-top: 1rem;
}

div.card-description > p {
  width: 100%;
  height: 75%;
  overflow: hidden;
}

footer#fusszeile {
  background-color: #f4c922;
  color: #4A4444;
}

@media only screen and (min-width: 768px) {
  footer#fusszeile > div > div:first-child {
    border-left: 1px solid #000;
  }

  p.footer + p {
    margin: 0 auto;
  }
}

p.footer {
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  font-weight: 600;
}

p.footer + p {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

ul.footer {
  padding-left: 0;
}

ul.footer > li {
  list-style: none;
  padding-bottom: 0.5rem;
}

/*grid container for datasets*/
.dataset-container {
  display: flex;
} 

@media only screen and (min-width: 768px) {
  .dataset-container {flex-flow: row wrap;}
}

@media only screen and (max-width: 767px) {
  .dataset-container {flex-flow: column nowrap;}
}

.dataset-item {
  background-color: #fff;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .dataset-item {padding: 0 .5rem .5rem;}
}

@media only screen and (max-width: 767px) {
  .dataset-item {padding: 0 0 .5rem;}
}

.dataset-item > ul {
  padding-left: 0;
}

.dataset-item > ul > li {
  list-style-type: none;
}

.dataset-item.item-pick-up > ul > li:first-child {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.dataset-item.item-pick-up > ul > li:last-child {
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

.dataset-item.item-pick-up > ul > li:nth-child(odd) {
  background-color: #fdf3ce;
  padding: .25rem .5rem .25rem;
}

.dataset-item.item-pick-up > ul > li:nth-child(even) {
  background-color: #fef9e7;
  padding: .25rem .5rem .25rem;
}

.dataset-item.item-head, .dataset-item.item-pick-up {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .dataset-item.item-municipality, .dataset-item.item-disposal {
    width: 50%;
  }
}

@media only screen and (max-width: 767px) {
  .dataset-item.item-municipality, .dataset-item.item-disposal {
    width: 100%;
  }
}

.dataset-item.item-faq  {
  width: 100%;
}