diff --git a/.env b/.env deleted file mode 100644 index 5b062533f..000000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -SHOWPRIVATE=true diff --git a/.gitignore b/.gitignore index 415604bf8..c2e43eed2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,19 @@ -examples/builder -examples/docker -examples/publisher -examples/texttools -examples/gittools -examples/tmux -examples/vredis2 *dSYM/ -publisher/publish -install_publisher .vmodules/ -vex_webserver -publishtools/publishtools .vscode *.log !.env.example .cache .DS_Store src/.temp -content/person -content/project node_modules !.env.example .env .env.* yarn.lock -.installed package-lock.json dist .temp run* install* public -static/css -tailwindcss diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 35e7575af..000000000 --- a/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "threefold_data"] - path = threefold_data - url = https://github.com/threefoldfoundation/threefold_data.git - ignore = dirty diff --git a/Makefile b/Makefile deleted file mode 100644 index 6905868e3..000000000 --- a/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -SHELL := /bin/bash - -build: - . ./build.sh - -start: - . ./start.sh \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100755 index d4e42ff48..000000000 --- a/build.sh +++ /dev/null @@ -1,46 +0,0 @@ -echo "Starting build..." - -# TODO: Check if current version is latest to avoid redundant installation -if [[ -f "tailwindcss" ]] -then - echo "Tailwind installed" -else - # rm tailwindcss - # checks os and architecture for correct release - # https://stackoverflow.com/a/8597411 - echo "Installing & building tailwind..." - ASSET="tailwindcss" - - if [[ "$OSTYPE" == "linux-gnu"* ]]; then - ASSET="$ASSET-linux" - elif [[ "$OSTYPE" == "darwin"* ]]; then - ASSET="$ASSET-macos" - fi - if [[ "$(uname -m)" == "x86_64"* ]]; then - ASSET="$ASSET-x64" - elif [[ "$(uname -m)" == "arm64"* ]]; then - ASSET="$ASSET-arm64" - fi - - curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/latest/download/${ASSET}" - chmod +x $ASSET - mv $ASSET tailwindcss -fi - - - -# initialized and configures tailwind if not configured -echo "Initializing tailwind..." -if [[ ! -f "tailwind.config.js" ]] -then - ./tailwindcss init - sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js -fi - -# compiles tailwind css for prod & builds project -echo "Compiling tailwindcss and building zola project..." -rm -rf public static/css -./tailwindcss -i css/index.css -o ./static/css/index.css --minify -zola build - - diff --git a/config.toml b/config.toml deleted file mode 100644 index 5facafe95..000000000 --- a/config.toml +++ /dev/null @@ -1,97 +0,0 @@ -# The URL the site will be built for -base_url = "https://dev.threefold.io" -# Change this to your own URL! Please note this variable **must** be uncommented . - -title = "ThreeFold" -description = "Our global digital backbone" - -# When set to "true", a feed is automatically generated. -generate_feed = true - -# The filename to use for the feed. Used as the template filename, too. -# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed. -# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed. -feed_filename = "atom.xml" - -# The number of articles to include in the feed. All items are included if -# this limit is not set (the default). -# feed_limit = 10 - -# Whether to automatically compile all Sass files in the sass directory -compile_sass = false - -# When set to "true", the generated HTML files are minified. -# minify_html = true -# I'm keeping off for now -- buggy -- 2021-02-05 (@keats says it'll be fixed 0.14.0) - -# Whether to build a search index to be used later on by a JavaScript library -build_search_index = false - -[markdown] -# Whether to do syntax highlighting -# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola -highlight_code = true -highlight_theme = "visual-studio-dark" - -# When set to "true", emoji aliases translated to their corresponding -# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄) -render_emoji = false - -# Whether external links are to be opened in a new tab -# If this is true, a `rel="noopener"` will always automatically be added for security reasons -# external_links_target_blank = false - -# Whether to set rel="nofollow" for all external links -external_links_no_follow = true - -# Whether to set rel="noreferrer" for all external links -external_links_no_referrer = true - -# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form) -# For example, `...` into `…`, `"quote"` into `“curly”` etc -smart_punctuation = true - -[[taxonomies]] -name = "categories" -feed = true -paginate_by = 6 -paginate_path = "blog-posts" - -[[taxonomies]] -name = "partners-category" -feed = true -paginate_by = 6 -paginate_path = "partner-card" - -[[taxonomies]] -name = "news-category" -feed = true -paginate_by = 6 -paginate_path = "news-card" - -[[taxonomies]] -name = "roles" -feed = true -paginate_by = 2 -paginate_path = "join-us" - -[[taxonomies]] -name = "tags" -feed = true -paginate_by = 9 -paginate_path = "tags" - -[[taxonomies]] -name = "people" -feed = true -paginate_by = 9 -paginate_path = "people" - -[[taxonomies]] -name = "memberships" -feed = true -paginate_by = 8 -paginate_path = "people/memberships" - -[extra] -# Put all your custom variables here diff --git a/content/blog/solar_comparison/index.md b/content/blog/solar_comparison/index.md deleted file mode 100644 index ed04b50b0..000000000 --- a/content/blog/solar_comparison/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: solar_comparison -title: "Exploring the Parallels Between Decentralized Energy and Internet Capacity" -image_caption: Solar and ThreeFold -description: Read how the decentralization of the energy and internet industries are empowering individuals and communities. -date: 2024-03-01 -taxonomies: - people: [emilie_ouwerx] - tags: [threefold_grid, peer_to_peer, community, farming] - categories: [foundation] -extra: - imgPath: solar_comparison.png ---- - -In recent years, we've witnessed a transformation in how energy is generated and distributed, marking a shift towards a more sustainable and democratic system. This change has been most notable in the transition from centralized energy production, particularly nuclear power, to decentralized solar energy. The latter empowers individuals and communities to produce their energy locally, an alternative to the traditional approach to power generation. - -
- -Similarly, the Internet landscape, typically dominated by massive data centers and centralized servers, is experiencing a shift towards decentralization. These movements share a common ethos to empower individuals and communities. - -### **The Rise of Decentralized Solar Energy** - -Decentralized solar energy has transformed the landscape of power generation. Unlike the centralized model, where nuclear power plants are often miles away from the end-users and controlled by large corporations or government bodies, solar energy allows for energy production right where it's needed—at home or within the community. - -
- -By installing solar panels on rooftops or creating local solar farms, individuals can capture the sun's energy directly. This shift not only reduces our dependency on distant power plants and the complex grid systems but also mitigates the risks associated with them. - -
- -This localized energy production model enhances sustainability by tapping into an inexhaustible natural resource and encourages a more environmentally conscious and self-sufficient society. It signifies a move away from the centralized, traditional systems of energy production, returning power to the people and prioritizing the planet's well-being. - -### **ThreeFold: Pioneering a Decentralized Digital Future** - -Parallel to the energy sector's evolution, the digital world is also undergoing a transformation, led by innovative platforms like ThreeFold. Just as decentralized solar energy provides an alternative to the centralized power generation model, ThreeFold is reshaping the cloud computing landscape with its autonomous edge cloud. - -
- -ThreeFold's model deviates from the norm, where cloud services are dominated by a few massive data centers. Instead, we depend on our global network of independent nodes set up by individuals and businesses to contribute their own computing and storage resources to the cloud. This approach democratizes access to cloud resources, bolstering data privacy, security, and resilience against potential outages or cyberattacks. - -
- -![Image](solar.png#mx-auto) - -
- -Beyond merely disrupting the existing model, ThreeFold aims to foster a more sustainable, efficient, and user-centric internet. Distributing decentralized infrastructure worldwide reduces the environmental footprint associated with large data centers and promotes fairer internet resource distribution. - -
- -Both the shift towards decentralized solar energy and ThreeFold's revolutionary approach to cloud computing reflect a broader movement towards decentralization. This movement is not just about bringing alternatives to existing systems but about creating a more inclusive, resilient, and sustainable future for all. diff --git a/content/blog/solar_comparison/solar.png b/content/blog/solar_comparison/solar.png deleted file mode 100644 index 6c70d8022..000000000 Binary files a/content/blog/solar_comparison/solar.png and /dev/null differ diff --git a/content/blog/solar_comparison/solar_comparison.png b/content/blog/solar_comparison/solar_comparison.png deleted file mode 100644 index 73a80d8b2..000000000 Binary files a/content/blog/solar_comparison/solar_comparison.png and /dev/null differ diff --git a/content/blog/three_layers/index.md b/content/blog/three_layers/index.md deleted file mode 100644 index 40e0415c3..000000000 --- a/content/blog/three_layers/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: three_layers -title: "How the Internet Works" -image_caption: How the Internet Works -description: Learn about the layers of the Internet to grasp how digital information is processed, stored, and accessed. -date: 2024-03-04 -taxonomies: - people: [emilie_ouwerx] - tags: [threefold_grid, peer_to_peer, technology] - categories: [foundation] -extra: - imgPath: three_layers.png - isFeatured: true ---- - -The Internet is complex and multi-layered, touching virtually every aspect of our modern lives. At its core, it comprises three essential layers: compute & storage, network, and application. Understanding these components is key to grasping how digital information is processed, stored, and accessed across the globe. - -
- -This blog post will explore these foundational aspects of the Internet and share insights into ThreeFold's journey in reshaping the global Cloud & Internet infrastructure. - -### **The Three Layers of the Internet** - -Understanding the three fundamental layers of the Internet’s architecture is crucial to grasping how digital services are delivered to end-users around the globe. Let's break down these components: - -#### **Compute & Storage** - -Compute is the powerhouse of the Internet, providing the necessary processing power to run the various software applications and services that populate the Internet. This involves everything from simple web hosting to complex computational tasks like data analysis and artificial intelligence. In essence, it's the brain behind the operations, turning code into action. Compute resources are provided by servers located in data centers, cloud platforms, and increasingly, decentralized networks. - -
- -Storage acts as the Internet's memory, a space where data is securely kept for future access. This includes everything from your personal photos and documents to the databases that store website content and user information. Efficient and reliable storage solutions are vital for keeping the Internet's vast amount of information organized and accessible. - -#### **Network** - -The network is the Internet's circulatory system, consisting of the physical and virtual connections that enable data to flow from one point to another. This includes the cables, satellites, routers, and protocols that transport information across the globe, ensuring that an email or a video call can reach its destination in milliseconds. - -#### **Applications** - -At the top of the Internet stack are applications — the user-facing software that provides the services and experiences we interact with daily. Applications range from web browsers and social media to more complex systems like blockchain platforms and decentralized apps (dApps). They are the interface through which users interact with the digital world. - -### **Blockchain's Place in the Application Layer** - -Blockchain technology, known for its decentralized and secure nature, resides within the application layer of the Internet. It offers a revolutionary approach to conducting transactions, managing data, and establishing trust online, offering a level of security, transparency, and efficiency previously unattainable with traditional centralized systems. As a part of the application layer, blockchain applications leverage the underlying compute, storage, and network infrastructure to operate efficiently and securely. The full blockchain landscape can run on top of ThreeFold’s Internet stack. - -### **ThreeFold Today: Focusing on Compute and Storage** - -At ThreeFold, we're committed to enhancing the foundational layers of the Internet, with a particular focus to date on compute and storage. Our journey has been driven by the belief that decentralizing these components can lead to a more secure, efficient, and equitable digital world. By distributing compute power and storage capacity across a global network, we aim to reduce reliance on centralized data centers, mitigate privacy and security risks, and lower the environmental impact of digital infrastructure. - -### **The Road Ahead: Expanding to Connectivity** - -Looking to the future, ThreeFold plans to integrate advanced connectivity solutions into our ecosystem. Recognizing the importance of robust network infrastructure, we're dedicated to improving bandwidth and reducing latency to ensure seamless access to digital services for everyone, everywhere. This expansion is not only about enhancing Internet performance but also about empowering blockchain applications and other innovations that depend on strong connectivity to thrive. \ No newline at end of file diff --git a/content/blog/three_layers/three_layers.png b/content/blog/three_layers/three_layers.png deleted file mode 100644 index 411791970..000000000 Binary files a/content/blog/three_layers/three_layers.png and /dev/null differ diff --git a/content/newsroom/endfeb2024update/endfeb2024update.png b/content/newsroom/endfeb2024update/endfeb2024update.png deleted file mode 100644 index 22ebd1f2d..000000000 Binary files a/content/newsroom/endfeb2024update/endfeb2024update.png and /dev/null differ diff --git a/content/newsroom/endfeb2024update/index.md b/content/newsroom/endfeb2024update/index.md deleted file mode 100644 index 6f300c4de..000000000 --- a/content/newsroom/endfeb2024update/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: endfeb2024update -title: 💡 End of Feb Update from the Team -image_caption: End Of Feb Update -description: Stay tuned for the latest team updates from February and mark your calendars for our upcoming community call! -date: 2024-02-29 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [foundation] -extra: - imgPath: endfeb2024update.png ---- - -Follow the link below to find an update from the ThreeFold team! - -
- -At a high level, as the grid is now commercially ready, we have been and are focused on making remaining improvements to ensure its scalability, reliability, and usability, and working with some core orgs and partners on bringing utilization to the grid at scale. - -
- -Read the full update [here](https://forum.threefold.io/t/end-feb-2024-update-from-the-team/4233). We'll be going deeper into these topics in upcoming communication and on the community call in March. \ No newline at end of file diff --git a/content/newsroom/farmerbotupdaterecommended/farmerbotupdaterecommended.png b/content/newsroom/farmerbotupdaterecommended/farmerbotupdaterecommended.png deleted file mode 100644 index 8a986ec4d..000000000 Binary files a/content/newsroom/farmerbotupdaterecommended/farmerbotupdaterecommended.png and /dev/null differ diff --git a/content/newsroom/farmerbotupdaterecommended/index.md b/content/newsroom/farmerbotupdaterecommended/index.md deleted file mode 100644 index 59e5e7440..000000000 --- a/content/newsroom/farmerbotupdaterecommended/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: farmerbotupdaterecommended -title: 🔄 Farmerbot Update Recommended -image_caption: Farmer update recommedation -description: We are recommending all farmers using farmerbot to update to the new and improved version -date: 2024-02-20 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [technology] -extra: - imgPath: farmerbotupdaterecommended.png ---- - -After much testing, we are recommending all farmers using farmerbot to update to the new and improved version. You can find comprehensive instructions [here](https://www.manual.grid.tf/farmers/farmerbot/farmerbot_intro.html) in the manual. - -
- -*Please find the highlights of the update [here](https://forum.threefold.io/t/update-on-new-farmerbot/4203). Thanks to all involved in bringing the upgrade live.* - diff --git a/content/newsroom/introducingtfrobot/index.md b/content/newsroom/introducingtfrobot/index.md deleted file mode 100644 index b731bf743..000000000 --- a/content/newsroom/introducingtfrobot/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: introducingtfrobot -title: 🤖 Introducing TFRobot -image_caption: Introducing TFRobot -description: A new and exciting ThreeFold tool has recently been launched! -date: 2024-02-26 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [technology] -extra: - imgPath: introducingtfrobot.png ---- - - Meet tfrobot, designed to help you quickly deploy many VMs on the ThreeFold Grid at once. - -
- -Inside of [our full update](https://forum.threefold.io/t/introducing-tfrobot/4222): read about what tfrobot can do, how to get tfrobot, and how it helps to keep the grid strong. - -
- -*Give tfrobot a try and let us know what you think. Questions are always welcomed! Thanks to the team and testers for pushing this important feature through. 🙏️* \ No newline at end of file diff --git a/content/newsroom/introducingtfrobot/introducingtfrobot.png b/content/newsroom/introducingtfrobot/introducingtfrobot.png deleted file mode 100644 index d317b6cd5..000000000 Binary files a/content/newsroom/introducingtfrobot/introducingtfrobot.png and /dev/null differ diff --git a/content/newsroom/manualupdatesfeb2024/index.md b/content/newsroom/manualupdatesfeb2024/index.md deleted file mode 100644 index 4514ee2a9..000000000 --- a/content/newsroom/manualupdatesfeb2024/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: manualupdatesfeb2024 -title: 📚 New on the Manual -image_caption: Manual Update -description: There have been plenty of updates to the manual since our last update in January! -date: 2024-02-27 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [technology] -extra: - imgPath: manualupdatesfeb2024.png ---- - -There are now two distinct sections, documentation (for tutorials and practical information), and knowledge base (for helpful context and info on the project, how it works, our history, and more). - -
- -New content includes: Updated TF Dashboard, TFCMD & TFROBOT, Grid Deployment, Updated Farmerbot, Mycelium and Grid Billing. - -
- -Dive into the [full update](https://forum.threefold.io/t/tfgrid-manual-updates-february-2024/4229) for more. - -
- -*If there are specific topics or sections that you feel are missing from the manual, or if you have any questions, please let us know.* \ No newline at end of file diff --git a/content/newsroom/manualupdatesfeb2024/manualupdatesfeb2024.png b/content/newsroom/manualupdatesfeb2024/manualupdatesfeb2024.png deleted file mode 100644 index b8f4ca24f..000000000 Binary files a/content/newsroom/manualupdatesfeb2024/manualupdatesfeb2024.png and /dev/null differ diff --git a/content/newsroom/newdashboardtesting/index.md b/content/newsroom/newdashboardtesting/index.md deleted file mode 100644 index ec3f05ab4..000000000 --- a/content/newsroom/newdashboardtesting/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: newdashboardtesting -title: 📣 New Dashboard Testing -image_caption: New UI/UX Dashboard -description: The new UI/UX of our new dashboard is up for testing. -date: 2024-02-02 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [foundation] -extra: - imgPath: newdashboardtesting.png ---- - -The new [UI/UX](https://next.dashboard.grid.tf/) of our new dashboard is up for testing. - -
- -Great changes around the contracts page, nodes & farmer management pages, and everything you need for deployment is now neatly categorized and [much more](https://forum.threefold.io/t/the-new-and-improved-tf-grid-dashboard-ui-ux/4202). - -
- -*Thanks to all those involved in this release and bringing it live! We are always open to [feedback](https://github.com/threefoldtech/test_feedback).* \ No newline at end of file diff --git a/content/newsroom/newdashboardtesting/newdashboardtesting.png b/content/newsroom/newdashboardtesting/newdashboardtesting.png deleted file mode 100644 index a1e5e9f25..000000000 Binary files a/content/newsroom/newdashboardtesting/newdashboardtesting.png and /dev/null differ diff --git a/content/newsroom/tfherdaoevevent/index.md b/content/newsroom/tfherdaoevevent/index.md deleted file mode 100644 index d7b903d42..000000000 --- a/content/newsroom/tfherdaoevevent/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: tfherdaoevent -title: 🇹🇿 ThreeFold x H.E.R. DAO Dar Dev Meetup -image_caption: Dev meetup H.E.R -description: We're excited to announce our partnership with H.E.R. DAO for a developer meetup in Dar Es Salaam, Tanzania next week, showcasing demos on deploying on the ThreeFold Grid. -date: 2024-02-01 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [technology] -extra: - imgPath: tfherdaoevent.png ---- - -For those in Tanzania, we're excited to be partnering with H.E.R. DAO to run a developer meetup next week in Dar Es Salaam. The event will include demos of how to add capacity to and deploy on top of a sovereign internet infrastructure, the ThreeFold Grid. - -
- -As well, we'll be hearing from Tracey Bowen, Founder of H.E.R. DAO., and exploring the beginnings of a Dar-based Dunia Yetu Coding Academy. - -
- -Event details and RSVP [here](https://lu.ma/threefoldherdao). - -
- -[H.E.R. DAO](https://www.her-dao.xyz/) *is a developer DAO championing innovation + diversity and we're proud to be collaborating!* \ No newline at end of file diff --git a/content/newsroom/tfherdaoevevent/tfherdaoevent.png b/content/newsroom/tfherdaoevevent/tfherdaoevent.png deleted file mode 100644 index 211244b20..000000000 Binary files a/content/newsroom/tfherdaoevevent/tfherdaoevent.png and /dev/null differ diff --git a/content/newsroom/tfherdaorecap/index.md b/content/newsroom/tfherdaorecap/index.md deleted file mode 100644 index b472de7de..000000000 --- a/content/newsroom/tfherdaorecap/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: tfherdaorecap -title: 🇹🇿 Recap- ThreeFold X H.E.R. DAO Developer Meetup -image_caption: Dev meetup H.E.R -description: Here is a recap and on all that happened on our developer meet along side H.E.R DAO in Dar Es Salaam -date: 2024-02-08 -taxonomies: - people: [bernadette_amanda_caster] - tags: [technology,update,threefold_grid,community,news] - news-category: [technology] -extra: - imgPath: tfherdaorecap.png ---- - -This Monday, ThreeFold collaborated with H.E.R. DAO on a developer meetup in Dar Es Salaam to follow up on our first Dunia Yetu gathering last month. We invite you to [read about the meetup](https://www.threefold.io/blog/threefold-herdao-dar/) and learn about the next steps for the Dunia Yetu movement. - diff --git a/content/newsroom/tfherdaorecap/tfherdaorecap.png b/content/newsroom/tfherdaorecap/tfherdaorecap.png deleted file mode 100644 index 1907200d9..000000000 Binary files a/content/newsroom/tfherdaorecap/tfherdaorecap.png and /dev/null differ diff --git a/css/admonition.css b/css/admonition.css deleted file mode 100644 index de7d76e6f..000000000 --- a/css/admonition.css +++ /dev/null @@ -1,361 +0,0 @@ -:root { - --md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8,"); - --md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8,"); - --md-details-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E"); -} - -:is(.admonition) { - display: flow-root; - margin: 1.5625em 0; - padding: 0 1.2rem; - color: var(--fg); - page-break-inside: avoid; - background-color: var(--bg); - border: 0 solid black; - border-inline-start-width: 0.4rem; - border-radius: 0.2rem; - box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1); -} - -.admonition p { - display: block; - margin-block-start: 1em; - margin-block-end: 1em; - margin-inline-start: 0px; - margin-inline-end: 0px; - font-size: 0.8rem; -} - -@media print { - :is(.admonition) { - box-shadow: none; - } -} -:is(.admonition) > * { - box-sizing: border-box; -} -:is(.admonition) :is(.admonition) { - margin-top: 1em; - margin-bottom: 1em; -} -:is(.admonition) > .tabbed-set:only-child { - margin-top: 0; -} -html :is(.admonition) > :last-child { - margin-bottom: 1.2rem; -} - -:is(.admonition-title, summary) { - position: relative; - margin-block: 0; - margin-inline: -1.6rem -1.2rem; - padding-block: 0.8rem; - padding-inline: 4rem 1.2rem; - font-weight: 700; - background-color: rgba(68, 138, 255, 0.1); - border: 0 solid #448aff; - border-inline-start-width: 0.4rem; - border-start-start-radius: 0.2rem; - display: flex; -} -:is(.admonition-title, summary) > p { - margin: 0; -} -html :is(.admonition-title, summary):last-child { - margin-bottom: 0; -} -:is(.admonition-title, summary)::before { - position: absolute; - top: 0.625em; - inset-inline-start: 1.2rem; - width: 1.4rem; - height: 1.4rem; - background-color: #448aff; - mask-image: url('data:image/svg+xml;charset=utf-8,'); - -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,'); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-size: contain; - content: ""; -} - -:is(.admonition):is(.note) { - border-color: #448aff; -} - -:is(.note) > :is(.admonition-title, summary) { - background-color: rgba(68, 138, 255, 0.1); - border-color: #448aff; -} -:is(.note) > :is(.admonition-title, summary)::before { - background-color: #448aff; - mask-image: var(--md-admonition-icon--note); - -webkit-mask-image: var(--md-admonition-icon--note); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.abstract, .summary, .tldr) { - border-color: #00b0ff; -} - -:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary) { - background-color: rgba(0, 176, 255, 0.1); - border-color: #00b0ff; -} -:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary)::before { - background-color: #00b0ff; - mask-image: var(--md-admonition-icon--abstract); - -webkit-mask-image: var(--md-admonition-icon--abstract); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.info, .todo) { - border-color: #00b8d4; -} - -:is(.info, .todo) > :is(.admonition-title, summary) { - background-color: rgba(0, 184, 212, 0.1); - border-color: #00b8d4; -} -:is(.info, .todo) > :is(.admonition-title, summary)::before { - background-color: #00b8d4; - mask-image: var(--md-admonition-icon--info); - -webkit-mask-image: var(--md-admonition-icon--info); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.tip, .hint, .important) { - border-color: #00bfa5; -} - -:is(.tip, .hint, .important) > :is(.admonition-title, summary) { - background-color: rgba(0, 191, 165, 0.1); - border-color: #00bfa5; -} -:is(.tip, .hint, .important) > :is(.admonition-title, summary)::before { - background-color: #00bfa5; - mask-image: var(--md-admonition-icon--tip); - -webkit-mask-image: var(--md-admonition-icon--tip); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.success, .check, .done) { - border-color: #00c853; -} - -:is(.success, .check, .done) > :is(.admonition-title, summary) { - background-color: rgba(0, 200, 83, 0.1); - border-color: #00c853; -} -:is(.success, .check, .done) > :is(.admonition-title, summary)::before { - background-color: #00c853; - mask-image: var(--md-admonition-icon--success); - -webkit-mask-image: var(--md-admonition-icon--success); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.question, .help, .faq) { - border-color: #64dd17; -} - -:is(.question, .help, .faq) > :is(.admonition-title, summary) { - background-color: rgba(100, 221, 23, 0.1); - border-color: #64dd17; -} -:is(.question, .help, .faq) > :is(.admonition-title, summary)::before { - background-color: #64dd17; - mask-image: var(--md-admonition-icon--question); - -webkit-mask-image: var(--md-admonition-icon--question); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.warning, .caution, .attention) { - border-color: #ff9100; -} - -:is(.warning, .caution, .attention) > :is(.admonition-title, summary) { - background-color: rgba(255, 145, 0, 0.1); - border-color: #ff9100; -} -:is(.warning, .caution, .attention) > :is(.admonition-title, summary)::before { - background-color: #ff9100; - mask-image: var(--md-admonition-icon--warning); - -webkit-mask-image: var(--md-admonition-icon--warning); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.failure, .fail, .missing) { - border-color: #ff5252; -} - -:is(.failure, .fail, .missing) > :is(.admonition-title, summary) { - background-color: rgba(255, 82, 82, 0.1); - border-color: #ff5252; -} -:is(.failure, .fail, .missing) > :is(.admonition-title, summary)::before { - background-color: #ff5252; - mask-image: var(--md-admonition-icon--failure); - -webkit-mask-image: var(--md-admonition-icon--failure); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.danger, .error) { - border-color: #ff1744; -} - -:is(.danger, .error) > :is(.admonition-title, summary) { - background-color: rgba(255, 23, 68, 0.1); - border-color: #ff1744; -} -:is(.danger, .error) > :is(.admonition-title, summary)::before { - background-color: #ff1744; - mask-image: var(--md-admonition-icon--danger); - -webkit-mask-image: var(--md-admonition-icon--danger); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.bug) { - border-color: #f50057; -} - -:is(.bug) > :is(.admonition-title, summary) { - background-color: rgba(245, 0, 87, 0.1); - border-color: #f50057; -} -:is(.bug) > :is(.admonition-title, summary)::before { - background-color: #f50057; - mask-image: var(--md-admonition-icon--bug); - -webkit-mask-image: var(--md-admonition-icon--bug); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.example) { - border-color: #7c4dff; -} - -:is(.example) > :is(.admonition-title, summary) { - background-color: rgba(124, 77, 255, 0.1); - border-color: #7c4dff; -} -:is(.example) > :is(.admonition-title, summary)::before { - background-color: #7c4dff; - mask-image: var(--md-admonition-icon--example); - -webkit-mask-image: var(--md-admonition-icon--example); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -:is(.admonition):is(.quote, .cite) { - border-color: #9e9e9e; -} - -:is(.quote, .cite) > :is(.admonition-title, summary) { - background-color: rgba(158, 158, 158, 0.1); - border-color: #9e9e9e; -} -:is(.quote, .cite) > :is(.admonition-title, summary)::before { - background-color: #9e9e9e; - mask-image: var(--md-admonition-icon--quote); - -webkit-mask-image: var(--md-admonition-icon--quote); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; -} - -.navy :is(.admonition) { - background-color: var(--sidebar-bg); -} - -.ayu :is(.admonition), -.coal :is(.admonition) { - background-color: var(--theme-hover); -} - -.rust :is(.admonition) { - background-color: var(--sidebar-bg); - color: var(--sidebar-fg); -} - -:is(.admonition-title) { - font-feature-settings: "kern", "liga"; - font-weight: 600; - font-size: 0.84rem; - border: none; - padding: 10px 50px; -} - -:is(summary)::after { - position: absolute; - top: 0.625em; - width: 1.4rem; - height: 1.4rem; - mask-image: url('data:image/svg+xml;charset=utf-8,'); - -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,'); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-size: contain; - content: ""; -} - -:is(summary)::after { - background-color: black; - mask-image: var(--md-details-icon); - -webkit-mask-image: var(--md-details-icon); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - position: absolute; - transform: rotate(-90deg); - transition: transform 0.25s; - right: 0.4rem; -} - -details[open] > summary::after { - transform: rotate(0deg); -} diff --git a/css/code.css b/css/code.css deleted file mode 100644 index 60120a3a4..000000000 --- a/css/code.css +++ /dev/null @@ -1,94 +0,0 @@ -code.language-html, -code.language-css, -code.language-md, -code.language-cmd, -code.language-bash, -code.language-text, -code.language-js, -span.o, -span.nx { - color: rgb(255, 255, 255); - line-height: 1.4; -} -span.c { - color: hsl(120, 100%, 20%); -} - -.active { - color: #2E83FF; -} - -span.p, -span.s1, -span.s2, -span.nt { - color: hsl(40, 100%, 30%); -} - -span.gs, -span.gh, -span.ge { - color: hsl(208, 100%, 50%); -} - -span.gs { - font-weight: bold; -} - -span.ge { - font-style: italic; -} - -pre, -code { - @apply font-mono; -} - -code { - background-color: hsl(0, 0%, 98%); - border-radius: 3px; - color: hsl(120, 100%, 20%); - font-size: 85%; -} - -pre { - margin: 0; - margin: 0; - padding: 1rem; - overflow: scroll; -} - -pre code { - background-color: transparent; - color: inherit; - font-size: 100%; - padding: 0; -} - -.highlight { - background-color: transparent; - border-radius: 3px; - margin: 0 0 0.5rem; - padding: 0; - - & pre { - margin-bottom: 0; - overflow-x: auto; - } - - & .lineno { - color: hsla(0, 0%, 67%, 0.72); - display: inline-block; /* Ensures the null space also isn't selectable */ - padding: 0 0.75rem 0 0.25rem; - /* Make sure numbers aren't selectable */ - } -} - -/* TODO: dark theme for future -@media (prefers-color-scheme: dark) { - code { - color: #fff; - background: hsl(200, 63%, 15%); - } -} -*/ diff --git a/css/ffoxobliq.css b/css/ffoxobliq.css deleted file mode 100644 index 41db96ff8..000000000 --- a/css/ffoxobliq.css +++ /dev/null @@ -1,9 +0,0 @@ -/* === handling obliquing issues in Firefox */ - -@supports (-moz-appearance: none) { - .italic, i, cite, em, var, address, dfn, h3, .h3, h5, .h5 { - font-style: oblique 8deg; - } -} - -/* === end, handling obliquing issues in Firefox */ \ No newline at end of file diff --git a/css/index.css b/css/index.css deleted file mode 100644 index 158cadc87..000000000 --- a/css/index.css +++ /dev/null @@ -1,509 +0,0 @@ -/*! purgecss start ignore */ -/* @import "nav.css"; */ -@import "code.css"; -/*! purgecss end ignore */ - -@import "tailwindcss/base"; -@import "layout.css"; -@import "tailwindcss/components"; -@import "admonition.css"; -@import "tailwindcss/utilities"; -@import url("https://fonts.googleapis.com/css2?family=Ubuntu&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap"); - -/* Custom CSS for header partial */ -.backdrop-blur { - -webkit-backdrop-filter: blur(40px); -} - -* { - font-family: "Lato", sans-serif; -} - -.bg-semi-white { - background-color: rgba(255, 255, 255, 0.75); -} - -/* Custom css allowing image styling in markdown */ -img[src*="#mx-auto"] { - margin: auto; -} - -img[src*="#small"] { - width: 68px; -} - -img[src*="#medium"] { - width: 400px; - margin: auto; -} - -img[src*="#logo"] { - max-width: min(250px, 100%); - margin: auto; -} - -img[src*="#icon"] { - width: 200px; - margin: auto; -} - -img[src*="#social"] { - width: 100px; - margin: auto; -} - - -img[src*="#large"] { - width: 700px; - margin: auto; -} - -img[src*="#tft_img"] { - width: 150px; - margin: auto; -} - -img[src*="#absolute"] { - position: absolute; - left: 0; - top: 0; -} - -a img:hover{ - opacity: 0.5 !important; - cursor: pointer; -} - -.footer-cust a{ - color: #999; - cursor: pointer; -} - -.footer-cust a:hover { - color: rgb(65, 65, 65); -} - -.footer-cust h6{ - margin-bottom: 15px; -} - -.logo_size{ - width:200px -} - -h1 { - line-height: 3rem; -} -.blue{ - color:#2E83FF -} - -.nav p > a { - display: flex; - width: 100%; - flex-direction: column; - align-items: flex-start; - text-align: left; - line-height: 1.5rem; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - border-radius: 0.25rem; - border-width: 2px; - border-color: transparent; - padding: 0.5rem; - margin-top: 0.75rem; - margin-bottom: 0.75rem; - display: inline-block; - border-width: 2px; - border-color: rgb(0 0 0 / var(--tw-border-opacity)); - padding-left: 3rem; - padding-right: 3rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - text-transform: capitalize; - box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); -} - -.nav p > a:hover { - --tw-border-opacity: 1; - border-color: rgb(231 229 228 / var(--tw-border-opacity)); - --tw-bg-opacity: 1; - background-color: rgb(245 245 244 / var(--tw-bg-opacity)); -} - -@layer components { - h1 { - @apply text-4xl lg:text-6xl font-normal; - color: #2b2b2b; - } - h2 { - @apply text-3xl lg:text-4xl my-4 font-normal leading-none; - color: #2b2b2b; - } - h2 strong { - @apply font-semibold; - } - h3 { - @apply text-2xl lg:text-3xl my-4 font-extralight; - color: #2b2b2b; - } - h3 strong { - @apply font-normal; - } - h4 { - @apply text-xl lg:text-2xl font-normal; - } - h5 { - @apply text-md my-1 tracking-widest text-zinc-500 font-semibold; - } - h6 { - @apply text-md not-italic font-normal my-1; - } - p { - @apply text-lg; - color: #3d3d3d; - } - blockquote { - @apply border-l-4 border-gray-400 mx-2 my-2 p-2; - } - li { - @apply text-base lg:text-base font-normal; - } - li li { - @apply text-sm lg:text-sm font-light; - } - button { - @apply - inline-block - lg:text-lg - lg:mr-3 - py-1 - my-4 - border - rounded - shadow - border-gray-400 - capitalize - bg-gray-200 - } - .my-header h4{ - color:#9f9f9f; - - } - - h3 a{ - color:#2b2b2b; - - } - - h3 a:hover{ - color:#2E83FF; - - } - - - .article h2{ - font-size: 2.25rem; - font-family: Lato,sans-serif!important; - line-height: 1.5; - font-weight: 700; - color:#333; - } - - .article h1{ - font-family: Lato,sans-serif!important; - } - - } - .article p{ - font-size: 1.125rem; - font-family: Lato,sans-serif!important; - line-height: 1.7; - color:#333 - } - - .post-content-text a, .article a{ - color: #4ec48f; - } - - .post-content-text a:hover, .article a:hover{ - color: #2e9969; - } - - .article li{ - font-size: 1.125rem; - } - .main-title { - font-family: Lato,sans-serif!important; - } - - -button:hover :is(:where(a)) { - color: #5e5e5e; -} - -button :is(:where(p)) { - color: #3d3b39; - font-weight: 400; -} - -button a { - line-height: 1.3; - @apply - text-black - px-12 -} - -.long-text a{ - padding-left: 2rem; - padding-right: 2rem; - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity)); -} - -a { - border-width: 0px; -} - -header { - font-family: "Work Sans"; -} - -.nav_btn { - margin: 0 !important; - border: none !important; - box-shadow: none !important; -} - -.quicklinks { - box-sizing: border-box; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: auto; - margin: 0 auto; - border-radius: 10px; - margin-top: 30px; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-bottom: 20px; -} -.quicklinks img { - height: auto; - max-width: 200px; - display: inline-block; - padding: 10px; - -webkit-filter: grayscale(100%); - filter: grayscale(100%); - position: relative; - - -webkit-transition: all 0.2s ease; - transition: all 0.2s ease; - opacity: 0.5; -} - -.quicklinks img:hover { - opacity: 1; - -webkit-transition: all 0.2s ease; - transition: all 0.2s ease; - -webkit-filter: grayscale(0%); - filter: grayscale(0%); -} - - -.banner { - width: 100%; - margin: 0; - padding: 120px 0; - text-align: center; - position: relative; - display: block; - color: #fff !important; - letter-spacing: 0.5px; - overflow: hidden; - background: #00838d; - transition: 1.5s; -} - -.header { - height: auto; - background: none; - padding: 200px 0; -} - -.banner h2, -.header h1 { - margin: auto; - color: #fff; - position: relative; - transition: 0.3s; - z-index: 1; - white-space: nowrap; -} - -.header h1 { - color: #000; - transition: none; -} - -.banner h2 svg { - font-size: 40px; - margin-left: 15px; - position: absolute; - top: 55%; - transform: translateY(-50%) scale(0.5); - opacity: 0; - transition: 0.3s; -} - -.banner .back { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-position: center; - background-size: cover; - filter: grayscale(1) contrast(1.4); - opacity: 0.25; - transition: 1.5s; -} - -.header .back { - filter: none; - opacity: 1; - background-position: center; - - background-size: cover; - background-repeat: no-repeat; -} - -.banner:hover { - background: #4b3a92; -} - -.header:hover { - background: none; -} - -.banner:hover h2 svg { - transform: translateY(-50%) scale(1); - opacity: 1; -} - -.banner:hover h2 { - padding-right: 40px; -} - -.header:hover h1 { - padding-right: 0; -} - -.banner:hover .back { - transform: scale(1.03); -} - -.header:hover .back { - transform: none; -} - -.my-test{ - font-family: "Work Sans", sans-serif !important; -} -.post-content-text .my-test { - font-family: "Work Sans", sans-serif !important; - line-height: 1.7; -} - -.post-content-text h2 { - font-family: Lato,sans-serif!important; - line-height: 1.5; - font-size: 2.25rem; - font-weight: 700; -} -.container-fluid { - width: 100%; - /* padding-right: 15px; - padding-left: 15px; */ - margin-right: auto; - margin-left: auto; -} - -.zola-anchor { - display: none; -} -@media (min-width: 1024px){ - h2 { - font-size: 3.5rem; - } -} -@media (max-width: 640px) { - .banner h2 { - font: 600 7vw/10vw; - } - - .header h1 { - font-size: 35px; - } - - .banner h2 svg { - font-size: 30px; - } -} - -@media (max-width: 480px) { - .banner, - .header { - padding: 80px 0; - } - - .article h2{ - font-size: 1.5rem; - } - - img[src*="#medium"] { - width: 250px; - margin: auto; - } - - img[src*="#sm_none"] { - display: none; - } -} - -header #menu button { - @apply - lg:text-lg - px-6 - py-1 - lg:mr-5 - my-3 - shadow - bg-white - border-black - capitalize - leading-6 - border-transparent - flex - flex-col - border-2 - w-full - items-start - rounded - transition - hover:first:text-gray-500 - hover:border-stone-200 - hover:bg-stone-100 - p-2 - text-left -} - -header #menu button a{ - @apply - px-0 -} \ No newline at end of file diff --git a/css/layout.css b/css/layout.css deleted file mode 100644 index 8881cc851..000000000 --- a/css/layout.css +++ /dev/null @@ -1,466 +0,0 @@ -main { - @apply pt-0; -} - -article p{ - @apply text-lg; -} -/* -html, body { - @apply dark:bg-black; - -body { - @apply font-serif dark:text-gray-200; -} -*/ - -p { - /* for handling Markdown-created

and

  • */ - @apply text-lg; -} - -pre, -code { - font-feature-settings: normal; -} - -.navWhite, -.navWhite:visited { - @apply text-white; -} - -.navWhite:focus, -.navWhite:active { - @apply text-gray-400; -} - -.text-blue-light { - @apply text-gray-500; -} - -.text-blue-dark { - /* for dark mode - @apply text-blue-200; - */ -} - -.text-shadow-titles { - text-shadow: 4px 4px 2px #000; -} - -.gradient-titles { - @apply bg-gradient-to-b from-blue-700 to-black; -} - -.ctr { - @apply text-center; -} - -.legal { - @apply text-xs; -} - -nav h4 a:hover { - @apply border-0 text-blue-300 font-light; -} -nav h4 a, -nav h4 a:focus, -nav h4 a:active { - @apply border-0 text-black font-light; -} - -a h2 { - @apply text-black; -} - -a { - @apply text-blue-600 font-semibold; -} -a:focus, -a:hover { - @apply text-blue-300; -} -a:active { - @apply text-blue-800 border-blue-500; -} - -h5 a { - @apply text-gray-900 font-normal; -} - -/* -a:hover { - @apply dark:text-blue-300; -} -*/ - -sup a, -a.previous, -a.next, -.footnote-return { - @apply border-b-0; -} - -#nav-toggle:checked + #navMenu { - @apply block; -} - -a.navborderless { - @apply border-b-0; -} -/* -.dateInfo { - @apply text-gray-700 dark:text-gray-400; -} -*/ - -h1, -.h1, -h2, -.h2, -h3, -.h3, -h4, -.h4, -h5, -.h5, -h6, -.h6 { - @apply font-sans leading-tight tracking-tight; -} - -h1, -.h1 { - @apply text-4xl mb-4 font-extrabold; -} - -h2, -.h2, -h3, -.h3, -h4, -.h4, -h5, -.h5, -h6, -.h6 { - @apply font-bold; -} - -h2, -.h2 { - @apply text-4xl; -} - -h4, -.h4 { - @apply text-2xl; -} - -h5 { - @apply not-italic; -} - -h5, -.h5, -h6, -.h6 { - @apply text-lg; -} - -.height-hero { - height: 45vh; - max-height: 45vh; - overflow: hidden; -} - -.height-post { - height: 35vh; - max-height: 35vh; -} - -.imgCover { - @apply object-cover object-center h-full w-full; -} - -.background-hero-image-div { - @apply relative overflow-hidden w-full bg-black; - /* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */ - height: 80vh; - max-height: 80vh; -} - -.background-hero-title-block-fit { - @apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black; -} - -.background-hero-title-text { - text-shadow: 4px 4px 2px #000; -} - -@media screen and (min-width: 768px) { - .background-hero-title-block-fit { - @apply px-12; - } - - .background-hero-image-div { - height: 85vh; - max-height: 85vh; - } -} - -@media screen and (min-width: 1024px) { - .background-hero-title-block-fit { - @apply px-16; - } - - .background-hero-image-div { - height: 95vh; - max-height: 95vh; - } -} - -.text-nowrap, -.text-nobrk { - @apply whitespace-nowrap; -} - -article h1, -article h2, -article h3, -article h4 { - @apply tracking-tight mt-8 mb-6; -} - -article p { - @apply text-lg leading-relaxed; -} - -article img.containedImage { - min-width: 100%; - max-width: 100%; - @apply w-full h-auto; -} - -@media screen and (min-width: 768px) { - .height-hero { - height: 70vh; - max-height: 70vh; - } - - .height-post { - height: 40vh; - max-height: 40vh; - } -} - -@media screen and (min-width: 768px) { - article p { - @apply text-xl leading-relaxed; - } -} - -@media screen and (min-width: 1920px) { - article p { - @apply text-2xl leading-relaxed; - } -} -/* -.yellowBox { - @apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500; -} -*/ - -.yellowbox p { - @apply w-full p-2 m-0; -} - -ul, -ol { - @apply pl-8; -} - -ul { - @apply list-disc; -} - -ol { - @apply list-decimal; -} - -.twitter-tweet { - @apply mt-4 mx-auto mb-0; -} - -table.leagues { - @apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse; -} - -table.leagues td.col { - @apply w-1/2; -} - -@media (min-width: 900px) { - table.leagues { - @apply w-3/5; - } - table.noborders { - @apply w-11/12; - } -} - -table.noborders { - @apply w-full border-0 border-collapse mt-6 mx-auto mb-4; -} - -table.noborders td { - @apply text-gray-800 text-left align-middle py-1 pr-0 pl-2; - /* text-align: left !important; */ -} - -table.noborders td img { - @apply inline-block align-middle m-0; -} - -table.noborders tr { - @apply bg-blue-100; -} - -table.noborders tr:nth-child(even) { - @apply bg-gray-200; -} - -table.noborders thead tr { - @apply bg-blue-700; -} - -table.noborders thead td { - @apply text-white font-bold; -} - -table.noborders td.td70 { - width: 70%; -} -table.noborders td.td70 img { - @apply block w-1/2 h-auto; - max-width: 50%; -} - -table.noborders td.td30 { - width: 30%; -} -/* -blockquote { - @apply px-6 text-gray-700 dark:text-gray-400; -} -*/ - -/* start, footnotes */ - -.footnote-definition, -.footnote-reference { - @apply font-sans; -} - -.footnote-reference { - font-size: 0.65em; - top: -0.5em; -} - -.footnote-sim { - font-size: 0.65em; - color: #0000ff; - @media (prefers-color-scheme: dark) { - color: #00aaff; - } -} - -.footnotes { - & ol { - padding-inline-start: 1.5rem; - } - & ol li { - margin-bottom: 0.5rem; - font-size: $pokey; - } - & li p { - font-size: 100%; - line-height: 1.4; - } - & .footnote-backref { - font-size: 75%; - } -} - -a.footnote-return { - font-size: 50%; -} - -article > .footnote-definition { - border-top: 1px solid black; - padding-top: 1em; - margin-top: 1em; -} - -article > .footnote-definition ~ .footnote-definition { - border-top: 0; - padding-top: 0; - margin-top: 0; -} - -.footnote-definition-label { - top: -0.4em; - font-size: 0.65em; -} - -.footnote-definition-label + p { - font-size: 75%; - margin-top: -1.75em; - margin-left: 1em; - line-height: 1.35; -} - -.footnote-definition-label::after { - content: "."; -} - -/* == end, footnotes */ - -.aspect-16x9 { - padding-bottom: 56.25%; -} -/* -hr { - @apply border-solid border-gray-900 dark:border-gray-100; -} -*/ - -footer { - @apply font-sans; -} - -.lazypicturecaption { - @apply text-sm p-0 mt-2 leading-snug text-center; -} - -.home-colOne p { - @apply leading-8 mb-4; -} - -.home-colOne img { - @apply my-4; -} - -.container-comments { - margin: 0 auto; - font-size: 85%; - width: 85%; - max-width: 720px !important; - margin-bottom: 0; -} - -@media screen and (min-width: 900px) { - .container-comments { - width: 40%; - } -} diff --git a/css/nav.css b/css/nav.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/env.sh b/env.sh deleted file mode 100644 index 11f292b71..000000000 --- a/env.sh +++ /dev/null @@ -1 +0,0 @@ -export NAME='threefoldio' diff --git a/format_data.sh b/format_data.sh deleted file mode 100644 index 2d46784a1..000000000 --- a/format_data.sh +++ /dev/null @@ -1,208 +0,0 @@ -#/bin/bash - -git submodule update --recursive --remote - -# readable shorthand for adding tab -add_tab() { - sed -i "" "s|$1| $1|g" "$2" -} - -# readable shorthand for sed replace -replace() { - sed -i "" "s|$1|$2|g" "$3" -} - -# check if certain word exists in a file -exists() { - if grep "$1" $2 > /dev/null - then - return 0 - else - return 1 - fi -} - -# move line with a certain word $1 -# below another line with certain word $2 -move_below() { - if exists $1 $3; then - TARGET="$(grep -n "$1" "$3" | sed -n -e "s/^.*\(\($1\).*\)/\1/p")" - LINE_NUM="$(grep -n "$1" "$3" | head -n1 | sed 's/:.*//')" - sed -i "" "${LINE_NUM}d" "$3" - LINE_NUM="$(grep -n "$2" "$3" | head -n1 | sed 's/:.*//')" - LINE_NUM="$(($LINE_NUM + 1))" - sed -a -i "" "${LINE_NUM}i\\ -$TARGET\\ -" "$3" - fi -} - -folder_exists() { - echo "content/$1/$2" - if [ -d "content/$1/$2" ]; then - return 0 - fi - return 1 -} - -echo "Formatting people..." -dir="threefold_data/content/person" - -for file in $(grep -ril 'name:' $dir); -do - path=${file%/*} - name=${path##*/} - if folder_exists "people" $name; then - continue - fi - - sed -i "" "s|private: 1| private: 1\\ - socialLinks: {\\ - }|g" "$file" - sed -i "" "s|private: 0| private: 0\\ - socialLinks: {\\ - }|g" "$file" - - move_below category: excerpt: $file - move_below memberships: excerpt: $file - move_below websites: socialLinks: $file - move_below projects: image: $file - move_below linkedin: socialLinks: $file - move_below github: linkedin: $file - move_below id: excerpt: $file - - # move bio field below toml - BIO="$(grep -n 'bio:' "$file" | sed -n -e 's/^.*\(\(bio:\).*\)/\1/p')" - LINE_NUM="$(grep -n 'bio:' "$file" | head -n1 | sed 's/:.*//')" - sed -i "" "${LINE_NUM}d" "$file" - echo "\n$BIO" >> $file - sed -i "" "s|bio: ||g" "$file" - - # adds comma after social links - WEBSITES="$(grep -n 'websites:' "$file" | sed -n -e 's/^.*\(\(websites:\).*\)/\1/p')" - sed -i "" "s|$WEBSITES|$WEBSITES,|g" "$file" - LINKEDIN="$(grep -n 'linkedin:' "$file" | sed -n -e 's/^.*\(\(linkedin:\).*\)/\1/p')" - sed -i "" "s|$LINKEDIN|$LINKEDIN,|g" "$file" - if exists "github" $file; then - GITHUB="$(grep -n 'github:' "$file" | sed -n -e 's/^.*\(\(github:\).*\)/\1/p')" - sed -i "" "s|$GITHUB|$GITHUB,|g" "$file" - fi - - # put id into square brackets for people taxonomy - ID="$(grep -n 'id:' "$file" | sed -n -e 's/^.*\(\(id:\).*\)/\1/p')" - NAME="${ID#* }" - NAME="[$NAME]" - sed -i "" "s|$ID|id: $NAME|g" "$file" - - # Change field names - replace "category:" "categories:" $file - replace "rank:" "weight:" $file - replace "excerpt:" "description:" $file - replace "name:" "title:" $file - replace "linkedin:" "LinkedIn:" $file - replace "projects:" "organizations:" $file - replace "projects:" "organizations:" $file - replace "image: ./" "imgPath: " $file - - sed -i "" "s|imgPath:|extra:\\ - imgPath:|g" "$file" - sed -i "" "s|id:|taxonomies:\\ - people:|g" "$file" - - add_tab "memberships:" $file - add_tab "categories:" $file - add_tab "cities:" $file - add_tab "countries:" $file - add_tab "organizations:" $file - add_tab "LinkedIn:" $file - add_tab "LinkedIn:" $file - add_tab "websites:" $file - add_tab "websites:" $file - add_tab "github:" $file - add_tab "github:" $file - - mv $file ${file%/*}/index.md - mv ${file%/*} content/people - - break -done; - -echo "Formatting blogs..." -dir="threefold_data/content/blog" - -for file in $(grep -ril 'authors:' $dir); -do - - path=${file%/*} - name=${path##*/} - if folder_exists "blog" $name; then - continue - fi - - echo $file - - move_below created: excerpt: $file - move_below category: authors: $file - move_below tags: authors: $file - move_below image: category: $file - - # Change field names - sed -i "" "s|category:|categories:|g" "$file" - sed -i "" "s|created:|date:|g" "$file" - sed -i "" "s|excerpt:|description:|g" "$file" - sed -i "" "s| ---|---|g" "$file" - sed -i "" "s|authors:|taxonomies:\\ - people:|g" "$file" - sed -i "" "s|image: ./|extra:\\ - imgPath: |g" "$file" - - add_tab "tags" $file - add_tab "categories" $file - - mv $file ${file%/*}/index.md - mv ${file%/*} content/blog - - break -done; - -echo "Formatting news..." -dir="threefold_data/content/news" - -for file in $(grep -ril 'authors:' $dir); -do - - path=${file%/*} - name=${path##*/} - if folder_exists "newsroom" $name; then - continue - fi - echo $file - - move_below created: excerpt: $file - move_below category: authors: $file - move_below tags: authors: $file - move_below image: category: $file - - # Change field names - sed -i "" "s|category:|news-category:|g" "$file" - sed -i "" "s|created:|date:|g" "$file" - sed -i "" "s|excerpt:|description:|g" "$file" - sed -i "" "s| ---|---|g" "$file" - sed -i "" "s|authors:|taxonomies:\\ - people:|g" "$file" - sed -i "" "s|image: ./|extra:\\ - imgPath: |g" "$file" - - add_tab "tags" $file - add_tab "news-category" $file - - mv $file ${file%/*}/index.md - mv ${file%/*} content/newsroom - - break -done; - -# -# mickey malul people taxonomy should be mickey_malul -# kristof's categories are not formatted correctly -# zero people it is the future blog bug diff --git a/static/css/index.css b/static/css/index.css new file mode 100644 index 000000000..d155fe924 --- /dev/null +++ b/static/css/index.css @@ -0,0 +1,4 @@ +@import url("https://fonts.googleapis.com/css2?family=Ubuntu&display=swap");@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap"); +/*! purgecss start ignore */code.language-bash,code.language-cmd,code.language-css,code.language-html,code.language-js,code.language-md,code.language-text,span.nx,span.o{color:#fff;line-height:1.4}span.c{color:#060}.active{color:#2e83ff}span.nt,span.p,span.s1,span.s2{color:#960}span.ge,span.gh,span.gs{color:#08f}span.gs{font-weight:700}span.ge{font-style:italic}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}code{background-color:#fafafa;border-radius:3px;color:#060;font-size:85%}pre{margin:0;overflow:scroll;padding:1rem}pre code{color:inherit;font-size:100%}.highlight,pre code{background-color:initial;padding:0}.highlight{border-radius:3px;margin:0 0 .5rem;& pre{margin-bottom:0;overflow-x:auto}& .lineno{color:#abababb8;display:inline-block;padding:0 .75rem 0 .25rem}} +/*! purgecss end ignore */ +/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#0000ff80;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }main{padding-top:0}p{font-size:1.125rem}code,pre{font-feature-settings:normal}.navWhite,.navWhite:visited{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.navWhite:active,.navWhite:focus{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-blue-light{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-shadow-titles{text-shadow:4px 4px 2px #000}.gradient-titles{--tw-gradient-from:#00a var(--tw-gradient-from-position);--tw-gradient-to:#00a0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#000 var(--tw-gradient-to-position);background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.ctr{text-align:center}.legal{font-size:.75rem}nav h4 a:hover{color:rgb(0 136 255/var(--tw-text-opacity))}nav h4 a,nav h4 a:active,nav h4 a:focus,nav h4 a:hover{--tw-text-opacity:1;border-width:0;font-weight:300}a h2,nav h4 a,nav h4 a:active,nav h4 a:focus{color:rgb(0 0 0/var(--tw-text-opacity))}a,a h2{--tw-text-opacity:1}a{color:rgb(0 0 187/var(--tw-text-opacity));font-weight:600}a:focus,a:hover{--tw-text-opacity:1;color:rgb(0 136 255/var(--tw-text-opacity))}a:active{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(0 0 255/var(--tw-border-opacity));color:rgb(0 0 136/var(--tw-text-opacity))}h5 a{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity));font-weight:400}.footnote-return,a.next,a.previous,sup a{border-bottom-width:0}#nav-toggle:checked+#navMenu{display:block}a.navborderless{border-bottom-width:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;letter-spacing:-.025em;line-height:1.25}.h1,h1{font-size:2.25rem;font-weight:800;margin-bottom:1rem}.h2,.h3,.h4,.h5,.h6,h2,h3,h4,h5,h6{font-weight:700}.h2,h2{font-size:2.25rem}.h4,h4{font-size:1.5rem}h5{font-style:normal}.h5,.h6,h5,h6{font-size:1.125rem}.height-hero{height:45vh;max-height:45vh;overflow:hidden}.height-post{height:35vh;max-height:35vh}.imgCover{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.background-hero-image-div{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));height:80vh;max-height:80vh;overflow:hidden;position:relative;width:100%}.background-hero-title-block-fit{--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);background-image:linear-gradient(to top,var(--tw-gradient-stops));bottom:0;display:block;padding:.75rem 1rem 1.5rem;position:absolute;width:100%}.background-hero-title-text{text-shadow:4px 4px 2px #000}@media screen and (min-width:768px){.background-hero-title-block-fit{padding-left:3rem;padding-right:3rem}.background-hero-image-div{height:85vh;max-height:85vh}}@media screen and (min-width:1024px){.background-hero-title-block-fit{padding-left:4rem;padding-right:4rem}.background-hero-image-div{height:95vh;max-height:95vh}}.text-nobrk,.text-nowrap{white-space:nowrap}article h1,article h2,article h3,article h4{letter-spacing:-.025em;margin-bottom:1.5rem;margin-top:2rem}article p{font-size:1.125rem;line-height:1.625}article img.containedImage{height:auto;max-width:100%;min-width:100%;width:100%}@media screen and (min-width:768px){.height-hero{height:70vh;max-height:70vh}.height-post{height:40vh;max-height:40vh}article p{font-size:1.25rem;line-height:1.625}}@media screen and (min-width:1920px){article p{font-size:1.5rem;line-height:1.625}}.yellowbox p{margin:0;padding:.5rem;width:100%}ol,ul{padding-left:2rem}ul{list-style-type:disc}ol{list-style-type:decimal}.twitter-tweet,table.leagues{margin:1rem auto 0}table.leagues{border-collapse:collapse;border-width:0;width:91.666667%}table.leagues td.col{width:50%}@media (min-width:900px){table.leagues{width:60%}table.noborders{width:91.666667%}}table.noborders{border-collapse:collapse;border-width:0;margin:1.5rem auto 1rem;width:100%}table.noborders td{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity));padding:.25rem 0 .25rem .5rem;text-align:left;vertical-align:middle}table.noborders td img{display:inline-block;margin:0;vertical-align:middle}table.noborders tr{--tw-bg-opacity:1;background-color:rgb(187 238 255/var(--tw-bg-opacity))}table.noborders tr:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}table.noborders thead tr{--tw-bg-opacity:1;background-color:rgb(0 0 170/var(--tw-bg-opacity))}table.noborders thead td{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));font-weight:700}table.noborders td.td70{width:70%}table.noborders td.td70 img{display:block;height:auto;max-width:50%;width:50%}table.noborders td.td30{width:30%}.footnote-definition,.footnote-reference{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.footnote-reference{font-size:.65em;top:-.5em}.footnote-sim{color:#00f;font-size:.65em;@media (prefers-color-scheme:dark){color:#0af}}.footnotes{& ol{padding-inline-start:1.5rem}& ol li{font-size:$pokey;margin-bottom:.5rem}& li p{font-size:100%;line-height:1.4}& .footnote-backref{font-size:75%}}a.footnote-return{font-size:50%}article>.footnote-definition{border-top:1px solid #000;margin-top:1em;padding-top:1em}article>.footnote-definition~.footnote-definition{border-top:0;margin-top:0;padding-top:0}.footnote-definition-label{font-size:.65em;top:-.4em}.footnote-definition-label+p{font-size:75%;line-height:1.35;margin-left:1em;margin-top:-1.75em}.footnote-definition-label:after{content:"."}.aspect-16x9{padding-bottom:56.25%}footer{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lazypicturecaption{font-size:.875rem;line-height:1.375;margin-top:.5rem;padding:0;text-align:center}.home-colOne p{line-height:2rem;margin-bottom:1rem}.home-colOne img{margin-bottom:1rem;margin-top:1rem}.container-comments{font-size:85%;margin:0 auto;max-width:720px!important;width:85%}@media screen and (min-width:900px){.container-comments{width:40%}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1450px){.container{max-width:1450px}}h1{font-size:2.25rem;font-weight:400}@media (min-width:1024px){h1{font-size:4rem}}h1{color:#2b2b2b}h2{font-size:1.875rem;font-weight:400;line-height:1;margin-bottom:1rem;margin-top:1rem}@media (min-width:1024px){h2{font-size:2.25rem}}h2{color:#2b2b2b}h2 strong{font-weight:600}h3{font-size:1.5rem;font-weight:200;margin-bottom:1rem;margin-top:1rem}@media (min-width:1024px){h3{font-size:1.875rem}}h3{color:#2b2b2b}h3 strong,h4{font-weight:400}h4{font-size:1.25rem}@media (min-width:1024px){h4{font-size:1.5rem}}h5{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity));font-weight:600;letter-spacing:.1em}h5,h6{font-size:1.05rem;margin-bottom:.25rem;margin-top:.25rem}h6{font-style:normal;font-weight:400}p{color:#3d3d3d;font-size:1.125rem}blockquote{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:4px;margin:.5rem;padding:.5rem}li{font-size:1rem;font-weight:400}@media (min-width:1024px){li{font-size:1rem}}li li{font-size:.875rem;font-weight:300}@media (min-width:1024px){li li{font-size:.875rem}}button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);background-color:rgb(229 231 235/var(--tw-bg-opacity));border-color:rgb(156 163 175/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-block;margin-bottom:1rem;margin-top:1rem;padding-bottom:.25rem;padding-top:.25rem;text-transform:capitalize}@media (min-width:1024px){button{font-size:1.125rem;margin-right:.75rem}}.my-header h4{color:#9f9f9f}h3 a{color:#2b2b2b}h3 a:hover{color:#2e83ff}.article h2{color:#333;font-size:2.25rem;font-weight:700;line-height:1.5}.article h1,.article h2{font-family:Lato,sans-serif!important}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,');--md-details-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E")}:is(.admonition){background-color:var(--bg);border:0 solid #000;border-inline-start-width:.4rem;border-radius:.2rem;box-shadow:0 .2rem 1rem #0000000d,0 0 .1rem #0000001a;color:var(--fg);display:flow-root;margin:1.5625em 0;padding:0 1.2rem;page-break-inside:avoid}.admonition p{display:block;font-size:.8rem;margin-block-end:1em;margin-block-start:1em;margin-inline-end:0;margin-inline-start:0}@media print{:is(.admonition){box-shadow:none}}:is(.admonition)>*{box-sizing:border-box}:is(.admonition) :is(.admonition){margin-bottom:1em;margin-top:1em}:is(.admonition)>.tabbed-set:only-child{margin-top:0}html :is(.admonition)>:last-child{margin-bottom:1.2rem}:is(.admonition-title,summary){background-color:#448aff1a;border:0 solid #448aff;border-inline-start-width:.4rem;border-start-start-radius:.2rem;display:flex;font-weight:700;margin-block:0;margin-inline:-1.6rem -1.2rem;padding-block:.8rem;padding-inline:4rem 1.2rem;position:relative}:is(.admonition-title,summary)>p{margin:0}html :is(.admonition-title,summary):last-child{margin-bottom:0}:is(.admonition-title,summary):before{background-color:#448aff;content:"";height:1.4rem;inset-inline-start:1.2rem;mask-image:url('data:image/svg+xml;charset=utf-8,');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;position:absolute;top:.625em;width:1.4rem}:is(.admonition):is(.note){border-color:#448aff}:is(.note)>:is(.admonition-title,summary){background-color:#448aff1a;border-color:#448aff}:is(.note)>:is(.admonition-title,summary):before{background-color:#448aff;mask-image:var(--md-admonition-icon--note);-webkit-mask-image:var(--md-admonition-icon--note);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.abstract,.summary,.tldr){border-color:#00b0ff}:is(.abstract,.summary,.tldr)>:is(.admonition-title,summary){background-color:#00b0ff1a;border-color:#00b0ff}:is(.abstract,.summary,.tldr)>:is(.admonition-title,summary):before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract);-webkit-mask-image:var(--md-admonition-icon--abstract);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.info,.todo){border-color:#00b8d4}:is(.info,.todo)>:is(.admonition-title,summary){background-color:#00b8d41a;border-color:#00b8d4}:is(.info,.todo)>:is(.admonition-title,summary):before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info);-webkit-mask-image:var(--md-admonition-icon--info);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.tip,.hint,.important){border-color:#00bfa5}:is(.tip,.hint,.important)>:is(.admonition-title,summary){background-color:#00bfa51a;border-color:#00bfa5}:is(.tip,.hint,.important)>:is(.admonition-title,summary):before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip);-webkit-mask-image:var(--md-admonition-icon--tip);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.success,.check,.done){border-color:#00c853}:is(.success,.check,.done)>:is(.admonition-title,summary){background-color:#00c8531a;border-color:#00c853}:is(.success,.check,.done)>:is(.admonition-title,summary):before{background-color:#00c853;mask-image:var(--md-admonition-icon--success);-webkit-mask-image:var(--md-admonition-icon--success);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.question,.help,.faq){border-color:#64dd17}:is(.question,.help,.faq)>:is(.admonition-title,summary){background-color:#64dd171a;border-color:#64dd17}:is(.question,.help,.faq)>:is(.admonition-title,summary):before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question);-webkit-mask-image:var(--md-admonition-icon--question);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.warning,.caution,.attention){border-color:#ff9100}:is(.warning,.caution,.attention)>:is(.admonition-title,summary){background-color:#ff91001a;border-color:#ff9100}:is(.warning,.caution,.attention)>:is(.admonition-title,summary):before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning);-webkit-mask-image:var(--md-admonition-icon--warning);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.failure,.fail,.missing){border-color:#ff5252}:is(.failure,.fail,.missing)>:is(.admonition-title,summary){background-color:#ff52521a;border-color:#ff5252}:is(.failure,.fail,.missing)>:is(.admonition-title,summary):before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure);-webkit-mask-image:var(--md-admonition-icon--failure);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.danger,.error){border-color:#ff1744}:is(.danger,.error)>:is(.admonition-title,summary){background-color:#ff17441a;border-color:#ff1744}:is(.danger,.error)>:is(.admonition-title,summary):before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger);-webkit-mask-image:var(--md-admonition-icon--danger);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.bug){border-color:#f50057}:is(.bug)>:is(.admonition-title,summary){background-color:#f500571a;border-color:#f50057}:is(.bug)>:is(.admonition-title,summary):before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug);-webkit-mask-image:var(--md-admonition-icon--bug);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.example){border-color:#7c4dff}:is(.example)>:is(.admonition-title,summary){background-color:#7c4dff1a;border-color:#7c4dff}:is(.example)>:is(.admonition-title,summary):before{background-color:#7c4dff;mask-image:var(--md-admonition-icon--example);-webkit-mask-image:var(--md-admonition-icon--example);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.quote,.cite){border-color:#9e9e9e}:is(.quote,.cite)>:is(.admonition-title,summary){background-color:#9e9e9e1a;border-color:#9e9e9e}:is(.quote,.cite)>:is(.admonition-title,summary):before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote);-webkit-mask-image:var(--md-admonition-icon--quote);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.navy :is(.admonition){background-color:var(--sidebar-bg)}.ayu :is(.admonition),.coal :is(.admonition){background-color:var(--theme-hover)}.rust :is(.admonition){background-color:var(--sidebar-bg);color:var(--sidebar-fg)}:is(.admonition-title){font-feature-settings:"kern","liga";border:none;font-size:.84rem;font-weight:600;padding:10px 50px}:is(summary):after{background-color:#000;content:"";height:1.4rem;mask-image:url('data:image/svg+xml;charset=utf-8,');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,');mask-image:var(--md-details-icon);-webkit-mask-image:var(--md-details-icon);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;right:.4rem;top:.625em;transform:rotate(-90deg);transition:transform .25s;width:1.4rem}details[open]>summary:after{transform:rotate(0deg)}.sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.inset-0{inset:0!important}.inset-x-0{right:0!important}.inset-x-0,.left-0{left:0!important}.top-0{top:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-30{z-index:30!important}.z-50{z-index:50!important}.order-1{order:1!important}.order-2{order:2!important}.col-span-3{grid-column:span 3/span 3!important}.m-0{margin:0!important}.m-2{margin:.5rem!important}.m-4{margin:1rem!important}.-mx-4{margin-left:-1rem!important;margin-right:-1rem!important}.-mx-8{margin-left:-2rem!important;margin-right:-2rem!important}.-my-2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.mx-8{margin-left:2rem!important;margin-right:2rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-10{margin-bottom:2.5rem!important;margin-top:2.5rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.my-5{margin-bottom:1.25rem!important;margin-top:1.25rem!important}.my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-8{margin-bottom:2rem!important;margin-top:2rem!important}.-mr-2{margin-right:-.5rem!important}.-mt-24{margin-top:-6rem!important}.mb-0{margin-bottom:0!important}.mb-10{margin-bottom:2.5rem!important}.mb-12{margin-bottom:3rem!important}.mb-16{margin-bottom:4rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.mb-6{margin-bottom:1.5rem!important}.mb-8{margin-bottom:2rem!important}.ml-1{margin-left:.25rem!important}.ml-10{margin-left:2.5rem!important}.ml-4{margin-left:1rem!important}.ml-5{margin-left:1.25rem!important}.ml-8{margin-left:2rem!important}.ml-auto{margin-left:auto!important}.mr-2{margin-right:.5rem!important}.mr-4{margin-right:1rem!important}.mr-5{margin-right:1.25rem!important}.mr-8{margin-right:2rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-10{margin-top:2.5rem!important}.mt-12{margin-top:3rem!important}.mt-14{margin-top:3.5rem!important}.mt-16{margin-top:4rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.mt-5{margin-top:1.25rem!important}.mt-6{margin-top:1.5rem!important}.mt-8{margin-top:2rem!important}.line-clamp-3{-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;display:-webkit-box!important;overflow:hidden!important}.block{display:block!important}.inline-block{display:inline-block!important}.inline{display:inline!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.hidden{display:none!important}.aspect-\[14\/13\]{aspect-ratio:14/13!important}.h-1\/2{height:50%!important}.h-1\/3{height:33.333333%!important}.h-10{height:2.5rem!important}.h-12{height:3rem!important}.h-32{height:8rem!important}.h-4{height:1rem!important}.h-48{height:12rem!important}.h-5{height:1.25rem!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.h-auto{height:auto!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.max-h-80{max-height:20rem!important}.max-h-screen{max-height:100vh!important}.min-h-screen{min-height:100vh!important}.w-10{width:2.5rem!important}.w-12{width:3rem!important}.w-16{width:4rem!important}.w-2\/6{width:33.333333%!important}.w-3\/4{width:75%!important}.w-32{width:8rem!important}.w-4{width:1rem!important}.w-4\/6{width:66.666667%!important}.w-48{width:12rem!important}.w-5{width:1.25rem!important}.w-6{width:1.5rem!important}.w-64{width:16rem!important}.w-72{width:18rem!important}.w-8{width:2rem!important}.w-auto{width:auto!important}.w-full{width:100%!important}.w-screen{width:100vw!important}.max-w-2xl{max-width:42rem!important}.max-w-4xl{max-width:56rem!important}.max-w-5xl{max-width:64rem!important}.max-w-7xl{max-width:80rem!important}.max-w-full{max-width:100%!important}.max-w-lg{max-width:32rem!important}.max-w-screen-2xl{max-width:1450px!important}.max-w-screen-lg{max-width:1024px!important}.max-w-screen-xl{max-width:1280px!important}.max-w-xs{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.flex-shrink-0{flex-shrink:0!important}.origin-top-right{transform-origin:top right!important}.-translate-y-0{--tw-translate-y:-0px!important}.-translate-y-0,.-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-translate-y-1{--tw-translate-y:-0.25rem!important}.-rotate-90{--tw-rotate:-90deg!important}.-rotate-90,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-180{--tw-rotate:180deg!important}.rotate-180,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-100{--tw-scale-x:1!important;--tw-scale-y:1!important}.scale-95{--tw-scale-x:.95!important;--tw-scale-y:.95!important}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.cursor-pointer{cursor:pointer!important}.list-none{list-style-type:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.flex-row{flex-direction:row!important}.flex-col{flex-direction:column!important}.flex-col-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-baseline{align-items:baseline!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-x-4{-moz-column-gap:1rem!important;column-gap:1rem!important}.gap-y-8{row-gap:2rem!important}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(2.5rem*var(--tw-space-x-reverse))!important}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1rem*var(--tw-space-x-reverse))!important}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.25rem*var(--tw-space-y-reverse))!important;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))!important}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(2px*var(--tw-divide-y-reverse))!important;border-top-width:calc(2px*(1 - var(--tw-divide-y-reverse)))!important}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(229 231 235/var(--tw-divide-opacity))!important}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1!important;border-color:rgb(249 250 251/var(--tw-divide-opacity))!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-y-auto{overflow-y:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.text-ellipsis{text-overflow:ellipsis!important}.rounded{border-radius:.25rem!important}.rounded-2xl{border-radius:1rem!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:.5rem!important}.rounded-md{border-radius:.375rem!important}.rounded-none{border-radius:0!important}.rounded-l-md{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.rounded-r-md{border-bottom-right-radius:.375rem!important;border-top-right-radius:.375rem!important}.border{border-width:1px!important}.border-0{border-width:0!important}.border-2{border-width:2px!important}.border-4{border-width:4px!important}.border-b{border-bottom-width:1px!important}.border-r-0{border-right-width:0!important}.border-t{border-top-width:1px!important}.border-t-2{border-top-width:2px!important}.border-dashed{border-style:dashed!important}.border-black{--tw-border-opacity:1!important;border-color:rgb(0 0 0/var(--tw-border-opacity))!important}.border-gray-200{--tw-border-opacity:1!important;border-color:rgb(229 231 235/var(--tw-border-opacity))!important}.border-gray-300{--tw-border-opacity:1!important;border-color:rgb(209 213 219/var(--tw-border-opacity))!important}.border-gray-400{--tw-border-opacity:1!important;border-color:rgb(156 163 175/var(--tw-border-opacity))!important}.border-gray-50{--tw-border-opacity:1!important;border-color:rgb(249 250 251/var(--tw-border-opacity))!important}.border-gray-600{--tw-border-opacity:1!important;border-color:rgb(75 85 99/var(--tw-border-opacity))!important}.border-transparent{border-color:#0000!important}.border-white{--tw-border-opacity:1!important;border-color:rgb(255 255 255/var(--tw-border-opacity))!important}.bg-gray-100{background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.bg-gray-100,.bg-gray-200{--tw-bg-opacity:1!important}.bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity))!important}.bg-gray-50{background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.bg-gray-50,.bg-stone-200{--tw-bg-opacity:1!important}.bg-stone-200{background-color:rgb(231 229 228/var(--tw-bg-opacity))!important}.bg-transparent{background-color:initial!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-cover{background-size:cover!important}.bg-center{background-position:50%!important}.bg-no-repeat{background-repeat:no-repeat!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.p-1{padding:.25rem!important}.p-12{padding:3rem!important}.p-2{padding:.5rem!important}.p-4{padding:1rem!important}.p-6{padding:1.5rem!important}.p-8{padding:2rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-12{padding-left:3rem!important;padding-right:3rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-10{padding-bottom:2.5rem!important;padding-top:2.5rem!important}.py-12{padding-bottom:3rem!important;padding-top:3rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.py-5{padding-bottom:1.25rem!important;padding-top:1.25rem!important}.py-8{padding-bottom:2rem!important;padding-top:2rem!important}.pb-0{padding-bottom:0!important}.pb-10{padding-bottom:2.5rem!important}.pb-12{padding-bottom:3rem!important}.pb-2{padding-bottom:.5rem!important}.pb-4{padding-bottom:1rem!important}.pb-6{padding-bottom:1.5rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-12{padding-left:3rem!important}.pl-20{padding-left:5rem!important}.pl-3{padding-left:.75rem!important}.pl-6{padding-left:1.5rem!important}.pr-2{padding-right:.5rem!important}.pr-20{padding-right:5rem!important}.pt-12{padding-top:3rem!important}.pt-16{padding-top:4rem!important}.pt-2{padding-top:.5rem!important}.pt-24{padding-top:6rem!important}.pt-4{padding-top:1rem!important}.pt-5{padding-top:1.25rem!important}.pt-6{padding-top:1.5rem!important}.pt-8{padding-top:2rem!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif!important}.text-2xl{font-size:1.5rem!important}.text-3xl{font-size:1.875rem!important}.text-4xl{font-size:2.25rem!important}.text-5xl{font-size:3rem!important}.text-base{font-size:1rem!important}.text-lg{font-size:1.125rem!important}.text-md{font-size:1.05rem!important}.text-sm{font-size:.875rem!important}.text-xl{font-size:1.25rem!important}.text-xs{font-size:.75rem!important}.font-black{font-weight:900!important}.font-bold{font-weight:700!important}.font-extrabold{font-weight:800!important}.font-light{font-weight:300!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.capitalize{text-transform:capitalize!important}.not-italic{font-style:normal!important}.leading-3{line-height:.75rem!important}.leading-4{line-height:1rem!important}.leading-5{line-height:1.25rem!important}.leading-6{line-height:1.5rem!important}.leading-7{line-height:1.75rem!important}.leading-8{line-height:2rem!important}.leading-none{line-height:1!important}.leading-relaxed{line-height:1.625!important}.leading-snug{line-height:1.375!important}.leading-tight{line-height:1.25!important}.tracking-tight{letter-spacing:-.025em!important}.tracking-wide{letter-spacing:.025em!important}.text-black{color:rgb(0 0 0/var(--tw-text-opacity))!important}.text-black,.text-blue-400{--tw-text-opacity:1!important}.text-blue-400{color:rgb(0 51 255/var(--tw-text-opacity))!important}.text-blue-500{--tw-text-opacity:1!important;color:rgb(0 0 255/var(--tw-text-opacity))!important}.text-blue-700{--tw-text-opacity:1!important;color:rgb(0 0 170/var(--tw-text-opacity))!important}.text-gray-300{--tw-text-opacity:1!important;color:rgb(209 213 219/var(--tw-text-opacity))!important}.text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity))!important}.text-gray-500{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.text-gray-600{--tw-text-opacity:1!important;color:rgb(75 85 99/var(--tw-text-opacity))!important}.text-gray-700{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important}.text-gray-800{--tw-text-opacity:1!important;color:rgb(31 41 55/var(--tw-text-opacity))!important}.text-gray-900{color:rgb(17 24 39/var(--tw-text-opacity))!important}.text-gray-900,.text-white{--tw-text-opacity:1!important}.text-white{color:rgb(255 255 255/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.\!shadow-none,.shadow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)!important}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d!important;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.grayscale{--tw-grayscale:grayscale(100%)!important}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.transition{transition-duration:.15s!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-shadow{transition-duration:.15s!important;transition-property:box-shadow!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.duration-100{transition-duration:.1s!important}.duration-150{transition-duration:.15s!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.duration-500{transition-duration:.5s!important}.duration-75{transition-duration:75ms!important}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.backdrop-blur{-webkit-backdrop-filter:blur(40px)}*{font-family:Lato,sans-serif}.bg-semi-white{background-color:#ffffffbf}img[src*="#mx-auto"]{margin:auto}img[src*="#small"]{width:68px}img[src*="#medium"]{margin:auto;width:400px}img[src*="#logo"]{margin:auto;max-width:min(250px,100%)}img[src*="#icon"]{margin:auto;width:200px}img[src*="#social"]{margin:auto;width:100px}img[src*="#large"]{margin:auto;width:700px}img[src*="#tft_img"]{margin:auto;width:150px}img[src*="#absolute"]{left:0;position:absolute;top:0}a img:hover{cursor:pointer;opacity:.5!important}.footer-cust a{color:#999;cursor:pointer}.footer-cust a:hover{color:#414141}.footer-cust h6{margin-bottom:15px}.logo_size{width:200px}h1{line-height:3rem}.blue{color:#2e83ff}.nav p>a{align-items:flex-start;border-color:#0000;border-color:rgb(0 0 0/var(--tw-border-opacity));border-radius:.25rem;border-width:2px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;display:flex;display:inline-block;flex-direction:column;line-height:1.5rem;margin-bottom:.75rem;margin-top:.75rem;padding:.25rem 3rem;text-align:left;text-transform:capitalize;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.nav p>a:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity));border-color:rgb(231 229 228/var(--tw-border-opacity))}.article p{color:#333;font-family:Lato,sans-serif!important;font-size:1.125rem;line-height:1.7}.article a,.post-content-text a{color:#4ec48f}.article a:hover,.post-content-text a:hover{color:#2e9969}.article li{font-size:1.125rem}.main-title{font-family:Lato,sans-serif!important}button:hover :is(:where(a)){color:#5e5e5e}button :is(:where(p)){color:#3d3b39;font-weight:400}button a{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));line-height:1.3;padding-left:3rem;padding-right:3rem}.long-text a{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));padding-left:2rem;padding-right:2rem}a{border-width:0}header{font-family:Work Sans}.nav_btn{border:none!important;box-shadow:none!important;margin:0!important}.quicklinks{align-items:center;border-radius:10px;box-sizing:border-box;flex-wrap:wrap;margin:30px auto 20px;width:auto}.quicklinks img{display:inline-block;filter:grayscale(100%);height:auto;max-width:200px;opacity:.5;padding:10px;position:relative;transition:all .2s ease}.quicklinks img:hover{filter:grayscale(0);opacity:1;transition:all .2s ease}.banner{background:#00838d;color:#fff!important;display:block;letter-spacing:.5px;margin:0;overflow:hidden;padding:120px 0;position:relative;text-align:center;transition:1.5s;width:100%}.header{background:none;height:auto;padding:200px 0}.banner h2,.header h1{color:#fff;margin:auto;position:relative;transition:.3s;white-space:nowrap;z-index:1}.header h1{color:#000;transition:none}.banner h2 svg{font-size:40px;margin-left:15px;opacity:0;position:absolute;top:55%;transform:translateY(-50%) scale(.5);transition:.3s}.banner .back{filter:grayscale(1) contrast(1.4);height:100%;left:0;opacity:.25;position:absolute;top:0;transition:1.5s;width:100%}.banner .back,.header .back{background-position:50%;background-size:cover}.header .back{background-repeat:no-repeat;filter:none;opacity:1}.banner:hover{background:#4b3a92}.header:hover{background:none}.banner:hover h2 svg{opacity:1;transform:translateY(-50%) scale(1)}.banner:hover h2{padding-right:40px}.header:hover h1{padding-right:0}.banner:hover .back{transform:scale(1.03)}.header:hover .back{transform:none}.my-test,.post-content-text .my-test{font-family:Work Sans,sans-serif!important}.post-content-text .my-test{line-height:1.7}.post-content-text h2{font-family:Lato,sans-serif!important;font-size:2.25rem;font-weight:700;line-height:1.5}.container-fluid{margin-left:auto;margin-right:auto;width:100%}.zola-anchor{display:none}@media (min-width:1024px){h2{font-size:3.5rem}}@media (max-width:640px){.banner h2{font:600 7vw/10vw}.header h1{font-size:35px}.banner h2 svg{font-size:30px}}@media (max-width:480px){.banner,.header{padding:80px 0}.article h2{font-size:1.5rem}img[src*="#medium"]{margin:auto;width:250px}img[src*="#sm_none"]{display:none}}header #menu button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);align-items:flex-start;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:#0000;border-radius:.25rem;border-width:2px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;line-height:1.5rem;margin-bottom:.75rem;margin-top:.75rem;padding:.25rem 1.5rem;text-align:left;text-transform:capitalize;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}header #menu button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity));border-color:rgb(231 229 228/var(--tw-border-opacity))}header #menu button:first-child:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}@media (min-width:1024px){header #menu button{font-size:1.125rem;margin-right:1.25rem}}header #menu button a{padding-left:0;padding-right:0}.focus-within\:outline-none:focus-within{outline:2px solid #0000!important;outline-offset:2px!important}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px!important}.hover\:border-blue-500:hover{--tw-border-opacity:1!important;border-color:rgb(0 0 255/var(--tw-border-opacity))!important}.hover\:border-stone-200:hover{--tw-border-opacity:1!important;border-color:rgb(231 229 228/var(--tw-border-opacity))!important}.hover\:bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.hover\:bg-gray-200:hover{--tw-bg-opacity:1!important;background-color:rgb(229 231 235/var(--tw-bg-opacity))!important}.hover\:bg-gray-400:hover{--tw-bg-opacity:1!important;background-color:rgb(156 163 175/var(--tw-bg-opacity))!important}.hover\:bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}.hover\:bg-stone-100:hover{--tw-bg-opacity:1!important;background-color:rgb(245 245 244/var(--tw-bg-opacity))!important}.hover\:\!text-gray-700:hover{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important}.hover\:text-black:hover{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.hover\:text-blue-300:hover{--tw-text-opacity:1!important;color:rgb(0 136 255/var(--tw-text-opacity))!important}.hover\:text-blue-700:hover{--tw-text-opacity:1!important;color:rgb(0 0 170/var(--tw-text-opacity))!important}.hover\:text-gray-500:hover{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.hover\:text-gray-900:hover{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.hover\:underline:hover{text-decoration-line:underline!important}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.hover\:first\:text-gray-500:first-child:hover{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.focus\:bg-gray-100:focus{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.focus\:bg-gray-200:focus{--tw-bg-opacity:1!important;background-color:rgb(229 231 235/var(--tw-bg-opacity))!important}.focus\:text-gray-500:focus{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.focus\:text-gray-900:focus{--tw-text-opacity:1!important;color:rgb(17 24 39/var(--tw-text-opacity))!important}.focus\:outline-none:focus{outline:2px solid #0000!important;outline-offset:2px!important}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px!important}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2!important}.sm\:-mx-12{margin-left:-3rem!important;margin-right:-3rem!important}.sm\:-mx-4{margin-left:-1rem!important;margin-right:-1rem!important}.sm\:mx-0{margin-left:0!important;margin-right:0!important}.sm\:mt-0{margin-top:0!important}.sm\:mt-8{margin-top:2rem!important}.sm\:flex{display:flex!important}.sm\:grid{display:grid!important}.sm\:h-10{height:2.5rem!important}.sm\:h-2\/3{height:66.666667%!important}.sm\:w-1\/2{width:50%!important}.sm\:w-10{width:2.5rem!important}.sm\:flex-1{flex:1 1 0%!important}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.sm\:gap-10{gap:2.5rem!important}.sm\:gap-6{gap:1.5rem!important}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1rem*var(--tw-space-x-reverse))!important}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(0px*var(--tw-space-y-reverse))!important;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))!important}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}.sm\:overflow-hidden{overflow:hidden!important}.sm\:rounded-md{border-radius:.375rem!important}.sm\:border-0{border-width:0!important}.sm\:border-l{border-left-width:1px!important}.sm\:border-r{border-right-width:1px!important}.sm\:bg-transparent{background-color:initial!important}.sm\:p-0{padding:0!important}.sm\:p-6{padding:1.5rem!important}.sm\:px-0{padding-left:0!important;padding-right:0!important}.sm\:px-12{padding-left:3rem!important;padding-right:3rem!important}.sm\:px-4{padding-left:1rem!important;padding-right:1rem!important}.sm\:px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.sm\:pb-16{padding-bottom:4rem!important}.sm\:pb-8{padding-bottom:2rem!important}.sm\:pt-10{padding-top:2.5rem!important}.sm\:text-3xl{font-size:1.875rem!important}.sm\:text-sm{font-size:.875rem!important}.sm\:leading-10{line-height:2.5rem!important}}@media (min-width:768px){.md\:order-2{order:2!important}.md\:order-last{order:9999!important}.md\:col-span-2{grid-column:span 2/span 2!important}.md\:-mx-16{margin-left:-4rem!important;margin-right:-4rem!important}.md\:mx-0{margin-left:0!important;margin-right:0!important}.md\:mx-12{margin-left:3rem!important;margin-right:3rem!important}.md\:mx-4{margin-left:1rem!important;margin-right:1rem!important}.md\:mx-8{margin-left:2rem!important;margin-right:2rem!important}.md\:-mt-1{margin-top:-.25rem!important}.md\:mb-0{margin-bottom:0!important}.md\:mb-10{margin-bottom:2.5rem!important}.md\:mb-6{margin-bottom:1.5rem!important}.md\:mt-0{margin-top:0!important}.md\:block{display:block!important}.md\:inline-block{display:inline-block!important}.md\:inline{display:inline!important}.md\:grid{display:grid!important}.md\:h-screen{height:100vh!important}.md\:w-1\/2{width:50%!important}.md\:w-1\/6{width:16.666667%!important}.md\:w-2\/3{width:66.666667%!important}.md\:w-48{width:12rem!important}.md\:w-5\/6{width:83.333333%!important}.md\:w-auto{width:auto!important}.md\:w-full{width:100%!important}.md\:max-w-full{max-width:100%!important}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:flex-row{flex-direction:row!important}.md\:gap-12{gap:3rem!important}.md\:gap-8{gap:2rem!important}.md\:p-8{padding:2rem!important}.md\:px-12{padding-left:3rem!important;padding-right:3rem!important}.md\:px-16{padding-left:4rem!important;padding-right:4rem!important}.md\:px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.md\:py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.md\:pl-8{padding-left:2rem!important}.md\:pr-0{padding-right:0!important}.md\:text-left{text-align:left!important}.md\:text-4xl{font-size:2.25rem!important}.md\:text-lg{font-size:1.125rem!important}}@media (min-width:1024px){.lg\:m-0{margin:0!important}.lg\:m-20{margin:5rem!important}.lg\:m-4{margin:1rem!important}.lg\:-mx-12{margin-left:-3rem!important;margin-right:-3rem!important}.lg\:-mx-20{margin-left:-5rem!important;margin-right:-5rem!important}.lg\:mx-0{margin-left:0!important;margin-right:0!important}.lg\:mx-10{margin-left:2.5rem!important;margin-right:2.5rem!important}.lg\:mx-20{margin-left:5rem!important;margin-right:5rem!important}.lg\:mx-28{margin-left:7rem!important;margin-right:7rem!important}.lg\:mx-4{margin-left:1rem!important;margin-right:1rem!important}.lg\:mx-auto{margin-left:auto!important;margin-right:auto!important}.lg\:my-0{margin-bottom:0!important;margin-top:0!important}.lg\:-mt-6{margin-top:-1.5rem!important}.lg\:mb-8{margin-bottom:2rem!important}.lg\:ml-8{margin-left:2rem!important}.lg\:mr-16{margin-right:4rem!important}.lg\:mr-24{margin-right:6rem!important}.lg\:mr-8{margin-right:2rem!important}.lg\:mt-0{margin-top:0!important}.lg\:mt-16{margin-top:4rem!important}.lg\:mt-4{margin-top:1rem!important}.lg\:mt-6{margin-top:1.5rem!important}.lg\:flex{display:flex!important}.lg\:hidden{display:none!important}.lg\:w-2\/3,.lg\:w-4\/6{width:66.666667%!important}.lg\:w-5\/6{width:83.333333%!important}.lg\:w-full{width:100%!important}.lg\:max-w-4xl{max-width:56rem!important}.lg\:max-w-5xl{max-width:64rem!important}.lg\:max-w-6xl{max-width:72rem!important}.lg\:max-w-lg{max-width:32rem!important}.lg\:max-w-none{max-width:none!important}.lg\:max-w-sm{max-width:24rem!important}.lg\:max-w-xl{max-width:36rem!important}.lg\:flex-1{flex:1 1 0%!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lg\:flex-row{flex-direction:row!important}.lg\:items-start{align-items:flex-start!important}.lg\:items-center{align-items:center!important}.lg\:justify-start{justify-content:flex-start!important}.lg\:justify-end{justify-content:flex-end!important}.lg\:justify-between{justify-content:space-between!important}.lg\:gap-8{gap:2rem!important}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(3rem*var(--tw-space-x-reverse))!important}.lg\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(5rem*var(--tw-space-x-reverse))!important}.lg\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1.5rem*var(--tw-space-x-reverse))!important}.lg\:p-12{padding:3rem!important}.lg\:p-4{padding:1rem!important}.lg\:px-0{padding-left:0!important;padding-right:0!important}.lg\:px-12{padding-left:3rem!important;padding-right:3rem!important}.lg\:px-16{padding-left:4rem!important;padding-right:4rem!important}.lg\:px-20{padding-left:5rem!important;padding-right:5rem!important}.lg\:px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.lg\:px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.lg\:px-8{padding-left:2rem!important;padding-right:2rem!important}.lg\:py-16{padding-bottom:4rem!important;padding-top:4rem!important}.lg\:py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.lg\:py-24{padding-bottom:6rem!important;padding-top:6rem!important}.lg\:py-28{padding-bottom:7rem!important;padding-top:7rem!important}.lg\:py-5{padding-bottom:1.25rem!important;padding-top:1.25rem!important}.lg\:pb-0{padding-bottom:0!important}.lg\:pb-10{padding-bottom:2.5rem!important}.lg\:pb-24{padding-bottom:6rem!important}.lg\:pl-0{padding-left:0!important}.lg\:pt-24{padding-top:6rem!important}.lg\:pt-4{padding-top:1rem!important}.lg\:pt-6{padding-top:1.5rem!important}.lg\:text-2xl{font-size:1.5rem!important}.lg\:text-5xl{font-size:3rem!important}.lg\:text-6xl{font-size:4rem!important}.lg\:text-xl{font-size:1.25rem!important}.lg\:backdrop-blur{--tw-backdrop-blur:blur(8px)!important;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}}@media (min-width:1280px){.xl\:col-span-1{grid-column:span 1/span 1!important}.xl\:-mx-8{margin-left:-2rem!important;margin-right:-2rem!important}.xl\:mx-0{margin-left:0!important;margin-right:0!important}.xl\:mx-10{margin-left:2.5rem!important;margin-right:2.5rem!important}.xl\:mx-20{margin-left:5rem!important;margin-right:5rem!important}.xl\:mt-0{margin-top:0!important}.xl\:flex{display:flex!important}.xl\:max-w-lg{max-width:32rem!important}.xl\:max-w-none{max-width:none!important}.xl\:max-w-sm{max-width:24rem!important}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.xl\:flex-row{flex-direction:row!important}.xl\:gap-4{gap:1rem!important}.xl\:p-12{padding:3rem!important}.xl\:backdrop-blur{--tw-backdrop-blur:blur(8px)!important;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}}@media (min-width:1450px){.\32xl\:mt-0{margin-top:0!important}}@media (prefers-color-scheme:dark){.dark\:bg-gray-700{--tw-bg-opacity:1!important;background-color:rgb(55 65 81/var(--tw-bg-opacity))!important}.dark\:bg-transparent{background-color:initial!important}.dark\:text-gray-200{--tw-text-opacity:1!important;color:rgb(229 231 235/var(--tw-text-opacity))!important}.dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1!important;background-color:rgb(75 85 99/var(--tw-bg-opacity))!important}.dark\:focus\:text-white:focus,.dark\:hover\:text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index d075446fb..000000000 --- a/tailwind.config.js +++ /dev/null @@ -1,57 +0,0 @@ -const colors = require('tailwindcss/colors') - -module.exports = { - content: [ - './templates/**/*.html' - ], - darkMode: false, - important: true, - theme: { - fontSize: { - 'xs': '.75rem', - 'sm': '.875rem', - 'tiny': '.875rem', - 'base': '1rem', - 'md': '1.05rem', - 'lg': '1.125rem', - 'xl': '1.25rem', - '2xl': '1.5rem', - '3xl': '1.875rem', - '4xl': '2.25rem', - '5xl': '3rem', - '6xl': '4rem', - '7xl': '5rem', - }, - colors: { - transparent: 'transparent', - white: '#ffffff', - black: '#000000', - gray: colors.gray, - slate: colors.slate, - stone: colors.stone, - zinc: colors.zinc, - yellow: colors.yellow, - orange: colors.orange, - sky: colors.sky, - blue: { - '100': '#bbeeff', - '200': '#00aaff', - '300': '#0088ff', - '400': '#0033ff', - '500': '#0000ff', - '600': '#0000bb', - '700': '#0000aa', - '800': '#000088', - '900': '#000066', - }, - - }, - extend: { - screens: { - '2xl': '1450px', - // => @media (min-width: 992px) { ... } - }, - }, - }, - plugins: [], // if we add forms, do it here -} diff --git a/tailwindcss b/tailwindcss new file mode 100755 index 000000000..29df5e636 Binary files /dev/null and b/tailwindcss differ diff --git a/templates/blogPage.html b/templates/blogPage.html deleted file mode 100644 index 0b38cb9a9..000000000 --- a/templates/blogPage.html +++ /dev/null @@ -1,101 +0,0 @@ -{% extends "_default/base.html" %} -{% block content %} - -{% if page.taxonomies.people %} -{% set people = get_section(path="people/_index.md") %} -{% set pages_str = people.pages | json_encode() | as_str %} -{% if pages_str is containing(page.taxonomies.people[0]) %} -{% set author_path = 'people/' ~ page.taxonomies.people[0] ~ '/index.md' %} -{% set author = get_page(path=author_path) %} -{% endif %} -{% endif %} - - - -{% set split = page.content | split(pat="threefold.io") %} -{% if split | length < 2 %} {% set content=page.content %} {% else %} {% set content="" %} {% for part in split %} {% if - part is starting_with("/blog") %} {% set split_part=part | split(pat='/">' ) %} {% set link=split_part[0] %} {% set - link=link | replace(from="/blog/post" , to="/blog" ) %} {% set link=link | replace(from="_" , to="-" ) %} {% set - rest_part=split_part | slice(start=1) | join(sep='/">' ) %} {% set part=link ~ '/">' ~ rest_part %} {% endif %} {% if - loop.first %} {% set_global content=part%} {% else %} {% set_global content=content ~ "threefold.io" ~ part%} {% endif - %} {% endfor %} {% endif %}
    - -
    - -
    -
    -

    - {{ page.title }} -

    - -

    - {{ page.description }} -

    - - {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', - to=page.extra.imgPath)) %} - {{page.title ~ 'Picture'}} -
    {{ content | safe }}
    - -
    -
    - - -
    -
    - - {% endblock content %} diff --git a/templates/categories/single.html b/templates/categories/single.html deleted file mode 100644 index c57944732..000000000 --- a/templates/categories/single.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "index.html" %} - -{% block content %} - -
    - -
    - {% include "partials/blogPosts.html" %} - {% include "partials/blogSidebar.html" %} -
    -
    - - {% endblock content %} - diff --git a/templates/layouts/blog.html b/templates/layouts/blog.html deleted file mode 100644 index 72e279a0f..000000000 --- a/templates/layouts/blog.html +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "_default/base.html" %} - - -{% block content %} - -
    - - - {%- set section = get_section(path="blog/_index.md") %} - {% for page in section.pages %} - {% if page.extra.isFeatured %} - {%- set_global featured = page %} - {% break %} - {% endif %} - {% if not featured %} - {%- set_global featured = section.pages[0] %} - {% endif %} - {% endfor %} - - -
    - {% include "partials/blogPosts.html" %} - {% include "partials/blogSidebar.html" %} -
    -
    - - {% endblock content %} diff --git a/templates/layouts/partners.html b/templates/layouts/partners.html deleted file mode 100644 index f5df37df2..000000000 --- a/templates/layouts/partners.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "_default/base.html" %} - -{% block content %} -
    - - {%- set section = get_section(path="partners/_index.md") %} - {% include "partials/intro.html" %} -
    - {% include "partials/partnersCards.html" %} - {% include "partials/partnersSidebar.html" %} -
    -
    -{% endblock content %} diff --git a/templates/memberships/single.html b/templates/memberships/single.html deleted file mode 100644 index e41a58d8b..000000000 --- a/templates/memberships/single.html +++ /dev/null @@ -1,88 +0,0 @@ -{% extends "index.html" %} - -{% block content %} - -{% if not paginator %} - {% set paginator = section %} -{% endif %} - -{% set path_array = current_path | split(pat="/") %} -{% set taxonomy = path_array[1] %} -{% set category = path_array[2] %} -{% if path_array | length < 3%} -{% set category = "All" %} -{% endif %} - -
    - {% include "partials/filter_bar.html" %} -
    -
    -

    - {{category | replace(from='-', to=' ' ) | title}} -

    -
    - {{ paginator.total_pages ~ " People"}} -
    -
    - -
    - -
    -
    - {%- for page in paginator.pages %} - {% include "partials/person_card.html" %} - {%- endfor %} -
    -
    -

    - {% if paginator.previous %} - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} -           - {% include "partials/icons/svgPrevPageIcon.html" %} -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - {% include "partials/icons/svgNextPageIcon.html" %} -           - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    - -
    - -{% endblock content %} - - diff --git a/templates/news-category/single.html b/templates/news-category/single.html deleted file mode 100644 index 5db297019..000000000 --- a/templates/news-category/single.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "index.html" %} - -{% block content %} - -
    - -
    - {% include "partials/newsPosts.html" %} - {% include "partials/newsSidebar.html" %} -
    -
    - - {% endblock content %} - diff --git a/templates/newsPage.html b/templates/newsPage.html deleted file mode 100644 index 69debfe80..000000000 --- a/templates/newsPage.html +++ /dev/null @@ -1,143 +0,0 @@ -{% extends "_default/base.html" %} -{% block content %} - -{% set split = page.content | split(pat="threefold.io") %} -{% if split | length < 2 %} - {% set content = page.content %} -{% else %} - {% set content = "" %} - {% for part in split %} - {% if part is starting_with("/blog") %} - {% set split_part = part | split(pat='/">') %} - {% set link = split_part[0] %} - {% set link = link | replace(from="/blog/post", to="/blog") %} - {% set link = link | replace(from="_", to="-") %} - {% set rest_part = split_part | slice(start=1) | join(sep='/">') %} - {% set part = link ~ '/">' ~ rest_part %} - {% endif %} - {% if part is starting_with("/people") %} - {% set split_part = part | split(pat='/">') %} - {% set link = split_part[0] %} - {% set link = link | replace(from="_", to="-") %} - {% set rest_part = split_part | slice(start=1) | join(sep='/">') %} - {% set part = link ~ '/">' ~ rest_part %} - {% endif %} - {% if loop.first %} - {% set_global content = part %} - {% else %} - {% set_global content = content ~ "threefold.io" ~ part %} - {% endif %} - {% endfor %} -{% endif %} - - - -
    - -
    - -
    -
    -

    - {{ page.title }} -

    -
    {{ page.description }}
    -
    - -
    -
    - {% if page.extra.imgPath %} - {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} - - {%endif%} -
    - -
    -
    -
    {{ content | safe }}
    -
    - - -
    -
    -
    -{% endblock content %} \ No newline at end of file diff --git a/templates/partials/blogPosts.html b/templates/partials/blogPosts.html deleted file mode 100644 index 1283a3b8a..000000000 --- a/templates/partials/blogPosts.html +++ /dev/null @@ -1,70 +0,0 @@ -{% block content %} - -
    -

    - {% set path_array = current_path | split(pat="/") %} - {% set taxonomy = path_array[1] %} - {% set category = path_array[2] %} - ThreeFold stories and project info - {% if taxonomy == "categories" %} - - {{category | replace(from='-', to=' ' ) | title}} - {% endif %} -

    -
    -
    - {%- for post in paginator.pages %} - {% if not post.extra.hidden %} - {% include "partials/postCard.html" %} - {%endif%} {%- endfor %} -
    -
    -

    - {% if paginator.previous %} - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} -           - {% include "partials/icons/svgPrevPageIcon.html" %} -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - {% include "partials/icons/svgNextPageIcon.html" %} -           - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    - -{% endblock content %} diff --git a/templates/partials/blogSidebar.html b/templates/partials/blogSidebar.html deleted file mode 100644 index 7c910c74c..000000000 --- a/templates/partials/blogSidebar.html +++ /dev/null @@ -1,38 +0,0 @@ - -
    -
    -

    FILTER POSTS BY

    - All - {% set taxonomy = get_taxonomy(kind="categories") %} - {% set categories = taxonomy.items %} - {% for category in categories %} - {% set path = category.name | slugify %} - {% set fullpath = "/categories/" ~ path %} - {{category.name}} - {% endfor %} -
    - -{% set section = get_section(path="blog/_index.md")%} - -
    -

    FEATURED POSTS

    - - {% for page in section.pages %} - {% if page.extra.isFeatured %} - {{ page.title }} - {% endif %} - {% endfor %} - -
    -
    - - \ No newline at end of file diff --git a/templates/partials/featuredBlog.html b/templates/partials/featuredBlog.html deleted file mode 100644 index 26731efc7..000000000 --- a/templates/partials/featuredBlog.html +++ /dev/null @@ -1,36 +0,0 @@ -{% if featured.taxonomies.people %} - {% set people = get_section(path="people/_index.md") %} - {% set pages_str = people.pages | json_encode() | as_str %} - {% if pages_str is containing(featured.taxonomies.people[0]) %} - {% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %} - {% set author = get_page(path=author_path) %} - {% endif %} -{% endif %} - - - -
    -
    -

    FEATURED POST

    - -

    - {{ featured.title }} -

    -
    -

    - {{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} - -

    - -
    - -
    - -
    -
    - -
    - - - - \ No newline at end of file diff --git a/templates/partials/featuredNews.html b/templates/partials/featuredNews.html deleted file mode 100644 index 3388c2e13..000000000 --- a/templates/partials/featuredNews.html +++ /dev/null @@ -1,42 +0,0 @@ - - -
    -
    -

    FEATURED NEWS

    - -

    - {{ featured.title }} -

    -
    - -

    - {{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} - - {% for author in featured.taxonomies.people %} - {% set author_path = 'people/' ~ author ~ '/index.md' %} - {% set author = get_page(path=author_path) %} - {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %} - {{ author.title }} {{ author.title }} - {% endfor %} -

    - -
    - -
    - {% if featured.extra.imgPath %} - - {% endif %} -
    -
    -
    - - - \ No newline at end of file diff --git a/templates/partials/footer.html b/templates/partials/footer.html deleted file mode 100644 index 1f73cb1dc..000000000 --- a/templates/partials/footer.html +++ /dev/null @@ -1,2 +0,0 @@ -{% set page = get_page(path="footer/index.md") %} -{{page.content | safe}} \ No newline at end of file diff --git a/templates/partials/header.html b/templates/partials/header.html deleted file mode 100644 index 41f199ee7..000000000 --- a/templates/partials/header.html +++ /dev/null @@ -1,2 +0,0 @@ -{% set page = get_page(path="header.md") %} -{{page.content | safe}} \ No newline at end of file diff --git a/templates/partials/intro.html b/templates/partials/intro.html deleted file mode 100644 index a1def33f0..000000000 --- a/templates/partials/intro.html +++ /dev/null @@ -1,9 +0,0 @@ -{% block content %} -
    -

    {{ section.title }}

    -

    - {{ section.description }} -

    -
    -{#
    #} -{% endblock content %} diff --git a/templates/partials/memberships.html b/templates/partials/memberships.html deleted file mode 100644 index a87a99af9..000000000 --- a/templates/partials/memberships.html +++ /dev/null @@ -1,85 +0,0 @@ -{% block content %} - -{% if not paginator %} - {% set paginator = section %} -{% endif %} - -{% set path_array = current_path | split(pat="/") %} -{% set taxonomy = path_array[1] %} -{% set category = path_array[2] %} -{% if path_array | length < 3%} -{% set category = "All" %} -{% endif %} - -
    - {% include "partials/filter_bar.html" %} -
    -
    -

    - {{category | replace(from='-', to=' ' ) | title}} -

    - test -
    - {{ paginator.total_pages ~ " People"}} -
    -
    - -
    - -
    -
    - {%- for page in paginator.pages %} - {% include "partials/person_card.html" %} - {%- endfor %} -
    -
    -

    - {% if paginator.previous %} - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} -           - {% include "partials/icons/svgPrevPageIcon.html" %} -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - {% include "partials/icons/svgNextPageIcon.html" %} -           - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    - -
    - -{% endblock content %} diff --git a/templates/partials/newsCard.html b/templates/partials/newsCard.html deleted file mode 100644 index 42bc17c30..000000000 --- a/templates/partials/newsCard.html +++ /dev/null @@ -1,57 +0,0 @@ -
    -
    - -
    - {% if post.extra.imgPath %} - {% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %} - - {% endif %} -
    -
    - -

    - {{ post.title }} -

    - {% if post.description %} -

    - {{ post.description }} -

    - {% endif %} -
    -
    -
    -
      - {% if post.taxonomies.people %} - {% for author in post.taxonomies.people %} - {% set author_path = 'people/' ~ author ~ '/index.md' %} - {% set people = get_section(path="people/_index.md") %} - {% set pages_str = people.pages | json_encode() | as_str %} - {% if pages_str is containing(author) %} - {% set author = get_page(path=author_path) %} - {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %} -
    • - - {{ author.title }} - -
    • - {% endif %} - {% endfor %} - {% endif %} -
    -
    - -

    - -

    -
    -
    -
    -
    \ No newline at end of file diff --git a/templates/partials/newsPosts.html b/templates/partials/newsPosts.html deleted file mode 100644 index 42ba162b5..000000000 --- a/templates/partials/newsPosts.html +++ /dev/null @@ -1,70 +0,0 @@ -{% block content %} - -
    -

    - {% set path_array = current_path | split(pat="/") %} - {% set taxonomy = path_array[1] %} - {% set category = path_array[2] %} - News and updates from the ecosystem - {% if taxonomy == "news-category" %} - - {{category | replace(from='-', to=' ' ) | title}} - {% endif %} -

    -
    -
    - {%- for post in paginator.pages %} - {% if "Engineering" == "Engineering"%} - {% include "partials/newsCard.html" %} - {%endif%} {%- endfor %} -
    -
    -

    - {% if paginator.previous %} - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} -           - {% include "partials/icons/svgPrevPageIcon.html" %} -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - {% include "partials/icons/svgNextPageIcon.html" %} -           - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    - -{% endblock content %} diff --git a/templates/partials/newsSidebar.html b/templates/partials/newsSidebar.html deleted file mode 100644 index 1d3f625e6..000000000 --- a/templates/partials/newsSidebar.html +++ /dev/null @@ -1,38 +0,0 @@ - -
    -
    -

    FILTER NEWS BY

    - All - {% set taxonomy = get_taxonomy(kind="news-category") %} - {% set categories = taxonomy.items %} - {% for category in categories %} - {% set path = category.name | slugify %} - {% set fullpath = "/news-category/" ~ path %} - {{category.name}} - {% endfor %} -
    - -{% set section = get_section(path="newsroom/_index.md")%} - -
    -

    FEATURED NEWS

    - - {% for page in section.pages %} - {% if page.extra.isFeatured %} - {{ page.title }} - {% endif %} - {% endfor %} - -
    -
    - - \ No newline at end of file diff --git a/templates/partials/partnerCard.html b/templates/partials/partnerCard.html deleted file mode 100644 index fcb3ed62d..000000000 --- a/templates/partials/partnerCard.html +++ /dev/null @@ -1,22 +0,0 @@ -
    - -
    \ No newline at end of file diff --git a/templates/partials/partnersCards.html b/templates/partials/partnersCards.html deleted file mode 100644 index c4c7552b7..000000000 --- a/templates/partials/partnersCards.html +++ /dev/null @@ -1,69 +0,0 @@ -{% block content %} - -
    -

    - {% set path_array = current_path | split(pat="/") %} - {% set taxonomy = path_array[1] %} - {% set category = path_array[2] %} - {% if taxonomy == "partners-category" %} - - {{category | replace(from='-', to=' ' ) | title}} - {% endif %} -

    -
    -
    - {%- for post in paginator.pages %} - {% if "Engineering" == "Engineering"%} - {% include "partials/partnerCard.html" %} - {%endif%} {%- endfor %} -
    -
    -

    - {% if paginator.previous %} - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} -           - {% include "partials/icons/svgPrevPageIcon.html" %} -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - {% include "partials/icons/svgNextPageIcon.html" %} -           - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    - -{% endblock content %} diff --git a/templates/partials/partnersSidebar.html b/templates/partials/partnersSidebar.html deleted file mode 100644 index b7ab73739..000000000 --- a/templates/partials/partnersSidebar.html +++ /dev/null @@ -1,24 +0,0 @@ -
    -
    -

    FILTER PARTNERS BY

    - All - {% set taxonomy = get_taxonomy(kind="partners-category") %} - {% set categories = taxonomy.items %} - {% for category in categories %} - {% set path = category.name | slugify %} - {% set fullpath = "/partners-category/" ~ path %} - {{category.name}} - {% endfor %} -
    -
    - - \ No newline at end of file diff --git a/templates/partials/personCard.html b/templates/partials/personCard.html deleted file mode 100644 index 2204df7ee..000000000 --- a/templates/partials/personCard.html +++ /dev/null @@ -1,26 +0,0 @@ -
    - - {% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} - {{page.title ~ ' Picture'}} -
    -

    {{page.title}}

    -
    - {% if page.description %} - {{page.description}} - {% else %} - {{page.content | safe}} - {% endif %} -
    -
    -
    - -
    - diff --git a/templates/partials/person_card.html b/templates/partials/person_card.html deleted file mode 100644 index f5e37ccc1..000000000 --- a/templates/partials/person_card.html +++ /dev/null @@ -1,26 +0,0 @@ -
    - - {% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} - {{page.title ~ ' Picture'}} - - -
    - diff --git a/templates/partials/postCard.html b/templates/partials/postCard.html deleted file mode 100644 index b70123c83..000000000 --- a/templates/partials/postCard.html +++ /dev/null @@ -1,75 +0,0 @@ -{% if post.date %} -{% if post.taxonomies.people %} -{% set people = get_section(path="people/_index.md") %} -{% set pages_str = people.pages | json_encode() | as_str %} -{% if pages_str is containing(post.taxonomies.people[0]) %} -{% set author_path = 'people/' ~ post.taxonomies.people[0] ~ '/index.md' %} -{% set author = get_page(path=author_path) %} -{% set content = get_page(path=author_path) %} -{% endif %} -{% endif %} - -
    - -
    - - -{% endif %} \ No newline at end of file diff --git a/templates/partials/socialLinks.html b/templates/partials/socialLinks.html deleted file mode 100644 index b209a3230..000000000 --- a/templates/partials/socialLinks.html +++ /dev/null @@ -1,33 +0,0 @@ -{% if not section %} -{% set section = page %} -{% endif %} - -
    -{%if section.extra.socialLinks%} - {% for key, link in section.extra.socialLinks %} - - - {{key}} - {% if key == "Facebook" %} - {% include "partials/icons/svgFacebookIcon.html" %} - {% elif key == "Github" %} - {% include "partials/icons/svgGithubIcon.html" %} - {% elif key == "Github2" %} - {% include "partials/icons/svgGithubIcon.html" %} - {% elif key == "Instagram" %} - {% include "partials/icons/svgInstagramIcon.html" %} - {% elif key == "LinkedIn" %} - {% include "partials/icons/svgLinkedInIcon.html" %} - {% elif key == "Twitter" %} - {% include "partials/icons/svgTwitterIcon.html" %} - {% elif key == "Dribbble" %} - {% include "partials/icons/svgDribbbleIcon.html" %} - {% elif key == "Telegram" %} - {% include "partials/icons/svgTelegram.html" %} - {% endif %} - - - {% endfor %} -{%endif%} - -
    \ No newline at end of file diff --git a/templates/partnerPage.html b/templates/partnerPage.html deleted file mode 100644 index 705957ae0..000000000 --- a/templates/partnerPage.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "_default/base.html" %} -{% block content %} - -
    -
    -
    - -
    -
    -

    - {{ page.title }} -

    - -
    -
    -
      - {% if page.extra.websites %} -
    • - - -
    • - {% endif %} - {% if page.extra.linkedin %} -
    • - - -
    • - {% endif %} -
    - {% for tag in page.taxonomies.tags %} - - {{tag}} - - {% endfor %} -
    -
    -
    -
    - -
    - -
    -
    {{ page.content | safe }}
    -
    -
    - -{% endblock content %} \ No newline at end of file diff --git a/templates/partners-category/single.html b/templates/partners-category/single.html deleted file mode 100644 index 4b5b92cc4..000000000 --- a/templates/partners-category/single.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "index.html" %} - -{% block content %} - -
    - -
    - {% include "partials/partnersCards.html" %} - {% include "partials/partnersSidebar.html" %} -
    -
    - - {% endblock content %} - diff --git a/templates/people/list.html b/templates/people/list.html deleted file mode 100644 index e90320a2f..000000000 --- a/templates/people/list.html +++ /dev/null @@ -1,70 +0,0 @@ -{% extends "_default/base.html" %} -{% block content %} -{%- set section = get_section(path="people/_index.md") %} -{% include "partials/intro.html" %} -
    - {% include "partials/filter_bar.html" %} -
    - {#

    - {% set path_array = current_path | split(pat="/") %} - {% set taxonomy = path_array[1] %} - {% set category = path_array[2] %} - {{category | replace(from='-', to=' ' ) | title}} -

    #} -
    -
    - {% for person in section.pages %} - {% set page_path = person.path ~ 'index.md' | replace(from='-', to='_') | trim_start_matches(pat="/") %} - {% set people = get_section(path="people/_index.md") %} - {% set pages_str = people.pages | json_encode() | as_str %} - {% if pages_str is containing(person.title) %} - {% set page = get_page(path=page_path) %} - {% if page.extra.private >= 0 %} - {% if page.title != "ThreeFold_Community"%} - {% include "partials/person_card.html" %} - {% endif %} - {% endif %} - {% endif %} - {% endfor %} -
    -
    -

    - {% if paginator.previous %} - - {% include "partials/icons/svgPrevPageIcon.html" %}{% include - "partials/icons/svgPrevPageIcon.html" %} - -           - - {% include "partials/icons/svgPrevPageIcon.html" %} - -           -           {% else %} {% - include "partials/icons/svgFirstPageIcon.html" %}{% include - "partials/icons/svgFirstPageIcon.html" %} -           {% include - "partials/icons/svgFirstPageIcon.html" %} -           -           {% endif %} {% if - paginator.next %} - - {% include "partials/icons/svgNextPageIcon.html" %} - -           - - {% include "partials/icons/svgNextPageIcon.html" %}{% include - "partials/icons/svgNextPageIcon.html" %} - - {% else %} {% include "partials/icons/svgLastPageIcon.html" %} -           {% include - "partials/icons/svgLastPageIcon.html" %}{% include - "partials/icons/svgLastPageIcon.html" %} {% endif %} -

    -
    -
    -
    -{% endblock content %} diff --git a/templates/shortcodes/grid_stats.html b/templates/shortcodes/grid_stats.html deleted file mode 100644 index 539583cd9..000000000 --- a/templates/shortcodes/grid_stats.html +++ /dev/null @@ -1,80 +0,0 @@ -{% set styles = "background-image: url('images/V3.png');" %} -
    -
    -
    - {{body | markdown | safe }} -
    - -
    - -
    - capacity -
    - -
    - -
    - nodes -
    - -
    - -
    - countries -
    - -
    - -
    - cores -
    -
    - - -
    -
    -
    - diff --git a/templates/shortcodes/grid_stats_expand.html b/templates/shortcodes/grid_stats_expand.html deleted file mode 100644 index 127c2b1d3..000000000 --- a/templates/shortcodes/grid_stats_expand.html +++ /dev/null @@ -1,82 +0,0 @@ -{% set styles = "background-image: url('V3.png');" %} -{% set data = load_data(url="https://gridproxy.grid.tf/stats?status=up", required=false, format="json") %} -{% if data %} -{% set capacity = (data.totalHru + data.totalSru) / 1024 / 1024 / 1024 / 1024 / 1024 %} -{% set nodes = data.nodes %} - {% set countries = data.countries %} - {% set cores = data.totalCru %} -{% endif %} - -{% if data %} -
    -
    -
    - {{body | markdown | safe }} - -
    - - - -
    - -
    - {{ capacity | round(precision=2) }}PB - capacity -
    -
    - - - -
    - -
    - {{ nodes }} - nodes -
    -
    - - - - -
    - -
    - {{ countries }} - countries -
    -
    - - -
    - -
    - {{ cores | num_format }} - cores -
    -
    - - -
    - - - -
    -
    -
    -{% endif %} - \ No newline at end of file diff --git a/templates/shortcodes/header_new.html b/templates/shortcodes/header_new.html deleted file mode 100644 index 9ee0649d2..000000000 --- a/templates/shortcodes/header_new.html +++ /dev/null @@ -1,20 +0,0 @@ -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Be the Internet

    -

    Host a node, support a decentralized future

    -

    By connecting a modern computer at your home or office to the ThreeFold Grid, you can provide Internet capacity to communities and builders, and be rewarded for doing this. Take part in shaping a new Internet era governed by all of us.

    - -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/templates/shortcodes/tft_links.html b/templates/shortcodes/tft_links.html deleted file mode 100644 index 20c17fb28..000000000 --- a/templates/shortcodes/tft_links.html +++ /dev/null @@ -1,26 +0,0 @@ -{% block content %} - - - -{% endblock content %} \ No newline at end of file diff --git a/vercel.json b/vercel.json deleted file mode 100644 index f91642efa..000000000 --- a/vercel.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "build": { - "env": { - "ZOLA_VERSION": "0.14.0" - } - }, - "github": { - "silent": true - }, - "headers": [ - { - "source": "/css/(.*)", - "headers": [ - { - "key": "Cache-Control", - "value": "public, max-age=2678400" - } - ] - }, - { - "source": "images/(.*)", - "headers": [ - { - "key": "Cache-Control", - "value": "public, max-age=2678400" - } - ] - }, - { - "source": "images/icons/(.*)", - "headers": [ - { - "key": "Cache-Control", - "value": "public, max-age=2678400" - } - ] - }, - { - "source": "/fonts/(.*)", - "headers": [ - { - "key": "Cache-Control", - "value": "public, max-age=2678400" - } - ] - } - ] -} \ No newline at end of file