diff --git a/public/404.html b/public/404.html new file mode 100644 index 00000000..1ea71f01 --- /dev/null +++ b/public/404.html @@ -0,0 +1,20 @@ + + + + Computing Science Student Society + + + + + + + +
+

404 page not found :(

+ 404 Frog +
+ + diff --git a/public/construction.html b/public/construction.html new file mode 100644 index 00000000..90cb5e08 --- /dev/null +++ b/public/construction.html @@ -0,0 +1,20 @@ + + + + Computing Science Student Society + + + + + + + +
+

This site is under construction

+ Construction Frog +
+ + diff --git a/public/fall-hacks/2020/index.html b/public/fall-hacks/2020/index.html new file mode 100644 index 00000000..c786b389 --- /dev/null +++ b/public/fall-hacks/2020/index.html @@ -0,0 +1,353 @@ + + + + Fall Hacks 2020 - CSSS + + + + + +
+                    /@@@@@@@@@@@,
+                    /@@#
+                    *@@@((#%##@@/      ,@@@@@@@#%/
+      @@@@@@@@@@@@  .@@@@@@#%#@@#      #@@@@@@@@@,        (##%(,
+      %@@/                    #@@.    ,@@@@@*            #@@@@@@@@         (,
+      (@@*                    #@@*    %@@@@@@@@@/       @@@@@.@@@@.       /@@@@@*
+      *@@#                    (@@(   ,@@@@@#/#@@       @@@@@,*@@@@(       #@@@@#         %@@@@@.
+      .@@#                    *@@%   %@@@@@          (@@@@@@##@@@@%      ,@@@@@,        .@@@@@#
+       #@@.           .*/((#%%@@@#   .,*/#/         #@@@@@@@@@@@@@@,     #@@@@#         (@@@@@.
+       #@@@@@@@@@@@   %@@@##%#((/,                 ,*/##@.    @@@@@/    *@@@@@(         @@@@@%
+                                ..                              ,*//    %@@@@@@@@@*    (@@@@@.
+                      (@@@@@@@@@@@*                                          .*/#%     #@@@@@@@@@,
+                      ,@@%                                                                .*/#%@@
+             ..,,***   @@@@@@@@@@@@@@@@@*                                              ,*..
+   %@@@@@@@@@@@@@@@#.  /#((/**,..    .#@@%                                         (@@@@@@@@/
+  %@@(                    ..,,**/(##%#@@@@@*                      .  (@@@@@       %@@@@#, ..(
+ #@@@###@@@@@@@@@@@@(  /@@@@@@@@##%%%#(//*,.                 /@@@@@*.@@@@@,       %@@@@@@@@@@#.
+/###%%#((/*,..   /@@#                            %@@@@@#      %@@@@#/@@@@%         ,%@@@@@@@@@@
+       ....,,*/(##@@#                         .@@@@@@@@@,     *@@@@@@@@@@@,        ##(/,/#@@@@/
+%@@@@@@@@@@@@@####%#*        @@@@@@@@        ,@@@@@(           #@@@@@%@@@@@@.      .@@@@@@@@#
+                ./%/         @@@@@@@@@*      #@@@@@      ,     .@@@@@% *@@@@@@*        .
+      ./#@/   #@@@@@.       ,@@@@##@@@@@.    ,@@@@@@#.,#@@      (@@@@@*  ,#%/.
+     %@@@@@    @@@@@#       (@@@@# /@@@@@,     (@@@@@@@@@@%      (*
+     ,@@@@@%./#@@@@@@,      (@@@@@@@@@@@@@#.      *@#@@#,
+      (@@@@@@@@@@@@@@#      #@@@@@%*  @@@@@@*
+       #@@@@#   .@@@@@/     #@@@@#
+       *@@@@@(   %@@@@@.
+        #@@@@#
+    
+----------------------------------------------------------------------------------------------------
+
+

Computing Science Student Society Fall Hacks 2020

+Please note, these projects may have been made private or changed since submission. +Run at your own risk. + +
+

1st

Legacy Edition

+

Legacy Edition Acronym Finder

+Trivial game where you have to be the first person to identify the correct full name of an acronym. +
+ +
+

2nd

AYA

+

ASC II(A Sophisticated Chat mark II)

+This is a messenger-like chat app but it requires user to solve ASCII puzzles in order to chat. +
+ +
+

3rd

Canucks

+

Let's Escape and Fight

+Adventure-style game, which player has escaped from a group of bandits! +He must now avoid being eliminated and make it back to the safe house. +
+ +
+

Most Interesting Creation

+

CSSS-LSIP

+

CSSS-LISP-> CSSS's Litter Inspection and Sorting Program

+Image classification using transfer learning to detect the type of litter. +Recycle, garbage, Paper, etc. +
+ +---------------------------------------------------------------------------------------------------- + +
+

Team Stop Failing University +(S.F.U)

+

CSCourse Selection Search System C.S.S.S.

+Help computing science students to plan ahead for their curriculums. + +
+

Yeppers

+

Coronavirus Stati Stic S (CSSS)

+Using the BC COVID-19 data given by the BC CDC, we created multiple different types of graphs +(3 line graphs and a bubble graph). The bubble graph takes a date and visualizes it based +on that date. There are more instructions on the README.md in the Github. + +
+

All Squares Condone +Inquisition Immediately

+

CSCourse Selection Search System C.S.S.S.

+Our project centers on the battle between 2 blocks as they battle for survival, +using power ups and speed to knock each other across the map. Whichever block can knock +the other one off the screen first wins! + +
+

pjalali

+

Super Furball Utility

+Take a photo of a dog or cat and the app will tell you if it's a dog or cat. +Perfect for when you can't tell! + +
+

StayFocusedU!

+

StayFocusedU!

+This is a simple productivity desktop app for linux users to track their study time + with a timer and simple statistics. + +
+

Team CMM

+

Course Seeing Selecting Savant

+Course Seeing Selecting Savant (CSSS) is a website built using React, an API running on JavaScript. +It is meant to help SFU Computing Science students track their academic progress and make +decisions on courses they can take towards graduation. The website allows them to track which +courses they have completed, how many credits they have obtained and still require to graduate, +and also provides course information such as course descriptions and if they met the prerequisites +required to take particular courses. + +
+

AirPNP

+

Latrine Inspection Sanitary Protection

+A web-based for finding and reviewing public washrooms in the Vancouver area. + +
+

Hansoo's Kittens

+

Anime Screen Conversion Image Improver

+Style transfers images on a webpage using a chrome extension to look more +like an anime art style. + +
+

$300 $quad$

+

ASCIIGeneratorObject

+BMP image to ASCII code. Run the main file and type in either superman.bmp +or letter_s.bmp to execute it. + +
+

Lease Inventory, See Profits

+

Lease Inventory, See Profits

+Lease Inventory, See Profits (LISP) is a local rental marketplace. +Users can post items to rent or rent items from others. + +
+

Galactic Overlords

+

Galactic Overlords

+We choose to go with the acronym GO and decided to make a tower defense game called +"Galactic Overlord. The game consists of a ship the player controls, the player has +to charge its energy near the energy gem to be able to place defenses. +To place defenses the player can choose between a missile seeking tower and a +machine gun by pressing 1 and 2 on the keyboard respectively. +The aim of the game is to survive as long as you can, let's see how far you get! + +
+

LIT Driver Team

+

LIT ICBC Schedule Picker (LISP)

+The Lit ICBC Schedule Picker is a program that allows for an automatic booking +of an appointment on ICBC. + +
+

Any Serviceable Computers +In It?

+

Any Serviceable Computers In It?

+A text-based RPG game. Unfinished. + +
+

Fruits of Divorce

+

Shut the Fact Up

+Don't like what you read on the Internet? Well we've got the cure for what ails you! +Introducing: Shut The Fact Up; a revolutionary new way of consuming information. +You can alter what you read in real time to conform to what you believe is true! +Easy to use and robust, the possible applications of this weapon are enormous. + +
+

Rain Dragon

+

ASCII : A Soldier's Crusade Into Imperium

+A text-based adventure RPG featuring ASCII Images for enemies. + +
+

Snake Finds U

+

Snake Finds U

+A snake game implemented in Java, that involves the player eating apples +to grow their snake, while avoiding bombs to stay alive. + +
+

KodRs

+

LEAFGO - Let's eat all Food: Get Obese

+LEAFGO is a project which marks all restaurants that you have visited automatically. +Our vision is to help explore all restaurants in the area. +The end goal? Visit them all and fulfill your obese destiny. + +
+

PATAR

+

GOSFU (Game Over SFU)

+GAME-OVER SFU The game is based on free roaming while completing small tasks SFU. +The tasks involve making decision in certain situations. Making the right decision will lead to +you being able to continue the game and finsih all 5 tasks, or making a wrong choice will cause +the game to be over and you starting again. To start, you can roam around SFU freely and look +for the tasks based on the stories made. There are 5 stories leading to 5 paths around SFU and +each ends with a task. Finishing the 5 tasks will result in victory. +Note: the game represents real-world locations on SFU. + +
+

The Conways

+

Game of Os

+Conway's Game of Life, but not necessarily Life, since you can modify the game rule parameters. + +
+

!False Story

+

Game Outlet

+A collection of small games. + +
+

DXRT

+

Get Out(GO)

+A 2d text maze game, which the player(OO) use "awsd" text inputs to control its position from the +left entrance to the right exit. + +
+

Hackathing

+

Summarized For U

+Summarizes terms of services into an easily digestible format. + +
+

Kirbabes

+

Super Fly Underdog

+Dog game made on scratch. +Dodge the ghosts and collect the tacos and fortune cookies and cheetos. + +
+

Mink Activists

+

Covid Social Spacing Simulator

+Simple click to move, time-based survival game. Goal of the game is to save the mink from +the Coronavirus in Denmark. + +
+

LEAF SFU GO bot

+

LEAF SFU GO bot

+It is a discord bot with the intention to eradicate annoying friends and get them to shut frick up +while gaming online. LEAFSFUGO = Let's eradicate annoying friends, shut frick up, gamers online. + +
+

Go Outside

+

Go Outside

+This project is based on the acronym "GO". Go Outside is an Android app +that encourages users to complete various challenges in the great outdoors. + +
+

Hackaroonis

+

Grow Old (GO)

+We have created a version of Bitlife Simulator. +It is a fun and enticing game that leaves you wanting to know more about +your exciting (or depressing) virtual life! + +
+

LEAF (Low Effort Accessible +Fun Game)

+

Runtime Terror

+We made a Low Effort Accessible Fun game of Tic Tac Toe. + +
+

Ready... Set... GO...

+

GO

+ +
+

Manic Moles

+

GO - Goat Organizer

+It is a game made with Godot in which the object is to catch goats whilst avoiding obstacles. + +
+

LISP: Listen In Silence, Please!

+

LISP: Listen In Silence, Please!

+Android app based on listening to sound cues to complete the objective. +App based on Fall 2020 CMPT 276 assignment. + +
+

Leaf : +library's easy access files

+

Leaf : library's easy access files

+Amazon's good reads app(Android) seems to be getting lots of bad reviews. +One of them was how people coundn't add books without actually giving reviews. +Because of this poeple who quickly wanna use the app end up giving bad reviews to a book which they have + even read. Users wanted a feature to keep list private and public as well. This app tries to solve +that issue. Although it's not an production level app, it helps users to make public or private lists +and add books to their data without having to give reviews and such. Since the app deals with books, +we called it Library's easy access files to fit one of the acronym from the hackathon theme which is LEAF. + +
+

Mint Tea

+

Life Is Short and Painful

+Did you know? The lifespan of a fly is 28 days. You are an interdimensional fly wishing to travel the +galaxies. But life is just too short, and your time is running out! + +
+ +
+ + \ No newline at end of file diff --git a/public/fall-hacks/2024/img1.png b/public/fall-hacks/2024/img1.png new file mode 100644 index 00000000..ef876da4 Binary files /dev/null and b/public/fall-hacks/2024/img1.png differ diff --git a/public/fall-hacks/2024/img2.png b/public/fall-hacks/2024/img2.png new file mode 100644 index 00000000..258497bc Binary files /dev/null and b/public/fall-hacks/2024/img2.png differ diff --git a/public/fall-hacks/2024/img3.png b/public/fall-hacks/2024/img3.png new file mode 100644 index 00000000..1722c233 Binary files /dev/null and b/public/fall-hacks/2024/img3.png differ diff --git a/public/fall-hacks/2024/img4.png b/public/fall-hacks/2024/img4.png new file mode 100644 index 00000000..9fc4eae9 Binary files /dev/null and b/public/fall-hacks/2024/img4.png differ diff --git a/public/fall-hacks/2024/index.html b/public/fall-hacks/2024/index.html new file mode 100644 index 00000000..9636aa26 --- /dev/null +++ b/public/fall-hacks/2024/index.html @@ -0,0 +1,201 @@ + + + + Fall Hacks 2024 - CSSS + + + + + +
+                    /@@@@@@@@@@@,
+                    /@@#
+                    *@@@((#%##@@/      ,@@@@@@@#%/
+      @@@@@@@@@@@@  .@@@@@@#%#@@#      #@@@@@@@@@,        (##%(,
+      %@@/                    #@@.    ,@@@@@*            #@@@@@@@@         (,
+      (@@*                    #@@*    %@@@@@@@@@/       @@@@@.@@@@.       /@@@@@*
+      *@@#                    (@@(   ,@@@@@#/#@@       @@@@@,*@@@@(       #@@@@#         %@@@@@.
+      .@@#                    *@@%   %@@@@@          (@@@@@@##@@@@%      ,@@@@@,        .@@@@@#
+       #@@.           .*/((#%%@@@#   .,*/#/         #@@@@@@@@@@@@@@,     #@@@@#         (@@@@@.
+       #@@@@@@@@@@@   %@@@##%#((/,                 ,*/##@.    @@@@@/    *@@@@@(         @@@@@%
+                                ..                              ,*//    %@@@@@@@@@*    (@@@@@.
+                      (@@@@@@@@@@@*                                          .*/#%     #@@@@@@@@@,
+                      ,@@%                                                                .*/#%@@
+             ..,,***   @@@@@@@@@@@@@@@@@*                                              ,*..
+   %@@@@@@@@@@@@@@@#.  /#((/**,..    .#@@%                                         (@@@@@@@@/
+  %@@(                    ..,,**/(##%#@@@@@*                      .  (@@@@@       %@@@@#, ..(
+ #@@@###@@@@@@@@@@@@(  /@@@@@@@@##%%%#(//*,.                 /@@@@@*.@@@@@,       %@@@@@@@@@@#.
+/###%%#((/*,..   /@@#                            %@@@@@#      %@@@@#/@@@@%         ,%@@@@@@@@@@
+       ....,,*/(##@@#                         .@@@@@@@@@,     *@@@@@@@@@@@,        ##(/,/#@@@@/
+%@@@@@@@@@@@@@####%#*        @@@@@@@@        ,@@@@@(           #@@@@@%@@@@@@.      .@@@@@@@@#
+                ./%/         @@@@@@@@@*      #@@@@@      ,     .@@@@@% *@@@@@@*        .
+      ./#@/   #@@@@@.       ,@@@@##@@@@@.    ,@@@@@@#.,#@@      (@@@@@*  ,#%/.
+     %@@@@@    @@@@@#       (@@@@# /@@@@@,     (@@@@@@@@@@%      (*
+     ,@@@@@%./#@@@@@@,      (@@@@@@@@@@@@@#.      *@#@@#,
+      (@@@@@@@@@@@@@@#      #@@@@@%*  @@@@@@*
+       #@@@@#   .@@@@@/     #@@@@#
+       *@@@@@(   %@@@@@.
+        #@@@@#
+
+----------------------------------------------------------------------------------------------------
+
+Get ready for... FALL HACKS 2024!
+
+Taking place at the SFU Burnaby Campus,
+September 28th (Saturday), 9:00AM - 9:00PM.
+(Mark your calendars!)
+
+Brought to you by the
+Computing Science Student Society.
+
+----------------------------------------------------------------------------------------------------
+
+Table of Contents
+
+- Register & Contact
+- About the event
+- Gallery
+- Frequently asked questions
+  * Wait, what actually is a hackathon?
+  * Where is Fall Hacks?
+  * Why should I participate?
+  * I am in my first year/don't have much experience, should I still participate?
+  * How do we declare teams?
+  * Can I work on my previous projects?
+
+----------------------------------------------------------------------------------------------------
+
+Register & Contact
+
+Click here to register for Fall Hacks!
+
+Click here to join the CSSS Discord Server
+
+Contact the organisers: <csss-hackathonchair@sfu.ca>
+
+----------------------------------------------------------------------------------------------------
+
+About the event...
+
+What is Fall Hacks?
+
+This is the 5th iteration of Fall Hacks, an annual hackathon hosted by the SFU Computing Science
+Student Society. This 12-hour event brings together 200 students to build creative projects, learn
+from workshops, and connect with companies, like yours! It will be hosted at SFU Burnaby Campus on
+September 28, from 9AM to 9PM.
+
+This year's theme: ANNOUNCED DURING OPENING CEREMONY
+
+Why participate in Fall Hacks?
+
+We emphasize learning and creativity over commercial feasibility. This is an opportunity to spend a
+weekend tinkering with your favourite technologies to create something fun and interesting.
+
+Fall Hacks is the perfect event for everyone from fresh first years to seasoned CS veterans.
+
+----------------------------------------------------------------------------------------------------
+
+Gallery...
+
+
+ + + + +
+ +---------------------------------------------------------------------------------------------------- + +Frequently asked questions... + +Wait, what actually is a hackathon? + +A hackathon is an event where teams work on a project inspired by an event-provided theme. You will +have 12 hours to develop something cool at Fall Hacks. Your team will start from scratch and try to +make the coolest thing they can before the time is up. + +Where is Fall Hacks? + +This year will be in-person and online. We will be streaming the opening and closing ceremonies on +Discord, so if you can't make it in person, join online! Most of the day-of activities, like +registration, will be held in TASC 9204 on SFU's Burnaby Campus. You are free to hack at other open +locations on campus. + +Why should I participate? + +You get experience with new technologies and navigate teamwork dynamics to accomplish a goal. +Hackathon projects are also a great addition to a resume! + +I am in my first year/don't have much experience, should I still participate? + +Yes! This hackathon is a great learning opportunity for people with less development experience. + +How do we declare teams? + +You do not need to know your team when you register. You can form groups before or during the +hackathon. When you give us your submission GitHub link you will declare your group members. + +Can I work on my previous projects? + +No, we want you to create awesome things from scratch in 12 hours. Starting from an existing +project is against the spirit of the event. Existing open-source libraries and frameworks are fine, +of course. Ask an organizer if you are unsure. + +---------------------------------------------------------------------------------------------------- + +Site made and managed by the SFU CSSS. + +Last modified: July 6th, 2024. + +Useful links: + +- Website +- Discord +- Instagram +- LinkedIn +- Email: <csss-exec-current@sfu.ca> +
+ + diff --git a/public/frosh/2024/banner.png b/public/frosh/2024/banner.png new file mode 100644 index 00000000..03c3abb6 Binary files /dev/null and b/public/frosh/2024/banner.png differ diff --git a/public/frosh/2024/index.html b/public/frosh/2024/index.html new file mode 100644 index 00000000..88b5886c --- /dev/null +++ b/public/frosh/2024/index.html @@ -0,0 +1,137 @@ + + + + Frosh Week 2024 | CSSS + + + + + + +
+ Frosh in Wonderland +

+ You're invited to the SFU CSSS's annual Frosh Week! This year, the theme is Frosh in Wonderland. + Frosh Week is an entirely free week of events for first-year students in the School of Computing Science at SFU. +

+ Planning on coming to Frosh Week? Fill out the + WiCS Social Registration form for attendees of the WiCS Social, + and the CSSS Frosh Week Registration form for the other events. +

+ + + + + + + + + + + + + + + + + + + + + + +
Monday, Sep 9thTuesday, Sep 10thWednesday, Sep 11thThursday, Sep 12thFriday, Sep 13th - 14th
+ Ice-cream Social,
+ 10:30AM - 3:00PM,
+ In ASB 10900 +
+ Mountain Hike,
+ 12:00PM - 3:00PM,
+ Outside ASB 9802 +
+ PacMacro,
+ 4:30PM - 6:30PM,
+ In ASB 9703 +
+ WiCS Social,
+ 11:00AM - 1:30PM,
+ In ASB 9703 +
+ Midnight Madness,
+ 7:00PM - 7:00AM,
+ In TASC1 9204 +
+ Barbeque Dinner,
+ 6:00PM - 9:00PM,
+ In TASC1 9204 +
+

+ (You may want to save or bookmark this page for future reference.) +

+ Curious about what's in store? Reach out to us at + csss-froshchair@sfu.ca, + or join the CSSS Discord Server. +

+
+ + diff --git a/public/frosh/2025/images/bbq-1.jpg b/public/frosh/2025/images/bbq-1.jpg new file mode 100644 index 00000000..90fe307b Binary files /dev/null and b/public/frosh/2025/images/bbq-1.jpg differ diff --git a/public/frosh/2025/images/bbq-2.jpg b/public/frosh/2025/images/bbq-2.jpg new file mode 100644 index 00000000..02e51d10 Binary files /dev/null and b/public/frosh/2025/images/bbq-2.jpg differ diff --git a/public/frosh/2025/images/bbq-3.jpg b/public/frosh/2025/images/bbq-3.jpg new file mode 100644 index 00000000..374e185d Binary files /dev/null and b/public/frosh/2025/images/bbq-3.jpg differ diff --git a/public/frosh/2025/images/bg-1.jpg b/public/frosh/2025/images/bg-1.jpg new file mode 100644 index 00000000..ad60a050 Binary files /dev/null and b/public/frosh/2025/images/bg-1.jpg differ diff --git a/public/frosh/2025/images/bg-2.jpg b/public/frosh/2025/images/bg-2.jpg new file mode 100644 index 00000000..7fead9cd Binary files /dev/null and b/public/frosh/2025/images/bg-2.jpg differ diff --git a/public/frosh/2025/images/cooking-1.jpg b/public/frosh/2025/images/cooking-1.jpg new file mode 100644 index 00000000..4816655f Binary files /dev/null and b/public/frosh/2025/images/cooking-1.jpg differ diff --git a/public/frosh/2025/images/duck.svg b/public/frosh/2025/images/duck.svg new file mode 100644 index 00000000..e57ba1ad --- /dev/null +++ b/public/frosh/2025/images/duck.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + diff --git a/public/frosh/2025/images/guru-1.jpg b/public/frosh/2025/images/guru-1.jpg new file mode 100644 index 00000000..e5856878 Binary files /dev/null and b/public/frosh/2025/images/guru-1.jpg differ diff --git a/public/frosh/2025/images/hero-mountain.png b/public/frosh/2025/images/hero-mountain.png new file mode 100644 index 00000000..63bec9ed Binary files /dev/null and b/public/frosh/2025/images/hero-mountain.png differ diff --git a/public/frosh/2025/images/hike-1.jpg b/public/frosh/2025/images/hike-1.jpg new file mode 100644 index 00000000..2a722384 Binary files /dev/null and b/public/frosh/2025/images/hike-1.jpg differ diff --git a/public/frosh/2025/images/madness-1.jpg b/public/frosh/2025/images/madness-1.jpg new file mode 100644 index 00000000..f902c2ac Binary files /dev/null and b/public/frosh/2025/images/madness-1.jpg differ diff --git a/public/frosh/2025/images/madness-2.jpg b/public/frosh/2025/images/madness-2.jpg new file mode 100644 index 00000000..f23c6347 Binary files /dev/null and b/public/frosh/2025/images/madness-2.jpg differ diff --git a/public/frosh/2025/images/madness-3.jpg b/public/frosh/2025/images/madness-3.jpg new file mode 100644 index 00000000..ee1b4d37 Binary files /dev/null and b/public/frosh/2025/images/madness-3.jpg differ diff --git a/public/frosh/2025/images/madness-4.jpg b/public/frosh/2025/images/madness-4.jpg new file mode 100644 index 00000000..b27b69ff Binary files /dev/null and b/public/frosh/2025/images/madness-4.jpg differ diff --git a/public/frosh/2025/images/reeds-width.png b/public/frosh/2025/images/reeds-width.png new file mode 100644 index 00000000..41b7bd88 Binary files /dev/null and b/public/frosh/2025/images/reeds-width.png differ diff --git a/public/frosh/2025/images/reeds-width.svg b/public/frosh/2025/images/reeds-width.svg new file mode 100644 index 00000000..154f18dd --- /dev/null +++ b/public/frosh/2025/images/reeds-width.svg @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/frosh/2025/images/reeds.svg b/public/frosh/2025/images/reeds.svg new file mode 100644 index 00000000..95c274b0 --- /dev/null +++ b/public/frosh/2025/images/reeds.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/frosh/2025/index.html b/public/frosh/2025/index.html new file mode 100644 index 00000000..24e191d7 --- /dev/null +++ b/public/frosh/2025/index.html @@ -0,0 +1,575 @@ + + + + Frosh Week 2025 | CSSS + + + + + + + + + + + + + + + + +
+
+
+

SFU Computing Science Student Society

+
+

Ducky Frosh 2025

+
+
+
+
+
+
days
+
+
+
+
hours
+
+
+
+
minutes
+
+
+
+
seconds
+
+
+ +
+ +
+ + + + + + + + + + + + + +
+ +
+
+ reeds +
+
+ reeds +
+
+
+ +
+ +
+ +
+
+
+
+

What's a "Frosh Week"?

+
+

+ Frosh Week is a series of events run by the Computing Science Student + Society at Simon Fraser University in collaboration with the School of Computing + Science. +

+

+ Frosh Week occurs during the fall semester to welcome + 300+ new undergraduate students + into the School of Computing Science with the help of 80+ volunteers. Starting a + degree is a pivotal moment in a student's academic journey, and Frosh Week helps forge + lasting memories and strong friendships. +

+

+ Ducky Frosh continues this tradition, running from + September 8th to 13th, 2025. This year's Frosh is inspired by the + process of nurturing a young duckling into a strong, independent duck. +

+
+ +
+ +
+ + + +
+ +
+

Who's organizing this?

+
+

+ The SFU Computing Science Student Society (CSSS) is a student-led + organization supporting + over 2,500 undergraduate computing science students at Simon Fraser + University. All SFU students—whether majoring, minoring, or just taking a computing + science course—are automatically members. Everyone is welcome to get involved! +

+

+ We organize three annual hackathons, a Silicon Valley trip, and + career-focused events like career fairs, company tours, and workshops. We also host + bi-weekly board game nights, hikes, + seasonal parties, and more! +

+

Learn more about us!

+
+ +
+
+ + + +
+
+

Schedule

+
+

+ Ducky Frosh is happening over 5 days (and one night) from + Monday, September 8 to Saturday, September 13 +

+

+ There's something for everyone at Frosh, so we hope to see you at as many events as + possible! If there are any changes in the schedule, we will notify everyone through + email and announcements on Discord, so make sure + you've signed up or joined the server. +

+

Here's a summary of what's to come:

+
+
+

Monday

+

Ice Cream Social

+
ASB Atrium & ASB 9702
+ - +

+ A casual kickoff to Frosh Week! Students receive their Ducky Frosh T-shirts, meet + their Frosh leaders, and mingle over complimentary ice cream. This event helps new + students connect and feel welcome. +

+
+
+

Tuesday

+

Burnaby Mountain Park Hike

+ - +
SFU Upper Bus Loop
+

+ An adventurous group hike that includes outdoor games, food, and refreshing + drinks. This active outing builds camaraderie and offers a fun, informal way to + enjoy nature and bond with others. +

+
+
+

Wednesday

+

Rest Day

+

+ Take this day to get ready for the next 3 days of Frosh! (also you should probably + do your readings) +

+
+
+

Thursday

+

Info Session

+ - +
TBD
+

+ Introduces Froshees to Computing Science concentrations, academic planning, and + the Co-op program. Led by faculty and industry experts. +

+
+

Pac-Macro

+ - +
UniverCity
+

+ A life-sized Pac-Man game using real streets and a CSSS-built tracking software. + Froshees play as Pac-Man or Ghosts in a thrilling, energetic game that combines + tech and fun. +

+
+

BBQ & Board Games

+ - +
TASC-1 9204
+

+ Enjoy delicious burgers made by the CSSS Culinary Team. Followed by a cozy evening + of board games to help Froshees relax and bond. +

+
+
+

Friday

+

Midnight Madness

+

+ Midnight Madness is the grand finale of Ducky Frosh, a 12-hour overnight + extravaganza packed with games, challenges, food, and bonding. Students compete in + activities representing the five Applied Science Schools, and build lasting + memories. +

+ +
+ +

Pre-Madness

+ - +
TASC-1 9204
+

Check-in, get oriented and get introduced to the Madness.

+ +
+ +

Poster Competition

+ - +
Academic Quadrangle
+ +
+ +

Amazing Race/Capture the Flag

+ - +
Academic Quadrangle
+
+
+

Saturday

+

Midnight Pizza Dinner

+ - +
TASC-1 9204
+ +
+ +

Scavenger Hunt

+ - +
TASC-1 9204
+ +
+ +

Trivia and Games

+ - +
TASC-1 9204
+ +
+ +

Boardgames and JackBox

+ - +
TASC-1 9204
+ +
+ +

Karaoke

+ - +
Academic Quadrangle 3159
+ +
+ +

Slurpee Race

+ - +
TBD
+ +
+ +

Ramming Ceremony

+ - +
Academic Quadrangle Pond
+ +
+ +

Breakfast

+ ~ +
Dining Commons
+ +
+
+
+
+
+ +
+ + + +
+
+

Sponsors

+
+

+ Every Frosh Week takes months of planning and wouldn't be possible without the CSSS + executives and volunteers. There is one last piece to making Frosh a success: + sponsors. +

+

+ If you're interested in sponsoring this event, please email + csss-froshchair@sfu.ca. +

+
+ +
+
+ + + +
+ +
+

Frequently Asked Questions

+
+

Where will the events take place?

+

+ All events take place at the Simon Fraser University Burnaby campus. The locations per + event can be found in the schedule.

+ If you are having difficulty locating us, do not hesitate to contact Dina or Jake. + (Contact information can be found in the CSSS Discord server.) +

+

What should I bring to the events?

+

+ Yourself. That's it. +

+ Except during Pac-Macro, you'll need a mobile device that has an internet connection. +

+

What is Pac-Macro?

+

+ Pac-Macro is essentially Pacman in real life. Utilizing CSSS-developed software, the + game will keep track of players' positions on campus, and display the locations of + other players. +

+

+ I can't come to every event, or am not free for the entire duration of an event. Is + this OK? +

+

+ You can come and go as you please during Frosh Week. Late arrivals or early departures + are totally OK. If you can't attend some events due to other commitments, that's fine + too. +

+

Why is it called "Computing Science", not "Computer Science"?

+

+ CS at SFU has a long history. Way back in '73 when the School of Computing Science + started at SFU, either "Computer Science" wasn't an idiom for the major yet, or we + just decided to be different. +

+

What courses should I take?

+

+ Contact the + Faculty of Applied Science office + or ask the CSSS Discord for course + information. +

+

I can't find a room!

+

+ SFU provides a very handy tool called the + Room Finder. + Simply input the room number (e.g. ASB 9703), and it will highlight the room on an + interactive campus map. This works for the Burnaby, Surrey, and Vancouver campuses. +

+
+
+
+
+
+ + + diff --git a/public/frosh/2025/main.js b/public/frosh/2025/main.js new file mode 100644 index 00000000..e51adac4 --- /dev/null +++ b/public/frosh/2025/main.js @@ -0,0 +1,162 @@ +const styleVars = window.getComputedStyle(document.body); + +/** + * Animates the reeds parting when scrolling down. + */ +function animateReedsParting() { + const scrollTrigger = { + trigger: '.hero', + start: 'top top', + end: 'bottom top', + toggleActions: 'play none reverse none', + scrub: true + }; + + gsap.to('.reeds > .left', { + x: '-100vw', + scrollTrigger + }); + + gsap.to('.reeds > .right', { + x: '100vw', + scrollTrigger + }); +} + +/** + * Animates the duck swimming left to right. + * Added code so it has a consistent velocity. + */ +function animateDucky() { + const duck = document.getElementById('animated-duck-container'); + + // Get the width of the duck and have it start off the screen, based on its width + const start = -duck.getBoundingClientRect().width; + // and the width of the viewport + const end = window.innerWidth; + + // Get the distance the duck needs to travel and move it at a rate of 100px per second. + const distance = end - start; + const duration = distance / 100; // measured in pixels + + // Set the duck to start at the left side + gsap.set(duck, { left: start }); + // Move it to the right, repeat infinitely + gsap.to('#animated-duck-container', { + left: end, + repeat: -1, // infinitely loop + ease: 'none', + repeatDelay: 4, + duration + }); +} + +/** + * Makes the photos pop in from below. + */ +function imagePopIn() { + document.querySelectorAll('.gallery').forEach(gallery => { + const photos = gallery.querySelectorAll('.photo'); + + gsap.from(photos, { + scrollTrigger: { + trigger: gallery, + start: 'top 80%' + }, + y: '5vh', + opacity: 0, + duration: 0.5, + ease: 'none', + stagger: 0.2 + }); + }); +} + +/** + * Animation that changes the text color of the header items when + * scrolling down enough. + */ +function handleHeaderChanges() { + gsap.to('header', { + scrollTrigger: { + trigger: 'main', + start: 'top top', + end: 'bottom top', + scrub: true + }, + backgroundColor: styleVars.getPropertyValue('--c-bot-main') + }); + + const navTrigger = { + trigger: 'main', + start: 'center center', + toggleActions: 'play none play reverse' + }; + + gsap.to('header', { + scrollTrigger: navTrigger, + color: 'white' + }); + + // For the svg of the logo + gsap.to('.st1', { + scrollTrigger: navTrigger, + fill: 'white' + }); +} + +/** + * Controls the countdown on the hero + */ +function setCountdown() { + // Target time is September 8, 2025 PDT @ 1PM + const target = new Date('2025-09-08T13:00:00.000-07:00').getTime(); + + // Don't show the countdown if it's past the Frosh start date. + if (target < new Date().getTime()) { + document.getElementById('countdown').style.display = 'none'; + return; + } + const secToMs = 1000; + const minToMs = secToMs * 60; + const hourToMs = minToMs * 60; + const dayToMs = hourToMs * 24; + + const secEle = document.getElementById('cd-sec'); + const minEle = document.getElementById('cd-min'); + const hourEle = document.getElementById('cd-hour'); + const dayEle = document.getElementById('cd-day'); + + let update = () => { + const now = new Date().getTime(); + let difference = target - now; + + let secs = Math.floor((difference / secToMs) % 60); + let mins = Math.floor((difference / minToMs) % 60); + let hours = Math.floor((difference / hourToMs) % 24); + let days = Math.floor(difference / dayToMs); + + secEle.textContent = secs; + minEle.textContent = mins; + hourEle.textContent = hours; + dayEle.textContent = days; + }; + + update(); + setInterval(update, 1000); +} + +window.addEventListener('load', _ => { + gsap.registerPlugin(ScrollTrigger, ScrollSmoother); + animateReedsParting(); + handleHeaderChanges(); + animateDucky(); + setCountdown(); + if (window.matchMedia('(min-width: 1280px').matches) { + imagePopIn(); + } + window.addEventListener('resize', () => { + gsap.killTweensOf('#animated-duck-container'); + animateDucky(); + }); +}); diff --git a/public/tech_fair/2025/reset.min.css b/public/frosh/2025/reset.min.css similarity index 98% rename from public/tech_fair/2025/reset.min.css rename to public/frosh/2025/reset.min.css index 61edf58a..20bd275f 100644 --- a/public/tech_fair/2025/reset.min.css +++ b/public/frosh/2025/reset.min.css @@ -3,6 +3,7 @@ *::after { box-sizing: border-box; } + body, h1, h2, @@ -15,36 +16,43 @@ dl, dd { margin: 0; } + ul[role='list'], ol[role='list'] { list-style: none; } + html:focus-within { scroll-behavior: smooth; } + body { min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.5; } + a:not([class]) { text-decoration-skip-ink: auto; } + img, picture { max-width: 100%; display: block; } + input, -button, textarea, select { font: inherit; } + @media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; } + *, *::before, *::after { diff --git a/public/frosh/2025/style.css b/public/frosh/2025/style.css new file mode 100644 index 00000000..46990247 --- /dev/null +++ b/public/frosh/2025/style.css @@ -0,0 +1,448 @@ +/* Global stuff */ +:root { + /* Structure Sizes */ + --header-h: 3.5rem; + --home-logo-size: clamp(2rem, 3vw, calc(var(--header-h) - 1rem)); + --hero-h: 120vh; + --hero-tb-padding: 25vh; + + + /* Colour Palette */ + --c-primary: #77a290; + --c-secondary: #dde1c9; + --c-tertiary: #f2f3ee; + --c-accent: #ffd754; + --c-top-main: #5c889c; + --c-bot-main: #11191c; + --c-strong: #14331f; + + /* Fonts */ + --f-heading: "League Spartan", sans-serif; + --f-subheading: "Monstserrat", sans-serif; + --f-main: "DM Sans", sans-serif; +} + +a { + all: unset; + + cursor: pointer; +} + +h1 { + font-family: var(--f-heading); + font-weight: 800; +} + +h2 { + font-size: clamp(1.5rem, 3vw, 3rem); + font-family: var(--f-subheading); + font-weight: 500; +} + +p { + font-size: clamp(1rem, 2vw, 1.5rem); +} + +h3 { + font-size: clamp(1.2rem, 2.1vw, 2.5rem); +} + +.bg-box { + background-color: var(--c-primary); + box-shadow: + var(--c-accent) 5px 5px 0px 0px; + padding: 0.5rem 0.25rem; + border: solid 2px var(--c-strong); +} + +.button { + /* Structure */ + width: clamp(8rem, 22vw, 10rem); + aspect-ratio: 6 / 1; + border-radius: 10px; + + /* Text */ + display: flex; + align-items: center; + justify-content: space-evenly; + color: white; + font-family: var(--f-subheading); + font-size: clamp(1rem, 8vw, 1.5rem); + font-weight: 700; + + cursor: pointer; + user-select: none; + -webkit-user-select: none; + touch-action: manipulation; +} + +.icon { + width: 1.5em; + height: 1.5em; +} + +.st0 { + fill: white; +} + +/* Specific styles */ +body { + font-family: var(--f-main); + font-weight: 300; +} + +header { + position: sticky; + top: 0; + background-color: var(--c-top-main); + height: var(--header-h); + z-index: 5; + + &>nav { + display: flex; + align-items: center; + + &>a { + padding: 0.5rem; + } + + &>ul { + display: flex; + width: 100%; + justify-content: space-around; + padding: 0; + + &>li { + display: block; + flex: 1 1 0; + text-align: center; + } + } + } +} + +.hero { + display: flex; + flex-direction: column; + align-items: center; + + height: 120vh; + padding: var(--hero-tb-padding) 1rem; + + background-image: url('/frosh/2025/images/hero-mountain.png'); + background-size: cover; + background-position: center; + + &>hgroup { + text-align: center; + + &>.title-container { + + &>h1 { + width: 100%; + font-size: clamp(2.5rem, 10vw, 8rem); + color: var(--c-accent); + text-shadow: var(--c-strong) 2px 2px 0px; + } + } + + &>p { + font-family: var(--f-subheading); + font-size: clamp(1rem, 3vw, 2rem); + font-weight: 200; + } + } + + &>#countdown { + display: flex; + justify-content: center; + column-gap: clamp(0.5rem, 3vw, 2rem); + text-align: center; + width: 90vw; + max-width: 25rem; + + &>.cd-col { + flex: 0 0 25%; + + &>.value { + font-size: clamp(2.5rem, 10vw, 5rem); + color: var(--c-accent); + text-shadow: var(--c-strong) 2px 2px; + } + } + } + + &>nav { + &>ul { + padding: 0; + + &>li { + display: block; + } + + li+li { + margin-top: 1rem; + } + } + } +} + +.top-screen { + position: relative; + width: 100%; + height: 100vh; + overflow: hidden; + z-index: 10; + + &>#animated-duck-container { + position: absolute; + bottom: -1vh; + left: -120vw; + /* Keeping this in case the animation break */ + + &>svg { + height: 12vh; + } + } + + &>.reeds { + position: fixed; + bottom: 0; + width: 100%; + pointer-events: none; + + &>.left, + .right { + position: absolute; + bottom: 0; + width: 100%; + height: 20vh; + + &>img { + position: fixed; + bottom: calc(72px - 27vw); + } + } + } +} + +main { + background: linear-gradient(to bottom, var(--c-top-main) 0, var(--c-bot-main) 100%); + padding-bottom: 5rem; + + &>article { + display: grid; + place-items: center; + row-gap: 10rem; + + &>.jump-section { + padding-top: calc(var(--header-h) + 1rem); + } + + &>section { + display: grid; + place-items: center; + width: 100%; + + &>.section-container { + min-width: 15rem; + + &>h2 { + display: block; + text-align: center; + font-weight: 700; + color: var(--c-accent); + } + + &>.section-content { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 0.5rem; + + &>h3 { + color: var(--c-secondary); + } + + &>p { + color: white; + + &>a { + color: var(--c-accent); + } + } + + & strong { + font-weight: 900; + } + + } + + &>.section-footer { + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; + gap: 0.5rem; + padding: 1rem 0; + + &>* { + width: 50%; + max-width: 15rem; + flex: 1 1 auto; + } + } + } + } + } +} + +#faq { + &>.section-container { + &>.section-content { + &>p { + margin-bottom: 3rem; + } + } + } +} + +.gallery { + display: none; +} + +#calendar { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; + + &>.bg-box { + width: 90%; + padding: 1rem; + + & span { + float: right; + } + + &>h3 { + color: var(--c-accent); + } + + &>h4 { + color: var(--c-strong); + } + + &>p { + color: var(--c-tertiary); + font-size: 1rem; + } + } +} + +footer { + display: flex; + flex-direction: column; + align-items: center; + color: var(--c-accent); + background-color: var(--c-primary); + + .icons { + display: flex; + gap: 0.5rem; + + & .icon { + width: 1.5em; + height: 1.5em; + } + } +} + +.duck-fact { + display: none; + background-color: var(--c-strong); + padding: 1rem; + + &>h2 { + font-size: clamp(1rem, 2.5vw, 1.8rem); + font-family: var(--f-heading); + color: var(--c-accent); + } + + &>p { + color: white; + font-size: clamp(0.8rem, 2vw, 1.2rem); + } +} + +/* Media Queries */ + +/* Calendar can display things in a row */ +@media (min-width: 570px) { + #calendar { + flex-direction: row; + align-items: flex-start; + flex-wrap: wrap; + + &>.bg-box { + width: 100%; + flex: 1 1 30%; + } + } + + .section-container { + max-width: 47rem; + } +} + +/* Hero nav buttons display as a row */ +@media (min-width: 600px) { + .hero-nav { + width: 100%; + + &>ul { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + flex-direction: row; + gap: 1rem; + + + &>li { + margin: 0 !important; + padding: 0; + } + } + } +} + +/* Aside stuff working */ +@media (min-width: 1280px) { + section { + grid-template-columns: [left] 1fr [mid] auto [right] 1fr; + grid-column-gap: 0.5rem; + + .section-container { + grid-column: mid; + } + } + + .duck-fact { + display: block; + width: min(80%, 25rem); + } + + .gallery { + display: flex; + justify-content: space-around; + + &>.photo { + width: 25vw; + height: auto; + animation: pop-in 0.3 ease; + background-color: white; + border: 5px solid transparent; + box-shadow: 5px 5px 7px black; + } + } +} diff --git a/public/legacy/tech-fair.html b/public/legacy/tech-fair.html deleted file mode 100644 index ade37fc1..00000000 --- a/public/legacy/tech-fair.html +++ /dev/null @@ -1,638 +0,0 @@ - - - - - - - - - - Tech Fair 2024 - - - - - - - - -
-
- -
-

- SFU_CSSS.TechFair(2024); -

-

- - | -

-
- -
-
- -
-
-
Tech Fair
-
2024
-
-
- - mountain - - -
- - -
-
-
- Long Shot of Tech Fair 2022 -
-

Welcome to Tech Fair!

-

- Tech Fair is our annual career fair, bringing students and - companies together. This is a great opportunity to set up a - booth and expand the name recognition of your company! -

-
    -
  • - Located in - ASB Atrium - at SFU's Burnaby campus -
  • -
  • Over 2500 SFU Computing Science Students invited
  • -
  • - October 9th, 2024 from 10:00am - - 4:00pm -
  • -
  • Meet your future employees!
  • -
-
-
- -
- -
-
-

Are you a student interested in stopping by?

-
- Say Hi! -
-
-

Are you a company interested in participating?

-
- Join Tech Fair -
-
- -
- -

- Feel free to reach out to us at - csss-techfair@sfu.ca - for any further questions. -

-
-
-
- -
- -
-
-
- - So, who'll be there? - -
- -
-
- Arista Networks -
-

Arista Networks

-

- //////////////////////////////////////// -

-

- -
-
-

- Arista Networks is an industry leader in data-driven, client - to cloud networking for large data center, campus and routing - environments. -

-
- - - See more -
-
-
- -
- Avigilon -
-

Avigilon

-

- //////////////////////////////////////// -

-

- -
-
-

- Avigilon solutions help you find and share critical - intelligence faster, so you can respond to events with the - speed and decisiveness that keeps people, operations and - assets safe. -

-
- - - See - more -
-
-
- -
- Fortinet -
-

Fortinet

-

- //////////////////////////////////////// -

-

- -
-
-

- Fortinet is a driving force in the evolution of cybersecurity - and the convergence of networking and security. Securing - people, devices, and data everywhere is their mission. -

-
- - - See more -
-
-
- -
- ICBC -
-

   ICBC

-

- //////////////////////////////////////// -

-

- -
-
-

- At ICBC, it's our job to make sure the car insurance system - works for everyone, today and in the future. -

-
- - - See more -
-
-
- -
- Astera Labs -
-

Astera Labs

-

- //////////////////////////////////////// -

-

- -
-
-

- Astera Labs, Inc. is a fabless semiconductor company that - develops specialized connectivity solutions for data-centric - systems. Their product portfolio includes system-aware - semiconductor integrated circuits, boards, and services - designed to enable robust PCIe connectivity. -

-
- - - See more -
-
-
- -
- Brave Technology Co-op -
-

Brave Technology Co-op

-

- //////////////////////////////////////// -

-

- -
-
-

- Brave Technology Co-op develops tools that activate - life-saving community responses for overdose situations, - including the Brave App, Brave Buttons, and Brave Sensors. -

-
- - - See more -
-
-
- -
- Planview -
-

Planview

-

- //////////////////////////////////////// -

-

- -
-
-

- Planview is a leader in portfolio and work management - solutions that empower organizations to optimize resources, - enhance productivity, and drive strategic initiatives. -

-
- - - See more -
-
-
- -
- Darkvision Technologies -
-

Darkvision Technologies

-

- //////////////////////////////////////// -

-

- -
-
-

- DarkVision is transforming industrial asset inspection with - its cutting-edge acoustic imaging technology, offering the - highest fidelity and resolution in the market. Their - proprietary system captures ultra-high-resolution 3D data, - enabling the detection and quantification of previously - undetectable defects. -

-
- -
- <Imaging> -
- See more -
-
-
- -
- OffWorld Industries -
-

OffWorld Industries

-

- //////////////////////////////////////// -

-

- -
-
-

- Offworld Industries is a groundbreaking game development - studio focused on crafting immersive experiences. Evolving - from the modding community, the team emphasizes realism and - community engagement in titles like Squad, Starship Troopers: - Extermination, Squad 44, and Beyond The Wire. -

-
- - - See more -
-
-
- -
- Kardium Inc -
-

Kardium Inc

-

- //////////////////////////////////////// -

-

- -
-
-

- Kardium Inc. is a medical solutions company focused on - improving atrial fibrillation (AF) treatment. Its Globe® - Mapping and Ablation System combines rapid pulmonary vein - isolation, high-definition mapping, and atrial ablation into - a single catheter, enhancing care for the 59 million people - affected by AF worldwide. -

-
- - - See more -
-
-
- -
- Walt Disney Animation Studios -
-

Walt Disney Animation Studios

-

- //////////////////////////////////////// -

-

- -
-
-

- Walt Disney Animation Studios is an American animation studio - that produces animated features and short films for The Walt - Disney Company. As the longest-running animation studio in - the world, it operates as a division of Walt Disney Studios. -

-
- - - See more -
-
-
- -
- -
- -

- If you'd like to see your company here for next Tech Fair, let us know - at - csss-techfair@sfu.ca! -

-
- -
- -
- Schedule -
- -
-

Wednesday, October 9th

- - - - - - - - - - - - - - - - - - - - - - - - - -
- 8 - AM -  
- 10 - AM - -
-

Tech Fair 2024

-

(10:00am - 4:00pm)

-
-
- 12 - PM -  
- 2 - PM -  
- 4 - PM -  
- 6 - PM -  
-
- -
- -
Schedule
-
- -
- -
- Students - -

- As a student, Tech Fair is all about you, but why should you - come to Tech Fair in the first place? -

- -
- - Say Hi! -
- -
- -
- For Companies - -
-

- Tech Fair 2024 gives you and your company the opportunity to expand - your brand to hundreds of talented and interested students who could - become potential stars in your company. -

-
    -
  • - Reach out to hundreds of passionate Computing Science students at - various points in their degree -
  • -
  • - Let students learn about you, your culture, and your opportunities - - so you're first in mind when they start their career journeys -
  • -
-
- -

- Attend TechFair 2024: our students might meet their next - co-op, and you might meet your next full-time employee! -

-
-
- -

- ////////////////////////////////////////////////////// -

-
-

Interested in setting up a booth?

- Join Tech Fair -
- -
- -
- History -

- Just a short decade ago, Tech Fair was a standing CSSS tradition at - SFU. Unforunately, due to the curse of time, it's fallen out of favour - in recent years. -

- - However! This all changed in 2022, when the event was brought back to - life. -

- - This is the second year in a row we're running Tech Fair, and we've - become much more serious about it than before, with the ultimate goal - of keeping this event going long after we leave. -

-
- - -
- - -
- - - - - - diff --git a/public/madness/2024/index.css b/public/madness/2024/index.css new file mode 100644 index 00000000..b3b21fee --- /dev/null +++ b/public/madness/2024/index.css @@ -0,0 +1,598 @@ +html { + margin: 0; + padding: 0; + width: 100vw; + max-width: 100%; +} + +body { + --hill-width: 40vw; + --hill-height: 50vh; + --hill-padding: 5vh; + --hill-shadow: #0d5; + --hill-shadow: #002805; + --hill-color: #22ff77; + --hill-color: #004208; + --sky-color: #2277ff; + --sky-color: #001c1f; + --sky-color: #000c0f; + --cloud-color: #ccc; + --red: #550400; + --red: #880500; + --darkred: #330300; + --darkred: #550500; + --lightred: #aa1500; + margin: 0; + padding: 0; + width: 100%; + font-family: sans-serif; + /*background: linear-gradient(to bottom, var(--sky-color) 90vh, var(--hill-color) 90vh, var(--hill-color) 120vh, var(--hill-color) 140vh) no-repeat;*/ + background: linear-gradient( + to right, + var(--hill-shadow) 3px, + var(--hill-color) 3px, + var(--hill-color) calc(100vw - 42px), + var(--hill-shadow) calc(100vw - 42px) + ); + background: var(--hill-color); +} + +p { + line-height: 1.5; + max-width: 100%; +} + +table { + font-size: 1rem; +} + +table * { + font-size: inherit; +} + +body * { + box-sizing: border-box; +} + +#above-fold::before { + content: ""; + position: absolute; + top: 0; + width: 100%; + height: 100vh; + z-index: -3; + background-color: black; + background-image: radial-gradient(white 3px, transparent 2px), + radial-gradient(white 1px, transparent 2px), + radial-gradient(rgba(255, 255, 255, 0.5) 2px, transparent 2px), + linear-gradient( + transparent 100vh, + var(--hill-color) 100vh, + var(--hill-color) 150vh + ); + background-size: + 550px 550px, + 350px 350px, + 250px 250px, + 150px 150px; + background-position: + 0 0, + 40px 60px, + 130px 270px, + 70px 100px; +} + +#above-fold { + width: 100%; + min-height: 100vh; + display: flex; + flex-flow: column nowrap; + align-items: center; + margin: 0; +} + +.btn, +button { + display: inline-block; + padding: 12px 12px 10px 12px; + font-size: inherit; + font-weight: 700; + color: white; + background: var(--red); + white-space: nowrap; + border: none; + text-align: center; + cursor: pointer; + font-size: 1em; + box-shadow: 0 6px 0 var(--darkred); + transition: + box-shadow 0.2s, + color 0.2s, + background 0.2s; +} + +.btn:focus, +button:focus, +.btn:hover, +button:hover { + background: var(--lightred); +} + +.btn:active, +button:active { + background: var(--darkred); +} + +header { + text-align: center; + color: white; + margin: auto 0; +} + +header > h2, +header > h3, +header > h4 { + text-shadow: 1px 1px 1px black; +} + +header > h1 { + text-transform: uppercase; + letter-spacing: 0.2rem; + margin: 1rem 0; + font-family: Bungee; + font-size: 2rem; + text-shadow: 0 5px 0 black; +} + +header > h3 { + font-size: 1.5rem; +} + +header > h4 { + font-weight: 400; + margin: 0 0 2rem 0; +} + +header > h4 b { + font-weight: 800; +} + +#building { + position: relative; + z-index: -2; + margin: 3em 0 0 0; + min-width: 90px; + width: 20vw; + max-width: 125px; + height: 70px; + background: gray; + box-shadow: + inset -20px 0 0 gray, + /* right leg */ inset 20px 0 0 gray, + /* left leg */ 0 0px 0 gray, + /* roof */ inset 0 20px 0 gray, + /* third level */ inset 0 30px 0 black, + /* fourth level */ inset 0 40px 0 gray, + /* fifth level */ inset 0 50px 0 black, + /* fifth level */ /* shadow */ 10px 0 0 #444, + 10px 0px 0 #444; +} + +#building::before { + background: var(--red); + content: "SFU"; + font-size: 1rem; + color: white; + position: relative; + top: -6px; + left: 52.5px; + left: calc(100% - 50px); + width: 50px; + height: 70px; + padding: 5px 5px 0px 5px; +} + +#mountain { + border-top-left-radius: 30%; + border-top-right-radius: 30%; + border-right: 30px solid var(--hill-shadow); + border-left: 3px solid var(--hill-shadow); + position: relative; + z-index: -2; + display: flex; + flex-flow: row wrap; + justify-content: space-around; + align-content: flex-start; + padding-top: var(--hill-padding); + min-width: 320px; + width: 100%; + min-height: calc(var(--hill-height) + 1em); + background: var(--hill-color); +} + +.grass { + position: relative; + border-top-left-radius: 30%; + border-top-right-radius: 30%; + width: 100%; + height: 100%; + width: 2rem; + height: 5rem; + background: linear-gradient(315deg, var(--hill-shadow) 25%, transparent 25%), + linear-gradient(45deg, var(--hill-shadow) 25%, transparent 25%); + background-color: var(--hill-color); + background-position: 0 0; + /* + background-size: calc(var(--hill-height) / 20) 5vw; + background-size: calc(var(--hill-height) / 20) 5vw; + background-size: 1rem .25rem; + */ + background-position: bottom left; +} + +.grass:nth-child(1) { + top: 5em; + right: 0em; +} + +.grass:nth-child(2) { + top: 0em; + right: 1em; +} + +.grass:nth-child(3) { + top: 7em; + left: 1em; +} + +#clouds-container { + overflow-x: hidden; + position: absolute; + z-index: -2; + width: 100%; + top: 0; + margin-top: 8vh; +} + +@keyframes cross { + 0% { + left: 100%; + } + 100% { + left: -100%; + } +} + +.clouds { + --width: 5vmax; + --height: calc(var(--width) / 2); + margin-top: 30vh; + width: 100%; + opacity: 0.8; + display: flex; + justify-content: space-between; + position: relative; + z-index: 5; + animation: cross 120s infinite linear; +} + +.cloud { + background: var(--cloud-color); + width: var(--width); + height: var(--height); + border-radius: calc(var(--width) / 3); + position: relative; +} + +.cloud::after { + content: ""; + position: absolute; + background: var(--cloud-color); + height: calc(var(--width) / 3); + width: calc(var(--width) / 3); + border-radius: 50%; + top: calc(var(--height) / -5); + left: calc(var(--height) / 6); +} + +.cloud::before { + content: ""; + position: absolute; + background: var(--cloud-color); + height: calc(var(--width) / 2); + width: calc(var(--width) / 2); + border-radius: 50%; + top: calc(var(--height) / -2); + left: calc(var(--width) / 3); +} + +.clouds:nth-child(even) { + --width: 10vmax; + animation: cross 50s infinite linear; +} + +.clouds:nth-child(even) > .cloud:nth-child(odd) { + top: -20vh; +} + +.clouds > .cloud:nth-child(odd) { + top: -15vh; +} + +#info-container { + background: var(--hill-color); + background: linear-gradient( + to bottom, + var(--hill-color) 10%, + #0a1f0a 40%, + #0a0a10 100% + ); + background: linear-gradient(to bottom, var(--hill-color) 10%, #0a1f0a 40%); + + color: white; +} + +#info-container > article { + padding: 1em 0; +} + +#info-container > article > div { + flex: 0 0 auto; + margin-left: 1em; + margin-right: 1em; + /* + max-width: 500px; + */ +} + +#info-container > article h2 { + text-align: center; +} + +#sponsors > .btn { + text-align: center; +} + +/* if have more sponsors, add sponsors here too */ +#schedule, +#prize, +#sponsors { + display: flex; + flex-flow: row wrap; + justify-content: center; + max-width: 100%; +} + +/* new layout: single column*/ +.center { + box-sizing: content-box; + display: block; + margin: 0 auto; +} + +.stack > * + * { + margin-block-start: 2rem; +} + +/* +#faq { + background: #0a0a10; + background: linear-gradient(to bottom, var(--hill-color), #0a1f0a); + background: #0a1f0a; +} + +#schedule { + background: linear-gradient(to bottom, var(--hill-color), #0a1f0a); + background: #0a1f0a; + background: linear-gradient(to bottom, #0a1f0a, var(--hill-color)); +} +*/ + +#schedule div, +#prize div, +#sponsors div { + max-width: calc(100% - 2em); + margin-left: 1em; + margin-right: 1em; +} + +table td { + padding: 0.5em 0; + max-width: 45%; +} + +#schedule > h2, +#schedule > h3, +#faq > h2, +#prize > h2, +#sponsors > h2 { + flex: 1 0 100%; +} + +.forest { + position: relative; + display: flex; + z-index: 99999; + flex-flow: row nowrap; + justify-content: space-around; + align-items: space-around; + max-width: 95vw; + height: calc(var(--trunk-height) + var(--foliage-height)); + overflow: hidden; +} + +.tree { + --trunk-width: 1vmax; + --trunk-height: 2vmax; + --foliage-width: 3vmax; + --foliage-height: 5vmax; + flex: 1 0 auto; + /* + height: calc(var(--trunk-height) + var(--foliage-height)); + margin: var(--foliage-height) var(--foliage-width); + margin: 0; + margin: auto; + */ + margin: var(--foliage-height) var(--foliage-width) var(--trunk-height) + var(--foliage-width); +} + +/* +.tree:nth-child(odd) { + margin-top: calc(var(--foliage-height) * 2); +} +*/ + +.tree::before { + content: ""; + position: absolute; + background: brown; + box-shadow: -3px 0 0 inset #533; + width: var(--trunk-width); + height: var(--trunk-height); +} + +.tree::after { + content: ""; + position: absolute; + width: var(--foliage-width); + height: var(--foliage-height); + margin-left: calc(var(--foliage-width) / -2 + var(--trunk-width) / 2); + margin-top: calc(-1 * var(--foliage-height)); + clip-path: polygon( + 50% 0%, + 95% 60%, + 75% 60%, + 100% 100%, + 0 100%, + 25% 60%, + 5% 60% + ); + /* + border: 1px solid #060; + border-top-right-radius: 80%; + box-shadow: -4px 4px 0 2px inset #060; + */ + background: green; + background: var(--hill-shadow); +} + +#nav-links { + background: rgba(255, 255, 255, 0.1); + width: 100%; +} + +#nav-links a { + display: inline-block; + font-size: 1rem; + color: white; + text-decoration: none; + padding: 1em 7px; + margin: 0em 7px; + vertical-align: middle; + transition: text-shadow 0.2s; +} + +#nav-links a:hover { + /*box-shadow: 0 4px 0 grey;*/ + text-shadow: 0 0 5px grey; +} + +#schedule h3 { + flex: 1 0 100%; + text-align: center; +} + +th { + text-align: left; +} + +td:first-child { + text-align: right; + font-weight: 700; + padding-right: 1em; +} + +a { + text-decoration: none; + color: inherit; +} + +h2 > a { + transition: + box-shadow 0.2s, + background 0.2s, + color 0.2s; + padding: 7px 5px 5px 5px; +} + +#join-discord { + font-weight: lighter; +} + +#join-discord a { + font-weight: bold; + text-decoration: underline white; +} + +a > img { + max-width: calc(100% - 4em); + height: auto; + background: white; + filter: grayscale(100%); + opacity: 0.8; + transition: + opacity 0.2s, + filter 0.2s; +} + +#mobify-logo { + width: 100%; +} + +a:hover > img { + filter: none; + opacity: 1; +} + +@media (max-width: 770px) { + article > div { + padding: 0 2rem; + } +} + +@media (min-width: 770px) { + header > h1 { + font-size: calc(100vw / 24); + font-size: 4rem; + text-shadow: 0 10px 0 black; + } + #info-container > article { + max-width: 500px; + } + #mountain { + max-width: 500px; + } +} + +footer { + display: flex; + flex-flow: row wrap; + justify-content: center; + align-items: baseline; +} + +footer a { + /* display: inline-block; */ + font-size: 1rem; + color: white; + text-decoration: none; + /* padding: 1em 7px; */ + /* margin: 0em 7px; */ + /* vertical-align: middle; */ + transition: text-shadow 0.2s; +} + +footer p { + color: white; +} diff --git a/public/madness/2024/index.html b/public/madness/2024/index.html new file mode 100755 index 00000000..bfb41de5 --- /dev/null +++ b/public/madness/2024/index.html @@ -0,0 +1,348 @@ + + + + Mountain Madness 2024 + + + + + + + + + + +
+
+

The CSSS presents...

+

Mountain Madness

+

March 23rd-24th, 2024

+

at the Simon Fraser University Burnaby Mountain Campus

+

+ Register +

+
+ + + + +
+ +
+
+
+

What is Mountain Madness?

+

+ The SFU Computing Science Student Society (CSSS) organizes the + Mountain Madness hackathon annually. We welcome students of all + skill levels and experience to our cozy, tight-knit hackathon. The + "Mountain" in the name pays homage to Burnaby Mountain, the original + foundation of Simon Fraser University and the scenic location for a + full weekend's worth of fun. +

+

This year's theme: A New Perspective

+
+
+
+
+

Why Mountain Madness?

+

+ We emphasize learning and creativity over commercial feasibility. + This is an opportunity to spend a weekend tinkering with your + favourite technologies to create something fun and interesting. +

+ +

+ Mountain Madness is the perfect event for everyone from + fresh-faced hackers to seasoned CS veterans. +

+
+
+
+

Frequently Asked Questions

+
+

Wait, what actually is a hackathon?

+

+ A hackathon is an event where teams work on a project inspired by an + event-provided theme. You will have 24 hours to develop something + cool at Mountain Madness. Your team will start from scratch and try + to make the coolest thing they can before the time is up. +

+
+ +
+

Where is Mountain Madness?

+

+ Registration and administration is at TASC 9204 on SFU's Burnaby + Campus. You are free to hack at other open locations on campus. +

+
+ +
+

Why should I participate?

+

+ You get experience with new technologies and navigate teamwork + dynamics to accomplish a goal. Hackathon projects are also a great + addition to a resume! +

+
+ +
+

+ I am in my first year/don't have much experience, should I still + participate? +

+

+ Yes! This hackathon is a great learning opportunity for people with + less development experience. +

+
+ +
+

Do I need to stay during the entire event?

+

+ No! You may leave and enter the venue whenever (note that most doors + are locked during the weekend). You can spend as much or as little + of the 24 hours as you wish. If you get tired, we will have sleeping + rooms available for you. Sleep still matters! +

+
+ +
+

How do we declare teams?

+

+ You do not need to know your team when you + register. You can form groups before or during the hackathon. When + you give us your submission GitHub/GitLab link you will declare your + group members. +

+
+ +
+

Will there be food?

+

Yes! We will be providing food for in person attendees.

+
+ +
+

Can I have Non-SFU people and Alumni join my team?

+

+ Yes! We will allow groups to be made up of non-SFU students however + we want a majority (> 50%) of the team to be made up of SFU + students. So a group of 5 can have up to 2 non-SFU participants. +

+
+ +
+

Can I work on my previous projects?

+

+ No, we want you to create awesome things from scratch in 24 hours. + Starting from an existing project is against the spirit of the + event. Existing open-source libraries and frameworks are fine, of + course. Ask an organizer if you are unsure. +

+
+ +
+

What size should my team be?

+

+ Teams can have between 1 and 5 members inclusive. You can work alone + if you really want to, but struggling with your team is an essential + hackathon experience! We will run a team formation event before the + event for you to form teams. From past experience groups of 3 work + well! +

+
+ +
+

How much does it cost?

+

+ $5 + fees. + This includes two meals and the opportunity to win prizes. If this + poses a barrier to entry to you please reach out to us at + csss-hackathonchair@sfu.ca +

+
+
+ +
+

Preliminary Schedule

+

+ Join the Mountain Madness 2024 Discord Server + for the latest updates. +

+

+ Join the CSSS Discord Server, too! +

+
+

Saturday, March 23

+ + + + + + + + + + + + + + + + + + + + + +
9:00 AMSign-in and Registration
9:30 AMOpening Presentation (Theme Announced)
10:00 AMHacking Begins
1:00 PMLunch
7:00 PMDinner
+
+
+

Sunday, March 24

+ + + + + + + + + + + + + + + + + +
8:30 AMSubmissions Open
10:00 AMHacking Ends (Submission Deadline)
10:30 AMProject Presentations
12:30 PMEND
+
+
+ +
+

Winners

+

+ The following teams were awarded prizes for their exceptional + projects. Congratulations to the winning teams, and everyone that + attended the hackathon! +

+
+

First place: PeakBuddies

+

+ By + Zachary Chan, Kian Hosseinkhani, Kiaan Castillo, Peiman Zhiani
+ + See Project + +

+

Second place: Droppr

+

+ By Micah Baker, Nakul Bansal, Johnny Deng, Simon Purdon
+ + See Project + +

+

Third place: Jake's Journey

+

+ By Cole McKee, Shane Hickson, Christian Cho, Arya Akhavein
+ + See Project + +

+
+

Best Presentation: Take the Scenic Route

+

+ By + Dennis Kritchko, Julian Loewenherz, Louise Ho, Lacey Swamy, Artin + Shahpoori
+ + See Project + +

+

Most Mountainous: Raccoon Game

+

+ By + Evan Chen, Emmy Fong, Keira Liu, Sophia Chipeco, Pimkwan Somchit
+ + See Project + +

+

Most Entertaining: Moving Mountains

+

+ By + Jackilyn Mcgarry, Tianying Mu, Rio Samson, Saketh Poori, Zachary + Syvenky
+ + See Project + +

+
+

Tetris Competition Winner: Open-WebUI

+

+ By Danny Liu (Contributor to Open-WebUI)
+ + Shameless Plug + +

+
+
+
+

With <3 from the CSSS

+
+
+ + diff --git a/public/tech_fair/2025/fonts/Questrial-Regular.ttf b/public/tech_fair/2025/fonts/Questrial-Regular.ttf deleted file mode 100644 index 0f8c316e..00000000 Binary files a/public/tech_fair/2025/fonts/Questrial-Regular.ttf and /dev/null differ diff --git a/public/tech_fair/2025/images/arista-booth.jpg b/public/tech_fair/2025/images/arista-booth.jpg deleted file mode 100644 index 31b56ae3..00000000 Binary files a/public/tech_fair/2025/images/arista-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/arista-booth2.jpg b/public/tech_fair/2025/images/arista-booth2.jpg deleted file mode 100644 index 31e14154..00000000 Binary files a/public/tech_fair/2025/images/arista-booth2.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/astera-labs-booth.jpg b/public/tech_fair/2025/images/astera-labs-booth.jpg deleted file mode 100644 index 80b0e058..00000000 Binary files a/public/tech_fair/2025/images/astera-labs-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/attendees1.jpg b/public/tech_fair/2025/images/attendees1.jpg deleted file mode 100644 index a8af35db..00000000 Binary files a/public/tech_fair/2025/images/attendees1.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/attendees2.jpg b/public/tech_fair/2025/images/attendees2.jpg deleted file mode 100644 index e99d5091..00000000 Binary files a/public/tech_fair/2025/images/attendees2.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/attendees3.jpg b/public/tech_fair/2025/images/attendees3.jpg deleted file mode 100644 index 4421ae2c..00000000 Binary files a/public/tech_fair/2025/images/attendees3.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/booth.jpg b/public/tech_fair/2025/images/booth.jpg deleted file mode 100644 index c74a8246..00000000 Binary files a/public/tech_fair/2025/images/booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/brave-booth.jpg b/public/tech_fair/2025/images/brave-booth.jpg deleted file mode 100644 index 0a438de1..00000000 Binary files a/public/tech_fair/2025/images/brave-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/dark-vision-booth.jpg b/public/tech_fair/2025/images/dark-vision-booth.jpg deleted file mode 100644 index 34160796..00000000 Binary files a/public/tech_fair/2025/images/dark-vision-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/fortinet-booth.jpg b/public/tech_fair/2025/images/fortinet-booth.jpg deleted file mode 100644 index 1048d5ac..00000000 Binary files a/public/tech_fair/2025/images/fortinet-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/kardium-booth.jpg b/public/tech_fair/2025/images/kardium-booth.jpg deleted file mode 100644 index 33be805e..00000000 Binary files a/public/tech_fair/2025/images/kardium-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/long-shot1.jpg b/public/tech_fair/2025/images/long-shot1.jpg deleted file mode 100644 index ec20ed3d..00000000 Binary files a/public/tech_fair/2025/images/long-shot1.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/long-shot2.jpg b/public/tech_fair/2025/images/long-shot2.jpg deleted file mode 100644 index 20258181..00000000 Binary files a/public/tech_fair/2025/images/long-shot2.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/mountain-landscape.svg b/public/tech_fair/2025/images/mountain-landscape.svg deleted file mode 100644 index 8e12c161..00000000 --- a/public/tech_fair/2025/images/mountain-landscape.svg +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/tech_fair/2025/images/mountain-laptop.svg b/public/tech_fair/2025/images/mountain-laptop.svg deleted file mode 100644 index 936e8306..00000000 --- a/public/tech_fair/2025/images/mountain-laptop.svg +++ /dev/null @@ -1,77 +0,0 @@ - -Mountain IconMountain Icon diff --git a/public/tech_fair/2025/images/offworld-booth.jpg b/public/tech_fair/2025/images/offworld-booth.jpg deleted file mode 100644 index acfeaff2..00000000 Binary files a/public/tech_fair/2025/images/offworld-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/student-group.jpg b/public/tech_fair/2025/images/student-group.jpg deleted file mode 100644 index 589a82c9..00000000 Binary files a/public/tech_fair/2025/images/student-group.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/tf-image-1.jpg b/public/tech_fair/2025/images/tf-image-1.jpg deleted file mode 100644 index 70fc0833..00000000 Binary files a/public/tech_fair/2025/images/tf-image-1.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/tf-image-2.jpg b/public/tech_fair/2025/images/tf-image-2.jpg deleted file mode 100644 index f8f2a90b..00000000 Binary files a/public/tech_fair/2025/images/tf-image-2.jpg and /dev/null differ diff --git a/public/tech_fair/2025/images/vigilon-booth.jpg b/public/tech_fair/2025/images/vigilon-booth.jpg deleted file mode 100644 index dfa49008..00000000 Binary files a/public/tech_fair/2025/images/vigilon-booth.jpg and /dev/null differ diff --git a/public/tech_fair/2025/index.html b/public/tech_fair/2025/index.html deleted file mode 100644 index 2194cb97..00000000 --- a/public/tech_fair/2025/index.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - - - - - Tech Fair 2025 - - - - -
-
- Tech Fair Logo -

Tech Fair 2025

-

Oct 15, 2025 @ AQ North

-

brought to you by the CSSS

-
-
- -
-
-
- -
-
-

What is Tech Fair?

-
-

- Long ago, when Java ran on less than 3 billion devices, Tech Fair was the CSSS's way - of making sure our society members learned about the world beyond SFU. As time - marched on, Tech Fair disappeared and was slowly forgotten... -

- ...but, just like everything else, Tech Fair was rebooted! Since 2022, Tech Fair has - been growing which means more booths, more students and more LinkedIn connections. -

-
-

- Whether you're a first year or on your last semester, Tech Fair is your opportunity - to find out what companies are looking for. It's also- -

-
-
-

ChatGPT, summarize this section

-
-
    -
  • - When: Wednesday, October 15, 2025 from - 10AM - 4PM -
  • -
  • - Where: SFU Burnaby campus in - Academic Quadrangle's northern corridor -
  • -
  • - Who: Over 2,500 Computing Science students, tech companies in - various sectors and you -
  • -
-
-

- In summary, Tech Fair is an excellent opportunity to meet your future co-workers! -

-
-
-
- -
- -
- -
-
-

I'm a student, why should I go?

-

Here are 3 reasons:

-
    -
  1. - You saw content about people making $250k/year after a 6 month boot camp and - thought it would be easy money. -
    You are passionate about tech and want to use your highly technical skills - to solve difficult problems. -
  2. -
  3. - You enrolled in CS after seeing the tech boom of 2020 and thought you'd walk - into a job after graduation. -
    You've always wanted to work in a tech related field, but you want to make - sure your skills are being used for the right company. -
  4. -
  5. - You're super desperate after the tech gold rush ended and now you're trying to - get a referral for any job related to your degree. -
    You want to talk to industry professionals about their company and what you - can offer each other! -
  6. -
-
-

- Most importantly of all, Tech Fair is free and organized for YOU. -
-
-

- - -
-
- -
- -
- -
-
-

I work for a company

-
-

- Tech Fair is a great opportunity to expand your brand and market your company. -

- Reach out to over 2,000 Computer Science students who are waiting be your next - rockstar! -

- Influence aspiring developers by telling them about your company's culture, - opportunities, and impact. Who knows, you may find the perfect person that will - thrive in your workplace! -

-
-
-

My company is interested, what else can you tell me?

-
-

- Your spot comes with a bulletin board, a table and free food. -

- Our attendance fee for companies is $800. We want to ensure that as - many companies attend, so every single studio, enterprise, and startup in the area - is invited. To make sure costs are not an issue, if your company has - less than 50 employees we offer a discounted price of - $500.

- If you'd like to know more, check out our - sponsorship package.

- Don't miss this chance to show off who you are! -

-
-
-

How do I sign up?

-
-

- Send an email to - csss-techfair@sfu.ca with: -

-
    -
  • Your company's name
  • -
  • Any questions about the event
  • -
-

We promise to get back to you as soon as possible!

-
-
- -
- -
-

See You There!

- -
-
-
- - - - diff --git a/public/tech_fair/2025/main.js b/public/tech_fair/2025/main.js deleted file mode 100644 index f0aecae6..00000000 --- a/public/tech_fair/2025/main.js +++ /dev/null @@ -1,97 +0,0 @@ -/** Photos in the photo gallery element. */ -let photos; - -/** Variables declared in the :root component in `style.css` */ -const cssVars = getComputedStyle(document.querySelector(':root')); - -/** The size of rem, in pixels */ -const remSize = parseFloat(getComputedStyle(document.documentElement).fontSize); - -/** The size of the header in pixels. */ -const headerSize = parseFloat(cssVars.getPropertyValue('--header-height')) * remSize; - -/** Checks if the page is scrolled to the top. */ -let isAtTop = window.scrollY > headerSize; - -function setPopInEffect() { - for (const photo of photos) { - gsap.fromTo( - photo, - { - opacity: 0, - y: 100, - duration: 2 - }, - { - scrollTrigger: photo, - opacity: 1, - y: 0 - } - ); - } -} - -function setScrolledEffect() { - const scrollTrigger = { - trigger: '#header', - start: 'bottom top', - toggleActions: 'play none reverse none' - }; - - const timing = 0.3; - - gsap.to('#header', { - scrollTrigger, - borderBottom: 'solid black 1px', - duration: 0.1 - }); - gsap.to('#nav-list', { - scrollTrigger, - padding: 0, - duration: timing - }); - gsap.to('#home-link', { - scrollTrigger, - height: 0, - width: 0, - x: '-5rem', - y: '-1rem', - duration: timing, - ease: 'none' - }); - gsap.to('#home-logo', { - scrollTrigger, - height: 0, - width: 0, - x: '-5rem', - y: '-1rem', - duration: timing, - ease: 'none' - }); -} - -function setIncrementalText() { - let split = SplitText.create('.response', { - type: 'words' - }); - - gsap.from(split.words, { - scrollTrigger: { - trigger: '.response', - start: 'top bottom', - once: true - }, - autoAlpha: 0, - stagger: 0.05 - }); -} - -document.addEventListener('DOMContentLoaded', () => { - gsap.registerPlugin(ScrollTrigger, SplitText, ScrollSmoother); - photos = document.querySelectorAll('.gallery-content'); - document.body.style.display = 'block'; - - setPopInEffect(); - setScrolledEffect(); - setIncrementalText(); -}); diff --git a/public/tech_fair/2025/style.css b/public/tech_fair/2025/style.css deleted file mode 100644 index 66ee8488..00000000 --- a/public/tech_fair/2025/style.css +++ /dev/null @@ -1,337 +0,0 @@ -@font-face { - font-family: 'Questrial'; - src: url('fonts/Questrial-Regular.ttf') format('truetype') -} - -:root { - /* Structure */ - --header-height: 3rem; - --square-logo-dim: 2.5rem; - --paper-shadow: 5px 5px 7px black; - --photo-w: 460px; -} - -body { - font-family: 'Questrial'; - background-image: url('./images/mountain-landscape.svg'); - background-position: center; - background-size: cover; - background-repeat: no-repeat; -} - -ul, -ol { - padding-left: 1rem; -} - -a:link, -a:visited { - color: black; - text-decoration: none; -} - -a:link:active, -a:visited:active { - color: black; -} - -.centering { - display: flex; - justify-content: center; -} - -.chat { - background-color: white; - box-shadow: -5px 5px black; - border-radius: 20px; - border: 1px solid black; - width: fit-content; -} - - -.sticky-note { - background-color: yellow; - aspect-ratio: 1 / 1; - box-shadow: var(--paper-shadow); -} - -.photo { - position: relative; - background-color: white; - box-shadow: var(--paper-shadow); - border: 5px solid transparent; - - width: 100%; - max-width: var(--photo-w); - height: auto; - transform: rotate(-5deg); - - &>img { - object-fit: contain; - } - - &:nth-child(2n) { - transform: rotate(5deg); - } - - &:hover { - transform: scale(1.25); - z-index: 3; - transition: transform 0.1s linear; - } -} - -header { - width: 100%; - z-index: 10; - position: fixed; - top: 0; - - &>nav { - display: flex; - align-items: center; - justify-content: center; - position: relative; - padding: 0.25rem; - width: 100%; - backdrop-filter: blur(5px); - - /* CSSS Logo */ - &>a { - /* This keeps the icon at the far left and the nav links centered */ - position: absolute; - left: 1vw; - top: 1vh; - - &>#home-logo { - width: var(--square-logo-dim); - height: var(--square-logo-dim); - } - } - - &>ul { - display: flex; - justify-content: space-evenly; - list-style-type: none; - margin: 0; - padding: 1rem 0 0; - - &>li { - - &>a { - text-align: center; - padding: 0 1rem; - } - } - } - } -} - -.hero { - height: 110vh; - display: flex; - justify-content: center; - align-items: center; - text-align: center; - - &>.hero-content { - position: relative; - height: 70%; - width: 90%; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - &>p { - font-size: max(1rem, 2vw); - } - - h1 { - font-size: max(2rem, 5vw); - } - - &>img { - width: min(30vw, 30rem); - height: auto; - } - - &>section { - padding: 1rem; - } - } -} - -main { - &>article { - display: grid; - - &>section { - display: flex; - flex-direction: column; - align-items: center; - padding: 0 1rem 0; - - &>aside { - display: none; - } - - & .section-content { - margin: var(--header-height) 0 2rem; - padding: 1.5rem; - max-width: 40rem; - - & a { - color: #d16711; - } - } - - &>.main { - display: flex; - flex-direction: column; - align-items: center; - - &>.chat-section { - display: flex; - flex-direction: column; - align-items: center; - - &>.right { - align-self: flex-end; - display: block; - box-shadow: 5px 5px black; - width: fit-content; - max-width: 80%; - margin-right: 1rem; - } - - &>.left { - align-self: flex-start; - width: fit-content; - max-width: 80%; - margin-left: 1rem; - } - - } - - &>p, - ul, - ol { - font-size: clamp(1rem, 1.5vw, 1.05rem); - } - - &>ul, - ol { - margin: 0; - - del { - color: #c5c5c5; - } - } - } - } - } -} - - -#final { - display: flex; - justify-content: center; - align-items: center; - padding-bottom: 3rem; - - &>h2 { - text-align: center; - font-size: 2rem; - } - - &>.gallery { - display: flex; - flex-wrap: wrap; - justify-content: center; - width: 70vw; - } -} - -footer { - display: flex; - flex-direction: column; - align-items: center; - color: white; - - .icons { - display: flex; - gap: 0.5rem; - - - & .icon { - width: 1.5em; - height: 1.5em; - } - } -} - -/* Media queries */ -@media (max-width: 400px) { - header>nav { - - /* These will ensure the nav links will be pushed to the right so CSSS icon will become - * part of the nav's flow again */ - &>a { - position: relative; - left: 0; - - &>img { - height: 2rem; - width: 2rem; - } - } - - &>ul { - flex-shrink: 0; - } - } - - #students { - height: fit-content; - } -} - -@media (min-width: 1200px) { - main { - &>article { - &>section { - display: grid; - grid-template-columns: 1fr 50% 1fr; - grid-template-areas: - 'left center right'; - - &>.main { - grid-area: center; - display: flex; - flex-direction: column; - align-items: center; - } - - &>aside { - display: flex; - flex-direction: column; - justify-content: space-between; - row-gap: 5rem; - height: fit-content; - padding: var(--header-height) 0 0; - } - - &>aside:nth-of-type(1) { - grid-area: left; - align-items: end; - } - - &>aside:nth-of-type(2) { - grid-area: right; - align-items: start; - } - } - } - } -} diff --git a/static/js/ScrollSmoother.min.js b/static/js/ScrollSmoother.min.js new file mode 100644 index 00000000..1bffa1c7 --- /dev/null +++ b/static/js/ScrollSmoother.min.js @@ -0,0 +1,11 @@ +/*! + * ScrollSmoother 3.13.0 + * https://gsap.com + * + * @license Copyright 2025, GreenSock. All rights reserved. + * Subject to the terms at https://gsap.com/standard-license. + * @author: Jack Doyle, jack@greensock.com + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r=v())&&(n=((r=v())-(t=e.ratio<0||1Math.abs(l)?a:l)/(1-t),f=-c*t;return 0t.end&&(s+=t.distance),n-=t.distance}o=d+s+y*((I.utils.clamp(e.start,e.end,r)-e.start-s)/(n-e.start)-c)}m.length&&!a&&m.forEach(function(e){return e(o-s)}),o=function _round(e){return Math.round(1e5*e)/1e5||0}(o+f),l?(l.resetTo("y",o,-F,!0),M&&l.progress(1)):(g.y=o+"px",g.renderTransform(1))}}})),I.core.getCache(s.trigger).stRevert=Ra,s.startY=d,s.pins=p,s.markers=m,s.ratio=i,s.autoSpeed=a,r.style.willChange="transform"),s}var n,S,e,i,b,s,a,l,c,f,r,u,h,d,g,p,m=t.smoothTouch,w=t.onUpdate,T=t.onStop,_=t.smooth,C=t.onFocusIn,P=t.normalizeScroll,x=t.wholePixels,R=this,E=t.effectsPrefix||"",k=Y.getScrollFunc(U),H=1===Y.isTouch?!0===m?.8:parseFloat(m)||0:0===_||!1===_?0:parseFloat(_)||.8,A=H&&+t.speed||1,N=0,F=0,M=1,z=J(0),B={y:0},L="undefined"!=typeof ResizeObserver&&!1!==t.autoResize&&new ResizeObserver(function(){if(!Y.isRefreshing){var e=v(S)*A;e<-N&&Ha(e),$.restart(!0)}});function refreshHeight(){return e=n.clientHeight,n.style.overflow="visible",K.style.height=U.innerHeight+(e-U.innerHeight)/A+"px",e-U.innerHeight}Pa(),Y.addEventListener("killAll",Pa),I.delayedCall(.5,function(){return M=0}),this.scrollTop=Ha,this.scrollTo=function(e,t,r){var n=I.utils.clamp(0,v(),isNaN(e)?o.offset(e,r,!!t&&!f):+e);t?f?I.to(o,{duration:H,scrollTop:n,overwrite:"auto",ease:W}):k(n):Ha(n)},this.offset=function(e,t,r){var n,o=(e=q(e)[0]).style.cssText,i=Y.create({trigger:e,start:t||"top top"});return b&&(M?Y.refresh():Na([i],!0)),n=i.start/(r?A:1),i.kill(!1),e.style.cssText=o,I.core.getCache(e).uncache=1,n},this.content=function(e){if(arguments.length){var t=q(e||"#smooth-content")[0]||console.warn("ScrollSmoother needs a valid content element.")||K.children[0];return t!==n&&(c=(n=t).getAttribute("style")||"",L&&L.observe(n),I.set(n,{overflow:"visible",width:"100%",boxSizing:"border-box",y:"+=0"}),H||I.set(n,{clearProps:"transform"})),this}return n},this.wrapper=function(e){return arguments.length?(S=q(e||"#smooth-wrapper")[0]||function _wrap(e){var t=j.querySelector(".ScrollSmoother-wrapper");return t||((t=j.createElement("div")).classList.add("ScrollSmoother-wrapper"),e.parentNode.insertBefore(t,e),t.appendChild(e)),t}(n),l=S.getAttribute("style")||"",refreshHeight(),I.set(S,H?{overflow:"hidden",position:"fixed",height:"100%",width:"100%",top:0,left:0,right:0,bottom:0}:{overflow:"visible",position:"relative",width:"100%",height:"auto",top:"auto",bottom:"auto",left:"auto",right:"auto"}),this):S},this.effects=function(e,t){if(b=b||[],!e)return b.slice(0);(e=q(e)).forEach(function(e){for(var t=b.length;t--;)b[t].trigger===e&&b[t].kill()});t=t||{};var r,n,o=t.speed,i=t.lag,s=t.effectsPadding,a=[];for(r=0;rr._dp._time,u=N,B.y=0,H&&(1===Y.isTouch&&(S.style.position="absolute"),S.scrollTop=0,1===Y.isTouch&&(S.style.position="fixed"))}},onRefresh:function onRefresh(e){e.animation.invalidate(),e.setPositions(e.start,refreshHeight()/A),h||Fa(e),B.y=-k()*A,Ga(B.y),M||(h&&(g=!1),e.animation.progress(I.utils.clamp(0,1,u/A/-e.end))),h&&(e.progress-=.001,e.update()),ScrollSmoother.isRefreshing=!1},id:"ScrollSmoother",scroller:U,invalidateOnRefresh:!0,start:0,refreshPriority:-9999,end:function end(){return refreshHeight()/A},onScrubComplete:function onScrubComplete(){z.reset(),T&&T(o)},scrub:H||!0}),this.smooth=function(e){return arguments.length&&(A=(H=e||0)&&+t.speed||1,i.scrubDuration(e)),i.getTween()?i.getTween().duration():0},i.getTween()&&(i.getTween().vars.ease=t.ease||W),this.scrollTrigger=i,t.effects&&this.effects(!0===t.effects?"[data-"+E+"speed], [data-"+E+"lag]":t.effects,{effectsPadding:t.effectsPadding,refresh:!1}),t.sections&&this.sections(!0===t.sections?"[data-section]":t.sections),O.forEach(function(e){e.vars.scroller=S,e.revert(!1,!0),e.init(e.vars,e.animation)}),this.paused=function(e,t){return arguments.length?(!!f!==e&&(e?(i.getTween()&&i.getTween().pause(),k(-N/A),z.reset(),(r=Y.normalizeScroll())&&r.disable(),(f=Y.observe({preventDefault:!0,type:"wheel,touch,scroll",debounce:!1,allowClicks:!0,onChangeY:function onChangeY(){return Ha(-N)}})).nested=X(G,"wheel,touch,scroll",!0,!1!==t)):(f.nested.kill(),f.kill(),f=0,r&&r.enable(),i.progress=(-N/A-i.start)/(i.end-i.start),Fa(i))),this):!!f},this.kill=this.revert=function(){o.paused(!1),Fa(i),i.kill();for(var e=(b||[]).concat(s||[]),t=e.length;t--;)e[t].kill();Y.scrollerProxy(S),Y.removeEventListener("killAll",Pa),Y.removeEventListener("refresh",Oa),S.style.cssText=l,n.style.cssText=c;var r=Y.defaults({});r&&r.scroller===S&&Y.defaults({scroller:U}),o.normalizer&&Y.normalizeScroll(!1),clearInterval(a),Q=null,L&&L.disconnect(),K.style.removeProperty("height"),U.removeEventListener("focusin",Ka)},this.refresh=function(e,t){return i.refresh(e,t)},P&&(this.normalizer=Y.normalizeScroll(!0===P?{debounce:!0,content:!H&&n}:P)),Y.config(t),"scrollBehavior"in U.getComputedStyle(K)&&I.set([K,G],{scrollBehavior:"auto"}),U.addEventListener("focusin",Ka),a=setInterval(Ba,250),"loading"===j.readyState||requestAnimationFrame(function(){return Y.refresh()})}r.version="3.13.0",r.create=function(e){return Q&&e&&Q.content()===q(e.content)[0]?Q:new r(e)},r.get=function(){return Q},t()&&I.registerPlugin(r),e.ScrollSmoother=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}}); + diff --git a/static/js/ScrollTrigger.min.js b/static/js/ScrollTrigger.min.js new file mode 100644 index 00000000..ac733961 --- /dev/null +++ b/static/js/ScrollTrigger.min.js @@ -0,0 +1,11 @@ +/*! + * ScrollTrigger 3.13.0 + * https://gsap.com + * + * @license Copyright 2025, GreenSock. All rights reserved. + * Subject to the terms at https://gsap.com/standard-license. + * @author: Jack Doyle, jack@greensock.com + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r=Math.abs(r)?t:r}function P(){(Ae=Se.core.globals().ScrollTrigger)&&Ae.core&&function _integrate(){var e=Ae.core,r=e.bridge||{},t=e._scrollers,n=e._proxies;t.push.apply(t,ze),n.push.apply(n,Ye),ze=t,Ye=n,o=function _bridge(e,t){return r[e](t)}}()}function Q(e){return Se=e||r(),!ke&&Se&&"undefined"!=typeof document&&document.body&&(Te=window,Me=(Ce=document).documentElement,Ee=Ce.body,t=[Te,Ce,Me,Ee],Se.utils.clamp,Be=Se.core.context||function(){},Oe="onpointerenter"in Ee?"pointer":"mouse",Pe=E.isTouch=Te.matchMedia&&Te.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Te||0=i,n=Math.abs(t)>=i;k&&(r||n)&&k(se,e,t,me,ye),r&&(m&&0Math.abs(t)?"x":"y",oe=!0),"y"!==ae&&(me[2]+=e,se._vx.update(e,!0)),"x"!==ae&&(ye[2]+=t,se._vy.update(t,!0)),n?ee=ee||requestAnimationFrame(kf):kf()}function nf(e){if(!hf(e,1)){var t=(e=N(e,s)).clientX,r=e.clientY,n=t-se.x,i=r-se.y,o=se.isDragging;se.x=t,se.y=r,(o||(n||i)&&(Math.abs(se.startX-t)>=a||Math.abs(se.startY-r)>=a))&&(re=o?2:1,o||(se.isDragging=!0),mf(n,i))}}function qf(e){return e.touches&&1=e)return a[n];return a[n-1]}for(n=a.length,e+=r;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,t,r){void 0===r&&(r=.001);var n=o(e);return!t||Math.abs(n-e)r&&(n*=t/100),e=e.substr(0,r-1)),e=n+(e in q?q[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e}function Eb(e,t,r,n,i,o,a,s){var l=i.startColor,c=i.endColor,u=i.fontSize,f=i.indent,d=i.fontWeight,p=Fe.createElement("div"),g=Ma(r)||"fixed"===z(r,"pinType"),h=-1!==e.indexOf("scroller"),v=g?We:r,b=-1!==e.indexOf("start"),m=b?l:c,y="border-color:"+m+";font-size:"+u+";color:"+m+";font-weight:"+d+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return y+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(y+=(n===qe?I:Y)+":"+(o+parseFloat(f))+"px;"),a&&(y+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),p._isStart=b,p.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),p.style.cssText=y,p.innerText=t||0===t?e+"-"+t:e,v.children[0]?v.insertBefore(p,v.children[0]):v.appendChild(p),p._offset=p["offset"+n.op.d2],X(p,0,n,b),p}function Jb(){return 34We.clientWidth)||(ze.cache++,v?T=T||requestAnimationFrame(Z):Z(),st||V("scrollStart"),st=at())}function Lb(){y=Xe.innerWidth,m=Xe.innerHeight}function Mb(e){ze.cache++,!0!==e&&(Ke||h||Fe.fullscreenElement||Fe.webkitFullscreenElement||b&&y===Xe.innerWidth&&!(Math.abs(Xe.innerHeight-m)>.25*Xe.innerHeight))||c.restart(!0)}function Pb(){return yb(ne,"scrollEnd",Pb)||Mt(!0)}function Sb(e){for(var t=0;tt,n=e._startClamp&&e.start>=t;(r||n)&&e.setPositions(n?t-1:e.start,r?Math.max(n?t:e.start+1,t):e.end,!0)}),$b(!1),et=0,r.forEach(function(e){return e&&e.render&&e.render(-1)}),ze.forEach(function(e){Ua(e)&&(e.smooth&&requestAnimationFrame(function(){return e.target.style.scrollBehavior="smooth"}),e.rec&&e(e.rec))}),Ub(_,1),c.pause(),Ct++,Z(rt=2),kt.forEach(function(e){return Ua(e.vars.onRefresh)&&e.vars.onRefresh(e)}),rt=ne.isRefreshing=!1,V("refresh")}else xb(ne,"scrollEnd",Pb)},j=0,Et=1,Z=function _updateAll(e){if(2===e||!rt&&!k){ne.isUpdating=!0,it&&it.update(0);var t=kt.length,r=at(),n=50<=r-D,i=t&&kt[0].scroll();if(Et=i=Ra(be,he)){if(oe&&Ae()&&!de)for(o=oe.parentNode;o&&o!==We;)o._pinOffset&&(B-=o._pinOffset,I-=o._pinOffset),o=o.parentNode}else i=nb(ae),s=he===qe,a=Ae(),Q=parseFloat(K(he.a))+w,!y&&1=I})},ke.update=function(e,t,r){if(!de||r||e){var n,i,o,a,s,l,c,u=!0===rt?re:ke.scroll(),f=e?0:(u-B)/F,d=f<0?0:1u+(u-D)/(at()-Ve)*E&&(d=.9999)),d!==p&&ke.enabled){if(a=(s=(n=ke.isActive=!!d&&d<1)!=(!!p&&p<1))||!!d!=!!p,ke.direction=p=Ra(be,he),fe)if(e||!n&&!l)pc(ae,V);else{var g=_t(ae,!0),h=u-B;pc(ae,We,g.top+(he===qe?h:0)+xt,g.left+(he===qe?0:h)+xt)}Pt(n||l?W:G),$&&d<1&&n||b(Q+(1!==d||l?0:j))}}else b(Ja(Q+j*d));!ue||A.tween||Ke||ot||te.restart(!0),T&&(s||ce&&d&&(d<1||!tt))&&Je(T.targets).forEach(function(e){return e.classList[n||ce?"add":"remove"](T.className)}),!k||ve||e||k(ke),a&&!Ke?(ve&&(c&&("complete"===o?O.pause().totalProgress(1):"reset"===o?O.restart(!0).pause():"restart"===o?O.restart(!0):O[o]()),k&&k(ke)),!s&&tt||(C&&s&&Ya(ke,C),xe[i]&&Ya(ke,xe[i]),ce&&(1===d?ke.kill(!1,1):xe[i]=0),s||xe[i=1===d?1:3]&&Ya(ke,xe[i])),pe&&!n&&Math.abs(ke.getVelocity())>(Va(pe)?pe:2500)&&(Xa(ke.callbackAnimation),ee?ee.progress(1):Xa(O,"reverse"===o?1:!d,1))):ve&&k&&!Ke&&k(ke)}if(x){var v=de?u/de.duration()*(de._caScrollDist||0):u;y(v+(q._isFlipped?1:0)),x(v)}S&&S(-u/de.duration()*(de._caScrollDist||0))}},ke.enable=function(e,t){ke.enabled||(ke.enabled=!0,xb(be,"resize",Mb),me||xb(be,"scroll",Kb),Te&&xb(ScrollTrigger,"refreshInit",Te),!1!==e&&(ke.progress=Oe=0,R=D=Ee=Ae()),!1!==t&&ke.refresh())},ke.getTween=function(e){return e&&A?A.tween:ee},ke.setPositions=function(e,t,r,n){if(de){var i=de.scrollTrigger,o=de.duration(),a=i.end-i.start;e=i.start+a*e/o,t=i.start+a*t/o}ke.refresh(!1,!1,{start:Ea(e,r&&!!ke._startClamp),end:Ea(t,r&&!!ke._endClamp)},n),ke.update()},ke.adjustPinSpacing=function(e){if(Z&&e){var t=Z.indexOf(he.d)+1;Z[t]=parseFloat(Z[t])+e+xt,Z[1]=parseFloat(Z[1])+e+xt,Pt(Z)}},ke.disable=function(e,t){if(ke.enabled&&(!1!==e&&ke.revert(!0,!0),ke.enabled=ke.isActive=!1,t||ee&&ee.pause(),re=0,n&&(n.uncache=1),Te&&yb(ScrollTrigger,"refreshInit",Te),te&&(te.pause(),A.tween&&A.tween.kill()&&(A.tween=0)),!me)){for(var r=kt.length;r--;)if(kt[r].scroller===be&&kt[r]!==ke)return;yb(be,"resize",Mb),me||yb(be,"scroll",Kb)}},ke.kill=function(e,t){ke.disable(e,t),ee&&!t&&ee.kill(),a&&delete Tt[a];var r=kt.indexOf(ke);0<=r&&kt.splice(r,1),r===je&&0o&&(b()>o?a.progress(1)&&b(o):a.resetTo("scrollY",o))}Wa(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var n,o,l,i,a,c,u,s,f=e.normalizeScrollX,t=e.momentum,r=e.allowNestedScroll,d=e.onRelease,p=J(e.target)||Ue,g=Ne.core.globals().ScrollSmoother,h=g&&g.get(),v=R&&(e.content&&J(e.content)||h&&!1!==e.content&&!h.smooth()&&h.content()),b=L(p,qe),m=L(p,He),y=1,x=(E.isTouch&&Xe.visualViewport?Xe.visualViewport.scale*Xe.visualViewport.width:Xe.outerWidth)/Xe.innerWidth,_=0,w=Ua(t)?function(){return t(n)}:function(){return t||2.8},S=yc(p,e.type,!0,r),k=Ia,T=Ia;return v&&Ne.set(v,{y:"+=0"}),e.ignoreCheck=function(e){return R&&"touchmove"===e.type&&function ignoreDrag(){if(i){requestAnimationFrame(Gq);var e=Ja(n.deltaY/2),t=T(b.v-e);if(v&&t!==b.v+b.offset){b.offset=t-b.v;var r=Ja((parseFloat(v&&v._gsap.y)||0)-b.offset);v.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",v._gsap.y=r+"px",b.cacheID=ze.cache,Z()}return!0}b.offset&&Kq(),i=!0}()||1.05=o||o-1<=r)&&Ne.to({},{onUpdate:Qq,duration:i})}else s.restart(!0);d&&d(e)},e.onWheel=function(){a._ts&&a.pause(),1e3a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function za(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function Aa(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0}function Ba(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Da(t,e,r,i){return t._startAt&&(L?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Fa(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ha(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ia(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||U)||0))}function Ja(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0U)&&e.render(r,!0)),Ba(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur(n=Math.abs(n))&&(a=i,o=n);return a}function ub(t){return Aa(t),t.scrollTrigger&&t.scrollTrigger.kill(!!L),t.progress()<1&&Pt(t,"onInterrupt"),t}function xb(t){if(t)if(t=!t.name&&t.default||t,x()||t.headless){var e=t.name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:ue,add:Vt,kill:de,modifier:he,rawVars:0},a={targetTest:0,get:0,getSetter:ie,aliases:{},register:0};if(Ft(),t!==i){if(pt[e])return;ra(i,ra(va(t,n),a)),yt(i.prototype,yt(n,va(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(ze,i,ge)}else Ct.push(t)}function Ab(t,e,r){return(6*(t+=t<0?1:1>16,e>>8&St,e&St]:0:Dt.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),Dt[e])p=Dt[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&St,p&St,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&St,e&St]}else if("hsl"===e.substr(0,3))if(p=c=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3=N?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1=r&&te)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0=i&&(a instanceof Jt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(t.parent===this&&za(this,t),t===this._recent&&(this._recent=this._last),Ba(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Rt.time-(0r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Jt.to(i,ra({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||U,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Sa(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,ra({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),sb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),sb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+U)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Ba(this)},e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Ba(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=N;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,La(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Sa(a,a===I&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(I._ts&&(oa(I,Ha(t,I)),f=Rt.frame),Rt.frame>=mt){mt+=X.autoSleep||120;var e=I._first;if((!e||!e._ts)&&X.autoSleep&&Rt._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Rt.sleep()}}},Timeline}(Nt);ra(Qt.prototype,{_lock:0,_hasPause:0,_forcing:0});function bc(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Gt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||J(t))return r(t)?Gt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Gt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new ge(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==d))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function hc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Ut,qt,Vt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var d,c=t[e],p="get"!==i?i:s(c)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():c,_=s(c)?l?re:te:$t;if(r(n)&&(~n.indexOf("random(")&&(n=pb(n)),"="===n.charAt(1)&&(!(d=ka(p,n)+(Za(p)||0))&&0!==d||(n=d))),!f||p!==n||qt)return isNaN(p*n)||""===n?(c||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,d,c,p,_=new ge(this._pt,t,e,0,1,oe,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(c=~(i+="").indexOf("random("))&&(i=pb(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(d=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:d,c:"="===l.charAt(1)?ka(d,l)-d:parseFloat(l)-d,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||hc(l,x[l],u,x.easeEach);for(l in u)for(C=u[l].sort(function(t,e){return t.t-e.t}),o=z=0;o=t._tDur||e<0)&&t.ratio===u&&(u&&Aa(t,1),r||L||(Pt(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),E.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i,n){c||Rt.wake(),this._ts||this.play();var a,s=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Wt(this,s),a=this._ease(s/this._dur),function _updatePropTweens(t,e,r,i,n,a,s,o){var u,h,l,f,d=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!d)for(d=t._ptCache[e]=[],l=t._ptLookup,f=t._targets.length;f--;){if((u=l[f][e])&&u.d&&u.d._pt)for(u=u.d._pt;u&&u.p!==e&&u.fp!==e;)u=u._next;if(!u)return qt=1,t.vars[e]="+=0",Wt(t,s),qt=0,o?R(e+" not eligible for reset"):1;d.push(u)}for(f=d.length;f--;)(u=(h=d[f])._pt||h).s=!i&&0!==i||n?u.s+(i||0)+a*u.c:i,u.c=r-u.s,h.e&&(h.e=ia(r)+Za(h.e)),h.b&&(h.b=u.s+Za(h.b))}(this,t,e,r,i,a,s,n)?this.resetTo(t,e,r,i,1):(Ja(this,0),this.parent||ya(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?ub(this):this.scrollTrigger&&this.scrollTrigger.kill(!!L),this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Ut&&!0!==Ut.vars.overwrite)._first||ub(this),this.parent&&i!==this.timeline.totalDuration()&&Sa(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,d=t?Ot(t):f,c=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,d))return"all"===e&&(this._pt=0),ub(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~d.indexOf(f[l]))for(u in a=c[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||za(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&ub(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Wa(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Wa(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return I.killTweensOf(t,e,r)},Tween}(Nt);ra(Jt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Jt[r]=function(){var t=new Qt,e=kt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function pc(t,e,r){return t.setAttribute(e,r)}function xc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var $t=function _setterPlain(t,e,r){return t[e]=r},te=function _setterFunc(t,e,r){return t[e](r)},re=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},ie=function _getSetter(t,e){return s(t[e])?te:u(t[e])&&t.setAttribute?pc:$t},ne=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},se=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},oe=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},ue=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},he=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},de=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?za(this,i,"_pt"):i.dep||(e=1),i=r;return!e},_e=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},ge=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=xc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ne,this.d=s||this,this.set=o||$t,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Jt,ot.TimelineLite=ot.TimelineMax=Qt,I=new Qt({sortChildren:!1,defaults:Z,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),X.stringFilter=Gb;function Fc(t){return(be[t]||Me).map(function(t){return t()})}function Gc(){var t=Date.now(),o=[];2