/**
 * Alert
 */
.alert {
  position: relative;
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-width: 0;
  word-wrap: break-word;
  border-style: var(--alert--border-style, var(--alert--border-top-style, var(--border-top-style)) var(--alert--border-right-style, var(--border-right-style)) var(--alert--border-bottom-style, var(--border-bottom-style)) var(--alert--border-left-style, var(--border-left-style)));
  border-width: var(--alert--border-width, var(--alert--border-top-width, var(--border-top-width)) var(--alert--border-right-width, var(--border-right-width)) var(--alert--border-bottom-width, var(--border-bottom-width)) var(--alert--border-left-width, var(--border-left-width)));
  border-color: var(--alert--border-color, var(--alert--border-top-color, var(--border-top-color)) var(--alert--border-right-color, var(--border-right-color)) var(--alert--border-bottom-color, var(--border-bottom-color)) var(--alert--border-left-color, var(--border-left-color)));
  border-radius: var(--alert--border-radius, var(--alert--border-top-left-radius, var(--border-top-left-radius)) var(--alert--border-top-right-radius, var(--border-top-right-radius)) var(--alert--border-bottom-right-radius, var(--border-bottom-right-radius)) var(--alert--border-bottom-left-radius, var(--border-bottom-left-radius)));
  font-size: var(--alert--font-size, var(--font-size));
  box-shadow: var(--alert--box-shadow, var(--alert--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--alert--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--alert--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--alert--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--alert--box-shadow-color, var(--box-shadow-color)));
  background: var(--alert--background);
  color: var(--alert--color);
  background-clip: border-box;
  transition-property: var(--alert--transition-property, background-color, color, border-color);
  transition-duration: var(--alert--transition-duration, var(--transition-duration));
  transition-timing-function: var(--alert--transition-timing-function, var(--transition-timing-function));
  align-items: center;
}
.alert a {
  color: var(--alert--link--color, var(--alert--color));
  font-weight: 600;
  transition-property: var(--alert--link--transition-property, color);
  transition-duration: var(--alert--transition-duration, var(--transition-duration));
  transition-timing-function: var(--alert--transition-timing-function, var(--transition-timing-function));
}
.alert a:hover, .alert a:focus {
  color: var(--alert--link-color, var(--color));
}
.alert code {
  background: var(--alert--code--background);
  color: var(--alert--code--color);
}
.alert > .content {
  padding: var(--alert--padding, var(--alert--padding-top, var(--padding-top)) var(--alert--padding-right, var(--padding-right)) var(--alert--padding-bottom, var(--padding-bottom)) var(--alert--padding-left, var(--padding-left)));
}
.alert > .content > .title {
  font-weight: var(--alert--title--font-weight, var(--font-weight-semibold));
}
.alert > .icon {
  margin-left: var(--alert--icon--margin-left, var(--alert--padding-left, var(--padding-left)));
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.alert > .dismiss {
  flex: 0 0 auto;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  margin-right: var(--alert--dismiss--margin-right, var(--alert--padding-right, var(--padding-right)));
}
.alert,
.alert > .content {
  flex: 0 1 100%;
}
.alert > hr,
.alert > .content > hr {
  margin-right: 0;
  margin-left: 0;
}

/**
 * Color variants
 */
.alert.-info {
  --alert--background: var(--alert--info--background, var(--color-info-100));
  --alert--border-top-color: var(--alert--info--border-top-color, var(--color-info-500));
  --alert--border-right-color: var(--alert--info--border-right-color, var(--color-info-500));
  --alert--border-bottom-color: var(
      --alert--info--border-bottom-color,
      var(--color-info-500)
  );
  --alert--border-left-color: var(--alert--info--border-left-color, var(--color-info-500));
  --alert--color: var(--alert--info--color, var(--color-info-800));
}
.alert.-success {
  --alert--background: var(--alert--success--background, var(--color-success-100));
  --alert--border-top-color: var(
      --alert--success--border-top-color,
      var(--color-success-500)
  );
  --alert--border-right-color: var(
      --alert--success--border-right-color,
      var(--color-success-500)
  );
  --alert--border-bottom-color: var(
      --alert--success--border-bottom-color,
      var(--color-success-500)
  );
  --alert--border-left-color: var(
      --alert--success--border-left-color,
      var(--color-success-500)
  );
  --alert--color: var(--alert--success--color, var(--color-success-800));
}
.alert.-warning {
  --alert--background: var(--alert--warning--background, var(--color-warning-100));
  --alert--border-top-color: var(
      --alert--warning--border-top-color,
      var(--color-warning-500)
  );
  --alert--border-right-color: var(
      --alert--warning--border-right-color,
      var(--color-warning-500)
  );
  --alert--border-bottom-color: var(
      --alert--warning--border-bottom-color,
      var(--color-warning-500)
  );
  --alert--border-left-color: var(
      --alert--warning--border-left-color,
      var(--color-warning-500)
  );
  --alert--color: var(--alert--warning--color, var(--color-warning-800));
}
.alert.-danger {
  --alert--background: var(--alert--danger--background, var(--color-danger-100));
  --alert--border-top-color: var(--alert--danger--border-top-color, var(--color-danger-500));
  --alert--border-right-color: var(
      --alert--danger--border-right-color,
      var(--color-danger-500)
  );
  --alert--border-bottom-color: var(
      --alert--danger--border-bottom-color,
      var(--color-danger-500)
  );
  --alert--border-left-color: var(
      --alert--danger--border-left-color,
      var(--color-danger-500)
  );
  --alert--color: var(--alert--danger--color, var(--color-danger-800));
}

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