.cucontainer {
  position: relative;
  display: flex;

  flex-direction: column;

  margin: 0 auto;

  width: 100%;
  max-width: 370px;

  padding: 0 15px;
}

.topbar {
  position: relative;
  display: flex;

  flex-direction: row;

  margin: 30px 0;

  width: 100%;
}

.topbar > .cucontainer {
  justify-content: center;

  flex-direction: row;
}

.topbar-logo {
  position: relative;
  display: flex;

  width: 50px;
  height: 50px;
}

.topbar-logo img {
  position: relative;
  display: flex;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center center;
}

.formcont {
  position: relative;
  display: flex;
}
.formcont .formcont-title {
  margin-bottom: 15px;

  text-align: center;

  font-weight: 400;
  font-size: 27px;
}

.formcont .formcont-errorsbox {
  position: relative;
  display: flex;

  flex-direction: column;

  margin: 15px 0;

  width: 100%;
}

.formcont .formcont-errorsbox .formcont-errorsbox-item {
  position: relative;
  display: flex;

  align-items: center;

  flex-direction: row;

  color: #B10000;
}
.formcont .formcont-errorsbox .formcont-errorsbox-item > i {
  margin-left: 10px;

  font-size: 12px;
}

.formcont form {
  position: relative;
  display: flex;

  flex-direction: column;

  margin-top: 15px;

  width: 100%;

  padding: 20px 20px;

  border-radius: 6px;
  border: 1px solid #eaecef;

  background: #f6f8fa;
  /* background: #f1f4f9; */
}

.formcont form .formcont-inputgroup {
  position: relative;
  display: flex;

  flex-direction: column;

  margin: 10px 0;
}
.formcont form .formcont-inputgroup:first-child {
  margin-top: 0;
}
.formcont form .formcont-inputgroup:last-child {
  margin-bottom: 0;
}

.formcont form .formcont-inputgroup label {
  font-weight: 600;
  font-size: 14px;
}

.formcont form .formcont-inputgroup input {
  position: relative;
  display: flex;

  border: 0;
  margin: 0;
  padding: 0;

  margin: 5px 0;

  width: 100%;

  padding: 7px 10px;

  border-radius: 6px;
  border: 1px solid #e1e4e8;
}
.formcont form .formcont-inputgroup input:focus {
  box-shadow: 0 0 0 3px rgba(66, 57, 106, 0.5);
}

/* code fields */
.formcont form .formcont-codefields {
  position: relative;
  display: flex;

  justify-content: space-between;

  flex-direction: row;
  flex-wrap: wrap;

  width: 100%;
}
.formcont form .formcont-codefields input {
  margin-left: 10px;

  width: calc(calc(100% - (4 * 10px)) / 5);
  max-width: 50px;
  min-width: 35px;

  text-align: center;
}
.formcont form .formcont-codefields input:last-child {
  margin-left: 0;
}


.formcont form [type="submit"] {
  position: relative;
  display: flex;

  align-items: center;
  justify-content: center;

  flex-direction: row;

  margin-top: 10px;

  width: 100%;

  padding: 7px 10px;

  border-radius: 6px;
  border: 1px solid rgba(27, 31, 35, 15%);

  font-weight: 600;
  font-size: 14px;

  color: white;

  background: #B10000;
}
.formcont form [type="submit"]:hover {
  background: #A50000;
}
.formcont form [type="submit"]:focus {
  box-shadow: 0 0 0 3px rgba(177, 0, 0, 0.5);
  background: #C70000;
}

.formcont .formcont-foot {
  position: relative;
  display: flex;

  justify-content: space-between;

  flex-direction: row;
  flex-wrap: wrap;

  margin: 20px 0;

  width: 100%;
}

.formcont .formcont-foot > a {
  position: relative;
  display: flex;

  flex-direction: row;

  /* margin: 5px 10px; */

  text-decoration: none;

  font-weight: 400;
  font-size: 14px;

  color: #B10000;
}

footer.footer {
  position: relative;
  display: flex;

  justify-content: center;

  flex-direction: row;
  flex-wrap: wrap;

  margin: 60px 0;

  width: 100%;
}

footer.footer > a {
  position: relative;
  display: flex;

  flex-direction: row;

  margin: 5px 10px;

  text-decoration: none;

  font-weight: 400;
  font-size: 12px;

  color: #42396A;
}
