[data-tooltip],
.tooltip {
  position: relative;
  cursor: pointer;
}

[data-tooltip]:after,
.tooltip:after {
  position: absolute;
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: 
	  opacity 0.2s ease-in-out,
		visibility 0.2s ease-in-out,
		-webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
	-moz-transition:    
		opacity 0.2s ease-in-out,
		visibility 0.2s ease-in-out,
		-moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
	transition:         
		opacity 0.2s ease-in-out,
		visibility 0.2s ease-in-out,
		transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform:    translate3d(0, 0, 0);
  transform:         translate3d(0, 0, 0);
  pointer-events: none;
}

[data-tooltip]:hover:after,
[data-tooltip]:focus:after,
.tooltip:hover:after,
.tooltip:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

[data-tooltip]:after,
.tooltip:after,
.tooltip-top:after {
  margin-left: 0px;
}

[data-tooltip]:hover:after,
[data-tooltip]:focus:after,
.tooltip:hover:after,
.tooltip:focus:after,
.tooltip-top:hover:after,
.tooltip-top:focus:after {
  -webkit-transform: translateX(-12px);
  -moz-transform:    translateX(-12px);
  transform:         translateX(-12px); 
}
.tooltip-bottom:after {
  top: -22px;
  bottom: auto;
  right: 100%;
  margin-left: 60px;
  position: relative; z-index: 999;
}

.tooltip-bottom:hover:after,
.tooltip-bottom:focus:after {
  -webkit-transform: translateX(12px);
  -moz-transform:    translateX(12px);
  transform:         translateX(12px); 
}