/* ======== CSS Reset ======== */
/* 1. 通用规则 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

/* 2. 标题标签统一样式 */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: inherit;
  line-height: inherit;
}

/* 3. 段落、文本标签 */
p,
span,
strong,
em,
b,
i {
  margin: 0;
  padding: 0;
}

/* 4. 列表无样式 */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 5. 图片处理 */
img {
  max-width: 100%;
  display: block;
  border: none;
}

/* 6. 链接样式 */
a {
  text-decoration: none;
  color: inherit;
}

/* 7. 表单元素 */
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
  outline: none;
  padding: 0;
  margin: 0;
}

/* 8. 按钮样式 */
button {
  cursor: pointer;
}

/* 9. HTML5 语义标签 */
article,
aside,
footer,
header,
nav,
section,
main,
figure,
figcaption {
  display: block;
}


/* 字体全局配置 */
@font-face {
  font-family: 'ISOCPEUR';
  src: url('./fonts/ISOCPEUR.ttf') format('truetype');
}

html,
body {
  font-family: 'ISOCPEUR', sans-serif;
  box-sizing: border-box;
}

/* 页面正文用arial字体 */
.bodyText {
  font-family: Arial, sans-serif;
}

/* 斜体 */
.italic {
  font-style: italic;
}

.strong {
  font-weight: bold;
}

.textCenter{
  text-align: center;
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(234, 238, 237);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  transition: opacity 1.5s ease;
}

#loading.hidden {
  opacity: 0;
  pointer-events: none;
}

#app {
  opacity: 0;
  transition: opacity 2s ease;
}

#app.visible {
  opacity: 1;
}

/* 在 loading 时隐藏 */
body.loading {
  overflow: hidden;
}

/* ======== 顶部导航栏  ============ */
nav {
  background: linear-gradient(90deg, #E7D099 12.98%, #2C4FCF 100%);
  box-sizing: border-box;
  transition: height 4s cubic-bezier(0.25, 1, 0.5, 1);
}

.dropdown {
  position: relative;
}



.dropdown-content a {
  color: #000;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  font-size: 18px;
}

.dropdown-content a:hover {
  background-color: #D9D9D9;
}

.dropdown:hover .dropdown-content {
  transform: scaleY(1);
}

.dropdown-content {
  position: absolute;
  background-color: #fff;
  min-width: 160px;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
  z-index: 99;
  transform: scaleY(0);
  transform-origin: center top;
  transition: 0.5s;
}

.menu {
  box-sizing: border-box;
  margin-right: 6.5625rem;
  font-size: 1.875rem;
  color: #FFFFFF;
}

.menu ul {
  display: flex;
  align-items: center;
  gap: 75px;
}

.menu .btn:not(.collapsed) {
  margin-top: 15px;
  margin-left: 28px;
}

.menu .btn.collapsed {
  margin-top: 15px;
  margin-left: 28px;
}

.menu .btn {
  margin-right: 25px;
}

@media screen and (max-width: 1200px) {
  .menu {
    margin-right: 0;
    font-size: 30px
  }

  .menu ul {
    gap: 40px;
  }

  .dropdown-content a {
    font-size: 15px;
  }
}

@media screen and (max-width: 1000px) {
  .menu {
    font-size: 20px
  }

  .menu ul {
    flex-direction: column;
    gap: 0;
  }

  .dropdown {
    margin-top: 5px;
  }

  .dropdown-content {
    top: 25px;
    left: -50px;
    overflow: hidden;
    width: 100px;
    min-width: 1px;
  }

  .dropdown-content a {
    font-size: 15px;
    padding: 7px 9px;
  }
}

/* ========= 进度条 & 一键回到顶部 =========== */
#topBtn {
  width: 78px;
  height: 78px;
  position: fixed;
  bottom: min(40px, 3vw);
  right: min(30px, 3vw);
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
  cursor: pointer;
}

#topBtn.active .progressBar {
  opacity: 0;
}

#topBtn .icon-base {
  object-fit: cover;
  /* 保持比例并填满容器 */
  display: block;
  /* 去除图片底部间隙 */
}

#topBtn .cover-layer {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  padding: 15.5px 0px 0px 9.5px;

  img {
    width: 59px;
    height: 47px;
  }
}

#topBtn .backTop {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.5s ease-in, opacity 0.3s ease-out;
}

#topBtn .backTop:hover {
  opacity: 1;
}

/* ========= footer =========== */
.footer {
  background-color: #BED4EB;
  background-size: cover;
  border-top: 8px solid #2d5dbd;
  color: #000;
  font-size: 1.3rem;
  position: relative;
}

footer a {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

footer a:hover {
  color: #2d5dbd;
}


.footer .footer-trim {
  width: 100%;
  min-height: 26px;
  background-color: #2C4FCF;
}

.footer h5 {
  margin-bottom: 1rem;
  font-weight: 400;
  font-size: 3rem;
  line-height: 100%;
  letter-spacing: 0%;
}

.footer-bottom {
  border-top: 1px solid #888;
  color: #333;
}

.footer-bottom a {
  color: #3960eb;
  font-size: 1.2rem;
}

.footer-bottom a:hover {
  color: #d6470f;
  text-decoration: underline;
  font-weight: bold;
}