.acui-tooltip {
	display: inline-flex;
	position: relative;


	.acui-tooltip-content {
		&.is-top {
			bottom: calc(100% + 4px);
			left: 50%;
			transform: translateX(-50%);
		}

		&.is-bottom {
			top: calc(100% + 4px);
			left: 50%;
			transform: translateX(-50%);
		}

		&.is-left {
			top: 50%;
			right: calc(100% + 5px);
			transform: translateY(-50%);
		}

		&.is-right {
			top: 50%;
			left: calc(100% + 5px);
			transform: translateY(-50%);
		}
	}
}

.acui-tooltip-content {
	background: #000;
	border-radius: 3px;
	padding: 7px 14px;
	color: #fff;
	position: absolute;
	display: block;
	transition: opacity .3s;
	pointer-events: none;
	font-size: 11px;
	line-height: 16px;
	z-index: 100000;
	white-space: nowrap;

	&:before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-bottom: 4px solid rgba(0, 0, 0, .8);
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		position: absolute;
	}

	&.is-top {
		margin-top: -5px;

		&:before {
			left: 50%;
			bottom: -4px;
			transform: translateX(-4px) rotate(180deg);
		}
	}

	&.is-bottom {
		margin-top: 5px;

		&:before {
			left: 50%;
			top: -4px;
			transform: translateX(-4px);
		}
	}

	&.is-left {
		transform: translateY(-50%) translateX(-2px);

		&:before {
			left: 100%;
			top: 50%;
			transform: translateX(-4px) translateY(-50%) rotate(90deg);
		}
	}

	&.is-right {
		transform: translateY(-50%) translateX(5px);

		&:before {
			right: 100%;
			top: 50%;
			transform: translateX(4px) translateY(-50%) rotate(270deg);
		}
	}

	&.is-multiline {
		text-align: center;
		white-space: normal;
		width: var(--acui-tooltip-width, 200px);

		&.is-large {
			width: 300px;
		}
	}


	&.hover {
		opacity: 1;
	}
}