/* animations */
@keyframes boardingFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.boarding-coutout-svg-animated,
div#boarding-popover-item.boarding-popover-item-animated {
  animation: boardingFadeIn 0.4s;
}

/* strict or disabled pointer events */
.boarding-coutout-svg {
  pointer-events: none;
  cursor: not-allowed;
}

body.boarding-strict-pointer-events,
body.boarding-strict-pointer-events
  *:not(.boarding-highlighted-element *):not(#boarding-popover-item *):not(
    .boarding-highlighted-element
  ):not(#boarding-popover-item):not(.boarding-coutout-svg path),
body.boarding-no-pointer-events,
body.boarding-no-pointer-events
  *:not(.boarding-highlighted-element *):not(#boarding-popover-item *):not(
    .boarding-highlighted-element
  ):not(#boarding-popover-item):not(.boarding-coutout-svg):not(
    .boarding-coutout-svg path
  ) {
  pointer-events: none !important;
}
/* enable pointer-events where it makes sense */
div#boarding-popover-item,
.boarding-coutout-svg path,
body.boarding-strict-pointer-events .boarding-highlighted-element,
body.boarding-no-pointer-events .boarding-coutout-svg {
  pointer-events: auto !important;
}

/* popover */
div#boarding-popover-item {
  --boarding-popover-padding: 15px;
  padding: var(--boarding-popover-padding);
  display: none;
  position: fixed;
  z-index: 1000000000;
  background: #fff;
  color: #000;
}
div#boarding-popover-item.boarding-popover-element-missing {
  opacity: 0.5;
}

/* tip */
div#boarding-popover-item .boarding-popover-tip {
  border: 5px solid #fff;
  content: "";
  position: absolute;
  border-color: #fff;
}
div#boarding-popover-item
  .boarding-popover-tip:not([class^="boarding-tipside-"]):not(
    [class^="boarding-tipalign-"]
  ):not([class*=" boarding-tipalign-"]):not([class*=" boarding-tipalign-"]) {
  display: none;
}

/* tb */
div#boarding-popover-item .boarding-popover-tip.boarding-tipside-top {
  top: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
div#boarding-popover-item .boarding-popover-tip.boarding-tipside-bottom {
  bottom: 100%;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-top.boarding-tipalign-center,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-bottom.boarding-tipalign-center {
  left: 50%;
  margin-left: -5px;
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-top.boarding-tipalign-start,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-bottom.boarding-tipalign-start {
  left: var(--boarding-popover-padding);
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-top.boarding-tipalign-end,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-bottom.boarding-tipalign-end {
  right: var(--boarding-popover-padding);
}

/* lr */
div#boarding-popover-item .boarding-popover-tip.boarding-tipside-left {
  left: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-top-color: transparent;
}
div#boarding-popover-item .boarding-popover-tip.boarding-tipside-right {
  right: 100%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-top-color: transparent;
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-left.boarding-tipalign-center,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-right.boarding-tipalign-center {
  top: 50%;
  margin-top: -5px;
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-left.boarding-tipalign-start,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-right.boarding-tipalign-start {
  top: var(--boarding-popover-padding);
}
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-left.boarding-tipalign-end,
div#boarding-popover-item
  .boarding-popover-tip.boarding-tipside-right.boarding-tipalign-end {
  bottom: var(--boarding-popover-padding);
}
