diff --git a/public/krakow/Florianska-Kosciol-Mariacki-M6B4280.jpg b/public/krakow/Florianska-Kosciol-Mariacki-M6B4280.jpg new file mode 100644 index 000000000..3e9836392 Binary files /dev/null and b/public/krakow/Florianska-Kosciol-Mariacki-M6B4280.jpg differ diff --git a/public/krakow/Lato, ul. Kanonicza, Wawel_M6B0798-fot. Ela Marchewka.jpg b/public/krakow/Lato, ul. Kanonicza, Wawel_M6B0798-fot. Ela Marchewka.jpg new file mode 100644 index 000000000..d3079377c Binary files /dev/null and b/public/krakow/Lato, ul. Kanonicza, Wawel_M6B0798-fot. Ela Marchewka.jpg differ diff --git "a/public/krakow/Noc, Bulwary Wi\305\233lane, Ludwin\303\263w_M6B0476-fot. Ela Marchewka_horizontal.jpg" "b/public/krakow/Noc, Bulwary Wi\305\233lane, Ludwin\303\263w_M6B0476-fot. Ela Marchewka_horizontal.jpg" new file mode 100644 index 000000000..28466a575 Binary files /dev/null and "b/public/krakow/Noc, Bulwary Wi\305\233lane, Ludwin\303\263w_M6B0476-fot. Ela Marchewka_horizontal.jpg" differ diff --git "a/public/krakow/Noc, Bulwary Wi\305\233lane, Podg\303\263rze, barka_M6B0455-fot. Ela Marchewka_horizontal.jpg" "b/public/krakow/Noc, Bulwary Wi\305\233lane, Podg\303\263rze, barka_M6B0455-fot. Ela Marchewka_horizontal.jpg" new file mode 100644 index 000000000..7faf7e25b Binary files /dev/null and "b/public/krakow/Noc, Bulwary Wi\305\233lane, Podg\303\263rze, barka_M6B0455-fot. Ela Marchewka_horizontal.jpg" differ diff --git a/public/krakow/Wawel-DJI_0293-fot. Ela Marchewka.jpg b/public/krakow/Wawel-DJI_0293-fot. Ela Marchewka.jpg new file mode 100644 index 000000000..1abeed5e7 Binary files /dev/null and b/public/krakow/Wawel-DJI_0293-fot. Ela Marchewka.jpg differ diff --git a/public/krakow/Wiosna, Akademia Muzyczna, widok na Stare Miasto_M6B6817-fot. Ela Marchewka_horizontal.jpg b/public/krakow/Wiosna, Akademia Muzyczna, widok na Stare Miasto_M6B6817-fot. Ela Marchewka_horizontal.jpg new file mode 100644 index 000000000..6b55ca482 Binary files /dev/null and b/public/krakow/Wiosna, Akademia Muzyczna, widok na Stare Miasto_M6B6817-fot. Ela Marchewka_horizontal.jpg differ diff --git a/public/krakow/_M6B4774-fot. Ela Marchewka.jpg b/public/krakow/_M6B4774-fot. Ela Marchewka.jpg new file mode 100644 index 000000000..2a52c0ea1 Binary files /dev/null and b/public/krakow/_M6B4774-fot. Ela Marchewka.jpg differ diff --git a/src/components/AnimatedStars.astro b/src/components/AnimatedStars.astro new file mode 100644 index 000000000..dcf4873ae --- /dev/null +++ b/src/components/AnimatedStars.astro @@ -0,0 +1,175 @@ +--- +// Animated starfield background component +// Creates a twinkling star effect with two layers of stars +// that move, scale, rotate, and change opacity +--- + +
+ +
+ + diff --git a/src/components/Header.astro b/src/components/Header.astro index 0714b1050..9b39fd01c 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -12,7 +12,7 @@ import links from "@data/links.json"; id="navbar" >
- EuroPython logo + EuroPython Society logo diff --git a/src/components/sections/hero/hero.astro b/src/components/sections/hero/hero.astro index 855443a08..fff1ccc59 100644 --- a/src/components/sections/hero/hero.astro +++ b/src/components/sections/hero/hero.astro @@ -16,7 +16,7 @@ const action2 = "https://www.youtube.com/watch?v=laSzm-raS5A"; style="" >
-
+
- +
-
- +
+
@@ -55,7 +55,6 @@ const action2 = "https://www.youtube.com/watch?v=laSzm-raS5A";
- diff --git a/src/components/sections/krakow-section.astro b/src/components/sections/krakow-section.astro new file mode 100644 index 000000000..75d50251f --- /dev/null +++ b/src/components/sections/krakow-section.astro @@ -0,0 +1,20 @@ +--- +import Section from "@ui/Section.astro"; +import Headline from "@ui/Headline.astro"; +import Button from "@ui/Button.astro"; +--- + +
+
+ + +

+ Join us in the beautiful city of Kraków, where medieval architecture meets modern innovation. + Explore the historic Old Town, stunning Wawel Castle, and vibrant riverside boulevards. +

+ +
+ +
+
+
diff --git a/src/components/sections/updates/card.astro b/src/components/sections/updates/card.astro index fa2022898..c0826dd00 100644 --- a/src/components/sections/updates/card.astro +++ b/src/components/sections/updates/card.astro @@ -14,7 +14,7 @@ const { title, subtitle, url, image } = Astro.props; ---
## Teams We’re organised into teams, each focused on a different area of the conference. Every team is made up of volunteers donating their time and skills to make the event possible. - -The full list of our team members can be found on [our teams](/thank-you) page. diff --git a/src/content/pages/krakow.mdx b/src/content/pages/krakow.mdx new file mode 100644 index 000000000..f670e194e --- /dev/null +++ b/src/content/pages/krakow.mdx @@ -0,0 +1,120 @@ +--- +title: About Kraków +subtitle: Everything you need to know about traveling to, getting around, and enjoying the city. +--- + +import { Image } from "astro:assets"; + +# Kraków Tips + +
+ +At EuroPython 2026, many participants come with their families and friends. When you're +not at the conference, why not take some time to explore Kraków and its nearby areas? + +Below you'll find tips and recommendations to help you make the most of your stay in +Poland's cultural capital! + +## Fun Facts about Kraków + +- **Former Royal Capital**: Kraków was Poland's capital for over 500 years and home to Polish kings at Wawel Castle +- **UNESCO Heritage**: The entire Old Town was one of the first 12 sites listed as UNESCO World Heritage in 1978 +- **Dragon Legend**: According to legend, a dragon once lived in a cave beneath Wawel Hill - you can still visit the dragon's den today! +- **Europe's Largest Square**: The Main Market Square (Rynek Główny) is one of the largest medieval town squares in Europe at 40,000 m² +- **Underground City**: Beneath the Main Square lies a fascinating underground museum showcasing medieval Kraków +- **Salt Mine Wonder**: The nearby Wieliczka Salt Mine is an underground city of chambers, chapels, and sculptures carved entirely from salt +- **Student City**: With over 180,000 students, Kraków has one of the highest student populations in Europe +- **Trumpet Call**: Every hour, a trumpet signal (Hejnał mariacki) is played from St. Mary's Basilica - it stops abruptly mid-melody, commemorating a 13th-century trumpeter shot while warning the city of an attack + +## Getting Around + +### How to get to Kraków? +- **By plane**: [Kraków John Paul II Airport (KRK)](https://www.krakowairport.pl/en) is well connected to the city center (about 20 minutes by train/bus) +- **By train**: [Polish Railways (PKP)](https://www.pkp.pl/en/) connects Kraków to major European cities. The main station (Kraków Główny) is in the city center +- **From the airport**: Take bus 208, 209, or 252 to the city center, or the train from "Kraków Airport" station + +### Public Transport +In Kraków, public transport is efficient and affordable: +- Extensive tram and bus network operated by [MPK Kraków](https://www.mpk.krakow.pl/en/) +- Purchase tickets via mobile app [Jakdojade](https://jakdojade.pl/krakow) or at kiosks +- 20-minute ticket costs around 4.00 PLN (€0.90) +- Night buses run when trams stop +- The city center is very walkable - many attractions are within walking distance + +### Do I need to rent a car? +- Not necessary in Kraków; the Old Town is pedestrian-friendly and parking is limited +- Public transport and walking are the best ways to explore +- For day trips to nearby destinations (Wieliczka, Zakopane, Auschwitz), organized tours or trains are convenient + +### Weather in July +- Average temperatures: 18-25°C (64-77°F) +- Pack layers - evenings can be cooler +- Occasional summer rain showers + + +### Resources +- [Kraków Official Tourism](https://www.krakow.pl/english/) +- [Kraków Travel Guide](https://www.visitkrakow.com/) +- [Culture.pl - Kraków](https://culture.pl/en/city/krakow) + +### Must-See Attractions +- **Wawel Castle & Cathedral**: Royal residence with stunning architecture and the Crown Treasury +- **Main Market Square**: Europe's largest medieval square, with the iconic Cloth Hall and St. Mary's Basilica +- **St. Mary's Basilica**: Gothic church famous for its stunning altarpiece by Veit Stoss and hourly trumpet call +- **Kazimierz (Old Jewish Quarter)**: Historic district with synagogues, museums, and vibrant nightlife +- **Schindler's Factory Museum**: Poignant WWII museum telling the story of Nazi-occupied Kraków +- **Wawel Dragon's Den**: Cave beneath the castle - visit the legendary dragon and see the fire-breathing dragon statue outside +- **Underground Museum**: Beneath the Main Square, discover medieval Kraków through archaeological excavations + +### Day Trips +- **Wieliczka Salt Mine**: UNESCO World Heritage site - an underground cathedral carved entirely from salt (30 minutes from Kraków) +- **Auschwitz-Birkenau**: Important memorial and museum (1.5 hours from Kraków) +- **Zakopane & Tatra Mountains**: Poland's mountain resort with hiking and stunning views (2 hours from Kraków) +- **Ojców National Park**: Beautiful limestone formations and medieval castle ruins (30 minutes from Kraków) +- **Energylandia**: The bigest amusement park in Europe (half an hour from Kraków) + +### For Culture Lovers +- **National Museum**: Outstanding collection of Polish art +- **Manggha Museum**: Japanese art and technology +- **Cricoteka**: Center for the Documentation of the Art of Tadeusz Kantor +- **Starmach Gallery**: Contemporary art gallery in Kazimierz + +### For Nature Lovers +- **Vistula Boulevards**: Riverside promenade popular for walks, cycling, and evening drinks +- **Planty Park**: Green belt encircling the Old Town - perfect for a peaceful walk +- **Las Wolski (Wolski Forest)**: Large forest area with the Zoo and Camaldolese Monastery +- **Błonia Meadow**: Vast green space for picnics and outdoor activities +- **Kościuszko Mound**: Climb for panoramic views of Kraków and surrounding mountains + +### For Food Lovers +Kraków's food scene is thriving! Try these Polish specialties: +- **Pierogi**: Traditional dumplings (try Pierożek for local favorites) +- **Zapiekanka**: Polish open-faced baguette sandwich (find the best on Plac Nowy in Kazimierz) +- **Obwarzanek**: Kraków's unique twisted bagel - grab one fresh from street vendors +- **Barszcz**: Beetroot soup, a Polish classic +- **Żurek**: Sour rye soup served in a bread bowl +- **Milk bars (Bar mleczny)**: Cheap, traditional Polish cafeteria-style eateries + + +## Practical Tips + +### Money +- Currency: Polish Złoty (PLN) +- Almost all places accept cards, but please carry some cash for smaller vendors +- ATMs are widely available + +### Language +- Polish is the official language +- English is widely spoken in tourist areas, restaurants, and hotels + +### Safety +- Kraków is generally very safe +- Watch out for pickpockets in crowded tourist areas +- Use official taxis or ride-sharing apps (Uber, Bolt) + +### Opening Hours +- Shops: Typically 10:00-20:00 Monday-Saturday, closed on Sunday +- Restaurants: Usually open until 22:00-23:00 +- Museums: Often closed Mondays + +--- diff --git a/src/content/pages/venue.mdx b/src/content/pages/venue.mdx index 5aaa31932..3a9310287 100644 --- a/src/content/pages/venue.mdx +++ b/src/content/pages/venue.mdx @@ -1,51 +1,31 @@ --- title: Venue -subtitle: EuroPython 2025 will be back in Prague! +subtitle: EuroPython 2026 will be held in Kraków, Poland! --- -## Main Conference Venue (Monday–Friday) – Prague Congress Centre -### Where -[The Prague Congress Centre](https://www.praguecc.cz/en/homepage) will host EuroPython 2025 from **14–18 July** (Monday–Friday). - -Address: 5. května 1640/65, 140 21 Praha 4, Nusle +## Main Conference Venue – ICE Kraków Congress Centre - +### Where +[ICE Kraków Congress Centre](https://icekrakow.pl/en) will host EuroPython 2026 from **13–17 July** (Monday–Friday). -**IMPORTANT:** Please use **Entrance 5** to access the conference. +**Address:** Marii Konopnickiej 17, 30-302 Kraków, Poland -![Entrance 5 of the Prague Congress Centre](/images/entrance5-pcc5.jpg) + -### How to Get There -- **By metro:** Take metro line C (red line) to **Vyšehrad** station. Exit on the **Vyšehrad** side — the venue is right in front of you. +The ICE Kraków Congress Centre is located in the very heart of Kraków, directly opposite the iconic **Wawel Castle**, and next to one of the main transport hubs. The venue opened in 2014 and features modern conference facilities. -### What’s Nearby -- **Vyšehrad:** A historic castle complex with parks and beautiful views of Prague. A must-visit. -- **Náplavka from Vyšehrad:** A lively riverside area with pubs and spots to relax. -- **I.P. Pavlova:** One metro stop away — great for food, with plenty of restaurants and fast-food options. -- **City Centre:** Take the red metro line C two stops to **Muzeum**. Then exit onto Wenceslas Square and walk north-west towards the river to the Old Town Square, or take the green metro line A from **Muzeum** to **Malostranská** to get across the river. +### What's Nearby ---- +- **Wawel Castle:** Just across the street! This iconic royal castle and cathedral complex is one of Poland's most important historical and cultural sites. Visit the Royal Apartments, Crown Treasury, Armoury, and the legendary Dragon's Den cave beneath the hill. -## Sprints Venue – Saturday & Sunday -The EuroPython [Sprints](/sprints) on Saturday & Sunday **19–20 July**, along with the [Beginners' Day](/beginners-day) on Saturday **19 July**, will be held at a **different venue**: +- **Old Town (Stare Miasto):** A pleasant 10-15 minute walk north via Grodzka Street or Kanonicza Street. The UNESCO World Heritage-listed Old Town features one of Europe's largest medieval market squares, the magnificent Cloth Hall (Sukiennice), St. Mary's Basilica with its famous wooden altarpiece, and countless cafés, restaurants, and shops. -Address: WPP Prague located in Ogilvy+ Geometry Business Centre, Bubenská 1, 170 00 Praha 7-Holešovice +- **Main Market Square (Rynek Główny):** About 1.5 km from the venue. This vibrant heart of Kraków hosts street performers, seasonal markets, and is surrounded by historic buildings and restaurants. - +- **Vistula Boulevards:** Take a stroll along the Vistula River embankment, a popular spot for locals and tourists alike, with cafés, bars, and beautiful views of the castle. -{/* -### How to Get There -- **By bus:** The nearest stops are **Náměstí Winstona Churchilla** (line 135) and **Viktoria Žižkov** (lines 101, 123, 135, 175, 176). If you get off at **Náměstí Winstona Churchilla**, the entrance is directly across the street on **Italská**. -- **By tram:** From **Viktoria Žižkov** stop (lines 5, 9, 26), walk 5–10 minutes via **Seifertova Street**, through the park by **Winston Churchill Monument**, then up **Italská Street**. The entrance will be on your left. -- **By metro or train:** Go to **Hlavní nádraží** (main train station, line C). After exiting the metro, go up one level (not the ground floor) and turn left toward the **North Platform (Sever)**. Walk through the tunnel, take the escalators, then stairs, and you’ll reach **Italská Street**. The VŠE building will be right in front of you. Walk uphill for a minute or two — the entrance will be on your left. +- **Kazimierz (Jewish Quarter):** A short tram ride or 20-minute walk southeast. This historic district is known for its synagogues, Jewish heritage, vibrant nightlife, and trendy restaurants and bars. -### What’s Nearby -- **Žižkov** is known for its underground culture and alternative scene. -- **Riegrovy Sady:** A beautiful park with pubs and food trucks. Offers one of the best sunset views in Prague with Prague Castle in the background. - [Viewpoint location on Google Maps](https://www.google.com/maps/place/Riegrovy+Sady+View/@50.0797966,14.4404483,133m/data=!3m1!1e3!4m6!3m5!1s0x470b95452e738ffb:0xae1d6053aa86f142!8m2!3d50.0796954!4d14.4402301) -- **Růžová zahrada:** A quiet rose garden located inside Riegrovy Sady, a few minutes from the venue. - [Entrance location](https://www.google.com/maps/@50.0817811,14.4428445,110m/data=!3m1!1e3) -- **Žižkov TV Tower:** A 15-minute (uphill) walk away. Offers a panoramic view of Prague (entry is a bit pricey) and features David Černý’s iconic crawling baby sculptures. -- **City Centre:** You can walk to the main train station, go through it, and reach Wenceslas Square. It’s about a 15-minute walk. -*/} +## Sprints Venue +To be announced soon! diff --git a/src/data/enabledPages.json b/src/data/enabledPages.json index 87bc2c381..fa3e5f68f 100644 --- a/src/data/enabledPages.json +++ b/src/data/enabledPages.json @@ -13,7 +13,10 @@ "/cfp", "/guidelines", "/contacts", - "/terms" + "/terms", + "/venue", + "/krakow", + "/about" ], - "navItems": ["Programme"] + "navItems": ["Programme", "Venue", "About"] } diff --git a/src/data/links.json b/src/data/links.json index ece89b1f9..16bb53512 100644 --- a/src/data/links.json +++ b/src/data/links.json @@ -3,26 +3,6 @@ { "name": "Programme", "items": [ - { - "name": "Overview", - "path": "/overview" - }, - { - "name": "Talks Schedule", - "path": "/schedule/talks" - }, - { - "name": "Tutorials Schedule", - "path": "/schedule/tutorials" - }, - { - "name": "List of Sessions", - "path": "/sessions" - }, - { - "name": "List of Speakers", - "path": "/speakers" - }, { "name": "Tracks", "path": "/tracks" @@ -37,136 +17,22 @@ } ] }, - { - "name": "Events", - "items": [ - { - "name": "Speakers' Dinner", - "path": "/speakers-dinner" - }, - { - "name": "Wednesday Local Community Drinks", - "path": "/pyvo" - }, - { - "name": "Beginners' Day", - "path": "/beginners-day" - }, - { - "name": "Thursday Social Event", - "path": "/social-event" - }, - { - "name": "PyLadies Events", - "path": "/pyladies" - }, - { - "name": "Beginners' Day Unconference", - "path": "/beginners-day-unconference" - }, - { - "name": "WASM Summit", - "path": "/session/webassembly-summit" - }, - { - "name": "C-API Summit", - "path": "/session/c-api-summit" - }, - { - "name": "Rust Summit", - "path": "/session/rust-summit" - }, - { - "name": "Packaging Summit", - "path": "/session/packaging-summit" - }, - { - "name": "Sprints Weekend", - "path": "/sprints" - }, - { - "name": "Community Organisers Activities", - "path": "/community-activities" - }, - { - "name": "Open Spaces", - "path": "/open-spaces" - }, - { - "name": "CV Feedback Session", - "path": "/feedback-session" - } - ] - }, { "name": "Venue", "items": [ - { - "name": "Prague", - "path": "/prague" - }, { "name": "Venue", "path": "/venue" }, { - "name": "Hotels", - "path": "/hotels" - } - ] - }, - { - "name": "Sponsorship", - "items": [ - { - "name": "Our Sponsors", - "path": "/sponsors" - }, - { - "name": "Sponsor Packages", - "path": "/sponsorship/sponsor" - }, - { - "name": "Sponsor Information", - "path": "/sponsorship/information" + "name": "Kraków", + "path": "/krakow" } ] }, { "name": "Attend", "items": [ - { - "name": "Tickets", - "path": "/tickets" - }, - { - "name": "Financial Aid", - "path": "/finaid" - }, - { - "name": "Visa Support Letter", - "path": "/visa" - }, - { - "name": "Volunteering", - "path": "/volunteers" - }, - { - "name": "Accessibility", - "path": "/accessibility" - }, - { - "name": "Childcare", - "path": "/childcare" - }, - { - "name": "FAQ", - "path": "/faq" - }, - { - "name": "Discord", - "path": "/discord" - }, { "name": "Code of Conduct", "path": "https://www.europython-society.org/coc/" @@ -184,19 +50,11 @@ "name": "EuroPython Society", "path": "https://europython-society.org/" }, - { - "name": "Team", - "path": "/thank-you" - }, { "name": "Community Partners", "path": "/community-partners" } ] - }, - { - "name": "Jobs", - "path": "/jobs" } ], "footer": [ @@ -204,50 +62,14 @@ "name": "Quick links", "items": [ { - "name": "FAQ", - "path": "/faq" - }, - { - "name": "Prague", - "path": "/prague" - }, - { - "name": "Schedule", - "path": "/schedule" - }, - { - "name": "Jobs", - "path": "/jobs" - }, - { - "name": "Discord", - "path": "https://discord.com/invite/BhTN2zJPMh" + "name": "Kraków", + "path": "/krakow" } ] }, { "name": "Programme", "items": [ - { - "name": "Overview", - "path": "/overview" - }, - { - "name": "Talks Schedule", - "path": "/schedule/talks" - }, - { - "name": "Tutorials Schedule", - "path": "/schedule/tutorials" - }, - { - "name": "List of Sessions", - "path": "/sessions" - }, - { - "name": "List of Speakers", - "path": "/speakers" - }, { "name": "Tracks", "path": "/tracks" @@ -258,113 +80,6 @@ } ] }, - { - "name": "Events", - "items": [ - { - "name": "Speakers' Dinner", - "path": "/speakers-dinner" - }, - { - "name": "Beginners' Day", - "path": "/beginners-day" - }, - { - "name": "Wednesday Local Community Drinks", - "path": "/pyvo" - }, - { - "name": "Thursday Social Event", - "path": "/social-event" - }, - { - "name": "PyLadies Events", - "path": "/pyladies" - }, - { - "name": "Beginners' Day Unconference", - "path": "/beginners-day-unconference" - }, - { - "name": "WASM Summit", - "path": "/session/webassembly-summit" - }, - { - "name": "C-API Summit", - "path": "/session/c-api-summit" - }, - { - "name": "Rust Summit", - "path": "/session/rust-summit" - }, - { - "name": "Packaging Summit", - "path": "/session/packaging-summit" - }, - { - "name": "Sprints Weekend", - "path": "/sprints" - }, - { - "name": "Community Organisers Activities", - "path": "/community-activities" - }, - { - "name": "Open Spaces", - "path": "/open-spaces" - }, - { - "name": "CV Feedback Session", - "path": "/feedback-session" - } - ] - }, - { - "name": "Sponsorship", - "items": [ - { - "name": "Our Sponsors", - "path": "/sponsors" - }, - { - "name": "Sponsor Packages", - "path": "/sponsorship/sponsor" - }, - { - "name": "Sponsor Information", - "path": "/sponsorship/information" - } - ] - }, - { - "name": "Attend", - "items": [ - { - "name": "Tickets", - "path": "/tickets" - }, - { - "name": "Financial Aid", - "path": "/finaid" - }, - { - "name": "Visa Support Letter", - "path": "/visa" - }, - { - "name": "Volunteering", - "path": "/volunteers" - }, - { - "name": "Childcare", - "path": "/childcare" - }, - { - "name": "Remote", - "path": "/remote" - } - ] - }, { "name": "Sites", "items": [ diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index c9cba13e7..38a16f86a 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -30,8 +30,8 @@ throw new Error(`${Astro.url.pathname} Both 'title' and 'description' must be se const externalDomain = new URL(Astro.site || "").hostname; -const hideHeader = Astro.props.hideHeader ?? true; -const hideFooter = Astro.props.hideFooter ?? true; +const hideHeader = Astro.props.hideHeader ?? false; +const hideFooter = Astro.props.hideFooter ?? false; --- @@ -48,15 +48,17 @@ const hideFooter = Astro.props.hideFooter ?? true; } -
+
- + {currentPath !== "/" && ( + + )}
@@ -95,16 +97,19 @@ const hideFooter = Astro.props.hideFooter ?? true; diff --git a/src/styles/bg-universe.css b/src/styles/bg-universe.css index 6076b7e42..969ad016b 100644 --- a/src/styles/bg-universe.css +++ b/src/styles/bg-universe.css @@ -10,34 +10,186 @@ circle at 90% 80%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 0.5% - ), - radial-gradient(1px 1px at 40px 60px, #ffffff 1px, transparent 0), - radial-gradient(1px 1px at 20px 50px, #ffffff99 1px, transparent 0), - radial-gradient(2px 2px at 30px 100px, #ffffff 1px, transparent 0), - radial-gradient(1.5px 1.5px at 80px 120px, #ffffffcc 1px, transparent 0), - radial-gradient(1px 1px at 150px 200px, #ffffff 1px, transparent 0); + ); background-repeat: repeat; background-size: 100% 100%, - 100% 100%, + 100% 100%; + color: #fff; + padding-bottom: 4rem; + position: relative; +} + +.section-universe::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + radial-gradient(1px 1px at 10% 20%, white, transparent), + radial-gradient(1px 1px at 30% 40%, white, transparent), + radial-gradient(1px 1px at 50% 60%, white, transparent), + radial-gradient(1px 1px at 70% 30%, white, transparent), + radial-gradient(1px 1px at 90% 80%, white, transparent), + radial-gradient(1px 1px at 15% 70%, white, transparent), + radial-gradient(1px 1px at 40% 15%, white, transparent), + radial-gradient(1px 1px at 60% 85%, white, transparent), + radial-gradient(1px 1px at 85% 50%, white, transparent), + radial-gradient(1px 1px at 25% 90%, white, transparent); + background-size: + 200px 200px, 250px 250px, - 150px 150px, + 300px 300px, + 180px 180px, + 220px 220px, + 280px 280px, + 240px 240px, + 260px 260px, + 290px 290px, + 210px 210px; + background-position: + 0 0, + 40px 60px, + 130px 270px, + 70px 100px, + 220px 180px, + 300px 320px, + 150px 80px, + 280px 380px, + 100px 200px, + 350px 250px; + background-repeat: repeat; + animation: twinkle1 45s ease-in-out infinite; + pointer-events: none; + z-index: 0; +} + +.section-universe::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + radial-gradient(2px 2px at 20% 15%, rgba(255, 255, 255, 0.8), transparent), + radial-gradient(1px 1px at 45% 35%, white, transparent), + radial-gradient(1px 1px at 65% 55%, rgba(255, 255, 255, 0.7), transparent), + radial-gradient(2px 2px at 80% 25%, white, transparent), + radial-gradient(1px 1px at 35% 75%, rgba(255, 255, 255, 0.9), transparent), + radial-gradient(1px 1px at 55% 45%, white, transparent); + background-size: 300px 300px, 200px 200px, - 400px 400px; - color: #fff; - padding-bottom: 4rem; + 250px 250px, + 280px 280px, + 220px 220px, + 240px 240px; + background-position: + 0 0, + 50px 80px, + 100px 150px, + 200px 50px, + 150px 200px, + 250px 100px; + background-repeat: repeat; + animation: twinkle2 60s ease-in-out infinite; + pointer-events: none; + z-index: 0; +} + +.section-universe > * { + position: relative; + z-index: 1; +} + +@keyframes twinkle1 { + 0% { + opacity: 1; + transform: translate(0, 0) scale(1); + } + 15% { + opacity: 0.4; + transform: translate(25px, -15px) scale(1.1); + } + 30% { + opacity: 0.8; + transform: translate(-20px, 30px) scale(0.9); + } + 45% { + opacity: 0.3; + transform: translate(30px, 20px) scale(1.05); + } + 60% { + opacity: 0.9; + transform: translate(-25px, -25px) scale(0.95); + } + 75% { + opacity: 0.5; + transform: translate(15px, 35px) scale(1.08); + } + 90% { + opacity: 0.7; + transform: translate(-30px, -10px) scale(0.92); + } + 100% { + opacity: 1; + transform: translate(0, 0) scale(1); + } +} + +@keyframes twinkle2 { + 0% { + opacity: 0.8; + transform: translate(0, 0) rotate(0deg); + } + 20% { + opacity: 0.3; + transform: translate(-30px, 20px) rotate(5deg); + } + 35% { + opacity: 0.9; + transform: translate(25px, -25px) rotate(-3deg); + } + 50% { + opacity: 0.4; + transform: translate(-15px, -30px) rotate(7deg); + } + 65% { + opacity: 0.7; + transform: translate(35px, 15px) rotate(-5deg); + } + 80% { + opacity: 0.5; + transform: translate(-20px, 28px) rotate(4deg); + } + 100% { + opacity: 0.8; + transform: translate(0, 0) rotate(0deg); + } +} + +@media (prefers-reduced-motion: reduce) { + .section-universe::before, + .section-universe::after { + animation: none; + } } .section-universe h1, .section-universe h2, .section-universe h3, .section-universe h4, +.section-universe h5, +.section-universe h6, .section-universe p, .section-universe span, .section-universe strong, -.section-universe li { - color: #fff; +.section-universe li, +.section-universe a { + color: #fff !important; } .section-universe .bg-icons svg text { @@ -45,14 +197,35 @@ opacity: 0.8; } -.section-universe .bg-\[\#D5D6E6\] h3 { - color: #151f38; +.section-universe .bg-\[\#E8F4F8\] h3, +.section-universe .bg-\[\#E8F4F8\] h2, +.section-universe .bg-\[\#E8F4F8\] h4, +.section-universe .bg-\[\#E8F4F8\] h5, +.section-universe .bg-\[\#E8F4F8\] h6 { + color: #151f38 !important; } -.section-universe .bg-\[\#D5D6E6\] p { - color: #151f38; +.section-universe .bg-\[\#E8F4F8\] p, +.section-universe .bg-\[\#E8F4F8\] span, +.section-universe .bg-\[\#E8F4F8\] strong, +.section-universe .bg-\[\#E8F4F8\] a, +.section-universe .bg-\[\#E8F4F8\] li { + color: #151f38 !important; +} + +.section-universe .bg-\[\#E8F4F8\] button, +.section-universe .bg-\[\#E8F4F8\] .button, +.section-universe .bg-\[\#E8F4F8\] a[class*="button"] { + color: #fff !important; } .section-universe .text-center { color: #fff; } + +.section-universe .text-gray-600, +.section-universe .text-gray-700, +.section-universe .text-gray-800, +.section-universe .text-gray-900 { + color: #fff !important; +} diff --git a/src/styles/tailwind.css b/src/styles/tailwind.css index 36d4af861..94b751db9 100644 --- a/src/styles/tailwind.css +++ b/src/styles/tailwind.css @@ -14,7 +14,7 @@ --color-text-inverted: #fdfdfd; /* Body Colors */ - --color-body-background: #f5e5d6; + --color-body-background: #e8f4f8; --color-body-inverted: #001c13; --color-body-light: #888;