/**
 * 零距离泛目录主题样式 - 仿照原版dedecms
 * @package ljlfml
 */

/* CSS变量 */
:root {
    --primary-color: #815fc5;
}

/* 基础重置 */
*, *:before, *:after { box-sizing: border-box; margin: 0; padding: 0; }
html { height: 100%; overflow: hidden; }
body { height: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 14px; line-height: 24px; color: #212121; background-color: #f0f0f0; overflow-x: hidden; overflow-y: auto; }
a { color: var(--primary-color); text-decoration: none; }
a:hover { color: #333; }
ul, ol, li { list-style: none; }
img { border: 0; vertical-align: top; }

/* 滚动条 */
body::-webkit-scrollbar { width: 10px; background-color: #333; }
body::-webkit-scrollbar-thumb { background-color: rgba(122,122,122,.7); }
body::-webkit-scrollbar-thumb:hover { background-color: var(--primary-color); }

/* 布局 */
.container { min-height: 100%; overflow: visible; }
#content { min-height: 100%; padding-left: 240px; overflow: visible; }

/* 侧边栏 */
#header { position: fixed; width: 240px; height: 100%; background: #111; text-align: center; left: 0; top: 0; z-index: 900; }

.navbar-header { height: 280px; overflow: hidden; position: relative; display: table; width: 100%; }
.navbar-header .navbar-brand { display: table-cell; vertical-align: middle; text-align: center; overflow: hidden; }
.navbar-header .navbar-brand img { max-height: 100%; max-width: 80%; }

.navbar-toggle { display: none; position: absolute; right: 11px; top: 8px; border: none; height: 50px; width: 50px; text-indent: -99px; overflow: hidden; background: url(../images/ico-toggle.png) no-repeat center center; cursor: pointer; }

.navbar-collapse { position: absolute; top: 270px; bottom: 0; left: 0; width: 100%; text-align: center; overflow-y: auto; overflow-x: hidden; }
.navbar-collapse::-webkit-scrollbar { width: 4px; background-color: transparent; }
.navbar-collapse::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,0.2); border-radius: 2px; }

.navbar-nav { padding-top: 0; }
.navbar-nav .main { position: relative; }
.navbar-nav .main .title { height: 34px; overflow: hidden; }
.navbar-nav .main a { display: block; height: 34px; line-height: 34px; color: #fff; font-size: 14px; }
.navbar-nav .main a em { display: none; }
.navbar-nav .main a.cn { display: none; }
.navbar-nav .main:hover .title { background: var(--primary-color); }
.navbar-nav .main:hover a.en { margin-top: -34px; transition: 0.3s; }
.navbar-nav .main:hover a.cn { display: block; }
/* 导航激活状态 - 添加背景色 */
.navbar-nav .main.active .title { background: var(--primary-color); }
.navbar-nav .main.active .title a { color: #fff; }

/* 底部区域 - 固定在底部 */
.navbar-bottom { position: absolute; width: 100%; left: 0; bottom: 15px; }
.navbar-bottom .qr-code { text-align: center; overflow: hidden; margin-bottom: 30px; }
.navbar-bottom .qr-code img { vertical-align: top; max-width: 100px; }
.navbar-bottom .follow { height: 27px; overflow: hidden; margin-bottom: 20px; text-align: center; }
.navbar-bottom .follow a { display: inline-block; margin: 0 5px; }
.navbar-bottom .follow img { vertical-align: middle; width: 27px; height: 27px; }
.navbar-bottom .follow img:hover { opacity: 0.8; }
.navbar-bottom .copyright { color: rgba(255,255,255,0.3); font-size: 12px; line-height: 20px; }
.navbar-bottom .copyright p { color: #fff; opacity: 0.4; }
.navbar-bottom .copyright a { color: #fff; }

/* 轮播图 slider-1 */
.slider-1 { position: relative; height: calc(100vh); width: 100%; background: #000; overflow: hidden; }
.slider-1 .slider-list { height: 100%; width: 100%; position: relative; }
.slider-1 .slider-item { position: absolute; height: 100%; width: 100%; left: 0; top: 0; z-index: 1; background-color: #000; display: none; }
.slider-1 .slider-item:first-child { z-index: 10; display: block; }
.slider-1 .thumb { position: absolute; height: 100%; width: 100%; left: 0; top: 0; background-position: center; background-size: cover; background-repeat: no-repeat; transition: 0.5s; z-index: 2; }
.slider-1 .bg { position: absolute; height: 100%; width: 100%; left: 0; top: 0; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%); z-index: 3; }
.slider-1 .info { position: absolute; left: 0; bottom: 100px; width: 100%; text-align: center; z-index: 4; }
.slider-1 .info .desc { color: #fff; margin-bottom: 30px; padding: 0 10%; }
.slider-1 .info .desc h3 { font-size: 36px; font-weight: 600; margin: 0; color: var(--primary-color); }
.slider-1 .info .link { display: inline-block; line-height: 50px; padding: 0 60px; background: var(--primary-color); color: #fff; font-size: 12px; transition: 0.5s; }
.slider-1 .info .link:hover { background: #212121; }
.slider-1 .info .link p { margin: 0; }
.slider-1 .slider-nav { position: absolute; left: 0; bottom: 24px; width: 100%; text-align: center; z-index: 999; }
.slider-1 .slider-nav li, .slider-1 .slider-nav-item { display: inline-block; background: #fff; height: 14px; width: 14px; border-radius: 50%; margin: 0 3px; cursor: pointer; opacity: 0.5; }
.slider-1 .slider-nav li.active, .slider-1 .slider-nav-item.active { transform: scale(1.1); opacity: 1; }
.slider-1 .slider-item.active { z-index: 10; opacity: 0; display: block; }
.slider-1 .slider-item.active .info { opacity: 0; }
.slider-1 .slider-item.active.fadeIn { transition: 0.8s all; opacity: 1; }
.slider-1 .slider-item.active.fadeIn .thumb { transform: scale(1.1); transition: transform 10s linear; }
.slider-1 .slider-item.active.fadeIn .info { opacity: 1; transition: 0.8s 0.5s; }

/* 案例展示 slider-4 - 使用Masonry自动对齐，不指定背景色 */
.slider-4 { min-height: 100%; overflow: hidden; }
.slider-4 .slider-list { position: relative; }
.slider-4 .slider-item { position: relative; overflow: hidden; display: none; }
.slider-4 .inner { position: relative; }
.slider-4 .thumb { overflow: hidden; }
.slider-4 .thumb img { width: 100%; vertical-align: top; transition: transform 0.5s; display: block; }
.slider-4 .mask { position: absolute; height: 100%; width: 100%; left: 0; top: 0; background: rgba(21,21,21,0); z-index: 3; transition: 0.5s; }
.slider-4 .info { position: absolute; left: 0; top: 50%; transform: translate3d(0,-50%,0); width: 100%; text-align: center; font-size: 24px; z-index: 4; color: #fff; cursor: pointer; opacity: 0; transition: 0.5s 0.2s; }
.slider-4 .inner:hover .thumb img { transform: scale(1.1); }
.slider-4 .inner:hover .mask { background: rgba(21,21,21,0.5); }
.slider-4 .inner:hover .info { opacity: 1; }
.slider-4.col-3 .slider-item { width: 33.3%; }

/* 内容区域 - 固定最大宽度940px */
.content-inner { background-size: cover; background-attachment: fixed; padding: 40px 40px 80px 40px; min-height: 100%; overflow-x: hidden; }
.block { background: rgba(255,255,255,0.95); color: #212121; max-width: 940px; overflow: hidden; }

/* 关于我们 */
.block-about { padding: 40px; }
.block-about .about-content { overflow: hidden; }
.block-about .about-content img { max-width: 100%; cursor: pointer; }

/* 资讯列表 */
.block-news { padding: 0; }
.block-news .news-header { padding: 20px 30px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; }
.block-news .news-header h1 { font-size: 18px; color: #333; margin: 0; }
.block-news .news-item { position: relative; display: flex; padding: 25px 30px; border-bottom: 1px solid #f0f0f0; }
.block-news .news-item:hover { background: #fafafa; }
.block-news .news-time { flex-shrink: 0; width: 80px; height: 80px; background: var(--primary-color); color: #fff; text-align: center; display: flex; flex-direction: column; justify-content: center; margin-right: 25px; }
.block-news .news-time .year { display: block; font-size: 12px; }
.block-news .news-time .date { display: block; font-size: 18px; font-weight: 700; }
.block-news .news-content { flex: 1; min-width: 0; }
.block-news .news-content .title { font-size: 18px; line-height: 30px; }
.block-news .news-content .title a { color: #212121; }
.block-news .news-content .title a:hover { color: var(--primary-color); }
.block-news .news-content .desc { font-size: 14px; line-height: 24px; color: rgba(21,21,21,0.8); max-height: 48px; overflow: hidden; }
.block-news .news-thumb { flex-shrink: 0; width: 200px; height: 120px; margin-left: 25px; background-size: cover; background-position: center; }
.block-news .news-thumb .mask { height: 100%; width: 100%; background: rgba(21,21,21,0); display: block; }
.block-news .news-thumb:hover .mask { background: rgba(21,21,21,0.3); }
.block-news .page { overflow: hidden; padding: 20px 30px; }
.block-news .page a, .block-news .page span { float: left; height: 45px; min-width: 45px; padding: 0 15px; margin-right: 1px; line-height: 45px; text-align: center; background: rgba(21,21,21,0.5); color: #fff; }
.block-news .page a.active, .block-news .page span.current { background: var(--primary-color); }
.block-news .page-info { font-size: 12px; color: #999; }

/* 文章详情 */
.block-post { padding: 0; }
.block-post .post-header { padding: 30px; border-bottom: 1px solid #eee; position: relative; }
.block-post .post-time { position: absolute; left: 30px; top: 30px; width: 80px; height: 80px; background: var(--primary-color); color: #fff; text-align: center; display: flex; flex-direction: column; justify-content: center; }
.block-post .post-time .year { display: block; font-size: 12px; }
.block-post .post-time .date { display: block; font-size: 18px; font-weight: 700; }
.block-post .post-title { font-size: 24px; line-height: 36px; margin: 0 0 15px 100px; color: #212121; }
.block-post .post-meta { font-size: 12px; color: #999; margin-left: 100px; }
.block-post .post-body { padding: 30px; }
.block-post .post-body img { max-width: 100%; cursor: pointer; }
.block-post .post-nav { padding: 20px 30px; border-top: 1px solid #eee; background: #f9f9f9; }
.block-post .post-nav a { color: #333; }
.block-post .post-nav a:hover { color: var(--primary-color); }

/* 联系表单 */
.contact-title { font-size: 18px; margin-bottom: 18px; }
.form-group { margin-bottom: 5px; }
.form-group label { font-size: 12px; }
.form-control { border: 1px rgba(21,21,21,0.18) solid; background: rgba(255,255,255,0.2); width: 100%; padding: 4px 10px; }
.form-control:focus { border: 1px rgba(21,21,21,0.5) solid; background: rgba(255,255,255,0.4); outline: none; }
input.form-control { height: 26px; line-height: 18px; }
textarea.form-control { height: 139px; }
.btn-submit { height: 40px; width: 160px; border: none; background: #212121; color: #fff; cursor: pointer; }
.left, .right { float: left; width: 50%; }
.left { padding-right: 20px; }
.right { padding-left: 20px; }

/* 清除浮动 */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

/* 编辑器格式 */
.editor-format { font-size: 14px; line-height: 24px; }
.editor-format h1 { font-size: 48px; line-height: 58px; margin: 1em 0; }
.editor-format h2 { font-size: 36px; line-height: 46px; margin: 1em 0; }
.editor-format h3 { font-size: 30px; line-height: 40px; margin: 1em 0; }
.editor-format p { margin: 1em 0; }
.editor-format img { max-width: 100%; cursor: pointer; }

/* Fancybox灯箱背景变灰 */
.fancybox-overlay { background: rgba(0,0,0,0.85) !important; }
.fancybox-skin { background: #333 !important; }

/* 响应式 */
@media (max-width: 1024px) {
    .container { position: relative; z-index: 2; }
    #header { position: absolute; height: 72px; width: 100%; left: 0; top: 0; }
    .navbar-header { height: 100%; width: 240px; }
    .navbar-header .navbar-brand { text-align: left; padding-left: 20px; }
    .navbar-header .navbar-brand img { height: 60px; }
    .navbar-toggle { display: block; }
    .navbar-collapse { z-index: 1; position: fixed; top: 0; bottom: 0; padding-top: 18px; left: auto; right: -225px; background: #24272c; width: 225px; overflow-y: auto; transition: 0.3s; opacity: 0; display: flex; flex-direction: column; }
    .navbar_m { right: 0; opacity: 1; }
    .navbar-nav { flex: 1; }
    .navbar-nav .main a { font-size: 12px; }
    .navbar-nav .main:hover .title { background: none; }
    .navbar-nav .main:hover a.en { margin-top: 0; }
    /* 移动端底部区域显示 */
    .navbar-bottom { position: relative; bottom: auto; padding: 20px 10px; margin-top: auto; }
    #content { padding: 72px 0 0; }
    .slider-1 { height: 100vh; }
    .slider-1 .slider-item { height: 100%; }
    .slider-1 .info { bottom: 60px; }
    .slider-4.col-3 .slider-item { width: 50%; }
    .content-inner { padding: 20px; }
    .block-news .news-item { flex-wrap: wrap; }
    .block-news .news-thumb { width: 100%; height: 200px; margin: 0 0 15px 0; order: -1; }
    .block-news .news-time { width: 60px; height: 60px; }
    .left, .right { float: none; width: 100%; padding: 0; }
    .btn-submit { width: 100%; }
}

@media (max-width: 720px) {
    .slider-1 { height: 80vh; }
}

@media (max-width: 480px) {
    .slider-1 { height: 60vh; }
    .slider-4.col-3 .slider-item { width: 100%; }
}
