.tooltip {
    display:inline-block;
    position:relative;
    border-bottom:1px dotted #666;
    text-align:left;
}

.tooltip .tooltip-top {
    min-width:50px;
    top:-20px;
    left:50%;
    transform:translate(-50%, -100%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tooltip:hover .tooltip-top {
    visibility:visible; opacity:1;
}

.tooltip .tooltip-top i {
    position:absolute;
    top:100%;
    left:50%;
    margin-left:-10px;
    width:20px;
    height:10px;
    overflow:hidden;
}

.tooltip .tooltip-top i::after {
    content:'';
    position:absolute;
    width:10px;
    height:10px;
    left:50%;
    transform:translate(-50%,-50%) rotate(45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
}

.tooltip .tooltip-right {
    min-width:50px;
    top:50%;
    left:100%;
    margin-left:20px;
    transform:translate(0, -50%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tooltip:hover .tooltip-right {
    visibility:visible; opacity:1;
}

.tooltip .tooltip-right i {
    position:absolute;
    top:50%;
    right:100%;
    margin-top:-10px;
    width:10px;
    height:20px;
    overflow:hidden;
}

.tooltip .tooltip-right i::after {
    content:'';
    position:absolute;
    width:10px;
    height:10px;
    left:0;
    top:50%;
    transform:translate(50%,-50%) rotate(-45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
}

.tooltip .tooltip-bottom {
    min-width:50px;
    top:40px;
    left:50%;
    transform:translate(-50%, 0);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tooltip:hover .tooltip-bottom {
    visibility:visible; opacity:1;
}

.tooltip .tooltip-bottom i {
    position:absolute;
    bottom:100%;
    left:50%;
    margin-left:-10px;
    width:20px;
    height:10px;
    overflow:hidden;
}

.tooltip .tooltip-bottom i::after {
    content:'';
    position:absolute;
    width:10px;
    height:10px;
    left:50%;
    transform:translate(-50%,50%) rotate(45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
}

.tooltip .tooltip-left {
    min-width:50px;
    top:50%;
    right:100%;
    margin-right:20px;
    transform:translate(0, -50%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tooltip:hover .tooltip-left {
    visibility:visible; opacity:1;
}

.tooltip .tooltip-left i {
    position:absolute;
    top:50%;
    left:100%;
    margin-top:-10px;
    width:10px;
    height:20px;
    overflow:hidden;
}

.tooltip .tooltip-left i::after {
    content:'';
    position:absolute;
    width:10px;
    height:10px;
    left:0;
    top:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.2);
}
