@import "geist/font/geist-sans.css";
@import "geist/font/geist-mono.css";

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  margin: 0;
  padding: 0;

  height: 100vh;
  width: 100%;

  font-family: "Geist Sans", sans-serif;
  background-color: white;
}

#signup-image {
  height: 100px;
  margin-top: 100px;
  margin-bottom: 20px;
}

#signup-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 20px;
}

/* SIGNUP FORM PART 1 */

#signup-form-part-1 {
  display: flex;
  align-items: stretch;
  justify-content: center;

  width: 500px;
  min-height: 120px;

  border: 1px solid lightblue;
  border-radius: 10px;
  overflow: hidden;
}

#signup-form-part-1-title {
  display: flex;
  align-items: center;

  width: 30%;
  padding: 20px;

  font-size: 24px;

  background-color: aliceblue;
}

#signup-form-part-1-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 70%;
}

#signup-form-part-1-content input:first-of-type {
  margin-bottom: 20px;
}

/* SIGNUP FORM PART 2 */

#signup-form-part-2 {
  display: flex;
  align-items: stretch;
  justify-content: center;

  width: 500px;
  min-height: 120px;

  border: 1px solid lightblue;
  border-radius: 5px;
  overflow: hidden;
}

#signup-form-part-2-title {
  display: flex;
  align-items: center;

  width: 30%;
  padding: 20px;

  font-size: 24px;

  background-color: aliceblue;
}

#signup-form-part-2-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 70%;
}

/* SIGNUP FORM PART 3 */

#signup-form-part-3 {
  display: flex;
  align-items: stretch;
  justify-content: center;

  width: 500px;
  min-height: 120px;

  border: 1px solid lightblue;
  border-radius: 5px;
  overflow: hidden;
}

#signup-form-part-3-title {
  display: flex;
  align-items: center;

  width: 30%;
  padding: 20px;

  font-size: 24px;

  background-color: aliceblue;
}

#signup-form-part-3-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 70%;
}

#signup-form-part-3-content input:first-of-type {
  margin-bottom: 20px;
}

#signup-form input {
  width: 250px;
  height: 30px;
  border: 1px solid black;
  border-radius: 5px;
}

#submit_user_create {
  width: 300px;

  padding: 10px;
  margin-top: 20px;
  background-color: aliceblue;
  border: 1px solid lightblue;
  border-radius: 10px;
}

#submit_user_create:hover {
  cursor: pointer;
  background-color: white;
}

/* Error message  (handled here because the 5px margin top messes with the flexbox alignement */

.error-message:empty {
  display: none;
}

.error-message {
  margin-top: 5px;
}
