diff --git a/public/images/meshkee-logo-white.png b/public/images/meshkee-logo-white.png new file mode 100644 index 0000000..a10ecd3 Binary files /dev/null and b/public/images/meshkee-logo-white.png differ diff --git a/src/app/globals.css b/src/app/globals.css index 8f408c2..7742c5b 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -77,3 +77,158 @@ body { .rich-content a { color: var(--color-primary); } + +.footer-bottom-bar { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.footer-bottom-site { + color: #9c9c9c; + font-size: 12px; +} + +.meshkee-credit { + position: relative; + display: inline-flex; + align-items: center; + gap: 10px; + padding: 6px 10px; + color: #9c9c9c; + text-decoration: none; + transition: color 0.3s cubic-bezier(0.22, 1, 0.36, 1); +} + +.meshkee-credit:hover { + color: #e0e0e0; + text-decoration: none; +} + +.meshkee-credit__frame { + position: absolute; + inset: 0; + pointer-events: none; +} + +.meshkee-credit__line { + position: absolute; + background: #777; + transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1); +} + +.meshkee-credit__line--l { + top: 0; + left: 0; + width: 1px; + height: 100%; + transform: scaleY(0); + transform-origin: top; + transition-delay: 0s; +} + +.meshkee-credit__line--b { + bottom: 0; + left: 0; + width: 100%; + height: 1px; + transform: scaleX(0); + transform-origin: left; + transition-delay: 0.14s; +} + +.meshkee-credit__line--r { + top: 0; + right: 0; + width: 1px; + height: 100%; + transform: scaleY(0); + transform-origin: bottom; + transition-delay: 0.28s; +} + +.meshkee-credit__line--t { + top: 0; + left: 0; + width: 100%; + height: 1px; + transform: scaleX(0); + transform-origin: right; + transition-delay: 0.42s; +} + +.meshkee-credit:hover .meshkee-credit__line--l, +.meshkee-credit:hover .meshkee-credit__line--r { + transform: scaleY(1); +} + +.meshkee-credit:hover .meshkee-credit__line--b, +.meshkee-credit:hover .meshkee-credit__line--t { + transform: scaleX(1); +} + +.meshkee-credit:not(:hover) .meshkee-credit__line--l { + transition-delay: 0.42s; +} + +.meshkee-credit:not(:hover) .meshkee-credit__line--b { + transition-delay: 0.28s; +} + +.meshkee-credit:not(:hover) .meshkee-credit__line--r { + transition-delay: 0.14s; +} + +.meshkee-credit:not(:hover) .meshkee-credit__line--t { + transition-delay: 0s; +} + +.meshkee-credit__logo { + position: relative; + display: block; + flex-shrink: 0; + width: auto; + height: 42px; + aspect-ratio: 1 / 1; + object-fit: contain; + opacity: 0.7; + transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1); +} + +.meshkee-credit:hover .meshkee-credit__logo { + opacity: 1; +} + +.meshkee-credit__text { + position: relative; + display: flex; + min-height: 42px; + flex-direction: column; + justify-content: center; + line-height: 1.25; +} + +.meshkee-credit__label { + font-size: 11px; +} + +.meshkee-credit__name { + color: #cfcfcf; + font-size: 13px; + font-weight: 600; + transition: color 0.3s cubic-bezier(0.22, 1, 0.36, 1); +} + +.meshkee-credit:hover .meshkee-credit__name { + color: #fff; +} + +@media only screen and (max-width: 575px) { + .footer-bottom-bar { + flex-direction: column; + justify-content: center; + text-align: center; + } +} diff --git a/src/components/CategoryRow.tsx b/src/components/CategoryRow.tsx index 4acdc9f..69a0074 100644 --- a/src/components/CategoryRow.tsx +++ b/src/components/CategoryRow.tsx @@ -11,9 +11,13 @@ export function CategoryRow() { href={category.href} className="flex items-center gap-3 rounded-2xl bg-page px-3 py-4" > - - - + {category.title} {category.subtitle} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 79eaa6c..8806d8e 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -4,7 +4,7 @@ import { consultants, navItems, site } from "@/data/site"; export function Footer() { return ( -