.wsf-form button.wsf-button {
  -webkit-appearance: none;
  background-color: var(--wsf-field-button-color-background);
  border-color: var(--wsf-field-button-border-color);
  border-radius: var(--wsf-field-button-border-radius);
  border-style: var(--wsf-field-button-border-style);
  border-width: var(--wsf-field-button-border-width);
  color: var(--wsf-field-button-color);
  cursor: pointer;
  display: inline-block;
  font-family: var(--wsf-field-button-font-family);
  font-size: var(--wsf-field-button-font-size);
  font-style: var(--wsf-field-button-font-style);
  font-weight: var(--wsf-field-button-font-weight);
  letter-spacing: var(--wsf-field-button-letter-spacing);
  line-height: var(--wsf-field-button-line-height);
  margin: 0;
  min-height: auto;
  max-width: none;
  padding: var(--wsf-field-button-padding);
  text-align: center;
  -webkit-text-decoration: var(--wsf-field-button-text-decoration);
          text-decoration: var(--wsf-field-button-text-decoration);
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  text-transform: var(--wsf-field-button-text-transform);
  touch-action: manipulation;
  user-select: none;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.wsf-form button.wsf-button.wsf-button-full {
  width: var(--wsf-field-button-width);
}

.wsf-form button.wsf-button::-moz-focus-inner {
  border: 0;
  margin: 0;
  padding: 0;
}

.wsf-form button.wsf-button:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-color-background-hover);
  border-color: var(--wsf-field-button-border-color-hover);
  color: var(--wsf-field-button-color-hover);
}

.wsf-form button.wsf-button:focus, .wsf-form button.wsf-button:active {
  background-color: var(--wsf-field-button-color-background-focus);
  border-color: var(--wsf-field-button-border-color-focus);
  box-shadow: var(--wsf-field-box-shadow);
  color: var(--wsf-field-button-color-focus);
  outline: 0;
}

.wsf-form button.wsf-button:disabled {
  cursor: not-allowed;
  opacity: .5;
  transition: none;
}

.wsf-form button.wsf-button.wsf-button-primary {
  background-color: var(--wsf-field-button-primary-color-background);
  border-color: var(--wsf-field-button-primary-border-color);
  color: var(--wsf-field-button-primary-color);
}

.wsf-form button.wsf-button.wsf-button-primary:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-primary-color-background-hover);
  border-color: var(--wsf-field-button-primary-border-color-hover);
  color: var(--wsf-field-button-primary-color-hover);
}

.wsf-form button.wsf-button.wsf-button-primary:focus, .wsf-form button.wsf-button.wsf-button-primary:active {
  background-color: var(--wsf-field-button-primary-color-background-focus);
  border-color: var(--wsf-field-button-primary-border-color-focus);
  color: var(--wsf-field-button-primary-color-focus);
}

.wsf-form button.wsf-button.wsf-button-secondary {
  background-color: var(--wsf-field-button-secondary-color-background);
  border-color: var(--wsf-field-button-secondary-border-color);
  color: var(--wsf-field-button-secondary-color);
}

.wsf-form button.wsf-button.wsf-button-secondary:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-secondary-color-background-hover);
  border-color: var(--wsf-field-button-secondary-border-color-hover);
  color: var(--wsf-field-button-secondary-color-hover);
}

.wsf-form button.wsf-button.wsf-button-secondary:focus, .wsf-form button.wsf-button.wsf-button-secondary:active {
  background-color: var(--wsf-field-button-secondary-color-background-focus);
  border-color: var(--wsf-field-button-secondary-border-color-focus);
  color: var(--wsf-field-button-secondary-color-focus);
}

.wsf-form button.wsf-button.wsf-button-success {
  background-color: var(--wsf-field-button-success-color-background);
  border-color: var(--wsf-field-button-success-border-color);
  color: var(--wsf-field-button-success-color);
}

.wsf-form button.wsf-button.wsf-button-success:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-success-color-background-hover);
  border-color: var(--wsf-field-button-success-border-color-hover);
  color: var(--wsf-field-button-success-color-hover);
}

.wsf-form button.wsf-button.wsf-button-success:focus, .wsf-form button.wsf-button.wsf-button-success:active {
  background-color: var(--wsf-field-button-success-color-background-focus);
  border-color: var(--wsf-field-button-success-border-color-focus);
  color: var(--wsf-field-button-success-color-focus);
}

.wsf-form button.wsf-button.wsf-button-information {
  background-color: var(--wsf-field-button-info-color-background);
  border-color: var(--wsf-field-button-info-border-color);
  color: var(--wsf-field-button-info-color);
}

.wsf-form button.wsf-button.wsf-button-information:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-info-color-background-hover);
  border-color: var(--wsf-field-button-info-border-color-hover);
  color: var(--wsf-field-button-info-color-hover);
}

.wsf-form button.wsf-button.wsf-button-information:focus, .wsf-form button.wsf-button.wsf-button-information:active {
  background-color: var(--wsf-field-button-info-color-background-focus);
  border-color: var(--wsf-field-button-info-border-color-focus);
  color: var(--wsf-field-button-info-color-focus);
}

.wsf-form button.wsf-button.wsf-button-warning {
  background-color: var(--wsf-field-button-warning-color-background);
  border-color: var(--wsf-field-button-warning-border-color);
  color: var(--wsf-field-button-warning-color);
}

.wsf-form button.wsf-button.wsf-button-warning:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-warning-color-background-hover);
  border-color: var(--wsf-field-button-warning-border-color-hover);
  color: var(--wsf-field-button-warning-color-hover);
}

.wsf-form button.wsf-button.wsf-button-warning:focus, .wsf-form button.wsf-button.wsf-button-warning:active {
  background-color: var(--wsf-field-button-warning-color-background-focus);
  border-color: var(--wsf-field-button-warning-border-color-focus);
  color: var(--wsf-field-button-warning-color-focus);
}

.wsf-form button.wsf-button.wsf-button-danger {
  background-color: var(--wsf-field-button-danger-color-background);
  border-color: var(--wsf-field-button-danger-border-color);
  color: var(--wsf-field-button-danger-color);
}

.wsf-form button.wsf-button.wsf-button-danger:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-danger-color-background-hover);
  border-color: var(--wsf-field-button-danger-border-color-hover);
  color: var(--wsf-field-button-danger-color-hover);
}

.wsf-form button.wsf-button.wsf-button-danger:focus, .wsf-form button.wsf-button.wsf-button-danger:active {
  background-color: var(--wsf-field-button-danger-color-background-focus);
  border-color: var(--wsf-field-button-danger-border-color-focus);
  color: var(--wsf-field-button-danger-color-focus);
}

.wsf-form.wsf-form-post-lock-progress button.wsf-button {
  cursor: progress;
}

.wsf-form button.wsf-button {
  transition: background-color var(--wsf-form-transition), border-color var(--wsf-form-transition), box-shadow var(--wsf-form-transition);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button {
  background-color: var(--wsf-field-button-color-background-alt);
  border-color: var(--wsf-field-button-border-color-alt);
  color: var(--wsf-field-button-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-color-background-hover-alt);
  border-color: var(--wsf-field-button-border-color-hover-alt);
  color: var(--wsf-field-button-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button:active {
  background-color: var(--wsf-field-button-color-background-focus-alt);
  border-color: var(--wsf-field-button-border-color-focus-alt);
  color: var(--wsf-field-button-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-primary {
  background-color: var(--wsf-field-button-primary-color-background-alt);
  border-color: var(--wsf-field-button-primary-border-color-alt);
  color: var(--wsf-field-button-primary-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-primary:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-primary-color-background-hover-alt);
  border-color: var(--wsf-field-button-primary-border-color-hover-alt);
  color: var(--wsf-field-button-primary-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-primary:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-primary:active {
  background-color: var(--wsf-field-button-primary-color-background-focus-alt);
  border-color: var(--wsf-field-button-primary-border-color-focus-alt);
  color: var(--wsf-field-button-primary-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-secondary {
  background-color: var(--wsf-field-button-secondary-color-background-alt);
  border-color: var(--wsf-field-button-secondary-border-color-alt);
  color: var(--wsf-field-button-secondary-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-secondary:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-secondary-color-background-hover-alt);
  border-color: var(--wsf-field-button-secondary-border-color-hover-alt);
  color: var(--wsf-field-button-secondary-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-secondary:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-secondary:active {
  background-color: var(--wsf-field-button-secondary-color-background-focus-alt);
  border-color: var(--wsf-field-button-secondary-border-color-focus-alt);
  color: var(--wsf-field-button-secondary-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-success {
  background-color: var(--wsf-field-button-success-color-background-alt);
  border-color: var(--wsf-field-button-success-border-color-alt);
  color: var(--wsf-field-button-success-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-success:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-success-color-background-hover-alt);
  border-color: var(--wsf-field-button-success-border-color-hover-alt);
  color: var(--wsf-field-button-success-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-success:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-success:active {
  background-color: var(--wsf-field-button-success-color-background-focus-alt);
  border-color: var(--wsf-field-button-success-border-color-focus-alt);
  color: var(--wsf-field-button-success-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-information {
  background-color: var(--wsf-field-button-info-color-background-alt);
  border-color: var(--wsf-field-button-info-border-color-alt);
  color: var(--wsf-field-button-info-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-information:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-info-color-background-hover-alt);
  border-color: var(--wsf-field-button-info-border-color-hover-alt);
  color: var(--wsf-field-button-info-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-information:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-information:active {
  background-color: var(--wsf-field-button-info-color-background-focus-alt);
  border-color: var(--wsf-field-button-info-border-color-focus-alt);
  color: var(--wsf-field-button-info-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-warning {
  background-color: var(--wsf-field-button-warning-color-background-alt);
  border-color: var(--wsf-field-button-warning-border-color-alt);
  color: var(--wsf-field-button-warning-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-warning:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-warning-color-background-hover-alt);
  border-color: var(--wsf-field-button-warning-border-color-hover-alt);
  color: var(--wsf-field-button-warning-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-warning:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-warning:active {
  background-color: var(--wsf-field-button-warning-color-background-focus-alt);
  border-color: var(--wsf-field-button-warning-border-color-focus-alt);
  color: var(--wsf-field-button-warning-color-focus-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-danger {
  background-color: var(--wsf-field-button-danger-color-background-alt);
  border-color: var(--wsf-field-button-danger-border-color-alt);
  color: var(--wsf-field-button-danger-color-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-danger:hover:enabled:not(:checked):not(:focus) {
  background-color: var(--wsf-field-button-danger-color-background-hover-alt);
  border-color: var(--wsf-field-button-danger-border-color-hover-alt);
  color: var(--wsf-field-button-danger-color-hover-alt);
}

html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-danger:focus, html.wsf-styler-scheme-alt .wsf-form[data-wsf-style-has-alt] button.wsf-button.wsf-button-danger:active {
  background-color: var(--wsf-field-button-danger-color-background-focus-alt);
  border-color: var(--wsf-field-button-danger-border-color-focus-alt);
  color: var(--wsf-field-button-danger-color-focus-alt);
}
