/* ************************************* */
/*   Error, Warning, Pass annotations    */
/* ************************************* */
.instance {
  position: relative;
  display: block;
}

.instance-inline {
  position: relative;
  display: inline-block;
  text-align: end;
}

button {
  position: absolute;
  z-index: 8888;
  display: block;
  width: 36px;
  height: 36px;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.3098039216);
  transition: all 0.2s ease-in-out;
}
button:after {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 36px;
  height: 36px;
  padding: 7px;
  content: "";
}

/* To prevent overlap. */
.warning-btn {
  margin: 20px;
}

.good-btn,
.error-btn {
  margin: 10px;
}

.error-btn-text,
.good-btn-text,
.warning-btn-text {
  margin: -30px 10px;
}

/* Error */
.error-btn,
.error-btn-text {
  background: 50% 50% var(--sa11y-error-svg) no-repeat;
  background-color: var(--sa11y-error);
  background-size: 22px;
  border: 1px solid var(--sa11y-error);
}
.error-btn:hover, .error-btn:focus,
.error-btn-text:hover,
.error-btn-text:focus {
  background-color: var(--sa11y-error-hover);
}

/* Pass button */
.good-btn,
.good-btn-text {
  background: 50% 50% var(--sa11y-good) var(--sa11y-good-svg) no-repeat;
  background-color: var(--sa11y-good);
  background-size: 20px;
  border: 1px solid var(--sa11y-good);
}
.good-btn:hover, .good-btn:focus,
.good-btn-text:hover,
.good-btn-text:focus {
  background-color: var(--sa11y-good-hover);
}

/* Warning button */
.warning-btn,
.warning-btn-text {
  background: 50% 50% var(--sa11y-warning) var(--sa11y-warning-svg) no-repeat;
  background-color: var(--sa11y-warning);
  background-size: 24px;
  border: 1px solid var(--sa11y-warning);
  transform: scaleX(var(--sa11y-icon-direction));
}
.warning-btn:hover, .warning-btn:focus,
.warning-btn-text:hover,
.warning-btn-text:focus {
  background-color: var(--sa11y-warning-hover);
}

/* ************************************* */
/* Keyboard focus styles for annotations */
/* ************************************* */
.sa11y-btn:active,
.sa11y-btn:focus {
  outline: 0;
  box-shadow: 0 0 0 5px var(--sa11y-focus-color);
}

/* High Contrast Mode */
@media screen and (forced-colors: active) {
  .sa11y-btn {
    border: 1px solid transparent !important;
    forced-color-adjust: none;
    outline: transparent solid 3px !important;
  }
}