/* Preserve the school's visual style while removing fixed-width overflow. */
body .container { width:100% !important; max-width:1444px !important; box-sizing:border-box !important; }
#header #logo { max-width:100%; }
#header #logo img { display:block; width:100%; max-width:100%; height:auto; }
#navigate .navigation { display:flex; width:100%; justify-content:space-between; }
#navigate .navigation>.first_menu { flex:1; white-space:nowrap; }
#navigate .navigation>.first_menu>a { padding-left:10px; padding-right:10px; }
#navigate ul li:last-child { margin-right:0; }
.top-swiper { height:clamp(160px,28vw,400px); }
.top-swiper .swiper-slide { height:100%; }
.top-swiper .flash_img { max-height:none; width:100%; height:100%; object-fit:cover; }
.news-swiper { height:290px; }
.news-swiper .swiper-slide img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; }
.articleInfo img { max-width:100%; height:auto !important; }
.articleInfo { overflow-wrap:anywhere; overflow-x:auto; }
.articleInfo video { max-width:100%; }
.articleInfo table { max-width:100%; }
@media (max-width:991px) {
  #navigate .navigation>.first_menu>a { font-size:14px; padding-left:5px; padding-right:5px; }
  .news-swiper { height:260px; }
}
@media (max-width:767px) {
  #left { display:none; }
  #right { width:100% !important; float:none; }
  .container { padding-left:12px; padding-right:12px; }
  #header .container { padding-left:0; padding-right:0; }
  #header #logo { width:100%; }
  .articleInfo { padding-left:0; padding-right:0; }
}

/* Bottom galleries own their sizing; course source images are complete montages. */
.gallery-frame { position:relative; width:100%; min-width:0; padding:16px 44px; box-sizing:border-box; }
.content-gallery { width:100%; min-width:0; padding:0; }
.content-gallery .swiper-slide { height:auto; text-align:center; }
.content-gallery .swiper-slide a { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:4px; background:#f4f8fc; }
.content-gallery .swiper-slide img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; }
.course-swiper .swiper-slide a { aspect-ratio:2/1; }
.course-swiper .swiper-slide img { object-fit:contain; }
.gallery-frame .swiper-button-next, .gallery-frame .swiper-button-prev { width:30px; height:44px; color:#1676d2; }
@media (max-width:767px) {
  .gallery-frame { padding:12px 34px; }
}

/* One overlay state replaces the legacy translated-page mobile menu. */
#cd-lateral-nav { display:none; transform:none; transition:none; }
.cms-menu-backdrop[hidden] { display:none; }
#cd-menu-trigger { border:0; background:transparent; font:inherit; cursor:pointer; }
@media (min-width:768px) {
  #cd-menu-trigger, .cms-menu-backdrop { display:none; }
}
@media (max-width:991px) {
  .cms-home .article_list { flex:0 0 100%; max-width:100%; }
}
@media (max-width:767px) {
  #header, .cd-main-content { transform:none !important; left:0 !important; }
  #header { position:relative; height:72px; padding:0; z-index:999; }
  #header>.container { height:72px; position:relative; }
  #header #logo { width:calc(100% - 48px); height:72px; margin:0; float:none; }
  #header #logo a { display:flex; height:100%; align-items:center; }
  #header #logo img { width:100%; height:auto; max-height:64px; object-fit:contain; margin:0; }
  #cd-menu-trigger { display:block; position:absolute; right:4px; top:14px; width:44px; height:44px; margin:0; }
  #cd-menu-trigger .cd-menu-text { display:none; }
  #cd-menu-trigger .cd-menu-icon, #cd-menu-trigger .cd-menu-icon::before, #cd-menu-trigger .cd-menu-icon::after { background-color:#fff; }
  .cd-main-content { padding-top:0; }
  #navigate { display:none; }
  body.cms-nav-open { position:fixed; top:var(--cms-scroll-top); left:0; right:0; width:100%; overflow:hidden; }
  .cms-menu-backdrop { position:fixed; inset:0 auto 0 0; z-index:1000; width:calc(100% - min(320px,86vw)); height:100%; padding:0; border:0; background:rgba(15,31,48,.5); }
  #cd-lateral-nav.lateral-menu-is-open { display:block; position:fixed; inset:0 0 0 auto; width:min(320px,86vw); height:100%; height:100dvh; z-index:1010; visibility:visible; background:#fff; overflow-y:auto; overscroll-behavior:contain; box-shadow:-8px 0 32px #10243c33; }
  .cms-nav-heading { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:#1d86f1; color:#fff; font-size:18px; }
  .cms-nav-close { min-width:48px; min-height:44px; padding:0 8px; border:1px solid #ffffff88; border-radius:6px; background:transparent; color:#fff; font-size:14px; cursor:pointer; }
  #cd-lateral-nav .cd-navigation { margin:8px 0; }
  #cd-lateral-nav a { min-width:0; min-height:48px; padding:12px 20px; line-height:24px; font-size:16px; color:#25364a; white-space:normal; overflow-wrap:anywhere; }
  #cd-lateral-nav li { border-bottom:1px solid #edf1f5; }
  #cd-lateral-nav .cms-has-submenu { display:grid; grid-template-columns:minmax(0,1fr) 64px; }
  #cd-lateral-nav .item-has-children>a::after { display:none; }
  .cms-submenu-toggle { align-self:center; min-height:44px; margin:2px 8px 2px 0; border:0; border-radius:4px; background:#eef6ff; color:#1267b8; font-size:13px; cursor:pointer; }
  #cd-lateral-nav .sub-menu { grid-column:1/-1; margin:0; padding:0 8px 8px 16px; background:#f5f8fc; }
  #cd-lateral-nav .sub-menu[hidden] { display:none !important; }
  #cd-lateral-nav .sub-menu:not([hidden]) { display:block; }
  #cd-lateral-nav .sub-menu a { font-size:15px; padding-left:20px; }
  #cd-lateral-nav :focus-visible, #cd-menu-trigger:focus-visible { outline:3px solid #e6a200; outline-offset:-3px; }

  .cms-home { margin-top:12px; padding:0 12px; }
  .cms-home .row { min-width:0; }
  .cms-home>.row>.row { margin-left:0; margin-right:0; }
  .cms-home>.row>.row>[class*="col-"] { padding:0; margin-right:0 !important; }
  .cms-home>.row>[class*="col-"] { min-width:0; padding-left:0; padding-right:0; }
  .cms-home .card { margin:0 0 14px; }
  .cms-home .card-header { align-items:center; min-height:44px; padding:10px 12px; font-size:16px; }
  .cms-home .card-header a { font-size:12px; font-weight:500; padding:4px 0 4px 12px; }
  .cms-home .card-body { padding:4px 12px 10px; }
  .cms-home .news-swiper { height:220px; border-radius:6px; }
  .cms-home .tags-more { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px 0 4px; margin:0; }
  .cms-home .tags-more>div { display:flex; min-width:0; gap:2px; }
  .cms-home .tag-btn { flex:1; min-width:0; height:40px; padding:0 4px; margin:0; font-size:14px; }
  .cms-home .more-link { font-size:12px; padding:12px 0; white-space:nowrap; }
  .cms-home .news-group { padding:0; margin-bottom:14px; }
  .cms-home .article-title-time { display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:10px 0; margin:0; }
  .cms-home .ellipsis { width:100%; max-width:100%; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.65; }
  .cms-home .article_title { margin:0; font-size:15px; }
  .cms-home .news_time { width:auto; margin:0; text-align:left; white-space:nowrap; font-size:12px; line-height:1.6; }
  .cms-home .Announcement .card-body p { margin:0; padding:10px 0; border-bottom:1px solid #edf1f5; font-size:14px; line-height:1.7; }
  .cms-home .card-news-highlight { height:auto; padding-top:8px; }
  .cms-home .card-title { padding:0 0 10px; margin:0; border:0; font-size:15px; }
  .cms-home .card-news-highlight>.row { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; margin:0; }
  .cms-home .card-news-highlight .col-6 { flex:none; width:auto; max-width:none; min-width:0; padding:0; }
  .cms-home .card-news-highlight .col-6:first-child { height:90px !important; }
  .cms-home .card-news-highlight .card-img { height:90px; object-fit:cover; border-radius:4px; }
  .cms-home .news-content { display:block; }
  .cms-home .card-news-highlight .card-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; font-size:13px; line-height:1.7; margin:0 0 6px; }
  .cms-home .news-content-date { font-size:12px; margin:0; }
  .cms-home .cms-highlight-text-only>.row { grid-template-columns:minmax(0,1fr); }
  .cms-home .cms-highlight-text-only>.row>.col-6:first-child { display:none; }
  .cms-home .card-body hr { margin:12px 0 0; }
  .cms-home .buttonColumn { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
  .cms-home .buttonColumn img { display:block; width:100%; height:auto; margin:0; }
  footer { box-sizing:border-box; padding:16px 12px !important; overflow-wrap:anywhere; font-size:12px; line-height:1.9; }
  footer p, footer span { max-width:100%; font-size:inherit !important; line-height:inherit !important; }
  #right { min-width:0; box-sizing:border-box; }
  #right .layui-form-label { float:none; width:auto !important; text-align:left; padding-left:0; }
  #right .layui-input-block { margin-left:0; }
  #right .layui-input, #right .layui-textarea, #right select { width:100% !important; max-width:100%; box-sizing:border-box; }
  .articleInfo { min-width:0; font-size:16px; line-height:1.8; }
  .articleInfo h1, .articleInfo h2 { white-space:normal; overflow-wrap:anywhere; }
  #right_top { height:auto; min-height:44px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:8px 12px; }
  #right_top h3, #right_top span { float:none; line-height:1.7; margin:0; }
  #right_top span { font-size:12px; overflow-wrap:anywhere; }
  #right_con .art_list { padding:16px 0; }
  #right_con .art_right2 { margin-left:72px; }
  #right_con .art_title { height:auto; margin:0; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.65; }
  #right_con .art_des { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:13px; line-height:1.7; }
  #right_con .articleTitle { font-size:21px; line-height:1.6; padding:12px 0; overflow-wrap:anywhere; }
  #right_con .articleAuthor { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 12px; font-size:12px; line-height:1.8; }
  #right_con .articleAuthor span { margin:0; }
  #signup-form .layui-input-inline { margin-left:0; max-width:100%; }
}
