From 01e0bbab81708e61e2e74f64d511edb0b234782e Mon Sep 17 00:00:00 2001 From: Angel <144711471+weightedangelcube@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:17:05 -0700 Subject: [PATCH] update ui --- CNAME | 1 - apple-touch-icon.png | Bin 2766 -> 0 bytes assets/static/main.css | 2632 +++------------------------------- contact.html | 72 + favicon-48x48.png | Bin 479 -> 0 bytes favicon.ico | Bin 15086 -> 0 bytes favicon.svg | 16 - index.html | 218 +-- projects.html | 93 ++ site.webmanifest | 21 - web-app-manifest-192x192.png | Bin 3070 -> 0 bytes web-app-manifest-512x512.png | Bin 12173 -> 0 bytes 12 files changed, 365 insertions(+), 2688 deletions(-) delete mode 100644 CNAME delete mode 100644 apple-touch-icon.png create mode 100644 contact.html delete mode 100644 favicon-48x48.png delete mode 100644 favicon.ico delete mode 100644 favicon.svg create mode 100644 projects.html delete mode 100644 site.webmanifest delete mode 100644 web-app-manifest-192x192.png delete mode 100644 web-app-manifest-512x512.png diff --git a/CNAME b/CNAME deleted file mode 100644 index 0853eba..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -angelcube.dev \ No newline at end of file diff --git a/apple-touch-icon.png b/apple-touch-icon.png deleted file mode 100644 index e91533aac855229075b0329459ff086dc9ccd6c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2766 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 diff --git a/assets/static/main.css b/assets/static/main.css index 5803838..ca48552 100644 --- a/assets/static/main.css +++ b/assets/static/main.css @@ -1,2519 +1,227 @@ -/* #region || Fonts */ -.space-mono-regular { - font-family: "Space Mono", monospace; - font-weight: 400; - font-style: normal; -} +@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); -.space-mono-bold { - font-family: "Space Mono", monospace; - font-weight: 700; - font-style: normal; +:root { + --width: 720px; + --font-main: 'Space Mono', monospace; + --font-secondary: 'Rubik'; + --font-scale: 1em; + --background-color: #27232B; + --heading-color: #8B8FFF; + --text-color: #8B8FFF; + --link-color: #8B8FFF; + --visited-color: #8B8FFF; + --code-background-color: #6b70bc; + --code-color: #27232B; + --blockquote-color: #222; } -.space-mono-regular-italic { - font-family: "Space Mono", monospace; - font-weight: 400; - font-style: italic; +body { + font-family: var(--font-secondary); + font-size: var(--font-scale); + margin: auto; + padding: 20px; + max-width: var(--width); + text-align: left; + background-color: var(--background-color); + word-wrap: break-word; + overflow-wrap: break-word; + line-height: 1.5; + color: var(--text-color); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: normal; + font-family: var(--font-main); + color: var(--heading-color); } -.space-mono-bold-italic { - font-family: "Space Mono", monospace; - font-weight: 700; - font-style: italic; +a { + color: var(--link-color); + cursor: pointer; + text-decoration: underline; } -.rubik { - font-family: "Rubik", sans-serif; - font-optical-sizing: auto; - font-weight: 400; - font-style: normal; +a:hover { + text-decoration: underline; } -h1 { - box-sizing: border-box; - border-width: 1px; - color: #fff; - font-family: "Space Mono", monospace; - white-space: nowrap; +main { + margin-top: 40px; + margin-bottom: 20px; + padding: 30px; + border: 1px solid var(--link-color); + line-height: 1.6; } -p, -span, -a { - color: #fff; - text-decoration: none; - font-family: "Rubik", sans-serif; - white-space: nowrap; -} -.primary-text { +nav a { + margin-right: 8px; } -.secondary-text { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; +strong, +b { + color: var(--heading-color); } -/* #endregion */ - -/* #region || General styles */ -:root { - line-height: 1.2; +button { + margin: 0; + cursor: pointer; } -body { - background: #111; - margin: 0; +table { + width: 100%; } -div { - box-sizing: border-box; - border-width: 1px; +hr { + border: 0; + border-top: 1px dashed; + color: var(--text-color) } -ul { - margin-top: 0; - margin-bottom: 10px; - padding-left: 40px; +img { + max-width: 100%; } -/* #endregion */ - -/* #region || Sitewide styles */ - -.root { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; +code { + font-family: monospace; + padding: 2px; + background-color: var(--code-background-color); + color: var(--code-color); + border-radius: 3px; } -.svg-wrapper { - object-fit: cover; - object-position: center center; - padding: 0; +blockquote { + border-top: 1px solid var(--heading-color); + border-bottom: 1px solid var(--heading-color); + color: var(--text-color); + padding: 20px; + font-style: italic; + margin-left: 0px; + margin-right: 0px; } -/* #region || Navbar styles */ - - nav { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; - background-color: #111; - } - - .navbar-wrapper { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; - } - - .logo { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - white-space: nowrap; - } - - .logo span { - font-weight: 600; - font-family: "Space Mono", monospace; - color: #fff; - } - - .menu-wrapper { - position: relative; - height: 100%; - max-height: 56px; - } - - .menu-wrapper__mobile { - display: none; - } - - ul.menu { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; - } - - .menu li { - display: flex; - align-items: center; - height: 100%; - } - - .menu li a { - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - padding: 16px 12px; - opacity: 0.7; - } - -/* #endregion */ - -/* #region || Main styles */ - - main { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; - } - - /* #region || Header styles */ - - .header-wrapper { - width: 100%; - margin-bottom: 16px; - } - - .header-cover { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; - } - - .header-content { - top: 140px; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; - } - - .title-wrapper { - margin-top: 142px; - margin-bottom: 4px; - position: relative; - } - - h1.header { - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - } - - .icon-wrapper { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; - } - - /* #endregion */ - - /* #region || Body styles */ - - .body-wrapper { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - } +footer { + padding: 25px 0; + text-align: center; + opacity: 0.6; +} - .callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow: hidden; - border-radius: 18px; - flex-direction: column; - border-style: solid; - border-color: #252525; - padding: 1rem; - } +#hidden-child { + visibility: hidden; +} - .callout div { - padding: 3px 2px; - } +#hidden-parent:hover #hidden-child { + visibility: visible; +} - /* #endregion */ +.title:hover { + text-decoration: none; +} -/* #endregion */ +.title h1 { + font-size: 1em; + padding: 5px 10px; + background: var(--heading-color); + color: var(--background-color); + display: inline-block; + font-weight: 400; +} -/* #region || Footer styles */ - footer { - padding: 48px 96px; - } -/* #endregion */ +.inline { + width: auto !important; +} -/* #endregion */ +.highlight, +.code { + padding: 1px 15px; + background-color: var(--code-background-color); + color: var(--code-color); + border-radius: 3px; + margin-block-start: 1em; + margin-block-end: 1em; + overflow-x: auto; +} -/* #region || Size-specific styles */ -@media (max-width: 860px) { - .menu-wrapper { - display: none; - } - .menu-wrapper__mobile { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - /* transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; */ - padding: 6px; - } +.highlight { + border-left: 5px solid var(--heading-color); } -@media (max-width: 546px) { - .header-content { - padding-left: 24px; - padding-right: 24px; - } +ul { + list-style-type: "– "; } -/* #endregion */ -/* #region || Hell */ -@media all { -/* #TODO: fix whatever they've done with the html embeds */ -:where(div.w-html-embed) { - display: contents; -} -} -@media all { -.w-header-wrapper { - width: 100%; - margin-bottom: 16px; +.project-heading h4 { + display: inline; } -.w-footer-content { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-logo-text { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-logo { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-footer-icons { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-1 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-2 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-body-wrapper { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-header-cover { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; -} -.w-header-content { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-body-callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: solid; - border-right-style: solid; - border-left-style: solid; - border-bottom-style: solid; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - padding: 1rem; -} -.w-logo-svg { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-callout-text { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; -} -.w-column-wrapper { - display: flex; - flex-wrap: wrap; - padding-top: 0; - padding-bottom: 0; -} -.w-column-projects { - width: calc((100% - 16px * 2) * 0.3333333333333335); - word-break: break-word; - display: flex; - flex-direction: column; - padding-top: 12px; - padding-bottom: 12px; -} -.w-projects-callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: none; - border-right-style: none; - border-left-style: none; - border-bottom-style: none; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - background-color: #252525; - padding: 1rem; -} -.w-callout-content { - display: flex; - flex-direction: column; - margin-inline-start: 8px; - overflow-x: hidden; - overflow-y: hidden; - margin-inline-end: 8px; -} -.w-link-wrapper-projects { - text-decoration-line: none; - margin-top: 1px; - margin-bottom: 1px; - padding-top: 3px; - padding-bottom: 3px; - padding-left: 5px; - display: flex; - color: #fff; -} -.w-icon-projects { - object-fit: cover; - object-position: center center; - text-align: center; - line-height: 1.2em; - color: #545454; -} -.w-icon-wrapper-1 { - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 1.3em; - margin-right: 0.3em; - width: 20px; - height: 20px; - line-height: 1.2em; - padding: 1.1px; -} -.w-projects { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: auto; - padding: 0; +.project-heading sub { + display: inline; + vertical-align: baseline; } -.w-logo { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; -} -.w-logo-text-1 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; -} -.w-menu-wrapper { - position: relative; - height: 100%; - max-height: 56px; -} -.w-menu { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-contact { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper { - display: none; -} -.w-column-contact, -.w-column-blog { - width: calc((100% - 16px * 2) * 0.3333333333333335); - word-break: break-word; - display: flex; - flex-direction: column; - padding-top: 12px; - padding-bottom: 12px; - margin-inline-start: 16px; -} -.w-blog-callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: none; - border-right-style: none; - border-left-style: none; - border-bottom-style: none; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - background-color: #252525; - padding: 1rem; -} -.w-callout-content-1 { - display: flex; - flex-direction: column; - margin-inline-start: 8px; - overflow-x: hidden; - overflow-y: hidden; - margin-inline-end: 8px; -} -.w-link-wrapper-blog { - text-decoration-line: none; - margin-top: 1px; - margin-bottom: 1px; - padding-top: 3px; - padding-bottom: 3px; - padding-left: 5px; - display: flex; - color: #fff; -} -.w-icon-wrapper-2 { - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 1.3em; - margin-right: 0.3em; - width: 20px; - height: 20px; - line-height: 1.2em; - padding: 1.1px; -} -.w-icon-blog { - object-fit: cover; - object-position: center center; - text-align: center; - line-height: 1.2em; - color: #545454; -} -.w-blog { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: auto; - padding: 0; -} -.w-contact-callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: none; - border-right-style: none; - border-left-style: none; - border-bottom-style: none; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - background-color: #252525; - padding: 1rem; -} -.w-callout-content-2 { - display: flex; - flex-direction: column; - margin-inline-start: 8px; - overflow-x: hidden; - overflow-y: hidden; - margin-inline-end: 8px; -} -.w-link-wrapper-contact { - text-decoration-line: none; - margin-top: 1px; - margin-bottom: 1px; - padding-top: 3px; - padding-bottom: 3px; - padding-left: 5px; - display: flex; - color: #fff; -} -.w-icon-wrapper-3 { - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 1.3em; - margin-right: 0.3em; - width: 20px; - height: 20px; - line-height: 1.2em; - padding: 1.1px; -} -.w-icon-contact { - object-fit: cover; - object-position: center center; - text-align: center; - line-height: 1.2em; - color: #545454; -} -.w-contact { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: auto; - padding: 0; -} -.w-body-2 { - background-color: #111; -} -.w-root-1 { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; - color: #fff; -} -.w-main-1 { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; -} -.w-header-wrapper-1 { - width: 100%; - margin-bottom: 16px; -} -.w-header-content-1 { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper-1 { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header-1 { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper-4 { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-logo-svg-1 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-body-wrapper-1 { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-footer-1 { - padding: 48px 96px; -} -.w-footer-content-1 { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-footer-logo-1 { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-logo-text-2 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-icons-1 { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-3 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-4 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote-1 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-header-cover-1 { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; -} -.w-root-2 { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; - color: #fff; -} -.w-main-2 { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; -} -.w-header-wrapper-2 { - width: 100%; - margin-bottom: 16px; -} -.w-header-cover-2 { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; -} -.w-header-content-2 { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper-2 { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header-2 { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper-5 { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-logo-svg-2 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-body-wrapper-2 { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-footer-2 { - padding: 48px 96px; -} -.w-footer-content-2 { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-footer-logo-2 { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-logo-text-3 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-icons-2 { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-5 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-6 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote-2 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-body-3 { - background-color: #111; -} -.w-root-3 { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; - color: #fff; -} -.w-main-3 { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; -} -.w-header-wrapper-3 { - width: 100%; - margin-bottom: 16px; -} -.w-header-cover-3 { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; -} -.w-header-content-3 { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper-3 { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header-3 { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper-6 { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-logo-svg-3 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-body-wrapper-3 { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-footer-3 { - padding: 48px 96px; -} -.w-footer-content-3 { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-footer-logo-3 { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-logo-text-4 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-icons-3 { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-7 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-8 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote-3 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-body-4 { - background-color: #111; -} -.w-callout-wrapper { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: row; - border-top-style: solid; - border-right-style: solid; - border-left-style: solid; - border-bottom-style: solid; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - padding: 1rem; -} -.w-callout-text-1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - padding: 3px 2px; - min-height: 2rem; -} -.w-callout-text-2 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-callout-text-wrapper { - margin-left: 8px; -} -.w-logo-svg-4 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-paragraph { - padding: 3px 2px; - min-height: 2rem; - word-break: break-word; - line-height: 1.5rem; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-twitter-link { - font-family: Rubik, sans-serif; - color: #f2f2f2; - opacity: 0.7; -} -.w-, -.w-text-1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-username-1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - font-weight: 600; - padding: 0; -} -.w-text-2 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-username-2 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - font-weight: 600; - padding: 0; +/* blog post list */ +ul.blog-posts { + list-style-type: none; + padding: unset; } -.w-body-5 { - background-color: #111; -} -.w-root-4 { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; - color: #fff; -} -.w-main-4 { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; -} -.w-header-wrapper-4 { - width: 100%; - margin-bottom: 16px; -} -.w-header-cover-4 { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; +ul.blog-posts li { + display: flex; + margin-bottom: 20px; } -.w-header-content-4 { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper-4 { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header-4 { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper-7 { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-logo-svg-5 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-body-wrapper-4 { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-body-callout-1 { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: solid; - border-right-style: solid; - border-left-style: solid; - border-bottom-style: solid; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - padding: 1rem; -} -.w-callout-text-3 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; -} -.w-column-wrapper-1 { - display: flex; - flex-wrap: wrap; - padding-top: 0; - padding-bottom: 0; -} -.w-column-home { - width: 100%; - word-break: break-word; - display: flex; - flex-direction: column; - padding-top: 12px; - padding-bottom: 12px; - margin-left: 0; - margin-right: calc((100% - 16px * 2) * 0.66666666666666); -} -.w-home-callout { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: column; - border-top-style: none; - border-right-style: none; - border-left-style: none; - border-bottom-style: none; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - background-color: #252525; - margin-right: 16px; - padding: 1rem; -} -.w-callout-content-3 { - display: flex; - flex-direction: column; - margin-inline-start: 8px; - overflow-x: hidden; - overflow-y: hidden; - margin-inline-end: 8px; -} -.w-link-wrapper-home { - text-decoration-line: none; - margin-top: 1px; - margin-bottom: 1px; - padding-top: 3px; - padding-bottom: 3px; - padding-left: 5px; - display: flex; - color: #fff; -} -.w-icon-wrapper-8 { - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 1.3em; - margin-right: 0.3em; - width: 20px; - height: 20px; - line-height: 1.2em; - padding: 1.1px; -} -.w-icon-blog-1 { - object-fit: cover; - object-position: center center; - text-align: center; - line-height: 1.2em; - color: #545454; -} -.w-footer-4 { - padding: 48px 96px; -} -.w-footer-content-4 { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-footer-logo-4 { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-logo-text-5 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-icons-4 { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-9 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-10 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote-4 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-body-6 { - background-color: #111; -} -.w-root-5 { - display: flex; - flex-direction: column; - min-width: auto; - min-height: 100vh; - color: #fff; -} -.w-nav-1 { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; -} -.w-navbar-wrapper-1 { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; -} -.w-logo-1 { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; -} -.w-logo-text-6 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; -} -.w-menu-wrapper-1 { - position: relative; - height: 100%; - max-height: 56px; -} -.w-menu-1 { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects-1 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link-1 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog-1 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link-1 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-contact-1 { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link-1 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper-1 { - display: none; -} -.w-main-5 { - display: flex; - flex-direction: column; - min-height: 100%; - max-height: 100%; - width: 100%; - flex-grow: 1; - flex-shrink: 0; -} -.w-header-wrapper-5 { - width: 100%; - margin-bottom: 16px; -} -.w-header-cover-5 { - overflow-x: hidden; - overflow-y: hidden; - position: relative; - height: 140px; - max-height: 140px; -} -.w-header-content-5 { - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; - max-width: 900px; - margin: auto; -} -.w-title-wrapper-5 { - margin-top: 142px; - margin-bottom: 4px; - position: relative; -} -.w-header-5 { - font-family: Space Mono, sans-serif; - margin-top: 0; - margin-bottom: 0; - font-size: 2.5rem; - line-height: 2.5rem; - min-height: 48px; - word-break: break-word; - padding: 2px; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w-icon-wrapper-9 { - margin: 3px auto; - position: absolute; - top: -182px; - height: 125px; - width: 125px; - font-size: 78px; - line-height: 78px; - padding: 0; -} -.w-logo-svg-6 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-body-wrapper-5 { - display: flex; - padding-bottom: 5vh; - max-width: 900px; - margin-left: auto; - margin-right: auto; - width: 100%; - flex-direction: column; - padding-left: 96px; - padding-right: 96px; - box-sizing: border-box; -} -.w-callout-wrapper-1 { - display: flex; - margin-top: 2px; - margin-bottom: 4px; - overflow-x: hidden; - overflow-y: hidden; - border-radius: 18px; - flex-direction: row; - border-top-style: solid; - border-right-style: solid; - border-left-style: solid; - border-bottom-style: solid; - border-top-color: #252525; - border-right-color: #252525; - border-bottom-color: #252525; - border-left-color: #252525; - padding: 1rem; -} -.w-logo-svg-7 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-callout-text-wrapper-1 { - margin-left: 8px; -} -.w-callout-text-4 { - font-family: Rubik, sans-serif; - font-size: 1rem; - padding: 3px 2px; - min-height: 2rem; -} -.w-callout-text-5 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-paragraph-1 { - padding: 3px 2px; - min-height: 2rem; - word-break: break-word; - white-space: pre-wrap; - white-space-collapse: preserve; -} -.w--1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-twitter-link-1 { - font-family: Rubik, sans-serif; - color: #f2f2f2; - opacity: 0.7; -} -.w-text-3 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-username-1-1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - font-weight: 600; - padding: 0; -} -.w-text-4 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - padding: 0; -} -.w-username-2-1 { - font-family: Rubik, sans-serif; - font-size: 1rem; - min-height: 2rem; - font-weight: 600; - padding: 0; -} -.w-footer-5 { - padding: 48px 96px; -} -.w-footer-content-5 { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - align-items: center; - grid-template-areas: "logo logo logo " "icons icons icons " "links links links " "divider divider divider " "footnote footnote footnote"; -} -.w-footer-logo-5 { - text-decoration-line: none; - position: relative; - color: inherit; - justify-self: center; - text-align: center; - grid-row-start: logo; - grid-row-end: logo; - grid-column-start: logo; - grid-column-end: logo; - height: 48px; - margin-bottom: 0; - white-space: nowrap; -} -.w-logo-text-7 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; - font-size: 16px; -} -.w-footer-icons-5 { - justify-self: center; - text-align: center; - grid-row-start: icons; - grid-row-end: icons; - grid-column-start: icons; - grid-column-end: icons; - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0px; - margin-bottom: 24px; - box-sizing: border-box; - column-gap: 16px; - row-gap: 16px; - padding: 4px; -} -.w-link-11 { - color: #fff; - text-decoration-line: none; - box-sizing: border-box; -} -.w-link-12 { - color: #fff; - text-decoration-line: none; -} -.w-footer-footnote-5 { - color: #fffc; - font-size: 1rem; - font-family: Rubik, sans-serif; - font-weight: 300; - padding: 3px 2px; - grid-row-start: footnote; - grid-row-end: footnote; - grid-column-start: footnote; - grid-column-end: footnote; - justify-self: center; - text-align: center; -} -.w-nav-2 { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; - background-color: #111; -} -.w-navbar-wrapper-2 { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; -} -.w-logo-2 { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; -} -.w-logo-text-8 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; -} -.w-menu-wrapper-2 { - position: relative; - height: 100%; - max-height: 56px; -} -.w-menu-2 { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects-2 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link-2 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog-2 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link-2 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-contact-2 { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link-2 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper-2 { - display: none; -} -.w-menu-svg-1 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-nav-3 { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; - background-color: #111; -} -.w-navbar-wrapper-3 { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; -} -.w-logo-3 { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; -} -.w-logo-text-9 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; -} -.w-menu-wrapper-3 { - position: relative; - height: 100%; - max-height: 56px; -} -.w-menu-3 { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects-3 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link-3 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog-3 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link-3 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-contact-3 { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link-3 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper-3 { - display: none; -} -.w-menu-svg-2 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-nav-4 { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; - background-color: #111; -} -.w-navbar-wrapper-4 { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; -} -.w-logo-4 { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; -} -.w-logo-text-10 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; -} -.w-menu-wrapper-4 { - position: relative; - height: 100%; - max-height: 56px; -} -.w-menu-4 { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; - list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects-4 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link-4 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog-4 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link-4 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-contact-4 { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link-4 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper-4 { - display: none; -} -.w-menu-svg-3 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -.w-nav-5 { - position: sticky; - height: 56px; - top: 0; - z-index: 40; - width: 100%; - background-color: #111; -} -.w-navbar-wrapper-5 { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - z-index: 20; - width: 100%; - height: 100%; - padding-left: 8px; - padding-right: 8px; -} -.w-logo-5 { - margin-right: auto; - position: relative; - display: flex; - align-items: center; - flex-shrink: 0; - padding-left: 16px; - padding-right: 16px; - height: 100%; - text-decoration-line: none; - white-space: nowrap; + +ul.blog-posts li time { + font-style: normal; } -.w-logo-text-11 { - font-weight: 600; - font-family: Space Mono, sans-serif; - color: #fff; + +ul.blog-posts li span { + flex: 0 0 130px; } -.w-menu-wrapper-5 { - position: relative; - height: 100%; - max-height: 56px; + +ul.blog-posts li a:visited { + color: var(--visited-color); } -.w-menu-5 { - display: flex; - justify-content: flex-end; - align-items: center; - height: 100%; + +ul.projects { list-style-type: none; - padding-left: 0; - margin-bottom: 0; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: hidden; -} -.w-menu-projects-5 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-projects-link-5 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-menu-blog-5 { - display: flex; - align-items: center; - height: 100%; -} -.w-menu-blog-link-5 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; + padding: unset; } -.w-menu-contact-5 { - display: flex; - align-items: center; - height: 100%; - padding-right: 16px; -} -.w-menu-contact-link-5 { - color: #fff; - text-decoration-line: none; - display: flex; - align-items: center; - column-gap: 4px; - row-gap: 4px; - font-family: Rubik, sans-serif; - padding: 16px 12px; - opacity: 0.7; - white-space: nowrap; -} -.w-m-menu-wrapper-5 { - display: none; -} -.w-menu-svg-4 { - object-fit: cover; - object-position: center center; - color: #545454; - padding: 0; -} -} -@media all and (max-width: 860px) { -.menu-wrapper { - display: none; -} -.w-m-menu-wrapper { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; - padding: 6px; -} -.w-menu-svg { - color: #fff; -} -.w-menu-wrapper-1 { - display: none; -} -.w-m-menu-wrapper-1 { - display: flex; -} -.w-menu-wrapper-2 { - display: none; -} -.w-m-menu-wrapper-2 { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; - padding: 6px; -} -.w-menu-svg-1 { - color: #fff; -} -.w-menu-wrapper-3 { - display: none; -} -.w-m-menu-wrapper-3 { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; - padding: 6px; -} -.w-menu-svg-2 { - color: #fff; -} -.w-menu-wrapper-4 { - display: none; -} -.w-m-menu-wrapper-4 { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; - padding: 6px; -} -.w-menu-svg-3 { - color: #fff; -} -.w-menu-wrapper-5 { - display: none; -} -.w-m-menu-wrapper-5 { - display: flex; - height: 100%; - opacity: 0.7; - align-items: center; - justify-content: center; - transition-property: opacity; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0ms; - transition-behavior: normal; - padding: 6px; -} -.w-menu-svg-4 { - color: #fff; -} -} -@media all and (max-width: 680px) { -.w-column-projects { - width: 100%; -} -.w-column-contact, -.w-column-blog, -.w-column-home { - width: 100%; - margin-inline-start: 0px; -} -} -@media all and (max-width: 546px) { -.w-body-wrapper { - padding-left: 24px; - padding-right: 24px; -} -.w-header-content, -.w-header-content-1 { - padding-right: 24px; - padding-left: 24px; -} -.w-body-wrapper-1 { - padding-left: 24px; - padding-right: 24px; -} -.w-header-content-2 { - padding-right: 24px; - padding-left: 24px; -} -.w-body-wrapper-2 { - padding-left: 24px; - padding-right: 24px; -} -.w-header-content-3 { - padding-right: 24px; - padding-left: 24px; -} -.w-body-wrapper-3 { - padding-left: 24px; - padding-right: 24px; -} -.w-header-content-4 { - padding-right: 24px; - padding-left: 24px; -} -.w-body-wrapper-4 { - padding-left: 24px; - padding-right: 24px; -} -.w-header-content-5 { - padding-right: 24px; - padding-left: 24px; + +ul.projects li { + margin-bottom: 20px; } -.w-body-wrapper-5 { - padding-left: 24px; - padding-right: 24px; + +table { + border-collapse: collapse; } + +table, +th, +td { + border: 1px dashed var(--heading-color); + padding: 10px; } -/* #endregion */ +@media only screen and (max-width:767px) { + main { + padding: 20px; + margin-top: 30px; + margin-bottom: 10px; + } + + ul.blog-posts li { + flex-direction: column; + } + + ul.blog-posts li span { + flex: unset; + } +} \ No newline at end of file diff --git a/contact.html b/contact.html new file mode 100644 index 0000000..4399b89 --- /dev/null +++ b/contact.html @@ -0,0 +1,72 @@ + + + + + + + + + + angelcube + + + + + + + + + + + + + + + + + + + + + + + +
+ +

angelcube

+
+ +
+
+

contact

+

+ if you need to reach me, you can usually find me quickest at angel@angelcube.dev. +

+

+ otherwise, you can find me in most places with the username @angelcube, @weightedangelcube, or some variant of it. +

+
+
+ + Angel Wang © 2025 + +
+ + diff --git a/favicon-48x48.png b/favicon-48x48.png deleted file mode 100644 index 0f4121a1613cfd7237f37875779ae85858ddff72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?Fpne-LfC*QS4A@`g^Qrk1$%0#%2?e=v!1YDM)vh)Gk5`?jw9dEZU*JHCEp zlXsRsn^*ko?d&tTI}h2fJ@mTVE#V5^ze@IJ3qEKWaQmc%{bqa}%h-NEb^A91_HPrn zOxu}}x09J?4ZqYAjtQT{k4Ga!m7 zYPLn%0cui=OB-I56g%iHEMh8l&|F}3S0=!F#he2&0bDEm{@3$~)bEsDcm214{hjlx zzdJr*k>1C4@$0Yf=Es}e3wWOFOIx1(RkWds`HP^bg~q}cV!;KwU#P`DnRa&ewJCf) lCfUjYy0MFnJd&+oSHIX`c!6)12?GNIgQu&X%Q~loCIF2j(&_*J diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 9cb8c815dc0abbc6b9038edea292275bf56e2537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 diff --git a/favicon.svg b/favicon.svg deleted file mode 100644 index a1c398d..0000000 --- a/favicon.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/index.html b/index.html index 6b6b6ef..c765010 100644 --- a/index.html +++ b/index.html @@ -21,18 +21,6 @@ content="mLGkfIju91jXMWCVVf4n8JlIIrkjqHFPU6OWuLZQzTo" /> - - - - - - @@ -53,181 +41,35 @@ -
- -
-
-
-
-
-

angelcube

-
-
- - angelcube's logo - - - -
-
-
-
-
-
-
-
coming soon :)
-
-
-
- -
- - - - +
+ +

angelcube

+
+ +
+
+

hi

+

+ I'm angelcube, and I make games. +

+

+ my tools include Java and C#; I'm also familliar with the Fabric toolchain for Minecraft, and the Godot game engine and API. +

+

+ beyond coding, I like to do a little art, and play lots of Portal 2. +

+
+
+ + Angel Wang © 2025 + +
diff --git a/projects.html b/projects.html new file mode 100644 index 0000000..59b9d46 --- /dev/null +++ b/projects.html @@ -0,0 +1,93 @@ + + + + + + + + + + angelcube + + + + + + + + + + + + + + + + + + + + + + + +
+ +

angelcube

+
+ +
+
+

projects

+
    +
  • +
    +

    ascend

    + + (soon) + +
    + a rhythmic platformer where you help someone lost discover their identity. +
  • +
  • +
    +

    + slime origin +

    + + () + +
    + adds a Slime origin to the Origins mod for Minecraft. based on Jack Sibley's mod of the same name. +
  • + +
+
+
+ +

Angel Wang © 2025

+ +

(hover for more credits)

+

Drilbur favicon by baronessfaron, licensed under CC-BY-NC 4.0, from PMD SpriteCollab

+
+
+
+ + diff --git a/site.webmanifest b/site.webmanifest deleted file mode 100644 index 164b502..0000000 --- a/site.webmanifest +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "angelcube", - "short_name": "angelcube", - "icons": [ - { - "src": "/web-app-manifest-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "/web-app-manifest-512x512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} \ No newline at end of file diff --git a/web-app-manifest-192x192.png b/web-app-manifest-192x192.png deleted file mode 100644 index b4ca3dd2779c484255ef98d742f581f82eb61095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3070 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 kw4XjTzQN_j?)Z;6=zopr0PUx4RsaA1 diff --git a/web-app-manifest-512x512.png b/web-app-manifest-512x512.png deleted file mode 100644 index 9849dcaf55d734da3d550029fd42787ae798395e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12173 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 L{an^LB{Ts5V*B-; -- 2.51.2