<div class="wrapper">
<div class="grid">
<!-- SOFTWARE DEVELOPMENT -->
<div class="grid--cell">
<div class="animation-wrapper animation-wrapper--software-bg">
<div class="absolute software-monitor">
<!-- Monitor hardware + screen chrome/UI -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute software-screen software-screen--bg">
<!-- Monitor feet -->
<g fill="#333">
<circle cx="80" cy="152" r="4" />
<circle cx="220" cy="152" r="4" />
</g>
<!-- Browser chrome BG -->
<path fill="#A6A6A6" d="M60 149.5c-1.38 0-2.5-1.12-2.5-2.5V19c0-1.38 1.12-2.5 2.5-2.5h180c1.38 0 2.5 1.12 2.5 2.5v128c0 1.38-1.12 2.5-2.5 2.5H60z" />
<!-- Monitor Bezel -->
<path fill="#333" d="M240 19v128H60V19h180m0-5H60c-2.76 0-5 2.24-5 5v128c0 2.76 2.24 5 5 5h180c2.76 0 5-2.24 5-5V19c0-2.76-2.24-5-5-5z" />
<!-- Browser page BG -->
<path fill="#E5E5E5" d="M60 26h180v116H60z" />
<!-- Sidebar BG -->
<path fill="#D1D1D1" d="M80 26h30v116H80z" />
<!-- Browser buttons -->
<path fill="#191919" d="M218 20h5v5h-5zm7.5 0h5v5h-5z" />
<!-- Line numbers -->
<path fill="#D60000" d="M233 20h5v5h-5zM96.02 26.33h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.47h-1.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h1.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zm0 7.33h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zm0 7.27h-1.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h1.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zm0 7.53h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zm0 7.27h-1.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h1.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zm0 7.53h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm0 7.4h-1.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h1.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84z"
/>
</svg>
<!-- Monitor screen mask - Height is animated for R "code reveal" -->
<div class="absolute software-screen software-screen--fg-mask">
<!-- Monitor screen R graphic - Translates upwards for R "code scroll" -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute software-screen software-screen--fg">
<path fill="#D60000" d="M130.02 33.73h-3.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h3.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm18 0h-10.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h10.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM170.02 41.13h-21.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h21.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm-29 7.4h-14.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h14.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM177.02 56h-6.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h6.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zm1 7.33h-28.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h28.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm-24 7.4h-13.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h13.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zM176.02 78h-9.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h9.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zm-32 7.53h-17.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h17.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM169.02 92.93h-29.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h29.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM157.02 100.33h-2.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h2.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm-16 7.4h-2.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h2.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zM168.02 115h-25.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h25.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zM159.02 129.93h-6.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h6.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm19 0h-11.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h11.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84z"
/>
<path fill="#bbb" d="M161.02 33.73h-5.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h5.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm-20 7.4h-10.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h10.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM159.02 48.53h-10.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h10.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM159.02 78h-14.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h14.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zM132.02 92.93h-5.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h5.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM162.02 107.73h-13.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h13.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zM163.02 122.53h-15.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h15.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84z"
/>
<path fill="#888" d="M175.02 48.53h-8.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h8.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zm-12 7.47h-22.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h22.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zM178.02 70.73h-16.85c-1.02 0-1.84.83-1.84 1.84 0 1 .82 1.83 1.84 1.83h16.85c1.02 0 1.84-.82 1.84-1.83 0-1-.82-1.84-1.84-1.84zm-41 7.27h-10.85c-1.02 0-1.84.82-1.84 1.83 0 1.02.82 1.84 1.84 1.84h10.85c1.02 0 1.84-.82 1.84-1.84 0-1-.82-1.83-1.84-1.83zM175.02 85.53h-22.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h22.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM146.02 100.33h-11.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h11.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84zM173.02 122.53h-2.85c-1.02 0-1.84.82-1.84 1.84 0 1 .82 1.83 1.84 1.83h2.85c1.02 0 1.84-.82 1.84-1.83 0-1.02-.82-1.84-1.84-1.84z"
/>
</svg>
</div>
<!-- Monitor screen shine overlay -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute software-screen software-screen--shine">
<linearGradient id="a" x1="195" x2="41" y1="-26" y2="128" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".75" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<linearGradient id="b" x1="244.5" x2="138.5" y1="45.5" y2="151.5" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".55" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<path fill="url(#a)" d="M240 19H60v128h52" />
<path fill="url(#b)" d="M240 59V41L134 147h18" />
</svg>
</div>
<!-- Keyboard -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute software-keyboard">
<path fill="#E0E0E0" d="M70 166h160v58H70z" />
<g fill="#FFF">
<path d="M73 169h11v7H73zm13 0h11v7H86zm26 0h11v7h-11zm-13 0h11v7H99zm26 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm-98 9h11v7H92zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h18v7h-18zm-123 9h11v7H86zm13 0h11v7H99zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm-96 9h11v7H94zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm-99 9h11v7H99zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h11v7h-11zm13 0h24v7h-24zm-13 9h16v7h-16zm18 0h19v7h-19zm-5-27h11v7h-11zm0-18h11v7h-11zm13 0h11v7h-11zm-143 9h17v7H73zm0 9h11v7H73zm0 9h19v7H73zm0 9h24v7H73zm0 9h19v7H73zm21 0h16v7H94zm18 0h76v7h-76zM216 187v9h-5v7h16v-16"
/>
</g>
</svg>
<!-- Left & right hands - Have to be done with DIV BG's as we need to animate the BG position for switching sprites -->
<div class="absolute software-hand software-hand--left"></div>
<div class="absolute software-hand software-hand--right"></div>
</div>
<h1 class="title title--software">Software Development</h1>
</div>
<!-- WEBSITE DEVELOPMENT -->
<div class="grid--cell">
<div class="animation-wrapper animation-wrapper--website-bg">
<!-- Desktop screen -->
<div class="absolute web-hardware web-hardware--desktop">
<!-- Animated DIV BG for simple scrolling through site GFX -->
<div class="web-screen web-screen--website-desktop">
<div class="screen-shine"></div>
</div>
</div>
<!-- Mobile screen -->
<div class="absolute web-hardware web-hardware--mobile">
<!-- Animated DIV BG for simple scrolling through site GFX -->
<div class="web-screen web-screen--website-mobile">
<div class="screen-shine"></div>
</div>
</div>
</div>
<h1 class="title title--webdev">Website Development</h1>
</div>
<!-- WEBAPP DEVELOPMENT -->
<div class="grid--cell">
<div class="animation-wrapper animation-wrapper--webapp-bg">
<!-- Desktop screen -->
<div class="absolute web-hardware web-hardware--desktop">
<!-- Animated DIV BG for simple scrolling through site GFX -->
<div class="web-screen web-screen--webapp-desktop">
<!-- Screen shine set to DIV BG because background-size: cover is magical -->
<div class="screen-shine"></div>
</div>
</div>
<!-- Mobile screen -->
<div class="absolute web-hardware web-hardware--mobile">
<!-- Animated DIV BG for simple scrolling through site GFX -->
<div class="web-screen web-screen--webapp-mobile">
<!-- Screen shine set to DIV BG because background-size: cover is magical -->
<div class="screen-shine"></div>
</div>
</div>
</div>
<h1 class="title title--webapp">Webapp Development</h1>
</div>
<!-- WINDOWS DESKTOP APPLICATIONS -->
<div class="grid--cell">
<div class="animation-wrapper animation-wrapper--win-app-bg">
<!-- Monitor and desktop chrome -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop">
<!-- Desktop colour -->
<path fill="#FCC000" d="M30 240c-2.76 0-5-2.24-5-5V65c0-2.76 2.24-5 5-5h240c2.76 0 5 2.24 5 5v170c0 2.76-2.24 5-5 5H30z" />
<!-- Device -->
<g fill="#333">
<circle cx="60" cy="245" r="10" />
<circle cx="240" cy="245" r="10" />
<path d="M270 65v170H30V65h240m0-10H30c-5.52 0-10 4.48-10 10v170c0 5.52 4.48 10 10 10h240c5.52 0 10-4.48 10-10V65c0-5.52-4.48-10-10-10z" />
</g>
<!-- Taskbar -->
<path fill="#E48109" d="M30 224h240v11H30z" />
<!-- Taskbar inactive buttons and systray -->
<path fill="#ED9E48" d="M91 226h40v7H91zm45 0h40v7h-40zm112 1h20v5h-20z" />
<!-- Desktop inactive shortcuts -->
<path fill="#F4D387" d="M40 105h20v20H40zm0 30h20v20H40zm0 30h20v20H40z" />
<g fill="#FFF">
<!-- Windows button -->
<path d="M32 226h3v3h-3zm0 4h3v3h-3zm4-4h3v3h-3zM36 230h3v3h-3z" />
<!-- Desktop wallpaper graphic -->
<path d="M210 142V85l-62 8.9V142m0 6v48.08l62 8.92v-57m-72-6V94.94l-48 7.2V142m0 6v39.86l48 7.2V148" opacity=".15" />
</g>
</svg>
<!-- App shortcuts -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop">
<!-- Desktop shortcut -->
<path fill="#F4D387" d="M40 75h20v20H40z" class="win-desktop--shortcut-icon-01" />
<!-- Taskbar shortcut button -->
<path fill="#ED9E48" d="M46 226h40v7H46z" class="win-desktop--shortcut-icon-02" />
</svg>
<!-- App window -->
<div class="win-desktop--window">
<!-- App chrome -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop win-desktop--app-window">
<path fill="#E48109" d="M50 72h200v143H50z" />
<path fill="#FFF" d="M50 91h200v117H50z" />
<path fill="#E5E5E5" d="M50 91h40v117H50z" />
<path fill="#CCC" d="M55 106.5h30v4H55zm0 10h30v4H55zm0 10h30v4H55zm0 10h30v4H55zm0 10h30v4H55zm0 10h30v4H55zm0 10h30v4H55zM50 81h200v10H50z" />
<path fill="#7F4506" d="M52 75h86v4H52z" />
<path fill="#7F4506" d="M232 73h7v7h-7zm-10 0h7v7h-7z" />
<!-- Close X button -->
<path d="M242 73h7v7h-7z" class="win-desktop--app-window--close-button" />
<!-- Sidebar link -->
<path fill="#CCC" d="M55 96.5h30v4H55z" class="win-desktop--app-link" />
<!-- In-app screen -->
<g fill="#E5E5E5" class="win-desktop-chrome">
<rect width="40" height="20" x="100" y="100" />
<rect width="40" height="20" x="150" y="100" />
<!-- Button 01 -->
<rect width="40" height="20" x="200" y="100" class="win-desktop--button win-desktop--button-01" />
<!-- Button 02 -->
<rect width="40" height="20" x="100" y="130" class="win-desktop--button win-desktop--button-02" />
<rect width="40" height="20" x="150" y="130" />
<rect width="40" height="20" x="200" y="130" />
<rect width="40" height="10" x="100" y="160" />
<rect width="90" height="10" x="150" y="160" />
<!-- Ok button-->
<rect width="40" height="10" x="200" y="180" class="win-desktop--button win-desktop--button-03" />
</g>
</svg>
<!-- Modal window -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop win-desktop-chrome--modal">
<!-- Modal BG -->
<path d="M50 81h200v127H50z" opacity=".7" />
<!-- Modal dialog -->
<path fill="#FFF" d="M100 114.5h100v70H100z" />
<path fill="#E5E5E5" d="M110 124h80v6h-80zm0 12h80v6h-80zm0 12h60v6h-60zm5 16h30v10h-30z" />
<!-- Modal button -->
<path d="M155 164h30v10h-30z" class="win-desktop--button win-desktop--modal-button" />
</svg>
<!-- Tick overlay -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop win-desktop--tick">
<rect width="200" height="127" x="50" y="81" fill="#FFF" opacity=".75" />
<circle cx="150" cy="145" r="35" fill="#91D329" />
<g fill="#FFF">
<rect width="40" height="10" x="135.3" y="140" transform="rotate(-45 155.307 145.005)" />
<rect width="25" height="10" x="126.89" y="145.3" transform="rotate(45 139.396 150.303)" />
</g>
</svg>
</div>
<!-- Mouse cursor -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop win-desktop--cursor">
<g stroke="#000" stroke-miterlimit="10">
<path d="M153.7 152.66l-7.2-7v10l2.45-.97 1.56 3.63 2.57-1-1.56-3.7z" opacity=".4" />
<path fill="#FFF" d="M153.7 149.66l-7.2-7v10l2.45-.97 1.56 3.63 2.57-1-1.56-3.7z" />
</g>
</svg>
<!-- Screen shine -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-desktop">
<linearGradient id="a" x1="210" x2="21" y1="5" y2="194" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".5" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<linearGradient id="b" x1="272.22" x2="139.69" y1="90.22" y2="222.74" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".3" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<path fill="url(#a)" d="M270 65H30v138h69.68" />
<path fill="url(#b)" d="M270 111.9V88L129.95 213h23.95" />
</svg>
</div>
<h1 class="title title--win-app">Windows Desktop Applications</h1>
</div>
<!-- WINDOWS MOBILE APPLICATIONS -->
<div class="grid--cell">
<div class="animation-wrapper animation-wrapper--win-mobile-app-bg">
<!-- Device BG -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-mobile">
<path stroke="#000" stroke-width="10" stroke-miterlimit="10" d="M100 50h100v200H100z" stroke-linejoin="round" />
<path d="M100 50h100v200H100z" />
<path fill="#333" d="M134.28 143.18l32.53 32.53-5.6 5.7-32.5-32.5zm-8.48 8.48l26.86 26.87-5.65 5.66-26.8-26.9zm11.3-11.3l36.78-36.78 2.83 2.83-36.7 36.8zm5.67 5.64l45.25-45.24 2.83 2.83-45.25 45.2zm5.65 5.67l13.43-13.43 2.83 2.83-13.44 13.43zm5.66 5.65l18.38-18.38 2.83 2.83-18.4 18.38z"
/>
<path fill="#7F807F" d="M122.13 146.9c.6.6.22.9-.23 1.35l-1.9 1.9-3.2 3.2c-.4.4-1.12-.44-1.22-.78-.1-.33.33-.6.53-.8l1.8-1.8-8.1-8.15-.8 3.3c-.3 1-1.4-.12-1.3-.78 0-.35.2-.76.3-1.1.2-1 .44-1.97.65-2.95.05-.4 1.07-1.6 1.44-1.2.26.2.5.4.7.7l3.3 3.3 5.4 5.4 1.96-2c.27-.3.68.1.88.3.1.1-.1-.1 0 0zm4.1-13.76c2.56 2.55 4.8 6.27 1.73 9.36-3.08 3.1-6.6.6-9.1-1.9-2.53-2.53-4.8-6.27-1.72-9.35 3.1-3.1 6.6-.6 9.1 1.9.82.8-.9-.9 0 0zm-1.35 1.56c-1.6-1.6-4.44-4.4-6.66-2.2-2.15 2.16.42 4.96 2 6.55 1.42 1.4 4 4.1 6.17 2.6 2.9-2 .2-5.2-1.6-6.95zm4-6.68c.62.62.72 1.16.07 1.8-.66.67-1.2.57-1.82-.06-.64-.64-.77-1.17-.1-1.84.67-.67 1.2-.54 1.84.1.18.18-.2-.2 0 0zm5.74 5.75c.63.63.74 1.17.1 1.82-.68.6-1.2.5-1.84-.1-.63-.7-.75-1.2-.1-1.9.67-.7 1.22-.6 1.84.1.2.1-.18-.2 0 0zm6.64-11c2.37 2.36 1.2 5.56-1.1 7.5-.66.55-2.4 1.9-3.33 1.4-.32-.18-.8-.57-.9-.93-.16-.47 1.06-.63 1.35-.74 2.23-.9 5.22-4.1 2.18-6.04-2.05-1.3-4 .88-5.35 2.22-.4.47-1.6-.64-1.1-1.1.2-.34.7-.7 1-.95.9-.88 1.5-2.13 1-3.36-.4-1.24-1.8-2.1-3.1-1.52-1.2.54-1.8 1.8-2.1 3-.05.25-.1 1.2-.53 1.04-.47-.2-.97-.8-.97-1.3-.05-2.3 2.6-5 4.8-5.1 1.46-.1 2.8 1 3.46 2.2.63 1.2.4 2.4-.2 3.5 1.5-1.2 3.64-1.4 5.05 0 .5.5-.32-.36 0 0zm6.72-11.37c2.55 2.55 4.8 6.27 1.72 9.36-3.08 3.08-6.6.6-9.1-1.9-2.53-2.54-4.8-6.28-1.72-9.35 3.1-3 6.6-.6 9.1 1.9zm-1.36 1.55c-1.6-1.6-4.44-4.4-6.65-2.2-2.16 2.16.42 4.97 2 6.56 1.4 1.4 4 4.1 6.16 2.7 2.93-2 .23-5.2-1.5-6.9-.54-.5.4.4 0 0z"
/>
</svg>
<!-- Home screen -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-mobile win-mobile--home">
<!-- BG -->
<path d="M100 50h100v200H100z" class="absolute win-mobile win-mobile--home-bg" />
<!-- 1st row -->
<g class="absolute win-mobile win-mobile--home-row-01">
<path fill="#0056A7" d="M100 61h32v32h-32zm0 34h66v32h-66z" />
<path fill="#7A3293" d="M100 129h32v32h-32z" />
<path fill="#399743" d="M100 163h15v15h-15zm17 0h15v15h-15zm-17 17h15v15h-15zm17 0h15v15h-15z" />
<path fill="#0056A7" d="M100 197h66v32h-66zm0 34h15v15h-15zm17 0h15v15h-15z" />
</g>
<!-- 2nd row -->
<g class="absolute win-mobile win-mobile--home-row-02">
<path fill="#7A3293" d="M134 61h32v32h-32z" />
<path d="M134 129h32v32h-32z" class="win-mobile--home-shortcut" />
<path fill="#0056A7" d="M134 163h32v32h-32zm0 68h15v15h-15zm17 0h15v15h-15z" />
</g>
<!-- 3rd row -->
<g class="absolute win-mobile win-mobile--home-row-03">
<path fill="#7A3293" d="M168 61h32v32h-32z" />
<path fill="#F57929" d="M168 95h32v32h-32z" />
<path fill="#0056A7" d="M168 163h32v32h-32zm0 34h32v32h-32zm0 34h32v15h-32z" />
<path fill="#399743" d="M168 129h15v15h-15zm17 0h15v15h-15zm-17 17h15v15h-15zm17 0h15v15h-15z" />
</g>
</svg>
<!-- Mobile app -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-mobile win-mobile--app-01">
<!-- BG -->
<path d="M100 50h100v200H100z" class="win-mobile--app-01--bg" />
<!-- App screen 01 icons -->
<g class="absolute win-mobile win-mobile--app-01-icons">
<path d="M108 94h22v22h-22z" class="win-mobile--app-01--icons--shortcut-01" />
<path d="M108 184h22v22h-22z" class="win-mobile--app-01--icons--shortcut-02" />
<g fill="#fff" opacity="0.2">
<path d="M108 64h22v22h-22z" />
<path d="M138 64h54v7h-54z" />
<path d="M138 75h54v4h-54zM138 82h54v4h-54z" />
<path d="M138 94h54v7h-54z" />
<path d="M138 105h54v4h-54zM138 112h54v4h-54z" />
<path d="M108 124h22v22h-22z" />
<path d="M138 124h54v7h-54z" />
<path d="M138 135h54v4h-54zM138 142h54v4h-54z" />
<path d="M108 154h22v22h-22z" />
<path d="M138 154h54v7h-54z" />
<path d="M138 165h54v4h-54zM138 172h54v4h-54z" />
<path d="M138 184h54v7h-54z" />
<path d="M138 195h54v4h-54zM138 202h54v4h-54z" />
<path d="M108 214h22v22h-22z" />
<path d="M138 214h54v7h-54z" />
<path d="M138 225h54v4h-54z" />
</g>
</g>
</svg>
<!-- App screen 02 icons -->
<div class="absolute win-mobile win-mobile--app-02">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<rect width="100" height="200" x="100" y="50" fill="#000000" />
<g fill="#4D4D4D">
<rect width="22" height="22" x="139" y="64" />
<rect width="22" height="22" x="170" y="64" class="win-mobile--app-02--button_03" />
<rect width="22" height="22" x="108" y="64" />
<rect width="22" height="22" x="139" y="94" class="win-mobile--app-02--button_04" />
<rect width="22" height="22" x="170" y="94" />
<rect width="22" height="22" x="108" y="94" class="win-mobile--app-02--button_01" />
<rect width="22" height="22" x="139" y="124" />
<rect width="22" height="22" x="170" y="124" />
<rect width="22" height="22" x="108" y="124" />
<rect width="22" height="22" x="139" y="154" />
<rect width="22" height="22" x="170" y="154" />
<rect width="22" height="22" x="108" y="154" class="win-mobile--app-02--button_05" />
<rect width="22" height="22" x="139" y="184" class="win-mobile--app-02--button_02" />
<rect width="22" height="22" x="170" y="184" class="win-mobile--app-02--button_06" />
<rect width="22" height="22" x="108" y="184" />
</g>
</svg>
</div>
<!-- Device decoration -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-mobile">
<path d="M100 50h100v11H100zm0 182h100v18H100z" />
<rect width="8" height="5" x="104" y="53" fill="#333" />
<rect width="8" height="5" x="188" y="53" fill="#333" />
<!-- Back button -->
<rect width="8" height="8" x="104" y="237" class="win-mobile--home-back" />
<rect width="8" height="8" x="188" y="237" fill="#333" />
<path fill="#FFF" d="M154 241v-4l-4 .74V241m0 1v3.26l4 .74v-4m-5-1v-3.17l-3 .6V241m0 1v2.57l3 .6V242" />
</svg>
<!-- Screen shine -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" class="absolute win-mobile">
<linearGradient id="a" x1="203.29" x2="97.8" y1="76.29" y2="181.78" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".3" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<linearGradient id="b" x1="175" x2="84.49" y1="25" y2="115.51" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#FFF" stop-opacity=".5" />
<stop offset="1" stop-color="#FFF" stop-opacity="0" />
</linearGradient>
<path fill="url(#a)" d="M100 162.26v21.72L200 96.9V73" />
<path fill="url(#b)" d="M100 50v81.02L200 50" />
</svg>
</div>
<h1 class="title title--win-mobile-app">Windows Mobile Applications</h1>
</div>
</div>
</div>
// ========
// GRID ===
// ========
.wrapper {
display: flex;
width: 100vw;
height: 100vh;
}
.grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
margin: auto;
text-align: center;
}
.grid--cell {
width: 20%;
min-width: 140px;
max-width: 280px;
text-align: center;
padding: 10px;
padding-bottom: 20px;
}
// =====================
// MODULAR & UTILITY ===
// =====================
.animation-wrapper {
position: relative;
transform: translateZ(0);
overflow: hidden;
border-radius: 5%;
width: 100%;
padding-bottom: 100%;
}
.animation-wrapper--software-bg {
background: linear-gradient(-135deg, saturate(#ff3231, 35), saturate(darken(#ee3231, 20), 35));
}
.animation-wrapper--website-bg {
background: linear-gradient(-135deg, #bcd74c, saturate(darken(#bcd74c, 26), 35));
}
.animation-wrapper--webapp-bg {
background: linear-gradient(-135deg, #f68e51, saturate(darken(#f68e51, 18), 12));
}
.animation-wrapper--win-app-bg {
background: linear-gradient(-135deg, #fcc000, saturate(darken(#EE9B00, 4), 25));
}
.animation-wrapper--win-mobile-app-bg {
background: linear-gradient(-135deg, #01bcf3, saturate(darken(#01bcf3, 20), 25));
}
.title {
display: inline-block;
font-size: 75%;
font-weight: bold;
color: #fff;
padding: 6px 9px;
margin-top: 2px;
border-radius: 5px;
}
.title--software {
background-color: #ff3231;
}
.title--webdev {
background-color: saturate(darken(#bcd74c, 26), 35);
}
.title--webapp {
background-color: saturate(darken(#f68e51, 18), 12);
}
.title--win-app {
background-color: (darken(#fcc000, 7));
}
.title--win-mobile-app {
background-color: (darken(#01bcf3, 10));
}
.screen-shine {
position: relative;
top: 0;
right: 0;
width: 100%;
height: 100%;
text-align: right;
background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_modular_screen_shine.svg");
background-size: cover;
background-position: top right;
opacity: 0.3;
}
.absolute {
position: absolute;
top: 0;
width: 100%;
}
// ========================
// SOFTWARE DEVELOPMENT ===
// ========================
.software-monitor {
left: 0;
top: 6%;
height: 100%;
z-index: 6;
}
.software-screen--bg {
left: 0;
height: 100%;
}
@keyframes software-screen--fg-mask {
0% {height: 0%;}
65% {height: 35%;}
85% {height: 35%;}
100% {height: 0%;}
}
.software-screen--fg-mask {
vertical-align: top;
left: 0%;
margin-top: 10%;
height: 30%;
overflow: hidden;
animation: software-screen--fg-mask 3s linear infinite;
}
@keyframes software-screen--fg {
0% {transform: translate(0,-10%);}
69% {transform: translate(0,-10%);}
90% {transform: translate(0,-50%);}
100% {transform: translate(0,-50%);}
}
.software-screen--fg {
left: 0;
animation: software-screen--fg 3s linear infinite;
}
.software-screen--shine {
right: 0;
height: 100%;
opacity: 0.6;
z-index: 10;
}
.software-keyboard {
left: 0;
top: 7%;
height: 100%;
}
.software-hand {
left: 0;
top: 7%;
height: 100%;
background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_software_development_hand.svg");
background-size: 600% 100%;
background-position: top left;
}
@keyframes software-hand--left {
0% {background-position: -300% 0;}
5% {background-position: -200% 0;}
10% {background-position: -100% 0; transform: translate(0,0%) scale(-1,1);}
15% {background-position: 0 0; transform: translate(0,5%) scale(-1,1);}
20% {background-position: -100% 0;}
25% {background-position: -200% 0;}
30% {background-position: -400% 0; transform: translate(0,5%) scale(-1,1);}
35% {background-position: -100% 0; transform: translate(0,0) scale(-1,1);}
40% {background-position: 0% 0;}
45% {background-position: -200% 0; transform: translate(0,0) scale(-1,1);}
50% {background-position: 0% 0; transform: translate(0,5%) scale(-1,1);}
55% {background-position: -100% 0;}
60% {background-position: -200% 0; transform: translate(0,5%) scale(-1,1);}
65% {background-position: 0 0; transform: translate(-2%,7%) scale(-1,1);}
95% {background-position: 0 0; transform: translate(0,2%) scale(-1,1);}
}
.software-hand--left {
transform: scale(-1,1);
animation: software-hand--left 3s steps(1, end) infinite;
}
@keyframes software-hand--right {
0% {background-position: 0 0;}
2% {background-position: -100% 0;}
4% {background-position: 0 0;}
6% {background-position: -500% 0; transform: translate(0,0);}
8% {background-position: 0 0; transform: translate(0,5%);}
10% {background-position: -100% 0;}
12% {background-position: -0 0;}
14% {background-position: -200% 0;}
16% {background-position: 0 0;}
18% {background-position: -200% 0;}
20% {background-position: -100% 0; transform: translate(0,5%);}
22% {background-position: -200% 0; transform: translate(0,0);}
24% {background-position: 0 0;}
26% {background-position: -500% 0;}
28% {background-position: 0 0;}
30% {background-position: -200% 0;}
32.5% {background-position: -400% 0;}
50% {background-position: 0 0;}
52% {background-position: -200% 0;}
54% {background-position: -500% 0; transform: translate(0,0);}
56% {background-position: -100% 0; transform: translate(0,5%);}
58% {background-position: 0 0;}
60% {background-position: -200% 0;}
62% {background-position: -100% 0;}
64% {background-position: 0 0;}
66% {background-position: -500% 0;}
68% {background-position: -200% 0;}
70% {background-position: 0% 0; transform: translate(0,5%);}
72% {background-position: -200% 0; transform: translate(0,0);}
74% {background-position: -300% 0;}
76% {background-position: -500% 0;}
78% {background-position: 0 0;}
80% {background-position: -500% 0;}
82.5% {background-position: -400% 0;}
100% {background-position: -400% 0;}
}
.software-hand--right {
right: 0;
animation: software-hand--right 6s steps(1, end) infinite;
}
// =================================
// WEBSITES & WEBAPP DEVELOPMENT ===
// =================================
.web-hardware {
margin: 0 auto;
border-radius: 6px;
}
.web-hardware--desktop {
width: 70%;
height: 55%;
top: 14%;
left: 8%;
padding: 6% 3%;
background-color: #262626;
}
.web-hardware--mobile {
width: 25%;
height: 45%;
top: 30%;
right: 8%;
padding: 5% 2%;
background-color: #444;
}
@keyframes web-scroller-anim {
0% {background-position: 0 0;}
35% {background-position: 0 99.5%;}
36% {background-position: 0 100%;}
50% {background-position: 0 100%;}
85% {background-position: 0 0.5%;}
86% {background-position: 0 0;}
100% {background-position: 0 0;}
}
.web-screen {
width: 100%;
height: 100%;
background-color: #000;
border-radius: 2px;
animation: web-scroller-anim 9s infinite;
}
.web-screen--website-desktop {
background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_website_development_desktop.svg");
background-size: 100%;
}
.web-screen--website-mobile {
background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_website_development_mobile.svg");
background-size: 100%;
}
.web-screen--webapp-desktop {
background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_webapp_development_desktop.svg");
background-size: 100%;
}
.web-screen--webapp-mobile {
background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/350480/animation_webapp_development_mobile.svg");
background-size: 100%;
}
// ================================
// WINDOWS DESKTOP APPLICATIONS ===
// ================================
.win-desktop {
top: -3%;
left: 0;
height: 100%;
}
// Desktop shortcut icon & start bar
@keyframes shortcut-icon-01 {
10% {fill: #F4D387;}
11% {fill: white;}
12% {fill: white;}
13% {fill: #F4D387;}
}
.win-desktop--shortcut-icon-01 {
animation: shortcut-icon-01 10s linear infinite;
fill: #F4D387;
}
@keyframes shortcut-icon-02 {
16% {fill: #ED9E48;}
18% {fill: white;}
86% {fill: white;}
87% {fill: #ED9E48;}
}
.win-desktop--shortcut-icon-02 {
animation: shortcut-icon-02 10s linear infinite;
fill: #ED9E48;
}
// App window
@keyframes app-window {
16% {opacity: 0;}
18% {opacity: 1;}
86% {opacity: 1;}
87% {opacity: 0;}
}
.win-desktop--window {
animation: app-window 10s linear infinite;
opacity: 0;
}
@keyframes win-desktop--app-window--close-button {
84% {fill: #aa0000;}
84.2% {fill: #ff0000; }
92% {fill: #aa0000; }
}
.win-desktop--app-window--close-button {
fill: #aa0000;
animation: win-desktop--app-window--close-button 10s linear infinite;
}
// In-app sidebar link
@keyframes win-desktop--app-link {
24% { fill: #ccc;}
25% { fill: #888;}
73% {fill: #888;}
74% { fill: #ccc;}
}
.win-desktop--app-link {
fill: #ccc;
animation: win-desktop--app-link 10s linear infinite;
}
// In-app panel
@keyframes app-chrome {
28% {opacity: 0;}
30% {opacity: 1;}
74% {opacity: 1;}
75% {opacity: 0;}
}
.win-desktop-chrome {
animation: app-chrome 10s linear infinite;
opacity: 0;
}
// In-app buttons
.win-desktop--button {
fill: #E5E5E5;
}
// In-app button 01
@keyframes win-desktop--button-press {
36% {fill: #E5E5E5;}
38% {fill: #91d329;}
86% {fill: #91d329;}
}
.win-desktop--button-01 {
animation: win-desktop--button-press 10s linear infinite;
}
// In-app button 02
.win-desktop--button-02 {
animation: win-desktop--button-press 10s 0.65s linear infinite;
}
// In-app button 03
.win-desktop--button-03 {
animation: win-desktop--button-press 10s 1.35s linear infinite;
}
// Modal
@keyframes modal-reveal {
52% {opacity: 0;}
56% {opacity: 1;}
62% {opacity: 1;}
64% {opacity: 0;}
}
.win-desktop-chrome--modal {
animation: modal-reveal 10s linear infinite;
opacity: 0;
}
// Modal button
.win-desktop--modal-button {
animation: button-press 10s 2.45s linear infinite;
}
// Tick overlay
@keyframes win-desktop--tick {
62% {opacity: 0;}
64% {opacity: 1;}
66% {opacity: 1;}
68% {opacity: 0;}
}
.win-desktop--tick {
opacity: 0;
animation: win-desktop--tick 10s linear infinite;
}
// MOUSE CURSOR
@keyframes win-desktop--cursor {
// idle position
0% {transform: translate(11%, 4%)}
// desktop shortcut open
8% {transform: translate(-32%, -19%)}
11% {transform: translate(-32%, -19%)}
// in-app link open
24% {transform: translate(-26%, -15%)}
26% {transform: translate(-26%, -15%)}
// in-app button 01 on
34% {transform: translate(24%, -12%)}
36% {transform: translate(24%, -12%)}
// in-app button 02 on
42% {transform: translate(-10%, 1%)}
43% {transform: translate(-10%, 1%)}
// in-app button 03 submit
49% {transform: translate(25%, 15%)}
52% {transform: translate(25%, 15%)}
// modal button ok
60% {transform: translate(8%, 9%)}
65% {transform: translate(8%, 9%)}
// in-app link closer
72% {transform: translate(-26%, -15%)}
75% {transform: translate(-26%, -15%)}
// app close
83% {transform: translate(33%, -22%)}
85% {transform: translate(33%, -22%)}
// return to idle position
92% {transform: translate(11%, 4%)}
}
.win-desktop--cursor {
transform: translate(11%, 4%);
animation: win-desktop--cursor 10s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}
// ===============================
// WINDOWS MOBILE APPLICATIONS ===
// ===============================
.win-mobile {
left: 0;
height: 100%;
}
@keyframes win-mobile--home-back {
61% {fill: #333;}
61.2% {fill: #fff;}
63% {fill: #333;}
86% {fill: #333;}
86.2% {fill: #fff;}
88% {fill: #333;}
90% {fill: #333;}
90.2% {fill: #fff;}
91.9% {fill: #333;}
92% {fill: #333;}
92.2% {fill: #fff;}
94% {fill: #333;}
}
.win-mobile--home-back {
fill: #333;
animation: win-mobile--home-back 10s linear infinite;
}
.win-mobile--home {
opacity: 1;
}
@keyframes win-mobile--home-bg {
8% {opacity: 0;}
16% {opacity: 1;}
95% {opacity: 1;}
99% {opacity: 0;}
}
.win-mobile--home-bg {
opacity: 0;
animation: win-mobile--home-bg 10s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
}
@keyframes win-mobile--home-row-01 {
9% {opacity: 0; transform: scale(0,1)}
11% {opacity: 1; transform: scale(1,1)}
94% {opacity: 1; transform: scale(1,1)}
97% {opacity: 0; transform: scale(0,1)}
}
.win-mobile--home-row-01 {
transform: scale(0,1);
transform-origin: 33% 0;
opacity: 0;
animation: win-mobile--home-row-01 10s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
}
@keyframes win-mobile--home-row-02 {
10% {opacity: 0; transform: scale(0,1)}
12% {opacity: 1; transform: scale(1,1)}
95% {opacity: 1; transform: scale(1,1)}
98% {opacity: 0; transform: scale(0,1)}
}
.win-mobile--home-row-02 {
transform: scale(0,1);
transform-origin: 48% 0;
opacity: 0;
animation: win-mobile--home-row-02 10s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
}
@keyframes win-mobile--home-row-03 {
11% {opacity: 0; transform: scale(0,1)}
13% {opacity: 1; transform: scale(1,1)}
96% {opacity: 1; transform: scale(1,1)}
98% {opacity: 0; transform: scale(0,1)}
}
.win-mobile--home-row-03 {
transform: scale(0,1);
transform-origin: 60% 0;
opacity: 0;
animation: win-mobile--home-row-03 10s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
}
@keyframes win-mobile--home-shortcut {
17% {fill: #D60000;}
17.2% {fill: #fff;}
25% {fill: #D60000;}
}
.win-mobile--home-shortcut {
fill: #D60000;
animation: win-mobile--home-shortcut 10s linear infinite;
}
@keyframes win-mobile--app-01 {
23% {opacity: 0; transform: scale(0.5,0.5);}
26% {opacity: 1; transform: scale(1,1);}
90% {opacity: 1; transform: scale(1,1);}
94% {opacity: 0; transform: scale(0.5,0.5);}
}
.win-mobile--app-01 {
transform: scale(0.5,0.5);
opacity: 0;
animation: win-mobile--app-01 10s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}
@keyframes win-mobile--app-01--bg {
26% {fill: red;}
34% {fill: #330000;}
100% {fill: #330000;}
}
.win-mobile--app-01--bg {
fill: red;
animation: win-mobile--app-01--bg 10s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}
@keyframes win-mobile--app-01-icons {
30% {opacity: 0;}
32% {opacity: 1;}
100% {opacity: 1;}
}
.win-mobile--app-01-icons {
opacity: 0;
animation: win-mobile--app-01-icons 10s linear infinite;
}
@keyframes win-mobile--app-01--shortcut-01 {
36% {opacity: 0.2}
36.2% {opacity: 1}
44% {opacity: 0.2}
}
.win-mobile--app-01--icons--shortcut-01 {
opacity: 0.2;
fill: #fff;
animation: win-mobile--app-01--shortcut-01 10s linear infinite;
}
.win-mobile--app-01--icons--shortcut-02 {
opacity: 0.2;
fill: #fff;
animation: win-mobile--app-01--shortcut-01 10s 3.25s linear infinite;
}
@keyframes win-mobile--app-02 {
42% {opacity: 0;transform: scale(0.9,0.9);}
44% {opacity: 1;transform: scale(1,1);}
62% {opacity: 1;transform: scale(1,1);}
64% {opacity: 0;transform: scale(0.9,0.9);}
72% {opacity: 0;transform: scale(0.9,0.9);}
74% {opacity: 1;transform: scale(1,1);}
88% {opacity: 1;transform: scale(1,1);}
90% {opacity: 0;transform: scale(0.9,0.9);}
100% {opacity: 0;transform: scale(0.9,0.9);}
}
.win-mobile--app-02 {
opacity: 0;
transform: scale(0.9,0.9);
animation: win-mobile--app-02 10s linear infinite;
}
@keyframes win-mobile--app-02--button {
51% {fill: #4d4d4d;}
51.2% {fill: #bbb;}
65% {fill: #bbb;}
65.2% {fill: #4d4d4d;}
}
.win-mobile--app-02--button_01 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s linear infinite;
}
.win-mobile--app-02--button_02 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s 0.2s linear infinite;
}
.win-mobile--app-02--button_03 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s 0.4s linear infinite;
}
.win-mobile--app-02--button_04 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s 2.9s linear infinite;
}
.win-mobile--app-02--button_05 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s 3.04s linear infinite;
}
.win-mobile--app-02--button_06 {
fill: #4d4d4d;
animation: win-mobile--app-02--button 10s 3.19s linear infinite;
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.