@charset "UTF-8";
form {
  padding-bottom: 3em;
}

.form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.form .form-row {
  display: flex;
  flex-direction: column;
}

.form .form-row input[type=text],
.form .form-row input[type=email],
.form .form-row input[type=tel] {
  border: 1px solid transparent;
  padding: 0.6rem;
  width: 100%;
  background-color: #fff;
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.16);
}

.form .form-row input[type=text]:focus-visible,
.form .form-row input[type=email]:focus-visible,
.form .form-row input[type=tel]:focus-visible {
  box-shadow: 1px 1px 12px 1px #034176;
}

.form .form-row input[type=text].error,
.form .form-row input[type=email].error,
.form .form-row input[type=tel].error {
  border: 1px solid red !important;
}

.form .note {
  font-size: 12px;
  line-height: 17px;
  color: #666;
  margin-top: -0.5rem;
}

.form .btn-submit {
  padding: 0.75em 2em;
}

.form .checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: Arial, sans-serif;
}

.form .checkbox.align-top label {
  align-items: flex-start;
}

.form .checkbox input[type=checkbox],
.form .checkbox input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.form .checkbox input[type=checkbox]:focus-visible + label .custom-box,
.form .checkbox input[type=radio]:focus-visible + label .custom-box {
  box-shadow: 1px 1px 12px 1px #034176 !important;
}

.form .checkbox input[type=checkbox].error + label .custom-box,
.form .checkbox input[type=radio].error + label .custom-box {
  border: 1px solid red !important;
}

.form .checkbox label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.form .checkbox .custom-box {
  width: 40px;
  height: 40px;
  background-color: #fff;
  border: 3px solid #fff;
  position: relative;
  box-sizing: border-box;
  flex-shrink: 0;
  margin-top: 2px;
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.16);
}

.form .checkbox .custom-box::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 2px solid #fff;
  background-color: #fff;
  box-sizing: border-box;
}

.form .checkbox input[type=checkbox]:checked + label .custom-box::after,
.form .checkbox input[type=radio]:checked + label .custom-box::after {
  content: "✔";
  color: #007bff;
  font-size: 26px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: Arial, sans-serif;
  line-height: 1;
}

.form .checkbox .label-text {
  display: inline-block;
  line-height: 1.5;
  margin-left: 20px;
}

.form label a {
  color: #13778c;
  text-decoration: underline;
}

.form .text-field {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.form .text-field label {
  width: 100%;
  order: 2;
  flex-shrink: 0;
}

.form .text-field input {
  width: 100%;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .form {
    padding-top: 15px;
  }
  .form label {
    font-size: 20px;
    line-height: 27px;
  }
  .form fieldset > * {
    margin-bottom: 30px;
  }
  .form .form-row {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
  .form .form-row input[type=text],
  .form .form-row input[type=email],
  .form .form-row input[type=tel] {
    font-size: 20px;
  }
  .form .form-row.condensed {
    max-width: 700px;
  }
}
@media screen and (max-width: 767px) {
  .form {
    padding-top: 15px;
  }
  .form .checkbox,
  .form .text-field {
    margin-bottom: 26px;
  }
  .form label {
    font-size: 18px;
    line-height: 27px;
  }
  .form fieldset .form-row {
    flex-direction: column;
  }
  .form fieldset .form-row label {
    width: 100%;
    margin-bottom: 0.25rem;
  }
  .form fieldset .form-row input {
    width: 100%;
  }
  .form .form-row input[type=text],
  .form .form-row input[type=email],
  .form .form-row input[type=tel] {
    font-size: 20px;
  }
}
/*# sourceMappingURL=form.css.map */
