html body {
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: sans-serif;
}

html body * {
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

html body a {
  text-decoration: none;
  text-decoration: underline;
  color: #2962FF;
}

html body h1 {
  font-weight: normal;
  text-align: center;
  font-size: 2em;
  line-height: 1.25em;
}



html body header {
  margin-bottom: 2em;
}


html body > main {
  margin: 2em 0;
  padding: 0 1em;
}

html body > main .description {
  text-align: center;
}

html body > main #qr-container {
  width: 75vw;
  max-width: 300px;
  margin: 2em auto;
  position: relative;
  background-color: #ECEFF1;
  border-radius: 4px;
}
html body > main #qr-container:before {
  content: '';
  display: block;
  padding-top: 100%;
}

html body > main #qr-container:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
html body > main #qr-container[loading]:after {
  background-image: url(/throbber_small.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12%;
}

html body > main #qr-container > * {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
  user-select: none;
  -webkit-user-select: none;
}

html body > main #qr-container > img {
  width: calc(100% - 32px);
  height: calc(100% - 32px);
}

html body > main #qr-container > .error {
  color: #F44336;
  padding: 0 1em;
  font-weight: bold;
}



html body > footer {
  width: 100%;
  margin-top: 2em;
  padding: 1em 1em;
  border-top: 1px solid #BDBDBD;
}

html body > footer .copy,
html body > footer .teams,
html body > footer .privacy {
  display: block;
  font-size: .8em;
  line-height: 1.25em;
  text-align: center;
}

