﻿
    /* Base styles for the element that has a tooltip */
    [data-tooltip],
    .tooltip {
        position: relative;        
    }

    a[data-tooltip],
    a.tooltip {
        cursor: pointer;
    }

        /* Base styles for the entire tooltip */
        [data-tooltip]:before,
        [data-tooltip]:after,
        .tooltip:before,
        .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;
        }

        /* Show the entire tooltip on hover */
        .tooltip-label label:before,
        .tooltip-label label:after,
        .showTooltip:before,
        .showTooltip:after,
        [data-tooltip]:hover:before,
        [data-tooltip]:hover:after,
        .tooltip:hover:before,
        .tooltip:hover:after {
            visibility: visible;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            opacity: 1;
        }

        /* Base styles for the tooltip's directional arrow */
        .tooltip-label label:before,
        .showTooltip:before,
        .tooltip:before,
        [data-tooltip]:before {
            z-index: 1001;
            border: 6px solid transparent;
            background: transparent;
            content: "";
        }

        /* Base styles for the tooltip's content area */
        .tooltip-label label:after,
        .showTooltip:after,
        .tooltip:after,
        [data-tooltip]:after {
            z-index: 1000;
            padding: 8px;
            width: 160px;
            background-color: #000;
            background-color: rgba(0, 0, 0, 0.9);
            color: #fff;
            content: attr(data-tooltip);
            white-space: pre;
            font-size: 14px;
            line-height: 1.2;
            text-transform: uppercase;
            font-family: 'cabinbold', Arial, Helvetica, sans-serif;
        }
        .tooltip.long:after {
            width: 200px;
        }
            .tooltip.long.centered:after {
                text-align: center;
            }

    .tooltip-alt:after {
        background-color: #f8fb06;
        background-color: rgba(248, 251, 6, 0.9);
        color: #000;
        text-transform: uppercase;
        font-family: 'cabinbold', Arial, Helvetica, sans-serif;
    }

    /* Directions */

    /* Top (default) */
    .tooltip-label.m-tooltip-top label:before,
    .tooltip-label.m-tooltip-top label:after,
    m-tooltip-top:before,
    m-tooltip-top:after,
    [data-tooltip]:before,
    [data-tooltip]:after,
    .tooltip:before,
    .tooltip:after,
    .tooltip-top:before,
    .tooltip-top:after {
        bottom: 100%;
        left: 50%;
    }

    .tooltip-label.m-tooltip-top label:before,
    m-tooltip-top:before,
    [data-tooltip]:before,
    .tooltip:before,
    .tooltip-top:before {
        margin-left: -6px;
        margin-bottom: -12px;
        border-top-color: #000;
        border-top-color: rgba(0, 0, 0, 0.9);
    }

    /* Horizontally align top/bottom tooltips */
    .tooltip-label.m-tooltip-top label:after,
    m-tooltip-top:after,
    .showTooltip:after,
    [data-tooltip]:after,
    .tooltip:after,
    .tooltip-top:after {
        margin-left: -88px;
    }

    .tooltip-label.m-tooltip-top label:before,
    .tooltip-label.m-tooltip-top label:after,
    m-tooltip-top:before,
    m-tooltip-top:after,
    .showTooltip:before,
    .showTooltip:after,
    [data-tooltip]:hover:before,
    [data-tooltip]:hover:after,
    .tooltip:hover:before,
    .tooltip:hover:after,
    .tooltip-top:hover:before,
    .tooltip-top:hover:after {
        -webkit-transform: translateY(-12px);
        -moz-transform: translateY(-12px);
        transform: translateY(-12px);
    }

    /* Left */
    .tooltip-label label:before,
    .tooltip-label label:after,
    .showTooltip:before,
    .showTooltip:after,
    .tooltip-left:before,
    .tooltip-left:after {
        right: 100%;
        bottom: 50%;
        left: auto;
    }

    .tooltip-label label:before,
    .showTooltip:before,
    .tooltip-left:before {
        top: 50% !important;
        transform: translateY(-50%);
        margin-left: 0;
        margin-right: -12px;
        margin-bottom: 0;
        border-top-color: transparent;
        border-left-color: #000;
        border-left-color: rgba(0, 0, 0, 0.9);
    }

    .tooltipOffset.tooltip-left:before {
        margin-top: -5px;
    }

    .tooltipOffset.tooltip-left:after {
        transform: translateY(-5px);
    }

    .tooltip-left.tooltip-alt:before {
        border-left-color: #f8fb06;
        border-left-color: rgba(248, 251, 6, 0.9);
    }

    .tooltip-label label:before,
    .tooltip-label label:after,
    .showTooltip:before,
    .showTooltip:after,
    .tooltip-left:hover:before,
    .tooltip-left:hover:after {
        -webkit-transform: translateX(-12px);
        -moz-transform: translateX(-12px);
        transform: translateX(-12px);
    }

    .tooltip-label label:before,
    .showTooltip:before,
    .tooltip-left:hover:before {
        -webkit-transform: translate(-12px, -50%);
        -moz-transform: translateX(-12px, -50%);
        transform: translateX(-12px, -50%);
    }

    .tooltipOffset.tooltip-left:hover:after {
        transform: translate(-12px, -5px);
    }

    /* Bottom */
    .tooltip-bottom:before,
    .tooltip-bottom:after {
        top: 100%;
        bottom: auto;
        left: 50%;
    }

    .tooltip-bottom:before {
        margin-top: -12px;
        margin-bottom: 0;
        border-top-color: transparent;
        border-bottom-color: #000;
        border-bottom-color: rgba(0, 0, 0, 0.9);
    }

    .tooltip-bottom:hover:before,
    .tooltip-bottom:hover:after {
        -webkit-transform: translateY(12px);
        -moz-transform: translateY(12px);
        transform: translateY(12px);
    }

    /* Right */
    .tooltip-right:before,
    .tooltip-right:after {
        bottom: 50%;
        left: 100%;
    }

    .tooltip-right:before {
        top: 50% !important;
        transform: translateY(-50%);
        margin-bottom: 0;
        margin-right: 0;
        margin-left: -12px;
        margin-top: -5px;
        border-top-color: transparent;
        border-right-color: #000;
        border-right-color: rgba(0, 0, 0, 0.9);
    }

    .tooltip-right:after {
        transform: translateY(-5px);
    }

    .tooltip-right:hover:before,
    .tooltip-right:hover:after {
        -webkit-transform: translateX(12px);
        -moz-transform: translateX(12px);
        transform: translateX(12px);
    }

    .tooltip-right:hover:before {
        -webkit-transform: translate(12px, -50%);
        -moz-transform: translateX(12px, -50%);
        transform: translateX(12px, -50%);
    }

    .tooltip-right:hover:after {
        transform: translate(12px, -5px);
    }

    /* Move directional arrows down a bit for left/right tooltips */
    .tooltip-left:before,
    .tooltip-right:before {
        top: 3px;
    }

    /* Vertically center tooltip content for left/right tooltips */
    .tooltip-left:after,
    .tooltip-right:after {
        margin-left: 0;
        margin-bottom: -16px;
    }
