.tips {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 1px;
    height: 100%;
}

@media (max-width: 768px),
       (min-width: 769px) and (max-height: 640px) {
    .tips {
        display: none;
    }
}

.tip__content {
    position: absolute;
    --tip-button-offset-y: 0px;
    --tip-text-offset-y: var(--tip-button-offset-y);
}

.tip__button {
    display: block;
    position: absolute;
    width: 48px;
    height: 48px;
    background-color: transparent;
    background-image: url("./tip-button.svg");
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    transform: translateY(var(--tip-button-offset-y));
}

.tip__button-circle-pulse {
    transition-duration: 0.25s;
}

.tip_shown .tip__button-circle-pulse {
    opacity: 0;
}

.tip__button-circle-pulse::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid #C7C8D1;
    border-radius: 32px;
    width: 32px;
    height: 32px;
    animation-delay: 3s;
    animation-name: pulse-tip-button;
    animation-duration: 4s;
    animation-fill-mode: both;
    animation-iteration-count: infinite;
    transform: translate3d(-50%, -50%, 0) scale3d(0.25, 0.25, 1);
    opacity: 1;
}

.tip_shown .tip__button-circle-pulse::before {
    animation-name: none;
}

@keyframes pulse-tip-button {
    0% {
        transform: translate3d(-50%, -50%, 0) scale3d(0.25, 0.25, 1);
        opacity: 1;
    }
    25%, 100% {
        transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
        opacity: 0;
    }
}

.tip__button-circle-active {
    opacity: 0;
    transition-duration: 0.25s;
}

.tip_shown .tip__button-circle-active {
    opacity: 1;
}

.tip__button-circle-active::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid #C7C8D1;
    border-radius: 48px;
    width: 48px;
    height: 48px;
    animation-duration: 0.5s;
    animation-fill-mode: both;
    animation-iteration-count: 0;
    transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
    opacity: 0;
}

.tip_shown .tip__button-circle-active::before {
    animation-name: focus-tip-button;
    animation-iteration-count: 1;
}

@keyframes focus-tip-button {
    0% {
        transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
        opacity: 0;
    }
    50% {
        opacity: 0.75;
    }
    100% {
        transform: translate3d(-50%, -50%, 0) scale3d(0.167, 0.167, 167);
        opacity: 0;
    }
}

.tip__line {
    position: absolute;
    width: 39px;
    height: 24px;
    background-image: url("./tip-line.svg");
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition-duration: 0.2s;
}

.tip_shown .tip__line {
    opacity: 1;
    transition-delay: 0.15s;
}

.tip__text {
    position: relative;
    margin: 0;
    width: 220px;
    padding: 12px;
    font-family: 'Montserrat';
    font-weight: 200;
    font-size: 10px;
    line-height: 11px;
    color: #fff;
    opacity: 0;
    transition-duration: 0.2s;
    transform: translateY(var(--tip-text-offset-y));
}

.tip_shown .tip__text {
    opacity: 1;
    transition-delay: 0.25s;
    background-image: url("./tip-background.png");
    background-size: 100% 100%;
}

.tip__text::before {
    top: 0;
}

.tip__text::after {
    bottom: 0;
    transform: translateX(-50%) rotate(180deg);
}

.tip__text_center {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.tip__text strong {
    font-weight: 500;
}

.tip__activation-area {
    position: absolute;
}

.tips_visible-activation-areas .tip__activation-area {
    background-color: rgba(255, 0, 0, 0.5);
}

/* Tip 1 */

.tip_1 .tip__content {
    left: 325px;
    top: 100%;
    --tip-button-offset-y: 30px;
    --tip-text-offset-y: 30px;
    transform: translateY(-300px);
}
@media (max-height: 873px) {
    .tip_1 .tip__content {
        /*top: 28.37%;*/
        transform: translateY(-300px);
    }
}
@media (max-height: 760px) {
    .tip_1 .tip__content {
        top: 65%;
        transform: none;
    }
}

.tip_1 .tip__button {
    /* top-left */
    top: -43px;
    left: -70px;
}

.tip_1 .tip__line {
    /* top-left */
    top: calc(-21px + var(--tip-button-offset-y));
    left: -37px;
}

.tip_1 .tip__activation-area {
    width: 234px;
    height: 291px;
    left: 84px;
    bottom: 101px;
}

@media (min-width: 1025px) {
    .tip_1 > .tip__content {
        --tip-button-offset-y: 40px;
        --tip-text-offset-y: 0px;
    }

    .tip_2 > .tip__content {
        --tip-button-offset-y: 20px;
    }

    .tip_3 > .tip__content,
    .tip_4 > .tip__content,
    .tip_5 > .tip__content {
        --tip-button-offset-y: 60px;
    }

    .tip_6 > .tip__content {
        --tip-button-offset-y: 115px;
        --tip-text-offset-y: 0px;
    }

    .tip_1 .tip__line {
        top: calc(-19px + var(--tip-button-offset-y));
        left: -38px;
        width: 35px;
        height: 1px;
        background-color: #C7C8D1;
        background-image: none;
    }

    .tip_1 .tip__line::before,
    .tip_1 .tip__line::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 3px;
        height: 3px;
        background-color: #C7C8D1;
        transform: translateY(-50%);
    }

    .tip_1 .tip__line::before {
        left: 0;
    }

    .tip_1 .tip__line::after {
        right: 0;
    }
}

/* Tip 2 */

.tip_2 .tip__content {
    left: 787px;
    top: 100%;
    transform: translateY(-285px);
}
@media (max-height: 873px) {
    .tip_2 .tip__content {
        /*top: 28.37%;*/
        transform: translateY(-285px);
    }
}
@media (max-height: 731px) {
    .tip_2 .tip__content {
        top: 60%;
        bottom: auto;
        transform: none;
        pointer-events: none;
    }
}

.tip_2 .tip__button {
    /* top-left */
    top: 26px;
    left: -70px;
}

.tip_2 .tip__line {
    top: calc(50px + var(--tip-button-offset-y));
    left: -37px;
    width: 35px;
    height: 1px;
    background-color: #C7C8D1;
    background-image: none;
}

.tip_2 .tip__line::before,
.tip_2 .tip__line::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 3px;
    height: 3px;
    background-color: #C7C8D1;
    transform: translateY(-50%);
}

.tip_2 .tip__line::before {
    left: 0;
}

.tip_2 .tip__line::after {
    right: 0;
}

.tip_2 .tip__activation-area {
    width: 213px;
    height: 193px;
    left: 556px;
    bottom: 100px;
}

@media (max-height: 731px) {
    .tip_2 .tip__activation-area {
        width: 150px;
        height: 110px;
        left: 630px;
        bottom: 140px;
    }
}

/* Tip 3 */

.tip_3 .tip__content {
    left: 1044px;
    top: 100%;
    transform: translateY(-355px);
}
@media (max-height: 925px) {
    .tip_3 .tip__content {
        /*top: 28.37%;*/
        transform: translateY(-350px);
    }
}
@media (max-height: 815px) {
    .tip_3 .tip__content {
        /*top: 28.37%;*/
        transform: translateY(-185px);
    }
}
@media (max-height: 746px) {
    .tip_3 .tip__content {
        /*top: auto;*/
        /*bottom: 3px;*/
        transform: translateY(-185px);

    }
}

.tip_3 .tip__button {
    /* bottom-right */
    bottom: -43px;
    right: -70px;
}
@media (max-height: 815px) {
    .tip_3 .tip__button {
        /* top-right */
        top: -43px;
        right: -70px;
        bottom: auto;
    }
}

.tip_3 .tip__line {
    /* bottom-right */
    bottom: calc(-21px - var(--tip-button-offset-y));
    right: -37px;
    transform: scale(-1, -1);
}
@media (max-height: 815px) {
    .tip_3 .tip__line {
        /* top-right */
        top: calc(-21px + var(--tip-button-offset-y));
        right: -37px;
        bottom: auto;
        transform: scale(-1, 1);
    }
}

.tip_3 .tip__activation-area {
    width: 457px;
    height: 199px;
    left: 1284px;
    bottom: 26px;
}

/* Tip 4 */

.tip_4 .tip__content {
    left: 1788px;
    top: 100%;
    transform: translateY(-325px);
}
@media (max-height: 895px) {
    .tip_4 .tip__content {
        /*top: 28.37%;*/
        transform: translateY(-325px);
    }
}
@media (max-height: 805px) {
    .tip_4 .tip__content {
        transform: translateY(-185px);
    }
}
@media (max-height: 715px) {
    .tip_4 .tip__content {
        /*top: auto;*/
        /*bottom: 3px;*/
        transform: translateY(-185px);
    }
}

.tip_4 .tip__button {
    /* bottom-right */
    bottom: -43px;
    right: -70px;
}
@media (max-height: 805px) {
    .tip_4 .tip__button {
        /* top-right */
        top: -43px;
        right: -70px;
        bottom: auto;
    }
}

.tip_4 .tip__line {
    /* bottom-right */
    bottom: calc(-21px - var(--tip-button-offset-y));
    right: -37px;
    transform: scale(-1, -1);
}
@media (max-height: 805px) {
    .tip_4 .tip__line {
        /* top-right */
        top: calc(-21px + var(--tip-button-offset-y));
        right: -37px;
        bottom: auto;
        transform: scale(-1, 1);
    }
}

.tip_4 .tip__activation-area {
    width: 280px;
    height: 200px;
    left: 2013px;
    bottom: 53px;
}

/* Tip 5 */

.tip_5 .tip__content {
    left: 2162px;
    top: 100%;
    transform: translateY(-382px);
}
@media (max-height: 935px) {
    .tip_5 .tip__content {
        transform: translateY(-220px);
    }
}
@media (max-height: 837px) {
    .tip_5 .tip__content {
        transform: translateY(-220px);
    }
}
@media (max-height: 746px) {
    .tip_5 .tip__content {
        top: auto;
        bottom: 3px;
        transform: translateY(-90px);
    }
}

.tip_5 .tip__button {
    /* bottom-right */
    bottom: -43px;
    right: -70px;
}
@media (max-height: 935px) {
    .tip_5 .tip__button {
        /* top-right */
        top: -43px;
        right: -70px;
        bottom: auto;
    }
}

.tip_5 .tip__line {
    /* bottom-right */
    bottom: calc(-21px - var(--tip-button-offset-y));
    right: -37px;
    transform: scale(-1, -1);
}
@media (max-height: 935px) {
    .tip_5 .tip__line {
        /* top-right */
        top: calc(-21px + var(--tip-button-offset-y));
        right: -37px;
        bottom: auto;
        transform: scale(-1, 1);
    }
}

.tip_5 .tip__activation-area {
    width: 276px;
    height: 241px;
    left: 2395px;
    bottom: 3px;
}

/* Tip 6 */

.tip_6 .tip__content {
    left: 3198px;
    top: 100%;
    --tip-button-offset-y: 30px;
    transform: translateY(-340px);
}
@media (max-height: 935px) {
    .tip_6 .tip__content {
        left: 3167px;
        transform: translateY(-340px);
    }
}
@media (max-height: 820px) {
    .tip_6 .tip__content {
        top: auto;
        bottom: 3px;
        transform: none;
    }

    .tip_6 > .tip__content > .tip__text {
        transform: translateY(-50px) !important;
    }
}

.tip_6 .tip__button {
    /* bottom-right */
    bottom: -43px;
    right: -70px;
}
@media (max-height: 820px) {
    .tip_6 .tip__button {
        /* top-right */
        top: -43px;
        right: -70px;
        bottom: auto;
    }
}

.tip_6 .tip__line {
    bottom: calc(-19px - var(--tip-button-offset-y));
    right: -38px;
    width: 35px;
    height: 1px;
    background-color: #C7C8D1;
    background-image: none;
}
@media (max-height: 820px) {
    .tip_6 .tip__line {
        top: calc(-19px + var(--tip-button-offset-y));
        right: -38px;
        width: 35px;
        bottom: auto;
    }
}

.tip_6 .tip__line::before,
.tip_6 .tip__line::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 3px;
    height: 3px;
    background-color: #C7C8D1;
    transform: translateY(-50%);
}

.tip_6 .tip__line::before {
    left: 0;
}

.tip_6 .tip__line::after {
    right: 0;
}

.tip_6 .tip__activation-area {
    width: 407px;
    height: 218px;
    left: 3325px;
    bottom: 0px;
}

.tip_6 > .tip__content > .tip__text {
    transform: translateY(150px);
}
