/**
 * Toast
 */
.toast {
  position: relative;
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-width: 0;
  word-wrap: break-word;
  overflow: hidden;
  border-style: var(--toast--border-style, var(--toast--border-top-style, var(--border-top-style)) var(--toast--border-right-style, var(--border-right-style)) var(--toast--border-bottom-style, var(--border-bottom-style)) var(--toast--border-left-style, var(--border-left-style)));
  border-width: var(--toast--border-width, var(--toast--border-top-width, var(--border-top-width)) var(--toast--border-right-width, var(--border-right-width)) var(--toast--border-bottom-width, var(--border-bottom-width)) var(--toast--border-left-width, var(--border-left-width)));
  border-color: var(--toast--border-color, var(--toast--border-top-color, var(--border-top-color)) var(--toast--border-right-color, var(--border-right-color)) var(--toast--border-bottom-color, var(--border-bottom-color)) var(--toast--border-left-color, var(--border-left-color)));
  border-radius: var(--toast--border-radius, var(--toast--border-top-left-radius, var(--border-top-left-radius)) var(--toast--border-top-right-radius, var(--border-top-right-radius)) var(--toast--border-bottom-right-radius, var(--border-bottom-right-radius)) var(--toast--border-bottom-left-radius, var(--border-bottom-left-radius)));
  font-size: var(--toast--font-size, var(--font-size));
  box-shadow: var(--toast--box-shadow, var(--toast--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--toast--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--toast--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--toast--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--toast--box-shadow-color, var(--box-shadow-color)));
  background: var(--toast--background);
  color: var(--toast--color);
  background-clip: border-box;
  transition-property: var(--toast--transition-property, background-color, color, border-color);
  transition-duration: var(--toast--transition-duration, var(--transition-duration));
  transition-timing-function: var(--toast--transition-timing-function, var(--transition-timing-function));
  align-items: center;
}
.toast a {
  color: var(--toast--link--color, var(--toast--color));
  font-weight: 600;
  transition-property: var(--toast--link--transition-property, color);
  transition-duration: var(--toast--transition-duration, var(--transition-duration));
  transition-timing-function: var(--toast--transition-timing-function, var(--transition-timing-function));
}
.toast a:hover, .toast a:focus {
  color: var(--toast--link-color, var(--color));
}
.toast code {
  background: var(--toast--code--background);
  color: var(--toast--code--color);
}
.toast > .toast-content {
  padding: var(--toast--padding, var(--toast--padding-top, var(--padding-top)) var(--toast--padding-right, var(--padding-right)) var(--toast--padding-bottom, var(--padding-bottom)) var(--toast--padding-left, var(--padding-left)));
}
.toast > .toast-content > .toast-title {
  font-weight: var(--toast--title--font-weight, var(--font-weight-semibold));
}
.toast > .toast-icon {
  padding-left: var(--toast--padding-left, var(--padding-left));
  border-color: var(--toast--border-color, var(--toast--border-top-color, var(--border-top-color)) var(--toast--border-right-color, var(--border-right-color)) var(--toast--border-bottom-color, var(--border-bottom-color)) var(--toast--border-left-color, var(--border-left-color)));
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.toast > .toast-dismiss {
  flex: 0 0 auto;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  margin-right: var(--toast--padding-left, var(--padding-left));
}
.toast > .toast-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--toast--progress--height, 0.25rem);
  background: var(--toast--progress--background);
  z-index: 1;
}
.toast > .toast-progress .toast-progress-bar {
  animation: toast-duration var(--toast--duration) forwards;
  transform-origin: left center;
  width: 100%;
  height: 100%;
  background: var(--toast--progress-bar--background);
}
.toast,
.toast > .toast-content {
  flex: 0 1 100%;
}
.toast > hr,
.toast > .toast-content > hr {
  margin-right: 0;
  margin-left: 0;
}
.toast > *:first-of-type,
.toast > .toast-content > *:first-of-type {
  margin-top: 0;
}
.toast > *:last-of-type,
.toast > .toast-content > *:last-of-type {
  margin-bottom: 0;
}

@keyframes toast-duration {
  to {
    /* More performant than animating `width` */
    transform: scaleX(0);
  }
}
/**
 * Color variants
 */
.toast.-light {
  --toast--background: var(--toast--light--background, var(--color-white));
  --toast--border-top-color: var(
      --toast--light--border-top-color,
      var(--color-light-shade-50)
  );
  --toast--border-right-color: var(
      --toast--light--border-right-color,
      var(--color-light-shade-50)
  );
  --toast--border-bottom-color: var(
      --toast--light--border-bottom-color,
      var(--color-light-shade-50)
  );
  --toast--border-left-color: var(
      --toast--light--border-left-color,
      var(--color-light-shade-50)
  );
  --toast--color: var(--toast--light--color, var(--contrast-text-color-light));
  --toast--progress--background: var(
      --toast--light--progress--background,
      rgba(0, 0, 0, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--light--progress-bar--background,
      rgba(0, 0, 0, 0.15)
  );
}
.toast.-dark {
  --toast--background: var(--toast--dark--background, var(--color-dark));
  --toast--border-top-color: var(--toast--dark--border-top-color, var(--color-dark-tint-50));
  --toast--border-right-color: var(
      --toast--dark--border-right-color,
      var(--color-dark-tint-50)
  );
  --toast--border-bottom-color: var(
      --toast--dark--border-bottom-color,
      var(--color-dark-tint-50)
  );
  --toast--border-left-color: var(
      --toast--dark--border-left-color,
      var(--color-dark-tint-50)
  );
  --toast--color: var(--toast--dark--color, var(--contrast-text-color-dark));
  --toast--progress--background: var(
      --toast--dark--progress--background,
      rgba(255, 255, 255, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--dark--progress-bar--background,
      rgba(255, 255, 255, 0.15)
  );
}
.toast.-info {
  --toast--background: var(--toast--info--background, var(--color-info-100));
  --toast--border-top-color: var(--toast--info--border-top-color, var(--color-info-500));
  --toast--border-right-color: var(--toast--info--border-right-color, var(--color-info-500));
  --toast--border-bottom-color: var(
      --toast--info--border-bottom-color,
      var(--color-info-500)
  );
  --toast--border-left-color: var(--toast--info--border-left-color, var(--color-info-500));
  --toast--color: var(--toast--info--color, var(--color-info-800));
  --toast--progress--background: var(
      --toast--info--progress--background,
      rgba(0, 0, 0, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--info--progress-bar--background,
      rgba(0, 0, 0, 0.15)
  );
}
.toast.-success {
  --toast--background: var(--toast--success--background, var(--color-success-100));
  --toast--border-top-color: var(
      --toast--success--border-top-color,
      var(--color-success-500)
  );
  --toast--border-right-color: var(
      --toast--success--border-right-color,
      var(--color-success-500)
  );
  --toast--border-bottom-color: var(
      --toast--success--border-bottom-color,
      var(--color-success-500)
  );
  --toast--border-left-color: var(
      --toast--success--border-left-color,
      var(--color-success-500)
  );
  --toast--color: var(--toast--success--color, var(--color-success-800));
  --toast--progress--background: var(
      --toast--success--progress--background,
      rgba(0, 0, 0, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--success--progress-bar--background,
      rgba(0, 0, 0, 0.15)
  );
}
.toast.-warning {
  --toast--background: var(--toast--warning--background, var(--color-warning-100));
  --toast--border-top-color: var(
      --toast--warning--border-top-color,
      var(--color-warning-500)
  );
  --toast--border-right-color: var(
      --toast--warning--border-right-color,
      var(--color-warning-500)
  );
  --toast--border-bottom-color: var(
      --toast--warning--border-bottom-color,
      var(--color-warning-500)
  );
  --toast--border-left-color: var(
      --toast--warning--border-left-color,
      var(--color-warning-500)
  );
  --toast--color: var(--toast--warning--color, var(--color-warning-800));
  --toast--progress--background: var(
      --toast--warning--progress--background,
      rgba(0, 0, 0, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--warning--progress-bar--background,
      rgba(0, 0, 0, 0.15)
  );
}
.toast.-danger {
  --toast--background: var(--toast--danger--background, var(--color-danger-100));
  --toast--border-top-color: var(--toast--danger--border-top-color, var(--color-danger-500));
  --toast--border-right-color: var(
      --toast--danger--border-right-color,
      var(--color-danger-500)
  );
  --toast--border-bottom-color: var(
      --toast--danger--border-bottom-color,
      var(--color-danger-500)
  );
  --toast--border-left-color: var(
      --toast--danger--border-left-color,
      var(--color-danger-500)
  );
  --toast--color: var(--toast--danger--color, var(--color-danger-800));
  --toast--progress--background: var(
      --toast--danger--progress--background,
      rgba(0, 0, 0, 0.05)
  );
  --toast--progress-bar--background: var(
      --toast--danger--progress-bar--background,
      rgba(0, 0, 0, 0.15)
  );
}

/**
 * Size variants
 */
.toast.-sm {
  --toast--border-top-left-radius: var(
      --toast--sm--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
  );
  --toast--border-top-right-radius: var(
      --toast--sm--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
  );
  --toast--border-bottom-right-radius: var(
      --toast--sm--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm))
  );
  --toast--border-bottom-left-radius: var(
      --toast--sm--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm))
  );
  --toast--font-size: var(
      --toast--sm--font-size,
      calc(var(--font-size) * var(--size-multiplier-sm))
  );
  --toast--padding-top: var(
      --toast--sm--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-sm))
  );
  --toast--padding-right: var(
      --toast--sm--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-sm))
  );
  --toast--padding-bottom: var(
      --toast--sm--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-sm))
  );
  --toast--padding-left: var(
      --toast--sm--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-sm))
  );
}
.toast.-md {
  --toast--border-top-left-radius: var(
      --toast--md--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-md))
  );
  --toast--border-top-right-radius: var(
      --toast--md--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-md))
  );
  --toast--border-bottom-right-radius: var(
      --toast--md--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-md))
  );
  --toast--border-bottom-left-radius: var(
      --toast--md--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-md))
  );
  --toast--font-size: var(
      --toast--md--font-size,
      calc(var(--font-size) * var(--size-multiplier-md))
  );
  --toast--padding-top: var(
      --toast--md--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-md))
  );
  --toast--padding-right: var(
      --toast--md--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-md))
  );
  --toast--padding-bottom: var(
      --toast--md--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-md))
  );
  --toast--padding-left: var(
      --toast--md--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-md))
  );
}
.toast.-lg {
  --toast--border-top-left-radius: var(
      --toast--lg--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
  );
  --toast--border-top-right-radius: var(
      --toast--lg--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
  );
  --toast--border-bottom-right-radius: var(
      --toast--lg--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg))
  );
  --toast--border-bottom-left-radius: var(
      --toast--lg--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg))
  );
  --toast--font-size: var(
      --toast--lg--font-size,
      calc(var(--font-size) * var(--size-multiplier-lg))
  );
  --toast--padding-top: var(
      --toast--lg--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-lg))
  );
  --toast--padding-right: var(
      --toast--lg--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-lg))
  );
  --toast--padding-bottom: var(
      --toast--lg--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-lg))
  );
  --toast--padding-left: var(
      --toast--lg--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-lg))
  );
}