1 2<!DOCTYPE html> 3<html lang="en"> 4 5<head> 6 <meta charset="utf-8"> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 8 9 <!-- Primary Meta Tags --> 10 <title>Forge and Form</title> 11 <meta name="title" content="Forge and Form - Code, Video and Motion"> 12 <meta name="description" content="Forge and Form is the creative studio of Marcus Eckert. I specialize in graphics programming, video effects and coded animations for iOS and Mac."> 13 14 <!-- Open Graph / Facebook --> 15 <meta property="og:type" content="website"> 16 <meta property="og:url" content="https://www.forgeandform.co"> 17 <meta property="og:title" content="Forge and Form - Code, Video and Motion"> 18 <meta property="og:description" content="Forge and Form is the creative studio of Marcus Eckert. I specialize in graphics programming, video effects and coded animations for iOS and Mac."> 19 <meta property="og:image" content="https://www.forgeandform.co/images/preview.png"> 20 21 <!-- Twitter --> 22 <meta property="twitter:card" content="summary_large_image"> 23 <meta property="twitter:url" content="https://www.forgeandform.co"> 24 <meta property="twitter:title" content="Forge and Form - Code, Video and Motion"> 25 <meta property="twitter:description" content="Forge and Form is the creative studio of Marcus Eckert. I specialize in graphics programming, video effects and coded animations for iOS and Mac."> 26 <meta property="twitter:image" content="https://www.forgeandform.co/images/preview.png"> 27 28 <meta name="keywords" content="iOS, animation, UX, UI, prototyping, hq trivia, hqtrivia, hq"> 29 <meta name="author" content="Marcus Eckert"> 30 <meta name="viewport" content="width=device-width, initial-scale=1"> 31 32 33 <!-- Bootstrap --> 34
34<script src="https://forgeandform.co//js/tweets.js"></script>
34 35 <link href="https://forgeandform.co//css/bootstrap.min.css" rel="stylesheet"> 36 <link href="https://forgeandform.co//css/twitterStyle.css" rel="stylesheet" type="text/css"> 37 <link href="https://forgeandform.co//css/style.css" rel="stylesheet" type="text/css"> 38
38<script src="https://forgeandform.co//js/MKjTools.js"></script>
38 39
39<script src="https://forgeandform.co//js/MKjAnimate.js"></script>
39 40 41
41<script> 42 var tweetsToLoad = ["https:\/\/twitter.com\/marcus_eckert\/status\/1935349700502175819","https:\/\/twitter.com\/marcus_eckert\/status\/1942237482244063248","https:\/\/twitter.com\/marcus_eckert\/status\/1734245909653848098","https:\/\/twitter.com\/marcus_eckert\/status\/1950197373986115761","https:\/\/twitter.com\/marcus_eckert\/status\/1851297336447898020","https:\/\/twitter.com\/marcus_eckert\/status\/1937537369839726661","https:\/\/twitter.com\/marcus_eckert\/status\/1816094060936831181","https:\/\/twitter.com\/marcus_eckert\/status\/1815737774382657565","https:\/\/twitter.com\/marcus_eckert\/status\/1816468354988748802","https:\/\/twitter.com\/marcus_eckert\/status\/1935335864810263000","https:\/\/twitter.com\/marcus_eckert\/status\/1651612894297989120","https:\/\/twitter.com\/marcus_eckert\/status\/1757456600540098990","https:\/\/twitter.com\/marcus_eckert\/status\/1940043570121252923","https:\/\/twitter.com\/marcus_eckert\/status\/1775184413866827895","https:\/\/twitter.com\/marcus_eckert\/status\/1813239669582406032","https:\/\/twitter.com\/marcus_eckert\/status\/1696903839322976704","https:\/\/twitter.com\/marcus_eckert\/status\/1569697533873602560","https:\/\/twitter.com\/marcus_eckert\/status\/1762524243248480710","https:\/\/twitter.com\/marcus_eckert\/status\/1651615321176915968","https:\/\/twitter.com\/marcus_eckert\/status\/1595810513602371584","https:\/\/twitter.com\/marcus_eckert\/status\/1571893745666121730","https:\/\/twitter.com\/marcus_eckert\/status\/1649060346819166217","https:\/\/twitter.com\/marcus_eckert\/status\/1445416648106782724","https:\/\/twitter.com\/marcus_eckert\/status\/732954647388925952","https:\/\/twitter.com\/marcus_eckert\/status\/1595805840421933058","https:\/\/twitter.com\/marcus_eckert\/status\/1575848602148052993","https:\/\/twitter.com\/marcus_eckert\/status\/1572591980772675584","https:\/\/twitter.com\/marcus_eckert\/status\/1572957604732616706","https:\/\/twitter.com\/marcus_eckert\/status\/1542156181698818048","https:\/\/twitter.com\/marcus_eckert\/status\/1541443988896358400","https:\/\/twitter.com\/marcus_eckert\/status\/1531310252678860800","https:\/\/twitter.com\/marcus_eckert\/status\/1501230763647266818","https:\/\/twitter.com\/marcus_eckert\/status\/1500877938807431175","https:\/\/twitter.com\/marcus_eckert\/status\/1405532936464699392","https:\/\/twitter.com\/marcus_eckert\/status\/1318939385455386625","https:\/\/twitter.com\/marcus_eckert\/status\/1317539826724372490","https:\/\/twitter.com\/marcus_eckert\/status\/1281646315622092802","https:\/\/twitter.com\/marcus_eckert\/status\/1235200982868463617","https:\/\/twitter.com\/marcus_eckert\/status\/1231945575790186497","https:\/\/twitter.com\/marcus_eckert\/status\/1230130895291633665","https:\/\/twitter.com\/marcus_eckert\/status\/1229767791999365121","https:\/\/twitter.com\/marcus_eckert\/status\/1229410168389197826","https:\/\/twitter.com\/marcus_eckert\/status\/1227583268607926272","https:\/\/twitter.com\/marcus_eckert\/status\/1179049200992034817","https:\/\/twitter.com\/marcus_eckert\/status\/1176909916751183872","https:\/\/twitter.com\/marcus_eckert\/status\/1175053072365735944","https:\/\/twitter.com\/marcus_eckert\/status\/1172489903483084800","https:\/\/twitter.com\/marcus_eckert\/status\/1128730815574233089","https:\/\/twitter.com\/marcus_eckert\/status\/849335308831391749"]; 43 </script>
43 44 45 46
46<script src="https://forgeandform.co//js/site.js"></script>
46 47
47<script src="https://forgeandform.co//js/logo.js"></script>
47 48
48<script src="https://forgeandform.co//cachedTweets/tweetData.js"></script>
48 49 <link rel="shortcut icon" href="https://forgeandform.co//images/favicon.ico" type="image/x-icon"> 50 <link rel="icon" href="https://forgeandform.co//images/favicon.ico" type="image/x-icon"> 51
51<script src="https://use.typekit.net/kun1dwi.js"></script>
51 52 <!-- <link href="https://ffwebserver-vkg7qjsu5q-ew.a.run.app/css/styles-bs.css" rel="stylesheet" type="text/css"> --> 53
53<script> 54 try { 55 Typekit.load({ 56 async: true 57 }); 58 } catch (e) {} 59 </script>
59 60 61 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 62 <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 63 <!--[if lt IE 9]> 64
64<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
64 65
65<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
65 66 <![endif]--> 67 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css" /> 68</head> 69 70<body id="start"> 71 72 <nav class="navbar navbar-default navbar-fixed-top"> 73 <div class="navbar-header"> 74 <a class="navbar-brand" id="logoSVG" href="https://forgeandform.co/"> 75 <?xml version="1.0" encoding="utf-8"?> 76<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 77<svg version="1.1" id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 78 viewBox="0 0 370 228" style="enable-background:new 0 0 370 228;" xml:space="preserve"> 79<path d="M80,105.2H64.2V55.8h-8.6V41.1h8.6v-1.6c0-10.1,2.2-17.8,6.7-22.9c4.5-5.2,10-7.8,16.3-7.8c2.6,0,5.7,0.4,9.3,1.2l1.5,0.4 80 v16.1l-2.7-1c-1.7-0.6-3.3-0.9-4.8-0.9c-4,0-6.7,1-8.1,2.9c-1.1,1.5-2.3,4.7-2.3,12.1v1.6h10.7v14.7H80V105.2z" fill="rgba(255, 255, 255, 0)"/> 81<path d="M229.9,218.1H214v-64h15.9v9.2c5.2-7,10.4-10.3,15.9-10.3c5,0,10.2,2.5,15.4,7.3l1.2,1.1l-8.4,14l-1.8-1.7 82 c-3.7-3.5-7.1-5.3-10.1-5.3c-3.2,0-5.9,1.5-8.4,4.7c-2.6,3.3-3.8,7.2-3.8,11.8V218.1z" fill="rgba(255, 255, 255, 0)"/> 83<path d="M180,105.2h-15.9v-64H180v9.2c5.2-6.9,10.4-10.3,15.9-10.3c5,0,10.2,2.5,15.4,7.3l1.2,1.1l-8.4,14l-1.8-1.7 84 c-3.7-3.5-7.1-5.3-10.1-5.3c-3.2,0-5.9,1.5-8.4,4.7c-2.6,3.3-3.8,7.2-3.8,11.8L180,105.2L180,105.2z" fill="rgba(255, 255, 255, 0)"/> 85<path d="M235.3,135.8c-8.9,0-16.2-1.8-21.6-5.5c-5.7-3.8-8.6-9-8.6-15.4c0-8,4.3-13.5,12.7-16.5c-2.4-2.2-3.6-4.5-3.6-6.8 86 c0-2.5,1.1-4.7,3.2-6.7c1-0.9,2.1-1.7,3.4-2.3c-6.9-4.3-10.4-10.6-10.4-18.7c0-7,2.6-12.6,7.8-16.7c5-4,11.9-6,20.4-6h26.7v13.3 87 h-9.7c1,1.3,1.7,2.5,2.3,3.7c1,2.2,1.6,4.8,1.6,7.6c0,3.5-1,6.9-3,10.3c-2,3.3-4.5,5.9-7.6,7.7c-3.1,1.8-7.8,3.1-14.5,4.1 88 c-2.3,0.3-5,1.1-5,2.7c0,0.2,0,0.9,1.5,1.7c1,0.6,3.4,1.4,8.6,2.6c7.5,1.7,12.3,2.9,14.6,3.9c2.3,1,4.5,2.5,6.3,4.3 89 c3.2,3.2,4.9,7.4,4.9,12.2c0,6.4-2.9,11.5-8.5,15.3C251.4,134,244.2,135.8,235.3,135.8z M232,108c-3.6,0-6.5,0.7-8.7,2.2 90 c-2,1.3-2.9,2.9-2.9,4.9c0,1.8,0,7.3,14.7,7.3c4.9,0,8.7-0.7,11.3-2.1c2.9-1.6,3.3-3.5,3.3-4.8c0-0.7,0-2.9-4.3-5 91 C241.9,108.8,237.5,108,232,108z M234.8,55.4c-2.7,0-4.9,0.9-6.8,2.7c-1.9,1.8-2.8,3.9-2.8,6.4c0,2.5,0.9,4.5,2.7,6.2 92 c1.9,1.7,4.2,2.5,7.1,2.5c2.9,0,5.2-0.8,7-2.6c1.8-1.7,2.7-3.7,2.7-6.3c0-2.6-0.9-4.7-2.8-6.4C240,56.3,237.7,55.4,234.8,55.4z" fill="rgba(255, 255, 255, 0)"/> 93<path d="M354.2,218.1h-15.9v-37.6c0-4.5-0.9-8-2.7-10.3c-1.7-2.2-4-3.2-7.2-3.2c-4.2,0-8,2-11.8,6.2V218h-15.9v-35.4 94 c0-7.7-1.3-11.2-2.3-12.8c-1.4-2.1-3.9-3.1-7.7-3.1c-2.2,0-4.1,0.5-5.9,1.5c-1.7,1-3.8,2.6-6,5V218h-15.9v-64h15.9v5.4 95 c5.3-4.3,10.6-6.5,15.8-6.5c7.5,0,13.5,3.2,18,9.6c6.2-6.4,12.8-9.7,19.6-9.7c6.4,0,11.7,2.4,15.9,7.1c4.1,4.6,6.1,11.6,6.1,20.8 96 V218.1z" fill="rgba(255, 255, 255, 0)"/> 97<path d="M296.5,106.1c-7,0-12.8-1.5-17.2-4.4c-4.4-2.9-7.9-6.9-10.5-11.8s-3.9-10.6-3.9-17c0-9.6,2.8-17.6,8.3-23.6 98 c5.6-6.1,12.8-9.2,21.6-9.2c8.5,0,15.5,3,20.6,9.1c5,5.9,7.6,13.9,7.6,23.7v3.5h-42c0.6,4.3,2.2,7.6,5,10.3 99 c3.2,3.1,7.2,4.5,12.4,4.5c7.4,0,14.2-2.3,20.5-6.9l3.2-2.3v16.6l-0.9,0.6c-3.8,2.5-7.6,4.4-11.4,5.5 100 C306,105.5,301.5,106.1,296.5,106.1z M281.6,65.1h25.5c-0.5-3.2-1.7-5.7-3.4-7.6c-2.2-2.2-5-3.3-8.8-3.3s-6.7,1.1-9.1,3.3 101 C283.9,59.4,282.5,61.9,281.6,65.1z" fill="rgba(255, 255, 255, 0)"/> 102<path d="M130,218.1h-15.9v-49.3h-8.6v-14.7h8.6v-1.6c0-10.1,2.2-17.8,6.7-22.9c4.5-5.2,10-7.8,16.3-7.8c2.6,0,5.7,0.4,9.3,1.2 103 l1.5,0.4v16.1l-2.7-1c-1.7-0.6-3.3-0.9-4.8-0.9c-4,0-6.7,1-8.1,2.9c-1.1,1.5-2.3,4.7-2.3,12.1v1.6h10.7v14.7H130V218.1z" fill="rgba(255, 255, 255, 0)"/> 104<path d="M172.3,219.2c-9.5,0-17.6-3.1-24-9.3s-9.7-14-9.7-23.2c0-9.3,3.3-17.2,9.8-23.4s14.7-9.3,24.4-9.3c9.6,0,17.8,3.2,24.2,9.4 105 c6.4,6.3,9.7,14.2,9.7,23.7c0,9.2-3.3,16.9-9.8,23C190.4,216.1,182.1,219.2,172.3,219.2z M172.2,168.7c-5.2,0-9.3,1.6-12.6,5 106 s-4.9,7.6-4.9,12.9c0,5.2,1.6,9.4,5,12.6c3.4,3.3,7.6,4.9,13,4.9c5.3,0,9.6-1.6,12.9-4.9c3.4-3.3,5-7.5,5-12.7s-1.7-9.3-5.2-12.7 107 C181.9,170.3,177.6,168.7,172.2,168.7z" fill="rgba(255, 255, 255, 0)"/> 108<path d="M122.4,106.2c-9.5,0-17.6-3.1-24-9.3c-6.4-6.2-9.7-14-9.7-23.2c0-9.3,3.3-17.2,9.8-23.4s14.7-9.3,24.4-9.3 109 c9.6,0,17.8,3.2,24.2,9.4c6.4,6.3,9.7,14.2,9.7,23.7c0,9.2-3.3,16.9-9.8,23C140.5,103.2,132.2,106.2,122.4,106.2z M122.3,55.7 110 c-5.2,0-9.3,1.6-12.6,5c-3.3,3.4-4.9,7.6-4.9,12.9c0,5.2,1.6,9.4,5,12.6c3.4,3.3,7.6,4.9,13,4.9c5.3,0,9.6-1.6,12.9-4.9 111 c3.4-3.3,5-7.5,5-12.7s-1.7-9.3-5.2-12.7S127.7,55.7,122.3,55.7z" fill="rgba(255, 255, 255, 0)"/> 112<path d="M71.4,193.4l-8-9.2l-11.4-13c10.6-7.7,16-15.9,16-24.3c0-6.4-2.4-11.8-7.1-16c-4.6-4.1-10.6-6.2-17.6-6.2 113 c-7.2,0-13.2,2.1-17.8,6.3c-4.6,4.2-7,9.8-7,16.6c0,6.7,3.1,13.6,9.2,20.7c-1.7,1-3.5,2.3-5.5,3.8l-0.3,0.3c-5,3.7-8.7,7.4-10.9,11 114 c-2.3,3.7-3.5,8-3.5,12.6c0,6.5,2.4,12,7.2,16.5s10.6,6.7,17.4,6.7c4.2,0,8.8-1,13.6-2.9c4.7-1.9,8.8-4.2,12-6.9l0.2-0.2 115 c1.3-1,2.3-1.9,3.2-2.6l9.9,11.6h21.9L71.4,193.4z M48.8,195.7L48.8,195.7c-2.2,2.1-4.8,3.8-7.7,5.1c-2.8,1.3-5.3,1.9-7.4,1.9 116 c-2.7,0-4.9-0.7-6.8-2.3c-1.8-1.4-2.6-3.1-2.6-5c0-4,3.1-8.1,9.3-12.3l4.3-3l12.4,14.3L48.8,195.7z M45.5,156.9l-3.6,2.6 117 c-1.8-1.9-3.3-3.9-4.4-6.1c-1.3-2.5-2-4.8-2-6.9c0-1.9,0.7-3.4,2.1-4.7c1.5-1.3,3.4-2,5.8-2c2.5,0,4.4,0.7,6,2.2 118 c1.5,1.4,2.3,3.1,2.3,5.2C51.6,150.8,49.6,154,45.5,156.9z" fill="rgba(255, 255, 255, 0)"/> 119</svg> 120 </a> 121 </div> 122 <ul class="nav navbar-nav navbar-right"> 123 <li><a href="https://www.linkedin.com/in/marcuseckert/" target="_blank"><?xml version="1.0" encoding="UTF-8"?> 124<svg viewBox="0 0 72 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 125 <title>LinkedIn_icon</title> 126 127 <path d="M8,72 L64,72 C68.418278,72 72,68.418278 72,64 L72,8 C72,3.581722 68.418278,0 64,0 L8,0 C3.581722,0 0,3.581722 0,8 L0,64 C0,68.418278 3.581722,72 8,72 Z M62,62 L51.315625,62 L51.315625,43.8021149 C51.315625,38.8127542 49.4197917,36.0245323 45.4707031,36.0245323 C41.1746094,36.0245323 38.9300781,38.9261103 38.9300781,43.8021149 L38.9300781,62 L28.6333333,62 L28.6333333,27.3333333 L38.9300781,27.3333333 L38.9300781,32.0029283 C38.9300781,32.0029283 42.0260417,26.2742151 49.3825521,26.2742151 C56.7356771,26.2742151 62,30.7644705 62,40.051212 L62,62 Z M21.769401,27.3333333 L21.769401,62 L11.0325521,62 L11.0325521,27.3333333 L21.769401,27.3333333 Z M16.349349,10 C19.8566406,10 22.6970052,12.8643566 22.6970052,16.3970067 C22.6970052,19.9296567 19.8566406,22.7940133 16.349349,22.7940133 C12.8420573,22.7940133 10,19.9296567 10,16.3970067 C10,12.8643566 12.8420573,10 16.349349,10 Z" id="Shape"></path> 128 129</svg></a></li> 130 <li><a href="https://www.threads.net/@marcuseckertagain" target="_blank">
130<svg aria-label="Threads" viewBox="0 0 192 192" xmlns="http://www.w3.org/2000/svg">
130<script xmlns=""/><path class="x19hqcy" d="M141.537 88.9883C140.71 88.5919 139.87 88.2104 139.019 87.8451C137.537 60.5382 122.616 44.905 97.5619 44.745C97.4484 44.7443 97.3355 44.7443 97.222 44.7443C82.2364 44.7443 69.7731 51.1409 62.102 62.7807L75.881 72.2328C81.6116 63.5383 90.6052 61.6848 97.2286 61.6848C97.3051 61.6848 97.3819 61.6848 97.4576 61.6855C105.707 61.7381 111.932 64.1366 115.961 68.814C118.893 72.2193 120.854 76.925 121.825 82.8638C114.511 81.6207 106.601 81.2385 98.145 81.7233C74.3247 83.0954 59.0111 96.9879 60.0396 116.292C60.5615 126.084 65.4397 134.508 73.775 140.011C80.8224 144.663 89.899 146.938 99.3323 146.423C111.79 145.74 121.563 140.987 128.381 132.296C133.559 125.696 136.834 117.143 138.28 106.366C144.217 109.949 148.617 114.664 151.047 120.332C155.179 129.967 155.42 145.8 142.501 158.708C131.182 170.016 117.576 174.908 97.0135 175.059C74.2042 174.89 56.9538 167.575 45.7381 153.317C35.2355 139.966 29.8077 120.682 29.6052 96C29.8077 71.3178 35.2355 52.0336 45.7381 38.6827C56.9538 24.4249 74.2039 17.11 97.0132 16.9405C119.988 17.1113 137.539 24.4614 149.184 38.788C154.894 45.8136 159.199 54.6488 162.037 64.9503L178.184 60.6422C174.744 47.9622 169.331 37.0357 161.965 27.974C147.036 9.60668 125.202 0.195148 97.0695 0H96.9569C68.8816 0.19447 47.2921 9.6418 32.7883 28.0793C19.8819 44.4864 13.2244 67.3157 13.0007 95.9325L13 96L13.0007 96.0675C13.2244 124.684 19.8819 147.514 32.7883 163.921C47.2921 182.358 68.8816 191.806 96.9569 192H97.0695C122.03 191.827 139.624 185.292 154.118 170.811C173.081 151.866 172.51 128.119 166.26 113.541C161.776 103.087 153.227 94.5962 141.537 88.9883ZM98.4405 129.507C88.0005 130.095 77.1544 125.409 76.6196 115.372C76.2232 107.93 81.9158 99.626 99.0812 98.6368C101.047 98.5234 102.976 98.468 104.871 98.468C111.106 98.468 116.939 99.0737 122.242 100.233C120.264 124.935 108.662 128.946 98.4405 129.507Z"/></svg></a></li> 131 <li><a href="https://twitter.com/marcus_eckert" target="_blank"><?xml version="1.0" encoding="UTF-8"?> 132<svg viewBox="0 0 300 271" xmlns="http://www.w3.org/2000/svg">
132<script xmlns=""/> 133 <path d="m236 0h46l-101 115 118 156h-92.6l-72.5-94.8-83 94.8h-46l107-123-113-148h94.9l65.5 86.6zm-16.1 244h25.5l-165-218h-27.4z"/> 134</svg></a></li> 135 <li><a href="mailto:hello@forgeandform.co"><?xml version="1.0" encoding="UTF-8"?> 136<svg width="49px" height="34px" viewBox="0 0 49 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 137 <title>email</title> 138 139 <path d="M42.012474,0 C45.3192933,0 48,2.71827116 48,6.07142857 L48,27.9285714 C48,31.2817288 45.3192933,34 42.012474,34 L5.98752599,34 C2.6807067,34 0,31.2817288 0,27.9285714 L0,6.07142857 C0,2.71827116 2.6807067,0 5.98752599,0 L42.012474,0 Z M42.012474,4.04761905 L5.98752599,4.04761905 C4.88525289,4.04761905 3.99168399,4.95370943 3.99168399,6.07142857 L3.99168399,27.9285714 C3.99168399,29.0462906 4.88525289,29.952381 5.98752599,29.952381 L42.012474,29.952381 C43.1147471,29.952381 44.008316,29.0462906 44.008316,27.9285714 L44.008316,6.07142857 C44.008316,4.95370943 43.1147471,4.04761905 42.012474,4.04761905 Z" id="Rectangle"></path> 140 <polygon id="Rectangle" transform="translate(14.0986, 11.1154) rotate(-52.9215) translate(-14.0986, -11.1154)" points="12.1714097 -1.76541796 16.1986425 -1.79232273 16.0257015 23.9961597 11.9984686 24.0230645"></polygon> 141 <polygon id="Rectangle" transform="translate(33.8263, 11.3589) rotate(-37.185) translate(-33.8263, -11.3589)" points="19.9977245 9.43817147 47.6817465 9.25232861 47.6548127 13.2795761 19.9707908 13.465419"></polygon> 142 143</svg></a></li> 144 </ul> 145 146 </nav> 147<div id="frontpage"> 148 149 <div class="topBanner"> 150 <div class="topBannerTop mobileOnly topBarColorChange" style="background-color:#000" topbarColor="rgba(255, 255, 255.0, 1.0)" navMobile="rgba(0, 0,0, 1.0)"> 151 <div class="col-md-2"></div> 152 <div class="col-md-4 centerContent"> 153 <h2>Code And Motion.</h2> 154 </div> 155 <div class="col-md-4"> 156 </div> 157 <div class="col-md-2"></div> 158 </div> 159 <div id="introHeader" class="container topBarColorChange" topbarColor="rgba(0, 0, 0.0, 1.0)" navMobile="rgba(255, 255,255, 1.0)"> 160 <div class="row"> 161 <div class="col-md-2"></div> 162 <div class="col-md-4 centerContent"> 163 <h2 class="desktopOnly" >Code And Motion.</h2> 164 </div> 165 <div class="col-md-4"> 166 <div class="textBox"> 167 <p>Forge and Form is the creative studio of Marcus Eckert.<br> I specialize in graphics and video programming, animation and all things motion.</p> <p>This is what my website would look like.</p> 168 </div> 169 </div> 170 <div class="col-md-2"></div> 171 </div> 172 </div> 173 <hr> 174 </div> 175 <div style="background-color:#fff"> 176 <div class="container mediumContainer client topBarColorChange" topbarColor="rgba(54, 57, 154, 1.0)" topbarColorMobile="rgba(54, 57, 154, 1.0)" navMobile="rgba(255, 255, 255, 1.0)"> 177 <h3>Recent Work</h3> 178 <div class="row"> 179 <div class="col-md-12"> 180 <a href="https://www.riveo.app" target="_blank" class="picLink"> 181 <img class="previewImage lazyLoad" data-src="images/riveo.jpg"> 182 <h4>Riveo</h4> 183 <span class="short_desc">App</span> 184 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 185<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 186<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 187 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 188 189<g> 190 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 191 L140.2,103z"/> 192</g> 193</svg> 194</div> 195 </a> 196 <hr class="cellLine"> 197 </div> 198 199 200 </div> 201 <div class="row"> 202 <div class="col-md-6"> 203 <a href="hq" class="picLink"> 204 <img class="previewImage lazyLoad" data-src="images/hq.png"> 205 <h4>HQ</h4>
206 <span class="short_desc">App</span> 207 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 208<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 209<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 210 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 211 212<g> 213 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 214 L140.2,103z"/> 215</g> 216</svg> 217</div> 218 </a> 219 <hr class="cellLine"> 220 </div> 221 <div class="col-md-6"> 222 <a href="words" class="picLink"> 223 <img class="previewImage lazyLoad" data-src="images/words.png"></img> 224 <h4>HQ Words</h4> 225 <span class="short_desc">App</span> 226 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 227<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 228<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 229 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 230 231<g> 232 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 233 L140.2,103z"/> 234</g> 235</svg> 236</div> 237 </a> 238 <hr class="cellLine"> 239 </div> 240 241 </div> 242 </div> 243 </div> 244 <div style="background-color:#5000ff"> 245 <div class="past-clients container mediumContainer topBarColorChange" topbarColor="rgba(255, 255, 255, 1.0)" topbarColorMobile="rgba(255, 255, 255, 1.0)" navMobile="rgba(0, 0, 0, 1.0)"> 246 <h3>Clients</h3> 247 <div class="row"> 248 <div class="col-md-3 text-center"> 249 <img class="client-logo lazyLoad" data-src="images/netflix-white.png" alt="Netflix"> 250 </div> 251 <div class="col-md-3 text-center"> 252 <img class="client-logo lazyLoad" data-src="images/dropbox-white.png" alt="Dropbox"> 253 </div> 254 <div class="col-md-3 text-center"> 255 <img class="client-logo lazyLoad" data-src="images/uber-white.png" alt="Uber"> 256 </div> 257 <div class="col-md-3 text-center"> 258 <img class="client-logo lazyLoad" data-src="images/kinesis-white.png" alt="Thomson Reuters"> 259 </div> 260 </div> 261 </div> 262 </div> 263 <div class="highlightedContainer topBarColorChange" topbarColor="rgba(51, 51, 51, 1.0)" topbarColorMobile="rgba(236, 74, 74, 1.0)" navMobile="rgba(234, 234, 234, 1.0)"> 264 <div class="container bigContainer personalProjects"> 265 <h3>Projects</h3> 266 <div class="row"> 267 <div class="col-md-6"> 268 <a href="wideSky" class="picLink"> 269 <div class="imageContainer"><img class="previewImage lazyLoad" data-src="images/wideSky.png"></img></div> 270 <h4>Wide Sky</h4> 271 <span class="short_desc">Game</span> 272 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 273<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 274<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 275 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 276 277<g> 278 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 279 L140.2,103z"/> 280</g> 281</svg> 282</div> 283 </a> 284 <hr class="cellLine"> 285 </div> 286 287 <div class="col-md-6"> 288 <a href="http://www.forgeandform.co/squall" class="picLink" target="_blank"> 289 <div class="imageContainer" style="background-image: url('images/squall.png')"></div> 290 <h4>Squall</h4>
291 <span class="short_desc">After Effects Plug-In for iOS</span> 292 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 293<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 294<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 295 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 296 297<g> 298 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 299 L140.2,103z"/> 300</g> 301</svg> 302</div> 303 </a> 304 <hr class="cellLine"> 305 </div> 306 </div> 307 <div class="row"> 308 <div class="col-md-6"> 309 <a href="fc" class="picLink"> 310 <div class="imageContainer" style="background-image: url('images/fcPoster.png')"></div> 311 <h4>First Contact</h4> 312 <span class="short_desc">Mirror After Effects on an iPhone/iPad</span> 313 <div class="moreLink"><?xml version="1.0" encoding="utf-8"?> 314<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 315<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 316 viewBox="0 0 206 206" style="enable-background:new 0 0 206 206;" xml:space="preserve"> 317 318<g> 319 <path class="st0" d="M206,103c0,56.9-46.1,103-103,103S0,159.9,0,103S46.1,0,103,0S206,46.1,206,103z M140.2,103L86.9,49.7v106.6 320 L140.2,103z"/> 321</g> 322</svg> 323</div> 324 </a> 325 <hr class="cellLine"> 326 </div> 327 328 </div> 329 </div> 330 </div> 331 <div class="videoGrid experimentsContainer topBarColorChange" topbarColor="rgba(105, 63, 175, 1.0)" navMobile="rgba(236, 74, 74, 1.0)"> 332 <div class="container"> 333 <h3 id="experimentsTitle"></h3> 334 335 <!-- Template --> 336 <template id="videoExperiment"> 337 <div class="col-md-4"> 338 <div class="squareContainer"> 339 340 <a class="instaLink" href="https://www.instagram.com/forgeandform/" target="_blank"><?xml version="1.0" encoding="utf-8"?> 341<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 342<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 343 viewBox="0 0 60.3 60.3" style="enable-background:new 0 0 60.3 60.3;" xml:space="preserve"> 344 345<path class="st0" d="M60.2,17.9c-0.1-2.9-0.6-5.1-1.4-7.3c-0.8-2.1-1.9-3.8-3.5-5.4c-1.6-1.6-3.3-2.7-5.4-3.5 346 c-2.2-0.8-4.4-1.3-7.3-1.4c-3.2-0.1-4.2-0.2-12.2-0.2c-8,0-9.1,0-12.2,0.2c-2.9,0.1-5.2,0.6-7.3,1.4C8.7,2.5,7.1,3.6,5.5,5.2 347 C3.9,6.8,2.8,8.5,2,10.6c-0.8,2.2-1.3,4.4-1.4,7.3C0.4,21,0.4,22.1,0.4,30.1c0,8,0,9.1,0.2,12.2c0.1,2.9,0.6,5.2,1.4,7.3 348 c0.8,2.1,1.9,3.8,3.5,5.4c1.6,1.6,3.3,2.7,5.4,3.5c2.2,0.8,4.4,1.3,7.3,1.4c3.2,0.1,4.2,0.2,12.2,0.2c8,0,9.1,0,12.2-0.2 349 c2.9-0.1,5.2-0.6,7.3-1.4c2.1-0.8,3.8-1.9,5.4-3.5c1.6-1.6,2.7-3.3,3.5-5.4c0.8-2.2,1.3-4.4,1.4-7.3c0.1-3.2,0.2-4.2,0.2-12.2 350 C60.3,22.1,60.3,21.1,60.2,17.9z M54.1,42c-0.1,2.8-0.6,4.4-1,5.4c-0.5,1.3-1.1,2.3-2.1,3.3c-1,1-1.9,1.6-3.3,2.1 351 c-1,0.4-2.5,0.9-5.4,1c-3.1,0.1-4,0.2-11.9,0.2c-7.9,0-8.8,0-11.9-0.2c-2.8-0.1-4.4-0.6-5.4-1c-1.3-0.5-2.3-1.1-3.3-2.1 352 c-1-1-1.6-1.9-2.1-3.3c-0.4-1-0.9-2.5-1-5.4C6.5,38.9,6.5,38,6.5,30.1c0-7.9,0-8.8,0.2-11.9c0.1-2.8,0.6-4.4,1-5.4 353 c0.5-1.3,1.1-2.3,2.1-3.3s1.9-1.6,3.3-2.1c1-0.4,2.5-0.9,5.4-1c3.1-0.1,4.1-0.2,11.9-0.2c7.9,0,8.8,0,11.9,0.2 354 c2.8,0.1,4.4,0.6,5.4,1C49,7.9,50,8.5,51,9.5c1,1,1.6,1.9,2.1,3.3c0.4,1,0.9,2.5,1,5.4c0.1,3.1,0.2,4,0.2,11.9S54.2,38.9,54.1,42z" 355 /> 356<path class="st0" d="M30.4,14.5c-8.6,0-15.6,7-15.6,15.6s7,15.6,15.6,15.6c8.6,0,15.6-7,15.6-15.6S39,14.5,30.4,14.5z M30.4,39.6 357 c-5.2,0-9.5-4.3-9.5-9.5s4.3-9.5,9.5-9.5s9.5,4.3,9.5,9.5S35.6,39.6,30.4,39.6z"/> 358 359 <path class="st0" d="M46.2,18.2c-2.2,0-3.9-1.8-3.9-3.9s1.8-3.9,3.9-3.9s3.9,1.8,3.9,3.9S48.3,18.2,46.2,18.2z"/> 360 361</svg> 362</a> 363 <video class="instaVideo" playsinline loop allowfullscreen webskitallowfullscreen frameborder="0"></video> 364 365 </div> 366 <div class="description"></div> 367 368 </div> 369 </template> 370 <template id="twitterExperiment"> 371 <div class="col-md-4"> 372 <blockquote class="twitter-tweet"> <a class="tweetLink" href="https://twitter.com/marcus_eckert/status/1595810513602371584"></a></blockquote> 373 374 </div> 375 </template> 376 <!-- /Template --> 377 378 379 </div> 380 </div> 381</div> 382 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 383
383<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
383 384 <!-- Include all compiled plugins (below), or include individual files as needed --> 385
385<script src="js/bootstrap.min.js"></script>
385 386 <div id="footer" class="highlightedContainer topBarColorChange" topbarColor="rgba(255, 255, 255, 1.0)"> 387 388 <div id="footerLogo"> 389 <?xml version="1.0" encoding="utf-8"?> 390<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 391<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 392 viewBox="0 0 188.9 141.7" style="enable-background:new 0 0 188.9 141.7;" xml:space="preserve"> 393<style type="text/css"> 394 395</style> 396<path class="st0" d="M29.5,105.2H13.7V55.8H5.1V41.1h8.6v-1.6c0-10.1,2.2-17.8,6.7-22.9c4.5-5.2,10-7.8,16.3-7.8 397 c2.6,0,5.7,0.4,9.3,1.2l1.5,0.4v16.1l-2.7-1c-1.7-0.6-3.3-0.9-4.8-0.9c-4,0-6.7,1-8.1,2.9c-1.1,1.5-2.3,4.7-2.3,12.1v1.6h10.7v14.7 398 H29.5V105.2z"/> 399<path class="st0" d="M163.8,105.2H148V55.8h-8.6V41.1h8.6v-1.6c0-10.1,2.2-17.8,6.7-22.9c4.5-5.2,10-7.8,16.3-7.8 400 c2.6,0,5.7,0.4,9.3,1.2l1.5,0.4v16.1l-2.7-1c-1.7-0.6-3.3-0.9-4.8-0.9c-4,0-6.7,1-8.1,2.9c-1.1,1.5-2.3,4.7-2.3,12.1v1.6h10.7v14.7 401 h-10.8V105.2z"/> 402<path class="st0" d="M115.4,80.5l-8-9.2L96,58.3c10.6-7.7,16-15.9,16-24.3c0-6.4-2.4-11.8-7.1-16c-4.6-4.1-10.6-6.2-17.6-6.2 403 c-7.2,0-13.2,2.1-17.8,6.3c-4.6,4.2-7,9.8-7,16.6c0,6.7,3.1,13.6,9.2,20.7c-1.7,1-3.5,2.3-5.5,3.8l-0.3,0.3c-5,3.7-8.7,7.4-10.9,11 404 c-2.3,3.7-3.5,8-3.5,12.6c0,6.5,2.4,12,7.2,16.5s10.6,6.7,17.4,6.7c4.2,0,8.8-1,13.6-2.9c4.7-1.9,8.8-4.2,12-6.9l0.2-0.2 405 c1.3-1,2.3-1.9,3.2-2.6l9.9,11.6h21.9L115.4,80.5z M92.8,82.8L92.8,82.8c-2.2,2.1-4.8,3.8-7.7,5.1c-2.8,1.3-5.3,1.9-7.4,1.9 406 c-2.7,0-4.9-0.7-6.8-2.3c-1.8-1.4-2.6-3.1-2.6-5c0-4,3.1-8.1,9.3-12.3l4.3-3l12.4,14.3L92.8,82.8z M89.5,44l-3.6,2.6 407 c-1.8-1.9-3.3-3.9-4.4-6.1c-1.3-2.5-2-4.8-2-6.9c0-1.9,0.7-3.4,2.1-4.7c1.5-1.3,3.4-2,5.8-2c2.5,0,4.4,0.7,6,2.2 408 c1.5,1.4,2.3,3.1,2.3,5.2C95.6,37.9,93.6,41.1,89.5,44z"/>
409<rect x="2.7" y="121.9" class="st0" width="181.6" height="15.9"/> 410</svg> 411 412</div> 413<div id="footerInfo"> 414 <span class="noneHighlight">Want to discuss a project?</span> 415 <p><a href="mailto:hello@forgeandform.co">Come and say hi!</a></p> 416 </div> 417 <div id="footerInfoRight"> 418 <ul id="footerTable"> 419 <li>Forge and Form GmbH, 2026</li> 420 <li><a href="https://forgeandform.co//impressum">Legal Disclaimer/ Impressum</a></li> 421 <li><a href="https://forgeandform.co//privacyPolicy">Privacy Policy/ Datenschutzerklärung</a></li> 422 </ul> 423 </div> 424 </div> 425
425<script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js" data-cfasync="false"></script>
425 426 427 </body> 428</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.