CSS
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
font-size: 100%;
vertical-align: baseline; }
html {
line-height: 1; }
ol, ul {
list-style: none; }
table {
border-collapse: collapse;
border-spacing: 0; }
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle; }
q, blockquote {
quotes: none; }
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none; }
a img {
border: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
display: block; }
body {
background-color: #eee9e6;
font-size: 34px; }
.stage {
width: 100%;
height: 700px;
position: relative;
overflow: hidden;
-webkit-perspective: 1600px;
-moz-perspective: 1600px;
-ms-perspective: 1600px;
-o-perspective: 1600px;
perspective: 1600px;
-webkit-perspective-origin: 50% 100px;
-moz-perspective-origin: 50% 100px;
-ms-perspective-origin: 50% 100px;
-o-perspective-origin: 50% 100px;
perspective-origin: 50% 100px;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #131c2d), color-stop(40%, #131c2d), color-stop(40%, #b1b5b8), color-stop(100%, #eee9e6));
background: -webkit-linear-gradient(top, #131c2d, #131c2d 40%, #b1b5b8 40%, #eee9e6);
background: -moz-linear-gradient(top, #131c2d, #131c2d 40%, #b1b5b8 40%, #eee9e6);
background: -o-linear-gradient(top, #131c2d, #131c2d 40%, #b1b5b8 40%, #eee9e6);
background: linear-gradient(top, #131c2d, #131c2d 40%, #b1b5b8 40%, #eee9e6); }
.positioning {
position: absolute;
width: 9em;
top: 3em;
left: 50%;
margin-left: -4.5em;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d; }
.positioning.animated {
-webkit-animation: back-and-forth 14s ease-in-out infinite;
-moz-animation: back-and-forth 14s ease-in-out infinite;
-o-animation: back-and-forth 14s ease-in-out infinite;
-ms-animation: back-and-forth 14s ease-in-out infinite;
animation: back-and-forth 14s ease-in-out infinite; }
.positioning.two {
-webkit-transform: translateX(14em) translateZ(-10em) rotateY(20deg);
-moz-transform: translateX(14em) translateZ(-10em) rotateY(20deg);
-ms-transform: translateX(14em) translateZ(-10em) rotateY(20deg);
-o-transform: translateX(14em) translateZ(-10em) rotateY(20deg);
transform: translateX(14em) translateZ(-10em) rotateY(20deg); }
.positioning.three {
-webkit-transform: translateX(-14em) translateZ(-10em) rotateY(-20deg);
-moz-transform: translateX(-14em) translateZ(-10em) rotateY(-20deg);
-ms-transform: translateX(-14em) translateZ(-10em) rotateY(-20deg);
-o-transform: translateX(-14em) translateZ(-10em) rotateY(-20deg);
transform: translateX(-14em) translateZ(-10em) rotateY(-20deg); }
/* 13.6 x 9.6 x 10.9 */
.mac {
width: 12em;
height: 10em;
margin: 0 auto;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d; }
.mac span {
display: block;
position: absolute;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 1; }
.mac .front {
height: 11.5em;
width: 9.6em;
background: #e0e0e0;
-webkit-transform: rotateX(5deg) translateZ(5.43em);
-moz-transform: rotateX(5deg) translateZ(5.43em);
-ms-transform: rotateX(5deg) translateZ(5.43em);
-o-transform: rotateX(5deg) translateZ(5.43em);
transform: rotateX(5deg) translateZ(5.43em); }
.mac .front .bezel-top {
border-top: 0.75em solid #f2f2f2;
border-right: 0.5em solid transparent;
border-left: 0.5em solid transparent;
width: 8.6em; }
.mac .front .bezel-left {
border-top: 0.5em solid #d9d9d9;
border-right: 0.75em solid transparent;
border-left: 0.75em solid transparent;
width: 10em;
-webkit-transform: rotateZ(-90deg) translateX(-5.5em) translateY(-5.5em);
-moz-transform: rotateZ(-90deg) translateX(-5.5em) translateY(-5.5em);
-ms-transform: rotateZ(-90deg) translateX(-5.5em) translateY(-5.5em);
-o-transform: rotateZ(-90deg) translateX(-5.5em) translateY(-5.5em);
transform: rotateZ(-90deg) translateX(-5.5em) translateY(-5.5em); }
.mac .front .bezel-right {
border-top: 0.5em solid #d4d4d4;
border-right: 0.75em solid transparent;
border-left: 0.75em solid transparent;
width: 10em;
-webkit-transform: rotateZ(90deg) translateX(5.5em) translateY(-3.62em);
-moz-transform: rotateZ(90deg) translateX(5.5em) translateY(-3.62em);
-ms-transform: rotateZ(90deg) translateX(5.5em) translateY(-3.62em);
-o-transform: rotateZ(90deg) translateX(5.5em) translateY(-3.62em);
transform: rotateZ(90deg) translateX(5.5em) translateY(-3.62em); }
.mac .front .bezel-bottom {
border-top: 0.75em solid #cccccc;
border-right: 0.5em solid transparent;
border-left: 0.5em solid transparent;
width: 8.65em;
-webkit-transform: rotateZ(180deg) translateY(-10.76em);
-moz-transform: rotateZ(180deg) translateY(-10.76em);
-ms-transform: rotateZ(180deg) translateY(-10.76em);
-o-transform: rotateZ(180deg) translateY(-10.76em);
transform: rotateZ(180deg) translateY(-10.76em); }
.mac .front .screen-container {
width: 6.25em;
height: 4.8em;
background: #c2c2c2;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b3b3b3), color-stop(4%, #cccccc), color-stop(96%, #cccccc), color-stop(100%, #a6a6a6));
background: -webkit-linear-gradient(top, #b3b3b3, #cccccc 4%, #cccccc 96%, #a6a6a6);
background: -moz-linear-gradient(top, #b3b3b3, #cccccc 4%, #cccccc 96%, #a6a6a6);
background: -o-linear-gradient(top, #b3b3b3, #cccccc 4%, #cccccc 96%, #a6a6a6);
background: linear-gradient(top, #b3b3b3, #cccccc 4%, #cccccc 96%, #a6a6a6);
border-radius: 0.1em;
padding: 0.5em;
-webkit-transform: translate3d(1.15em, 1.5em, 0);
-moz-transform: translate3d(1.15em, 1.5em, 0);
-ms-transform: translate3d(1.15em, 1.5em, 0);
-o-transform: translate3d(1.15em, 1.5em, 0);
transform: translate3d(1.15em, 1.5em, 0); }
.mac .front .screen-container .screen {
display: block;
position: absolute;
left: 0.25em;
top: 0.25em;
background: #657374;
border: 0.25em solid #657374;
width: 6.25em;
height: 4.75em;
border-radius: 0.25em;
overflow: hidden; }
.mac .front .screen-container .screen img {
width: 100%;
height: 100%;
border-radius: 0.1em; }
.mac .front .screen-container .sheen {
display: block;
position: absolute;
top: 0;
background: -webkit-gradient(linear, 100% 0%, 0% 100%, color-stop(0%, rgba(255, 255, 255, 0.03)), color-stop(50%, rgba(255, 255, 255, 0.06)), color-stop(50%, transparent), color-stop(100%, transparent));
background: -webkit-linear-gradient(top right, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.06) 50%, transparent 50%, transparent);
background: -moz-linear-gradient(top right, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.06) 50%, transparent 50%, transparent);
background: -o-linear-gradient(top right, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.06) 50%, transparent 50%, transparent);
background: linear-gradient(top right, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.06) 50%, transparent 50%, transparent);
width: 100%;
height: 100%; }
.mac .back {
height: 11.5em;
width: 9.6em;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f2f2f2), color-stop(0.25em, #e6e6e6), color-stop(100%, #c2c2c2));
background: -webkit-linear-gradient(top, #f2f2f2, #e6e6e6 0.25em, #c2c2c2);
background: -moz-linear-gradient(top, #f2f2f2, #e6e6e6 0.25em, #c2c2c2);
background: -o-linear-gradient(top, #f2f2f2, #e6e6e6 0.25em, #c2c2c2);
background: linear-gradient(top, #f2f2f2, #e6e6e6 0.25em, #c2c2c2);
-webkit-transform: rotateX(5deg) translateZ(-5.45em) rotateY(180deg);
-moz-transform: rotateX(5deg) translateZ(-5.45em) rotateY(180deg);
-ms-transform: rotateX(5deg) translateZ(-5.45em) rotateY(180deg);
-o-transform: rotateX(5deg) translateZ(-5.45em) rotateY(180deg);
transform: rotateX(5deg) translateZ(-5.45em) rotateY(180deg); }
.mac .top {
height: 10.95em;
width: 9.6em;
background-color: #ebf0dc;
background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #fafafa), color-stop(0.25em, #d9d9d9), color-stop(9.35em, #d9d9d9), color-stop(100%, #fafafa));
background: -webkit-linear-gradient(left, #fafafa, #d9d9d9 0.25em, #d9d9d9 9.35em, #fafafa);
background: -moz-linear-gradient(left, #fafafa, #d9d9d9 0.25em, #d9d9d9 9.35em, #fafafa);
background: -o-linear-gradient(left, #fafafa, #d9d9d9 0.25em, #d9d9d9 9.35em, #fafafa);
background: linear-gradient(left, #fafafa, #d9d9d9 0.25em, #d9d9d9 9.35em, #fafafa);
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f2f2f2), color-stop(0.25em, #d9d9d9), color-stop(100%, #b3b3b3));
background: -webkit-linear-gradient(top, #f2f2f2, #d9d9d9 0.25em, #b3b3b3);
background: -moz-linear-gradient(top, #f2f2f2, #d9d9d9 0.25em, #b3b3b3);
background: -o-linear-gradient(top, #f2f2f2, #d9d9d9 0.25em, #b3b3b3);
background: linear-gradient(top, #f2f2f2, #d9d9d9 0.25em, #b3b3b3);
-webkit-transform: rotateX(5deg) rotateX(90deg) translateZ(5.45em);
-moz-transform: rotateX(5deg) rotateX(90deg) translateZ(5.45em);
-ms-transform: rotateX(5deg) rotateX(90deg) translateZ(5.45em);
-o-transform: rotateX(5deg) rotateX(90deg) translateZ(5.45em);
transform: rotateX(5deg) rotateX(90deg) translateZ(5.45em); }
.mac .left {
height: 11.5em;
width: 10.9em;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(0.25em, #e0e0e0), color-stop(100%, #b3b3b3));
background: -webkit-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: -moz-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: -o-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
-webkit-transform: rotateX(5deg) rotateY(-90deg) translateZ(5.45em);
-moz-transform: rotateX(5deg) rotateY(-90deg) translateZ(5.45em);
-ms-transform: rotateX(5deg) rotateY(-90deg) translateZ(5.45em);
-o-transform: rotateX(5deg) rotateY(-90deg) translateZ(5.45em);
transform: rotateX(5deg) rotateY(-90deg) translateZ(5.45em); }
.mac .left:after {
content: "";
position: absolute;
width: 8.9em;
height: 1em;
top: 11.4em;
left: 0.5em;
-webkit-transform: rotateZ(5deg);
-moz-transform: rotateZ(5deg);
-ms-transform: rotateZ(5deg);
-o-transform: rotateZ(5deg);
transform: rotateZ(5deg);
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(100, 100, 100, 0.8)), color-stop(30%, rgba(100, 100, 100, 0.8)), color-stop(30%, transparent), color-stop(100%, transparent));
background: -webkit-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: -moz-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: -o-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background-size: 2em; }
.mac .right {
height: 11.5em;
width: 10.9em;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(0.25em, #e0e0e0), color-stop(100%, #b3b3b3));
background: -webkit-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: -moz-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: -o-linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
background: linear-gradient(top, #ffffff, #e0e0e0 0.25em, #b3b3b3);
-webkit-transform: rotateX(5deg) rotateY(90deg) translateZ(4.14em);
-moz-transform: rotateX(5deg) rotateY(90deg) translateZ(4.14em);
-ms-transform: rotateX(5deg) rotateY(90deg) translateZ(4.14em);
-o-transform: rotateX(5deg) rotateY(90deg) translateZ(4.14em);
transform: rotateX(5deg) rotateY(90deg) translateZ(4.14em); }
.mac .right:after {
content: "";
position: absolute;
width: 8.9em;
height: 1em;
top: 11.4em;
right: 0.5em;
-webkit-transform: rotateZ(-5deg);
-moz-transform: rotateZ(-5deg);
-ms-transform: rotateZ(-5deg);
-o-transform: rotateZ(-5deg);
transform: rotateZ(-5deg);
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(100, 100, 100, 0.8)), color-stop(30%, rgba(100, 100, 100, 0.8)), color-stop(30%, transparent), color-stop(100%, transparent));
background: -webkit-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: -moz-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: -o-linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background: linear-gradient(top, rgba(100, 100, 100, 0.8), rgba(100, 100, 100, 0.8) 30%, transparent 30%, transparent);
background-size: 2em; }
.mac .base-front {
height: 2.1em;
width: 9.6em;
background: #c2c2c2;
-webkit-transform: translateY(10.7em) translateZ(5em);
-moz-transform: translateY(10.7em) translateZ(5em);
-ms-transform: translateY(10.7em) translateZ(5em);
-o-transform: translateY(10.7em) translateZ(5em);
transform: translateY(10.7em) translateZ(5em); }
.mac .base-front:after {
content: "";
display: block;
width: 0.4em;
height: 0.5em;
position: absolute;
top: 0.9em;
right: 1em;
background: #555555;
border-top: 0.1em solid #b3b3b3;
border-right: 0.2em solid #cccccc;
border-bottom: 0.1em solid #e6e6e6;
border-left: 0.2em solid #cccccc;
border-radius: 0.12em; }
.mac .base-back {
height: 2.1em;
width: 9.6em;
background: #b3b3b3;
-webkit-transform: translateY(10.7em) translateZ(-5em) rotateY(180deg);
-moz-transform: translateY(10.7em) translateZ(-5em) rotateY(180deg);
-ms-transform: translateY(10.7em) translateZ(-5em) rotateY(180deg);
-o-transform: translateY(10.7em) translateZ(-5em) rotateY(180deg);
transform: translateY(10.7em) translateZ(-5em) rotateY(180deg); }
.mac .base-left {
height: 2.1em;
width: 10em;
background: #b3b3b3;
-webkit-transform: translateY(10.7em) rotateY(-90deg) translateZ(4.99em);
-moz-transform: translateY(10.7em) rotateY(-90deg) translateZ(4.99em);
-ms-transform: translateY(10.7em) rotateY(-90deg) translateZ(4.99em);
-o-transform: translateY(10.7em) rotateY(-90deg) translateZ(4.99em);
transform: translateY(10.7em) rotateY(-90deg) translateZ(4.99em); }
.mac .base-right {
height: 2.1em;
width: 10em;
background: #b3b3b3;
-webkit-transform: translateY(10.7em) rotateY(90deg) translateZ(4.58em);
-moz-transform: translateY(10.7em) rotateY(90deg) translateZ(4.58em);
-ms-transform: translateY(10.7em) rotateY(90deg) translateZ(4.58em);
-o-transform: translateY(10.7em) rotateY(90deg) translateZ(4.58em);
transform: translateY(10.7em) rotateY(90deg) translateZ(4.58em); }
.mac .logo {
-webkit-transform: translateY(8.75em) translateX(1.25em);
-moz-transform: translateY(8.75em) translateX(1.25em);
-ms-transform: translateY(8.75em) translateX(1.25em);
-o-transform: translateY(8.75em) translateX(1.25em);
transform: translateY(8.75em) translateX(1.25em); }
.mac .logo span.image {
display: block;
position: absolute;
width: 15px;
height: 18px;
left: 0;
background: url(//cssanimation.rocks/demo/macplus/images/bg/apple.png) no-repeat bottom;
background-size: 100%; }
.mac .logo span.text {
display: block;
position: absolute;
left: 2.5em;
top: 0.6em;
width: 10em;
font-family: apple_garamondregular, "Garamond", "Times New Roman", Times, serif;
font-size: 0.333em;
color: #555555;
line-height: 0.8em; }
.mac .floppy {
height: 0.2em;
width: 2.8em;
-webkit-transform: translate3d(4.8em, 8.9em, 0);
-moz-transform: translate3d(4.8em, 8.9em, 0);
-ms-transform: translate3d(4.8em, 8.9em, 0);
-o-transform: translate3d(4.8em, 8.9em, 0);
transform: translate3d(4.8em, 8.9em, 0);
background: #555555;
border-top: 0.1em solid #cccccc;
border-right: 0.3em solid #e6e6e6;
border-bottom: 0.1em solid #f2f2f2;
border-left: 0.3em solid #e6e6e6;
border-radius: 0.25em; }
.mac .shadow {
width: 10em;
height: 11em;
background: transparent;
-webkit-transform: rotateX(90deg) translateZ(-7.4em) translateX(20em);
-moz-transform: rotateX(90deg) translateZ(-7.4em) translateX(20em);
-ms-transform: rotateX(90deg) translateZ(-7.4em) translateX(20em);
-o-transform: rotateX(90deg) translateZ(-7.4em) translateX(20em);
transform: rotateX(90deg) translateZ(-7.4em) translateX(20em);
-webkit-box-shadow: -20.2em 0 1.8em rgba(100, 90, 100, 0.4);
-moz-box-shadow: -20.2em 0 1.8em rgba(100, 90, 100, 0.4);
box-shadow: -20.2em 0 1.8em rgba(100, 90, 100, 0.4); }
@-moz-keyframes back-and-forth {
0% {
-moz-transform: rotateY(40deg);
transform: rotateY(40deg); }
40%, 50% {
-moz-transform: rotateY(-40deg);
transform: rotateY(-40deg); }
90%, 100% {
-moz-transform: rotateY(40deg);
transform: rotateY(40deg); } }
@-webkit-keyframes back-and-forth {
0% {
-webkit-transform: rotateY(40deg);
transform: rotateY(40deg); }
40%, 50% {
-webkit-transform: rotateY(-40deg);
transform: rotateY(-40deg); }
90%, 100% {
-webkit-transform: rotateY(40deg);
transform: rotateY(40deg); } }
@-o-keyframes back-and-forth {
0% {
-o-transform: rotateY(40deg);
transform: rotateY(40deg); }
40%, 50% {
-o-transform: rotateY(-40deg);
transform: rotateY(-40deg); }
90%, 100% {
-o-transform: rotateY(40deg);
transform: rotateY(40deg); } }
@-ms-keyframes back-and-forth {
0% {
-ms-transform: rotateY(40deg);
transform: rotateY(40deg); }
40%, 50% {
-ms-transform: rotateY(-40deg);
transform: rotateY(-40deg); }
90%, 100% {
-ms-transform: rotateY(40deg);
transform: rotateY(40deg); } }
@keyframes back-and-forth {
0% {
-webkit-transform: rotateY(40deg);
-moz-transform: rotateY(40deg);
-ms-transform: rotateY(40deg);
-o-transform: rotateY(40deg);
transform: rotateY(40deg); }
40%, 50% {
-webkit-transform: rotateY(-40deg);
-moz-transform: rotateY(-40deg);
-ms-transform: rotateY(-40deg);
-o-transform: rotateY(-40deg);
transform: rotateY(-40deg); }
90%, 100% {
-webkit-transform: rotateY(40deg);
-moz-transform: rotateY(40deg);
-ms-transform: rotateY(40deg);
-o-transform: rotateY(40deg);
transform: rotateY(40deg); } }
@font-face {
font-family: "apple_garamondregular";
src: url("http://hop.ie/mac/fonts/apple_garamond-webfont.eot");
src: url("http://hop.ie/mac/fonts/apple_garamond-webfont.eot?#iefix") format("embedded-opentype"), url("http://hop.ie/mac/fonts/apple_garamond-webfont.woff") format("woff"), url("http://hop.ie/mac/fonts/apple_garamond-webfont.ttf") format("truetype"), url("http://hop.ie/mac/fonts/apple_garamond-webfont.svg#apple_garamondregular") format("svg");
font-weight: normal;
font-style: normal; }