Prettier install & format

This commit is contained in:
2025-01-24 14:17:23 +00:00
parent ecff0a202c
commit 683151d591
27 changed files with 616 additions and 613 deletions

View File

@@ -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.

BIN
bun.lockb

Binary file not shown.

View File

@@ -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

View File

@@ -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:

View File

@@ -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"
}
}

View File

@@ -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",

View File

@@ -1,6 +1,6 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {}
}
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

8
prettier.config.js Normal file
View File

@@ -0,0 +1,8 @@
const config = {
singleQuote: false,
tabWidth: 4,
trailingComma: "all",
printWidth: 100,
};
export default config;

View File

@@ -1,6 +1,6 @@
<h1>This is a placeholder page</h1>
<h2>Please wait patiently while I set up the data repository</h2>
<p>
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.
</p>

View File

@@ -1,3 +1,3 @@
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities'
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";

View File

@@ -1,15 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%
</head>
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div>%sveltekit.body%</div>
</body>
<body data-sveltekit-preload-data="hover">
<div>%sveltekit.body%</div>
</body>
</html>

View File

@@ -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");
},
};

View File

@@ -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);
}
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -45,5 +45,4 @@
--contact-corner-round: 28px;
/* Effects */
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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%;
}

View File

@@ -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;
}
}

View File

@@ -1,3 +1,3 @@
export function GET() {
return new Response('OK', { status: 200 });
return new Response("OK", { status: 200 });
}

View File

@@ -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;

View File

@@ -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],

View File

@@ -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",