:root{ --color: #ffad06; } .btn{ color: var(--color); font-family: 'Raleway', sans-serif; font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 8px 15px; border-radius: 5px; border: 1px solid var(--color); overflow: hidden; position: relative; z-index: 1; transition: all 0.35s; } .btn:hover, .btn:focus{ color:#fff; transition-delay: 0.35s; } .btn:before{ content: ""; background: var(--color); width: 15%; height: 100%; transform: rotateZ(-45deg) translateX(-50%) translateY(-50%); position: absolute; top: 0; left: 0; z-index: -1; transition: all 0.3s; } .btn:hover:before{ animation: animate 0.6s forwards; } @keyframes animate{ 10% { width: 0; transform: rotateZ(-45deg) translateX(-100%) translateY(-50%); } 20% { width: 0; transform: rotateZ(0) translateX(-100%) translateY(85%); } 60% { width: 100%; transform: rotateZ(0) translateX(0%) translateY(85%); } 100% { width: 100%; transform: rotateZ(0) translateX(0%) translateY(0%); } } @media only screen and (max-width: 767px){ .btn{ margin-bottom: 30px; } }