html, body { margin: 10px; text-align: center; font-family: Helvetica, sans-serif; } p { display: inline-block; color: #333; vertical-align: middle; font-size: 20px; text-align: right; line-height: 1.6; } p a { color: #333; padding: 2px 4px; border: 2px solid #aaa; border-radius: 2px; text-decoration: none; } p a:hover { border-color: #666; color: #000; } .animation { display: inline-block; position: relative; width: 460px; height: 377px; margin: 0 auto; vertical-align: middle; } .animation .device { position: absolute; width: 100%; height: 100%; left: 50%; top: 50%; background: #111; -webkit-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); -moz-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); -ms-transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .animation .device .phone-home-button, .animation .device .tablet-home-button { position: absolute; border-radius: 50%; background: #444; opacity: 0; z-index: 1; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; -ms-transition: all 0.4s ease; transition: all 0.4s ease; } .animation .device .phone-home-button { width: 16px; height: 16px; margin-top: -8px; right: 11px; top: 50%; } .animation .device .tablet-home-button { width: 12px; height: 12px; margin-left: -6px; bottom: 7px; left: 50%; } .animation .device .screen-stand { position: absolute; width: 100%; margin-left: -10px; margin-top: -1px; top: 60%; opacity: 0; z-index: 1; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out; } .animation .device .screen-stand .leg { position: absolute; width: 12px; height: 16px; left: 50%; top: 0; margin-left: -6px; background: #111; } .animation .device .screen-stand .foot { position: absolute; width: 120px; height: 4px; left: 50%; top: 15px; margin-left: -60px; border-top-left-radius: 2px; border-top-right-radius: 2px; background: #111; } .animation .device .display { position: relative; width: 100%; height: 100%; overflow: hidden; background: #34495e; z-index: 3; } .animation .device .display div { position: absolute; width: 100%; height: 100%; left: 100%; white-space: nowrap; -webkit-transition: all 0.4s ease; -moz-transition: all 0.4s ease; -ms-transition: all 0.4s ease; transition: all 0.4s ease; } .animation .device .display div div { position: absolute; width: 100%; left: 0; top: 50%; margin-top: -14px; font-size: 1.1em; text-align: center; color: #fff; } .animation .device .display div div em { font-weight: bold; } .animation .device .display .slide1 { background: #34495e; } .animation .device .display .slide2 { background: #16a085; } .animation .device .display .slide3 { background: #3498db; } .animation[data-animation-step="1"] .device { width: 70%; height: 60%; padding: 10px; border-radius: 4px; } .animation[data-animation-step="1"] .device .slide1 { left: 0%; } .animation[data-animation-step="1"] .device .screen-stand { opacity: 1; top: 100%; } .animation[data-animation-step="2"] .device { width: 45%; height: 72%; padding: 24px; border-radius: 10px; } .animation[data-animation-step="2"] .device .slide1 { left: -100%; } .animation[data-animation-step="2"] .device .slide2 { left: 0%; } .animation[data-animation-step="2"] .device .tablet-home-button { opacity: 1; } .animation[data-animation-step="3"] .device { width: 54%; height: 38%; padding: 10px 36px; border-radius: 6px; } .animation[data-animation-step="3"] .device .slide1, .animation[data-animation-step="3"] .device .slide2 { left: -100%; } .animation[data-animation-step="3"] .device .slide3 { left: 0%; } .animation[data-animation-step="3"] .device .phone-home-button { opacity: 1; }