.form {
  display: flex; }
  .form .formbox {
    display: block;
    flex: 2 2;
    padding-right: 25px; }
    .form .formbox .twocolumn {
      display: flex; }
      .form .formbox .twocolumn div {
        flex: 1 1; }
        .form .formbox .twocolumn div:first-of-type {
          margin-right: 10px; }
        .form .formbox .twocolumn div:last-of-type {
          margin-left: 10px; }

.helpbox {
  margin-top: 30px;
  flex: 1 1;
  display: block; }
  .helpbox h4 {
    margin-top: 5px; }
  .helpbox .help {
    margin-left: 5px;
    padding: 10px 20px;
    border: var(--neutral_fill) 1px solid;
    border-radius: 10px;
    background-color: var(--neutral_fill);
    position: -webkit-sticky;
    position: sticky;
    top: 0; }
  .helpbox #error.active {
    font-weight: bold; }

.active {
  font-weight: bold;
  color: firebrick; }

.form.fullwidth label,
.form.fullwidth input,
.form.fullwidth textarea,
.form.fullwidth select {
  display: block;
  width: 100%; }

button,
.button,
a.button,
a.button:active,
a.button:visited {
  --fill_color: var(--highlight);
  --text_color: white;
  --border-color: var(--highlight);
  display: inline-block;
  min-width: 200px;
  padding: 0px 5px;
  margin: 5px;
  cursor: pointer;
  border-radius: 20px;
  border: 1px solid var(--border-color);
  background-color: var(--fill_color);
  color: var(--text_color);
  font-family: "serifa", serif;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 35px;
  text-align: center; }
  button.neutral,
  .button.neutral,
  a.button.neutral,
  a.button:active.neutral,
  a.button:visited.neutral {
    --fill_color: var(--neutral_fill);
    --text_color: black;
    --border-color: black; }
  button:hover,
  .button:hover,
  a.button:hover,
  a.button:active:hover,
  a.button:visited:hover {
    border-radius: 20px;
    color: var(--fill_color);
    background-color: var(--text_color); }
  button.fullwidth,
  .button.fullwidth,
  a.button.fullwidth,
  a.button:active.fullwidth,
  a.button:visited.fullwidth {
    width: calc(100% - 30px); }
  button.medium,
  .button.medium,
  a.button.medium,
  a.button:active.medium,
  a.button:visited.medium {
    font-size: 75%;
    line-height: 45px;
    min-width: 150px; }
  button.small,
  .button.small,
  a.button.small,
  a.button:active.small,
  a.button:visited.small {
    font-size: 50%;
    line-height: 25px;
    min-width: 100px; }
  button.floatright,
  .button.floatright,
  a.button.floatright,
  a.button:active.floatright,
  a.button:visited.floatright {
    float: right; }

label {
  margin-top: 20px;
  font-weight: bold;
  font-size: 75%;
  color: var(--highlight);
  font-family: "serifa"; }

input,
textarea,
select,
input:focus {
  min-height: 30px;
  padding-top: 3px;
  border: 1px solid var(--highlight);
  border-radius: 5px;
  resize: vertical; }

input[type="checkbox"] {
  position: relative;
  -webkit-apparance: none;
  appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  width: 30px !important;
  margin-top: 0px;
  display: inline-block !important;
  border-color: var(--highlight); }
  input[type="checkbox"]:checked {
    background-color: var(--highlight); }
    input[type="checkbox"]:checked:after {
      content: "\2714";
      font-size: 20px;
      position: absolute;
      top: 0px;
      left: 5px;
      color: white;
      font-weight: bold; }
  input[type="checkbox"] + label {
    display: inline-block !important;
    width: auto !important;
    font-family: "source-sans-3", sans-serif;
    color: black;
    position: absolute;
    margin: 3px;
    font-weight: normal; }

select {
  height: 36px; }

.hasError {
  border: 4px solid red !important; }

/*# sourceMappingURL=forms.css.map */