﻿
.tap-target-wrapper {
    width: 800px;
    height: 800px;
    position: fixed;
    z-index: 1000;
    visibility: hidden;
    -webkit-transition: visibility 0s .3s;
    transition: visibility 0s .3s;
}

    .tap-target-wrapper.open {
        visibility: visible;
        -webkit-transition: visibility 0s;
        transition: visibility 0s;
    }

        .tap-target-wrapper.open .tap-target {
            -webkit-transform: scale(1);
            transform: scale(1);
            opacity: .95;
            -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
            transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
            transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
            transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
        }

        .tap-target-wrapper.open .tap-target-wave::before {
            -webkit-transform: scale(1);
            transform: scale(1);
        }

        .tap-target-wrapper.open .tap-target-wave::after {
            visibility: visible;
            -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            -webkit-transition: opacity .3s, visibility 0s 1s, -webkit-transform .3s;
            transition: opacity .3s, visibility 0s 1s, -webkit-transform .3s;
            transition: opacity .3s, transform .3s, visibility 0s 1s;
            transition: opacity .3s, transform .3s, visibility 0s 1s, -webkit-transform .3s;
        }

.tap-target {
    position: absolute;
    font-size: 1rem;
    border-radius: 50%;
    background-color: #0066c1;
    -webkit-box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
    transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
    transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
    transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.tap-target-content {
    position: relative;
    display: table-cell;
}

.tap-target-wave {
    position: absolute;
    border-radius: 50%;
    z-index: 10001;
}

    .tap-target-wave button {
        margin-top: 0;
        margin-left: 0;
    }

    .tap-target-wave::before, .tap-target-wave::after {
        content: '';
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: #ffffff;
    }

    .tap-target-wave::before {
        -webkit-transform: scale(0);
        transform: scale(0);
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s;
    }

    .tap-target-wave::after {
        visibility: hidden;
        -webkit-transition: opacity .3s, visibility 0s, -webkit-transform .3s;
        transition: opacity .3s, visibility 0s, -webkit-transform .3s;
        transition: opacity .3s, transform .3s, visibility 0s;
        transition: opacity .3s, transform .3s, visibility 0s, -webkit-transform .3s;
        z-index: -1;
    }

.tap-target-origin {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10002;
    position: absolute !important;
}

/*.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small), .tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover {
        background: none;
    }*/

@media only screen and (max-width: 600px) {
    .tap-target, .tap-target-wrapper {
        width: 600px;
        height: 600px;
    }
}


@-webkit-keyframes pulse-animation {
    0% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
}

@keyframes pulse-animation {
    0% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
}
