From 09af0a7a9316c9279d54316212acef19cb032e7b Mon Sep 17 00:00:00 2001 From: Teddy Middleton-Smith Date: Fri, 1 Aug 2025 14:45:09 +0100 Subject: [PATCH] Feat(Logo): Favicon updated for cross-platform options. --- static/css/pages/core/home.css | 1 + static/dist/css/core_home.bundle.css | 1 + static/dist/css/core_home.bundle.css.map | 2 +- static/dist/css/main.bundle.css | 2 +- static/dist/css/main.bundle.css.map | 2 +- static/images/fetch-metrics-logo-16.png | Bin 0 -> 1221 bytes static/images/fetch-metrics-logo-180.png | Bin 0 -> 130156 bytes static/images/fetch-metrics-logo-32.png | Bin 0 -> 4309 bytes templates/layouts/_shared_head.html | 9 +++------ 9 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 static/images/fetch-metrics-logo-16.png create mode 100644 static/images/fetch-metrics-logo-180.png create mode 100644 static/images/fetch-metrics-logo-32.png diff --git a/static/css/pages/core/home.css b/static/css/pages/core/home.css index 1e5d53e..6d38f32 100644 --- a/static/css/pages/core/home.css +++ b/static/css/pages/core/home.css @@ -268,6 +268,7 @@ section.cta-2 .card .container { padding: 1.5vh 3vw; margin: 1vh; min-width: 200px; + min-height: 120px; } section.cta-2 .card .container h3 { margin: 0 auto; diff --git a/static/dist/css/core_home.bundle.css b/static/dist/css/core_home.bundle.css index 1efdfee..1807ed8 100644 --- a/static/dist/css/core_home.bundle.css +++ b/static/dist/css/core_home.bundle.css @@ -346,6 +346,7 @@ section.cta-2 .card .container { padding: 1.5vh 3vw; margin: 1vh; min-width: 200px; + min-height: 120px; } section.cta-2 .card .container h3 { margin: 0 auto; diff --git a/static/dist/css/core_home.bundle.css.map b/static/dist/css/core_home.bundle.css.map index d4e98d2..341b37b 100644 --- a/static/dist/css/core_home.bundle.css.map +++ b/static/dist/css/core_home.bundle.css.map @@ -1 +1 @@ -{"version":3,"file":"css/core_home.bundle.css","mappings":"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","sources":["webpack://app/./static/css/sections/core.css","webpack://app/./static/css/pages/core/home.css"],"sourcesContent":["\n/* Home page\n*/\n\n/* Footer */\n.footer {\n background: #1f2937;\n color: #f3f4f6;\n padding: 4rem 2rem 2rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-bottom: 2rem;\n}\n\n.footer-section h3 {\n color: #fff;\n margin-bottom: 1rem;\n font-size: 1.2rem;\n text-align: center;\n}\n\n.footer-section ul {\n list-style: none;\n padding: 0;\n}\n\n.footer-section ul li {\n margin-bottom: 0.5rem;\n}\n\n.footer-section a {\n color: #f3f4f6;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.footer-section a:hover {\n color: #fff;\n text-decoration: underline;\n}\n\n.footer-bottom {\n border-top: 1px solid #374151;\n padding-top: 2rem;\n text-align: center;\n font-size: 0.9rem;\n}\n\n.footer-bottom a {\n color: aquamarine;\n}\n\n.footer-section.contact {\n width: 100%;\n}\n.footer-section .container {\n padding: 0;\n}\n.footer-section .container.row .container.column {\n padding: 1vh 2vw;\n}\n\n@media (max-width: 768px) {\n .footer-content {\n grid-template-columns: 1fr;\n text-align: center;\n }\n}\n\n@media (max-width: 540px) {\n .nav-links {\n display: none;\n }\n}","/* Common */\nsection {\n padding: 2rem;\n}\np {\n width: 100%;\n font-size: 16px;\n}\np.section-title,\np.section-subtitle {\n margin: 0 auto;\n}\n.section-subtitle {\n font-size: 18px;\n}\nul li {\n font-size: 16px;\n}\n\nsection.benefits .card.benefits,\nsection.social-proof .card.social-proof {\n display: flex;\n}\n\nsection.problem,\nsection.benefits,\nsection.solution,\nsection.testimonial {\n padding: 4rem 2rem;\n background: var(--colour-page-background-1);\n}\nsection.problem .card.problem,\nsection.benefits .card.benefits,\nsection.solution .card.solution,\nsection.testimonial .card.testimonial {\n background: var(--colour-text-background);\n border-radius: 8px;\n max-width: 800px;\n margin: 3rem auto 0;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n}\n\n\n/* Hero Section */\n.hero {\n padding: 8rem 2rem 4rem;\n background: linear-gradient(45deg, var(--colour-page-background-1), var(--colour-page-background-2)); /* linear-gradient(45deg, #f8fafc, #eff6ff); */\n}\n.hero-content {\n max-width: 600px;\n}\n.hero h1 {\n line-height: 1.2;\n margin-bottom: 1.5rem;\n color: var(--colour-text);\n}\n.hero p {\n font-size: 1.25rem;\n margin-bottom: 2rem;\n color: var(--colour-secondary);\n}\nsection.hero .button {\n margin: 0 auto;\n margin-bottom: 2vh;\n display: block;\n background-color: var(--colour-success-title);\n color: var(--colour-text-background);\n}\nsection.hero .button:hover {\n background-color: var(--colour-success-highlight);\n color: var(--colour-success-title);\n}\n\n\n/* Problem Section */\nsection.problem {\n background-color: var(--colour-error-highlight);\n}\nsection.problem h2 {\n color: var(--colour-error-title);\n}\nsection.problem .card {\n border-left: 4px solid var(--colour-error-accent);\n}\nsection.problem ul li {\n list-style: none;\n}\n\n\n/*\nsection.problem .problem.card:hover {\n transform: translateY(-5px);\n}\n*/\nsection.problem .section-subtitle {\n /* font-size: 18px; */\n font-weight: bold;\n}\n/*\nsection.problem ul li::before {\n content: \"😤\";\n position: absolute;\n left: 0;\n }\n*/\n\n\n/* Benefits Section * /\nsection.benefits .section-subtitle {\n font-size: 18px;\n font-weight: bold;\n}\n*/\nsection.benefits {\n background-color: var(--colour-success-highlight);\n}\nsection.benefits .container .card .container {\n min-width: 250px;\n}\nsection.benefits h2 {\n color: var(--colour-success);\n}\nsection.benefits .card {\n border-left: 4px solid var(--colour-success);\n}\n\n/* Solution Section */\nsection.solution .container .card {\n margin-top: 1vh;\n max-width: min(2000px, 80vw);\n}\n\nsection.benefits .card.benefits .container,\nsection.solution .container .card .container {\n padding: 1vh 2vw;\n max-width: min(500px, 80vw);\n}\nsection.solution .container .card .container p {\n margin-bottom: 1vh;\n}\nsection.solution .project-thumbnail img {\n max-width: min(500px, 80vw);\n max-height: min(500px, 80vw);\n border-radius: 1vh;\n}\n\nsection.solution .project-thumbnail img {\n overflow: hidden;\n transition: transform 0.3s ease;\n}\nsection.solution .project-thumbnail:hover {\n transform: scale(1.75);\n}\n\n/* Social Proof Section * /\nsection.social-proof {\n padding: 6rem 0;\n background: white;\n}\n\nsection.social-proof .card.social-proof {\n background: var(--colour-page-background);\n padding: 2rem;\n border-radius: 8px;\n text-align: center;\n max-width: 400px;\n margin: 3rem auto 0;\n}\n\nsection.social-proof ul {\n list-style: none;\n margin: 0;\n}\n* /\n\nsection.social-proof .section-subtitle {\n font-size: 16px;\n}\nsection.social-proof ul li {\n font-size: 14px;\n}\n*/\nsection.social-proof {\n padding: 4rem 0;\n background: var(--colour-text-background);\n}\nsection.social-proof .card.social-proof { \n background: var(--colour-page-background);\n border-radius: 8px;\n transition: transform 0.3s ease;\n padding: 1.5vh;\n}\nsection.social-proof .section-title {\n font-weight: bold;\n color: var(--colour-text-link-visited);\n margin-bottom: 0.25vh;\n}\nsection.social-proof .section-subtitle {\n margin: 0 1vw 1vh;\n}\nsection.social-proof .container {\n width: fit-content;\n margin: 0 2vw;\n}\nsection.social-proof > .container {\n max-width: min(600px, 90vw);\n margin: 1vh auto;\n}\n\n/* Early Access Section * /\nsection.early-access {\n padding: 6rem 0;\n background: white;\n}\n\nsection.early-access .card.early-access {\n background: var(--colour-page-background);\n padding: 2rem;\n border-radius: 8px;\n text-align: center;\n max-width: 400px;\n margin: 3rem auto 0;\n}\n\nsection.early-access ul {\n list-style: none;\n margin: 0;\n}\nsection.early-access a.button {\n margin: 0.25rem;\n}\n*/\n\n/* Features section * /\nsection.features .button {\n margin-top: 0;\n}\n*/\n\n/* Testimonials section */\nsection.testimonial p {\n margin-bottom: 1vh;\n}\nsection.testimonial h2 {\n margin: 0 auto;\n}\n\n/* CTA Section */\n.cta-1,\n.cta-2 {\n padding: 6rem 2rem;\n background: linear-gradient(135deg, var(--colour-primary), var(--colour-text-link-visited));\n color: white;\n text-align: center;\n}\n\nsection.cta-2 .button {\n margin: 2vh 1vw;\n}\nsection.cta-2 .card {\n background-color: transparent;\n margin: 1vh auto;\n}\nsection.cta-2 .card .container {\n background-color: var(--colour-page-background);\n color: var(--colour-primary);\n border-radius: 1vh;\n padding: 1.5vh 3vw;\n margin: 1vh;\n min-width: 200px;\n}\nsection.cta-2 .card .container h3 {\n margin: 0 auto;\n}\nsection.cta-2 .container p {\n margin-top: 1vh;\n}\n/* FAQs * /\nsection.faq .button {\n margin-bottom: 0.25rem;\n}\n*/\n\n\n/* Animations */\n/* Fallback styles to ensure content is visible without JS */\n.reveal {\n opacity: 1; /* Default visible state */\n}\n\n/* Only hide elements if browser supports Intersection Observer */\n@supports (animation-name: fade) {\n .reveal {\n opacity: 0;\n }\n\n .reveal.active {\n animation: fade-up 0.8s ease-out forwards;\n }\n}\n\n@keyframes fade-up {\n 0% {\n opacity: 0;\n transform: translateY(30px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.delay-1 { animation-delay: 0.1s; }\n.delay-2 { animation-delay: 0.2s; }\n.delay-3 { animation-delay: 0.3s; }\n.delay-4 { animation-delay: 0.4s; }\n\n/* Buttons */\n.topnav .nav-links .button {\n padding: 0.5vh 0.75vh;\n}\n.button {\n padding: 0.75rem 1.5rem;\n /* border-radius: 6px; * /\n margin: 0.75rem; */\n font-size: 1.2rem;\n}\n\n.button-primary {\n background: var(--colour-primary);\n color: white;\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-page-background);\n}\n\n.logo:hover{\n cursor: pointer;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/core_home.bundle.css","mappings":";AACA;CACC;;AAED,WAAW;AACX;IACI,mBAAmB;IACnB,cAAc;IACd,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,2DAA2D;IAC3D,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,UAAU;AACd;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,cAAc;IACd,qBAAqB;IACrB,2BAA2B;AAC/B;;AAEA;IACI,WAAW;IACX,0BAA0B;AAC9B;;AAEA;IACI,6BAA6B;IAC7B,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,WAAW;AACf;AACA;IACI,UAAU;AACd;AACA;IACI,gBAAgB;AACpB;;AAEA;IACI;QACI,0BAA0B;QAC1B,kBAAkB;IACtB;AACJ;;AAEA;IACI;QACI,aAAa;IACjB;AACJ,C;AC7EA,WAAW;AACX;IACI,aAAa;AACjB;AACA;IACI,WAAW;IACX,eAAe;AACnB;AACA;;IAEI,cAAc;AAClB;AACA;IACI,eAAe;AACnB;AACA;IACI,eAAe;AACnB;;AAEA;;IAEI,aAAa;AACjB;;AAEA;;;;IAII,kBAAkB;IAClB,2CAA2C;AAC/C;AACA;;;;IAII,yCAAyC;IACzC,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,qCAAqC;AACzC;;;AAGA,iBAAiB;AACjB;IACI,uBAAuB;IACvB,oGAAoG,EAAE,8CAA8C;AACxJ;AACA;IACI,gBAAgB;AACpB;AACA;IACI,gBAAgB;IAChB,qBAAqB;IACrB,yBAAyB;AAC7B;AACA;IACI,kBAAkB;IAClB,mBAAmB;IACnB,8BAA8B;AAClC;AACA;IACI,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,6CAA6C;IAC7C,oCAAoC;AACxC;AACA;IACI,iDAAiD;IACjD,kCAAkC;AACtC;;;AAGA,oBAAoB;AACpB;IACI,+CAA+C;AACnD;AACA;IACI,gCAAgC;AACpC;AACA;IACI,iDAAiD;AACrD;AACA;IACI,gBAAgB;AACpB;;;AAGA;;;;CAIC;AACD;IACI,qBAAqB;IACrB,iBAAiB;AACrB;AACA;;;;;;CAMC;;;AAGD;;;;;CAKC;AACD;IACI,iDAAiD;AACrD;AACA;IACI,gBAAgB;AACpB;AACA;IACI,4BAA4B;AAChC;AACA;IACI,4CAA4C;AAChD;;AAEA,qBAAqB;AACrB;IACI,eAAe;IACf,4BAA4B;AAChC;;AAEA;;IAEI,gBAAgB;IAChB,2BAA2B;AAC/B;AACA;IACI,kBAAkB;AACtB;AACA;IACI,2BAA2B;IAC3B,4BAA4B;IAC5B,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,+BAA+B;AACnC;AACA;IACI,sBAAsB;AAC1B;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC;AACD;IACI,eAAe;IACf,yCAAyC;AAC7C;AACA;IACI,yCAAyC;IACzC,kBAAkB;IAClB,+BAA+B;IAC/B,cAAc;AAClB;AACA;IACI,iBAAiB;IACjB,sCAAsC;IACtC,qBAAqB;AACzB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,kBAAkB;IAClB,aAAa;AACjB;AACA;IACI,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC;;AAED;;;;CAIC;;AAED,yBAAyB;AACzB;IACI,kBAAkB;AACtB;AACA;IACI,cAAc;AAClB;;AAEA,gBAAgB;AAChB;;IAEI,kBAAkB;IAClB,2FAA2F;IAC3F,YAAY;IACZ,kBAAkB;AACtB;;AAEA;IACI,eAAe;AACnB;AACA;IACI,6BAA6B;IAC7B,gBAAgB;AACpB;AACA;IACI,+CAA+C;IAC/C,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,gBAAgB;IAChB,iBAAiB;AACrB;AACA;IACI,cAAc;AAClB;AACA;IACI,eAAe;AACnB;AACA;;;;CAIC;;;AAGD,eAAe;AACf,4DAA4D;AAC5D;IACI,UAAU,EAAE,0BAA0B;AAC1C;;AAEA,iEAAiE;AACjE;IACI;QACI,UAAU;IACd;;IAEA;QACI,yCAAyC;IAC7C;AACJ;;AAEA;IACI;QACI,UAAU;QACV,2BAA2B;IAC/B;IACA;QACI,UAAU;QACV,wBAAwB;IAC5B;AACJ;;AAEA,WAAW,qBAAqB,EAAE;AAClC,WAAW,qBAAqB,EAAE;AAClC,WAAW,qBAAqB,EAAE;AAClC,WAAW,qBAAqB,EAAE;;AAElC,YAAY;AACZ;IACI,qBAAqB;AACzB;AACA;IACI,uBAAuB;IACvB;sBACkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,iCAAiC;IACjC,YAAY;AAChB;;AAEA;IACI,mCAAmC;AACvC;;AAEA;IACI,iBAAiB;IACjB,4BAA4B;AAChC;;AAEA;IACI,yCAAyC;AAC7C;;AAEA;IACI,eAAe;AACnB,C","sources":["webpack://app/./static/css/sections/core.css","webpack://app/./static/css/pages/core/home.css"],"sourcesContent":["\n/* Home page\n*/\n\n/* Footer */\n.footer {\n background: #1f2937;\n color: #f3f4f6;\n padding: 4rem 2rem 2rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-bottom: 2rem;\n}\n\n.footer-section h3 {\n color: #fff;\n margin-bottom: 1rem;\n font-size: 1.2rem;\n text-align: center;\n}\n\n.footer-section ul {\n list-style: none;\n padding: 0;\n}\n\n.footer-section ul li {\n margin-bottom: 0.5rem;\n}\n\n.footer-section a {\n color: #f3f4f6;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.footer-section a:hover {\n color: #fff;\n text-decoration: underline;\n}\n\n.footer-bottom {\n border-top: 1px solid #374151;\n padding-top: 2rem;\n text-align: center;\n font-size: 0.9rem;\n}\n\n.footer-bottom a {\n color: aquamarine;\n}\n\n.footer-section.contact {\n width: 100%;\n}\n.footer-section .container {\n padding: 0;\n}\n.footer-section .container.row .container.column {\n padding: 1vh 2vw;\n}\n\n@media (max-width: 768px) {\n .footer-content {\n grid-template-columns: 1fr;\n text-align: center;\n }\n}\n\n@media (max-width: 540px) {\n .nav-links {\n display: none;\n }\n}","/* Common */\nsection {\n padding: 2rem;\n}\np {\n width: 100%;\n font-size: 16px;\n}\np.section-title,\np.section-subtitle {\n margin: 0 auto;\n}\n.section-subtitle {\n font-size: 18px;\n}\nul li {\n font-size: 16px;\n}\n\nsection.benefits .card.benefits,\nsection.social-proof .card.social-proof {\n display: flex;\n}\n\nsection.problem,\nsection.benefits,\nsection.solution,\nsection.testimonial {\n padding: 4rem 2rem;\n background: var(--colour-page-background-1);\n}\nsection.problem .card.problem,\nsection.benefits .card.benefits,\nsection.solution .card.solution,\nsection.testimonial .card.testimonial {\n background: var(--colour-text-background);\n border-radius: 8px;\n max-width: 800px;\n margin: 3rem auto 0;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n}\n\n\n/* Hero Section */\n.hero {\n padding: 8rem 2rem 4rem;\n background: linear-gradient(45deg, var(--colour-page-background-1), var(--colour-page-background-2)); /* linear-gradient(45deg, #f8fafc, #eff6ff); */\n}\n.hero-content {\n max-width: 600px;\n}\n.hero h1 {\n line-height: 1.2;\n margin-bottom: 1.5rem;\n color: var(--colour-text);\n}\n.hero p {\n font-size: 1.25rem;\n margin-bottom: 2rem;\n color: var(--colour-secondary);\n}\nsection.hero .button {\n margin: 0 auto;\n margin-bottom: 2vh;\n display: block;\n background-color: var(--colour-success-title);\n color: var(--colour-text-background);\n}\nsection.hero .button:hover {\n background-color: var(--colour-success-highlight);\n color: var(--colour-success-title);\n}\n\n\n/* Problem Section */\nsection.problem {\n background-color: var(--colour-error-highlight);\n}\nsection.problem h2 {\n color: var(--colour-error-title);\n}\nsection.problem .card {\n border-left: 4px solid var(--colour-error-accent);\n}\nsection.problem ul li {\n list-style: none;\n}\n\n\n/*\nsection.problem .problem.card:hover {\n transform: translateY(-5px);\n}\n*/\nsection.problem .section-subtitle {\n /* font-size: 18px; */\n font-weight: bold;\n}\n/*\nsection.problem ul li::before {\n content: \"😤\";\n position: absolute;\n left: 0;\n }\n*/\n\n\n/* Benefits Section * /\nsection.benefits .section-subtitle {\n font-size: 18px;\n font-weight: bold;\n}\n*/\nsection.benefits {\n background-color: var(--colour-success-highlight);\n}\nsection.benefits .container .card .container {\n min-width: 250px;\n}\nsection.benefits h2 {\n color: var(--colour-success);\n}\nsection.benefits .card {\n border-left: 4px solid var(--colour-success);\n}\n\n/* Solution Section */\nsection.solution .container .card {\n margin-top: 1vh;\n max-width: min(2000px, 80vw);\n}\n\nsection.benefits .card.benefits .container,\nsection.solution .container .card .container {\n padding: 1vh 2vw;\n max-width: min(500px, 80vw);\n}\nsection.solution .container .card .container p {\n margin-bottom: 1vh;\n}\nsection.solution .project-thumbnail img {\n max-width: min(500px, 80vw);\n max-height: min(500px, 80vw);\n border-radius: 1vh;\n}\n\nsection.solution .project-thumbnail img {\n overflow: hidden;\n transition: transform 0.3s ease;\n}\nsection.solution .project-thumbnail:hover {\n transform: scale(1.75);\n}\n\n/* Social Proof Section * /\nsection.social-proof {\n padding: 6rem 0;\n background: white;\n}\n\nsection.social-proof .card.social-proof {\n background: var(--colour-page-background);\n padding: 2rem;\n border-radius: 8px;\n text-align: center;\n max-width: 400px;\n margin: 3rem auto 0;\n}\n\nsection.social-proof ul {\n list-style: none;\n margin: 0;\n}\n* /\n\nsection.social-proof .section-subtitle {\n font-size: 16px;\n}\nsection.social-proof ul li {\n font-size: 14px;\n}\n*/\nsection.social-proof {\n padding: 4rem 0;\n background: var(--colour-text-background);\n}\nsection.social-proof .card.social-proof { \n background: var(--colour-page-background);\n border-radius: 8px;\n transition: transform 0.3s ease;\n padding: 1.5vh;\n}\nsection.social-proof .section-title {\n font-weight: bold;\n color: var(--colour-text-link-visited);\n margin-bottom: 0.25vh;\n}\nsection.social-proof .section-subtitle {\n margin: 0 1vw 1vh;\n}\nsection.social-proof .container {\n width: fit-content;\n margin: 0 2vw;\n}\nsection.social-proof > .container {\n max-width: min(600px, 90vw);\n margin: 1vh auto;\n}\n\n/* Early Access Section * /\nsection.early-access {\n padding: 6rem 0;\n background: white;\n}\n\nsection.early-access .card.early-access {\n background: var(--colour-page-background);\n padding: 2rem;\n border-radius: 8px;\n text-align: center;\n max-width: 400px;\n margin: 3rem auto 0;\n}\n\nsection.early-access ul {\n list-style: none;\n margin: 0;\n}\nsection.early-access a.button {\n margin: 0.25rem;\n}\n*/\n\n/* Features section * /\nsection.features .button {\n margin-top: 0;\n}\n*/\n\n/* Testimonials section */\nsection.testimonial p {\n margin-bottom: 1vh;\n}\nsection.testimonial h2 {\n margin: 0 auto;\n}\n\n/* CTA Section */\n.cta-1,\n.cta-2 {\n padding: 6rem 2rem;\n background: linear-gradient(135deg, var(--colour-primary), var(--colour-text-link-visited));\n color: white;\n text-align: center;\n}\n\nsection.cta-2 .button {\n margin: 2vh 1vw;\n}\nsection.cta-2 .card {\n background-color: transparent;\n margin: 1vh auto;\n}\nsection.cta-2 .card .container {\n background-color: var(--colour-page-background);\n color: var(--colour-primary);\n border-radius: 1vh;\n padding: 1.5vh 3vw;\n margin: 1vh;\n min-width: 200px;\n min-height: 120px;\n}\nsection.cta-2 .card .container h3 {\n margin: 0 auto;\n}\nsection.cta-2 .container p {\n margin-top: 1vh;\n}\n/* FAQs * /\nsection.faq .button {\n margin-bottom: 0.25rem;\n}\n*/\n\n\n/* Animations */\n/* Fallback styles to ensure content is visible without JS */\n.reveal {\n opacity: 1; /* Default visible state */\n}\n\n/* Only hide elements if browser supports Intersection Observer */\n@supports (animation-name: fade) {\n .reveal {\n opacity: 0;\n }\n\n .reveal.active {\n animation: fade-up 0.8s ease-out forwards;\n }\n}\n\n@keyframes fade-up {\n 0% {\n opacity: 0;\n transform: translateY(30px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.delay-1 { animation-delay: 0.1s; }\n.delay-2 { animation-delay: 0.2s; }\n.delay-3 { animation-delay: 0.3s; }\n.delay-4 { animation-delay: 0.4s; }\n\n/* Buttons */\n.topnav .nav-links .button {\n padding: 0.5vh 0.75vh;\n}\n.button {\n padding: 0.75rem 1.5rem;\n /* border-radius: 6px; * /\n margin: 0.75rem; */\n font-size: 1.2rem;\n}\n\n.button-primary {\n background: var(--colour-primary);\n color: white;\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-page-background);\n}\n\n.logo:hover{\n cursor: pointer;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/css/main.bundle.css b/static/dist/css/main.bundle.css index 2979b2f..a431c60 100644 --- a/static/dist/css/main.bundle.css +++ b/static/dist/css/main.bundle.css @@ -702,7 +702,7 @@ form.filter button.save, form.filter button.button-cancel { } */ -@media screen and (max-width: 940px) { +@media screen and (max-width: 980px) { /* .hero h1 { font-size: 2.5rem; diff --git a/static/dist/css/main.bundle.css.map b/static/dist/css/main.bundle.css.map index cd1d29c..e75d0dc 100644 --- a/static/dist/css/main.bundle.css.map +++ b/static/dist/css/main.bundle.css.map @@ -1 +1 @@ -{"version":3,"file":"css/main.bundle.css","mappings":";AACA;IACI,kDAAkD;IAClD,6BAA6B;IAC7B;;;;;;KAMC;IACD;;;KAGC;IACD;;;;;;;;;;;KAWC;IACD;;;;KAIC;AACL;;AAEA;IACI,aAAa;IACb,sBAAsB;AAC1B;;AAEA;IACI,+CAA+C;IAC/C,yBAAyB;IACzB,oCAAoC;IACpC,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,SAAS;IACT,8GAA8G,EAAE,qBAAqB;IACrI,aAAa;IACb;uBACmB;AACvB;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;;;;;;;;;;;;;;;;;;CAkBC;;AAED;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,yBAAyB;AAC7B;AACA;IACI,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;AACzB;AACA;IACI,mBAAmB;IACnB,kBAAkB;AACtB;;;;AAIA,mCAAmC;AACnC;IACI,+CAA+C;IAC/C,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,OAAO;IACP,WAAW;IACX,uBAAuB;IACvB,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;IACrB,4BAA4B;AAChC;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,cAAc;AAClB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,gBAAgB;AACpB;;;AAGA;;;;;;;;;;;;;;;;CAgBC;;AAED;IACI,YAAY;IACZ,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;AACtB;;AAEA;IACI,WAAW;IACX,kBAAkB;IAClB,aAAa;AACjB;;AAEA;;IAEI,sCAAsC;IACtC,YAAY;AAChB;;AAEA;IACI,WAAW;AACf;;;AAGA;IACI,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,YAAY;AAChB;AACA;IACI,gBAAgB;IAChB,eAAe;AACnB;;;AAGA;IACI,sCAAsC;AAC1C;AACA;IACI,mCAAmC;AACvC;;;;;AAKA;IACI;;;;;;;SAOK;AACT,C;AChOA;IACI,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,yBAAyB;IACzB,kBAAkB;AACtB;AACA;IACI,eAAe;AACnB;AACA;IACI,cAAc;IACd,UAAU;AACd;;AAEA;IACI,gCAAgC;IAChC,4BAA4B;IAC5B,uCAAuC;AAC3C;;AAEA;IACI,mCAAmC;AACvC;;AAEA;IACI,iBAAiB;IACjB,4BAA4B;AAChC;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,eAAe;AACnB;;;AAGA;;IAEI,WAAW;AACf,C;;;;;AC1CA;IACI,sCAAsC;AAC1C,C;;ACHA;IACI,kBAAkB;AACtB;;;ACFA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;IACjB,eAAe;AACnB;AACA;IACI,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,WAAW;AACf;;;AAGA;IACI,kBAAkB;AACtB;AACA;IACI,iBAAiB;IACjB,mBAAmB;AACvB;AACA;IACI,iBAAiB;IACjB,mBAAmB;AACvB,C;;;;;AChCA,kBAAkB;AAClB;IACI;;KAEC;IACD,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,yCAAyC;IACzC,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;AAChB;AACA;IACI,aAAa;AACjB;;AAEA,2BAA2B;AAC3B;IACI,eAAe;IACf,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,WAAW;IACX,UAAU;AACd;AACA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,uCAAuC;IACvC,mBAAmB;AACvB;AACA;IACI,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;AACzB;AACA;;;;;CAKC;AACD;IACI,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,sCAAsC;IACtC,sCAAsC;IACtC,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,4BAA4B;IAC5B,6BAA6B;AACjC;AACA;IACI,+BAA+B;IAC/B,gCAAgC;AACpC;;AAEA;IACI,+CAA+C;IAC/C,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,WAAW;IACX,+BAA+B;IAC/B,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,oCAAoC;IACpC,uCAAuC;AAC3C;AACA;IACI,WAAW;IACX;;;KAGC;AACL;AACA;IACI,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA;IACI;QACI,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,gBAAgB;IACpB;IACA;QACI,eAAe;QACf,eAAe;QACf,cAAc;QACd,cAAc;IAClB;IACA;QACI,gBAAgB;IACpB;AACJ;;AAEA,oBAAoB;AACpB;IACI,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,YAAY;AAChB;;AAEA;IACI,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;AACvB;AACA;IACI,kBAAkB;AACtB;;;;;AC7IA;IACI,sBAAsB;AAC1B;;AAEA;IACI,2BAA2B;IAC3B,8BAA8B;AAClC;;AAEA;IACI,6BAA6B;AACjC;AACA;IACI,mCAAmC;AACvC;;AAEA;IACI,sBAAsB;AAC1B;AACA;IACI,8CAA8C;AAClD;AACA;IACI,uBAAuB;AAC3B;AACA;IACI,8BAA8B;AAClC;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,6BAA6B;AACjC;;AAEA;IACI,eAAe;IACf,wBAAwB;IACxB,qBAAqB;IACrB,kCAAkC;IAClC,6BAA6B;AACjC;;AAEA;IACI,cAAc;IACd,kBAAkB;AACtB;;AAEA;IACI,+CAA+C;AACnD;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,qBAAqB;AACzB,C;;;ACzDA,eAAe;AACf;IACI,aAAa;IACb,eAAe;IACf,OAAO;IACP,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,WAAW;IACX,uBAAuB;IACvB,yCAAyC;IACzC,qCAAqC;IACrC,uBAAuB,EAAE,kBAAkB;IAC3C,mBAAmB;AACvB;AACA;;;;IAII,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;IACX,eAAe;IACf,uBAAuB;AAC3B;AACA;IACI,sCAAsC;AAC1C;AACA;IACI,+CAA+C;IAC/C;AACJ;AACA;IACI,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;AACA;IACI,eAAe;AACnB;AACA;IACI,qBAAqB;IACrB,eAAe;IACf,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,eAAe;IACf,kBAAkB;AACtB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;AACvB;AACA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;AACxB;AACA;IACI,oCAAoC;IACpC,cAAc;IACd,iBAAiB;AACrB;;;AAGA,iBAAiB;AACjB;IACI,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;;AAEtB;AACA;IACI,eAAe;AACnB;;AAEA;AACA;AACA;IACI,sBAAsB;IACtB,gBAAgB;AACpB;AACA;IACI,sCAAsC;AAC1C;;AAEA;IACI,WAAW;IACX,eAAe;IACf,YAAY;AAChB;AACA;;;;;;;CAOC;;AAED;IACI,UAAU;AACd;AACA;IACI,aAAa;AACjB;AACA;IACI,YAAY;IACZ,mCAAmC;IACnC,sCAAsC;IACtC;2BACuB;IACvB,WAAW;AACf;AACA;IACI,0BAA0B;IAC1B,+CAA+C;AACnD;AACA;IACI,WAAW;AACf;;AAEA;;;;;;;;;;;;;;CAcC;;AAED;IACI,aAAa;IACb,gBAAgB;AACpB;AACA;IACI,aAAa;IACb,kBAAkB;AACtB;;AAEA;;;;;;CAMC;;AAED;IACI;;;;KAIC;IACD;QACI,aAAa;IACjB;IACA;QACI,2BAA2B;QAC3B,kBAAkB;IACtB;AACJ,C;AChMA,gBAAgB,C;;ACChB;IACI,kBAAkB;IAClB,eAAe;AACnB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe,EAAE,yCAAyC;IAC1D,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;AAC3B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,mBAAmB;IACnB,+CAA+C;AACnD;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;AACvB;AACA;IACI,cAAc;AAClB;AACA;AACA;AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,WAAW,EAAE,iCAAiC;AAClD;;AAEA;;;;IAII,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,YAAY;IACZ,sCAAsC;IACtC,oBAAoB;IACpB,kBAAkB;IAClB,+CAA+C;IAC/C,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,wBAAwB;AAC5B;AACA;;IAEI,sBAAsB;AAC1B;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,+CAA+C;AACnD;AACA;IACI,sBAAsB;AAC1B;AACA;IACI,eAAe;AACnB;AACA;;IAEI,iBAAiB;IACjB,kBAAkB;AACtB;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;IACI,2BAA2B;IAC3B,sCAAsC;IACtC,sCAAsC;IACtC,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;;AAGA;AACA;AACA;IACI;;QAEI,WAAW;QACX,iBAAiB;IACrB;IACA;QACI,cAAc;QACd,eAAe;QACf,eAAe;IACnB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;AACJ,C;;;;;ACxJA,YAAY;AACZ;IACI,kCAAkC;IAClC,wBAAwB;IACxB,mBAAmB;IACnB,8BAA8B;IAC9B,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,mCAAmC;IACnC,mCAAmC;IACnC,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,mCAAmC;IACnC,+BAA+B;IAC/B,sBAAsB;IACtB,+BAA+B;IAC/B,qCAAqC;IACrC,mCAAmC;AACvC;;AAEA;;;;;;;;;;;;;;;;CAgBC,C","sources":["webpack://app/./static/css/main.css","webpack://app/./static/css/components/button.css","webpack://app/./static/css/components/form.css","webpack://app/./static/css/components/image.css","webpack://app/./static/css/components/label.css","webpack://app/./static/css/components/overlay.css","webpack://app/./static/css/components/table.css","webpack://app/./static/css/layouts/header.css","webpack://app/./static/css/layouts/footer.css","webpack://app/./static/css/layouts/table-main.css","webpack://app/./static/css/themes/light.css"],"sourcesContent":["\n:root {\n --font-family-base: 'Open Sans', Arial, sans-serif;\n /* Declare global variables */\n /*\n --c_purple: #5B29FF;\n --c_purple_pastel: #D1D1FF;\n --c_purple_lighter: #E8E1FF;\n --c_purple_light: #C6BDFF;\n --c_purple_dark: #4700B3;\n */\n /* purple theme\n - light https://coolors.co/palette/a172fd-a77afe-ac82fe-b691fe-c1a0fe-cbaffe-d6bffe-e0cefe-ebddfe-f5ecfe\n - dark https://coolors.co/palette/310055-3c0663-4a0a77-5a108f-6818a5-8b2fc9-ab51e3-bd68ee-d283ff-dc97ff\n */\n /*\n --c_purple_darker: #310055;\n --c_purple_dark: #4A0A77;\n --c_purple: #6818A5;\n --c_purple_light: #CBAFFE;\n --c_purple_lighter: #F5ECFE;\n\n --c_blue: #0044FF;\n --c_blue_pastel: #B8E0FF;\n --c_blue_light: #73E8FF;\n --c_blue_dark: #003ADB;\n */\n /* --c_red: * /\n --c-red: #FF0000;\n --c_red_pastel: #FAE0E2;\n --c_red_lighter: #FAE0E2;\n */\n}\n\nhtml {\n height: 100vh;\n /* overflow-y: clip; */\n}\n\nbody {\n background-color: var(--colour-page-background);\n color: var(--colour-text);\n font-family: var(--font-family-base);\n font-family: Arial;\n padding: 0;\n margin: 0;\n border: 0;\n background: linear-gradient(to bottom right, var(--colour-page-background-1), var(--colour-page-background-2)); /* var(--c_purple); */\n height: 100vh;\n /* max-height: 100vh;\n overflow-y: clip; */\n}\n\n* {\n margin: 0;\n}\n\nscript, link {\n display: none !important;\n}\n\n/*\n#pageBody {\n / * height: 69vh !important; * /\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n*/\n\n.page-body > * {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n align-self: center;\n font-size: 1rem;\n color: var(--colour-text);\n}\n#pageBody > * > * {\n align-self: center;\n padding-top: 0.5vh;\n padding-bottom: 0.5vh;\n}\n#pageBody > .card {\n height: fit-content;\n margin: 0.5vh auto;\n}\n\n\n\n/* Add a card effect for articles */\n.card {\n background-color: var(--colour-text-background);\n padding: 1vh 2.5vw;\n margin: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: 1.5vh;\n position: relative;\n height: fit-content;\n max-width: 80vw;\n}\n\n.container {\n flex: 1;\n margin: 0px;\n align-items: flex-start;\n justify-content: flex-start;\n text-align: flex-start;\n /* max-width: 100%; */\n /* min-width: fit-content; */\n}\n\n.column {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: auto 0;\n}\n\n.row {\n display: flex; \n flex-direction: row;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.container > .card:first-of-type {\n margin-top: none;\n}\n\n\n/*\n/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other *\n@media screen and (max-width: 800px) {\n .leftcolumn, .rightcolumn { \n width: 100%;\n /* padding: 0; *\n }\n}\n\n/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other *\n@media screen and (max-width: 400px) {\n .topnav a {\n float: none;\n width: 100%;\n }\n}\n*/\n\n.container-input {\n padding: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.container-input > label {\n width: 100%;\n margin-bottom: 1vh;\n margin-top: 0;\n}\n\n.container-input > input,\n.container-input > textarea {\n border: 2px solid var(--colour-accent);\n padding: 1vh;\n}\n\n.label-title {\n width: 100%;\n}\n\n\nul {\n max-width: 90%;\n padding: 5px 0 10px 0;\n width: fit-content;\n margin: auto;\n}\nli {\n text-align: left;\n font-size: 18px;\n}\n\n\n:not(input,textarea,select,button).dirty {\n background-color: var(--colour-accent);\n}\ninput.dirty, textarea.dirty, select.dirty {\n border-color: var(--colour-primary);\n}\n\n\n\n\n@media screen and (max-width: 400px) {\n /*\n img.logo {\n border-radius: 3vh;\n }\n .company-name {\n font-size: 14px;\n }\n */\n}",".button {\n display: inline-block;\n padding: 0.5vh 0.75vh;\n border-radius: 0.75vh;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n width: fit-content;\n}\n.button:not(.is_collapsed) {\n cursor: pointer;\n}\n.button.is_collapsed {\n display: block;\n opacity: 0;\n}\n\n.button-primary {\n background: var(--colour-accent);\n color: var(--colour-primary);\n border: 2px solid var(--colour-primary);\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-accent);\n}\n\n.logo:hover{\n cursor: pointer;\n}\n\n\n.button.icon.active.delete, \n.button.icon.active.add {\n height: 2vh;\n}","\n\nselect {\n border: 1px solid var(--colour-accent);\n}","\nimg, video {\n border-radius: 3vh;\n}\n","\nh1 {\n font-size: 2.5rem;\n}\nh2 {\n font-size: 1.8rem;\n}\nh3 {\n font-size: 1.2rem;\n margin-top: 1vh;\n}\nh4 {\n font-size: 13px;\n margin: 1vh;\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n}\nh5 {\n font-size: 11px;\n margin: 1vh;\n}\n\n\n.text-center {\n text-align: center;\n}\n.section-title {\n font-size: 1.8rem;\n margin-bottom: 1rem;\n}\n.section-subtitle {\n font-size: 1.2rem;\n margin-bottom: 2rem;\n}","\n\n/* Overlay modal */\n.overlay {\n /*\n display: none;\n */\n position: fixed;\n width: 100px;\n /* height: 50%; */ \n background: var(--colour-page-background);\n justify-content: right;\n align-items: right;\n align-self: right;\n z-index: 999;\n}\n.is_collapsed {\n display: none;\n}\n\n/* Hamburger menu overlay */\n#buttonHamburger {\n cursor: pointer;\n position: fixed;\n right: 1vh;\n min-height: 3.5vh;\n max-height: 3.5vh;\n min-width: 4vh;\n max-width: 4vh;\n z-index: 10;\n padding: 0;\n}\n#buttonHamburger.expanded {\n min-width: 100px;\n max-width: 100px;\n min-height: 5vh;\n max-height: 5vh;\n padding-left: calc(100 * 1px - 5 * 1vh);\n padding-bottom: 1vh;\n}\n#buttonHamburger .icon.hamburger {\n min-height: 2.5vh;\n max-height: 2.5vh;\n min-width: 2.5vh;\n max-width: 2.5vh;\n padding: 0.5vh 0.75vh;\n}\n/*\n#buttonHamburger:hover {\n text-decoration: none;\n cursor: pointer;\n}\n*/\n#overlayHamburger {\n top: 7vh;\n right: 1vh;\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 60vh;\n background-color: var(--colour-accent);\n border: 2px solid var(--border-colour);\n border-radius: 0.75vh;\n width: 100px;\n z-index: 2;\n padding-top: 3.5vh;\n}\n#overlayHamburger:first-child {\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n}\n#overlayHamburger:last-child {\n border-bottom-left-radius: 12px;\n border-bottom-right-radius: 12px;\n}\n\n#overlayHamburger .container {\n background-color: var(--colour-page-background);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n /* color: var(--colour-text); */\n font-weight: bold;\n font-size: 15px;\n /* height: 18px; */\n cursor: pointer;\n padding-top: 5vh;\n}\n#overlayHamburger > :hover {\n color: var(--colour-page-background);\n background-color: var(--colour-primary);\n}\n#overlayHamburger .container a {\n width: 100%;\n /*\n margin-top: 4.5px;\n margin-bottom: 4.5px;\n */\n}\n#overlayHamburger > .container {\n padding-top: 4.5px;\n padding-bottom: 4.5px;\n}\n\n@media screen and (max-width: 400px) {\n #buttonHamburger {\n min-height: 5vh;\n max-height: 5vh;\n min-width: 5.5vh;\n max-width: 5.5vh;\n }\n #buttonHamburger .icon.hamburger {\n min-height: 4vh;\n max-height: 4vh;\n min-width: 4vh;\n max-width: 4vh;\n }\n #overlayHamburger {\n padding-top: 5vh;\n }\n}\n\n/* Confirm overlay */\n#overlayConfirm {\n position: absolute;\n left: 25vw;\n width: 50vw;\n height: 50vh;\n}\n\n#overlayConfirm .row > * {\n margin-left: auto;\n margin-right: auto;\n}\n\n#overlayConfirm .row .button.button-cancel {\n margin-right: 0.5vh;\n}\n#overlayConfirm .row .button.submit {\n margin-left: 0.5vh;\n}\n\n\n","\n#formFilters .container {\n max-width: fit-content;\n}\n\nthead, tbody {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n\nth {\n background-color: transparent;\n}\ntd {\n font-size: min(16px, calc(1vh * 3));\n}\n\nth, td {\n min-width: fit-content;\n}\ntr:not(:last-child) > td {\n border-bottom: 1px dashed var(--border-colour);\n}\ntd > table > tbody > tr > td {\n border: none !important;\n}\nth.is_collapsed, td.is_collapsed {\n display: table-cell !important;\n}\ntd.dirty {\n background-color: var(--colour-primary);\n}\ntd:not(.dirty) {\n background-color: transparent;\n}\n\ntr {\n min-height: 1px;\n border-bottom: 1px solid;\n border-top: 1px solid;\n border-color: var(--border-colour);\n background-color: transparent;\n}\n\ntable button {\n margin: 0.25vh;\n padding: 0.5vh 1vh;\n}\n\ntable button.active {\n background-color: var(--colour-page-background);\n}\n\ntr.delete, tr.delete > td {\n background-color: var(--colour-error);\n}\n\ntable div {\n align-content: center;\n}","\n\n/* Navigation */\n.topnav {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n flex-direction: row;\n font-weight: bold;\n font-size: 1vh;\n max-height: 7vh;\n height: 7vh;\n align-items: flex-start;\n background: var(--colour-text-background);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n justify-content: center; /* space-between */\n align-items: center;\n}\n.topnav a,\n.topnav label,\n.topnav p,\n.topnav h1 {\n float: left;\n display: flex;\n text-align: center;\n text-decoration: none;\n width: 100%;\n max-height: 7vh;\n justify-content: center;\n}\n.topnav h1 {\n color: var(--colour-text-link-visited);\n}\n.topnav a:hover {\n background-color: var(--colour-page-background);\n color: var(--colour-text)\n}\n.topnav > .container {\n width: 10vh;\n height: 100%;\n align-items: center;\n align-self: center;\n display: flex;\n}\n.topnav .container.logo {\n cursor: pointer;\n}\n.topnav .container .logo {\n /* min-width: 35vh; */\n max-width: 35vw;\n /* min-height: 6vh; */\n max-height: 6vh;\n margin: 0.5vh;\n margin-right: auto;\n}\n.topnav .container.company-name {\n min-width: 30vw;\n max-width: 30vw;\n margin-right: 35vw;\n}\n.company-name {\n font-size: 1.6rem;\n}\n.nav-links {\n display: flex;\n gap: 1vh 2rem;\n display: flex;\n flex-wrap: wrap;\n max-width: calc(1vw * 100 - 1vh * 35);\n align-items: center;\n margin: 0.5vh 0.5vw;\n}\n.nav-links a {\n text-decoration: none;\n color: var(--text);\n font-weight: normal;\n align-content: center;\n font-size: 1.2rem;\n width: fit-content;\n padding: 0.5vh 0.5vw;\n border-radius: 0.5vh;\n}\n.nav-links a.button {\n color: var(--colour-text-background);\n margin: 0 auto;\n font-weight: bold;\n}\n\n\n/* Page Filters */\n#formFilters {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n \n}\n#formFilters * {\n font-size: 1rem;\n}\n\n#formFilters .container {\n}\n#formFilters .container-input {\n max-width: fit-content;\n padding: 0 0.5vh;\n}\n#formFilters .container-input:has(.dirty) {\n background-color: var(--colour-accent);\n} \n\n#formFilters .container-input input {\n width: 10vh;\n max-width: 10vh;\n height: 20px;\n}\n/*\n#formFilters .container-input input {\n height: 1.7vh;\n}\n#formFilters .container-input select {\n height: 2vh;\n}\n*/\n\n#formFilters .container-input.filter.active_only {\n width: 8vh;\n}\n#formFilters .container-input.filter.active_only input {\n display: none;\n}\n#formFilters .container-input.filter.active_only svg.active_only {\n height: 25px;\n fill: var(--colour-text-background);\n background-color: var(--colour-accent);\n /* border: 1px solid var(--colour-accent);\n border-radius: 0.5vh; */\n width: 25px;\n}\n#formFilters .container-input.filter.active_only svg.active_only.is_checked {\n fill: var(--colour-accent);\n background-color: var(--colour-text-background);\n}\n#formFilters .container-input.filter.is_not_empty {\n width: 12vh;\n}\n\n/*\n#formFilters button {\n padding: 0.5vh 0.75vh;\n background-color: var(--colour-accent);\n color: var(--colour-primary);\n font-weight: bold;\n border-radius: 0.75vh;\n border: 2px solid var(--colour-primary);\n}\n\n#formFilters button.is_collapsed {\n display: block;\n opacity: 0;\n}\n*/\n\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 0;\n}\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 1px;\n}\n\n/*\n@media screen and (max-width: 400px) {\n .topnav h1 {\n font-size: 16px;\n }\n}\n*/\n\n@media screen and (max-width: 940px) {\n /*\n .hero h1 {\n font-size: 2.5rem;\n }\n */\n .nav-links {\n display: none;\n }\n .topnav {\n justify-content: flex-start;\n align-items: start;\n }\n}","/* In sections */","\n#formFilters {\n padding: 0.5vh 1vw;\n margin-top: 1vh;\n}\n\ntable.table-main {\n overflow-x: auto;\n padding: 1vh 1vw;\n max-width: 88vw; /* min(calc(1vh * 80), calc(1vw * 90)); */\n width: min-content;\n align-items: normal;\n justify-content: normal;\n}\n\ntable.table-main * {\n padding: 0.25vh 0.5vh;\n}\n\ntable.table-main thead {\n max-height: 4vh;\n overflow-y: visible;\n background-color: var(--colour-text-background);\n}\n\ntable.table-main tbody {\n max-height: 75vh;\n overflow-y: auto;\n min-width: fit-content;\n max-width: fit-content;\n overflow-x: visible;\n}\ntable.table-main tbody.is_collapsed {\n display: block;\n}\ntable.table-main:has(tbody > div) tbody {\n}\ntable.table-main tbody > div {\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n justify-content: center;\n justify-items: center;\n justify-self: center;\n align-content: center;\n align-items: center;\n align-self: center;\n position: relative;\n display: block;\n width: 100%; /* min(calc(90vh), calc(70vw)); */\n}\n\ntable.table-main select, \ntable.table-main input:not([type=\"checkbox\"]), \ntable.table-main textarea, \ntable.table-main div {\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n border: 1px solid var(--colour-accent);\n border-radius: 0.5vh;\n text-align: center;\n background-color: var(--colour-text-background);\n font-size: 16px;\n}\n\ntable.table-main thead tr th, \ntable.table-main tbody tr td {\n max-width: 20vh;\n min-width: 20vh;\n padding: 0 0.5vh;\n}\ntable.table-main tbody tr td {\n height: 3vh;\n /* padding-top: 0.5vh; */\n}\ntable.table-main thead tr th.notes, \ntable.table-main tbody tr td.notes {\n max-width: fit-content;\n}\ntable.table-main tbody tr td:has(.dirty) {\n background-color: var(--colour-primary);\n}\ntable.table-main tbody tr td:has(.dirty) table tr:not(:has(.dirty)) {\n background-color: var(--colour-text-background);\n}\ntable.table-main tbody tr:not(:last-of-type) td {\n padding-bottom: 0.25vh;\n}\ntable.table-main tbody tr td.ddl-preview div {\n cursor: pointer;\n}\ntable.table-main tbody tr td.ddl-preview div,\ntable.table-main tbody tr td.ddl-preview select {\n padding-left: 2vh;\n padding-right: 2vh;\n}\ntable.table-main thead tr th.active, \ntable.table-main tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main thead tr th.active svg.active.add {\n fill: var(--colour-primary);\n background-color: var(--colour-accent);\n border: 2px solid var(--colour-accent);\n padding: 0;\n border-radius: 1vh;\n}\ntable.table-main tbody tr td.active svg.active.add {\n fill: var(--colour-primary);\n}\ntable.table-main tbody tr td.active svg.active.delete {\n fill: var(--colour-error);\n}\ntable.table-main tbody tr td.display_order, \ntable.table-main thead tr th.display_order {\n max-width: 5vh;\n min-width: 5vh;\n}\n\n#container-template-elements {\n display: none;\n}\n\n\n@media screen and (max-width: 850px) {\n}\n@media screen and (max-width: 400px) {\n #formFilters input[type=\"text\"],\n #formFilters select {\n width: 15vh;\n /* height: 3vh; */\n }\n .topnav .container.company-name {\n margin: 0 auto;\n min-width: 40vw;\n max-width: 64vw;\n }\n .company-name {\n font-size: 1.2rem;\n }\n table.table-main {\n max-height: 61vh;\n }\n table.table-main thead {\n font-size: 0.8rem;\n }\n table.table-main tbody {\n max-height: 53vh;\n }\n}","/* Default */\n:root {\n /* Claude dark blue / grey theme */\n --colour-accent: #C77DFF;\n --colour-error: red;\n --colour-error-accent: #fc8181;\n --colour-error-highlight: #fff5f5;\n --colour-error-title: #c53030;\n --colour-page-background: #E0AAFF;\n --colour-page-background-1: #F5ECFE;\n --colour-page-background-2: #FAE0E2;\n --colour-primary: #240046;\n --colour-secondary: #3C096C;\n --colour-success: #38a169;\n --colour-success-highlight: #f0fff4;\n --colour-success-title: #16a34a;\n --colour-text: #10002B;\n --colour-text-background: white;\n --colour-text-link-unvisited: #0000EE;\n --colour-text-link-visited: #551A8B;\n}\n\n/*\n--c_purple_darker: #310055;\n--c_purple_dark: #4A0A77;\n--c_purple: #6818A5;\n--c_purple_light: #CBAFFE;\n--c_purple_lighter: #F5ECFE;\n\n--c_blue: #0044FF;\n--c_blue_pastel: #B8E0FF;\n--c_blue_light: #73E8FF;\n--c_blue_dark: #003ADB;\n/* --c_red: * /\n--c-red: #FF0000;\n--c_red_pastel: #FAE0E2;\n--c_red_lighter: #FAE0E2;\n}\n*/"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/main.bundle.css","mappings":"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;AACnD;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,qBAAqB;AACzB,C;;;ACzDA,eAAe;AACf;IACI,aAAa;IACb,eAAe;IACf,OAAO;IACP,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,WAAW;IACX,uBAAuB;IACvB,yCAAyC;IACzC,qCAAqC;IACrC,uBAAuB,EAAE,kBAAkB;IAC3C,mBAAmB;AACvB;AACA;;;;IAII,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;IACX,eAAe;IACf,uBAAuB;AAC3B;AACA;IACI,sCAAsC;AAC1C;AACA;IACI,+CAA+C;IAC/C;AACJ;AACA;IACI,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;AACA;IACI,eAAe;AACnB;AACA;IACI,qBAAqB;IACrB,eAAe;IACf,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,eAAe;IACf,kBAAkB;AACtB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;AACvB;AACA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;AACxB;AACA;IACI,oCAAoC;IACpC,cAAc;IACd,iBAAiB;AACrB;;;AAGA,iBAAiB;AACjB;IACI,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;;AAEtB;AACA;IACI,eAAe;AACnB;;AAEA;AACA;AACA;IACI,sBAAsB;IACtB,gBAAgB;AACpB;AACA;IACI,sCAAsC;AAC1C;;AAEA;IACI,WAAW;IACX,eAAe;IACf,YAAY;AAChB;AACA;;;;;;;CAOC;;AAED;IACI,UAAU;AACd;AACA;IACI,aAAa;AACjB;AACA;IACI,YAAY;IACZ,mCAAmC;IACnC,sCAAsC;IACtC;2BACuB;IACvB,WAAW;AACf;AACA;IACI,0BAA0B;IAC1B,+CAA+C;AACnD;AACA;IACI,WAAW;AACf;;AAEA;;;;;;;;;;;;;;CAcC;;AAED;IACI,aAAa;IACb,gBAAgB;AACpB;AACA;IACI,aAAa;IACb,kBAAkB;AACtB;;AAEA;;;;;;CAMC;;AAED;IACI;;;;KAIC;IACD;QACI,aAAa;IACjB;IACA;QACI,2BAA2B;QAC3B,kBAAkB;IACtB;AACJ,C;AChMA,gBAAgB,C;;ACChB;IACI,kBAAkB;IAClB,eAAe;AACnB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe,EAAE,yCAAyC;IAC1D,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;AAC3B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,mBAAmB;IACnB,+CAA+C;AACnD;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;AACvB;AACA;IACI,cAAc;AAClB;AACA;AACA;AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,WAAW,EAAE,iCAAiC;AAClD;;AAEA;;;;IAII,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,YAAY;IACZ,sCAAsC;IACtC,oBAAoB;IACpB,kBAAkB;IAClB,+CAA+C;IAC/C,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,wBAAwB;AAC5B;AACA;;IAEI,sBAAsB;AAC1B;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,+CAA+C;AACnD;AACA;IACI,sBAAsB;AAC1B;AACA;IACI,eAAe;AACnB;AACA;;IAEI,iBAAiB;IACjB,kBAAkB;AACtB;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;IACI,2BAA2B;IAC3B,sCAAsC;IACtC,sCAAsC;IACtC,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;;AAGA;AACA;AACA;IACI;;QAEI,WAAW;QACX,iBAAiB;IACrB;IACA;QACI,cAAc;QACd,eAAe;QACf,eAAe;IACnB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;AACJ,C;;;;;ACxJA,YAAY;AACZ;IACI,kCAAkC;IAClC,wBAAwB;IACxB,mBAAmB;IACnB,8BAA8B;IAC9B,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,mCAAmC;IACnC,mCAAmC;IACnC,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,mCAAmC;IACnC,+BAA+B;IAC/B,sBAAsB;IACtB,+BAA+B;IAC/B,qCAAqC;IACrC,mCAAmC;AACvC;;AAEA;;;;;;;;;;;;;;;;CAgBC,C","sources":["webpack://app/./static/css/main.css","webpack://app/./static/css/components/button.css","webpack://app/./static/css/components/form.css","webpack://app/./static/css/components/image.css","webpack://app/./static/css/components/label.css","webpack://app/./static/css/components/overlay.css","webpack://app/./static/css/components/table.css","webpack://app/./static/css/layouts/header.css","webpack://app/./static/css/layouts/footer.css","webpack://app/./static/css/layouts/table-main.css","webpack://app/./static/css/themes/light.css"],"sourcesContent":["\n:root {\n --font-family-base: 'Open Sans', Arial, sans-serif;\n /* Declare global variables */\n /*\n --c_purple: #5B29FF;\n --c_purple_pastel: #D1D1FF;\n --c_purple_lighter: #E8E1FF;\n --c_purple_light: #C6BDFF;\n --c_purple_dark: #4700B3;\n */\n /* purple theme\n - light https://coolors.co/palette/a172fd-a77afe-ac82fe-b691fe-c1a0fe-cbaffe-d6bffe-e0cefe-ebddfe-f5ecfe\n - dark https://coolors.co/palette/310055-3c0663-4a0a77-5a108f-6818a5-8b2fc9-ab51e3-bd68ee-d283ff-dc97ff\n */\n /*\n --c_purple_darker: #310055;\n --c_purple_dark: #4A0A77;\n --c_purple: #6818A5;\n --c_purple_light: #CBAFFE;\n --c_purple_lighter: #F5ECFE;\n\n --c_blue: #0044FF;\n --c_blue_pastel: #B8E0FF;\n --c_blue_light: #73E8FF;\n --c_blue_dark: #003ADB;\n */\n /* --c_red: * /\n --c-red: #FF0000;\n --c_red_pastel: #FAE0E2;\n --c_red_lighter: #FAE0E2;\n */\n}\n\nhtml {\n height: 100vh;\n /* overflow-y: clip; */\n}\n\nbody {\n background-color: var(--colour-page-background);\n color: var(--colour-text);\n font-family: var(--font-family-base);\n font-family: Arial;\n padding: 0;\n margin: 0;\n border: 0;\n background: linear-gradient(to bottom right, var(--colour-page-background-1), var(--colour-page-background-2)); /* var(--c_purple); */\n height: 100vh;\n /* max-height: 100vh;\n overflow-y: clip; */\n}\n\n* {\n margin: 0;\n}\n\nscript, link {\n display: none !important;\n}\n\n/*\n#pageBody {\n / * height: 69vh !important; * /\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n*/\n\n.page-body > * {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n align-self: center;\n font-size: 1rem;\n color: var(--colour-text);\n}\n#pageBody > * > * {\n align-self: center;\n padding-top: 0.5vh;\n padding-bottom: 0.5vh;\n}\n#pageBody > .card {\n height: fit-content;\n margin: 0.5vh auto;\n}\n\n\n\n/* Add a card effect for articles */\n.card {\n background-color: var(--colour-text-background);\n padding: 1vh 2.5vw;\n margin: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: 1.5vh;\n position: relative;\n height: fit-content;\n max-width: 80vw;\n}\n\n.container {\n flex: 1;\n margin: 0px;\n align-items: flex-start;\n justify-content: flex-start;\n text-align: flex-start;\n /* max-width: 100%; */\n /* min-width: fit-content; */\n}\n\n.column {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: auto 0;\n}\n\n.row {\n display: flex; \n flex-direction: row;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.container > .card:first-of-type {\n margin-top: none;\n}\n\n\n/*\n/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other *\n@media screen and (max-width: 800px) {\n .leftcolumn, .rightcolumn { \n width: 100%;\n /* padding: 0; *\n }\n}\n\n/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other *\n@media screen and (max-width: 400px) {\n .topnav a {\n float: none;\n width: 100%;\n }\n}\n*/\n\n.container-input {\n padding: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.container-input > label {\n width: 100%;\n margin-bottom: 1vh;\n margin-top: 0;\n}\n\n.container-input > input,\n.container-input > textarea {\n border: 2px solid var(--colour-accent);\n padding: 1vh;\n}\n\n.label-title {\n width: 100%;\n}\n\n\nul {\n max-width: 90%;\n padding: 5px 0 10px 0;\n width: fit-content;\n margin: auto;\n}\nli {\n text-align: left;\n font-size: 18px;\n}\n\n\n:not(input,textarea,select,button).dirty {\n background-color: var(--colour-accent);\n}\ninput.dirty, textarea.dirty, select.dirty {\n border-color: var(--colour-primary);\n}\n\n\n\n\n@media screen and (max-width: 400px) {\n /*\n img.logo {\n border-radius: 3vh;\n }\n .company-name {\n font-size: 14px;\n }\n */\n}",".button {\n display: inline-block;\n padding: 0.5vh 0.75vh;\n border-radius: 0.75vh;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n width: fit-content;\n}\n.button:not(.is_collapsed) {\n cursor: pointer;\n}\n.button.is_collapsed {\n display: block;\n opacity: 0;\n}\n\n.button-primary {\n background: var(--colour-accent);\n color: var(--colour-primary);\n border: 2px solid var(--colour-primary);\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-accent);\n}\n\n.logo:hover{\n cursor: pointer;\n}\n\n\n.button.icon.active.delete, \n.button.icon.active.add {\n height: 2vh;\n}","\n\nselect {\n border: 1px solid var(--colour-accent);\n}","\nimg, video {\n border-radius: 3vh;\n}\n","\nh1 {\n font-size: 2.5rem;\n}\nh2 {\n font-size: 1.8rem;\n}\nh3 {\n font-size: 1.2rem;\n margin-top: 1vh;\n}\nh4 {\n font-size: 13px;\n margin: 1vh;\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n}\nh5 {\n font-size: 11px;\n margin: 1vh;\n}\n\n\n.text-center {\n text-align: center;\n}\n.section-title {\n font-size: 1.8rem;\n margin-bottom: 1rem;\n}\n.section-subtitle {\n font-size: 1.2rem;\n margin-bottom: 2rem;\n}","\n\n/* Overlay modal */\n.overlay {\n /*\n display: none;\n */\n position: fixed;\n width: 100px;\n /* height: 50%; */ \n background: var(--colour-page-background);\n justify-content: right;\n align-items: right;\n align-self: right;\n z-index: 999;\n}\n.is_collapsed {\n display: none;\n}\n\n/* Hamburger menu overlay */\n#buttonHamburger {\n cursor: pointer;\n position: fixed;\n right: 1vh;\n min-height: 3.5vh;\n max-height: 3.5vh;\n min-width: 4vh;\n max-width: 4vh;\n z-index: 10;\n padding: 0;\n}\n#buttonHamburger.expanded {\n min-width: 100px;\n max-width: 100px;\n min-height: 5vh;\n max-height: 5vh;\n padding-left: calc(100 * 1px - 5 * 1vh);\n padding-bottom: 1vh;\n}\n#buttonHamburger .icon.hamburger {\n min-height: 2.5vh;\n max-height: 2.5vh;\n min-width: 2.5vh;\n max-width: 2.5vh;\n padding: 0.5vh 0.75vh;\n}\n/*\n#buttonHamburger:hover {\n text-decoration: none;\n cursor: pointer;\n}\n*/\n#overlayHamburger {\n top: 7vh;\n right: 1vh;\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 60vh;\n background-color: var(--colour-accent);\n border: 2px solid var(--border-colour);\n border-radius: 0.75vh;\n width: 100px;\n z-index: 2;\n padding-top: 3.5vh;\n}\n#overlayHamburger:first-child {\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n}\n#overlayHamburger:last-child {\n border-bottom-left-radius: 12px;\n border-bottom-right-radius: 12px;\n}\n\n#overlayHamburger .container {\n background-color: var(--colour-page-background);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n /* color: var(--colour-text); */\n font-weight: bold;\n font-size: 15px;\n /* height: 18px; */\n cursor: pointer;\n padding-top: 5vh;\n}\n#overlayHamburger > :hover {\n color: var(--colour-page-background);\n background-color: var(--colour-primary);\n}\n#overlayHamburger .container a {\n width: 100%;\n /*\n margin-top: 4.5px;\n margin-bottom: 4.5px;\n */\n}\n#overlayHamburger > .container {\n padding-top: 4.5px;\n padding-bottom: 4.5px;\n}\n\n@media screen and (max-width: 400px) {\n #buttonHamburger {\n min-height: 5vh;\n max-height: 5vh;\n min-width: 5.5vh;\n max-width: 5.5vh;\n }\n #buttonHamburger .icon.hamburger {\n min-height: 4vh;\n max-height: 4vh;\n min-width: 4vh;\n max-width: 4vh;\n }\n #overlayHamburger {\n padding-top: 5vh;\n }\n}\n\n/* Confirm overlay */\n#overlayConfirm {\n position: absolute;\n left: 25vw;\n width: 50vw;\n height: 50vh;\n}\n\n#overlayConfirm .row > * {\n margin-left: auto;\n margin-right: auto;\n}\n\n#overlayConfirm .row .button.button-cancel {\n margin-right: 0.5vh;\n}\n#overlayConfirm .row .button.submit {\n margin-left: 0.5vh;\n}\n\n\n","\n#formFilters .container {\n max-width: fit-content;\n}\n\nthead, tbody {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n\nth {\n background-color: transparent;\n}\ntd {\n font-size: min(16px, calc(1vh * 3));\n}\n\nth, td {\n min-width: fit-content;\n}\ntr:not(:last-child) > td {\n border-bottom: 1px dashed var(--border-colour);\n}\ntd > table > tbody > tr > td {\n border: none !important;\n}\nth.is_collapsed, td.is_collapsed {\n display: table-cell !important;\n}\ntd.dirty {\n background-color: var(--colour-primary);\n}\ntd:not(.dirty) {\n background-color: transparent;\n}\n\ntr {\n min-height: 1px;\n border-bottom: 1px solid;\n border-top: 1px solid;\n border-color: var(--border-colour);\n background-color: transparent;\n}\n\ntable button {\n margin: 0.25vh;\n padding: 0.5vh 1vh;\n}\n\ntable button.active {\n background-color: var(--colour-page-background);\n}\n\ntr.delete, tr.delete > td {\n background-color: var(--colour-error);\n}\n\ntable div {\n align-content: center;\n}","\n\n/* Navigation */\n.topnav {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n flex-direction: row;\n font-weight: bold;\n font-size: 1vh;\n max-height: 7vh;\n height: 7vh;\n align-items: flex-start;\n background: var(--colour-text-background);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n justify-content: center; /* space-between */\n align-items: center;\n}\n.topnav a,\n.topnav label,\n.topnav p,\n.topnav h1 {\n float: left;\n display: flex;\n text-align: center;\n text-decoration: none;\n width: 100%;\n max-height: 7vh;\n justify-content: center;\n}\n.topnav h1 {\n color: var(--colour-text-link-visited);\n}\n.topnav a:hover {\n background-color: var(--colour-page-background);\n color: var(--colour-text)\n}\n.topnav > .container {\n width: 10vh;\n height: 100%;\n align-items: center;\n align-self: center;\n display: flex;\n}\n.topnav .container.logo {\n cursor: pointer;\n}\n.topnav .container .logo {\n /* min-width: 35vh; */\n max-width: 35vw;\n /* min-height: 6vh; */\n max-height: 6vh;\n margin: 0.5vh;\n margin-right: auto;\n}\n.topnav .container.company-name {\n min-width: 30vw;\n max-width: 30vw;\n margin-right: 35vw;\n}\n.company-name {\n font-size: 1.6rem;\n}\n.nav-links {\n display: flex;\n gap: 1vh 2rem;\n display: flex;\n flex-wrap: wrap;\n max-width: calc(1vw * 100 - 1vh * 35);\n align-items: center;\n margin: 0.5vh 0.5vw;\n}\n.nav-links a {\n text-decoration: none;\n color: var(--text);\n font-weight: normal;\n align-content: center;\n font-size: 1.2rem;\n width: fit-content;\n padding: 0.5vh 0.5vw;\n border-radius: 0.5vh;\n}\n.nav-links a.button {\n color: var(--colour-text-background);\n margin: 0 auto;\n font-weight: bold;\n}\n\n\n/* Page Filters */\n#formFilters {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n \n}\n#formFilters * {\n font-size: 1rem;\n}\n\n#formFilters .container {\n}\n#formFilters .container-input {\n max-width: fit-content;\n padding: 0 0.5vh;\n}\n#formFilters .container-input:has(.dirty) {\n background-color: var(--colour-accent);\n} \n\n#formFilters .container-input input {\n width: 10vh;\n max-width: 10vh;\n height: 20px;\n}\n/*\n#formFilters .container-input input {\n height: 1.7vh;\n}\n#formFilters .container-input select {\n height: 2vh;\n}\n*/\n\n#formFilters .container-input.filter.active_only {\n width: 8vh;\n}\n#formFilters .container-input.filter.active_only input {\n display: none;\n}\n#formFilters .container-input.filter.active_only svg.active_only {\n height: 25px;\n fill: var(--colour-text-background);\n background-color: var(--colour-accent);\n /* border: 1px solid var(--colour-accent);\n border-radius: 0.5vh; */\n width: 25px;\n}\n#formFilters .container-input.filter.active_only svg.active_only.is_checked {\n fill: var(--colour-accent);\n background-color: var(--colour-text-background);\n}\n#formFilters .container-input.filter.is_not_empty {\n width: 12vh;\n}\n\n/*\n#formFilters button {\n padding: 0.5vh 0.75vh;\n background-color: var(--colour-accent);\n color: var(--colour-primary);\n font-weight: bold;\n border-radius: 0.75vh;\n border: 2px solid var(--colour-primary);\n}\n\n#formFilters button.is_collapsed {\n display: block;\n opacity: 0;\n}\n*/\n\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 0;\n}\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 1px;\n}\n\n/*\n@media screen and (max-width: 400px) {\n .topnav h1 {\n font-size: 16px;\n }\n}\n*/\n\n@media screen and (max-width: 980px) {\n /*\n .hero h1 {\n font-size: 2.5rem;\n }\n */\n .nav-links {\n display: none;\n }\n .topnav {\n justify-content: flex-start;\n align-items: start;\n }\n}","/* In sections */","\n#formFilters {\n padding: 0.5vh 1vw;\n margin-top: 1vh;\n}\n\ntable.table-main {\n overflow-x: auto;\n padding: 1vh 1vw;\n max-width: 88vw; /* min(calc(1vh * 80), calc(1vw * 90)); */\n width: min-content;\n align-items: normal;\n justify-content: normal;\n}\n\ntable.table-main * {\n padding: 0.25vh 0.5vh;\n}\n\ntable.table-main thead {\n max-height: 4vh;\n overflow-y: visible;\n background-color: var(--colour-text-background);\n}\n\ntable.table-main tbody {\n max-height: 75vh;\n overflow-y: auto;\n min-width: fit-content;\n max-width: fit-content;\n overflow-x: visible;\n}\ntable.table-main tbody.is_collapsed {\n display: block;\n}\ntable.table-main:has(tbody > div) tbody {\n}\ntable.table-main tbody > div {\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n justify-content: center;\n justify-items: center;\n justify-self: center;\n align-content: center;\n align-items: center;\n align-self: center;\n position: relative;\n display: block;\n width: 100%; /* min(calc(90vh), calc(70vw)); */\n}\n\ntable.table-main select, \ntable.table-main input:not([type=\"checkbox\"]), \ntable.table-main textarea, \ntable.table-main div {\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n border: 1px solid var(--colour-accent);\n border-radius: 0.5vh;\n text-align: center;\n background-color: var(--colour-text-background);\n font-size: 16px;\n}\n\ntable.table-main thead tr th, \ntable.table-main tbody tr td {\n max-width: 20vh;\n min-width: 20vh;\n padding: 0 0.5vh;\n}\ntable.table-main tbody tr td {\n height: 3vh;\n /* padding-top: 0.5vh; */\n}\ntable.table-main thead tr th.notes, \ntable.table-main tbody tr td.notes {\n max-width: fit-content;\n}\ntable.table-main tbody tr td:has(.dirty) {\n background-color: var(--colour-primary);\n}\ntable.table-main tbody tr td:has(.dirty) table tr:not(:has(.dirty)) {\n background-color: var(--colour-text-background);\n}\ntable.table-main tbody tr:not(:last-of-type) td {\n padding-bottom: 0.25vh;\n}\ntable.table-main tbody tr td.ddl-preview div {\n cursor: pointer;\n}\ntable.table-main tbody tr td.ddl-preview div,\ntable.table-main tbody tr td.ddl-preview select {\n padding-left: 2vh;\n padding-right: 2vh;\n}\ntable.table-main thead tr th.active, \ntable.table-main tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main thead tr th.active svg.active.add {\n fill: var(--colour-primary);\n background-color: var(--colour-accent);\n border: 2px solid var(--colour-accent);\n padding: 0;\n border-radius: 1vh;\n}\ntable.table-main tbody tr td.active svg.active.add {\n fill: var(--colour-primary);\n}\ntable.table-main tbody tr td.active svg.active.delete {\n fill: var(--colour-error);\n}\ntable.table-main tbody tr td.display_order, \ntable.table-main thead tr th.display_order {\n max-width: 5vh;\n min-width: 5vh;\n}\n\n#container-template-elements {\n display: none;\n}\n\n\n@media screen and (max-width: 850px) {\n}\n@media screen and (max-width: 400px) {\n #formFilters input[type=\"text\"],\n #formFilters select {\n width: 15vh;\n /* height: 3vh; */\n }\n .topnav .container.company-name {\n margin: 0 auto;\n min-width: 40vw;\n max-width: 64vw;\n }\n .company-name {\n font-size: 1.2rem;\n }\n table.table-main {\n max-height: 61vh;\n }\n table.table-main thead {\n font-size: 0.8rem;\n }\n table.table-main tbody {\n max-height: 53vh;\n }\n}","/* Default */\n:root {\n /* Claude dark blue / grey theme */\n --colour-accent: #C77DFF;\n --colour-error: red;\n --colour-error-accent: #fc8181;\n --colour-error-highlight: #fff5f5;\n --colour-error-title: #c53030;\n --colour-page-background: #E0AAFF;\n --colour-page-background-1: #F5ECFE;\n --colour-page-background-2: #FAE0E2;\n --colour-primary: #240046;\n --colour-secondary: #3C096C;\n --colour-success: #38a169;\n --colour-success-highlight: #f0fff4;\n --colour-success-title: #16a34a;\n --colour-text: #10002B;\n --colour-text-background: white;\n --colour-text-link-unvisited: #0000EE;\n --colour-text-link-visited: #551A8B;\n}\n\n/*\n--c_purple_darker: #310055;\n--c_purple_dark: #4A0A77;\n--c_purple: #6818A5;\n--c_purple_light: #CBAFFE;\n--c_purple_lighter: #F5ECFE;\n\n--c_blue: #0044FF;\n--c_blue_pastel: #B8E0FF;\n--c_blue_light: #73E8FF;\n--c_blue_dark: #003ADB;\n/* --c_red: * /\n--c-red: #FF0000;\n--c_red_pastel: #FAE0E2;\n--c_red_lighter: #FAE0E2;\n}\n*/"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/images/fetch-metrics-logo-16.png b/static/images/fetch-metrics-logo-16.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef3cbe2a6a83a7e4c70149f5d8ac329769a553a GIT binary patch literal 1221 zcmd5*T}YE*6n;LNKiizygwoO!A=4-@!M_Mm+tNkKoZeVjidoQ=U>1s%NhpCJhD3!$ zrV?GW$WqAWMQZ7S{w_>cCJv|h1C6yzal_O3W*bZBGU&kh&U2pg^S$qT-uJ3DH%lSg zDg&UV?*_1?ytOxPKL@1c*@YE=JVaChw^~D)^gpY~QTxvY2#VM+RbSzG z{@*r@Dx)A}lMpPiIymDW2@%D)TYF=xVIT_p1Ha!4clh?F;<>>Y4k}#-l5`yEifu5E+Ku(R2(LbG`F>h@P;SnPUO<{MK8Ncmh z>OKrh-DN}@;bgXNXiu$*C8a1j_9dT4C{lTk%J*UekI)l+JvG-5_1=3&`n(_3XCSQ_ z{$pH|S+u*pzntrOzy``vol#3@88q literal 0 HcmV?d00001 diff --git a/static/images/fetch-metrics-logo-180.png b/static/images/fetch-metrics-logo-180.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd3f5519f264aef00937f58aa5d9334dfd9f912 GIT binary patch literal 130156 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 BUl;%Y literal 0 HcmV?d00001 diff --git a/static/images/fetch-metrics-logo-32.png b/static/images/fetch-metrics-logo-32.png new file mode 100644 index 0000000000000000000000000000000000000000..ccbd2b15a7cdf6955e05d090e205af76e2c908f0 GIT binary patch literal 4309 zcmeHKYfMyE5dJQY#g&IvR#31i8bvEUqFGu|Xr-uN1OaV>)wYOjXb82WNNtE!L~N}| zqiKx=qakUuO-wDezG_W<6eKl(KzS{o0uofj%6nOMVW)F}yX@Uvp+Ef7)Jf)^d7hbj z&dj;zei<3D+I6hgSOBhJp&`*cP8V^Ef}hE$sa-rc#IFcn0sMT>xo?Xj^Fng;>R_Sz zrr&PSa%*UGIFLFUNXr29EJ}L_q$~m+#R37DfM?RN-=dbYLYWl0F&S`n7g4~`W0P3u zv^^|*rBm}5!PQsY-amH}Fn(TG$chayN@4o=x>mM$4*#JQAR-siwMLPlE66hKe$of& z=*ecb8E>h3COmbvETfX|?$I@0qRLnz?d|uaiF>GFLlteMYoww=%6!mGZ4r|0nT*uk zzJxC9*3yq4y24n>*m9yyn!JUw^GXSHmGLy=McSoprxvj>Mg_akEO<#BP;~AGH11KF zY>BCU&2-j@=tO8;X3{ayh;(Hk&YonQo4MQ;J!%4Y*bs-pL$hSg0&{(rMUjfpuMfo{ zErSBQH}xK>6J$ag%;*VJtRF?%du%^Ei-{KpfMj4z-if z=ufwDu2bGVK7@|9Q=4YHrE>?}*;qkYkN%+DR6@U$8K^fXhcX|oui)U9K|!39AESn< z(#?Gx%o&uI`^tEcDM)g|!oatL#Zj+HI_kND-_fN=RXxtX3rDiJ@^eB zd0Px+cZ;_lKA+&}Fdy&=0mS_h;TDQywIENRS0`Q^_(m}B9DX!a#W0g33g}7IUeu@T zgv&{;13r&f#+QoV`v?zip<;gyF4`q8Q7=y0aEYK?0z45NhrkI=E)p${@*ccf_)`*?4ch8MY&fXl{5|kL*Y%Y^05Ezt$ z(8R$uGq-Y9X_<9Hbh**lv z2t;6xrCi2SS?QPbcIaRih((yfs44iK%6`q2y1-Bb%KCiZG$1=W(5i?*`nAoV7C?PumN3UE0eKM)%_&Ut zIn3l?-ggCVoXbOQI0qjNSgIMOB`RPwe-t>lSa3!(;VRa>=#NvnNW81!!hGuGQ(gno zY|>a)y$u(3s0UcHwet0m42H)E6NhPux`;Pt)uMc$dnB3VIC26dc~LM_%6&MI;HAKx zkA}sc9stxft{-B~cTp++3p^EUZh^^K+sTV+0sJ9SaR2Y(v+#qDfnL6**zwy-2aUNk zn?i@4x#luUdgK*wpUnRtPX`YUtg^B6<{sSl<>tI4J#qrCgk-=c(P-)PZ+S1oVj%+3 zMzSAq3xpR`*Xcoh3`$@67EOovkIU?pszhfa_4sw7A)pt!nR@g)jKj2> nE^xoZdaKiL)L_pI{&y>&PFY#FKXcN+HzI6hM95FUvFZN+4A*b# literal 0 HcmV?d00001 diff --git a/templates/layouts/_shared_head.html b/templates/layouts/_shared_head.html index 873bd9d..56950c7 100644 --- a/templates/layouts/_shared_head.html +++ b/templates/layouts/_shared_head.html @@ -5,12 +5,9 @@ - + + +