.contact-section {
  min-height: 85vh;
  background-color: #DCEAF7;
  color: #0F374D;
  padding-block-end: 50px;
  width: 100%;
  background-image: url(../src_images/cyberspace-2784907.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

h1 {
  color: white;
}

.contact-form {
  width: clamp(320px, 55vw, 400px);
  padding: 10px;
  padding-block-end: 20px;
  margin-inline: auto;
  margin-block: 10px;
  background-color: rgba(255,255,255,0.7);
  border-radius: 5px;
}

.contact-form form {
  width: clamp(280px, 50vw, 360px);
  margin-inline: auto;
  margin-block: auto;
}

.contact-form textarea,
.contact-form input {
  background-color: #ffffff;
  color: black;
}

.contact-form input,
.contact-form textarea,
.contact-form button {
  position: relative;
  font-size: 1.1rem;
  font-weight: 400;
  padding: 5px;
  margin-block: 5px;
  width: clamp(280px, 50vw, 360px);
  margin-inline: auto;
  border: 1px solid #0F374D;
  border-radius: 5px;
}

.contact-form textarea {
  resize: none;
  height: clamp(100px, 30vh, 300px);
}

.contact-form input:not(:placeholder-shown):valid {
  border-color: green;
  outline-color: green;
}
.contact-form textarea:valid {
  border-color: green;
  outline-color: green;
}
.contact-form input:not(:placeholder-shown):invalid {
  border-color: #fb8500;
}
.contact-form input:focus:invalid {
  outline-color: #fb8500;
}

.form-submit-button {
  text-align: center;
  margin-block-end: 10px;
}
.contact-form button {
  width: clamp(200px, 35vw, 280px);
  background-color: #DCEAF7;
}
.contact-form button:hover {
  background-color: white;
  cursor: pointer;
}

.error-message {
  text-align: center;
  color: red;
}
.success-message {
  text-align: center;
  color: #08C43A;
  font-weight: 450;
}