.event-map {
  max-width: 1750px;
  margin: auto;
  box-sizing: content-box;
  padding: 32px 20px 20px;
}

.event-map h2 {
  font-size: var(--type-body-l-size);
  margin: 8px 0;
}

.event-map strong {
  font-size: var(--type-heading-l-size);
}

.event-map > .event-map-wrapper {
  background-color: #EB1000;
  display: flex;
  flex-direction: column-reverse;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  color: var(--color-white);
}

.event-map > .event-map-wrapper > div {
  flex: 1 1 0;
}

.event-map .map-container {
  min-width: calc(100vw - 56px);
  display: flex;
  justify-content: center;
  height: 270px;
}

.event-map .map-container picture {
  width: 100%;
}

.event-map .map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-map .text-wrapper {
  padding: 40px 20px;
}

@media (min-width: 900px) {
  .event-map {
    padding: 24px 20px;
  }

  .event-map > .event-map-wrapper {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .event-map .map-container {
    min-width: 50%;
    height: 400px;
  }

  .event-map .text-wrapper {
    padding: 40px 0;
    padding-left: calc((100% - var(--grid-container-width) - 80px) / 2);
    padding-right: 20px;
  }
}

@media (min-width: 1440px) {
  .event-map .text-wrapper {
    padding-left: calc((100% - var(--grid-container-width)) / 2)
  } 

  .event-map .map-container {
    min-width: 50%;
    height: 560px;
  }

  .event-map strong {
    font-size: var(--type-heading-xl-size);
  }
}
