wordmark 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -556
  3. data/README.md +17 -33
  4. data/art/blackbox.svg +6 -0
  5. data/art/data.svg +8 -0
  6. data/art/dataplate.svg +12 -0
  7. data/art/drive.svg +6 -0
  8. data/art/hangar.svg +6 -0
  9. data/art/index.html.erb +25 -25
  10. data/art/lens.svg +9 -0
  11. data/art/mirroring.svg +8 -0
  12. data/art/refinery.svg +9 -0
  13. data/art/rollaway.svg +12 -0
  14. data/art/stockroom.svg +12 -0
  15. data/art/tower.svg +12 -0
  16. data/art/wordmark.svg +3 -0
  17. data/lib/wordmark/engine.rb +7 -16
  18. data/lib/wordmark/helpers/heads.rb +6 -6
  19. data/lib/wordmark/marks.rb +14 -4
  20. data/lib/wordmark/version.rb +1 -1
  21. data/lib/wordmark.rb +1 -1
  22. data/public/_headers +0 -4
  23. data/public/bh/js/bh.js +15 -15
  24. data/public/down/{goldrush.html → blackbox.html} +5 -5
  25. data/public/down/{fountain.html → data.html} +5 -5
  26. data/public/down/dataplate.html +87 -0
  27. data/public/down/drive.html +87 -0
  28. data/public/down/{houston.html → hangar.html} +5 -5
  29. data/public/down/lens.html +87 -0
  30. data/public/down/{autopilot.html → mirroring.html} +5 -5
  31. data/public/down/refinery.html +87 -0
  32. data/public/down/rollaway.html +87 -0
  33. data/public/down/stockroom.html +87 -0
  34. data/public/down/tower.html +87 -0
  35. data/public/down/wordmark.html +87 -0
  36. data/public/favicon/blackbox-180.png +0 -0
  37. data/public/favicon/blackbox-192.png +0 -0
  38. data/public/favicon/blackbox-512.png +0 -0
  39. data/public/favicon/blackbox-96.png +0 -0
  40. data/public/favicon/blackbox-dev.svg +6 -0
  41. data/public/favicon/blackbox.ico +0 -0
  42. data/public/favicon/blackbox.svg +6 -0
  43. data/public/favicon/blackbox.webmanifest +12 -0
  44. data/public/favicon/data-180.png +0 -0
  45. data/public/favicon/data-192.png +0 -0
  46. data/public/favicon/data-512.png +0 -0
  47. data/public/favicon/data-96.png +0 -0
  48. data/public/favicon/data-dev.svg +8 -0
  49. data/public/favicon/data.ico +0 -0
  50. data/public/favicon/data.svg +8 -0
  51. data/public/favicon/data.webmanifest +12 -0
  52. data/public/favicon/dataplate-180.png +0 -0
  53. data/public/favicon/dataplate-192.png +0 -0
  54. data/public/favicon/dataplate-512.png +0 -0
  55. data/public/favicon/dataplate-96.png +0 -0
  56. data/public/favicon/dataplate-dev.svg +12 -0
  57. data/public/favicon/dataplate.ico +0 -0
  58. data/public/favicon/dataplate.svg +12 -0
  59. data/public/favicon/dataplate.webmanifest +12 -0
  60. data/public/favicon/drive-180.png +0 -0
  61. data/public/favicon/drive-192.png +0 -0
  62. data/public/favicon/drive-512.png +0 -0
  63. data/public/favicon/drive-96.png +0 -0
  64. data/public/favicon/drive-dev.svg +6 -0
  65. data/public/favicon/drive.ico +0 -0
  66. data/public/favicon/drive.svg +6 -0
  67. data/public/favicon/drive.webmanifest +12 -0
  68. data/public/favicon/hangar-180.png +0 -0
  69. data/public/favicon/hangar-192.png +0 -0
  70. data/public/favicon/hangar-512.png +0 -0
  71. data/public/favicon/hangar-96.png +0 -0
  72. data/public/favicon/hangar-dev.svg +6 -0
  73. data/public/favicon/hangar.ico +0 -0
  74. data/public/favicon/hangar.svg +6 -0
  75. data/public/favicon/hangar.webmanifest +12 -0
  76. data/public/favicon/lens-180.png +0 -0
  77. data/public/favicon/lens-192.png +0 -0
  78. data/public/favicon/lens-512.png +0 -0
  79. data/public/favicon/lens-96.png +0 -0
  80. data/public/favicon/lens-dev.svg +9 -0
  81. data/public/favicon/lens.ico +0 -0
  82. data/public/favicon/lens.svg +9 -0
  83. data/public/favicon/lens.webmanifest +12 -0
  84. data/public/favicon/mirroring-180.png +0 -0
  85. data/public/favicon/mirroring-192.png +0 -0
  86. data/public/favicon/mirroring-512.png +0 -0
  87. data/public/favicon/mirroring-96.png +0 -0
  88. data/public/favicon/mirroring-dev.svg +8 -0
  89. data/public/favicon/mirroring.ico +0 -0
  90. data/public/favicon/mirroring.svg +8 -0
  91. data/public/favicon/mirroring.webmanifest +12 -0
  92. data/public/favicon/refinery-180.png +0 -0
  93. data/public/favicon/refinery-192.png +0 -0
  94. data/public/favicon/refinery-512.png +0 -0
  95. data/public/favicon/refinery-96.png +0 -0
  96. data/public/favicon/refinery-dev.svg +9 -0
  97. data/public/favicon/refinery.ico +0 -0
  98. data/public/favicon/refinery.svg +9 -0
  99. data/public/favicon/refinery.webmanifest +12 -0
  100. data/public/favicon/rollaway-180.png +0 -0
  101. data/public/favicon/rollaway-192.png +0 -0
  102. data/public/favicon/rollaway-512.png +0 -0
  103. data/public/favicon/rollaway-96.png +0 -0
  104. data/public/favicon/rollaway-dev.svg +12 -0
  105. data/public/favicon/rollaway.ico +0 -0
  106. data/public/favicon/rollaway.svg +12 -0
  107. data/public/favicon/rollaway.webmanifest +12 -0
  108. data/public/favicon/stockroom-180.png +0 -0
  109. data/public/favicon/stockroom-192.png +0 -0
  110. data/public/favicon/stockroom-512.png +0 -0
  111. data/public/favicon/stockroom-96.png +0 -0
  112. data/public/favicon/stockroom-dev.svg +12 -0
  113. data/public/favicon/stockroom.ico +0 -0
  114. data/public/favicon/stockroom.svg +12 -0
  115. data/public/favicon/stockroom.webmanifest +12 -0
  116. data/public/favicon/tower-180.png +0 -0
  117. data/public/favicon/tower-192.png +0 -0
  118. data/public/favicon/tower-512.png +0 -0
  119. data/public/favicon/tower-96.png +0 -0
  120. data/public/favicon/tower-dev.svg +12 -0
  121. data/public/favicon/tower.ico +0 -0
  122. data/public/favicon/tower.svg +12 -0
  123. data/public/favicon/tower.webmanifest +12 -0
  124. data/public/favicon/wordmark-180.png +0 -0
  125. data/public/favicon/wordmark-192.png +0 -0
  126. data/public/favicon/wordmark-512.png +0 -0
  127. data/public/favicon/wordmark-96.png +0 -0
  128. data/public/favicon/wordmark-dev.svg +3 -0
  129. data/public/favicon/wordmark.ico +0 -0
  130. data/public/favicon/wordmark.svg +3 -0
  131. data/public/favicon/wordmark.webmanifest +12 -0
  132. data/public/index.html +49 -33
  133. data/public/logo/blackbox.png +0 -0
  134. data/public/logo/blackbox.svg +6 -0
  135. data/public/logo/data.png +0 -0
  136. data/public/logo/data.svg +8 -0
  137. data/public/logo/dataplate.png +0 -0
  138. data/public/logo/dataplate.svg +12 -0
  139. data/public/logo/drive.png +0 -0
  140. data/public/logo/drive.svg +6 -0
  141. data/public/logo/hangar.png +0 -0
  142. data/public/logo/hangar.svg +6 -0
  143. data/public/logo/lens.png +0 -0
  144. data/public/logo/lens.svg +9 -0
  145. data/public/logo/mirroring.png +0 -0
  146. data/public/logo/mirroring.svg +8 -0
  147. data/public/logo/refinery.png +0 -0
  148. data/public/logo/refinery.svg +9 -0
  149. data/public/logo/rollaway.png +0 -0
  150. data/public/logo/rollaway.svg +12 -0
  151. data/public/logo/stockroom.png +0 -0
  152. data/public/logo/stockroom.svg +12 -0
  153. data/public/logo/tower.png +0 -0
  154. data/public/logo/tower.svg +12 -0
  155. data/public/logo/wordmark.png +0 -0
  156. data/public/logo/wordmark.svg +3 -0
  157. metadata +146 -70
  158. data/art/autopilot.svg +0 -9
  159. data/art/fountain.svg +0 -9
  160. data/art/goldrush.svg +0 -7
  161. data/art/houston.svg +0 -8
  162. data/public/favicon/autopilot-180.png +0 -0
  163. data/public/favicon/autopilot-192.png +0 -0
  164. data/public/favicon/autopilot-512.png +0 -0
  165. data/public/favicon/autopilot-96.png +0 -0
  166. data/public/favicon/autopilot-dev.svg +0 -9
  167. data/public/favicon/autopilot.ico +0 -0
  168. data/public/favicon/autopilot.svg +0 -9
  169. data/public/favicon/autopilot.webmanifest +0 -12
  170. data/public/favicon/fountain-180.png +0 -0
  171. data/public/favicon/fountain-192.png +0 -0
  172. data/public/favicon/fountain-512.png +0 -0
  173. data/public/favicon/fountain-96.png +0 -0
  174. data/public/favicon/fountain-dev.svg +0 -9
  175. data/public/favicon/fountain.ico +0 -0
  176. data/public/favicon/fountain.svg +0 -9
  177. data/public/favicon/fountain.webmanifest +0 -12
  178. data/public/favicon/goldrush-180.png +0 -0
  179. data/public/favicon/goldrush-192.png +0 -0
  180. data/public/favicon/goldrush-512.png +0 -0
  181. data/public/favicon/goldrush-96.png +0 -0
  182. data/public/favicon/goldrush-dev.svg +0 -7
  183. data/public/favicon/goldrush.ico +0 -0
  184. data/public/favicon/goldrush.svg +0 -7
  185. data/public/favicon/goldrush.webmanifest +0 -12
  186. data/public/favicon/houston-180.png +0 -0
  187. data/public/favicon/houston-192.png +0 -0
  188. data/public/favicon/houston-512.png +0 -0
  189. data/public/favicon/houston-96.png +0 -0
  190. data/public/favicon/houston-dev.svg +0 -8
  191. data/public/favicon/houston.ico +0 -0
  192. data/public/favicon/houston.svg +0 -8
  193. data/public/favicon/houston.webmanifest +0 -12
  194. data/public/logo/autopilot.png +0 -0
  195. data/public/logo/autopilot.svg +0 -9
  196. data/public/logo/fountain.png +0 -0
  197. data/public/logo/fountain.svg +0 -9
  198. data/public/logo/goldrush.png +0 -0
  199. data/public/logo/goldrush.svg +0 -7
  200. data/public/logo/houston.png +0 -0
  201. data/public/logo/houston.svg +0 -8
  202. data/public/v0.21.0/bh/css/bh.css +0 -1
  203. data/public/v0.21.0/bh/js/bh.js +0 -152
  204. data/public/v0.21.0/bh/theme/bootstrap.css +0 -10
  205. data/public/v0.21.0/bh/theme/dawn.css +0 -189
  206. data/public/v0.21.0/bh/theme/dracula.css +0 -189
  207. data/public/v0.21.0/bh/theme/gruvbox.css +0 -189
  208. data/public/v0.21.0/bh/theme/monokai.css +0 -190
  209. data/public/v0.21.0/bh/theme/nord.css +0 -189
  210. data/public/v0.21.0/bh/theme/one_dark.css +0 -189
  211. data/public/v0.21.0/bh/theme/solarized.css +0 -188
  212. data/public/v0.21.0/bh/theme/tokyo_night.css +0 -189
  213. data/public/v0.21.0/css/easyfaa.css +0 -1
  214. data/public/v0.21.0/font/bootstrap-icons-FRBPO3H7.woff2 +0 -0
  215. data/public/v0.21.0/font/ibm-plex-sans-500-latin-LA7QXWWL.woff2 +0 -0
  216. data/public/v0.21.0/font/ibm-plex-sans-500-latin-ext-X4QHZICY.woff2 +0 -0
  217. data/public/v0.21.0/font/ibm-plex-sans-500-latin-ext.woff2 +0 -0
  218. data/public/v0.21.0/font/ibm-plex-sans-500-latin.woff2 +0 -0
  219. data/public/v0.21.0/font/ibm-plex-sans-500-vietnamese-24B6BSND.woff2 +0 -0
  220. data/public/v0.21.0/font/ibm-plex-sans-500-vietnamese.woff2 +0 -0
  221. data/public/v0.21.0/js/easyfaa.js +0 -1
@@ -0,0 +1,87 @@
1
+ <!doctype html>
2
+ <html lang='en'>
3
+ <head>
4
+ <meta charset='utf-8'>
5
+ <meta name='viewport' content='width=device-width, initial-scale=1'>
6
+ <title>stockroom</title>
7
+ <meta name='color-scheme' content='light dark'>
8
+ <link rel='icon' href='https://design.easyfaa.com/favicon/stockroom.svg' type='image/svg+xml'>
9
+ <link rel='icon' href='https://design.easyfaa.com/favicon/stockroom-96.png' type='image/png' sizes='96x96'>
10
+ <link rel='apple-touch-icon' href='https://design.easyfaa.com/favicon/stockroom-180.png'>
11
+ <style>
12
+ @font-face {
13
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
14
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-vietnamese.woff2') format('woff2');
15
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
16
+ }
17
+ @font-face {
18
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
19
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin-ext.woff2') format('woff2');
20
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
21
+ }
22
+ @font-face {
23
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
24
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin.woff2') format('woff2');
25
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
26
+ }
27
+ :root {
28
+ --bg: #fbfcfe;
29
+ --ink: #0b1e3a;
30
+ --mark: #5aa9e6;
31
+ }
32
+ @media (prefers-color-scheme: dark) {
33
+ :root {
34
+ --bg: #0f1622;
35
+ --ink: #cfe3f6;
36
+ }
37
+ }
38
+ * { box-sizing: border-box; }
39
+ body {
40
+ margin: 0;
41
+ min-height: 100svh;
42
+ display: flex;
43
+ flex-direction: column;
44
+ background: var(--bg);
45
+ font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
46
+ font-weight: 500;
47
+ letter-spacing: 0.01em;
48
+ }
49
+ main {
50
+ flex: 1;
51
+ display: grid;
52
+ place-items: center;
53
+ }
54
+ .lockup {
55
+ white-space: nowrap;
56
+ color: var(--ink);
57
+ line-height: 1;
58
+ }
59
+ /* The mark on the text baseline, sized and nudged by its own numbers, in ems so the
60
+ same pair reads right at both sizes on this page. */
61
+ .lockup svg {
62
+ position: relative;
63
+ vertical-align: baseline;
64
+ margin-right: 0.29em;
65
+ }
66
+ main .lockup { font-size: 48px; }
67
+ footer {
68
+ position: sticky;
69
+ bottom: 0;
70
+ background: var(--bg);
71
+ display: flex;
72
+ justify-content: center;
73
+ padding: 20px 0 26px;
74
+ }
75
+ footer .lockup { font-size: 20px; }
76
+ footer .easy { color: var(--mark); }
77
+ </style>
78
+ </head>
79
+ <body>
80
+ <main>
81
+ <p class='lockup'><svg aria-hidden='true' style='width: 0.8096em; height: 0.8096em; top: 0.0348em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill="none" stroke="#19753e" style="stroke: light-dark(#19753e, #59c27a)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round"><path d="M72 40V472"/><path d="M440 40V472"/><path d="M72 200H440"/><path d="M72 360H440"/><path d="M120 200V112H240V200"/><path d="M280 200V144H392V200"/><path d="M120 360V280H200V360"/><path d="M240 360V248H392V360"/></g></svg>stockroom</p>
82
+ </main>
83
+ <footer>
84
+ <p class='lockup'><svg aria-hidden='true' style='width: 0.8em; height: 0.8em; top: 0.16em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill="none" stroke="#5aa9e6" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"><path d="M74.5 340H437.5A200 200 0 0 1 74.5 340Z" fill="#0b1e3a" stroke="none"/><circle cx="256" cy="256" r="200"/><path d="M150 256H216L256 296L296 256H362"/></g></svg><span class='easy'>easy</span>faa</p>
85
+ </footer>
86
+ </body>
87
+ </html>
@@ -0,0 +1,87 @@
1
+ <!doctype html>
2
+ <html lang='en'>
3
+ <head>
4
+ <meta charset='utf-8'>
5
+ <meta name='viewport' content='width=device-width, initial-scale=1'>
6
+ <title>tower</title>
7
+ <meta name='color-scheme' content='light dark'>
8
+ <link rel='icon' href='https://design.easyfaa.com/favicon/tower.svg' type='image/svg+xml'>
9
+ <link rel='icon' href='https://design.easyfaa.com/favicon/tower-96.png' type='image/png' sizes='96x96'>
10
+ <link rel='apple-touch-icon' href='https://design.easyfaa.com/favicon/tower-180.png'>
11
+ <style>
12
+ @font-face {
13
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
14
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-vietnamese.woff2') format('woff2');
15
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
16
+ }
17
+ @font-face {
18
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
19
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin-ext.woff2') format('woff2');
20
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
21
+ }
22
+ @font-face {
23
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
24
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin.woff2') format('woff2');
25
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
26
+ }
27
+ :root {
28
+ --bg: #fbfcfe;
29
+ --ink: #0b1e3a;
30
+ --mark: #5aa9e6;
31
+ }
32
+ @media (prefers-color-scheme: dark) {
33
+ :root {
34
+ --bg: #0f1622;
35
+ --ink: #cfe3f6;
36
+ }
37
+ }
38
+ * { box-sizing: border-box; }
39
+ body {
40
+ margin: 0;
41
+ min-height: 100svh;
42
+ display: flex;
43
+ flex-direction: column;
44
+ background: var(--bg);
45
+ font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
46
+ font-weight: 500;
47
+ letter-spacing: 0.01em;
48
+ }
49
+ main {
50
+ flex: 1;
51
+ display: grid;
52
+ place-items: center;
53
+ }
54
+ .lockup {
55
+ white-space: nowrap;
56
+ color: var(--ink);
57
+ line-height: 1;
58
+ }
59
+ /* The mark on the text baseline, sized and nudged by its own numbers, in ems so the
60
+ same pair reads right at both sizes on this page. */
61
+ .lockup svg {
62
+ position: relative;
63
+ vertical-align: baseline;
64
+ margin-right: 0.29em;
65
+ }
66
+ main .lockup { font-size: 48px; }
67
+ footer {
68
+ position: sticky;
69
+ bottom: 0;
70
+ background: var(--bg);
71
+ display: flex;
72
+ justify-content: center;
73
+ padding: 20px 0 26px;
74
+ }
75
+ footer .lockup { font-size: 20px; }
76
+ footer .easy { color: var(--mark); }
77
+ </style>
78
+ </head>
79
+ <body>
80
+ <main>
81
+ <p class='lockup'><svg aria-hidden='true' style='width: 0.8096em; height: 0.8096em; top: 0.0348em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill="none" stroke="#1a70d0" style="stroke: light-dark(#1a70d0, #689dff)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round"><path d="M256 104V40"/><path d="M148 104H364"/><path d="M96 168H416L372 272H140Z"/><path d="M208 168 216 272"/><path d="M304 168 296 272"/><path d="M188 272 172 472"/><path d="M324 272 340 472"/><path d="M116 472H396"/></g></svg>tower</p>
82
+ </main>
83
+ <footer>
84
+ <p class='lockup'><svg aria-hidden='true' style='width: 0.8em; height: 0.8em; top: 0.16em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill="none" stroke="#5aa9e6" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"><path d="M74.5 340H437.5A200 200 0 0 1 74.5 340Z" fill="#0b1e3a" stroke="none"/><circle cx="256" cy="256" r="200"/><path d="M150 256H216L256 296L296 256H362"/></g></svg><span class='easy'>easy</span>faa</p>
85
+ </footer>
86
+ </body>
87
+ </html>
@@ -0,0 +1,87 @@
1
+ <!doctype html>
2
+ <html lang='en'>
3
+ <head>
4
+ <meta charset='utf-8'>
5
+ <meta name='viewport' content='width=device-width, initial-scale=1'>
6
+ <title>wordmark</title>
7
+ <meta name='color-scheme' content='light dark'>
8
+ <link rel='icon' href='https://design.easyfaa.com/favicon/wordmark.svg' type='image/svg+xml'>
9
+ <link rel='icon' href='https://design.easyfaa.com/favicon/wordmark-96.png' type='image/png' sizes='96x96'>
10
+ <link rel='apple-touch-icon' href='https://design.easyfaa.com/favicon/wordmark-180.png'>
11
+ <style>
12
+ @font-face {
13
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
14
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-vietnamese.woff2') format('woff2');
15
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
16
+ }
17
+ @font-face {
18
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
19
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin-ext.woff2') format('woff2');
20
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
21
+ }
22
+ @font-face {
23
+ font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap;
24
+ src: url('https://design.easyfaa.com/font/ibm-plex-sans-500-latin.woff2') format('woff2');
25
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
26
+ }
27
+ :root {
28
+ --bg: #fbfcfe;
29
+ --ink: #0b1e3a;
30
+ --mark: #5aa9e6;
31
+ }
32
+ @media (prefers-color-scheme: dark) {
33
+ :root {
34
+ --bg: #0f1622;
35
+ --ink: #cfe3f6;
36
+ }
37
+ }
38
+ * { box-sizing: border-box; }
39
+ body {
40
+ margin: 0;
41
+ min-height: 100svh;
42
+ display: flex;
43
+ flex-direction: column;
44
+ background: var(--bg);
45
+ font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
46
+ font-weight: 500;
47
+ letter-spacing: 0.01em;
48
+ }
49
+ main {
50
+ flex: 1;
51
+ display: grid;
52
+ place-items: center;
53
+ }
54
+ .lockup {
55
+ white-space: nowrap;
56
+ color: var(--ink);
57
+ line-height: 1;
58
+ }
59
+ /* The mark on the text baseline, sized and nudged by its own numbers, in ems so the
60
+ same pair reads right at both sizes on this page. */
61
+ .lockup svg {
62
+ position: relative;
63
+ vertical-align: baseline;
64
+ margin-right: 0.29em;
65
+ }
66
+ main .lockup { font-size: 48px; }
67
+ footer {
68
+ position: sticky;
69
+ bottom: 0;
70
+ background: var(--bg);
71
+ display: flex;
72
+ justify-content: center;
73
+ padding: 20px 0 26px;
74
+ }
75
+ footer .lockup { font-size: 20px; }
76
+ footer .easy { color: var(--mark); }
77
+ </style>
78
+ </head>
79
+ <body>
80
+ <main>
81
+ <p class='lockup'><svg aria-hidden='true' style='width: 1.0417em; height: 1.0417em; top: 0.2583em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#1a70d0" style="fill: light-dark(#1a70d0, #689dff)" d="M40 380.8 144.1 127.5H170.4L273.8 380.8H233.5L150 170.2H163.8L79.6 380.8ZM90.2 326.9V294.4H223.9V326.9ZM380.4 384.5Q356.6 384.5 337.5 372.6Q318.3 360.6 307.2 340.2Q296.1 319.8 296.1 294.4Q296.1 268.8 307.2 248.3Q318.3 227.9 337.4 215.8Q356.6 203.7 380.3 203.7Q400.2 203.7 415.7 212Q431.1 220.4 440.4 235Q449.7 249.6 450.3 268.4V319.7Q449.6 338.5 440.5 353.2Q431.4 367.8 415.8 376.1Q400.3 384.5 380.4 384.5ZM386.2 350.7Q409.8 350.7 424.1 334.9Q438.5 319.1 438.5 294.1Q438.5 277.4 432 264.6Q425.4 251.8 413.7 244.6Q401.9 237.4 386.1 237.4Q370.5 237.4 358.5 244.7Q346.5 251.9 339.6 264.7Q332.8 277.5 332.8 294.1Q332.8 310.7 339.6 323.5Q346.5 336.3 358.5 343.5Q370.6 350.7 386.2 350.7ZM436.3 380.8V334.2L442.7 291.8L436.3 249.9V207.3H472V380.8Z"/></svg>wordmark</p>
82
+ </main>
83
+ <footer>
84
+ <p class='lockup'><svg aria-hidden='true' style='width: 0.8em; height: 0.8em; top: 0.16em' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill="none" stroke="#5aa9e6" stroke-width="28" stroke-linecap="round" stroke-linejoin="round"><path d="M74.5 340H437.5A200 200 0 0 1 74.5 340Z" fill="#0b1e3a" stroke="none"/><circle cx="256" cy="256" r="200"/><path d="M150 256H216L256 296L296 256H362"/></g></svg><span class='easy'>easy</span>faa</p>
85
+ </footer>
86
+ </body>
87
+ </html>
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <rect x="56" y="104" width="400" height="304" rx="28"/>
4
+ <path d="M112 264H184L216 184L264 344L304 224L328 264H400"/>
5
+ </g>
6
+ </svg>
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#7e6317" style="stroke: light-dark(#7e6317, #ffd352)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <rect x="56" y="104" width="400" height="304" rx="28"/>
4
+ <path d="M112 264H184L216 184L264 344L304 224L328 264H400"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Blackbox",
3
+ "short_name": "Blackbox",
4
+ "icons": [
5
+ { "src": "/favicon/blackbox-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/blackbox-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <ellipse cx="256" cy="112" rx="176" ry="56"/>
4
+ <path d="M80 112V400A176 56 0 0 0 432 400V112"/>
5
+ <path d="M80 208A176 56 0 0 0 432 208"/>
6
+ <path d="M80 304A176 56 0 0 0 432 304"/>
7
+ </g>
8
+ </svg>
Binary file
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#5aa9e6" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <ellipse cx="256" cy="112" rx="176" ry="56"/>
4
+ <path d="M80 112V400A176 56 0 0 0 432 400V112"/>
5
+ <path d="M80 208A176 56 0 0 0 432 208"/>
6
+ <path d="M80 304A176 56 0 0 0 432 304"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Data",
3
+ "short_name": "Data",
4
+ "icons": [
5
+ { "src": "/favicon/data-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/data-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <rect x="48" y="104" width="416" height="304" rx="28"/>
4
+ <circle cx="104" cy="160" r="6"/>
5
+ <circle cx="408" cy="160" r="6"/>
6
+ <circle cx="104" cy="352" r="6"/>
7
+ <circle cx="408" cy="352" r="6"/>
8
+ <path d="M168 200H344"/>
9
+ <path d="M168 256H344"/>
10
+ <path d="M168 312H280"/>
11
+ </g>
12
+ </svg>
Binary file
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#0b1e3a" style="stroke: light-dark(#0b1e3a, #cfe3f6)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <rect x="48" y="104" width="416" height="304" rx="28"/>
4
+ <circle cx="104" cy="160" r="6"/>
5
+ <circle cx="408" cy="160" r="6"/>
6
+ <circle cx="104" cy="352" r="6"/>
7
+ <circle cx="408" cy="352" r="6"/>
8
+ <path d="M168 200H344"/>
9
+ <path d="M168 256H344"/>
10
+ <path d="M168 312H280"/>
11
+ </g>
12
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Dataplate",
3
+ "short_name": "Dataplate",
4
+ "icons": [
5
+ { "src": "/favicon/dataplate-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/dataplate-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <circle cx="256" cy="256" r="208"/>
4
+ <path d="M256 152 346 204V308L256 360 166 308V204Z"/>
5
+ </g>
6
+ </svg>
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#0b1e3a" style="stroke: light-dark(#0b1e3a, #cfe3f6)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <circle cx="256" cy="256" r="208"/>
4
+ <path d="M256 152 346 204V308L256 360 166 308V204Z"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Drive",
3
+ "short_name": "Drive",
4
+ "icons": [
5
+ { "src": "/favicon/drive-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/drive-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M48 456V264A208 208 0 0 1 464 264V456Z"/>
4
+ <path d="M160 456V304H352V456"/>
5
+ </g>
6
+ </svg>
Binary file
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#1b5e55" style="stroke: light-dark(#1b5e55, #9fd9cf)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M48 456V264A208 208 0 0 1 464 264V456Z"/>
4
+ <path d="M160 456V304H352V456"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Hangar",
3
+ "short_name": "Hangar",
4
+ "icons": [
5
+ { "src": "/favicon/hangar-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/hangar-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M72 168V72H168"/>
4
+ <path d="M344 72H440V168"/>
5
+ <path d="M440 344V440H344"/>
6
+ <path d="M168 440H72V344"/>
7
+ <circle cx="256" cy="256" r="104"/>
8
+ </g>
9
+ </svg>
Binary file
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#5b2a86" style="stroke: light-dark(#5b2a86, #d6bdf2)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M72 168V72H168"/>
4
+ <path d="M344 72H440V168"/>
5
+ <path d="M440 344V440H344"/>
6
+ <path d="M168 440H72V344"/>
7
+ <circle cx="256" cy="256" r="104"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Lens",
3
+ "short_name": "Lens",
4
+ "icons": [
5
+ { "src": "/favicon/lens-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/lens-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <ellipse cx="256" cy="192" rx="136" ry="152"/>
4
+ <path d="M200 120Q216 96 248 88"/>
5
+ <path d="M256 344V472"/>
6
+ <path d="M216 472H296"/>
7
+ </g>
8
+ </svg>
Binary file
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#5aa9e6" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <ellipse cx="256" cy="192" rx="136" ry="152"/>
4
+ <path d="M200 120Q216 96 248 88"/>
5
+ <path d="M256 344V472"/>
6
+ <path d="M216 472H296"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Mirroring",
3
+ "short_name": "Mirroring",
4
+ "icons": [
5
+ { "src": "/favicon/mirroring-192.png", "sizes": "192x192", "type": "image/png" },
6
+ { "src": "/favicon/mirroring-512.png", "sizes": "512x512", "type": "image/png" }
7
+ ],
8
+ "theme_color": "#12233d",
9
+ "background_color": "#12233d",
10
+ "display": "standalone",
11
+ "start_url": "/"
12
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#e0479f" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M96 456V128A56 56 0 0 1 208 128V456"/>
4
+ <path d="M96 312H208"/>
5
+ <path d="M208 224H360V296"/>
6
+ <path d="M272 456V328Q360 280 448 328V456"/>
7
+ <path d="M48 456H464"/>
8
+ </g>
9
+ </svg>
Binary file
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <g fill="none" stroke="#6f4219" style="stroke: light-dark(#6f4219, #e8c29c)" stroke-width="36" stroke-linecap="round" stroke-linejoin="round">
3
+ <path d="M96 456V128A56 56 0 0 1 208 128V456"/>
4
+ <path d="M96 312H208"/>
5
+ <path d="M208 224H360V296"/>
6
+ <path d="M272 456V328Q360 280 448 328V456"/>
7
+ <path d="M48 456H464"/>
8
+ </g>
9
+ </svg>