diff --git a/README.md b/README.md
index c015e9f..1639f21 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,7 @@ This project uses `devenv.nix` to manage the development environment, which will
### Installation
1. Clone the repository:
+
```bash
git clone https://github.com/Cian-H/am-d-model.eu.git
cd am-d-model.eu
@@ -54,4 +55,3 @@ implemented in future but for now, simplicity is a virtue.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
-
diff --git a/bun.lockb b/bun.lockb
index cd0ca02..285cb86 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/devenv.yaml b/devenv.yaml
index 68616a4..c535723 100644
--- a/devenv.yaml
+++ b/devenv.yaml
@@ -1,4 +1,4 @@
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
inputs:
- nixpkgs:
- url: github:cachix/devenv-nixpkgs/rolling
+ nixpkgs:
+ url: github:cachix/devenv-nixpkgs/rolling
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 9fde117..453e21f 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,44 +1,43 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json
services:
- site:
- build: .
- networks:
- - am-d-model-network
- expose:
- - "3000"
- restart: unless-stopped
- labels:
- - "io.containers.autoupdate=local"
+ site:
+ build: .
+ networks:
+ - am-d-model-network
+ expose:
+ - "3000"
+ restart: unless-stopped
+ labels:
+ - "io.containers.autoupdate=local"
- caddy:
- image: docker.io/library/caddy:latest
- depends_on:
- - site
- networks:
- - am-d-model-network
- ports:
- - "80:80"
- - "443:443"
- volumes:
- - caddy_data:/data
- - ./caddy:/etc/caddy
- restart: unless-stopped
- labels:
- - "io.containers.autoupdate=registry"
+ caddy:
+ image: docker.io/library/caddy:latest
+ depends_on:
+ - site
+ networks:
+ - am-d-model-network
+ ports:
+ - "80:80"
+ - "443:443"
+ volumes:
+ - caddy_data:/data
+ - ./caddy:/etc/caddy
+ restart: unless-stopped
+ labels:
+ - "io.containers.autoupdate=registry"
- repo-placeholder:
- image: docker.io/nginx:alpine
- networks:
- - am-d-model-network
- expose:
- - "80"
- volumes:
- - ./repo:/usr/share/nginx/html
+ repo-placeholder:
+ image: docker.io/nginx:alpine
+ networks:
+ - am-d-model-network
+ expose:
+ - "80"
+ volumes:
+ - ./repo:/usr/share/nginx/html
networks:
- am-d-model-network:
- name: am-d-model-network
-
+ am-d-model-network:
+ name: am-d-model-network
volumes:
- caddy_data:
+ caddy_data:
diff --git a/jsconfig.json b/jsconfig.json
index 1394d6c..e05ccee 100644
--- a/jsconfig.json
+++ b/jsconfig.json
@@ -1,12 +1,12 @@
{
- "extends": "./.svelte-kit/tsconfig.json",
- "compilerOptions": {
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "sourceMap": true,
- "module": "NodeNext",
- "moduleResolution": "NodeNext"
- }
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext"
+ }
}
diff --git a/package.json b/package.json
index fdc4cae..a57fb52 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"autoprefixer": "^10.4.20",
"globals": "^15.14.0",
"publint": "^0.2.12",
+ "prettier": "^3.4.2",
"sass": "^1.83.1",
"svelte": "^5.17.3",
"svelte-preprocess": "^5.1.4",
diff --git a/postcss.config.js b/postcss.config.js
index ba80730..49c0612 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,6 +1,6 @@
export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {}
- }
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
};
diff --git a/prettier.config.js b/prettier.config.js
new file mode 100644
index 0000000..e18157b
--- /dev/null
+++ b/prettier.config.js
@@ -0,0 +1,8 @@
+const config = {
+ singleQuote: false,
+ tabWidth: 4,
+ trailingComma: "all",
+ printWidth: 100,
+};
+
+export default config;
diff --git a/repo/index.html b/repo/index.html
index f731cb0..928146d 100644
--- a/repo/index.html
+++ b/repo/index.html
@@ -1,6 +1,6 @@
This is a placeholder page
Please wait patiently while I set up the data repository
- The data repository will be deployed as soon as possible, we just
- need to figure out some details first before deployment happens.
+ The data repository will be deployed as soon as possible, we just need to figure out some
+ details first before deployment happens.
diff --git a/src/app.css b/src/app.css
index 6c8f99f..76fcadc 100644
--- a/src/app.css
+++ b/src/app.css
@@ -1,3 +1,3 @@
-@import 'tailwindcss/base';
-@import 'tailwindcss/components';
-@import 'tailwindcss/utilities'
+@import "tailwindcss/base";
+@import "tailwindcss/components";
+@import "tailwindcss/utilities";
diff --git a/src/app.html b/src/app.html
index 17df014..ad4a082 100644
--- a/src/app.html
+++ b/src/app.html
@@ -1,15 +1,13 @@
+
+
+
+
+ %sveltekit.head%
+
-
-
-
-
- %sveltekit.head%
-
-
-
- %sveltekit.body%
-
-
+
+ %sveltekit.body%
+
diff --git a/src/lib/navigation.js b/src/lib/navigation.js
index 09e6804..fbdde4d 100644
--- a/src/lib/navigation.js
+++ b/src/lib/navigation.js
@@ -1,10 +1,12 @@
import { goto } from "$app/navigation";
-import { error } from '@sveltejs/kit';
+import { error } from "@sveltejs/kit";
export const navigation = {
toHome: () => goto("/"),
toAbout: () => goto("/about"),
toContact: () => goto("/contact"),
toRepository: () => goto("/repo"),
- to404: () => { throw error(404, 'Page not found') },
+ to404: () => {
+ throw error(404, "Page not found");
+ },
};
diff --git a/src/lib/styles/ContactForm.scss b/src/lib/styles/ContactForm.scss
index 88ab0b2..4b3bd79 100644
--- a/src/lib/styles/ContactForm.scss
+++ b/src/lib/styles/ContactForm.scss
@@ -1,64 +1,65 @@
.form-container {
+ input,
+ textarea {
+ transition:
+ border-color 0.2s ease,
+ box-shadow 0.2s ease;
- input,
- textarea {
- transition: border-color 0.2s ease, box-shadow 0.2s ease;
+ &:focus {
+ outline: none;
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
+ }
- &:focus {
- outline: none;
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
+ &.error {
+ border-color: #ef4444;
+
+ &:focus {
+ box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
+ }
+ }
}
- &.error {
- border-color: #ef4444;
+ .submit-button {
+ width: auto;
+ padding: 0.5rem 1rem;
+ background-color: var(--background);
+ color: white;
+ border-radius: 0.375rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ transition: background-color 0.2s ease;
- &:focus {
- box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
- }
- }
- }
+ &:hover:not(:disabled) {
+ background-color: var(--cpalettemedium);
+ }
- .submit-button {
- width: auto;
- padding: 0.5rem 1rem;
- background-color: var(--background);
- color: white;
- border-radius: 0.375rem;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 0.5rem;
- transition: background-color 0.2s ease;
+ &:focus {
+ outline: none;
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
+ }
- &:hover:not(:disabled) {
- background-color: var(--cpalettemedium);
+ &:disabled {
+ background-color: #93c5fd;
+ cursor: not-allowed;
+ }
}
- &:focus {
- outline: none;
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
+ // Add subtle animation for success message
+ .success-message {
+ animation: fadeIn 0.3s ease-in-out;
}
- &:disabled {
- background-color: #93c5fd;
- cursor: not-allowed;
- }
- }
+ @keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(-10px);
+ }
- // Add subtle animation for success message
- .success-message {
- animation: fadeIn 0.3s ease-in-out;
- }
-
- @keyframes fadeIn {
- from {
- opacity: 0;
- transform: translateY(-10px);
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
}
-
- to {
- opacity: 1;
- transform: translateY(0);
- }
- }
}
diff --git a/src/lib/styles/NavigationFooter.scss b/src/lib/styles/NavigationFooter.scss
index 3b3594e..edfa13a 100644
--- a/src/lib/styles/NavigationFooter.scss
+++ b/src/lib/styles/NavigationFooter.scss
@@ -1,142 +1,142 @@
.navigation-footer {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: space-between;
- background: #ffffff;
- width: 100%;
- height: 240px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ background: #ffffff;
+ width: 100%;
+ height: 240px;
}
.navigation-footer-column {
- display: flex;
- flex-direction: column;
- flex-wrap: wrap;
- position: relative;
- height: 100%;
- width: 33%;
- padding: 32px;
- justify-content: center;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+ position: relative;
+ height: 100%;
+ width: 33%;
+ padding: 32px;
+ justify-content: center;
}
.navigation-footer-column-left {
- @extend .navigation-footer-column;
- justify-content: space-between;
+ @extend .navigation-footer-column;
+ justify-content: space-between;
}
.navigation-footer-column-mid {
- @extend .navigation-footer-column;
- align-items: center;
+ @extend .navigation-footer-column;
+ align-items: center;
}
.navigation-footer-column-right {
- @extend .navigation-footer-column;
- align-items: center;
+ @extend .navigation-footer-column;
+ align-items: center;
}
.navigation-footer-site-name {
- color: #000000;
- text-align: left;
- font-family: "Assistant", sans-serif;
- font-size: 24px;
- position: relative;
- padding: 8px;
+ color: #000000;
+ text-align: left;
+ font-family: "Assistant", sans-serif;
+ font-size: 24px;
+ position: relative;
+ padding: 8px;
}
.navigation-footer-topic-column {
- display: flex;
- flex-direction: column;
- flex-wrap: wrap;
- position: relative;
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+ position: relative;
}
.navigation-footer-topic {
- color: #000000;
- font-family: "Assistant", sans-serif;
- font-size: 28px;
- font-weight: 600;
- position: relative;
+ color: #000000;
+ font-family: "Assistant", sans-serif;
+ font-size: 28px;
+ font-weight: 600;
+ position: relative;
}
.navigation-footer-link {
- color: #454545;
- font-family: "Assistant", sans-serif;
- font-size: 24px;
- text-decoration: underline;
- position: relative;
+ color: #454545;
+ font-family: "Assistant", sans-serif;
+ font-size: 24px;
+ text-decoration: underline;
+ position: relative;
}
.navigation-footer-social-icon {
- width: 24px;
- height: 24px;
- position: relative;
+ width: 24px;
+ height: 24px;
+ position: relative;
}
.navigation-footer-social-media {
- // display: flex; # temporarily disable
- display: none;
- flex-direction: row;
- gap: var(--spacing-xs, 8px);
- align-items: flex-start;
- justify-content: flex-start;
- position: relative;
+ // display: flex; # temporarily disable
+ display: none;
+ flex-direction: row;
+ gap: var(--spacing-xs, 8px);
+ align-items: flex-start;
+ justify-content: flex-start;
+ position: relative;
}
.navigation-footer-buttons-icon {
- border-radius: 4px;
- padding: 8px;
- width: 42px;
- height: 42px;
- position: relative;
+ border-radius: 4px;
+ padding: 8px;
+ width: 42px;
+ height: 42px;
+ position: relative;
}
.navigation-footer-return {
- color: rgba(70, 70, 70, 0.5);
- font-family: "Assistant", sans-serif;
- font-size: 16px;
- position: relative;
+ color: rgba(70, 70, 70, 0.5);
+ font-family: "Assistant", sans-serif;
+ font-size: 16px;
+ position: relative;
}
@media (max-width: 820px) {
- .navigation-footer {
- height: 100%;
- flex-direction: column-reverse;
- }
+ .navigation-footer {
+ height: 100%;
+ flex-direction: column-reverse;
+ }
- .navigation-footer-column {
- width: 100%;
- }
+ .navigation-footer-column {
+ width: 100%;
+ }
- .navigation-footer-column-left {
- flex-direction: row;
- justify-content: space-between;
- }
+ .navigation-footer-column-left {
+ flex-direction: row;
+ justify-content: space-between;
+ }
- .navigation-footer-column-mid {
- align-items: center;
- }
+ .navigation-footer-column-mid {
+ align-items: center;
+ }
- .navigation-footer-column-right {
- align-items: center;
- }
+ .navigation-footer-column-right {
+ align-items: center;
+ }
- .navigation-footer-topic-column {
- flex-direction: row;
- width: 100%;
- justify-content: space-between;
- }
+ .navigation-footer-topic-column {
+ flex-direction: row;
+ width: 100%;
+ justify-content: space-between;
+ }
}
@media (max-width: 620px) {
- .navigation-footer-column-left {
- flex-direction: column;
- align-items: center;
- justify-content: center;
- }
+ .navigation-footer-column-left {
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
- .navigation-footer-topic-column {
- flex-direction: column;
- align-items: center;
- justify-content: center;
- }
+ .navigation-footer-topic-column {
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
}
diff --git a/src/lib/styles/NavigationHeader.scss b/src/lib/styles/NavigationHeader.scss
index b36dc7f..071fb85 100644
--- a/src/lib/styles/NavigationHeader.scss
+++ b/src/lib/styles/NavigationHeader.scss
@@ -1,81 +1,80 @@
.navigation-header {
- display: flex;
- flex-direction: row-reverse;
- width: 100%;
- justify-content: space-between;
+ display: flex;
+ flex-direction: row-reverse;
+ width: 100%;
+ justify-content: space-between;
}
.navigation-header {
- position: relative;
- height: 128px;
- width: 100%;
- padding-bottom: 120px;
+ position: relative;
+ height: 128px;
+ width: 100%;
+ padding-bottom: 120px;
}
.navigation-header-items {
- gap: 48px;
- align-items: center;
- position: relative;
- padding-top: 28px;
- padding-right: 96px;
- padding-left: 32px;
+ gap: 48px;
+ align-items: center;
+ position: relative;
+ padding-top: 28px;
+ padding-right: 96px;
+ padding-left: 32px;
}
.navigation-header-link {
- color: #000000;
- font-family: var(--navigation-header-font-family);
- text-align: left;
- font-size: var(--navigation-header-font-size);
- position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-start;
+ color: #000000;
+ font-family: var(--navigation-header-font-family);
+ text-align: left;
+ font-size: var(--navigation-header-font-size);
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
}
.navigation-header-button {
- background: #000000;
- border-radius: 8px;
- padding: 14px 24px 14px 24px;
- display: flex;
- flex-direction: row;
- gap: 8px;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- position: relative;
- box-shadow: var(--button-shadow-box-shadow,
- 0px 1px 2px 0px rgba(0, 0, 0, 0.05));
+ background: #000000;
+ border-radius: 8px;
+ padding: 14px 24px 14px 24px;
+ display: flex;
+ flex-direction: row;
+ gap: 8px;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ position: relative;
+ box-shadow: var(--button-shadow-box-shadow, 0px 1px 2px 0px rgba(0, 0, 0, 0.05));
}
.navigation-header-button-text {
- @extend .navigation-header-link;
- color: var(--cpalettecomplimentary);
- text-decoration: none;
+ @extend .navigation-header-link;
+ color: var(--cpalettecomplimentary);
+ text-decoration: none;
}
.navigation-header-site-name {
- color: #000000;
- text-align: left;
- font-family: "Assistant", sans-serif;
- font-size: 24px;
- position: relative;
- padding: 8px;
+ color: #000000;
+ text-align: left;
+ font-family: "Assistant", sans-serif;
+ font-size: 24px;
+ position: relative;
+ padding: 8px;
}
.flexrow-right {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-end;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-end;
}
.flexrow-left {
- @extend .flexrow-right;
- justify-content: flex-start;
+ @extend .flexrow-right;
+ justify-content: flex-start;
}
@media (max-width: 750px) {
- .navigation-header-items {
- display: none;
- }
+ .navigation-header-items {
+ display: none;
+ }
}
diff --git a/src/lib/styles/vars.css b/src/lib/styles/vars.css
index d5b91a5..84dc054 100644
--- a/src/lib/styles/vars.css
+++ b/src/lib/styles/vars.css
@@ -45,5 +45,4 @@
--contact-corner-round: 28px;
/* Effects */
-
}
diff --git a/src/routes/BottomCall.scss b/src/routes/BottomCall.scss
index 51d645a..a845396 100644
--- a/src/routes/BottomCall.scss
+++ b/src/routes/BottomCall.scss
@@ -1,96 +1,96 @@
.btmcall {
- display: flex;
- flex-direction: row;
- align-items: center;
- align-content: left;
- background: #f7f7f7;
- width: 100%;
- position: relative;
- padding: 86px 0 86px 32px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ align-content: left;
+ background: #f7f7f7;
+ width: 100%;
+ position: relative;
+ padding: 86px 0 86px 32px;
}
.btmcall-buttons {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- height: 100%;
- max-width: 50%;
- gap: 24px;
- align-items: center;
- justify-content: center;
- position: relative;
- padding: 0 32px 0 32px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ height: 100%;
+ max-width: 50%;
+ gap: 24px;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+ padding: 0 32px 0 32px;
}
@media (max-width: 640px) {
- .btmcall {
- flex-direction: column;
- }
+ .btmcall {
+ flex-direction: column;
+ }
- .btmcall-buttons {
- max-width: 100%;
- padding-top: 32px
- }
+ .btmcall-buttons {
+ max-width: 100%;
+ padding-top: 32px;
+ }
}
.btmcall-text {
- color: var(--background);
- text-align: left;
- font-family: var(--bottom-call-font-family);
- font-size: var(--bottom-call-font-size-large);
- line-height: 72px;
- padding-right: 32px;
- position: relative;
+ color: var(--background);
+ text-align: left;
+ font-family: var(--bottom-call-font-family);
+ font-size: var(--bottom-call-font-size-large);
+ line-height: 72px;
+ padding-right: 32px;
+ position: relative;
}
.btmcall-button1 {
- background: var(--background);
- border-radius: 8px;
- padding: 20px 32px 20px 32px;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-start;
- flex-shrink: 0;
- position: relative;
+ background: var(--background);
+ border-radius: 8px;
+ padding: 20px 32px 20px 32px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
+ flex-shrink: 0;
+ position: relative;
}
.btmcall-button2 {
- background: var(--cpalettecomplimentary, #ffffff);
- border-radius: 8px;
- padding: 20px 32px 20px 32px;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: flex-start;
- flex-shrink: 0;
- position: relative;
+ background: var(--cpalettecomplimentary, #ffffff);
+ border-radius: 8px;
+ padding: 20px 32px 20px 32px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
+ flex-shrink: 0;
+ position: relative;
}
.btmcall-get-involved {
- color: var(--cpalettecomplimentary, #ffffff);
- text-align: left;
- font-family: "Assistant", sans-serif;
- font-size: 24px;
- position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-start;
+ color: var(--cpalettecomplimentary, #ffffff);
+ text-align: left;
+ font-family: "Assistant", sans-serif;
+ font-size: 24px;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
}
.btmcall-contact-us {
- color: var(--background);
- text-align: left;
- font-family: "Assistant", sans-serif;
- font-size: 24px;
- position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-start;
+ color: var(--background);
+ text-align: left;
+ font-family: "Assistant", sans-serif;
+ font-size: 24px;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
}
@media (max-width: 380px) {
- .btmcall-text {
- font-size: var(--bottom-call-font-size-small);
- }
+ .btmcall-text {
+ font-size: var(--bottom-call-font-size-small);
+ }
}
diff --git a/src/routes/InfoScroll.scss b/src/routes/InfoScroll.scss
index f5df4ce..0d9b40b 100644
--- a/src/routes/InfoScroll.scss
+++ b/src/routes/InfoScroll.scss
@@ -1,90 +1,90 @@
.infscr {
- width: 100%;
- position: relative;
- padding-top: var(--infscr-vpad);
- padding-bottom: var(--infscr-vpad);
- padding-left: var(--infscr-hpad);
- padding-right: var(--infscr-hpad);
- display: flex;
- flex-direction: column;
- gap: var(--infscr-cardgap-size);
+ width: 100%;
+ position: relative;
+ padding-top: var(--infscr-vpad);
+ padding-bottom: var(--infscr-vpad);
+ padding-left: var(--infscr-hpad);
+ padding-right: var(--infscr-hpad);
+ display: flex;
+ flex-direction: column;
+ gap: var(--infscr-cardgap-size);
}
.infscr-title {
- color: var(--cpalettelight);
- width: 100%;
- text-align: left;
- font-family: var(--infscr-title-font-family);
- font-size: var(--infscr-title-font-size);
- font-weight: var(--infscr-title-font-weight);
- position: relative;
+ color: var(--cpalettelight);
+ width: 100%;
+ text-align: left;
+ font-family: var(--infscr-title-font-family);
+ font-size: var(--infscr-title-font-size);
+ font-weight: var(--infscr-title-font-weight);
+ position: relative;
}
.infscr-subtitle {
- color: var(--cpalettelight);
- text-align: left;
- font-family: var(--infscr-subtitle-font-family);
- font-size: var(--infscr-subtitle-font-size);
- font-weight: var(--infscr-subtitle-font-weight);
- position: relative;
- padding-top: 8px;
+ color: var(--cpalettelight);
+ text-align: left;
+ font-family: var(--infscr-subtitle-font-family);
+ font-size: var(--infscr-subtitle-font-size);
+ font-weight: var(--infscr-subtitle-font-weight);
+ position: relative;
+ padding-top: 8px;
}
.infscr-body {
- color: var(--cpalettecomplimentary);
- text-align: left;
- font-family: var(--infscr-body-font-family);
- font-size: var(--infscr-body-font-size);
- font-weight: var(--infscr-body-font-weight);
- position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-start;
+ color: var(--cpalettecomplimentary);
+ text-align: left;
+ font-family: var(--infscr-body-font-family);
+ font-size: var(--infscr-body-font-size);
+ font-weight: var(--infscr-body-font-weight);
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
}
.infscr-image-div {
- display: flex;
- min-width: 50%;
- justify-content: center;
+ display: flex;
+ min-width: 50%;
+ justify-content: center;
}
.infscr-image {
- border-radius: var(--infscr-corner-round);
- width: 100%;
- max-width: var(--infscr-img-size);
- max-height: var(--infscr-img-size);
- position: relative;
+ border-radius: var(--infscr-corner-round);
+ width: 100%;
+ max-width: var(--infscr-img-size);
+ max-height: var(--infscr-img-size);
+ position: relative;
}
.infscr-row,
.infscr-row-reverse {
- display: flex;
- flex-direction: column;
- width: 100%;
- justify-content: space-evenly;
- align-items: center;
- gap: var(--infscr-cardgap-size);
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ justify-content: space-evenly;
+ align-items: center;
+ gap: var(--infscr-cardgap-size);
}
@media (orientation: landscape) and (min-width: 1200px) {
- .infscr-row {
- flex-direction: row;
- }
+ .infscr-row {
+ flex-direction: row;
+ }
- .infscr-row-reverse {
- flex-direction: row-reverse;
- }
+ .infscr-row-reverse {
+ flex-direction: row-reverse;
+ }
}
.infscr-textcol {
- display: flex;
- flex-direction: column;
- justify-content: space-evenly;
- gap: var(--infscr-titlegap-size);
+ display: flex;
+ flex-direction: column;
+ justify-content: space-evenly;
+ gap: var(--infscr-titlegap-size);
}
.infscr-subcol {
- display: flex;
- flex-direction: column;
- gap: var(--infscr-textgap-size);
+ display: flex;
+ flex-direction: column;
+ gap: var(--infscr-textgap-size);
}
diff --git a/src/routes/LandingPage.scss b/src/routes/LandingPage.scss
index 52b7ecc..2b0b6ce 100644
--- a/src/routes/LandingPage.scss
+++ b/src/routes/LandingPage.scss
@@ -1,54 +1,52 @@
.landing-page,
.landing-page * {
- box-sizing: border-box;
+ box-sizing: border-box;
}
.landing-page {
- background: var(--background);
- width: 100vw;
- min-width: 250px;
- position: absolute;
- display: flex;
- flex-direction: column;
+ background: var(--background);
+ width: 100vw;
+ min-width: 250px;
+ position: absolute;
+ display: flex;
+ flex-direction: column;
}
.landing-zone-outer {
- position: relative;
- min-height: 100vh;
- height: fit-content;
- width: 100%;
-
- // Blend out the background image into the plain bg color
- &::after {
- content: '';
- position: absolute;
- bottom: 0;
- left: 0;
+ position: relative;
+ min-height: 100vh;
+ height: fit-content;
width: 100%;
- height: 128px;
- background: linear-gradient(to bottom,
- #00000000 0%,
- var(--background) 100%);
- z-index: 1;
- }
+
+ // Blend out the background image into the plain bg color
+ &::after {
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 128px;
+ background: linear-gradient(to bottom, #00000000 0%, var(--background) 100%);
+ z-index: 1;
+ }
}
.landing-zone {
- position: relative;
- top: 0;
- left: 0;
- width: 100%;
- min-height: 100vh;
- height: fit-content;
- z-index: 2;
+ position: relative;
+ top: 0;
+ left: 0;
+ width: 100%;
+ min-height: 100vh;
+ height: fit-content;
+ z-index: 2;
}
.background {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- object-fit: cover;
- z-index: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ z-index: 0;
}
diff --git a/src/routes/NavigationHeader.scss b/src/routes/NavigationHeader.scss
index caf9153..f8b0746 100644
--- a/src/routes/NavigationHeader.scss
+++ b/src/routes/NavigationHeader.scss
@@ -1,48 +1,47 @@
.splash-navigation-header {
- position: relative;
- height: 128px;
- width: 100%;
- padding-bottom: 120px;
-
- .navigation-header-items {
- gap: 48px;
- align-items: center;
position: relative;
- padding-top: 28px;
- padding-right: 96px;
- }
+ height: 128px;
+ width: 100%;
+ padding-bottom: 120px;
- .navigation-header-link {
- color: var(--cpalettelight);
- font-family: var(--navigation-header-font-family);
- text-align: left;
- font-size: var(--navigation-header-font-size);
- font-weight: var(--navigation-header-font-weight);
- text-decoration: underline;
- position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-start;
- }
+ .navigation-header-items {
+ gap: 48px;
+ align-items: center;
+ position: relative;
+ padding-top: 28px;
+ padding-right: 96px;
+ }
- .navigation-header-button {
- background: var(--cpalettelight);
- border-radius: 8px;
- padding: 14px 24px 14px 24px;
- display: flex;
- flex-direction: row;
- gap: 8px;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- position: relative;
- box-shadow: var(--button-shadow-box-shadow,
- 0px 1px 2px 0px rgba(0, 0, 0, 0.05));
- }
+ .navigation-header-link {
+ color: var(--cpalettelight);
+ font-family: var(--navigation-header-font-family);
+ text-align: left;
+ font-size: var(--navigation-header-font-size);
+ font-weight: var(--navigation-header-font-weight);
+ text-decoration: underline;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ }
- .navigation-header-button-text {
- @extend .navigation-header-link;
- color: var(--background);
- text-decoration: none;
- }
+ .navigation-header-button {
+ background: var(--cpalettelight);
+ border-radius: 8px;
+ padding: 14px 24px 14px 24px;
+ display: flex;
+ flex-direction: row;
+ gap: 8px;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ position: relative;
+ box-shadow: var(--button-shadow-box-shadow, 0px 1px 2px 0px rgba(0, 0, 0, 0.05));
+ }
+
+ .navigation-header-button-text {
+ @extend .navigation-header-link;
+ color: var(--background);
+ text-decoration: none;
+ }
}
diff --git a/src/routes/Splash.scss b/src/routes/Splash.scss
index ec40892..c417898 100644
--- a/src/routes/Splash.scss
+++ b/src/routes/Splash.scss
@@ -1,80 +1,79 @@
.splash {
- position: relative;
- max-width: 95%;
- bottom: 0;
- padding-top: 128px;
- padding-bottom: 128px;
- padding-right: 32px;
- z-index: 3;
+ position: relative;
+ max-width: 95%;
+ bottom: 0;
+ padding-top: 128px;
+ padding-bottom: 128px;
+ padding-right: 32px;
+ z-index: 3;
}
.splash-copy {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- max-width: 920px;
- position: relative;
- left: 5%;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ max-width: 920px;
+ position: relative;
+ left: 5%;
}
.splash-title {
- color: var(--cpalettecomplimentary);
- max-width: 100%;
- text-align: left;
- font-family: var(--splash-title-font-family);
- font-size: var(--splash-title-font-size-large);
- line-height: 125%;
- font-weight: var(--splash-title-font-weight);
- position: relative;
- padding-bottom: 16px;
+ color: var(--cpalettecomplimentary);
+ max-width: 100%;
+ text-align: left;
+ font-family: var(--splash-title-font-family);
+ font-size: var(--splash-title-font-size-large);
+ line-height: 125%;
+ font-weight: var(--splash-title-font-weight);
+ position: relative;
+ padding-bottom: 16px;
}
.splash-body {
- color: var(--cpalettecomplimentary);
- max-width: 100%;
- word-wrap: break-word;
- word-break: break-word;
- overflow-wrap: break-word;
- hyphens: auto;
- text-align: left;
- font-family: var(--splash-body-font-family);
- font-size: var(--splash-body-font-size);
- font-weight: var(--splash-body-font-weight);
- padding-bottom: 32px;
- position: relative;
+ color: var(--cpalettecomplimentary);
+ max-width: 100%;
+ word-wrap: break-word;
+ word-break: break-word;
+ overflow-wrap: break-word;
+ hyphens: auto;
+ text-align: left;
+ font-family: var(--splash-body-font-family);
+ font-size: var(--splash-body-font-size);
+ font-weight: var(--splash-body-font-weight);
+ padding-bottom: 32px;
+ position: relative;
}
.splash-button {
- background: var(--background);
- outline-style: solid;
- outline-width: 2px;
- outline-color: var(--cpalettemedium);
- border-radius: 8px;
- padding: 18px 32px 18px 32px;
- position: relative;
+ background: var(--background);
+ outline-style: solid;
+ outline-width: 2px;
+ outline-color: var(--cpalettemedium);
+ border-radius: 8px;
+ padding: 18px 32px 18px 32px;
+ position: relative;
}
.splash-get-involved {
- color: var(--cpalettelight);
- font-family: "Assistant";
- font-size: 32px;
- font-weight: 700;
- position: relative;
+ color: var(--cpalettelight);
+ font-family: "Assistant";
+ font-size: 32px;
+ font-weight: 700;
+ position: relative;
}
@media (max-width: 720px) {
- .splash {
- padding-top: 120px;
- }
+ .splash {
+ padding-top: 120px;
+ }
- .splash-title {
- font-size: var(--splash-title-font-size-small);
- }
+ .splash-title {
+ font-size: var(--splash-title-font-size-small);
+ }
}
-
@media (max-width: 380px) {
- .splash-title {
- font-size: var(--splash-title-font-size-tiny);
- }
+ .splash-title {
+ font-size: var(--splash-title-font-size-tiny);
+ }
}
diff --git a/src/routes/about/AboutPage.scss b/src/routes/about/AboutPage.scss
index 5961807..cbeeae3 100644
--- a/src/routes/about/AboutPage.scss
+++ b/src/routes/about/AboutPage.scss
@@ -1,17 +1,17 @@
.about-page,
.about-page * {
- box-sizing: border-box;
+ box-sizing: border-box;
}
.about-page {
- background: var(--cpalettecomplimentary);
- width: 100vw;
- min-width: 250px;
- position: absolute;
- display: flex;
- flex-direction: column;
+ background: var(--cpalettecomplimentary);
+ width: 100vw;
+ min-width: 250px;
+ position: absolute;
+ display: flex;
+ flex-direction: column;
}
.copy {
- padding: 5% 5% 5% 5%;
+ padding: 5% 5% 5% 5%;
}
diff --git a/src/routes/contact/ContactPage.scss b/src/routes/contact/ContactPage.scss
index 62b8c83..040077d 100644
--- a/src/routes/contact/ContactPage.scss
+++ b/src/routes/contact/ContactPage.scss
@@ -1,83 +1,83 @@
.contact-page,
.contact-page * {
- box-sizing: border-box;
+ box-sizing: border-box;
}
.contact-page {
- background: var(--cpalettecomplimentary);
- width: 100vw;
- min-width: 250px;
- position: absolute;
- display: flex;
- flex-direction: column;
+ background: var(--cpalettecomplimentary);
+ width: 100vw;
+ min-width: 250px;
+ position: absolute;
+ display: flex;
+ flex-direction: column;
}
.contact-content {
- display: flex;
- flex-direction: row;
- width: 100%;
- padding: 5% 5% 5% 5%;
+ display: flex;
+ flex-direction: row;
+ width: 100%;
+ padding: 5% 5% 5% 5%;
}
.contact-form-column {
- display: flex;
- flex-direction: column;
- width: 50%;
+ display: flex;
+ flex-direction: column;
+ width: 50%;
}
.contact-form {
- position: relative;
- padding-top: 32px;
+ position: relative;
+ padding-top: 32px;
}
.contact-image-column {
- position: relative;
- width: 50%;
- top: 0;
- bottom: 0;
- padding: 32px 0 32px 48px;
+ position: relative;
+ width: 50%;
+ top: 0;
+ bottom: 0;
+ padding: 32px 0 32px 48px;
}
.contact-image-pane {
- position: sticky;
- border-radius: var(--contact-corner-round);
- width: 100%;
- top: 64px;
- max-width: var(--contact-img-size);
- justify-items: center;
+ position: sticky;
+ border-radius: var(--contact-corner-round);
+ width: 100%;
+ top: 64px;
+ max-width: var(--contact-img-size);
+ justify-items: center;
}
.contact-image {
- border-radius: var(--contact-corner-round);
- width: 100%;
- max-width: var(--contact-img-size);
- max-height: var(--contact-img-size);
+ border-radius: var(--contact-corner-round);
+ width: 100%;
+ max-width: var(--contact-img-size);
+ max-height: var(--contact-img-size);
}
.contact-image-subtitle {
- font: "Assistant";
- font-size: 24px;
- color: #d9d9d9;
- text-align: center;
+ font: "Assistant";
+ font-size: 24px;
+ color: #d9d9d9;
+ text-align: center;
}
@media (orientation: landscape) and (min-width: 1200px) {
- .contact-form-column {
- width: 67%;
- }
+ .contact-form-column {
+ width: 67%;
+ }
}
@media (orientation: portrait) and (max-width: 1080px) {
- .contact-content {
- flex-direction: column-reverse;
- }
+ .contact-content {
+ flex-direction: column-reverse;
+ }
- .contact-form-column {
- width: 100%;
- }
+ .contact-form-column {
+ width: 100%;
+ }
- .contact-image-column {
- width: 100%;
- justify-content: center;
- }
+ .contact-image-column {
+ width: 100%;
+ justify-content: center;
+ }
}
diff --git a/src/routes/health/+server.js b/src/routes/health/+server.js
index 74759c1..e6b9b2e 100644
--- a/src/routes/health/+server.js
+++ b/src/routes/health/+server.js
@@ -1,3 +1,3 @@
export function GET() {
- return new Response('OK', { status: 200 });
+ return new Response("OK", { status: 200 });
}
diff --git a/svelte.config.js b/svelte.config.js
index 0248230..1421d2a 100644
--- a/svelte.config.js
+++ b/svelte.config.js
@@ -1,5 +1,5 @@
import preprocess from "svelte-preprocess";
-import adapter from '@sveltejs/adapter-node';
+import adapter from "@sveltejs/adapter-node";
/** @type {import('@sveltejs/kit').Config} */
const config = {
@@ -8,28 +8,28 @@ const config = {
}),
kit: {
paths: {
- base: '',
+ base: "",
},
adapter: adapter({
- out: 'build',
+ out: "build",
precompress: true, // Pre-compresses files
- polyfill: true
+ polyfill: true,
}),
csrf: { checkOrigin: false },
prerender: {
- entries: ['*'],
- handleMissingId: 'warn'
+ entries: ["*"],
+ handleMissingId: "warn",
},
csp: {
- mode: 'auto',
+ mode: "auto",
directives: {
- 'script-src': ['self']
- }
+ "script-src": ["self"],
+ },
},
version: {
- name: Date.now().toString()
- }
- }
+ name: Date.now().toString(),
+ },
+ },
};
export default config;
diff --git a/tailwind.config.js b/tailwind.config.js
index de6a268..1515084 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,11 +1,11 @@
-import forms from '@tailwindcss/forms';
+import forms from "@tailwindcss/forms";
/** @type {import('tailwindcss').Config} */
export default {
- content: ['./src/**/*.{html,js,svelte,ts}'],
+ content: ["./src/**/*.{html,js,svelte,ts}"],
theme: {
- extend: {}
+ extend: {},
},
plugins: [forms],
diff --git a/vite.config.js b/vite.config.js
index b55c11b..e1613cc 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,36 +1,36 @@
-import { defineConfig } from 'vite';
-import { sveltekit } from '@sveltejs/kit/vite'
-import viteCompression from 'vite-plugin-compression'
+import { defineConfig } from "vite";
+import { sveltekit } from "@sveltejs/kit/vite";
+import viteCompression from "vite-plugin-compression";
export default defineConfig({
plugins: [
sveltekit(),
viteCompression({
- algorithm: 'brotli',
+ algorithm: "brotli",
threshold: 1024,
compressionOptions: { level: 11 },
exclude: [/\.(br|gz)$/, /\.(jpe?g|png|gif|webp|zip)$/i],
- filter: /\.(js|css|html|svg)$/i
+ filter: /\.(js|css|html|svg)$/i,
}),
viteCompression({
- algorithm: 'gzip',
+ algorithm: "gzip",
threshold: 1024,
compressionOptions: { level: 9 },
exclude: [/\.(br|gz)$/, /\.(jpe?g|png|gif|webp|zip)$/i],
- filter: /\.(js|css|html|svg)$/i
- })
+ filter: /\.(js|css|html|svg)$/i,
+ }),
],
build: {
- minify: 'terser',
+ minify: "terser",
terserOptions: {
compress: {
drop_console: true,
- drop_debugger: true
- }
+ drop_debugger: true,
+ },
},
reportCompressedSize: true,
cssMinify: true,
- cssCodeSplit: true
+ cssCodeSplit: true,
},
server: {
host: "0.0.0.0",