.tipsy {
	position: absolute;
	font-size: var(--fontSize);
	padding: var(--spacingXSmall);
	z-index: 100000;
	animation: tipsy .5s forwards;
	pointer-events: none;
}

@keyframes tipsy {
	from {
		transform: translateY(var(--spacing));
	}
}

.tipsy-inner {
	max-width: 200px;
	background-color: var(--bgTooltip);
	color: var(--colorTextLight);
	text-align: center;
	padding: var(--spacingXSmall) var(--spacingSmall);
	border-radius: var(--spacingXSmall);
}

.tipsy-arrow {
	position: absolute;
	width: 0;
	height: 0;
	line-height: 0;
	border: var(--spacingXSmall) dashed var(--bgTooltip);
}

.tipsy-arrow-n {
	border-bottom-color: var(--bgTooltip);
}

.tipsy-arrow-s {
	border-top-color: var(--bgTooltip);
}

.tipsy-arrow-e {
	border-left-color: var(--bgTooltip);
}

.tipsy-arrow-w {
	border-right-color: var(--bgTooltip);
}

.tipsy-n .tipsy-arrow {
	top: 0;
	left: 50%;
	margin-left: calc(var(--spacingXSmall) * -1);
	border-bottom-style: solid;
	border-top: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-nw .tipsy-arrow {
	top: 0;
	left: calc(var(--spacingXSmall) * 3);
	border-bottom-style: solid;
	border-top: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-ne .tipsy-arrow {
	top: 0;
	right: calc(var(--spacingXSmall) * 3);
	border-bottom-style: solid;
	border-top: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-s .tipsy-arrow {
	bottom: 0;
	left: 50%;
	margin-left: calc(var(--spacingXSmall) * -1);
	border-top-style: solid;
	border-bottom: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-sw .tipsy-arrow {
	bottom: 0;
	left: calc(var(--spacingXSmall) * 3);
	border-top-style: solid;
	border-bottom: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-se .tipsy-arrow {
	bottom: 0;
	right: calc(var(--spacingXSmall) * 3);
	border-top-style: solid;
	border-bottom: none;
	border-left-color: transparent;
	border-right-color: transparent;
}

.tipsy-e .tipsy-arrow {
	right: 0;
	top: 50%;
	margin-top: calc(var(--spacingXSmall) * -1);
	border-left-style: solid;
	border-right: none;
	border-top-color: transparent;
	border-bottom-color: transparent;
}

.tipsy-w .tipsy-arrow {
	left: 0;
	top: 50%;
	margin-top: calc(var(--spacingXSmall) * -1);
	border-right-style: solid;
	border-left: none;
	border-top-color: transparent;
	border-bottom-color: transparent;
}