/* Basic reset */ * { margin:0; padding:0; box-sizing:border-box; /* Better text styling */ font:bold 14px Arial,sans-serif; } /* Finally adding some IE9 fallbacks for gradients to finish things up */ /* A nice BG gradient */ html { height:100%; background:white; background:radial-gradient(circle,#fff 20%,#ccc); background-size:cover; } /* Using box shadows to create 3D effects */ #calculator { width:325px; height:auto; margin:100px auto; padding:20px 20px 9px; background:#9dd2ea; background:linear-gradient(#9dd2ea,#8bceec); border-radius:3px; box-shadow:0px 4px #009de4,0px 10px 15px rgba(0,0,0,0.2); } /* Top portion */ .top span.clear { float:left; } /* Inset shadow on the screen to create chinaz */ .top .screen { height:40px; width:212px; float:right; padding:0 10px; background:rgba(0,0,0,0.2); border-radius:3px; box-shadow:inset 0px 4px rgba(0,0,0,0.2); /* Typography */ font-size:17px; line-height:40px; color:white; text-shadow:1px 1px 2px rgba(0,0,0,0.2); text-align:right; letter-spacing:1px; } /* Clear floats */ .keys,.top { overflow:hidden; } /* Applying same to the keys */ .keys span,.top span.clear { float:left; position:relative; top:0; cursor:pointer; width:66px; height:36px; background:white; border-radius:3px; box-shadow:0px 4px rgba(0,0,0,0.2); margin:0 7px 11px 0; color:#888; line-height:36px; text-align:center; /* prevent selection of text inside keys */ user-select:none; /* Smoothing out hover and active states using css3 transitions */ transition:all 0.2s ease; } /* Remove right margins from operator keys */ /* style different type of keys (operators/evaluate/clear) differently */ .keys span.operator { background:#FFF0F5; margin-right:0; } .keys span.eval { background:#f1ff92; box-shadow:0px 4px #9da853; color:#888e5f; } .top span.clear { background:#ff9fa8; box-shadow:0px 4px #ff7c87; color:white; } /* Some hover effects */ .keys span:hover { background:#9c89f6; box-shadow:0px 4px #6b54d3; color:white; } .keys span.eval:hover { background:#abb850; box-shadow:0px 4px #717a33; color:#ffffff; } .top span.clear:hover { background:#f68991; box-shadow:0px 4px #d3545d; color:white; } /* Simulating "pressed" effect on active state of the keys by removing the box-shadow and moving the keys down a bit */ .keys span:active { box-shadow:0px 0px #6b54d3; top:4px; } .keys span.eval:active { box-shadow:0px 0px #717a33; top:4px; } .top span.clear:active { top:4px; box-shadow:0px 0px #d3545d; }