.mic {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    background-color: #87a700;
    color: #fff;
    font-size: 33px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.25s;
}

.mic::before {
    content: "";
    position: absolute;
    width: inherit;
    height: inherit;
    border-radius: inherit;
    background-color: inherit;
    z-index: -1;
}

.listening {
    background-color: #647907;
    z-index: 1;
}

.listening::before {
    animation: listening 1.3s infinite;
}

@keyframes listening {
    from {
        opacity: 0.25;
    }

    to {
        transform: scale(2);
        opacity: 0;
    }
}