@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Teko:wght@300..700&display=swap');

body {
  margin: 0;
}

.main {
  display: flex;
}

.form-image {
  font-size: 1rem;
  width: 40vw;
  height: 100vh;
  background-image: url("../images/axville-dp7qXItvT84-unsplash.jpg");
  color: white;
}

.img-credit {
  position: relative;
  left: 20vw;
  top: 82vh;
}

.img-credit a:link {
  color: white;
}

.transparent-logo-wrapper {
  position: relative;
  background-color: rgba(0, 0, 0, 0.5);
  top: 25vh;
  height: 15vh;
}

.scissors-logo {
  position: absolute;
  height: 15vh;
  left: 5vw;
}

.logo-text {
  position: absolute;
  top: 3vh;
  left: 15vw;
  font-size: 7rem;
  font-family: Teko, Helvetica, sans-serif;
}

.form-section-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 40vw;
  margin-right: 20px;
}

.form-header {
  font-family: Poppins, "Arial Narrow Bold", sans-serif;
  padding: 20px 50px;
}

.form-header p {
  font-weight: 700;
  font-size: 24px;
}

.form-motivation-message {
  width: 100%;
  font-size: 24px;
}

.form-inputs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  gap: 20px;
  width: 58vw;
  padding: 20px 0 20px 50px;
  box-shadow:
    0 4px 8px 0 rgba(0, 0, 0, 0.2),
    0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.input-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 20vw;
}

.confirm-password-wrapper {
  width: 30vw;
}

input {
  width: 300px;
  height: 30px;
  border: 1px solid lightgray;
  font-size: 18px;
}

input:focus-visible {
  border: 1px solid blue;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  outline: none;
}

input:user-invalid {
  border: 1px solid red;
}

input:user-valid {
  border: 1px solid green;
}

.tel-example {
  opacity: .5;
}

.submit-btn {
  width: fit-content;
  padding: 15px 50px;
  background-color: darkblue;
  color: white;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 700;
  margin-top: 5vh;
  margin-left: 2vw;
}

.submit-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.login-section {
  width: -webkit-fill-available;
  margin-top: 2vh;
  margin-left: 2vw;
}

.pass-req-wrappper {
  width: fit-content;
}

.pass-req-wrapper input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.password-error {
  display: block;
  margin-top: 10px;
  color: #c62828;
  font-size: 14px;
  font-weight: 600;
}

.password-requirements {
  font-size: 12px;
  color: gray;
  font-style: italic;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.toggle-pass-icon {
  position: absolute;
  left: 53vw;
  top: 54.4vh;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-style: italic;
  color: rgba(0, 0, 0, 0.5);
}

.invalid {
  transition: color 0.2s ease;
  color: rgba(255, 0, 0, 1);
}

.valid {
  color: rgba(0, 210, 0, 1);
}