diff --git a/src/App.jsx b/src/App.jsx index abb6a65..7db6ec7 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -54,6 +54,7 @@ export default function App() {
setFlipped((v) => !v)} - aria-pressed={flipped} - aria-label={`${category} category card`} + aria-expanded={flipped} + aria-description={category} > -
-
- -
- -
- {/* IMPORTANT: pass the raw image path, not url(...) */} -
-
-

{category}

-

{description}

+
+
+ +
+
+ {/* IMPORTANT: pass the raw image path, not url(...) */} +
+
+

{category}

+

{description}

+
+
-
-
); } diff --git a/src/page_components/Question.jsx b/src/page_components/Question.jsx index ec5abec..961e856 100644 --- a/src/page_components/Question.jsx +++ b/src/page_components/Question.jsx @@ -2,9 +2,9 @@ import "../style/style.css"; function Question({ question, side, onClickEvent, classic}) { return ( -
+
+ ); } diff --git a/src/pages/FAQ.jsx b/src/pages/FAQ.jsx index 4ecf2ae..758212f 100644 --- a/src/pages/FAQ.jsx +++ b/src/pages/FAQ.jsx @@ -19,11 +19,11 @@ function FAQ() {
{qa.map((item, idx) => ( - setSelected(item)}/> + setSelected(item)}/> ))}
- + {selected?.link ? ( {selected.linktext} diff --git a/src/pages/Hero.jsx b/src/pages/Hero.jsx index a25f8d2..a63c0e0 100644 --- a/src/pages/Hero.jsx +++ b/src/pages/Hero.jsx @@ -44,7 +44,7 @@ function Hero() {
{/* gives space on right so you can see widget */}
-
+

Countdown to WiCHacks 2026

{isLive ? (
We're live!
diff --git a/src/pages/Sponsors.jsx b/src/pages/Sponsors.jsx index 9acd325..f5e68cc 100644 --- a/src/pages/Sponsors.jsx +++ b/src/pages/Sponsors.jsx @@ -10,16 +10,16 @@ import sg from "../assets/sponsors/student-gov.png"; import wegmans from "../assets/sponsors/wegmans.png"; const sponsors = [ - { image: csl, link: "https://www.csl.com/careers/early-careers-at-csl" }, - { image: mandt}, - { image: capitalone, link: "https://www.capitalonecareers.com/students" }, - { image: kodak}, - { image: mindex}, + { label: "CSL", image: csl, link: "https://www.csl.com/careers/early-careers-at-csl" }, + { label: "M and T Tech", image: mandt}, + { label: "Capitalone", image: capitalone, link: "https://www.capitalonecareers.com/students" }, + { label: "Kodak", image: kodak}, + { label: "Mindex", image: mindex}, // magic, student gov, & mlh are supporters - { image: magic }, - { image: mlh }, - { image: sg }, - { image: wegmans }, + { label: "Magic Spell Studios", image: magic }, + { label: "Major League Hacking", image: mlh }, + { label: "RIT Student Government", image: sg }, + { label: "Wegmans", image: wegmans }, ]; const sponsor_rows = [1, 4, 4]; @@ -54,7 +54,7 @@ function Sponsors() {
{`sponsor-${rowIndex}-${index}`}
@@ -66,6 +66,7 @@ function Sponsors() { href={sponsor.link} target="_blank" rel="noopener noreferrer" + aria-label={sponsor.label} > {content}
diff --git a/src/style/style.css b/src/style/style.css index abde3d1..3153844 100644 --- a/src/style/style.css +++ b/src/style/style.css @@ -160,6 +160,12 @@ section { overflow: visible; } +@media (prefers-reduced-transparency: reduce) { + .navbar { + background: rgb(112, 73, 159); + } +} + .nav-inner { height: 100%; display: flex; @@ -223,7 +229,8 @@ section { transform: scaleX(0); transition: transform 180ms ease; } -.nav-links li a:hover { +.nav-links li a:hover, +.nav-links li a:focus-visible { background: rgba(255, 255, 255, 0.12); transform: translateY(-1px); } @@ -235,13 +242,34 @@ section { display: flex; align-items: center; gap: 16px; + margin-right: 132px; +} + +.nav-icons .nav-icon { + border-radius: 12px; + display: block; + height: min-content; + transition: background 160ms ease, transform 160ms ease; +} + +.nav-icons .nav-icon:hover, +.nav-icons .nav-icon:focus-visible { + background: rgba(255, 255, 255, 0.12); +} + +.nav-icons a:hover, +.nav-icons a:focus-visible { + transform: translateY(-1px); +} + +#instagram-nav-item { + padding: 6px 6px 2px; } .nav-icon svg { width: 36px; height: 36px; color: white; - margin-right: 120px; } .mlh-banner { @@ -252,6 +280,7 @@ section { margin: 0; background: transparent; z-index: 1001; + padding: 0 6px; } .mlh-banner img { display: block; @@ -283,6 +312,13 @@ section { display: flex; } } +@media (max-width: 750px) and (prefers-reduced-transparency: reduce) { + .nav-links { + background: rgb(112, 73, 159); + -webkit-backdrop-filter: none; + backdrop-filter: none; + } +} @media (max-width: 900px) { .mlh-banner { right: 16px; @@ -292,8 +328,8 @@ section { min-width: 0; max-width: 80px; } - .nav-icon svg { - margin-right: 90px; + .nav-icons { + margin-right: 95px; } } #hero { @@ -408,7 +444,6 @@ section { } .hero-devpost-link a { text-decoration: none; - width: 100%; display: flex; justify-content: center; } @@ -431,7 +466,9 @@ section { font-weight: 700; transition: background 1s ease, transform 120ms ease; } -.hero-devpost-link .button:hover { + +.hero-devpost-link .button:hover, +.hero-devpost-link a:focus-visible .button { background: rgba(33, 35, 60, 0.85); transform: translateY(-1px); } @@ -472,6 +509,26 @@ section { pointer-events: none; } } + +@media (prefers-reduced-transparency: reduce) { + .hero-devpost-link::before { + background: rgb(112, 73, 159); + } + + .hero-devpost-link h3 { + margin: 0 0 50px 0; + color: white; + } + + .hero-devpost-link .button { + background: rgb(59, 60, 116); + } + .hero-devpost-link .button:hover, + .hero-devpost-link a:focus-visible .button { + background: rgba(33, 35, 60); + } +} + .hero-spacer { grid-area: middle-right; } @@ -492,6 +549,15 @@ section { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); } + +@media (prefers-reduced-transparency: reduce) { + .countdown { + background: rgb(59, 60, 116); + -webkit-backdrop-filter: none; + backdrop-filter: none; + } +} + .countdown h2 { margin-bottom: 0.75rem; color: white; @@ -591,7 +657,6 @@ html, body { font-family: "Montserrat", sans-serif; font-weight: 700; color: white; - text-shadow: 0 0 8px rgba(48, 25, 52, 0.9); max-width: 22ch; text-align: center; } @@ -608,7 +673,6 @@ html, body { text-align: center; width: min(260px, 100%); padding: 14px 18px; - background: rgba(112, 73, 159, 0.85); color: white; border-radius: 999px; letter-spacing: 1.6px; @@ -627,7 +691,6 @@ html, body { position: absolute; width: min(320px, 92vw); height: min(320px, 92vw); - background: rgba(112, 73, 159, 0.28); mask-image: url("../assets/flower-outline.svg"); mask-repeat: no-repeat; mask-position: center; @@ -652,7 +715,6 @@ html, body { width: 100%; max-width: 360px; margin: 0 auto; - background: rgba(59, 60, 116, 0.45); border-radius: 14px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); @@ -787,8 +849,9 @@ html, body { text-decoration: underline; font-weight: 600; } -.about-right a:hover, .about-right a:focus-visible { - opacity: 0.85; +.about-right a:hover, +.about-right a:focus-visible { + color: #9563d3; } .about-right p a + a { @@ -867,6 +930,12 @@ html, body { border-radius: 16px; } +@media (prefers-reduced-motion: reduce) { + .category-inner { + transition: none; + } +} + .category-card.is-flipped .category-inner { transform: rotateY(180deg); } @@ -1125,13 +1194,14 @@ html, body { margin-bottom: 5vh; } -.question { +.questions .question { width: min(92%, 520px); display: flex; justify-content: center; align-items: center; + cursor: pointer; } -.question h3 { +.questions .question h3 { width: 100%; text-align: center; margin: 0; @@ -1142,6 +1212,12 @@ html, body { font-weight: 700; color: white; text-shadow: 0 0 10px #3B3C74; + transition: text-shadow 0.1s linear; +} +.questions .question:hover h3, +.questions .question:focus-visible h3 { + text-shadow: 0 0 12px #080938; + text-decoration: underline; } .answer { @@ -1295,6 +1371,21 @@ html, body { transform: translateX(-50%); } } + +@media (prefers-reduced-motion: reduce) { + .team-marquee { + -webkit-mask-image: unset; + mask-image: unset; + } + + .team-track { + animation: none; + width: 100%; + flex-wrap: wrap; + justify-content: center; + } +} + .team-member { flex: 0 0 auto; font-size: 22px; @@ -1378,14 +1469,20 @@ html, body { .sponsors p strong { font-weight: 600; } -.sponsors p a { +.sponsors a { color: #70499F; text-decoration: underline; } +.sponsors a:hover, +.sponsors a:focus-visible { + color: #9563d3; +} + @keyframes wiggle { 0% { transform: rotate(0deg); + bottom: 0; } 25% { transform: rotate(3deg); @@ -1398,6 +1495,7 @@ html, body { } 100% { transform: rotate(0deg); + bottom: 5px; } } .sponsors-row { @@ -1409,14 +1507,44 @@ html, body { gap: 0rem; flex-wrap: nowrap; } +.sponsors-row div { + position: relative; +} .sponsors-row img { max-width: 300px; -o-object-fit: contain; object-fit: contain; margin-bottom: -20px; + transition: bottom 0.5s linear; + position: relative; + transform-origin: center; + bottom: 0; } -.sponsors-row img:hover, .sponsors-row img:focus { + +.sponsors-row img:hover, +.sponsors-row a:focus-visible img { animation: wiggle 0.5s ease-in-out; + bottom: 5px; +} + +.sponsors-row .sponsor-box::after, +.sponsors-row a .sponsor-box::after { + content: ""; + display: block; + position: absolute; + width: 60%; + margin: 0 20%; + height: 10%; + background-image: radial-gradient(closest-side, #000, #0000); + border-radius: 100%; + z-index: -1; + opacity: 0; + transition: opacity 0.5s linear; +} + +.sponsors-row .sponsor-box:hover::after, +.sponsors-row a:focus-visible .sponsor-box::after { + opacity: 1; } .sponsors-text { @@ -1456,6 +1584,14 @@ html, body { border-radius: 12px; } +@media (prefers-reduced-motion: reduce) { + .sponsors-row img:hover, + .sponsors-row a:focus-visible img { + animation: none; + bottom: 0; + } +} + @media (max-width: 800px) { .sponsors-container img { max-width: 250px;