/* ========== HTML根元素样式设置 ========== */
/* 设置根字体大小为视口宽度的1/19.2，用于rem单位适配；禁用文本大小调整；启用平滑滚动；设置滚动条样式 */
html {
  font-size: calc(100vw/19.2);
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  /* scrollbar-width: thin; */
  scrollbar-gutter: stable;
  /* scroll-behavior: smooth; */
}

[id] {
   scroll-margin-top: 1.2rem; 
}

/* 当html有act类时，禁止页面滚动（常用于弹窗打开时） */
html.act {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

/* ========== 通用重置样式 ========== */
/* 所有元素及其伪元素统一使用border-box盒模型 */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* 重置所有元素的margin、padding和outline */
* {
  margin: 0;
  padding: 0;
  outline: none;
}

/* ========== CSS变量定义 ========== */
/* 定义全局CSS变量：主题色、文本色、边框色、图片滤镜、缓动函数等 */
:root {
  --vi: #CA0915;
  --text-color: #333;
  --headHeight: .9rem;
  --fw600: "roboto";
  --fw500: "roboto";
  --fw400: "roboto";
  --fw300: "roboto";
  --osfw700: "oswald";
  --osfw600: "oswald";
  --osfw500: "oswald";
  --osfw400: "oswald";
  --osfw300: "oswald";
}

/* ========== 禁止文字选中工具类 ========== */
/* 禁止用户选中文本的工具类 */
.no-select {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* ========== 自定义字体定义 ========== */
/* 定义Montserrat字体族 */
/* @font-face {
  font-family: 'mst';
  src: url("../fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
} */


/* 思源字体 */
/* @font-face {
  font-family: 'sy';
  src: url("../fonts/SourceHanSansCN-VF-2.otf") format("opentype");
  font-weight: 100 900; */
/* font-display: swap;
  font-style: normal;
} */

/* 鸿蒙字体 */
/* @font-face {
  font-family: 'hm';
  src: url("/fonts/HarmonyOS_Sans_SC_Light.woff") format("woff");
  font-display: swap;
  font-weight: 300;
}

@font-face {
  font-family: 'hm';
  src: url("/fonts/HarmonyOS_Sans_SC_Regular.woff") format("woff");
  font-display: swap;
  font-weight: 400;
}

@font-face {
  font-family: 'hm';
  src: url("/fonts/HarmonyOS_Sans_SC_Medium.woff") format("woff");
  font-display: swap;
  font-weight: 500;
}

@font-face {
  font-family: 'hm';
  src: url("/fonts/HarmonyOS_Sans_SC_Bold.woff") format("woff");
  font-display: swap;
  font-weight: 600;
}

@font-face {
  font-family: 'hm';
  src: url("/fonts/HarmonyOS_Sans_SC_Bold.woff") format("woff");
  font-display: swap;
  font-weight: 700;
} */



/* oswald字体 */
@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-ExtraLight.ttf") format("truetype");
  font-display: swap;
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-Light.ttf") format("truetype");
  font-display: swap;
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-Regular.ttf") format("truetype");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}


@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-Medium.ttf") format("truetype");
  font-display: swap;
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-SemiBold.ttf") format("truetype");
  font-display: swap;
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'oswald';
  src: url("../fonts/Oswald-Bold.ttf") format("truetype");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}

/* roboto字体 */
@font-face {
  font-family: 'roboto';
  src: url("../fonts/Roboto-Light.ttf") format("truetype");
  font-display: swap;
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'roboto';
  src: url("../fonts/Roboto-Regular.ttf") format("truetype");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'roboto';
  src: url("../fonts/Roboto-Medium.ttf") format("truetype");
  font-display: swap;
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}
/* ========== 字体工具类 ========== */
/* 不同字重的工具类：syb(700粗体)、syn(500中等)、syr(400常规)、syl(300细体) */
.fw700 {
  font-family: 'roboto';
  font-weight: 700;
}

.fw600 {
  font-family: 'roboto';
  font-weight: 600;
}

.fw500 {
  font-family: 'roboto';
  font-weight: 500;
}

.fw400 {
  font-family: 'roboto';
  font-weight: 400;
}

.fw300 {
  font-family: 'roboto';
  font-weight: 300;
}

.osfw700 {
  font-family: 'oswald';
  font-weight: 700;
}

.osfw600 {
  font-family: 'oswald';
  font-weight: 600;
}

.osfw500 {
  font-family: 'oswald';
  font-weight: 500;
}

.osfw400 {
  font-family: 'oswald';
  font-weight: 400;
}

.osfw300 {
  font-family: 'oswald';
  font-weight: 300;
}
/* ========== Body基础样式 ========== */
/* 设置body的基础样式：字体、颜色、背景、布局等 */
body {
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  margin: 0 auto;
  overflow-x: hidden;
  position: relative;
  padding: 0;
  width: 100%;
  color: var(--text-color);
  font-family: roboto, -apple-system, BlinkMacSystemFont, PingFang SC, Segoe UI, Hiragino Sans GB, Helvetica Neue, Arial, Helvetica, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  line-height: 1;
  font-size: .16rem;
  background: #fff;
}

/* ========== 列表和链接样式重置 ========== */
/* 重置列表样式：去除默认的列表样式、内外边距 */
ul,
ul li,
ol li,
tr td,
dl,
dd {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* 链接样式：去除下划线，添加颜色过渡效果，禁用点击高亮 */
a {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(255, 0, 0, 0);
  color: var(--text-color);
  -webkit-transition: color .4s cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: color .4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: color .4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========== 表单元素样式 ========== */
/* 文本域和选择框的基础样式 */
textarea,
select {
  outline: none;
  color: #666;
  font-size: .14rem;
  width: 100%;
}

/* 文本域：禁止调整大小，去除边框和内边距 */
textarea {
  resize: none;
  padding: 0;
  border: 0;
  font-family: 'roboto';
}

/* ========== 图片样式 ========== */
/* 图片基础样式：去除边框，最大宽度100%，块级显示，宽度100% */
img {
  border: none;
  max-width: 100%;
  display: block;
}

/* 空src的图片隐藏 */
img[src=""] {
  opacity: 0;
}

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

img.pic-cover,
video.pic-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ========== 输入框占位符样式 ========== */
/* 统一设置占位符文字颜色为#999 */
.place::-webkit-input-placeholder {
  color: #999;
}

.place:-moz-placeholder {
  color: #999;
}

.place::-moz-placeholder {
  color: #999;
}

.place:-ms-input-placeholder {
  color: #999;
}

/* ========== 文本对齐和转换工具类 ========== */
/* 文本对齐方式 */
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justif {
  text-align: justify;
}

/* 文本换行和大小写转换 */
.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-bold {
  font-weight: bold;
}

/* ========== 图片悬停切换效果 ========== */
/* 双图片容器：第二张图片绝对定位覆盖在第一张上，默认隐藏 */
.imgTwo {
  position: relative;
}

.imgTwo img {
  transition: all 0.2s ease;
}

.imgTwo img:nth-child(2) {
  position: absolute;
  inset: 0px;
  margin: auto;
  opacity: 0;
}





/* 悬停时切换图片：隐藏第一张，显示第二张 */
.imgTwo:hover img:nth-child(1) {
  opacity: 0;
}

.imgTwo:hover img:nth-child(2) {
  opacity: 1;
}

.imgHover:hover .imgTwo img:nth-child(1) {
  opacity: 0;
}

.imgHover:hover .imgTwo img:nth-child(2) {
  opacity: 1;
}

.imgHover.active .imgTwo img:nth-child(1) {
  opacity: 0;
}

.imgHover.active .imgTwo img:nth-child(2) {
  opacity: 1;
}

/* ========== Input输入框样式重置 ========== */
/* 去除input默认边框、内边距和轮廓 */
input {
  padding: 0;
  border: 0;
  font-family: 'roboto';
  outline: none;
}

/* 提交按钮：透明背景，指针光标 */
input[type="submit"] {
  background-color: transparent;
  cursor: pointer;
}

/* 按钮类input：去除浏览器默认外观 */
input[type="button"],
input[type="submit"],
input[type="reset"] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

button {
  background-color: transparent;
  cursor: pointer;
  border: none;
}

/* 选择框：去除浏览器默认外观和IE下拉箭头 */
select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

/* ========== 标题和字体大小工具类 ========== */
/* 字体大小工具类：从12px到80px，每2px递增 */
.f_12 {
  font-size: .12rem;
}

.f_14 {
  font-size: .14rem;
}

.f_16 {
  font-size: .16rem;
}

.f_18 {
  font-size: .18rem;
}

.f_20 {
  font-size: .20rem;
}

.f_22 {
  font-size: .22rem;
}

.f_24 {
  font-size: .24rem;
}

.f_26 {
  font-size: .26rem;
}

.f_28 {
  font-size: .28rem;
}

.f_30 {
  font-size: .30rem;
}

.f_32 {
  font-size: .32rem;
}

.f_34 {
  font-size: .34rem;
}

.f_36 {
  font-size: .36rem;
}

.f_38 {
  font-size: .38rem;
}

.f_40 {
  font-size: .40rem;
}

.f_42 {
  font-size: .42rem;
}

.f_44 {
  font-size: .44rem;
}

.f_46 {
  font-size: .46rem;
}

.f_48 {
  font-size: .48rem;
}

.f_50 {
  font-size: .50rem;
}

.f_52 {
  font-size: .52rem;
}

.f_54 {
  font-size: .54rem;
}

.f_56 {
  font-size: .56rem;
}

.f_58 {
  font-size: .58rem;
}

.f_60 {
  font-size: .60rem;
}

.f_62 {
  font-size: .62rem;
}

.f_64 {
  font-size: .64rem;
}

.f_66 {
  font-size: .66rem;
}

.f_68 {
  font-size: .68rem;
}

.f_70 {
  font-size: .70rem;
}

.f_72 {
  font-size: .72rem;
}

.f_74 {
  font-size: .74rem;
}

.f_76 {
  font-size: .76rem;
}

.f_78 {
  font-size: .78rem;
}

.f_80 {
  font-size: .80rem;
}

/* 分享 */
.social-share .icon-wechat {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent !important;
  border-color: transparent !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.social-share .icon-wechat:before {
  color: transparent;
}

.social-share .icon-weibo {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent !important;
  border-color: transparent !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.social-share .icon-weibo:before {
  color: transparent;
}

