:host {

  /**
   * @prop  --viewer-annotations-pin-primary-color: A CSS color that
   * specifies the primary color for the pins. This value gets used for the dot color 
   * and borders
   */
  --viewer-annotations-pin-primary-color: var(--blue-700);

  /**
   * @prop  --viewer-annotations-pin-accent-color: A CSS color that
   * specifies the accent color for the pins. This value gets used for background colors
   * 
   */

  --viewer-annotations-pin-accent-color: var(--blue-200);
  /**
   * @prop  viewer-annotations-pin-dot-color: A CSS color that
   * specifies the color of the anchor dot
   */
   --viewer-annotations-pin-dot-color: var(--viewer-annotations-pin-primary-color);

  /**
   * @prop  --viewer-annotations-pin-color: A CSS color that
   * specifies the color of the pin
   */
   --viewer-annotations-pin-color: var(--viewer-annotations-pin-primary-color);

  /**
   * @prop  --viewer-annotations-pin-font-size: A CSS property to specify
   the font size of the pin
   */
   --viewer-annotations-pin-font-size: 0.75rem;

  /**
   * @prop  --viewer-annotations-pin-selected-stroke: A CSS color that
   * specifies the stroke color of a selected pin
   */
   --viewer-annotations-pin-selected-stroke: var(--white);

  /**
   * @prop   --viewer-annotations-pin-selected-border: A CSS color that
   * specifies the border of a selected pin
   */
   --viewer-annotations-pin-selected-border:  2px solid var(--white);

  /**
   * @prop --viewer-annotations-pin-label-border: A CSS color that
   * specifies the border of a text pin anchor
   */
   --viewer-annotations-pin-label-border:  2px solid var(--black);

  /**
   * @prop   --viewer-annotations-pin-selected-border: A CSS color that
   * specifies the stroke of a selected default pin
   */
   --viewer-annotations-pin-selected-stroke: var(--white);

  font-size: var(--viewer-annotations-pin-font-size);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  pointer-events: none;
}

.pin-anchor {
  position: absolute;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: var(--viewer-annotations-pin-label-border);
  background: var(--viewer-annotations-pin-dot-color);
  pointer-events: auto;
  cursor: pointer;
}

.selected {
  width: 13px;
  height: 13px;
  border: var(--viewer-annotations-pin-selected-border)
}

.pin {
  color: var(--viewer-annotations-pin-color);
  cursor: pointer;
  transition: opacity 0.3s ease-in;

  /**
   * Place bottom point of the pin at the location instead of the middle of the pin
   */
  transform: translate(0px, -12px);
}

.pin-selected {
  stroke-width: 1;
  stroke: var(--viewer-annotations-pin-selected-stroke);
}

.pin-occluded {
  opacity: .3;
  transition: opacity 0.3s ease-in;
}

.pin-detached {
  visibility: hidden;
}