/* Overseas project portal. All rules are exclusive to the newh body scope. */
body.nh-portal {
  --nh-brand: #245b88;
  --nh-dark: #17354c;
  --nh-soft: #f4f7fa;
  --nh-ink: #233542;
  --nh-muted: #637482;
  --nh-line: #dce5ec;
  --nh-width: 1180px;
  margin: 0;
  min-width: 0;
  background: #fff;
  color: var(--nh-ink);
  font: 16px/1.75 "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
body.nh-portal *, body.nh-portal *::before, body.nh-portal *::after { box-sizing: border-box; }
body.nh-portal [hidden] { display: none !important; }
body.nh-portal a { color: var(--nh-brand); text-decoration: none; }
body.nh-portal a:hover { color: var(--nh-dark); }
body.nh-portal a:focus-visible, body.nh-portal button:focus-visible,
body.nh-portal input:focus-visible, body.nh-portal select:focus-visible,
body.nh-portal textarea:focus-visible, body.nh-portal summary:focus-visible {
  outline: 3px solid #669ac1;
  outline-offset: 4px;
}
body.nh-portal button, body.nh-portal input, body.nh-portal select, body.nh-portal textarea { font: inherit; }
body.nh-portal button, body.nh-portal input[type="submit"] { cursor: pointer; }
body.nh-portal img { max-width: 100%; }
body.nh-portal .header-container {
  position: relative;
  z-index: 10;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--nh-line);
  box-shadow: none;
  background: #fff;
}
body.nh-portal .h-s, body.nh-portal .main-container,
body.nh-portal .main-container2, body.nh-portal .header-wrap,
body.nh-portal .nh-wrap, body.nh-portal .nh-inner {
  width: min(var(--nh-width), calc(100% - 64px));
  max-width: var(--nh-width);
  margin-left: auto;
  margin-right: auto;
}
body.nh-portal .header-s { height: auto; min-height: 28px; background: var(--nh-soft); color: var(--nh-muted); }
body.nh-portal .header-s .h-s { display: flex; justify-content: space-between; min-height: 28px; }
body.nh-portal .header-info, body.nh-portal .shareto { float: none; width: auto; height: auto; }
body.nh-portal .header-info a { color: var(--nh-muted); }
body.nh-portal .header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: auto;
  min-height: 106px;
  padding: 18px 0;
}
body.nh-portal .header-wrap::after { display: none; }
body.nh-portal .header-wrap h1 {
  flex: 0 0 225px;
  float: none;
  width: 225px;
  height: auto;
  padding: 0;
  margin: 0;
  line-height: 1;
  overflow: visible;
}
body.nh-portal .header-wrap h1 a { display: block; }
body.nh-portal .header-wrap h1 img {
  display: block;
  width: 225px;
  max-width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
body.nh-portal .toggle-nav {
  float: none;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}
body.nh-portal .toggle-nav-ul { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
body.nh-portal .toggle-nav li { float: none; margin: 0; }
body.nh-portal .toggle-nav-ul a { color: var(--nh-muted); }
body.nh-portal .toggle-nav-ul a:hover { color: var(--nh-brand); }
body.nh-portal .search-2016 { display: none; }
body.nh-portal .hidden-box { z-index: 30; border: 1px solid var(--nh-line); }
body.nh-portal .nh-local-nav {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 38px;
  width: min(var(--nh-width), calc(100% - 64px));
  margin: 0 auto;
  padding: 0;
  min-height: 52px;
  list-style: none;
}
body.nh-portal .nh-local-nav ul { display: contents; list-style: none; }
body.nh-portal .nh-local-nav > div { display: flex; align-items: stretch; flex-wrap: wrap; gap: 38px; width: 100%; }
body.nh-portal .nh-local-nav li { display: flex; margin: 0; padding: 0; }
body.nh-portal .nh-local-nav a { display: inline-flex; align-items: center; min-height: 52px; padding: 8px 0; border-bottom: 3px solid transparent; color: var(--nh-ink); font-weight: 600; }
body.nh-portal .nh-local-nav a:hover, body.nh-portal .nh-local-nav a[aria-current="page"],
body.nh-portal .nh-local-nav a.is-active { border-color: var(--nh-brand); color: var(--nh-brand); }
body.nh-portal .nh-intro {
  width: 100%;
  padding: 44px max(32px, calc((100% - var(--nh-width)) / 2)) 36px;
  background: var(--nh-soft);
  border-bottom: 1px solid var(--nh-line);
}
body.nh-portal .nh-intro .nh-inner, body.nh-portal .nh-intro .nh-wrap { width: 100%; }
body.nh-portal .nh-intro .nh-eyebrow, body.nh-portal .nh-intro .nh-kicker { margin: 0 0 10px; color: var(--nh-brand); font-size: 14px; font-weight: 700; letter-spacing: .12em; }
body.nh-portal .nh-intro h1, body.nh-portal .nh-intro h2 { margin: 0 0 16px; padding: 0; height: auto; color: var(--nh-dark); font-size: clamp(29px, 3vw, 42px); font-weight: 700; line-height: 1.35; text-align: left; border: 0; }
body.nh-portal .nh-intro p { max-width: 790px; margin: 0; color: var(--nh-muted); font-size: 16px; line-height: 1.9; }
body.nh-portal .nh-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 25px; margin-top: 22px; }
body.nh-portal .nh-intro-actions a { display: inline-flex; align-items: center; min-height: 42px; font-weight: 600; }
body.nh-portal .nh-intro-actions a:first-child { padding: 8px 20px; background: var(--nh-brand); color: #fff; }
body.nh-portal .nh-intro-actions a:first-child:hover { background: var(--nh-dark); }
body.nh-portal .nh-intro .nh-primary { display: inline-flex; align-items: center; min-height: 42px; margin: 22px 24px 0 0; padding: 8px 20px; background: var(--nh-brand); color: #fff; font-size: 15px; font-weight: 600; }
body.nh-portal .nh-intro .nh-primary:hover { background: var(--nh-dark); }
body.nh-portal .nh-intro .nh-text-link { display: inline-flex; min-height: 42px; align-items: center; margin-top: 22px; font-size: 15px; font-weight: 600; }
body.nh-portal .nh-finder {
  width: min(var(--nh-width), calc(100% - 64px));
  margin: 32px auto 18px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--nh-line);
  scroll-margin-top: 20px;
}
body.nh-portal .nh-finder h2, body.nh-portal .nh-section-heading h2,
body.nh-portal .nh-projects > h2, body.nh-portal .nh-news > h2,
body.nh-portal .nh-faq > h2, body.nh-portal .nh-signup > h2 { margin: 0 0 20px; color: var(--nh-dark); font-size: 27px; line-height: 1.4; font-weight: 700; }
body.nh-portal .nh-finder-controls, body.nh-portal .nh-filter-controls,
body.nh-portal .nh-finder form { display: grid; grid-template-columns: minmax(0, 1fr) 220px auto auto; align-items: end; gap: 18px; margin: 0; }
body.nh-portal .nh-section-heading p { margin: -10px 0 18px; color: var(--nh-muted); font-size: 14px; }
body.nh-portal .nh-finder button[type="submit"] { height: 48px; padding: 9px 19px; border: 1px solid var(--nh-brand); border-radius: 0; background: var(--nh-brand); color: #fff; font-size: 15px; font-weight: 600; }
body.nh-portal .nh-finder button[type="submit"]:hover { background: var(--nh-dark); }
body.nh-portal .nh-finder label { display: block; min-width: 0; color: var(--nh-ink); font-size: 14px; font-weight: 600; }
body.nh-portal .nh-finder label > span { display: block; margin-bottom: 7px; }
body.nh-portal #nh-search, body.nh-portal #nh-country-filter {
  display: block;
  width: 100%;
  min-width: 0;
  height: 48px;
  margin: 7px 0 0;
  border: 1px solid #bccdd9;
  border-radius: 0;
  background: #fff;
  color: var(--nh-ink);
  font-size: 16px;
  padding: 10px 14px;
}
body.nh-portal #nh-search::placeholder { color: #7a8995; font-weight: 400; }
body.nh-portal #nh-clear, body.nh-portal [data-nh-clear], body.nh-portal .nh-clear {
  height: 48px;
  min-width: 80px;
  padding: 8px 18px;
  border: 1px solid #bccdd9;
  border-radius: 0;
  background: var(--nh-soft);
  color: var(--nh-brand);
  font-size: 15px;
  font-weight: 600;
}
body.nh-portal #nh-clear:hover, body.nh-portal [data-nh-clear]:hover { border-color: var(--nh-brand); background: #eaf1f7; }
body.nh-portal #nh-status { margin: 14px 0 0; color: var(--nh-muted); font-size: 14px; font-weight: 400; line-height: 1.7; }
body.nh-portal .nh-empty { margin: 0; padding: 26px 0 12px; color: var(--nh-muted); }
body.nh-portal #nh-empty { padding: 22px 0 10px; color: var(--nh-muted); }
body.nh-portal #nh-empty h3 { margin: 0 0 8px; color: var(--nh-dark); font-size: 19px; }
body.nh-portal #nh-empty p { margin: 0 0 10px; }
body.nh-portal .nh-country-nav, body.nh-portal .nh-country-links,
body.nh-portal .nh-country-quicknav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 23px;
  width: min(var(--nh-width), calc(100% - 64px));
  margin: 0 auto 30px;
  padding: 0;
  list-style: none;
  font-size: 14px;
}
body.nh-portal .nh-country-nav a, body.nh-portal .nh-country-links a,
body.nh-portal .nh-country-quicknav a { display: inline-block; padding: 3px 0; border-bottom: 1px solid transparent; }
body.nh-portal .nh-country-nav a:hover, body.nh-portal .nh-country-links a:hover,
body.nh-portal .nh-country-quicknav a:hover { border-color: var(--nh-brand); }
body.nh-portal .nh-finder .nh-country-links { width: 100%; margin: 18px 0 0; }
body.nh-portal .country {
  width: min(var(--nh-width), calc(100% - 64px));
  margin: 0 auto;
  padding: 0;
  clear: both;
  background: #fff;
  scroll-margin-top: 24px;
}
body.nh-portal .country_list { margin: 0 0 36px; padding: 0; background: none; border: 0; scroll-margin-top: 24px; }
body.nh-portal .country_list .c-bj { position: static; float: none; width: auto; height: auto; margin: 0 0 20px; padding: 0 0 12px; background: none; border-bottom: 1px solid var(--nh-line); }
body.nh-portal .country_list h2 { width: auto; height: auto; margin: 0; padding: 0; background: none; color: var(--nh-dark); font-size: 24px; line-height: 1.5; text-align: left; }
body.nh-portal .country_list h2 a { display: inline; padding: 0; color: var(--nh-dark); font-weight: 700; }
body.nh-portal .country_list .school-icon { float: none; width: 100%; height: auto; margin: 0; padding: 0; background: none; }
body.nh-portal .country_list .school-icon > ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 30px; width: 100%; margin: 0; padding: 0; list-style: none; }
body.nh-portal .country_list .school-icon > ul > li { position: relative; float: none; width: auto; height: auto; min-width: 0; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible; }
body.nh-portal .school-icon > ul > li > a { display: block; height: 100%; padding: 0 0 20px; color: var(--nh-ink); border-bottom: 1px solid var(--nh-line); }
body.nh-portal .school-icon > ul > li > a:hover { border-color: var(--nh-brand); }
body.nh-portal .school-icon .sch-img { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 92px; margin: 0 0 13px; padding: 0; background: none; }
body.nh-portal .school-icon .sch-img img { display: block; width: auto; max-width: 100%; height: auto; max-height: 82px; object-fit: contain; transition: transform .18s ease; }
body.nh-portal .school-icon a:hover .sch-img img { transform: translateY(-2px); }
body.nh-portal .nh-school-name { display: block; margin: 0 0 8px; padding: 0; color: var(--nh-brand); font-size: 17px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
body.nh-portal .school-icon .text { position: static; display: block; width: auto; height: auto; margin: 0; padding: 0; background: none; color: var(--nh-muted); font-size: 13px; line-height: 1.8; text-align: left; overflow: visible; white-space: normal; opacity: 1; transform: none; }
body.nh-portal .nh-projects, body.nh-portal .nh-news, body.nh-portal .nh-faq,
body.nh-portal .nh-signup { width: min(var(--nh-width), calc(100% - 64px)); margin: 52px auto; min-width: 0; scroll-margin-top: 24px; }
body.nh-portal .nh-projects-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
body.nh-portal .nh-project-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
body.nh-portal .nh-project-list > a { display: block; min-width: 0; }
body.nh-portal .nh-project-list > a > span { display: block; margin: 14px 0 0; font-size: 19px; font-weight: 600; line-height: 1.65; }
body.nh-portal .nh-projects article, body.nh-portal .nh-projects .nh-project { min-width: 0; margin: 0; padding: 0; }
body.nh-portal .nh-projects figure { margin: 0; }
body.nh-portal .nh-projects a { display: block; }
body.nh-portal .nh-projects img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
body.nh-portal .nh-projects h3, body.nh-portal .nh-projects figcaption { margin: 14px 0 0; color: var(--nh-brand); font-size: 19px; font-weight: 600; line-height: 1.65; }
body.nh-portal .nh-projects p { margin: 7px 0 0; color: var(--nh-muted); font-size: 14px; }
body.nh-portal .nh-news ul { margin: 0; padding: 0; list-style: none; }
body.nh-portal .nh-news li { display: flex; align-items: center; min-width: 0; gap: 20px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--nh-line); }
body.nh-portal .nh-news li a { flex: 1; display: block; min-width: 0; color: var(--nh-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.nh-portal .nh-news li a:hover { color: var(--nh-brand); }
body.nh-portal .nh-news li time, body.nh-portal .nh-news li > span { flex: 0 0 auto; color: var(--nh-muted); font-size: 13px; }
body.nh-portal .nh-news .bd_news { position: relative; float: none; width: 100%; height: auto; margin: 0; padding: 0; border: 0; background: #fff; }
body.nh-portal .nh-news .bd_news h3 { height: auto; margin: 0 0 20px; padding: 0; color: var(--nh-dark); font-size: 27px; line-height: 1.4; font-weight: 700; }
body.nh-portal .nh-news .bd_news .more { position: absolute; top: 5px; right: 0; margin: 0; padding: 0; font-size: 13px; }
body.nh-portal .nh-news .bd_news li { width: 100%; max-width: 100%; }
body.nh-portal .nh-faq details { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--nh-line); }
body.nh-portal .nh-faq summary { cursor: pointer; color: var(--nh-dark); font-size: 17px; font-weight: 600; line-height: 1.7; }
body.nh-portal .nh-faq details p { max-width: 930px; margin: 13px 0 0; color: var(--nh-muted); }
body.nh-portal .nh-signup { padding: 30px; border-top: 3px solid var(--nh-brand); background: var(--nh-soft); }
body.nh-portal .nh-signup h2, body.nh-portal .nh-signup h3 { margin: 0 0 14px; color: var(--nh-dark); font-size: 25px; font-weight: 700; line-height: 1.45; }
body.nh-portal .nh-signup > p { margin: 0 0 22px; color: var(--nh-muted); font-size: 14px; }
body.nh-portal .nh-signup form { width: 100%; max-width: 880px; margin: 0; padding: 0; }
body.nh-portal .nh-signup { display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr); gap: 44px; }
body.nh-portal .nh-signup > div > p { margin: 0 0 18px; color: var(--nh-muted); font-size: 14px; }
body.nh-portal .nh-signup > div > a[href^="tel:"] { display: inline-block; font-size: 24px; font-weight: 700; }
body.nh-portal .nh-signup .nh-signup-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 17px 20px; }
body.nh-portal .nh-signup .nh-signup-form > label { min-width: 0; margin: 0; }
body.nh-portal .nh-signup .nh-signup-form > label > input, body.nh-portal .nh-signup .nh-signup-form > label > textarea { margin-top: 7px !important; }
body.nh-portal .nh-signup .nh-full { grid-column: 1 / -1; }
body.nh-portal .nh-signup .nh-signup-form > button[type="submit"] { grid-column: 1 / -1; justify-self: start; }
body.nh-portal .nh-kicker { display: block; margin: 0 0 10px; color: var(--nh-brand); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
body.nh-portal .nh-signup em { color: #af332e; font-style: normal; }
body.nh-portal .nh-signup small { color: var(--nh-muted); font-size: 12px; font-weight: 400; }
body.nh-portal .nh-signup table { width: 100%; max-width: 100%; border: 0; }
body.nh-portal .nh-signup .nh-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
body.nh-portal .nh-signup .nh-form-row { min-width: 0; margin: 0 0 18px; }
body.nh-portal .nh-signup .nh-form-wide { grid-column: 1 / -1; }
body.nh-portal .nh-signup label { display: block; margin: 0 0 7px; color: var(--nh-ink); font-size: 14px; font-weight: 600; }
body.nh-portal .nh-signup input:not([type="hidden"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body.nh-portal .nh-signup select, body.nh-portal .nh-signup textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1px solid #bccdd9; border-radius: 0; background: #fff; color: var(--nh-ink); font-size: 16px; line-height: 1.5; box-shadow: none; }
body.nh-portal .nh-signup textarea { min-height: 100px; resize: vertical; }
body.nh-portal .nh-signup input[type="submit"], body.nh-portal .nh-signup button[type="submit"] { min-height: 46px; padding: 10px 28px; border: 0; border-radius: 0; background: var(--nh-brand); color: #fff; font-size: 16px; font-weight: 600; }
body.nh-portal .nh-signup input[type="submit"]:hover, body.nh-portal .nh-signup button[type="submit"]:hover { background: var(--nh-dark); }
body.nh-portal .nh-signup .nh-form-note { margin: 12px 0 0; color: var(--nh-muted); font-size: 13px; line-height: 1.7; }
body.nh-portal.nh-article:has(.content_left) .nh-signup,
body.nh-portal.nh-article:has(.news_h1) .nh-signup {
  width: min(calc(var(--nh-width) - 302px), calc(100% - 366px));
  margin-left: max(32px, calc((100% - var(--nh-width)) / 2));
  margin-right: auto;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
/* Original query and duplicate registration interfaces remain intact but are not displayed. */
body.nh-portal .down-open, body.nh-portal .frmsubmit,
body.nh-portal .fixed-bottom:not(.nh-mobile), body.nh-portal #fixed,
body.nh-portal #head { display: none !important; }
/* School profiles and full course tables. */
body.nh-portal .position, body.nh-portal .current-place { width: min(var(--nh-width), calc(100% - 64px)); height: auto; margin: 22px auto; padding: 0; color: var(--nh-muted); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
body.nh-portal .position span, body.nh-portal .current-place span { margin: 0 7px; }
body.nh-portal .m-position { display: none !important; }
body.nh-portal [class^="c-big-image"], body.nh-portal [class*=" c-big-image"] { width: 100%; max-width: 100%; height: 200px; background-size: cover; background-position: center; }
body.nh-portal .course-content { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 32px; width: min(var(--nh-width), calc(100% - 64px)); height: auto; margin: 26px auto 44px; padding: 0; }
body.nh-portal .course-content::before, body.nh-portal .course-content::after { display: none; content: none; }
body.nh-portal .course-content > .course-left { grid-column: 1; grid-row: 1; }
body.nh-portal .course-content > .course-right { grid-column: 2; grid-row: 1; }
body.nh-portal .course-left, body.nh-portal .course-right { float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
body.nh-portal .brief { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: start; gap: 28px; width: 100%; height: auto; min-height: 0; margin: 0 0 30px; padding: 0 0 28px; border-bottom: 1px solid var(--nh-line); background: #fff; }
body.nh-portal .brief > img { float: none; display: block; width: 150px; max-width: 100%; height: auto; max-height: none; margin: 0; padding: 0; object-fit: contain; }
body.nh-portal .brief-txt { position: static; float: none; width: auto; height: auto; margin: 0; padding: 0; color: var(--nh-muted); font-size: 14px; line-height: 1.9; }
body.nh-portal .brief-txt p { margin: 0 0 12px; padding: 0; }
body.nh-portal .brief-txt span { display: inline-block; color: var(--nh-dark); background: var(--nh-soft); border-radius: 0; padding: 0 7px; font-weight: 600; margin-right: 12px; }
body.nh-portal .brief-txt .condition { position: static; left: auto; top: auto; width: auto; }
body.nh-portal .major { width: 100%; margin: 0; padding: 0; overflow: visible; }
body.nh-portal .nh-page-heading { width: min(var(--nh-width), calc(100% - 64px)); margin: 24px auto; padding: 0; }
body.nh-portal .nh-page-heading h1 { margin: 0 0 10px; padding: 0; height: auto; color: var(--nh-dark); font-size: 32px; line-height: 1.45; }
body.nh-portal .nh-page-heading p { margin: 0; color: var(--nh-muted); font-size: 14px; }
body.nh-portal .major h1, body.nh-portal .major > p { margin: 0 0 20px; padding: 0; border: 0; height: auto; color: var(--nh-dark); font-size: 24px; line-height: 1.55; text-align: left; }
body.nh-portal .major h1 p { margin: 0; padding: 0; border: 0; background: none; color: var(--nh-dark); }
body.nh-portal .major h1:empty { display: none; }
body.nh-portal .major table { width: 100% !important; max-width: 100%; margin: 0; border-collapse: collapse; border: 0; table-layout: fixed; background: #fff; }
body.nh-portal .major th, body.nh-portal .major td { height: auto; padding: 13px 7px; border: 0; border-bottom: 1px solid var(--nh-line); color: var(--nh-ink); font-size: 13px; line-height: 1.75; text-align: left; vertical-align: top; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
body.nh-portal .major th { color: var(--nh-dark); font-size: 12px; font-weight: 600; background: var(--nh-soft); }
body.nh-portal .major th:first-child { width: 34%; }
body.nh-portal .major th:not(:first-child) { width: 11%; }
body.nh-portal .major .t-name, body.nh-portal .major .t-name a { width: auto; max-width: 100%; height: auto; line-height: 1.75; text-overflow: clip; white-space: normal; overflow: visible; }
body.nh-portal .major .t-name a { display: block; color: var(--nh-brand); font-weight: 600; }
body.nh-portal .major .t-download a, body.nh-portal .major .t-bm a { display: inline-block; min-height: 30px; }
body.nh-portal .course-right .research, body.nh-portal .category_right .tuijian,
body.nh-portal .category_right .remen, body.nh-portal .content-right .right_mod { width: 100%; margin: 0 0 26px; padding: 20px 18px; border: 0; border-top: 2px solid var(--nh-brand); background: var(--nh-soft); }
body.nh-portal .course-right h2, body.nh-portal .category_right h2,
body.nh-portal .content-right .right_mod h2 { width: auto; height: auto; margin: 0 0 13px; padding: 0; background: none; color: var(--nh-dark); font-size: 17px; line-height: 1.6; font-weight: 600; }
body.nh-portal .course-right .research h2 > p { float: none; clear: both; width: auto; height: auto; margin: 0; padding: 0; border: 0; color: inherit; font: inherit; line-height: inherit; }
body.nh-portal .course-right li, body.nh-portal .category_right li,
body.nh-portal .content-right .tuijian li { width: auto; height: auto; margin: 0; padding: 9px 0; border: 0; border-bottom: 1px solid var(--nh-line); font-size: 13px; line-height: 1.75; white-space: normal; text-overflow: clip; overflow: visible; }
body.nh-portal .course-right ul, body.nh-portal .category_right ul { margin: 0; padding: 0; list-style: none; }
body.nh-portal .classify a { width: auto; max-width: 100%; margin: 0 10px 8px 0; padding: 0; border: 0; background: none; text-align: left; font-size: 13px; line-height: 1.8; }
body.nh-portal .otherList { width: min(var(--nh-width), calc(100% - 64px)); height: auto; margin: 32px auto; padding: 0; }
body.nh-portal .otherList .listInner { display: block; width: 100%; height: auto; }
body.nh-portal .otherList .listInner > h2 { margin: 0 0 20px; padding: 0; color: var(--nh-dark); font-size: 22px; line-height: 1.5; }
body.nh-portal .otherList .listInner > ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; width: 100%; height: auto; margin: 0; padding: 0; list-style: none; overflow: visible; }
body.nh-portal .otherList .listInner > ul > li { float: none; width: auto; height: auto; min-width: 0; margin: 0; padding: 0; }
body.nh-portal .otherList .listInner > ul > li > a { display: block; width: 100%; height: auto; margin: 0; padding: 0; border: 0; }
body.nh-portal .otherList .listInner > div, body.nh-portal .otherList .listInner > li { float: none; width: auto; height: auto; min-width: 0; margin: 0; }
body.nh-portal .otherList img { max-width: 100%; height: auto; }
/* Course briefs use their real underscore selectors; subject pages use hyphens. */
body.nh-portal #container { width: 100%; max-width: 100%; margin: 0; padding: 0; background: #fff; }
body.nh-portal #main { display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: start; gap: 0 32px; width: min(var(--nh-width), calc(100% - 64px)); max-width: var(--nh-width); margin: 0 auto 44px; padding: 0; background: #fff; }
body.nh-portal #main > .current-place { grid-column: 1 / -1; width: 100%; }
body.nh-portal #main > .clear { display: none; }
body.nh-portal .content_left { float: none; width: auto; min-width: 0; margin: 0; padding: 0; border: 0; background: #fff; }
body.nh-portal .category_right { float: none; width: auto; min-width: 0; margin: 0; padding: 0; }
body.nh-portal .content_title { width: 100%; height: auto; margin: 0 0 24px; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--nh-line); color: var(--nh-dark); font-size: 29px; line-height: 1.55; font-weight: 700; text-align: left; overflow-wrap: anywhere; }
body.nh-portal .content_title h1 { margin: 0; padding: 0; height: auto; color: var(--nh-dark); font-size: inherit; line-height: inherit; font-weight: inherit; }
body.nh-portal .content_left > .content { width: 100%; max-width: 100%; height: auto; margin: 0; padding: 0; color: var(--nh-ink); }
body.nh-portal #MyContent { width: 100% !important; max-width: 100%; height: auto; margin: 0; padding: 0; font-size: 16px; line-height: 1.9; color: var(--nh-ink); overflow-wrap: anywhere; overflow-x: auto; }
body.nh-portal #MyContent img, body.nh-portal .con img { display: block; margin-left: auto; margin-right: auto; max-width: 100% !important; height: auto !important; object-fit: contain; }
body.nh-portal #MyContent p, body.nh-portal #MyContent div { max-width: 100% !important; }
body.nh-portal #MyContent table { max-width: 100%; }
body.nh-portal #MyContent td, body.nh-portal #MyContent th { overflow-wrap: anywhere; }
body.nh-portal #MyContent iframe, body.nh-portal #MyContent video { max-width: 100% !important; }
body.nh-portal .next_pre { width: 100%; height: auto; margin: 16px 0; padding: 0; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
body.nh-portal .content_left > .right_mod { width: 100%; height: auto; margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--nh-line); background: #fff; }
body.nh-portal .content_left > .right_mod h2 { margin: 0 0 12px; color: var(--nh-dark); font-size: 17px; }
body.nh-portal .nh-subject > .content,
body.nh-portal.nh-subject > .content { display: flex; align-items: flex-start; gap: 32px; width: min(var(--nh-width), calc(100% - 64px)); margin: 0 auto 44px; padding: 0; background: #fff; }
body.nh-portal.nh-article > .content:has(> .news_h1) { display: flex; align-items: flex-start; gap: 32px; width: min(var(--nh-width), calc(100% - 64px)); margin: 0 auto 44px; padding: 0; background: #fff; }
body.nh-portal.nh-article > .content:has(> .news_h1)::before,
body.nh-portal.nh-article > .content:has(> .news_h1)::after,
body.nh-portal.nh-subject > .content::before,
body.nh-portal.nh-subject > .content::after { display: none; content: none; }
body.nh-portal.nh-article > .content > .news_h1 { flex: 1; float: none; width: auto; min-width: 0; margin: 0; padding: 0; overflow: visible; background: #fff; }
body.nh-portal.nh-article > .content > .content-right { flex: 0 0 270px; float: none; width: 270px; min-width: 0; margin: 0; padding: 0; }
body.nh-portal.nh-subject > .content > .content-left { flex: 1; float: none; width: auto; min-width: 0; margin: 0; padding: 0; overflow: visible; background: #fff; }
body.nh-portal.nh-subject > .content > .content-right { flex: 0 0 270px; float: none; width: 270px; min-width: 0; margin: 0; padding: 0; }
body.nh-portal.nh-subject .news_h1 > h1 { height: auto; margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid var(--nh-line); color: var(--nh-dark); font-size: 29px; line-height: 1.55; text-align: left; }
body.nh-portal.nh-article .news_h1 > h1 { height: auto; margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid var(--nh-line); color: var(--nh-dark); font-size: 29px; line-height: 1.55; text-align: left; }
body.nh-portal.nh-article .news_h1 .con { width: 100%; padding: 0; color: var(--nh-ink); line-height: 1.9; }
body.nh-portal.nh-subject .con { width: 100%; padding: 0; color: var(--nh-ink); line-height: 1.9; }
body.nh-portal.nh-subject .news_list { height: auto; padding: 0; list-style: none; }
body.nh-portal.nh-subject .news_list h3 { height: auto; margin: 0 0 20px; padding: 0; color: var(--nh-dark); font-size: 27px; line-height: 1.5; }
body.nh-portal.nh-subject .news_list li { width: 100%; height: auto; margin: 0; padding: 17px 0; border-bottom: 1px solid var(--nh-line); color: var(--nh-ink); font-size: 17px; line-height: 1.6; list-style: none; white-space: normal; }
body.nh-portal .footer, body.nh-portal .footer-info, body.nh-portal .footer-link { width: 100%; min-width: 0; max-width: 100%; height: auto; background: var(--nh-dark) !important; color: #e7eff5 !important; box-shadow: none; }
body.nh-portal .footer { margin: 52px 0 0; padding: 0; }
body.nh-portal .footer-info { padding: 34px 0 28px; }
body.nh-portal .footer-info > .main-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
body.nh-portal .footer-info .columns { float: none; width: auto; height: auto; min-width: 0; margin: 0; padding: 0; color: #dce6ed; }
body.nh-portal .footer h3 { margin: 0 0 14px; padding: 0; color: #fff !important; font-size: 16px; line-height: 1.7; font-weight: 600; }
body.nh-portal .footer p, body.nh-portal .footer li { color: #dce6ed !important; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
body.nh-portal .footer ul { margin: 0; padding: 0; list-style: none; }
body.nh-portal .footer a { color: #e7eff5 !important; font-size: 13px; }
body.nh-portal .footer a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
body.nh-portal .footer-link { padding: 20px 0 26px; border-top: 1px solid #375367; }
body.nh-portal .copyright { width: 100%; height: auto; margin: 0; padding: 0; color: #dce6ed !important; font-size: 12px; line-height: 1.85; text-align: left; overflow-wrap: anywhere; }
body.nh-portal .copyright p { font-size: 12px; }
body.nh-portal .copyright span { display: inline; margin: 0 16px 0 0; }
body.nh-portal .nh-mobile { display: none; }
@media (min-width: 1001px) {
  body.nh-portal .nh-intro > * { animation: nh-enter .35s ease both; }
  body.nh-portal .nh-intro h2 { animation-delay: .035s; }
  body.nh-portal .nh-intro-actions { animation-delay: .07s; }
}
@media (max-width: 1100px) {
  body.nh-portal .country_list .school-icon > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  body.nh-portal .course-content, body.nh-portal #main { grid-template-columns: minmax(0, 1fr) 230px; gap: 0 24px; }
  body.nh-portal.nh-subject > .content { gap: 24px; }
  body.nh-portal.nh-subject > .content > .content-right { flex-basis: 230px; width: 230px; }
  body.nh-portal.nh-article > .content:has(> .news_h1) { gap: 24px; }
  body.nh-portal.nh-article > .content > .content-right { flex-basis: 230px; width: 230px; }
  body.nh-portal .brief { grid-template-columns: 115px minmax(0, 1fr); gap: 20px; }
  body.nh-portal .brief > img { width: 115px; }
  body.nh-portal.nh-article:has(.content_left) .nh-signup,
  body.nh-portal.nh-article:has(.news_h1) .nh-signup { width: min(calc(var(--nh-width) - 254px), calc(100% - 318px)); }
}
@media (max-width: 900px) {
  body.nh-portal .header-wrap { gap: 18px; min-height: 94px; padding: 12px 0; }
  body.nh-portal .toggle-nav-ul { max-width: 450px; gap: 7px 12px; }
  body.nh-portal .course-content, body.nh-portal #main { grid-template-columns: minmax(0, 1fr); }
  body.nh-portal .course-right, body.nh-portal .category_right { display: none; }
  body.nh-portal.nh-subject > .content > .content-right { display: none; }
  body.nh-portal.nh-article > .content > .content-right { display: none; }
  body.nh-portal .nh-signup { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  body.nh-portal.nh-article:has(.content_left) .nh-signup,
  body.nh-portal.nh-article:has(.news_h1) .nh-signup { width: min(var(--nh-width), calc(100% - 64px)); }
  body.nh-portal .brief { grid-template-columns: 145px minmax(0, 1fr); gap: 24px; }
  body.nh-portal .brief > img { width: 145px; }
}
@media (max-width: 640px) {
  body.nh-portal { font-size: 15px; padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  body.nh-portal .h-s, body.nh-portal .main-container,
  body.nh-portal .main-container2, body.nh-portal .header-wrap,
  body.nh-portal .nh-wrap, body.nh-portal .nh-inner,
  body.nh-portal .nh-local-nav, body.nh-portal .nh-finder,
  body.nh-portal .nh-country-nav, body.nh-portal .nh-country-links,
  body.nh-portal .nh-country-quicknav, body.nh-portal .country,
  body.nh-portal .nh-projects, body.nh-portal .nh-news, body.nh-portal .nh-faq,
  body.nh-portal .nh-signup, body.nh-portal .position,
  body.nh-portal .current-place, body.nh-portal .course-content,
  body.nh-portal .nh-page-heading, body.nh-portal.nh-article > .content:has(> .news_h1),
  body.nh-portal #main, body.nh-portal .otherList,
  body.nh-portal.nh-subject > .content { width: calc(100% - 32px); }
  body.nh-portal .header-s, body.nh-portal .toggle-nav, body.nh-portal .search-2016 { display: none !important; }
  body.nh-portal .header-wrap { justify-content: flex-start; min-height: 79px; gap: 0; padding: 10px 0; }
  body.nh-portal .header-wrap h1 { flex-basis: 190px; width: 190px; }
  body.nh-portal .header-wrap h1 img { width: 190px; }
  body.nh-portal.nh-home .header-wrap,
  body.nh-portal.nh-subject .header-wrap,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap { position: relative; width: calc(100% - 32px) !important; margin-left: auto !important; margin-right: auto !important; padding: 10px 0; }
  body.nh-portal.nh-home .header-wrap h1,
  body.nh-portal.nh-subject .header-wrap h1,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1,
  body.nh-portal.nh-home .header-wrap h1 a,
  body.nh-portal.nh-subject .header-wrap h1 a,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1 a,
  body.nh-portal.nh-home .header-wrap h1 img,
  body.nh-portal.nh-subject .header-wrap h1 img,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1 img { position: static !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; transform: none !important; margin: 0 !important; }
  body.nh-portal.nh-home .header-wrap h1,
  body.nh-portal.nh-subject .header-wrap h1,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1 { flex: 0 0 190px; width: 190px !important; height: auto !important; }
  body.nh-portal.nh-home .header-wrap h1 a,
  body.nh-portal.nh-subject .header-wrap h1 a,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1 a { display: block; width: 190px; height: auto; }
  body.nh-portal.nh-home .header-wrap h1 img,
  body.nh-portal.nh-subject .header-wrap h1 img,
  body.nh-portal.nh-article:has(.news_h1) .header-wrap h1 img { display: block; width: 190px !important; height: auto !important; object-fit: contain; }
  body.nh-portal .nh-local-nav { justify-content: space-between; gap: 8px; min-height: 47px; }
  body.nh-portal .nh-local-nav > div { justify-content: space-between; flex-wrap: nowrap; gap: 7px; }
  body.nh-portal .nh-local-nav a { min-height: 47px; padding: 9px 0; font-size: 13px; border-bottom-width: 2px; white-space: nowrap; }
  body.nh-portal .nh-intro { padding: 24px 16px 25px; }
  body.nh-portal .nh-intro .nh-inner, body.nh-portal .nh-intro .nh-wrap { width: 100%; }
  body.nh-portal .nh-intro h1, body.nh-portal .nh-intro h2 { margin-bottom: 12px; font-size: 29px; line-height: 1.4; }
  body.nh-portal .nh-intro .nh-eyebrow, body.nh-portal .nh-intro .nh-kicker { margin-bottom: 8px; font-size: 12px; }
  body.nh-portal .nh-intro p { font-size: 14px; line-height: 1.8; }
  body.nh-portal .nh-intro-actions { gap: 12px 18px; margin-top: 18px; font-size: 13px; }
  body.nh-portal .nh-intro-actions a { min-height: 40px; }
  body.nh-portal .nh-intro-actions a:first-child { padding: 7px 15px; }
  body.nh-portal .nh-intro .nh-primary { min-height: 40px; margin: 18px 17px 0 0; padding: 7px 15px; font-size: 13px; }
  body.nh-portal .nh-intro .nh-text-link { min-height: 40px; margin-top: 18px; font-size: 13px; }
  body.nh-portal .nh-finder { margin-top: 25px; margin-bottom: 14px; padding-bottom: 16px; }
  body.nh-portal .nh-finder h2, body.nh-portal .nh-section-heading h2,
  body.nh-portal .nh-projects > h2, body.nh-portal .nh-news > h2,
  body.nh-portal .nh-faq > h2 { margin-bottom: 16px; font-size: 23px; }
  body.nh-portal .nh-finder-controls, body.nh-portal .nh-filter-controls,
  body.nh-portal .nh-finder form { grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  body.nh-portal .nh-finder-controls > label:first-child,
  body.nh-portal .nh-filter-controls > label:first-child,
  body.nh-portal .nh-finder form > label:first-child { grid-column: 1 / -1; }
  body.nh-portal #nh-search, body.nh-portal #nh-country-filter { height: 46px; margin-top: 5px; padding: 9px 11px; }
  body.nh-portal #nh-clear, body.nh-portal [data-nh-clear], body.nh-portal .nh-clear { min-width: 0; height: 46px; padding: 8px 10px; }
  body.nh-portal .nh-finder button[type="submit"] { height: 46px; padding: 8px 12px; font-size: 13px; }
  body.nh-portal .nh-finder form #nh-clear { font-size: 13px; }
  body.nh-portal #nh-status { font-size: 12px; margin-top: 11px; }
  body.nh-portal .nh-country-nav, body.nh-portal .nh-country-links,
  body.nh-portal .nh-country-quicknav { gap: 5px 17px; margin-bottom: 25px; font-size: 13px; }
  body.nh-portal .nh-finder .nh-country-links { width: 100%; margin: 16px 0 0; }
  body.nh-portal .country_list { margin-bottom: 30px; }
  body.nh-portal .country_list .c-bj { margin-bottom: 16px; padding-bottom: 9px; }
  body.nh-portal .country_list h2 { font-size: 22px; }
  body.nh-portal .country_list .school-icon > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; }
  body.nh-portal .school-icon .sch-img { height: 72px; margin-bottom: 10px; }
  body.nh-portal .school-icon .sch-img img { max-height: 65px; }
  body.nh-portal .nh-school-name { margin-bottom: 7px; font-size: 15px; line-height: 1.6; }
  body.nh-portal .school-icon .text { font-size: 12px; line-height: 1.75; }
  body.nh-portal .school-icon > ul > li > a { padding-bottom: 14px; }
  body.nh-portal .nh-projects, body.nh-portal .nh-news, body.nh-portal .nh-faq,
  body.nh-portal .nh-signup { margin-top: 34px; margin-bottom: 34px; }
  body.nh-portal .nh-projects-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body.nh-portal .nh-project-list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body.nh-portal .nh-project-list > a > span { margin-top: 12px; font-size: 17px; }
  body.nh-portal .nh-projects h3, body.nh-portal .nh-projects figcaption { margin-top: 12px; font-size: 17px; }
  body.nh-portal .nh-news li { gap: 12px; padding: 13px 0; font-size: 14px; }
  body.nh-portal .nh-news li time, body.nh-portal .nh-news li > span { font-size: 11px; }
  body.nh-portal .nh-news .bd_news h3 { font-size: 23px; }
  body.nh-portal .nh-faq summary { font-size: 15px; }
  body.nh-portal .nh-faq details p { font-size: 14px; line-height: 1.8; }
  body.nh-portal .nh-signup { padding: 22px 16px; }
  body.nh-portal.nh-article:has(.content_left) .nh-signup,
  body.nh-portal.nh-article:has(.news_h1) .nh-signup { width: calc(100% - 32px); margin-left: 16px; }
  body.nh-portal .nh-signup h2, body.nh-portal .nh-signup h3 { font-size: 22px; }
  body.nh-portal .nh-signup .nh-form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.nh-portal .nh-signup .nh-form-row { margin-bottom: 16px; }
  body.nh-portal .nh-signup form { max-width: 100%; }
  body.nh-portal .nh-signup .nh-signup-form { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.nh-portal .nh-signup input[type="submit"], body.nh-portal .nh-signup button[type="submit"] { width: 100%; }
  body.nh-portal .position, body.nh-portal .current-place { margin-top: 16px; margin-bottom: 18px; font-size: 12px; }
  body.nh-portal [class^="c-big-image"], body.nh-portal [class*=" c-big-image"] { height: 145px; }
  @media (max-width: 639px) { body.nh-portal.nh-school [class^="c-big-image"], body.nh-portal.nh-school [class*=" c-big-image"] { height: 0; } }
  body.nh-portal .course-content { display: block; margin-top: 0; margin-bottom: 30px; }
  body.nh-portal .brief { display: block; margin-bottom: 24px; padding-bottom: 18px; }
  body.nh-portal .brief > img { width: auto; max-width: 170px; max-height: 108px; margin: 0 0 18px; }
  body.nh-portal .brief > img, body.nh-portal .brief-txt p:last-child { display: block !important; }
  body.nh-portal .brief-txt { font-size: 14px; }
  body.nh-portal .brief-txt p { margin-bottom: 10px; }
  body.nh-portal .major h1, body.nh-portal .major > p { margin-bottom: 16px; font-size: 22px; }
  body.nh-portal .major table, body.nh-portal .major tbody { display: block; width: 100% !important; }
  body.nh-portal .major tr { display: block; width: 100%; margin: 0 0 20px; padding: 13px 0 16px; border-top: 2px solid var(--nh-brand); border-bottom: 1px solid var(--nh-line); }
  body.nh-portal .major tr:has(th) { display: none; }
  body.nh-portal .major th { display: none; }
  body.nh-portal .major td { display: block !important; width: 100% !important; max-width: 100%; padding: 4px 0; border: 0; color: var(--nh-ink); font-size: 14px; line-height: 1.75; }
  body.nh-portal .major .t-name { margin-bottom: 6px; padding-bottom: 8px; font-size: 16px; }
  body.nh-portal .major .t-name a { font-size: 16px; }
  body.nh-portal .major td:not(.t-name)::before { display: inline-block; min-width: 68px; margin-right: 6px; color: var(--nh-muted); font-size: 13px; }
  body.nh-portal .major .t-domain::before { content: "专业"; }
  body.nh-portal .major .class-fee::before, body.nh-portal .major .t-fee::before { content: "学费"; }
  body.nh-portal .major .t-length::before { content: "学制"; }
  body.nh-portal .major .t-place::before { content: "地点"; }
  body.nh-portal .major .t-download::before { content: "资料"; }
  body.nh-portal .major .t-bm::before { content: "报名"; }
  body.nh-portal .otherList .listInner > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  body.nh-portal #main { display: block; }
  body.nh-portal #main > .current-place { width: 100%; }
  body.nh-portal .content_title, body.nh-portal.nh-subject .news_h1 > h1 { margin-bottom: 20px; padding-bottom: 17px; font-size: 23px; line-height: 1.55; }
  body.nh-portal.nh-article .news_h1 > h1 { margin-bottom: 20px; padding-bottom: 17px; font-size: 23px; line-height: 1.55; }
  body.nh-portal .nh-page-heading { margin-top: 18px; margin-bottom: 21px; }
  body.nh-portal .nh-page-heading h1 { font-size: 25px; }
  body.nh-portal #MyContent { font-size: 15px; line-height: 1.9; }
  body.nh-portal.nh-subject > .content { display: block; }
  body.nh-portal.nh-article > .content:has(> .news_h1) { display: block; }
  body.nh-portal.nh-subject .news_list h3 { font-size: 23px; }
  body.nh-portal.nh-subject .news_list li { padding: 15px 0; font-size: 15px; }
  body.nh-portal .footer { margin-top: 34px; }
  body.nh-portal .footer-info { padding: 26px 0; }
  body.nh-portal .footer-info > .main-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  body.nh-portal .footer h3 { margin-bottom: 10px; font-size: 15px; }
  body.nh-portal .footer-link { padding-top: 17px; padding-bottom: 20px; }
  body.nh-portal .copyright span { display: block; margin: 0 0 4px; }
  body.nh-portal #showpic, body.nh-portal #newBridge,
  body.nh-portal #nb_icon_wrap, body.nh-portal [id^="nb_icon_wrap"],
  body.nh-portal .nb-icon-wrap, body.nh-portal .embed-icon,
  body.nh-portal #tq_float_container, body.nh-portal #tq_invit_container,
  body.nh-portal #slider-mask, body.nh-portal #aff-im-root { display: none !important; }
  body.nh-portal .nh-mobile {
    position: fixed;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc(58px + env(safe-area-inset-bottom));
    padding: 0 0 env(safe-area-inset-bottom);
    margin: 0;
    z-index: 100000;
    border-top: 1px solid var(--nh-line);
    background: #fff;
    color: var(--nh-brand);
    box-shadow: none;
    list-style: none;
  }
  body.nh-portal .nh-mobile ul { display: contents; margin: 0; padding: 0; list-style: none; }
  body.nh-portal #nh-mobile { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.nh-portal #nh-mobile > ul { display: contents !important; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  body.nh-portal #nh-mobile > ul > li { display: flex !important; float: none !important; width: auto !important; min-width: 0; height: 58px; margin: 0 !important; padding: 0 !important; }
  body.nh-portal .nh-mobile li { display: flex; min-width: 0; width: auto; margin: 0; padding: 0; }
  body.nh-portal .nh-mobile a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; width: 100%; min-width: 0; height: 58px; margin: 0; padding: 6px 2px; color: var(--nh-brand); font-size: 13px; font-weight: 600; line-height: 1.45; text-align: center; white-space: nowrap; }
  body.nh-portal .nh-mobile > a:last-child, body.nh-portal .nh-mobile li:last-child a { background: var(--nh-brand); color: #fff; }
  body.nh-portal .nh-mobile a > span { font-size: 19px; line-height: 1.1; }
  body.nh-portal .nh-mobile a > p { margin: 0; padding: 0; font-size: inherit; line-height: inherit; color: inherit; }
  body.nh-portal .nh-mobile svg, body.nh-portal .nh-mobile img { display: block; width: 18px; height: 18px; margin: 0; }
}
@media (max-width: 359px) {
  body.nh-portal .nh-intro h1, body.nh-portal .nh-intro h2 { font-size: 26px; }
  body.nh-portal .nh-local-nav { gap: 5px; }
  body.nh-portal .nh-local-nav a { font-size: 12px; }
  body.nh-portal .country_list .school-icon > ul { gap: 20px 14px; }
  body.nh-portal .nh-school-name { font-size: 14px; }
}
@keyframes nh-enter { from { opacity: .75; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
  html:has(body.nh-portal) { scroll-behavior: smooth; }
  body.nh-portal .nh-local-nav a, body.nh-portal .nh-intro-actions a,
  body.nh-portal .school-icon > ul > li > a { transition: color .15s ease, border-color .15s ease, background-color .15s ease; }
}
@media (prefers-reduced-motion: reduce) {
  body.nh-portal *, body.nh-portal *::before, body.nh-portal *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  html:has(body.nh-portal) { scroll-behavior: auto; }
}
