/* Base button styling */
.gob-ew-btn{
    cursor:pointer;
    box-sizing:border-box;
    display:inline-block;
    font-family:inherit;
    font-size:16px;
    font-weight:600;
    letter-spacing:.04em;
    line-height:16px;
    margin:0;
    outline:0;
    position:relative;
    text-transform:lowercase;
    vertical-align:middle;
    width:auto;
    padding:16px 57px;
    text-decoration:none;
    transition:color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out;
    overflow:hidden;
    border-left:2px solid currentColor;
    border-right:2px solid currentColor;
    background-color:transparent;
}

.gob-ew-btn-text{
    position:relative;
    z-index:5;
}

.gob-ew-gapped-border{
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    transform:skew(-42deg);
    transition:all .15s cubic-bezier(.12,.68,.43,.95);
    color:inherit;
}

.gob-ew-gapped-border-top{
    top:0;
    background:linear-gradient(to right,
        currentColor 0%,
        currentColor 85%,
        transparent 85%,
        transparent 89%,
        currentColor 89%,
        currentColor 100%
    );
    background-size:200px 2px;
    animation: gob-ew-upperborder 2s linear infinite forwards;
    animation-play-state: paused;
}

.gob-ew-gapped-border-bottom{
    bottom:0;
    background:linear-gradient(to right,
        currentColor 0%,
        currentColor 15%,
        transparent 15%,
        transparent 19%,
        currentColor 19%,
        currentColor 100%
    );
    background-size:200px 2px;
    animation: gob-ew-lowerborder 2s linear infinite forwards;
    animation-play-state: paused;
}

/* Only animate on hover if enabled */
.gob-ew-animate:hover .gob-ew-gapped-border-top,
.gob-ew-animate:hover .gob-ew-gapped-border-bottom{
    animation-play-state: running;
}

.gob-ew-no-animate .gob-ew-gapped-border-top,
.gob-ew-no-animate .gob-ew-gapped-border-bottom{
    animation: none !important;
}

@keyframes gob-ew-upperborder{
    0% { background-position: 0 0; }
    100% { background-position: 200px 0; }
}

@keyframes gob-ew-lowerborder{
    0% { background-position: 0 0; }
    100% { background-position: -200px 0; }
}
