body {
  background: radial-gradient(200% 100% at bottom center, #0070aa, #0b2570, #000035, #000);
  background: radial-gradient(220% 105% at top center, #000 10%, #000035 40%, #0b2570 65%, #0070aa);
  background-attachment: fixed;
  overflow: hidden;
}
.stars {
  -webkit-transform: perspective(500px);
          transform: perspective(500px);
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  position: absolute;
  z-index: 0;
  bottom: 0;
  -webkit-perspective-origin: 50% 100%;
          perspective-origin: 50% 100%;
  left: 50%;
  -webkit-animation: rotate 90s infinite linear;
          animation: rotate 90s infinite linear;
}
.star {
  width: 2px;
  height: 2px;
  background: #f7f7b6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: 0 0 -300px;
          transform-origin: 0 0 -300px;
  -webkit-transform: translate3d(0, 0, -300px);
          transform: translate3d(0, 0, -300px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.container {
  height: 100vh;
  width: 100vw;
  position: relative;
}
::-moz-selection {
  background: #009688;
  color: #fff;
}
::selection {
  background: #009688;
  color: #fff;
}
.panel {
  position: absolute;
  top: 50vh;
  left: 50vw;
  height: 256px;
  width: 440px;
  margin-top: -128px;
  margin-left: -220px;
  border-radius: 3px;
  background-color: #fff;
  padding: 30px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
          box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}
.panel .panel-head {
  line-height: 30px;
  font-weight: normal;
  margin-bottom: 30px;
  text-align: center;
}
.panel .panel-head h1 {
  font-size: 24px;
  color: #009688;
}
.panel .panel-head h2 {
  padding-top: 8px;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.form-group {
  position: relative;
  margin: 18px 0 12px;
}
.form-group .input-bar {
  position: relative;
  display: block;
  width: 100%;
}
.form-group .input-bar:after,
.form-group .input-bar:before {
  content: '';
  height: 1px;
  width: 0;
  bottom: 1px;
  position: absolute;
  background: #009688;
  -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-group label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  color: #9e9e9e;
  font-size: 14px;
  font-weight: normal;
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 10px;
  -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-control {
  color: #555;
  border: none;
  border-bottom: 1px solid #cbd5dd;
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 0;
  font-size: 14px;
  line-height: 1.42857;
  background-color: inherit;
  background-image: none;
  -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  border-radius: 2px;
  font-family: inherit;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-control:focus ~ label,
.form-control:valid ~ label {
  top: -20px;
  left: 0;
  font-size: 12px;
}
.form-control:valid ~ label {
  color: #999;
}
.form-control:focus {
  border-color: #009688;
  outline: none;
}
.form-control:focus ~ label {
  color: #009688;
  font-weight: normal;
  position: absolute;
  pointer-events: none;
}
.form-control:focus ~ .input-bar:after,
.form-control:focus ~ .input-bar:before {
  width: 50%;
}
.form-control:focus ~ .input-bar:after {
  right: 50%;
}
.form-control:focus ~ .input-bar:before {
  left: 50%;
}
.card-action {
  padding: 20px;
  text-align: right;
  margin-top: 30px;
}
.card-action .color-primary {
  margin-right: 20px;
  text-transform: uppercase;
  color: #009688;
  background-color: transparent;
  font-weight: lighter;
}
.card-action .color-primary:hover {
  text-decoration: underline;
}
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
            transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
  }
  100% {
    -webkit-transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
            transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
            transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
  }
  100% {
    -webkit-transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
            transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
  }
}
