From 7d0922105bc96898e4be1dd2284bcd74da416168 Mon Sep 17 00:00:00 2001 From: Patrick Mayr Date: Sun, 6 Mar 2022 13:57:55 +0000 Subject: [PATCH] Update Redesign to v1.1.0 --- fet2020/static/css/styles.css | 850 ++++++++++++------ fet2020/static/img/cover-image.jpeg | Bin 0 -> 52936 bytes fet2020/static/js/scripts.js | 20 +- fet2020/static/js/vendor.js | 323 ++++++- fet2020/templates/home.html | 18 +- .../members/partials/_jobs_side_bar.html | 2 +- 6 files changed, 909 insertions(+), 304 deletions(-) create mode 100644 fet2020/static/img/cover-image.jpeg diff --git a/fet2020/static/css/styles.css b/fet2020/static/css/styles.css index 9796c46e..020906d8 100644 --- a/fet2020/static/css/styles.css +++ b/fet2020/static/css/styles.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.0.7 | MIT License | https://tailwindcss.com +! tailwindcss v3.0.18 | MIT License | https://tailwindcss.com */ /* @@ -16,7 +16,7 @@ /* 2 */ border-style: solid; /* 2 */ - border-color: currentColor; + border-color: #e5e7eb; /* 2 */ } @@ -42,7 +42,7 @@ html { -o-tab-size: 4; tab-size: 4; /* 3 */ - font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: Inter var, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ } @@ -77,7 +77,7 @@ hr { Add the correct text decoration in Chrome, Edge, and Safari. */ -abbr[title] { +abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -596,6 +596,7 @@ body { flex-direction: column; --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); + caret-color: #006599; } @media (prefers-color-scheme: dark) { @@ -639,10 +640,16 @@ p a:hover { --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; - --tw-transform: translateX(var(--tw-translate-x)) translateY(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)); - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); @@ -650,6 +657,24 @@ p a:hover { --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; } .container { @@ -1002,6 +1027,57 @@ p a:hover { } } +.btn-error { + --tw-bg-opacity: 1; + background-color: rgb(185 28 28 / var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgb(254 242 242 / var(--tw-text-opacity)); +} + +.btn-error:hover { + --tw-bg-opacity: 1; + background-color: rgb(153 27 27 / var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgb(254 226 226 / var(--tw-text-opacity)); +} + +.btn-error:focus { + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); + --tw-ring-opacity: 1; + --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity)); +} + +@media (prefers-color-scheme: dark) { + .btn-error { + --tw-bg-opacity: 1; + background-color: rgb(153 27 27 / var(--tw-bg-opacity)); + } + + .btn-error { + --tw-text-opacity: 1; + color: rgb(254 202 202 / var(--tw-text-opacity)); + } + + .btn-error:hover { + --tw-bg-opacity: 1; + background-color: rgb(127 29 29 / var(--tw-bg-opacity)); + } + + .btn-error:hover { + --tw-text-opacity: 1; + color: rgb(252 165 165 / var(--tw-text-opacity)); + } + + .btn-error:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity)); + } +} + .btn-secondary { border-width: 1px; --tw-border-opacity: 1; @@ -1252,6 +1328,7 @@ ul.sideBarNav > ul > li.active > a:first-child { .calendar-dateBubble .dateBubble-month { flex: none; font-size: 0.875rem; + line-height: 1.25rem; line-height: 1; --tw-text-opacity: 1; color: rgb(224 242 254 / var(--tw-text-opacity)); @@ -1933,6 +2010,7 @@ ul.sideBarNav > ul > li.active > a:first-child { .jobsList-desc h3 { font-size: 0.875rem; + line-height: 1.25rem; line-height: 1; --tw-text-opacity: 1; color: rgb(75 85 99 / var(--tw-text-opacity)); @@ -2142,6 +2220,49 @@ ul.sideBarNav > ul > li.active > a:first-child { margin-bottom: 0.125rem; } +/***** DOCUMENT LIST *****/ + +.documentList a { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.documentList a:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.documentList a:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +@media (min-width: 640px) { + .documentList a { + padding: 0.5rem; + } + + .documentList a:hover { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); + } +} + +@media (prefers-color-scheme: dark) { + @media (min-width: 640px) { + .documentList a:hover { + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); + } + } +} + +@media (min-width: 768px) { + .documentList a { + padding: 1rem; + } +} + /***** FOOTER *****/ footer { @@ -2246,10 +2367,6 @@ footer .copyright { right: 0px; } -.bottom-4 { - bottom: 1rem; -} - .top-0 { top: 0px; } @@ -2258,6 +2375,10 @@ footer .copyright { left: 0px; } +.bottom-4 { + bottom: 1rem; +} + .right-4 { right: 1rem; } @@ -2270,14 +2391,14 @@ footer .copyright { z-index: 20; } -.z-0 { - z-index: 0; -} - .z-10 { z-index: 10; } +.z-0 { + z-index: 0; +} + .z-30 { z-index: 30; } @@ -2299,16 +2420,21 @@ footer .copyright { margin-right: auto; } -.my-2 { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - .my-8 { margin-top: 2rem; margin-bottom: 2rem; } +.mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} + +.my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + .my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; @@ -2324,11 +2450,6 @@ footer .copyright { margin-right: 0px; } -.mx-4 { - margin-left: 1rem; - margin-right: 1rem; -} - .-mx-4 { margin-left: -1rem; margin-right: -1rem; @@ -2343,32 +2464,28 @@ footer .copyright { margin-right: 0.5rem; } -.-mb-2 { - margin-bottom: -0.5rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.-mr-2 { - margin-right: -0.5rem; -} - -.mt-8 { - margin-top: 2rem; +.mt-2 { + margin-top: 0.5rem; } .mr-1 { margin-right: 0.25rem; } -.ml-0\.5 { - margin-left: 0.125rem; +.ml-2 { + margin-left: 0.5rem; } -.ml-0 { - margin-left: 0px; +.ml-7 { + margin-left: 1.75rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.-mt-6 { + margin-top: -1.5rem; } .mb-2 { @@ -2379,20 +2496,36 @@ footer .copyright { margin-left: 1rem; } -.mt-1 { - margin-top: 0.25rem; +.-mr-2 { + margin-right: -0.5rem; } .mt-4 { margin-top: 1rem; } -.-ml-1 { - margin-left: -0.25rem; +.-mb-2 { + margin-bottom: -0.5rem; } -.ml-2 { - margin-left: 0.5rem; +.mb-4 { + margin-bottom: 1rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.ml-0\.5 { + margin-left: 0.125rem; +} + +.ml-0 { + margin-left: 0px; +} + +.-ml-1 { + margin-left: -0.25rem; } .-mt-8 { @@ -2431,14 +2564,14 @@ footer .copyright { aspect-ratio: 16 / 9; } -.h-56 { - height: 14rem; -} - .h-full { height: 100%; } +.h-56 { + height: 14rem; +} + .h-3 { height: 0.75rem; } @@ -2451,14 +2584,16 @@ footer .copyright { height: 11rem; } -.h-5 { - height: 1.25rem; -} - .w-full { width: 100%; } +.w-fit { + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} + .w-3\/5 { width: 60%; } @@ -2483,6 +2618,16 @@ footer .copyright { width: 50%; } +.max-w-prose { + max-width: 65ch; +} + +.max-w-fit { + max-width: -webkit-fit-content; + max-width: -moz-fit-content; + max-width: fit-content; +} + .max-w-sm { max-width: 24rem; } @@ -2501,10 +2646,6 @@ footer .copyright { max-width: min-content; } -.max-w-prose { - max-width: 65ch; -} - .max-w-max { max-width: -webkit-max-content; max-width: -moz-max-content; @@ -2515,12 +2656,6 @@ footer .copyright { max-width: 64rem; } -.max-w-fit { - max-width: -webkit-fit-content; - max-width: -moz-fit-content; - max-width: fit-content; -} - .flex-1 { flex: 1 1 0%; } @@ -2529,6 +2664,10 @@ footer .copyright { flex: none; } +.flex-shrink-0 { + flex-shrink: 0; +} + .flex-shrink { flex-shrink: 1; } @@ -2541,6 +2680,14 @@ footer .copyright { transform-origin: top; } +.origin-center { + transform-origin: center; +} + +.origin-bottom { + transform-origin: bottom; +} + .origin-left { transform-origin: left; } @@ -2549,42 +2696,67 @@ footer .copyright { transform-origin: right; } +.-translate-x-6 { + --tw-translate-x: -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)); +} + +.translate-x-0 { + --tw-translate-x: 0px; + 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)); +} + +.translate-y-0 { + --tw-translate-y: 0px; + 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)); +} + +.translate-y-14 { + --tw-translate-y: 3.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)); +} + +.rotate-90 { + --tw-rotate: 90deg; + 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)); +} + .rotate-45 { --tw-rotate: 45deg; - transform: var(--tw-transform); + 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)); } .-rotate-90 { --tw-rotate: -90deg; - transform: var(--tw-transform); + 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)); } .scale-90 { --tw-scale-x: .9; --tw-scale-y: .9; - transform: var(--tw-transform); + 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)); } .scale-100 { --tw-scale-x: 1; --tw-scale-y: 1; - transform: var(--tw-transform); + 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)); } .scale-95 { --tw-scale-x: .95; --tw-scale-y: .95; - transform: var(--tw-transform); + 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)); } .scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; - transform: var(--tw-transform); + 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)); } .transform { - transform: var(--tw-transform); + 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)); } @-webkit-keyframes bounce { @@ -2639,6 +2811,10 @@ footer .copyright { animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; } +.cursor-default { + cursor: default; +} + .cursor-pointer { cursor: pointer; } @@ -2651,6 +2827,10 @@ footer .copyright { grid-template-columns: repeat(1, minmax(0, 1fr)); } +.grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + .flex-row { flex-direction: row; } @@ -2667,10 +2847,18 @@ footer .copyright { flex-wrap: wrap; } +.items-start { + align-items: flex-start; +} + .items-center { align-items: center; } +.items-baseline { + align-items: baseline; +} + .justify-end { justify-content: flex-end; } @@ -2691,20 +2879,45 @@ footer .copyright { justify-items: center; } -.gap-4 { - gap: 1rem; -} - .gap-2 { gap: 0.5rem; } +.gap-1 { + gap: 0.25rem; +} + +.gap-4 { + gap: 1rem; +} + .gap-3 { gap: 0.75rem; } -.gap-1 { - gap: 0.25rem; +.gap-8 { + gap: 2rem; +} + +.gap-y-8 { + row-gap: 2rem; +} + +.gap-y-4 { + row-gap: 1rem; +} + +.gap-x-6 { + -moz-column-gap: 1.5rem; + column-gap: 1.5rem; +} + +.gap-y-3 { + row-gap: 0.75rem; +} + +.gap-y-2 { + row-gap: 0.5rem; } .gap-x-2 { @@ -2723,6 +2936,12 @@ footer .copyright { border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); } +.divide-y > :not([hidden]) ~ :not([hidden]) { + --tw-divide-y-reverse: 0; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); +} + .divide-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(2px * calc(1 - var(--tw-divide-y-reverse))); @@ -2744,6 +2963,10 @@ footer .copyright { border-color: rgb(229 231 235 / var(--tw-divide-opacity)); } +.place-self-end { + place-self: end; +} + .self-end { align-self: flex-end; } @@ -2756,10 +2979,6 @@ footer .copyright { align-self: stretch; } -.overflow-hidden { - overflow: hidden; -} - .overflow-y-hidden { overflow-y: hidden; } @@ -2768,16 +2987,20 @@ footer .copyright { border-radius: 0.25rem; } -.rounded-lg { - border-radius: 0.5rem; +.rounded-md { + border-radius: 0.375rem; } .rounded-full { border-radius: 9999px; } -.rounded-md { - border-radius: 0.375rem; +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-sm { + border-radius: 0.125rem; } .rounded-l { @@ -2804,14 +3027,14 @@ footer .copyright { border-bottom-left-radius: 0.25rem; } -.border-2 { - border-width: 2px; -} - .border { border-width: 1px; } +.border-2 { + border-width: 2px; +} + .border-dashed { border-style: dashed; } @@ -2821,6 +3044,11 @@ footer .copyright { border-color: rgb(0 101 153 / var(--tw-border-opacity)); } +.border-gray-700 { + --tw-border-opacity: 1; + border-color: rgb(55 65 81 / var(--tw-border-opacity)); +} + .border-gray-300 { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)); @@ -2846,6 +3074,21 @@ footer .copyright { background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.bg-blue-200 { + --tw-bg-opacity: 1; + background-color: rgb(191 219 254 / var(--tw-bg-opacity)); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); +} + +.bg-proprietary-darker { + --tw-bg-opacity: 1; + background-color: rgb(0 68 102 / var(--tw-bg-opacity)); +} + .bg-blue-50 { --tw-bg-opacity: 1; background-color: rgb(239 246 255 / var(--tw-bg-opacity)); @@ -2866,16 +3109,6 @@ footer .copyright { background-color: rgb(31 41 55 / var(--tw-bg-opacity)); } -.bg-black { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity)); -} - -.bg-proprietary-darker { - --tw-bg-opacity: 1; - background-color: rgb(0 68 102 / var(--tw-bg-opacity)); -} - .bg-gray-100 { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); @@ -2886,24 +3119,14 @@ footer .copyright { background-color: rgb(224 242 254 / var(--tw-bg-opacity)); } -.bg-blue-200 { - --tw-bg-opacity: 1; - background-color: rgb(191 219 254 / var(--tw-bg-opacity)); -} - -.bg-gray-700 { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); +.bg-opacity-70 { + --tw-bg-opacity: 0.7; } .bg-opacity-90 { --tw-bg-opacity: 0.9; } -.bg-opacity-70 { - --tw-bg-opacity: 0.7; -} - .bg-opacity-0 { --tw-bg-opacity: 0; } @@ -2916,22 +3139,6 @@ footer .copyright { background-image: url('../img/cover-image.jpeg'); } -.bg-\[url\(\'\.\.\/img\/cover-image\.jpeg\'\)\] { - background-image: url('../img/cover-image.jpeg'); -} - -.bg-\[url\(\'https\:\/\/fet\.at\/files\/Screenshot_from_2021-12-02_17-46-23\.png\'\)\] { - background-image: url('https://fet.at/files/Screenshot_from_2021-12-02_17-46-23.png'); -} - -.bg-\[url\(\'\.\.\/img\/article-cover-1\.jpg\'\)\] { - background-image: url('../img/article-cover-1.jpg'); -} - -.bg-\[url\(\'\.\.\/img\/article-cover-2\.jpg\'\)\] { - background-image: url('../img/article-cover-2.jpg'); -} - .bg-gradient-to-t { background-image: linear-gradient(to top, var(--tw-gradient-stops)); } @@ -2985,6 +3192,16 @@ footer .copyright { padding-right: 1rem; } +.px-1\.5 { + padding-left: 0.375rem; + padding-right: 0.375rem; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + .py-0\.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; @@ -3011,13 +3228,12 @@ footer .copyright { text-align: justify; } -.font-serif { - font-family: Besley, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; +.align-bottom { + vertical-align: bottom; } -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; +.font-serif { + font-family: Besley, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; } .text-sm { @@ -3025,6 +3241,16 @@ footer .copyright { line-height: 1.25rem; } +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + .text-2xl { font-size: 1.5rem; line-height: 2rem; @@ -3035,11 +3261,6 @@ footer .copyright { line-height: 2.5rem; } -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - .text-5xl { font-size: 3rem; line-height: 1; @@ -3050,10 +3271,6 @@ footer .copyright { line-height: 1.5rem; } -.font-semibold { - font-weight: 600; -} - .font-normal { font-weight: 400; } @@ -3062,6 +3279,10 @@ footer .copyright { font-weight: 500; } +.font-semibold { + font-weight: 600; +} + .uppercase { text-transform: uppercase; } @@ -3074,20 +3295,6 @@ footer .copyright { font-style: italic; } -*, ::before, ::after { - --tw-ordinal: var(--tw-empty,/*!*/ /*!*/); - --tw-slashed-zero: var(--tw-empty,/*!*/ /*!*/); - --tw-numeric-figure: var(--tw-empty,/*!*/ /*!*/); - --tw-numeric-spacing: var(--tw-empty,/*!*/ /*!*/); - --tw-numeric-fraction: var(--tw-empty,/*!*/ /*!*/); - --tw-font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.oldstyle-nums { - --tw-numeric-figure: oldstyle-nums; - font-variant-numeric: var(--tw-font-variant-numeric); -} - .leading-none { line-height: 1; } @@ -3113,21 +3320,6 @@ footer .copyright { color: rgb(239 246 255 / var(--tw-text-opacity)); } -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.text-proprietary-darker { - --tw-text-opacity: 1; - color: rgb(0 68 102 / var(--tw-text-opacity)); -} - -.text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); -} - .text-gray-700 { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity)); @@ -3138,26 +3330,6 @@ footer .copyright { color: rgb(75 85 99 / var(--tw-text-opacity)); } -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.text-proprietary { - --tw-text-opacity: 1; - color: rgb(0 101 153 / var(--tw-text-opacity)); -} - -.text-gray-50 { - --tw-text-opacity: 1; - color: rgb(249 250 251 / var(--tw-text-opacity)); -} - -.text-gray-200 { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); -} - .text-purple-300 { --tw-text-opacity: 1; color: rgb(216 180 254 / var(--tw-text-opacity)); @@ -3168,6 +3340,11 @@ footer .copyright { color: rgb(74 222 128 / var(--tw-text-opacity)); } +.text-proprietary { + --tw-text-opacity: 1; + color: rgb(0 101 153 / var(--tw-text-opacity)); +} + .text-red-600 { --tw-text-opacity: 1; color: rgb(220 38 38 / var(--tw-text-opacity)); @@ -3183,9 +3360,14 @@ footer .copyright { color: rgb(234 179 8 / var(--tw-text-opacity)); } -.text-green-600 { +.text-gray-900 { --tw-text-opacity: 1; - color: rgb(22 163 74 / var(--tw-text-opacity)); + color: rgb(17 24 39 / var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); } .text-gray-400 { @@ -3193,16 +3375,41 @@ footer .copyright { color: rgb(156 163 175 / var(--tw-text-opacity)); } +.text-proprietary-darker { + --tw-text-opacity: 1; + color: rgb(0 68 102 / var(--tw-text-opacity)); +} + +.text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.text-gray-50 { + --tw-text-opacity: 1; + color: rgb(249 250 251 / var(--tw-text-opacity)); +} + +.text-gray-200 { + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)); +} + +.text-green-600 { + --tw-text-opacity: 1; + color: rgb(22 163 74 / var(--tw-text-opacity)); +} + .text-proprietary-dark { --tw-text-opacity: 1; color: rgb(0 85 128 / var(--tw-text-opacity)); } -.text-gray-800 { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} - .text-sky-700 { --tw-text-opacity: 1; color: rgb(3 105 161 / var(--tw-text-opacity)); @@ -3234,9 +3441,9 @@ footer .copyright { opacity: 0.8; } -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } @@ -3246,9 +3453,9 @@ footer .copyright { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); +.shadow-xl { + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } @@ -3320,7 +3527,7 @@ footer .copyright { .hover\:scale-105:hover { --tw-scale-x: 1.05; --tw-scale-y: 1.05; - transform: var(--tw-transform); + 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)); } .hover\:bg-proprietary-dark:hover { @@ -3338,6 +3545,11 @@ footer .copyright { background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } +.hover\:text-gray-900:hover { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} + .hover\:text-proprietary-dark:hover { --tw-text-opacity: 1; color: rgb(0 85 128 / var(--tw-text-opacity)); @@ -3367,16 +3579,16 @@ footer .copyright { border-style: none; } -.focus\:border-sky-700:focus { - --tw-border-opacity: 1; - border-color: rgb(3 105 161 / var(--tw-border-opacity)); -} - .focus\:border-blue-300:focus { --tw-border-opacity: 1; border-color: rgb(147 197 253 / var(--tw-border-opacity)); } +.focus\:border-sky-700:focus { + --tw-border-opacity: 1; + border-color: rgb(3 105 161 / var(--tw-border-opacity)); +} + .focus\:ring:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); @@ -3441,6 +3653,11 @@ footer .copyright { border-color: rgb(0 139 209 / var(--tw-divide-opacity)); } + .dark\:divide-gray-600 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-divide-opacity)); + } + .dark\:divide-gray-700 > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgb(55 65 81 / var(--tw-divide-opacity)); @@ -3463,6 +3680,11 @@ footer .copyright { border-style: none; } + .dark\:border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); + } + .dark\:border-gray-700 { --tw-border-opacity: 1; border-color: rgb(55 65 81 / var(--tw-border-opacity)); @@ -3487,9 +3709,9 @@ footer .copyright { background-color: transparent; } - .dark\:bg-black { + .dark\:bg-proprietary-dark { --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity)); + background-color: rgb(0 85 128 / var(--tw-bg-opacity)); } .dark\:bg-gray-800 { @@ -3497,6 +3719,16 @@ footer .copyright { background-color: rgb(31 41 55 / var(--tw-bg-opacity)); } + .dark\:bg-sky-500 { + --tw-bg-opacity: 1; + background-color: rgb(14 165 233 / var(--tw-bg-opacity)); + } + + .dark\:bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); + } + .dark\:bg-proprietary { --tw-bg-opacity: 1; background-color: rgb(0 101 153 / var(--tw-bg-opacity)); @@ -3507,11 +3739,6 @@ footer .copyright { background-color: rgb(55 65 81 / var(--tw-bg-opacity)); } - .dark\:bg-sky-500 { - --tw-bg-opacity: 1; - background-color: rgb(14 165 233 / var(--tw-bg-opacity)); - } - .dark\:bg-sky-900 { --tw-bg-opacity: 1; background-color: rgb(12 74 110 / var(--tw-bg-opacity)); @@ -3527,23 +3754,38 @@ footer .copyright { background-color: rgb(107 114 128 / var(--tw-bg-opacity)); } - .dark\:bg-proprietary-dark { - --tw-bg-opacity: 1; - background-color: rgb(0 85 128 / var(--tw-bg-opacity)); - } - .dark\:bg-opacity-70 { --tw-bg-opacity: 0.7; } + .dark\:text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); + } + .dark\:text-gray-100 { --tw-text-opacity: 1; color: rgb(243 244 246 / var(--tw-text-opacity)); } - .dark\:text-proprietary-lightest { + .dark\:text-gray-200 { --tw-text-opacity: 1; - color: rgb(102 204 255 / var(--tw-text-opacity)); + color: rgb(229 231 235 / var(--tw-text-opacity)); + } + + .dark\:text-gray-600 { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)); + } + + .dark\:text-proprietary-lighter { + --tw-text-opacity: 1; + color: rgb(71 194 255 / var(--tw-text-opacity)); + } + + .dark\:text-blue-100 { + --tw-text-opacity: 1; + color: rgb(219 234 254 / var(--tw-text-opacity)); } .dark\:text-gray-400 { @@ -3551,14 +3793,14 @@ footer .copyright { color: rgb(156 163 175 / var(--tw-text-opacity)); } - .dark\:text-gray-200 { + .dark\:text-sky-900 { --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); + color: rgb(12 74 110 / var(--tw-text-opacity)); } - .dark\:text-gray-300 { + .dark\:text-proprietary-lightest { --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); + color: rgb(102 204 255 / var(--tw-text-opacity)); } .dark\:text-gray-500 { @@ -3576,11 +3818,6 @@ footer .copyright { color: rgb(56 189 248 / var(--tw-text-opacity)); } - .dark\:text-sky-900 { - --tw-text-opacity: 1; - color: rgb(12 74 110 / var(--tw-text-opacity)); - } - .dark\:text-blue-200 { --tw-text-opacity: 1; color: rgb(191 219 254 / var(--tw-text-opacity)); @@ -3596,16 +3833,6 @@ footer .copyright { color: rgb(239 68 68 / var(--tw-text-opacity)); } - .dark\:text-proprietary-lighter { - --tw-text-opacity: 1; - color: rgb(71 194 255 / var(--tw-text-opacity)); - } - - .dark\:text-blue-100 { - --tw-text-opacity: 1; - color: rgb(219 234 254 / var(--tw-text-opacity)); - } - .dark\:hover\:bg-proprietary-darker:hover { --tw-bg-opacity: 1; background-color: rgb(0 68 102 / var(--tw-bg-opacity)); @@ -3616,6 +3843,11 @@ footer .copyright { background-color: rgb(31 41 55 / var(--tw-bg-opacity)); } + .dark\:hover\:text-gray-100:hover { + --tw-text-opacity: 1; + color: rgb(243 244 246 / var(--tw-text-opacity)); + } + .dark\:hover\:text-gray-200:hover { --tw-text-opacity: 1; color: rgb(229 231 235 / var(--tw-text-opacity)); @@ -3724,6 +3956,11 @@ footer .copyright { margin-right: 0px; } + .sm\:my-4 { + margin-top: 1rem; + margin-bottom: 1rem; + } + .sm\:my-8 { margin-top: 2rem; margin-bottom: 2rem; @@ -3765,14 +4002,14 @@ footer .copyright { display: none; } - .sm\:h-80 { - height: 20rem; - } - .sm\:h-auto { height: auto; } + .sm\:h-80 { + height: 20rem; + } + .sm\:h-56 { height: 14rem; } @@ -3781,30 +4018,34 @@ footer .copyright { width: auto; } - .sm\:w-2\/5 { - width: 40%; - } - .sm\:w-3\/5 { width: 60%; } + .sm\:w-2\/5 { + width: 40%; + } + .sm\:w-full { width: 100%; } - .sm\:max-w-none { - max-width: none; - } - .sm\:max-w-xs { max-width: 20rem; } + .sm\:max-w-none { + max-width: none; + } + .sm\:flex-1 { flex: 1 1 0%; } + .sm\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -3829,12 +4070,20 @@ footer .copyright { justify-content: flex-end; } + .sm\:gap-4 { + gap: 1rem; + } + .sm\:gap-6 { gap: 1.5rem; } - .sm\:gap-4 { - gap: 1rem; + .sm\:gap-y-6 { + row-gap: 1.5rem; + } + + .sm\:gap-y-4 { + row-gap: 1rem; } .sm\:divide-y-0 > :not([hidden]) ~ :not([hidden]) { @@ -3881,6 +4130,16 @@ footer .copyright { padding: 1rem; } + .sm\:px-28 { + padding-left: 7rem; + padding-right: 7rem; + } + + .sm\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .sm\:px-4 { padding-left: 1rem; padding-right: 1rem; @@ -3899,16 +4158,16 @@ footer .copyright { text-align: left; } - .sm\:text-2xl { - font-size: 1.5rem; - line-height: 2rem; - } - .sm\:text-base { font-size: 1rem; line-height: 1.5rem; } + .sm\:text-2xl { + font-size: 1.5rem; + line-height: 2rem; + } + .sm\:text-xl { font-size: 1.25rem; line-height: 1.75rem; @@ -3924,18 +4183,18 @@ footer .copyright { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } - .sm\:shadow-none { - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); - } - .sm\:shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } + .sm\:shadow-none { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } + @media (prefers-color-scheme: dark) { .sm\:dark\:border-2 { border-width: 2px; @@ -3983,10 +4242,31 @@ footer .copyright { width: 50%; } + .md\:flex-grow { + flex-grow: 1; + } + + .md\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } + .md\:flex-row { + flex-direction: row; + } + + .md\:gap-y-0 { + row-gap: 0px; + } + + .md\:gap-x-2 { + -moz-column-gap: 0.5rem; + column-gap: 0.5rem; + } + .md\:self-start { align-self: flex-start; } @@ -4056,6 +4336,18 @@ footer .copyright { width: 40%; } + .lg\:flex-grow-0 { + flex-grow: 0; + } + + .lg\:grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .lg\:justify-end { + justify-content: flex-end; + } + .lg\:p-4 { padding: 1rem; } @@ -4096,14 +4388,14 @@ footer .copyright { height: 24rem; } - .xl\:w-1\/4 { - width: 25%; - } - .xl\:w-2\/5 { width: 40%; } + .xl\:w-1\/4 { + width: 25%; + } + .xl\:w-7\/12 { width: 58.333333%; } @@ -4112,6 +4404,10 @@ footer .copyright { width: 33.333333%; } + .xl\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } @@ -4126,6 +4422,10 @@ footer .copyright { width: 25%; } + .\32xl\:grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + .\32xl\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } diff --git a/fet2020/static/img/cover-image.jpeg b/fet2020/static/img/cover-image.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6a6a35cb0c452fad2952eeca9a1458641c14b3ca GIT binary patch literal 52936 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 z z)s7uegs8zv60z6yf?*xwPkf95);J|f*q3Ins4S}1FQkAV?wILJ^@uEhffPeOvfw^W zg?95S60-{q#%E!ee0EJX)q3`5B-UHwz9y(?5ZQ9aS#reTY7kel<(OL}iHwI-0xL9y zvrjLwVoHMaz(r<_W9*n&6Rq`!%6lX46+@*hbMI6jY^fb8b%W&{C@Hss2`ULuYknXj ztSw>IXgq08OoG&q448sUlhf~suWJMWRYat?OGzC^l~sM3gy}hmjIY)tF%mFTXwt@A zJY)e5wCYrR;{Kttp4R7Jzc{cGpb!$(rqcW$#5k0D1LuiH0F6V&-qBP&nRzPSpOQRb z%)Y2kkp8cs^&`&+dR@{!^g3Z|*D0vnuh$U7sl}}DzJ!p( z<*jE^4`x4Q^&Leknv;)={8so{8<1vaV;((2Xl||grtoC%joBq57joyv5giBb2GXIZ zvxZ)t-8K6gdZEP65GX)~MXWla))Xk} z$4Zga2!yO~UXb8ZYa!K_sTg(P*MSYk>riQ=k4nCk;UNVDLT#k+q>rRmho0R!Nfd`z zXX#k-xvVU>$$MCIg{)q^ zAhQIUmLq3WI-wlprW$UQK#7Qh6w7PMD$lTev0o9|2gh^8ezz)Bf?jHpGh1))9eh6DK z*(M<0-Co{c>zK|12jbYU!Ls{#NtOUlC9x@~6kpz_+66_F;V5DFlDt0B< zAhjoy8CdGTRHSJ4X()4tWlg116Pe~L9WHpqL{L7YPvak2hwOGbUFz%;^BvQSP7c%zfzGB|{N( ziBpt>#ea?3E}YKb>sR=V(jp=uE3v%aV^lDX& zO*7@JY{|rpOO7=4g{vL%F3tW>h?E>k5zy=5Z-&-7v(^Ce92z)*3w(7$hX6{44jcoA z1qfg`bwMi#W&udUf({i6Sm1+!92^=r6zYc=295yX!J~jUaA@HJhX#%S>cWN&0Q!Q| zBOD5lh(_h=m8M2GaH2%tB0YM7)IuS`2`URvh;RjWLvwh)Ab87}W7$UyRmUJj&6n($ zef!>U9T1KY)~QT&Vj;pblyHb}2}cNr0HsLLEz+q(?zq*K!cA7nUHVSB8T-NL1A-XH!rZQn8_-+x zqh@9&94(g`sff(Q;lnM4F1}tNT-;e1-^2}$1Ozu1uUKWGf#Jfa9Y^X{gOv>2LJcat zy_mkRXmEfcAX3wIXj-c6kHR$x69{!^%kX~yTyOzp2$dFEvHe4i9VpcwOcWd{D5a$7 z-w!7BlzlO5a0;k7yW&{{qkuyvEF_|Fz#x=$LUF*Vt6YVP*RU!(9cReRU0?PBql89M zHkWqIZM2oJy|oVi0B70(ikqbJZRhBzwD5y;b^H z7`Etu|Q)&Br;FAfD(vx=Wb zZ@K>fP)V8McUOpLN;oAESj29R63|;1jnm>;5)KeWVG+8#OCF3aWqWnI!Nd9yAm9<^ zS5jWubzMtU_$`NKZ+~~!s16(gCBb|uFQ|9>0wM~}_lVA}BuqF&G~t`szugXp6f=7# LcxOir1%Ln94tuC! literal 0 HcmV?d00001 diff --git a/fet2020/static/js/scripts.js b/fet2020/static/js/scripts.js index 7424fba1..813d2813 100644 --- a/fet2020/static/js/scripts.js +++ b/fet2020/static/js/scripts.js @@ -8,13 +8,19 @@ if(cookieSet("InfoBoxHidden")){ element.classList.toggle("hidden"); } -function hideInfoBox(){ - let element = document.getElementById("infoBox"); - element.classList.toggle("hidden"); - - let exMinutes = 2; // Gültigkeit des Cookies in Tagen +function hideInfoBox(daysOrMonth, duration){ + // Eingabe überprüfen, ob es eine Zahl ist + if(isNaN(duration)) { + duration = 2; + } + + let factor = 1; + // Zeitraum überprüfen, ob er in Tagen ist + if(daysOrMonth === 'd') { + factor = 24*60; + } const d = new Date(); - d.setTime(d.getTime() + (exMinutes*60*1000)); + d.setTime(d.getTime() + (duration*factor*60*1000)); let expires = "expires="+ d.toUTCString(); document.cookie = "InfoBoxHidden=true; expires=" + expires + ";path=/;SameSite=Strict"; } @@ -33,4 +39,4 @@ function cookieSet(cname) { } } return false; -} +} \ No newline at end of file diff --git a/fet2020/static/js/vendor.js b/fet2020/static/js/vendor.js index 98a45b9e..a18d24fa 100644 --- a/fet2020/static/js/vendor.js +++ b/fet2020/static/js/vendor.js @@ -1,20 +1,15 @@ (() => { - // node_modules/alpinejs/dist/module.esm.js var __create = Object.create; var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); - var __commonJS = (callback, module) => () => { - if (!module) { - module = { exports: {} }; - callback(module.exports, module); - } - return module.exports; + var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; - var __exportStar = (target, module, desc) => { + var __reExport = (target, module, desc) => { if (module && typeof module === "object" || typeof module === "function") { for (let key of __getOwnPropNames(module)) if (!__hasOwnProp.call(target, key) && key !== "default") @@ -23,9 +18,179 @@ return target; }; var __toModule = (module) => { - return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); + return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); }; - var require_shared_cjs = __commonJS((exports) => { + + // node_modules/@three11/scrollspy/dist/scrollspy.min.js + var require_scrollspy_min = __commonJS({ + "node_modules/@three11/scrollspy/dist/scrollspy.min.js"(exports, module) { + !function(e, t) { + typeof exports == "object" && typeof module != "undefined" ? module.exports = t() : typeof define == "function" && define.amd ? define(t) : (e = typeof globalThis != "undefined" ? globalThis : e || self).ScrollSpy = t(); + }(exports, function() { + "use strict"; + function e(e2, t2) { + var n2 = Object.keys(e2); + if (Object.getOwnPropertySymbols) { + var r2 = Object.getOwnPropertySymbols(e2); + t2 && (r2 = r2.filter(function(t3) { + return Object.getOwnPropertyDescriptor(e2, t3).enumerable; + })), n2.push.apply(n2, r2); + } + return n2; + } + function t(t2) { + for (var n2 = 1; n2 < arguments.length; n2++) { + var r2 = arguments[n2] != null ? arguments[n2] : {}; + n2 % 2 ? e(Object(r2), true).forEach(function(e2) { + i(t2, e2, r2[e2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t2, Object.getOwnPropertyDescriptors(r2)) : e(Object(r2)).forEach(function(e2) { + Object.defineProperty(t2, e2, Object.getOwnPropertyDescriptor(r2, e2)); + }); + } + return t2; + } + function n(e2, t2) { + if (!(e2 instanceof t2)) + throw new TypeError("Cannot call a class as a function"); + } + function r(e2, t2) { + for (var n2 = 0; n2 < t2.length; n2++) { + var r2 = t2[n2]; + r2.enumerable = r2.enumerable || false, r2.configurable = true, "value" in r2 && (r2.writable = true), Object.defineProperty(e2, r2.key, r2); + } + } + function i(e2, t2, n2) { + return t2 in e2 ? Object.defineProperty(e2, t2, { value: n2, enumerable: true, configurable: true, writable: true }) : e2[t2] = n2, e2; + } + function o(e2) { + return function(e3) { + if (Array.isArray(e3)) + return s(e3); + }(e2) || function(e3) { + if (typeof Symbol != "undefined" && e3[Symbol.iterator] != null || e3["@@iterator"] != null) + return Array.from(e3); + }(e2) || function(e3, t2) { + if (!e3) + return; + if (typeof e3 == "string") + return s(e3, t2); + var n2 = Object.prototype.toString.call(e3).slice(8, -1); + n2 === "Object" && e3.constructor && (n2 = e3.constructor.name); + if (n2 === "Map" || n2 === "Set") + return Array.from(e3); + if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2)) + return s(e3, t2); + }(e2) || function() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + }(); + } + function s(e2, t2) { + (t2 == null || t2 > e2.length) && (t2 = e2.length); + for (var n2 = 0, r2 = new Array(t2); n2 < t2; n2++) + r2[n2] = e2[n2]; + return r2; + } + typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" && self; + var a = function(e2, t2) { + return e2(t2 = { exports: {} }, t2.exports), t2.exports; + }(function(e2, t2) { + var n2, r2, i2; + e2.exports = (n2 = window, r2 = { easeOutSine: function(e3) { + return Math.sin(e3 * (Math.PI / 2)); + }, easeInOutSine: function(e3) { + return -0.5 * (Math.cos(Math.PI * e3) - 1); + }, easeInOutQuint: function(e3) { + return (e3 /= 0.5) < 1 ? 0.5 * Math.pow(e3, 5) : 0.5 * (Math.pow(e3 - 2, 5) + 2); + } }, i2 = n2.requestAnimationFrame || n2.webkitRequestAnimationFrame || n2.mozRequestAnimationFrame || function(e3) { + n2.setTimeout(e3, 1e3 / 60); + }, function() { + var e3 = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 0, t3 = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : n2, o2 = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 2e3, s2 = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : "easeOutSine", a2 = 0, u = t3.scrollY || document.documentElement.scrollTop, c = Math.max(0.1, Math.min(Math.abs(u - e3) / o2, 0.8)); + !function n3() { + var o3 = (a2 += 1 / 60) / c, l = r2[s2](o3), f = o3 < 1 ? u + (e3 - u) * l : e3; + o3 < 1 && i2(n3), t3.scrollTo(0, f); + }(); + }); + }); + return function() { + function e2() { + var r2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + n(this, e2); + var i3 = t({ linkCurrentClass: "current", linksContainerSelector: ".js-scroll-spy-nav", sectionSelector: ".js-scroll-spy-section", headerOffset: true, headerClass: ".c-header" }, r2); + return this.init(i3), window.addEventListener("load", this.refreshPositions.bind(this)), window.addEventListener("resize", this.refreshPositions.bind(this)), this; + } + var i2, s2, u; + return i2 = e2, (s2 = [{ key: "init", value: function(e3) { + this.setProperties(e3), this.getSectionData(), this.getCurrentSectionIndex(), this.setCurrentState(), this.bindEvents(); + } }, { key: "setProperties", value: function(e3) { + var t2 = document; + this.linksContainerSelector = e3.linksContainerSelector, this.sectionSelector = e3.sectionSelector, this.linksContainer = t2.querySelector(this.linksContainerSelector), this.links = o(this.linksContainer.querySelectorAll("a")), this.sections = o(t2.querySelectorAll(this.sectionSelector)), this.headerOffset = e3.headerOffset, this.headerClass = e3.headerClass, this.linkCurrentClass = e3.linkCurrentClass, this.currentIdx = 0, this.data = { offsets: [], ids: [] }; + } }, { key: "getSectionData", value: function() { + var e3 = this; + this.sections.forEach(function(t2) { + e3.data.ids.push(t2.getAttribute("id")), e3.data.offsets.push(e3.getSectionOffset(t2)); + }); + } }, { key: "refreshPositions", value: function() { + var e3 = this; + this.data.offsets = this.data.offsets.map(function(t2, n2) { + return e3.getSectionOffset(e3.sections[n2]); + }); + } }, { key: "getSectionOffset", value: function(e3) { + return this.headerOffset ? e3.offsetTop - document.querySelector(this.headerClass).offsetHeight : e3.offsetTop; + } }, { key: "getCurrentSectionIndex", value: function() { + var e3 = this, t2 = window.pageYOffset; + this.data.offsets.forEach(function(n2, r2) { + var i3 = e3.data.offsets[r2 + 1]; + (t2 >= n2 && t2 < i3 || t2 >= n2 && i3 === void 0) && (e3.currentIdx = r2); + }), this.setCurrentState(); + } }, { key: "setCurrentState", value: function() { + var e3 = this; + document.querySelector(this.linksContainerSelector).querySelectorAll(".".concat(this.linkCurrentClass)).forEach(function(t2) { + return t2.classList.remove(e3.linkCurrentClass); + }), this.links[this.currentIdx].parentNode.classList.add(this.linkCurrentClass); + } }, { key: "scrollToCurrentSection", value: function() { + a(this.data.offsets[this.currentIdx]); + } }, { key: "bindEvents", value: function() { + var e3 = this, t2 = window; + this.links.forEach(function(t3, n2) { + t3.addEventListener("click", function(t4) { + t4.preventDefault(), e3.currentIdx = n2, e3.scrollToCurrentSection(); + }); + }), t2.addEventListener("scroll", function(t3) { + e3.getCurrentSectionIndex(); + }); + } }]) && r(i2.prototype, s2), u && r(i2, u), e2; + }(); + }); + } + }); + + // node_modules/alpinejs/dist/module.esm.js + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __markAsModule2 = (target) => __defProp2(target, "__esModule", { value: true }); + var __commonJS2 = (callback, module) => () => { + if (!module) { + module = { exports: {} }; + callback(module.exports, module); + } + return module.exports; + }; + var __exportStar = (target, module, desc) => { + if (module && typeof module === "object" || typeof module === "function") { + for (let key of __getOwnPropNames2(module)) + if (!__hasOwnProp2.call(target, key) && key !== "default") + __defProp2(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc2(module, key)) || desc.enumerable }); + } + return target; + }; + var __toModule2 = (module) => { + return __exportStar(__markAsModule2(__defProp2(module != null ? __create2(__getProtoOf2(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); + }; + var require_shared_cjs = __commonJS2((exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function makeMap(str, expectsLowerCase) { @@ -426,7 +591,7 @@ exports.toRawType = toRawType; exports.toTypeString = toTypeString; }); - var require_shared = __commonJS((exports, module) => { + var require_shared = __commonJS2((exports, module) => { "use strict"; if (false) { module.exports = null; @@ -434,7 +599,7 @@ module.exports = require_shared_cjs(); } }); - var require_reactivity_cjs = __commonJS((exports) => { + var require_reactivity_cjs = __commonJS2((exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var shared = require_shared(); @@ -1239,7 +1404,7 @@ exports.triggerRef = triggerRef; exports.unref = unref; }); - var require_reactivity = __commonJS((exports, module) => { + var require_reactivity = __commonJS2((exports, module) => { "use strict"; if (false) { module.exports = null; @@ -2460,7 +2625,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); data }; var alpine_default = Alpine; - var import_reactivity9 = __toModule(require_reactivity()); + var import_reactivity9 = __toModule2(require_reactivity()); magic("nextTick", () => nextTick); magic("dispatch", (el) => dispatch.bind(dispatch, el)); magic("watch", (el) => (key, callback) => { @@ -3281,7 +3446,133 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); } var module_default2 = src_default2; + // node_modules/@alpinejs/collapse/dist/module.esm.js + function src_default3(Alpine2) { + Alpine2.directive("collapse", (el, { expression, modifiers }, { effect: effect2, evaluateLater: evaluateLater2 }) => { + let duration = modifierValue2(modifiers, "duration", 250) / 1e3; + let floor = 0; + if (!el._x_isShown) + el.style.height = `${floor}px`; + if (!el._x_isShown) + el.hidden = true; + if (!el._x_isShown) + el.style.overflow = "hidden"; + let setFunction = (el2, styles) => { + let revertFunction = Alpine2.setStyles(el2, styles); + return styles.height ? () => { + } : revertFunction; + }; + let transitionStyles = { + transitionProperty: "height", + transitionDuration: `${duration}s`, + transitionTimingFunction: "cubic-bezier(0.4, 0.0, 0.2, 1)" + }; + el._x_transition = { + in(before = () => { + }, after = () => { + }) { + el.hidden = false; + el.style.display = null; + let current = el.getBoundingClientRect().height; + el.style.height = "auto"; + let full = el.getBoundingClientRect().height; + if (current === full) { + current = floor; + } + Alpine2.transition(el, Alpine2.setStyles, { + during: transitionStyles, + start: { height: current + "px" }, + end: { height: full + "px" } + }, () => el._x_isShown = true, () => { + if (el.style.height == `${full}px`) { + el.style.overflow = null; + } + }); + }, + out(before = () => { + }, after = () => { + }) { + let full = el.getBoundingClientRect().height; + Alpine2.transition(el, setFunction, { + during: transitionStyles, + start: { height: full + "px" }, + end: { height: floor + "px" } + }, () => el.style.overflow = "hidden", () => { + el._x_isShown = false; + if (el.style.height == `${floor}px`) { + el.style.display = "none"; + el.hidden = true; + } + }); + } + }; + }); + } + function modifierValue2(modifiers, key, fallback) { + if (modifiers.indexOf(key) === -1) + return fallback; + const rawValue = modifiers[modifiers.indexOf(key) + 1]; + if (!rawValue) + return fallback; + if (key === "duration") { + let match = rawValue.match(/([0-9]+)ms/); + if (match) + return match[1]; + } + return rawValue; + } + var module_default3 = src_default3; + + // node_modules/@alpinejs/persist/dist/module.esm.js + function src_default4(Alpine2) { + let persist = () => { + let alias; + let storage = localStorage; + return Alpine2.interceptor((initialValue, getter, setter, path, key) => { + let lookup = alias || `_x_${path}`; + let initial = storageHas(lookup, storage) ? storageGet(lookup, storage) : initialValue; + setter(initial); + Alpine2.effect(() => { + let value = getter(); + storageSet(lookup, value, storage); + setter(value); + }); + return initial; + }, (func) => { + func.as = (key) => { + alias = key; + return func; + }, func.using = (target) => { + storage = target; + return func; + }; + }); + }; + Object.defineProperty(Alpine2, "$persist", { get: () => persist() }); + Alpine2.magic("persist", persist); + } + function storageHas(key, storage) { + return storage.getItem(key) !== null; + } + function storageGet(key, storage) { + return JSON.parse(storage.getItem(key, storage)); + } + function storageSet(key, value, storage) { + storage.setItem(key, JSON.stringify(value)); + } + var module_default4 = src_default4; + // dev/bundle.jsx + var import_scrollspy = __toModule(require_scrollspy_min()); module_default.plugin(module_default2); + module_default.plugin(module_default3); + module_default.plugin(module_default4); module_default.start(); + var scrollSpy = new import_scrollspy.default({ + linkCurrentClass: "active", + linksContainerSelector: ".scrollSpyNav", + sectionSelector: ".members-article", + headerOffset: false, + headerClass: ".sideBarNav" + }); })(); diff --git a/fet2020/templates/home.html b/fet2020/templates/home.html index b784d96d..88d28eb0 100644 --- a/fet2020/templates/home.html +++ b/fet2020/templates/home.html @@ -5,7 +5,7 @@ {% block content %} -

+

@@ -83,8 +83,14 @@

-
-
+ {% endblock %} diff --git a/fet2020/templates/members/partials/_jobs_side_bar.html b/fet2020/templates/members/partials/_jobs_side_bar.html index 0f88b5b9..4e10986a 100644 --- a/fet2020/templates/members/partials/_jobs_side_bar.html +++ b/fet2020/templates/members/partials/_jobs_side_bar.html @@ -5,7 +5,7 @@ {% if job.slug == active_job_group.slug %} {% regroup job_members by job.name as all_jobmem_list %} -