body {
	position: relative;
}

.tooltip {
	position: absolute;
	box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.2);
	background: #dddddd;
    border-radius: 4px;
	z-index: 99;
}

.tooltip .tooltip-arrow {
	background: transparent;

	position: absolute;

	width: 30px;
	height: 15px;
	overflow: hidden;
}

.tooltip.bottom .tooltip-arrow {
	width: 30px;
	height: 15px;

	top: 0;
	left: 50%;
	transform: translate(-50%, -100%);
}

.tooltip.left .tooltip-arrow {
	width: 15px;
	height: 30px;

	top: 50%;
	right: 0;
	transform: translate(100%, -50%);
}

.tooltip.right .tooltip-arrow {
	width: 15px;
	height: 30px;

	top: 50%;
	left: 0;
	transform: translate(-100%, -50%);
}

.tooltip.top .tooltip-arrow {
	width: 30px;
	height: 15px;

	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
}

.tooltip .tooltip-arrow:before {
	width: 20px;
	height: 20px;
	content: '';
	display: block;

	box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.2);
	transform: rotate(45deg);

	position: absolute;
}

.tooltip.bottom .tooltip-arrow:before {
	left: 5px;
	top: 10px;
}

.tooltip.top .tooltip-arrow:before {
	left: 5px;
	bottom: 10px;
}

.tooltip.right .tooltip-arrow:before {
	top: 5px;
	left: 10px;
}

.tooltip.left .tooltip-arrow:before {
	top: 5px;
	right: 10px;
}

.tooltip .tooltip-arrow:after {
    content: '';
    display: block;

    width: 0;
    height: 0;

	border-color: #dddddd;

	position: absolute;
	bottom: 0;
}

.tooltip.bottom .tooltip-arrow:after {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
	border-bottom-style: solid;
    border-bottom-width: 10px;
	left: 5px;
	bottom: 0;
}

.tooltip.top .tooltip-arrow:after {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
	border-top-style: solid;
    border-top-width: 10px;
	left: 5px;
	top: 0;
}

.tooltip.left .tooltip-arrow:after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
	border-left-style: solid;
    border-left-width: 10px;
	top: 5px;
	left: 0;
}

.tooltip.right .tooltip-arrow:after {
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
	border-right-style: solid;
    border-right-width: 10px;
	top: 5px;
	right: 0;
}

.tooltip.animate {
	-webkit-transition: .1s linear opacity;
	-moz-transition:  .1s linear opacity;
	-o-transition: .1s linear opacity;
	transition: .1s linear opacity;
}

.tooltip.animate.ng-enter {
	opacity: 0;
}
.tooltip.animate.ng-enter.ng-enter-active {
	opacity: 1;
}
.tooltip.animate.ng-leave {
	opacity: 1;
}
.tooltip.animate.ng-leave.ng-leave-active {
	opacity: 0;
}