/*
* Button component
*
*/
/*
 * Utilities
 */
.eufemia-scope--10_104_0 {
  --button-icon-size: 1rem;
  --button-height: 2.5rem;
}

.eufemia-scope--10_104_0 .dnb-button {
  --button-font-size: var(--font-size-basis);
  --button-font-size-small: var(--font-size-small);
  --button-icon-size--small: 0.75rem;
  --button-icon-size--medium: 1.5rem;
  --button-icon-size--large: 2rem;
  --button-icon-gutter: 0.5rem;
  --button-width: 2.5rem;
  --button-width--small: 1.5rem;
  --button-height--small: 1.5rem;
  --button-width--medium: 2rem;
  --button-height--medium: 2rem;
  --button-width--large: 3rem;
  --button-height--large: 3rem;
  --button-border-width: 0.0625rem;
  --button-border-width--hover: 0.1875rem;
  --button-border-radius: calc(var(--button-height) / 2);
  --button-border-radius--control-button: 0.25rem;
  --button-padding-left: 0;
  --button-padding-right: 0;
  --button-padding-icon: 1rem;
  --button-padding--default: 1.5rem;
  --button-padding--small: 1rem;
  --button-padding--medium: 1rem;
  --button-padding--large: 2rem;
  --button-icon-margin-top: 0;
  --button-icon-margin-left: 0;
  --button-icon-margin-right: 0;
  position: relative;
  cursor: pointer;
  white-space: nowrap;
}
.eufemia-scope--10_104_0 .dnb-button--wrap {
  overflow-wrap: break-word;
  white-space: normal;
}
.eufemia-scope--10_104_0 .dnb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--button-width);
  height: auto;
  padding: 0 var(--button-padding-right) 0 var(--button-padding-left);
  border: none;
  border-radius: var(--button-border-radius);
  text-align: left;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  -webkit-text-decoration: none;
  text-decoration: none;
  box-shadow: none;
}
.eufemia-scope--10_104_0 .dnb-button, .eufemia-scope--10_104_0 .dnb-core-style .dnb-button {
  line-height: var(--button-height);
}
.eufemia-scope--10_104_0 .dnb-button__text {
  margin: 0.5rem 0;
  font-size: var(--button-font-size);
  line-height: var(--line-height-basis);
  color: inherit;
  transform: translateY(-0.03125rem);
}
.eufemia-scope--10_104_0 .dnb-button__text [data-os=linux] {
  transform: translateY(-0.035rem);
}
.eufemia-scope--10_104_0 .dnb-button__alignment {
  display: inline-block;
  width: 0;
}
.eufemia-scope--10_104_0 .dnb-button__bounding {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transform: scale(1.1, 1.4);
  background-color: transparent;
  border-radius: var(--button-border-radius);
}
.eufemia-scope--10_104_0 .dnb-button--size-small {
  --button-height: var(--button-height--small);
  width: var(--button-width--small);
  font-size: var(--button-font-size-small);
}
.eufemia-scope--10_104_0 .dnb-button--size-small .dnb-button__text {
  margin: 0;
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--size-small {
  --button-padding-left: var(--button-padding--small);
  --button-padding-right: var(--button-padding--small);
}
.eufemia-scope--10_104_0 .dnb-button--size-medium {
  --button-height: var(--button-height--medium);
  width: var(--button-width--medium);
}
.eufemia-scope--10_104_0 .dnb-button--size-medium .dnb-button__text {
  margin: 0;
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--size-medium {
  --button-padding-left: var(--button-padding--medium);
  --button-padding-right: var(--button-padding--medium);
}
.eufemia-scope--10_104_0 .dnb-button--control-before.dnb-button--size-medium {
  line-height: var(--button-height);
}
.eufemia-scope--10_104_0 .dnb-button--control-after.dnb-button--size-medium {
  line-height: var(--button-height);
}
.eufemia-scope--10_104_0 .dnb-button--size-large {
  --button-height: var(--button-height--large);
  --button-padding-icon: 1.5rem;
  width: var(--button-width--large);
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--size-large {
  --button-padding-left: var(--button-padding--large);
  --button-padding-right: var(--button-padding--large);
}
.eufemia-scope--10_104_0 .dnb-button {
  /* stylelint-disable-next-line */
}
.eufemia-scope--10_104_0 .dnb-button--has-text {
  --button-padding-left: var(--button-padding--default);
  --button-padding-right: var(--button-padding--default);
  width: auto;
}
.eufemia-scope--10_104_0 .dnb-button__icon {
  margin: var(--button-icon-margin-top) var(--button-icon-margin-right) 0 var(--button-icon-margin-left);
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--icon-position-left {
  --button-padding-left: var(--button-padding-icon);
  --button-icon-margin-right: var(--button-icon-gutter);
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--icon-position-right {
  --button-padding-right: var(--button-padding-icon);
  --button-icon-margin-left: var(--button-icon-gutter);
}
.eufemia-scope--10_104_0 .dnb-button--icon-size-small {
  --button-icon-size: var(--button-icon-size--small);
}
.eufemia-scope--10_104_0 .dnb-button--icon-size-medium {
  --button-icon-size: var(--button-icon-size--medium);
}
.eufemia-scope--10_104_0 .dnb-button--icon-size-large {
  --button-icon-size: var(--button-icon-size--large);
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon .dnb-button__icon {
  order: 2;
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon .dnb-button__text {
  order: 1;
}
.eufemia-scope--10_104_0 .dnb-button:not(.dnb-button--has-text) .dnb-button__icon {
  width: inherit;
}
.eufemia-scope--10_104_0 .dnb-button__icon.dnb-icon svg:not([width]):not([height]) {
  width: var(--button-icon-size);
  height: var(--button-icon-size);
}
.eufemia-scope--10_104_0 [href] > .dnb-button__icon.dnb-icon {
  line-height: var(--button-font-size);
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon, .eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon {
  order: 1;
}
.eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text, .eufemia-scope--10_104_0 .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text {
  order: 2;
}
.eufemia-scope--10_104_0 .dnb-button--stretch {
  width: 100%;
}
.eufemia-scope--10_104_0 .dnb-button--control-before {
  border-radius: var(--button-border-radius--control-button) 0 0 var(--button-border-radius--control-button);
}
.eufemia-scope--10_104_0 .dnb-button--control-after {
  border-radius: 0 var(--button-border-radius--control-button) var(--button-border-radius--control-button) 0;
}
.eufemia-scope--10_104_0 .dnb-button--reset {
  margin: 0;
  padding: 0;
  width: auto;
  height: auto;
  overflow: visible;
  border: none;
  border-radius: 0;
  background-color: transparent;
  -webkit-appearance: none;
          appearance: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  line-height: inherit;
}
html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-button--reset:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-button--reset:hover:not([disabled]) {
  box-shadow: none;
  border: none;
}
.eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):focus, .eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):active {
  outline: none;
}
html[data-whatinput=keyboard] .eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):focus, html[data-whatinput=keyboard] .eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):active {
  --border-color: var(--focus-ring-color);
  --border-width: var(--focus-ring-width);
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
  border-color: transparent;
}
html[data-whatinput=mouse] .eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):focus, html[data-whatinput=mouse] .eufemia-scope--10_104_0 .dnb-button--reset:not([disabled]):active {
  box-shadow: none;
  color: inherit;
  border: none;
}
.eufemia-scope--10_104_0 .dnb-button[type=button], .eufemia-scope--10_104_0 .dnb-button[type=reset], .eufemia-scope--10_104_0 .dnb-button[type=submit] {
  appearance: none;
  /* stylelint-disable-next-line */
  -moz-appearance: none;
  /* stylelint-disable-next-line */
  -webkit-appearance: none;
}
.eufemia-scope--10_104_0 .dnb-button[disabled] {
  cursor: not-allowed;
  outline: none;
}
.eufemia-scope--10_104_0 .dnb-form-row--vertical .dnb-form-row__content > .dnb-button {
  align-self: flex-start;
}
.eufemia-scope--10_104_0 .dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text {
  white-space: nowrap;
}
.eufemia-scope--10_104_0 .dnb-button + .dnb-form-status {
  margin-top: 0.5rem;
}

/* Firefox includes a hidden border which messes up button dimensions */
.eufemia-scope--10_104_0 button.dnb-button::-moz-focus-inner {
  border: none;
}