diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/assets/faq/faq-icon.png b/assets/faq/faq-icon.png new file mode 100644 index 0000000..3734c5e Binary files /dev/null and b/assets/faq/faq-icon.png differ diff --git a/assets/hero/hero-bg.png b/assets/hero/hero-bg.png new file mode 100644 index 0000000..5c2fef8 Binary files /dev/null and b/assets/hero/hero-bg.png differ diff --git a/assets/hero/hero-image-left.png b/assets/hero/hero-image-left.png new file mode 100644 index 0000000..ab2dfe7 Binary files /dev/null and b/assets/hero/hero-image-left.png differ diff --git a/assets/hero/hero-image-right.png b/assets/hero/hero-image-right.png new file mode 100644 index 0000000..8c1c09f Binary files /dev/null and b/assets/hero/hero-image-right.png differ diff --git a/assets/hero/hero-logo.png b/assets/hero/hero-logo.png new file mode 100644 index 0000000..abd49a0 Binary files /dev/null and b/assets/hero/hero-logo.png differ diff --git a/assets/highlights/highlights-icon.png b/assets/highlights/highlights-icon.png new file mode 100644 index 0000000..6155df8 Binary files /dev/null and b/assets/highlights/highlights-icon.png differ diff --git a/assets/location/location-icon.png b/assets/location/location-icon.png new file mode 100644 index 0000000..1a1cbb0 Binary files /dev/null and b/assets/location/location-icon.png differ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..2ca1da7 Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/meet-your-host/host-icon.png b/assets/meet-your-host/host-icon.png new file mode 100644 index 0000000..9d46c37 Binary files /dev/null and b/assets/meet-your-host/host-icon.png differ diff --git a/assets/meet-your-host/host.png b/assets/meet-your-host/host.png new file mode 100644 index 0000000..b6a52f8 Binary files /dev/null and b/assets/meet-your-host/host.png differ diff --git a/assets/membership-growth/growth-icon.png b/assets/membership-growth/growth-icon.png new file mode 100644 index 0000000..92205c9 Binary files /dev/null and b/assets/membership-growth/growth-icon.png differ diff --git a/assets/schedule/schedule-bubble.png b/assets/schedule/schedule-bubble.png new file mode 100644 index 0000000..ef0f754 Binary files /dev/null and b/assets/schedule/schedule-bubble.png differ diff --git a/assets/schedule/schedule-icon.png b/assets/schedule/schedule-icon.png new file mode 100644 index 0000000..2013989 Binary files /dev/null and b/assets/schedule/schedule-icon.png differ diff --git a/assets/schedule/schedule-speaker.png b/assets/schedule/schedule-speaker.png new file mode 100644 index 0000000..c21c89a Binary files /dev/null and b/assets/schedule/schedule-speaker.png differ diff --git a/assets/speakers/bg1.png b/assets/speakers/bg1.png new file mode 100644 index 0000000..96813c1 Binary files /dev/null and b/assets/speakers/bg1.png differ diff --git a/assets/speakers/bg2.png b/assets/speakers/bg2.png new file mode 100644 index 0000000..05ecc72 Binary files /dev/null and b/assets/speakers/bg2.png differ diff --git a/assets/speakers/speaker-bubble.png b/assets/speakers/speaker-bubble.png new file mode 100644 index 0000000..bcf2f26 Binary files /dev/null and b/assets/speakers/speaker-bubble.png differ diff --git a/assets/speakers/speaker1.png b/assets/speakers/speaker1.png new file mode 100644 index 0000000..658dee5 Binary files /dev/null and b/assets/speakers/speaker1.png differ diff --git a/assets/speakers/speaker2.png b/assets/speakers/speaker2.png new file mode 100644 index 0000000..7904c84 Binary files /dev/null and b/assets/speakers/speaker2.png differ diff --git a/assets/speakers/speaker3.png b/assets/speakers/speaker3.png new file mode 100644 index 0000000..ca9c2d2 Binary files /dev/null and b/assets/speakers/speaker3.png differ diff --git a/assets/tickets/card-bg.png b/assets/tickets/card-bg.png new file mode 100644 index 0000000..5c2fef8 Binary files /dev/null and b/assets/tickets/card-bg.png differ diff --git a/assets/tickets/tickets-icon.png b/assets/tickets/tickets-icon.png new file mode 100644 index 0000000..b25405e Binary files /dev/null and b/assets/tickets/tickets-icon.png differ diff --git a/assets/what-to-expect/people-collage.png b/assets/what-to-expect/people-collage.png new file mode 100644 index 0000000..1c85b50 Binary files /dev/null and b/assets/what-to-expect/people-collage.png differ diff --git a/enqueue.php b/enqueue.php new file mode 100644 index 0000000..8a91cfd --- /dev/null +++ b/enqueue.php @@ -0,0 +1,64 @@ + + + + + + + +
+ + +
+
+
+
+

Sept 22nd - 24th 2025 / Newcastle, UK

+

RETAIN - The Membership Growth Conference

+
+
+ 00 + Days +
+
+ 00 + Hours +
+
+ 00 + Minutes +
+
+ 00 + Seconds +
+
+
+
+ + +
+ Membership Growth Plant + +
+

Ready to accelerate your membership growth?

+
+ +

+ A one of a kind event for membership site owners who want to increase their membership growth in 2025 and beyond. +

+ +

+ Hear from successful membership owners and industry experts on the strategies and tactics that are working for them, discover future trends and new ideas, ask questions and connect with other membership site owners from around the world over the course of 2 days in Newcastle upon Tyne, UK. +

+

+ With a mix of keynotes, power sessions, panels and more it’s all about providing you with actionable content that you can implement in your own membership to take it to the next level. With strictly no fluff, theory or pitching! +

+

+ Retain is the only live event dedicated entirely to growing your online membership. +

+

+ It’s an event for membership site owners, by membership site owners. +
+ Are you in? +
+

+ +
+ + +
+ people collage +
+
+

What you can expect

+

+ 2 action packed days of membership goodness with talks and panels on a variety of membership topics. Plus plenty of time for talking with other membership site owners too – because lets be honest, the conversations you have and ideas you get from the other people in the room are often the best bit of attending a conference! +

+
+
+

What you can expect

+

+ 2 action packed days of membership goodness with talks and panels on a variety of membership topics. Plus plenty of time for talking with other membership site owners too – because lets be honest, the conversations you have and ideas you get from the other people in the room are often the best bit of attending a conference! +

+
+
+

What you can expect

+

+ 2 action packed days of membership goodness with talks and panels on a variety of membership topics. Plus plenty of time for talking with other membership site owners too – because lets be honest, the conversations you have and ideas you get from the other people in the room are often the best bit of attending a conference! +

+
+
+
+ + +
+ Highlights stars image + +
+

Check out highlights of our 2019 event:

+
+ +
+ +
+
+ + +
+ Meet Your Host icon + +
+

Meet your host for Retain 2025

+
+ +
+
+
+ Host photo +
+ +

Mike Morrison

+ +

Howdy, I’m Mike Morrison, founder of the “Membership Geeks”

+ +

+ I’ve spent years guiding the growth of thousands of memberships, e-learning businesses and online communities. +

+

+ With 20+ years in the online marketing and web development industry, we’ve been the driving force behind a multitude of 6 and 7 figure membership businesses in a diverse range of industries – from weight loss to coaching to executive training to bass guitar – and we have a proven track record of helping great clients to achieve fantastic results. +

+

+ In 2015 I decided to take all of that knowledge and experience and use it to help entrepreneurs and small business owners to achieve success with membership sites on a global scale, and so created Membership Academy which has now helped over 11,000 membership site owners. +

+

+ I’ll be leading the charge at Retain 2025 providing training throughout both days on the latest membership growth tactics and strategies, and sharing insights from our work with countless successful memberships. +

+

But I’m not coming alone…

+ +
+ + +
+ abstract shape 1 + abstract shape 2 +
+
+

You'll also learn from expert guests including:

+ +
+ +
+ +
+
+ +
+ <?php echo esc_attr($image['alt']); ?> +
+ +
+ +
+ +

+ + + +

+ + + +

+ +
+
+ +
+ +
+
+
+ + +
+ + +
+ Tickers icon + +
+

Buy your ticket

+
+ +
+

Join us on September 22nd - 24th 2025 in Newcastle-Upon-Tyne, England for THE membership growth event that you simply can’t afford to miss. +

+
+

+ Don’t forget: members of Membership Academy receive a discount on their ticket price! +

+
+ +

+ PLUS take advantage of Earlybird pricing if you buy your ticket today! +

+ +
+
+
+ Ticket card background +

£345

+
+

Earlybird (non-members)

+
+
    +
  • Save £150
  • +
  • Access to all sessions
  • +
  • Lunch & refreshments provided
  • +
  • Academy member discount
  • +
+ BUY NOW +
+
+ +
+
+ Ticket card background +

£245

+
+

Earlybird (members)

+
+
    +
  • Save £250
  • +
  • Access to all sessions
  • +
  • Lunch & refreshments provided
  • +
  • Academy member discount
  • +
+ BUY NOW +
+
+
+
+ + +
+ Location icon + +
+
+
+

Location

+
+
+
+

Location

+
+
+
+
+

Hilton Newcastle Gateshead

+

Bottle Bank, Gateshead NE8 2AR

+

Newcastle Airport (8 miles)

+

Central Station (1.3 miles)

+
+
+ +
+ +
+
+
+ + +
+ FAQ icon + +
+

Frequently Asked Questions

+
+ +
+ + +
+

+ Your completed registration includes the following: +

+
    +
  • Access to all speaker presentations and panels throughout both days of the conference
  • +
  • Breakfast, lunch and refreshments on both days
  • +
  • Complimentary Wifi access in the event area
  • +
  • And a few special surprises…
  • +

    + Note: Hotel, airfare and other travel expenses are not included in the ticket price. +

    +
+ + +
+

+ Your completed registration includes the following: +

+
    +
  • Access to all speaker presentations and panels throughout both days of the conference
  • +
  • Breakfast, lunch and refreshments on both days
  • +
  • Complimentary Wifi access in the event area
  • +
  • And a few special surprises…
  • +

    + Note: Hotel, airfare and other travel expenses are not included in the ticket price. +

    +
+ + +
+

+ Your completed registration includes the following: +

+
    +
  • Access to all speaker presentations and panels throughout both days of the conference
  • +
  • Breakfast, lunch and refreshments on both days
  • +
  • Complimentary Wifi access in the event area
  • +
  • And a few special surprises…
  • +

    + Note: Hotel, airfare and other travel expenses are not included in the ticket price. +

    +
+ + +
+

+ Your completed registration includes the following: +

+
    +
  • Access to all speaker presentations and panels throughout both days of the conference
  • +
  • Breakfast, lunch and refreshments on both days
  • +
  • Complimentary Wifi access in the event area
  • +
  • And a few special surprises…
  • +

    + Note: Hotel, airfare and other travel expenses are not included in the ticket price. +

    +
+ + +
+

+ Your completed registration includes the following: +

+
    +
  • Access to all speaker presentations and panels throughout both days of the conference
  • +
  • Breakfast, lunch and refreshments on both days
  • +
  • Complimentary Wifi access in the event area
  • +
  • And a few special surprises…
  • +

    + Note: Hotel, airfare and other travel expenses are not included in the ticket price. +

    +
+ +
+
+ +
+ + +
+ Schedule image + +
+

Schedule

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

+
+
+
+

+
+ +
+

+
+ +
+ +
+ <?php echo esc_attr($speaker_photo['alt']); ?> +
+ +
+ +
+ +

No schedule available for Day 1.

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

+
+
+
+

+
+ +
+

+
+ +
+ +
+ <?php echo esc_attr($speaker_photo['alt']); ?> +
+ +
+ +
+ +

No schedule available for Day 2.

+ +
+
+
+ + +
diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..166e774 --- /dev/null +++ b/functions.php @@ -0,0 +1,27 @@ + __('Primary Menu', 'retain-theme'), + )); +} +add_action('after_setup_theme', 'retain_theme_setup'); + +// Include enqueue functions +require_once get_template_directory() . '/enqueue.php'; + +// Include ACF fields +require_once get_template_directory() . '/inc/acf/speaker-fields.php'; +require_once get_template_directory() . '/inc/acf/schedule-fields.php'; diff --git a/inc/acf/schedule-fields.php b/inc/acf/schedule-fields.php new file mode 100644 index 0000000..7664e68 --- /dev/null +++ b/inc/acf/schedule-fields.php @@ -0,0 +1,122 @@ + 'group_schedule', + 'title' => 'Schedule Section', + 'fields' => array( + // Day 1 Schedule + array( + 'key' => 'field_schedule_day_1', + 'label' => 'Day 1 Schedule', + 'name' => 'schedule_day_1', + 'type' => 'repeater', + 'instructions' => 'Add schedule for Day 1', + 'required' => 0, + 'min' => 0, + 'max' => 0, + 'layout' => 'block', + 'button_label' => 'Add Session', + 'sub_fields' => array( + array( + 'key' => 'field_day1_time', + 'label' => 'Time', + 'name' => 'time', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_day1_session', + 'label' => 'Session', + 'name' => 'session', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_day1_speaker_name', + 'label' => 'Speaker Name', + 'name' => 'speaker_name', + 'type' => 'text', + 'required' => 0, + ), + array( + 'key' => 'field_day1_speaker_photo', + 'label' => 'Speaker Photo', + 'name' => 'speaker_photo', + 'type' => 'image', + 'required' => 0, + 'return_format' => 'array', + 'preview_size' => 'medium', + 'library' => 'all', + ), + ), + ), + // Day 2 Schedule + array( + 'key' => 'field_schedule_day_2', + 'label' => 'Day 2 Schedule', + 'name' => 'schedule_day_2', + 'type' => 'repeater', + 'instructions' => 'Add schedule for Day 2', + 'required' => 0, + 'min' => 0, + 'max' => 0, + 'layout' => 'block', + 'button_label' => 'Add Session', + 'sub_fields' => array( + array( + 'key' => 'field_day2_time', + 'label' => 'Time', + 'name' => 'time', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_day2_session', + 'label' => 'Session', + 'name' => 'session', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_day2_speaker_name', + 'label' => 'Speaker Name', + 'name' => 'speaker_name', + 'type' => 'text', + 'required' => 0, + ), + array( + 'key' => 'field_day2_speaker_photo', + 'label' => 'Speaker Photo', + 'name' => 'speaker_photo', + 'type' => 'image', + 'required' => 0, + 'return_format' => 'array', + 'preview_size' => 'medium', + 'library' => 'all', + ), + ), + ), + ), + 'location' => array( + array( + array( + 'param' => 'page_template', + 'operator' => '==', + 'value' => 'front-page.php', + ), + ), + ), + 'menu_order' => 0, + 'position' => 'normal', + 'style' => 'default', + 'label_placement' => 'top', + 'instruction_placement' => 'label', + 'hide_on_screen' => '', +)); + +endif; +?> diff --git a/inc/acf/speaker-fields.php b/inc/acf/speaker-fields.php new file mode 100644 index 0000000..2ec81b9 --- /dev/null +++ b/inc/acf/speaker-fields.php @@ -0,0 +1,74 @@ + 'group_speakers', + 'title' => 'Speakers Section', + 'fields' => array( + array( + 'key' => 'field_speakers', + 'label' => 'Speakers', + 'name' => 'speakers', + 'type' => 'repeater', + 'instructions' => 'Add speakers here', + 'required' => 0, + 'min' => 0, + 'max' => 0, + 'layout' => 'block', + 'button_label' => 'Add Speaker', + 'sub_fields' => array( + array( + 'key' => 'field_speaker_image', + 'label' => 'Speaker Image', + 'name' => 'speaker_image', + 'type' => 'image', + 'required' => 1, + 'return_format' => 'array', + 'preview_size' => 'medium', + 'library' => 'all', + ), + array( + 'key' => 'field_speaker_first_name', + 'label' => 'Speaker Name', + 'name' => 'speaker_name', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_speaker_last_name', + 'label' => 'Speaker Last Name', + 'name' => 'speaker_last_name', + 'type' => 'text', + 'required' => 1, + ), + array( + 'key' => 'field_speaker_role', + 'label' => 'Speaker Role', + 'name' => 'speaker_role', + 'type' => 'text', + 'required' => 1, + ) + ) + ) + ), + 'location' => array( + array( + array( + 'param' => 'page_template', + 'operator' => '==', + 'value' => 'front-page.php', // The ACF field group will only appear on the front-page.php template + ), + ), + ), + 'menu_order' => 0, + 'position' => 'normal', + 'style' => 'default', + 'label_placement' => 'top', + 'instruction_placement' => 'label', + 'hide_on_screen' => '', +)); + +endif; diff --git a/inc/js/collapsible.js b/inc/js/collapsible.js new file mode 100644 index 0000000..6440839 --- /dev/null +++ b/inc/js/collapsible.js @@ -0,0 +1,35 @@ +document.addEventListener('DOMContentLoaded', function() { + var coll = document.getElementsByClassName("collapsible"); + + for (var i = 0; i < coll.length; i++) { + // Wrap the existing text inside a span + var span = document.createElement("span"); + span.classList.add("toggle-icon"); // Add class for styling + span.textContent = "+"; + + // Move the existing text into another span for separation + var textSpan = document.createElement("span"); + textSpan.classList.add("collapsible-text"); + textSpan.textContent = coll[i].innerHTML; + + // Clear the button content and append spans + coll[i].innerHTML = ""; + coll[i].appendChild(span); + coll[i].appendChild(textSpan); + + // Add click event + coll[i].addEventListener("click", function() { + this.classList.toggle("active"); + var content = this.nextElementSibling; + var icon = this.querySelector(".toggle-icon"); + + if (content.style.display === "block") { + content.style.display = "none"; + icon.textContent = "+"; // Change to + + } else { + content.style.display = "block"; + icon.textContent = "-"; // Change to - + } + }); + } +}); \ No newline at end of file diff --git a/inc/js/countdown.js b/inc/js/countdown.js new file mode 100644 index 0000000..f497105 --- /dev/null +++ b/inc/js/countdown.js @@ -0,0 +1,67 @@ +class EventCountdown { + constructor(eventDate, elementIds) { + this.eventDate = new Date(eventDate).getTime(); + this.elements = { + days: document.getElementById(elementIds.days), + hours: document.getElementById(elementIds.hours), + minutes: document.getElementById(elementIds.minutes), + seconds: document.getElementById(elementIds.seconds), + container: document.getElementById(elementIds.container) + }; + this.countdownTimer = null; + } + + calculateTimeRemaining() { + const now = new Date().getTime(); + const distance = this.eventDate - now; + + return { + days: Math.floor(distance / (1000 * 60 * 60 * 24)), + hours: Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)), + minutes: Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)), + seconds: Math.floor((distance % (1000 * 60)) / 1000), + distance: distance + }; + } + + padNumber(number) { + return String(number).padStart(2, '0'); + } + + updateDisplay(timeRemaining) { + this.elements.days.textContent = this.padNumber(timeRemaining.days); + this.elements.hours.textContent = this.padNumber(timeRemaining.hours); + this.elements.minutes.textContent = this.padNumber(timeRemaining.minutes); + this.elements.seconds.textContent = this.padNumber(timeRemaining.seconds); + } + + start() { + const update = () => { + const timeRemaining = this.calculateTimeRemaining(); + + if (timeRemaining.distance < 0) { + clearInterval(this.countdownTimer); + this.elements.container.innerHTML = 'Event has started!'; + return; + } + + this.updateDisplay(timeRemaining); + }; + + update(); // Initial call + this.countdownTimer = setInterval(update, 1000); + } +} + +// Initialize countdown when DOM is loaded +document.addEventListener('DOMContentLoaded', () => { + const countdown = new EventCountdown('September 22, 2025 00:00:00', { + days: 'days', + hours: 'hours', + minutes: 'minutes', + seconds: 'seconds', + container: 'countdown' + }); + + countdown.start(); +}); \ No newline at end of file diff --git a/inc/js/navigation.js b/inc/js/navigation.js new file mode 100644 index 0000000..83717aa --- /dev/null +++ b/inc/js/navigation.js @@ -0,0 +1,23 @@ +document.addEventListener('DOMContentLoaded', function() { + + console.log('Navigation JS loaded'); + + const menuToggle = document.querySelector('.menu-toggle'); + const menuModal = document.querySelector('#menu-modal'); + const menuClose = document.querySelector('.menu-close'); + + menuToggle.addEventListener('click', function() { + menuModal.classList.toggle('active'); + }); + + menuClose.addEventListener('click', function() { + menuModal.classList.remove('active'); + }); + + // Close the modal when clicking outside of it + window.addEventListener('click', function(event) { + if (event.target === menuModal) { + menuModal.classList.remove('active'); + } + }); +}); \ No newline at end of file diff --git a/inc/js/schedule-tabs.js b/inc/js/schedule-tabs.js new file mode 100644 index 0000000..7853333 --- /dev/null +++ b/inc/js/schedule-tabs.js @@ -0,0 +1,37 @@ +document.addEventListener('DOMContentLoaded', function() { + function openTab(evt, tabName) { + var i, tabcontent, tabbuttons; + tabcontent = document.getElementsByClassName("tab-content"); + for (i = 0; i < tabcontent.length; i++) { + tabcontent[i].style.display = "none"; + } + tabbuttons = document.getElementsByClassName("tab-button"); + for (i = 0; i < tabbuttons.length; i++) { + tabbuttons[i].className = tabbuttons[i].className.replace(" active", ""); + } + document.getElementById(tabName).style.display = "block"; + evt.currentTarget.className += " active"; + } + + // Attach the openTab function to the global scope + window.openTab = openTab; + + // Check viewport width and apply default tab only for screens 768px and above + if (window.innerWidth >= 768) { + document.querySelector('.tab-button.active').click(); + } + + // Re-evaluate on window resize + window.addEventListener('resize', function() { + if (window.innerWidth < 768) { + // Show all tabs on small screens + var tabcontent = document.getElementsByClassName("tab-content"); + for (var i = 0; i < tabcontent.length; i++) { + tabcontent[i].style.display = "block"; + } + } else { + // Trigger the first tab by default on larger screens + document.querySelector('.tab-button.active').click(); + } + }); +}); diff --git a/index.php b/index.php new file mode 100644 index 0000000..49cac2a --- /dev/null +++ b/index.php @@ -0,0 +1,17 @@ + + +
+ ', ''); + the_content(); + endwhile; + else : + echo '

No content found.

'; + endif; + ?> +
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 9593f7f..e6ebb6d 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -3,5 +3,282 @@ "version": "1.0.0", "lockfileVersion": 3, "requires": true, - "packages": {} + "packages": { + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/immutable": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass": { + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", + "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + } + } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ab9cf79 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,523 @@ +{ + "name": "retain-theme", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "retain-theme", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "sass": "^1.85.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/immutable": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass": { + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", + "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..dc55c52 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "retain-theme", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "sass": "sass src/sass/style.scss:style.css --watch", + "sass:build": "sass src/sass/style.scss:style.css --style compressed", + "start": "npm run sass", + "build": "npm run sass:build" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "sass": "^1.85.0" + } +} diff --git a/page.php b/page.php new file mode 100644 index 0000000..c8446d1 --- /dev/null +++ b/page.php @@ -0,0 +1,25 @@ + + +
+ +
> +

+
+ +
+
+ +
diff --git a/src/sass/includes/front-page/faq.scss b/src/sass/includes/front-page/faq.scss new file mode 100644 index 0000000..b767c21 --- /dev/null +++ b/src/sass/includes/front-page/faq.scss @@ -0,0 +1,162 @@ +.faq { + background-color: var(--color-offwhite); + text-align: center; + + .icon-img { + margin: 48px auto 48px auto; + + @media screen and (min-width: 1300px) { + width: 48px; + } + } + + .parallelogram { + margin-bottom: 52px; + + @media screen and (min-width: 1300px) { + height: 90px; + margin-bottom: 110px; + } + } + + .section-title { + @media screen and (min-width: 1300px) { + padding: 0 20px 10px 19px; + } + } + + .collapsible { + display: flex; // Ensures icon and text are in separate columns + flex-direction: row; // Align icon and text in a row + align-items: center; // Vertically align them + justify-content: flex-start; // Align content to the left + background-color: var(--color-lightorange); + color: var(--color-white); + font-weight: normal; + cursor: pointer; + padding: 0 30px; + border: none; + height: auto; + min-height: 150px; + text-align: left; + width: 85%; + margin-bottom: 5px; + + @media screen and (min-width: 768px) { + width: 60%; + } + + @media screen and (min-width: 1300px) { + width: 1100px; + min-height: 105px; + } + + .toggle-icon { + font-size: 60px; + margin: 0 0 2px 15px; + + @media screen and (min-width: 768px) { + font-size: 65px; + } + + @media screen and (min-width: 1300px) { + font-size: 70px; + } + } + + .collapsible-text { + font-size: 20px; + margin-left: 35px; + letter-spacing: 1px; + + @media screen and (min-width: 768px) { + font-size: 30px; + } + + @media screen and (min-width: 1300px) { + font-size: 35px; + } + } + } + + .active { + background-color: var(--color-lightorange); + } + + .collapsible:hover { + background-color: var(--color-darkorange); + } + + .collapsible:focus { + outline: 2px solid var(--color-black); + outline-offset: 2px; + } + + .content { + padding: 28px 18px 0 20px; + display: none; + overflow: hidden; + background-color: var(--color-white); + width: 85%; + + @media screen and (min-width: 768px) { + width: 60%; + font-size: 30px; + } + + @media screen and (min-width: 1300px) { + font-size: 40px; + width: 1100px; + } + + p, + ul, + li { + text-align: left; // Ensure text alignment for p, ul, and li elements + } + + ul { + list-style-type: disc; // Ensure bullet points are shown + padding: 10px 0 2px 110px; // Add padding to align bullets properly + + li { + font-size: 18px; + line-height: 1.2; + margin-left: -70px; + + @media screen and (min-width: 768px) { + font-size: 24px; + margin-left: -35px; + } + @media screen and (min-width: 1300px) { + font-size: 28px; + line-height: 1.5; + margin-left: 0; + } + } + } + + .note { + font-style: italic; + color: var(--color-darkorange); + padding: 45px 0 10px 0; + margin-left: -85px; + font-size: 15px; + + @media screen and (min-width: 768px) { + font-size: 20px; + margin-left: -60px; + } + + @media screen and (min-width: 1300px) { + font-size: 24px; + margin-left: -35px; + } + } + } + + .empty-space { + background-color: var(--color-offwhite); + height: 76px; + } +} diff --git a/src/sass/includes/front-page/front-page.scss b/src/sass/includes/front-page/front-page.scss new file mode 100644 index 0000000..2ab854d --- /dev/null +++ b/src/sass/includes/front-page/front-page.scss @@ -0,0 +1,180 @@ +.site-main { + padding: 0; + margin: 0; + overflow: hidden; + +section { + width: 100%; + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + @media screen and (min-width: 1300px) { + align-items: flex-start; + justify-content: flex-start; + } +} + +h3 { + font-size: 22px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + color: var(--color-darkorange); + font-style: italic; + max-width: 85%; + text-align: center; + margin: 55px auto 30px auto; + + @media screen and (min-width: 768px) { + font-size: 25px; + } + + @media screen and (min-width: 768px) { + font-size: 35px; + } +} + +h4 { + font-size: 20px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + color: var(--color-darkorange); + margin: 0 auto; + text-transform: uppercase; + margin: 0 auto 20px auto; + + + @media screen and (min-width: 768px) { + font-size: 25px; + } + + @media screen and (min-width: 1024px) { + font-size: 30px; + } +} + +p { + font-size: 18px; + color: var(--color-black); + font-family: var(--font-sourcesanspro); + font-weight: 400; + line-height: 1.4; + width: 85%; + margin: 0 auto 40px auto; + + + @media screen and (min-width: 768px) { + font-size: 22px; + } + + @media screen and (min-width: 1024px) { + font-size: 30px; + } +} + +/* Large screen background images on what to expect and speakers sections */ +.full-w-img { + display: none; /* Hide image on mobile */ + + @media screen and (min-width: 768px) { + display: block; + width: 100%; + padding: 0; /* Add padding to image */ + object-fit: cover; /* Maintain aspect ratio and cover the area */ + } +} + +/* Section icon */ +.icon-img { + width: 40px; + height: auto; + + @media screen and (min-width: 768px) { + width: 50px; + } +} + +/* Section titles */ + .parallelogram { + background: var(--color-lightorange); + display: inline-block; + padding: 20px; + + @media screen and (max-width: 767px) { + width: 90%; + } + + @media screen and (max-width: 1299px) { + width: 70%; + height: auto; + } + + @media screen and (min-width: 1300px) { + box-shadow: -13px 11px 0 var(--color-darkorange); + transform: skew(-28deg); + } + } + +.section-title { + display:inline-block; + font-size: 1.5em; + color: var(--color-white); + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-weight: 900; + font-style: bold; + margin: 0 auto; + width: 100%; + + @media screen and (min-width: 1300px) { + font-size: 2em; + } + + @media screen and (min-width: 1300px) { + transform: skew(28deg); + font-size: 2.6em; + } +} + +/* Skip links for accessibility - hidden unless focused with keyboard */ +.skip-links { + position: fixed; + top: -40px; + left: 0; + width: 100%; + z-index: 1000; + background: #000; + padding: 10px; + transition: top 0.3s ease-in-out; +} + +.skip-link { + position: absolute; + top: -40px; + left: 0; + display: block; + width: 100%; + padding: 10px; + background: #000; + color: white; + text-align: center; + text-decoration: none; + transition: top 0.3s ease-in-out; + opacity: 0; + z-index: -1; +} + +.skip-link:focus { + top: 0; + opacity: 1; + z-index: 1000; + outline: 2px solid white; +} + +/* Ensure main content can receive focus for skip links */ +#main-content:focus { + outline: none; +} +} \ No newline at end of file diff --git a/src/sass/includes/front-page/hero.scss b/src/sass/includes/front-page/hero.scss new file mode 100644 index 0000000..5ce44a4 --- /dev/null +++ b/src/sass/includes/front-page/hero.scss @@ -0,0 +1,192 @@ +@mixin image-replace($width, $height) { + display: block; + background-size:contain; + background-repeat: no-repeat; + + width: $width; + height: $height; + overflow: hidden; + text-indent: 100%; + white-space: nowrap; + } + +.site-main .hero { + background-color: var(--color-darkorange); + background-image: url(./assets/hero/hero-bg.png); + height: 750px; + width: 100%; + background-size: cover; + position: relative; /* Required for absolute positioning of text */ + overflow: hidden; + + @media screen and (min-width: 768px) { + height: 1300px; + } + + @media screen and (min-width: 1300px) { + height: 1380px; + width: 1248px; + } + + + #hero-bg-img-left, + #hero-bg-img-right { + + display: none; /* Hide by default on mobile */ + + @media screen and (min-width: 1300px) { + display: block; + position: absolute; + top: 70px; + background-size: cover; + background-repeat: no-repeat; + mix-blend-mode: soft-light; + z-index: 1; + height: 100%; + width: 50%; + } + } + + #hero-bg-img-left { + @media screen and (min-width: 1300px) { + left: -30px; + background-image: url(./assets/hero/hero-image-left.png); + } + } + + #hero-bg-img-right { + @media screen and (min-width: 1300px) { + right: 0; + background-image: url(./assets/hero/hero-image-right.png); + } + } + + .hero-content { + + z-index: 9; /* Ensure content is above image but below header */ + width: 100%; + text-align: center; + color: var(--color-white); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 100px; + + @media screen and (min-width: 768px) { + padding-top: 150px; + } + + @media screen and (min-width: 1300px) { + padding-top: 482px; + display: block; + margin-top: 0; + } + } + + .hero-text { + font-size: 22px; + letter-spacing: .15rem; + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + margin-bottom: 20px; + font-weight: 700; + + @media screen and (min-width: 1300px) { + font-size: 30px; + letter-spacing: .55rem; + } + } + + .hero-logo { + background-image: url(./assets/hero/hero-logo.png); + @include image-replace(300px, 143px); + + @media screen and (min-width: 768px) { + margin-top: -55px; + margin-bottom: 71px; + @include image-replace(570px, 272px); + } + + @media screen and (min-width: 1024px) { + width: 1016px; + @include image-replace(1016px, 484px); + } + } + + .countdown { + $spacing: 7.2rem; + $primary-font-size: 53px; + $secondary-font-size: 18px; + max-width: 600px; + + // Hidden by default on mobile + display: none; + + // Styles for when visible + &.visible { + display: flex; + justify-content: center; + gap: calc($spacing / 4); + margin-right: $spacing; + margin-left: $spacing; + } + + &-item { + display: flex; + flex-direction: column; + align-items: center; + + span { + font-size: $primary-font-size * 0.4; + font-weight: bold; + + } + + .label { + font-size: $secondary-font-size * 0.6; + margin-top: 0.5rem; + font-weight: normal; + } + } + + @media (min-width: 768px) { + display: flex; + gap: $spacing; + + &-item { + span { + font-size: $primary-font-size * 0.6; + } + + .label { + font-size: $secondary-font-size * 0.8; + margin-top: 0; + line-height: 0.1; + } + } + } + + @media (min-width: 1300px) { + &-item { + span { + font-size: $primary-font-size; + } + + .label { + font-size: $secondary-font-size; + } + } + } + + .countdown-item { + .title { + font-family: var(--font-brandongrotesque); + } + + .label { + font-family: var(--font-sourcesanspro); + } + } +} +} diff --git a/src/sass/includes/front-page/highlights.scss b/src/sass/includes/front-page/highlights.scss new file mode 100644 index 0000000..90c1e4f --- /dev/null +++ b/src/sass/includes/front-page/highlights.scss @@ -0,0 +1,53 @@ +.highlights { + background-color: #f7f7f7; + text-align: center; + + .icon-img { + margin: 57px auto 50px auto; + + @media screen and (min-width: 1300px) { + width: 64px; + } + } + + .parallelogram { + @media screen and (min-width: 1300px) { + height: 90px; + } + } + + .section-title { + @media screen and (min-width: 1300px) { + padding: 0 20px 10px 48px; + } + } + + .highlights-video { + margin: 61px auto 87px auto; + position: relative; + width: 300px; + height: 169px; // 16:9 aspect ratio for 300px width + margin-left: auto; + margin-right: auto; + + @media screen and (min-width: 768px) { + margin: 50px auto; + width: 450px; + height: 350px; // 16:9 aspect ratio for 1200px width (1200 * 9/16) + } + + @media screen and (min-width: 1300px) { + margin: 61px auto 87px auto; + width: 1165px; + height: 675px; // 16:9 aspect ratio for 1200px width (1200 * 9/16) + } + + iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + } +} \ No newline at end of file diff --git a/src/sass/includes/front-page/host.scss b/src/sass/includes/front-page/host.scss new file mode 100644 index 0000000..0b042ba --- /dev/null +++ b/src/sass/includes/front-page/host.scss @@ -0,0 +1,113 @@ +.meet-your-host { + position: relative; /* This is needed for absolute positioning of children */ + z-index: 1; + text-align: center; + + .icon-img { + margin: 64px auto 70px auto; + + + @media screen and (min-width: 1300px) { + width: 42px; + } + } + + .parallelogram { + @media screen and (min-width: 1300px) { + height: 90px; + } + } + + .section-title { + @media screen and (min-width: 1300px) { + padding: 0 20px 5px 10px; + } + } + + .host-img-wrapper { + width: 280px; + height: 370px; + margin: 0 auto; + position: relative; + + @media screen and (min-width: 768px) { + width: 354px; + height: 505px; + } + + .host-img { + width: 250px; + height: auto; + padding: 0; + object-fit: cover; + position: relative; /* This ensures it stays above the background divs */ + z-index: 2; + margin: 20px auto 0 auto; + + @media screen and (min-width: 768px) { + width: 330px; + padding: 66px 0 20px 0; + margin-top: 0; + } + } + + .host-img-bg-dark, + .host-img-bg-light { + position: absolute; + transform: translate(-50%, -50%); + z-index: 1; + width: 250px; + height: 182px; + + @media screen and (min-width: 768px) { + width: 329px; + height: 251px; + } + } + + .host-img-bg-dark { + background: var(--color-darkorange); + margin-top: 231px; + margin-left: 152px; + + @media screen and (min-width: 768px) { + margin-top: 353px; + margin-left: 190px; + } + } + + .host-img-bg-light { + background: var(--color-lightorange); + margin-top: 263px; + margin-left: 127px; + + @media screen and (min-width: 768px) { + margin-top: 379px; + margin-left: 164px; + } + } + } + + .host-name { + color: var(--color-lightorange); + font-size: 27px; + letter-spacing: 4px; + font-family: var(--font-brandongrotesque); + font-weight: 900; + text-transform: uppercase; + margin: 18px auto; + + @media screen and (min-width: 1300px) { + font-size: 32px; + } + + @media screen and (min-width: 1300px) { + font-size: 40px; + margin: 33px auto 0 auto; + } + } + + h3 { + margin: 34px auto 35px auto; + } + } \ No newline at end of file diff --git a/src/sass/includes/front-page/location.scss b/src/sass/includes/front-page/location.scss new file mode 100644 index 0000000..f10833c --- /dev/null +++ b/src/sass/includes/front-page/location.scss @@ -0,0 +1,195 @@ +.location { + .icon-img { + margin: 70px auto; + + @media screen and (min-width: 1300px) { + width: 52px; + margin: 62px auto 70px auto; + } + } + + .location-mobile-title { + margin-bottom: 70px; + display: block; + + @media screen and (min-width: 1300px) { + display: none; + } + } + + .location-desktop-title { + display: none; + + @media screen and (min-width: 1300px) { + display: block; + position: relative; + margin-left: 0; + margin-left: -32px; + } + + .location-title-box { + height: 88px; + background-color: var(--lightorange); + display: flex; + align-items: center; + padding: 0; + position: relative; + z-index: 1; + + .section-title { + position: relative; + z-index: 2; + margin: 0; + color: var(--color-white); + transform: none; + } + + @media (min-width: 1300px) { + clip-path: polygon(10% 0%, 100% 0%, 88% 30%, 10% 30%); + height: 288px; + background-color: var(--color-lightorange); + width: 337px; + + .section-title { + padding: 0 20px 0 70px; + margin-top: -195px; + } + } + } + + .location-title-shadow { + display: none; + + @media screen and (min-width: 1300px) { + display: block; + position: relative; + top: -288px; + left: -15px; + height: 334px; + width: 300px; + background: var(--color-darkorange); + clip-path: polygon(10% 0%, 100% 0%, 88% 30%, 10% 30%); + z-index: 0; + } + } + } + + + /* Default layout: single column */ + .location-section-content { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-bottom: 60px; + width: 90%; + + @media screen and (min-width: 768px) { + width: 60%; + } + + @media screen and (min-width: 1300px) { + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + margin-top: 0; + margin-bottom: 128px; + width: 1100px; + } + } + + .location-text-wrapper, + .map-wrapper { + width: 100%; + text-align: center; // Default center alignment for mobile + } + + @media screen and (min-width: 1300px) { + .location-text-wrapper { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; + margin-left: 0; + padding-left: 0; + + .address, .location-name { + text-align: left; + white-space: nowrap; // This prevents text from wrapping + width: auto; // This allows the text to take its natural width + } + } + } + + .map-wrapper { + width: 320px; + height: 320px; + display: flex; + flex-direction: column; + justify-content: flex-start; + border: 7px solid var(--color-offwhite); + text-align: left; + margin: 0 auto; + + + @media screen and (min-width: 1300px) { + width: 549px; + height: 545px; + margin-left: -460px; + } + + iframe { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + } + } + + .location-text { + margin: 0; + width: auto; + + .address { + white-space: nowrap; + line-height: 1; + + &:first-child { + margin-bottom: 12px; + } + + &:last-child { + margin-bottom: 60px; + } + } + + .location-name { + color: var(--color-darkorange); + font-style: normal; + white-space: nowrap; + line-height: 1; + margin: 20px auto 15px auto; + + @media screen and (min-width: 1300px) { + margin: 58px 0 40px 0; + } + + span { + color: var(--color-lightorange); + font-style: italic; + } + + &:last-child { + margin: 5px auto 40px auto; + + @media screen and (min-width: 1300px) { + margin: 53px 0 40px 0; + } + } + } + + @media screen and (min-width: 1300px) { + margin: -476px 0 0 -5px; + } + } +} \ No newline at end of file diff --git a/src/sass/includes/front-page/membership-growth.scss b/src/sass/includes/front-page/membership-growth.scss new file mode 100644 index 0000000..d14d8dd --- /dev/null +++ b/src/sass/includes/front-page/membership-growth.scss @@ -0,0 +1,28 @@ +.membership-growth { + text-align: center; + + .icon-img { + margin: 57px auto 56px auto; + + @media screen and (min-width: 1300px) { + width: 68px; + } +} + + .parallelogram { + @media screen and (min-width: 1300px) { + height: 89px; + } +} + +.section-title { + @media screen and (min-width: 1300px) { + padding: 0 20px 10px 19px; + } +} + +.section-subtitle { + line-height: 1.4; + margin-bottom: 35px; +} +} \ No newline at end of file diff --git a/src/sass/includes/front-page/schedule.scss b/src/sass/includes/front-page/schedule.scss new file mode 100644 index 0000000..5bce61f --- /dev/null +++ b/src/sass/includes/front-page/schedule.scss @@ -0,0 +1,336 @@ +.schedule { + text-align: center; + background-color: var(--color-white); + margin-bottom: 50px; + + .icon-img { + margin: 55px auto 55px auto; + + @media screen and (min-width: 1300px) { + width: 42px; + } + } + + .parallelogram { + margin-bottom: 30px; + + @media screen and (min-width: 1300px) { + height: 90px; + margin-bottom: 110px; + } + } + + .section-title { + @media screen and (min-width: 1300px) { + padding: 0 20px 10px 19px; + } + } + + .schedule-tabs { + .tab-button-container { + display: none; + } + + .tab-button-mobile { + display: block; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: var(--color-darkorange); + color: var(--color-white); + padding: 10px 20px; + border: none; + position: relative; + z-index: 1; + flex: 1; + line-height: 1; + text-align: center; + margin: 40px auto 20px auto; + + span { + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-size: 20px; + letter-spacing: 3px; + + &:first-child { + font-weight: 700; + } + + &:last-child { + font-weight: 400; + } + } + } + + .tab-content { + display: block; + } + + @media screen and (min-width: 768px) { + width: 1100px; + margin: 0 auto; + + .tab-button-mobile { + display: none; + } + + /* Default gradient (first tab active) */ + .tab-button-container { + display: flex; + position: relative; + border: 1px solid var(--color-darkorange); + width: 100%; + height: 105px; + overflow: hidden; + margin-bottom: 73px; + background: linear-gradient( + 120deg, + var(--color-darkorange) 50%, + var(--color-white) 50% + ); + } + + /* When the second button is active */ + .tab-button:nth-child(2).active ~ .tab-button-container, + .tab-button-container:has(.tab-button:nth-child(2).active) { + background: linear-gradient( + 120deg, + var(--color-white) 50%, + var(--color-darkorange) 50% + ); + } + + .tab-button { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: transparent; + color: var(--color-white); /* Default text color for first button */ + padding: 10px 20px; + border: none; + cursor: pointer; + position: relative; + z-index: 1; + flex: 1; + line-height: 1; + text-align: center; + + span { + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-size: 20px; + letter-spacing: 3px; + + &:first-child {margin-bottom: 8px; + font-weight: 700; + } + + &:last-child { + font-weight: 400; + } + } + } + + /* When first button is active */ + .tab-button:nth-child(1).active { + color: var(--color-white); + } + + .tab-button:nth-child(2) { + color: var(--color-darkorange); + margin-left: 80px; + } + + /* When second button is active */ + .tab-button:nth-child(1) { + color: var(--color-darkorange); + margin-left: 20px; + } + + .tab-button:nth-child(2).active { + color: var(--color-white); + } + + .tab-button { + span { + font-size: 30px; + } + } + + .tab-content { + display: none; + } + + .tab-content:first-of-type { + display: block; + } + } + } + + .schedule-tabs { + position: relative; + + &::after { + content: ''; + position: absolute; + width: 2px; + height: calc(100% - 80px); // Adjusted for mobile + background-color: var(--color-darkorange); + top: 70px; // Start right after the first button ends + left: 50%; // Centered by default for mobile + transform: translateX(-50%); // Perfect centering + z-index: 0; + transition: left 0.3s ease, transform 0.3s ease; // Smooth transitions + pointer-events: none; + } + + .schedule-grid { + display: flex; + flex-direction: column; + gap: 20px; + position: relative; + z-index: 1; + } + + .schedule-card { + background-color: var(--color-white); + position: relative; + z-index: 1; + display: flex; + flex-direction: row; + align-items: center; + width: 100%; + border: 1px solid var(--color-darkorange); + overflow: hidden; + background-color: var(--color-white); + height: 130px; + margin-bottom: 2px; + + .schedule-time { + display: flex; + align-items: center; + justify-content: center; + width: 70px; + flex-shrink: 0; + background-color: var(--color-darkorange); + padding: 0; + height: 100%; + + p { + color: var(--color-white); + font-weight: bold; + text-align: center; + line-height: 1; + margin: 0 auto; + font-size: 16px; + } + } + + .schedule-session-details { + flex-grow: 1; + padding: 0; + + .schedule-session { + h3 { + color: var(--color-black); + font-size: 18px; + font-weight: 700px; + margin: 0 auto 5px; + text-align: left; + font-style: normal; + } + } + + .schedule-speaker { + p { + color: var(--color-lightorange); + text-transform: uppercase; + font-weight: 400px; + font-size: 16px; + margin: 0 auto; + text-align: left; + letter-spacing: 2px; + line-height: 1; + } + } + } + + .schedule-speaker-photo { + display: none; + } + } + + @media screen and (min-width: 768px) { + &::after { + height: calc(100% - 105px - 101px); // Adjusted height for desktop tabs and last card + top: 105px; // Start below the tab buttons + transform: translateX(0); // Remove centering transform on desktop + + // Default position for first tab on desktop + left: calc(25% + 10px); // Centered under first button + } + + // When second tab is active, move the line (desktop only) + .tab-button:nth-child(2).active ~ &::after, + &:has(.tab-button:nth-child(2).active)::after { + left: calc(75% - 40px); // Centered under second button + } + + .schedule-grid { + gap: 25px; + width: 1100px; + } + + .schedule-card { + margin-bottom: 8px; + height: 101px; + + .schedule-time { + width: 102px; + + p { + font-size: 24px; + } + } + + .schedule-session-details { + .schedule-session { + h3 { + font-size: 26px; + margin-left: 26px; + } + } + + .schedule-speaker { + p { + font-size: 22px; + margin-left: 26px; + } + } + } + + .schedule-speaker-photo { + width: 57px; + height: 61px; + background-color: var(--color-lightorange); + margin-left: auto; + margin-right: 35px; + display: flex; + align-items: center; + justify-content: center; + clip-path: polygon(20% 0%, 100% 0%, 80% 75%, 50% 75%, 30% 100%, 30% 75%, 0% 75%); + + img { + width: 49px; + height: 53px; + object-fit: cover; + clip-path: polygon(20% 0%, 100% 0%, 80% 75%, 50% 75%, 30% 100%, 30% 75%, 0% 75%); + } + } + } + } + } +} diff --git a/src/sass/includes/front-page/speakers.scss b/src/sass/includes/front-page/speakers.scss new file mode 100644 index 0000000..93a46f7 --- /dev/null +++ b/src/sass/includes/front-page/speakers.scss @@ -0,0 +1,284 @@ +.speakers { + position: relative; + padding: 50px 0; + + @media screen and (min-width: 768px) { + padding: 70px 0; + } + + @media screen and (min-width: 1300px) { + padding: 200px 0 63px 0; + } + + .speakers-content-wrapper { + + + @media screen and (min-width: 1300px) { + width: 1300px; + background: linear-gradient(to bottom, + white 0%, + white 210px, + var(--color-lightorange) 210px, + var(--color-lightorange) 100%); + } +} + + .speakers-section-content { + position: relative; + z-index: 5; // Content above background + margin: 0 auto; + padding: 0; + } + + /* Background Images */ + .speakers-bg-img-1, + .speakers-bg-img-2 { + display: none; // Hide images on mobile + + @media screen and (min-width: 1300px) { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + z-index: 0; // Behind everything else + pointer-events: none; + } +} + + .speakers-bg-img-1 { + @media screen and (min-width: 1300px) { + max-width: 100%; + margin-top: -210px; + } + } + + .speakers-bg-img-2 { + @media screen and (min-width: 1300px) { + max-width: 100%; + margin-top: -210px; + } + } + + /* Heading */ + h2 { + text-align: center; + width: 80%; + color: var(--color-darkorange); + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-weight: 700; + z-index: 3; // Above background images + font-size: 25px; + + @media screen and (min-width: 768px) { + font-size: 30px; + width: 60%; + } + @media screen and (min-width: 1300px) { + font-size: 42px; + margin: 8px 0 0 0; + width: auto; + color: var(--color-white); + } + } + + /* Grid Layout */ + .speakers-grid { + display: flex; + flex-wrap: nowrap; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 2rem; + margin: 40px 0 38px 0; + padding: 0; + + @media screen and (min-width: 1300px) { + padding: 10px; + } + } + + @media screen and (min-width: 768px) { + .speakers-grid { + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + margin: 40px 113px 0 42px; + } + } + + .speaker-wrapper { + display: flex; + flex-direction: column; + align-items: center; + gap: 25px; + + @media screen and (min-width: 768px) { + align-items: flex-start; + } + } + + .speaker-card { + position: relative; + width: 280px; + height: 280px; + padding: 0px; + background: linear-gradient(to right top, #feb902, #fff); + border: none; + display: flex; + align-items: center; + justify-content: center; + clip-path: polygon( + 0% 0%, + 100% 0%, + 100% 100%, + 0% 100% + ); + + @media screen and (min-width: 768px) { + width: 353px; + // clip-path: polygon( + // 20.75% -5%, + // 100% 0%, + // 100% 100%, + // 20.75% 100%, + // 20.75% 84%, + // 0% 84%, + // 20.75% 58% + // ); // Original speech bubble clip-path + + clip-path: polygon( + 24% -5%, + 100% 0%, + 100% 100%, + 24% 100%, + 24% 84%, + 6% 84%, + 24% 58% + ); // Adjusted speech bubble clip-path for centering image + } + } + + /* Speaker Image Container */ + .speaker-image { + width: 93.5%; + height: 92%; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + } + + .speaker-image img { + + width: 100%; + height: 100%; + object-fit: cover; + clip-path: polygon( + 0% 0%, + 100% 0%, + 100% 100%, + 0% 100% + ); + + @media screen and (min-width: 768px) { + // clip-path: polygon( + // 22.25% -6%, + // 100% 0%, + // 100% 100%, + // 22.25% 100%, + // 22.25% 83%, + // 4.3% 83%, + // 22.25% 60.5% + // ); // Original speech bubble + + clip-path: polygon( + 15% -6%, + 100% 0%, + 100% 100%, + 15% 100%, + 15% 83%, + -0.5% 83%, + 15% 60.5% + ); // Adjusted speech bubble for centering image + + position: relative; + left: 36px; // Center image in speech bubble + } + } + + /* Speaker Info */ + .speaker-info { + text-align: center; + padding-top: 10px; + padding-left: 0; + text-transform: uppercase; + + @media screen and (min-width: 768px) { + padding-left: 12%; + } + } + + .speaker-name { + font-size: 18px; + margin: -7px auto 0 auto; + font-weight: 700; + width: 350px; + letter-spacing: 3px; + color: var(--color-black); + font-family: var(--font-brandongrotesque); + font-style: normal; + h3 { + max-width: 100%; + } + @media screen and (min-width: 768px) { + font-size: 23px; + letter-spacing: 5px; + } + + @media screen and (min-width: 1300px) { + font-size: 27px; + color: var(--color-white); + } + } + + .speaker-role { + font-size: 1rem; + letter-spacing: 2px; + color: var(--color-lightorange); + font-family: var(--font-sourcesanspro); + + @media screen and (min-width: 1300px) { + letter-spacing: 3px; + color: var(--color-white); + } + } + + .speakers-section-footer { + width: 100%; + height: auto; + + @media screen and (min-width: 1300px) { + height: 135px; + margin-bottom: 38px; + } + + h3 { + margin: 20px auto 30px auto; + text-align: center; + + @media screen and (min-width: 1300px) { + margin: 75px auto 48px auto; + } + } + + hr { + text-align: center; + margin: -8px 0; + width: 100%; + height: 7px; + border: none; + background: linear-gradient(to right, #fe5e00, #feb902); + } +} +} diff --git a/src/sass/includes/front-page/tickets.scss b/src/sass/includes/front-page/tickets.scss new file mode 100644 index 0000000..2bef09b --- /dev/null +++ b/src/sass/includes/front-page/tickets.scss @@ -0,0 +1,245 @@ +.tickets { + text-align: center; + margin: 0 auto 100px auto; + + @media screen and (min-width: 1300px) { + margin: 0 auto; + } + + .icon-img { + margin: -5px auto 49px auto; + + @media screen and (min-width: 1300px) { + width: 58px; + } + } + + .parallelogram { + margin-bottom: 52px; + + @media screen and (min-width: 1300px) { + height: 90px; + margin-bottom: 82px; + } +} + +.section-title { + @media screen and (min-width: 1300px) { + padding: 0 0 5px 20px; + } +} + +.first-p { + width: 87%; +} + +.second-p { + width: 100%; +} + +.section-subtitle { + width: 90%; + margin: -6px auto 60px auto; + font-size: 25px; + + @media screen and (min-width: 768px) { + font-size: 30px; + } + + @media screen and (min-width: 1300px) { + margin: -6px auto 115px auto; + font-size: 38px; + } +} + +.ticket-prices { + display: flex; + flex-direction: column; + gap: 2rem; + padding: 1rem; + margin-top: -18px; + width: 300px; + height: auto; + +/* Stack side by side on larger screens */ +@media (min-width: 768px) { + flex-direction: row; + justify-content: center; + align-items: stretch; + gap: 40px; + width: 700px; + } + +@media (min-width: 1300px) { + gap: 60px; + width: 1135px; + height: 735px; +} +} + +.card-wrapper { + background: linear-gradient(to bottom, #fe5e00, #feb902); + padding: 16px; /* This creates the border effect */ + flex: 1; + width: 1300px; + margin: 0 auto; + width: 100%; +} + +.ticket-price-card { + position: relative; + background: white; + padding: 2rem; + display: flex; + flex-direction: column; + align-items: center; + height: 100%; + overflow: hidden; +} + +.card-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; + z-index: 0; + opacity: 0.8; +} + +.price-title { + font-size: 70px; + font-weight: bold; + margin: -25px 0 2px 0; + position: relative; + z-index: 1; + color: var(--color-white); + font-family: var(--font-brandongrotesque); + + @media screen and (min-width: 768px) { + font-size: 100px; + } + + @media screen and (min-width: 1300px) { + font-size: 170px; + } +} + +.earlybird-bg { + background: linear-gradient( + to right, + rgba(255, 255, 255, 0), + rgba(255, 255, 255, 1) 50%, + rgba(255, 255, 255, 0) + ); + padding: 8px 0; + border-radius: 25px; + margin: 0 0 60px 0; + position: relative; + z-index: 1; + width: 100%; + height: auto; + display: flex; + justify-content: center; + + @media screen and (min-width: 1300px) { + height: 49px; + } +} + +.earlybird-text { + margin: 0; + color: var(--color-darkorange); + font-weight: 600; + font-style: italic; + font-family: var(--font-brandongrotesque); + text-transform: uppercase; + font-size: 20px; + + @media screen and (min-width: 768px) { + font-size: 25px; + } +} + +.price-features { + list-style: none; + padding: 0; + margin: 0 0 2rem 0; + text-align: center; + position: relative; + z-index: 1; + display: flex; + flex-direction: column; + align-items: center; +} + +.price-features li { + margin-bottom: 0.8rem; + color: var(--color-white); + font-family: var(--font-sourcesanspro); + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 20px; + font-weight: 400; + letter-spacing: 1px; + line-height: 1.1; + + @media screen and (min-width: 768px) { + font-size: 27px; + } +} + +.price-features li { + margin-bottom: 0.8rem; + color: var(--color-white); + font-family: var(--font-sourcesanspro); + position: relative; + padding-left: 30px; /* Make space for the icon */ +} + +/* Default checkmark for all li items */ +.price-features li::before { + content: "✓"; + position: absolute; + left: 0; + color: var(--color-white); +} + +/* Target the last li of the first card to show X instead */ +.ticket-prices .card-wrapper:first-child .price-features li:last-child { + opacity: 0.6; +} + +.ticket-prices .card-wrapper:first-child .price-features li:last-child::before { + content: "✕"; +} + +.buy-now-button { + background: var(--color-darkorange); + font-size: 25px; + color: white; + text-decoration: none; + padding: 6px 32px; + border-radius: 4px; + font-weight: bold; + text-transform: uppercase; + position: relative; + z-index: 1; + transition: transform 0.2s; + font-family: var(--font-brandongrotesque); + width: 150px; + + @media screen and (min-width: 768px) { + font-size: 35px; + padding: 8px 42px; + width: 248px; + } +} + +.buy-now-button:hover { + background: var(--color-white); + color: var(--color-darkorange); +} +} \ No newline at end of file diff --git a/src/sass/includes/front-page/what-to-expect.scss b/src/sass/includes/front-page/what-to-expect.scss new file mode 100644 index 0000000..2a43e84 --- /dev/null +++ b/src/sass/includes/front-page/what-to-expect.scss @@ -0,0 +1,91 @@ +.what-to-expect { + text-align: center; + background-color: var(--color-white); + height: auto; + position: relative; /* Required for absolute positioning of text */ + + @media screen and (min-width: 880px) { + background-color: var(--color-white); + height: auto; + } + + .what-to-expect-collage-img { + display: none; + + @media screen and (min-width: 880px) { + display: block; + margin-top: -63px; + } + } + + .what-to-expect-columns { + display: flex; + flex-direction: column; + position: relative; + z-index: 1; + padding: 30px; + + @media screen and (min-width: 880px) { + flex-direction: row; + justify-content: space-between; + position: absolute; + gap: 1rem; + top: 0; + left: 0; + right: 0; + bottom: 20px; /* Push columns 20px from the bottom of the image */ + padding: 0 70px; + } + } + + .what-to-expect-column { + background-color: transparent; + margin-top: 5%; + + @media screen and (min-width: 880px) { + margin-bottom: 0; + flex: 1; + width: 400px; + margin-top: 15%; + } + + @media screen and (min-width: 1300px) { + margin-top: 246px; + } + + h2 { + color: darkorange; + font-size: 20px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + text-transform: uppercase; + margin: 0 auto 10px auto; + + @media screen and (min-width: 880px) { + color: white; + font-size: 25px; + } + + @media screen and (min-width: 1300px) { + font-size: 30px; + } + } + + p { + color: black; + width: 90%; + line-height: 1.2; + + @media screen and (min-width: 880px) { + color: white; + width: 100%; + font-size: 19px; + } + + @media screen and (min-width: 1300px) { + font-size: 27px; + width: 350px; + } + } + } +} \ No newline at end of file diff --git a/src/sass/includes/globals.scss b/src/sass/includes/globals.scss new file mode 100644 index 0000000..684319e --- /dev/null +++ b/src/sass/includes/globals.scss @@ -0,0 +1,35 @@ +* { + margin: 0 auto; + padding: 0; + border-collapse: collapse; + box-sizing: border-box; +} + +html, +body { + height: 100%; + width: 100%; + -webkit-font-smoothing: antialiased; + + @media screen and (min-width: 1300px) { + width: 1300px; + } +} + +:root { + --color-darkorange: #fe5e00; + --color-lightorange: #feb902; + --color-white: #fff; + --color-black: #000; + --color-offwhite: #f7f7f7; + + --font-brandongrotesque: 'brandon-grotesque', sans-serif; + --font-sourcesanspro: 'Source Sans Pro', sans-serif; +} + +.site-main { + @media screen and (min-width: 1300px) { + max-width: 1300px; + } +} + diff --git a/src/sass/includes/header.scss b/src/sass/includes/header.scss new file mode 100644 index 0000000..f3c2898 --- /dev/null +++ b/src/sass/includes/header.scss @@ -0,0 +1,175 @@ +@use 'globals' as *; + +.site-header { + background-color: var(--color-white); + color: var(--color-darkorange); + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; + width: 100%; + height: 111px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + z-index: 100; + font-family: var(--font-brandongrotesque); + font-weight: 700; + font-size: 28px; + + @media (min-width: 1300px) { + position: fixed; + box-shadow: none; + width: 1300px; + } + + .site-branding { + padding: 35px 25px 15px 0px; + margin: 0 20px; + + @media (min-width: 768px) { + margin: 0 50px; + } + + img { + width: 140px; + height: auto; + + @media (min-width: 768px) { + width: 172px; + } + } + } + + .main-navigation { + margin: 0 5%; + + .menu-row { + display: none; + } + + .menu-toggle { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 30px; + height: 30px; + background: none; + border: none; + cursor: pointer; + margin-right: 10%; + + .bar { + width: 100%; + height: 3px; + background-color: var(--color-darkorange); + margin: 4px 0; + } + } + } + + .menu-modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-white); + justify-content: center; + align-items: center; + z-index: 1000; + + .menu-modal-content { + background-color: var(--color-white); + padding: 20px; + border-radius: 5px; + text-align: center; + + ul { + list-style: none; + } + + .menu-close { + background: none; + border: none; + font-size: 30px; + cursor: pointer; + position: absolute; + top: 10px; + right: 10px; + color: var(--color-darkorange); + } + + a { + text-transform: uppercase; + cursor: pointer; + color: var(--color-darkorange); + text-decoration: none; + } + } + } + + .menu-modal.active { + display: flex; + } + + @media (min-width: 768px) { + .main-navigation { + + .menu-row { + display: none; + } + + .menu-toggle { + display: flex; + } + } + + .menu-modal { + display: none; + } + } + + @media (min-width: 1300px) { + .main-navigation { + margin: 0 45px 0 0; + + .menu-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + letter-spacing: 2.55px; + padding-top: 7px; + + ul { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + list-style: none; + + a { + text-transform: uppercase; + cursor: pointer; + color: var(--color-darkorange); + text-decoration: none; + } + } + + li { + margin-left: 40px; + } + } + + .menu-toggle { + display: none; + } + } + + .menu-modal { + display: none; + } + } +} \ No newline at end of file diff --git a/src/sass/includes/page.scss b/src/sass/includes/page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/sass/style.scss b/src/sass/style.scss new file mode 100644 index 0000000..3929e09 --- /dev/null +++ b/src/sass/style.scss @@ -0,0 +1,14 @@ +@use "includes/globals" as *; +@use "includes/header" as *; +@use "includes/front-page/front-page" as *; +@use "includes/front-page/hero" as *; +@use "includes/front-page/membership-growth" as *; +@use "includes/front-page/what-to-expect" as *; +@use "includes/front-page/highlights" as *; +@use "includes/front-page/host" as *; +@use "includes/front-page/speakers" as *; +@use "includes/front-page/tickets" as *; +@use "includes/front-page/location" as *; +@use "includes/front-page/faq" as *; +@use "includes/front-page/schedule" as *; +@use "includes/page" as *; \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..66f1b8d --- /dev/null +++ b/style.css @@ -0,0 +1,1921 @@ +@charset "UTF-8"; +* { + margin: 0 auto; + padding: 0; + border-collapse: collapse; + box-sizing: border-box; +} + +html, +body { + height: 100%; + width: 100%; + -webkit-font-smoothing: antialiased; +} +@media screen and (min-width: 1300px) { + html, + body { + width: 1300px; + } +} + +:root { + --color-darkorange: #fe5e00; + --color-lightorange: #feb902; + --color-white: #fff; + --color-black: #000; + --color-offwhite: #f7f7f7; + --font-brandongrotesque: "brandon-grotesque", sans-serif; + --font-sourcesanspro: "Source Sans Pro", sans-serif; +} + +@media screen and (min-width: 1300px) { + .site-main { + max-width: 1300px; + } +} + +.site-header { + background-color: var(--color-white); + color: var(--color-darkorange); + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; + width: 100%; + height: 111px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + z-index: 100; + font-family: var(--font-brandongrotesque); + font-weight: 700; + font-size: 28px; +} +@media (min-width: 1300px) { + .site-header { + position: fixed; + box-shadow: none; + width: 1300px; + } +} +.site-header .site-branding { + padding: 35px 25px 15px 0px; + margin: 0 20px; +} +@media (min-width: 768px) { + .site-header .site-branding { + margin: 0 50px; + } +} +.site-header .site-branding img { + width: 140px; + height: auto; +} +@media (min-width: 768px) { + .site-header .site-branding img { + width: 172px; + } +} +.site-header .main-navigation { + margin: 0 5%; +} +.site-header .main-navigation .menu-row { + display: none; +} +.site-header .main-navigation .menu-toggle { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 30px; + height: 30px; + background: none; + border: none; + cursor: pointer; + margin-right: 10%; +} +.site-header .main-navigation .menu-toggle .bar { + width: 100%; + height: 3px; + background-color: var(--color-darkorange); + margin: 4px 0; +} +.site-header .menu-modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-white); + justify-content: center; + align-items: center; + z-index: 1000; +} +.site-header .menu-modal .menu-modal-content { + background-color: var(--color-white); + padding: 20px; + border-radius: 5px; + text-align: center; +} +.site-header .menu-modal .menu-modal-content ul { + list-style: none; +} +.site-header .menu-modal .menu-modal-content .menu-close { + background: none; + border: none; + font-size: 30px; + cursor: pointer; + position: absolute; + top: 10px; + right: 10px; + color: var(--color-darkorange); +} +.site-header .menu-modal .menu-modal-content a { + text-transform: uppercase; + cursor: pointer; + color: var(--color-darkorange); + text-decoration: none; +} +.site-header .menu-modal.active { + display: flex; +} +@media (min-width: 768px) { + .site-header .main-navigation .menu-row { + display: none; + } + .site-header .main-navigation .menu-toggle { + display: flex; + } + .site-header .menu-modal { + display: none; + } +} +@media (min-width: 1300px) { + .site-header .main-navigation { + margin: 0 45px 0 0; + } + .site-header .main-navigation .menu-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + letter-spacing: 2.55px; + padding-top: 7px; + } + .site-header .main-navigation .menu-row ul { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + list-style: none; + } + .site-header .main-navigation .menu-row ul a { + text-transform: uppercase; + cursor: pointer; + color: var(--color-darkorange); + text-decoration: none; + } + .site-header .main-navigation .menu-row li { + margin-left: 40px; + } + .site-header .main-navigation .menu-toggle { + display: none; + } + .site-header .menu-modal { + display: none; + } +} + +.site-main { + padding: 0; + margin: 0; + overflow: hidden; + /* Large screen background images on what to expect and speakers sections */ + /* Section icon */ + /* Section titles */ + /* Skip links for accessibility - hidden unless focused with keyboard */ + /* Ensure main content can receive focus for skip links */ +} +.site-main section { + width: 100%; + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +@media screen and (min-width: 1300px) { + .site-main section { + align-items: flex-start; + justify-content: flex-start; + } +} +.site-main h3 { + font-size: 22px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + color: var(--color-darkorange); + font-style: italic; + max-width: 85%; + text-align: center; + margin: 55px auto 30px auto; +} +@media screen and (min-width: 768px) { + .site-main h3 { + font-size: 25px; + } +} +@media screen and (min-width: 768px) { + .site-main h3 { + font-size: 35px; + } +} +.site-main h4 { + font-size: 20px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + color: var(--color-darkorange); + margin: 0 auto; + text-transform: uppercase; + margin: 0 auto 20px auto; +} +@media screen and (min-width: 768px) { + .site-main h4 { + font-size: 25px; + } +} +@media screen and (min-width: 1024px) { + .site-main h4 { + font-size: 30px; + } +} +.site-main p { + font-size: 18px; + color: var(--color-black); + font-family: var(--font-sourcesanspro); + font-weight: 400; + line-height: 1.4; + width: 85%; + margin: 0 auto 40px auto; +} +@media screen and (min-width: 768px) { + .site-main p { + font-size: 22px; + } +} +@media screen and (min-width: 1024px) { + .site-main p { + font-size: 30px; + } +} +.site-main .full-w-img { + display: none; /* Hide image on mobile */ +} +@media screen and (min-width: 768px) { + .site-main .full-w-img { + display: block; + width: 100%; + padding: 0; /* Add padding to image */ + object-fit: cover; /* Maintain aspect ratio and cover the area */ + } +} +.site-main .icon-img { + width: 40px; + height: auto; +} +@media screen and (min-width: 768px) { + .site-main .icon-img { + width: 50px; + } +} +.site-main .parallelogram { + background: var(--color-lightorange); + display: inline-block; + padding: 20px; +} +@media screen and (max-width: 767px) { + .site-main .parallelogram { + width: 90%; + } +} +@media screen and (max-width: 1299px) { + .site-main .parallelogram { + width: 70%; + height: auto; + } +} +@media screen and (min-width: 1300px) { + .site-main .parallelogram { + box-shadow: -13px 11px 0 var(--color-darkorange); + transform: skew(-28deg); + } +} +.site-main .section-title { + display: inline-block; + font-size: 1.5em; + color: var(--color-white); + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-weight: 900; + font-style: bold; + margin: 0 auto; + width: 100%; +} +@media screen and (min-width: 1300px) { + .site-main .section-title { + font-size: 2em; + } +} +@media screen and (min-width: 1300px) { + .site-main .section-title { + transform: skew(28deg); + font-size: 2.6em; + } +} +.site-main .skip-links { + position: fixed; + top: -40px; + left: 0; + width: 100%; + z-index: 1000; + background: #000; + padding: 10px; + transition: top 0.3s ease-in-out; +} +.site-main .skip-link { + position: absolute; + top: -40px; + left: 0; + display: block; + width: 100%; + padding: 10px; + background: #000; + color: white; + text-align: center; + text-decoration: none; + transition: top 0.3s ease-in-out; + opacity: 0; + z-index: -1; +} +.site-main .skip-link:focus { + top: 0; + opacity: 1; + z-index: 1000; + outline: 2px solid white; +} +.site-main #main-content:focus { + outline: none; +} + +.site-main .hero { + background-color: var(--color-darkorange); + background-image: url(./assets/hero/hero-bg.png); + height: 750px; + width: 100%; + background-size: cover; + position: relative; /* Required for absolute positioning of text */ + overflow: hidden; +} +@media screen and (min-width: 768px) { + .site-main .hero { + height: 1300px; + } +} +@media screen and (min-width: 1300px) { + .site-main .hero { + height: 1380px; + width: 1248px; + } +} +.site-main .hero #hero-bg-img-left, +.site-main .hero #hero-bg-img-right { + display: none; /* Hide by default on mobile */ +} +@media screen and (min-width: 1300px) { + .site-main .hero #hero-bg-img-left, + .site-main .hero #hero-bg-img-right { + display: block; + position: absolute; + top: 70px; + background-size: cover; + background-repeat: no-repeat; + mix-blend-mode: soft-light; + z-index: 1; + height: 100%; + width: 50%; + } +} +@media screen and (min-width: 1300px) { + .site-main .hero #hero-bg-img-left { + left: -30px; + background-image: url(./assets/hero/hero-image-left.png); + } +} +@media screen and (min-width: 1300px) { + .site-main .hero #hero-bg-img-right { + right: 0; + background-image: url(./assets/hero/hero-image-right.png); + } +} +.site-main .hero .hero-content { + z-index: 9; /* Ensure content is above image but below header */ + width: 100%; + text-align: center; + color: var(--color-white); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 100px; +} +@media screen and (min-width: 768px) { + .site-main .hero .hero-content { + padding-top: 150px; + } +} +@media screen and (min-width: 1300px) { + .site-main .hero .hero-content { + padding-top: 482px; + display: block; + margin-top: 0; + } +} +.site-main .hero .hero-text { + font-size: 22px; + letter-spacing: 0.15rem; + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + margin-bottom: 20px; + font-weight: 700; +} +@media screen and (min-width: 1300px) { + .site-main .hero .hero-text { + font-size: 30px; + letter-spacing: 0.55rem; + } +} +.site-main .hero .hero-logo { + background-image: url(./assets/hero/hero-logo.png); + display: block; + background-size: contain; + background-repeat: no-repeat; + width: 300px; + height: 143px; + overflow: hidden; + text-indent: 100%; + white-space: nowrap; +} +@media screen and (min-width: 768px) { + .site-main .hero .hero-logo { + margin-top: -55px; + margin-bottom: 71px; + display: block; + background-size: contain; + background-repeat: no-repeat; + width: 570px; + height: 272px; + overflow: hidden; + text-indent: 100%; + white-space: nowrap; + } +} +@media screen and (min-width: 1024px) { + .site-main .hero .hero-logo { + width: 1016px; + display: block; + background-size: contain; + background-repeat: no-repeat; + width: 1016px; + height: 484px; + overflow: hidden; + text-indent: 100%; + white-space: nowrap; + } +} +.site-main .hero .countdown { + max-width: 600px; + display: none; +} +.site-main .hero .countdown.visible { + display: flex; + justify-content: center; + gap: 1.8rem; + margin-right: 7.2rem; + margin-left: 7.2rem; +} +.site-main .hero .countdown-item { + display: flex; + flex-direction: column; + align-items: center; +} +.site-main .hero .countdown-item span { + font-size: 21.2px; + font-weight: bold; +} +.site-main .hero .countdown-item .label { + font-size: 10.8px; + margin-top: 0.5rem; + font-weight: normal; +} +@media (min-width: 768px) { + .site-main .hero .countdown { + display: flex; + gap: 7.2rem; + } + .site-main .hero .countdown-item span { + font-size: 31.8px; + } + .site-main .hero .countdown-item .label { + font-size: 14.4px; + margin-top: 0; + line-height: 0.1; + } +} +@media (min-width: 1300px) { + .site-main .hero .countdown-item span { + font-size: 53px; + } + .site-main .hero .countdown-item .label { + font-size: 18px; + } +} +.site-main .hero .countdown .countdown-item .title { + font-family: var(--font-brandongrotesque); +} +.site-main .hero .countdown .countdown-item .label { + font-family: var(--font-sourcesanspro); +} + +.membership-growth { + text-align: center; +} +.membership-growth .icon-img { + margin: 57px auto 56px auto; +} +@media screen and (min-width: 1300px) { + .membership-growth .icon-img { + width: 68px; + } +} +@media screen and (min-width: 1300px) { + .membership-growth .parallelogram { + height: 89px; + } +} +@media screen and (min-width: 1300px) { + .membership-growth .section-title { + padding: 0 20px 10px 19px; + } +} +.membership-growth .section-subtitle { + line-height: 1.4; + margin-bottom: 35px; +} + +.what-to-expect { + text-align: center; + background-color: var(--color-white); + height: auto; + position: relative; /* Required for absolute positioning of text */ +} +@media screen and (min-width: 880px) { + .what-to-expect { + background-color: var(--color-white); + height: auto; + } +} +.what-to-expect .what-to-expect-collage-img { + display: none; +} +@media screen and (min-width: 880px) { + .what-to-expect .what-to-expect-collage-img { + display: block; + margin-top: -63px; + } +} +.what-to-expect .what-to-expect-columns { + display: flex; + flex-direction: column; + position: relative; + z-index: 1; + padding: 30px; +} +@media screen and (min-width: 880px) { + .what-to-expect .what-to-expect-columns { + flex-direction: row; + justify-content: space-between; + position: absolute; + gap: 1rem; + top: 0; + left: 0; + right: 0; + bottom: 20px; /* Push columns 20px from the bottom of the image */ + padding: 0 70px; + } +} +.what-to-expect .what-to-expect-column { + background-color: transparent; + margin-top: 5%; +} +@media screen and (min-width: 880px) { + .what-to-expect .what-to-expect-column { + margin-bottom: 0; + flex: 1; + width: 400px; + margin-top: 15%; + } +} +@media screen and (min-width: 1300px) { + .what-to-expect .what-to-expect-column { + margin-top: 246px; + } +} +.what-to-expect .what-to-expect-column h2 { + color: darkorange; + font-size: 20px; + font-family: var(--font-brandongrotesque); + font-weight: 700; + text-transform: uppercase; + margin: 0 auto 10px auto; +} +@media screen and (min-width: 880px) { + .what-to-expect .what-to-expect-column h2 { + color: white; + font-size: 25px; + } +} +@media screen and (min-width: 1300px) { + .what-to-expect .what-to-expect-column h2 { + font-size: 30px; + } +} +.what-to-expect .what-to-expect-column p { + color: black; + width: 90%; + line-height: 1.2; +} +@media screen and (min-width: 880px) { + .what-to-expect .what-to-expect-column p { + color: white; + width: 100%; + font-size: 19px; + } +} +@media screen and (min-width: 1300px) { + .what-to-expect .what-to-expect-column p { + font-size: 27px; + width: 350px; + } +} + +.highlights { + background-color: #f7f7f7; + text-align: center; +} +.highlights .icon-img { + margin: 57px auto 50px auto; +} +@media screen and (min-width: 1300px) { + .highlights .icon-img { + width: 64px; + } +} +@media screen and (min-width: 1300px) { + .highlights .parallelogram { + height: 90px; + } +} +@media screen and (min-width: 1300px) { + .highlights .section-title { + padding: 0 20px 10px 48px; + } +} +.highlights .highlights-video { + margin: 61px auto 87px auto; + position: relative; + width: 300px; + height: 169px; + margin-left: auto; + margin-right: auto; +} +@media screen and (min-width: 768px) { + .highlights .highlights-video { + margin: 50px auto; + width: 450px; + height: 350px; + } +} +@media screen and (min-width: 1300px) { + .highlights .highlights-video { + margin: 61px auto 87px auto; + width: 1165px; + height: 675px; + } +} +.highlights .highlights-video iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.meet-your-host { + position: relative; /* This is needed for absolute positioning of children */ + z-index: 1; + text-align: center; +} +.meet-your-host .icon-img { + margin: 64px auto 70px auto; +} +@media screen and (min-width: 1300px) { + .meet-your-host .icon-img { + width: 42px; + } +} +@media screen and (min-width: 1300px) { + .meet-your-host .parallelogram { + height: 90px; + } +} +@media screen and (min-width: 1300px) { + .meet-your-host .section-title { + padding: 0 20px 5px 10px; + } +} +.meet-your-host .host-img-wrapper { + width: 280px; + height: 370px; + margin: 0 auto; + position: relative; +} +@media screen and (min-width: 768px) { + .meet-your-host .host-img-wrapper { + width: 354px; + height: 505px; + } +} +.meet-your-host .host-img-wrapper .host-img { + width: 250px; + height: auto; + padding: 0; + object-fit: cover; + position: relative; /* This ensures it stays above the background divs */ + z-index: 2; + margin: 20px auto 0 auto; +} +@media screen and (min-width: 768px) { + .meet-your-host .host-img-wrapper .host-img { + width: 330px; + padding: 66px 0 20px 0; + margin-top: 0; + } +} +.meet-your-host .host-img-wrapper .host-img-bg-dark, +.meet-your-host .host-img-wrapper .host-img-bg-light { + position: absolute; + transform: translate(-50%, -50%); + z-index: 1; + width: 250px; + height: 182px; +} +@media screen and (min-width: 768px) { + .meet-your-host .host-img-wrapper .host-img-bg-dark, + .meet-your-host .host-img-wrapper .host-img-bg-light { + width: 329px; + height: 251px; + } +} +.meet-your-host .host-img-wrapper .host-img-bg-dark { + background: var(--color-darkorange); + margin-top: 231px; + margin-left: 152px; +} +@media screen and (min-width: 768px) { + .meet-your-host .host-img-wrapper .host-img-bg-dark { + margin-top: 353px; + margin-left: 190px; + } +} +.meet-your-host .host-img-wrapper .host-img-bg-light { + background: var(--color-lightorange); + margin-top: 263px; + margin-left: 127px; +} +@media screen and (min-width: 768px) { + .meet-your-host .host-img-wrapper .host-img-bg-light { + margin-top: 379px; + margin-left: 164px; + } +} +.meet-your-host .host-name { + color: var(--color-lightorange); + font-size: 27px; + letter-spacing: 4px; + font-family: var(--font-brandongrotesque); + font-weight: 900; + text-transform: uppercase; + margin: 18px auto; +} +@media screen and (min-width: 1300px) { + .meet-your-host .host-name { + font-size: 32px; + } +} +@media screen and (min-width: 1300px) { + .meet-your-host .host-name { + font-size: 40px; + margin: 33px auto 0 auto; + } +} +.meet-your-host h3 { + margin: 34px auto 35px auto; +} + +.speakers { + position: relative; + padding: 50px 0; + /* Background Images */ + /* Heading */ + /* Grid Layout */ + /* Speaker Image Container */ + /* Speaker Info */ +} +@media screen and (min-width: 768px) { + .speakers { + padding: 70px 0; + } +} +@media screen and (min-width: 1300px) { + .speakers { + padding: 200px 0 63px 0; + } +} +@media screen and (min-width: 1300px) { + .speakers .speakers-content-wrapper { + width: 1300px; + background: linear-gradient(to bottom, white 0%, white 210px, var(--color-lightorange) 210px, var(--color-lightorange) 100%); + } +} +.speakers .speakers-section-content { + position: relative; + z-index: 5; + margin: 0 auto; + padding: 0; +} +.speakers .speakers-bg-img-1, +.speakers .speakers-bg-img-2 { + display: none; +} +@media screen and (min-width: 1300px) { + .speakers .speakers-bg-img-1, + .speakers .speakers-bg-img-2 { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + z-index: 0; + pointer-events: none; + } +} +@media screen and (min-width: 1300px) { + .speakers .speakers-bg-img-1 { + max-width: 100%; + margin-top: -210px; + } +} +@media screen and (min-width: 1300px) { + .speakers .speakers-bg-img-2 { + max-width: 100%; + margin-top: -210px; + } +} +.speakers h2 { + text-align: center; + width: 80%; + color: var(--color-darkorange); + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-weight: 700; + z-index: 3; + font-size: 25px; +} +@media screen and (min-width: 768px) { + .speakers h2 { + font-size: 30px; + width: 60%; + } +} +@media screen and (min-width: 1300px) { + .speakers h2 { + font-size: 42px; + margin: 8px 0 0 0; + width: auto; + color: var(--color-white); + } +} +.speakers .speakers-grid { + display: flex; + flex-wrap: nowrap; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 2rem; + margin: 40px 0 38px 0; + padding: 0; +} +@media screen and (min-width: 1300px) { + .speakers .speakers-grid { + padding: 10px; + } +} +@media screen and (min-width: 768px) { + .speakers .speakers-grid { + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + margin: 40px 113px 0 42px; + } +} +.speakers .speaker-wrapper { + display: flex; + flex-direction: column; + align-items: center; + gap: 25px; +} +@media screen and (min-width: 768px) { + .speakers .speaker-wrapper { + align-items: flex-start; + } +} +.speakers .speaker-card { + position: relative; + width: 280px; + height: 280px; + padding: 0px; + background: linear-gradient(to right top, #feb902, #fff); + border: none; + display: flex; + align-items: center; + justify-content: center; + clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); +} +@media screen and (min-width: 768px) { + .speakers .speaker-card { + width: 353px; + clip-path: polygon(24% -5%, 100% 0%, 100% 100%, 24% 100%, 24% 84%, 6% 84%, 24% 58%); + } +} +.speakers .speaker-image { + width: 93.5%; + height: 92%; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} +.speakers .speaker-image img { + width: 100%; + height: 100%; + object-fit: cover; + clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); +} +@media screen and (min-width: 768px) { + .speakers .speaker-image img { + clip-path: polygon(15% -6%, 100% 0%, 100% 100%, 15% 100%, 15% 83%, -0.5% 83%, 15% 60.5%); + position: relative; + left: 36px; + } +} +.speakers .speaker-info { + text-align: center; + padding-top: 10px; + padding-left: 0; + text-transform: uppercase; +} +@media screen and (min-width: 768px) { + .speakers .speaker-info { + padding-left: 12%; + } +} +.speakers .speaker-name { + font-size: 18px; + margin: -7px auto 0 auto; + font-weight: 700; + width: 350px; + letter-spacing: 3px; + color: var(--color-black); + font-family: var(--font-brandongrotesque); + font-style: normal; +} +.speakers .speaker-name h3 { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .speakers .speaker-name { + font-size: 23px; + letter-spacing: 5px; + } +} +@media screen and (min-width: 1300px) { + .speakers .speaker-name { + font-size: 27px; + color: var(--color-white); + } +} +.speakers .speaker-role { + font-size: 1rem; + letter-spacing: 2px; + color: var(--color-lightorange); + font-family: var(--font-sourcesanspro); +} +@media screen and (min-width: 1300px) { + .speakers .speaker-role { + letter-spacing: 3px; + color: var(--color-white); + } +} +.speakers .speakers-section-footer { + width: 100%; + height: auto; +} +@media screen and (min-width: 1300px) { + .speakers .speakers-section-footer { + height: 135px; + margin-bottom: 38px; + } +} +.speakers .speakers-section-footer h3 { + margin: 20px auto 30px auto; + text-align: center; +} +@media screen and (min-width: 1300px) { + .speakers .speakers-section-footer h3 { + margin: 75px auto 48px auto; + } +} +.speakers .speakers-section-footer hr { + text-align: center; + margin: -8px 0; + width: 100%; + height: 7px; + border: none; + background: linear-gradient(to right, #fe5e00, #feb902); +} + +.tickets { + text-align: center; + margin: 0 auto 100px auto; + /* Default checkmark for all li items */ + /* Target the last li of the first card to show X instead */ +} +@media screen and (min-width: 1300px) { + .tickets { + margin: 0 auto; + } +} +.tickets .icon-img { + margin: -5px auto 49px auto; +} +@media screen and (min-width: 1300px) { + .tickets .icon-img { + width: 58px; + } +} +.tickets .parallelogram { + margin-bottom: 52px; +} +@media screen and (min-width: 1300px) { + .tickets .parallelogram { + height: 90px; + margin-bottom: 82px; + } +} +@media screen and (min-width: 1300px) { + .tickets .section-title { + padding: 0 0 5px 20px; + } +} +.tickets .first-p { + width: 87%; +} +.tickets .second-p { + width: 100%; +} +.tickets .section-subtitle { + width: 90%; + margin: -6px auto 60px auto; + font-size: 25px; +} +@media screen and (min-width: 768px) { + .tickets .section-subtitle { + font-size: 30px; + } +} +@media screen and (min-width: 1300px) { + .tickets .section-subtitle { + margin: -6px auto 115px auto; + font-size: 38px; + } +} +.tickets .ticket-prices { + display: flex; + flex-direction: column; + gap: 2rem; + padding: 1rem; + margin-top: -18px; + width: 300px; + height: auto; + /* Stack side by side on larger screens */ +} +@media (min-width: 768px) { + .tickets .ticket-prices { + flex-direction: row; + justify-content: center; + align-items: stretch; + gap: 40px; + width: 700px; + } +} +@media (min-width: 1300px) { + .tickets .ticket-prices { + gap: 60px; + width: 1135px; + height: 735px; + } +} +.tickets .card-wrapper { + background: linear-gradient(to bottom, #fe5e00, #feb902); + padding: 16px; /* This creates the border effect */ + flex: 1; + width: 1300px; + margin: 0 auto; + width: 100%; +} +.tickets .ticket-price-card { + position: relative; + background: white; + padding: 2rem; + display: flex; + flex-direction: column; + align-items: center; + height: 100%; + overflow: hidden; +} +.tickets .card-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; + z-index: 0; + opacity: 0.8; +} +.tickets .price-title { + font-size: 70px; + font-weight: bold; + margin: -25px 0 2px 0; + position: relative; + z-index: 1; + color: var(--color-white); + font-family: var(--font-brandongrotesque); +} +@media screen and (min-width: 768px) { + .tickets .price-title { + font-size: 100px; + } +} +@media screen and (min-width: 1300px) { + .tickets .price-title { + font-size: 170px; + } +} +.tickets .earlybird-bg { + background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0)); + padding: 8px 0; + border-radius: 25px; + margin: 0 0 60px 0; + position: relative; + z-index: 1; + width: 100%; + height: auto; + display: flex; + justify-content: center; +} +@media screen and (min-width: 1300px) { + .tickets .earlybird-bg { + height: 49px; + } +} +.tickets .earlybird-text { + margin: 0; + color: var(--color-darkorange); + font-weight: 600; + font-style: italic; + font-family: var(--font-brandongrotesque); + text-transform: uppercase; + font-size: 20px; +} +@media screen and (min-width: 768px) { + .tickets .earlybird-text { + font-size: 25px; + } +} +.tickets .price-features { + list-style: none; + padding: 0; + margin: 0 0 2rem 0; + text-align: center; + position: relative; + z-index: 1; + display: flex; + flex-direction: column; + align-items: center; +} +.tickets .price-features li { + margin-bottom: 0.8rem; + color: var(--color-white); + font-family: var(--font-sourcesanspro); + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 20px; + font-weight: 400; + letter-spacing: 1px; + line-height: 1.1; +} +@media screen and (min-width: 768px) { + .tickets .price-features li { + font-size: 27px; + } +} +.tickets .price-features li { + margin-bottom: 0.8rem; + color: var(--color-white); + font-family: var(--font-sourcesanspro); + position: relative; + padding-left: 30px; /* Make space for the icon */ +} +.tickets .price-features li::before { + content: "✓"; + position: absolute; + left: 0; + color: var(--color-white); +} +.tickets .ticket-prices .card-wrapper:first-child .price-features li:last-child { + opacity: 0.6; +} +.tickets .ticket-prices .card-wrapper:first-child .price-features li:last-child::before { + content: "✕"; +} +.tickets .buy-now-button { + background: var(--color-darkorange); + font-size: 25px; + color: white; + text-decoration: none; + padding: 6px 32px; + border-radius: 4px; + font-weight: bold; + text-transform: uppercase; + position: relative; + z-index: 1; + transition: transform 0.2s; + font-family: var(--font-brandongrotesque); + width: 150px; +} +@media screen and (min-width: 768px) { + .tickets .buy-now-button { + font-size: 35px; + padding: 8px 42px; + width: 248px; + } +} +.tickets .buy-now-button:hover { + background: var(--color-white); + color: var(--color-darkorange); +} + +.location { + /* Default layout: single column */ +} +.location .icon-img { + margin: 70px auto; +} +@media screen and (min-width: 1300px) { + .location .icon-img { + width: 52px; + margin: 62px auto 70px auto; + } +} +.location .location-mobile-title { + margin-bottom: 70px; + display: block; +} +@media screen and (min-width: 1300px) { + .location .location-mobile-title { + display: none; + } +} +.location .location-desktop-title { + display: none; +} +@media screen and (min-width: 1300px) { + .location .location-desktop-title { + display: block; + position: relative; + margin-left: 0; + margin-left: -32px; + } +} +.location .location-desktop-title .location-title-box { + height: 88px; + background-color: var(--lightorange); + display: flex; + align-items: center; + padding: 0; + position: relative; + z-index: 1; +} +.location .location-desktop-title .location-title-box .section-title { + position: relative; + z-index: 2; + margin: 0; + color: var(--color-white); + transform: none; +} +@media (min-width: 1300px) { + .location .location-desktop-title .location-title-box { + clip-path: polygon(10% 0%, 100% 0%, 88% 30%, 10% 30%); + height: 288px; + background-color: var(--color-lightorange); + width: 337px; + } + .location .location-desktop-title .location-title-box .section-title { + padding: 0 20px 0 70px; + margin-top: -195px; + } +} +.location .location-desktop-title .location-title-shadow { + display: none; +} +@media screen and (min-width: 1300px) { + .location .location-desktop-title .location-title-shadow { + display: block; + position: relative; + top: -288px; + left: -15px; + height: 334px; + width: 300px; + background: var(--color-darkorange); + clip-path: polygon(10% 0%, 100% 0%, 88% 30%, 10% 30%); + z-index: 0; + } +} +.location .location-section-content { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-bottom: 60px; + width: 90%; +} +@media screen and (min-width: 768px) { + .location .location-section-content { + width: 60%; + } +} +@media screen and (min-width: 1300px) { + .location .location-section-content { + flex-direction: row; + justify-content: flex-start; + align-items: flex-start; + margin-top: 0; + margin-bottom: 128px; + width: 1100px; + } +} +.location .location-text-wrapper, +.location .map-wrapper { + width: 100%; + text-align: center; +} +@media screen and (min-width: 1300px) { + .location .location-text-wrapper { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; + margin-left: 0; + padding-left: 0; + } + .location .location-text-wrapper .address, .location .location-text-wrapper .location-name { + text-align: left; + white-space: nowrap; + width: auto; + } +} +.location .map-wrapper { + width: 320px; + height: 320px; + display: flex; + flex-direction: column; + justify-content: flex-start; + border: 7px solid var(--color-offwhite); + text-align: left; + margin: 0 auto; +} +@media screen and (min-width: 1300px) { + .location .map-wrapper { + width: 549px; + height: 545px; + margin-left: -460px; + } +} +.location .map-wrapper iframe { + width: 100%; + height: 100%; + margin: 0; + padding: 0; +} +.location .location-text { + margin: 0; + width: auto; +} +.location .location-text .address { + white-space: nowrap; + line-height: 1; +} +.location .location-text .address:first-child { + margin-bottom: 12px; +} +.location .location-text .address:last-child { + margin-bottom: 60px; +} +.location .location-text .location-name { + color: var(--color-darkorange); + font-style: normal; + white-space: nowrap; + line-height: 1; + margin: 20px auto 15px auto; +} +@media screen and (min-width: 1300px) { + .location .location-text .location-name { + margin: 58px 0 40px 0; + } +} +.location .location-text .location-name span { + color: var(--color-lightorange); + font-style: italic; +} +.location .location-text .location-name:last-child { + margin: 5px auto 40px auto; +} +@media screen and (min-width: 1300px) { + .location .location-text .location-name:last-child { + margin: 53px 0 40px 0; + } +} +@media screen and (min-width: 1300px) { + .location .location-text { + margin: -476px 0 0 -5px; + } +} + +.faq { + background-color: var(--color-offwhite); + text-align: center; +} +.faq .icon-img { + margin: 48px auto 48px auto; +} +@media screen and (min-width: 1300px) { + .faq .icon-img { + width: 48px; + } +} +.faq .parallelogram { + margin-bottom: 52px; +} +@media screen and (min-width: 1300px) { + .faq .parallelogram { + height: 90px; + margin-bottom: 110px; + } +} +@media screen and (min-width: 1300px) { + .faq .section-title { + padding: 0 20px 10px 19px; + } +} +.faq .collapsible { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + background-color: var(--color-lightorange); + color: var(--color-white); + font-weight: normal; + cursor: pointer; + padding: 0 30px; + border: none; + height: auto; + min-height: 150px; + text-align: left; + width: 85%; + margin-bottom: 5px; +} +@media screen and (min-width: 768px) { + .faq .collapsible { + width: 60%; + } +} +@media screen and (min-width: 1300px) { + .faq .collapsible { + width: 1100px; + min-height: 105px; + } +} +.faq .collapsible .toggle-icon { + font-size: 60px; + margin: 0 0 2px 15px; +} +@media screen and (min-width: 768px) { + .faq .collapsible .toggle-icon { + font-size: 65px; + } +} +@media screen and (min-width: 1300px) { + .faq .collapsible .toggle-icon { + font-size: 70px; + } +} +.faq .collapsible .collapsible-text { + font-size: 20px; + margin-left: 35px; + letter-spacing: 1px; +} +@media screen and (min-width: 768px) { + .faq .collapsible .collapsible-text { + font-size: 30px; + } +} +@media screen and (min-width: 1300px) { + .faq .collapsible .collapsible-text { + font-size: 35px; + } +} +.faq .active { + background-color: var(--color-lightorange); +} +.faq .collapsible:hover { + background-color: var(--color-darkorange); +} +.faq .collapsible:focus { + outline: 2px solid var(--color-black); + outline-offset: 2px; +} +.faq .content { + padding: 28px 18px 0 20px; + display: none; + overflow: hidden; + background-color: var(--color-white); + width: 85%; +} +@media screen and (min-width: 768px) { + .faq .content { + width: 60%; + font-size: 30px; + } +} +@media screen and (min-width: 1300px) { + .faq .content { + font-size: 40px; + width: 1100px; + } +} +.faq .content p, +.faq .content ul, +.faq .content li { + text-align: left; +} +.faq .content ul { + list-style-type: disc; + padding: 10px 0 2px 110px; +} +.faq .content ul li { + font-size: 18px; + line-height: 1.2; + margin-left: -70px; +} +@media screen and (min-width: 768px) { + .faq .content ul li { + font-size: 24px; + margin-left: -35px; + } +} +@media screen and (min-width: 1300px) { + .faq .content ul li { + font-size: 28px; + line-height: 1.5; + margin-left: 0; + } +} +.faq .content .note { + font-style: italic; + color: var(--color-darkorange); + padding: 45px 0 10px 0; + margin-left: -85px; + font-size: 15px; +} +@media screen and (min-width: 768px) { + .faq .content .note { + font-size: 20px; + margin-left: -60px; + } +} +@media screen and (min-width: 1300px) { + .faq .content .note { + font-size: 24px; + margin-left: -35px; + } +} +.faq .empty-space { + background-color: var(--color-offwhite); + height: 76px; +} + +.schedule { + text-align: center; + background-color: var(--color-white); + margin-bottom: 50px; +} +.schedule .icon-img { + margin: 55px auto 55px auto; +} +@media screen and (min-width: 1300px) { + .schedule .icon-img { + width: 42px; + } +} +.schedule .parallelogram { + margin-bottom: 30px; +} +@media screen and (min-width: 1300px) { + .schedule .parallelogram { + height: 90px; + margin-bottom: 110px; + } +} +@media screen and (min-width: 1300px) { + .schedule .section-title { + padding: 0 20px 10px 19px; + } +} +.schedule .schedule-tabs .tab-button-container { + display: none; +} +.schedule .schedule-tabs .tab-button-mobile { + display: block; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: var(--color-darkorange); + color: var(--color-white); + padding: 10px 20px; + border: none; + position: relative; + z-index: 1; + flex: 1; + line-height: 1; + text-align: center; + margin: 40px auto 20px auto; +} +.schedule .schedule-tabs .tab-button-mobile span { + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-size: 20px; + letter-spacing: 3px; +} +.schedule .schedule-tabs .tab-button-mobile span:first-child { + font-weight: 700; +} +.schedule .schedule-tabs .tab-button-mobile span:last-child { + font-weight: 400; +} +.schedule .schedule-tabs .tab-content { + display: block; +} +@media screen and (min-width: 768px) { + .schedule .schedule-tabs { + width: 1100px; + margin: 0 auto; + /* Default gradient (first tab active) */ + /* When the second button is active */ + /* When first button is active */ + /* When second button is active */ + } + .schedule .schedule-tabs .tab-button-mobile { + display: none; + } + .schedule .schedule-tabs .tab-button-container { + display: flex; + position: relative; + border: 1px solid var(--color-darkorange); + width: 100%; + height: 105px; + overflow: hidden; + margin-bottom: 73px; + background: linear-gradient(120deg, var(--color-darkorange) 50%, var(--color-white) 50%); + } + .schedule .schedule-tabs .tab-button:nth-child(2).active ~ .tab-button-container, + .schedule .schedule-tabs .tab-button-container:has(.tab-button:nth-child(2).active) { + background: linear-gradient(120deg, var(--color-white) 50%, var(--color-darkorange) 50%); + } + .schedule .schedule-tabs .tab-button { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: transparent; + color: var(--color-white); /* Default text color for first button */ + padding: 10px 20px; + border: none; + cursor: pointer; + position: relative; + z-index: 1; + flex: 1; + line-height: 1; + text-align: center; + } + .schedule .schedule-tabs .tab-button span { + text-transform: uppercase; + font-family: var(--font-brandongrotesque); + font-size: 20px; + letter-spacing: 3px; + } + .schedule .schedule-tabs .tab-button span:first-child { + margin-bottom: 8px; + font-weight: 700; + } + .schedule .schedule-tabs .tab-button span:last-child { + font-weight: 400; + } + .schedule .schedule-tabs .tab-button:nth-child(1).active { + color: var(--color-white); + } + .schedule .schedule-tabs .tab-button:nth-child(2) { + color: var(--color-darkorange); + margin-left: 80px; + } + .schedule .schedule-tabs .tab-button:nth-child(1) { + color: var(--color-darkorange); + margin-left: 20px; + } + .schedule .schedule-tabs .tab-button:nth-child(2).active { + color: var(--color-white); + } + .schedule .schedule-tabs .tab-button span { + font-size: 30px; + } + .schedule .schedule-tabs .tab-content { + display: none; + } + .schedule .schedule-tabs .tab-content:first-of-type { + display: block; + } +} +.schedule .schedule-tabs { + position: relative; +} +.schedule .schedule-tabs::after { + content: ""; + position: absolute; + width: 2px; + height: calc(100% - 80px); + background-color: var(--color-darkorange); + top: 70px; + left: 50%; + transform: translateX(-50%); + z-index: 0; + transition: left 0.3s ease, transform 0.3s ease; + pointer-events: none; +} +.schedule .schedule-tabs .schedule-grid { + display: flex; + flex-direction: column; + gap: 20px; + position: relative; + z-index: 1; +} +.schedule .schedule-tabs .schedule-card { + background-color: var(--color-white); + position: relative; + z-index: 1; + display: flex; + flex-direction: row; + align-items: center; + width: 100%; + border: 1px solid var(--color-darkorange); + overflow: hidden; + background-color: var(--color-white); + height: 130px; + margin-bottom: 2px; +} +.schedule .schedule-tabs .schedule-card .schedule-time { + display: flex; + align-items: center; + justify-content: center; + width: 70px; + flex-shrink: 0; + background-color: var(--color-darkorange); + padding: 0; + height: 100%; +} +.schedule .schedule-tabs .schedule-card .schedule-time p { + color: var(--color-white); + font-weight: bold; + text-align: center; + line-height: 1; + margin: 0 auto; + font-size: 16px; +} +.schedule .schedule-tabs .schedule-card .schedule-session-details { + flex-grow: 1; + padding: 0; +} +.schedule .schedule-tabs .schedule-card .schedule-session-details .schedule-session h3 { + color: var(--color-black); + font-size: 18px; + font-weight: 700px; + margin: 0 auto 5px; + text-align: left; + font-style: normal; +} +.schedule .schedule-tabs .schedule-card .schedule-session-details .schedule-speaker p { + color: var(--color-lightorange); + text-transform: uppercase; + font-weight: 400px; + font-size: 16px; + margin: 0 auto; + text-align: left; + letter-spacing: 2px; + line-height: 1; +} +.schedule .schedule-tabs .schedule-card .schedule-speaker-photo { + display: none; +} +@media screen and (min-width: 768px) { + .schedule .schedule-tabs::after { + height: calc(100% - 105px - 101px); + top: 105px; + transform: translateX(0); + left: calc(25% + 10px); + } + .tab-button:nth-child(2).active ~ .schedule .schedule-tabs::after, .schedule .schedule-tabs:has(.tab-button:nth-child(2).active)::after { + left: calc(75% - 40px); + } + .schedule .schedule-tabs .schedule-grid { + gap: 25px; + width: 1100px; + } + .schedule .schedule-tabs .schedule-card { + margin-bottom: 8px; + height: 101px; + } + .schedule .schedule-tabs .schedule-card .schedule-time { + width: 102px; + } + .schedule .schedule-tabs .schedule-card .schedule-time p { + font-size: 24px; + } + .schedule .schedule-tabs .schedule-card .schedule-session-details .schedule-session h3 { + font-size: 26px; + margin-left: 26px; + } + .schedule .schedule-tabs .schedule-card .schedule-session-details .schedule-speaker p { + font-size: 22px; + margin-left: 26px; + } + .schedule .schedule-tabs .schedule-card .schedule-speaker-photo { + width: 57px; + height: 61px; + background-color: var(--color-lightorange); + margin-left: auto; + margin-right: 35px; + display: flex; + align-items: center; + justify-content: center; + clip-path: polygon(20% 0%, 100% 0%, 80% 75%, 50% 75%, 30% 100%, 30% 75%, 0% 75%); + } + .schedule .schedule-tabs .schedule-card .schedule-speaker-photo img { + width: 49px; + height: 53px; + object-fit: cover; + clip-path: polygon(20% 0%, 100% 0%, 80% 75%, 50% 75%, 30% 100%, 30% 75%, 0% 75%); + } +} + +/*# sourceMappingURL=style.css.map */ diff --git a/style.css.map b/style.css.map new file mode 100644 index 0000000..3173623 --- /dev/null +++ b/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["src/sass/includes/globals.scss","src/sass/includes/header.scss","src/sass/includes/front-page/front-page.scss","src/sass/includes/front-page/hero.scss","src/sass/includes/front-page/membership-growth.scss","src/sass/includes/front-page/what-to-expect.scss","src/sass/includes/front-page/highlights.scss","src/sass/includes/front-page/host.scss","src/sass/includes/front-page/speakers.scss","src/sass/includes/front-page/tickets.scss","src/sass/includes/front-page/location.scss","src/sass/includes/front-page/faq.scss","src/sass/includes/front-page/schedule.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;AAEA;EANF;AAAA;IAOI;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAIA;EADF;IAEI;;;;AC7BJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAhBJ;IAiBQ;IACA;IACA;;;AAGJ;EACI;EACA;;AAEA;EAJJ;IAKQ;;;AAGF;EACM;EACA;;AAEA;EAJN;IAKU;;;AAKhB;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAKZ;EACI;;AAGJ;EAGQ;IACI;;EAGJ;IACI;;EAIR;IACI;;;AAIR;EACI;IACI;;EAEA;IACI;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;;EAIR;IACI;;EAIR;IACI;;EAIR;IACI;;;;AC3KZ;EACI;EACA;EACA;AAyEJ;AAYA;AAUA;AA0CA;AAmCA;;AA1KA;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EARJ;IASQ;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVJ;IAWQ;;;AAGJ;EAdJ;IAeQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAVJ;IAWQ;;;AAGJ;EAdJ;IAeQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAVJ;IAWQ;;;AAGJ;EAdJ;IAeQ;;;AAKR;EACI;;AAEA;EAHJ;IAIQ;IACA;IACA;IACA;;;AAKR;EACI;EACA;;AAEA;EAJJ;IAKQ;;;AAKP;EACG;EACA;EACA;;AAEA;EALH;IAMG;;;AAGA;EATH;IAUG;IACA;;;AAGA;EAdH;IAeG;IACA;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAXJ;IAYQ;;;AAGJ;EAfJ;IAgBI;IACA;;;AAKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;;;ACrKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATJ;IAUQ;;;AAGJ;EAbJ;IAcQ;IACA;;;AAIJ;AAAA;EAGI;;AAEA;EALJ;AAAA;IAMI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;AAKA;EADJ;IAEQ;IACA;;;AAKJ;EADJ;IAEQ;IACA;;;AAIR;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZJ;IAaQ;;;AAGJ;EAhBJ;IAiBQ;IACA;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EARJ;IASQ;IACA;;;AAIR;EACI;EApGJ;EACA;EACA;EAEA,OAiG2B;EAhG3B,QAgGkC;EA/FlC;EACA;EACA;;AA+FI;EAJJ;IAKQ;IACA;IAzGR;IACA;IACA;IAEA,OAsG+B;IArG/B,QAqGsC;IApGtC;IACA;IACA;;;AAqGI;EAVJ;IAWQ;IA9GR;IACA;IACA;IAEA,OA2G+B;IA1G/B,QA0GuC;IAzGvC;IACA;IACA;;;AA2GA;EAII;EAGA;;AAGA;EACI;EACA;EACA;EACA,cAbM;EAcN,aAdM;;AAiBV;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAIJ;EACI;EACA;EACA;;AAIR;EApCJ;IAqCQ;IACA,KArCM;;EAwCF;IACI;;EAGJ;IACI;IACA;IACA;;;AAKZ;EAEQ;IACI,WAtDQ;;EAyDZ;IACI,WAzDU;;;AA+DtB;EACI;;AAGJ;EACI;;;AC3LZ;EACI;;AAEA;EACA;;AAEA;EAHA;IAII;;;AAKA;EADJ;IAEI;;;AAKJ;EADJ;IAEI;;;AAIJ;EACI;EACA;;;ACzBJ;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;AAIR;EACI;EACA;;AAEA;EAJJ;IAKQ;IACA;IACA;IACA;;;AAGJ;EAXJ;IAYQ;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EARJ;IASQ;IACA;;;AAGJ;EAbJ;IAcQ;;;AAIR;EACI;EACA;EACA;;AAEA;EALJ;IAMQ;IACA;IACA;;;AAGJ;EAXJ;IAYQ;IACA;;;;ACtFhB;EACI;EACA;;AAEA;EACI;;AAEJ;EAHA;IAII;;;AAKI;EADJ;IAEI;;;AAKJ;EADJ;IAEI;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EARJ;IASQ;IACA;IACA;;;AAGJ;EAdJ;IAeQ;IACA;IACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;ACjDZ;EACI;EACA;EACA;;AAEA;EACE;;AAGF;EAJA;IAKE;;;AAKA;EADF;IAEI;;;AAKF;EADF;IAEI;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;IACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATF;IAUI;IACA;IACA;;;AAIJ;AAAA;EAEE;EACE;EACA;EACA;EACA;;AAEA;EARJ;AAAA;IASM;IACA;;;AAIN;EACE;EACE;EACA;;AAEA;EALJ;IAMI;IACA;;;AAIJ;EACE;EACE;EACA;;AAEA;EALJ;IAMI;IACA;;;AAKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATJ;IAUQ;;;AAGJ;EAbJ;IAcQ;IACA;;;AAIR;EACI;;;AC9GR;EACE;EACA;AA8BA;AA6BA;AAuBA;AA6EA;AAgDA;;AA7MA;EAJF;IAKI;;;AAGF;EARF;IASI;;;AAMF;EAHA;IAIE;IACA;;;AAQF;EACE;EACA;EACA;EACA;;AAIF;AAAA;EAEE;;AAEA;EAJF;AAAA;IAKI;IACF;IACA;IACA;IACA;IACA;;;AAKD;EADD;IAEE;IACA;;;AAKE;EADJ;IAEE;IACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVF;IAWI;IACA;;;AAEF;EAdF;IAeI;IACA;IACA;IACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVF;IAWI;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOA;EAjBF;IAkBI;IAWA;;;AAaJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;EACA;;AAOA;EAZF;IAuBI;IAUA;IACA;;;AAKJ;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EAZF;IAaI;IACA;;;AAGF;EAjBF;IAkBI;IACA;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;IACA;;;AAIJ;EACE;EACA;;AAEA;EAJF;IAKI;IACA;;;AAGJ;EACE;EACA;;AAED;EAJD;IAKK;;;AAIL;EACE;EACA;EACA;EACA;EACA;EACA;;;ACxRJ;EACI;EACA;AAuMJ;AAQA;;AA7MI;EAJJ;IAKQ;;;AAGJ;EACA;;AAEA;EAHA;IAII;;;AAIJ;EACI;;AAEA;EAHJ;IAII;IACA;;;AAKJ;EADJ;IAEI;;;AAIJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EALJ;IAMQ;;;AAGJ;EATJ;IAUQ;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAEJ;;AACA;EAVA;IAWQ;IACA;IACA;IACA;IACA;;;AAGR;EAlBA;IAmBQ;IACA;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATJ;IAUQ;;;AAGJ;EAbJ;IAcQ;;;AAIR;EACI;EAMA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAjBJ;IAkBQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATJ;IAUQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAZJ;IAaQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAfJ;IAgBQ;IACA;IACA;;;AAIR;EACI;EACA;;;AClPJ;AA6EI;;AA5EA;EACI;;AAEJ;EAHA;IAII;IACA;;;AAIJ;EACI;EACA;;AAEA;EAJJ;IAKQ;;;AAIR;EACI;;AAEA;EAHJ;IAIQ;IACA;IACA;IACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EAjBF;IAkBI;IACA;IACA;IACA;;EAEA;IACQ;IACA;;;AAKV;EACE;;AAEA;EAHF;IAIM;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;AAOZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EARJ;IASQ;;;AAGJ;EAZJ;IAaQ;IACA;IACA;IACA;IACA;IACA;;;AAIR;AAAA;EAEI;EACA;;AAGJ;EACI;IACI;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAXJ;IAYQ;IACA;IACA;;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;;AAEA;EACI;EACA;;AAEJ;EACI;;AAGJ;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAEA;EAHJ;IAIQ;;;AAKZ;EA1CJ;IA2CQ;;;;AC/LZ;EACE;EACA;;AAEA;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;;AAEA;EAHF;IAII;IACA;;;AAKF;EADF;IAEI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAjBF;IAkBI;;;AAGF;EArBF;IAsBI;IACA;;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAGF;EARF;IASI;;;AAIJ;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;EATF;IAUI;;;AAKN;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;IACA;;;AAGF;EAZF;IAaI;IACA;;;AAGF;AAAA;AAAA;EAGE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EALF;IAMI;IACA;;;AAEF;EATF;IAUI;IACA;IACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EAPF;IAQI;IACA;;;AAGF;EAZF;IAaI;IACA;;;AAKN;EACE;EACA;;;AC/JJ;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;;AAEA;EAHF;IAII;IACA;;;AAKF;EADF;IAEI;;;AAKF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAKR;EACE;;AAGF;EA1CF;IA2CI;IACA;AAMA;AAgBA;AA0CA;AAUA;;EAxEA;IACE;;EAIF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAQF;AAAA;IAEE;;EAOF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;;EAEA;IAAe;IACb;;EAGF;IACE;;EAMR;IACE;;EAGF;IACE;IACA;;EAIF;IACE;IACA;;EAGF;IACE;;EAIA;IACE;;EAIJ;IACE;;EAGF;IACE;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAGE;EACE;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;;AAIJ;EACE;IACE;IACA;IACA;IAGA;;EAIF;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAEA;IACE;;EAEA;IACE;;EAMA;IACE;IACA;;EAKF;IACE;IACA;;EAKN;IACE;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA","file":"style.css"} \ No newline at end of file diff --git a/template-parts/footer.php b/template-parts/footer.php new file mode 100644 index 0000000..6491304 --- /dev/null +++ b/template-parts/footer.php @@ -0,0 +1,3 @@ + + + diff --git a/template-parts/header.php b/template-parts/header.php new file mode 100644 index 0000000..d39991a --- /dev/null +++ b/template-parts/header.php @@ -0,0 +1,50 @@ + + + +> + + + + + +> + +