@-webkit-keyframes sheen {
    0% {
        -webkit-transform: skewY(-45deg) translateX(0);
        transform: skewY(-45deg) translateX(0);
    }
    100% {
        -webkit-transform: skewY(-45deg) translateX(12.5em);
        transform: skewY(-45deg) translateX(12.5em);
    }
}

@keyframes sheen {
    0% {
        -webkit-transform: skewY(-45deg) translateX(0);
        transform: skewY(-45deg) translateX(0);
    }
    100% {
        -webkit-transform: skewY(-45deg) translateX(12.5em);
        transform: skewY(-45deg) translateX(12.5em);
    }
}

/*.wrapper {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}*/

.button {
    padding: 0.75em 2em;
    text-align: center;
    text-decoration: none;
    color: #2194E0;
    border: 2px solid #2194E0;
    font-size: 24px;
    display: inline-block;
    border-radius: 0.3em;
    transition: all 0.2s ease-in-out;
    position: relative;
    overflow: hidden;
}

.button:before {
    content: "";
    background-color: rgba(255, 255, 255, 0.5);
    height: 100%;
    width: 3em;
    display: block;
    position: absolute;
    top: 0;
    left: -4.5em;
    -webkit-transform: skewX(-45deg) translateX(0);
    transform: skewX(-45deg) translateX(0);
    transition: none;
}

.button:hover {
    background-color: #2194E0;
    color: #fff;
    border-bottom: 4px solid #1977b5;
}

.button:hover:before {
    -webkit-transform: skewX(-45deg) translateX(13.5em);
    transform: skewX(-45deg) translateX(13.5em);
    transition: all 0.5s ease-in-out;
}