html,
body {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

input[type='file'],
input[type='file']::file-selector-button,
input[type='submit'] {
  appearance: none;
}

input.checkbox,
input.radio {
  outline: none;
}

form li.error {
  background-color: transparent !important;
}

form li.error .desc,
form p.error {
  color: #bf5757 !important;
}

form p.error {
  font-size: 11px;
  font-weight: normal;
}

form li.section div {
  padding: 0;
}

form li.buttons {
  padding: 0;
  padding-top: 25px;
}

form .instruct {
  position: unset;

  width: unset;
  margin: 0;
  margin-top: 10px;
  padding: 0;

  visibility: unset;
  opacity: 1;
  background: unset;
}

.error label.desc {
  font-weight: normal !important;
}

#errorLi {
  display: none;
}

.wufoo .info {
  border-bottom: none;
}

.wufoo .instruct {
  background-color: unset;
  border: 0;
}

.wufoo .instruct small {
  font-size: 90%;
}

.wufoo ul {
  max-width: 450px;
  margin: 0 auto;
  padding: 0;
}

.wufoo li {
  overflow: hidden;
  width: unset;
  margin-bottom: 15px;
  padding: 0;
}

.wufoo li.focused {
  background-color: transparent !important;
}

.wufoo span {
  position: relative;
  display: block;
}

.wufoo .section h3 {
  margin-bottom: 10px;
  padding: 0;
  border: 0;
}

.wufoo .notStacked div {
  display: flex;
}

.wufoo .notStacked span + span {
  margin-left: 40px;
}

.wufoo legend.desc {
  padding: 0;
  font-size: 14px !important;
}

.wufoo label.desc {
  font-size: 14px !important;
  font-weight: 300;
}

.wufoo .attachment-section label.desc,
.wufoo .comment-section label.desc {
  font-weight: bold;
}

.wufoo .attachment-section input[type='file'] {
  margin-top: 10px;
  background-image: none;
}

.wufoo .attachment-section input[type='file']::file-selector-button {
  cursor: pointer;

  padding: 7px 23px;

  font-size: 11px;
  color: #1d1d1c;

  background: transparent;
  border: 1px solid #1d1d1c;
  border-radius: 0;

  transition: background-color ease 100ms;
}

.wufoo .attachment-section input[type='file']::file-selector-button:hover {
  background-color: rgb(0 0 0 / 13%);
}

.wufoo textarea.textarea.field {
  padding: 18px 14px;
}

.wufoo textarea.textarea.field,
.wufoo input.text.field {
  width: 100%;

  font-size: 16px;
  color: #1d1c1c;

  background: #f9f8f3;
  border: 1px solid #666;
  border-radius: 4px;
}

.wufoo textarea.textarea.field::placeholder,
.wufoo input.text.field::placeholder {
  color: #666;
}

.wufoo input.text.field {
  display: block;
  height: 44px;
  padding: 0 14px;
  transition: all 100ms ease-out;
}

.wufoo textarea.textarea.field:hover,
.wufoo textarea.textarea.field:focus,
.wufoo input.text.field:hover,
.wufoo input.text.field:focus {
  border-color: black;
}

form li.error .wufoo textarea.textarea.field,
form li.error .wufoo input.text.field,
form li.error .wufoo textarea.textarea.field:hover,
form li.error .wufoo textarea.textarea.field:focus,
form li.error .wufoo input.text.field:hover,
form li.error .wufoo input.text.field:focus {
  border-color: #bf5757 !important;
}

.wufoo textarea.textarea.field,
.wufoo input.text.field:focus {
  outline: none;
}

.wufoo fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.wufoo fieldset .desc {
  margin-bottom: 13px;
}

.wufoo input.btTxt {
  cursor: pointer;

  display: block;

  width: 100%;
  min-width: 167px;
  margin: 0 auto;
  padding: 18px 28px;

  font-size: 11px;
  color: white;
  text-transform: uppercase;

  background-color: #434a57;
  border: 0;
  border-radius: 0;

  transition: background-color ease 100ms;
}

.wufoo input.btTxt:hover {
  background-color: #272c3a;
}

.wufoo .comment-section {
  display: flex;
  flex-direction: column;
}

.wufoo .comment-section label {
  order: 0;
}

.wufoo .comment-section div {
  order: 2;
}

.wufoo .comment-section p {
  order: 1;
  margin-bottom: 10px;
}

@media (width >= 768px) {
  .wufoo .attachment-section input[type='file'] {
    cursor: pointer;
    margin-top: 0;
  }

  .wufoo input.btTxt {
    width: unset;
  }
}
