/**
 SASS files that don't get compiled into CSS. Do not put element selectors in here.
 Every file not starting with '_' should import this file if you want to use functions and mixins.
 */
/**
 * SASS variables
 *
 These are only used in the properties and abstract SASS files.
 */
/**
 Breakpoints and columns
 */
/**
 Text
 */
/**
Fill in the header styles, only write the properties you want to override.
 */
/**
 Form
 */
/**
  Buttons
 */
/**
 Breakpoints

 @param {Keyword} $breakpoint - The breakpoint name of the minimum width. Can be any of the names in the $breakpoint variable
 */
/**
  Custom column size.
  Especially handy inside other columns.

  @param {Number|string} $size - the size in columns or 'expand'/'shrink'.
  @param {number} $total - the total size in columns. Ignored when size is 'expand'/'shrink'
 */
/**
  Custom offset size.
  Especially handy inside other columns.

  @param {Number|string} $size - the size of the offset.
  @param {number} $total - the total size in columns.
  @param {string} - the side from the offset.
 */
/**
 * @file
 * Visual styles for form components.
 */
form .field-multiple-table {
  margin: 0;
}

form .field-multiple-table .field-multiple-drag {
  width: 30px;
  padding-right: 0; /* LTR */
}

[dir=rtl] form .field-multiple-table .field-multiple-drag {
  padding-left: 0;
}

form .field-multiple-table .field-multiple-drag .tabledrag-handle {
  padding-right: 0.5em; /* LTR */
}

[dir=rtl] form .field-multiple-table .field-multiple-drag .tabledrag-handle {
  padding-right: 0;
  padding-left: 0.5em;
}

form .field-add-more-submit {
  margin: 0.5em 0 0;
}

/**
 * Markup generated by Form API.
 */
.form-item,
.form-actions {
  margin-top: var(--form-item-margin);
  margin-bottom: var(--form-item-margin);
}

tr.odd .form-item,
tr.even .form-item {
  margin-top: 0;
  margin-bottom: 0;
}

.form-composite > .fieldset-wrapper > .description,
.form-item .description {
  font-size: 0.85em;
}

label.option {
  display: inline;
  font-weight: normal;
}

.form-composite > legend,
label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: inherit;
}

.marker {
  color: #e00;
}

.form-item input.error,
.form-item textarea.error,
.form-item select.error {
  border: 2px solid red;
}

/* Inline error messages. */
.form-item--error-message:before {
  display: inline-block;
  width: 14px;
  height: 14px;
  content: "";
  vertical-align: sub;
  background-size: contain;
}

label.form-required:after {
  content: "*";
}

input {
  accent-color: var(--accent-color);
}

input[readonly] {
  background-color: var(--light-gray);
  cursor: not-allowed;
}

label.option {
  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: var(--font-weight-label);
  margin-left: 5px;
}

.js-form-type-textfield, .js-form-type-tel, .js-form-type-email, .js-form-type-password, .js-form-type-textarea {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.js-form-type-textfield label, .js-form-type-tel label, .js-form-type-email label, .js-form-type-password label, .js-form-type-textarea label {
  margin-bottom: 12px;
  text-transform: uppercase;
  font-weight: 400;
  font-family: var(--header-font-family);
  color: var(--black);
}
.js-form-type-textfield input, .js-form-type-tel input, .js-form-type-email input, .js-form-type-password input, .js-form-type-textarea input {
  border: solid 1px var(--primary-color);
  border-radius: 8px;
  min-height: 48px;
  background-color: transparent;
  color: var(--black);
  padding: 0px 15px;
}
.js-form-type-textfield textarea, .js-form-type-tel textarea, .js-form-type-email textarea, .js-form-type-password textarea, .js-form-type-textarea textarea {
  min-height: 200px;
  border: solid 1px var(--primary-color);
  border-radius: 8px;
  background-color: transparent;
  width: 100%;
  color: var(--black);
  padding: 15px;
}

.form-item-consent {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 12px;
}

.webform-actions {
  margin-top: 15px;
}

.captcha {
  border: unset;
  padding: 0px;
}
.captcha legend {
  display: none;
}
.captcha .description {
  display: none;
}

@media (min-width: 1200px) {
  .webform-submission-basic-form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
  }
  .webform-submission-basic-form .form-item-first-name, .webform-submission-basic-form .form-item-last-name, .webform-submission-basic-form .form-item-email, .webform-submission-basic-form .form-item-phone {
    width: calc(50% - 10px);
  }
  .webform-submission-basic-form .form-item-message {
    width: 100%;
  }
  .webform-submission-basic-form .webform-actions {
    width: 100%;
  }
}
