div.row {
  margin: 10px 0;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

@media screen and (min-width: 576px) {
  .col-35 {
    width: 35%;
    float: left;
    text-align: right;
  }

  .col-35 label {
    padding-right: 2rem;
  }

  .col-65 {
    width: 65%;
    float: left;
  }
}

label {
  font-weight: bold;
  display: inline-block;
  padding: 8px 0;
}

label p {
  font-weight: normal;
  font-size: smaller;
  margin: 0;
}

input[type="text"],
select,
input[type="date"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="tel"] {
  padding: 8px 20px;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  background-color: white;
}

input[type="text"],
input[type="password"],
input[type="email"] {
  width: 100%;
}

button[type="submit"] {
  background-color: rgb(0, 102, 153);
  color: white;
  font-weight: bold;
  padding: 12px 1.5em;
  margin: 8px 25% 16px 25%;
  min-width: 100px;
  max-width: 50%;
  white-space: break-spaces;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

button[type="submit"]:hover {
  background-color: rgb(0, 136, 204);
}

textarea {
  width: 100%;
  resize: vertical;
}

form {
  text-align: right;
}

fieldset {
  width: 98%;
  max-width: 960px;
  margin: 0 auto;
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 15px;
  display: block;
  text-align: left;
}
