.banner-section {
    position: relative;
    width: 100%;
    height: 100vh;
    margin-bottom: 96px;
}

.banner-section .el-carousel .el-carousel__item {
    display: flex;
    justify-content: center;
}

.banner-section .el-carousel .el-carousel__item img {
    width: auto;
    height: 100%;
}

.banner-section .banner-content {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
}

.banner-section .banner-content .banner-apply {
    display: block;
    width: 176px;
    height: 58px;
    line-height: 58px;
    border-radius: 4px;
    border: 1px solid #FFF;
    font-size: 14px;
    color: #FFF;
    text-align: center;
    cursor: pointer;
    user-select: none;
}

.dynamic-section {
    width: 1200px;
    margin: 0 auto 96px;
    display: flex;
}

.dynamic-section .dynamic-left {
    flex: 1;
    margin-right: 60px;
}

.title {
    display: flex;
    flex-direction: column;
}

.title p {
    font-weight: 600;
    font-size: 30px;
    color: #1E237F;
    line-height: 45px;
    margin-bottom: 12px;
}

.title span {
    display: inline-block;
    width: 51px;
    height: 3px;
    background: #1E237F;
    opacity: 0.6;
}

.textEllipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dynamic-section .dynamic-left .title {
    margin-bottom: 69px;
}

.dynamic-section .dynamic-left .dynamic-list .dynamic-items {
    display: block;
    max-width: 575px;
    font-size: 22px;
    color: #000;
    line-height: 21px;
    margin-bottom: 32px;
}

.dynamic-section .dynamic-left .dynamic-list .dynamic-items:last-child {
    margin-bottom: 0;
}

.dynamic-section .dynamic-left .dynamic-more a {
    display: block;
    width: 104px;
    height: 40px;
    line-height: 40px;
    background: #1E237F;
    border-radius: 30px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: #FFF;
    margin-top: 50px;
}

.dynamic-section .dynamic-right {
    width: 548px;
    height: 451px;
}

.dynamic-section .dynamic-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.project-section,
.interest-section,
.map-section,
.growth-section,
.video-section,
.plan-section {
    width: 1200px;
    margin: 0 auto 96px;
}

.project-section .title {
    text-align: center;
    margin-bottom: 80px;
}

.project-section .title span,
.interest-section .title span,
.map-section .title span,
.position-section span,
.growth-section span,
.video-section span,
.plan-section span {
    margin: 0 auto;
}

.project-section .project-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.project-section .project-list .project-item {
    position: relative;
    width: 276px;
    height: 276px;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
}

.project-section .project-list .project-item .item-img {
    width: 100%;
    height: 100%;
}

.project-section .project-list .project-item .item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-section .project-list .project-item .item-info {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 28px;
}

.project-section .project-list .project-item .item-info .name {
    font-weight: 500;
    font-size: 24px;
    color: #FFF;
    line-height: 34px;
}

.project-section .project-list .project-item .item-info .describe {
    font-size: 14px;
    color: #FFF;
    line-height: 20px;
    margin-top: 3px;
}

.interest-section .title {
    text-align: center;
    margin-bottom: 73px;
}

.interest-section .interest-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.interest-section .interest-list .interest-items {
    width: 584px;
    height: 176px;
    background: #66C2FF;
    border-radius: 16px;
    padding: 0 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.interest-section .interest-list .interest-items .items-left {
    width: 380px;
}

.interest-section .interest-list .interest-items .items-left p:first-child {
    font-weight: 500;
    font-size: 28px;
    color: #FFF;
    line-height: 36px;
}

.interest-section .interest-list .interest-items .items-left p:nth-child(2) {
    font-size: 16px;
    color: #FFF;
    line-height: 24px;
    margin-top: 3px;
}

.interest-section .interest-list .interest-items .items-right {
    width: 78px;
}

.interest-section .interest-list .interest-items .items-right img {
    width: 100%;
}

.map-section .title {
    text-align: center;
    margin-bottom: 72px;
}

.map-section .map-wrap {
    width: 100%;
    height: 930px;
    position: relative;
}

.map-section #mapContainer {
    width: 100%;
    height: 100%;
}

.map-section #mapContainer canvas {
    border-radius: 16px;
}

.map-section .map-info {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1001;
}

.map-section .map-info .marks {
    position: absolute;
    width: 33px;
    height: auto;
}

.map-section .map-info .marks .markCon {
    position: relative;
    z-index: 1;
    width: 32px;
    height: 37px;
}

.map-section .map-info .marks .markCon img {
    width: 28px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    opacity: 0;
    transition: all 0.5s;
}

.map-section .map-info .marks .markCon .leave,
.map-section .map-info .marks .markCon:hover .enter {
    opacity: 1;
}

.map-section .map-info .marks .markCon .enter,
.map-section .map-info .marks .markCon:hover .leave {
    opacity: 0;
}

.map-section .map-info .marks.Beijing {
    left: 742px;
    top: 269px;
}

.map-section .map-info .marks.NeiMongol {
    left: 735px;
    top: 206px;
}

.map-section .map-info .marks.Ningxia {
    left: 584px;
    top: 329px;
}

.map-section .map-info .marks.Hunan {
    left: 673px;
    top: 496px;
}

.map-section .map-info .marks.Jiangxi {
    left: 729px;
    top: 497px;
}

.map-section .map-info .marks.Fujian {
    left: 764px;
    top: 522px;
}

.map-section .map-info .marks.Zhejiang {
    left: 784px;
    top: 480px;
}

.map-section .map-info .marks.Taiwan {
    left: 811px;
    top: 559px;
}

.map-section .map-info .marks.Shandong {
    left: 764px;
    top: 349px;
}

.map-section .map-info .marks.Jiangsu {
    left: 795px;
    top: 408px;
}

.map-section .map-info .marks.Liaoning {
    left: 848px;
    top: 239px;
}

.map-section .map-info .marks.Heilongjiang {
    left: 917px;
    top: 128px;
}

.map-section .map-info .marks.Guangdong {
    left: 712px;
    top: 557px;
}

.map-section .map-info .marks.Guizhou {
    left: 600px;
    top: 513px;
}

.map-section .map-info .marks.Hebei {
    left: 723px;
    top: 311px;
}

.map-section .map-info .marks.Hubei {
    left: 682px;
    top: 439px;
}

.map-section .map-info .marks.Jilin {
    left: 888px;
    top: 206px;
}

.map-section .map-info .marks.Shanxi {
    left: 683px;
    top: 328px;
}

.map-section .map-info .marks.Shaanxi {
    left: 623px;
    top: 390px;
}

.map-section .map-info .marks.Sichuan {
    left: 539px;
    top: 445px;
}

.map-section .map-info .marks.Chongqing {
    left: 598px;
    top: 464px;
}

.map-section .map-info .marks.Tianjin {
    left: 772px;
    top: 295px;
}

.map-section .map-info .marks.Anhui {
    left: 758px;
    top: 435px;
}

.map-section .map-info .marks.Gansu {
    left: 555px;
    top: 364px;
}

.map-section .map-info .marks.Qinghai {
    left: 447px;
    top: 351px;
}

.map-section .map-info .marks.Xinjiang {
    left: 278px;
    top: 266px;
}

.map-section .map-info .marks.Xizang {
    left: 330px;
    top: 434px;
}

.map-section .map-info .marks.Yunnan {
    left: 524px;
    top: 549px;
}

.map-section .map-info .marks.Guangxi {
    left: 629px;
    top: 558px;
}

.map-section .map-info .marks.Hainan {
    left: 655px;
    top: 632px;
}

.map-section .map-info .marks.Henan {
    left: 699px;
    top: 390px;
}

.map-section .map-info .marks.HongKong {
    left: 713px;
    top: 597px;
}

.map-section .map-info .marks.Macao {
    left: 697px;
    top: 597px;
}

.map-section .map-info .marks.Shanghai {
    left: 824px;
    top: 440px;
}

.map-section .map-info .marks .loader {
    width: 32px;
    height: 32px;
    display: inline-block;
    position: relative;
    top: -16px;
}

.map-section .map-info .marks .loader::after,
.map-section .map-info .marks .loader::before {
    content: '';
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 117, 194, 0.5);
    position: absolute;
    left: 0;
    top: 0;
    animation: animloader 2s linear infinite;
}

.map-section .map-info .marks .loader::after {
    animation-delay: 1s;
}

@keyframes animloader {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0;
    }
}

.el-popper,
.el-popper .el-popper__arrow::before {
    border: 1px solid #0075C2 !important;
}

.el-popper {
    padding: 0 !important;
}

.el-popper .el-popover__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 49px;
    padding: 0 16px 0 12px;
    font-size: 18px;
    color: rgba(0, 0, 0, 0.85);
    border-bottom: 1px solid rgba(0, 0, 0, 0.02);
    font-weight: 600;
}

.el-popper .el-tree {
    padding: 0 5px 20px;
    border-radius: 0 0 4px 4px;
    max-height: 200px;
    overflow-y: auto;
}

.el-popper .el-tree::-webkit-scrollbar {
    width: 4px;
    height: 1px;
}

.el-popper .el-tree::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: #C1C1C1;
}

.el-tree .el-tree-node__content {
    font-size: 14px;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.85);
    border-radius: 4px;
}

.el-tree .el-tree-node__content:hover {
    background-color: rgba(0, 117, 194, 0.1) !important;
    color: #0075C2;
}

.el-tree .el-tree-node__content:hover .el-icon {
    color: #0075C2;
}

.el-tree .el-tree-node:focus > .el-tree-node__content {
    background-color: initial;
}

.el-tree .el-tree-node__label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.position-section {
    padding: 40px 0;
    height: 650px;
    background: url("../images/position_bg.png") center center / cover no-repeat;
    margin-bottom: 96px;
}

.position-section .title {
    text-align: center;
    margin-bottom: 40px;
}

.position-section .position-tab {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.position-section .position-tabs {
    width: 160px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 20px;
    margin: 0 20px;
    background: transparent;
    font-size: 22px;
    color: rgba(0, 0, 0, 0.65);
    cursor: pointer;
}

.position-section .position-tabs.active {
    background: rgba(30, 35, 127, 0.1);
    color: #1E237F;
}

.position-section .position-list {
    display: flex;
    flex-wrap: wrap;
    gap: 22px 32px;
    width: 1200px;
    margin: 0 auto;
}

.position-section .position-list .position-items {
    width: 378px;
    height: 151px;
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #E9ECF0;
    display: block;
}

.position-section .position-items .position-name {
    padding: 24px 20px 9px;
    font-weight: 500;
    font-size: 16px;
    color: #1E2126;
    line-height: 24px;
}

.position-section .position-items .position-info {
    padding: 0 20px;
    font-size: 14px;
    color: #1E2126;
    line-height: 20px;
}

.position-section .position-items .position-info span i {
    display: inline-block;
    width: 1px;
    height: 10px;
    background: #BFBFBF;
    margin: 0 8px;
}

.position-section .position-items .position-info span:last-child i {
    display: none;
}

.position-section .position-items .position-footer {
    border-top: 1px solid #E9ECF0;
    margin-top: 24px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    height: 50px;
}

.position-section .position-items .position-footer img {
    display: block;
    width: 82px;
    margin-right: 12px;
}

.position-section .position-items .position-footer p {
    font-size: 14px;
    color: #1E2126;
}

.position-section .position-more a {
    display: block;
    width: 104px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #1E237F;
    border-radius: 30px;
    margin: 31px auto 0;
    font-weight: 600;
    font-size: 14px;
    color: #FFF;
}

.growth-section .title {
    text-align: center;
    margin-bottom: 60px;
}

.growth-section .growth-wrap {
    width: 1255px;
    display: flex;
}

.growth-section .growth-wrap .growth-left {
    width: 720px;
    height: 450px;
    border-radius: 16px;
    overflow: hidden;
    margin-right: 103px;
}

.growth-section .growth-wrap .growth-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.growth-section .growth-wrap .growth-right {
    flex: 1;
    height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.growth-section .growth-title {
    font-weight: 600;
    font-size: 22px;
    color: #000;
    line-height: 31px;
    margin-bottom: 12px;
    padding: 0 25px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.growth-section .growth-list .growth-items {
    width: 432px;
    height: 104px;
    background: transparent;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 25px;
    margin-bottom: 6px;
}

.growth-section .growth-list .growth-items:last-child {
    margin-bottom: 0;
}

.growth-section .growth-list .growth-items .growth-items-title {
    font-weight: 600;
    font-size: 18px;
    color: #000;
    line-height: 25px;
}

.growth-section .growth-list .growth-items .growth-items-subtitle {
    font-size: 14px;
    color: #666;
    line-height: 20px;
    margin-top: 8px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.growth-section .growth-list .growth-items.active {
    background: #1E237F;
}

.growth-section .growth-list .growth-items.active p {
    color: #fff;
}

.video-section .title {
    text-align: center;
    margin-bottom: 60px;
}

.video-section .video-poster {
    height: 620px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.video-section .video-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-section .video-poster .video-play {
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.videoDialog .el-dialog__header,
.videoDialog .el-dialog__body {
    padding: 0;
    margin: 0;
}

.videoDialog .el-dialog__header .el-dialog__close {
    color: #fff;
    z-index: 1;
}

.videoDialog .el-dialog__body video {
    display: block;
    width: 100%;
}

.plan-section .title {
    text-align: center;
    margin-bottom: 60px;
}

.plan-section .plan-info ul li {
    list-style: inherit;
}

.plan-section .plan-info ul li,
.plan-section .plan-info ol li {
    list-style: inherit;
}

.plan-section .plan-info ul,
.plan-section .plan-info ol {
    list-style: revert;
    padding-left: revert;
    margin: 0;
}

.plan-section .plan-info blockquote {
    border-left: 2px solid #ccc;
    margin-left: 1.5em;
    padding-left: 1em;
}