[data-talker] {
    position: relative;
    overflow: hidden;
    display: inline-block;
}

[data-talker] .controls {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;
    display: table-cell;
    width: 250px;
    height: 30px;
    cursor: pointer;
    background-color: #f9f9f9;
    border: 1px solid #eaeaea;
    font-family: "Noto Serif";
    line-height: 24px;
    font-size: 16px;
    color: #222222;
    text-align: center;
    vertical-align: middle;
}

[data-talker-icon] {
    background-repeat: no-repeat;
    background-size: 16px 14px;
    background-position: 12px;
}
[data-talker] .controls.loader {
    background-image: url("/profiles/portal/modules/talker/template/images/loader.gif") !important;
    background-size: 18px 18px !important;
    background-position: 10px !important;
}
[data-talker-icon="synthesis"] {
    background-image: url("/profiles/portal/modules/talker/template/images/synthesis.svg");
    background-size: 16px 16px;
}
[data-talker-icon="play"] {
    background-image: url("/profiles/portal/modules/talker/template/images/play.svg");
}
[data-talker-icon="pause"] {
    background-image: url("/profiles/portal/modules/talker/template/images/pause.svg");
}
[data-talker-icon="repeat"] {
    background-image: url("/profiles/portal/modules/talker/template/images/repeat.svg");
    background-size: 20px 20px;
    background-position: 10px;
}

[data-talker-icon="pause"] .talker-text {
    background: linear-gradient(to right, #563e71 20%, #666666 40%, #222222 20%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background-size: 200% auto;
    animation: textShine 2s infinite linear;
}
@keyframes textShine {
    0% {
        background-position: 200%;
    }
    60% {
        background-position: 120%;
    }
    100% {
        background-position: 10%;
    }
}
.talker-progress {
    opacity: 0;
    transition: opacity, width 500ms ease;
    width: 0;
}
[data-talker-icon="pause"] .talker-progress {
    position: absolute;
    display: block;
    opacity: 1;
    height: 1px;
    background-color: purple;
    left: 0;
    bottom: 0;
}
