html {
font-size: 2.9vmin;
}
body {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
height: 100vh;
overflow: hidden;
background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #19b6ff), color-stop(50%, #222), color-stop(#222), to(#ccc));
background: linear-gradient(to bottom, #19b6ff 50%, #222 50%, #222 calc(50% + 0.25rem), #ccc calc(50% + 0.25rem));
-webkit-perspective: 3rem;
perspective: 3rem;
}
body * {
box-sizing: border-box;
}
body #sidewalk {
position: absolute;
width: 400vw;
height: 100vh;
top: calc(50% + 0.25rem);
background: repeating-linear-gradient(to right, #222, #222 0.15rem, transparent 0.15rem, transparent 10rem);
z-index: 0;
left: -100%;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform: translateX(0) rotateX(10deg);
transform: translateX(0) rotateX(10deg);
-webkit-transform-origin: top;
transform-origin: top;
-webkit-animation: sidewalk 0.5s linear infinite;
animation: sidewalk 0.5s linear infinite;
}
@-webkit-keyframes sidewalk {
to {
-webkit-transform: translateX(10rem) rotateX(10deg);
transform: translateX(10rem) rotateX(10deg);
}
}
@keyframes sidewalk {
to {
-webkit-transform: translateX(10rem) rotateX(10deg);
transform: translateX(10rem) rotateX(10deg);
}
}
body #sidewalk:before {
content: '';
position: absolute;
width: 100%;
height: 10%;
top: calc(-10% - 0.25rem);
left: 0;
-webkit-transform: rotateX(-10deg);
transform: rotateX(-10deg);
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
background: -webkit-gradient(linear, left top, left bottom, from(#222), color-stop(0.15rem, #222), color-stop(0.15rem, #60d54a));
background: linear-gradient(to bottom, #222, #222 0.15rem, #60d54a 0.15rem);
}
body .wrap {
width: 10rem;
height: 10rem;
z-index: 2;
position: absolute;
}
body .wrap:nth-of-type(2) {
top: calc(50% + 10rem);
-webkit-transform: scaleY(-1) skewX(-40deg) translateX(5rem);
transform: scaleY(-1) skewX(-40deg) translateX(5rem);
-webkit-filter: brightness(0) blur(3px);
filter: brightness(0) blur(3px);
opacity: 0.05;
}
body .wrap:nth-of-type(2) .roll {
-webkit-animation: charge3 2s ease-in-out infinite alternate, charge4 1s ease-in-out infinite alternate;
animation: charge3 2s ease-in-out infinite alternate, charge4 1s ease-in-out infinite alternate;
}
@-webkit-keyframes charge3 {
to {
-webkit-transform: translateX(-3rem) scale(0.9) skewX(5deg) scaleY(1.2);
transform: translateX(-3rem) scale(0.9) skewX(5deg) scaleY(1.2);
}
}
@keyframes charge3 {
to {
-webkit-transform: translateX(-3rem) scale(0.9) skewX(5deg) scaleY(1.2);
transform: translateX(-3rem) scale(0.9) skewX(5deg) scaleY(1.2);
}
}
@-webkit-keyframes charge4 {
to {
left: calc(50% - 10rem);
top: calc(50% - 6.5rem);
}
}
@keyframes charge4 {
to {
left: calc(50% - 10rem);
top: calc(50% - 6.5rem);
}
}
body .wrap .roll {
width: 7rem;
height: 7rem;
top: calc(50% - 3.5rem);
position: absolute;
left: calc(50% - 5rem);
-webkit-animation: charge 2s ease-in-out infinite alternate, charge2 1s ease-in-out infinite alternate;
animation: charge 2s ease-in-out infinite alternate, charge2 1s ease-in-out infinite alternate;
}
@-webkit-keyframes charge {
to {
-webkit-transform: translateX(-3rem) scale(0.9) skewX(5deg);
transform: translateX(-3rem) scale(0.9) skewX(5deg);
}
}
@keyframes charge {
to {
-webkit-transform: translateX(-3rem) scale(0.9) skewX(5deg);
transform: translateX(-3rem) scale(0.9) skewX(5deg);
}
}
@-webkit-keyframes charge2 {
to {
left: calc(50% - 10rem);
top: calc(50% - 0.5rem);
}
}
@keyframes charge2 {
to {
left: calc(50% - 10rem);
top: calc(50% - 0.5rem);
}
}
body .wrap .roll .body {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
box-shadow: -0.25rem 0 0 0 #222, 0.25rem 0 0 #fff;
background: #fff;
-webkit-animation: bounce 0.125s ease-in-out infinite alternate;
animation: bounce 0.125s ease-in-out infinite alternate;
}
@-webkit-keyframes bounce {
from {
-webkit-transform: rotate(-2.5deg) translateY(0rem);
transform: rotate(-2.5deg) translateY(0rem);
}
to {
-webkit-transform: rotate(2.5deg) translateY(0.25rem);
transform: rotate(2.5deg) translateY(0.25rem);
}
}
@keyframes bounce {
from {
-webkit-transform: rotate(-2.5deg) translateY(0rem);
transform: rotate(-2.5deg) translateY(0rem);
}
to {
-webkit-transform: rotate(2.5deg) translateY(0.25rem);
transform: rotate(2.5deg) translateY(0.25rem);
}
}
body .wrap .roll .body:before, body .wrap .roll .body:after {
content: '';
height: 4rem;
width: 7rem;
border-radius: 350rem / 200rem;
position: absolute;
box-shadow: 0 0 0 0.25rem #222;
left: 0;
top: -2rem;
}
body .wrap .roll .body:before {
background: radial-gradient(ellipse at center, #222 1rem, #fff 1rem);
}
body .wrap .roll .body:after {
border: 0.25rem solid #222;
border-color: transparent #222 #222 #222;
box-shadow: none;
left: -0.25rem;
bottom: -2rem;
top: auto;
background: #fff;
z-index: 9;
-webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #000));
-webkit-mask: linear-gradient(to bottom, transparent 50%, #000 50%);
mask: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #000));
mask: linear-gradient(to bottom, transparent 50%, #000 50%);
}
body .wrap .roll .leg {
position: absolute;
width: 0.5rem;
height: 0.5rem;
bottom: -1.5rem;
border-radius: 100%;
left: 1.5rem;
z-index: -1;
-webkit-transform: scaleX(-1) rotate(0deg);
transform: scaleX(-1) rotate(0deg);
-webkit-animation: run2 0.25s linear infinite alternate;
animation: run2 0.25s linear infinite alternate;
}
body .wrap .roll .leg:last-of-type {
-webkit-animation-delay: -0.125s;
animation-delay: -0.125s;
left: 4rem;
bottom: -2.25rem;
}
body .wrap .roll .leg:last-of-type .inner {
-webkit-animation-delay: -0.125s;
animation-delay: -0.125s;
}
body .wrap .roll .leg:last-of-type .inner .segment:last-of-type:before {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(1) {
-webkit-animation-delay: -0.1277777778s;
animation-delay: -0.1277777778s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(2) {
-webkit-animation-delay: -0.1305555556s;
animation-delay: -0.1305555556s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(3) {
-webkit-animation-delay: -0.1333333333s;
animation-delay: -0.1333333333s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(4) {
-webkit-animation-delay: -0.1361111111s;
animation-delay: -0.1361111111s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(5) {
-webkit-animation-delay: -0.1388888889s;
animation-delay: -0.1388888889s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(6) {
-webkit-animation-delay: -0.1416666667s;
animation-delay: -0.1416666667s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(7) {
-webkit-animation-delay: -0.1444444444s;
animation-delay: -0.1444444444s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(8) {
-webkit-animation-delay: -0.1472222222s;
animation-delay: -0.1472222222s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(9) {
-webkit-animation-delay: -0.15s;
animation-delay: -0.15s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(10) {
-webkit-animation-delay: -0.1527777778s;
animation-delay: -0.1527777778s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(11) {
-webkit-animation-delay: -0.1555555556s;
animation-delay: -0.1555555556s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(12) {
-webkit-animation-delay: -0.1583333333s;
animation-delay: -0.1583333333s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(13) {
-webkit-animation-delay: -0.1611111111s;
animation-delay: -0.1611111111s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(14) {
-webkit-animation-delay: -0.1638888889s;
animation-delay: -0.1638888889s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(15) {
-webkit-animation-delay: -0.1666666667s;
animation-delay: -0.1666666667s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(16) {
-webkit-animation-delay: -0.1694444444s;
animation-delay: -0.1694444444s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(17) {
-webkit-animation-delay: -0.1722222222s;
animation-delay: -0.1722222222s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(18) {
-webkit-animation-delay: -0.175s;
animation-delay: -0.175s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(19) {
-webkit-animation-delay: -0.1777777778s;
animation-delay: -0.1777777778s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(20) {
-webkit-animation-delay: -0.1805555556s;
animation-delay: -0.1805555556s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(21) {
-webkit-animation-delay: -0.1833333333s;
animation-delay: -0.1833333333s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(22) {
-webkit-animation-delay: -0.1861111111s;
animation-delay: -0.1861111111s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(23) {
-webkit-animation-delay: -0.1888888889s;
animation-delay: -0.1888888889s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(24) {
-webkit-animation-delay: -0.1916666667s;
animation-delay: -0.1916666667s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(25) {
-webkit-animation-delay: -0.1944444444s;
animation-delay: -0.1944444444s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(26) {
-webkit-animation-delay: -0.1972222222s;
animation-delay: -0.1972222222s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(27) {
-webkit-animation-delay: -0.2s;
animation-delay: -0.2s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(28) {
-webkit-animation-delay: -0.2027777778s;
animation-delay: -0.2027777778s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(29) {
-webkit-animation-delay: -0.2055555556s;
animation-delay: -0.2055555556s;
}
body .wrap .roll .leg:last-of-type .inner .segment:nth-of-type(30) {
-webkit-animation-delay: -0.2083333333s;
animation-delay: -0.2083333333s;
}
@-webkit-keyframes run2 {
to {
-webkit-transform: scaleX(-1) rotate(60deg);
transform: scaleX(-1) rotate(60deg);
}
}
@keyframes run2 {
to {
-webkit-transform: scaleX(-1) rotate(60deg);
transform: scaleX(-1) rotate(60deg);
}
}
body .wrap .roll .leg .inner {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
-webkit-animation: run3 0.25s linear infinite alternate;
animation: run3 0.25s linear infinite alternate;
-webkit-transform-origin: top;
transform-origin: top;
-webkit-transform: rotate(-40deg);
transform: rotate(-40deg);
}
@-webkit-keyframes run3 {
to {
-webkit-transform: translateX(-0.5rem) translateY(-0.5rem) rotate(50deg);
transform: translateX(-0.5rem) translateY(-0.5rem) rotate(50deg);
}
}
@keyframes run3 {
to {
-webkit-transform: translateX(-0.5rem) translateY(-0.5rem) rotate(50deg);
transform: translateX(-0.5rem) translateY(-0.5rem) rotate(50deg);
}
}
body .wrap .roll .leg .segment {
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
left: 0;
background: #222;
-webkit-animation: run 0.25s linear infinite alternate;
animation: run 0.25s linear infinite alternate;
}
body .wrap .roll .leg .segment:last-of-type:before {
content: '';
position: absolute;
width: 250%;
height: 100%;
border-radius: 800rem;
left: 0;
bottom: 0;
background: #222;
-webkit-transform-origin: left;
transform-origin: left;
}
body .wrap .roll .leg .segment:nth-of-type(1) {
-webkit-transform-origin: 0.0833333333rem -0.25rem;
transform-origin: 0.0833333333rem -0.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(2) {
-webkit-transform-origin: 0.1666666667rem -0.5rem;
transform-origin: 0.1666666667rem -0.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(3) {
-webkit-transform-origin: 0.25rem -0.75rem;
transform-origin: 0.25rem -0.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(4) {
-webkit-transform-origin: 0.3333333333rem -1rem;
transform-origin: 0.3333333333rem -1rem;
}
body .wrap .roll .leg .segment:nth-of-type(5) {
-webkit-transform-origin: 0.4166666667rem -1.25rem;
transform-origin: 0.4166666667rem -1.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(6) {
-webkit-transform-origin: 0.5rem -1.5rem;
transform-origin: 0.5rem -1.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(7) {
-webkit-transform-origin: 0.5833333333rem -1.75rem;
transform-origin: 0.5833333333rem -1.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(8) {
-webkit-transform-origin: 0.6666666667rem -2rem;
transform-origin: 0.6666666667rem -2rem;
}
body .wrap .roll .leg .segment:nth-of-type(9) {
-webkit-transform-origin: 0.75rem -2.25rem;
transform-origin: 0.75rem -2.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(10) {
-webkit-transform-origin: 0.8333333333rem -2.5rem;
transform-origin: 0.8333333333rem -2.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(11) {
-webkit-transform-origin: 0.9166666667rem -2.75rem;
transform-origin: 0.9166666667rem -2.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(12) {
-webkit-transform-origin: 1rem -3rem;
transform-origin: 1rem -3rem;
}
body .wrap .roll .leg .segment:nth-of-type(13) {
-webkit-transform-origin: 1.0833333333rem -3.25rem;
transform-origin: 1.0833333333rem -3.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(14) {
-webkit-transform-origin: 1.1666666667rem -3.5rem;
transform-origin: 1.1666666667rem -3.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(15) {
-webkit-transform-origin: 1.25rem -3.75rem;
transform-origin: 1.25rem -3.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(16) {
-webkit-transform-origin: 1.3333333333rem -4rem;
transform-origin: 1.3333333333rem -4rem;
}
body .wrap .roll .leg .segment:nth-of-type(17) {
-webkit-transform-origin: 1.4166666667rem -4.25rem;
transform-origin: 1.4166666667rem -4.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(18) {
-webkit-transform-origin: 1.5rem -4.5rem;
transform-origin: 1.5rem -4.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(19) {
-webkit-transform-origin: 1.5833333333rem -4.75rem;
transform-origin: 1.5833333333rem -4.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(20) {
-webkit-transform-origin: 1.6666666667rem -5rem;
transform-origin: 1.6666666667rem -5rem;
}
body .wrap .roll .leg .segment:nth-of-type(21) {
-webkit-transform-origin: 1.75rem -5.25rem;
transform-origin: 1.75rem -5.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(22) {
-webkit-transform-origin: 1.8333333333rem -5.5rem;
transform-origin: 1.8333333333rem -5.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(23) {
-webkit-transform-origin: 1.9166666667rem -5.75rem;
transform-origin: 1.9166666667rem -5.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(24) {
-webkit-transform-origin: 2rem -6rem;
transform-origin: 2rem -6rem;
}
body .wrap .roll .leg .segment:nth-of-type(25) {
-webkit-transform-origin: 2.0833333333rem -6.25rem;
transform-origin: 2.0833333333rem -6.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(26) {
-webkit-transform-origin: 2.1666666667rem -6.5rem;
transform-origin: 2.1666666667rem -6.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(27) {
-webkit-transform-origin: 2.25rem -6.75rem;
transform-origin: 2.25rem -6.75rem;
}
body .wrap .roll .leg .segment:nth-of-type(28) {
-webkit-transform-origin: 2.3333333333rem -7rem;
transform-origin: 2.3333333333rem -7rem;
}
body .wrap .roll .leg .segment:nth-of-type(29) {
-webkit-transform-origin: 2.4166666667rem -7.25rem;
transform-origin: 2.4166666667rem -7.25rem;
}
body .wrap .roll .leg .segment:nth-of-type(30) {
-webkit-transform-origin: 2.5rem -7.5rem;
transform-origin: 2.5rem -7.5rem;
}
body .wrap .roll .leg .segment:nth-of-type(1) {
top: 0rem;
-webkit-animation-delay: -0.0027777778s;
animation-delay: -0.0027777778s;
}
body .wrap .roll .leg .segment:nth-of-type(2) {
top: 0.05rem;
-webkit-animation-delay: -0.0055555556s;
animation-delay: -0.0055555556s;
}
body .wrap .roll .leg .segment:nth-of-type(3) {
top: 0.1rem;
-webkit-animation-delay: -0.0083333333s;
animation-delay: -0.0083333333s;
}
body .wrap .roll .leg .segment:nth-of-type(4) {
top: 0.15rem;
-webkit-animation-delay: -0.0111111111s;
animation-delay: -0.0111111111s;
}
body .wrap .roll .leg .segment:nth-of-type(5) {
top: 0.2rem;
-webkit-animation-delay: -0.0138888889s;
animation-delay: -0.0138888889s;
}
body .wrap .roll .leg .segment:nth-of-type(6) {
top: 0.25rem;
-webkit-animation-delay: -0.0166666667s;
animation-delay: -0.0166666667s;
}
body .wrap .roll .leg .segment:nth-of-type(7) {
top: 0.3rem;
-webkit-animation-delay: -0.0194444444s;
animation-delay: -0.0194444444s;
}
body .wrap .roll .leg .segment:nth-of-type(8) {
top: 0.35rem;
-webkit-animation-delay: -0.0222222222s;
animation-delay: -0.0222222222s;
}
body .wrap .roll .leg .segment:nth-of-type(9) {
top: 0.4rem;
-webkit-animation-delay: -0.025s;
animation-delay: -0.025s;
}
body .wrap .roll .leg .segment:nth-of-type(10) {
top: 0.45rem;
-webkit-animation-delay: -0.0277777778s;
animation-delay: -0.0277777778s;
}
body .wrap .roll .leg .segment:nth-of-type(11) {
top: 0.5rem;
-webkit-animation-delay: -0.0305555556s;
animation-delay: -0.0305555556s;
}
body .wrap .roll .leg .segment:nth-of-type(12) {
top: 0.55rem;
-webkit-animation-delay: -0.0333333333s;
animation-delay: -0.0333333333s;
}
body .wrap .roll .leg .segment:nth-of-type(13) {
top: 0.6rem;
-webkit-animation-delay: -0.0361111111s;
animation-delay: -0.0361111111s;
}
body .wrap .roll .leg .segment:nth-of-type(14) {
top: 0.65rem;
-webkit-animation-delay: -0.0388888889s;
animation-delay: -0.0388888889s;
}
body .wrap .roll .leg .segment:nth-of-type(15) {
top: 0.7rem;
-webkit-animation-delay: -0.0416666667s;
animation-delay: -0.0416666667s;
}
body .wrap .roll .leg .segment:nth-of-type(16) {
top: 0.75rem;
-webkit-animation-delay: -0.0444444444s;
animation-delay: -0.0444444444s;
}
body .wrap .roll .leg .segment:nth-of-type(17) {
top: 0.8rem;
-webkit-animation-delay: -0.0472222222s;
animation-delay: -0.0472222222s;
}
body .wrap .roll .leg .segment:nth-of-type(18) {
top: 0.85rem;
-webkit-animation-delay: -0.05s;
animation-delay: -0.05s;
}
body .wrap .roll .leg .segment:nth-of-type(19) {
top: 0.9rem;
-webkit-animation-delay: -0.0527777778s;
animation-delay: -0.0527777778s;
}
body .wrap .roll .leg .segment:nth-of-type(20) {
top: 0.95rem;
-webkit-animation-delay: -0.0555555556s;
animation-delay: -0.0555555556s;
}
body .wrap .roll .leg .segment:nth-of-type(21) {
top: 1rem;
-webkit-animation-delay: -0.0583333333s;
animation-delay: -0.0583333333s;
}
body .wrap .roll .leg .segment:nth-of-type(22) {
top: 1.05rem;
-webkit-animation-delay: -0.0611111111s;
animation-delay: -0.0611111111s;
}
body .wrap .roll .leg .segment:nth-of-type(23) {
top: 1.1rem;
-webkit-animation-delay: -0.0638888889s;
animation-delay: -0.0638888889s;
}
body .wrap .roll .leg .segment:nth-of-type(24) {
top: 1.15rem;
-webkit-animation-delay: -0.0666666667s;
animation-delay: -0.0666666667s;
}
body .wrap .roll .leg .segment:nth-of-type(25) {
top: 1.2rem;
-webkit-animation-delay: -0.0694444444s;
animation-delay: -0.0694444444s;
}
body .wrap .roll .leg .segment:nth-of-type(26) {
top: 1.25rem;
-webkit-animation-delay: -0.0722222222s;
animation-delay: -0.0722222222s;
}
body .wrap .roll .leg .segment:nth-of-type(27) {
top: 1.3rem;
-webkit-animation-delay: -0.075s;
animation-delay: -0.075s;
}
body .wrap .roll .leg .segment:nth-of-type(28) {
top: 1.35rem;
-webkit-animation-delay: -0.0777777778s;
animation-delay: -0.0777777778s;
}
body .wrap .roll .leg .segment:nth-of-type(29) {
top: 1.4rem;
-webkit-animation-delay: -0.0805555556s;
animation-delay: -0.0805555556s;
}
body .wrap .roll .leg .segment:nth-of-type(30) {
top: 1.45rem;
-webkit-animation-delay: -0.0833333333s;
animation-delay: -0.0833333333s;
}
@-webkit-keyframes run {
to {
-webkit-transform: rotate(-20deg);
transform: rotate(-20deg);
}
}
@keyframes run {
to {
-webkit-transform: rotate(-20deg);
transform: rotate(-20deg);
}
}
body .wrap .roll .paper {
position: absolute;
height: 7.25rem;
width: 18rem;
left: calc(100% + 0.125rem);
top: 0rem;
overflow: hidden;
background: -webkit-gradient(linear, right top, left top, color-stop(0.3rem, #222), color-stop(0.3rem, transparent)) 100% calc(50% - 0.15rem)/100% 6.6rem no-repeat, repeating-linear-gradient(to bottom, transparent, transparent 0.75rem, #fff 0.75rem, #fff 1rem, transparent 1rem), repeating-linear-gradient(to right, #222, #222 0.25rem, transparent 0.25rem, transparent 6rem) 50% 50%/100% 5rem repeat-x, -webkit-gradient(linear, left top, left bottom, color-stop(5%, transparent), color-stop(5%, #fff), color-stop(95%, #fff), color-stop(95%, transparent)) 50% 50%/100% no-repeat;
background: linear-gradient(to left, #222 0.3rem, transparent 0.3rem) 100% calc(50% - 0.15rem)/100% 6.6rem no-repeat, repeating-linear-gradient(to bottom, transparent, transparent 0.75rem, #fff 0.75rem, #fff 1rem, transparent 1rem), repeating-linear-gradient(to right, #222, #222 0.25rem, transparent 0.25rem, transparent 6rem) 50% 50%/100% 5rem repeat-x, linear-gradient(to bottom, transparent 5%, #fff 5%, #fff 95%, transparent 95%) 50% 50%/100% no-repeat;
background-position: 100%, calc(50% - 0.1rem), 50% 50%, 0rem 50%, 50% 50%;
-webkit-animation: sheets 3s linear infinite, bounce2 0.125s ease-in-out infinite alternate;
animation: sheets 3s linear infinite, bounce2 0.125s ease-in-out infinite alternate;
}
@-webkit-keyframes bounce2 {
from {
-webkit-transform: rotate(2.5deg) translateY(0.25rem);
transform: rotate(2.5deg) translateY(0.25rem);
}
to {
-webkit-transform: rotate(-2.5deg) translateY(-0.25rem);
transform: rotate(-2.5deg) translateY(-0.25rem);
}
}
@keyframes bounce2 {
from {
-webkit-transform: rotate(2.5deg) translateY(0.25rem);
transform: rotate(2.5deg) translateY(0.25rem);
}
to {
-webkit-transform: rotate(-2.5deg) translateY(-0.25rem);
transform: rotate(-2.5deg) translateY(-0.25rem);
}
}
@-webkit-keyframes sheets {
to {
background-position: 100% calc(50% - 0.1rem), 50% 50%, 42rem 50%, 50% 50%;
}
}
@keyframes sheets {
to {
background-position: 100% calc(50% - 0.1rem), 50% 50%, 42rem 50%, 50% 50%;
}
}
body .wrap .roll .paper:before, body .wrap .roll .paper:after {
content: '____________________________________';
color: transparent;
text-decoration: underline;
-webkit-text-decoration-style: wavy;
text-decoration-style: wavy;
-webkit-text-decoration-color: #222;
text-decoration-color: #222;
font-size: 2rem;
line-height: 2;
-webkit-transform: scaleX(3) translateY(0);
transform: scaleX(3) translateY(0);
display: inline-block;
font-weight: 100;
top: -2.8rem;
position: absolute;
right: 0;
-webkit-animation: flap 1s linear infinite;
animation: flap 1s linear infinite;
}
@-webkit-keyframes flap {
to {
-webkit-transform: scaleX(3) translateX(4.5rem);
transform: scaleX(3) translateX(4.5rem);
}
}
@keyframes flap {
to {
-webkit-transform: scaleX(3) translateX(4.5rem);
transform: scaleX(3) translateX(4.5rem);
}
}
body .wrap .roll .paper:after {
top: auto;
bottom: -0.5rem;
}
body .wrap .roll .face {
width: 0.75rem;
height: 0.75rem;
border-radius: 500rem;
position: absolute;
z-index: 10;
top: 5rem;
left: 0.5rem;
}
body .wrap .roll .face .eye {
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
background: #222;
left: 0;
top: 0;
}
body .wrap .roll .face .eye:before {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: inherit;
border-radius: 100%;
left: 2.5rem;
}
body .wrap .roll .face .mouth {
position: absolute;
width: 1.25rem;
height: 0.75rem;
background: #222;
border-radius: 0.25rem 0.25rem 20rem 20rem;
top: 1.5rem;
left: 1rem;
}