/* 公共类 */
:root {
    --font-size-h0: 3.625rem;
    --font-size-h1: 3.125rem;
    --font-size-h2: 2.625rem;
    --font-size-h3-5: 2.375rem;
    --font-size-h3: 2.125rem;
    --font-size-h4: 1.625rem;
    --font-size-h5: 1.25rem;
    --font-size-h6: 1.125rem;
    --font-size-p1: 1.125rem;
    --font-size-p2: 1rem;
    --font-size-p3: 0.875rem;
    /* 重复 */
    /* 常用字体大小 */
    --font-size-nav: 1.125rem;
    --font-size-nav-title: 2rem;
    --font-size-logo: 1.875rem;
    --font-size-large: 1.375rem;
    --font-size-m-large: 1.25rem;
    --font-size-base: 1.125rem;
    --font-size-medium: 1rem;
    --font-size-small: 0.875rem;
    --font-size-extra-small: 0.75rem;
    /* 常用字体 */
    --font-family-base: '微软雅黑', 'Microsoft YaHei', 'Alibaba-PuHuiTi', 'Alibaba-PuHuiTi';
    --font-family-ping-fang: '微软雅黑', 'Microsoft YaHei', 'PingFangSC', 'PingFang SC';
    --font-family-source-san: '微软雅黑', 'Microsoft YaHei', 'SourceHanSansCN', "SourceHanSansCN";
    --font-family-din-pro: '微软雅黑', 'Microsoft YaHei', "DINPro", "DINPro", sans-serif;

    /* 字体权重 */
    --font-weight-base: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 600;
    /* 顶部导航高度 */
    --header-height: 80px;

    /* 常用间距 */
    --spacing-120px: 120px;
    --spacing-100px: 100px;
    --spacing-80px: 80px;
    --spacing-60px: 60px;
    --spacing-40px: 40px;
    --spacing-30px: 30px;
    --spacing-24px: 24px;
    --spacing-20px: 20px;
    --spacing-16px: 16px;
    --spacing-15px: 15px;
    --spacing-14px: 14px;
    --spacing-12px: 12px;
    --spacing-10px: 10px;
    --spacing-8px: 8px;
    --spacing-5px: 5px;
    --spacing-2px: 2px;
    --spacing-1px: 1px;
    --spacing-0px: 0px;
    /* 常用颜色 */
    --color-primary: #0075C2;
    --color-primary-hover: #005CAD;
    --color-secondary: #0074C1;
    --color-secondary-hover: #343A40;
    --color-tertiary: #7B7F8F;
    --color-tertiary-hover: #343A40;
    --color-quaternary: #E6E6E6;
    --color-quaternary-hover: #D1D1D1;
    --color-quinary: #c5dded;
    --color-quinary-hover: #a8cfea;
    --color-senary: #F0F0F0;
    --color-senary-hover: #E6E6E6;
    --color-primary-text: #1D2129;
    --color-secondary-text: #7B7F8F;
    --color-tertiary-text: #fff;
    --color-light: #f8f9fa;
    --color-dark: #343a40;
    --color-white: #fff;
    --color-black: #000;
    /* 底部背景颜色 */
    --color-footer-bg: #0066cc;
    /* 线 */
    --color-footer-border: rgba(229, 229, 229, 0.13);
}

/* @media screen and (max-width: 1200px) {
    :root {
        --font-size-h0: 2.125rem;
        --font-size-h1: 1.975rem;
        --font-size-h2: 1.875rem;
        --font-size-h3-5: 1.375rem;
        --font-size-h3: 1.625rem;
        --font-size-h4: 1.25rem;
        --font-size-h5: 1.125rem;
        --font-size-h6: 1rem;
        --font-size-p1: 1rem;
        --font-size-p2: 0.875rem;
        --font-size-p3: 0.75rem;

        --font-size-logo: 1.25rem;
        --font-size-large: 1.125rem;
        --font-size-m-large: 1.125rem;
        --font-size-base: 0.875rem;
        --font-size-normal: 1rem;
        --font-size-small: 0.875rem;
        --font-size-extra-small: 0.75rem;
        --spacing-30px: 10px;
        --spacing-20px: 10px;
        --header-height: 60px;
        --spacing-120px: 20px;
        --spacing-80px: 20px;
        --spacing-40px: 20px;
    }
} */

/* 定位类 */
.relative {
    position: relative;
}

/*  flex 布局 */
.flex {
    display: flex;
    align-items: center;
}

.flex-j-start {
    justify-content: flex-start;
}

.flex-j-center {
    justify-content: center;
}

.flex-j-end {
    justify-content: flex-end;
}

.flex-j-between {
    justify-content: space-between;
}

.flex-j-around {
    justify-content: space-around;
}

.flex-a-start {
    align-items: flex-start;
}

.flex-a-end {
    align-items: flex-end;
}

.flex-a-center {
    align-items: center;
}

.flex-a-stretch {
    align-items: stretch;
}

.flex-c {
    display: flex;
    flex-direction: column;
}

.flex-r-gap-5 {
    display: flex;
    gap: var(--spacing-5px);
    align-items: center;
}

.flex-r-gap-10 {
    display: flex;
    gap: var(--spacing-10px);
    align-items: center;
    justify-content: space-between;
}

.flex-r-gap-20 {
    display: flex;
    gap: var(--spacing-20px);
    align-items: center;
    justify-content: space-between;
}

.flex-c-gap-10 {
    display: flex;
    gap: var(--spacing-10px);
    flex-direction: column;
}

.flex-c-gap-20 {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-20px);
}

.flex-c-gap-30 {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-30px);
}

/* 文本类 */
.ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.ellipsis-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.ellipsis-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.ellipsis-4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.ellipsis-5 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.ellipsis-6 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
}

.ellipsis-7 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden;
}

.ellipsis-8 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    overflow: hidden;
}

.ellipsis-9 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 9;
    overflow: hidden;
}

.z-index--1 {
    position: relative;
    z-index: -1;
}

.height-100 {
    height: 100%;
}

h1,
h1 a {
    font-size: var(--font-size-h1);
    font-weight: 700;
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h1 a:hover {
    color: var(--color-primary);
}

h2,
h2 a {
    font-size: var(--font-size-h3-5);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h2 a:hover {
    color: var(--color-primary);
}


h3,
h3 a {
    font-size: var(--font-size-h3);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h3 a:hover {
    color: var(--color-primary);
}

h4,
h4 a {
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h4 a:hover {
    color: var(--color-primary);
}

h5,
h5 a {
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h5 a:hover {
    color: var(--color-primary);
}

h6,
h6 a {
    font-size: var(--font-size-h6);
    font-weight: var(--font-weight-medium);
    line-height: 1.2;
    transition: all 0.3s ease-in-out;
}

h6 a:hover {
    color: var(--color-primary);
}

.p1 {
    font-size: var(--font-size-p1);
    line-height: 2;
}

.p2 {
    font-size: var(--font-size-p2);
    line-height: 2;
}

.p3 {
    font-size: var(--font-size-p3);
    line-height: 2;
}

.line-height-3 {
    line-height: 3;
}

.line-height-2 {
    line-height: 2;
}

.line-height-1-5 {
    line-height: 1.5;
}


/* 颜色类 */
.text-primary {
    color: var(--color-primary-text);
}

.text-secondary {
    color: var(--color-secondary-text);
}

.text-white {
    color: var(--color-white);
}

.text-black {
    color: var(--color-black);
}

.text-333 {
    color: #333;
}

.text-666 {
    color: #666;
}

.text-999 {
    color: #999;
}

/* 图片类 */
.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.img-cover-center {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.img-contain-center {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* 边距类 */
.margin-auto {
    margin: 0 auto;
}

.slideInUp {
    animation: slideInUp 0.8s ease-out;
}

.wow {
    visibility: hidden;
}

.speech-item {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s ease forwards;
}

.speech-item:nth-child(1) {
    animation-delay: 0.1s;
}

.speech-item:nth-child(2) {
    animation-delay: 0.2s;
}

.speech-item:nth-child(3) {
    animation-delay: 0.3s;
}

.speech-item:nth-child(4) {
    animation-delay: 0.4s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 动画 */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* @media screen and (max-width: 768px) {

    .xd-flex-c {
        flex-direction: column;
    }

    .xd-hidden {
        display: none;
    }
} */