diff --git a/Dockerfile b/Dockerfile index 7e405ba..76625ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,6 @@ ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 ENV FLASK_APP=app -# Set the working directory -WORKDIR /app - # Copy and install system dependencies RUN apt-get update && apt-get install -y \ build-essential \ @@ -21,10 +18,14 @@ RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \ apt-get install -y nodejs && \ apt-get clean && rm -rf /var/lib/apt/lists/* +# Set the working directory +WORKDIR /app + # Copy project dependencies first to improve caching COPY requirements.txt . -RUN pip install --upgrade pip && pip install -r requirements.txt +RUN pip install --no-cache-dir --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt # Copy Node dependencies and install them COPY app/package.json . RUN npm install diff --git a/app/static/assets/adey.jpg b/app/static/assets/adey.jpg new file mode 100644 index 0000000..8487e00 Binary files /dev/null and b/app/static/assets/adey.jpg differ diff --git a/app/static/css/main.css b/app/static/css/main.css index 7537ef8..e2e31e0 100644 --- a/app/static/css/main.css +++ b/app/static/css/main.css @@ -706,6 +706,14 @@ video { height: 1.25rem; } +.h-32 { + height: 8rem; +} + +.h-8 { + height: 2rem; +} + .w-10 { width: 2.5rem; } @@ -718,6 +726,14 @@ video { width: 100%; } +.w-32 { + width: 8rem; +} + +.w-8 { + width: 2rem; +} + .min-w-full { min-width: 100%; } @@ -738,10 +754,6 @@ video { flex-basis: 25%; } -.origin-\[0\] { - transform-origin: 0; -} - .-translate-y-6 { --tw-translate-y: -1.5rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -871,9 +883,9 @@ video { border-color: rgb(209 213 219 / var(--tw-border-opacity)); } -.border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity)); +.bg-blue-600 { + --tw-bg-opacity: 1; + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); } .bg-blue-700 { @@ -881,19 +893,24 @@ video { background-color: rgb(29 78 216 / var(--tw-bg-opacity)); } -.bg-gray-50 { +.bg-dg-dark-blue { --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); + background-color: rgb(17 45 50 / var(--tw-bg-opacity)); } -.bg-gray-800 { +.bg-dg-light-blue { --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); + background-color: rgb(37 78 88 / var(--tw-bg-opacity)); } -.bg-gray-900 { +.bg-dg-light-grey { --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); + background-color: rgb(110 102 88 / var(--tw-bg-opacity)); +} + +.bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); } .bg-transparent { @@ -905,6 +922,11 @@ video { background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.bg-dg-dark-grey { + --tw-bg-opacity: 1; + background-color: rgb(79 74 65 / var(--tw-bg-opacity)); +} + .p-10 { padding: 2.5rem; } @@ -942,11 +964,6 @@ video { padding-right: 12rem; } -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} - .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; @@ -1064,11 +1081,6 @@ video { color: rgb(17 24 39 / var(--tw-text-opacity)); } -.text-red-700 { - --tw-text-opacity: 1; - color: rgb(185 28 28 / var(--tw-text-opacity)); -} - .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -1106,9 +1118,9 @@ video { transition-duration: 300ms; } -.hover\:bg-blue-800:hover { +.hover\:bg-blue-700:hover { --tw-bg-opacity: 1; - background-color: rgb(30 64 175 / var(--tw-bg-opacity)); + background-color: rgb(29 78 216 / var(--tw-bg-opacity)); } .hover\:bg-gray-100:hover { @@ -1180,10 +1192,6 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.peer:focus ~ .peer-focus\:start-0 { - inset-inline-start: 0px; -} - .peer:focus ~ .peer-focus\:-translate-y-6 { --tw-translate-y: -1.5rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -1195,10 +1203,6 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.peer:focus ~ .peer-focus\:font-medium { - font-weight: 500; -} - .peer:focus ~ .peer-focus\:text-blue-600 { --tw-text-opacity: 1; color: rgb(37 99 235 / var(--tw-text-opacity)); @@ -1210,10 +1214,6 @@ video { margin-right: auto; } - .sm\:w-auto { - width: auto; - } - .sm\:px-16 { padding-left: 4rem; padding-right: 4rem; @@ -1249,10 +1249,6 @@ video { width: auto; } - .md\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -1387,11 +1383,6 @@ video { --tw-space-x-reverse: 1; } -.peer:focus ~ .rtl\:peer-focus\:translate-x-1\/4:where([dir="rtl"], [dir="rtl"] *) { - --tw-translate-x: 25%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - .dark\:divide-gray-700:where(.dark, .dark *) > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgb(55 65 81 / var(--tw-divide-opacity)); @@ -1422,6 +1413,16 @@ video { background-color: rgb(37 99 235 / var(--tw-bg-opacity)); } +.dark\:bg-dg-dark-blue:where(.dark, .dark *) { + --tw-bg-opacity: 1; + background-color: rgb(17 45 50 / var(--tw-bg-opacity)); +} + +.dark\:bg-dg-light-blue:where(.dark, .dark *) { + --tw-bg-opacity: 1; + background-color: rgb(37 78 88 / var(--tw-bg-opacity)); +} + .dark\:bg-gray-500:where(.dark, .dark *) { --tw-bg-opacity: 1; background-color: rgb(107 114 128 / var(--tw-bg-opacity)); @@ -1447,11 +1448,6 @@ video { color: rgb(156 163 175 / var(--tw-text-opacity)); } -.dark\:text-red-700:where(.dark, .dark *) { - --tw-text-opacity: 1; - color: rgb(185 28 28 / var(--tw-text-opacity)); -} - .dark\:text-white:where(.dark, .dark *) { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); @@ -1493,9 +1489,9 @@ video { } @media (min-width: 768px) { - .md\:dark\:bg-slate-700:where(.dark, .dark *) { + .md\:dark\:bg-dg-light-blue:where(.dark, .dark *) { --tw-bg-opacity: 1; - background-color: rgb(51 65 85 / var(--tw-bg-opacity)); + background-color: rgb(37 78 88 / var(--tw-bg-opacity)); } .md\:dark\:text-blue-500:where(.dark, .dark *) { diff --git a/app/tailwind.config.js b/app/tailwind.config.js index 484d6e8..2aabde1 100644 --- a/app/tailwind.config.js +++ b/app/tailwind.config.js @@ -17,6 +17,11 @@ module.exports = { merriweather: ['Merriweather', 'serif'], }, colors: { + 'dg-blue': '#88BDBC', + 'dg-light-blue': '#254E58', + 'dg-dark-blue': '#112D32', + 'dg-dark-grey': '#4F4A41', + 'dg-light-grey': '#6E6658', 'tedo-dark-blue': '#080F5B', 'tedo-blue': '#0D19A3', 'tedo-light-green': '#15DB95', diff --git a/app/templates/_footer.html b/app/templates/_footer.html index 421c85b..51fb527 100644 --- a/app/templates/_footer.html +++ b/app/templates/_footer.html @@ -1,6 +1,6 @@ -