:root {
  --background-color: #000;
  --color: #fff;
  --timing: 150ms;
}

[data-tippy] {
  position: relative;
}

[data-tippy]::before,
[data-tippy]::after {
  position: absolute;
  display: block;
  opacity: 0;
  font-family: sans-serif;
  transform: translate(-50%, 0);
  transform-origin: top;
  top: 100%;
  left: 50%;
  pointer-events: none;
}

[data-tippy]::before {
  content: attr(data-tippy);
  color: var(--color);
  font-size: 14px;
  background-color: var(--background-color);
  z-index: 1;
  padding: 3px 6px;
  border-radius: 3px;
  white-space: nowrap;
  margin-top: 10px;
  font-weight: normal;
}

[data-tippy]::after {
  content: '';
  border: 5px solid transparent;
  border-bottom-color: var(--background-color);
}

[data-tippy]:hover::before,
[data-tippy]:hover::after {
  transform: translate(-50%, 0);
}

/* reset for other positions */

[data-tippy][data-tippy-pos]::before {
  top: auto;
  left: auto;
  margin-top: auto;
  transform: none;
}

[data-tippy][data-tippy-pos]::after {
  top: auto;
  left: auto;
  margin-top: auto;
  border-bottom-color: transparent;
  transform: none;
}

/* end reset */

/* up and down */

[data-tippy][data-tippy-pos='up']::before,
[data-tippy][data-tippy-pos='up']::after,
[data-tippy][data-tippy-pos='down']::before,
[data-tippy][data-tippy-pos='down']::after {
  left: 50%;
}

/* up */

[data-tippy][data-tippy-pos='up']::before,
[data-tippy][data-tippy-pos='up']::after {
  bottom: 100%;
  transform: translate(-50%, 0);
}

[data-tippy][data-tippy-pos='up']::before {
  margin-bottom: 10px;
}

[data-tippy][data-tippy-pos='up']::after {
  border-top-color: var(--background-color);
  border-bottom-color: transparent;
}

/* down */

[data-tippy][data-tippy-pos='down']::before,
[data-tippy][data-tippy-pos='down']::after {
  top: 100%;
  transform: translate(-50%, 0);
}

[data-tippy][data-tippy-pos='down']::before {
  margin-top: 10px;
}

[data-tippy][data-tippy-pos='down']::after {
	border-bottom-color: var(--background-color);
  border-top-color: transparent;
}

/* left and right */

[data-tippy][data-tippy-pos='left']::before,
[data-tippy][data-tippy-pos='left']::after,
[data-tippy][data-tippy-pos='right']::before,
[data-tippy][data-tippy-pos='right']::after {
  top: 50%;
}

/* left */

[data-tippy][data-tippy-pos='left']::before,
[data-tippy][data-tippy-pos='left']::after {
  right: 100%;
  transform: translate(0, -50%);
}

[data-tippy][data-tippy-pos='left']::before {
  margin-right: 10px;
}

[data-tippy][data-tippy-pos='left']::after {
  border-left-color: var(--background-color);
}

/* right */

[data-tippy][data-tippy-pos='right']::before,
[data-tippy][data-tippy-pos='right']::after {
  left: 100%;
  transform: translate(0, -50%);
}

[data-tippy][data-tippy-pos='right']::before {
  margin-left: 10px;
}

[data-tippy][data-tippy-pos='right']::after {
  border-right-color: var(--background-color);
}

/* hover */

[data-tippy]:hover::before,
[data-tippy]:hover::after {
  opacity: 1;
}

/* animated - fade (default) */

[data-tippy][data-tippy-animate]::before,
[data-tippy][data-tippy-animate]::after {
  transition: all var(--timing) ease-out;
  transition-delay: 0s;
}

[data-tippy][data-tippy-animate]:hover::before,
[data-tippy][data-tippy-animate]:hover::after {
  transition-delay: var(--timing);
}

/* animated - slide */

[data-tippy][data-tippy-animate='slide']::before,
[data-tippy][data-tippy-animate='slide']::after {
  transform: translate(-50%, -10px);
}

[data-tippy][data-tippy-animate='slide']:hover::before,
[data-tippy][data-tippy-animate='slide']:hover::after {
  transform: translate(-50%, 0);
}

[data-tippy][data-tippy-pos='up'][data-tippy-animate='slide']::before,
[data-tippy][data-tippy-pos='up'][data-tippy-animate='slide']::after {
  transform: translate(-50%, 10px);
}

[data-tippy][data-tippy-pos='down'][data-tippy-animate='slide']::before,
[data-tippy][data-tippy-pos='down'][data-tippy-animate='slide']::after {
  transform: translate(-50%, -10px);
}

[data-tippy][data-tippy-pos='up'][data-tippy-animate='slide']:hover::before,
[data-tippy][data-tippy-pos='up'][data-tippy-animate='slide']:hover::after,
[data-tippy][data-tippy-pos='down'][data-tippy-animate='slide']:hover::before,
[data-tippy][data-tippy-pos='down'][data-tippy-animate='slide']:hover::after {
  transform: translate(-50%, 0);
}

[data-tippy][data-tippy-pos='left'][data-tippy-animate='slide']::before,
[data-tippy][data-tippy-pos='left'][data-tippy-animate='slide']::after {
  transform: translate(10px, -50%);
}

[data-tippy][data-tippy-pos='right'][data-tippy-animate='slide']::before,
[data-tippy][data-tippy-pos='right'][data-tippy-animate='slide']::after {
  transform: translate(-10px, -50%);
}

[data-tippy][data-tippy-pos='left'][data-tippy-animate='slide']:hover::before,
[data-tippy][data-tippy-pos='left'][data-tippy-animate='slide']:hover::after,
[data-tippy][data-tippy-pos='right'][data-tippy-animate='slide']:hover::before,
[data-tippy][data-tippy-pos='right'][data-tippy-animate='slide']:hover::after {
  transform: translate(0, -50%);
}

/* animated - bubble */

[data-tippy][data-tippy-animate='bubble']::before,
[data-tippy][data-tippy-animate='bubble']::after {
  opacity: 1;
  visibility: hidden;
}

[data-tippy][data-tippy-animate='bubble']:hover::before,
[data-tippy][data-tippy-animate='bubble']:hover::after {
  visibility: visible;
}

[data-tippy][data-tippy-animate='bubble']::before {
  clip-path: circle(10% at 50% 0);
}

[data-tippy][data-tippy-animate='bubble']:hover::before {
  clip-path: circle(100% at 50%);
}

[data-tippy][data-tippy-pos='up'][data-tippy-animate='bubble']::before {
  clip-path: circle(10% at 50% 100%);
}

[data-tippy][data-tippy-pos='up'][data-tippy-animate='bubble']:hover::before {
  clip-path: circle(100% at 50%);
}

[data-tippy][data-tippy-pos='down'][data-tippy-animate='bubble']::before {
  clip-path: circle(10% at 50% 0);
}

[data-tippy][data-tippy-pos='down'][data-tippy-animate='bubble']:hover::before {
  clip-path: circle(100% at 50%);
}

[data-tippy][data-tippy-pos='left'][data-tippy-animate='bubble']::before {
  clip-path: circle(10% at 100% 50%);
}

[data-tippy][data-tippy-pos='left'][data-tippy-animate='bubble']:hover::before {
  clip-path: circle(100% at 50%);
}

[data-tippy][data-tippy-pos='right'][data-tippy-animate='bubble']::before {
  clip-path: circle(10% at 0 50%);
}

[data-tippy][data-tippy-pos='right'][data-tippy-animate='bubble']:hover::before {
  clip-path: circle(100% at 50%);
}

/* force display */

[data-tippy][data-tippy-visible]::before,
[data-tippy][data-tippy-visible]::after {
  opacity: 1;
  visibility: visible;
}

/* sizes */

[data-tippy][data-tippy-size='tiny']::before {
  font-size: 10px;
}

[data-tippy][data-tippy-size='small']::before {
  font-size: 12px;
}

[data-tippy][data-tippy-size='large']::before {
  font-size: 16px;
}

[data-tippy][data-tippy-size='jumbo']::before {
  font-size: 20px;
}



/* For triangle arrow (Sharp) */
.tippy-popper[x-placement^=right] .tippy-tooltip.mytheme-theme .tippy-arrow { border-right: 7px solid #ff0000; }
.tippy-popper[x-placement^=left] .tippy-tooltip.mytheme-theme .tippy-arrow { border-left: 7px solid #ff0000; }
.tippy-popper[x-placement^=top] .tippy-tooltip.mytheme-theme .tippy-arrow { border-top: 7px solid #ff0000; }
.tippy-popper[x-placement^=bottom] .tippy-tooltip.mytheme-theme .tippy-arrow { border-bottom: 7px solid #ff0000; }

/* For SVG arrow (Round) */
.tippy-popper[x-placement^=right] .tippy-tooltip.mytheme-theme .tippy-roundarrow { fill: #ff0000; }
.tippy-popper[x-placement^=left] .tippy-tooltip.mytheme-theme .tippy-roundarrow { fill: #ff0000; }
.tippy-popper[x-placement^=top] .tippy-tooltip.mytheme-theme .tippy-roundarrow { fill: #ff0000; }
.tippy-popper[x-placement^=bottom] .tippy-tooltip.mytheme-theme .tippy-roundarrow { fill: #ff0000; }