html,
body {
  height: 100%;
  overflow: hidden;
}

html {
  font-size: 12px;
}

body {
  background: #222;
  color: #fff;
}

h1,
h3 {
  margin-bottom: 1.5rem;
}

h2 {
  margin: 3rem 0;
}

.btn-link,
.btn-link:hover {
  color: #fff;
}

/**
 *
 * VIEWPORT
 *
 */

.viewport {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  transform: translateY(100%);
  z-index: 100;
}

.viewport--active {
  transform: translateY(0);
}

.viewport--credits {
  background: #000;
  z-index: 150;
}

.viewport__container {
  padding: 10px;
  position: relative;
  margin: 0 auto;
  max-width: 600px;
}

.viewport__close {
  position: absolute;
  top: 10px;
  right: 10px;
}


.panel {
  background: rgba(0, 0, 0, .3);
  padding: .25rem;
}

.panel--result {
  background: rgba(0, 0, 0, .5);
  border-radius: 10px;
  padding: 1rem;
}

.panel--credits-link,
.panel--change-location,
.panel--stale {
  border-top-left-radius: 5px;
  bottom: 0;
  position: absolute;
  right: 0;
  z-index: 140; /* behind credits screen */
}

.panel--change-location {
  border-top-left-radius: 0;
  border-top-right-radius: 5px;
  left: 0;
  right: auto;
  z-index: 100;
}

.stale {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  padding: 10px;
}

.stale__offline {
  display: inline-block;
  padding: 5px;
  background: red;
  border-radius: 5px;
  font-size: 10px;
}

.loading {
  border-radius: 5px;
  height: 100px;
  width: 100px;
}

.result-h2 {
  font-size: 4em;
  margin: 0;
}

.bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: no-repeat 50% 50%;
  background-size: cover;
  z-index: 1;
  display: none;
}

body.no-rain .bg--no-rain,
body.rain .bg--rain {
  display: block;
}

/**
 *
 * Override Bootstrap close button
 *
 */

.close {
  color: #fff;
  opacity: 1;
  text-shadow: none;
}

.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
  color: #fff;
  opacity: 1;
}
