.site__form {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
}

.site__form input, .site__form textarea {
	width: 100%;
	padding: 1rem 30px;
	border: 1px solid #D1D1D1;
	border-radius: 8px;
	transition: border-color .25s ease-in-out;
}

.site__form textarea {
	min-height: 5.5rem;
}

.site__form input:hover,
.site__form input:focus,
.site__form textarea:hover,
.site__form textarea:focus {
	border-color: var(--primary);
}

.site__form #element-submit {
  margin-top: 1rem;
}

.site__form ::placeholder {
  color: var(--gray-200);
  opacity: 1; /* Firefox */
}

.site__form ::-ms-input-placeholder {
  color: var(--gray-200);
}

.site__form .element-row {
  margin-bottom: 0.25rem;
  position: relative;
  padding-bottom: 1.15rem;
}

.site__form .element-title label {
  padding-left: 0.75rem;
  color: var(--gray);
}

.site__form span.error {
  position: absolute;
  font-size: small;
  padding-left: 1rem;
  color: var(--red-200);
  bottom: -5px;
  left: 0;
}

.site__form input.error {
  border-color: var(--red-200);
}