.orbeon .fr-buttons {
  font-size: 0;
  position: sticky;
  bottom: 0;
  padding: 10px;
  background-color: white;
  border-radius: 4px;
  text-align: center;
  z-index: 4;
}
.orbeon .fr-buttons .fr-buttons-message div {
  display: inline;
}
.orbeon .fr-keyboard-shortcuts-hidden .fr-buttons:hover kbd,
.orbeon .fr-keyboard-shortcuts-hidden .fr-dialog-buttons:hover kbd {
  display: none;
}
.orbeon .fr-buttons:hover kbd,
.orbeon .fr-dialog-buttons:hover kbd {
  display: inline-block;
}
.orbeon .fr-buttons:hover kbd:empty,
.orbeon .fr-dialog-buttons:hover kbd:empty,
.orbeon .fr-buttons:hover kbd:has(.xforms-output-output:empty),
.orbeon .fr-dialog-buttons:hover kbd:has(.xforms-output-output:empty) {
  display: none;
}
.orbeon .fr-buttons,
.orbeon .fr-dialog-buttons {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.orbeon .fr-buttons .xforms-trigger button img,
.orbeon .fr-dialog-buttons .xforms-trigger button img {
  margin-right: 10px;
}
.orbeon .fr-buttons .xforms-trigger button[class~=btn]:first-of-type,
.orbeon .fr-dialog-buttons .xforms-trigger button[class~=btn]:first-of-type,
.orbeon .fr-buttons .xforms-submit button[class~=btn]:first-of-type,
.orbeon .fr-dialog-buttons .xforms-submit button[class~=btn]:first-of-type,
.orbeon .fr-buttons .xbl-fr-drop-trigger button[class~=btn]:first-of-type,
.orbeon .fr-dialog-buttons .xbl-fr-drop-trigger button[class~=btn]:first-of-type,
.orbeon .fr-buttons .xforms-trigger input,
.orbeon .fr-dialog-buttons .xforms-trigger input,
.orbeon .fr-buttons .xforms-submit input,
.orbeon .fr-dialog-buttons .xforms-submit input,
.orbeon .fr-buttons .xbl-fr-drop-trigger input,
.orbeon .fr-dialog-buttons .xbl-fr-drop-trigger input {
  min-width: 9.5em;
  margin-left: 4px;
  margin-bottom: 4px;
}
.orbeon .fr-buttons .fr-collapse-all-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-collapse-all-button.xforms-trigger button,
.orbeon .fr-buttons .fr-expand-all-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-expand-all-button.xforms-trigger button,
.orbeon .fr-buttons .fr-refresh-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-refresh-button.xforms-trigger button {
  min-width: 2em;
  width: 2em;
  padding: 0;
}
.orbeon .fr-buttons .fr-collapse-all-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-collapse-all-button.xforms-trigger button,
.orbeon .fr-buttons .fr-expand-all-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-expand-all-button.xforms-trigger button,
.orbeon .fr-buttons .fr-refresh-button.xforms-trigger button,
.orbeon .fr-dialog-buttons .fr-refresh-button.xforms-trigger button {
  min-width: 2em;
  width: 2em;
  padding: 3px;
}
@media (max-width: 640px) {
  .orbeon .fr-buttons {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
  }
  .orbeon .fr-buttons .xforms-trigger button {
    display: block;
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
  .orbeon .fr-buttons .xforms-trigger button[class~=btn]:first-of-type {
    margin-left: 0;
  }
  .orbeon .fr-buttons .btn-group.dropup {
    display: flex;
    width: 100%;
    margin-left: 0;
  }
  .orbeon .fr-buttons .btn-group.dropup button[class~=btn]:first-of-type {
    flex-grow: 1;
    justify-content: start;
    margin-left: 0;
  }
}
