Skip to content

Freshers 2026 Campaign - #923

Open
gellowg wants to merge 35 commits into
mainfrom
freshers-2026
Open

Freshers 2026 Campaign#923
gellowg wants to merge 35 commits into
mainfrom
freshers-2026

Conversation

@gellowg

@gellowg gellowg commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Adds a new responsive Freshers 2026 landing page designed around the CSS brand, with editable content and events managed through Netlify CMS.

What changed outside of freshers campaign

  • Removed the old Ball promotional banners from standard page and post layouts.
  • Added new freshers promotional banner to standard page, post and merch layouts which can be toggled in _config.yml and is hidden on /freshers
  • Updated the shared navigation template to support image-based menu items.
  • Added a Freshers image item to the desktop and mobile navigation.

The new freshers campaign

  • Added a new /freshers landing page with:
    • Freshers campaign hero and group photo
    • Discord, WhatsApp, Instagram and Events calls to action
    • Responsive desktop and mobile layouts
    • Freshers countdown that removes itself when complete
    • Freshers activity marquee
    • Welcome, membership and “Who are we?” sections
    • Expandable FAQ section
    • Discord and WhatsApp footer calls to action
    • New freshers campaign artwork
  • Added a responsive Freshers events carousel containing:
    • Event title and cover image
    • Short event description
    • Location, date and time
    • Previous and next controls
    • Mobile swipe/scroll support
    • A link to the CSS Google Calendar
    • The full Freshers calendar artwork beneath the carousel
  • Added the initial 2026 Freshers events.
  • Added Netlify CMS support for:
    • Hero content and background image
    • Countdown date
    • Welcome and “Who are we?” content
    • Information cards
    • FAQs
    • Freshers calendar artwork
    • Creating, editing and deleting Freshers events

Notes

Some event details are currently marked as TBD and can be updated through Netlify CMS once confirmed.

gellowg added 28 commits August 20, 2026 21:20
…ers page - just using already implemented redirect instead
@gellowg
gellowg requested a review from a team as a code owner August 22, 2026 18:25
@github-actions github-actions Bot added the sync Keep this pr up to date with it's base branch automatically label Aug 22, 2026
@cssbhamdev
cssbhamdev enabled auto-merge (squash) August 22, 2026 18:25
@github-actions

Copy link
Copy Markdown

This pull request has been marked to automatically sync to its base branch. You can disable this behavior by removing the label.

@gellowg

gellowg commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

Deploy preview here: https://deploy-preview-923--cssbham.netlify.app

@MattyTheHacker

Copy link
Copy Markdown
Member

FAQ answers wrap unnecessarily
image

Comment thread freshers.html Outdated
Comment thread freshers.html
Comment thread freshers.html Outdated
Comment on lines +1 to +9
---
title: Scavenger Hunt
cover_image: /assets/images/inaction-css.jpg
image_alt: Computer Science Society members at a social event
description: Learn the lay of the campus with CSS' scavenger hunt, find study areas and food outlets around the uni. Find us at our stall from 10am — 4pm once you've completed it in the CS building for an exclusive Old Joe Tex sticker! Join up with up to 5 other people and have fun exploring!
location: Campus
date: 2026-09-21
start_time: "Self-guided throughout freshers' week"
--- No newline at end of file

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File name inconsistent with established convention

Comment thread css/freshers.scss
Comment on lines +272 to +353
.freshers-hero-art {
min-height: 430px;
}

.freshers-mascot-card {
position: absolute;
top: 50%;
left: 50%;
width: min(29vw, 390px);
aspect-ratio: 1;
padding: 22px;
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 38% 62% 58% 42% / 48% 38% 62% 52%;
background: linear-gradient(145deg, $purple, $purple-dark);
box-shadow: 0 40px 90px rgba(79, 40, 150, 0.42);
transform: translate(-50%, -50%) rotate(4deg);

img {
width: 100%;
max-height: none;
filter: drop-shadow(0 20px 18px rgba(0, 0, 0, 0.25));
transform: rotate(-4deg);
}
}

.freshers-float-card {
position: absolute;
z-index: 2;
padding: 12px 16px;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 999px;
color: $ink;
font-family: "JetBrains Mono", "Inconsolata", monospace;
font-weight: 700;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.freshers-float-socials {
top: 2%;
right: 0;
background: $yellow;
transform: rotate(5deg);
}

.freshers-float-tech {
bottom: 11%;
left: -5%;
background: $mint;
transform: rotate(-7deg);
}

.freshers-float-friends {
right: -2%;
bottom: 2%;
background: $coral;
transform: rotate(3deg);
}

.freshers-orb {
position: absolute;
z-index: 0;
border-radius: 50%;
filter: blur(1px);
opacity: 0.7;
}

.freshers-orb-one {
top: 10%;
right: 8%;
width: 180px;
height: 180px;
border: 42px solid rgba(105, 230, 194, 0.12);
}

.freshers-orb-two {
bottom: -140px;
left: 34%;
width: 330px;
height: 330px;
background: rgba(169, 104, 255, 0.12);
filter: blur(70px);
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Classes are not used and can be deleted.

Suggested change
.freshers-hero-art {
min-height: 430px;
}
.freshers-mascot-card {
position: absolute;
top: 50%;
left: 50%;
width: min(29vw, 390px);
aspect-ratio: 1;
padding: 22px;
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 38% 62% 58% 42% / 48% 38% 62% 52%;
background: linear-gradient(145deg, $purple, $purple-dark);
box-shadow: 0 40px 90px rgba(79, 40, 150, 0.42);
transform: translate(-50%, -50%) rotate(4deg);
img {
width: 100%;
max-height: none;
filter: drop-shadow(0 20px 18px rgba(0, 0, 0, 0.25));
transform: rotate(-4deg);
}
}
.freshers-float-card {
position: absolute;
z-index: 2;
padding: 12px 16px;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 999px;
color: $ink;
font-family: "JetBrains Mono", "Inconsolata", monospace;
font-weight: 700;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}
.freshers-float-socials {
top: 2%;
right: 0;
background: $yellow;
transform: rotate(5deg);
}
.freshers-float-tech {
bottom: 11%;
left: -5%;
background: $mint;
transform: rotate(-7deg);
}
.freshers-float-friends {
right: -2%;
bottom: 2%;
background: $coral;
transform: rotate(3deg);
}
.freshers-orb {
position: absolute;
z-index: 0;
border-radius: 50%;
filter: blur(1px);
opacity: 0.7;
}
.freshers-orb-one {
top: 10%;
right: 8%;
width: 180px;
height: 180px;
border: 42px solid rgba(105, 230, 194, 0.12);
}
.freshers-orb-two {
bottom: -140px;
left: 34%;
width: 330px;
height: 330px;
background: rgba(169, 104, 255, 0.12);
filter: blur(70px);
}

Comment thread css/freshers.scss
Comment on lines +253 to +270
.freshers-reassurance {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin-top: 22px;
color: rgba(255, 255, 255, 0.55);
font-size: 13px;

span {
color: inherit;
}

i {
padding: 0 5px;
color: $purple;
font-style: normal;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class is only used in freshers-hero-lower and so should be deleted and incorporated into that class instead

Comment thread css/freshers.scss
Comment on lines +657 to +678
.freshers-date-notice {
display: flex;
align-items: flex-start;
gap: 12px;
max-width: 850px;
margin-top: 24px;
padding: 16px 18px;
border: 1px solid rgba(255, 226, 119, 0.35);
border-radius: 12px;
background: rgba(255, 226, 119, 0.08);

span {
color: $yellow;
font-size: 20px;
}

p {
margin: 0;
color: rgba(255, 255, 255, 0.75);
font-size: 14px;
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class is not used and can be deleted

Suggested change
.freshers-date-notice {
display: flex;
align-items: flex-start;
gap: 12px;
max-width: 850px;
margin-top: 24px;
padding: 16px 18px;
border: 1px solid rgba(255, 226, 119, 0.35);
border-radius: 12px;
background: rgba(255, 226, 119, 0.08);
span {
color: $yellow;
font-size: 20px;
}
p {
margin: 0;
color: rgba(255, 255, 255, 0.75);
font-size: 14px;
}
}

Comment thread css/freshers.scss
Comment on lines +192 to +201
.freshers-button-primary {
color: $ink;
background: linear-gradient(110deg, $mint, #a5f4dd);
box-shadow: 0 14px 35px rgba(105, 230, 194, 0.22);

&:hover,
&:focus-visible {
box-shadow: 0 18px 40px rgba(105, 230, 194, 0.32);
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Class is not used and can be deleted

Suggested change
.freshers-button-primary {
color: $ink;
background: linear-gradient(110deg, $mint, #a5f4dd);
box-shadow: 0 14px 35px rgba(105, 230, 194, 0.22);
&:hover,
&:focus-visible {
box-shadow: 0 18px 40px rgba(105, 230, 194, 0.32);
}
}

Comment thread css/freshers.scss
Comment on lines +1164 to +1170
.freshers-hero {
position: relative;
display: block;
min-height: auto;
padding: clamp(26px, 4vw, 58px) var(--page-gutter) clamp(58px, 7vw, 100px);
text-align: left;
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overrides existing definition at L58, combine them either here or at the top

Comment thread css/freshers.scss
Comment on lines +1139 to +1142
.freshers-marquee span:nth-of-type(n + 5),
.freshers-marquee i:nth-of-type(n + 4) {
display: none;
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hides the careers and workshops names from the homepage on mobile / small screens. Fine if intentional but thought I'd flag anyway

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement sync Keep this pr up to date with it's base branch automatically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants