.signup {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  min-height: 100vh;
  background: url("/static/images/backgrounds/signup.jpg") 50% 50% no-repeat;
  background-size: cover;
  overflow-y: auto;
}
.signup__logo {
    display: block;
    position: relative;
    margin: 1em 0 0 1em;
    width: 260px;
    height: 143px;
    background: url("/static/images/logo.png") no-repeat 0 0;
    background-size: contain;
}
.signup__logo a {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
}
.signup__body {
    position: relative;
    margin: 0 auto;
    max-width: 35%;
}
.signup__body__close {
      display: block;
      position: absolute;
      top: -1em;
      right: -1em;
      z-index: 100;
      width: 1.4em;
      height: 1.4em;
      font-size: 1.4em;
      cursor: pointer;
      color: #fff;
      opacity: .8;
      text-align: center;
}
.signup__body__close:hover {
        opacity: 1;
}
.signup__body__form h1 {
      position: relative;
      background: linear-gradient(#ebf7ff, #c8e9ff);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      margin: 0;
      font-size: 2.6em;
      text-align: center;
}
.signup__body__form h1:before {
        content: attr(data-text);
        z-index: -1;
        position: absolute;
        top: 0;
        left: 50%;
        width: 100%;
        background: none;
        transform: translateX(-50%);
}
.signup__body__form .subtext {
      margin: 0 6em 1em 6em;
      text-align: center;
}
.signup__body__form hr {
      height: 1px;
      margin: 1em 0;
      border: 0;
      background: #715e2b;
}
.signup__body__form h2 {
      margin: 0;
      font-size: 1.2em;
}
.signup__body__form p {
      margin-bottom: 2em;
      color: #738693;
}
.signup__body__form .submitButton {
      text-align: center;
}
.signup__body__form .submitButton .button {
        width: 200px;
        margin-top: 1em;
}
.signup__body__success {
      text-align: center;
}
.signup__body__success h1 {
        position: relative;
        background: linear-gradient(#accda1, #72aa5e);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
}
.signup__body__success h1:before {
          content: attr(data-text);
          z-index: -1;
          position: absolute;
          top: 0;
          left: 50%;
          width: 100%;
          background: none;
          transform: translateX(-50%);
}
.signup__footer {
    padding: 2em;
    text-align: center;
}
.signup__footer span.divider {
      display: inline-block;
      height: 1em;
      width: 2px;
      margin: 0 .8em;
      background: #443e30;
      vertical-align: -2px;
}
.signup__footer__links {
      margin-bottom: .5em;
}
.signup__footer__links a {
        color: #b7cedd;
        text-transform: uppercase;
}
.signup__footer__links a:hover {
          color: #fff;
}
.signup__footer__subtext {
      font-size: .9em;
      color: #3e5160;
}
@media screen and (max-width: 64rem) {
.signup {
    background-color: #15243a;
}
.signup__logo {
      top: 1em;
      left: 50%;
      transform: translateX(-50%);
      margin: 0;
      width: 130px;
      height: 72px;
}
.signup__body {
      position: relative;
      top: auto;
      left: auto;
      max-width: 100%;
      transform: none;
      padding: 1em;
      margin-top: 2em;
}
.signup__body__close {
        top: -4em;
        right: 1em;
}
.signup__body__form h1 {
        font-size: 2em;
}
.signup__body__form h2 {
        font-size: 1em;
}
.signup__body__form .subtext {
        margin: 0 0 1em 0;
}
.signup__footer {
      position: relative;
}
.signup__footer span.divider {
        margin: 0 .5em;
}
.signup__footer a {
        font-size: .8em;
}
}

.inputWrapper {
  text-align: left;
}
.inputWrapper label {
    display: block;
    margin-bottom: .5em;
    color: #b7cedd;
}
.inputError {
  color: #b74545;
  font-size: .8em;
  text-align: left;
}
textarea.inputText {
  min-height: 150px;
}
.inline {
  display: inline-block;
}
.inputText {
  width: 270px;
  padding: .8em 1em;
  margin-bottom: 1em;
  border: 1px solid #302f2c;
  border-radius: 4px;
  background: #0c1523;
  box-sizing: border-box;
  font-family: "Noto Sans", sans-serif;
  font-size: .9em;
  color: #b7cedd;
  transition: border 0.2s, background 0.2s, box-shadow 0.2s, color 0.2s;
  margin-bottom: 0;
}
.inputText:focus {
    outline: none;
    color: #ffffff;
    border-color: #ab8742;
}
.inputText--fullWidth {
    width: 100%;
}
.inputText--icon {
    padding-right: 34px;
}
.inputText--valid {
    color: #72aa5e;
    border-color: #72aa5e;
}
.inputText--valid + .fa {
      color: #72aa5e;
}
.inputText--error {
    color: #b74545;
    border-color: #b74545;
}
.inputText--error + .fa {
      color: #b74545;
}
.inputText::placeholder {
    color: #b7cedd;
}
.inputText--disabled {
    background: rgba(12, 21, 35, 0.2);
}
.inputText--digit {
    width: 40px;
    height: 50px;
    margin-right: 5px;
    text-align: center;
    font-size: 20px;
}
.inputNotices {
  display: block;
  height: 1.5em;
  padding-top: .5em;
}
.inputSuggestion {
  font-size: .8em;
  margin-bottom: 1em;
}
.inputSuggestion .link {
    font-weight: bold;
}


.inputWrapper {
  text-align: left;
}
.inputWrapper label {
    display: block;
    margin-bottom: .5em;
    color: #b7cedd;
}
.inputError {
  color: #b74545;
  font-size: .8em;
  text-align: left;
}
.inputWrapper__fields {
  display: flex;
}
.inputDate {
  width: 270px;
  padding: .8em 1em;
  margin-bottom: 1em;
  border: 1px solid #302f2c;
  border-radius: 4px;
  background: #0c1523;
  box-sizing: border-box;
  font-family: "Noto Sans", sans-serif;
  font-size: .9em;
  color: #b7cedd;
  transition: border 0.2s, background 0.2s, box-shadow 0.2s, color 0.2s;
  margin-bottom: 0;
  margin-left: .2em;
  margin-right: .2em;
}
.inputDate:focus {
    outline: none;
    color: #ffffff;
    border-color: #ab8742;
}
.inputDate--fullWidth {
    width: 100%;
}
.inputDate--icon {
    padding-right: 34px;
}
.inputDate--valid {
    color: #72aa5e;
    border-color: #72aa5e;
}
.inputDate--valid + .fa {
      color: #72aa5e;
}
.inputDate--error {
    color: #b74545;
    border-color: #b74545;
}
.inputDate--error + .fa {
      color: #b74545;
}
.inputDate:first-child {
    margin-left: 0;
}
.inputDate:last-child {
    margin-right: 0;
}
.inputDate::placeholder {
    color: #b7cedd;
}
.inputDate[disabled] {
    opacity: 0.65;
}
.inputNotices {
  display: block;
  height: 1.5em;
  padding-top: .5em;
}
@media screen and (max-width: 90rem) {
.inputWrapper__fields {
    flex-direction: column;
}
.inputWrapper__fields .inputDate {
      width: auto;
      margin: .2em 0;
}
}