.mapLayer{
  width: calc(var(--singleUserWindowWidth) - (var(--singleUserWindowBorderSize) * 2));
  height: calc(var(--singleUserWindowHeight) - (var(--singleUserWindowBorderSize) * 2));
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  overflow: hidden;
}

.europeMap {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%);
  width: 755px;
}

.mapHeadline {
  position: absolute;
  margin-block-start: 0px;
  top: 45px;
  left: 45px;
  color: var(--bmwi_white_100);
  font-size: var(--mainHeaderSize);
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
}

.mapCompanyContainer {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%);
  height: 650px;
  width: 755px;
  pointer-events: none;
}

.companyPointOnMap {
  z-index: 2;
  position: absolute;
  width: 20px;
  height: 26px;
  opacity: 0;
  transition: opacity 0.25s ease;
  fill: var(--bmwi_dark_blue_100);
  pointer-events: all;
}

.companyPointOnMap.mapPointFiltered {
  pointer-events: all;
  opacity: 1;
  cursor: pointer;
}

.companyPointOnMap.selected use {
    fill: var(--bmwi_orange_100);
}

.mapLayerBackground {
  background-color: var(--bmwi_blue_100);
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 18px;
  right: 18px;
  z-index: -2;
}

.mapVerticalLayout {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 185px;
  left: 960px;
  box-sizing: border-box;
  flex-wrap: nowrap;
  height: 800px;
}

.filterHeadline {
  color: var(--bmwi_blue_20);
  font-size: var(--chapterHeaderSize);
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
}

.mapFilter {
  display: flex;
  flex-direction: column;
}

.filterTitle {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.mapFilter.filter1 {
  margin-top: 45px;
}

.mapFilterIcon {
  width: 65px;
  height: 65px;
}

.mapFilterIconActive {
  display: none;
}

.filterSelected .mapFilterIconActive {
  display: block;
}

.mapFilterIconInactive {
    display: block;
}

.filterSelected .mapFilterIconInactive {
  display: none;
}

.filterName {
  color: var(--bmwi_white_100);
  font-size: var(--filterLabelSize);
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
}

.filter1Title > .filterName {
  margin:25px;
}

.filter2 > .filterName {
  margin-top: 25px;
}

.filterSelected > .filterTitle > .filterName {
  font-weight: bold;
}

.filterSelected > .filterTitle > .filter2Arrow {
  transform: rotate(90deg);
}

.subfilters * {
  transition: opacity 0.5s, max-height 0.5s linear;
}

.mapFilter {
  cursor: pointer;
}

.mapFilter.filterSelected > .subfilters * {
  max-height: 500px;
  opacity: 1;
  pointer-events: all;
}

.mapFilter:not(.filterSelected) > .subfilters * {
  max-height: 0px;
  opacity: 0;
  pointer-events: none;
}

.filterSelected > .subfilters {
  flex-direction: column;
}

.filter1 .subfilters {
  margin-left: 90px;
}

.filter2Arrow {
  width: 20px;
  height: 20px;
}

.filter2 .subfilters {
  margin-left: 35px;
}

.filter3Dot {
  height: 20px;
  width: 20px;
  background-color: var(--bmwi_white_100);
  border-radius: 50%;
  margin-right: 15px;
  visibility: hidden;
}

.filterSelected > .filterTitle > .filter3Dot {
  visibility: visible;
}

.filter2Title, .filter3Title {
  margin-top: 25px;
}

.mapCompanyOverlay {
  width: 867px;
  height: calc(100% - var(--singleUserWindowBorderSize) * 2);
  position: absolute;
  margin-left: calc(var(--singleUserWindowWidth) - 885px);
  display: flex;
  flex-direction: column;
  box-shadow: -5px 0px 5px rgba(0,75,118,0.5);
}

@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
  .mapCompanyOverlay {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background-color: #f2f3f4c0;
  }
}

@supports not ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
  .mapCompanyOverlay{
    background-color: #f2f3f4ff;
  }
}

.mapCompanyOverlay > * {
  margin-left: 65px;
  margin-right: 65px;
}

.companyOverlayLocation {
  width: 20px;
  height: 26px;
  margin-top: 96px;
  fill: var(--bmwi_orange_100);
}

.companyOverlayTitle {
  margin-top: 25px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.companyLogo img {
  height: 42px;
}

.companyOverlayName {
  color: var(--bmwi_dark_blue_100);
  font-size: 36px;
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
}

.companyOverlayLinks {
  margin-top: 25px;
  color: var(--bmwi_dark_blue_100);
  font-size: 24px;
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
}

.companyOverlayTabs {
  margin-top: 25px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.companyOverlayTabs > * {
  color: var(--bmwi_dark_blue_100);
  font-size: 24px;
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
  opacity: 0.75;
  cursor: pointer;
}

.companyOverlayTabs > *.selected {
  opacity: 1;
  text-decoration: underline;
}

.companyOverlayTabContent {
  margin-top: 25px;
}

.companyOverlayTabContent > * {
  font-size: 24px;
  font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
  font-weight: normal;
  text-align: justify;
  display: none;
  color: var(--bmwi_blue_100);
}

.contact {
  text-align: left;
}

.companyOverlayTabContent > *.selected {
    display: block;
}

.companyOverlayBottom {
    position: absolute;
    bottom: 25px;
    height: 299px;
}

.companyOverlayBottomRight {
    position: absolute;
    top: 0px;
    left: 459px;
    width: 300px;
}

.companyMediaSlider {
    width: 394px;
}

.companyMediaSlider.slider {
    height: 267px;
    --slider-margin-between-items: 0px;
    --slider-slide-width: 394px;
    --slider-slide-height: 267px;
    --slider-slide-background-color: rgba(0, 0, 0, 1);
}

.companyMediaSlider.sliderDots {
    --slider-dot-color: var(--bmwi_dark_blue_100);
}

.companyOverlayQrCode {
    width: 65px;
    height: 65px;
    margin-bottom: 65px;
    max-width: 100%;
    max-height: 100%;
}

.companyOverlayQrCode img {
    max-width: 100%;
    max-height: 100%;
}

.companyOverlayBottomRight {
    display: flex;
    flex-direction: column;
}

.companyOverlayBottomRight > * {
    font-family: 'BundesSansWeb', Verdana, Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: var(--bmwi_dark_blue_100);
}

.mapLayer p {
    margin-block-start: 0px;
    margin-block-end: 0px;
}

.mapScrollDownIcon {
    width: calc(var(--spacerUnit) * 0.75);
    height: calc(var(--spacerUnit) * 0.75);
    position: absolute;
    bottom: -30px;
    left: 200px;
}

.companyContentMask {
}

.companyContentMask.largeMask{
    height: 472px;
}

.companyContentMask.shortMask{
    height: 265px;
}

.mapScrollMask {
    height: 740px;
}

.companyContentScrollDownIcon {
    width: calc(var(--spacerUnit) * 0.75);
    height: calc(var(--spacerUnit) * 0.5);
    margin-left: auto;
    margin-right: auto;
    transition: all 0.2s ease;
    transform-origin: center;
    padding: calc(var(--spacerUnit) * 0.5);
}

.company_partner {
    text-decoration: underline;
    cursor: pointer;
}
