.vvd_hidden {
  display: none;
}
.vvd_event_header {
  border-bottom-color: #e6e6e6;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  display: block;
}
.vvw_event_group {
  overflow: hidden;
  flex-flow: column;
  display: flex;
  transition: all 0.3s ease;
}
input.vvd_cb ~ .vvw_event_group {
  max-height: 0;
}
input.vvd_cb:checked + .vvw_event_group {
  max-height: 9000px;
}
.vvd_event_month {
  display: block;
  padding: 0.5em 0;
  border-bottom: 1px solid;
}
.vvd_event {
  font-family: "Source Sans Pro", sans-serif;
  border-top: 2px solid rgba(0,0,0,0.1);
}
.vvd_event input[type=checkbox] ~ .vvd_widget_wrapper,
.vvd_event input[type=radio] ~ .vvd_widget_wrapper {
  max-height: 0;
  overflow: hidden;
}
.vvd_event input[type=checkbox]:checked ~ .vvd_widget_wrapper,
.vvd_event input[type=radio]:checked ~ .vvd_widget_wrapper {
  max-height: var(--real-height);
  overflow: hidden;
}
.vvd_event label,
label.vvd_event {
  color: #db0029;
  cursor: pointer;
  display: block;
}
.vvd_event .vvd_widget_wrapper {
  transition: max-height 0.6s ease;
  flex-flow: column nowrap;
  gap: 1em;
  display: block;
}
.vvd_event .vvd_widget_wrapper > header {
  display: flex;
  flex-flow: row nowrap;
  gap: 2em;
  margin-bottom: 1em;
}
.vvd_event .vvd_widget_wrapper > header h4 {
  flex-grow: 1;
  margin: 0;
  font-size: 1.4em!important;
  text-align: justify;
  flex-basis: 100%;
}
.vvd_event .vvd_widget_wrapper > header > img {
  width: auto;
  height: auto;
  max-width: 200px;
}
.vvd_event .datetime {
  white-space: nowrap;
  width: max-content;
  flex: 0;
  flex-grow: 1;
}
.vvd_event .vvd_widget_wrapper_short {
  display: flex;
  flex-flow: row nowrap;
  align-items: space-between;
  color: #2c73bf;
  align-items: end;
  position: relative;
}
.vvd_widget_wrapper_short.full {
  opacity: 0.5;
}
.vvd_widget_wrapper_short.full::after {
  content: 'ausgebucht';
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  display: block;
  padding: .3em;
  font-size: .9em;
  line-height: 1;
  text-align: center;
  color: white;
  background: #db0029;
  border-radius: .3em;
}
.vvd_event:not(.vvd_event_header) .vvd_widget_wrapper_short {
  margin-bottom: 2em;
}
.vvd_event .vvd_widget_wrapper_short > span {
  padding: 0.4em;
}
.vvd_event .vvd_widget_wrapper_short .vvd_date {
  flex-shrink: 0;
  white-space: normal;
  flex-basis: 30%;
  flex-grow: 1;
}
.vvd_event .vvd_widget_wrapper_short .vvd_time {
  flex-basis: 25%;
}
.vvd_event .vvd_widget_wrapper_short .vvd_name {
  flex-basis: 40%;
}

#sidebar .vvd_event_widget_list > span{
  border-bottom: 2px solid rgba(0,0,0,0.3);
  display:block;
}
#sidebar .vvd_event_widget_list > span h3{
  color: #db0029;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 0.2em;
}

#sidebar .vvd_event_widget_list > span a{
  color: rgb(44, 115, 191);
}
.vvd_head_mod{
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1em;
}
#menu-navi {
  display: flex;
  flex-flow: row wrap;
  gap: 0.2vw;
  padding: 0.4vw 0;
  align-items: center;
}
#menu-navi .month {
    flex-grow: 1;
    text-align: center;
}

@media screen and (max-width: 900px) {
 /* .vvd_head_mod {
    flex-flow: column nowrap;
  }*/
  .vvd_event .vvd_widget_wrapper > header {
    /*display: flex;
    flex-flow: column nowrap;
    gap: 2em;*/
    margin-bottom: 1em;
  }
  .vvd_event .vvd_widget_wrapper > header h4 {
    flex-grow: 1;
    margin: 0;
    font-size: 1.4em!important;
    text-align: justify;
    flex-basis: 100%;
  }
  .vvd_event .vvd_widget_wrapper > header > img {
    /*flex-shrink: 1;
    flex-grow: 0;
    flex-basis: 1%;*/
    max-width: 90vw;
  }
  .vvd_event .vvd_widget_wrapper_short {
    display: flex;
    flex-flow: row wrap;
    align-items: space-between;
    color: #2c73bf;
  }
  .vvd_event .vvd_widget_wrapper_short .vvd_name {
    flex-basis:100%;
  }
  .vvd_event .vvd_widget_wrapper_short .vvd_date {
    flex-basis: 35%;
    flex-grow: 1;
  }

  .vvd_event .vvd_widget_wrapper > header h4 {
    flex-grow: 1;
    margin: 0;
    font-size: 1.4em!important;
    text-align: left;
    flex-basis: 100%;
  }

  .btn-sm.button, .btn.btn-sm {
    font-size: 1.7rem;
    height: 3.4rem;
    padding: 1.05rem 0.8rem;
  }
  #menu-navi .month {
    flex-grow: 1;
    text-align: center;
    font-size: 1.3rem;
  }
}

.vvd_event .content table td > p {
  margin-bottom: 0;
}

.vvd_event .event_full {
  font-weight: bold;
  background: #db0029;
  color: white;
  padding: 0.2em 1.2em;
  border-radius: 1px;
}
