@charset "utf-8";

.beamline-half-page .beamline-half-content-main {
  padding: 34px 0 0;
  border-top: 1px solid #bacae0;
  min-height: 520px;
}

.beamline-half-map {
  width: 100%;
}

.beamline-half-map__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 975 / 555;
  overflow: hidden;
}

.beamline-half-map__bg,
.beamline-half-map__bg img,
.beamline-half-map__overlay {
  position: absolute;
  inset: 0;
}

.beamline-half-map__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.beamline-half-node {
  position: absolute;
  width: 31%;
}

.beamline-half-node > [frag="窗口内容"] {
  min-height: 0;
}

.beamline-half-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.beamline-half-item {
  margin: 0;
}

.beamline-half-item + .beamline-half-item {
  display: none;
}

.beamline-half-link {
  display: block;
  font-size: 18px;
  line-height: 1.35;
  text-decoration: none;
  word-break: break-word;
}

.beamline-half-link,
.beamline-half-item a {
  color: #033479;
  text-decoration: none;
}

.beamline-half-link:hover,
.beamline-half-link:focus,
.beamline-half-item a:hover,
.beamline-half-item a:focus {
  color: #0a4f9f;
}

.beamline-half-node--lt1 {
  top: 6.5%;
  left: 8.5%;
}

.beamline-half-node--lt2 {
  top: 21.8%;
  left: 2.8%;
}

.beamline-half-node--lt3 {
  top: 57.5%;
  left: 1.2%;
}

.beamline-half-node--lt4 {
  top: 73.8%;
  left: 8.4%;
}

.beamline-half-node--lt5 {
  top: 88.5%;
  left: 14%;
}

.beamline-half-node--rt1 {
  top: 9%;
  right: 14%;
  text-align: right;
}

.beamline-half-node--rt2 {
  top: 28%;
  right: 3.3%;
  text-align: right;
}

.beamline-half-node--rt3 {
  top: 57.2%;
  right: 2.2%;
  text-align: right;
}

.beamline-half-node--rt4 {
  top: 74.8%;
  right: 2.2%;
  text-align: right;
}

.beamline-half-node--rt5 {
  top: 86.8%;
  right: 11.2%;
  text-align: right;
}

@media (max-width: 1140px) {
  .beamline-half-map {
    margin-top: 28px;
  }

  .beamline-half-link {
    font-size: 16px;
  }
}

@media (max-width: 960px) {
  .beamline-half-map {
    margin-top: 24px;
  }

  .beamline-half-node {
    width: 33%;
  }

  .beamline-half-link {
    font-size: 15px;
  }
}

@media (max-width: 720px) {
  .beamline-half-map {
    margin-top: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .beamline-half-map__stage {
    min-width: 860px;
  }

  .beamline-half-link {
    font-size: 17px;
  }
}

@media (max-width: 540px) {
  .beamline-half-map__stage {
    min-width: 760px;
  }

  .beamline-half-link {
    font-size: 15px;
  }
}
