section.tutorial-container {
    font-family: Nunito,Helvetica,Arial,sans-serif !important;
    line-height: 1.6;
    .modal-content {
        background: #fff !important;
        border-color: #cdcdcd !important;
        color: #000 !important;
        border-radius: 10px !important;
    }

    .modal-header {
        border-bottom: 0px;

        button {
            z-index: 1;
        }
    }

    .modal-footer {
        border-top: 0px;
    }

    #tutorial_popup_welcome {
        padding: 0px 10px;

        .modal-dialog {
            // max-width: 430px !important;
        }

        .header-logo {
            height: 100%;
            background-repeat: no-repeat;
            height: 300px;
            background-size: contain;
            background-position: center;
            width: 100%;
            margin-top: -30px;

            @media screen and (max-width: 320px) {
                & {
                    height: 200px;
                }
            }
        }

        .modal-footer {
            margin: 0;
            padding: 0;
        }

        .btn-panel *:not(last-child) {
            margin-bottom: 10px;
        }
    }

    .main-label {
        font-weight: 700;
        font-size: 1.4em;
    }

    .sub-label {
        font-size: 1.2em;
    }

    @media screen and (max-width: 320px) {
        .main-label {
            font-size: 1.2em;
        }
        .sub-label {
            font-size: 1.0em;
        }
    }

    .btn-primary {
        padding: 10px;
        border-radius: 5px;
    }

    .btn-skip {
        color: #777777;
        text-decoration: underline;
    }

    .floating-container {
        //transition:  opacity .5s ease-in;
        border-radius: 1rem;
        color: #fff;
        padding: 1rem;
        background-color: #0e1018e6;
        position: absolute;
        top: 10%;
        min-height: 100px;
        min-width: 250px;
        font-weight: 600;
        width: 100%;
        max-width: 300px;
        overflow: hidden;
        z-index: 11;
        transform: translateZ(0);

        .floating-header {
            width: 100%;

            .close {
                margin: 0;
                position: absolute;
                top: 0;
                right: 0;
                font-size: 1.8rem;
                color: #fff;
                z-index: 1;
                padding: 0.5rem 1rem;
            }
        }

        .floating-content {
            padding-top: 0.25rem;
            width: 90%;
        }

        .floating-button-group {
            margin-top: 10px;
            // position: absolute;
            bottom: 5px;

            button {
                background-color: #fff;
                padding: 5px 10px;
                border-radius: 8px;
                font-weight: 600;
                min-width: 80px;
                border-color: #fff;
            }

            button:not(last-child) {
                margin-right: 5px;
            }
        }
    }
}

div.red-dot {
    position: absolute;
    right: 10px;
    top: calc( 50% - .375rem);
    //transform: translateX(-50%) translateY(-50%);
    width: 1rem;
    height: 1rem;
    z-index: 1;
    animation: bounce 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    box-shadow: 0 0 10px 5px #ffffff70;
    border-radius: 50px;

    &:before {
        content: '';
        position: relative;
        display: block;
        width: 200%;
        height: 200%;
        box-sizing: border-box;
        margin-left: -50%;
        margin-top: -50%;
        border-radius: 45px;
        background-color: #24a9b4D8;
        animation: pulse-ring 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    }

    &:after {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #24a9b4;
        border-radius: 15px;
        box-shadow: 0 0 8px #24a9b44d;
        animation: pulse-dot 2.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite;
    }
}

@keyframes pulse-ring {
    0% {
        transform: scale(.33);
    }
    80%, 100% {
        opacity: 0;
    }
}

@keyframes pulse-dot {
    0% {
        transform: scale(.9);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(.9);
    }
}

@keyframes bounce {
    0%,
    20%,
    53%,
    to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        transform: translateZ(0)
    }
    40%,
    43% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -30px, 0) scaleY(1.1)
    }
    70% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -15px, 0) scaleY(1.05)
    }
    80% {
        transform: translateZ(0) scaleY(.95);
        transition-timing-function: cubic-bezier(.215, .61, .355, 1)
    }
    90% {
        transform: translate3d(0, -4px, 0) scaleY(1.02)
    }
}

.promocard {
    div.red-dot {
        right: 20px;
        bottom: 15px;
    }
}


@keyframes blink-animation {
    to {
        visibility: hidden;
    }
}

@-webkit-keyframes blink-animation {
    to {
        visibility: hidden;
    }
}
.grabbable {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

 /* (Optional) Apply a "closed-hand" cursor during drag operation. */
.grabbable:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}
