.partlocator_s3158 {
  box-sizing: border-box;
  padding-top: var(--padding_tb);
  padding-bottom: var(--padding_tb);
  overflow: hidden;
  color: #fff;
  background-color: var(--background_color, #111820);
  background-image: var(--background_image, none);
  background-position: var(--background_position, center);
  background-size: var(--background_size, cover);
  background-repeat: var(--background_repeat, no-repeat);
}

.partlocator_s3158 *,
.partlocator_s3158 *::before,
.partlocator_s3158 *::after {
  box-sizing: border-box;
}

.partlocator_s3158__inner {
  max-width: var(--custom-content-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--padding_lr);
  padding-right: var(--padding_lr);
}

.partlocator_s3158__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1320 / 600;
  min-height: 360px;
  overflow: hidden;
  isolation: isolate;
}

.partlocator_s3158__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background-image: linear-gradient(90deg, rgba(7, 11, 15, .08) 0%, rgba(14, 22, 29, .05) 46%, rgba(8, 13, 18, .12) 100%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.partlocator_s3158__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 42% 92%, rgba(63, 112, 139, .2), transparent 36%),
    linear-gradient(180deg, rgba(8, 11, 16, .06), rgba(7, 11, 16, .22));
  pointer-events: none;
}

.partlocator_s3158__infoCard {
  position: absolute;
  z-index: 4;
  left: 20px;
  top: 20px;
  width: 220px;
  margin: 0;
  padding: 25px;
  background: var(--info_card_background_color, #fff);
  color: #333;
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity .5s ease, transform .5s ease;
}

.partlocator_s3158__infoCard.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition-duration: .8s;
}

.partlocator_s3158__infoTitle {
  margin: 0;
  color: var(--info_card_title_color, #333);
  font-family: var(--info_card_title_font_family, inherit);
  font-size: var(--info_card_title_font_size, 20px);
  line-height: 1.2;
  font-weight: var(--info_card_title_font_weight, 400);
  font-style: var(--info_card_title_font_style, normal);
  text-decoration: var(--info_card_title_text_decoration, none);
}

.partlocator_s3158__infoRule {
  display: block;
  width: 24px;
  height: 1px;
  margin: 11px 0 14px;
  background: var(--info_card_divider_color, #666);
}

.partlocator_s3158__infoDesc {
  margin: 0;
  color: var(--info_card_description_color, #666);
  font-family: var(--info_card_description_font_family, inherit);
  font-size: var(--info_card_description_font_size, 14px);
  line-height: var(--info_card_description_line_spacing, 1.4);
  font-weight: var(--info_card_description_font_weight, 400);
  font-style: var(--info_card_description_font_style, normal);
  text-decoration: var(--info_card_description_text_decoration, none);
}

.partlocator_s3158__infoDesc:empty {
  display: none;
}

.partlocator_s3158__markers {
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
}

.partlocator_s3158__marker {
  width: 26px;
  height: 26px;
  position: absolute;
  left: var(--x);
  top: var(--y);
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font: inherit;
  pointer-events: auto;
  
}

.partlocator_s3158__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: color-mix(in srgb, var(--hotspot_color) 12%, transparent);
  transition: background .5s ease, box-shadow .5s ease;
}

.partlocator_s3158__dot::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--hotspot_color) 78%, #3b0b13);
  transform: translate(-50%, -50%);
  transition: background .5s ease, transform .5s ease;
}

.partlocator_s3158__dot::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--hotspot_color) 20%, transparent);
  opacity: 0;
  transform: scale(.6);
  transition: opacity .5s ease, transform .5s ease;
}

.partlocator_s3158__label {
  position: absolute;
  left: calc(100% + var(--label-x-offset, 8px));
  top: calc(50% + var(--label-y-offset, 0px));
  min-width: max-content;
  color: var(--label-color, #fff);
  font-family: var(--label-font-family, inherit);
  font-size: var(--label-font-size, 14px);
  line-height: 22px;
  font-weight: var(--label-font-weight, 400);
  font-style: var(--label-font-style, normal);
  text-decoration: var(--label-text-decoration, none);
  text-shadow: 0 2px 8px rgba(0, 0, 0, .65);
  text-align: left;
  transform: translateY(-50%) scale(1);
  transition: transform .5s ease;
  transform-origin: left center;
}

.partlocator_s3158__marker:hover .partlocator_s3158__label,
.partlocator_s3158__marker:focus-visible .partlocator_s3158__label,
.partlocator_s3158__marker.is-active .partlocator_s3158__label {
  transform: translateY(-50%) scale(1.42);
}

.partlocator_s3158__marker:hover .partlocator_s3158__dot,
.partlocator_s3158__marker:focus-visible .partlocator_s3158__dot,
.partlocator_s3158__marker.is-active .partlocator_s3158__dot {
  background: color-mix(in srgb, var(--hotspot_color) 16%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--hotspot_color) 15%, transparent);
}

.partlocator_s3158__marker:hover .partlocator_s3158__dot::before,
.partlocator_s3158__marker:focus-visible .partlocator_s3158__dot::before,
.partlocator_s3158__marker.is-active .partlocator_s3158__dot::before {
  background: var(--hotspot_color);
  transform: translate(-50%, -50%) scale(1.15);
}

.partlocator_s3158__marker:hover .partlocator_s3158__dot::after,
.partlocator_s3158__marker:focus-visible .partlocator_s3158__dot::after,
.partlocator_s3158__marker.is-active .partlocator_s3158__dot::after {
  opacity: 1;
  transform: scale(1.18);
}

.partlocator_s3158__caption {
  position: absolute;
  z-index: 4;
  left: 54px;
  bottom: 34px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  align-items: start;
  color: rgba(255, 255, 255, .5);
}

.partlocator_s3158__captionLine {
  grid-row: 1 / 3;
  width: 110px;
  height: 1px;
  margin-top: 9px;
  background: var(--theme_color);
  transform: translateX(-122px);
}

.partlocator_s3158__captionEn,
.partlocator_s3158__captionCn {
  margin: 0;
  line-height: 21px;
  white-space: nowrap;
}

.partlocator_s3158__captionEn {
  color: var(--bottom_caption_color, rgba(255, 255, 255, .58));
  font-family: var(--bottom_caption_font_family, inherit);
  font-size: var(--bottom_caption_font_size, 14px);
  font-weight: var(--bottom_caption_font_weight, 400);
  font-style: var(--bottom_caption_font_style, normal);
  text-decoration: var(--bottom_caption_text_decoration, none);
}

.partlocator_s3158__captionCn {
  color: var(--bottom_subcaption_color, rgba(255, 255, 255, .36));
  font-family: var(--bottom_subcaption_font_family, inherit);
  font-size: var(--bottom_subcaption_font_size, 14px);
  font-weight: var(--bottom_subcaption_font_weight, 400);
  font-style: var(--bottom_subcaption_font_style, normal);
  text-decoration: var(--bottom_subcaption_text_decoration, none);
}

.rtlAr .partlocator_s3158__infoCard {
  left: auto;
  right: 20px;
  transform: translateX(20px);
}

.rtlAr .partlocator_s3158__infoCard.is-visible {
  transform: translateX(0);
}

.rtlAr .partlocator_s3158__caption {
  left: auto;
  right: 54px;
  grid-template-columns: 1fr auto;
}

.rtlAr .partlocator_s3158__captionLine {
  grid-column: 2;
  transform: translateX(122px);
}

@media (max-width: 1199px) {
  .partlocator_s3158 {
    display: none !important;
  }
}
