/* Source : https://codepen.io/thierrymichel/pen/Pwzbmd */ [class*="push"] { position: relative; display: inline-block; width: 40px; height: 40px; border: 0; margin: 1em; outline: none; background-color: #c2290a; border-radius: 50%; cursor: pointer; -webkit-transition: box-shadow 200ms; transition: box-shadow 200ms; } .push--flat { box-shadow: inset 0 1.25px 0 #da2e0b, inset 0 -1.25px 0 #aa2409, inset 0 0 0 1.25px #b32609, inset 0 0 0 3.33333px #c2290a, inset 0 0 0 4px #611405, inset 0 0 0 4.34783px black, inset 0 0 0 5.33333px rgba(247, 133, 110, 0.7), inset 0 0 0 7.27273px #c2290a, inset 0 16px 5.33333px #aa2409, inset 0 0 4px 6.66667px #911f08, 0 2px 0 rgba(0, 0, 0, 0.3); } .push--flat:after { content: ''; position: absolute; bottom: 2px; left: 4px; display: block; width: 32px; height: 32px; border: 2.66667px solid rgba(0, 0, 0, 0.3); border-width: 0 0 2.66667px; border-radius: 50%; -webkit-transition-duration: 200ms; transition-duration: 200ms; } .push--flat:active, .push--flat.is-pushed { box-shadow: inset 0 1.25px 0 #da2e0b, inset 0 -1.25px 0 #aa2409, inset 0 0 0 1.25px #b32609, inset 0 0 0 3.33333px #c2290a, inset 0 0 0 4px #611405, inset 0 0 0 4.70588px black, inset 0 0 0 5.33333px rgba(247, 133, 110, 0.2), inset 0 0 0 7.27273px #b32609, inset 0 16px 5.33333px #9b2108, inset 0 0 4px 6.66667px #791a06, 0 2px 0 rgba(0, 0, 0, 0.3); background-color: #b8270a; } .push--flat:active:after, .push--flat.is-pushed:after { bottom: 4.66667px; border-width: 0; } .push--skeuo { box-shadow: inset 0 1.66667px 0 #da2e0b, inset 0 -1.66667px 0.66667px #aa2409, 0 0 0.66667px #c2290a, inset 0 0 1.33333px #791a06, inset 0 0 1.33333px rgba(51, 51, 51, 0.5), inset 0 0 0.66667px 3.33333px #c2290a, inset 0 -1.33333px 1px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.66667px 4px #611405, inset 0 0 0.66667px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.33333px 4.34783px black, inset 0 0 0.33333px 5px rgba(247, 133, 110, 0.7), inset 0 2px 0 4.70588px rgba(244, 71, 37, 0.7), inset 0 -2px 0.66667px 4.70588px rgba(145, 31, 8, 0.2), inset 0 0 0 7.27273px #c2290a, inset 0 16px 5.33333px #aa2409, inset 0 0 4px 6.66667px #911f08, 0 1px 2px rgba(0, 0, 0, 0.5); } .push--skeuo:active, .push--skeuo.is-pushed { box-shadow: inset 0 1.66667px 0 #da2e0b, inset 0 -1.66667px 0.66667px #aa2409, 0 0 0.66667px #c2290a, inset 0 0 1.33333px #791a06, inset 0 0 1.33333px rgba(51, 51, 51, 0.5), inset 0 0 0.66667px 3.33333px #c2290a, inset 0 -1.33333px 1px 4px rgba(51, 51, 51, 0.7), inset 0 0 0.66667px 4px #611405, inset 0 0 0.66667px 4px rgba(51, 51, 51, 0.7), inset 0 0 1px 4.70588px black, inset 0 0 0.33333px 5.33333px rgba(247, 133, 110, 0.2), inset 0 2px 0 28px rgba(244, 71, 37, 0.5), inset 0 -2px 0.66667px 28px rgba(97, 20, 5, 0.2), inset 0 0 0 7.27273px #b32609, inset 0 16px 5.33333px #9b2108, inset 0 0 4px 6.66667px #791a06, 0 1px 2px rgba(0, 0, 0, 0.5); background-color: #b8270a; } .push--skeuo:active:before, .push--skeuo.is-pushed:before { opacity: .5; } .push--skeuo:before { content: ''; position: absolute; bottom: 8.88889px; left: 11.11111px; display: block; width: 18.18182px; height: 12.12121px; background: rgba(247, 133, 110, 0.2); background: -webkit-linear-gradient(bottom, rgba(250, 173, 158, 0.3) 0%, rgba(194, 41, 10, 0.1) 100%); background: linear-gradient(to top, rgba(250, 173, 158, 0.3) 0%, rgba(194, 41, 10, 0.1) 100%); border-radius: 40% 40% 60% 60%; -webkit-transition: opacity 200ms; transition: opacity 200ms; }