diff --git a/public/assets/css/style.css b/public/assets/css/style.css index f2a0dfb..27cda5c 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -1,5 +1,7 @@ :root { - --color: black; + --color: #212121; + --color-accent: white; + --color-highlight: #f4f2ff; } @font-face { @@ -23,19 +25,25 @@ /* Cornerstones */ * { - margin: auto; + margin: 0; font-family: "Roboto Mono","Arial",sans-serif; color: var(--color); } +*::selection { + background: var(--color-highlight); + color: var(--color); +} + html, body, -main { +main, +main > div { width: 100%; height: 100%; } -/* Components */ +/* --- */ .logo { --size: 3vw; @@ -58,16 +66,118 @@ main { opacity: .3; } +h2 { + font-weight: normal; + font-size: 1.42em; +} + +h2 span { + color: var(--color-accent); + background: var(--color); +} + /* Layout */ main { - display: grid; - grid-template-columns: repeat(2, 1fr); - grid-template-rows: 1fr; - grid-column-gap: 0px; - grid-row-gap: 0px; + margin: auto; + max-width: 200vh; + background: url("../img/pattern.gif"); + background-size: auto 90%; + background-position: 100% 100%; + background-repeat: no-repeat; + image-rendering: pixelated; + image-rendering: -moz-crisp-edges; +} + +main * { + image-rendering: initial; } main > div { - width: 80%; + position: absolute; + width: 50%; + height: 100%; +} + +/* --- */ + +#intro { + left: 0; + width: 100vh; + box-sizing: border-box; + padding: 5vw; + display: flex; + align-items: center; + z-index: 1; +} + +#intro .inner { + display: flex; + flex-wrap: wrap; + height: 100%; +} + +#intro .logo { + --size: 7vh; + margin-bottom: 2em; +} + +#intro .block { + width: 100%; + font-size: 3vh; +} + +#intro .block:last-child { + display: flex; + align-items: flex-end; +} + +#intro .block p { + font-size: .7em; + margin-bottom: 1.5em; +} + +#intro .block p span { + background: var(--color-accent); +} + +/* --- */ + +nav a { + text-decoration: none; + margin-right: 2em; + font-size: .9em; +} + +nav a::after { + content: "→"; + padding-left: .5em; +} + +nav a:hover { + background: var(--color-highlight); + font-weight: bold; +} + +/* --- */ + +#myface { + right: 0; + width: 50%; + display: flex; + justify-content: center; +} + +#myface picture, +#myface img { + position: absolute; + height: 80%; + bottom: 0; + pointer-events: none; + display: flex; + justify-content: center; +} + +#myface img { + height: 100%; } \ No newline at end of file diff --git a/public/assets/img/myface/fallback.jpg b/public/assets/img/myface/fallback.jpg new file mode 100644 index 0000000..b0c95d8 Binary files /dev/null and b/public/assets/img/myface/fallback.jpg differ diff --git a/public/assets/img/myface/highres.png b/public/assets/img/myface/highres.png new file mode 100644 index 0000000..57f0649 Binary files /dev/null and b/public/assets/img/myface/highres.png differ diff --git a/public/assets/img/myface/highres.webp b/public/assets/img/myface/highres.webp new file mode 100644 index 0000000..11e709b Binary files /dev/null and b/public/assets/img/myface/highres.webp differ diff --git a/public/assets/img/myface/mediumres.png b/public/assets/img/myface/mediumres.png new file mode 100644 index 0000000..c8ca5cc Binary files /dev/null and b/public/assets/img/myface/mediumres.png differ diff --git a/public/assets/img/myface/mediumres.webp b/public/assets/img/myface/mediumres.webp new file mode 100644 index 0000000..8b7cc86 Binary files /dev/null and b/public/assets/img/myface/mediumres.webp differ diff --git a/public/assets/img/pattern.gif b/public/assets/img/pattern.gif new file mode 100644 index 0000000..b85a387 Binary files /dev/null and b/public/assets/img/pattern.gif differ diff --git a/public/assets/img/pattern.txt b/public/assets/img/pattern.txt new file mode 100644 index 0000000..d30e08e --- /dev/null +++ b/public/assets/img/pattern.txt @@ -0,0 +1,29 @@ ++--------------------------------------------------------------------------------------------+ +Size comparison for 6x6 monochrome image ranking from best to worst + +pattern.gif: 49 bytes + - Dithering level: 7 (doesn't really matter) + - Transparency threshold: 128 (doesn't really matter) + +pattern.bmp: 86 bytes + - Bit depth: 4 + - Dirthering level: 7 (doesn't really matter) + +pattern.png: 151 bytes + - Bit depth: 4 + - Dirthering level: 7 (doesn't really matter) + - Transparency threshold: 192 (doesn't really matter) + - Interlaced (saves 1 byte) + +pattern.webp: 248 bytes + - Quality: 100 + +pattern.jpg: 800 bytes + - Chroma Subsampling: 4:2:2 (saves 6 bytes from 4:4:4) ++--------------------------------------------------------------------------------------------+ + +-- Here's the image used for the test -- +data:image/gif;base64,R0lGODlhBgAGAHAAACwAAAAABgAGAIH////08v8AAAAAAAACCgRiGciL9mA6ExQAOw== + + +Unfortunately after all response headers are set, the total ends up at 317 bytes. diff --git a/public/assets/js/legacy.js b/public/assets/js/legacy.js new file mode 100644 index 0000000..abb16ab --- /dev/null +++ b/public/assets/js/legacy.js @@ -0,0 +1,7 @@ +// Promote IE to Edge +if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) { + window.location = 'microsoft-edge:' + window.location; + setTimeout(function() { + window.location = 'https://go.microsoft.com/fwlink/?linkid=2135547'; + },1); +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 4de4f0b..04d3003 100644 --- a/public/index.html +++ b/public/index.html @@ -3,35 +3,43 @@ - + - Victor Westerlund
-
-
- -

victor westerlund

-

full-stack web developer

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla convallis, nibh sed ultrices vehicula, risus enim fermentum lacus, vitae lacinia erat arcu in magna. Sed eget aliquam diam, vitae facilisis enim. Morbi laoreet nulla sit amet eros tempor tincidunt.

-

Donec facilisis efficitur dui, sed vestibulum dolor luctus et. Sed tincidunt nulla urna.

-
-
- +
+
+
+ +

victor westerlund

+

full-stack web developer

+
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla convallis, nibh sed ultrices vehicula, risus enim fermentum lacus, vitae lacinia erat arcu in magna. Sed eget aliquam diam, vitae facilisis enim. Morbi laoreet nulla sit amet eros tempor tincidunt.

+

Programming languages: JavaScript, PHP, SQL & Python

+
+
+ +
-
-

Placeholder

+
+ + + + + + +
- + + \ No newline at end of file