/* Shared foundation and default font stack for all PC and mobile pages. */
:root {
  --site-blue: #08479a;
  --site-blue-dark: #064a95;
  --site-link: #07519b;
  --site-text: #333;
  --site-muted: #555;
  --site-font: 'PingFang SC', XHW-pzh, 'Lantinghei SC', 'Helvetica Neue',
    Helvetica, Arial, 'Microsoft YaHei', '微软雅黑', STHeitiSC-Light, simsun,
    '宋体', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { min-height: 100%; scroll-behavior: smooth; }
body { min-height: 100%; margin: 0; color: #333; color: var(--site-text); font-family: var(--site-font); font-size: 14px; }

/* Shared second-level page content container. Keep the same .page-content wrapper on each page. */
.page-content { width: calc(100% - 48px); max-width: 1380px; margin: 0 auto; padding: 42px 0 46px; }
@media (max-width: 767px) {
  .page-content { width: auto; margin: 0 16px; padding: 24px 0 32px; }
}
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button,
input,
select,
textarea { font: inherit; }
button { cursor: pointer; }

.u-list-reset { margin: 0; padding: 0; list-style: none; }
.u-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (min-width:768px) and (max-width:1379px) {
  .page-content { min-width:0; }
  .page-content > * { min-width:0; }
}
