/*
* Button theme
*
*/
/*
 * Utilities
 */
/*
 * Utilities
 */
/*
* Button mixins
*
*/
/*
 * Utilities
 */
/*
 * Utilities
 */
/*
* Button mixins
*
*/
.dnb-button--tertiary {
  --button-tertiary-focus-left: -0.5rem;
  --button-tertiary-focus-right: -0.5rem;
  --button-tertiary-focus-overflow--icon-top: -0.5rem;
  --button-tertiary-underline-left: var(
    --button-tertiary-underline-overflow
  );
  --button-tertiary-underline-right: var(
    --button-tertiary-underline-overflow
  );
  --button-tertiary-underline-overflow: 0;
  --button-tertiary-underline-overflow--icon: calc(
    (var(--button-icon-gutter) + var(--button-icon-size)) * -1
  );
}
.dnb-button--tertiary .dnb-button__text {
  position: relative;
}
.dnb-button--tertiary .dnb-button__text::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: 0.095rem;
  border-radius: 0.0475rem;
  color: var(--color-sea-green);
  background-color: currentcolor;
  bottom: -0.0625rem;
  color: transparent;
  transition: color 250ms ease-in-out;
}
[data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text::after {
  transition: none;
}
.dnb-button--tertiary .dnb-button__text::after {
  left: var(--button-tertiary-underline-left);
  right: var(--button-tertiary-underline-right);
}
.dnb-skeleton .dnb-button--tertiary .dnb-button__text::after {
  content: none;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) {
  outline: none;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: var(--button-tertiary-focus-left);
  bottom: 0;
  right: var(--button-tertiary-focus-right);
  height: inherit;
  border-radius: inherit;
  outline: none;
  --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:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text::after {
  visibility: hidden;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]) .dnb-button__text::after {
  visibility: visible;
}
.dnb-button--tertiary:active[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled] {
  cursor: not-allowed;
}
.dnb-button--tertiary:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) {
  outline: initial;
}
html[data-whatinput=keyboard] .dnb-button--tertiary:active:not([disabled]), html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) {
  box-shadow: none;
}
html[data-whatintent=touch] .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html[data-whatintent=touch] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after {
  transition: none;
  visibility: visible;
  opacity: 1;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html:not([data-whatintent=touch]) html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after {
  visibility: hidden;
}
.dnb-button--tertiary.dnb-button--has-text {
  --button-padding-left: 0;
  --button-padding-right: 0;
  --button-icon-margin-top: calc(
    (var(--button-height) - var(--button-icon-size)) / 2
  );
}
.dnb-button--tertiary.dnb-button--has-text .dnb-button__icon {
  align-self: flex-start;
}
.dnb-button--tertiary.dnb-button--icon-position-top {
  --button-tertiary-focus-left: var(
    --button-tertiary-focus-overflow--icon-top
  );
  --button-tertiary-focus-right: var(
    --button-tertiary-focus-overflow--icon-top
  );
  flex-direction: column;
  border-radius: 0.5rem;
  vertical-align: middle;
}
.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text {
  --button-icon-margin-top: 0.5rem;
}
.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text .dnb-button__icon {
  align-self: center;
}
.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text {
  margin-top: 0;
  margin-bottom: 0.25rem;
  font-size: var(--font-size-x-small);
}
.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text {
  font-size: var(--font-size-small);
}
.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__alignment {
  order: 3;
  height: 0;
}
.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-size-medium, .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-size-large {
  --button-tertiary-underline-overflow--icon: var(
    --button-tertiary-underline-overflow
  );
}
.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left {
  --button-tertiary-focus-right: -1rem;
  --button-tertiary-underline-left: var(
    --button-tertiary-underline-overflow--icon
  );
}
.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right {
  --button-tertiary-focus-left: -1rem;
  --button-tertiary-underline-right: var(
    --button-tertiary-underline-overflow--icon
  );
}
.dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text) {
  --button-tertiary-focus-left: 0;
  --button-tertiary-focus-right: 0;
}
html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text::after {
  visibility: hidden;
}

.dnb-button {
  --button-background--focus: var(--sb-color-blue-light-3);
  --button-border-radius--control-button: 3rem;
  --button-padding--large: 1.5rem;
  --button-primary-shadow: var(--sb-shadow-medium);
  --button-primary-shadow--hover: var(--sb-shadow-medium);
  --button-primary-color: var(--sb-color-white);
  --button-primary-color--hover: var(--sb-color-purple-alternative);
  --button-primary-color--active: var(--sb-color-white);
  --button-primary-color--disabled: var(--sb-color-gray-dark-2);
  --button-primary-background: var(--sb-color-purple-alternative);
  --button-primary-background--hover: var(--sb-color-green);
  --button-primary-background--active: var(--sb-color-purple-alternative);
  --button-primary-background--disabled: var(--sb-color-gray-light);
  --button-primary-border--hover: transparent;
  --button-secondary-color: var(--sb-color-purple-alternative);
  --button-secondary-color--hover: var(--sb-color-purple-alternative);
  --button-secondary-color--active: var(--sb-color-purple-alternative);
  --button-secondary-color--disabled: var(--sb-color-gray-dark);
  --button-secondary-background: var(--sb-color-white);
  --button-secondary-background--hover: var(--sb-color-green);
  --button-secondary-background--active: var(--sb-color-white);
  --button-secondary-border: var(--button-secondary-border--default);
  --button-secondary-border--default: var(--sb-color-purple-alternative);
  --button-secondary-border--hover: var(
    --button-secondary-border--default
  );
  --button-secondary-border--active: var(
    --button-secondary-border--default
  );
  --button-secondary-border--disabled: var(--sb-color-gray-light);
  --button-tertiary-color: var(--sb-color-violet);
  --button-tertiary-border: var(--sb-color-violet);
  border: none;
}
.dnb-button--has-text.dnb-button--size-large {
  --button-padding-icon: 1rem;
}
.dnb-button--primary {
  color: var(--button-primary-color);
  background-color: var(--button-primary-background);
  box-shadow: var(--button-primary-shadow);
}
html:not([data-whatintent=touch]) .dnb-button--primary:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--primary:hover:not([disabled]) {
  color: var(--button-primary-color--hover);
  background-color: var(--button-primary-background--hover);
  --border-color: var(--button-primary-border--hover);
  --border-width: 0.0625rem;
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color), var(--button-primary-shadow--hover);
  border-color: transparent;
}
.dnb-button--primary:active[disabled], html:not([data-whatintent=touch]) .dnb-button--primary:active[disabled] {
  cursor: not-allowed;
}
.dnb-button--primary:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--primary:active:not([disabled]) {
  color: var(--button-primary-color--active);
  background-color: var(--button-primary-background--active);
}
.dnb-button--secondary {
  color: var(--button-secondary-color);
  background-color: var(--button-secondary-background);
  --border-color: var(--button-secondary-border);
  --border-width: 0.0625rem;
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
  border-color: transparent;
}
html:not([data-whatintent=touch]) .dnb-button--secondary:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--secondary:hover:not([disabled]) {
  --button-secondary-border: var(--button-secondary-border--hover);
  color: var(--button-secondary-color--hover);
  background-color: var(--button-secondary-background--hover);
}
.dnb-button--secondary:active[disabled], html:not([data-whatintent=touch]) .dnb-button--secondary:active[disabled] {
  cursor: not-allowed;
}
.dnb-button--secondary:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--secondary:active:not([disabled]) {
  --button-secondary-border: var(--button-secondary-border--active);
  color: var(--button-secondary-color--active);
  background-color: var(--button-secondary-background--active);
}
.dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before, .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after {
  box-shadow: none;
  border: none;
}
html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover[disabled], html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover:not([disabled]) {
  box-shadow: none;
  border: none;
}
html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible[disabled], html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible:not([disabled]) {
  color: var(--sb-color-blue-dark);
  background-color: var(--button-background--focus);
  outline: none;
  --border-color: var(--focus-ring-color);
  --border-width: var(--focus-ring-width);
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color), var(--sb-shadow-medium);
  border-color: transparent;
}
.dnb-button[disabled] {
  --button-primary-shadow: 0 0 transparent;
  --button-primary-color: var(--button-primary-color--disabled);
  --button-primary-background: var(
    --button-primary-background--disabled
  );
  --button-secondary-color: var(--button-secondary-color--disabled);
  --button-secondary-border--default: var(
    --button-secondary-border--disabled
  );
}
.dnb-button:not([disabled]).dnb-button__status--error {
  --button-primary-shadow--hover: 0 0 transparent;
  --button-primary-color: var(--sb-color-white);
  --button-primary-color--hover: var(--sb-color-red);
  --button-primary-color--active: var(--sb-color-white);
  --button-primary-background: var(--sb-color-red);
  --button-primary-background--hover: var(--sb-color-magenta-light-3);
  --button-primary-background--active: var(--sb-color-red);
  --button-primary-border--hover: var(--sb-color-red);
  --button-secondary-color: var(--sb-color-red);
  --button-secondary-color--hover: var(--sb-color-red);
  --button-secondary-color--active: var(--sb-color-red);
  --button-secondary-background--hover: var(--sb-color-magenta-light-3);
  --button-secondary-border--default: var(--sb-color-red);
  --button-tertiary-color: var(--sb-color-red);
  --button-tertiary-border: var(--sb-color-red);
}
.dnb-button--tertiary {
  --button-tertiary-focus-overflow--icon-top: 0;
  --button-tertiary-underline-overflow: -0.5rem;
  --button-tertiary-underline-overflow--icon: calc(
    (
        var(--button-icon-gutter) + var(--button-icon-size) - var(
            --button-tertiary-underline-overflow
          )
      ) * -1
  );
  --button-tertiary-underline-bottom: -0.5rem;
  --button-tertiary-text-bottom--icon: 0.5rem;
  --button-tertiary-text-top--icon: 0;
  color: var(--button-tertiary-color);
  background-color: transparent;
}
.dnb-button--tertiary .dnb-button__text::after {
  height: 0.0625rem;
  bottom: var(--button-tertiary-underline-bottom);
}
.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top {
  --button-padding-left: calc(
    var(--button-tertiary-underline-overflow) * -1
  );
  --button-padding-right: calc(
    var(--button-tertiary-underline-overflow) * -1
  );
}
.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top .dnb-button__text {
  margin-top: var(--button-tertiary-text-top--icon);
  margin-bottom: var(--button-tertiary-text-bottom--icon);
  font-size: var(--button-font-size);
}
.dnb-button--tertiary.dnb-button--size-large {
  --button-tertiary-underline-bottom: -0.75rem;
  --button-tertiary-underline-overflow: -1.5rem;
  --button-tertiary-text-bottom--icon: 0.75rem;
  --button-tertiary-text-top--icon: 0.25rem;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(:focus-visible) .dnb-button__text::after {
  color: var(--button-tertiary-border);
  transition: none;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text) {
  --focus-ring-width: 0.0625rem;
  --sb-shadow-medium: 0 0 transparent;
  color: var(--sb-color-blue-dark);
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text)::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: var(--button-tertiary-focus-left);
  bottom: 0;
  right: var(--button-tertiary-focus-right);
  height: inherit;
  border-radius: inherit;
  outline: none;
  --border-color: var(--focus-ring-color);
  --border-width: var(--focus-ring-width);
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color), var(--sb-shadow-medium);
  border-color: transparent;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text)::before {
  background-color: var(--button-background--focus);
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text) > * {
  z-index: 2;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled] {
  cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) {
  color: var(--sb-color-blue-dark);
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: var(--button-tertiary-focus-left);
  bottom: 0;
  right: var(--button-tertiary-focus-right);
  height: inherit;
  border-radius: inherit;
  outline: none;
  --border-color: var(--focus-ring-color);
  --border-width: var(--focus-ring-width);
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color), var(--sb-shadow-medium);
  border-color: transparent;
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])::before {
  background-color: var(--button-background--focus);
}
html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) > * {
  z-index: 2;
}
.dnb-button--tertiary[disabled] {
  color: var(--sb-color-gray-dark);
}
.dnb-button--on-dark-background {
  --button-primary-color: var(--sb-color-text);
  --button-primary-color--hover: var(--sb-color-purple-alternative);
  --button-primary-color--active: var(--sb-color-purple-alternative);
  --button-primary-background: var(--sb-color-green);
  --button-primary-background--hover: var(--sb-color-violet-light-2);
  --button-primary-background--active: var(--sb-color-violet-light-3);
  --button-secondary-color: var(--sb-color-white);
  --button-secondary-color--hover: var(--sb-color-purple-alternative);
  --button-secondary-color--active: var(--sb-color-purple-alternative);
  --button-secondary-background: transparent;
  --button-secondary-background--hover: var(--sb-color-violet-light-2);
  --button-secondary-background--active: var(--sb-color-violet-light-3);
  --button-secondary-border--default: var(--sb-color-green);
  --button-secondary-border--hover: var(--sb-color-violet-light);
  --button-secondary-border--active: var(--sb-color-violet-light);
  --button-tertiary-color: var(--sb-color-white);
  --button-tertiary-border: var(--sb-color-green);
}