.Veranstaltungen .title * {
  font-family: var(--font-secondary);
  font-size: 33px;
  font-weight: 300;
  line-height: 140%;
  margin-bottom: 50px; }

.Veranstaltungen .filters {
  display: flex;
  gap: 20px;
  margin-bottom: 50px;
  flex-wrap: wrap; }
  .Veranstaltungen .filters button {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
    color: #000000;
    background-color: #ffffff;
    border: 1px solid #000000;
    border-radius: 50px;
    padding: 9px 16px; }
    .Veranstaltungen .filters button.active {
      color: #ffffff;
      background-color: #DA291C;
      border-color: transparent; }

.Veranstaltungen .eventsWrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  transition: all 0.5s ease; }
  .Veranstaltungen .eventsWrapper.loading {
    opacity: 0.5;
    pointer-events: none; }
  @media screen and (max-width: 1400px) {
    .Veranstaltungen .eventsWrapper {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (max-width: 750px) {
    .Veranstaltungen .eventsWrapper {
      grid-template-columns: repeat(1, 1fr); } }
  .Veranstaltungen .eventsWrapper .event-item {
    display: flex;
    text-decoration: none;
    color: inherit;
    padding: 40px 29px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: auto;
    aspect-ratio: 366 / 347;
    position: relative; }
    .Veranstaltungen .eventsWrapper .event-item.future::before, .Veranstaltungen .eventsWrapper .event-item.past::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.8);
      border-radius: 20px;
      z-index: 0; }
    .Veranstaltungen .eventsWrapper .event-item.past {
      opacity: .4; }
    .Veranstaltungen .eventsWrapper .event-item .topCard {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 40px;
      position: static;
      z-index: 1; }
      .Veranstaltungen .eventsWrapper .event-item .topCard .cardDate {
        display: flex;
        align-items: center;
        gap: 7.5px;
        font-family: var(--font-primary);
        color: #ffffff;
        font-size: 20px;
        font-weight: 500;
        line-height: 100%; }
      .Veranstaltungen .eventsWrapper .event-item .topCard .cardCategory {
        font-family: var(--font-primary);
        color: #ffffff;
        font-size: 20px;
        font-weight: 500;
        line-height: 100%;
        border-radius: 12px;
        border: 0.5px solid #ffffff;
        background-color: #1C1C1CCC;
        padding: 10px 10px 6px 10px; }
    .Veranstaltungen .eventsWrapper .event-item .middleCard {
      margin-bottom: 30px;
      position: static;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 4px; }
      .Veranstaltungen .eventsWrapper .event-item .middleCard .cardTitle {
        font-family: var(--font-secondary);
        font-size: 20px;
        font-weight: 500;
        line-height: 28px;
        color: #ffffff; }
      .Veranstaltungen .eventsWrapper .event-item .middleCard .shortText {
        margin-bottom: 10px; }
      .Veranstaltungen .eventsWrapper .event-item .middleCard .shortText * {
        font-family: var(--font-primary);
        font-size: 18px;
        font-weight: 500;
        line-height: 100%;
        color: #ffffff;
        opacity: 0.8; }
      .Veranstaltungen .eventsWrapper .event-item .middleCard .hours {
        margin-bottom: 10px; }
      .Veranstaltungen .eventsWrapper .event-item .middleCard .hours * {
        font-family: var(--font-primary);
        font-size: 18px;
        font-weight: 300;
        line-height: 100%;
        color: #ffffff;
        opacity: 0.8; }
    .Veranstaltungen .eventsWrapper .event-item .bottomCard {
      position: static;
      z-index: 1; }
      .Veranstaltungen .eventsWrapper .event-item .bottomCard .readMoreBtn {
        font-family: var(--font-primary);
        font-size: 18px;
        font-weight: 500;
        line-height: 140%;
        color: #ffffff;
        text-decoration: none;
        border: 1px solid #ffffff;
        border-radius: 73px;
        padding: 6px 20px;
        transition: .3s all linear; }
        .Veranstaltungen .eventsWrapper .event-item .bottomCard .readMoreBtn:hover {
          background-color: #fff;
          color: #DA291C; }

.Veranstaltungen .eventsPaginationWrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px; }
  .Veranstaltungen .eventsPaginationWrapper .eventsPagination {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap; }
    .Veranstaltungen .eventsPaginationWrapper .eventsPagination .pageLink {
      display: inline-block; }
    .Veranstaltungen .eventsPaginationWrapper .eventsPagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--real-black);
      font-size: 14px;
      line-height: 1;
      font-style: normal;
      font-weight: 400;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: left;
      text-decoration: none;
      margin-left: 19px;
      margin-right: 19px;
      cursor: pointer;
      font-size: 22px;
      margin-left: 9px;
      margin-right: 9px; }
      .Veranstaltungen .eventsPaginationWrapper .eventsPagination .page-numbers.next img {
        width: 25px;
        height: 25px;
        margin: 0; }
      .Veranstaltungen .eventsPaginationWrapper .eventsPagination .page-numbers.prev img {
        width: 25px;
        height: 25px;
        margin: 0; }
    .Veranstaltungen .eventsPaginationWrapper .eventsPagination .current {
      color: var(--red);
      cursor: default; }
    .Veranstaltungen .eventsPaginationWrapper .eventsPagination .next {
      padding: 0 16px;
      font-weight: 600; }
