/* XUELI_RESPONSIVE_20260909_V1. Desktop rules remain untouched at >=1280px. */
.xueli-mobile-contact { display:none; }
@media (max-width:1279px) {
  /* Reflow the actual fixed-width boxes; do not mask overflow on the document. */
  html { overflow-x:visible; }
  body { min-width:0; width:auto; margin:0; }
  .htmlBody, #htmlBody, .htmlBodyTop, .topFullLogo, .topBody, #topBody,
  .mainBody, #mainBody, .mainBody1, #mainBody1, .mainMenuBox, .mainMenu, .fullMenu {
    box-sizing:border-box; width:100% !important; max-width:100%; min-width:0;
  }
  .htmlBody, .htmlBodyTop { padding-right:12px; padding-left:12px; }
  .topFullLogo > .topBody { padding:10px 12px; }
  .topMenu { height:auto; min-height:28px; }
  .topMenu > ul { display:flex; flex-wrap:wrap; }
  .topMenu > ul > .a, .topMenu > ul > .b { float:none; width:100%; max-width:100%; }
  .topMenu .right { float:none; text-align:right; }
  .topLogo > ul { display:flex; align-items:center; flex-wrap:wrap; }
  .topLogo .a { width:28%; min-width:0; }
  .topLogo .bc { width:72%; min-width:0; }
  .topLogo img { max-width:100%; height:auto; }
  .topnav { display:flex; flex-wrap:wrap; width:100% !important; height:auto !important; min-height:44px; }
  .mainMenu .topnav > li, .fullMenu .topnav > li {
    box-sizing:border-box; width:20% !important; float:none; height:auto; min-width:0;
  }
  .topnav > li .itemMenu { width:100% !important; }
  .topnav > li > a, .topnav > li .itemMenu > a {
    box-sizing:border-box; display:flex; align-items:center; justify-content:center;
    white-space:normal; min-height:44px; height:auto; width:100%; padding:8px 6px;
    line-height:1.5; font-size:15px;
  }
  .topnav > li.c { display:none; }
  .mainMenu .topnav, .fullMenu .topnav { background:#9f2828; color:#fff; }
  .topnav > li .itemMenu > a { color:#fff; background:#9f2828; }
  .topnav > li .itemMenu > a:hover, .topnav > li .itemMenu > a:focus-visible { color:#fff; background:#771b1b; }
  .topnav li ul.subnav { z-index:1000; }
  .searchBox { height:auto; margin:10px 0; }
  .searchBox > ul { display:flex; flex-wrap:wrap; gap:8px; }
  .searchBox .a, .searchBox .b { box-sizing:border-box; width:100%; height:auto; min-width:0; }
  .searchBox .a { line-height:1.8; text-indent:0; padding:6px 8px; overflow-wrap:anywhere; }
  .searchBox .b div { float:none; }
  #referForm { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
  .searchBox .b .searchImg { display:none; }
  .searchBox .b .searchInput { flex:1 1 100px; min-width:0; width:auto; height:32px; font-size:16px; box-sizing:border-box; }
  .searchBox .b .searchSelect { max-width:100%; height:32px; }
  .searchBox .b .searchBtn { height:32px; flex:0 0 48px; background-repeat:no-repeat; background-position:center; }
  .areaL, .areaR, .areaL1, .areaL2, .areaL2R {
    box-sizing:border-box; width:100%; max-width:100%; min-width:0;
    float:none; margin-left:0; padding-right:0; overflow-x:visible;
  }
  .mainBody > .areaR { margin-top:20px; }
  .pageBox, .pageBox > dl, .pageBox > dl > dd,
  .webBox, .webBox > .a, .webBox > .b, .webBox > .c, #newsContent, #newsContent > div {
    box-sizing:border-box; width:100%; max-width:100%; min-width:0; overflow-wrap:anywhere;
  }
  .webBox .caClass, .areaL > .caClass { max-width:100% !important; }
  #newsTitle { font-size:26px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
  .webBox .addi2 { height:auto; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
  .webBox .note, .webBox .mark, .webBox .c { white-space:normal; overflow-wrap:anywhere; line-height:1.8; }
  #newsContent { font-size:16px; line-height:1.85; }
  #newsContent img, #newsContent video, .caClass img { max-width:100% !important; height:auto !important; }
  #newsContent figure { max-width:100%; margin-left:0; margin-right:0; }
  #newsContent iframe { max-width:100%; }
  #newsContent p, #newsContent h2, #newsContent h3, #newsContent a { overflow-wrap:anywhere; }
  #newsContent pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
  /* Old magnifier overlays have a fixed 909px child even above smaller images. */
  #newsContent .fangdajing > div { max-width:100% !important; }
  .xueli-table-scroll { max-width:100%; width:100%; overflow-x:auto; overscroll-behavior-x:contain; margin:16px 0; -webkit-overflow-scrolling:touch; }
  .xueli-table-scroll:focus-visible { outline:2px solid #075383; outline-offset:3px; }
  #newsContent .xueli-table-scroll > table { width:100% !important; min-width:0 !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
  #newsContent .xueli-table-scroll--wide > table { min-width:640px !important; }
  /* Preserve the cells and data; narrow two/three-column tables wrap naturally. */
  #newsContent .xueli-table-scroll td, #newsContent .xueli-table-scroll th { white-space:normal; overflow-wrap:anywhere; }
  .listBox2 > ul > li { box-sizing:border-box; width:100%; height:auto; }
  .listBox2 > ul > li > .a, .listBox2 > ul > li > .b { box-sizing:border-box; width:100%; float:none; margin:0; }
  .listBox2 h4, .listBox2 .note, .listBox2 .mark, .listBox2 .addi { height:auto; white-space:normal; overflow-wrap:anywhere; line-height:1.8; }
  .listBox2 .img img { max-width:100%; height:auto; }
  .pageBox .page, .pageBox .pageList, .pageNum, .pageNum2 { max-width:100%; white-space:normal; line-height:2.2; }
  .areaR .caClass, .areaR table { max-width:100%; }
  .areaR .typeBox, .areaR .typeBox dl, .areaR .typeBox dt, .areaR .typeBox dd { width:100%; max-width:100%; box-sizing:border-box; }
  .areaR .listArrow1 li, .areaR .listArrow2 li, .areaR .listArrow3 li { height:auto; min-height:28px; white-space:normal; overflow-wrap:anywhere; }
  .listBox2 > ul > li > .b, .listBox2 > ul > li > .b2 { width:100% !important; }
  .listBox2 .addi { float:none !important; font-size:12px; color:#59636c; }
  .markBox, .replyBox, .markBox dd, .replyBox dd, .markBox li, .logoBox {
    box-sizing:border-box; width:100%; max-width:100%; float:none; margin-right:0;
  }
  .logoBox dl, .logoBox dd { box-sizing:border-box; width:100%; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .markBox li { height:auto; line-height:1.8; overflow-wrap:anywhere; }
  .searchBox marquee { width:100% !important; max-width:100%; }
  .site_home .mainBody1 > div, .site_home .itemBox3 dd,
  .site_home .newBox dd, .site_home .recomBox dd, .site_home .leftItemBoxMore, .site_home .leftItemBoxMore dt, .site_home .leftItemBoxMore dd, .site_home .leftItemBox, .site_home .leftItemBox dt, .site_home .leftItemBox dd {
    box-sizing:border-box; width:100%; max-width:100%;
  }
  .site_home .newBox dd h1, .site_home .newBox dd h2 { height:auto; line-height:1.6; }
  .bottomLine { width:100%; max-width:100%; box-sizing:border-box; }
  .bottomMenu, .bottomCopyright { width:auto; max-width:100%; overflow-wrap:anywhere; white-space:normal; line-height:1.9; }
  .seoHomeIntro { display:block; width:100%; margin:10px 0; padding:18px 14px; }
  .seoHomeIntro h1 { font-size:24px; white-space:normal; }
  .seoHomeLead { margin-top:12px !important; }
  .seoSearchImageGrid { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; min-width:0; }
  .seoSearchImageGrid figure { min-width:0; }
  .seoSearchImageGrid img { width:100%; height:auto; }
  .site_home .itemBox3 { width:100%; max-width:100%; box-sizing:border-box; margin-left:0; margin-right:0; }
  .site_home .newBox, .site_home .recomBox { width:100%; max-width:100%; box-sizing:border-box; }
  .site_home .areaL1 { max-width:380px; }
  .site_home .FocusImg, .site_home .FocusImgFrame { max-width:100%; }
  .site_home .FocusImgFrame > .BigPic, .site_home .FocusImgFrame .BigPic img { max-width:100%; }
  .site_home .TitleBox { max-width:100%; }
  .site_home .caClass, .site_home .imgBox { max-width:100%; box-sizing:border-box; }
  .site_home .newBox li, .site_home .recomBox li, .site_home .itemBox3 li { max-width:100%; }
}
@media (max-width:767px) {
  .htmlBody, .htmlBodyTop { padding-right:10px; padding-left:10px; }
  .topFullLogo > .topBody { padding:12px 10px; }
  .topLogo > ul { display:block; }
  .topLogo .a { width:100%; float:none; text-align:center; }
  .topLogo .a img { width:280px; max-width:100%; height:auto; }
  .topLogo .bc { width:100%; float:none; }
  /* The desktop contact banner is unreadable when its 946px width is squeezed. */
  .topLogo .bc .ca21Style { display:none; }
  .xueli-mobile-contact { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; padding-top:8px; border-top:1px solid #e0e7ed; }
  .xueli-mobile-contact a { color:#124e7b; background:#fff; font-size:15px; font-weight:700; line-height:1.6; padding:8px 2px; min-height:24px; }
  .mainMenu .topnav > li, .fullMenu .topnav > li { width:33.333333% !important; }
  .topnav > li > a, .topnav > li .itemMenu > a { min-height:48px; font-size:14px; }
  .topnav > li:last-child { flex-grow:1; }
  .topnav li ul.subnav { max-width:calc(100vw - 20px); }
  .pageBox .webBox { padding:12px 10px; }
  #newsTitle { font-size:23px; line-height:1.55; }
  #newsContent { font-size:16px; }
  #newsContent h2 { font-size:21px !important; line-height:1.5 !important; }
  #newsContent h3 { font-size:18px !important; line-height:1.5 !important; }
  .listBox2 > ul > li { padding:14px 8px; }
  .listBox2 h4 a { font-size:18px; line-height:1.6; }
  .listBox2 .note, .listBox2 .mark { font-size:14px; }
  .seoSearchImageGrid { grid-template-columns:1fr; }
  .seoHomeIntro h1 { font-size:22px; line-height:1.5; }
  .site_home .areaL1 { max-width:100%; }
  .site_home .imgRow { display:flex; flex-wrap:wrap; gap:8px; }
  .site_home .imgRow li { max-width:100%; box-sizing:border-box; }
}
