diff --git a/package-lock.json b/package-lock.json
index ffe7df95..5330e3af 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,6 @@
"pako": "^2.1.0",
"proj4": "^2.12.0",
"react": "^18.2.0",
- "react-burger-menu": "^3.0.9",
"react-dom": "^18.2.0",
"react-helmet-async": "^2.0.5",
"react-i18next": "^15.0.0",
@@ -30,7 +29,6 @@
"devDependencies": {
"@vitejs/plugin-react": "^4.3.1",
"gh-pages": "^6.1.1",
- "sass": "^1.77.8",
"vite": "^5.4.6"
}
},
@@ -560,358 +558,6 @@
"resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
"integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="
},
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@esbuild/win32-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
@@ -1259,201 +905,6 @@
"node": ">=14.0.0"
}
},
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
- "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
- "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
- "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
- "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
- "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
- "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
- "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
- "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
- "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
- "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
- "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
- "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
- "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
- "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
- "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.22.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
@@ -1699,15 +1150,6 @@
"@zag-js/dom-query": "0.31.1"
}
},
- "node_modules/amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
- "optional": true,
- "engines": {
- "node": ">=0.4.2"
- }
- },
"node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -1724,6 +1166,8 @@
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -1780,24 +1224,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ast-transform": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz",
- "integrity": "sha512-e/JfLiSoakfmL4wmTGPjv0HpTICVmxwXgYOB8x+mzozHL8v+dSfCbrJ8J8hJ0YBP0XcYu1aLZ6b/3TnxNK3P2A==",
- "dependencies": {
- "escodegen": "~1.2.0",
- "esprima": "~1.0.4",
- "through": "~2.3.4"
- }
- },
- "node_modules/ast-types": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz",
- "integrity": "sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@@ -1856,6 +1282,8 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=8"
},
@@ -1878,6 +1306,8 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -1885,29 +1315,6 @@
"node": ">=8"
}
},
- "node_modules/browser-resolve": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
- "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
- "dependencies": {
- "resolve": "1.1.7"
- }
- },
- "node_modules/browser-resolve/node_modules/resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg=="
- },
- "node_modules/browserify-optional": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-optional/-/browserify-optional-1.0.1.tgz",
- "integrity": "sha512-VrhjbZ+Ba5mDiSYEuPelekQMfTbhcA2DhLk2VQWqdcCROWeFqlTcXZ7yfRkXCIl8E+g4gINJYJiRB7WEtfomAQ==",
- "dependencies": {
- "ast-transform": "0.0.0",
- "ast-types": "^0.7.0",
- "browser-resolve": "^1.8.1"
- }
- },
"node_modules/browserslist": {
"version": "4.23.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
@@ -2042,6 +1449,8 @@
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -2066,6 +1475,8 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -2073,11 +1484,6 @@
"node": ">= 6"
}
},
- "node_modules/classnames": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
- "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="
- },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2324,71 +1730,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/escodegen": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz",
- "integrity": "sha512-yLy3Cc+zAC0WSmoT2fig3J87TpQ8UaZGx8ahCAs9FL8qNbyV7CVyPKS74DG4bsHiL5ew9sxdYx131OkBQMFnvA==",
- "dependencies": {
- "esprima": "~1.0.4",
- "estraverse": "~1.5.0",
- "esutils": "~1.0.0"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=0.4.0"
- },
- "optionalDependencies": {
- "source-map": "~0.1.30"
- }
- },
- "node_modules/escodegen/node_modules/source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==",
- "optional": true,
- "dependencies": {
- "amdefine": ">=0.0.4"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/esprima": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
- "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
- "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/esutils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
- "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eve": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/eve/-/eve-0.5.4.tgz",
- "integrity": "sha512-aqprQ9MAOh1t66PrHxDFmMXPlgNO6Uv1uqvxmwjprQV50jaQ2RqO7O1neY4PJwC+hMnkyMDphu2AQPOPZdjQog=="
- },
"node_modules/extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
@@ -2436,6 +1777,8 @@
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -2547,20 +1890,6 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -2855,7 +2184,9 @@
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
- "dev": true
+ "dev": true,
+ "optional": true,
+ "peer": true
},
"node_modules/import-fresh": {
"version": "3.3.0",
@@ -2914,6 +2245,8 @@
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -2948,6 +2281,8 @@
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -2957,6 +2292,8 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -2969,6 +2306,8 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=0.12.0"
}
@@ -3358,6 +2697,8 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3514,6 +2855,8 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=8.6"
},
@@ -3661,25 +3004,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/react-burger-menu": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/react-burger-menu/-/react-burger-menu-3.0.9.tgz",
- "integrity": "sha512-Qy15hkCxwxNEKfqdAv43F+8ZSl+/c6KkqrBwGP0CesFYJ02onHtiUFUbuhSWCMtBH8/n0HhfekFlp/NyCdKYzQ==",
- "dependencies": {
- "browserify-optional": "^1.0.0",
- "classnames": "^2.2.6",
- "eve": "~0.5.1",
- "prop-types": "^15.7.2",
- "snapsvg-cjs": "0.0.6"
- },
- "engines": {
- "node": ">=4.0.0"
- },
- "peerDependencies": {
- "react": ">=0.14.0",
- "react-dom": ">=0.14.0"
- }
- },
"node_modules/react-clientside-effect": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz",
@@ -3993,6 +3317,8 @@
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -4090,6 +3416,8 @@
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz",
"integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -4167,25 +3495,6 @@
"node": ">=8"
}
},
- "node_modules/snapsvg": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/snapsvg/-/snapsvg-0.5.1.tgz",
- "integrity": "sha512-CjwWYsL7+CCk1vCk9BBKGYS4WJVDfJAOMWU+Zhzf8wf6pAm/xT34wnpaMPAgcgCNkxuU6OkQPPd8wGuRCY9aNw==",
- "dependencies": {
- "eve": "~0.5.1"
- }
- },
- "node_modules/snapsvg-cjs": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/snapsvg-cjs/-/snapsvg-cjs-0.0.6.tgz",
- "integrity": "sha512-7NNvoGrc3BQvWz5rWK1DsD5/Vni4STswz5B3JrBADboQWcN8OBVGjYVJFPT5JkUXb2iVnEflZANhufEpEcTHXw==",
- "dependencies": {
- "snapsvg": "0.5.1"
- },
- "peerDependencies": {
- "eve": "~0.5.1"
- }
- },
"node_modules/sort-asc": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz",
@@ -4403,11 +3712,6 @@
"resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
"integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ=="
},
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
- },
"node_modules/tinyqueue": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz",
@@ -4426,6 +3730,8 @@
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"is-number": "^7.0.0"
},
diff --git a/package.json b/package.json
index d204b6d8..795ed05e 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,6 @@
"pako": "^2.1.0",
"proj4": "^2.12.0",
"react": "^18.2.0",
- "react-burger-menu": "^3.0.9",
"react-dom": "^18.2.0",
"react-helmet-async": "^2.0.5",
"react-i18next": "^15.0.0",
@@ -32,7 +31,6 @@
"devDependencies": {
"@vitejs/plugin-react": "^4.3.1",
"gh-pages": "^6.1.1",
- "sass": "^1.77.8",
"vite": "^5.4.6"
},
"browserslist": {
diff --git a/src/Main.jsx b/src/Main.jsx
index c8f38505..307ea59d 100644
--- a/src/Main.jsx
+++ b/src/Main.jsx
@@ -1,3 +1,4 @@
+import { Box } from "@chakra-ui/react"
import PropTypes from "prop-types"
import React from "react"
import { Helmet, HelmetProvider } from "react-helmet-async"
@@ -10,10 +11,10 @@ const Main = (props) => (
{props.title &&
{props.title}}
-
+ {props.children}
+
)
@@ -35,3 +36,36 @@ Main.defaultProps = {
}
export default Main
+
+const Layout = ({ children }) => {
+ return (
+
+
+ {children}
+
+
+ )
+}
diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx
index c45a1e42..219feecb 100644
--- a/src/components/Footer.jsx
+++ b/src/components/Footer.jsx
@@ -6,7 +6,7 @@ import {
ModalContent,
ModalHeader,
ModalOverlay,
- useDisclosure
+ useDisclosure,
} from "@chakra-ui/react"
import i18n from "i18next"
import React from "react"
@@ -26,8 +26,9 @@ const WrapperForTouchDevice = ({ children }) => {
return (
-
-
+
@@ -37,7 +38,7 @@ const WrapperForTouchDevice = ({ children }) => {
{children}
-
+
)
}
@@ -112,10 +113,6 @@ export default function Footer({ federalState, frontendState }) {
Team OpenPV
{" | "}
-
- Website Template
-
- {" | "}
Impressum
{" | "}
{t("Footer.privacyPolicy")}
diff --git a/src/components/Template/Hamburger.jsx b/src/components/Template/Hamburger.jsx
deleted file mode 100644
index 91e165aa..00000000
--- a/src/components/Template/Hamburger.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import React, { Suspense, lazy, useState } from "react"
-
-import { useTranslation } from "react-i18next"
-import { Link } from "react-router-dom"
-import routes from "../../data/routes"
-
-const Menu = lazy(() => import("react-burger-menu/lib/menus/slide"))
-
-const Hamburger = () => {
- const [open, setOpen] = useState(false)
- const { t, i18n } = useTranslation()
-
- return (
-
-
-
>}>
-
- {routes.map((l) => (
- -
- setOpen(!open)}>
-
- {l.labelKey == null ? l.label : t(l.labelKey)}
-
-
-
- ))}
-
-
-
-
- )
-}
-
-export default Hamburger
diff --git a/src/components/Template/Navigation.jsx b/src/components/Template/Navigation.jsx
index bedc99d2..672aa616 100644
--- a/src/components/Template/Navigation.jsx
+++ b/src/components/Template/Navigation.jsx
@@ -1,41 +1,37 @@
+import { Box, Heading, Tab, TabList, Tabs } from "@chakra-ui/react"
import React from "react"
import { useTranslation } from "react-i18next"
-import { Link } from "react-router-dom"
+import { Link, useLocation } from "react-router-dom"
-import routes from "../../data/routes"
-import Hamburger from "./Hamburger"
-
-// Websites Navbar, displays routes defined in 'src/data/routes'
const Navigation = () => {
- const { t, i18n } = useTranslation()
+ const { t } = useTranslation()
+ const location = useLocation()
- return (
-
+ return (
+
+
+
+ OpenPV
+
+
+ {t("about.title")}
+
+
+
)
}
diff --git a/src/data/routes.js b/src/data/routes.js
deleted file mode 100644
index f7c10a1a..00000000
--- a/src/data/routes.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const routes = [
- {
- index: true,
- label: "OpenPV",
- path: "/",
- },
- {
- labelKey: "about.title",
- label: "about",
- path: "/about",
- },
-]
-
-export default routes
diff --git a/src/index.jsx b/src/index.jsx
index d57f4c75..f6bc0c2f 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -4,7 +4,7 @@ import { createRoot, hydrateRoot } from "react-dom/client"
import { BrowserRouter, Route, Routes } from "react-router-dom"
import "./i18n" // needs to be bundled
import Main from "./Main" // fallback for lazy pages
-import "./static/css/main.scss" // All of our styles
+import "./static/css/main.css" // All of our styles
const { PUBLIC_URL } = process.env
diff --git a/src/static/css/base/_page.scss b/src/static/css/base/_page.scss
deleted file mode 100644
index 5055ea17..00000000
--- a/src/static/css/base/_page.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Basic */
-
- // MSIE: Required for IEMobile.
- @-ms-viewport {
- width: device-width;
- }
-
- // MSIE: Prevents scrollbar from overlapping content.
- body {
- -ms-overflow-style: scrollbar;
- }
-
- // Ensures page width is always >=320px.
- @include breakpoint(xsmall) {
- html, body {
- min-width: 320px;
- }
- }
-
- body {
- background: _palette(bg-alt);
-
- // Prevents animation/transition "flicker" on page load.
- // Automatically added/removed by js/main.js.
- &.is-loading {
- *, *:before, *:after {
- @include vendor('animation', 'none !important');
- @include vendor('transition', 'none !important');
- }
- }
-
- }
\ No newline at end of file
diff --git a/src/static/css/base/_typography.scss b/src/static/css/base/_typography.scss
deleted file mode 100644
index 9846210f..00000000
--- a/src/static/css/base/_typography.scss
+++ /dev/null
@@ -1,172 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Type */
-
- body, input, select, textarea {
- color: _palette(fg);
- font-family: _font(family);
- font-size: 14pt;
- font-weight: _font(weight);
- line-height: 1.75;
-
- @include breakpoint(xlarge) {
- font-size: 12pt;
- }
-
- @include breakpoint(large) {
- font-size: 12pt;
- }
-
- @include breakpoint(medium) {
- font-size: 12pt;
- }
-
- @include breakpoint(small) {
- font-size: 12pt;
- }
-
- @include breakpoint(xsmall) {
- font-size: 12pt;
- }
- }
-
- a {
- @include vendor('transition', (
- 'color #{_duration(transition)} ease',
- 'border-bottom-color #{_duration(transition)} ease'
- ));
- border-bottom: dotted 1px _palette(border-alt);
- color: inherit;
- text-decoration: none;
-
- &:before {
- @include vendor('transition', (
- 'color #{_duration(transition)} ease'
- ));
- }
-
- &:hover {
- border-bottom-color: transparent;
- color: _palette(accent) !important;
-
- &:before {
- color: _palette(accent) !important;
- }
- }
- }
-
- strong, b {
- color: _palette(fg-bold);
- font-weight: _font(weight-bold);
- }
-
- em, i {
- font-style: italic;
- }
-
- p {
- margin: 0 0 _size(element-margin) 0;
- }
-
- h1, h2, h3, h4, h5, h6 {
- color: _palette(fg-bold);
- font-family: _font(family-heading);
- font-weight: _font(weight-heading-bold);
- letter-spacing: _font(kerning-heading);
- line-height: 1.65;
- margin: 0 0 (_size(element-margin) * 0.5) 0;
- text-transform: uppercase;
-
- a {
- color: inherit;
- border-bottom: 0;
- }
- }
-
- h2 {
- font-size: 1.1em;
- }
-
- h3 {
- font-size: 0.9em;
- }
-
- h4 {
- font-size: 0.7em;
- }
-
- h5 {
- font-size: 0.7em;
- }
-
- h6 {
- font-size: 0.7em;
- }
-
- sub {
- font-size: 0.8em;
- position: relative;
- top: 0.5em;
- }
-
- sup {
- font-size: 0.8em;
- position: relative;
- top: -0.5em;
- }
-
- blockquote {
- border-left: solid 4px _palette(border);
- font-style: italic;
- margin: 0 0 _size(element-margin) 0;
- padding: calc(_size(element-margin) / 4) 0 calc(_size(element-margin) / 4) _size(element-margin);
- }
-
- code {
- background: _palette(border-bg);
- border: solid 1px _palette(border);
- font-family: _font(family-fixed);
- font-size: 0.9em;
- margin: 0 0.25em;
- padding: 0.25em 0.65em;
- }
-
- pre {
- -webkit-overflow-scrolling: touch;
- font-family: _font(family-fixed);
- font-size: 0.9em;
- margin: 0 0 _size(element-margin) 0;
-
- code {
- display: block;
- line-height: 1.75em;
- padding: 1em 1.5em;
- overflow-x: auto;
- }
- }
-
- hr {
- border: 0;
- border-bottom: solid 1px _palette(border);
- margin: _size(element-margin) 0;
-
- &.major {
- margin: (_size(element-margin) * 1.5) 0;
- }
- }
-
- .align-left {
- text-align: left;
- }
-
- .align-center {
- text-align: center;
- }
-
- .align-right {
- text-align: right;
- }
diff --git a/src/static/css/components/_box.scss b/src/static/css/components/_box.scss
deleted file mode 100644
index 0fc32dff..00000000
--- a/src/static/css/components/_box.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Box */
-
- .box {
- border: solid 1px _palette(border);
- margin-bottom: _size(element-margin);
- padding: 1.5em;
-
- > :last-child,
- > :last-child > :last-child,
- > :last-child > :last-child > :last-child {
- margin-bottom: 0;
- }
-
- &.alt {
- border: 0;
- border-radius: 0;
- padding: 0;
- }
- }
\ No newline at end of file
diff --git a/src/static/css/components/_hamburger.scss b/src/static/css/components/_hamburger.scss
deleted file mode 100644
index f1180302..00000000
--- a/src/static/css/components/_hamburger.scss
+++ /dev/null
@@ -1,40 +0,0 @@
-// Not found page
-
-.bm-item-list {
- margin-top: 0;
-}
-
-.menu-hover {
- padding: 0 1em;
-}
-
-.menu-hover:hover {
- opacity: 0.5;
-}
-
-.hamburger-ul {
- display: block;
-
- li a h3 {
- border: 0;
- border-top: dotted 1px rgba(160, 160, 160, 0.3);
- margin: 1.5em 0 0 0;
- padding: 1.5em 0 0 0;
- }
-
- li a h3:hover {
- color: _palette(accent);
- }
-
- li {
- display: block !important;
- }
-
- h3 {
- font-size: 0.7em;
- }
-
- .index-li {
- border-top: none;
- }
-}
diff --git a/src/static/css/components/_icon.scss b/src/static/css/components/_icon.scss
deleted file mode 100644
index be210061..00000000
--- a/src/static/css/components/_icon.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Icon */
-
- .icon {
- @include icon;
- border-bottom: none;
- position: relative;
-
- > .label {
- display: none;
- }
-
- &.prefix {
- }
-
- &.suffix {
- &:before {
- float: right;
- }
- }
- }
\ No newline at end of file
diff --git a/src/static/css/components/_image.scss b/src/static/css/components/_image.scss
deleted file mode 100644
index d25e5d6c..00000000
--- a/src/static/css/components/_image.scss
+++ /dev/null
@@ -1,72 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Image */
-
- .image {
- border: 0;
- display: inline-block;
- position: relative;
-
- img {
- display: block;
- }
-
- &.left,
- &.right {
- max-width: 40%;
-
- img {
- width: 100%;
- }
- }
-
- &.left {
- float: left;
- padding: 0 1.5em 1em 0;
- top: 0.25em;
- }
-
- &.right {
- float: right;
- padding: 0 0 1em 1.5em;
- top: 0.25em;
- }
-
- &.fit {
- display: block;
- margin: 0 0 _size(element-margin) 0;
- width: 100%;
-
- img {
- width: 100%;
- }
- }
-
- &.featured {
- display: block;
- margin: 0 0 _size(section-spacing) 0;
- width: 100%;
-
- img {
- width: 100%;
- }
-
- @include breakpoint(small) {
- margin: 0 0 _size(section-spacing-small) 0;
- }
- }
-
- &.main {
- display: block;
- margin: 0 0 (_size(element-margin) * 1.5) 0;
- width: 100%;
-
- img {
- width: 100%;
- }
- }
- }
\ No newline at end of file
diff --git a/src/static/css/components/_list.scss b/src/static/css/components/_list.scss
deleted file mode 100644
index e9f3ecc0..00000000
--- a/src/static/css/components/_list.scss
+++ /dev/null
@@ -1,280 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* List */
-
-ol {
- list-style: decimal;
- margin: 0 0 _size(element-margin) 0;
- padding-left: 1.25em;
-
- li {
- padding-left: 0.25em;
- }
-}
-
-ul {
- list-style: disc;
- margin: 0 0 _size(element-margin) 0;
- padding-left: 1em;
-
- li {
- padding-left: 0.5em;
- }
-
- &.alt {
- list-style: none;
- padding-left: 0;
-
- li {
- border-top: solid 1px _palette(border);
- padding: 0.5em 0;
-
- &:first-child {
- border-top: 0;
- padding-top: 0;
- }
- }
- }
-
- &.icons {
- cursor: default;
- list-style: none;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding: 0 1em 0 0;
-
- &:last-child {
- padding-right: 0;
- }
-
- > * {
- @include icon;
- border: 0;
-
- .label {
- display: none;
- }
- }
- }
- }
-
- &.actions {
- cursor: default;
- list-style: none;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding: 0 (_size(element-margin) * 0.75) 0 0;
- vertical-align: middle;
-
- &:last-child {
- padding-right: 0;
- }
- }
-
- &.pagination {
- .next {
- @include icon("", after);
-
- &:after {
- content: "\f054";
- }
- }
-
- .previous {
- @include icon("", before);
-
- &:before {
- content: "\f053";
- }
- }
-
- @include breakpoint(large) {
- text-align: center;
-
- .next,
- .previous {
- min-width: 20em;
- }
- }
-
- @include breakpoint(small) {
- .next,
- .previous {
- min-width: 18em;
- }
- }
- }
-
- &.small {
- li {
- padding: 0 (_size(element-margin) * 0.5) 0 0;
- }
- }
-
- &.vertical {
- li {
- display: block;
- padding: (_size(element-margin) * 0.75) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
-
- > * {
- margin-bottom: 0;
- }
- }
-
- &.small {
- li {
- padding: (_size(element-margin) * 0.5) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
- }
- }
- }
-
- &.fit {
- display: table;
- margin-left: (_size(element-margin) * -0.5);
- padding: 0;
- table-layout: fixed;
- width: calc(100% + #{(_size(element-margin) * 0.5)});
-
- li {
- display: table-cell;
- padding: 0 0 0 (_size(element-margin) * 0.5);
-
- > * {
- margin-bottom: 0;
- }
- }
-
- &.small {
- margin-left: (_size(element-margin) * -0.25);
- width: calc(100% + #{(_size(element-margin) * 0.25)});
-
- li {
- padding: 0 0 0 (_size(element-margin) * 0.25);
- }
- }
- }
-
- @include breakpoint(xsmall) {
- margin: 0 0 _size(element-margin) 0;
-
- li {
- padding: (_size(element-margin) * 0.5) 0 0 0;
- display: block;
- text-align: center;
- width: 100%;
-
- &:first-child {
- padding-top: 0;
- }
-
- > * {
- width: 100%;
- margin: 0 !important;
-
- &.icon {
- &:before {
- }
- }
- }
- }
-
- &.small {
- li {
- padding: (_size(element-margin) * 0.25) 0 0 0;
-
- &:first-child {
- padding-top: 0;
- }
- }
- }
- }
- }
-
- &.posts {
- list-style: none;
- padding: 0;
-
- li {
- border-top: dotted 1px _palette(border);
- margin: (_size(element-margin) * 0.75) 0 0 0;
- padding: (_size(element-margin) * 0.75) 0 0 0;
-
- &:first-child {
- border-top: 0;
- margin-top: 0;
- padding-top: 0;
- }
- }
-
- article {
- @include vendor("display", "flex");
- @include vendor("align-items", "flex-start");
- @include vendor("flex-direction", "row-reverse");
-
- .image {
- display: block;
- margin-right: 1.5em;
- min-width: 4em;
- width: 4em;
-
- img {
- width: 100%;
- }
- }
-
- header {
- @include vendor("flex-grow", "1");
- -ms-flex: 1;
-
- h3 {
- font-size: 0.7em;
- margin-top: 0.125em;
- }
-
- .published {
- display: block;
- font-family: _font(family-heading);
- font-size: 0.6em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kerning-heading);
- margin: -0.625em 0 (_size(element-margin) * 0.85) 0;
- text-transform: uppercase;
- }
-
- > :last-child {
- margin-bottom: 0;
- }
- }
- }
- }
-}
-
-dl {
- margin: 0 0 _size(element-margin) 0;
-
- dt {
- display: block;
- font-weight: _font(weight-bold);
- margin: 0 0 (_size(element-margin) * 0.5) 0;
- }
-
- dd {
- margin-left: _size(element-margin);
- }
-}
diff --git a/src/static/css/components/_table.scss b/src/static/css/components/_table.scss
deleted file mode 100644
index ae835f9b..00000000
--- a/src/static/css/components/_table.scss
+++ /dev/null
@@ -1,81 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Table */
-
- .table-wrapper {
- -webkit-overflow-scrolling: touch;
- overflow-x: auto;
- }
-
- table {
- margin: 0 0 _size(element-margin) 0;
- width: 100%;
-
- tbody {
- tr {
- border: solid 1px _palette(border);
- border-left: 0;
- border-right: 0;
-
- &:nth-child(2n + 1) {
- background-color: _palette(border-bg);
- }
- }
- }
-
- td {
- padding: 0.75em 0.75em;
- }
-
- th {
- color: _palette(fg-bold);
- font-size: 0.9em;
- font-weight: _font(weight-bold);
- padding: 0 0.75em 0.75em 0.75em;
- text-align: left;
- }
-
- thead {
- border-bottom: solid 2px _palette(border);
- }
-
- tfoot {
- border-top: solid 2px _palette(border);
- }
-
- &.alt {
- border-collapse: separate;
-
- tbody {
- tr {
- td {
- border: solid 1px _palette(border);
- border-left-width: 0;
- border-top-width: 0;
-
- &:first-child {
- border-left-width: 1px;
- }
- }
-
- &:first-child {
- td {
- border-top-width: 1px;
- }
- }
- }
- }
-
- thead {
- border-bottom: 0;
- }
-
- tfoot {
- border-top: 0;
- }
- }
- }
\ No newline at end of file
diff --git a/src/static/css/layout/_header.scss b/src/static/css/layout/_header.scss
deleted file mode 100644
index 082db151..00000000
--- a/src/static/css/layout/_header.scss
+++ /dev/null
@@ -1,235 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Header */
-
- body {
- padding-top: 3.5em;
- }
-
- #header {
- @include vendor('display', 'flex');
- @include vendor('justify-content', 'space-between');
- background-color: _palette(bg);
- border-bottom: solid 1px _palette(border);
- height: 3.5em;
- left: 0;
- line-height: 3.5em;
- // position: fixed;
- top: 0;
- width: 100%;
- z-index: _misc(z-index-base);
-
- a {
- color: inherit;
- text-decoration: none;
- }
-
- ul {
- list-style: none;
- margin: 0;
- padding-left: 0;
-
- li {
- display: inline-block;
- padding-left: 0;
- }
- }
-
- h1 {
- height: inherit;
- line-height: inherit;
- padding: 0 0 0 1.5em;
- white-space: nowrap;
-
- a {
- font-size: 0.7em;
- }
- }
-
- .links {
- @include vendor('flex', '1');
- border-left: solid 1px _palette(border);
- height: inherit;
- line-height: inherit;
- margin-left: 1.5em;
- overflow: hidden;
- padding-left: 1.5em;
-
- ul {
- li {
- border-left: solid 1px _palette(border);
- line-height: 1;
- margin-left: 1em;
- padding-left: 1em;
-
- &:first-child {
- border-left: 0;
- margin-left: 0;
- padding-left: 0;
- }
-
- a {
- border-bottom: 0;
- font-family: _font(family-heading);
- font-size: 0.7em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kerning-heading);
- text-transform: uppercase;
- }
- }
- }
- }
-
- .main {
- height: inherit;
- line-height: inherit;
- text-align: right;
-
- ul {
- height: inherit;
- line-height: inherit;
-
- li {
- border-left: solid 1px _palette(border);
- height: inherit;
- line-height: inherit;
- white-space: nowrap;
-
- > i {
- text-decoration: none;
- border-bottom: 0;
- overflow: hidden;
- position: relative;
- text-indent: 4em;
- margin-right: 1.5em;
- }
-
- > * {
- display: block;
- float: left;
- }
-
- > a {
- @include icon;
- border-bottom: 0;
- color: _palette(fg-light);
- overflow: hidden;
- position: relative;
- text-indent: 4em;
- width: 4em;
-
- &:before {
- display: block;
- height: inherit;
- left: 0;
- line-height: inherit;
- position: absolute;
- text-align: center;
- text-indent: 0;
- top: 0;
- width: inherit;
- }
- }
- }
- }
- }
-
- @include breakpoint(medium) {
- .links {
- display: none;
- }
- }
-
- @include breakpoint(small) {
- height: 2.75em;
- line-height: 2.75em;
-
- h1 {
- padding: 0 0 0 1em;
- }
-
- .main {
- .search {
- display: none;
- }
- }
- }
- }
-
- /* Position and sizing of burger button */
- .bm-burger-button {
- display: none;
- }
-
- /* Color/shape of burger icon bars */
- .bm-burger-bars {
- display: none;
- }
-
- /* Position and sizing of clickable cross button */
- .bm-cross-button {
- display: none;
- }
-
- /* Color/shape of close button cross */
- .bm-cross {
- display: none;
- }
-
- /* General sidebar styles */
- .bm-menu {
- background: _palette(bg);
- padding: 2.5em 1.5em 0;
- font-size: 1.15em;
- }
-
- /* Wrapper for item list */
- .bm-item-list {
- color: _palette(fg-bold);
- padding: 0.8em;
- font-family: "Raleway", Helvetica, sans-serif;
- }
-
- #header .index-link {
- z-index: 3;
- }
-
- #header .main .menu {
- cursor: pointer;
- }
-
- #header .main .close-menu {
- border: 0;
- z-index: 10000;
- }
-
- #header .main .open-menu {
- border: 0;
- }
-
-.open-menu{
- position: fixed;
- right: 0;
- border: none;
-}
-
-.close-menu{
- position: fixed;
- right: 0;
- z-index: 3;
- border-left: 0;
-}
-
-.hamburger-container {
- display: none;
-}
-
-@include breakpoint(medium) {
- .hamburger-container {
- display: initial;
- }
-}
diff --git a/src/static/css/layout/_intro.scss b/src/static/css/layout/_intro.scss
deleted file mode 100644
index 1e76b3f8..00000000
--- a/src/static/css/layout/_intro.scss
+++ /dev/null
@@ -1,72 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Intro */
-
- #intro {
- .logo {
- border-bottom: 0;
- display: inline-block;
- margin: 0 0 (_size(element-margin) * 0.5) 0;
- overflow: hidden;
- position: relative;
-
- img {
- width: 10em;
- border-radius: 50%;
- display: block;
- }
- }
-
- header {
- h2 {
- font-size: 1.5em;
- font-weight: _font(weight-heading-extrabold);
- }
-
- p {
- font-size: 0.8em;
- }
- }
-
- @include breakpoint(large) {
- margin: 0 0 _size(section-spacing) 0;
- text-align: center;
-
- header {
- h2 {
- font-size: 2em;
- }
-
- p {
- font-size: 0.7em;
- }
- }
- }
-
- @include breakpoint(small) {
- margin: 0 0 _size(section-spacing-small) 0;
- padding: 1.25em 0;
-
- > :last-child {
- margin-bottom: 0;
- }
-
- .logo {
- margin: 0 0 (_size(element-margin) * 0.25) 0;
- }
-
- header {
- h2 {
- font-size: 1.25em;
- }
-
- > :last-child {
- margin-bottom: 0;
- }
- }
- }
- }
diff --git a/src/static/css/layout/_main.scss b/src/static/css/layout/_main.scss
deleted file mode 100644
index eff931cb..00000000
--- a/src/static/css/layout/_main.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Main */
-
- #main {
- @include vendor('flex-grow', '1');
- -ms-flex: 1;
- width: 100%;
- }
\ No newline at end of file
diff --git a/src/static/css/layout/_menu.scss b/src/static/css/layout/_menu.scss
deleted file mode 100644
index 24854197..00000000
--- a/src/static/css/layout/_menu.scss
+++ /dev/null
@@ -1,97 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Menu */
-
- #menu {
- @include vendor('transform', 'translateX(#{_size(menu)})');
- @include vendor('transition', (
- 'transform #{_duration(menu)} ease',
- 'visibility #{_duration(menu)}'
- ));
- -webkit-overflow-scrolling: touch;
- background: _palette(bg);
- border-left: solid 1px _palette(border);
- box-shadow: none;
- height: 100%;
- max-width: 80%;
- overflow-y: auto;
- position: fixed;
- right: 0;
- top: 0;
- visibility: hidden;
- width: _size(menu);
- z-index: _misc(z-index-base) + 2;
-
- > * {
- border-top: solid 1px _palette(border);
- padding: _size(section-spacing);
-
- > :last-child {
- margin-bottom: 0;
- }
- }
-
- > :first-child {
- border-top: 0;
- }
-
- .links {
- list-style: none;
- padding: 0;
-
- > li {
- border: 0;
- border-top: dotted 1px _palette(border);
- margin: 1.5em 0 0 0;
- padding: 1.5em 0 0 0;
-
- a {
- display: block;
- border-bottom: 0;
-
- h3 {
- @include vendor('transition', 'color #{_duration(transition)} ease');
- font-size: 0.7em;
- }
-
- p {
- font-family: _font(family-heading);
- font-size: 0.6em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kerning-heading);
- letter-spacing: _size(letter-spacing-alt);
- margin-bottom: 0;
- text-decoration: none;
- text-transform: uppercase;
- }
-
- &:hover {
- h3 {
- color: _palette(accent);
- }
- }
- }
-
- &:first-child {
- border-top: 0;
- margin-top: 0;
- padding-top: 0;
- }
- }
- }
-
- body.is-menu-visible & {
- @include vendor('transform', 'translateX(0)');
- visibility: visible;
- }
-
- @include breakpoint(small) {
- > * {
- padding: _size(section-spacing-small);
- }
- }
- }
\ No newline at end of file
diff --git a/src/static/css/layout/_wrapper.scss b/src/static/css/layout/_wrapper.scss
deleted file mode 100644
index 66d56dd6..00000000
--- a/src/static/css/layout/_wrapper.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-///
-/// Future Imperfect by HTML5 UP
-/// html5up.net | @ajlkn
-/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-///
-
-/* Wrapper */
-
-#wrapper {
- @include vendor('display', 'flex');
- @include vendor('flex-direction', 'row-reverse');
- @include vendor('transition', 'opacity #{_duration(menu)} ease');
- margin: 0 auto;
- max-width: 100%;
- opacity: 1;
- padding: 0;
- width: 90em;
-
- position: fixed;
- left: 0;
- top: 0;
- height: 100%;
- width: 100%;
- display: flex;
- flex-direction: column;
-
- body.is-menu-visible & {
- opacity: 0.15;
- }
-}
diff --git a/src/static/css/libs/_functions.scss b/src/static/css/libs/_functions.scss
deleted file mode 100644
index 3b834f59..00000000
--- a/src/static/css/libs/_functions.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-/// Gets a duration value.
-/// @param {string} $keys Key(s).
-/// @return {string} Value.
-@function _duration($keys...) {
- @return val($duration, $keys...);
-}
-
-/// Gets a font value.
-/// @param {string} $keys Key(s).
-/// @return {string} Value.
-@function _font($keys...) {
- @return val($font, $keys...);
-}
-
-/// Gets a misc value.
-/// @param {string} $keys Key(s).
-/// @return {string} Value.
-@function _misc($keys...) {
- @return val($misc, $keys...);
-}
-
-/// Gets a palette value.
-/// @param {string} $keys Key(s).
-/// @return {string} Value.
-@function _palette($keys...) {
- @return val($palette, $keys...);
-}
-
-/// Gets a size value.
-/// @param {string} $keys Key(s).
-/// @return {string} Value.
-@function _size($keys...) {
- @return val($size, $keys...);
-}
\ No newline at end of file
diff --git a/src/static/css/libs/_mixins.scss b/src/static/css/libs/_mixins.scss
deleted file mode 100644
index 204ba05e..00000000
--- a/src/static/css/libs/_mixins.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-/// Makes an element's :before pseudoelement a FontAwesome icon.
-/// @param {string} $content Optional content value to use.
-/// @param {string} $where Optional pseudoelement to target (before or after).
-@mixin icon($content: false, $where: before) {
-
- text-decoration: none;
-
- &:#{$where} {
-
- @if $content {
- content: $content;
- }
-
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- font-family: FontAwesome;
- font-style: normal;
- font-weight: normal;
- text-transform: none !important;
-
- }
-
-}
-
-/// Applies padding to an element, taking the current element-margin value into account.
-/// @param {mixed} $tb Top/bottom padding.
-/// @param {mixed} $lr Left/right padding.
-/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
-/// @param {bool} $important If true, adds !important.
-@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
-
- @if $important {
- $important: '!important';
- }
-
- padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max(0.1em, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
-
-}
-
-/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
-/// @param {string} $svg SVG data URL.
-/// @return {string} Encoded SVG data URL.
-@function svg-url($svg) {
-
- $svg: str-replace($svg, '"', '\'');
- $svg: str-replace($svg, '<', '%3C');
- $svg: str-replace($svg, '>', '%3E');
- $svg: str-replace($svg, '&', '%26');
- $svg: str-replace($svg, '#', '%23');
- $svg: str-replace($svg, '{', '%7B');
- $svg: str-replace($svg, '}', '%7D');
- $svg: str-replace($svg, ';', '%3B');
-
- @return url("data:image/svg+xml;charset=utf8,#{$svg}");
-
-}
\ No newline at end of file
diff --git a/src/static/css/libs/_skel.scss b/src/static/css/libs/_skel.scss
deleted file mode 100644
index 0a15fb31..00000000
--- a/src/static/css/libs/_skel.scss
+++ /dev/null
@@ -1,585 +0,0 @@
-// skel.scss v3.0.1 | (c) skel.io | MIT licensed */
-
-// Vars.
-
- /// Breakpoints.
- /// @var {list}
- $breakpoints: ();
-
- /// Vendor prefixes.
- /// @var {list}
- $vendor-prefixes: (
- '-moz-',
- '-webkit-',
- '-ms-',
- ''
- );
-
- /// Properties that should be vendorized.
- /// @var {list}
- $vendor-properties: (
- 'align-content',
- 'align-items',
- 'align-self',
- 'animation',
- 'animation-delay',
- 'animation-direction',
- 'animation-duration',
- 'animation-fill-mode',
- 'animation-iteration-count',
- 'animation-name',
- 'animation-play-state',
- 'animation-timing-function',
- 'appearance',
- 'backface-visibility',
- 'box-sizing',
- 'filter',
- 'flex',
- 'flex-basis',
- 'flex-direction',
- 'flex-flow',
- 'flex-grow',
- 'flex-shrink',
- 'flex-wrap',
- 'justify-content',
- 'order',
- 'perspective',
- 'pointer-events',
- 'transform',
- 'transform-origin',
- 'transform-style',
- 'transition',
- 'transition-delay',
- 'transition-duration',
- 'transition-property',
- 'transition-timing-function',
- 'user-select'
- );
-
- /// Values that should be vendorized.
- /// @var {list}
- $vendor-values: (
- 'filter',
- 'flex',
- 'linear-gradient',
- 'radial-gradient',
- 'transform'
- );
-
-// Functions.
-
- /// Removes a specific item from a list.
- /// @author Hugo Giraudel
- /// @param {list} $list List.
- /// @param {integer} $index Index.
- /// @return {list} Updated list.
- @function remove-nth($list, $index) {
-
- $result: null;
-
- @if type-of($index) != number {
- @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
- }
- @else if $index == 0 {
- @warn "List index 0 must be a non-zero integer for `remove-nth`.";
- }
- @else if abs($index) > length($list) {
- @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
- }
- @else {
-
- $result: ();
- $index: if($index < 0, length($list) + $index + 1, $index);
-
- @for $i from 1 through length($list) {
-
- @if $i != $index {
- $result: append($result, nth($list, $i));
- }
-
- }
-
- }
-
- @return $result;
-
- }
-
- /// Replaces a substring within another string.
- /// @author Hugo Giraudel
- /// @param {string} $string String.
- /// @param {string} $search Substring.
- /// @param {string} $replace Replacement.
- /// @return {string} Updated string.
- @function str-replace($string, $search, $replace: '') {
-
- $index: str-index($string, $search);
-
- @if $index {
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
- }
-
- @return $string;
-
- }
-
- /// Replaces a substring within each string in a list.
- /// @param {list} $strings List of strings.
- /// @param {string} $search Substring.
- /// @param {string} $replace Replacement.
- /// @return {list} Updated list of strings.
- @function str-replace-all($strings, $search, $replace: '') {
-
- @each $string in $strings {
- $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
- }
-
- @return $strings;
-
- }
-
- /// Gets a value from a map.
- /// @author Hugo Giraudel
- /// @param {map} $map Map.
- /// @param {string} $keys Key(s).
- /// @return {string} Value.
- @function val($map, $keys...) {
-
- @if nth($keys, 1) == null {
- $keys: remove-nth($keys, 1);
- }
-
- @each $key in $keys {
- $map: map-get($map, $key);
- }
-
- @return $map;
-
- }
-
-// Mixins.
-
- /// Sets the global box model.
- /// @param {string} $model Model (default is content).
- @mixin boxModel($model: 'content') {
-
- $x: $model + '-box';
-
- *, *:before, *:after {
- -moz-box-sizing: #{$x};
- -webkit-box-sizing: #{$x};
- box-sizing: #{$x};
- }
-
- }
-
- /// Wraps @content in a @media block using a given breakpoint.
- /// @param {string} $breakpoint Breakpoint.
- /// @param {map} $queries Additional queries.
- @mixin breakpoint($breakpoint: null, $queries: null) {
-
- $query: 'screen';
-
- // Breakpoint.
- @if $breakpoint and map-has-key($breakpoints, $breakpoint) {
- $query: $query + ' and ' + map-get($breakpoints, $breakpoint);
- }
-
- // Queries.
- @if $queries {
- @each $k, $v in $queries {
- $query: $query + ' and (' + $k + ':' + $v + ')';
- }
- }
-
- @media #{$query} {
- @content;
- }
-
- }
-
- /// Wraps @content in a @media block targeting a specific orientation.
- /// @param {string} $orientation Orientation.
- @mixin orientation($orientation) {
- @media screen and (orientation: #{$orientation}) {
- @content;
- }
- }
-
- /// Utility mixin for containers.
- /// @param {mixed} $width Width.
- @mixin containers($width) {
-
- // Locked?
- $lock: false;
-
- @if length($width) == 2 {
- $width: nth($width, 1);
- $lock: true;
- }
-
- // Modifiers.
- .container.\31 25\25 { width: 100%; max-width: $width * 1.25; min-width: $width; }
- .container.\37 5\25 { width: $width * 0.75; }
- .container.\35 0\25 { width: $width * 0.5; }
- .container.\32 5\25 { width: $width * 0.25; }
-
- // Main class.
- .container {
- @if $lock {
- width: $width !important;
- }
- @else {
- width: $width;
- }
- }
-
- }
-
- /// Utility mixin for grid.
- /// @param {list} $gutters Column and row gutters (default is 40px).
- /// @param {string} $breakpointName Optional breakpoint name.
- @mixin grid($gutters: 40px, $breakpointName: null) {
-
- // Gutters.
- @include grid-gutters($gutters);
- @include grid-gutters($gutters, \32 00\25, 2);
- @include grid-gutters($gutters, \31 50\25, 1.5);
- @include grid-gutters($gutters, \35 0\25, 0.5);
- @include grid-gutters($gutters, \32 5\25, 0.25);
-
- // Cells.
- $x: '';
-
- @if $breakpointName {
- $x: '\\28' + $breakpointName + '\\29';
- }
-
- .\31 2u#{$x}, .\31 2u\24#{$x} { width: 100%; clear: none; margin-left: 0; }
- .\31 1u#{$x}, .\31 1u\24#{$x} { width: 91.6666666667%; clear: none; margin-left: 0; }
- .\31 0u#{$x}, .\31 0u\24#{$x} { width: 83.3333333333%; clear: none; margin-left: 0; }
- .\39 u#{$x}, .\39 u\24#{$x} { width: 75%; clear: none; margin-left: 0; }
- .\38 u#{$x}, .\38 u\24#{$x} { width: 66.6666666667%; clear: none; margin-left: 0; }
- .\37 u#{$x}, .\37 u\24#{$x} { width: 58.3333333333%; clear: none; margin-left: 0; }
- .\36 u#{$x}, .\36 u\24#{$x} { width: 50%; clear: none; margin-left: 0; }
- .\35 u#{$x}, .\35 u\24#{$x} { width: 41.6666666667%; clear: none; margin-left: 0; }
- .\34 u#{$x}, .\34 u\24#{$x} { width: 33.3333333333%; clear: none; margin-left: 0; }
- .\33 u#{$x}, .\33 u\24#{$x} { width: 25%; clear: none; margin-left: 0; }
- .\32 u#{$x}, .\32 u\24#{$x} { width: 16.6666666667%; clear: none; margin-left: 0; }
- .\31 u#{$x}, .\31 u\24#{$x} { width: 8.3333333333%; clear: none; margin-left: 0; }
-
- .\31 2u\24#{$x} + *,
- .\31 1u\24#{$x} + *,
- .\31 0u\24#{$x} + *,
- .\39 u\24#{$x} + *,
- .\38 u\24#{$x} + *,
- .\37 u\24#{$x} + *,
- .\36 u\24#{$x} + *,
- .\35 u\24#{$x} + *,
- .\34 u\24#{$x} + *,
- .\33 u\24#{$x} + *,
- .\32 u\24#{$x} + *,
- .\31 u\24#{$x} + * {
- clear: left;
- }
-
- .\-11u#{$x} { margin-left: 91.6666666667% }
- .\-10u#{$x} { margin-left: 83.3333333333% }
- .\-9u#{$x} { margin-left: 75% }
- .\-8u#{$x} { margin-left: 66.6666666667% }
- .\-7u#{$x} { margin-left: 58.3333333333% }
- .\-6u#{$x} { margin-left: 50% }
- .\-5u#{$x} { margin-left: 41.6666666667% }
- .\-4u#{$x} { margin-left: 33.3333333333% }
- .\-3u#{$x} { margin-left: 25% }
- .\-2u#{$x} { margin-left: 16.6666666667% }
- .\-1u#{$x} { margin-left: 8.3333333333% }
-
- }
-
- /// Utility mixin for grid.
- /// @param {list} $gutters Gutters.
- /// @param {string} $class Optional class name.
- /// @param {integer} $multiplier Multiplier (default is 1).
- @mixin grid-gutters($gutters, $class: null, $multiplier: 1) {
-
- // Expand gutters if it's not a list.
- @if length($gutters) == 1 {
- $gutters: ($gutters, 0);
- }
-
- // Get column and row gutter values.
- $c: nth($gutters, 1);
- $r: nth($gutters, 2);
-
- // Get class (if provided).
- $x: '';
-
- @if $class {
- $x: '.' + $class;
- }
-
- // Default.
- .row#{$x} > * { padding: ($r * $multiplier) 0 0 ($c * $multiplier); }
- .row#{$x} { margin: ($r * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
-
- // Uniform.
- .row.uniform#{$x} > * { padding: ($c * $multiplier) 0 0 ($c * $multiplier); }
- .row.uniform#{$x} { margin: ($c * $multiplier * -1) 0 -1px ($c * $multiplier * -1); }
-
- }
-
- /// Wraps @content in vendorized keyframe blocks.
- /// @param {string} $name Name.
- @mixin keyframes($name) {
-
- @-moz-keyframes #{$name} { @content; }
- @-webkit-keyframes #{$name} { @content; }
- @-ms-keyframes #{$name} { @content; }
- @keyframes #{$name} { @content; }
-
- }
-
- ///
- /// Sets breakpoints.
- /// @param {map} $x Breakpoints.
- ///
- @mixin skel-breakpoints($x: ()) {
- $breakpoints: $x !global;
- }
-
- ///
- /// Initializes layout module.
- /// @param {map} config Config.
- ///
- @mixin skel-layout($config: ()) {
-
- // Config.
- $configPerBreakpoint: ();
-
- $z: map-get($config, 'breakpoints');
-
- @if $z {
- $configPerBreakpoint: $z;
- }
-
- // Reset.
- $x: map-get($config, 'reset');
-
- @if $x {
-
- /* Reset */
-
- @include reset($x);
-
- }
-
- // Box model.
- $x: map-get($config, 'boxModel');
-
- @if $x {
-
- /* Box Model */
-
- @include boxModel($x);
-
- }
-
- // Containers.
- $containers: map-get($config, 'containers');
-
- @if $containers {
-
- /* Containers */
-
- .container {
- margin-left: auto;
- margin-right: auto;
- }
-
- // Use default is $containers is just "true".
- @if $containers == true {
- $containers: 960px;
- }
-
- // Apply base.
- @include containers($containers);
-
- // Apply per-breakpoint.
- @each $name in map-keys($breakpoints) {
-
- // Get/use breakpoint setting if it exists.
- $x: map-get($configPerBreakpoint, $name);
-
- // Per-breakpoint config exists?
- @if $x {
- $y: map-get($x, 'containers');
-
- // Setting exists? Use it.
- @if $y {
- $containers: $y;
- }
-
- }
-
- // Create @media block.
- @media screen and #{map-get($breakpoints, $name)} {
- @include containers($containers);
- }
-
- }
-
- }
-
- // Grid.
- $grid: map-get($config, 'grid');
-
- @if $grid {
-
- /* Grid */
-
- // Use defaults if $grid is just "true".
- @if $grid == true {
- $grid: ();
- }
-
- // Sub-setting: Gutters.
- $grid-gutters: 40px;
- $x: map-get($grid, 'gutters');
-
- @if $x {
- $grid-gutters: $x;
- }
-
- // Rows.
- .row {
- border-bottom: solid 1px transparent;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- }
-
- .row > * {
- float: left;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- }
-
- .row:after, .row:before {
- content: '';
- display: block;
- clear: both;
- height: 0;
- }
-
- .row.uniform > * > :first-child {
- margin-top: 0;
- }
-
- .row.uniform > * > :last-child {
- margin-bottom: 0;
- }
-
- // Gutters (0%).
- @include grid-gutters($grid-gutters, \30 \25, 0);
-
- // Apply base.
- @include grid($grid-gutters);
-
- // Apply per-breakpoint.
- @each $name in map-keys($breakpoints) {
-
- // Get/use breakpoint setting if it exists.
- $x: map-get($configPerBreakpoint, $name);
-
- // Per-breakpoint config exists?
- @if $x {
- $y: map-get($x, 'grid');
-
- // Setting exists?
- @if $y {
-
- // Sub-setting: Gutters.
- $x: map-get($y, 'gutters');
-
- @if $x {
- $grid-gutters: $x;
- }
-
- }
-
- }
-
- // Create @media block.
- @media screen and #{map-get($breakpoints, $name)} {
- @include grid($grid-gutters, $name);
- }
-
- }
-
- }
-
- }
-
- /// Resets browser styles.
- /// @param {string} $mode Mode (default is 'normalize').
- @mixin reset($mode: 'normalize') {
-
- @if $mode == 'normalize' {
-
- // normalize.css v3.0.2 | MIT License | git.io/normalize
- html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
-
- }
- @else if $mode == 'full' {
-
- // meyerweb.com/eric/tools/css/reset v2.0 | 20110126 | License: none (public domain)
- html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}
-
- }
-
- }
-
- /// Vendorizes a declaration's property and/or value(s).
- /// @param {string} $property Property.
- /// @param {mixed} $value String/list of value(s).
- @mixin vendor($property, $value) {
-
- // Determine if property should expand.
- $expandProperty: index($vendor-properties, $property);
-
- // Determine if value should expand (and if so, add '-prefix-' placeholder).
- $expandValue: false;
-
- @each $x in $value {
- @each $y in $vendor-values {
- @if $y == str-slice($x, 1, str-length($y)) {
-
- $value: set-nth($value, index($value, $x), '-prefix-' + $x);
- $expandValue: true;
-
- }
- }
- }
-
- // Expand property?
- @if $expandProperty {
- @each $vendor in $vendor-prefixes {
- #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
- }
- }
-
- // Expand just the value?
- @else if $expandValue {
- @each $vendor in $vendor-prefixes {
- #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
- }
- }
-
- // Neither? Treat them as a normal declaration.
- @else {
- #{$property}: #{$value};
- }
-
- }
diff --git a/src/static/css/libs/_vars.scss b/src/static/css/libs/_vars.scss
deleted file mode 100644
index dfec6321..00000000
--- a/src/static/css/libs/_vars.scss
+++ /dev/null
@@ -1,45 +0,0 @@
-// Misc.
- $misc: (
- z-index-base: 10000
- );
-
-// Duration.
- $duration: (
- menu: 0.5s,
- transition: 0.2s
- );
-
-// Size.
- $size: (
- element-height: 2.5em,
- element-margin: 1em,
- section-spacing: 1em,
- section-spacing-small: 0.75em,
- menu: 25em
- );
-
-// Font.
- $font: (
- family: ('Source Sans Pro', Helvetica, sans-serif),
- family-fixed: ('Courier New', monospace),
- family-heading: ('Raleway', Helvetica, sans-serif),
- weight: 400,
- weight-bold: 700,
- weight-heading: 400,
- weight-heading-bold: 800,
- weight-heading-extrabold: 900,
- kerning-heading: 0.25em
- );
-
-// Palette.
- $palette: (
- bg: #ffffff,
- bg-alt: #f4f4f4,
- fg: #646464,
- fg-bold: #3c3b3b,
- fg-light: #aaaaaa,
- border: rgba(160,160,160,0.3),
- border-bg: rgba(160,160,160,0.075),
- border-alt: rgba(160,160,160,0.65),
- accent: #2e59ba
- );
diff --git a/src/static/css/main.css b/src/static/css/main.css
new file mode 100644
index 00000000..6238e87f
--- /dev/null
+++ b/src/static/css/main.css
@@ -0,0 +1,65 @@
+.content {
+ display: grid;
+ flex-grow: 2;
+ min-width: 0;
+ min-height: 0;
+ overflow: hidden;
+}
+
+.content > * {
+ grid-row: 1;
+ grid-column: 1;
+ min-width: 0;
+ min-height: 0;
+ overflow: hidden;
+}
+
+.attribution {
+ color: #3c3b3b;
+ font-family: ("Raleway", Helvetica, sans-serif);
+ font-size: 0.5em;
+ font-weight: 400;
+ letter-spacing: 0.25em;
+ text-transform: uppercase;
+}
+
+.attribution {
+ padding: 10px;
+ background-color: #ffffffa0;
+ width: fit-content;
+ font-size: 0.6em;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ min-width: 0;
+ min-height: 0;
+ overflow: hidden;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+}
+
+p.copyright {
+ margin: 0;
+}
+
+.mapview {
+ width: 100%;
+ height: 100%;
+}
+
+.error-message {
+ padding: 10px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+button.maplibregl-popup-close-button {
+ font-size: 2em;
+ padding: 5px;
+}
+
+.maplibregl-popup-content {
+ font-size: 1.5em;
+}
diff --git a/src/static/css/main.scss b/src/static/css/main.scss
deleted file mode 100644
index 6891f30f..00000000
--- a/src/static/css/main.scss
+++ /dev/null
@@ -1,144 +0,0 @@
-@import-normalize;
-
-@import "libs/vars";
-@import "libs/functions";
-@import "libs/mixins";
-@import "libs/skel";
-
-// NOTE: This import was moved into index.html template
-// @import url('//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900');
-
-/*
- Future Imperfect by HTML5 UP
- html5up.net | @ajlkn
- Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-*/
-
-@include skel-breakpoints(
- (
- xlarge: "(max-width: 1680px)",
- large: "(max-width: 1280px)",
- medium: "(max-width: 980px)",
- small: "(max-width: 736px)",
- xsmall: "(max-width: 480px)",
- )
-);
-
-@include skel-layout(
- (
- reset: "full",
- boxModel: "border",
- grid: (
- gutters: 1em,
- ),
- )
-);
-
-// Base.
-
-@import "base/page";
-@import "base/typography";
-
-// Component.
-
-@import "components/icon";
-@import "components/image";
-@import "components/list";
-
-@import "components/hamburger";
-
-// Layout.
-
-@import "layout/header";
-@import "layout/wrapper";
-@import "layout/main";
-@import "layout/intro";
-@import "layout/menu";
-
-@import "pages/notFound";
-
-// Theme overrides
-#main {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- min-width: 0;
- min-height: 0;
- overflow: hidden;
-}
-
-.content {
- display: grid;
- flex-grow: 2;
- min-width: 0;
- min-height: 0;
- overflow: hidden;
-}
-
-.content > * {
- grid-row: 1;
- grid-column: 1;
- min-width: 0;
- min-height: 0;
- overflow: hidden;
-}
-
-.attribution {
- color: _palette(fg-bold);
- font-family: _font(family-heading);
- font-size: 0.5em;
- font-weight: _font(weight-heading);
- letter-spacing: _font(kerning-heading);
- text-transform: uppercase;
-}
-
-.attribution {
- padding: 10px;
- background-color: #ffffffa0;
- width: fit-content;
- font-size: 0.6em;
- display: flex;
- flex-direction: column;
- gap: 10px;
- min-width: 0;
- min-height: 0;
- overflow: hidden;
- position: fixed;
- bottom: 0;
- left: 0;
-}
-
-p.copyright {
- margin: 0;
-}
-
-.mapview {
- width: 100%;
- height: 100%;
-}
-
-.error-message {
- padding: 10px;
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-
-@keyframes blink {
- 50% {
- opacity: 0.5;
- }
-}
-
-.button-high-prio {
- animation: blink 1s infinite;
-}
-
-button.maplibregl-popup-close-button {
- font-size: 2em;
- padding: 5px;
-}
-
-.maplibregl-popup-content {
- font-size: 1.5em;
-}
diff --git a/src/static/css/pages/_notFound.scss b/src/static/css/pages/_notFound.scss
deleted file mode 100644
index 1c14d369..00000000
--- a/src/static/css/pages/_notFound.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-// Not found page (/*)
-
-.not-found {
- text-align: center;
- margin: 5em;
-}