.popover {
  position: relative;
  margin: var(--vertical-rhythm) 0;
  border: 1px solid transparent;
  border-radius: 4px;
}

.popover-content {
  padding: calc(var(--vertical-rhythm) / 2 - 1px) calc(1.5rem - 1px);
}

.popover-content > p:last-child {
  margin-bottom: 0;
}

.popover-arrow {
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid transparent;
}

.popover-default,
.popover-default > .popover-arrow {
  background-color: var(--default-background-color);
  border-color: var(--default-border-color);
}

.popover-positive,
.popover-positive > .popover-arrow {
  background-color: var(--positive-background-color);
  border-color: var(--positive-border-color);
}

.popover-negative,
.popover-negative > .popover-arrow {
  background-color: var(--negative-background-color);
  border-color: var(--negative-border-color);
}

.popover.is-pull-up > .popover-arrow {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%) rotate(-45deg);
  border-top-color: transparent;
  border-right-color: transparent;
  clip: rect(1px 15px 17px -1px);
}

.popover.is-pull-down > .popover-arrow {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-bottom-color: transparent;
  border-left-color: transparent;
  clip: rect(-1px 17px 15px 1px);
}

.popover.is-pull-left > .popover-arrow {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotate(-45deg);
  border-left-color: transparent;
  border-top-color: transparent;
  clip: rect(1px 17px 17px 1px);
}

.popover.is-pull-right > .popover-arrow {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-right-color: transparent;
  border-bottom-color: transparent;
  clip: rect(-1px 15px 15px -1px);
}

.popover-exit.popover-exit-active {
  transition: opacity 0.2s ease-in-out;
}

.popover-enter,
.popover-exit.popover-exit-active {
  opacity: 0;
}

.popover-enter.popover-enter-active,
.popover-exit {
  opacity: 1;
}
