diff --git a/frontend/src/app/pages/landing-page/embedded-federations/embedded-federations.component.html b/frontend/src/app/pages/landing-page/embedded-federations/embedded-federations.component.html index 9bd33c9..9f69f08 100644 --- a/frontend/src/app/pages/landing-page/embedded-federations/embedded-federations.component.html +++ b/frontend/src/app/pages/landing-page/embedded-federations/embedded-federations.component.html @@ -1,7 +1,7 @@
MIP network map
-Access global pathology research networks. Connect with decentralized datasets across leading institutions for secure, collaborative analysis. diff --git a/frontend/src/app/pages/shared/footer/footer.component.css b/frontend/src/app/pages/shared/footer/footer.component.css index 6c17f8b..24ba7eb 100644 --- a/frontend/src/app/pages/shared/footer/footer.component.css +++ b/frontend/src/app/pages/shared/footer/footer.component.css @@ -129,8 +129,8 @@ } .chuv-link { - opacity: 0.62; - filter: grayscale(1) brightness(0.9) contrast(1.05); + opacity: 0.72; + filter: none; } .chuv-link:hover, @@ -147,8 +147,8 @@ } .chuv-logo { - max-height: 42px; - max-width: 54px; + max-height: 24px; + max-width: 132px; } .athena-logo { @@ -158,14 +158,54 @@ max-height: 28px; } -.footer-funding-badge { - display: flex; - align-items: center; - gap: 16px; +.footer-funding-section { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.08); } +.footer-funding-title { + margin-bottom: 16px; +} + +.footer-funding-logos { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 18px; +} + +.footer-funding-item { + position: relative; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + min-width: 0; +} + +.footer-funding-item:focus-visible { + outline: 2px solid rgba(127, 156, 232, 0.48); + outline-offset: 6px; + border-radius: 8px; +} + +.footer-funding-visual { + display: inline-flex; + align-items: center; + justify-content: flex-start; + gap: 12px; + width: auto; + min-height: 0; + padding: 0; + border: none; + border-radius: 0; + background: transparent; + box-shadow: none; +} + +.footer-funding-visual-seri { + align-items: flex-start; +} + .footer-funding-flag { width: 56px; height: 38px; @@ -177,26 +217,96 @@ box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22); } -.footer-funding { +.footer-funding-box-name { + display: block; margin: 0; - display: flex; - flex-direction: column; - gap: 2px; - line-height: 1.45; + max-width: 17ch; + font-size: 0.84rem; + font-weight: 600; + line-height: 1.35; + color: rgba(255, 255, 255, 0.92); +} + +.footer-funding-box-name-seri { + max-width: 16ch; + font-size: 0.78rem; + line-height: 1.32; } -.footer-funding span:first-child { - font-size: 0.72rem; +.footer-funding-item:hover .footer-funding-box-name, +.footer-funding-item:focus-visible .footer-funding-box-name { + color: #fff; +} + +.seri-mark { + display: inline-flex; + align-items: center; + gap: 0; + min-width: 0; + flex-shrink: 0; +} + +.seri-mark-flag { + width: 24px; + height: 24px; + border-radius: 6px; + background: + linear-gradient(90deg, transparent 39%, #fff 39%, #fff 61%, transparent 61%), + linear-gradient(180deg, transparent 39%, #fff 39%, #fff 61%, transparent 61%), + #d52b1e; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 6px 12px rgba(0, 0, 0, 0.14); +} + +.footer-funding-tooltip { + position: absolute; + left: 0; + bottom: calc(100% + 12px); + width: min(420px, calc(100vw - 48px)); + padding: 16px 18px; + border: 1px solid rgba(127, 156, 232, 0.24); + border-radius: 14px; + background: rgba(7, 13, 24, 0.98); + box-shadow: 0 18px 36px rgba(0, 0, 0, 0.36); + opacity: 0; + pointer-events: none; + transform: translateY(6px); + transition: opacity 0.18s ease, transform 0.18s ease; + z-index: 3; +} + +.footer-tooltip-title { + margin: 0 0 8px; + font-size: 0.67rem; font-weight: 700; - letter-spacing: 0.14em; + letter-spacing: 0.12em; text-transform: uppercase; - color: rgba(255, 255, 255, 0.46); + color: rgba(127, 156, 232, 0.86); } -.footer-funding span:last-child { - font-size: 0.98rem; - font-weight: 600; - color: rgba(255, 255, 255, 0.92); +.footer-tooltip-text { + margin: 0; + color: rgba(255, 255, 255, 0.9); + font-size: 0.83rem; + line-height: 1.6; +} + +.footer-funding-tooltip::after { + content: ''; + position: absolute; + left: 24px; + top: 100%; + width: 12px; + height: 12px; + background: rgba(7, 13, 24, 0.98); + border-right: 1px solid rgba(127, 156, 232, 0.24); + border-bottom: 1px solid rgba(127, 156, 232, 0.24); + transform: rotate(45deg) translateY(-6px); +} + +.footer-funding-item:hover .footer-funding-tooltip, +.footer-funding-item:focus-visible .footer-funding-tooltip { + opacity: 1; + transform: translateY(0); } .footer-bottom { @@ -224,6 +334,10 @@ border-left: none; border-top: 1px solid rgba(255, 255, 255, 0.08); } + + .footer-funding-logos { + grid-template-columns: 1fr; + } } @media (max-width: 768px) { @@ -241,11 +355,15 @@ border-top: 1px solid rgba(255, 255, 255, 0.08); } - .footer-funding-badge { - align-items: center; + .footer-funding-visual { + gap: 10px; } .footer-bottom { padding: 20px 24px 28px; } + + .footer-funding-tooltip { + width: min(320px, calc(100vw - 56px)); + } } diff --git a/frontend/src/app/pages/shared/footer/footer.component.html b/frontend/src/app/pages/shared/footer/footer.component.html index ae6544a..682a1af 100644 --- a/frontend/src/app/pages/shared/footer/footer.component.html +++ b/frontend/src/app/pages/shared/footer/footer.component.html @@ -24,21 +24,51 @@
-