:root{ --white:#fff; --c: #229091; --_g: linear-gradient(#229091 0 0) no-repeat; } .btn{ color: #555; background: var(--_g) calc(var(--_p,0%) - 100%) 0%, var(--_g) calc(200% - var(--_p,0%)) 0%, var(--_g) calc(var(--_p,0%) - 100%) 100%, var(--_g) calc(200% - var(--_p,0%)) 100%; background-size: 50.5% calc(var(--_p,0%)/2 + .5%); font-family: 'Montserrat Alternates', sans-serif; font-size: 18px; font-weight: 700; text-transform: capitalize; letter-spacing: 1px; padding: 8px 15px; border-radius: 0; border: none; box-shadow: 0 0 0 .1em inset var(--c); position: relative; z-index: 1; transition: background-size 0.4s, background-position 0s 0.4s; } .btn:hover{ --_p: 100%; color: var(--white); transition: background-position 0.4s, background-size 0s; } @media only screen and (max-width: 767px){ .btn{ margin-bottom: 30px; } }