body {
  margin: 0;
  padding: 0;
  background-color: #f0f2f5;
  font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}

a {
  color: #00B7FF;
}

.layout {
  display: flex;
  flex-direction: column;
  flex: auto;
  background: #f0f2f5;
  min-height: 100vh;
}

.layout-content {
  flex: auto;
  min-height: 0;
}

.layout-footer {
  background: #f0f2f5;
  padding: 24px 50px;
  color: rgba(0,0,0,.65);
  font-size: 14px;
}

footer {
  display: block;
  padding: 0 16px;
  margin: 48px 0 24px;
  text-align: center;
}

.header {
  background-color: #222;
  height: 150px;
  padding: 20px;
  color: white;
  text-align: center;
}

.header h1 {
  color: white;
}

.logo {
  animation: logo-spin infinite 20s linear;
  height: 80px;
}

.title {
  font-size: 1.5em;
}

.wx2code {
  margin-top: 20px;
  text-align: center;
}

.wx2code img {
  height: 200px;
}

@keyframes logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}