@charset 'utf-8';
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
textarea,
input {
    margin: 0;
    padding: 0;
}
address,
cite,
dfn,
em,
var,
i {
    font-style: normal;
}
body {
    font-size: 16px;
    line-height: 1.5;
    font-family: "Microsoft Yahei", "simsun", "arial", "tahoma";
    color: #333;
    background-color: #fff;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
th {
    font-size: 100%;
    font-weight: normal;
}
button,
input,
select,
textarea {
    font-size: 100%;
}
fieldset,
img {
    border: 0;
}
a {
    color: #333;
}
a,
img {
    -webkit-touch-callout: none;
}
a,
a:active,
a:focus,
a:hover,
a:visited {
    text-decoration: none;
}
input[type="password"],
input[type="text"],
textarea {
    resize: none;
    outline: 0;
    -webkit-appearance: none;
    white-space: pre-wrap;
    word-wrap: break-word;
    background: #fff;
}
button,
img,
input {
    border: none;
}
ul{
    list-style: none;
}
:focus {
    outline: none;
}
:root {
    --theme-color: #00a7d4;
    --gray-color: #666;
    --gray-700: #374151;
    --gray-600: #5f5f5f;
    --gray-500: #6b7280;
    --gray-300: #d1d5db;
    --size-z: 0;
    --size-xs: 2px;
    --size-s: 4px;
    --size-m: 8px;
    --size-l: 12px;
    --size-xl: 16px;
    --size-xxl: 20px;
    --size-xxxl: 24px;
    --size-xxxxl: 32px;
    --size-xxxxxl: 40px;
    --border-radius: var(--size-m);

    /* 字体: 14px; */
    --font-size-14: 14px;
    --font-size-18: 18px;
    --font-size-20: 20px;
    --font-size-24: 24px;
    --font-size-28: 28px;
    --font-size-32: 32px;
    --font-size-36: 36px;
    --font-size-40: 40px;
    --font-size-44: 44px;
    /* 加粗 */
    --font-weight-bold: bold;
    /* 黑色字体 */
    --font-color-black: #333;
    --font-color-999: #999;
    --font-color-555: #555;
    /* 行高 */
    --line-height-16: 1.6;
    --line-height-17: 1.7;
    --line-height-18: 1.8;
    --line-height-2: 2;
    /* 内填充 */
    --padding-top100: 100px;
    --padding-bottom50: 50px;
    /* 边框 */
    --border-color: #eee;
    --border-color-gray: #ddd;
    /* 阴影 */
    --box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);

    --red-500: #ef4444;
    --transition: all 0.3s ease;
}
/* 原子类 */
.pb40 {
    padding-bottom: 40px;
}
.mb40 {
    margin-bottom: var(--size-xxxxxl);
}
.public-oh{ overflow: hidden;}

.public-width {
    width: 100%;
    max-width: 1300px;
    /* min-width: 1200px; */
    margin: 0 auto;
}
.public-bg-white{
    background-color: #fff;
}




.public-head-wrap {
    height: 76px;
    overflow: hidden;
}
.public-head {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 9;
    /* margin: 0 auto 10px; */
    height: 76px;
    /* 添加透明背景和过渡效果 */
    background-color: transparent;
    transition: background-color 0.6s ease;
    border-bottom: 1px solid transparent;
    
}
.public-head--fixed{
    /* transition: background-color 0.6s 0s cubic-bezier(0.43, 0.23, 0.55, 0.75),
        border-color 0.6s 0s cubic-bezier(0.43, 0.23, 0.55, 0.75);
    background-color: #fff9;
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); */
    /* background-color: #fff;
    border-bottom: 1px solid #ececec; */
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid #ececec;
    /* 确保过渡效果生效 */
    transition: background-color 0.6s ease, backdrop-filter 0.6s ease, border-bottom 0.6s ease;
}
.public-bgblue-head{
    background-color: var(--theme-color);
}
.public-theme-head{
    background-color: #fff;
}
.public-head__logo {
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    display: block;
    width: 190px;
}
.public-head__logo img {
    display: block;
    width: 100%;
    transition: opacity 0.3s ease;
}
.public-head__inner {
    width: auto;
    height: 76px;
    border-bottom-left-radius: 10px;
    position: fixed;
    top: 0;
    right: 0;
    /* background-color: #fff;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15); */
    z-index: 9;
}
.public-head__nav {
    padding: 0 350px 0 30px;
}
.public-head__nav .list {
    display: flex;
    justify-content: flex-end;
    /* align-items: center; */
}
.public-head__nav .list li {
    position: relative;
    margin: 0 10px;
}

.public-head__nav .list li .item {
    position: relative;
    padding: 0 20px;
    display: block;
    text-decoration: none;

    font-size: 16px;
    line-height: 1;
    color: #333;
    transition: color 0.3s ease-in-out;
    height: 79px;
    line-height: 79px;
    text-align: center;
}
.public-head__nav .list li .item::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3px;
    width: 0;
    height: 3px;
    background-color: var(--theme-color);
    transition: var(--transition);
}
.public-head__nav .list .active .item {
    font-weight: 700;
}
.public-head__nav .list .active .item::after {
    width: 100%;
}
.public-head__nav--sub {
    position: absolute;
    top: 76px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    display: none;
    transition: var(--transition);
    box-sizing: border-box;
    text-align: center;
    transition: all 6s ease-in-out;
}
.public-head__nav--sub > ul {
    display: flex;
    padding: 15px 10px;
    background-color: #fff;
    box-sizing: border-box;
    flex-direction: column;
    box-shadow: var(--box-shadow);
}
.public-head__nav .list > li.pc-subnav-active .public-head__nav--sub {
    display: block;
    width: 160px;
}
.public-head__nav--sub ul > li > a:hover::before {
    background-color: var(--theme-color);
}

.public-head__nav--sub ul > li > a {
    display: block;
    position: relative;
    font-size: 14px;
    color: #333;
    padding: 8px 0;
}
.public-head__nav--sub ul > li > a:hover {
    color: var(--theme-color);
}
/* 搜索 */
.public-head__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    color: #333;
    display: flex;
    align-items: center;
}

.public-search {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.public-search__box {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 50px;
    padding: 4px 4px 4px 20px;
    /* box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); */
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border:1px solid var(--border-color);
}

.public-search__input {
    /* width: 0; */
    border: none;
    background: transparent;
    outline: none;
    padding: 0;
    font-size: 16px;
    height: 30px;
    /* line-height: 36px; */
    color: #333;
    transition: all 0.5s ease;
    /* opacity: 0; */
    width: 130px;
    padding-right: 10px;
}

.public-search__btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #a2a2a3;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 0;
}

.public-search__btn:hover {
    background: #00a0d2;
    transform: rotate(15deg);
}

.public-search__btn {
    font-size: 20px;
    color: white !important;
}

/* 展开状态 */
/* .public-search__box.expanded {
    padding: 5px 5px 5px 20px;
} */

/* .public-search__box.expanded .public-search__input {
    width: 130px;
    padding-right: 10px;
    opacity: 1;
} */
.public-contact {
    position: relative;
    width: 38px;
    height: 38px;
    border: 1px solid var(--border-color);
    line-height: 38px;
    text-align: center;
    border-radius: 50%;
    margin: 0 15px;
    cursor: pointer;
    background-color: #fff;
}
.public-contact .zonericon-email {
    font-size: 26px;
    color: #666;
}
.public-contact .tooltip {
    position: absolute;
    top: 55px;
    right: -20px;
    padding: 6px;
    border-radius: 4px;
    box-shadow: 0 0 16px 0 #1c212914;
    font-size: 14px;
    color: #000;
    display: none;
    background: #fff;
    border: 1px solid #e4e1e1;
}
.public-contact .tooltip::after {
    content: "";
    position: absolute;
    top: -10px;
    right: 30px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #e4e1e1;
}
.public-contact .tooltip .pic {
    width: 104px;
    height: 104px;
}
.public-contact .tooltip .txt {
    white-space: nowrap;
    text-align: center;
    font-size: 12px;
    color: #b0b3b8;
    margin-top: 0;
    line-height: 1.6;
}
.public-contact .zonericon-weixin {
    font-size: 26px;
    color: #666;
}
/* .public-contact:hover {
    background-color: #00a0d2;
    border-color: #00a0d2;
    color: #fff;
} */

.public-contact:hover .zonericon-weixin {
    background-color: #fff;
    border-radius: 50%;
    color: var(--theme-color);
}
.public-contact:hover .tooltip {
    display: block;
}
.public-main {
    overflow: hidden;
}
/* 尾部 */
.public-footer-wrap {
    border-top: 1px solid var(--border-color);
    padding-top: 65px;
    background-color: #f7f7f7;
}
.public-footer-bg {
    background: url("../images/bg_line_top.png") no-repeat;
    background-size: 290px auto;
    background-repeat: no-repeat;
    background-position: bottom left;
}
.public-footer {
    max-width: 1300px;
    min-width: 1200px;
    margin: 0 auto;
    padding: 0 0 0 50px;
    box-sizing: border-box;
    background-color: rgba(247, 247, 247, 0.8);
    box-sizing: border-box;
}
.public-footer__con {
    display: flex;
    box-sizing: border-box;
}
.public-footer__contact {
    width: 40%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.public-footer__contact .pic-logo {
    width: 250px;
    display: block;
}

.public-footer__contact .pic-logo .pic {
    width: 100%;
    display: block;
}
.public-footer__contact .info {
    margin-top: 20px;
    font-size: 14px;
    color: #333;
}
.public-footer__contact .info > p {
    margin-bottom: 10px;
}
.public-footer__nav {
    flex: 1;
    display: flex;
    gap: 10px;
    overflow: hidden;
    justify-content: right;
}
.public-footer__nav dl {
    padding-left: 50px;
}
.public-footer__nav dl dt {
    padding-bottom: 15px;
    margin-bottom: 10px;
    position: relative;
}
.public-footer__nav dl dt a {
    display: block;
    color: #333;
    font-size: 18px;
    text-align: center;
}
.public-footer__nav dl dt a:hover {
    text-decoration: underline;
}
.public-footer__nav dl dd {
    line-height: 30px;
}
.public-footer__nav dl dd a {
    display: block;
    color: #666;
    font-size: 14px;
}
.public-footer__nav dl dd a:hover {
    text-decoration: underline;
}
.public-footer__line {
    text-align: right;
    margin-top: 50px;
}
.public-footer__line a {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #333;
}
.public-footer__line a:hover {
    opacity: 0.7;
}
.public-footer__code {
    margin-top: 50px;
    padding: 30px 0;
    border-top: 1px solid var(--border-color);
    display: flex;
}
.public-footer__code--item {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.public-footer__code--item .info {
    flex: 1;
    overflow: hidden;
    text-align: right;
    padding-right: 30px;
    box-sizing: border-box;
}
.public-footer__code--item .info-title {
    font-size: 18px;
    color: #333;
}
.public-footer__code--item .info-desc {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
}
.public-footer__code--item .pic-img {
    overflow: hidden;
    width: 90px;
}
.public-footer__code--item .pic-img .pic {
    display: block;
    width: 100%;
}
.public-footer__copyright {
    background-color: #f1f1f1;
    padding: 30px;
    color: #999;
    text-align: center;
    line-height: 1.5;
}
.public-footer__copyright a {
    color: #999 !important;
    padding-left: 15px;
}
.public-footer__top {
    position: fixed;
    right: 10px;
    bottom: 30px;
    z-index: 9;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border: 1px solid #ccc;
    text-align: center;
    line-height: 50px;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
    font-size: 46px;
    display: block;
}
.public-footer__top:hover {
    background-color: #f5f5f5;
}

/* 公共分页 */
.public-page {
    overflow: hidden;
    margin: 40px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.public-page a,
.public-page span {
    display: inline-block;
    padding: 0 10px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #ccc;
    margin-right: 8px;
    color: #666;
    font-size: 14px;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
    border-radius: 4px;
}
.public-page a:hover,
.public-page .thisclass {
    background-color: #00a0d2;
    border-color: #00a0d2;
    color: #fff;
}

/* 公共左侧悬浮菜单 */
.public-leftnav-fixed {
    position: fixed;
    top: 20%;
    left: 0;
    z-index: 9;
    /* opacity: 0; */
    display: none;
    transform: translateY(120px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    padding: 0 15px;
    background-color: rgba(255, 255, 255, 0.7);
    text-align: center;
}
.public-leftnav-fixed-active {
    transform: translateX(0);
    display: block;
}
.public-leftnav-fixed a {
    display: block;
    line-height: 36px;
    font-size: 14px;
    position: relative;
    transition: all 0.4s ease;
    margin-bottom: 3px;
}
.public-leftnav-fixed a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--theme-color);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
}
.public-leftnav-fixed a.active,
.public-leftnav-fixed a:hover {
    color: var(--theme-color);
}
.public-leftnav-fixed a.active::before {
    width: 100%;
    opacity: 1;
}
/* .public-leftnav-fixed a:hover::before {
    width: 100%;
    opacity: 1;
} */

/* 公共标题样式 */
.public-title {
    position: relative;
    z-index: 1;
    margin: 0 0 50px;
    text-align: center;
}
.public-title__text {
    font-size: var(--font-size-40);
    line-height: 40px;
    font-weight: var(--font-weight-bold);
    text-align: center;
    margin-bottom: 20px;
    color: #033443;
}
.public-title__sub {
    color: var(--gray-color);
    line-height: var(--line-height-16);
}
/* .public-title__en {
    font-family: "Arial", sans-serif;
} */

.public-box-pt {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    padding-top: var(--padding-top100);
    /* padding-bottom: var(--padding-bottom50); */
}
/* 内页公共banner样式 */
.public-banner-wrap {
    overflow: hidden;
    min-height: 400px;
    background-color: #f4f4f4;
}
.public-banner {
    position: relative;
    overflow: hidden;
    min-height: 400px;
    /* animation: sliderSmall 6s linear 0s; */
}
.public-banner__con{
    display: flex;
    align-items: center;
    min-height: 400px;
    justify-content: space-between;
}
.public-banner__tit{
    font-size: 44px;
    font-weight: 700;
    /* color: #fff; */
    padding: 0 20px 30px;
    line-height: 46px;

}
.public-banner__des{
    font-size: 20px;
    /* color: #fff; */
    padding: 0 20px;
    max-width: 614px;
    line-height: 1.7;
}
.public-banner__pic{
    width: 320px;
    height: 210px;
    overflow: hidden;
    margin-right: 30px;
}
.public-banner__pic img{
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 4px;
}
.public-txt {
    opacity: 0;
    animation: fadeIn 1.5s ease-out forwards;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.6);
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 22%;
}
.public-txt .words {
    font-size: 50px;
    line-height: 55px;
    margin-bottom: 10px;
    color: var(--theme-color);
}
.public-txt .en {
    font-size: 22px;
    color: var(--theme-color);
}
@keyframes sliderSmall {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        /* height: 0; */
        transform: translateX(-100%);
    }

    100% {
        opacity: 1;
        /* height: 100%; */
        transform: translateX(0);
    }
}
/* 公共二级导航选项卡 */
.public-tab-nav {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    /* justify-content: right; */
    flex-wrap: wrap;
    /* margin-top: 10px; */
    /* margin-bottom: 20px; */
    line-height: 40px;
}
.public-tab-nav a {
    position: relative;
    display: block;
    padding: 3px 25px;
    transition: all 0.6s ease-in-out;
}
.public-tab-nav a::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 1;
    width: 1px;
    height: 14px;
    background-color: #cac9c9;
}
.public-tab-nav a:last-child::before {
    display: none;
}
.public-tab-nav a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    /* left: 0;
    right: 0; */
    z-index: -1;
    height: 2px;
    width: 0;
    background-color: var(--theme-color);
    transition: all 0.6s ease-in-out;
    /* border-radius: 6px; */
}
.public-tab-nav a:hover {
    color: var(--theme-color);
}
.public-tab-nav a:hover::after {
    width: 70%;
}
/* 返回列表 */
.public-back-list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 20px;
}
.public-back-list a {
    display: inline-block;
    padding: 8px 20px;
    background-color: rgba(247, 247, 247, 0.8);
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
    border: 1px solid #ccc;
}
.public-back-list a:hover {
    background-color: var(--theme-color);
    color: #fff;
    border-color: var(--theme-color);
}

/* 头部第二版 */
/* 导航栏容器 */
.navbar {
    background-color: #ffffff;
    width: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    position: sticky; /* 粘性导航，滚动时固定在顶部 */
    top: 0;
    z-index: 999;
}
/* 主菜单项容器 */
.nav-items {
    display: flex;
}

/* 主菜单项 */
.nav-items > li {
    position: relative;
    margin: 0 2px;
}

/* 主菜单链接 */
.nav-items > li > a {
    display: block;
    padding: 0 20px;
    line-height: 76px;
    transition: all 0.2s ease;
    position: relative;
    font-size: 18px;
    color: #ffffff;
    
}
.public-head--fixed .nav-items > li > a {
    color: #333;
}
.public-theme-head .nav-items > li > a {
    color: #333;
}

/* 主菜单链接hover效果：底部彩色下划线 */
/* .nav-items > li > a:hover {
            color: var(--theme-color);
        } */
.nav-items > li.active > a::after,
.nav-items > li > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    background-color: var(--theme-color);
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.nav-items > li.active > a::after,
.nav-items > li > a:hover::after {
    width: 80%;
}

/* 下拉箭头图标 */
.nav-items > li > a .arrow {
    margin-left: 6px;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.nav-items > li:hover > a .arrow {
    transform: rotate(180deg);
}

/* 二级菜单 */
.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    min-width: 160px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-radius: var(--border-radius);
    padding: 10px 0;
    display: none; /* 默认隐藏 */
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.1s ease;
    z-index: 11;
}

/* 二级菜单项链接 */
.dropdown > li > a {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    font-size: 14px;
    transition: all 0.2s ease;
}

/* 二级菜单图标 */
/* .dropdown > li > a i {
            margin-right: 10px;
            font-size: 14px;
            color: #999;
        } */

/* 二级菜单hover效果 */
.dropdown > li > a:hover {
    background-color: #f8f9fa;
    color: var(--theme-color);
    /* background-color: var(--theme-color);
    color: #fff; */
    padding-left: 25px;
    font-weight: 700;
}

/* 公共面包屑 */
.public-breadcrumb{
    display: flex;
    align-items: center;
    font-size: 14px;
    margin: 10px 15px;
    color: #999;
}
.public-breadcrumb a{ padding: 0 4px; color: #999;}