@import url(https://fonts.googleapis.com/css?family=Roboto:400,700); html, body { width: 100%; height: 100%; margin: 0; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } body { display: -ms-flexbox; display: flex; font-family: Roboto, "Helvetica Neue", sans-serif; font-size: 18px; perspective: 1000px; background-color: #f5f5f5; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } .description { margin-top: 50px; text-align: center; color: #999; transition: opacity 0.3s ease; } .description a { color: #4A9DF6; text-decoration: none; } .btn.is-open ~ .description { opacity: 0; } .btn { display: block; position: relative; width: 200px; height: 80px; transition: width 0.8s cubic-bezier(0.23, 1, 0.32, 1), height 0.8s cubic-bezier(0.23, 1, 0.32, 1), transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275); transform-style: preserve-3d; transform-origin: 50% 50%; text-align: center; } .btn-front { position: absolute; display: block; width: 100%; height: 100%; line-height: 80px; background-color: #F44336; color: #fff; cursor: pointer; backface-visibility: hidden; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); transition: background 0.15s ease, line-height 0.8s cubic-bezier(0.23, 1, 0.32, 1); } .btn-front:hover { background-color: #f77066; } .btn-back { position: absolute; width: 100%; height: 100%; background-color: #eee; color: #222; transform: translateZ(-2px) rotateX(180deg); overflow: hidden; transition: box-shadow 0.8s ease; } .btn-back p { margin-top: 27px; margin-bottom: 25px; } .btn-back button { padding: 12px 20px; width: 30%; margin: 0 5px; background-color: transparent; border: 0; border-radius: 2px; font-size: 1em; cursor: pointer; -webkit-appearance: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); transition: background 0.15s ease; } .btn-back button:focus { outline: 0; } .btn-back button.yes { background-color: #2196F3; color: #fff; } .btn-back button.yes:hover { background-color: #51adf6; } .btn-back button.no { color: #2196F3; } .btn-back button.no:hover { background-color: #ddd; } .btn[data-direction="left"] .btn-back, .btn[data-direction="right"] .btn-back { transform: translateZ(-2px) rotateY(180deg); }