button {
 outline: none;
 cursor: pointer;
 border: none;
 padding: 0.9rem 2rem;
 margin: 0;
 font-family: inherit;
 font-size: inherit;
 position: relative;
 display: inline-block;
 letter-spacing: 0.05rem;
 font-weight: 700;
 font-size: 17px;
 border-radius: 10px;
 overflow: hidden;
 background: #01d5fa;
 color: ghostwhite;
 text-decoration: none;
 cursor: pointer;
}

button span {
 position: relative;
 z-index: 10;
 transition: color 0.4s;
 text-decoration: none;
}

button:hover span {
 color: black;
 text-decoration: none;
}

button::before,
button::after {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
 text-decoration: none;
}

button::before {
 content: "";
 background: #000;
 width: 120%;
 left: -10%;
 transform: skew(30deg);
 transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
 text-decoration: none;
}

button:hover::before {
 transform: translate3d(100%, 0, 0);
 text-decoration: none;
}