Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
2101138
Changed structure of menu in config,
gellowg Sep 3, 2026
dd7d2c6
Added accessibility features:
gellowg Sep 3, 2026
be84b54
Added dropdown chevrons
gellowg Sep 3, 2026
2b9cb70
Changed sponsors to Sponsor Us
gellowg Sep 3, 2026
8f90d09
Made hamburger menu have a pointer cursor on hover
gellowg Sep 3, 2026
3221a1e
Added a marker effect under Join CSS to make it CTA.
gellowg Sep 4, 2026
c90dab9
changed chevron design and position
gellowg Sep 4, 2026
8919b35
Change menu structure to bring out News and Committee items to top level
gellowg Sep 7, 2026
277f197
Make mobile menu toggle accessible
gellowg Sep 7, 2026
b51d3ec
Expose desktop dropdown state to assistive technology
gellowg Sep 7, 2026
978b2a4
Improve site navigation semantics
gellowg Sep 7, 2026
cef10eb
Show keyboard focus on mobile navigation items
gellowg Sep 7, 2026
57438ed
Make desktop dropdowns independently operable
gellowg Sep 8, 2026
f6e5034
Delay closing hovered desktop dropdowns
gellowg Sep 8, 2026
6c4ca0a
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 8, 2026
58521bb
Reduce desktop navigation text size
gellowg Sep 8, 2026
74a41e6
Remove ball from menu and add to ball card on events page
gellowg Sep 8, 2026
1e6a0f8
Slightly increase navigation bar height (fixed for both mobile and de…
gellowg Sep 8, 2026
4ff20b1
Reorganise navigation again
gellowg Sep 8, 2026
56f14f4
Shrink mobile nav item text, space out nav items more, remove thick s…
gellowg Sep 8, 2026
6a5ab69
Lock page scrolling when mobile menu open, keep mobile header sticky,…
gellowg Sep 8, 2026
005816d
Merge branch 'reorganise-main-menu' of https://github.com/CSSUoB/cssu…
gellowg Sep 9, 2026
3bf80c4
Make header sticky on desktop, scale header logo so it is proportiona…
gellowg Sep 9, 2026
a9bae94
Change bg color of nav
gellowg Sep 9, 2026
4f0ec44
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 11, 2026
f256a48
replace menu hover effects with bracket indicators, change dropdown a…
gellowg Sep 12, 2026
0dde9c5
Merge branch 'reorganise-main-menu' of https://github.com/CSSUoB/cssu…
gellowg Sep 12, 2026
3127693
stop freshers nav being overridden to its own style, ran prettier
gellowg Sep 12, 2026
78c4238
Add Ball theming to shared navigation, Introduce navigation theme var…
gellowg Sep 12, 2026
c31a6d3
ran prettier
gellowg Sep 12, 2026
f7fe5cc
Indent child menu items on mobile and make dropdown arrow smaller
gellowg Sep 12, 2026
d06d27e
Changed Society dropdown label to about
gellowg Sep 12, 2026
ee4d51d
Replaced Join CSS CTA style to an underline
gellowg Sep 12, 2026
085e3ad
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 12, 2026
106d89f
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 12, 2026
5441b63
fix
gellowg Sep 12, 2026
0c6c80b
Revert "fix"
gellowg Sep 12, 2026
51d98a2
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 12, 2026
261bb54
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 13, 2026
8e1d4b2
Add support for nav without JS enabled
gellowg Sep 13, 2026
98c8329
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 13, 2026
12c3017
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 14, 2026
6563d1b
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 15, 2026
0f6c843
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 17, 2026
0475196
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 17, 2026
c5d84c3
Merge main into reorganise-main-menu
automatic-pr-updater[bot] Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions _collections/_events/ball.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ Plus, thanks to extra funding from the School, we can keep prices low so everybo
can get involved.

Dress to impress for an unforgettable night!

Past CSS Balls: [2026](/ball/2026), [2025](/ball/2025),
[2024](/ball/2024), [2023](/ball/2023), [2022](/ball/2022),
[2021](/ball/2021), and [2020](/ball/2020).
41 changes: 12 additions & 29 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,43 +21,26 @@ menu:
class: freshers-nav
image: /assets/images/freshers-2026/freshers-week-2026-lockup.png
image_alt: Freshers Week
- name: News
link: /newsletter
- name: Events
link: /events
children:
- name: Calendar
link: /calendar
- name: Ball
link: /ball
children:
- name: 2026
link: /ball/2026
- name: 2025
link: /ball/2025
- name: 2024
link: /ball/2024
- name: 2023
link: /ball/2023
- name: 2022
link: /ball/2022
- name: 2021
link: /ball/2021
- name: 2020
link: /ball/2020
- name: Merch
link: /merch
- name: Committee
link: /committee
- name: News
link: /newsletter
- name: Sponsor
link: /sponsor
- name: Committee
link: /committee
- name: About
link: /about
children:
- name: Membership
link: /membership
- name: Overview
link: /about
- name: Merch
link: /merch
- name: Links
link: /links

- name: Join CSS
link: /membership
class: join-nav
baseurl: /
root: /

Expand Down
84 changes: 44 additions & 40 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -1,45 +1,49 @@
<header>
<span class="left">
<div class="left">
<a class="logo" href="{{ site.base_url }}/">
<img alt="CSS logo" src="{{ '/assets/header-logo.svg' | relative_url }}">
<img alt="CSS logo" src="{{ '/assets/header-logo.svg' | relative_url }}">
</a>
</span>
<span class="right">
{% for item in site.menu %}
{% if item.children %}
<div class="nav dropdown {{ item.class }}">
<a href="{{ item.link | relative_url }}">{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}</a>
<div class="dropdown-content">
{% for sub in item.children %}
<a href="{{ sub.link }}">{{ sub.name }}</a>
</div>
<nav class="right" aria-label="Primary navigation">
<ul class="navigation-list">
{% for item in site.menu %}
{% if item.children %}
<li class="nav dropdown {{ item.class }}">
<button type="button" aria-expanded="false" aria-controls="desktop-dropdown-{{ forloop.index }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}<img class="dropdown-chevron" src="{{ '/assets/down-arrowhead.svg' | relative_url }}" alt="" aria-hidden="true"><span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></button>
<ul class="dropdown-content" id="desktop-dropdown-{{ forloop.index }}">
{% for sub in item.children %}
<li><a href="{{ sub.link }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{{ sub.name }}<span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></a></li>
{% endfor %}
</ul>
</li>
{% else %}
<li class="nav {{ item.class }}">
<a href="{{ item.link | relative_url }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}<span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></a>
</li>
{% endif %}
{% endfor %}
</div>
</div>
{% else %}
<div class="nav {{ item.class }}">
<a href="{{ item.link | relative_url }}">{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}</a>
</div>
{% endif %}
{% endfor %}
</span>
<div id="hamburger" class="hamburger">
<img alt="Hamburger menu" src="{{ '/assets/hamburger.svg' | relative_url }}">
</div>
<div id="hamburger-menu" class="mobile-menu">
{% for item in site.menu %}
<div class="nav {{ item.class }}">
{% if item.children %}
<a onclick="toggleShow({{ forloop.index }})">{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}</a>
<div class="dropdown" style="display: none" id="hbdd_{{ forloop.index }}">
<a href="{{ item.link | relative_url }}">- {{ item.name }}</a><br/>
{% for sub in item.children %}
<a href="{{ sub.link | relative_url }}">- {{ sub.name }}</a><br/>
{% endfor %}
</div>
{% else %}
<a href="{{ item.link | relative_url }}">{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}</a>
{% endif %}
</div>
{% endfor %}
</div>
</ul>
</nav>
<button id="hamburger" class="hamburger" type="button" aria-expanded="false" aria-controls="hamburger-menu" aria-label="Open navigation menu">
<img class="hamburger-icon hamburger-icon-open" src="{{ '/assets/hamburger.svg' | relative_url }}" alt="" aria-hidden="true">
<img class="hamburger-icon hamburger-icon-close" src="{{ '/assets/cross.svg' | relative_url }}" alt="" aria-hidden="true">
</button>
<nav id="hamburger-menu" class="mobile-menu" aria-label="Mobile navigation">
<ul class="navigation-list">
{% for item in site.menu %}
<li class="nav {{ item.class }}">
{% if item.children %}
<button type="button" onclick="toggleShow({{ forloop.index }})" aria-expanded="false" aria-controls="hbdd_{{ forloop.index }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}<img class="dropdown-chevron" src="{{ '/assets/down-arrowhead.svg' | relative_url }}" alt="" aria-hidden="true"><span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></button>
<ul class="dropdown mobile-dropdown" style="display: none" id="hbdd_{{ forloop.index }}">
{% for sub in item.children %}
<li><a href="{{ sub.link | relative_url }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{{ sub.name }}<span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></a></li>
{% endfor %}
</ul>
{% else %}
<a href="{{ item.link | relative_url }}"><span class="nav-label"><span class="nav-bracket nav-bracket-open" aria-hidden="true">[</span>{% if item.image %}<img class="nav-item-image" src="{{ item.image | relative_url }}" alt="{{ item.image_alt | default: item.name }}">{% else %}{{ item.name }}{% endif %}<span class="nav-bracket nav-bracket-close" aria-hidden="true">]</span></span></a>
{% endif %}
</li>
{% endfor %}
</ul>
</nav>
</header>
4 changes: 4 additions & 0 deletions assets/cross.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions assets/down-arrowhead.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 5 additions & 14 deletions css/ball/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ html {
}

header {
background-color: $secondary-lowlight;
--nav-background: #79651b;
--nav-panel-background: #79651b;
--nav-hover: #241040;
--nav-accent: #e4d05f;
--nav-font: "Ovo", serif;
}

body {
Expand Down Expand Up @@ -119,19 +123,6 @@ body {
}
}

.dropdown {
font-family: $font-secondary;
}

.dropdown-content {
background-color: $secondary-lowlight;

a {
font-family: $font-secondary;
font-size: 20px;
}
}

.flex {
display: flex;
flex-direction: row;
Expand Down
23 changes: 23 additions & 0 deletions css/events.scss
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,29 @@
}
}

@media only screen and (min-width: 1201px) {
.event.ball.event-long {
.event-image {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 50%;
height: 100%;
float: none;
}

.details {
box-sizing: border-box;
width: 50%;
position: static;
max-width: none;
height: auto;
padding-bottom: 5px;
}
}
}

@media only screen and (max-width: 1200px) {
.events-listing {
grid-template-columns: 1fr;
Expand Down
9 changes: 0 additions & 9 deletions css/freshers.scss
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,6 @@ body {
$ink;
}

body > header {
position: sticky;
top: 0;
z-index: 100;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(9, 11, 24, 0.86);
backdrop-filter: blur(18px);
}

main {
width: 100%;
max-width: none;
Expand Down
Loading
Loading