|
1 | 1 | <section class="relative hero min-h-50%"> |
2 | | - <div class="hero-content px-5 py-5 lg:py-10 w-full flex-col md:flex-row" id="events"> |
3 | | - <div class="max-w-md lg:max-w-2xl text-center md:text-start"> |
| 2 | + <div |
| 3 | + class="absolute inset-0 -z-40 bg-base-content [mask-image:url(https://cdn.redbrick.dcu.ie/atlas/static/svg/grid-bg.svg)]"> |
| 4 | + </div> |
| 5 | + <div class="absolute inset-0 -z-50 bg-base-200"></div> |
| 6 | + <div |
| 7 | + class="hero-content px-5 py-5 lg:py-10 w-full flex-col md:flex-row-reverse gap-10 lg:gap-20 items-center justify-between" |
| 8 | + id="events"> |
| 9 | + <div class="max-w-md lg:max-w-2xl text-center md:text-start z-10"> |
4 | 10 | <h1 class="text-3xl lg:text-5xl font-bold"> |
5 | | - Events |
| 11 | + {{ site.home.events.heading }} |
6 | 12 | </h1> |
7 | 13 | <p class="mt-4 text-md/relaxed"> |
8 | 14 | Redbrick hosts a variety of events throughout the year, from LAN parties to workshops and talks... |
9 | 15 | </p> |
10 | 16 | </div> |
11 | | - <div class="relative -z-20 perspective-1600 w-full md:w-1/2 aspect-square"> |
12 | | - <img class="hero-card absolute bottom-[62%] left-[12%] h-[32%] object-contain" |
13 | | - src="{{ site.home.hero.graphic.image1.image }}" |
14 | | - alt="{{ site.home.hero.graphic.image1.alt }}" data-events-card /> |
15 | | - <img class="hero-card absolute bottom-[30%] left-[35%] h-[50%] object-contain" |
16 | | - src="{{ site.home.hero.graphic.image2.image }}" |
17 | | - alt="{{ site.home.hero.graphic.image2.alt }}" data-events-card /> |
18 | | - <img class="hero-card absolute bottom-[10%] left-[10%] h-[26%] object-contain" |
19 | | - src="{{ site.home.hero.graphic.image3.image }}" |
20 | | - alt="{{ site.home.hero.graphic.image3.alt }}" data-events-card /> |
21 | | - <img class="hero-card absolute bottom-[10%] left-[50%] h-[22%] object-contain" |
22 | | - src="{{ site.home.hero.graphic.image4.image }}" |
23 | | - alt="{{ site.home.hero.graphic.image4.alt }}" data-events-card /> |
| 17 | + <div class="relative z-10 perspective-1600 w-full md:w-1/2 aspect-square"> |
| 18 | + <img |
| 19 | + class="hero-card absolute bottom-[62%] left-[12%] h-[32%] object-contain drop-shadow-2xl hover:-translate-y-2 hover:scale-105" |
| 20 | + src="{{ site.home.events.graphic.image1.image }}" alt="{{ site.home.events.graphic.image1.alt }}" |
| 21 | + data-events-img /> |
| 22 | + <img |
| 23 | + class="hero-card absolute bottom-[30%] left-[35%] h-[50%] object-contain drop-shadow-2xl hover:-translate-y-2 hover:scale-105" |
| 24 | + src="{{ site.home.events.graphic.image2.image }}" alt="{{ site.home.events.graphic.image2.alt }}" |
| 25 | + data-events-img /> |
| 26 | + <img |
| 27 | + class="hero-card absolute bottom-[10%] left-[10%] h-[26%] object-contain drop-shadow-2xl hover:-translate-y-2 hover:scale-105" |
| 28 | + src="{{ site.home.events.graphic.image3.image }}" alt="{{ site.home.events.graphic.image3.alt }}" |
| 29 | + data-events-img /> |
| 30 | + <img |
| 31 | + class="hero-card absolute bottom-[10%] left-[50%] h-[22%] object-contain drop-shadow-2xl hover:-translate-y-2 hover:scale-105" |
| 32 | + src="{{ site.home.events.graphic.image4.image }}" alt="{{ site.home.events.graphic.image4.alt }}" |
| 33 | + data-events-img /> |
24 | 34 | </div> |
25 | 35 | </div> |
26 | 36 | </section> |
27 | | - |
28 | 37 | <script> |
29 | | - gsap.from("[data-events-card]", { |
| 38 | + gsap.registerPlugin(ScrollTrigger) |
| 39 | + gsap.from("[data-events-img]", { |
| 40 | + scrollTrigger: { |
| 41 | + trigger: "#events", |
| 42 | + start: "top 75%", |
| 43 | + }, |
30 | 44 | opacity: 0, |
31 | 45 | scale: 0, |
32 | 46 | y: 50, |
33 | | - delay: 0.8, |
| 47 | + delay: 0.2, |
34 | 48 | ease: "elastic(1,1)", |
35 | 49 | duration: 1.25, |
36 | | - stagger: 0.2 |
| 50 | + stagger: 0.2, |
| 51 | + clearProps: "transform", |
| 52 | + onComplete: function() { |
| 53 | + this.targets().forEach(el => el.classList.add("transition-transform", "duration-300")); |
| 54 | + } |
37 | 55 | }) |
38 | 56 | </script> |
0 commit comments