:root{
    --main-color: #C41F4C;
    --main-color-hover: #8c1636;
    --add-background: #F8F8F8;
    --hint-background: #F6E3EA;
    --line-color: #DCDCDC;
}

.special{
    color: var(--main-color, #000000);
}
.widget-about a{
    color: var(--main-color, #252525);
    font-weight: 600;
    text-decoration: none !important;

    transition: color .2s ease-out;
}
.widget-about a:hover,
.widget-about a:focus{
    color: var(--main-color-hover, #000000);
}

/* TOOLTIP */
[tooltip] {
    display: flex;
    position: absolute;
    border: none;
    background: none;
    padding: 0;
    margin: 0;
}

[tooltip] .widget-tooltip-dot{
    display: inline-block;
    position: relative;
    z-index: 2;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--main-color);
    pointer-events: all;
}
[tooltip] .widget-tooltip-dot:before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main-color);
    opacity: .23;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    border-radius: 50%;
    cursor: pointer;
    animation: tooltips-pulsation 1s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;

    transition: transform .6s cubic-bezier(0.4, 0, 0.2, 1);
}
[tooltip] .widget-tooltip-dot:hover:before{
    transform: translate(-50%, -50%) scale(1.08);
    animation-play-state: paused;
}
[tooltip][data-invert='true'] .widget-tooltip-dot{
    filter: invert(1) hue-rotate(90deg);
}

[tooltip]::before,
[tooltip] .widget-tooltip-text {
    text-transform: none;
    font-size: 0.9em;
    line-height: 128%;
    font-weight: 400;
    user-select: none;
    pointer-events: none;
    position: absolute;
    opacity: 0;

    transition: opacity .6s cubic-bezier(0.4, 0, 0.2, 1), transform .6s cubic-bezier(0.4, 0, 0.2, 1);
}
[tooltip]::before {
    content: '';
    z-index: 1001;
    display: inline-block;
    border: 10px solid transparent;
    border-right: 14px solid var(--hint-background);
}
[tooltip] .widget-tooltip-text {
    content: attr(tooltip);
    text-align: left;
    width: max-content;
    overflow: hidden;
    padding: 1em;
    border-radius: 20px;
    box-shadow: -7px 6px 25px 0 #B4B4B424;
    background: var(--hint-background);
    color: #000000;
    z-index: 1000;
}
[tooltip]:not([flow]) .widget-tooltip-text,
[tooltip][flow^="up"] .widget-tooltip-text,
[tooltip][flow^="down"] .widget-tooltip-text{
    text-align: center;
}

/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover .widget-tooltip-text {
    display: block;
}

/* don't show empty tooltips */
[tooltip='']::before,
[tooltip=''] .widget-tooltip-text {
    opacity: 0;
    pointer-events: none;
}

/* FLOW: UP */
[tooltip]:not([flow]) .widget-tooltip-text,
[tooltip][flow^="up"] .widget-tooltip-text {
    bottom: calc(100% + 34px);
}
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
    bottom: calc(100% + 12px);
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow]) .widget-tooltip-text,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"] .widget-tooltip-text {
    left: 50%;
    transform: translate(-50%, -.5em);
}
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before{
    transform: translate(-50%, -.5em) rotate(-90deg);
}

/* FLOW: DOWN */
[tooltip][flow^="down"] .widget-tooltip-text {
    top: calc(100% + 5px);
}
[tooltip][flow^="down"]::before{
    left: 50%;
    top: calc(100% + 12px);
    transform: translate(-50%, .5em) rotate(90deg);
}
[tooltip][flow^="down"] .widget-tooltip-text {
    left: 50%;
    top: calc(100% + 34px);
    transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^="left"]::before {
    top: 50%;
    border-right-width: 0;
    border-left-color: var(--hint-background);
    left: calc(0em - 32px);
    transform: translate(-.5em, -50%);
}
[tooltip][flow^="left"] .widget-tooltip-text {
    top: 50%;
    right: calc(100% + 32px);
    transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^="right"]::before {
    top: 50%;
    border-left-width: 0;
    border-right-color: var(--hint-background);
    right: calc(0em - 32px);
    transform: translate(.5em, -50%);
}
[tooltip][flow^="right"] .widget-tooltip-text {
    top: 50%;
    left: calc(100% + 32px);
    transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@keyframes tooltips-pulsation {
    0%{
        transform: translate(-50%, -50%) scale(1);
    }
    100%{
        transform: translate(-50%, -50%) scale(1.08);
    }
}

/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):focus-visible::before,
[tooltip][data-open='true']:not([flow])::before,
[tooltip]:not([flow]):hover .widget-tooltip-text,
[tooltip]:not([flow]):focus-visible .widget-tooltip-text,
[tooltip][data-open='true']:not([flow]) .widget-tooltip-text,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:focus-visible::before,
[tooltip][flow^="up"][data-open='true']::before,
[tooltip][flow^="up"]:hover .widget-tooltip-text,
[tooltip][flow^="up"]:focus-visible .widget-tooltip-text,
[tooltip][flow^="up"][data-open='true'] .widget-tooltip-text,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:focus-visible::before,
[tooltip][flow^="down"][data-open='true']::before,
[tooltip][flow^="down"]:hover .widget-tooltip-text,
[tooltip][flow^="down"]:focus-visible .widget-tooltip-text,
[tooltip][flow^="down"][data-open='true'] .widget-tooltip-text{
    opacity: 1;
    transform: translate(-50%, 0);
}
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:focus-visible::before,
[tooltip][data-open='true'][flow^="up"]::before{
    transform: translate(-50%, 0) rotate(-90deg);
}
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:focus-visible::before,
[tooltip][data-open='true'][flow^="down"]::before{
    transform: translate(-50%, 0) rotate(90deg);
}

[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:focus-visible::before,
[tooltip][flow^="left"][data-open='true']::before,
[tooltip][flow^="left"]:hover .widget-tooltip-text,
[tooltip][flow^="left"]:focus-visible .widget-tooltip-text,
[tooltip][flow^="left"][data-open='true'] .widget-tooltip-text,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:focus-visible::before,
[tooltip][flow^="right"][data-open='true']::before,
[tooltip][flow^="right"]:hover .widget-tooltip-text,
[tooltip][flow^="right"]:focus-visible .widget-tooltip-text,
[tooltip][flow^="right"][data-open='true'] .widget-tooltip-text{
    opacity: 1;
    transform: translate(0, -50%);
}

@media all and (max-width: 1200px) {
    .widget-tooltips{
        margin-top: 2em;
    }
    [tooltip]{
        position: relative;
        top: auto !important;
        left: auto !important;
        margin-top: 1.125em;
    }
    [tooltip]:first-child{
        margin-top: 0;
    }
    [tooltip]::before,
    [tooltip] .widget-tooltip-dot{
        display: none;
    }
    [tooltip] .widget-tooltip-text{
        display: block;
        position: relative;
        width: 100%;
        padding: 0 0 0 20px;
        border-radius: 0;
        background-color: transparent;
        box-shadow: none;
        opacity: 1;
        pointer-events: all;
        user-select: all;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
    [tooltip] .widget-tooltip-text br{
        display: none;
    }
    [tooltip] .widget-tooltip-text:before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        transform: translate(0px, 7px);
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: var(--main-color, #000000);
    }
}
/* end TOOLTIP */