/*页面通用设置*/

:root {
    /*通用颜色*/
    --black:  rgb(0, 0, 0);
    --white:  rgb(255, 255, 255);
    /*文本样式*/
    --text_navagation: Calibri;
    --text_top_lab_name: Andale Mono;
    --box_logo: 40px;  /*github、youtube、bilibili图标大小*/
 }

* {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
}

.box_whole {
    background-color: rgba(0, 0, 0, 0); 
    width: 100%;
    height: 2200px; /* 固定高度为2000px   初始是1500px*/   
    padding: 0px; /* 可选：设置内边距 */
    position: absolute; /* 设置定位属性为绝对定位 */
    top: 0px; /* 设置距离顶部的偏移量 */
    left: 0px; /* 设置距离左侧的偏移量 */
    margin: 0; /* 移除默认的外边距 */
}

/* --------------------------------1.顶部大盒子-------------------------------- */
.box_top {
    position: absolute; /* 绝对定位 */
    width: 100%; /* 宽度占满父容器的宽度 */
    height: 6%; /* 高度占整个盒子的10% */
    background-color: rgb(255, 255, 255); /* 背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
}

/* -----------------1.1顶部导航----------------- */
.top_header {
    position: fixed; /* 固定定位 */
    top: 0px; /* 距离顶部0px */
    left: 50%; /* 距离左侧50% */
    transform: translate(-50%); /* 通过transform居中 */
    width: 1100px; /* 示例宽度 */
    height: 50px; /* 示例高度 */
    background-color: rgba(255, 255, 255, 0.5); /* 半透明背景颜色 */
    backdrop-filter: blur(10px); /* 玻璃模糊效果 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
    display: flex; /* 设置为flex容器 */
    justify-content: space-around; /* 水平居中 */
    align-items: center; /* 垂直居中 */
    z-index: 1000; /* 确保导航栏在最上层 */
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); /* 添加底部边框，增强玻璃效果 */
}

.header_text{
    text-decoration: none; /* 移除下划线 */
    color: rgb(0, 0, 0);
    font-family: var(--text_navagation); /*设置字体*/
    font-size: 30px; /*设置字体大小*/
}

/*鼠标悬停顶部导航栏变成橙色*/
.header_text:hover{
    color: rgb(255, 123, 0);
}

/* -----------------1.2顶部标题栏----------------- */
.top_1 {
    position: absolute; /* 绝对定位 */
    top: 50px; /* 距离顶部0px */
    left: 50%; /* 距离左侧50% */
    transform: translate(-50%); /* 通过transform居中 */
    width: 1100px; /* 示例宽度 */
    height: 100px; /* 示例高度 */
    background-color: rgba(0, 0, 0, 0); /* 示例背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
    display: flex; /* 设置为flex容器 */
    justify-content: space-around; /* 水平居中 */
    align-items: center; /* 垂直居中 */
}

.top_logo{
    position: absolute;
    top: 0px;
    left: 10px;
    width: 140px;
    height: 140px;
}

.top_title_image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.top_title_image img {
    max-height: 110%;
    width: auto;
}
.text_1{
    color: rgb(0, 0, 0);
    text-align: center;
    top: 0px; /*距离div高10px*/
    font-size: 48px; /*设置字体大小*/
    font-family: var(--text_top_lab_name); /*设置字体*/
    line-height: 1; /*行高*/
    font-weight: bold;

}


/* --------------------------------2.中间大盒子-------------------------------- */
.box_center {
    position: absolute; /* 绝对定位 */
    top: 6.5%; /* 距离顶部的偏移量为10% */
    width: 100%; /* 宽度占满父容器的宽度 */
    height: 94%; /* 高度占整个盒子的80% */
    background-color: rgba(0, 0, 0, 0); /* 背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
}

/* -----------------2.1居中的盒子----------------- */
.center_middle {
    position: absolute; /* 绝对定位 */
    top: 0px; /* 距离顶部0px */
    left: 50%; /* 距离左侧50% */
    transform: translate(-50%); /* 通过transform居中 */
    width: 1100px; /* 示例宽度 */
    height: 100%; /* 示例高度 */
    background-color: white; /* 示例背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
    display: flex; /* 设置为flex容器 */
    justify-content: space-around; /* 水平居中 */
    align-items: center; /* 垂直居中 */
}

/* -----------------2.1.1轮播图片组件大盒子----------------- */
/*480p 的首页轮播图片展示*/
.middle_img_show_box{
    position: absolute;
    top: 10px;
    width: 854px;
    height: 480px;
    background-color: rgb(0, 0, 0);
    overflow: hidden;  /*隐藏裁剪*/
}

/* 图片容器 */
.image_container{
    display: flex;
    width: 4270px; /* 854px * 5张图片 */
    transform: translateX(0); /*初始状态不应用图片X轴水平轮播*/
    transition: transform 0.5s ease-in-out; /*图片轮播过渡效果0.5秒*/
}

.image_container img {
    width: 854px; /* 每张图片的宽度 */
    height: 480px; /* 每张图片的高度 */
}

/* 视频容器 */
.video_container {
    display: flex;
    width: 854px; /* 单个视频的宽度 */
    height: 480px; /* 单个视频的高度 */
    transform: translateX(0); /* 初始状态不应用视频X轴水平轮播 */
    transition: transform 0.5s ease-in-out; /* 视频轮播过渡效果0.5秒 */
}

/* 视频样式 */
.video_container iframe {
    width: 100%; /* 视频宽度占满父容器 */
    height: 100%; /* 视频高度占满父容器 */
    border: none; /* 移除 iframe 的边框 */
}

.left_button{
    position: absolute;
    top: 200px;
    left: 0; /* 靠左布局 */
    width: 70px;
    height: 70px;
    background-image: url(../images/home_img/left_button.png);
    background-size: cover;
    background-position: center;
    background-color: transparent; /* 移除按钮背景色 */
    border: none;
    padding: 0.5rem;
    cursor: pointer;
}

.right_button{
    position: absolute;
    top: 200px;
    right:0; /* 靠左右布局 */
    width: 70px;
    height: 70px;
    background-image: url(../images/home_img/right_button.png);
    background-size: cover;
    background-position: center;
    background-color: transparent; /* 移除按钮背景色 */
    border: none;
    padding: 0.5rem;
    cursor: pointer;
}

/* -----------------2.1.1导览小盒子----------------- */
.img_nav_box{
    position: absolute;
    top: 510px;
    width: 854px;
    height: 100px;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    justify-content:space-around;
    align-items: center;
}

.nav_box {
    width: 160px;
    height: 100px;
    background-color: rgba(0, 0, 0, 0); /* 默认透明 */
    border: 2px solid black;
    border-radius: 5px; /* 圆角 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
    overflow: hidden;
    transition: background-color 0.3s ease; /* 添加过渡效果 */
}

.nav_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6; /* 默认展示框是透明的  默认透明度*/
    transition: opacity 0.3s ease; /* 添加过渡效果 */
}

.nav_box img:hover{
    opacity: 1 !important;  /*鼠标停在导览框时，图片变成100%原图*/
}

/* -----------------2.1.3展示图片的摘要文本----------------- */
.img_nav_abstract{
    position: absolute;
    top: 630px;
    width: 854px;
    height: 80px;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    justify-content:space-around;
    align-items: flex-start;
    padding: 0px;
    box-sizing: border-box;
}

/*对摘要文本样式的设置*/
#img_abstract_text{
    font-family: Didot,Centaur,Baskerville,Montserrat; /* 设置字体为 Didot*/
    font-size: 22px; /* 设置字体大小 */
    line-height: 1.1; /* 设置行高 */
    text-align: justify; /* 文本两端对齐 */
    color: #333; /* 设置文本颜色 */
    margin: 0; /* 去除默认外边距 */
    padding: 0px; /* 添加内边距 */
    overflow: hidden; /* 防止文本溢出 */
    text-overflow: ellipsis; /* 文本溢出时显示省略号 */
    display: -webkit-box;
    -webkit-line-clamp: 3; /* 限制显示行数 */
    -webkit-box-orient: vertical;
    text-indent: 2em; /* 首行缩进2字符 */
}

/* -----------------2.1.4 关于更多链接展示：bilibili、yutube、github等----------------- */
.learn_more_box{
    position: absolute;
    top: 700px;
    width: 200px;
    height: 50px;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    justify-content:space-around;
    align-items: center;
    padding: 0px;
    box-sizing: border-box;
}

.github_box{
    width: var(--box_logo); /* 设置图标宽度 */
    height: var(--box_logo); /* 设置图标高度 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
}

.github_box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 确保图标填充整个盒子 */
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

.github_box img:hover {
    transform: scale(1.1); /* 鼠标悬停时图标放大 */
}

.youtube_box{
    width: var(--box_logo); /* 设置图标宽度 */
    height: var(--box_logo); /* 设置图标高度 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
}

.youtube_box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 确保图标填充整个盒子 */
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

.youtube_box img:hover {
    transform: scale(1.1); /* 鼠标悬停时图标放大 */
}

.bilibili_box{
    width: var(--box_logo); /* 设置图标宽度 */
    height: var(--box_logo); /* 设置图标高度 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
}

.bilibili_box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 确保图标填充整个盒子 */
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

.bilibili_box img:hover {
    transform: scale(1.1); /* 鼠标悬停时图标放大 */
}

.weixin_box{
    width: var(--box_logo); /* 设置图标宽度 */
    height: var(--box_logo); /* 设置图标高度 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
    position: relative; /* 为悬停弹框提供定位基准 */
}

.weixin_box > a > img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* 确保图标填充整个盒子 */
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

.weixin_box > a > img:hover{
    transform: scale(1.1); /* 鼠标悬停时图标放大 */
}

.weixin_hover{
    display: none;
    position: absolute;
    top: calc(var(--box_logo) + 10px);
    left: 50%;
    transform: translateX(-50%);
    width: 360px;
    padding: 8px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    z-index: 1000;
}

.weixin_hover img{
    width: 100%;
    height: auto;
    display: block;
}

.weixin_box:hover .weixin_hover{
    display: block;
}

/* -----------------分割线2.1结束的分割线----------------- */
.divider {
    position: absolute;
    top: 760px; /* 根据页面布局调整位置 */
    width: 854px; /* 与learn_more_box宽度一致 */
    height: 1px; /* 分割线高度 */
    background-color: #74747457; /* 分割线颜色 */
    border: none; /* 去除默认边框 */
    margin: 0; /* 去除默认外边距 */
}

/* -----------------2.2 第二部分News----------------- */
/* -----------------2.2.1 News标题----------------- */
.News_titile{
    position: absolute;
    top: 780px; 
    width: 854px; 
    height: 60px; /* 高度 */
    background-color: #00000000; /* 颜色 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.News_titile_css{
    font-family: var(--text_navagation); /* 使用Calibri字体 */
    font-size: 38px; /* 设置字体大小为38px */
    color: #333; /* 设置文字颜色 */
    margin: 0; /* 去除默认外边距 */
    text-indent: 0.5em; /* 首行缩进0.5字符 -- 为了排版好看哈*/
}

.News_box{
    position: absolute;
    top: 840px; 
    width: 1100px; 
    height: 1200px; /* 高度 */
    background-color: #00000000; /* 颜色 */
    flex-direction: column; /* 垂直排列 */
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0; /* 上下内边距 */
}

/* -----------------2.2.2 新闻盒子----------------- */
.news_item {
    width: 1100px; /* 宽度 */
    height: 380px; /* 高度 */
    background-color: rgba(255, 255, 255, 0); /* 背景颜色 */
    display: flex; /* 使用flex布局 */
    flex-direction: row; /* 子元素水平排列，图片在左边 */
    align-items: center; /* 垂直居中 */
}

.news_image {
    width: 500px; /* 宽度 */
    height: 330px; /* 高度 */
    border-radius: 10px; /* 圆角 */
    overflow: hidden; /* 防止图片溢出 */
    background-color: rgb(0, 0, 0); /* 背景颜色 */
}

.news_image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 确保图片填充整个盒子 */
}

.news_text {
    width: 560px; /* 宽度 */
    height: 330px; /* 高度 */
    background-color: rgba(0, 0, 0, 0); /* 背景颜色 */
    display: flex;
    flex-direction: column; /* 垂直排列 */
    justify-content: flex-start; /* 水平居中 */
    font-family: var(--text_navagation); /* 使用Calibri字体 */
    color: #333; /* 设置文字颜色 */
    line-height: 1.5; /* 设置行高 */
    margin-left: 20px; /* 距离左边200px */
}

.news_text_time {
    font-size: 16px; /* 设置字体大小 */
    color: #000000; /* 设置文字颜色为灰色 */
    margin-bottom: 2px; /* 与标题的间距 */
}

.news_text_title {
    font-size: 24px; /* 设置字体大小 */
    font-weight: bold; /* 加粗 */
    margin-bottom: 15px; /* 与内容的间距 */
}

.news_text_content {
    font-size: 16px; /* 设置字体大小 */
    color: #444; /* 设置文字颜色为深灰色 */
}


/* --------------------------------3.底部大盒子-------------------------------- */
.box_bottom {
    position: absolute; /* 绝对定位 */
    top: 100%; /* 距离顶部的偏移量为90% */
    width: 100%; /* 宽度占满父容器的宽度 */
    height: 5%; /* 高度占整个盒子的10% */
    background-color: rgb(54, 54, 54); /* 背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
}

/* -----------------3.1居中的盒子----------------- */
.bottom_middle {
    position: absolute; /* 绝对定位 */
    top: 0px; /* 距离顶部0px */
    left: 50%; /* 距离左侧50% */
    transform: translate(-50%); /* 通过transform居中 */
    width: 1100px; /* 示例宽度 */
    height: 100%; /* 示例高度 */
    background-color: rgba(255, 255, 255, 0); /* 示例背景颜色 */
    margin: 0; /* 移除默认的外边距 */
    padding: 0; /* 可选：设置内边距 */
    display: flex; /* 设置为flex容器 */
    justify-content: space-around; /* 水平居中 */
    align-items: center; /* 垂直居中 */
}


.bottom_text_1{
    color: rgb(255, 255, 255);
    text-align: center;
    top: 0px; /*距离div高10px*/
    font-size: 18px; /*设置字体大小*/
    font-family: STfangsong; /*设置字体*/
    line-height: 1.5; /*行高*/
    font-weight: bold;
}

#visit-counter {
    color: rgb(255, 255, 255);
    text-align: center;
    top: 0px; /*距离div高10px*/
    font-size: 18px; /*设置字体大小*/
    font-family: STfangsong; /*设置字体*/
    line-height: 1.5; /*行高*/
    font-weight: bold;
}


/* -----------------------课题组网页聊天机器人设置---------------------- */
.chatbot-container {
    position: fixed; /* 固定定位 */
    bottom: 20px; /* 距离底部20px */
    right: 20px; /* 距离右侧20px */
    width: 300px; /* 宽度 */
    height: 400px; /* 高度 */
    background-color: #fff; /* 背景颜色 */
    border-radius: 10px; /* 圆角 */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影 */
    display: flex; /* 使用flex布局 */
    flex-direction: column; /* 垂直排列 */
    z-index: 1000; /* 确保在最上层 */
    transition: opacity 0.3s ease, transform 0.3s ease; /* 添加过渡效果 */
}

.chatbot-container.hidden {
    opacity: 0; /* 隐藏时透明度为0 */
    transform: translateY(20px); /* 向下移动20px */
    pointer-events: none; /* 禁用交互 */
}

.chatbot-header {
    background-color: #292a2b; /* 背景颜色 */
    color: #fff; /* 文字颜色 */
    padding: 10px; /* 内边距 */
    border-top-left-radius: 10px; /* 左上角圆角 */
    border-top-right-radius: 10px; /* 右上角圆角 */
    display: flex; /* 使用flex布局 */
    justify-content: space-between; /* 左右对齐 */
    align-items: center; /* 垂直居中 */
}

.chatbot-header-left {
    display: flex;
    align-items: center; /* 垂直居中 */
}

.chatbot-header-right {
    display: flex;
    gap: 10px; /* 按钮之间的间距 */
}

.chatbot-close-btn {
    background: none; /* 无背景 */
    border: none; /* 无边框 */
    color: #fff; /* 文字颜色 */
    font-size: 20px; /* 字体大小 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
}

.chatbot-body {
    flex: 1; /* 占据剩余空间 */
    padding: 6px; /* 内边距 */
    overflow-y: auto; /* 允许垂直滚动 */
    background-color: #f9f9f9; /* 背景颜色 */
}

.chatbot-messages {
    display: flex; /* 使用flex布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 0px; /* 消息之间的间距 */
}

.chatbot-message {
    max-width: 80%; /* 最大宽度 */
    padding: 0px 0px; /* 内边距 */
    border-radius: 10px; /* 圆角 */
    word-wrap: break-word; /* 自动换行 */
}

.chatbot-message.user {
    align-self: flex-end; /* 用户消息右对齐 */
    /* background-color: #007bff; */
    background-color: #292a2b; /* 背景颜色 */
    color: #fff; /* 文字颜色 */
    padding: 10px 10px; /* 上下内边距12px，左右内边距16px */
    border-radius: 10px; /* 圆角 */
    line-height: 1.2; /* 设置行高，提升可读性 */
    margin-bottom: 10px; /* 增加消息之间的间距 */
}

.chatbot-message.bot {
    align-self: flex-start; /* 机器人消息左对齐 */
    background-color: #e9ecef; /* 背景颜色 */
    color: #000; /* 文字颜色 */
    text-align: justify; /* 文本两端对齐 */
    word-spacing: normal; /* 恢复默认单词间距 */
    letter-spacing: normal; /* 恢复默认字符间距 */
    line-height: 1.2; /* 设置行高，提升可读性 */
    padding: 10px 10px; /* 增加内边距，使文本与边框有一定距离 */
    border-radius: 10px; /* 圆角 */
    font-family: var(--text_navagation); /* 使用Calibri字体 */
    font-size: 14px; /* 设置字体大小 */
    white-space: pre-wrap; /* 保留换行符和空格 */
    margin-bottom: 3px; /* 增加消息之间的间距 */
}

.chatbot-input {
    display: flex; /* 使用flex布局 */
    padding: 10px; /* 内边距 */
    background-color: #fff; /* 背景颜色 */
    border-top: 1px solid #ddd; /* 顶部边框 */
}

.chatbot-input input {
    flex: 1; /* 占据剩余空间 */
    padding: 12px 16px; /* 上下内边距12px，左右内边距16px */
    border: 1px solid #ddd; /* 边框 */
    border-radius: 5px; /* 圆角 */
    margin-right: 10px; /* 右边距 */
    line-height: 1.5; /* 设置行高，提升可读性 */
    font-size: 14px; /* 设置字体大小 */
}

.chatbot-input button {
    padding: 8px 12px; /* 内边距 */
    background-color: #282929; /* 背景颜色 */
    color: #fff; /* 文字颜色 */
    border: none; /* 无边框 */
    border-radius: 5px; /* 圆角 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
}

.chatbot-toggle-btn {
    position: fixed; /* 固定定位 */
    bottom: 20px; /* 距离底部20px */
    right: 20px; /* 距离右侧20px */
    width: 50px; /* 宽度 */
    height: 50px; /* 高度 */
    /* background-color: #007bff; */
    background-color: #292a2b; /* 背景颜色 */
    color: #fff; /* 文字颜色 */
    border: none; /* 无边框 */
    border-radius: 50%; /* 圆形 */
    font-size: 24px; /* 字体大小 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
    display: none; /* 默认隐藏 */
    z-index: 1000; /* 确保在最上层 */
    transition: opacity 0.3s ease, transform 0.3s ease; /* 添加过渡效果 */
}

.chatbot-toggle-btn.visible {
    display: block; /* 显示悬浮按钮 */
    opacity: 1; /* 透明度为1 */
    transform: translateY(0); /* 恢复位置 */
}

.chatbot-minimize-btn {
    background: none; /* 无背景 */
    border: none; /* 无边框 */
    color: #fff; /* 文字颜色 */
    font-size: 20px; /* 字体大小 */
    cursor: pointer; /* 鼠标悬停时显示手型 */
    margin-left: 100px; /* 距离左边20px */
}