
.veranstaltungen-grid {
}

.veranstaltungen-grid .grid-item {
  max-height:   525px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
}
.veranstaltungen-grid .image-wrapper {
  background-position : top;
  background-size     : cover;
  background-repeat   : no-repeat;
  width               : 100%;
  height              : 100%;
  transition          : all 0.3s ease-in-out;
}
.veranstaltungen-grid .image-wrapper .image-caption {
  position         : absolute;
  top              : 3%;
  font-size        : 0.65em;
  color            : white;
  right            : -68%;
  text-shadow      : 1px 1px 3px black;
  transform        : rotate(90deg);
  transform-origin : left top;
  width            : 70%;
  line-height      : 100%;
}
.veranstaltungen-grid .grid-item:hover .image-wrapper {
  transform: scale(1.1);
}
.veranstaltungen-grid .grid-item a {
  text-decoration: none;
}
.veranstaltungen-grid .grid-item a:hover {
  background-color: inherit;
}

.veranstaltungen-grid .grid-item .texte-wrapper {
  /*outline: 2px solid lightpink;*/
  width: 100%;
  min-height: 40%;
  position: absolute;
  bottom: 0;
  background-image: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.7), black);
  transition: background-color 0.5s ease;
}
.veranstaltungen-grid .grid-item:hover .texte-wrapper,
.veranstaltungen-grid .grid-item:focus .texte-wrapper {
  background-image: linear-gradient(rgba(227,0,20,0), rgba(227,0,20,0.7), rgba(227,0,20,1), var(--rot));
}
.veranstaltungen-grid .grid-item .texte {
  width: 100%;
  padding : 1rem 0.75rem 0.75rem 0.75rem;
  position: absolute;
  bottom: 0;
}

.contrast-mode .veranstaltungen-grid .grid-item .texte-wrapper {
  background-image: none;
  background-color: var(--dunkelgrau);
}
.contrast-mode .veranstaltungen-grid .grid-item:hover .texte-wrapper,
.contrast-mode .veranstaltungen-grid .grid-item:focus .texte-wrapper {
  background-color: black;
}

.veranstaltungen-grid .veranst-titel {
  font-size: 1.2em;
}
.veranstaltungen-grid .veranst-datum,
.veranstaltungen-grid .veranst-ort {
  display: inline-block;
  font-size: 0.9em;
}
.veranstaltungen-grid .veranst-datum {
  margin-right: 2em;
}
