html,
body {
    height: 100%;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "Roboto", "SF Pro SC", "SF Pro Display", "SF Pro Icons", "PingFang SC", BlinkMacSystemFont, -apple-system, "Segoe UI", "Microsoft Yahei", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-weight: 400;
    margin: 0;
}

a {
    -webkit-transition: all 0.35s;
    -moz-transition: all 0.35s;
    transition: all 0.35s;
    color: #474157;
}

a:hover,
a:focus {
    color: #474157;
}

hr {
    max-width: 100px;
    margin: 25px auto 0;
    border-width: 1px;
    border-color: rgba(34, 34, 34, 0.1);
}

hr.light {
    border-color: white;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    font-weight: 200;
    letter-spacing: 1px;
}

p {
    
    margin-bottom: 20px;
}
section img{
    max-width: 100% !important;
}
:root {
            --primary: #E70011;
            --primary-light: #FF4D5F;
            --primary-dark: #C0000D;
            --secondary: #1A1A1A;
            --accent: #2C3E50;
            --text: #333333;
            --text-light: #666666;
            --background: #F8F9FA;
            --border: #E5E7EB;
        }
        
        body {
            font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
            color: var(--text);
            background-color: var(--background);
        }
        .bannerSwiper {
            height: 100vh;
            padding-top: 80px;
        }

        .dropdown {

        }
        .nav-link {
            position: relative;
            /* padding: 0.5rem 0; */
            transition: all 0.3s ease;
            color: var(--text);
            line-height: 5rem;
            padding-bottom: 10px;
        }
        
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background-color: var(--primary);
            transition: width 0.3s ease;
        }
        
        .nav-link:hover {
            color: var(--primary);
        }
        
        .nav-link:hover::after {
            width: 100%;
        }

        .hero-overlay {
            background: linear-gradient(45deg, rgba(0,0,0,0.8), rgba(0,0,0,0.4));
        }

        .service-card {
            transition: all 0.3s ease;
            border: 1px solid var(--border);
            background: white;
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.05);
            border-color: var(--primary-light);
        }

        .team-card {
            background: white;
            border-radius: 1rem;
            overflow: hidden;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
        }

        .team-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }

        .news-card {
            transform: translateY(0);
            transition: all 0.5s ease;
        }

        .news-card:hover {
            transform: translateY(-10px);
        }
        
        .news-card::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: var(--primary);
            transform: scaleX(0);
            transition: transform 0.5s ease;
            transform-origin: left;
        }
        
        .news-card:hover::after {
            transform: scaleX(1);
        }

        .section-title {
            position: relative;
            display: inline-block;
            margin-bottom: 3rem;
            color: var(--text);
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 50px;
            height: 3px;
            background-color: var(--primary);
        }
        .teambox-title{
            margin-bottom: 0 !important;
        }

        .stats-card {
            background: white;
            color: var(--text);
            border-radius: 1rem;
            padding: 2rem;
            text-align: center;
            transition: all 0.3s ease;
            border: 1px solid var(--border);
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
        }

        .stats-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }

        .stats-card .counter {
            color: var(--primary);
        }

        .btn-primary {
            background: var(--primary);
            color: white;
            padding: 0.75rem 2rem;
            border-radius: 0.5rem;
            transition: all 0.3s ease;
            font-weight: 500;
        }

        .btn-primary:hover {
            background: var(--primary-dark);
            transform: translateY(-2px);
            box-shadow: 0 4px 6px rgba(231,0,17,0.2);
        }

        .btn-outline {
            background: transparent;
            border: 2px solid white;
            color: white;
        }

        .btn-outline:hover {
            background: white;
            color: var(--primary);
        }

        .contact-form input,
        .contact-form textarea {
            background: white;
            border: 1px solid var(--border);
            color: var(--text);
            transition: all 0.3s ease;
        }

        .contact-form input:focus,
        .contact-form textarea:focus {
            border-color: var(--primary-light);
            box-shadow: 0 0 0 3px rgba(231,0,17,0.1);
            outline: none;
        }

        .footer {
            background: var(--secondary);
            color: white;
        }

        .footer a {
            color: var(--text-light);
            transition: all 0.3s ease;
        }

        .footer a:hover {
            color: white;
        }

        .social-icon {
            color: var(--text-light);
            transition: all 0.3s ease;
        }

        .social-icon:hover {
            color: var(--primary-light);
            transform: translateY(-2px);
        }

        @media (max-width: 768px) {
            .mobile-menu {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                padding: 1rem;
                box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            }
            
            .mobile-menu.active {
                display: block;
            }
        }

        .counter {
          font-variant-numeric: tabular-nums;
        }
        
        /* 画廊相关样式 */
        .gallery-filter {
          position: relative;
          transition: all 0.3s ease;
        }
        
        .gallery-filter.active {
          color: var(--primary);
          border-color: var(--primary);
          background-color: rgba(231, 0, 17, 0.05);
        }
        
        .gallery-item {
          transition: opacity 0.3s ease;
        }
        
        /* 初始状态下懒加载图片占位效果 */
        .lazy-image {
          background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
          background-size: 200% 100%;
          animation: 1.5s shine linear infinite;
        }
        
@keyframes shine {
    to {
    background-position-x: -200%;
    }
}

/* 图片加载完成后的淡入效果 */
.lazy-image[src^="image/"] {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* 自定义四周均匀阴影 */
.shadow-even {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.shadow-even-hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
/* 精致分隔线动画 */
.divide-x>div:not(:first-child):before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 40%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.1), transparent);
    transform: translateY(-50%);
    transition: height 0.3s ease;
}
.divide-x>div:not(:first-child):hover:before {
    height: 60%;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.3), transparent);
}

/* 数字悬停效果 */
.group:hover .counter {
    text-shadow: 0 0 8px rgba(255,255,255,0.3);
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 计数器样式 */
.counter {
    font-variant-numeric: tabular-nums;
}
.business .item {
    padding: 20px 8px;
}
.business .item .grid {
    gap: .5rem;
}
.business .item .grid span{
    padding: 0.5rem 1rem;
    background-color: rgb(243 244 246 / 1);
    border-radius: 0.5rem;
}
.index-abouttitle{
    position: absolute;
}     
.index-aboutcontent p{
    font-size: 15px !important;
    text-align: justify;
}

.lawyer-new-card-container {
    background-color: #fff;
    /* box-shadow: 5px 5px 13px #ddd; */
    border-radius: 10px;
    border: 1px solid #ddd;
}

.lawyer-new-card-container .link-container {
    background: url(../image/finger-print-lawyer.png) no-repeat;
    background-size: cover;
    background-position: 50%
}

/* .lawyer-new-card-container:hover .lawyer-name,.lawyer-new-card-container:hover .lawyer-other-info {
    color: #d49a4d
} */

.lawyer-new-card-container .lawyer-avator {
    height: 316px!important;
    width: auto!important
}

.lawyer-new-card-container .lawyer-tips-img {
    background: url(../image/lawyer-dec.png) no-repeat;
    background-size: cover
}

.lawyer-new-card-container .lawyer-other-info {
    color: rgba(51,51,51,.8)
}

.lawyer-new-card-container .lawyer-avator-container {
    width: 250px;
    height: 316px;
    transition: transform .3s ease-in-out;
    max-width: 50%;
}

.lawyer-new-card-container:hover .lawyer-avator-container {
    transform: scale(1.1) translateY(-15px)
}
.lawyer-new-card-container .min-size-lawyer-info-container{
    padding: 56px 22px 14px 22px;
}
.lawyer-new-card-container .link-container{
    min-height: 242px;
}
.tags-gap .tag{
    background-color: #333;
    color: #fff;
}
.tags-gap .tag:nth-child(2n-1){
    background-color: #fff;
    color: #000;
    border: 1px solid #666;
}
/* .nav{}
.nav .dropdown {}
.nav .dropdown .dropdown-menu{
    display: none;
}
.nav .dropdown:hover .dropdown-menu{
    display: block;
} */





.news-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.news-item {
    transition: all 0.3s ease;
}
.pagination-item.active {
    background-color: #E70011;
    color: white;
}
.text-primary {
    color: #E70011;
}
.bg-primary {
    background-color: #E70011;
}
.hover\:text-primary:hover {
    color: #E70011;
}
.border-primary {
    border-color: #E70011;
}
.text-primary-light {
    color: #FF5A5F;
}




.pagesbox{
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagesbox #pages{
    display: flex;
}
.pagesbox #pages li{
    margin: 2px;
}
.pagesbox #pages a,
.pagesbox #pages span{
    padding: 4px 10px;
    border: 1px solid #333;
    display: block;
}
.pagesbox #pages .active{
    background-color: #E70011;
    color: #fff;
}
.pagesbox #pages .disabled{
    color: #999;
}
.pagesbox #pages .disabled span{
    border: 1px solid #999;
}
.pagesbox #pages a{
    color: #333;
}
.pagesbox #pages a:hover{
    background-color: #E70011;
    color: #fff;
}


.teamlist{
    margin: 40px 0 60px;
}
.teamlist .team-item{
    margin-top: 80px;
}

.custom-card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
}


.teambox{
    width: 100%;
    height: 780px;
}
.teambox .swiper {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 120px;
}

.teambox .swiper-slide {
  font-size: 18px;
  /* background: #fff; */
  height: calc((100% - 30px) / 2) !important;
}
.swiper-pagination-bullet{
    width: 10px;
    height: 4px;
    background-color: #666;
    border-radius: 0;
}

.yqytext{
    background: linear-gradient(135deg, #E70011, #8C000A);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}



/* .culture{
    background: url(../../../img/huanjing.png) no-repeat;
    background-size: cover;
    background-position: 50%;
} */


.teamlist{
    height: auto !important;
}
.breadcrumb {
    padding: 0 20px;
}
.listsortnav .item{
    padding: 8px 16px;
    margin: 0 5px;
}





@media (max-width: 1024px) {
    .bannerSwiper{
        height: 70vw;
        padding-top: 5rem;
    }
    .index-statistics{
        background-color: rgba(0, 0, 0, .9) !important;
        height: auto !important;
    }
    .section-title{
        margin-bottom: 0 !important;
    }
    .business .item .grid span{
        padding: 2px 4px !important;
    }
    .business .item{
        padding: 6px 6px 12px 6px;
    }
    .business .item .grid{
        gap: 5px;
    }
    .index-abouttitle{
        position: relative;
        top: 0 !important;
    }
    .index-aboutcontent p{
        font-size: 14px !important;
    }
    .lawyer-new-card-container .lawyer-avator-container{
        width: auto;
        height: auto !important;
    }
    .lawyer-new-card-container .lawyer-avator {
        height: 50vw;
        width: auto!important;
        max-height: 270px;

    }
    .lawyer-new-card-container .min-size-lawyer-info-container{
        padding: 40px 16px 14px 16px;
    }
    .lawyer-new-card-container .link-container{
        /* min-height: 50vw; */
        padding-bottom: 60px;
    }
    .lawyer-new-card-container{
        margin-bottom: 20px;
    }
    footer svg{
        width: 1rem !important;
        flex:0 0 1rem;
    }
    footer li{
        font-size: 14px;
    }
    .copyright p{
        font-size: 14px;
    }
    .teambox{
        height: 620px;
    }
    .teambox .swiper{
        padding-top: 50px;
    }
    /* .teambox .swiper-slide{
        height: 40% !important;
    }
    .lawyer-new-card-container .link-container{
        height: 220px;
    } */
    .teamlist .team-item{
        margin-top: 0;
    }
    .lawyer-new-card-container:hover .lawyer-avator-container{
        transform: scale(1) translateY(0);
    }
}


@media (max-width: 768px) {
    .stats-section .group:nth-child(3){
        border: none;
    }
    .sub-title-fragment{
        display: none;
    }
    .listsortnav .item{
        display: block;
        box-sizing: border-box;
        width: 23%;
        text-align: center;
        padding: 6px 0;
        margin: 4px 1%;
    }    
    .lawyer-detail-introduce section{
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .lawyer-detail-introduce figure{
        width: 100%;
        height: 70vw;
    }
    .lawyer-detail-introduce .intropart{
        width: 100%;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .addsetion figure{
        margin-top: 20px;
    }
    .imhonors figure{
        width: 100%;
    }
    .stats-section .group{
        margin: 10px 0;
    }
}


