

  /* CUSTOM POINTER */

  *[data-custom-pointer] {
  	cursor: none;
  }

  #pointer-overlay {
  	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    pointer-events: none;
    --pointer-size: min(218px, calc(218 * var(--base-unit)));
  }

  #pointer-overlay[data-pointer-type="close"] {
    --pointer-size: min(70px, calc(70 * var(--base-unit)));
  }

  #pointer-overlay svg {
    display: block;
  	width: var(--pointer-size);
  	height: var(--pointer-size);
  }

  #pointer-overlay svg path {
    fill: var(--base-color-white);
  }

  #pointer-overlay > div {
  	position: absolute;
  	top: calc(var(--pointer-size) / -2);
  	left: calc(var(--pointer-size) / -2);
  	width: var(--pointer-size);
  	height: var(--pointer-size);
  	cursor: none;
  	transform: translate(var(--pointer-left, 0px), var(--pointer-top, 0px)) rotate(var(--pointer-angle, 0deg));
  	transition: transform 75ms, opacity 250ms;
  }

  #pointer-overlay[data-pointer-type="close"] > div {
    transform: translate(var(--pointer-left, 0px), var(--pointer-top, 0px));
  }

  #pointer-overlay > div > div {
  	width: 100%;
  	height: 100%;
  	transition: transform 250ms, opacity 250ms;
  	transition-timing-function: var(--ttf);
  	opacity: 0;
  	transform: scale(0.5);
  }

  #pointer-overlay > div > div > div {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: transform 150ms;
  }

  #pointer-overlay[data-pointer-type="arrow-left"] > div > div .arrow,
  #pointer-overlay[data-pointer-type="arrow-right"] > div > div .arrow {
    opacity: 1;
  }

  #pointer-overlay[data-pointer-type="arrow-left"] > div > div .arrow {
    transform: rotateY(-180deg);
  }

  #pointer-overlay[data-pointer-type="close"] > div > div .close {
    opacity: 1;
  }

  #pointer-overlay[data-state="on"] > div > div {
  	opacity: 1;
  	transform: none;
  }


