* {
  box-sizing: var(--air-box-sizing, border-box);
}

.textarea-wrapper {
  position: relative;
}
.textarea-wrapper.error .textarea-element {
  color: var(--air-textarea-error-color);
  border-color: var(--air-textarea-error-border-color, var(--air-color-error, var(--air-color-valencia, #e55451)));
}
.textarea-wrapper.error .textarea-label {
  color: var(--air-textarea-error-label-color, var(--air-color-error, var(--air-color-valencia, #e55451)));
}
.textarea-wrapper.error .status-text {
  color: var(--air-textarea-error-label-color, var(--air-color-error, var(--air-color-valencia, #e55451)));
}
.textarea-wrapper.success .textarea-element {
  color: var(--air-textarea-success-color);
  border-color: var(--air-textarea-success-border-color, var(--air-color-success, var(--air-color-fern, #5ec075)));
}
.textarea-wrapper.success .textarea-label {
  color: var(--air-textarea-success-label-color, var(--air-color-success, var(--air-color-fern, #5ec075)));
}
.textarea-wrapper.success .status-text {
  color: var(--air-textarea-success-label-color, var(--air-color-success, var(--air-color-fern, #5ec075)));
}
.textarea-wrapper:not(.with-status):hover .textarea-element:not([disabled]):not([readonly]) {
  color: var(--air-textarea-hover-color, var(--air-form-element-hover-color, var(--air-color-eclipse, #3a3a3a)));
  border-color: var(--air-textarea-hover-border-color, var(--air-form-element-hover-color, var(--air-color-eclipse, #3a3a3a)));
  background-color: var(--air-textarea-hover-background-color, var(--air-form-element-hover-background-color, rgba(58, 58, 58, 0.05)));
}
.textarea-wrapper .required-mark {
  color: var(--air-textarea-mark-required-color, var(--air-color-error, var(--air-color-valencia, #e55451)));
}
.textarea-wrapper .textarea-label {
  display: block;
  font-family: var(--air-textarea-font-family, var(--air-body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  margin-top: var(--air-textarea-label-margin-top, 0);
  margin-right: var(--air-textarea-label-margin-right, 0);
  margin-bottom: var(--air-textarea-label-margin-bottom, var(--air-spacing-02, 0.5rem));
  margin-left: var(--air-textarea-label-margin-left, 0);
}
.textarea-wrapper .status-text {
  display: block;
  font-family: var(--air-textarea-font-family, var(--air-body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  margin-top: var(--air-textarea-status-text-margin-top, var(--air-spacing-02, 0.5rem));
  margin-right: var(--air-textarea-status-text-margin-right, 0);
  margin-bottom: var(--air-textarea-status-text-margin-bottom, 0);
  margin-left: var(--air-textarea-status-text-margin-left, 0);
}

:host {
  display: var(--air-textarea-host-display, inline-flex);
}

.textarea-element {
  display: var(--air-textarea-display, block);
  width: var(--air-textarea-width, var(--air-form-element-width, 576px));
  min-width: var(--air-textarea-min-width, var(--air-form-element-min-width, 260px));
  max-width: var(--air-textarea-max-width, var(--air-form-element-max-width, 100%));
  height: var(--air-textarea-height, 82px);
  min-height: var(--air-textarea-min-height, 58px);
  max-height: var(--air-textarea-max-height, 100%);
  font-family: var(--air-textarea-font-family, var(--air-body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  font-size: var(--air-textarea-font-size, var(--air-body-font-size, 1rem));
  line-height: var(--air-textarea-line-height, var(--air-body-line-height, 1.5));
  margin-top: var(--air-textarea-margin-top, 0);
  margin-left: var(--air-textarea-margin-left, 0);
  margin-bottom: var(--air-textarea-margin-bottom, 0);
  margin-right: var(--air-textarea-margin-right, 0);
  padding-top: var(--air-textarea-padding-top, var(--air-spacing-03, 1rem));
  padding-left: var(--air-textarea-padding-left, var(--air-spacing-03, 1rem));
  padding-bottom: var(--air-textarea-padding-bottom, var(--air-spacing-03, 1rem));
  padding-right: var(--air-textarea-padding-right, var(--air-spacing-03, 1rem));
  border-radius: var(--air-textarea-border-radius, var(--air-form-element-border-radius, var(--air-border-radius, 4px)));
  color: var(--air-textarea-color, var(--air-body-color, var(--air-color-eclipse, #3a3a3a)));
  border: var(--air-textarea-border-width, var(--air-form-element-border-width, 1px)) var(--air-textarea-border-style, var(--air-form-element-border-style, solid)) var(--air-textarea-border-color, var(--air-form-element-border-color, var(--air-color-gray, #b7b7b7)));
}
.textarea-element:focus {
  outline: none;
  box-shadow: 0 0 0 var(--air-textarea-focus-outline-width, var(--air-focus-outline-width, 2px)) var(--air-textarea-focus-outline-color, var(--air-focus-outline-color, var(--air-color-primary-outline, var(--air-color-denim, #2e71bd))));
}
.textarea-element[disabled] {
  background-color: var(--air-textarea-disabled-background-color, var(--air-form-element-disabled-background-color, var(--air-color-gainsboro, #d8d8d8)));
  color: var(--air-textarea-disabled-color, var(--air-form-element-disabled-color, var(--air-color-eclipse, #3a3a3a)));
  border-color: var(--air-textarea-disabled-border-color, var(--air-form-element-disabled-color, var(--air-color-eclipse, #3a3a3a)));
}
.textarea-element[readonly] {
  color: var(--air-textarea-readonly-color, var(--air-form-element-readonly-color, var(--air-color-dim-grey, #717171)));
  border-color: var(--air-textarea-readonly-border-color, var(--air-form-element-readonly-border-color, var(--air-color-gray, #b7b7b7)));
}
.textarea-element::placeholder {
  color: var(--air-textarea-placeholder-color, var(--air-form-element-placeholder-color, var(--air-color-gray, #b7b7b7)));
}
.textarea-element.resize-both {
  resize: both;
}
.textarea-element.resize-horizontal {
  resize: horizontal;
}
.textarea-element.resize-vertical {
  resize: vertical;
}
.textarea-element.resize-inherit {
  resize: inherit;
}
.textarea-element.resize-none {
  resize: none;
}

@media (max-width: 992px) {
  .textarea-wrapper {
    --air-textarea-width: var(--air-mobile-textarea-width, var(--air-mobile-form-element-width, 100%));
    width: var(--air-mobile-textarea-width, var(--air-mobile-form-element-width, 100%));
  }
}