@charset "gb2312";
/* =========================================================
   Homepage responsive styles - qhjzkj.com
   Loaded AFTER css.css & css/index.css (homepage only)
   Breakpoints: 1240px / 990px / 767px / 480px
   ========================================================= */

html { -webkit-text-size-adjust: 100%; }

/* hamburger button (injected into .heading by index.asp), hidden on desktop */
.navbtn { display: none; }

/* ---------- Fluid containers (<=1240px) ---------- */
@media (max-width: 1240px) {
  .toparea ul,
  .heading,
  .product .content,
  .mr_frbox5,
  .imgbox,
  .contentindex,
  .foot .main,
  .footer ul {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---------- Banner: keep full image visible, scale with viewport ---------- */
@media (max-width: 1919px) {
  #banss { height: 40.625vw; } /* 780/1920 */
  #slideshow {
    -webkit-transform: scale(calc(100vw / 1920px));
    transform: scale(calc(100vw / 1920px));
    -webkit-transform-origin: top center;
    transform-origin: top center;
  }
}

/* ---------- Tablet (<=990px) ---------- */
@media (max-width: 990px) {
  .toparea { display: none; }

  .heading {
    height: auto;
    padding: 12px 0;
    text-align: center;
  }
  .heading .leftlogo { float: none; display: block; }
  .heading .leftlogo img { padding-top: 0; height: 44px; width: auto; }

  .nava { width: 100%; float: none; height: auto; margin-top: 10px; }
  .navabox { width: 100%; height: auto; white-space: nowrap; overflow-x: auto; text-align: center; }
  .navalib, .navauu, .navauudd1 { width: 88px; }
  .navamenu, .navauu .navamenu { width: 88px; font-size: 15px; }
  .yy1 { width: 88px; }
  .yy1:hover { width: 88px !important; }
  .navauudd2 { width: 88px !important; }

  .p3 { padding: 50px 0 60px; }

  /* news: two fixed columns (325+836) no longer fit, stack them */
  .g_newcon { height: auto; padding-bottom: 50px; }
  .g_newcon .m_newl { float: none; width: 100%; }
  .g_newcon .m_newl dd { height: auto; }
  .g_newcon .m_newl dd img { width: 100%; height: auto; }
  .g_newcon .m_newl dd p { height: auto; }
  .g_newcon .u_ljt, .g_newcon .u_rjt { display: none; }
  .g_news { float: none; width: 100%; padding-top: 25px; }
  .g_news .newq .more { display: none; }
  .g_news dl { height: auto; padding: 18px 0 0; }
  .g_news dt { width: 86px; padding: 12px 0 0; height: 80px; }
  .g_news dt b { font-size: 36px; line-height: 40px; }
  .g_news dd { width: calc(100% - 96px); height: auto; }
  .g_news h3 { height: 34px; line-height: 34px; font-size: 16px; }
  .g_news p { width: 100%; height: auto; }
}

/* ---------- Mobile (<=767px) ---------- */
@media (max-width: 767px) {
  body { overflow-x: hidden; }

  /* hamburger button */
  .navbtn {
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 1001;
    background: #f5f5f5;
    border-radius: 6px;
  }
  .navbtn span {
    display: block;
    width: 22px;
    height: 3px;
    background: #0051a3;
    margin: 5px auto;
    border-radius: 2px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
  body.nav-open .navbtn span:nth-child(1) { -webkit-transform: translateY(8px) rotate(45deg); transform: translateY(8px) rotate(45deg); }
  body.nav-open .navbtn span:nth-child(2) { opacity: 0; }
  body.nav-open .navbtn span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(-45deg); transform: translateY(-8px) rotate(-45deg); }

  .heading { position: relative; padding: 10px 0; }
  .heading .leftlogo img { height: 40px; padding-top: 0; }

  .nava { margin-top: 8px; }
  .navabox {
    display: none;
    width: 100%;
    white-space: normal;
    overflow: visible;
    border-top: 1px solid #eee;
    background: #fff;
  }
  body.nav-open .navabox { display: block; }
  .navalib, .navauu, .navauudd1 { width: 100%; height: auto; display: block; float: none; overflow: visible; }
  /* onMouseOver switches class to navauudd2 (width:100px float:left inline in css.css)
     -> keep it identical to navauudd1 on mobile so hovering does not shift layout */
  .navauudd2 {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    float: none !important;
    position: static !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  /* css.css hover rules force height:120px; keep 44px on mobile */
  .navamenu:hover,
  .navamenua,
  .navamenua:hover,
  .navauu:hover .navamenu,
  .navauu:hover .navamenua:hover {
    height: 44px !important;
    line-height: 44px !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 15px;
  }
  .navamenu, .navauu .navamenu { width: 100%; height: 44px; line-height: 44px; font-size: 15px; border-bottom: 1px solid #f0f0f0; }
  .popDiv { position: static; display: block; background: #f7f7f7; }
  .yy1 { width: 100%; }
  /* submenu items: css.css .yy1:hover forces width:100px -> keep full width on mobile */
  .yy1:hover { width: 100% !important; height: 40px; line-height: 40px; }

  /* banner: show arrows + dots on mobile */
  #slideshow .btns { display: block !important; }
  #slideshow .btns s { opacity: 1 !important; width: 40px; height: 60px; background-size: contain !important; }
  #slideshow .btns s.prev { left: 8px; background-size: 40px 60px !important; }
  #slideshow .btns s.next { right: 8px; background-size: 40px 60px !important; }
  #slideshow .btns b { width: 120px !important; margin-left: -60px !important; bottom: 15px !important; }
  #slideshow .btns b i { width: 14px !important; height: 14px !important; margin-right: 10px !important; }
  #slideshow .btns b i.on { width: 14px !important; height: 14px !important; }
  /* p3b counters: switch 5-col grid to 2 cols on small screens */
  .p3b { grid-template-columns: repeat(2, 1fr); gap: 18px; }

  /* force-reveal product cards on mobile (scroll-reveal inline opacity:0 may not fire) */
  .product .content { opacity: 1 !important; -webkit-transform: none !important; transform: none !important; }

  /* product cards -> one per row */
  .product { padding: 36px 0 40px; }
  .product .title p { font-size: 28px; }
  .product .title em { font-size: 18px; }
  .product .content { margin-top: 18px; }
  .mr_frbox5 { width: 100%; height: auto; }
  .imgbox { width: 100%; height: auto; }
  .imgbox .tempWrap { width: 100% !important; overflow: visible !important; height: auto !important; }
  .imgbox .tempWrap ul { width: 100% !important; left: 0 !important; margin: 0 !important; display: block; overflow: visible !important; }
  .imgbox .tempWrap ul li { width: 100% !important; height: auto; margin: 0 0 24px; float: none !important; display: block; }
  .imgbox .tempWrap ul li.clone { display: none !important; }
  /* carousel duplicates: keep only the 7 original products, hide copies */
  .imgbox .tempWrap ul li:nth-child(n+8) { display: none !important; }
  .child2 { width: 100%; height: auto; }
  .child2 .topimg { width: 100%; height: auto; }
  .child2 .topimg img { width: 100%; height: auto; }
  .child2 span { width: 90%; height: auto; }

  /* safe image sizing inside DB content */
  .p3a img, .g_newcon img, .ly img { max-width: 100%; }

  /* news fine-tuning */
  .g_newcon { padding-top: 45px; }
  .g_newcon h2 { height: auto; font-size: 30px; line-height: 40px; }
  .g_newcon h2 em { font-size: 18px; }

  /* consult / join us */
  .p6a li { width: 100%; }
  .p6a li a .cont { top: 40px; padding: 0 24px; }
  .p6a li a .cont .conta h3 { font-size: 22px; }
  .p6a li a .cont .conta p { font-size: 15px; }

  /* footer */
  .foot { padding-top: 30px; }
  .foot .main { width: 92%; }
  .foot .main .lefttxt { float: none; width: 100%; height: auto; border-right: none; }
  .dha { width: 33%; margin: 0 0 24px; }
  .ly { width: 100%; float: none; margin-top: 10px; }
  .footer { height: auto; padding: 14px 0; }
  .footer ul { width: 92%; height: auto; }
  .footer ul li { float: none; line-height: 26px; text-align: center; display: block; }
  .footer ul li[style*="float:right"] { float: none !important; }
}

/* ---------- Small phones (<=480px) ---------- */
@media (max-width: 480px) {
  .product .title p { font-size: 24px; }
  .p3 .p3-title h3 { font-size: 20px; }
  .p3b li a h3 { font-size: 40px; line-height: 1.6; }
  .p4-title h4 { font-size: 28px; }
  .dha { width: 50%; }
  .imgbox .tempWrap ul li { margin-bottom: 18px; }
  .p6a li a .cont { top: 30px; }
}
/* ---------- Product card hover: lift up + keep image zoom (desktop) ---------- */
.child2 {
  position: relative;
  z-index: 1;
  -webkit-transition: -webkit-transform .5s ease, box-shadow .5s ease;
  transition: transform .5s ease, box-shadow .5s ease;
}
.child2:hover {
  -webkit-transform: translateY(-12px);
  transform: translateY(-12px);
  box-shadow: 0 16px 28px rgba(0, 0, 0, .2);
  z-index: 5;
}