/* reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
:root {
  width: 100%;
}
html {
  height: 100%;
  overflow-y: hidden;
}
@media screen and (max-width: 992px) {
  html {
    overflow-y: auto;
    overflow-x: hidden;
  }
}
body {
  height: 100%;
  line-height: 1.15;
  color: #fff;
  background-color: cornflowerblue;
  display: flex;
  flex-direction: column;
}
/* header */
header {
  flex-shrink: 0;
  height: 60px;
  background: url(images/head_bg.png);
  background-size: cover;
  position: relative;
}
header h1 {
  text-align: center;
  line-height: 50px;
  color: #fff;
}
header .time {
  position: absolute;
  right: 20px;
  bottom: 25px;
  color: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 576px) {
  header .time {
    display: none;
  }
}
.main {
  flex: 1;
  width: 100%;
  padding: 10px 10px 0 10px;
  display: flex;
}
.main .col {
  flex: 3;
  display: flex;
  flex-direction: column;
}
.main .col:nth-of-type(2) {
  flex: 5;
}
.main .col > .panel {
  flex: 1;
}
.panel {
  background: url(images/line.png) rgba(255, 255, 255, 0.03);
  padding: 15px;
  margin-bottom: 10px;
  overflow: hidden;
  background-image: linear-gradient(#4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(90deg, #4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(#4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(90deg, #4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%);
  background-repeat: no-repeat;
  background-position: top left, top left, bottom right, bottom right;
  background-size: 10px 100%, 100% 10px;
}
.panel h3 {
  height: 25px;
  text-align: center;
  font-weight: 400;
}
.panel .chart {
  height: calc(100% - 25px);
}
.number {
  display: flex;
  align-items: center;
  background: rgba(101, 132, 226, 0.1);
  margin: 0 10px 10px 10px;
  padding-bottom: 7px;
  text-align: center;
  background-image: linear-gradient(#4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(90deg, #4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(#4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%), linear-gradient(90deg, #4cc7f3 2px, transparent 2px, transparent calc(100% - 2px), #4cc7f3 calc(100% - 2px), #4cc7f3 100%);
  background-repeat: no-repeat;
  background-position: top left, top left, bottom right, bottom right;
  background-size: 10px 100%, 100% 10px;
}
.number > div {
  flex: 1;
}
.number .count {
  color: #ffeb7b;
  font-size: 50px;
  font-family: electronicFont;
}
.number h3 {
  padding: 5px 0;
}
@font-face {
  font-family: electronicFont;
  src: url(/font/DS-DIGIT.TTF);
}
.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.map {
  position: relative;
  flex: 1;
}
.map img {
  width: 50%;
}
.map .z-0 {
  z-index: 0;
  opacity: 0.33;
}
.map .z-2 {
  animation: rotate 15s linear infinite;
  z-index: 2;
}
.map .z-1 {
  animation: rotate-inverse 15s linear infinite;
  z-index: 1;
}
@keyframes rotate {
  0% {
    transform: translate(-50%, -50%) scale(1.15) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.15) rotate(360deg);
  }
}
@keyframes rotate-inverse {
  0% {
    transform: translate(-50%, -50%) scale(1.08) rotate(360deg);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.08) rotate(0deg);
  }
}
.chart-main {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 3;
}
@media screen and (max-width: 576px) {
  .main {
    flex-direction: column;
  }
  .main .col {
    flex-shrink: 0;
  }
  .main .col:nth-of-type(2) {
    order: -1;
    flex: 0 0 500px;
  }
  .main .col .panel {
    flex: 0 0 300px;
  }
}
@media screen and (min-width: 576px) and (max-width: 992px) {
  .main {
    flex-direction: column;
  }
  .main .col {
    flex-shrink: 0;
  }
  .main .col:nth-of-type(2) {
    order: -1;
    flex: 0 0 600px;
    margin-bottom: 50px;
  }
  .main .col .panel {
    flex: 0 0 300px;
  }
}
