From 98ac3c363974b41378b5b148523f1ead7153803a Mon Sep 17 00:00:00 2001 From: Athanasia Monika Mowinckel Date: Sun, 22 Mar 2026 22:25:38 +0100 Subject: [PATCH 01/10] adjust logos --- static/images/capro_black_flat.png | Bin 0 -> 27450 bytes static/images/capro_logo.svg | 111 +++++++++++++++++++++++++++-- static/images/g12.png | Bin 0 -> 27001 bytes static/images/g9.png | Bin 0 -> 26076 bytes 4 files changed, 104 insertions(+), 7 deletions(-) create mode 100644 static/images/capro_black_flat.png create mode 100644 static/images/g12.png create mode 100644 static/images/g9.png diff --git a/static/images/capro_black_flat.png b/static/images/capro_black_flat.png new file mode 100644 index 0000000000000000000000000000000000000000..ba46e2c4da4d52fe4a7756007d290d21724ab6d7 GIT binary patch literal 27450 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 b-Xo)v6}P=0Z7$YT8JW4(3#?9Bt_uA>6Jt0S literal 0 HcmV?d00001 diff --git a/static/images/capro_logo.svg b/static/images/capro_logo.svg index 81ca1cea..9c22ae83 100644 --- a/static/images/capro_logo.svg +++ b/static/images/capro_logo.svg @@ -8,7 +8,7 @@ version="1.1" id="svg1" sodipodi:docname="capro_logo.svg" - inkscape:version="1.3 (0e150ed, 2023-07-21)" + inkscape:version="1.4.2 (ebf0e940, 2025-05-08)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -23,15 +23,15 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#505050" inkscape:document-units="mm" - inkscape:zoom="0.57097534" - inkscape:cx="187.39864" - inkscape:cy="731.20496" - inkscape:window-width="1408" + inkscape:zoom="0.6361608" + inkscape:cx="447.21398" + inkscape:cy="-183.91577" + inkscape:window-width="1144" inkscape:window-height="859" - inkscape:window-x="0" + inkscape:window-x="494" inkscape:window-y="39" inkscape:window-maximized="0" - inkscape:current-layer="layer1" /> + inkscape:current-layer="g6" /> + + CAPRO + + + + + + CAPRO + CAPRO + + + + + + + + CAPRO + diff --git a/static/images/g12.png b/static/images/g12.png new file mode 100644 index 0000000000000000000000000000000000000000..743de2fc74ccd67f0538f949cc39122a9becf33c GIT binary patch literal 27001 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 CW9wl6 literal 0 HcmV?d00001 diff --git a/static/images/g9.png b/static/images/g9.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba5cfd816f38c00d913a7bc470236cc0090b56d GIT binary patch literal 26076 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 Date: Mon, 23 Mar 2026 19:40:24 +0100 Subject: [PATCH 02/10] Add new Tailwind CSS + Alpine.js theme (capro-tw) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the Bootstrap 4 + jQuery theme with a modern stack: - Tailwind CSS 4 with CSS-first configuration and design tokens - Alpine.js for interactive components (nav, portfolio filter, testimonials) - Self-hosted fonts via @fontsource (Space Grotesk, Spectral) - FontAwesome compiled from SCSS, deferred loading - Vanilla JS for scroll reveal and counter animations - WebP image conversion throughout - Client-side publication fetching via OpenAlex API (replaces R/GH Action pipeline) Performance: Lighthouse homepage 53→89, team page 65→82 Accessibility: 100 on both pages Best Practices: 100 on both pages Removes gscholar_id from team member front matter (publications now fetched client-side using ORCID IDs from social links). Co-Authored-By: Claude Opus 4.6 (1M context) --- config/_default/hugo.yaml | 2 +- content/team/am_mowinckel/index.en.md | 1 - content/team/ik_amlien/index.en.md | 1 - content/team/jla_warren/index.no.md | 1 - content/team/mh_sneve/index.en.md | 1 - themes/capro-tw/archetypes/team/index.en.md | 21 + themes/capro-tw/archetypes/team/index.no.md | 23 + .../assets/css/components/buttons.css | 40 + .../capro-tw/assets/css/components/layout.css | 51 + themes/capro-tw/assets/css/components/nav.css | 48 + .../capro-tw/assets/css/components/pubs.css | 70 + .../assets/css/components/sections.css | 230 + .../capro-tw/assets/css/components/team.css | 68 + themes/capro-tw/assets/css/main.css | 124 + themes/capro-tw/assets/css/themify-icons.css | 1 + .../capro-tw/assets/css/vendor/tailwind.css | 2 + themes/capro-tw/assets/js/counter.js | 26 + themes/capro-tw/assets/js/orcid-pubs.js | 151 + themes/capro-tw/assets/js/scroll-reveal.js | 15 + .../capro-tw/assets/js/vendor/alpine.min.js | 5 + themes/capro-tw/assets/scss/fontawesome.scss | 5 + .../assets/scss/vendor/_animated.scss | 152 + .../assets/scss/vendor/_bordered-pulled.scss | 20 + themes/capro-tw/assets/scss/vendor/_core.scss | 49 + .../assets/scss/vendor/_fixed-width.scss | 7 + .../assets/scss/vendor/_functions.scss | 57 + .../capro-tw/assets/scss/vendor/_icons.scss | 12 + themes/capro-tw/assets/scss/vendor/_list.scss | 18 + .../capro-tw/assets/scss/vendor/_mixins.scss | 65 + .../assets/scss/vendor/_rotated-flipped.scss | 31 + .../assets/scss/vendor/_screen-reader.scss | 14 + .../capro-tw/assets/scss/vendor/_shims.scss | 1578 ++++++ .../capro-tw/assets/scss/vendor/_sizing.scss | 16 + .../capro-tw/assets/scss/vendor/_stacked.scss | 32 + .../assets/scss/vendor/_variables.scss | 5044 +++++++++++++++++ .../capro-tw/assets/scss/vendor/brands.scss | 30 + .../assets/scss/vendor/fontawesome.scss | 21 + .../capro-tw/assets/scss/vendor/regular.scss | 27 + themes/capro-tw/assets/scss/vendor/solid.scss | 27 + .../capro-tw/assets/scss/vendor/v4-shims.scss | 11 + themes/capro-tw/layouts/404.html | 9 + themes/capro-tw/layouts/_default/article.html | 13 + themes/capro-tw/layouts/_default/baseof.html | 20 + themes/capro-tw/layouts/_default/list.html | 19 + themes/capro-tw/layouts/_default/single.html | 30 + themes/capro-tw/layouts/index.html | 14 + .../layouts/partials/footer/footer.html | 27 + .../layouts/partials/footer/scripts.html | 13 + .../capro-tw/layouts/partials/head/css.html | 27 + .../capro-tw/layouts/partials/head/meta.html | 38 + themes/capro-tw/layouts/partials/nav.html | 58 + .../layouts/partials/sections/about.html | 21 + .../layouts/partials/sections/banner.html | 14 + .../layouts/partials/sections/contact.html | 41 + .../layouts/partials/sections/cta.html | 15 + .../layouts/partials/sections/feature.html | 27 + .../layouts/partials/sections/funfacts.html | 22 + .../layouts/partials/sections/map.html | 0 .../layouts/partials/sections/news.html | 45 + .../layouts/partials/sections/portfolio.html | 42 + .../layouts/partials/sections/pricing.html | 49 + .../layouts/partials/sections/service.html | 21 + .../layouts/partials/sections/skill.html | 48 + .../layouts/partials/sections/team.html | 46 + .../partials/sections/testimonial.html | 51 + themes/capro-tw/layouts/redirect/single.html | 11 + themes/capro-tw/layouts/team/single.html | 106 + themes/capro-tw/package-lock.json | 1050 ++++ themes/capro-tw/package.json | 25 + .../webfonts/fontawesome/fa-brands-400.woff2 | Bin 0 -> 118684 bytes .../webfonts/fontawesome/fa-regular-400.woff2 | Bin 0 -> 25472 bytes .../webfonts/fontawesome/fa-solid-900.woff2 | Bin 0 -> 158220 bytes .../fontawesome/fa-v4compatibility.woff2 | Bin 0 -> 4796 bytes .../space-grotesk-latin-300-normal.woff2 | Bin 0 -> 12908 bytes .../space-grotesk-latin-400-normal.woff2 | Bin 0 -> 13388 bytes .../space-grotesk-latin-500-normal.woff2 | Bin 0 -> 13312 bytes .../space-grotesk-latin-600-normal.woff2 | Bin 0 -> 13284 bytes .../space-grotesk-latin-700-normal.woff2 | Bin 0 -> 12840 bytes .../space-grotesk-latin-ext-300-normal.woff2 | Bin 0 -> 11980 bytes .../space-grotesk-latin-ext-400-normal.woff2 | Bin 0 -> 12256 bytes .../space-grotesk-latin-ext-500-normal.woff2 | Bin 0 -> 12272 bytes .../space-grotesk-latin-ext-600-normal.woff2 | Bin 0 -> 12288 bytes .../space-grotesk-latin-ext-700-normal.woff2 | Bin 0 -> 11992 bytes .../spectral/spectral-latin-200-normal.woff2 | Bin 0 -> 21312 bytes .../spectral/spectral-latin-300-normal.woff2 | Bin 0 -> 22480 bytes .../spectral/spectral-latin-400-normal.woff2 | Bin 0 -> 21696 bytes .../spectral/spectral-latin-500-normal.woff2 | Bin 0 -> 22836 bytes .../spectral/spectral-latin-600-normal.woff2 | Bin 0 -> 22936 bytes .../spectral/spectral-latin-700-normal.woff2 | Bin 0 -> 23036 bytes .../spectral/spectral-latin-800-normal.woff2 | Bin 0 -> 22120 bytes .../spectral-latin-ext-200-normal.woff2 | Bin 0 -> 19828 bytes .../spectral-latin-ext-300-normal.woff2 | Bin 0 -> 20480 bytes .../spectral-latin-ext-400-normal.woff2 | Bin 0 -> 20240 bytes .../spectral-latin-ext-500-normal.woff2 | Bin 0 -> 20644 bytes .../spectral-latin-ext-600-normal.woff2 | Bin 0 -> 20824 bytes .../spectral-latin-ext-700-normal.woff2 | Bin 0 -> 20824 bytes .../spectral-latin-ext-800-normal.woff2 | Bin 0 -> 20164 bytes .../static/webfonts/themify/themify.eot | Bin 0 -> 78748 bytes .../static/webfonts/themify/themify.svg | 362 ++ .../static/webfonts/themify/themify.ttf | Bin 0 -> 78584 bytes .../static/webfonts/themify/themify.woff | Bin 0 -> 56108 bytes themes/capro-tw/theme.toml | 6 + 102 files changed, 10362 insertions(+), 5 deletions(-) create mode 100644 themes/capro-tw/archetypes/team/index.en.md create mode 100644 themes/capro-tw/archetypes/team/index.no.md create mode 100644 themes/capro-tw/assets/css/components/buttons.css create mode 100644 themes/capro-tw/assets/css/components/layout.css create mode 100644 themes/capro-tw/assets/css/components/nav.css create mode 100644 themes/capro-tw/assets/css/components/pubs.css create mode 100644 themes/capro-tw/assets/css/components/sections.css create mode 100644 themes/capro-tw/assets/css/components/team.css create mode 100644 themes/capro-tw/assets/css/main.css create mode 100644 themes/capro-tw/assets/css/themify-icons.css create mode 100644 themes/capro-tw/assets/css/vendor/tailwind.css create mode 100644 themes/capro-tw/assets/js/counter.js create mode 100644 themes/capro-tw/assets/js/orcid-pubs.js create mode 100644 themes/capro-tw/assets/js/scroll-reveal.js create mode 100644 themes/capro-tw/assets/js/vendor/alpine.min.js create mode 100644 themes/capro-tw/assets/scss/fontawesome.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_animated.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_bordered-pulled.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_core.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_fixed-width.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_functions.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_icons.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_list.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_mixins.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_rotated-flipped.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_screen-reader.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_shims.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_sizing.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_stacked.scss create mode 100644 themes/capro-tw/assets/scss/vendor/_variables.scss create mode 100644 themes/capro-tw/assets/scss/vendor/brands.scss create mode 100644 themes/capro-tw/assets/scss/vendor/fontawesome.scss create mode 100644 themes/capro-tw/assets/scss/vendor/regular.scss create mode 100644 themes/capro-tw/assets/scss/vendor/solid.scss create mode 100644 themes/capro-tw/assets/scss/vendor/v4-shims.scss create mode 100644 themes/capro-tw/layouts/404.html create mode 100644 themes/capro-tw/layouts/_default/article.html create mode 100644 themes/capro-tw/layouts/_default/baseof.html create mode 100644 themes/capro-tw/layouts/_default/list.html create mode 100644 themes/capro-tw/layouts/_default/single.html create mode 100644 themes/capro-tw/layouts/index.html create mode 100644 themes/capro-tw/layouts/partials/footer/footer.html create mode 100644 themes/capro-tw/layouts/partials/footer/scripts.html create mode 100644 themes/capro-tw/layouts/partials/head/css.html create mode 100644 themes/capro-tw/layouts/partials/head/meta.html create mode 100644 themes/capro-tw/layouts/partials/nav.html create mode 100644 themes/capro-tw/layouts/partials/sections/about.html create mode 100644 themes/capro-tw/layouts/partials/sections/banner.html create mode 100644 themes/capro-tw/layouts/partials/sections/contact.html create mode 100644 themes/capro-tw/layouts/partials/sections/cta.html create mode 100644 themes/capro-tw/layouts/partials/sections/feature.html create mode 100644 themes/capro-tw/layouts/partials/sections/funfacts.html create mode 100644 themes/capro-tw/layouts/partials/sections/map.html create mode 100644 themes/capro-tw/layouts/partials/sections/news.html create mode 100644 themes/capro-tw/layouts/partials/sections/portfolio.html create mode 100644 themes/capro-tw/layouts/partials/sections/pricing.html create mode 100644 themes/capro-tw/layouts/partials/sections/service.html create mode 100644 themes/capro-tw/layouts/partials/sections/skill.html create mode 100644 themes/capro-tw/layouts/partials/sections/team.html create mode 100644 themes/capro-tw/layouts/partials/sections/testimonial.html create mode 100644 themes/capro-tw/layouts/redirect/single.html create mode 100644 themes/capro-tw/layouts/team/single.html create mode 100644 themes/capro-tw/package-lock.json create mode 100644 themes/capro-tw/package.json create mode 100644 themes/capro-tw/static/webfonts/fontawesome/fa-brands-400.woff2 create mode 100644 themes/capro-tw/static/webfonts/fontawesome/fa-regular-400.woff2 create mode 100644 themes/capro-tw/static/webfonts/fontawesome/fa-solid-900.woff2 create mode 100644 themes/capro-tw/static/webfonts/fontawesome/fa-v4compatibility.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-300-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-400-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-500-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-600-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-700-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-ext-300-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-ext-400-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-ext-500-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-ext-600-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/space-grotesk/space-grotesk-latin-ext-700-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-200-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-300-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-400-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-500-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-600-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-700-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-800-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-200-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-300-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-400-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-500-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-600-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-700-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/google-fonts/spectral/spectral-latin-ext-800-normal.woff2 create mode 100644 themes/capro-tw/static/webfonts/themify/themify.eot create mode 100644 themes/capro-tw/static/webfonts/themify/themify.svg create mode 100644 themes/capro-tw/static/webfonts/themify/themify.ttf create mode 100644 themes/capro-tw/static/webfonts/themify/themify.woff create mode 100644 themes/capro-tw/theme.toml diff --git a/config/_default/hugo.yaml b/config/_default/hugo.yaml index a1aad470..3abda878 100644 --- a/config/_default/hugo.yaml +++ b/config/_default/hugo.yaml @@ -1,6 +1,6 @@ baseURL: . title: CAPRO -theme: capro-hugo +theme: capro-tw pagination.pagerSize: '6' summaryLength: '15' enableGitInfo: true diff --git a/content/team/am_mowinckel/index.en.md b/content/team/am_mowinckel/index.en.md index 20e5b538..4d7d04ce 100644 --- a/content/team/am_mowinckel/index.en.md +++ b/content/team/am_mowinckel/index.en.md @@ -13,7 +13,6 @@ social : # themify icon pack : https://themify.me/themify-icons or fontawesome link: "https://fosstodon.org/@Drmowinckels" - icon : fa-brands fa-twitter link : "https://twitter.com/DrMowinckels" -gscholar_id: "7NkxgWQAAAAJ" --- With a PhD in psychology, Mo transitioned into research software and development as she saw technical solutions could aid fellow scientists in driving their projects forwards. diff --git a/content/team/ik_amlien/index.en.md b/content/team/ik_amlien/index.en.md index 610af548..7e1069fc 100644 --- a/content/team/ik_amlien/index.en.md +++ b/content/team/ik_amlien/index.en.md @@ -5,7 +5,6 @@ designation : ["Data Engineer", "Cloud", social : - icon : "fa-brands fa-orcid" link : "https://orcid.org/0000-0002-8508-9088" -gscholar_id: "cwQrekcAAAAJ" --- Tech background and a PhD in psychology /neuroscience. diff --git a/content/team/jla_warren/index.no.md b/content/team/jla_warren/index.no.md index 3972ae44..1bbc6b5b 100644 --- a/content/team/jla_warren/index.no.md +++ b/content/team/jla_warren/index.no.md @@ -11,7 +11,6 @@ social : # themify icon pack : https://themify.me/themify-icons or fontawesome ( link : "https://github.com/jlawarren" - icon: "fa-brands fa-orcid" link: "https://orcid.org/0000-0002-3638-9957" -gscholar_id: "LRCb81EAAAAJ" #google scholar id, for publiations list --- José Luis har en mangfoldig bakgrunn innen ingeniørfag (BSc), anvendt fysikk (MSc) og evolusjonsbiologi (PhD). Han liker å skape og implementere avanserte verktøy som hjelper til med å forstå komplekse mønstre innen biologi og nevrovitenskap. \ No newline at end of file diff --git a/content/team/mh_sneve/index.en.md b/content/team/mh_sneve/index.en.md index bee2a312..a669ddb7 100644 --- a/content/team/mh_sneve/index.en.md +++ b/content/team/mh_sneve/index.en.md @@ -4,7 +4,6 @@ designation : ["fMRI analyses", "HPC"] social : - icon : "fa-brands fa-orcid" link : "https://orcid.org/0000-0001-7644-7915" -gscholar_id: "G5SQqJ8AAAAJ" --- Dr. Markus is highly skilled, holding a PhD in psychology. He is a dedicated researcher who consistently stays at the forefront of the field through his passion for exploring and discovering new advancements. diff --git a/themes/capro-tw/archetypes/team/index.en.md b/themes/capro-tw/archetypes/team/index.en.md new file mode 100644 index 00000000..cfbfdd20 --- /dev/null +++ b/themes/capro-tw/archetypes/team/index.en.md @@ -0,0 +1,21 @@ +--- +title : "" # Name +designation : + - list of + - skills +social : # themify icon pack : https://themify.me/themify-icons or fontawesome (https://fontawesome.com/icons) + - icon : ti-twitter-alt + link : "" + - icon : ti-github + link : "" + - icon: "fa-brands fa-orcid" + link: "" + - icon: "fa-brands fa-mastodon" + link: "" +--- + +Text about person. Short'ish. +Image file in this folder will be used as profile image. + + +if its long, any text below the more tag will only appear in the full profile, not in the preview shorts. \ No newline at end of file diff --git a/themes/capro-tw/archetypes/team/index.no.md b/themes/capro-tw/archetypes/team/index.no.md new file mode 100644 index 00000000..14cb7223 --- /dev/null +++ b/themes/capro-tw/archetypes/team/index.no.md @@ -0,0 +1,23 @@ +--- +title : "" # Navn på person +designation : + - liste + - med én + - eller flere ferdigheter +social : # Kan bruke både themify (https://themify.me/themify-icons) iconer og fontawesome (https://fontawesome.com/icons) + - icon : ti-twitter-alt + link : "" + - icon : ti-github + link : "" + - icon: "fa-brands fa-orcid" + link: "" + - icon: "fa-brands fa-mastodon" + link: "" +--- + +Tekst om personen går her. Kort. +Bilde i denne mappen brukes som profil bilde. + + +Om teksten er lang, så kan du legge til under denne tag'en. +Alt under denne vil synes i den fulle profilen, men ikke i de korte oppsummeringene på forsiden. diff --git a/themes/capro-tw/assets/css/components/buttons.css b/themes/capro-tw/assets/css/components/buttons.css new file mode 100644 index 00000000..720ff74e --- /dev/null +++ b/themes/capro-tw/assets/css/components/buttons.css @@ -0,0 +1,40 @@ +@layer components { + .btn { + @apply inline-block px-8 py-3 text-sm font-semibold uppercase tracking-wider; + transition: all var(--transition-fast); + } + + .btn-primary { + background-color: var(--color-primary-dark); + color: #fff; + } + + .btn-primary:hover { + background-color: var(--color-primary); + color: #fff; + } + + .btn-outline { + @apply border; + border-color: var(--color-border); + color: var(--color-body); + } + + .btn-outline:hover { + border-color: var(--color-primary); + color: var(--color-primary); + } + + .btn-hero { + @apply px-14 py-5 text-lg font-bold uppercase tracking-widest; + background-color: var(--color-primary); + border: 2px solid var(--color-primary); + color: #fff; + } + + .btn-hero:hover { + background-color: transparent; + border-color: #fff; + color: #fff; + } +} diff --git a/themes/capro-tw/assets/css/components/layout.css b/themes/capro-tw/assets/css/components/layout.css new file mode 100644 index 00000000..c4ba6d9b --- /dev/null +++ b/themes/capro-tw/assets/css/components/layout.css @@ -0,0 +1,51 @@ +@layer components { + .section { + padding-top: 6rem; + padding-bottom: 6rem; + } + + @media (max-width: 768px) { + .section { + padding-top: 3rem; + padding-bottom: 3rem; + } + } + + .section-title { + @apply text-center mb-12; + } + + .section-title h2 { + @apply text-4xl font-bold capitalize; + color: var(--color-body); + } + + .section-title .accent { + color: var(--color-primary-text); + } + + .border-accent { + @apply w-16 mx-auto mt-4; + height: 2px; + background-color: var(--color-primary); + } + + .bg-dark { + background-color: var(--color-dark); + } + + .bg-grey { + background-color: var(--color-grey); + } + + .reveal { + opacity: 0; + transform: translateY(24px); + transition: opacity var(--transition-slow), transform var(--transition-slow); + } + + .reveal.visible { + opacity: 1; + transform: translateY(0); + } +} diff --git a/themes/capro-tw/assets/css/components/nav.css b/themes/capro-tw/assets/css/components/nav.css new file mode 100644 index 00000000..3fcffd78 --- /dev/null +++ b/themes/capro-tw/assets/css/components/nav.css @@ -0,0 +1,48 @@ +@layer components { + .site-nav { + @apply sticky top-0 z-50; + background-color: var(--color-dark); + border-bottom: 1px solid transparent; + transition: border-color var(--transition-base), box-shadow var(--transition-base); + } + + .site-nav.nav-scrolled { + border-bottom-color: var(--color-border); + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); + } + + .site-nav a { + @apply text-sm font-medium uppercase tracking-wider; + color: var(--color-body); + transition: color var(--transition-fast); + } + + .site-nav a:hover, + .site-nav a.active { + color: var(--color-primary); + } + + .lang-select { + @apply text-sm border-0 cursor-pointer; + appearance: none; + background: var(--color-dark); + color: var(--color-body); + padding: 4px 24px 4px 8px; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d0d2d4' stroke-width='2' fill='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 6px center; + } + + .footer-social-icon { + @apply w-12 h-12 flex items-center justify-center text-lg rounded-full; + color: var(--color-light); + border: 1px solid var(--color-border); + transition: all var(--transition-base); + } + + .footer-social-icon:hover { + background-color: var(--color-primary); + border-color: var(--color-primary); + color: #fff; + } +} diff --git a/themes/capro-tw/assets/css/components/pubs.css b/themes/capro-tw/assets/css/components/pubs.css new file mode 100644 index 00000000..f439f751 --- /dev/null +++ b/themes/capro-tw/assets/css/components/pubs.css @@ -0,0 +1,70 @@ +@layer components { + .pubs-table { + @apply w-full text-sm; + color: var(--color-body); + } + + .pubs-table th { + @apply pb-3 text-left font-medium text-xs uppercase tracking-wider; + color: var(--color-body); + border-bottom: 1px solid var(--color-border); + } + + .pubs-table td { + @apply py-3 align-top; + border-bottom: 1px solid var(--color-border); + } + + .pubs-table .pub-year { + @apply font-medium; + font-family: var(--font-sans); + color: var(--color-secondary); + } + + .pubs-table .pub-authors { + @apply text-xs leading-relaxed; + color: var(--color-muted); + } + + .pubs-table .pub-title a { + color: var(--color-secondary); + transition: color var(--transition-fast); + } + + .pubs-table .pub-title a:hover { + color: var(--color-primary); + } + + .pubs-table .pub-journal { + @apply text-xs italic; + color: var(--color-muted); + } + + .pubs-table tbody tr:hover td { + color: var(--color-body); + } + + .year-select { + @apply text-sm font-semibold cursor-pointer; + appearance: none; + background: var(--color-dark); + color: var(--color-body); + border: 1px solid var(--color-border); + border-radius: 4px; + padding: 8px 36px 8px 14px; + transition: border-color var(--transition-fast); + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d0d2d4' stroke-width='2' fill='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 12px center; + } + + .year-select:hover, + .year-select:focus { + border-color: var(--color-primary); + } + + .year-select option { + background: var(--color-dark); + color: var(--color-body); + } +} diff --git a/themes/capro-tw/assets/css/components/sections.css b/themes/capro-tw/assets/css/components/sections.css new file mode 100644 index 00000000..5fc0f71c --- /dev/null +++ b/themes/capro-tw/assets/css/components/sections.css @@ -0,0 +1,230 @@ +@layer components { + /* About */ + .about-block { + @apply h-full; + background: var(--color-dark); + padding: 32px; + border-bottom: 2px solid transparent; + transition: border-color var(--transition-base); + } + + .about-block:hover { + border-bottom-color: var(--color-primary); + } + + .about-block:hover .icon-box { + transform: translateY(-10px); + } + + .icon-box { + position: relative; + width: 120px; + height: 69px; + margin: 35px auto 48px; + padding: 15px 0; + border-left: 2px solid var(--color-secondary); + border-right: 2px solid var(--color-secondary); + background-color: transparent; + font-size: 36px; + color: var(--color-primary); + display: flex; + align-items: center; + justify-content: center; + transition: transform var(--transition-base); + z-index: 1; + } + + .icon-box::before, + .icon-box::after { + content: ""; + position: absolute; + z-index: -1; + width: 84.85px; + height: 84.85px; + background-color: var(--color-dark); + left: 15.6px; + transform: scaleY(0.5774) rotate(-45deg); + } + + .icon-box::before { + top: -42.4px; + border-top: 2px solid var(--color-secondary); + border-right: 2px solid var(--color-secondary); + } + + .icon-box::after { + bottom: -42.4px; + border-bottom: 2px solid var(--color-secondary); + border-left: 2px solid var(--color-secondary); + } + + /* Services */ + .service-block { + @apply text-center h-full; + padding: 48px 24px; + background-color: var(--color-dark); + border-left: 1px solid var(--color-border); + border-top: 1px solid var(--color-border); + box-shadow: var(--shadow-card); + transition: box-shadow var(--transition-base), border-color var(--transition-base); + } + + .service-block:hover { + box-shadow: var(--shadow-card-hover); + border-color: var(--color-primary); + } + + .service-block i { + @apply mb-6 block; + font-size: 48px; + color: var(--color-primary); + } + + .service-block h3 { + @apply text-xl font-medium mb-3 uppercase tracking-wide; + color: #fff; + } + + /* Skills */ + .progress-bar-track { + @apply w-full rounded-full; + height: 6px; + background-color: var(--color-border); + } + + .progress-bar-fill { + @apply h-full rounded-full; + background-color: var(--color-primary); + transition: width 0.8s ease; + } + + /* Counters */ + .counter-item i { + @apply mb-3; + font-size: 40px; + color: var(--color-primary); + } + + .counter-value { + font-size: 48px; + font-weight: 700; + color: var(--color-secondary); + } + + /* Pricing */ + .price-card { + @apply h-full; + padding: 40px 32px; + background-color: var(--color-dark); + border: 1px solid var(--color-border); + transition: border-color var(--transition-base); + } + + .price-card h3 { + color: var(--color-secondary); + margin-bottom: 24px; + } + + .price-card table td { + padding: 6px 8px; + } + + .price-card:hover { + border-color: var(--color-primary); + } + + /* Testimonials */ + .testimonial-scroll { + @apply flex gap-6 overflow-x-auto items-stretch; + scroll-snap-type: x mandatory; + -webkit-overflow-scrolling: touch; + scrollbar-width: thin; + scrollbar-color: var(--color-light) transparent; + padding-bottom: 16px; + } + + .testimonial-scroll::-webkit-scrollbar { + height: 6px; + } + + .testimonial-scroll::-webkit-scrollbar-track { + background: transparent; + } + + .testimonial-scroll::-webkit-scrollbar-thumb { + background: var(--color-light); + border-radius: 3px; + } + + .testimonial-nav { + @apply absolute top-1/2 -translate-y-1/2 z-10 w-10 h-10 flex items-center justify-center; + background: var(--color-dark); + border: 1px solid var(--color-border); + color: var(--color-body); + transition: all var(--transition-fast); + cursor: pointer; + } + + .testimonial-nav:hover { + border-color: var(--color-primary); + color: var(--color-primary); + } + + .testimonial-nav-left { + left: -20px; + } + + .testimonial-nav-right { + right: -20px; + } + + @media (max-width: 768px) { + .testimonial-nav { display: none; } + } + + .testimonial-modern { + @apply flex flex-col flex-shrink-0; + width: 360px; + padding: 32px; + background-color: var(--color-grey); + border: 1px solid var(--color-border); + scroll-snap-align: start; + transition: border-color var(--transition-base); + } + + .testimonial-modern:hover { + border-color: var(--color-primary); + } + + .testimonial-modern blockquote { + font-size: 1rem; + line-height: 1.7; + } + + .testimonial-modern blockquote p { + margin: 0; + } + + /* Contact */ + .contact-icon { + @apply mr-4 mt-1; + font-size: 20px; + color: var(--color-primary); + } + + /* Portfolio */ + .portfolio-item { + @apply relative overflow-hidden; + } + + .portfolio-item .portfolio-overlay { + @apply absolute inset-0 flex items-center justify-center; + opacity: 0; + background: rgba(32, 36, 43, 0.85); + transition: opacity var(--transition-base); + } + + .portfolio-item:hover .portfolio-overlay { + opacity: 1; + } +} diff --git a/themes/capro-tw/assets/css/components/team.css b/themes/capro-tw/assets/css/components/team.css new file mode 100644 index 00000000..5493d70b --- /dev/null +++ b/themes/capro-tw/assets/css/components/team.css @@ -0,0 +1,68 @@ +@layer components { + .team-card { + @apply overflow-hidden h-full flex flex-col; + background-color: transparent; + } + + .team-photo { + @apply relative overflow-hidden; + } + + .team-photo img { + @apply w-full; + transition: transform var(--transition-base), filter var(--transition-base); + } + + .team-photo:hover img { + transform: scale(1.05); + filter: brightness(1.15); + } + + @media (prefers-contrast: more) { + .team-photo:hover img { + filter: none; + } + } + + .team-photo .social-overlay { + @apply absolute inset-0 flex items-end justify-center pb-5; + opacity: 0; + background: linear-gradient(to top, var(--color-dark) 0%, transparent 60%); + transition: opacity var(--transition-base); + } + + .team-card:hover .social-overlay { + opacity: 1; + } + + .social-overlay a { + @apply inline-block w-9 h-9 leading-9 text-center text-lg mx-1; + color: var(--color-body); + transition: color var(--transition-fast); + } + + .social-overlay a:hover { + color: var(--color-primary); + } + + .team-meta { + @apply flex-1; + padding: 16px; + background-color: var(--color-dark); + border-bottom: 2px solid transparent; + transition: border-color var(--transition-base); + } + + .team-card:hover .team-meta { + border-bottom-color: var(--color-primary); + } + + .team-meta h3 { + @apply text-lg mb-1; + } + + .team-meta span { + @apply text-xs; + color: var(--color-light); + } +} diff --git a/themes/capro-tw/assets/css/main.css b/themes/capro-tw/assets/css/main.css new file mode 100644 index 00000000..29dc99ca --- /dev/null +++ b/themes/capro-tw/assets/css/main.css @@ -0,0 +1,124 @@ +@import "tailwindcss"; + +@source "../../layouts"; + +@theme { + --color-primary: #c04545; + --color-primary-text: #E57575; + --color-primary-dark: #b84444; + --color-secondary: #85bfbf; + --color-tertiary: #D4A843; + --color-dark: #20242b; + --color-grey: #2A2F36; + --color-light: #8a8e93; + --color-body: #d0d2d4; + --color-muted: #9a9da0; + --color-border: rgba(236, 239, 241, 0.12); + + --font-sans: 'Space Grotesk', sans-serif; + --font-serif: 'Spectral', serif; + + --shadow-card: 2px 2px 5px rgba(0, 0, 0, 0.3), 10px 10px 0 rgba(255, 255, 255, 0.04); + --shadow-card-hover: 0 5px 30px rgba(0, 0, 0, 0.25); + + --transition-fast: 0.2s ease; + --transition-base: 0.3s ease; + --transition-slow: 0.6s ease; +} + +[x-cloak] { display: none !important; } + +@layer base { + @font-face { + font-family: 'Space Grotesk'; + src: url('/webfonts/google-fonts/space-grotesk/space-grotesk-latin-300-normal.woff2') format('woff2'); + font-weight: 300; + font-display: swap; + } + @font-face { + font-family: 'Space Grotesk'; + src: url('/webfonts/google-fonts/space-grotesk/space-grotesk-latin-400-normal.woff2') format('woff2'); + font-weight: 400; + font-display: swap; + } + @font-face { + font-family: 'Space Grotesk'; + src: url('/webfonts/google-fonts/space-grotesk/space-grotesk-latin-500-normal.woff2') format('woff2'); + font-weight: 500; + font-display: swap; + } + @font-face { + font-family: 'Spectral'; + src: url('/webfonts/google-fonts/spectral/spectral-latin-300-normal.woff2') format('woff2'); + font-weight: 300; + font-display: swap; + } + + html { + scroll-behavior: smooth; + background-color: var(--color-grey); + color: var(--color-body); + } + + @media (prefers-reduced-motion: reduce) { + html { scroll-behavior: auto; } + *, *::before, *::after { + animation-duration: 0.01ms !important; + transition-duration: 0.01ms !important; + } + } + + body { + font-family: var(--font-sans); + font-size: 18px; + line-height: 1.6; + -webkit-font-smoothing: antialiased; + } + + @media (min-width: 768px) { + body { font-size: 20px; } + } + + h1, h2, h3, h4, h5, h6 { + font-family: var(--font-sans); + color: var(--color-secondary); + line-height: 1.2; + } + + h1 { font-weight: 300; } + h2 { font-weight: 500; } + h3, h4, h5, h6 { font-weight: 400; } + + p { + font-family: var(--font-serif); + color: var(--color-body); + line-height: 1.7; + } + + a { + color: var(--color-secondary); + text-decoration: none; + transition: color var(--transition-fast); + } + + a:hover { + color: var(--color-body); + } + + :focus-visible { + outline: 2px solid var(--color-primary); + outline-offset: 2px; + } + + ::selection { + background: var(--color-primary); + color: var(--color-body); + } +} + +@import "./components/layout.css"; +@import "./components/nav.css"; +@import "./components/buttons.css"; +@import "./components/sections.css"; +@import "./components/team.css"; +@import "./components/pubs.css"; diff --git a/themes/capro-tw/assets/css/themify-icons.css b/themes/capro-tw/assets/css/themify-icons.css new file mode 100644 index 00000000..bf30c532 --- /dev/null +++ b/themes/capro-tw/assets/css/themify-icons.css @@ -0,0 +1 @@ +@font-face{font-family:themify;display:swap;src:url(/webfonts/themify/themify.eot?-fvbane);src:url(/webfonts/themify/themify.eot?#iefix-fvbane) format('embedded-opentype'),url(/webfonts/themify/themify.woff?-fvbane) format('woff'),url(/webfonts/themify/themify.ttf?-fvbane) format('truetype'),url(/webfonts/themify/themify.svg?-fvbane#themify) format('svg');font-weight:400;font-style:normal}[class*=" ti-"],[class^=ti-]{font-family:themify;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-wand:before{content:"\e600"}.ti-volume:before{content:"\e601"}.ti-user:before{content:"\e602"}.ti-unlock:before{content:"\e603"}.ti-unlink:before{content:"\e604"}.ti-trash:before{content:"\e605"}.ti-thought:before{content:"\e606"}.ti-target:before{content:"\e607"}.ti-tag:before{content:"\e608"}.ti-tablet:before{content:"\e609"}.ti-star:before{content:"\e60a"}.ti-spray:before{content:"\e60b"}.ti-signal:before{content:"\e60c"}.ti-shopping-cart:before{content:"\e60d"}.ti-shopping-cart-full:before{content:"\e60e"}.ti-settings:before{content:"\e60f"}.ti-search:before{content:"\e610"}.ti-zoom-in:before{content:"\e611"}.ti-zoom-out:before{content:"\e612"}.ti-cut:before{content:"\e613"}.ti-ruler:before{content:"\e614"}.ti-ruler-pencil:before{content:"\e615"}.ti-ruler-alt:before{content:"\e616"}.ti-bookmark:before{content:"\e617"}.ti-bookmark-alt:before{content:"\e618"}.ti-reload:before{content:"\e619"}.ti-plus:before{content:"\e61a"}.ti-pin:before{content:"\e61b"}.ti-pencil:before{content:"\e61c"}.ti-pencil-alt:before{content:"\e61d"}.ti-paint-roller:before{content:"\e61e"}.ti-paint-bucket:before{content:"\e61f"}.ti-na:before{content:"\e620"}.ti-mobile:before{content:"\e621"}.ti-minus:before{content:"\e622"}.ti-medall:before{content:"\e623"}.ti-medall-alt:before{content:"\e624"}.ti-marker:before{content:"\e625"}.ti-marker-alt:before{content:"\e626"}.ti-arrow-up:before{content:"\e627"}.ti-arrow-right:before{content:"\e628"}.ti-arrow-left:before{content:"\e629"}.ti-arrow-down:before{content:"\e62a"}.ti-lock:before{content:"\e62b"}.ti-location-arrow:before{content:"\e62c"}.ti-link:before{content:"\e62d"}.ti-layout:before{content:"\e62e"}.ti-layers:before{content:"\e62f"}.ti-layers-alt:before{content:"\e630"}.ti-key:before{content:"\e631"}.ti-import:before{content:"\e632"}.ti-image:before{content:"\e633"}.ti-heart:before{content:"\e634"}.ti-heart-broken:before{content:"\e635"}.ti-hand-stop:before{content:"\e636"}.ti-hand-open:before{content:"\e637"}.ti-hand-drag:before{content:"\e638"}.ti-folder:before{content:"\e639"}.ti-flag:before{content:"\e63a"}.ti-flag-alt:before{content:"\e63b"}.ti-flag-alt-2:before{content:"\e63c"}.ti-eye:before{content:"\e63d"}.ti-export:before{content:"\e63e"}.ti-exchange-vertical:before{content:"\e63f"}.ti-desktop:before{content:"\e640"}.ti-cup:before{content:"\e641"}.ti-crown:before{content:"\e642"}.ti-comments:before{content:"\e643"}.ti-comment:before{content:"\e644"}.ti-comment-alt:before{content:"\e645"}.ti-close:before{content:"\e646"}.ti-clip:before{content:"\e647"}.ti-angle-up:before{content:"\e648"}.ti-angle-right:before{content:"\e649"}.ti-angle-left:before{content:"\e64a"}.ti-angle-down:before{content:"\e64b"}.ti-check:before{content:"\e64c"}.ti-check-box:before{content:"\e64d"}.ti-camera:before{content:"\e64e"}.ti-announcement:before{content:"\e64f"}.ti-brush:before{content:"\e650"}.ti-briefcase:before{content:"\e651"}.ti-bolt:before{content:"\e652"}.ti-bolt-alt:before{content:"\e653"}.ti-blackboard:before{content:"\e654"}.ti-bag:before{content:"\e655"}.ti-move:before{content:"\e656"}.ti-arrows-vertical:before{content:"\e657"}.ti-arrows-horizontal:before{content:"\e658"}.ti-fullscreen:before{content:"\e659"}.ti-arrow-top-right:before{content:"\e65a"}.ti-arrow-top-left:before{content:"\e65b"}.ti-arrow-circle-up:before{content:"\e65c"}.ti-arrow-circle-right:before{content:"\e65d"}.ti-arrow-circle-left:before{content:"\e65e"}.ti-arrow-circle-down:before{content:"\e65f"}.ti-angle-double-up:before{content:"\e660"}.ti-angle-double-right:before{content:"\e661"}.ti-angle-double-left:before{content:"\e662"}.ti-angle-double-down:before{content:"\e663"}.ti-zip:before{content:"\e664"}.ti-world:before{content:"\e665"}.ti-wheelchair:before{content:"\e666"}.ti-view-list:before{content:"\e667"}.ti-view-list-alt:before{content:"\e668"}.ti-view-grid:before{content:"\e669"}.ti-uppercase:before{content:"\e66a"}.ti-upload:before{content:"\e66b"}.ti-underline:before{content:"\e66c"}.ti-truck:before{content:"\e66d"}.ti-timer:before{content:"\e66e"}.ti-ticket:before{content:"\e66f"}.ti-thumb-up:before{content:"\e670"}.ti-thumb-down:before{content:"\e671"}.ti-text:before{content:"\e672"}.ti-stats-up:before{content:"\e673"}.ti-stats-down:before{content:"\e674"}.ti-split-v:before{content:"\e675"}.ti-split-h:before{content:"\e676"}.ti-smallcap:before{content:"\e677"}.ti-shine:before{content:"\e678"}.ti-shift-right:before{content:"\e679"}.ti-shift-left:before{content:"\e67a"}.ti-shield:before{content:"\e67b"}.ti-notepad:before{content:"\e67c"}.ti-server:before{content:"\e67d"}.ti-quote-right:before{content:"\e67e"}.ti-quote-left:before{content:"\e67f"}.ti-pulse:before{content:"\e680"}.ti-printer:before{content:"\e681"}.ti-power-off:before{content:"\e682"}.ti-plug:before{content:"\e683"}.ti-pie-chart:before{content:"\e684"}.ti-paragraph:before{content:"\e685"}.ti-panel:before{content:"\e686"}.ti-package:before{content:"\e687"}.ti-music:before{content:"\e688"}.ti-music-alt:before{content:"\e689"}.ti-mouse:before{content:"\e68a"}.ti-mouse-alt:before{content:"\e68b"}.ti-money:before{content:"\e68c"}.ti-microphone:before{content:"\e68d"}.ti-menu:before{content:"\e68e"}.ti-menu-alt:before{content:"\e68f"}.ti-map:before{content:"\e690"}.ti-map-alt:before{content:"\e691"}.ti-loop:before{content:"\e692"}.ti-location-pin:before{content:"\e693"}.ti-list:before{content:"\e694"}.ti-light-bulb:before{content:"\e695"}.ti-Italic:before{content:"\e696"}.ti-info:before{content:"\e697"}.ti-infinite:before{content:"\e698"}.ti-id-badge:before{content:"\e699"}.ti-hummer:before{content:"\e69a"}.ti-home:before{content:"\e69b"}.ti-help:before{content:"\e69c"}.ti-headphone:before{content:"\e69d"}.ti-harddrives:before{content:"\e69e"}.ti-harddrive:before{content:"\e69f"}.ti-gift:before{content:"\e6a0"}.ti-game:before{content:"\e6a1"}.ti-filter:before{content:"\e6a2"}.ti-files:before{content:"\e6a3"}.ti-file:before{content:"\e6a4"}.ti-eraser:before{content:"\e6a5"}.ti-envelope:before{content:"\e6a6"}.ti-download:before{content:"\e6a7"}.ti-direction:before{content:"\e6a8"}.ti-direction-alt:before{content:"\e6a9"}.ti-dashboard:before{content:"\e6aa"}.ti-control-stop:before{content:"\e6ab"}.ti-control-shuffle:before{content:"\e6ac"}.ti-control-play:before{content:"\e6ad"}.ti-control-pause:before{content:"\e6ae"}.ti-control-forward:before{content:"\e6af"}.ti-control-backward:before{content:"\e6b0"}.ti-cloud:before{content:"\e6b1"}.ti-cloud-up:before{content:"\e6b2"}.ti-cloud-down:before{content:"\e6b3"}.ti-clipboard:before{content:"\e6b4"}.ti-car:before{content:"\e6b5"}.ti-calendar:before{content:"\e6b6"}.ti-book:before{content:"\e6b7"}.ti-bell:before{content:"\e6b8"}.ti-basketball:before{content:"\e6b9"}.ti-bar-chart:before{content:"\e6ba"}.ti-bar-chart-alt:before{content:"\e6bb"}.ti-back-right:before{content:"\e6bc"}.ti-back-left:before{content:"\e6bd"}.ti-arrows-corner:before{content:"\e6be"}.ti-archive:before{content:"\e6bf"}.ti-anchor:before{content:"\e6c0"}.ti-align-right:before{content:"\e6c1"}.ti-align-left:before{content:"\e6c2"}.ti-align-justify:before{content:"\e6c3"}.ti-align-center:before{content:"\e6c4"}.ti-alert:before{content:"\e6c5"}.ti-alarm-clock:before{content:"\e6c6"}.ti-agenda:before{content:"\e6c7"}.ti-write:before{content:"\e6c8"}.ti-window:before{content:"\e6c9"}.ti-widgetized:before{content:"\e6ca"}.ti-widget:before{content:"\e6cb"}.ti-widget-alt:before{content:"\e6cc"}.ti-wallet:before{content:"\e6cd"}.ti-video-clapper:before{content:"\e6ce"}.ti-video-camera:before{content:"\e6cf"}.ti-vector:before{content:"\e6d0"}.ti-themify-logo:before{content:"\e6d1"}.ti-themify-favicon:before{content:"\e6d2"}.ti-themify-favicon-alt:before{content:"\e6d3"}.ti-support:before{content:"\e6d4"}.ti-stamp:before{content:"\e6d5"}.ti-split-v-alt:before{content:"\e6d6"}.ti-slice:before{content:"\e6d7"}.ti-shortcode:before{content:"\e6d8"}.ti-shift-right-alt:before{content:"\e6d9"}.ti-shift-left-alt:before{content:"\e6da"}.ti-ruler-alt-2:before{content:"\e6db"}.ti-receipt:before{content:"\e6dc"}.ti-pin2:before{content:"\e6dd"}.ti-pin-alt:before{content:"\e6de"}.ti-pencil-alt2:before{content:"\e6df"}.ti-palette:before{content:"\e6e0"}.ti-more:before{content:"\e6e1"}.ti-more-alt:before{content:"\e6e2"}.ti-microphone-alt:before{content:"\e6e3"}.ti-magnet:before{content:"\e6e4"}.ti-line-double:before{content:"\e6e5"}.ti-line-dotted:before{content:"\e6e6"}.ti-line-dashed:before{content:"\e6e7"}.ti-layout-width-full:before{content:"\e6e8"}.ti-layout-width-default:before{content:"\e6e9"}.ti-layout-width-default-alt:before{content:"\e6ea"}.ti-layout-tab:before{content:"\e6eb"}.ti-layout-tab-window:before{content:"\e6ec"}.ti-layout-tab-v:before{content:"\e6ed"}.ti-layout-tab-min:before{content:"\e6ee"}.ti-layout-slider:before{content:"\e6ef"}.ti-layout-slider-alt:before{content:"\e6f0"}.ti-layout-sidebar-right:before{content:"\e6f1"}.ti-layout-sidebar-none:before{content:"\e6f2"}.ti-layout-sidebar-left:before{content:"\e6f3"}.ti-layout-placeholder:before{content:"\e6f4"}.ti-layout-menu:before{content:"\e6f5"}.ti-layout-menu-v:before{content:"\e6f6"}.ti-layout-menu-separated:before{content:"\e6f7"}.ti-layout-menu-full:before{content:"\e6f8"}.ti-layout-media-right-alt:before{content:"\e6f9"}.ti-layout-media-right:before{content:"\e6fa"}.ti-layout-media-overlay:before{content:"\e6fb"}.ti-layout-media-overlay-alt:before{content:"\e6fc"}.ti-layout-media-overlay-alt-2:before{content:"\e6fd"}.ti-layout-media-left-alt:before{content:"\e6fe"}.ti-layout-media-left:before{content:"\e6ff"}.ti-layout-media-center-alt:before{content:"\e700"}.ti-layout-media-center:before{content:"\e701"}.ti-layout-list-thumb:before{content:"\e702"}.ti-layout-list-thumb-alt:before{content:"\e703"}.ti-layout-list-post:before{content:"\e704"}.ti-layout-list-large-image:before{content:"\e705"}.ti-layout-line-solid:before{content:"\e706"}.ti-layout-grid4:before{content:"\e707"}.ti-layout-grid3:before{content:"\e708"}.ti-layout-grid2:before{content:"\e709"}.ti-layout-grid2-thumb:before{content:"\e70a"}.ti-layout-cta-right:before{content:"\e70b"}.ti-layout-cta-left:before{content:"\e70c"}.ti-layout-cta-center:before{content:"\e70d"}.ti-layout-cta-btn-right:before{content:"\e70e"}.ti-layout-cta-btn-left:before{content:"\e70f"}.ti-layout-column4:before{content:"\e710"}.ti-layout-column3:before{content:"\e711"}.ti-layout-column2:before{content:"\e712"}.ti-layout-accordion-separated:before{content:"\e713"}.ti-layout-accordion-merged:before{content:"\e714"}.ti-layout-accordion-list:before{content:"\e715"}.ti-ink-pen:before{content:"\e716"}.ti-info-alt:before{content:"\e717"}.ti-help-alt:before{content:"\e718"}.ti-headphone-alt:before{content:"\e719"}.ti-hand-point-up:before{content:"\e71a"}.ti-hand-point-right:before{content:"\e71b"}.ti-hand-point-left:before{content:"\e71c"}.ti-hand-point-down:before{content:"\e71d"}.ti-gallery:before{content:"\e71e"}.ti-face-smile:before{content:"\e71f"}.ti-face-sad:before{content:"\e720"}.ti-credit-card:before{content:"\e721"}.ti-control-skip-forward:before{content:"\e722"}.ti-control-skip-backward:before{content:"\e723"}.ti-control-record:before{content:"\e724"}.ti-control-eject:before{content:"\e725"}.ti-comments-smiley:before{content:"\e726"}.ti-brush-alt:before{content:"\e727"}.ti-youtube:before{content:"\e728"}.ti-vimeo:before{content:"\e729"}.ti-twitter:before{content:"\e72a"}.ti-time:before{content:"\e72b"}.ti-tumblr:before{content:"\e72c"}.ti-skype:before{content:"\e72d"}.ti-share:before{content:"\e72e"}.ti-share-alt:before{content:"\e72f"}.ti-rocket:before{content:"\e730"}.ti-pinterest:before{content:"\e731"}.ti-new-window:before{content:"\e732"}.ti-microsoft:before{content:"\e733"}.ti-list-ol:before{content:"\e734"}.ti-linkedin:before{content:"\e735"}.ti-layout-sidebar-2:before{content:"\e736"}.ti-layout-grid4-alt:before{content:"\e737"}.ti-layout-grid3-alt:before{content:"\e738"}.ti-layout-grid2-alt:before{content:"\e739"}.ti-layout-column4-alt:before{content:"\e73a"}.ti-layout-column3-alt:before{content:"\e73b"}.ti-layout-column2-alt:before{content:"\e73c"}.ti-instagram:before{content:"\e73d"}.ti-google:before{content:"\e73e"}.ti-github:before{content:"\e73f"}.ti-flickr:before{content:"\e740"}.ti-facebook:before{content:"\e741"}.ti-dropbox:before{content:"\e742"}.ti-dribbble:before{content:"\e743"}.ti-apple:before{content:"\e744"}.ti-android:before{content:"\e745"}.ti-save:before{content:"\e746"}.ti-save-alt:before{content:"\e747"}.ti-yahoo:before{content:"\e748"}.ti-wordpress:before{content:"\e749"}.ti-vimeo-alt:before{content:"\e74a"}.ti-twitter-alt:before{content:"\e74b"}.ti-tumblr-alt:before{content:"\e74c"}.ti-trello:before{content:"\e74d"}.ti-stack-overflow:before{content:"\e74e"}.ti-soundcloud:before{content:"\e74f"}.ti-sharethis:before{content:"\e750"}.ti-sharethis-alt:before{content:"\e751"}.ti-reddit:before{content:"\e752"}.ti-pinterest-alt:before{content:"\e753"}.ti-microsoft-alt:before{content:"\e754"}.ti-linux:before{content:"\e755"}.ti-jsfiddle:before{content:"\e756"}.ti-joomla:before{content:"\e757"}.ti-html5:before{content:"\e758"}.ti-flickr-alt:before{content:"\e759"}.ti-email:before{content:"\e75a"}.ti-drupal:before{content:"\e75b"}.ti-dropbox-alt:before{content:"\e75c"}.ti-css3:before{content:"\e75d"}.ti-rss:before{content:"\e75e"}.ti-rss-alt:before{content:"\e75f"} \ No newline at end of file diff --git a/themes/capro-tw/assets/css/vendor/tailwind.css b/themes/capro-tw/assets/css/vendor/tailwind.css new file mode 100644 index 00000000..d441aa76 --- /dev/null +++ b/themes/capro-tw/assets/css/vendor/tailwind.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Space Grotesk", sans-serif;--font-serif:"Spectral", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#c04545;--color-primary-text:#e57575;--color-primary-dark:#b84444;--color-secondary:#85bfbf;--color-dark:#20242b;--color-grey:#2a2f36;--color-light:#8a8e93;--color-body:#d0d2d4;--color-muted:#9a9da0;--color-border:#eceff11f;--shadow-card:2px 2px 5px #0000004d, 10px 10px 0 #ffffff0a;--shadow-card-hover:0 5px 30px #00000040;--transition-fast:.2s ease;--transition-base:.3s ease;--transition-slow:.6s ease}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@font-face{font-family:Space Grotesk;src:url(/webfonts/google-fonts/space-grotesk/space-grotesk-latin-300-normal.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/webfonts/google-fonts/space-grotesk/space-grotesk-latin-400-normal.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/webfonts/google-fonts/space-grotesk/space-grotesk-latin-500-normal.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Spectral;src:url(/webfonts/google-fonts/spectral/spectral-latin-300-normal.woff2)format("woff2");font-weight:300;font-display:swap}html{scroll-behavior:smooth;background-color:var(--color-grey);color:var(--color-body)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.6}@media (min-width:768px){body{font-size:20px}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-secondary);line-height:1.2}h1{font-weight:300}h2{font-weight:500}h3,h4,h5,h6{font-weight:400}p{font-family:var(--font-serif);color:var(--color-body);line-height:1.7}a{color:var(--color-secondary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-body)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary);color:var(--color-body)}}@layer components{.section{padding-top:6rem;padding-bottom:6rem}@media (max-width:768px){.section{padding-top:3rem;padding-bottom:3rem}}.section-title{margin-bottom:calc(var(--spacing) * 12);text-align:center}.section-title h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);text-transform:capitalize;color:var(--color-body)}.section-title .accent{color:var(--color-primary-text)}.border-accent{margin-inline:auto;margin-top:calc(var(--spacing) * 4);width:calc(var(--spacing) * 16);background-color:var(--color-primary);height:2px}.bg-dark{background-color:var(--color-dark)}.bg-grey{background-color:var(--color-grey)}.reveal{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.site-nav{top:calc(var(--spacing) * 0);z-index:50;background-color:var(--color-dark);transition:border-color var(--transition-base), box-shadow var(--transition-base);border-bottom:1px solid #0000;position:sticky}.site-nav.nav-scrolled{border-bottom-color:var(--color-border);box-shadow:0 2px 12px #0000004d}.site-nav a{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-body);transition:color var(--transition-fast)}.site-nav a:hover,.site-nav a.active{color:var(--color-primary)}.lang-select{cursor:pointer;border-style:var(--tw-border-style);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));appearance:none;background:var(--color-dark);color:var(--color-body);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d0d2d4' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-width:0;padding:4px 24px 4px 8px}.footer-social-icon{height:calc(var(--spacing) * 12);width:calc(var(--spacing) * 12);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));color:var(--color-light);border:1px solid var(--color-border);transition:all var(--transition-base);border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex}.footer-social-icon:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn{padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;transition:all var(--transition-fast);display:inline-block}.btn-primary{background-color:var(--color-primary-dark);color:#fff}.btn-primary:hover{background-color:var(--color-primary);color:#fff}.btn-outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);color:var(--color-body)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-hero{padding-inline:calc(var(--spacing) * 14);padding-block:calc(var(--spacing) * 5);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest);text-transform:uppercase;background-color:var(--color-primary);border:2px solid var(--color-primary);color:#fff}.btn-hero:hover{color:#fff;background-color:#0000;border-color:#fff}.about-block{background:var(--color-dark);height:100%;transition:border-color var(--transition-base);border-bottom:2px solid #0000;padding:32px}.about-block:hover{border-bottom-color:var(--color-primary)}.about-block:hover .icon-box{transform:translateY(-10px)}.icon-box{border-left:2px solid var(--color-secondary);border-right:2px solid var(--color-secondary);width:120px;height:69px;color:var(--color-primary);transition:transform var(--transition-base);z-index:1;background-color:#0000;justify-content:center;align-items:center;margin:35px auto 48px;padding:15px 0;font-size:36px;display:flex;position:relative}.icon-box:before,.icon-box:after{content:"";z-index:-1;background-color:var(--color-dark);width:84.85px;height:84.85px;position:absolute;left:15.6px;transform:scaleY(.5774)rotate(-45deg)}.icon-box:before{border-top:2px solid var(--color-secondary);border-right:2px solid var(--color-secondary);top:-42.4px}.icon-box:after{border-bottom:2px solid var(--color-secondary);border-left:2px solid var(--color-secondary);bottom:-42.4px}.service-block{text-align:center;background-color:var(--color-dark);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);height:100%;box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base), border-color var(--transition-base);padding:48px 24px}.service-block:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary)}.service-block i{margin-bottom:calc(var(--spacing) * 6);color:var(--color-primary);font-size:48px;display:block}.service-block h3{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:#fff}.progress-bar-track{background-color:var(--color-border);border-radius:3.40282e38px;width:100%;height:6px}.progress-bar-fill{background-color:var(--color-primary);border-radius:3.40282e38px;height:100%;transition:width .8s}.counter-item i{margin-bottom:calc(var(--spacing) * 3);color:var(--color-primary);font-size:40px}.counter-value{color:var(--color-secondary);font-size:48px;font-weight:700}.price-card{background-color:var(--color-dark);border:1px solid var(--color-border);height:100%;transition:border-color var(--transition-base);padding:40px 32px}.price-card h3{color:var(--color-secondary);margin-bottom:24px}.price-card table td{padding:6px 8px}.price-card:hover{border-color:var(--color-primary)}.testimonial-scroll{align-items:stretch;gap:calc(var(--spacing) * 6);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-light) transparent;padding-bottom:16px;display:flex;overflow-x:auto}.testimonial-scroll::-webkit-scrollbar{height:6px}.testimonial-scroll::-webkit-scrollbar-track{background:0 0}.testimonial-scroll::-webkit-scrollbar-thumb{background:var(--color-light);border-radius:3px}.testimonial-nav{z-index:10;height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);background:var(--color-dark);border:1px solid var(--color-border);color:var(--color-body);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;top:50%}.testimonial-nav:hover{border-color:var(--color-primary);color:var(--color-primary)}.testimonial-nav-left{left:-20px}.testimonial-nav-right{right:-20px}@media (max-width:768px){.testimonial-nav{display:none}}.testimonial-modern{background-color:var(--color-grey);border:1px solid var(--color-border);scroll-snap-align:start;width:360px;transition:border-color var(--transition-base);flex-direction:column;flex-shrink:0;padding:32px;display:flex}.testimonial-modern:hover{border-color:var(--color-primary)}.testimonial-modern blockquote{font-size:1rem;line-height:1.7}.testimonial-modern blockquote p{margin:0}.contact-icon{margin-top:calc(var(--spacing) * 1);margin-right:calc(var(--spacing) * 4);color:var(--color-primary);font-size:20px}.portfolio-item{position:relative;overflow:hidden}.portfolio-item .portfolio-overlay{inset:calc(var(--spacing) * 0);opacity:0;transition:opacity var(--transition-base);background:#20242bd9;justify-content:center;align-items:center;display:flex;position:absolute}.portfolio-item:hover .portfolio-overlay{opacity:1}.team-card{background-color:#0000;flex-direction:column;height:100%;display:flex;overflow:hidden}.team-photo{position:relative;overflow:hidden}.team-photo img{width:100%;transition:transform var(--transition-base), filter var(--transition-base)}.team-photo:hover img{filter:brightness(1.15);transform:scale(1.05)}@media (prefers-contrast:more){.team-photo:hover img{filter:none}}.team-photo .social-overlay{inset:calc(var(--spacing) * 0);padding-bottom:calc(var(--spacing) * 5);opacity:0;background:linear-gradient(to top, var(--color-dark) 0%, transparent 60%);transition:opacity var(--transition-base);justify-content:center;align-items:flex-end;display:flex;position:absolute}.team-card:hover .social-overlay{opacity:1}.social-overlay a{margin-inline:calc(var(--spacing) * 1);height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);text-align:center;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 9);line-height:calc(var(--spacing) * 9);color:var(--color-body);transition:color var(--transition-fast);display:inline-block}.social-overlay a:hover{color:var(--color-primary)}.team-meta{background-color:var(--color-dark);transition:border-color var(--transition-base);border-bottom:2px solid #0000;flex:1;padding:16px}.team-card:hover .team-meta{border-bottom-color:var(--color-primary)}.team-meta h3{margin-bottom:calc(var(--spacing) * 1);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.team-meta span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-light)}.pubs-table{width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-body)}.pubs-table th{padding-bottom:calc(var(--spacing) * 3);text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-body);border-bottom:1px solid var(--color-border)}.pubs-table td{padding-block:calc(var(--spacing) * 3);vertical-align:top;border-bottom:1px solid var(--color-border)}.pubs-table .pub-year{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);font-family:var(--font-sans);color:var(--color-secondary)}.pubs-table .pub-authors{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-muted)}.pubs-table .pub-title a{color:var(--color-secondary);transition:color var(--transition-fast)}.pubs-table .pub-title a:hover{color:var(--color-primary)}.pubs-table .pub-journal{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-muted);font-style:italic}.pubs-table tbody tr:hover td{color:var(--color-body)}.year-select{cursor:pointer;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);appearance:none;background:var(--color-dark);color:var(--color-body);border:1px solid var(--color-border);transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d0d2d4' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:4px;padding:8px 36px 8px 14px}.year-select:hover,.year-select:focus{border-color:var(--color-primary)}.year-select option{background:var(--color-dark);color:var(--color-body)}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-16{top:calc(var(--spacing) * 16)}.right-0{right:calc(var(--spacing) * 0)}.right-5{right:calc(var(--spacing) * 5)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:calc(var(--spacing) * 0)}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-48{height:calc(var(--spacing) * 48)}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-none{max-width:none}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-border{border-color:var(--color-border)}.border-primary{border-color:var(--color-primary)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-dark{background-color:var(--color-dark)}.bg-grey{background-color:var(--color-grey)}.bg-primary{background-color:var(--color-primary)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-top{background-position:top}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-body{color:var(--color-body)}.text-light{color:var(--color-light)}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-40{opacity:.4}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:w-1\/2{width:50%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:p-16{padding:calc(var(--spacing) * 16)}.lg\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}}[x-cloak]{display:none!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/themes/capro-tw/assets/js/counter.js b/themes/capro-tw/assets/js/counter.js new file mode 100644 index 00000000..e1a75609 --- /dev/null +++ b/themes/capro-tw/assets/js/counter.js @@ -0,0 +1,26 @@ +document.addEventListener('DOMContentLoaded', function () { + var counters = document.querySelectorAll('[data-count]'); + if (!counters.length) return; + + var observer = new IntersectionObserver(function (entries) { + entries.forEach(function (entry) { + if (!entry.isIntersecting) return; + var el = entry.target; + var target = parseInt(el.dataset.count, 10); + var duration = 1200; + var start = performance.now(); + + function step(now) { + var progress = Math.min((now - start) / duration, 1); + el.textContent = Math.floor(progress * target); + if (progress < 1) requestAnimationFrame(step); + else el.textContent = target; + } + + requestAnimationFrame(step); + observer.unobserve(el); + }); + }, { threshold: 0.5 }); + + counters.forEach(function (el) { observer.observe(el); }); +}); diff --git a/themes/capro-tw/assets/js/orcid-pubs.js b/themes/capro-tw/assets/js/orcid-pubs.js new file mode 100644 index 00000000..581bf7c1 --- /dev/null +++ b/themes/capro-tw/assets/js/orcid-pubs.js @@ -0,0 +1,151 @@ +(function () { + var container = document.getElementById("orcid-pubs"); + if (!container) return; + + var orcidId = container.dataset.orcid; + if (!orcidId) return; + + var loading = document.getElementById("orcid-pubs-loading"); + var error = document.getElementById("orcid-pubs-error"); + var content = document.getElementById("orcid-pubs-content"); + var yearSelect = document.getElementById("orcid-pubs-year-select"); + var tbody = document.getElementById("orcid-pubs-tbody"); + + var apiBase = + "https://api.openalex.org/works?filter=author.orcid:" + + orcidId + + "&select=title,publication_year,primary_location,doi,authorships" + + "&sort=publication_year:desc&per_page=200" + + "&mailto=a.m.mowinckel@psykologi.uio.no"; + + function formatAuthors(authorships) { + var names = authorships.map(function (a) { + return a.author.display_name; + }); + if (names.length > 6) { + return names.slice(0, 3).join(", ") + " et al."; + } + if (names.length > 1) { + return names.slice(0, -1).join(", ") + " & " + names[names.length - 1]; + } + return names[0] || ""; + } + + function stripHtml(str) { + var tmp = document.createElement("span"); + tmp.innerHTML = str; + return tmp.textContent || tmp.innerText || ""; + } + + function fetchAll(url, collected) { + return fetch(url) + .then(function (res) { + if (!res.ok) throw new Error("OpenAlex API error: " + res.status); + return res.json(); + }) + .then(function (data) { + collected = collected.concat(data.results); + if (data.meta.next_cursor) { + return fetchAll( + apiBase + "&cursor=" + data.meta.next_cursor, + collected + ); + } + return collected; + }); + } + + fetchAll(apiBase + "&cursor=*", []) + .then(function (results) { + var pubs = []; + + results.forEach(function (w) { + var title = w.title ? stripHtml(w.title) : ""; + var year = w.publication_year; + var loc = w.primary_location || {}; + var src = loc.source || {}; + var journal = src.display_name || ""; + var doi = w.doi || null; + var authors = formatAuthors(w.authorships || []); + + if (title && year) { + pubs.push({ + title: title, + journal: journal, + year: year, + doi: doi, + author: authors, + }); + } + }); + + pubs.sort(function (a, b) { + return b.year - a.year; + }); + + var years = []; + pubs.forEach(function (p) { + if (years.indexOf(p.year) === -1) years.push(p.year); + }); + + years.forEach(function (y) { + var option = document.createElement("option"); + option.value = y; + option.textContent = y; + yearSelect.appendChild(option); + }); + + var rows = []; + + pubs.forEach(function (p) { + var tr = document.createElement("tr"); + tr.dataset.year = p.year; + + var tdYear = document.createElement("td"); + tdYear.className = "pub-year"; + tdYear.textContent = p.year; + + var tdAuthor = document.createElement("td"); + tdAuthor.className = "pub-authors"; + tdAuthor.textContent = p.author; + + var tdTitle = document.createElement("td"); + tdTitle.className = "pub-title"; + if (p.doi) { + var a = document.createElement("a"); + a.href = p.doi; + a.textContent = p.title; + a.target = "_blank"; + a.rel = "noopener"; + tdTitle.appendChild(a); + } else { + tdTitle.textContent = p.title; + } + + var tdJournal = document.createElement("td"); + tdJournal.className = "pub-journal"; + tdJournal.textContent = p.journal; + + tr.appendChild(tdYear); + tr.appendChild(tdAuthor); + tr.appendChild(tdTitle); + tr.appendChild(tdJournal); + tbody.appendChild(tr); + rows.push(tr); + }); + + loading.style.display = "none"; + content.style.display = "block"; + + yearSelect.addEventListener("change", function () { + var val = yearSelect.value; + rows.forEach(function (row) { + row.style.display = (val === "all" || row.dataset.year === val) ? "" : "none"; + }); + }); + }) + .catch(function () { + loading.style.display = "none"; + error.style.display = "block"; + }); +})(); diff --git a/themes/capro-tw/assets/js/scroll-reveal.js b/themes/capro-tw/assets/js/scroll-reveal.js new file mode 100644 index 00000000..4a7b50d6 --- /dev/null +++ b/themes/capro-tw/assets/js/scroll-reveal.js @@ -0,0 +1,15 @@ +document.addEventListener('DOMContentLoaded', function () { + var els = document.querySelectorAll('.reveal'); + if (!els.length || !('IntersectionObserver' in window)) return; + + var observer = new IntersectionObserver(function (entries) { + entries.forEach(function (entry) { + if (entry.isIntersecting) { + entry.target.classList.add('visible'); + observer.unobserve(entry.target); + } + }); + }, { threshold: 0.1 }); + + els.forEach(function (el) { observer.observe(el); }); +}); diff --git a/themes/capro-tw/assets/js/vendor/alpine.min.js b/themes/capro-tw/assets/js/vendor/alpine.min.js new file mode 100644 index 00000000..8e339a2b --- /dev/null +++ b/themes/capro-tw/assets/js/vendor/alpine.min.js @@ -0,0 +1,5 @@ +(()=>{var ie=!1,oe=!1,Y=[],se=-1,ae=!1;function We(t){Bn(t)}function Ge(){ae=!0}function Je(){ae=!1,Xe()}function Bn(t){Y.includes(t)||Y.push(t),Xe()}function Ye(t){let e=Y.indexOf(t);e!==-1&&e>se&&Y.splice(e,1)}function Xe(){if(!oe&&!ie){if(ae)return;ie=!0,queueMicrotask(zn)}}function zn(){ie=!1,oe=!0;for(let t=0;tt.effect(e,{scheduler:r=>{ce?We(r):r()}}),le=t.raw}function ue(t){D=t}function tr(t){let e=()=>{};return[n=>{let i=D(n);return t._x_effects||(t._x_effects=new Set,t._x_runEffects=()=>{t._x_effects.forEach(o=>o())}),t._x_effects.add(i),e=()=>{i!==void 0&&(t._x_effects.delete(i),z(i))},i},()=>{e()}]}function Ot(t,e){let r=!0,n,i=D(()=>{let o=t();if(JSON.stringify(o),!r&&(typeof o=="object"||o!==n)){let s=n;queueMicrotask(()=>{e(o,s)})}n=o,r=!1});return()=>z(i)}async function er(t){Ge();try{await t(),await Promise.resolve()}finally{Je()}}var rr=[],nr=[],ir=[];function or(t){ir.push(t)}function it(t,e){typeof e=="function"?(t._x_cleanups||(t._x_cleanups=[]),t._x_cleanups.push(e)):(e=t,nr.push(e))}function Tt(t){rr.push(t)}function Rt(t,e,r){t._x_attributeCleanups||(t._x_attributeCleanups={}),t._x_attributeCleanups[e]||(t._x_attributeCleanups[e]=[]),t._x_attributeCleanups[e].push(r)}function fe(t,e){t._x_attributeCleanups&&Object.entries(t._x_attributeCleanups).forEach(([r,n])=>{(e===void 0||e.includes(r))&&(n.forEach(i=>i()),delete t._x_attributeCleanups[r])})}function sr(t){for(t._x_effects?.forEach(Ye);t._x_cleanups?.length;)t._x_cleanups.pop()()}var de=new MutationObserver(_e),pe=!1;function mt(){de.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),pe=!0}function me(){Hn(),de.disconnect(),pe=!1}var pt=[];function Hn(){let t=de.takeRecords();pt.push(()=>t.length>0&&_e(t));let e=pt.length;queueMicrotask(()=>{if(pt.length===e)for(;pt.length>0;)pt.shift()()})}function h(t){if(!pe)return t();me();let e=t();return mt(),e}var he=!1,Ct=[];function ar(){he=!0}function cr(){he=!1,_e(Ct),Ct=[]}function _e(t){if(he){Ct=Ct.concat(t);return}let e=[],r=new Set,n=new Map,i=new Map;for(let o=0;o{s.nodeType===1&&s._x_marker&&r.add(s)}),t[o].addedNodes.forEach(s=>{if(s.nodeType===1){if(r.has(s)){r.delete(s);return}s._x_marker||e.push(s)}})),t[o].type==="attributes")){let s=t[o].target,a=t[o].attributeName,c=t[o].oldValue,l=()=>{n.has(s)||n.set(s,[]),n.get(s).push({name:a,value:s.getAttribute(a)})},u=()=>{i.has(s)||i.set(s,[]),i.get(s).push(a)};s.hasAttribute(a)&&c===null?l():s.hasAttribute(a)?(u(),l()):u()}i.forEach((o,s)=>{fe(s,o)}),n.forEach((o,s)=>{rr.forEach(a=>a(s,o))});for(let o of r)e.some(s=>s.contains(o))||nr.forEach(s=>s(o));for(let o of e)o.isConnected&&ir.forEach(s=>s(o));e=null,r=null,n=null,i=null}function Mt(t){return I(H(t))}function P(t,e,r){return t._x_dataStack=[e,...H(r||t)],()=>{t._x_dataStack=t._x_dataStack.filter(n=>n!==e)}}function H(t){return t._x_dataStack?t._x_dataStack:typeof ShadowRoot=="function"&&t instanceof ShadowRoot?H(t.host):t.parentNode?H(t.parentNode):[]}function I(t){return new Proxy({objects:t},Kn)}var Kn={ownKeys({objects:t}){return Array.from(new Set(t.flatMap(e=>Object.keys(e))))},has({objects:t},e){return e==Symbol.unscopables?!1:t.some(r=>Object.prototype.hasOwnProperty.call(r,e)||Reflect.has(r,e))},get({objects:t},e,r){return e=="toJSON"?Vn:Reflect.get(t.find(n=>Reflect.has(n,e))||{},e,r)},set({objects:t},e,r,n){let i=t.find(s=>Object.prototype.hasOwnProperty.call(s,e))||t[t.length-1],o=Object.getOwnPropertyDescriptor(i,e);return o?.set&&o?.get?o.set.call(n,r)||!0:Reflect.set(i,e,r)}};function Vn(){return Reflect.ownKeys(this).reduce((e,r)=>(e[r]=Reflect.get(this,r),e),{})}function ot(t){let e=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0||typeof s=="object"&&s!==null&&s.__v_skip)return;let c=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?n[o]=s.initialize(t,c,o):e(s)&&s!==n&&!(s instanceof Element)&&r(s,c)})};return r(t)}function Nt(t,e=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return t(this.initialValue,()=>Un(n,i),s=>ge(n,i,s),i,o)}};return e(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,s,a)=>{let c=n.initialize(o,s,a);return r.initialValue=c,i(o,s,a)}}else r.initialValue=n;return r}}function Un(t,e){return e.split(".").reduce((r,n)=>r[n],t)}function ge(t,e,r){if(typeof e=="string"&&(e=e.split(".")),e.length===1)t[e[0]]=r;else{if(e.length===0)throw error;return t[e[0]]||(t[e[0]]={}),ge(t[e[0]],e.slice(1),r)}}var lr={};function y(t,e){lr[t]=e}function U(t,e){let r=qn(e);return Object.entries(lr).forEach(([n,i])=>{Object.defineProperty(t,`$${n}`,{get(){return i(e,r)},enumerable:!1})}),t}function qn(t){let[e,r]=xe(t),n={interceptor:Nt,...e};return it(t,r),n}function ur(t,e,r,...n){try{return r(...n)}catch(i){st(i,t,e)}}function st(...t){return fr(...t)}var fr=Wn;function dr(t){fr=t}function Wn(t,e,r=void 0){t=Object.assign(t??{message:"No error message given."},{el:e,expression:r}),console.warn(`Alpine Expression Error: ${t.message} + +${r?'Expression: "'+r+`" + +`:""}`,e),setTimeout(()=>{throw t},0)}var at=!0;function kt(t){let e=at;at=!1;let r=t();return at=e,r}function N(t,e,r={}){let n;return x(t,e)(i=>n=i,r),n}function x(...t){return pr(...t)}var pr=be;function mr(t){pr=t}var hr;function _r(t){hr=t}function be(t,e){let r={};U(r,t);let n=[r,...H(t)],i=typeof e=="function"?Gn(n,e):Yn(n,e,t);return ur.bind(null,t,e,i)}function Gn(t,e){return(r=()=>{},{scope:n={},params:i=[],context:o}={})=>{if(!at){ht(r,e,I([n,...t]),i);return}let s=e.apply(I([n,...t]),i);ht(r,s)}}var ye={};function Jn(t,e){if(ye[t])return ye[t];let r=Object.getPrototypeOf(async function(){}).constructor,n=/^[\n\s]*if.*\(.*\)/.test(t.trim())||/^(let|const)\s/.test(t.trim())?`(async()=>{ ${t} })()`:t,o=(()=>{try{let s=new r(["__self","scope"],`with (scope) { __self.result = ${n} }; __self.finished = true; return __self.result;`);return Object.defineProperty(s,"name",{value:`[Alpine] ${t}`}),s}catch(s){return st(s,e,t),Promise.resolve()}})();return ye[t]=o,o}function Yn(t,e,r){let n=Jn(e,r);return(i=()=>{},{scope:o={},params:s=[],context:a}={})=>{n.result=void 0,n.finished=!1;let c=I([o,...t]);if(typeof n=="function"){let l=n.call(a,n,c).catch(u=>st(u,r,e));n.finished?(ht(i,n.result,c,s,r),n.result=void 0):l.then(u=>{ht(i,u,c,s,r)}).catch(u=>st(u,r,e)).finally(()=>n.result=void 0)}}}function ht(t,e,r,n,i){if(at&&typeof e=="function"){let o=e.apply(r,n);o instanceof Promise?o.then(s=>ht(t,s,r,n)).catch(s=>st(s,i,e)):t(o)}else typeof e=="object"&&e instanceof Promise?e.then(o=>t(o)):t(e)}function gr(...t){return hr(...t)}function xr(t,e,r={}){let n={};U(n,t);let i=[n,...H(t)],o=I([r.scope??{},...i]),s=r.params??[];if(e.includes("await")){let a=Object.getPrototypeOf(async function(){}).constructor,c=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(async()=>{ ${e} })()`:e;return new a(["scope"],`with (scope) { let __result = ${c}; return __result }`).call(r.context,o)}else{let a=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(()=>{ ${e} })()`:e,l=new Function(["scope"],`with (scope) { let __result = ${a}; return __result }`).call(r.context,o);return typeof l=="function"&&at?l.apply(o,s):l}}var ve="x-";function T(t=""){return ve+t}function yr(t){ve=t}var Dt={};function d(t,e){return Dt[t]=e,{before(r){if(!Dt[r]){console.warn(String.raw`Cannot find directive \`${r}\`. \`${t}\` will use the default order of execution`);return}let n=X.indexOf(r);X.splice(n>=0?n:X.indexOf("DEFAULT"),0,t)}}}function br(t){return Object.keys(Dt).includes(t)}function gt(t,e,r){if(e=Array.from(e),t._x_virtualDirectives){let o=Object.entries(t._x_virtualDirectives).map(([a,c])=>({name:a,value:c})),s=Se(o);o=o.map(a=>s.find(c=>c.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),e=e.concat(o)}let n={};return e.map(vr((o,s)=>n[o]=s)).filter(Ar).map(Zn(n,r)).sort(Qn).map(o=>Xn(t,o))}function Se(t){return Array.from(t).map(vr()).filter(e=>!Ar(e))}var we=!1,_t=new Map,wr=Symbol();function Er(t){we=!0;let e=Symbol();wr=e,_t.set(e,[]);let r=()=>{for(;_t.get(e).length;)_t.get(e).shift()();_t.delete(e)},n=()=>{we=!1,r()};t(r),n()}function xe(t){let e=[],r=a=>e.push(a),[n,i]=tr(t);return e.push(i),[{Alpine:K,effect:n,cleanup:r,evaluateLater:x.bind(x,t),evaluate:N.bind(N,t)},()=>e.forEach(a=>a())]}function Xn(t,e){let r=()=>{},n=Dt[e.type]||r,[i,o]=xe(t);Rt(t,e.original,o);let s=()=>{t._x_ignore||t._x_ignoreSelf||(n.inline&&n.inline(t,e,i),n=n.bind(n,t,e,i),we?_t.get(wr).push(n):n())};return s.runCleanups=o,s}var Pt=(t,e)=>({name:r,value:n})=>(r.startsWith(t)&&(r=r.replace(t,e)),{name:r,value:n}),It=t=>t;function vr(t=()=>{}){return({name:e,value:r})=>{let{name:n,value:i}=Sr.reduce((o,s)=>s(o),{name:e,value:r});return n!==e&&t(n,e),{name:n,value:i}}}var Sr=[];function ct(t){Sr.push(t)}function Ar({name:t}){return Or().test(t)}var Or=()=>new RegExp(`^${ve}([^:^.]+)\\b`);function Zn(t,e){return({name:r,value:n})=>{r===n&&(n="");let i=r.match(Or()),o=r.match(/:([a-zA-Z0-9\-_:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=e||t[r]||r;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(c=>c.replace(".","")),expression:n,original:a}}}var Ee="DEFAULT",X=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",Ee,"teleport"];function Qn(t,e){let r=X.indexOf(t.type)===-1?Ee:t.type,n=X.indexOf(e.type)===-1?Ee:e.type;return X.indexOf(r)-X.indexOf(n)}function Z(t,e,r={}){t.dispatchEvent(new CustomEvent(e,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}function $(t,e){if(typeof ShadowRoot=="function"&&t instanceof ShadowRoot){Array.from(t.children).forEach(i=>$(i,e));return}let r=!1;if(e(t,()=>r=!0),r)return;let n=t.firstElementChild;for(;n;)$(n,e,!1),n=n.nextElementSibling}function w(t,...e){console.warn(`Alpine Warning: ${t}`,...e)}var Cr=!1;function Tr(){Cr&&w("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Cr=!0,document.body||w("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + +{{/* Alpine.js */}} +{{ $alpine := resources.Get "js/vendor/alpine.min.js" | fingerprint }} + diff --git a/themes/capro-tw/layouts/partials/head/css.html b/themes/capro-tw/layouts/partials/head/css.html new file mode 100644 index 00000000..4737cba8 --- /dev/null +++ b/themes/capro-tw/layouts/partials/head/css.html @@ -0,0 +1,27 @@ +{{/* Preload critical fonts */}} + + + +{{/* Preload hero image for LCP */}} +{{ with site.Params.banner }} + {{ $image := resources.GetMatch .image }} + {{ with $image }} + {{ $resized := .Resize "1600x webp" }} + + {{ end }} +{{ end }} + +{{/* Main CSS: pre-built Tailwind + Themify icons */}} +{{ $tw := resources.Get "css/vendor/tailwind.css" }} +{{ $ti := resources.Get "css/themify-icons.css" }} +{{ $css := slice $tw $ti | resources.Concat "capro.min.css" | minify | fingerprint }} + + +{{/* FontAwesome: deferred loading (self-hosted via SCSS) */}} +{{ $fa := resources.Get "scss/fontawesome.scss" | toCSS | minify | fingerprint }} + + diff --git a/themes/capro-tw/layouts/partials/head/meta.html b/themes/capro-tw/layouts/partials/head/meta.html new file mode 100644 index 00000000..1be7f723 --- /dev/null +++ b/themes/capro-tw/layouts/partials/head/meta.html @@ -0,0 +1,38 @@ + +{{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }} + + +{{ with site.Params.author }}{{ end }} +{{ hugo.Generator }} + +{{ if hugo.IsMultilingual }} + {{ range .AllTranslations }} + + {{ end }} +{{ end }} + + +{{/* Open Graph */}} + + + + + + +{{ with resources.GetMatch site.Params.logo }} + {{ $image := .Resize "x512" }} + + +{{ end }} + +{{ with site.Params.google_analytics_id }} +{{ if ne . "" }} + + +{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/nav.html b/themes/capro-tw/layouts/partials/nav.html new file mode 100644 index 00000000..a2947fe5 --- /dev/null +++ b/themes/capro-tw/layouts/partials/nav.html @@ -0,0 +1,58 @@ +

diff --git a/themes/capro-tw/layouts/partials/sections/about.html b/themes/capro-tw/layouts/partials/sections/about.html new file mode 100644 index 00000000..d50b7c83 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/about.html @@ -0,0 +1,21 @@ +{{ with .Site.GetPage "section" "about" }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ index (split . " ") 1 | safeHTML }}{{ end }}

+
+
+
+ {{ range .Params.item }} +
+
+
+

{{ .title }}

+

{{ .content | markdownify }}

+
+
+ {{ end }} +
+
+
+{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/banner.html b/themes/capro-tw/layouts/partials/sections/banner.html new file mode 100644 index 00000000..19df48c8 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/banner.html @@ -0,0 +1,14 @@ +{{ with site.Params.banner }} +{{ $image := resources.GetMatch .image }} +{{ $image = $image.Resize "1600x webp" }} +
+
+
+

{{ .title | markdownify }}

+

{{ .content | markdownify }}

+ {{ with .button }} + {{ .label }} + {{ end }} +
+
+{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/contact.html b/themes/capro-tw/layouts/partials/sections/contact.html new file mode 100644 index 00000000..1aa2071e --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/contact.html @@ -0,0 +1,41 @@ +{{ with site.Params.contact }} +
+
+
+

{{ with .title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+
+
+ {{ .content | markdownify }} +
+
+ {{ range .item }} +
+
+ +
+
{{ .info | markdownify }}
+
+ {{ end }} +
+
+
+
+

Get in touch

+

Have a project in mind? We'd love to hear about it. Reach out to us using the contact information, or book a consultation directly.

+ {{ with .content }} + {{ if findRE "reclaim\\.ai|calendly|book" . }} + {{ $link := index (findRE `https?://[^\s\)]+` .) 0 }} + {{ with $link }} + Book a consultation + {{ end }} + {{ end }} + {{ end }} +
+
+
+
+
+{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/cta.html b/themes/capro-tw/layouts/partials/sections/cta.html new file mode 100644 index 00000000..cfc1f0fb --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/cta.html @@ -0,0 +1,15 @@ +{{ with .Site.GetPage "section" "cta" }} +{{ $cta := . }} +{{ range first 1 (.Resources.ByType "image") }} +
+
+
+

{{ $cta.Title }}

+
{{ $cta.Content }}
+ {{ with $cta.Params.button }} + {{ .label }} + {{ end }} +
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/feature.html b/themes/capro-tw/layouts/partials/sections/feature.html new file mode 100644 index 00000000..e7dbf809 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/feature.html @@ -0,0 +1,27 @@ +{{ with .Site.GetPage "section" "feature" }} +{{ if gt (.Params.item | len) 0 }} +
+
+
+

{{ .Title }}

+
{{ .Content }}
+
+ {{ range .Params.item }} +
+ {{ with .icon }}{{ end }} +
+

{{ .title | markdownify }}

+

{{ .content | markdownify }}

+
+
+ {{ end }} +
+
+ {{ range first 1 (.Resources.ByType "image") }} +
+
+ {{ end }} +
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/funfacts.html b/themes/capro-tw/layouts/partials/sections/funfacts.html new file mode 100644 index 00000000..e79fd243 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/funfacts.html @@ -0,0 +1,22 @@ +{{ with .Site.GetPage "section" "funfacts" }} +{{ if gt (.Params.item | len) 0 }} +{{ range first 1 (.Resources.ByType "image") }} +
+
+{{ end }} +
+
+ {{ range .Params.item }} +
+
+ +
0
+

{{ .title | markdownify }}

+
+
+ {{ end }} +
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/map.html b/themes/capro-tw/layouts/partials/sections/map.html new file mode 100644 index 00000000..e69de29b diff --git a/themes/capro-tw/layouts/partials/sections/news.html b/themes/capro-tw/layouts/partials/sections/news.html new file mode 100644 index 00000000..d0dae1ad --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/news.html @@ -0,0 +1,45 @@ +{{ if gt (where site.RegularPages "Section" "==" "news") 0 }} +{{ if gt (.Pages | len) 0 }} +
+
+
+

+ {{ $section := .Site.GetPage "news" .Section }} + {{ with $section }} + {{ $words := split .Title " " }} + {{ if gt (len $words) 1 }} + {{ index $words 0 | safeHTML }} {{ after (len (index $words 0)) .Title | strings.TrimLeft " " | safeHTML }} + {{ else }} + {{ .Title | safeHTML }} + {{ end }} + {{ end }} +

+
+
+
+ {{ range first 3 (where site.RegularPages "Section" "==" "news") }} + {{ $sch := newScratch }} +
+
+ {{ range first 1 (.Resources.ByType "image") }} + {{ $image := (.Resize "600x webp").Fill "300x300 webp" | images.Filter (images.Grayscale) }} + {{ $sch.Set "img" $image.RelPermalink }} + {{ end }} + {{ .Title }} + +
+
+

{{ .Title }}

+ {{ delimit .Params.tags " / " | markdownify }} +
{{ .Summary }}
+
+
+ {{ end }} +
+ +
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/portfolio.html b/themes/capro-tw/layouts/partials/sections/portfolio.html new file mode 100644 index 00000000..4de75872 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/portfolio.html @@ -0,0 +1,42 @@ +{{ with .Site.GetPage "section" "portfolio" }} +{{ if gt (.Pages | len) 0 }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+ + {{ $categories := slice }} + {{ range .Pages }}{{ range .Params.categories }}{{ $categories = $categories | append . }}{{ end }}{{ end }} + {{ range ($categories | uniq) }} + + {{ end }} +
+
+ {{ range .Pages }} + {{ $sch := newScratch }} + {{ range first 1 (.Resources.ByType "image") }} + {{ $image := (.Resize "600x webp").Fit "400x400 webp" }} + {{ $sch.Set "img" $image.RelPermalink }} + {{ end }} +
+
+ {{ .Title }} +
+
{{ .Content }}
+
+
+
+

+ {{ if .Params.link }}{{ .Title }}{{ else }}{{ .Title }}{{ end }} +

+
+
+ {{ end }} +
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/pricing.html b/themes/capro-tw/layouts/partials/sections/pricing.html new file mode 100644 index 00000000..1e21f323 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/pricing.html @@ -0,0 +1,49 @@ +{{ with .Site.GetPage "section" "pricing" }} +{{ if and (.Params.item) (gt (.Params.item | len) 0) }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+
{{ .Content }}
+
+ {{ $data := newScratch }} + {{ $data.Set "entities" .Params.entities }} +
+ {{ range .Params.item }} +
+

{{ .name }}

+ + {{ $unit := .unit }} + {{ range .price }} + {{ $id := .id }} + {{ $price := .price }} + {{ if eq $id "base" }} + {{ range ($data.Get "entities") }} + + + {{ end }} + {{ end }} + {{ range ($data.Get "entities") }} + {{ if eq .id $id }} + + + {{ end }} + {{ end }} + {{ end }} +
{{ .name }}{{ lang.FormatNumberCustom 0 (mul .percent $price) "-|.| " "|" }} / {{ $unit }}
{{ .name }}{{ lang.FormatNumberCustom 0 $price "-|.| " "|" }} / {{ $unit }}
+
    + {{ range .services }}
  • {{ . }}
  • {{ end }} +
+ {{ with .button }} + {{ .label }} + {{ end }} +
+ {{ end }} +
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/service.html b/themes/capro-tw/layouts/partials/sections/service.html new file mode 100644 index 00000000..f07d1fa8 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/service.html @@ -0,0 +1,21 @@ +{{ with .Site.GetPage "section" "service" }} +{{ if gt (.Params.item | len) 0 }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+ {{ range .Params.item }} +
+ +

{{ .name | markdownify }}

+

{{ .content | markdownify }}

+
+ {{ end }} +
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/skill.html b/themes/capro-tw/layouts/partials/sections/skill.html new file mode 100644 index 00000000..b0ac11f6 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/skill.html @@ -0,0 +1,48 @@ +{{ with .Site.GetPage "section" "skill" }} +{{ if gt (.Params.item | len) 0 }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+ + {{ with .Params.subtitle }} +
+

{{ . | markdownify }}

+
+ {{ end }} + + {{ if .Content }} +
+ {{ .Content }} +
+ {{ end }} + +
+
+ {{ range first 1 (.Resources.ByType "image") }} + {{ $.Title }} + {{ end }} +
+
+ {{ range $index, $element := .Params.item }} +
+
+ + {{ if lt $index 9 }}0{{ end }}{{ add $index 1 }}- + {{ .name }} + + {{ .percent }} +
+
+
+
+
+ {{ end }} +
+
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/team.html b/themes/capro-tw/layouts/partials/sections/team.html new file mode 100644 index 00000000..c70f67d9 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/team.html @@ -0,0 +1,46 @@ +{{ with .Site.GetPage "section" "team" }} +{{ if gt (.Pages | len) 0 }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+ {{ range .Pages | shuffle }} + {{ $sch := newScratch }} +
+
+ {{ if isset .Params "photo" }} + {{ $image := resources.GetRemote .Params.photo }} + {{ $image = $image.Fill "600x600 webp" | images.Filter (images.Grayscale) }} + {{ $sch.Set "img" $image.RelPermalink }} + {{ else }} + {{ range first 1 (.Resources.ByType "image") }} + {{ $image := (.Resize "600x webp").Fill "600x600 webp" | images.Filter (images.Grayscale) }} + {{ $sch.Set "img" $image.RelPermalink }} + {{ end }} + {{ end }} + {{ .Title }} + +
+
+

{{ .Title }}

+ {{ delimit .Params.designation " / " | markdownify }} +
{{ .Summary }}
+
+
+ {{ end }} +
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/partials/sections/testimonial.html b/themes/capro-tw/layouts/partials/sections/testimonial.html new file mode 100644 index 00000000..3174d7e4 --- /dev/null +++ b/themes/capro-tw/layouts/partials/sections/testimonial.html @@ -0,0 +1,51 @@ +{{ with .Site.GetPage "section" "testimonial" }} +{{ if gt (.Pages | len) 0 }} +
+
+
+

{{ with .Title }}{{ index (split . " ") 0 | safeHTML }}{{ end }} {{ with .Title }}{{ after (len (index (split . " ") 0)) . | safeHTML }}{{ end }}

+
+
+
+ + +
+ {{ range .Pages | shuffle }} + {{ $sch := newScratch }} + {{ range first 1 (.Resources.ByType "image") }} + {{ $image := (.Resize "600x webp").Fill "300x300 webp" }} + {{ $sch.Set "img" $image.RelPermalink }} + {{ end }} +
+
+ +
+
+ {{ .Content }} +
+
+ {{ with $sch.Get "img" }} + {{ $.Params.author.name }} + {{ end }} +
+ {{ with .Params.author }} +

{{ .name }}

+

{{ .position }}

+ {{ end }} +

+ {{ with .Params.link }}{{ end }}{{ .Title }}{{ with .Params.link }}{{ end }} +

+
+
+
+ {{ end }} +
+
+
+
+{{ end }} +{{ end }} diff --git a/themes/capro-tw/layouts/redirect/single.html b/themes/capro-tw/layouts/redirect/single.html new file mode 100644 index 00000000..a3bfc8d1 --- /dev/null +++ b/themes/capro-tw/layouts/redirect/single.html @@ -0,0 +1,11 @@ +{{ define "head" }} + +{{ end }} + +{{ define "main" }} +
+
+

If you are not redirected, please follow this link.

+
+
+{{ end }} diff --git a/themes/capro-tw/layouts/team/single.html b/themes/capro-tw/layouts/team/single.html new file mode 100644 index 00000000..6b007190 --- /dev/null +++ b/themes/capro-tw/layouts/team/single.html @@ -0,0 +1,106 @@ +{{ define "main" }} +
+
+
+ {{ with .Site.GetPage "section" "team" }} +

{{ index (split .Params.single " ") 0 | safeHTML }} {{ index (split .Params.single " ") 1 | safeHTML }}

+ {{ end }} +
+
+
+ {{ if isset .Params "photo" }} + {{ $image := resources.GetRemote .Params.photo | .Fill "600x600" }} + {{ .Title }} + {{ else }} + {{ range first 1 (.Resources.ByType "image") }} + {{ $image := .Fill "600x600" }} + {{ $.Title }} + {{ end }} + {{ end }} +
+

{{ .Title }}

+
+
+
+
{{ .Content }}
+
+
+ {{ range .Params.Social }} + + + + {{ end }} +
+
+
+ +{{/* Posts by author */}} +{{ if gt (where site.RegularPages "Params.author" .Title | len) 0 }} +
+
+
+

{{ i18n "authorsPosts" }} {{ with .Site.GetPage "section" "team" }}{{ index (split .Params.single " ") 1 | safeHTML }}{{ end }}

+
+
+
+ {{ range where site.RegularPages "Params.author" .Title }} + {{ .Render "article" }} + {{ end }} +
+
+
+{{ end }} + +{{/* Publications from ORCID/OpenAlex */}} +{{ $orcid := "" }} +{{ range .Params.social }} + {{ if findRE "orcid\\.org" .link }} + {{ $orcid = replaceRE `.*/` "" .link }} + {{ end }} +{{ end }} + +{{ if $orcid }} +
+
+
+

{{ i18n "authorsPubs" }} {{ with .Site.GetPage "section" "team" }}{{ index (split .Params.single " ") 1 | safeHTML }}{{ end }}

+
+
+ +
+

Loading publications from OpenAlex...

+
+ + + + +
+
+{{ end }} +{{ end }} + +{{ define "scripts" }} +{{ $orcid := resources.Get "js/orcid-pubs.js" | minify | fingerprint }} + +{{ end }} diff --git a/themes/capro-tw/package-lock.json b/themes/capro-tw/package-lock.json new file mode 100644 index 00000000..f6245ccc --- /dev/null +++ b/themes/capro-tw/package-lock.json @@ -0,0 +1,1050 @@ +{ + "name": "capro-tw", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "capro-tw", + "version": "1.0.0", + "hasInstallScript": true, + "dependencies": { + "@fontsource/space-grotesk": "^5.0.0", + "@fontsource/spectral": "^5.0.0", + "@fortawesome/fontawesome-free": "^6.7.0", + "@tailwindcss/cli": "^4.1.0", + "alpinejs": "^3.14.0", + "tailwindcss": "^4.1.0" + } + }, + "node_modules/@fontsource/space-grotesk": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@fontsource/space-grotesk/-/space-grotesk-5.2.10.tgz", + "integrity": "sha512-XNXEbT74OIITPqw2H6HXwPDp85fy43uxfBwFR5PU+9sLnjuLj12KlhVM9nZVN6q6dlKjkuN8JisW/OBxwxgUew==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/spectral": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/spectral/-/spectral-5.2.8.tgz", + "integrity": "sha512-0CqZ8/z8A38BdeSz5t2NSd5tCO1R9P1k7SF2VpRLMbZTMSSR6+2Dk0ZBMfEQK/IrBLQS1HgHLMqpdTwRpnKpGQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz", + "integrity": "sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==", + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", + "engines": { + "node": ">=6" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/cli": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.2.2.tgz", + "integrity": "sha512-iJS+8kAFZ8HPqnh0O5DHCLjo4L6dD97DBQEkrhfSO4V96xeefUus2jqsBs1dUMt3OU9Ks4qIkiY0mpL5UW+4LQ==", + "license": "MIT", + "dependencies": { + "@parcel/watcher": "^2.5.1", + "@tailwindcss/node": "4.2.2", + "@tailwindcss/oxide": "4.2.2", + "enhanced-resolve": "^5.19.0", + "mri": "^1.2.0", + "picocolors": "^1.1.1", + "tailwindcss": "4.2.2" + }, + "bin": { + "tailwindcss": "dist/index.mjs" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-x64": "4.2.2", + "@tailwindcss/oxide-freebsd-x64": "4.2.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.1.5" + } + }, + "node_modules/@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==", + "license": "MIT" + }, + "node_modules/alpinejs": { + "version": "3.15.8", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.15.8.tgz", + "integrity": "sha512-zxIfCRTBGvF1CCLIOMQOxAyBuqibxSEwS6Jm1a3HGA9rgrJVcjEWlwLcQTVGAWGS8YhAsTRLVrtQ5a5QT9bSSQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "~3.1.1" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.1.tgz", + "integrity": "sha512-b+u3CEM6FjDHru+nhUSjDofpWSBp2rINziJWgApm72wwGasQ/wKXftZe4tI2Y5HPv6OpzXSZHOFq87H4vfsgsw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + } + } +} diff --git a/themes/capro-tw/package.json b/themes/capro-tw/package.json new file mode 100644 index 00000000..82add097 --- /dev/null +++ b/themes/capro-tw/package.json @@ -0,0 +1,25 @@ +{ + "name": "capro-tw", + "private": true, + "version": "1.0.0", + "scripts": { + "clean": "rm -rf assets/css/vendor assets/js/vendor assets/scss/vendor static/webfonts", + "setup": "mkdir -p assets/css/vendor assets/js/vendor assets/scss/vendor static/webfonts/fontawesome static/webfonts/google-fonts/space-grotesk static/webfonts/google-fonts/spectral", + "build": "npm run clean && npm run setup && npm run build:css && npm run sync:deps", + "build:css": "npx @tailwindcss/cli -i assets/css/main.css -o assets/css/vendor/tailwind.css --minify", + "sync:deps": "npm run sync:alpine && npm run sync:fontawesome && npm run sync:fonts", + "sync:alpine": "cp node_modules/alpinejs/dist/cdn.min.js assets/js/vendor/alpine.min.js", + "sync:fontawesome": "cp node_modules/@fortawesome/fontawesome-free/webfonts/*.woff2 static/webfonts/fontawesome/ && cp -r node_modules/@fortawesome/fontawesome-free/scss/* assets/scss/vendor/", + "sync:fonts": "cp node_modules/@fontsource/space-grotesk/files/space-grotesk-latin-*-normal.woff2 static/webfonts/google-fonts/space-grotesk/ && cp node_modules/@fontsource/spectral/files/spectral-latin-*-normal.woff2 static/webfonts/google-fonts/spectral/ 2>/dev/null || true", + "update": "npm update && npm run build", + "postinstall": "npm run build" + }, + "dependencies": { + "@tailwindcss/cli": "^4.1.0", + "tailwindcss": "^4.1.0", + "alpinejs": "^3.14.0", + "@fortawesome/fontawesome-free": "^6.7.0", + "@fontsource/space-grotesk": "^5.0.0", + "@fontsource/spectral": "^5.0.0" + } +} diff --git a/themes/capro-tw/static/webfonts/fontawesome/fa-brands-400.woff2 b/themes/capro-tw/static/webfonts/fontawesome/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3c5cf97ec392bc227363711baf1efa8972fd02f4 GIT binary patch literal 118684 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 z

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