.tooltip {
    --tooltip-color: rgb(var(--navy-blue-60-rgb) / 94%);
    --arrow-size: 4px;
    --tooltip-gap: 8px;

    position: absolute;
    z-index: 100000;
    display: block;
    min-height: 32px;
    visibility: visible;
    opacity: 0;

    &.show,
    &.in {
        opacity: 1;
    }

    .tooltip-arrow {
        position: absolute;
        width: 0;
        height: 0;
        border-color: transparent;
        border-style: solid;
    }

    &.top,
    &[data-popper-placement='top'] {
        margin-bottom: var(--tooltip-gap);
        padding: var(--arrow-size) 0;

        .tooltip-arrow {
            bottom: 0;
            left: 50%;
            margin-left: calc(-1 * var(--arrow-size));
            border-width: var(--arrow-size) var(--arrow-size) 0;
            border-top-color: var(--tooltip-color);
        }
    }

    &.right,
    &[data-popper-placement='right'] {
        margin-left: var(--tooltip-gap);
        padding: 0 var(--arrow-size);

        .tooltip-arrow {
            top: 50%;
            left: 0;
            margin-top: calc(-1 * var(--arrow-size));
            border-width: var(--arrow-size) var(--arrow-size) var(--arrow-size) 0;
            border-right-color: var(--tooltip-color);
        }
    }

    &.bottom,
    &[data-popper-placement='bottom'] {
        margin-top: var(--tooltip-gap);
        padding: var(--arrow-size) 0;

        .tooltip-arrow {
            top: 0;
            left: 50%;
            margin-left: calc(-1 * var(--arrow-size));
            border-width: 0 var(--arrow-size) var(--arrow-size);
            border-bottom-color: var(--tooltip-color);
        }
    }

    &.left,
    &[data-popper-placement='left'] {
        margin-right: var(--tooltip-gap);
        padding: 0 var(--arrow-size);

        .tooltip-arrow {
            top: 50%;
            right: 0;
            margin-top: calc(-1 * var(--arrow-size));
            border-width: var(--arrow-size) 0 var(--arrow-size) var(--arrow-size);
            border-left-color: var(--tooltip-color);
        }
    }

    .tooltip-inner {
        @extend .body-s-book;

        max-width: 300px;
        padding: 8px 16px;
        color: var(--white);
        white-space: normal;
        text-decoration: none;
        word-wrap: break-word;
        background-color: var(--tooltip-color);
        border-color: var(--tooltip-color);
        border-radius: 8px;
        filter: drop-shadow(0 8px 24px rgb(var(--navy-blue-70-rgb) / 53%));
        backdrop-filter: blur(2px);
    }
}

.tooltip-footer {
    margin-top: 10px;
}

// ChartTooltipContent

$chart-tooltip-content-size: 3px;

.chart-tooltip-content {
    font-size: $small-font-size;
    background-color: var(--white);
    border: $default-border;
    box-shadow: 0 0 $chart-tooltip-content-size 0 rgb(var(--black-rgb) / $transparency-4);
}

.chart-tooltip-color {
    width: $chart-tooltip-content-size;
    height: 18px;
}

.chart-tooltip-label {
    padding-top: $chart-tooltip-content-size;
    padding-bottom: $chart-tooltip-content-size;
}
