Skip to content

Commit 3295822

Browse files
Add ball 2025 pages (#729)
Co-authored-by: Leonardo Bishop <[email protected]>
1 parent fca1620 commit 3295822

File tree

9 files changed

+499
-2
lines changed

9 files changed

+499
-2
lines changed

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,4 @@ DEPENDENCIES
8989
webrick
9090

9191
BUNDLED WITH
92-
2.6.2
92+
2.6.3

_config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ menu:
1515
- name: Ball
1616
link: /ball
1717
children:
18+
- name: 2025
19+
link: /ball/2025
1820
- name: 2024
1921
link: /ball/2024
2022
- name: 2023

_data/ball/2025.yaml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: CSS BALL
2+
year: 2025
3+
location: Macdonald Burlington Hotel
4+
date: 4th April
5+
6+
tickets:
7+
- type: 3 Course
8+
member-price: £35
9+
non-member-price: £45
10+
- type: Non-Food
11+
member-price: £22
12+
non-member-price: £28
13+
14+
links:
15+
- text: Menu
16+
url: '/ball/2025/menu'
17+
- text: Tickets
18+
url: '#tickets'
19+
- text: FAQs
20+
url: '#faq'
21+
22+
menu-links:
23+
- text: Home
24+
url: '/ball/2025'
25+
- text: Tickets
26+
url: '/ball/2025#tickets'
27+
- text: FAQs
28+
url: '/ball/2025#faq'
29+
30+
menu:
31+
starters:
32+
- dish: Ham hock & pea terrine, wholegrain honey mustard & parsley
33+
type:
34+
- dish: Tomato & basil soup
35+
type: vegetarian, vegan, gluten free
36+
mains:
37+
- dish: Honey glazed pork belly, mustard mash, seasonal vegetables, apple cider jus
38+
type: gluten free
39+
- dish: Pumpkin & sage ravioli, creamy mushroom sauce, parmesan
40+
type: vegetarian, vegan on request
41+
dessert:
42+
- dish: Chocolate brownie, chocolate sauce, vanilla ice cream
43+
type: vegan on request, gluten free on request
44+
- dish: Raspberry cheesecake, chantilly cream, berries glaze
45+
type:
46+
47+
faq:
48+
- question: What is a Ball?
49+
answer: A ball is a solid or hollow spherical or egg-shaped object that is kicked, thrown, or hit in a game. <br><br> Ok but seriously, a Ball is an opportunity to come together and celebrate the year. Many societies hold them for their members and we're no different. Our annual Ball is the biggest night of the year so if you're not attending you're really missing out.
50+
- question: What will be there?
51+
answer: The ball will have a 3 course meal, a bar, and a dancefloor. We will also have some bangin' tunes, a photobooth, and a photographer.
52+
- question: Is the venue accessible?
53+
answer: Yes! There is step free access and accessible toilets on the same floor. Full details can be found on the <a href="https://www.accessable.co.uk/birmingham-city-council/access-guides/macdonald-burlington-hotel">AccessAble website</a>.
54+
- question: When can I buy tickets?
55+
answer: SOON! Head over to the <a href=/ball/2024/#tickets> tickets section </a> for more details!
56+
- question: How much do tickets cost?
57+
answer: We have a number of different ticket options available and all of our member tickets are cheaper than the last 2 years! The Guild will also add on a £1 booking fee - There's nothing we can do about that sadly. Take a look at the <a href=/ball/2024/#tickets> tickets page </a> for more details.
58+
- question: Can I bring a guest?
59+
answer: Absolutely! Non-Member tickets will be available alongside member tickets. If your guest is not a student they will need to create a guest account on the Guild website. If they're a member of staff or current student resitting externally or on a leave of absence they can still get membership prices, but will need to follow the steps on the <a href=/membership>membership page</a>.
60+
- question: Will I need to show my ticket when I arrive?
61+
answer: No, but we will ask to see your student ID or any other form of ID to confirm your identity. You'll then be given a wristband so you can come and go as you wish.
62+
- question: What time should I arrive?
63+
answer: You are welcome to arrive any time from 7pm onwards, but we ask you to arrive no later than 7:45 as we expect to begin dinner service at 8pm.
64+
- question: How do I get there?
65+
answer: The Burlington is in the city centre - right across the street from New Street Station. <br><br>If you're coming from campus or Selly Oak, the 61 / 63 bus will get you to the otherside of New Street, from which it's a 5 minute walk. <br>From the Vale, you'll want the X22 or X21 and for Harborne you'll want the 23 / 24 all of which drop you just the other side of New Street. <br><br>There's also a tram stop right in front of the hotel if you're coming from the Jewellery Quarter or Wolverhampton.
66+
- question: What will happen when I get there?
67+
answer: When you arrive, come either up the stairs, or the lift, to the 1st floor. From there you'll come to the reception desk and will be asked for either your student ID or some other ID. We'll then tick your name off on the list and give you a wristband and optionally your physical ticket if you hadn't picked this up already. You'll then be able to sit down and wait for food service or hang out and get some pictures in the photobooth! <br><br>Food service will start around 8pm and expect to last approximately 2 hours. It'll then be up to you to sit and chat, boogy on the dance-floor, head over to the bar for another drink, or pop round to the photobooth to capture some great memories!
68+
- question: Who will I sit next to for dinner?
69+
answer: We'll ask you for the names of up to 2 people who you would like to sit near. We'll try our best to sit people near their friends, but we can't make promises you'll be next to both.<br><br> If you bring a +1 we will make sure you're sat with them, but we can only do this if you say so in the seating preference or contact us separately.<br><br> We can also only fit 10 people per table, so if you can please organise within your friend group who you would like to sit next to who and we will do our best to factor this in.
70+
- question: What about my dietary requirements?
71+
answer: The venue can handle catering for most dietary requirements, and there are vegan and gluten free options. Make sure to let us know any dietary requirements when you purchase your ticket. For more info on the menu please check the menu page <a href=/ball/2025/menu> here </a>.
72+
- question: What should I wear?
73+
answer: Dress to impress! <br>Don your fanciest frocks, smartest suits or whatever you feel fabulous in. It's going to be the big night of the year so feel free to go all out!
74+
- question: Will I be photographed?
75+
answer: Yes. We'll have a photographer taking photos all night so we can share them all with you afterwards. If you don't want to be in photos, please speak to our lovely photographer on the night or email us in advance.
76+
- question: I bought a ticket but can't attend anymore.
77+
answer: Oh no! That's okay though. You're welcome to sell your ticket to someone else, though we will not be able to offer a refund, nor are we able to change the meal options or dietary requirements once a ticket has been purchased. Please also contact committee to let us know who you've sold your ticket to.

_redirects

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
/wa /whatsapp
3636

3737
# Ball
38-
/ball /ball/2024
38+
/ball /ball/2025
3939
/ball/2024/photos https://photos.app.goo.gl/FaBg38bHxkFSE64x6
4040
/ball/2023/photos https://photos.app.goo.gl/PZEahyV3CJed7ttA6
4141
/ball/2022/photos https://photos.app.goo.gl/bSyPR6fyHGtGDW6h9
513 KB
Loading

assets/images/ball-25-venue.jpg

175 KB
Loading

ball/2025/index.html

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
layout: page
3+
styles:
4+
- /css/main.css
5+
- /css/ball/2025/main.css
6+
- "https://unpkg.com/[email protected]/dist/leaflet.css"
7+
title: CSS Ball
8+
favicon: /ball/favicon.ico
9+
---
10+
11+
{% assign ball = site.data.ball['2025'] %}
12+
13+
<div class="text-center-div margin-top margin-bottom section-details">
14+
<h1 class="title">
15+
{{ball.name}} {{ball.year}}
16+
</h1>
17+
<h2>
18+
<span class="avoidwrap">{{ball.location}}</span><span class="avoidwrap">{{ball.date}}</span>
19+
</h2>
20+
21+
<h3 id="count"><br></h3>
22+
23+
{% for link in ball.links %}
24+
<a href='{{link.url}}' class="button {% if link.url == '' %}empty"{% else %}" href='{{link.url}}' {% endif %}>
25+
{{link.text}}{% if link.url == '' %} (Coming Soon){% endif %}</a>
26+
{% endfor %}
27+
</div>
28+
<hr class="bleed-bottom">
29+
<div class="text-center-div margin-top margin-bottom section-info" id="venue">
30+
<h2 class="subtitle mobile-only">The Venue</h2>
31+
<img class="image" src="/assets/images/ball-25-venue.jpg" alt="Image of the Horton Suite, where the CSS Ball is being held.">
32+
<div class="description-left text-center-div">
33+
<h2 class="subtitle">The Venue</h2>
34+
<p class="text-block">Macdonald Burlington Hotel<br><br>
35+
We'll have exclusive access to several rooms and facilities including a dedicated bar area, gorgeous dining room, and of course the dancefloor!<br><br>
36+
We'll also have a cloakroom available to store coats and bags.
37+
</p>
38+
</div>
39+
</div>
40+
<hr class="bleed-top">
41+
<div class="section-tickets" id="tickets">
42+
<div class="icon">
43+
<img class="icon" src="/assets/images/ball-2025-ticket-icon.png"/>
44+
</div>
45+
<div class="text text-center-div">
46+
<h2 class="subtitle">Tickets</h2>
47+
<p class="text-block">We have several different ticket types, designed to give you the most options possible! <br><br> Ticket prices for members are heavily discounted so be sure to pick up a membership if you haven't already!
48+
<br>
49+
<table class="ticket-table">
50+
<tr>
51+
<th><p class="text-block">Ticket Type</p></th>
52+
<th><p class="text-block">Members' Price</p></th>
53+
<th><p class="text-block">Non-Members' Price</p></th>
54+
</tr>
55+
{% for ticket in ball.tickets %}
56+
<tr>
57+
<td><p class="text-block">{{ ticket.type }}</p></td>
58+
<td><p class="text-block"><span class="highlight">{{ ticket.member-price }}</span></p></td>
59+
<td><p class="text-block"><span class="highlight">{{ ticket.non-member-price }}</span></p></td>
60+
</tr>
61+
{% endfor %}
62+
63+
</table>
64+
<br>
65+
<div class="ticket-buttons">
66+
<a class="button" href="https://www.guildofstudents.com/events/6531/10315/">Buy Tickets</a>
67+
<a class="button" href="https://cssbham.com/join">Buy Membership</a>
68+
</div>
69+
</div>
70+
</div>
71+
<hr>
72+
<div class="text-center-div margin-bottom section-faq" id="faq">
73+
<h2 class="subtitle">FAQs</h2>
74+
{% for qanda in ball.faq %}
75+
<div class="faq">
76+
<h3 class="subsubtitle question">{{ qanda.question }}</h3>
77+
<p class="text-block answer">{{ qanda.answer }}</p>
78+
</div>
79+
{% endfor %}
80+
</div>
81+
<hr>
82+
<div class="margin-top margin-bottom section-info">
83+
<div id="map" style="width: 100%; height: 300px;"></div>
84+
</div>
85+
<hr>
86+
87+
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
88+
<script>
89+
const pos = [52.47881, -1.89882];
90+
91+
let L = window.L;
92+
let map = L.map('map').setView(pos, 17);
93+
94+
L.marker(pos).addTo(map);
95+
L.tooltip(pos, {content: 'Burlington Hotel', permanent: true, offset: [5, 0]}).addTo(map);
96+
97+
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
98+
maxZoom: 19,
99+
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
100+
}).addTo(map);
101+
102+
const countDownDate = new Date("Apr 4, 2025 19:00:00").getTime();
103+
104+
(function updateTimer() {
105+
let now = new Date().getTime();
106+
let distance = countDownDate - now;
107+
let days = Math.floor(distance / (1000 * 60 * 60 * 24));
108+
let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
109+
let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
110+
let seconds = Math.floor((distance % (1000 * 60)) / 1000);
111+
112+
document.getElementById("count").innerHTML = days + " <span>days</span> " + hours + " <span>hours</span> "
113+
+ minutes + " <span>minutes</span> " + seconds + " <span>seconds</span>";
114+
115+
if (distance < 0) {
116+
document.getElementById("count").innerHTML = "<a href='https://cssbham.com/join'>cssbham.com/join</a>";
117+
} else {
118+
setTimeout(updateTimer, 1000)
119+
}
120+
})();
121+
</script>

ball/2025/menu.html

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: page
3+
styles:
4+
- /css/main.css
5+
- /css/ball/2025/main.css
6+
title: CSS Ball
7+
favicon: /ball/favicon.ico
8+
---
9+
10+
{% assign ball = site.data.ball['2025'] %}
11+
12+
<div class="text-center-div margin-top margin-bottom section-details">
13+
<h1 class="title">
14+
{{ ball.name }} {{ ball.year }}
15+
</h1>
16+
17+
<h2>
18+
<span class="avoidwrap">{{ball.location}}</span><span class="avoidwrap">{{ball.date}}</span>
19+
</h2>
20+
21+
{% for link in ball.menu-links %}
22+
<a href='{{link.url}}' class="button {% if link.url == '' %}empty"{% else %}" href='{{link.url}}' {% endif %}>
23+
{{link.text}}{% if link.url == '' %} (Coming Soon){% endif %}</a>
24+
{% endfor %}
25+
</div>
26+
<hr>
27+
<div class="text-center-div menu margin-bottom">
28+
<h2 class="subtitle">Menu</h2>
29+
<div class="text-center-div margin-bottom menu-footer">
30+
<p class="text-block">
31+
The venue will alter your chosen dish to account for any dietary requirements. Please ensure to enter any allergy or dietary information when you purchase your ticket.
32+
If a dietary requirement means that the dish cannot be altered to meet your requirements the venue will provide an alternative.
33+
</p>
34+
</div>
35+
{% for section in ball.menu %}
36+
<hr class="small">
37+
<h3 class="menu-section-title">{{ section[0] | capitalize }}</h3>
38+
{% assign first = false %}
39+
{% for item in section[1] %}
40+
{% if first != false %}<div class="menu-item-seperator">- OR -</div>{% endif %}
41+
<div class="menu-item-container">
42+
<h2 class="menu-item">{{ item.dish }}</h2>
43+
<br>
44+
{% if item.type %}
45+
<h3 class="menu-type">{{ item.type }}</h3>
46+
{% endif %}
47+
</div>
48+
{% assign first = true %}
49+
{% endfor %}
50+
{% endfor %}
51+
</div>

0 commit comments

Comments
 (0)