* {
    box-sizing: border-box;
}
html, body, header, nav, footer {
    padding: 0;
    margin: 0;
}
html, body {
    width: 100%;
    height: 100%;
    background-color: #f9f9f9;
}
body {
    /* width: 100vw; */
    /* background-color: #F0F0F0;
    min-width: 100%; */
    display: grid;
    display: grid;
    grid-template-rows: 30px 86px 53px auto;
    min-width: 1200px;

}
ul, li {
    padding: 0;
    margin: 0;
    list-style: none;
}
a {
    text-decoration: none;
}
img {
    border: 0;
}
input:focus, input:active {
    outline: 0;
}
.container {
    width: 1200px;
    margin: 0 auto;
}
.d-flex {
    display: flex;
    align-items: center;
}
.d-flex-jc {
    justify-content: space-between;
}
.d-flex-ac {
    align-items: stretch;
}
.d-grid {
    display: grid;
}
header {
    background-color: #FFF;
}
.f12 {
    font-size: 12px;
}
.f14 {
    font-size: 14px;
}
.f16 {
    font-size: 16px;
}
.f18 {
    font-size: 18px;
}
.f20 {
    font-size: 20px;
}
.red {
    color:  red;
}
.green {
    color: green;
}
.blue {
    color: blue;
}
.pink {
    color: #d600d0;
}
.grey {
    color: #999;
}
.black {
    color: #333;
}
.number-big {
    color: #000;
}
.number-small {
    color: #999;
}

.header-top {
    height: 30px;
    background-color: #ebebeb;
    font-size: 14px;
    font-family: Tahoma, 微软雅黑, sans-serif;
}
.header-top-main {
    width:1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    color: #666;
}
.header-top-left {
    height: 30px;
    line-height: 30px;
    font-weight: bold;
    padding-left: 20px;
    padding-right: 10px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAARCAYAAAACCvahAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAABaUlEQVQ4y5XTPWtUURDG8d/evVmJIYpYebARRBDUZrRQgzYi2NiJFoJgb+G3EEUsrGzsLITsRxALQUgxjQiCoCiEXN8KkRRRFtdib8Iq7rL7VOcU/+c5M3OmY4oioocTuIm9uIPXmTmEegLURcFVnMIT7Md13MO3v+CI6KDCPlzAZXzC7czciIgVHB9n6ohYwLEWWsK5NrWfmf2xB/XwG8MdGJdwBZ+xiA94kJkbU3pRoVe3dTzCOwwyc31KD4dtesFKjTozn5lNndag4GKFnxGxPCO8rQG2qtZtXg0xqNrDvAYddCssZOaPOeEulmp0I+Kk0Yh+zWDUwVe8qLGKWy28GBFvsZqZ3yfUWmEdT2v028sy9uAszkfE48x8/p9UmTnAZrdpmkHTNB9LKe/xBonduFZKOVJKedU0zVYp5SCO4mXTNJs7Tv+qXcXDRr/vEB7iAE7jbmZ+mQiPmezCGdwwWpr7WNve5z9Z23McaphHGwAAAABJRU5ErkJggg==);
    background-repeat: no-repeat;
    background-position: center left;
}
.header-top-center {
    flex:1;
}
.header-top-right {
    width: 200px;
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    color: #CCC;
}
.header-top-right > a {
    color: #666;

}
#site-notice > marquee {
    height: 30px;
    line-height: 30px;
    background-color: transparent;
    color:#ff0024;
    font-family: 微软雅黑, 'Micorosoft Yahei';
}

.header-logo {
    width: 200px;
}

img.logo {
    width: 200px;
}
.header-time {
    display: flex;
    justify-content: center;
    align-items: end;
}
.clock {
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    color: #999;
    padding: 10px;
    border-radius: 4px;
    display: inline-block;
}
nav.menu {
    background-color: #68B0DB;
    height: 50px;
    overflow: hidden;
}
nav.menu > ul {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 20px;
}
nav.menu > ul > li {
    /* position: relative; */
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
}

nav.menu > ul > li.active,
nav.menu > ul > li:hover{
    background-color: #5B7F95;
}
nav.menu > ul > li > a {
    color: #FFF;
    font-size: 16px;
    display: block;
}
nav.menu > ul > li.has-sub {
    
}
nav.menu > ul > li.has-sub > a {
    position:relative;
}
nav.menu > ul > li.has-sub > a::after {
    content: "";
    position: absolute;
    top: 25px;
    right: -15px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #FFF; /* 三角颜色 */
    border-bottom: 0;
}

nav.menu > ul > li.has-sub:hover{
    background-color: #FFF;
}
nav.menu > ul > li.has-sub:hover > a {
    color: #F00;
}

nav.menu > ul > li.has-sub:hover > a::after{
    border-top-color: #F00;
}
nav.menu > ul > li.has-sub:hover > .sub-menu-box {
    display: flex;
}
.sub-menu-box {
    position: absolute;
    display: none;
    justify-content: center;
    width: 100%;
    min-width: 1200px;    
    min-height: 70px; 
    left:0;
    right:0;
    background-color: #FFF;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    z-index: 1500;
}
.sub-menu {
    width: 1200px;
    padding: 20px 30px;
    
}
.sub-menu > .sub-menu-item {
    margin-bottom: 10px;
    display: flex;
    justify-content: start;
    justify-items: stretch;
    column-gap: 15px;
}
.sub-menu > .sub-menu-item > .sub-menu-header {
    display: block;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADM0lEQVRIiZXWT4hVZRjH8c85986cmbl3cP5UzKCBoYsCw1VEpFBRWAMuzEWZIwQmBYJFSC4qgijChS7KVbYQtdSFRGERiVAhQRBBVqSZWTDOZI7/xjt6Z+4957Q4M+PcO3Nn9Nmd93ne7+953/c57/MGlzu3mMPuxVo8iGXonhi/iF/xAw7jZCNA0EBgKd7GurnUpSlJSj48KPUm/qwPCWeZth4/zwkPkJKOlMnnSD2LE9gwn8Br2I+2xvCAhOTKeU19y+QfuCcTohV7JxizCjyH7Q3Bk/A4FV8ZEPU/ruWdNaq//UO+Js/tE6wagZ6JzOeBJ+Krg6K+lQr7XlA59KN4YEBQiOqj96N3usAu2c42hlcT8dUh0aqHFL94RXr5uvJ7R4TN3dlh183AB5MCS2SlODd8ZFC0eoXiV6+CG69/KnVNUJyR/aStxZLQnNUSUEnEI+dETz+q+PnLIPnrgrHd3wpyCxpOnbB1eaxoCB+PxaVB0TNPKB58aco1tud7SfU82rhUEioIuouk6rdrRXC5c8tZLJ4Jr4pLQ1r6n1TYt6nGnQxdEZ8akpwYFJ/+T/L3sOo3f2QbnqupqLN53FkLRzWWlC5q2bha4aPnZywu7O0Q9nbwyH3ZinZ8bfzIT8L2Qn3oXTP/5GoiHSlp2bpmVni9lXceNbp1v6DYSlO+3p3kcQE3pVOC9gLD15Xf+oyONuHibuHCBcLeTuHdXTfh735p9I09wqhLEEUkSb3AcB6nTD+DphwBY3u+kxhFINAqNaK4a7No82O18JYuQaF1NjicDnG8Zmjihgw62+U6e+S6ejAuv2ipaOPK24HD8RAHGnnBeCxV0fbhBlqabgcOn4Q4I2saMy0MJKVhzase1vTUMmM7j94O/DDOTDacHpxTf33fqEiM6zy7Q+XYSdf6d9wqPMEiDE0C/5U1mtqo8nWtW/pUjv2u1P9+Vi3zw6EfQ+oyPohtU1+VWLjwDsnAJaOb9gqailmtzw/fZtq5ztaT12O3VKvmnPRaOauqYpT138ZWxouyrjZls/Xkj7Fc4IDxqqA5Lyg0zwc/hOX18EYrmG7Tny33q322/OIWni3/A9iaLrLPOwppAAAAAElFTkSuQmCC) no-repeat;
    background-position-y: 15px;
    background-repeat: no-repeat;
    padding-left: 30px;
    font-size: 18px;
    font-weight: bold;
    align-content: start;
    width: 130px;
}
.sub-menu > .sub-menu-item > .sub-menu-list {
    display: flex;
    justify-content: start;
    align-items: center;
    column-gap: 10px;
    flex-wrap: wrap;
}
.sub-menu > .sub-menu-item > .sub-menu-list > a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    padding:0 5px;
    color: #333;
}
.sub-menu > .sub-menu-item > .sub-menu-list > a:hover {
    background-color: #5b7f95;
    color:#FFF;
    border-radius: 2px;
}

foot {
   padding: 15px;
   text-align: center; 
   font-size: 12px;
   color: #999;
}
.main {
    margin-top: 20px;
    padding:0 20px;
    background-color: #FFF;
}

.mb-5 {
    margin-bottom: 5px;
}
.mt-10 {
    margin-top: 5px;
}
.mt-10 {
    margin-top: 10px !important;
}
.ml-0 {
    margin-left: 0 !important;
}
.ml-2 {
    margin-left: 2px;
}
.ml-5 {
    margin-left: 5px;
}
.bold {
    font-weight: bold;
}

.loader {
    display: none;
    justify-content: center;
    align-items: center;
    height: 36px;
}
.dot {
    width: 6px;
    height: 6px;
    margin: 0 10px;
    background-color: #999;
    border-radius: 50%;
    opacity: 0;
    animation: pulse 1.5s infinite ease-in-out;
}
.dot:nth-child(1) { animation-delay: 0s; }
.dot:nth-child(2) { animation-delay: 0.2s; }
.dot:nth-child(3) { animation-delay: 0.4s; }
.dot:nth-child(4) { animation-delay: 0.6s; }
.dot:nth-child(5) { animation-delay: 0.8s; }
.dot:nth-child(6) { animation-delay: 1s; }

.bg-red, .bg-r {
    background-color: #F8223C !important;
    color: #FFF !important;

}
.bg-blue, .bg-b {
    background-color: #0093E8 !important;
    color: #FFF !important;
}
.bg-green, .bg-g  {
    background-color: #1FC26B !important;
    color: #FFF !important;
}

.error-box {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.3);
    display: none;
    justify-content: center;
    align-items: center;
}
.error-box > .error-text {
    background-color: #FFF;
    border-radius: 3px;
    font-size: 18px;
    text-align: center;
    padding: 30px 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    color: #c70f0f;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 20px;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(0.5);
        opacity: 0;
    }
    50% {
        transform: scale(1.5);
        opacity: 1;
    }
}


