Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
RapidWeaver Elements is a no-code website builder for macOS
RapidWeaver Elements (also called Elements) is designed for all skill levels. Whether you’re a beginner looking for simplicity or an experienced web developer who needs advanced customisation, Elements balances ease of use with powerful features.
RapidWeaver Elements includes everything you need to create a beautiful, modern website, with regular improvements shaped by our community.
If you’re new to Elements, the Quickstart Guide will help you build your first website.
Elements is a no‑code website builder for macOS that generates fast, modern, standards‑based sites.
Behind the scenes, Elements is powered by Tailwind CSS and AlpineJS, giving you a rock‑solid, modern foundation without requiring you to write code. The app builds a custom, minimal CSS bundle for each project in real time, so your sites stay lean and performant.
Elements works great for:
Personal and portfolio sites
Small business and client sites
Blogs and content‑heavy sites using the built‑in CMS
Long‑form content, digital gardens, and knowledge bases
Landing pages and marketing sites
If you want more detail on how Elements is structured under the hood, see Core Concepts.
You’re not on your own when using Elements. A friendly community and dedicated support team are here to help.
Browse common questions in the FAQ.
Follow the Support Guide for tips on reporting issues and getting them resolved quickly.
Join the Elements Community Forum to ask questions, share projects, and learn from other users.
Watch behind‑the‑scenes development in the regular Web Dev Talk series and other videos listed below.
Explore our collection of useful resources to help you build even better websites with Elements.
Elements requires macOS 13 Ventura or later
The demo mode in Elements lets you explore the full app and build up to three pages, giving you a feel for the design workflow and features. While export and publishing are disabled in the trial, everything else is fully functional, so you can see exactly how Elements works before committing.
When the download is complete double-click to unzip the file, then move Elements.app to your Applications Folder.
In order to run Elements you will need to meet the minimum requirements:
Requires macOS 13 Ventura or newer.
Apple Silicon or Intel based Mac.
Elements is built to work on all modern macs, so long as they meet the minimum requirements you'll be good to go.
The trial mode in Elements has the following limitations:
No publishing: You can’t upload or publish sites in trial mode.
No export: Exporting project files is disabled.
Maximum of 3 pages: You can only add up to three pages per project.
Should you have any questions about installation or registration you can post on the Elements Support Forum and someone from the team will get right back to you.
Adjust anchor scrolling speed with the Smooth Scroll JavaScript library
To control the timing and easing when scrolling to an anchor, use the Smooth Scroll JavaScript library.
To add Smooth Scroll to your project, place the following code in your project's Template, immediately before the closing </head> tag.
<!-- Load the Smooth Scroll library -->
<script src="https://cdn.jsdelivr.net/gh/cferdinandi/smooth-scroll@15/dist/smooth-scroll.polyfills.min.js"></script>
<!-- Initialize Smooth Scroll -->
<script>
document.addEventListener('DOMContentLoaded', function () {
var scroll = new SmoothScroll('a[href*="#"]', {
speed: 1000
});
});
</script>Note the speed option in the docs say this:
[speed] is a number representing the amount of time in milliseconds that it should take to scroll 1000px. Scroll distances shorter than that will take less time, and scroll distances longer than that will take more time. The default is 300ms.

Add space above an anchor destination when visitors follow a link
If you need/want your Anchor link to stop (or leave some space) before a Component on the page you can use the Scroll Padding Tailwind Utility class.
Place the following class scroll-mt-[300px] in the CSS Classes box under Advanced on the Component you're scrolling too. This class will set a offset of 300px, but you can change it to the pixel value you require.

Reset Elements by clearing its application preferences
To reset Elements, remove the preferences file by following these steps.
To clear the preferences automatically, hold down the Option key and choose Help → Clear Application Preferences.
Build your own space on the web that you fully own and control
A digital garden is a personal online space where you cultivate and organise your thoughts, ideas and knowledge over time. Unlike a traditional blog, a digital garden is dynamic and non-linear, allowing its content to grow continuously. It gives you space to explore interlinked topics, make connections and develop ideas organically, away from the constraints of typical social media platforms.
RapidWeaver Elements is the perfect tool to build your own Digital Garden.
Gardening is about claiming a small patch of the web for yourself, one you fully own and control.
This patch should not live on the servers of Facebook, LinkedIn, Twitter, Instagram (aka. also Facebook), or Medium. None of these platforms are designed to help you slowly build and weave personal knowledge. Most of them actively fight against it.
If any of those services go under, your writing and creations sink with it (crazier things have happened in the span of humanity). None of them have an easy export button. And they certainly won't hand you your data in a transferable format.
Read the full article over on maggieappleton.com
You deserve a home on the World Wide Web that’s built to keep you safe; a magical place for virtual living that‘s yours for life, existing in a sociable web. Read the full article over on Muni Blog.
Chris Biscardi describes his site as a digital garden where some posts are sketches or works in progress while others are complete. Explore the garden on christopherbiscardi.com.
Compare Elements with Stacks, Blocs, WordPress and other website builders
Whether you’re coming from Stacks, Blocs or WordPress, Elements combines the flexibility of code with the simplicity of visual editing. These comparisons explain what to expect, how to recreate common setups and where the Elements workflow differs.
From familiar layout patterns to modern web standards, you’ll find cleaner ways to build with fewer dependencies.
Choose a comparison below to get started.
RapidWeaver Elements vs BlocsSwitching to ElementsRapidWeaver Elements vs StacksRapidWeaver Elements vs WordPressReuse complete layouts with Templates and linked Globals
Templates and Globals both help you reuse groups of components, but they solve different problems.
Best for
Starting a new layout quickly
Repeating content across several pages
Connection after adding
Independent copy
Remains linked
Later edits
Affect only that copy
Can update every linked instance
Common examples
Hero sections, feature grids, forms
Menus, headers, footers, announcements
Templates are reusable starting points. After adding one to a page, its components become an independent layout that can be changed without affecting the original Template or other copies.
Globals remain linked wherever they are used. Update the Global once to keep shared structures and content consistent throughout the project.
Use a Template when each copy should evolve independently. Use a Global when every instance should continue sharing the same source.
Build and test the component layout on a page.
Decide whether future copies should remain linked.
Save independent starting points as Templates.
Save site-wide or repeatedly maintained content as Globals.
Preview changes on every page where the layout appears.
Components for text, images, audio, video and other page content
These components add the primary written and visual content to a page.
Publishing playable audio and playlists.
Presenting a collection of images.
Adding a responsive image resource.
Showing several images in a visitor-controlled slider.
Writing structured content with Markdown syntax.
Adding scalable vector artwork and icons.
Adding editable body content.
Applying structured article typography to content.
Publishing local or hosted video.
Add descriptions, captions, transcripts, and semantic headings wherever the media needs an accessible text equivalent.
Display the fixed “Made in Elements” badge
The Elements Badge component displays a small “Made in Elements” badge in the bottom-right corner of the published page. The badge links to the Elements website and adapts to light and dark mode.
You’ll find Elements Badge under Utility in the Components list.
Drag Elements Badge onto the page.
Preview or publish the page.
Confirm that the badge appears in the bottom-right corner and does not cover important controls or content.
The badge appears after a short delay and remains fixed to the viewport.
Elements Badge has no configurable Inspector settings.
The badge includes an accessible label and opens the Elements website in a new browser tab. Check that it does not obscure other fixed interface elements, especially on small screens.
Button — Creates a fully customisable call-to-action link.
~/Library/Containers/com.realmacsoftware.rapidweaverelements/Data/Library/Preferences/com.realmacsoftware.rapidweaverelements.plistFrequently asked questions about RapidWeaver Elements
Welcome to the official FAQ for RapidWeaver Elements. This resource is designed to provide you with clear and concise answers to the most common questions.
Whether you’re just getting started or you’re an experienced user, our goal is to make sure you have all the information you need to build stunning websites with confidence.
Choose the perfect Elements license for your needs
Elements offers flexible licensing options for casual users, hobbyists, professional web designers and teams.
Each license includes:
Unlimited websites
Templates, Themes, and Components
One year of updates
Installation on up to three Macs simultaneously per user license
1 GB of cloud storage for projects while the license is active
Unlimited support by email and through the forum
Continued use of the latest eligible version if the subscription expires; resubscribe to receive later updates
Every Elements license includes everything you need to build a website, with a few key differences between plans.
.
The Plus license is designed for users who need or want more than the Base license but don’t require the full commercial permissions of the Pro license.
The Base license allows three Custom Components per project. Plus and Pro allow an unlimited number of Custom Components per project.
The Base license allows two Globals per project. Plus and Pro allow an unlimited number of Globals per project.
The Base license places a small floating badge in the corner of the published website. Plus and Pro do not add visible Elements branding.
An active Pro license is required for developing and selling websites to third-party clients.
With the Plus license, your sites are free from any Elements branding. This allows for a more professional and polished look, whether you’re building personal projects, websites for friends, or community sites.
Beyond branding, Plus also unlocks additional features, including unlimited globals and unlimited custom components, giving you more flexibility in designing and managing your websites. While this license allows for a wide range of non-commercial use, it does not permit selling websites to clients.
If you ever decide to take on paid web design work, upgrading to Pro ensures you have the proper license for commercial projects.
An active Pro license is required for those using Elements as a professional tool. It ensures that as a Pro user you have everything you need to meet the demands of client work, from the freedom to sell websites to the reliable support and advanced features required to excel in a competitive market.
The Pro license pricing reflects the added value, flexibility, and commercial rights that the Pro license provides compared to the Base license.
The Pro license includes additional developer tools for building Dev Packs.
Resell Websites and Client Projects — An active Pro license is required to develop and sell websites to third-party clients. It is intended for freelancers, agencies and anyone who builds websites as part of a business.
The Base license is meant for personal projects or hobbyists, while the Pro license is designed for freelancers, agencies, and businesses who are making money from reselling websites.
Priority Support — Pro users receive priority assistance to help keep client projects moving.
If you have further questions about licensing, email .
Step-by-step guide to building your first website in Elements
Follow our step-by-step guide to building your first website in Elements.
New to the terminology? Read alongside this guide. When you are ready for a more detailed walkthrough, continue with .
If you’re new to Elements, this five-minute video shows you how to build a page using Templates and explore a ready-made project.
This walkthrough was written by Tom Hogan on the Elements Forum — Thanks Tom 👋
In a new blank project:
Choose your fonts (family and sizes).
Establish your brand colours and add other colour choices if necessary.
Choose your breakpoint sizes.
These are all design choices, but defining them in the theme early will prevent inconsistencies later. Explore other websites and the free Elements projects for ideas.
On your home page, create a Menu, Container and Footer. Refine the menu and footer, then convert them to Globals. If every page will use the same Flex or Grid structure inside the Container, add that too.
Establish your basic page structure (you can add to it later) with blank pages that are named (home, blog, gallery, contact, etc.). You can add sub-pages later. Add the Header/Container/Footer construct to each page.
Add the SVG, JPG, PNG and other assets you expect to use. Organise Resources with a folder structure that reflects your pages, such as /resources/images/page/resource.xxx.
Use lowercase names for files, folders, pages and resources. Avoid spaces; use hyphens between words instead.
While the following video does not cover every feature, it provides a high-level overview of the app’s layout and workflow. You’ll see how to add components, navigate the editor and begin building a website.
Use this as a quick tour of the basics before exploring the rest of the manual.
Elements includes a selection of free, ready-made projects. Use them to launch a site quickly or learn by exploring how their pages were built.
Prepare and optimise media for the web before importing it, particularly video, audio and high-resolution images. Uncompressed or oversized files can increase the project size and slow down both Elements and the published website.
We recommend:
Compressing images with tools such as Squash, TinyPNG or ImageOptim.
Optimising videos as MP4 (H.264), reducing their resolution or bitrate where appropriate.
Hosting large files externally, including video, audio and PDFs, then linking to their URLs. This keeps the project smaller and easier to manage.
We also run a dedicated hosting service built specifically for Elements websites. No unnecessary complexity. Just fast, reliable hosting that works flawlessly and gets out of your way. .
Building real-world websites using Elements
The Let’s Build series of tutorials walks you through building real-world websites using Elements. Each tutorial breaks down a popular design or layout you might find online and shows you how to recreate it step-by-step inside Elements.
Whether you’re looking to sharpen your design skills, learn new layout techniques, or see how Elements handles different styles of sites, these tutorials are a great place to start.
If there’s a specific website, layout, or design trend you’d like to see us cover in a future tutorial, visit the Elements Forum and share your ideas. We’re always open to community suggestions!
Practical tutorials for common website-building tasks in Elements
These practical guides show how to solve common design and website-building tasks in Elements. Start with the general tutorials, or choose a focused recipe below.
How-to Tutorials — Quick answers to common layout and design questions.
Create a Card — Build a flexible card from standard components.
Site Banner with Text — Place text over a background image.
Add an Icon Inside a Button — Add and animate an icon within a Button.
Build a Sticky Menu — Keep a menu visible and optionally change it while scrolling.
Apply Anchor Scroll Padding — Leave space above an anchor destination.
Adjust Smooth Scroll Speed — Customise anchor scrolling with JavaScript.
Add Snow to Your Website — Build a configurable snow effect as a Custom Component.
The and references explain the settings used throughout these tutorials.
Quick web design tutorials for Elements
The following tutorials answer many common design questions for people who are new to Elements.
👉 You can find even more tutorials on our YouTube channel.
To change the alignment of a built-in component, use the Margin setting under the Spacing control. Watch the video below to learn how to align an object, including how to centre it.
The following tutorial shows you how to make a two-column layout in Elements using either the Flex or Grid component.
In this tutorial, you’ll learn how to design a bold, eye-catching photo header or banner using Elements. We’ll walk through adding background images, adjusting overlays, and layering text to create a professional hero section that captures attention right from the top of your page.
The responsive breakpoint system in Elements allows you to change component properties at different user defined breakpoints (i.e. Mobile, Table, Desktop, etc).
On the first “mobile” screen size you do not have any blue dots. As you move up to the next size (SM) you'll see grey dots beside the controls in the Component inspector. If you click on a grey dot (to turn it blue) you can override the setting for that control. Once you add a blue dot you will have that setting for everything above. It’s always left to right.
Watch the video below to see how this works in practice.
You can use a to add html code snippet anywhere on your website or page.
If you’d like to track traffic or integrate services like Google Analytics or Google Tag Manager, you’ll need to add their code snippets to your project. Where you add the code depends on whether you want it to apply to all pages or just one. You can of this manual.
To add a video header in Elements you’ll need to drop in a Container component, point it at your MP4 file, and then layer your text, buttons, or other components on top. This gives you a high-impact hero section that loads quickly and works across all modern browsers. Watch the video below to learn more.
Anchor tags let you create links that jump directly to a specific part of a page. This is useful for long pages where you want to give visitors a quick way to navigate to key sections. Watch the video below for a step-by-step walkthrough.
Quickly create and design a profile card using the built-in Scaffolding Templates.
To hide and show components at different breakpoints you'll need to use the responsive design system built-in to Elements.
Layout > Display > Hidden (toggle).
In this video we show you how to design a decorative divider using just the flex and divider components.
The decorative divider is built entirely from standard Elements components, no custom component is required.
Container
Flex
Divider
Divider or SVG
Divider
Add a Container to control the divider’s overall width and vertical spacing.
Place a Flex inside it.
Set the Flex direction to Row, alignment to Centre, width to Full, and wrapping to No Wrap.
Add three Divider elements to the Flex.
Use the first and third Dividers as the horizontal rules. Give them the same theme-backed background colour and leave their borders disabled.
For the centre Divider:
Remove its background.
Enable a solid border.
Use the same colour as the outer rules.
The two outside Dividers expand into the available space, while the centrepiece retains its natural size. This creates two balanced rules without requiring fixed widths.
For an illustrated variation, replace the middle Divider with an SVG element. Select an SVG resource, give it a fixed theme width, and apply the same theme colour used by the rules.
The SVG file should not contain a hard-coded fill colour, allowing Elements to apply the selected theme colour.
The Flex remains on one line while the two rules automatically shorten on narrower screens. Keep the centrepiece relatively small so the rules remain visible on mobile devices.
Because the divider is purely decorative, its outer Container should normally render as a div, rather than a header or another landmark element.
Add and animate an icon inside a Button component
This short tutorial will show you how to add and animate an icon inside of a button.
During the winter you might want to add snow to your website…
Adding a snow effect can bring some festive character to your website. This tutorial shows you how to create a lightweight snow animation using JavaScript in Elements.
The completed project file is included below for your convenience.
Links to the resources used int he Tutorial:
Snowstorm JS Script by Scott Schiller: https://www.schillmania.com/projects/snowstorm/
To create the Custom Component shown in the tutorial, copy and paste the following code into the Template and Properties areas in Elements.
Place the following code in your Template:
@portal(headEnd)
<script src="https://cdnjs.cloudflare.com/ajax/libs/Snowstorm/20131208/snowstorm.js" integrity="sha512-N8H1tAcm2/wJx02Q3FznOerQj4sFIdQJpmntt0/7ufMLh8dH1DFf7Zss+lbL7JwtYJuGVV+cVmWOdTA4x2lOTg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
snowStorm.flakesMaxActive = {{snowAmount}};
snowStorm.followMouse = {{followMouse}};
</script>
@endportal
Place the following code into the Properties:
{
"groups": [{
"title": "Snow Settings",
"properties": [{
"title": "Amount",
"id": "snowAmount",
"format": "{{value}}",
"slider": {
"default": 50,
"min": 0,
"max": 512,
"round": true
}
},
{
"title": "Follow Mouse",
"id": "followMouse",
"responsive": false,
"switch": {
"trueValue": "true",
"falseValue": "false",
"default": true
}
}
]
}]
}
How to make a sticky menu and change its visual properties on scroll
To make a menu sticky, you need to put the menu and all contents in a container (site wrapper) along with making the following changes to the menu settings:
Layout > Position set to Sticky.
Layout > Z-Index > Custom set to 100.
Layout > Type > Uniform > Inset 0.
Watch the following tutorial to see how to build a Sticky Menu, along with adding a drop shadow and frosted glass effect.
In this advanced tutorial, we use JavaScript to adjust the appearance of the menu as the visitor scrolls down the page.
You can click here to open the Space Demo Project in Elements.
Adding and Removing Standard CSS Classes:
<script>
const menu = document.getElementById('fancymenu');
window.addEventListener('scroll', () => {
if (window.scrollY > 800) {
menu.style.setProperty("width", "100%");
menu.style.setProperty("height", "80px");
menu.style.setProperty("margin-top", "0");
menu.style.setProperty("background", "#ffffff");
} else {
menu.style.removeProperty("width");
menu.style.removeProperty("height");
menu.style.removeProperty("margin-top");
menu.style.removeProperty("background");
}
});
</script>Adding and Removing Tailwind Classes:
<script>
const menu = document.getElementById('fancymenu');
window.addEventListener('scroll', () => {
if (window.scrollY > 500) {
menu.classList.add('w-auto');
menu.classList.remove('w-[1000px]', 'mt-10');
} else {
menu.classList.add('w-[1000px]', 'mt-10');
menu.classList.remove('w-auto');
}
});
</script>Create a website banner with a background image and overlaid text
The following tutorial shows you how to create a website banner with a background image and overlaid text.
Design and build a flexible card layout in Elements
This tutorial will show you how to design and build a flexible card for use on your website.
Discover why Elements is a modern way to build websites on your Mac
RapidWeaver Elements is a modern, Mac-native way to design, build and publish websites.
Static Website Benefits — Learn why static sites can be fast, secure, portable, and straightforward to host.
Build a Digital Garden — Create a personal space for connected ideas and evolving content.
We listen to our community of passionate users and use their feedback to help shape Elements.
Regular builds and development videos keep the community informed.
Owning a website helps you participate in the independent web instead of relying entirely on social media.
Static websites are fast, secure and easy to host, while PHP remains available when you need it.
An active, supportive community can help with questions and ideas.
Friendly product support is available when you need it.
Be part of the independent web. Own your content.
Realmac Software has always been an independent company and has never taken outside investment. For more than 20 years, we have remained privately owned, customer-funded and customer-focused.
We believe the web should remain open and independent. When you publish something on the web, it should , not a corporation. By joining the and using , you retain control of your content.
You can publish in the format that suits your content and share clear links such as example.com/ideas. These links can remain as your site evolves.
Take back control and build your next website with on macOS.
Maintaining my own personal website has been one of the most amazing, challenging, rewarding, growth-promoting, time-consuming, and adventurous experiences of my life.
The internet sucks now--but it doesn't have to.
You already have a social media account. But you should also have a personal website.
Benefits of using a static site generator like Elements
RapidWeaver Elements is a powerful static website builder (local CMS system) that perfectly balances simplicity with professional-grade capabilities. Its intuitive drag-and-drop interface eliminates the need for coding knowledge, while still providing users with complete control over their design choices. With a rich selection of professionally designed templates and a streamlined publishing process, RapidWeaver Elements makes it possible for anyone to create stunning websites.
What truly sets RapidWeaver Elements apart is its commitment to generating optimised, clean HTML that delivers fast loading times and supports strong search engine rankings.
By using Elements, you maintain full ownership of your content and hosting choices, free from platform lock-in. This combination of user-friendly features, professional output, and creative freedom makes Elements an excellent choice for anyone looking to build a modern, efficient static website.
Continue reading to learn why RapidWeaver Elements can be a better choice than an online CMS such as WordPress.
Static websites are pre-built HTML files that remain unchanged until manually updated. They're like a perfectly printed book - the content is fixed, polished, and ready to be viewed instantly.
Data-driven websites, on the other hand, generate pages dynamically by pulling content from databases when visitors request them. This is like having to assemble a book every time someone wants to read it.
Complexity: Data-driven websites require complex setup including configuring database servers, implementing server-side programming languages, setting up API endpoints, managing database connections, and coordinating between front-end and back-end systems.
Slower Performance: Each page must be generated on-demand, requiring database queries and server processing.
Higher Costs: Database servers and more powerful hosting are required to handle dynamic content generation.
Static websites eliminate these drawbacks by serving pre-built content, resulting in faster, more secure, and more reliable websites that are significantly easier to maintain.
Speed and Performance Static websites load incredibly fast since they don't require server-side processing or database queries. Pages are pre-rendered and served directly to visitors, resulting in lightning-quick load times.
SEO Benefits
Search engines can easily crawl and index static content, potentially leading to better search rankings. The fast load times also contribute to improved SEO performance.
Enhanced Security
The variety of websites you can build with RapidWeaver Elements is completely open, and we like to think you can build pretty much anything with it. However, there are some types of websites that lend themselves to being static:
Company Websites: Small to medium-sized business websites.
Documentation Sites: Technical documentation, API references.
Portfolio Websites: Personal or professional portfolios.
Move from WordPress to Elements
While WordPress is a popular option for building websites, Elements offers a faster, cleaner, and more focused experience, especially if you care about design quality, performance, and control.
Here's a high-level overview of why moving your Wordpress site to Elements is a smart move.
Elements outputs static HTML, CSS, and JavaScript for standard pages, with no database or server-side processing required. Dynamic features such as Forms and Elements CMS require compatible PHP hosting.
Say goodbye to plugin clutter, complex dashboards, and security patches. Elements gives you everything you need to design and build a beautiful site without relying on third-party add-ons.
Moving from RapidWeaver Classic? We'll walk you through it, one step at a time, at your pace.
This guide will help you migrate successfully from RapidWeaver Classic to RapidWeaver Elements.
Elements is a fresh, modern way to build websites, but you are not starting over. Most of what you already know still applies; Elements simply offers a more modern workflow. This guide brings together everything you need to make the move.
Elements also includes many new features and improvements to the RapidWeaver experience. Once you become familiar with the workflow, building and maintaining websites becomes much easier.
Moving from RapidWeaver Classic? We will guide you through the process one step at a time and at your own pace. The guide contains four sections that you can explore as you learn Elements. Our in-depth manual and videos can then help you discover more of its features.
The videos in this guide are slower and more detailed than our general tutorials, giving new users time to follow along and understand each step. If you get stuck, , where we are always happy to help.
There is always a learning curve when moving to new software, and the transition from Classic to Elements is no different.
Elements uses new names for concepts you probably already know. For example, stacks become components and partials become Globals. Read the Phrasebook for a quick translation guide.
A slower-paced video series that assumes no prior knowledge. Build your first project, style it, make it responsive and publish it from start to finish. .
Ready-made projects covering the types of sites people build most often. Open the one closest to yours, follow along and make it your own.
Move an existing Classic project into Elements. The guide explains what carries over, what doesn’t and how to handle the remaining work.
RapidWeaver Classic isn’t going anywhere. Your existing sites will keep working, and you can continue using Classic while you learn Elements. Move at your own pace, one project at a time.
If you are struggling to recreate a specific website or layout, . Share a screenshot or describe what you need, and we’ll guide you towards a suitable solution in Elements.
New words for things you already know
Elements is a completely new website builder, so some of the common phrases used in RapidWeaver Classic have changed. Much of what you learned in Classic still applies, but it now goes by a different name.
This page provides a quick translation to help Elements feel more familiar.
In Classic, you dragged stacks onto a Stacks page to build it. In Elements, you do the same thing with components: drag them in, stack them up and nest them inside each other.
The mental model is the one you already have. What's genuinely new: components are built into Elements rather than bought and installed one by one, and they're more consistent with each other because they come from one place.
This is the biggest shift. In Classic, a theme decided how your whole site looked, and you worked within it. In Elements, you're more directly in control of styling.
You can build your design with the built-in Components and Templates, then change its overall style in Theme Studio. This gives you far more flexibility than Classic themes.
For example, you can change colours or fonts throughout your entire site using Theme Studio.
The Inspector is still the Inspector.
Stack
Component
The building blocks of a page
Partial (stacks)
Global
Learn more about switching from Classic to Elements
Switching from Classic to Elements might feel like a big step, but the improved performance, future-proof tools and enhanced creative freedom make it well worth the journey. The supportive Elements community is here to help you every step of the way.
For a limited time, you can
The video below will give you a good overview of how Classic and Elements differ. We'll walk you through each difference to help you get more comfortable building websites in Elements.
If you have Elements installed already, you can open the Elements Demo Project featured in the video above.
The following video is a more direct look at how the Stacks plugin in RapidWeaver Classic compares to the Components in Elements. If you are currently using Classic + Stacks we'd highly recommend watching this video.
Over 1,000 Classic users have already made the switch to Elements, here's just a small sample of what they're saying.
"I have been on the beta for some time and I must say that going back to RapidWeaver Classic and Stacks every now and then to do updates etc on sites developed there, seems as if one is going back in time somehow.
Elements is truly forming to be an incredible web design app and I am excited for what is still coming! Keep up the great work Team Realmac!" — Gunther Schenk
I used RapidWeaver Classic for years, invested a lot (!) of money in frameworks, cms solutions and 3rd party stacks which all had a different way to name or sort their settings. That already drove me nuts.
There’ll sure be some 3rd party additions to Elements, but even in its current state it can do more than I was able to do with RW Classic + Foundry + easyCMS + lots of 3rd party stacks or even Blocs. Yes, there’ll be a learning curve, but it’s worth it.
I could’ve stayed with Classic, but being forced into the terrible UI/UX from Stacks to create a website… no way. And even more so if you switch back from Elements (or blocs, where I now come from) to RW classic and stacks. I can’t imagine that for the life of it.
Give it a try. You won’t be disappointed, and the forums and especially the developers offer a ton of help if you get stuck. — Fynn via the Forums.
"I'm planning on writing up a report on building out this new site as it was a real revelation what you can accomplish with Elements. The quality of the sites is so much higher than when I was dealing with Stacks.
For one of the projects I was extracting a lot of content out of a Classic/Stacks project and it was amazing how painful it was after working with Elements for these last 9 months.
You should be really proud with what you are creating it is amazing." — Robin Muir
This is the web design tool I have been dreaming of for over 20 years! Finally it appears my dream is becoming a reality! I am currently building a large website for a client using RapidWeaver classic and the stacks plug in and it is a daily struggle with these antiquated tools! Sometimes it is so incredibly frustrating when I am trying to accomplish what I thought was a simple task which becomes a three day ordeal just to try and get the stack to perform what I have envisioned. The constant back and forth between edit and preview is enough to make you want to pull your hair out!
I am genuinely excited to leave Stacks behind and begin designing professional sites in Elements! — @RockNRollSoul69 via YouTube
"'After many years of building websites using Rapidweaver Classic, I eagerly anticipated the release of Elements, the next-generation website builder. The two-way engagement has been a refreshing experience. The support provided by the Realmac team has been exceptional, exemplifying how to effectively interact with customers." — Steve Woodgate
"Elements is a huge leap up from RapidWeaver Classic. It’s so cool to design a website where all the basic design stuff is right there in the app, without having to use third-party add-ons. The ability to quickly make custom components is a huge plus. The beta has been a refreshing experience because the development team has been super open, flexible, and very responsive to our feedback." — Jon
"I discovered RapidWeaver through a monthly Dutch Mac magazine, and it has since become my most-used app. In my spare time, I volunteer to build websites for smaller organizations.
Inspired by the weekly developer videos and forum discussions, I started experimenting on my own in Elements. With the help of AI, I’ve been able to achieve solutions that, as someone with no programming background, I never thought possible. I’m now creating my own components for Elements that previously required me to purchase Stacks in RapidWeaver Classic." — Bart Vosters
.
Customise the Elements user interface to the way you work
Elements gives you full control over your workspace so you can set things up exactly how you like to work. Rearrange panels, resize the inspector, collapse areas you don’t need, or spread everything out across multiple monitors. Your layout is saved automatically, so when you reopen Elements it looks just the way you left it.
Whether you prefer a minimal setup with just the essentials, or a fully expanded view with every panel visible, the workspace adapts to your workflow. It’s designed to get out of your way and let you focus on building your site.
Manage the structure of your website
Easily manage the structure of your website. Create pages and folders and drag to re-arrange them just like you would in the Finder.
To create a new page, press Command-N or use the "+" symbol to the right of the Pages title.
To add other file types or folders, right-click inside the page list.
To create a file in your project, right-click in the Page Manager and choose New File.
Add links to your site structure. To Create a link page, right-click in the Pages area and select "New Link" from the menu.
To create a Markdown file with optional front matter, right-click in the Page Manager and choose New Markdown File.
Folders are a useful way to organise site content when you don’t need a top-level page. They can contain any number of pages or additional folders.
To create a folder, right-click in the Pages area and select New Folder from the menu.
Add, organise and manage the files used by your website
Resources include the images, fonts, documents, media and folders used by your website. You can manage them directly in RapidWeaver Elements.
Open Resources in the left sidebar, then drag files or folders from Finder. Elements preserves their structure and names in the project and its exported output.
The resources you add will be copied and stored inside your project.
Elements accepts all file types and folders in Resources, with additional support for certain formats:
Images — PNG, SVG, JPG and other web formats
View, search and manage the component structure of a page
The Node Browser lets you view and manage the entire structure of a page. It is especially useful for intricate designs and larger, more complex pages.
To filter down to specific Components you can use the search field, located at the bottom of the Node Browser.
The Node Browser has the following options when right-clicking on a Component in the Node Browser.
Modify the properties of the selected component
The Component Inspector in Elements lets you edit the properties of the currently selected component. When you click on a component in your design, its available settings appear in the Inspector, giving you full control over how it looks and behaves.
The Inspector is context-aware, meaning the options change depending on which component you have selected. This keeps the interface clean and ensures you only see the settings that are relevant.
When you change any value within a group, the group title highlights using the system accent colour. This makes it easy to spot which settings have been modified on a component at a glance.

You can reset an individual control by right-clicking it and choosing Reset to Default.
To reset everything in a group back to its defaults, right-click the group heading and choose Reset Group to Defaults.
To change the display modes in the Component Inspector, right-click on a heading and choose from the following options:
Expand All - Will expand all settings.
Collapse All - Will collapse all open settings.
Single Group Mode - Switching to the single group mode only allows one setting area to be open at a time.
When in Single Group mode the only option available in the right-click menu is switch back to default mode:
Single Group Mode (ticked) — Untick this option to return to the default mode and view multiple settings at the same time.
Use Apple Intelligence Writing Tools in RapidWeaver Elements
We’re thrilled to share that Elements now supports Apple Intelligence in its Text based Components, giving you a powerful, seamless way to enhance your writing workflow. Whether you’re crafting headings, paragraphs, or rich text blocks, these AI-powered tools are designed to make writing faster, smarter, and more intuitive.
You can now effortlessly generate, refine, and polish your content right within Elements. Need a quick draft to kickstart your creativity? Want to rephrase a sentence or simplify a technical explanation? The Apple Intelligence writing tools are here to help with just a click or tap.
With these new capabilities, you’ll spend less time worrying about wording and more time bringing your creative vision to life. We’re excited to see how these tools help you express yourself more clearly and efficiently.
Use templates to build your website in minutes
Templates are groups of components arranged to create a design or layout. Once you add a template to a page, you can customise it without affecting the original.
The Core pack inside of Elements includes a selection of useful layouts for everyday web design, including menus, hero banners, layouts, forms, and more.
Templates are like blueprints: a quick way to drop in a ready-made layout or design made of Components.
As soon as you add a Template to your page, it becomes a standalone set of components, completely independent from the original template.
Create linked groups of components that update throughout your website
Globals give you the power to create reusable linked (and customisable) groups of components to maintain a consistent design language across your entire site.
You can reuse Global blocks throughout your site, updating the content in one place and automatically applying the change to every instance. This is particularly useful for shared headers and footers.
Templates are similar to Globals, but there is one important difference: Templates are single-use and are not linked. Globals remain linked, making them ideal for shared menus and footers that need to update throughout your site. Learn more about Templates.
You can take Globals even further by overriding content and design aspects on an individual instance. You might have a banner that you want to use on every page of your site and you'd like the design to be consistent. You can use the override feature to customise the text and background image on each instance. You can even override the design settings on certain instances.
Global Templates help ensure the design for you website is modular, reusable, and consistent.
Once you learn how to use the power of Globals, you’ll wonder how you ever built websites without them.
There are a number of ways to turn a group of Elements into a Global. Right-click an element in the Editor or Node Browser and select "Convert to Global".
To unlink a group of Elements on a page, right-click on the Global in the Node Browser and choose "Unlink from Global".
When working with Elements, you can nest different Globals within each other to create complex structures. However, it's important to note that you cannot nest the same Global within itself. This restriction is in place to prevent potential issues such as infinite loops, system errors, or a rip in the time-space continuum.
Browse the components available for building pages in Elements
Components are the building blocks used to create pages in Elements. Drag them onto the canvas, add content, and customise their appearance and behaviour in the Inspector.
The included collection is organised by purpose below. Store Components are installed separately, while Custom Components and the Elements API let developers create their own building blocks.
Many components share controls for layout, sizing, spacing, typography, backgrounds, transitions, effects, filters, transforms, borders, and advanced settings.
.
The Elements Store provides additional free and paid components that install into Elements.
.
If you know some HTML, you can create project-specific components with editable content, dropzones, Inspector controls, styles, JavaScript, and build-time hooks.
or open the .
Components for controlling page structure, alignment and responsive layout
Layout components create the structure that holds and positions the rest of your content.
Start with Container for most page sections. Use Flex for one-dimensional alignment and Grid when rows and columns both matter.
Display images in a swipeable, responsive slider
The Image Slider component presents a folder of images or a CMS gallery as a touch-friendly slider. It supports autoplay, slide or fade transitions, multiple visible slides, arrows, and pagination dots.
Use an image folder from Resources or a CMS gallery field. The images in the selected source become slides automatically.
You’ll find Image Slider under Media in the Components list.
Drag Image Slider onto the page.
Choose Resource or CMS as the source.
Select the image folder or CMS field.
Configure playback, transition, and visible slides.
Choose the image ratio and style the pagination controls.
Type
Resource — Uses an image folder from Resources. This is the default.
CMS — Uses a CMS Gallery field or a custom field.
For Resource, select Images. For CMS, choose Gallery or Custom under Field. When Custom is selected, enter the field name; the default is custom_field.
Auto Play is off by default. When enabled:
Interval sets the time between changes in milliseconds and defaults to 3000.
Pause on Hover pauses playback while the pointer is over the slider. It is off by default.
Transition chooses Slide or Fade. The default is Slide.
Duration sets the transition time in milliseconds and defaults to 500.
Visible Slides is available for Slide transitions, ranges from 1 to 12, and defaults to 1.
Padding controls space around the slider and defaults to theme spacing 2 on every side.
Aspect Ratio offers Auto, Square, Landscape, Portrait, or Custom. Auto is the default. Custom reveals a ratio field, which defaults to 5/7.
Radius and Shadow style each image.
Arrows are enabled by default. Set their Size, Radius, and Normal or Hover background and icon colours.
Dots are enabled by default. Set their Size, Spacing, normal Color, and Active Color.
Use meaningful image metadata in Resources or your CMS. Do not rely on autoplay to communicate essential information, and keep arrows and dots visible against every slide.
Use consistent image dimensions: Similar source ratios reduce cropping surprises.
Pause interactive sliders: Enable Pause on Hover when autoplay is active.
Tune visible slides responsively: Show fewer slides on narrow screens.
— Displays a complete image grid with a lightbox.
— Slides any combination of Elements components.
Components for navigation, disclosure, actions and interactive content
These components help visitors move through the site, reveal content, and perform actions.
Showing collapsible groups of content.
Showing the visitor’s position in the page hierarchy.
Creating a clear action or destination.
Presenting several component-based slides.
Revealing a menu or compact group of choices.
Building the site’s primary navigation.
Opening focused content in a dialog.
Showing content in response to an interaction.
Switching between related content panels.
Keep controls keyboard accessible, use clear labels, and ensure hidden content can be reached and understood without relying on hover alone.
Reveal links, actions, or custom content from a compact trigger
The Dropdown component reveals custom content when a visitor interacts with its trigger. It is useful for navigation choices, action menus, and contextual information that should remain hidden until needed.
The trigger and panel are both drop zones, so you can build them from Text, Button, SVG, or other suitable components.
You’ll find Dropdown under Interactive in the Components list.
Drag Dropdown onto the page.
Add the visible trigger content to the trigger drop zone.
Add the hidden menu or content to the panel drop zone.
Enable Panel → Show while editing the panel.
Choose the panel placement and transition.
Disable Show and preview the interaction in a browser.
Show displays the panel in Edit mode. It is off by default and does not force the panel open on the published page.
Vertical places the panel below or above the trigger. The default is Bottom.
Horizontal aligns the panel to the Left, Center, or Right of the trigger. The default is Center.
Style chooses None, Fade, Zoom, Slide Left, Slide Right, Slide Up, or Slide Down. The default is Fade.
Duration sets the animation length in milliseconds and defaults to 300.
Use a clear, focusable trigger such as a Button. Keep interactive controls inside the panel keyboard accessible, and do not rely on hover alone to communicate essential information.
Use Show only for editing: Turn it off before testing the published interaction.
Check page edges: Change Horizontal alignment when the panel would otherwise overflow the viewport.
Keep menus concise: Large or complex content is usually better suited to a Modal.
— Displays larger content in an overlay.
— Builds navigation automatically from your site pages.
Display focused content in an overlay above the current page
The Modal component displays content above the current page with a configurable backdrop. It is useful for forms, announcements, image or video presentations, sign-up prompts, and other content that needs temporary focus.
A Modal has separate trigger and content drop zones. Add a Modal Close component anywhere inside the content to give visitors an explicit way to dismiss it.
You’ll find Modal and Modal Close under Interactive in the Components list.
Drag Modal onto the page.
Components for structured, filtered and dynamically sourced content
These components organise repeated information or display content from structured sources.
Introducing content managed through Elements CMS.
Choose the component whose structure matches the meaning of the content rather than using layout components to imitate lists or tables.
An overview of the Markdown-based CMS for RapidWeaver Elements
Elements CMS adds structured, dynamic content to RapidWeaver Elements websites without requiring a database. Content is stored in portable Markdown files with YAML front matter, so it can be edited, moved, backed up, and version controlled without being locked into a proprietary format.
Use it to create blogs, portfolios, knowledge bases, team pages, product listings, client-managed websites, and other content-driven sections.
This page is an overview. For installation, system requirements, Markdown formatting, components, templates, pretty URLs, and troubleshooting, see the full Elements CMS documentation.
Read the Full CMS Documentation
Elements CMS requires a web server running PHP 8.4 or newer with the mbstring extension enabled. Pages that use CMS data must have their page extension set to .php.
Confirm that your hosting meets the current before building or publishing a CMS-powered site.
Add the CMS components you need to an Elements page.
Point them at a folder containing Markdown files.
Create and edit content as Markdown, or use the browser-based Online Editor.
Publish the site and let the CMS components display, filter, search, and paginate the content.
Each Markdown file can contain a YAML front matter header for structured information such as its title, date, tags, author, image, or other custom fields. The body contains the main content.
Blogs and articles — Publish posts with structured metadata, tags, authors, related content, and feeds.
Portfolios and listings — Present projects, products, people, or other collections in filterable layouts.
Knowledge bases — Create searchable documentation and support libraries.
Content remains readable and editable outside Elements CMS.
Plain files are easy to back up, move, and manage with Git.
There is no database to configure, export, or maintain.
Visit the for an overview of components, use cases, the Online Editor, and available plans.
Use the when you are ready to install the CMS or configure a website.
Components for decorative treatments, branding and visual effects
These components add visual treatments or specialised presentation to other content.
Applying perspective and three-dimensional transforms.
Creating a dedicated visual background layer.
Displaying the Elements branding badge.
Clipping content into a custom shape.
Use effects to support the page hierarchy and interaction. Avoid motion or decoration that makes content harder to read or operate.
Configure a Fastmail app password for Form email delivery
Fastmail requires an when the Form component connects to its SMTP service. Do not enter the password used to sign in to Fastmail.
Open Fastmail Settings → Privacy & Security.
Under Connected apps & API tokens, choose Manage app passwords and access, then New app password.
Learn the Inspector controls shared by built-in components
Common Controls are reusable Inspector groups that behave consistently across built-in components. Learning them once makes it easier to size, position, style, animate, and link components throughout a project.
The available groups depend on the selected component. Some components use a specialised variant with different defaults—for example, Image starts at 100% width, while a general component starts at Auto.
Many values are responsive. When a control supports breakpoints, set the Base value first and add overrides only where the design needs to change.
Theme values use colours, spacing, typography, shadows, and borders defined in Theme Studio.
Custom values accept valid CSS values where the control provides a manual mode.
Responsive controls can be overridden at different breakpoints.
State controls let you edit Static, Start, End, Normal, Hover, or other states without changing the state visitors initially see.
Conditional controls appear only after the related feature is enabled or a compatible Type or Style is selected.
Individual component pages document any specialised defaults or behaviour that differs from these shared guides.
Global design elements like headers and footers.
Master Style
Theme Studio
Change colours, fonts and more, throughout the site.
Plugins
Page or File
More flexible pages
Link
Layout
Sizing
Spacing
Typography & Text Styles
Backgrounds
Transitions
Effects
Filters
Transforms
Borders
Advanced
Security Vulnerabilities: Databases and server-side code create additional attack vectors for hackers.
Maintenance Headaches: Regular database maintenance, backups, and security updates are necessary.
With no database or server-side applications to exploit, static sites are inherently more secure. There are fewer vulnerabilities and attack vectors for malicious actors to target.
Cost-Effective Hosting static websites is significantly cheaper since they require minimal server resources. Many platforms offer free hosting for static sites, and scaling costs remain low even with high traffic.
Reliability Static sites are more reliable because they have fewer points of failure. Without databases or complex server configurations, there's less that can go wrong.
Portability Static sites can be hosted anywhere and easily moved between hosting providers, giving you maximum flexibility and avoiding vendor lock-in.
Event Websites: Conference or event sites.
Personal Websites: Hobbies, niche interests.
Digital Garden: Your very own corner of the internet.
This Page is Under Construction A love letter to the personal website.
Container, Divider, Flex, Grid, and Text Wrap
Audio, Gallery, Image, Image Slider, Markdown, SVG, Text, Typography, and Video
Accordion, Breadcrumbs, Button, Content Slider, Dropdown, Menu, Modal, Reveal, and Tabs
CMS, Filter, Filter Tags, List, Table, Top Pages, and Tree
3D Transform, Background, Elements Badge, and Mask
Form structure, fields, submission, success, error, and email delivery
The components supplied with Elements use the same API available to third-party developers. Their source is a useful reference when you are ready to build complete Element Packs.
Showing content that matches a selected filter.
Providing the controls used to choose filters.
Presenting ordered or unordered items.
Displaying information in rows and columns.
Listing pages from the project hierarchy.
Presenting nested information or navigation.
Yes, but you'll need to do some work. It can bring over the page structure and settings from your Classic project, but content import is less reliable because many page types cannot be mapped directly to Elements components. You can learn more about it in the Import Classic Projects section.
No, both versions of RapidWeaver will coexist as they cater to slightly different customer needs.
RapidWeaver Classic continues to serve customers who maintain and build websites using legacy plugins and add-ons. We will continue to develop and update RapidWeaver Classic to support this workflow. RapidWeaver Classic requires macOS 10.14 (Mojave) or later.
RapidWeaver Elements represents our vision for reimagining web design on the Mac. It makes building no-code websites easier and more powerful than ever.
No, but Elements differs from Classic because it includes everything you need to build a complete website. If you need a feature that is not built in, a thriving community of third-party developers now builds and sells add-ons for a wide range of requirements.
Global content — Make frequently updated text, images, and other site content editable online.
Apply the Full border-radius token to create the rounded medallion.
If you plan to use Elements CMS, add the required folders and files, then add Posts and Authors pages to the structure created in step 5.
Design with the built-in components and any add-ons you need. A mobile-first workflow is often easiest: begin at the smallest screen, then add breakpoint overrides as the available space increases.
Add your final page and CMS content. Placeholder text can help you concentrate on the design before the copy is ready.
Preview the entire site and check every page.

Standard Elements pages do not rely on PHP, MySQL, or a continuously running CMS backend, so they have a smaller attack surface. Forms and Elements CMS use PHP when published, but the CMS stores content in portable Markdown files rather than a database.
Elements was built with designers in mind. The UI stays out of your way, giving you precise control over layout, spacing, and style, all while using clean, readable Tailwind-based markup under the hood.
Standard sites do not need a database or a specialised hosting environment. If you use Forms or Elements CMS, choose hosting that meets their PHP requirements.
Host your Elements site on GitHub Pages, Netlify, Vercel, or even your own server. It’s completely portable and doesn’t tie you to any one platform.
Moving from WordPress to Elements is a great way to simplify your website, speed things up, and take full control of your design. Here’s a simple guide to help you make the switch smoothly.
Start by taking stock of your WordPress site:
What pages do you need to keep?
Are there blog posts, galleries, or contact forms you want to migrate?
Do you rely on any plugins for core functionality?
This helps you plan your new site structure in Elements without carrying over clutter you no longer need.
If your WordPress site has a blog or lots of text content, you can:
Copy and paste content manually (best for small sites)
Or use the WordPress Export Tool to download your content as XML, which you can use as a reference
Elements doesn’t import WordPress content directly, but it gives you full flexibility to recreate it in a more lightweight, modern format.
Use Elements to rebuild your site from the ground up:
Create pages to match your old structure (or improve it!)
Use Components to add text, images, links, forms, and more
Apply theme colours and fonts for a consistent look
Think of this as a chance to declutter and modernise your design.
Many features handled by WordPress plugins (like contact forms, SEO tags, or social embeds) can be done natively in Elements:
Forms → Use the built-in Form Component
SEO → Add custom meta tags in the Page Settings
Analytics → Add Google Analytics or Tag Manager using the Template or Page Code areas
Comments → Consider using a service like
Once you're happy with the rebuild:
Choose a static host or your own server for standard sites. Forms and Elements CMS require compatible PHP hosting.
Use the built-in publishing tools in Elements to upload your site
Double-check everything’s working, especially links and forms
Once your Elements-powered site is live, the complexities of WordPress will officially in your rear-view mirror.
Migrating gives you a fresh start and a faster, lighter, more future-proof website. If you run into any snags along the way, we’re always here to help.
Fonts — WOFF, WOFF2 and TTF
YouTube URL — Individual videos and playlists
Vimeo URL — Individual videos and playlists
When publishing, Elements converts resource filenames to lowercase and replaces unsupported characters or spaces with a hyphen. For example:
my~file.png would become my-file.png.
my file has spaces.png would become my-file-has-spaces.png.
myFile.png would become myfile.png.
Many Linux and Unix web servers treat File.jpg and file.jpg as different files. Windows and macOS file systems are often case-insensitive, so a mismatch may work locally but produce broken links after publishing.
Using lowercase filenames avoids these differences between hosting environments.
Add a YouTube or Vimeo video by dragging its URL from your browser into Resources. Playlist URLs are also supported.
Elements stores the video URL rather than downloading the media.
You can also right-click the Resources heading and select Add Remote Resources.
Add font files to Resources, then use the Resource Info panel to define the weight and, if required, width of each file. These fonts work with Font Family in Theme Studio.
Open the Resource Info panel to inspect a file. You can leave the panel open while browsing Resources.
You can change details such as:
Filename (all file types)
Caption (images)
Alt Text (images)
Author (images)
Link URL (all file types)
Right-click in Resources and select New Folder.
Right-click in Resources and select Add Remote Resources.
You can add one or more remote URLs at a time. Place each remote resource on a new line. The Remote Resources window also supports multiple Vimeo and YouTube URLs.
Resources use manual ordering. To arrange the current contents of a folder, right-click it and choose a Sort option. New or moved items will not be sorted automatically.
A-Z (Ascending)
Z-A (Descending)
Newest First
Oldest First
All resources added to a project will be included when publishing or exporting your website.
If a warning triangle appears instead of a thumbnail, Elements could not generate a preview for that file. The most common cause is an unsupported or invalid format.
Elements will still export the file when publishing, even if it cannot generate a thumbnail.
Edit the title of the selected Component.
Duplicate
Duplicate a single component and/or all sub components.
Duplicate without Content
Will duplicate the selected Component without any of the Child components.
Convert to Global
Convert the current selection into a .
Unlink from Global
Unlink the current selection from a .
Select Similar
Will select all matching Components in the Node Browser.
View Help…
Opens the default System browser with the Help page for the selected Component.
Remove
Deletes the currently selected Component.
As well as dragging and dropping, you can use keyboard shortcuts to move components in the Node Browser. Watch the video below to learn more about this advanced feature:
The following is a list of keyboard shortcuts for moving nodes within the Node Browser and Editor.
Select Previous Sibling
Option+Up arrow
Select Next Sibling
Option+Down arrow
Select Parent
Option+Up arrow
Components can be dragged and dropped from the Node Browser to the Editor and vice versa. Components can also be dropped directly into the Node Browser.
Rename
Right clicking on the Page Title at the top of the Component Tree gives you a list of available pages you can switch too.
Enable Settings → Show while building the modal content.
Add content to the modal and include a Modal Close component.
Configure placement, transition, and overlay.
Disable Show and preview the open and close behaviour in a browser.
Show displays the modal in Edit mode. It is off by default and does not force the published modal to remain open.
Auto Open
Never — Opens only from its trigger. This is the default.
Page Load — Opens when the page loads.
After Delay — Opens after the specified number of Seconds.
Exit Intent — Opens when pointer movement suggests the visitor is leaving the page.
Seconds appears for After Delay and defaults to 0.
Style offers Fade, Zoom, Slide Left, Slide Right, Slide Up, or Slide Down. Fade is the default.
Duration sets the animation length in milliseconds and defaults to 300.
Cursor controls the pointer shown over the trigger: Default, Pointer, Help, or Zoom In. Default is selected initially.
Horizontal places modal content at Start, Centre, or End and defaults to Centre.
Vertical uses the same positions and also defaults to Centre.
Color defaults to Surface 50 and Opacity to 15%. Blur softens the page behind the modal.
The Modal Close component closes its parent Modal when activated. Its Cursor can be Default, Pointer, or Zoom Out and defaults to Default.
You can add more than one Modal Close component—for example, an icon in the top-right and a Cancel button below a form.
Provide an obvious close control, keep it keyboard accessible, and use a clear heading inside the modal. Do not open non-essential modals automatically on every visit.
Use Show only while editing: Disable it before testing the real interaction.
Keep content focused: A modal should have one clear purpose.
Test small screens: Ensure the content fits and the close control remains visible.
No matter how much (or how little) you customise it, it’s not linked to the original anymore.
Changing the original template (from a Template Pack) will not affect anything you’ve already added to your site.
You’re free to modify it as much or as little as you want, once the template is dropped into your site think of it as a copy, not a link!
Want content to stay in sync across pages? That’s where Globals come in!
Templates can support many types of components, including:
Built-in Components
Third-party Components
Custom Components
Globals
Resources (as part of the components)
To create a Template, drag a collection of Components from the Editor or Node Browser into the Project Templates area.
You can right-click on a Template to re-name it, or create a new folder for organisation.
To build a Template Pack that is available in all projects and distributable on the Elements Store you'll need to create a new Dev Pack. This can be done from the Addons tab in the app Settings window.
You can learn more about creating Template Packs in the Elements Language section of the manual.
Globals are similar, but very different to Templates. Templates are single use and not linked. Where's Globals remain linked and are perfect for making changes across your entire site, perfect for shared menus and footers. Learn more about Globals here.
Choose Custom, enter a recognisable name, give it Mail or SMTP access, and generate the password.
Copy the generated password. Fastmail may show it only once.
In Form → Settings:
Keep Type set to Email.
Set Host to smtp.fastmail.com, Port to 465, and Encryption to SSL. Alternatively, use Port 587 with TLS.
Enter the complete Fastmail email address as Username.
Paste the app-specific password into Password.
Use an address authorised by that Fastmail account as From Address.
Enter the recipient under To Address.
Publish the site to a PHP-enabled server and complete a real submission. Forms cannot send from the normal local preview.
If authentication fails:
Confirm that the app password was created for SMTP.
Remove accidental spaces before or after Username and Password.
Confirm the Host, Port, and Encryption values against Fastmail’s current server settings.
Make sure From Address is permitted by the authenticated account.
Generate a new app password if the original was revoked or lost.
For additional help, post the error and relevant non-sensitive log details on the Elements Forum. Never publish the app password.
Fastmail Basic plans do not include SMTP access and cannot create app passwords. Use a plan that supports third-party email clients.

If your question is not answered below, please post on our Community Support Forum. We aim to reply within 48 hours, although it is often much sooner.
Yes! You can download a free trial of Elements from our website.
You can purchase Elements via our website.
When you purchase Elements, you should receive an order confirmation email containing your license number within five minutes. The email is sent by our payment provider from mailer@fastspring.com. If you cannot find it, one of the following may have happened:
The email went to your spam folder.
You entered your email address incorrectly during the purchase.
First, check your spam folder for messages from Realmac Software or .
If you still cannot find the email, contact . Include your name, email address and approximate purchase date to help us find the order.
If you've lost your license, visit our License Manager and use the automated system to help find your previous purchases.
If you’ve tried using our license manager and are still having issues, please email support@elementsplatform.com, and we’ll get you back up and running.
Be sure to check your spam folder too.
If your question was not answered above or you need clarification, post on the Elements forum. Following our Support Guide will help the community resolve your issue more quickly.
You can do this easily by adding a link to some text, a button, or whichever element you want. When setting the link, select the file from your resources and add a custom attribute called download. This attribute will prompt the browser to download the file, not open it.
Elements offers three license options: Base, Plus and Pro. Choose the plan that best fits your needs, whether you are a casual user, hobbyist, professional web designer or part of a team.
Every Elements license includes everything you need to build a website, but there are a few key differences. See License Types for details.
Elements uses a yearly subscription for app updates. When you purchase an Elements license from our website, you receive the Mac app and one year of updates. The license itself does not expire, so you can continue using the latest version covered by your update period even if you cancel.
Please note the following:
Subscriptions automatically renew unless you cancel them.
If you cancel, your one year period of app updates will remain active until the next renewal date.
You can .
Yes! We offer a 30-day money-back guarantee.
If you've purchased Elements from us and are not happy, let us know within 30 days, and we'll issue a refund for you.
Forwarding your original email receipt will help us find and process the purchase more quickly, although it is not required.
Send this email to support@elementsplatform.com.
We generally issue refunds within 48 hours (often quicker).
You don’t need to include a reason, but we really appreciate your feedback to help us improve Elements.
When you open Elements for the first time, a welcome screen appears. Click Continue.
Next, create an Elements Cloud account. Enter your email address and click Send Sign-in Link.
You will receive a sign-in link from noreply@elementsapp.cloud. If it is not in your inbox, check your spam folder. Click Verify Account in the email, or enter the code manually.
Next, activate your Elements license. The license key is in the email you received after completing your purchase.
Enter the email address used for the purchase and your Elements license key, then click Activate.
Elements is now activated and ready to use.
If you have access to the activated copy of Elements:
Open your registered copy of Elements.
Choose Elements → Registration…
Click Deactivate under Activations (1 of X).
Confirm your decision.
You can now use the same license to register the app on another Mac.
If you do not have access to your old Mac, you can still manage activations in the Registration window. Choose Elements → Registration… to view and deactivate registered Macs.
If you see the following "Unable to Activate" message, it may mean your license was entered incorrectly, or Elements is having trouble validating it over the internet.
Email your license details to support@elementsplatform.com and we can check whether they are valid. If the license is valid but still will not activate, try the following:
Check you don't have iCloud Private Relay or a VPN running.
Check that you have not installed anything that blocks or tracks network traffic, such as Little Snitch.
Reboot your Mac.
Try activating your license on another Mac.
Try activating your license on another network, such as a mobile hotspot.
Try starting your Mac in Safe Mode. Follow this .
Trying out the above will help you narrow down the problem and determine if your Mac or network is causing the issue.
First, make sure you are running the latest version of Elements.
The first thing to check is that your license number is correct. You'll often see this error if the code is slightly wrong or missing a digit.
If you have confirmed that your license code is correct, try the following steps:
Launch Elements and choose "Registration…" from the "Elements" menu.
If required, deactivate your Mac using Activations (1 of 2). Elements should become unregistered.
Restart your Mac.
Launch Elements.
Open the Registration window again, click Activate License… and enter your license details.
You should now be up and running.
If you're still having issues, you can email , and we'll be able to help you out.
You'll see this message if you're trying to activate a newer version of Elements that was released after your subscription period ended.
If your subscription has expired and you try to use a version released after your update period, the Update Period Expired window appears. You can renew to use the newer version or download an older version covered by your previous update period.
Elements shows the latest version you can use beneath Renew License. Click the version to open the release notes and download it.
Our Billing Manager lets you check your subscription status, change payment details and cancel your subscription. You need access to the email address used for the purchase.
If you no longer have access to the email address, contact support@elementsplatform.com, and we'll be able to help you directly.
You can cancel your subscription at any time through the Billing Manager.
We offer a 30-day money-back guarantee from the date you initially purchase a license for our software. During those initial 30 days, you can cancel your subscription and request a refund with no questions asked.
Subsequent annual subscription renewals are not refundable under our 30-day money-back guarantee, and cancelling does not refund unused time in the current update period.
Hopefully this day will never come, but if you need to cancel your subscription for one of our apps, visit the Billing Manager page.
You can view your order history in our Billing Manager.
On the Billing Manager sign-in page, enter the email address used to purchase Elements and click Continue. If the sign-in email does not appear in your inbox, check your spam folder.
In that email, click on the link "Click here to manage your orders."
Once signed in, open the Orders tab to view previous orders, license keys and invoices, or download the latest versions of our apps.
If you no longer have access to the email address you used when making your purchase, or you can't remember it, please so we can help you regain access to the Billing Manager.
You can update your payment method and/or address information by logging into our Billing Manager.
On the Billing Manager sign-in page, enter the email address used to purchase Elements and click Continue. If the sign-in email does not appear in your inbox, check your spam folder.
In that email, click on the link "Click here to manage your orders."
Once signed in, open Account Details and Payment Methods. Here you can add or remove payment methods and edit your name or address.
It is not possible to update your email address information via the Billing Manager. If you need to update your email address, please so we can help you with that.
It's not currently possible to update your email address via our Billing Manager.
If you need to update your email address, please email us at support@elementsplatform.com and we can get that changed for you.
Learn how the Elements design system works
Before diving into building your first site, it helps to understand the core concepts that make up Elements. These ideas form the foundation of how the app works and give you a shared language when reading this manual.
You’ll learn about Projects, Templates, Themes, Components, and Globals, what each one does, how they fit together, and why they matter. Once you’re familiar with these terms, you’ll be able to navigate Elements more confidently and build sites that are consistent, flexible, and easy to maintain.
Elements uses a consistent design system to keep everything predictable and easy to work with. Whether you’re building a single landing page or a large multi-page site, the same set of terms and tools apply throughout the app.
This section introduces the key concepts you’ll come across: Projects, Templates, Themes, Components, and Globals. Each plays a specific role in how your site is structured, styled, and maintained. Once you understand the difference, you’ll be able to work faster and keep your designs consistent.
A Project is your entire website bundled into one file. It can include multiple pages and all the assets needed for a site. Projects are a great way to kick-start a new build, as they provide a complete setup rather than just a single page layout.
Themes control the overall look and feel of your site. Fonts, colours and general styling are all defined here. Switching themes can instantly give your site a new appearance while leaving the content unchanged.
The core Components inside elements represent the basic building blocks of a webpage; they are at the foundation of your page design. They include things like containers, grids, headings, text, and buttons. They are singular items, like Lego bricks.
Some of the more advanced components go beyond the basics; these include things like menus and galleries.
are groups of components arranged to create a design or layout. Once you add a template to a page, you can customise it without affecting the original.
The core pack inside of Elements includes a selection of useful layouts for everyday web design, including menus, hero banners, layouts, forms, and more.
You can learn more about .
(or Globals as they are often called) are user created groups of components. Globals can help maintain a consistent design language across your entire site.
You can reuse global blocks across your site, update the content in one place and have it automatically mirrored to every other instance. This is particularly useful for header and footer sections.
You can take Globals even further by overriding content and design aspects on an individual instance. For example, you might have a banner that you want to use on every page of your site, and you'd like the design to be consistent. You can use the override feature to customise the text and background image on each instance. You can even override the design settings on individual instances.
You can .
Use Projects when you want a full website starter.
Use Themes when you want to change the overall design style.
Use Components as the reusable building blocks of your pages.
Elements takes a mobile-first design approach. Mobile has now surpassed desktop in global internet usage. Google has switched to mobile-first indexing. That’s why Elements takes a mobile-first approach to website design to ensure your sites work better and rank higher in search results.
While it may feel more natural to some designers to start from a larger, desktop layout and scale downward, CSS doesn’t support a true “desktop-first” cascade. There’s no native way to define base styles at the largest breakpoint and then override them on smaller screens without introducing redundancy or conflicts in your code.
Mobile-first design ensures your site is accessible, performant, and adaptable on all devices, starting from the smallest screen up. Once you get comfortable with this approach, it often leads to cleaner, more maintainable layouts.
We recommend designing at the mobile breakpoint first, and working your way up through the breakpoints to support larger screens.
Elements uses the popular alongside , making it easier to build modern, responsive websites. Standardising on the frameworks used by Elements helps third-party components work consistently across your projects.
Elements builds a custom version of Tailwind CSS in real time.
As you add, remove, or modify any components and content in your project, Elements generates the required CSS, and only the required CSS. Elements does not load Tailwind from a CDN. Doing so would have severely limited what we are able to do from a design and theming perspective.
To reiterate, all CSS generation happens in real-time as you edit your project. It’s truly amazing once you start working with it.
This setup ensures that Elements produces the smallest amount of CSS possible, as it only generates the CSS you are actually using in your project.
The way Elements generates CSS for you means there is no need for each developer to write and ship the same CSS over and over again. Elements offers you a modern, reliable, flexible design system that both developers and end users can utilize.
The design system in Elements allows the app, third-party developers, and end users to all create code, components, and content separately but still maintain consistency from a design/theming perspective.
Diagnose and resolve problems publishing your website
Can’t get your website online or updated? Publishing problems are often caused by incorrect connection details. Every setting must match the information provided by your hosting company.
If you need to get an update online urgently, export your website and upload it with a standalone FTP client. After uploading the site manually, contact us so we can help resolve the publishing issue in Elements.
Enter your connection details in a third-party client to verify that they are correct. and are both suitable for this test. If you cannot log in with a third-party client, your connection details are probably incorrect. Contact your hosting company to verify them. If you can log in successfully, export your site to a local folder and upload it with the FTP client as a temporary workaround.
By far the most common cause of publishing issues is that the credentials entered are not accurate. It’s incredibly important that you double-check the details you’ve entered. To view your configured publishing details, choose File › Publishing Settings (Command-K). Check that all the fields are entered correctly: Server Address, Username, Password, Path, etc. An incorrect Path is a common cause of publishing problems. Common site paths include:
/
httpdocs/
www/
public_html/
You can always use the “Browse” button inside the publishing settings to pick the correct path on your server.
Paths vary between hosts, so consult your host’s documentation to find the correct upload folder. You can also contact your host to check whether its server settings have changed and whether your account has enough storage space.
Elements provides several publishing options, particularly for FTPS. Check which settings your server requires, as some hosting providers use specific configurations. Elements cannot reliably detect every FTP setting. If you are unsure, contact your hosting company. If you think it's all set up correctly, try this next:
If your host limits the number of connections that can be made to your server, you can set Elements to use fewer connections when publishing. If in doubt, set this to 1. To do this, open Elements Settings and set Maximum Concurrent Uploads to 1 before publishing your project again. If that didn't help, it's time to try something completely different:
If you're having issues publishing via FTP, we recommend publishing via SFTP as this is often more reliable (and secure).
Contact your hosting company to check your SFTP details as they can often be slightly different to your FTP details.
If your credentials work in another FTP app but not in Elements, delete the publishing destination and add it again. This ensures that all the saved details are current and verified. If you are comfortable using your hosting control panel, you could create a new FTP account and test it. Otherwise, move on to the next troubleshooting step.
This issue is common, especially when publishing multiple websites to the same server. Project backups can accumulate over time and use all the available server space. If the server is out of space, Elements may report “Couldn't upload to your FTP server”. More information may include “Transferred a partial file” or “Operation was aborted by an application callback”. If you see these errors, sign in to your hosting account and compare the available space with your current usage. You can delete older project backup files to make room for new uploads. If you are unsure, ask your hosting provider how much space you are using and how much remains available. Once you have enough space, you should be able to resume updates to your website.
Choose File › Re-Publish All Files to upload the entire site again. Some files may be missing from the server. You may also need to clear your browser history and website data because the browser could be displaying an older cached version.
Some hosts require an upload path that begins with a forward slash. Only include one when your hosting company specifies it.
Elements can create a detailed publishing report that the Realmac Software support team can use to identify potential problems. Open Elements Settings, select Publishing and enable Upload Logging.
Follow these steps to send your publishing logs to us:
Quit Elements.
Reopen your project in Elements.
Choose File › Re-Publish All Files.
If publishing returns an error, click
If you see an error when exporting your site, there may be a problem with an add-on or resource in the project. If the error consistently occurs on a particular page, check it for missing resources or add-ons that may be causing the problem.
When contacting Realmac Software, please include as much detail as possible. Please also use the Help menu’s Copy Support Logs. Please be sure to include the following details in your message:
Who are you hosting your website with?
Which version of Elements are you using? Which version of macOS is running on your Mac?
How large is your Elements project file?
We aim to reply to all messages within two business days. We know it is frustrating when you cannot publish, and we will do our best to help resolve the issue.
We also run a dedicated hosting service built specifically for Elements websites. No unnecessary complexity. Just fast, reliable hosting that works flawlessly and gets out of your way. .
Import your RapidWeaver Classic project into Elements
The Classic Project Importer is an experimental feature. It can bring over the page structure and settings from your Classic project, but content import is less reliable because many page types cannot be mapped directly to Elements components.
This is an experimental feature! Please read the full document before importing a project.
Keep in mind this tool is designed to help you move content across, not to recreate your site’s design. You will need to rebuild the layout and styling using Elements components. Think of it as a way to save time copying text, images, and page structures rather than a one-click migration.
If you’re planning a move from Classic, we strongly recommend reading the rest of the documentation to understand how Elements works, what can be imported, and what you’ll need to redesign.
Watch the videos below to learn more about importing Classic projects into Elements.
To import a RapidWeaver Classic project, launch Elements and choose File › [Beta] Import Classic Project….
Elements will import all important site information including:
All pages, including file names, browser titles, page names and folder names
Page-level scripts
Meta information
SEO information
Text from Styled Text pages is placed in Typography components, while images are placed in Image components.
These pages will be converted into code pages.
Elements imports photos from each Photo Album page, places them in a folder within Resources and creates a page containing a Photo Gallery component.
Elements imports Stack pages and does its best to preserve content from popular stacks and frameworks. The importer transfers content but does not reproduce the styling of the original page.
Elements imports all Stack page resources, then removes duplicate files to make the project and published site smaller.
Elements currently imports raw text and image content from a predefined list of stacks. Content is imported with minimal properties and does not retain colours, links or other styling.
Elements will attempt to import content from the following stacks. Unknown stacks will be converted into named Containers.
Text > Text
Markdown > Text
HTML > Text
Header > Text
Button > Button
Container > Container
Vertical Center > Container
Header > Text
Container > Container
Columns Grid
Col > Container
Header > Text
Container > Container
Column stacks > Grid
Grid stacks > Grid
Header > Text
Create visual separation between sections of a page
The Divider component creates a simple line or coloured block between sections of your website. Use it to organise content, strengthen visual hierarchy, or add a decorative break.
You’ll find Divider under Utility in the Components list.
Drag Divider between the sections you want to separate.
Set its width and height.
Choose a colour, gradient, or image background.
Adjust spacing and borders to match the surrounding layout.
Width controls the divider’s horizontal size and defaults to Auto.
Height controls its thickness and defaults to theme spacing 0.5.
Style chooses the divider fill:
Color — Uses a theme colour. This is the default.
Image — Uses a resource image.
Gradient — Blends two or three theme colours.
The controls shown below Style change to match the selected background type.
Use Spacing to add margin or padding around the divider. Borders can add a border style, width, colour, opacity, and radius.
Use a Divider for presentation rather than as the only indication that content has changed topic. Keep meaningful section headings in the page structure.
— Groups a section and can apply backgrounds, borders, and spacing.
— Creates larger decorative background areas with optional angled edges.
Apply a Theme Studio typography style to long-form content
The Typography component is designed for long-form, structured content containing headings, paragraphs, lists, links, quotes, and other text elements. It applies one Theme Studio typography style across the entire content block.
Use Typography when you want consistent editorial styling without configuring each text element independently.
You’ll find Typography under Content in the Components list.
Drag Typography onto the page.
Add or edit the long-form content inside the component.
Choose a Theme Studio typography Style.
Select the semantic HTML tag that best describes the block.
Adjust shared sizing, spacing, background, borders, and effects if required.
Style selects a Typography style from Theme Studio and defaults to Article. The style controls the appearance of headings, paragraphs, lists, links, and other nested text.
Tag sets the semantic wrapper and is not responsive. Options are Article, Section, Aside, Main Content, Header, Footer, Div, and Span. Article is the default.
Choose the tag for meaning rather than appearance:
Article — Self-contained editorial content.
Section — A thematic section of a page.
Aside — Supporting or secondary content.
In Typography → Advanced, add these classes:
This styles links inside lists used within the Typography component.
Keep heading levels in a logical order and choose a semantic wrapper that matches the content. Link text should describe its destination without relying on surrounding text.
— Writes and renders long-form content using Markdown syntax.
— Gives precise styling control over individual headings and short text blocks.
Collect a date and optional time
Date Picker provides a formatted date field with a calendar interface. It can also collect a time.
You’ll find Date Picker under Forms in the Components list.
Place Date Picker inside a Form.
Enter a unique Name.
Choose the Date Format.
Enable Time if required.
Add a whose For value matches the Name.
Publish and test keyboard entry and calendar selection.
Name is blank by default. If left blank, Elements creates a generated name.
Required is off by default.
Date Format is not responsive and defaults to Y-m-d, displayed as 2026-02-26. Other formats are:
m/d/Y — 02/26/2026
d/m/Y — 26/02/2026
Enable Time is off by default. Enabling it appends a 24-hour hours-and-minutes value to the selected date.
Placeholder defaults to “Select a date…”.
Placeholder Color defaults to Text 400.
Input Color defaults to Text 50.
Font defaults to Body and Size to Base.
Type defaults to None and can be Static or Focus. Focus provides Unfocused and Focused states.
Outline defaults are Solid style, Surface 500 colour, 100% opacity, width 1, and offset 0.
The field uses the shared Input sizing and spacing defaults: 100% width, Auto height, zero margin, and padding 2 vertically and 3.5 horizontally.
Add a Label, preserve a visible focus state, and choose a date format familiar to the intended audience. Visitors can type directly into the field as well as use the calendar.
— Collects text and other single-value fields.
— Associates visible text with the Date Picker.
— Configures delivery and validation.
Display an automatically updated list of top-level pages or folder contents
The Top Pages component automatically creates a list of site pages. Use it for simple navigation, a sitemap, or a set of links that stays in sync as your page structure changes.
You’ll find Top Pages under Navigation in the Components list.
Drag Top Pages onto the page.
Choose all top-level pages or select a folder.
Set the direction, alignment, justification, and gap.
Choose whether to show page icons and titles.
Style the title’s Default and Active states.
Show
Top Level Pages — Lists all pages at the root of the site. This is the default.
Folder — Lists the pages inside the selected Folder link.
Direction displays links Horizontally or Vertically and defaults to Horizontal.
Align controls cross-axis placement and defaults to Centre. Justify controls main-axis placement and defaults to Start. Gap defaults to theme spacing 4.
Icons
Show — Displays each page’s icon. It is off by default.
Layout — Arranges the icon and title horizontally or vertically.
Alignment — Positions the icon at Start, Centre, or End.
Page Titles
Show is enabled by default. Font defaults to the Body font and Size to Base. Weight defaults to 400, letter spacing to Normal, and Italic is off.
Use State to style Default and Active titles independently. Configure Color, Opacity, Shadow, and Underline for each state.
Use descriptive page titles and preserve a visible active state. Page icons should support the title rather than replace it unless their meaning is unambiguous.
— Provides full responsive site navigation.
— Displays expandable multi-level navigation.
— Shows the current page’s position in the site.
Link a component to a page, resource, anchor, email address, or website
The Link control makes a supported component clickable. Elements tracks internal pages, anchors, and resources so their published destinations stay current when the project changes.
Choose To or Choose Link… to open the Link panel. An unset link is the default. Use the Clear button to remove an existing destination.
Available link types include:
URL — Links to an external URL. Entering an email address creates a mailto: link.
Plain — Uses the entered destination without Elements resolving it; useful for specialised or generated URLs.
Page — Links to a page in the project.
Anchor — Links to a component ID on a selected page.
Resource — Links to a file stored in Resources.
Entering an email address creates a mailto: destination. Test it in a browser because the visitor must have an email application configured.
Where the Link panel provides Custom Attributes, add a Name and Value for attributes such as:
Use one rel attribute with space-separated values when more than one relationship is required, for example nofollow noreferrer.
Select the destination component.
Enter a unique value under Advanced → ID.
Open the Link panel on the source component or selected inline text.
On the same page, the published destination uses a fragment such as #about-section.
Use link text that describes the destination. Avoid making a Container clickable when it contains Buttons, links, form fields, or other interactive controls.
Learn how to report an issue and get effective support
If you encounter a bug or something doesn’t seem to be working correctly in Elements, we’d love to hear about it. You can check our for common questions, but the best place to get support is the , where our team and other users can offer help and advice.
— Diagnose common publishing and upload problems.
— Reset application settings when the app is not behaving as expected.
A practical comparison for choosing the right Mac-native visual website builder.
Both and are Mac-native visual website builders that export real website files. They share a similar goal, but they’re built on different foundations and tend to suit different workflows.
This comparison focuses on the day-to-day differences that matter when you’re building, maintaining, and scaling websites over time.
Choose RapidWeaver Elements if you want:
A modern workflow with a built-in design system (Theme Studio).
Learn more about the Elements WYSIWYG Editor
RapidWeaver Elements includes a powerful built-in WYSIWYG (What You See Is What You Get) editor, so you can design your site visually in real time. Whether you’re an experienced web designer or just getting started, you’ll feel at home with its intuitive, Mac-like interface.
The editor is designed to be both versatile and approachable. If you’re a professional, you’ll get the precision and flexibility you need to bring detailed designs to life quickly. Tweak your layout, typography, and styling on the fly, and see the results exactly as they’ll appear when your site is published.
If you’re new to web design, Elements keeps things simple without getting in your way. The streamlined editing experience uses familiar tools and controls, so you can start building straight away. Every change is shown instantly on the canvas, removing guesswork and making the whole process feel fun and straightforward.
With the WYSIWYG editor you can focus on design, not code. And when you do need to look under the hood, Elements has you covered with seamless switching between the visual editor and any custom HTML or CSS you choose to add.
Build responsive two-dimensional layouts with CSS Grid
The Grid component creates responsive layouts with defined columns and rows. It is ideal when content needs to align in two dimensions, such as card grids, galleries, feature comparisons, and structured page sections.
👉🏻 that was used in this video.
You’ll find Grid under Layout in the Components list.
Drag Grid onto the page.
Flow text around a transparent or rectangular image
Text Wrap places an image to the left or right of its child content so text flows around it. With a transparent PNG, WebP, or SVG, the text can follow the visible shape instead of the image’s rectangular bounds.
You’ll find Text Wrap under Layout in the Components list.
Drag Text Wrap onto the page.
Place one or more Text or Typography components inside it.
Build a responsive image and video gallery with a lightbox
The Gallery component turns a Resources folder into a responsive media grid with optional captions, author information, and a full-screen lightbox. It can combine images, YouTube and Vimeo links, and MP4 video, or build the grid from a Remote Folder of images already on your web server.
JPG
PNG
Write and render structured content using Markdown syntax
The Markdown component renders standard Markdown inside an Elements layout. It is useful for documentation, articles, technical content, and text written outside Elements.
Markdown content inherits a Theme Studio Typography style, keeping headings, paragraphs, lists, links, and code visually consistent.
You’ll find Markdown under Content in the Components list.
Drag Markdown onto the page.
Show the current page’s position within the site hierarchy
The Breadcrumbs component builds a trail from the current page back through its parent pages. It helps visitors understand where they are and move to a higher level of the site.
You’ll find Breadcrumbs under Navigation in the Components list.
Drag Breadcrumbs onto a page or shared layout.
Choose whether to show the Home link.
Let visitors search and filter tagged content by text
The Filter component provides a search field that shows and hides filter-enabled components as the visitor types. It works with tags assigned to compatible components such as Container, Grid, Flex, and Accordion.
You’ll find Filter under Interactive in the Components list.
Add the content components you want visitors to filter.
Add tags to each compatible component and enable its Filter controls.
Create fixed, angled, coloured, gradient, image, or SVG backgrounds
The Background component places a visual background behind optional child content. It supports solid colours, gradients, resource or CMS images, SVG artwork, fixed positioning, and angled edges.
You’ll find Background under Layout in the Components list.
Drag Background onto the page.
Leave the drop zone enabled and add content, or disable it for a purely decorative background.
Let visitors choose zero, one, or several options
Checkbox creates a group of independently selectable options. Use it for preferences, opt-ins, feature choices, or required acknowledgements.
You’ll find Checkbox under Forms in the Components list.
Place Checkbox inside a .
Enter a shared Name for the group.
Organise related content into selectable tab panels
The Tabs component displays one content panel at a time while keeping related sections easy to reach. Each tab has a title, optional SVG icon, and content drop zone.
You’ll find Tabs under Interactive in the Components list.
Drag Tabs onto the page.
Add items to the Tabs collection.
Let visitors choose an option from a drop-down list
Select creates a native drop-down field populated from an Options collection. It is useful when visitors must choose one value from a defined list.
You’ll find Select under Forms in the Components list.
Place Select inside a .
Enter a unique Name.
Create ordered or unordered lists with styled markers and text
The List component creates an editable ordered or unordered list. It provides direct control over the number of items, marker style, spacing, and text appearance.
You’ll find List under Content in the Components list.
Drag List onto the page.
Choose Ordered or Unordered.
Let visitors choose one option from a group
Radio creates a set of mutually exclusive choices. Selecting one option automatically clears the other option in the same group.
You’ll find Radio under Forms in the Components list.
Place Radio inside a .
Enter a shared Name for the group.
Let visitors filter content with selectable tag buttons
The Filter Tags component creates a set of buttons that visitors can use to show content matching one or more tags. It works with tags assigned to filter-enabled components such as Container, Grid, Flex, and Accordion.
You’ll find Filter Tags under Interactive in the Components list.
Add tags to each compatible component you want to filter.
Enable filtering on those components.
Control component positioning, stacking, visibility, overflow, and isolation
Layout controls how a component participates in the page layout. Use them to change positioning, offsets, stacking order, visibility, overflow, and stacking-context isolation.
Position defaults to None.
Show custom content after a successful form submission
Success is a conditional drop zone shown after the parent Form receives a successful response. Add text, icons, Containers, or other components to create the confirmation visitors should see.
You’ll find Success under Forms in the Components list.
Place Success inside a .
Add a Text component with a clear confirmation.
Associate visible descriptive text with a form field
Label creates a semantic HTML label for an Input, Date Picker, Select, or other named field. A correctly connected label helps visitors understand and activate the field.
You’ll find Label under Forms in the Components list.
Place Label inside a , close to its field.
Edit the label text directly on the canvas.
Show custom content when a form fails
Error is a conditional drop zone shown when form submission fails. Add text, icons, Containers, or other components to create the message visitors should see. Browser validation messages and the Form component’s invalid-field colours handle missing or invalid field values before submission.
You’ll find Error under Forms in the Components list.
Place Error inside a .
Add a Text component with a clear failure message.
Add details about the issue to the generated email and send it.
Are you seeing an error message when publishing? Please include the full text of the error or, ideally, a screenshot.
In Safari, choose History › Clear History…. In Google Chrome, choose Chrome › Clear Browsing Data….
Sometimes users create both index.html and index.php, with the latter being the most recent. Browsers will normally load index.html first. To use index.php, rename or remove the index.html file in that directory.













Robot tags
Site settings, including the name, site URL and logo
Favicons
Resources, including Stack page resources
Publishing destinations
Quote > Text
Image & Site Image > Image
Button > Button
Column stacks will be converted into the Grid Component and use the corresponding number of columns.
Header Plus > Text
Paragraph > Typography
Grid Content > Grid
Image > Image
Banner > Container
Margins > Container
Paragraph > Typography
Image > Image
Header Pro > Text
Text > Text
Quote > Text
Label > Text
Code > Text
Picture > Image
Dev Diary 96
How to Import Classic Projects into Elements.
Dev Diary 97
Import Stacks, Foundry and Foundation-based Projects.
The Classic Project Importer does not yet read Partials. To work around this, you may want to unpack any partials and save a copy of your Classic project before you import it into Elements.
In Elements, Globals provide a modern, customisable way to include shared content throughout your website.


A built-in Markdown CMS for blogs and content-driven sites.
Modern publishing targets (including Amazon S3), plus classic FTP/SFTP.
An extensible platform with Custom Components and a Developer API.
Choose Blocs if you want:
A Bootstrap-based workflow and the CSS Class Editor for visual class management.
Custom interactions and WordPress theme building (Blocs Plus).
Common themes from people who move to Elements:
A simpler workflow for building and maintaining sites: especially compared to setups that required lots of add-ons or became complex over time.
Clearer structure management via the Node Browser: which helps a lot on larger pages.
More consistent styling using Tailwind plus a built-in theming system, reducing the need to manage lots of custom classes.
Content workflows without a heavy CMS: Markdown files plus a built-in CMS are a good fit for blogs, portfolios, directories, and “update often” sites.
Modern publishing options: including static hosting targets, with fewer steps between “done” and “live”.
An active roadmap: frequent releases and responsive community support.
Blocs is a strong choice when you specifically want:
Bootstrap-first layout: especially if you already think in Bootstrap’s grid and patterns.
The Class Editor workflow for quick: visual class-based styling and layout tweaks.
WordPress theme export: (Blocs Plus) as part of your delivery workflow.
I have bought Sandvox, Dreamweaver, Blocs 4, Sparkle (now Spritely), Rapid Weaver Classic (with Stacks and Foundry 2). I didn’t like ANY of them. All I wanted to do was easily redo my existing website using a recent and modern piece of software so that I could easily maintain and update it. I was not able to easily (or at all) do that with ANY of them. Until Elements…
I like Elements. I like working in Elements. I joined the beta almost exactly one year ago and have seen the massive improvements to it during that time period.
I can build stuff with Elements and enjoy it at the same time. That is why I am using Elements, and hope to use it for many years!!
Elements’ Node Browser gives you a clear overview of your layouts, much easier than wrangling blocs and brics!
Tailwind theming just works in Elements, so you don’t have to fight with custom classes or inconsistent styles.
If you need a hand, the Elements Support Forum is super friendly, and you can always tag @elementsbot for help.
Migrating from Blocs to Elements is a fantastic move if you’re looking for a modern, flexible, and genuinely fun web design experience. Elements was built from the ground up for rapid, future-proof site building with a fully WYSIWYG editor and the power of Tailwind CSS at your fingertips.
Here’s a detailed, step-by-step guide to help you make the switch:
Before you dive in, make a list of:
Pages you need to migrate
Content (text, images, videos)
Any custom code or integrations you used in Blocs
Export and organise images/assets so they’re ready to add into Elements.
Open Elements and hit File > New Project.
Choose a starting project or begin with a blank project.
Set your global site settings (site title, address, and favicons) in the Site Settings menu (cog in the toolbar).
For each page from your Blocs site:
Click the “+” in the sidebar to add a new page.
Name it to match your old site structure (e.g., Home, About, Contact, etc.).
You can modify the file name and folder for each page in the page inspector.
Drag and drop Components into your page(s) to match your old layouts.
Elements has built-in Components and pre-built Templates for common needs (navigation bars, galleries, buttons, etc.).
Arrange and customise each component using the Inspector. Change text, swap images and adjust colours visually.
Use Theme Studio to adjust site-wide colour palettes, fonts and spacing.
If you want extra flair, take advantage of Tailwind utility classes directly in the advanced settings (but you never need to touch code if you don’t want to).
Drop in the Form Component for contact/newsletter pages.
Configure field types, labels, and actions visually.
Point form actions to your email or third-party service; Elements supports customizable form actions.
Preview your site in the browser by pressing Cmd + P or the browser icon in the toolbar.
If your site looks good, deploy it to your host using the built-in publishing engine.
If you have any specific component or layout you’re struggling to recreate, just ask on the forum. Share a screenshot or describe what you need and we'll guide you to the best solution in Elements.
Welcome to the future of Mac web design, the Power of Elements is waiting for you!
Use Globals to control site-wide, linked components or layouts (perfect for Navigation and Footer)
Select Parent
Option+Up arrow
Select Child
Option+Down arrow
Move Up
Option+Command+Up arrow
Move Down
Option+Command+Down arrow
Move to Parent
Option+Command+Left arrow
Move to Child
Option+Command+Right arrow
Screens: MD
Command+3
Screens: LG
Command+4
Screens: XL
Command+5
Screens: 2XL
Command+6
Next Workspace
Command+Option+.
Previous Workspace
Command+Option+,
Show/Hide Titles
Command+Option+'
Show/Hide Outlines
Command+Shift+'
Show/Hide Selection
Command+'
Scroll to Selection
Command+Shift+Option+'
Toggle Editor Scroll
Select Previous Sibling
Option+Up arrow
Select Next Sibling
Option+Down arrow
Screens: Mobile
Command+1
Screens: SM
Command+2
Preview Page
Command+P
Automatically previews website in default browser.
Preview Page In…
Command+Option+P
Choose from all installed browsers before previewing.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Header or Footer — Introductory or closing content for a page or section.
Div or Span — Neutral wrappers when no semantic option applies.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
[&_a]:!font-body
[&_a]:text-brand-500
[&_a]:underline-offset-2
[&_a:hover]:underlineLink to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
F j, YFebruary 26, 2026Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
rel
nofollow
Asks search engines not to follow the link.
type
application/pdf
Identifies the linked resource’s MIME type.
Choose the component ID from the Anchor list.
title
Go to Example Website
Supplies additional advisory text.
rel
noreferrer
Prevents the destination receiving referrer information.
Elements sites use smooth anchor scrolling by default. To disable it site-wide, remove class="scroll-smooth" from the html tag in the site Template code.

We’ve seen quite a few posts on the forum where users ask for help without providing enough detail for anyone to solve the problem.
To save everyone time, here’s the best way to ask for help on the forum:
Write a Clear Post Title Something like “Need help styling the navigation component” works much better than “Help. It’s broken!”.
Explain the Issue Tell us what you’re trying to do, what you expected, and what actually happened.
Share Your Project Add an Elements Cloud link so others can open your project and see what’s going on.
Share a Live URL (if applicable) If the site is published, include the link. Sometimes issues only show up on a live site.
Add Screenshots or Recordings A quick screenshot or short video can be a huge help.
Be Specific The more detail you include, the quicker you’ll get accurate help.
Do Not Post AI-generated Content AI-generated troubleshooting suggestions can sometimes be a bit off the mark. To help us diagnose things accurately, it’s best to stick to details from your own setup and what you’re seeing directly.
Following this guide will help you get better answers more quickly.
Asking for help on the forum without sharing the Elements project or live URL is like arriving at a garage and saying, “My car’s making a funny noise. Can you fix it?” without showing the mechanic the actual car.
Sure, they could take a wild guess. They might suggest topping up the oil, tightening a belt, or just turning the radio up so you can’t hear it anymore. But without looking under the bonnet, they’re working blind.
That’s exactly what it’s like when asking for website help without sharing the details. We don’t need the keys, but we do usually need to see the engine.
When posting on the forum, you should follow the guidelines below to help us locate and fix your issue much faster.
Tell us exactly what you were doing when the issue occurred. The more information you can provide, the better. Try to include:
What you expected to happen
What actually happened
Any error messages or unusual behaviour you noticed
If you can reliably trigger the problem, let us know how. Write down the exact steps you took leading up to the issue. This is incredibly helpful when we’re trying to track down bugs.
Please upload your project to your Elements Cloud account and share the link with us on the forum.
This is one of the most reliable and fastest ways to get your issue fixed!
A video is often the quickest way to show what’s going wrong. You can use QuickTime Player.app (included with macOS) to record your screen.
To create a simple recording, choose File › New Screen Recording from the menu. Click the red record button, then follow the instructions on the screen. To save, choose File › Export and select the quality.
Alternatively, press Command-Shift-5 to open the onscreen recording controls.
Once you’ve made the recording, upload it to a cloud service like Dropbox or Google Drive, or share it via YouTube, and post the link in your forum thread.
If you can’t share a video, screenshots can still be very helpful. Try to capture the whole Elements window so we can see your workspace and any visible settings. A partial screenshot is less useful because we need to see the full context.
Use the keyboard shortcut Command-Shift-3 to take a screenshot, or Command-Shift-4 to select just a portion of the screen.
Sometimes using custom HTML on your page can be the source of the problem. Even small mistakes like a missing closing tag, an extra quotation mark, or incorrect nesting can cause layout or publishing errors. Because Elements is built on clean, structured code, any invalid or broken HTML you add manually can disrupt how components render or how the browser interprets the page.
This is often one of the hardest issues to track down, because errors in custom HTML don’t always show up where you expect them. A broken tag in one part of the page might affect the layout or functionality of a completely different section.
If you’re experiencing issues, it’s worth reviewing any custom HTML you’ve added. A good step is to remove it temporarily and check if the issue goes away. That way you’ll know whether the custom code is the root cause or if you should look elsewhere.
If you see the Document Repaired warning when opening a project, don’t panic. Your project is safe.
When Elements detects orphaned nodes—content that no longer has a proper location—it moves them to the top of the page instead of deleting them. This prevents content from being lost accidentally.
These nodes can be safely removed using the built-in recovery option.
With the project open, choose Help › Recovery › Remove Recovered Nodes.
Choose File › Save As… to save your project as a new file.
Close the project and quit Elements.
Relaunch Elements and open the newly saved, repaired project.
You can now continue working on your project, right where you left off.
We’re actively working on reducing the chances of these orphaned nodes appearing in the first place.
Make sure you search the forum first. Your question or bug may already have been resolved.
Add and arrange Components such as text, images, buttons, containers, grids and more.
Edit content directly on the canvas – click to change text, swap images, and adjust layouts visually.
Refine styles and behaviour using the context-aware Inspector.
Design responsively by adjusting settings at different .
Reuse layouts with and so you don’t repeat work.
Navigate and manage your site structure alongside the canvas using the .
Preview your site in a real browser with .
In short, the Elements editor strikes a balance between simplicity and power, making it an essential tool for building beautiful, fast websites efficiently.
Open a Project and choose a page Start by opening a Project and selecting a page from the Page Manager. The editor shows you exactly how that page currently looks.
Add Components to the page Drag in new Components (for example Text, Image, Button, Container, or Grid) to build up your layout. Components are the basic building blocks of your design.
Edit content directly Click on Components in the editor to change their content. Change text, update images, and adjust alignment visually, without needing to touch any code.
Fine‑tune styling in the Inspector With a Component selected, use the Inspector to adjust spacing, sizing, colours, typography, borders, effects, and more. The Inspector only shows options that are relevant to what you have selected.
Check different screen sizes Use the responsive system to refine how your design looks on mobile, tablet, and desktop. You can override specific settings per breakpoint where needed.
Preview in the browser and publish When you’re happy with your changes, use to test your page in a real browser, then publish from your Project when you’re ready to go live.
Elements is built around a clear design system, and the Editor is where you put those pieces together:
Components are your page building blocks – things like text, images, buttons, forms, menus, grids, and containers. Learn more on the Components page.
Templates are pre-built groups of Components you can drop into a page to get a complete layout in one go. They’re a fast way to build common sections like hero areas, feature blocks, or contact forms.
Globals let you reuse the same header, footer, or section across multiple pages while keeping the design in sync. Update the Global once, and the change is reflected everywhere it’s used.
The Editor makes it easy to mix these three concepts so you can build pages quickly while still keeping your design consistent and easy to maintain.
Modern websites need to look great on phones, tablets, laptops, and large screens. The Editor works hand‑in‑hand with Elements’ mobile‑first design system to make this straightforward:
Start by designing for the smallest breakpoint (usually mobile).
As you move up through your defined breakpoints, use the controls in the Inspector to override only the settings that need to change (for example font size, padding, or layout).
Elements automatically carries your settings upward, so you don’t have to restyle everything from scratch for each screen size.
You can learn more about how responsive design works in Elements on the Breakpoints and Theme Studio pages.
If you’re just getting started, these pages pair well with the Editor:
Quickstart – build your first site in a few minutes.
Core Concepts – understand Projects, Themes, Components, Templates, and Globals.
Workspaces – customise the layout of the Elements interface to match how you like to work.
– create and organise the site’s pages.
– manage images, files, links, and folders used by the project.
– inspect and select components in the page hierarchy.
– configure the selected page or component.
– work more quickly without leaving the keyboard.
– use macOS Writing Tools in supported text components.
Set the number of columns and rows.
Adjust horizontal and vertical gaps.
Select a child Container and set it to act as a Grid Item when it should span specific columns or rows.
Add tag titles when the Grid itself should be controlled by Filter or Filter Tags.
Enable filtering to make the Grid a filterable item. Choose parent or custom grouping and a Dim, Zoom Out, or Slide transition.
Preview Columns displays the grid structure in Edit mode. It does not affect the published page.
Horizontal Gap and Vertical Gap set spacing between cells. Both default to theme spacing 2.
Columns sets between 1 and 12 columns and defaults to 4.
Rows can be Auto or a fixed value from 1 to 12. The default is Auto.
Auto Flow
Row — Places items by row. This is the default.
Column — Places items by column.
Dense — Attempts to fill earlier gaps.
Row Dense and Column Dense — Combine a direction with dense placement.
Auto Cols and Auto Rows size automatically created tracks. Options are None, Auto, Min Content, Max Content, and 1 Fr.
Justify Content and Align Content position the grid tracks within the component. Justify Items and Align Items position children inside their grid areas.
The Link group can make the whole Grid clickable. Avoid using it when the Grid contains its own links or buttons.
Start with fewer columns: Four columns with one-column items is easier to manage than twelve columns unless you need finer spans.
Use child spans deliberately: Set Containers to Grid Item only when they need explicit column or row placement.
Review every breakpoint: Reduce column counts on narrow screens to keep content readable.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
A newly added Grid may not look divided until it contains child components. Enable Preview Columns while editing to make the structure easier to see.
In Media, choose Resource, Custom, or CMS and provide the image.
Add alternative text.
Choose Left or Right under Float, then adjust Width, Margin, and Threshold.
Type
Resource — Uses an image from the project. This is the default.
Custom — Uses a URL or path entered in Source.
CMS — Uses a CMS field. The default field is {{item.image.src}}.
Alt Text describes the image for search engines and assistive technologies. Leave it empty only when the image is purely decorative.
Float
None — Displays the image without floating text around it.
Left — Floats the image to the left. This is the default.
Right — Floats the image to the right.
Width sets the image width and defaults to 40%.
Margin controls the space between the image and text and defaults to theme spacing 4.
Threshold controls how opaque a pixel must be before text stops wrapping. It defaults to 50%. Lower values keep text farther from soft or translucent edges.
Add useful alternative text when the image conveys information. Keep line lengths readable around the shape and check that narrow screens do not leave an uncomfortably small text column.
Use transparent assets for shaped wrapping: A solid image wraps text around its full rectangle.
Use longer copy: The effect is most useful when there is enough text to flow below the image.
Check mobile widths: Reduce the image width or disable Float when the remaining text column becomes too narrow.
Image — Displays a standalone image with lightbox and sizing controls.
Typography — Provides a styled long-form content block to wrap around the image.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Text Wrap supports image resources, custom image URLs, and CMS image fields.
Vimeo
MP4
The Gallery expects a folder rather than a single image.
Remote Folder galleries support JPG, PNG, GIF, WebP, and AVIF images. Video and author information require the Resources source.
You’ll find Gallery under Media in the Components list.
Create a folder in Resources and add the images or videos.
Drag Gallery onto the page.
Drop the Resources folder into Media → Resources.
Set the column count, gap, and thumbnail ratio.
Configure thumbnail metadata and lightbox styling.
Preview images and videos in a browser.
Switch Media → Source to Remote Folder to build the gallery from a folder of images that already lives on your web server — useful when photos are uploaded by FTP, a CMS, or another app. Enter the folder as a full URL or a path relative to your published site, for example https://example.com/photos/holiday or /photos/holiday. The folder must be on the same server as the published site.
The folder is read each time the page loads, so images added or removed later appear in the gallery automatically without republishing:
Images display in filename order, so number files (01-sunset.jpg, 02-harbour.jpg) to control the sequence.
Captions are generated from filenames, with hyphens and underscores shown as spaces.
Upload a smaller companion file ending in -thumb (for example sunset.jpg and sunset-thumb.jpg) to use it as the grid thumbnail for that image.
Remote images are served exactly as uploaded, so resize and compress them before adding them to the folder. In the editor, a Remote Folder gallery shows placeholder thumbnails; preview the page in a browser to see the real images.
Source chooses between building the gallery from Resources or a Remote Folder on your web server. Resources is the default.
Resources selects the folder containing gallery media.
Folder appears for the Remote Folder source and accepts a full URL or a relative path. The folder must be on the same server as your published site.
Columns sets between 1 and 12 columns and defaults to 3.
Gap sets spacing between thumbnails and defaults to theme spacing 3.
Media
Aspect — Square, Wide, or Tall. Square is the default and applies to every thumbnail.
Radius — Sets thumbnail corner rounding.
Shadow — Applies a theme shadow.
Meta Data
Alignment — Left, Centre, or Right. Left is the default.
Margin — Space above metadata; defaults to 0.
Spacing — Space between metadata items; defaults to 0.
Caption and Author are hidden by default. Enabling either reveals Color, Font, and Size. Both default to Text 50, the Heading font, and Small size.
Preview opens the lightbox in Edit mode and is off by default.
Media has separate Radius and Shadow controls for the enlarged media.
Meta Data controls Alignment, Margin, and Spacing below the lightbox media. Alignment defaults to Centre, Margin to theme spacing 3, and Spacing to 0.
Caption and Author are hidden by default and each provides Color, Font, and Size when enabled.
Color sets the page backdrop and defaults to Surface 50.
Opacity defaults to 20%.
Blur defaults to 3 pixels.
General controls set Border Radius, Padding, and icon Size for navigation buttons. Defaults are Full radius, theme spacing 2, and 24 pixels.
Use State to switch between Default and Hover styling.
Close Button and Next & Previous Buttons each provide Background, Icon, and Opacity for both states. Default opacity is 100%.
Add meaningful captions or image metadata when media conveys information. Keep lightbox controls high contrast, and make sure videos remain usable with keyboard controls.
Optimise before importing: Smaller files improve loading and lightbox performance.
Use consistent crops: A shared thumbnail ratio makes the grid feel intentional.
Keep controls visible: Test navigation colours over both light and dark media.
Image — Displays one image with optional lightbox.
Image Slider — Presents images in a swipeable carousel.
Grid — Builds a fully custom media layout.
Add a YouTube or Vimeo video by dragging its URL from your browser into Resources. Playlist URLs can also be added.
For sharp modern displays, use gallery images at least 1200 pixels wide. can batch resize and compress them.
Pages containing the Gallery component are published as PHP, so the site must be hosted on a server with PHP support.
One Aspect applies to the complete gallery. Use a custom Grid layout when mixed thumbnail ratios must remain visible.
Enter or paste Markdown in the editor.
Choose a Typography Style and semantic Tag in the Inspector.
Preview links, images, lists, and code on the page.
The content renders live as you type. You can also drag an image from Resources into the Markdown editor to insert its correct path.
Headings
Emphasis
Lists
Links and images
Quotes and code
Paragraphs are separated by a blank line. The component supports standard Markdown syntax.
Style chooses a Theme Studio Typography style and defaults to Article. It styles all nested Markdown elements.
Tag sets the semantic wrapper and defaults to Article. Options are Article, Section, Aside, Main Content, Header, Footer, Div, and Span.
The tag changes document meaning rather than visual styling. Use Main Content only once per page.
Markdown renders as static content.
Elements components cannot be embedded inside Markdown.
Visual styling is controlled at block level through Theme Studio.
Use separate Elements components when you need fine-grained layout or interaction.
Use one clear page heading, keep heading levels in order, describe images with useful alternative text, and write link text that makes sense out of context.
Typography — Styles long-form content as a structured block.
Text — Gives detailed control over individual headings and short text.
Image — Provides responsive image, alt text, and lightbox controls.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
# Heading 1
## Heading 2
### Heading 3*Italic text*
**Bold text**
***Bold and italic***- Unordered item
- Another item
1. First item
2. Second item[Visit Realmac Software](https://realmacsoftware.com)
> This is a blockquote.
`inline code`Select an SVG separator and style its colour and size.
Configure mobile truncation, spacing, alignment, and text states.
Preview the component on pages at different levels of the site.
Separator
Icon — Selects the SVG displayed between breadcrumb items.
Color — Defaults to Text 400.
Size — Defaults to theme spacing 4.
Home Link
Show is enabled by default. Label changes its text and defaults to “Home”.
Truncate on Mobile
Enable is on by default. On small screens, it shows only the direct parent and current page to keep the trail compact.
Layout
Gap controls item spacing and defaults to theme spacing 2. Align offers Start, Centre, or End and defaults to Centre.
Font & Text Styles
Font defaults to Body, Size to Small, Weight to 400, and letter spacing to Normal. Italic is off.
Use State to style Default and Active items independently. Each state provides Color, Opacity, and Underline controls.
The current page is identified to assistive technologies automatically. Keep separators decorative, retain visible link states, and use a concise Home label.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Place a Filter component in the same parent, or give both the filter and content the same custom Group ID.
Edit the placeholder and style the input.
Preview the page and search for one of your tags.
Group determines which items the search field controls:
Parent — Filters compatible items inside the same parent. This is the default.
Custom — Filters items that use the same custom Group ID.
Group ID appears when Custom is selected. The default value is unique-group-id; replace it with a value unique to that filter group.
Set the input text colour, opacity, font, size, weight, letter spacing, line height, case, italic, and alignment. Normal and focus states can be styled independently where shown.
Text sets the empty-field prompt and defaults to “Filter…”.
Color sets the placeholder colour and defaults to Text 400.
The Outline group draws an outline around the search field. Type defaults to None: Static shows one outline at all times; Focus provides separate Unfocused and Focused states. Keep a visible Focus state for keyboard users.
Use a descriptive placeholder or nearby label so visitors understand what can be searched. Do not remove the keyboard focus outline unless you replace it with an equally clear focus style.
Confirm that each target component has filtering enabled and contains matching tags. When using Custom grouping, the Filter and every target must use exactly the same Group ID.
Filter Tags — Provides selectable tag buttons instead of a text search field.
Container — A common wrapper for filterable content.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Choose Color, Image, Gradient, or SVG under Background → Style.
Enable Fixed or Angle if required.
Adjust sizing and spacing, then preview at every breakpoint.
Enabled controls whether the component accepts child content. It is on by default.
Enable turns angled edges on and is off by default.
Mode
Vertical — Adjusts the left and right positions of the top and bottom edges. This is the default.
Horizontal — Adjusts the top and bottom positions of the left and right edges.
Vertical mode defaults to Top Left 100%, Top Right 80%, Bottom Left 0%, and Bottom Right 0%. Horizontal mode defaults to Left Top 100%, Left Bottom 100%, Right Top 60%, and Right Bottom 30%.
Fixed keeps the background anchored while page content scrolls. It is off by default.
Style
Color — Uses a theme colour and opacity. Brand 500 at 100% is the default.
Image — Uses a project Resource or CMS field.
Gradient — Creates a Linear, Radial, or Conic gradient.
SVG — Positions and sizes an SVG resource behind the content.
Image
Choose Resource or CMS. CMS defaults to {{item.image.src}}. Position defaults to Centre, Size to Cover, Repeat to No Repeat, and Fetch Priority to Auto.
Gradient
Choose Linear, Radial, or Conic; Linear is the default. Set its direction, centre, or starting angle, then choose colour interpolation. From and To colours default to Brand 200 and Brand 500 at positions 0% and 100%. Add Via adds an optional middle stop at 50%, defaulting to Brand 400.
SVG
Select the resource, then set Color and Opacity. Width and Height each provide Fixed, Max, and Min controls. Position uses Top, Right, Bottom, and Left offsets, while Translate X and Y apply final adjustments.
Decorative backgrounds should not contain essential text. Maintain sufficient contrast between the background and all foreground content, and avoid fixed imagery that makes scrolling uncomfortable.
Use Fixed sparingly: Large fixed images can be distracting and may behave differently on mobile browsers.
Keep text readable: Use colour or overlay choices that preserve contrast over the entire image.
Use responsive angles: Review angled edges at every breakpoint so they do not cover content.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Use a Container when your main goal is grouping and laying out content. Use Background when you need fixed imagery or angled edges.
Add items to the Options collection.
Give every option a visible Label and submitted Value.
Enable Required only when every displayed option must be selected.
Style checked, unchecked, label, and focus states.
Required is off by default. When enabled, each rendered Checkbox option is marked as required, so use it when every listed acknowledgement must be selected.
Name is blank by default. Checkbox submits the selected values as a group using this name.
Alignment arranges options Horizontally or Vertically and defaults to Vertical.
Use State to edit Unchecked and Checked appearance. It defaults to Unchecked.
Unchecked — Border Surface 50; Background Surface 50.
Checked — Border Brand 500; Background Brand 500.
Border Width and Border Radius use Theme Studio controls.
The Options collection adds, removes, and reorders choices. Each item contains:
Label — Text shown to the visitor. Blank by default.
Value — Value included in the submission. Blank by default.
Use a stable machine-friendly Value such as newsletter rather than repeating a long sentence.
Label colours default to Surface 50 when Unchecked and Brand 500 when Checked.
Font defaults to Body and Size to Base.
Type defaults to None and can be Static or Focus. Focus reveals Unfocused and Focused states.
Outline defaults are Solid style, Surface 500 colour, 100% opacity, width 1, and offset 0.
Checkbox Size defaults to theme spacing 4.
Option Gap defaults to theme spacing 4.
Use labels that make sense when read independently. Keep a visible keyboard-focus outline and place required legal consent in clear text rather than relying on colour or position.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Give each item a Title and optional Icon.
Use Active Tab to select the panel you are editing.
Choose the default active tab and style the list, buttons, titles, icons, and content.
Tabs adds, removes, and reorders tab items. Each collection item has a Title and Icon.
Default Active Tab sets the initially selected tab and defaults to 1.
Active Tab selects the tab shown in Edit mode and also defaults to 1.
Alignment offers Start, Centre, or End and defaults to Start.
Gap defaults to theme spacing 1 and Padding to 0.
Background defaults to None and Border Radius to None.
Use State to edit Inactive, Active, and Hover styles. Each state has Background, Text Color, Shadow, Border Width, Border Color, and Border Radius.
Defaults:
Inactive — Surface 100 background, Text 50, no shadow or border, Medium radius.
Active — Brand 500 background, Surface 50 text, no shadow or border, Brand 500 border colour, Medium radius.
Hover — Surface 300 background, Text 50, no shadow or border, Surface 300 border colour, Medium radius.
Padding defaults to theme spacing 2 vertically and 4 horizontally.
Font defaults to Body.
Use State to edit Inactive, Active, and Hover Size, Weight, Spacing, Line Height, and Underline. Size defaults to Base for every state. Weights default to 400, 500, and 400. Spacing and line height default to Normal, and Underline is off.
Show Icon is enabled by default.
Position offers Left, Right, or Top and defaults to Left. Gap defaults to theme spacing 2.
Remove Attributes controls whether Size, Fill, Stroke, and Styles are removed from each SVG. All four are enabled by default.
Use State to edit Inactive, Active, and Hover icon styles:
Size — Defaults to 20px.
Fill Color and Opacity — Defaults to Text 50 for Inactive/Hover, Surface 50 for Active, and 100% opacity.
Stroke Color, Opacity, and Width — Defaults to None, 100%, and 0.
Set Padding, Background, Border Width, Border Color, and Border Radius. Defaults are theme spacing 4, no background or border, Surface 200 border colour, and no radius.
Show is off by default. When enabled, it creates an additional shared area above the active tab content and reveals its Padding, Background, Border Width, Border Color, and Border Radius controls.
Defaults match Tab Content.
Use short, descriptive titles and keep the active, hover, and keyboard focus states distinct. Do not use icons without text unless their meaning is unmistakable.
Keep the set small: Too many tabs become difficult to scan on narrow screens.
Use parallel content: Tabs work best for sections at the same conceptual level.
Check icon attributes: Disable only the Remove Attributes switches needed to preserve intentional SVG styling.
Accordion — Better for vertically stacked questions or sections.
Content Slider — Adds sequential or automatic playback.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
All tab content is loaded with the page, so it remains available to search engines and assistive technologies.
Set the Placeholder.
Add Label and Value pairs to the Options collection.
Optionally mark one item as Default.
Add a Label whose For value matches the Name.
Required is off by default.
Name is blank by default. If left blank, Elements generates a name.
Placeholder defaults to “Select an option…”. It has an empty value and remains selected until a visitor chooses an option, unless a Default item is configured.
Text Color defaults to Text 50.
Font defaults to Body and Size to Base. These settings also style the drop-down arrow.
Each item in the Options collection contains:
Label — Text shown to the visitor. Blank by default.
Value — Value included in the submission. Blank by default.
Default — Selects that option initially. Off by default.
Only the first item marked Default is selected.
Type defaults to None and can be Static or Focus. Focus provides Unfocused and Focused states.
Outline defaults are Solid style, Surface 500 colour, 100% opacity, width 1, and offset 0.
Select uses 100% Width and Auto Height.
Spacing is enabled with zero Margin and Padding 2 vertically and 3.5 horizontally.
Background supports a colour. The shared Border defaults to None.
Add a visible Label and make every option understandable without surrounding context. When Select is Required, keep the empty Placeholder so the visitor must make an intentional choice.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Set the number of items.
Edit the list text directly on the page.
Style the markers, spacing, and item text.
Type
Unordered — Creates a bulleted list. This is the default.
Ordered — Creates a numbered list.
Items sets the number of editable list entries and defaults to 3.
List Style Type chooses None, Disc, Decimal, Circle, Square, Lower Alpha, Upper Alpha, Lower Roman, or Upper Roman. The default is Disc.
Size sets the marker size and defaults to 16.
Position
Inside — Places markers inside the text block.
Outside — Places markers outside the text block. This is the default.
Marker Color defaults to Text 50.
Gap sets space between items and defaults to theme spacing 2. Padding sets the inner spacing of each item and defaults to 0 on every side.
Set the item text colour, opacity, font, size, weight, letter spacing, line height, case, italic, underline, and other available text styles.
Choose Ordered when sequence matters and Unordered when it does not. Do not imitate a list with separate Text components, because the List component provides meaningful structure for assistive technologies.
Text — Creates headings, paragraphs, labels, and short text blocks.
Typography — Styles longer structured content as one block.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Add items to the Options collection.
Give every option a visible Label and submitted Value.
Enable Required when the visitor must make a choice.
Style checked, unchecked, label, and focus states.
Required is off by default.
Name is blank by default. Every option uses this Name so the browser treats them as one group.
Alignment arranges options Horizontally or Vertically and defaults to Vertical.
Use State to edit Unchecked and Checked appearance. It defaults to Unchecked.
Unchecked — Border Surface 900; Background Surface 50.
Checked — Border Brand 500; Background Brand 500.
Border Width and Border Radius use Theme Studio controls.
The Options collection adds, removes, and reorders choices. Each item contains:
Label — Text shown to the visitor. Blank by default.
Value — Value included in the submission. Blank by default.
Label colours default to Surface 50 when Unchecked and Brand 500 when Checked.
Font defaults to Body and Size to Base.
Type defaults to None and can be Static or Focus. Focus provides Unfocused and Focused states.
Outline defaults are Solid style, Surface 500 colour, 100% opacity, width 1, and offset 0.
Radio Size defaults to theme spacing 4.
Option Gap defaults to theme spacing 4.
Use a clear question or group description before the options and concise labels for each choice. Keep a visible keyboard-focus outline.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Place Filter Tags in the same parent, or use a matching custom Group ID.
Choose single or multiple selection and configure the matching behaviour.
Style the tag layout and button states.
Group
Parent — Controls filterable items inside the same parent. This is the default.
Custom — Controls items that share the same Group ID.
Group ID appears for Custom grouping. Replace the default unique-group-id with the same unique value on the Filter Tags component and its target items.
Mode
Multiple — Visitors can select more than one tag. This is the default.
Single — Selecting a tag clears the previous selection.
Match is available in Multiple mode:
Any — Shows an item when it matches at least one selected tag. This is the default.
All — Shows an item only when it matches every selected tag.
Alignment places the tag buttons at the Start, Center, or End. The default is Start.
Gap controls spacing between buttons and defaults to theme spacing 4.
Set button alignment, font, size, weight, letter spacing, line height, case, italic, underline, text shadow, colour, and opacity. Use the state selector to style Normal and Hover text independently.
Use clear tag names and maintain strong contrast for selected, unselected, hover, and focus states. Do not communicate selection with colour alone.
Check that the target components have filtering enabled. For Custom grouping, all items and the Filter Tags component must use exactly the same Group ID.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Static
Keeps the component in normal document flow and ignores offsets.
Relative
Keeps its original space while allowing offsets and positioned descendants.
Absolute
Removes it from normal flow and positions it against the nearest positioned ancestor.
Fixed
Removes it from normal flow and positions it against the viewport.
Sticky
Behaves normally until it reaches an offset, then remains pinned within its scrolling ancestor.
See Tailwind CSS Position for the equivalent CSS behaviour.
Z-Index controls stacking order and is not responsive.
None — Adds no z-index value. This is the default.
Auto — Lets the browser determine the stack order.
Custom — Reveals a number field, which defaults to 0 and accepts positive or negative values.
See Tailwind CSS Z-Index for the equivalent CSS behaviour.
Type defaults to None.
None — Adds no offsets.
Uniform — Reveals one Inset value for all four sides. It defaults to 0.
Individual — Reveals separate Top, Right, Bottom, and Left values. Each defaults to 0.
Offsets support responsive Theme Spacing or custom CSS values. They affect Relative, Absolute, Fixed, and Sticky positioning; Static ignores them.
Hidden is off by default. Enable it at a breakpoint to remove the component from the rendered layout at that breakpoint and above until another responsive override changes it.
Visibility defaults to Auto.
Auto — Adds no visibility rule.
Visible — Shows the component.
Invisible — Hides the component while preserving its layout space.
Overflow defaults to None.
None — Adds no overflow rule.
Visible — Allows content to extend beyond the component.
Hidden — Clips overflowing content without scrollbars.
Scroll — Always provides scrolling for overflowing content.
Auto — Adds scrollbars only when content overflows.
Isolation defaults to None.
None — Adds no isolation rule.
Isolate — Creates a new stacking context so child z-index values remain within the component.
Auto — Lets the browser decide whether a stacking context is needed.
Some components also provide Flexbox and Grid item controls. These settings apply only when the component is inside the matching parent:
Grid Item controls column, row, span, and placement.
Flex Item controls order, growth, shrink, basis, and self-alignment.
Use the parent Flex or Grid controls for the overall layout, then use item controls only for exceptions.
None
Adds no positioning rule.
Sticky positioning needs at least one non-Auto offset, usually Top. It can also be prevented by an ancestor’s overflow or insufficient scrollable height.
Hidden and Invisible are different: Hidden removes the component from layout; Invisible leaves an empty space where it would have appeared.
Optionally explain what happens next or when the visitor should expect a reply.
Use Preview in Edit while designing.
In Form, keep On Success set to Success Content.
Publish and complete a real submission.
Preview in Edit is enabled by default. It controls only the editor preview; published Success content remains hidden until submission succeeds.
Success has no other component-specific Inspector settings. Its child components control the confirmation’s content and styling.
The parent Form’s Reset setting is enabled by default and clears fields after success.
Use clear confirmation language and explain the next step. Do not rely on a checkmark or green colour alone to communicate success.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Success is not shown when Form → On Success is set to Redirect. In that mode, the configured Link is opened instead.
Copy the field’s Name exactly.
Enter that value under Label → For.
Preview the published form and click the label to confirm that its field receives focus.
For defaults to inputName.
Replace it with the exact Name of the related field. Values are case-sensitive:
If the Input Name is email but Label For is Email, they are not connected.
Color defaults to Text 50.
Align is not responsive, offers Start, Centre, or End, and defaults to Start.
Shared text-style defaults include Body Font, Base Size, weight 400, Normal spacing and line height, no text shadow, no case conversion, and no decoration.
Use a visible Label for every field. Keep it descriptive and concise; Placeholder text disappears during entry and is not a replacement for a label.
Make sure For and the field Name are identical, with no spaces added before or after either value.
Input — Collects a typed value.
Date Picker — Collects a date and optional time.
Select — Presents a list of choices.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
emailOptionally add recovery guidance, such as checking the connection or trying again.
Use Preview in Edit while designing.
Publish and deliberately trigger an error to test the result.
Preview in Edit is enabled by default. It controls only the editor preview; published Error content remains hidden until the Form reports a failure.
Error has no other component-specific Inspector settings. Its child components control the message’s content and styling.
Write a specific message and explain what the visitor can do next. Do not rely on red colour alone, and keep the message close enough to the form that keyboard and screen-reader users can find it.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Select Child
Option+Down arrow
Move Up
Option+Command+Up arrow
Move Down
Option+Command+Down arrow
Move to Parent
Option+Command+Left arrow
Move to Child
Option+Command+Right arrow




Group, lay out, style, and link other components
The Container component is the primary wrapper for grouping related components. It controls content width and alignment, backgrounds, overlays, spacing, borders, links, filtering, and how the Container behaves inside Flex and Grid layouts.
Project-wide container widths can be set for each breakpoint in .
You’ll find Container under Layout in the Components list.
Drag Container onto the page.
Add components to its drop zone.
Set the content width, height, alignment, and gap.
Add padding to create space inside the section and margin to position it externally.
Apply a background, overlay, border, or link if required.
The Tags collection adds tag titles used by Filter and Filter Tags.
Enable Filter to make the Container a filterable item. Choose Parent or Custom grouping; Custom reveals a Group ID. The transition can be Dim, Zoom Out, or Slide.
To can make the whole Container clickable. Do not use a Container link when it contains Buttons, links, form controls, or other interactive components.
Type
Default — Uses normal layout behaviour.
Grid Item — Exposes grid column, row, span, and placement controls.
Flex Item — Exposes flex order, growth, shrink, basis, and self-alignment controls.
Standard and Advanced modes reveal the appropriate level of placement control. These settings apply only when the Container is inside the matching Grid or Flex parent.
Width offers Auto, Full, Screen, Breakpoint, or Theme Spacing. Breakpoint is the default. Theme Spacing reveals a value that defaults to 36.
Height offers the same modes and defaults to Auto. Its Theme Spacing value also defaults to 36.
Align and Justify position the Container’s content box within the Container — Align on the block axis and Justify on the inline axis. Both offer Auto, Start, End, Centre, or Stretch and default to Centre.
Gap controls spacing between child components and defaults to 0.
Each group has a To setting:
Everything — Applies to content and background. This is the default.
Background — Applies only to the background layer.
Content — Applies only to child content.
The remaining controls configure the selected effect, filter, or transform.
Background supports colour, image, gradient, SVG, and video styles where shown. Configure resources, colours, opacity, image positioning, gradient stops, or video options for the selected type.
Background Overlay adds a separate colour, gradient, image, or effect layer above the background and behind the content.
HTML Tag changes the Container’s semantic wrapper. Choose an appropriate standard tag or enter a custom one.
The Custom Attributes collection adds Attribute and Value pairs to the Container’s HTML. Use valid attributes and avoid duplicating built-in controls such as ID and class.
Use padding for internal space: Margin separates the Container from surrounding components.
Use Auto margins deliberately: Equal left and right Auto margins centre a fixed-width Container.
Keep structure meaningful: Prefer semantic HTML tags when the Container represents a section, header, footer, or main region.
— Arranges children in a row or column.
— Creates two-dimensional layouts.
— Adds angled or fixed backgrounds.
Build a self-hosted audio player with a styled playlist
The Audio component creates a self-hosted audio playlist with artwork, track information, progress controls, navigation, and optional visitor volume controls. Add tracks through a collection and style the player to match your site.
Each track accepts an audio resource, optional artwork, a title, and an artist. Use browser-compatible audio files and optimised artwork.
You’ll find Audio under Media in the Components list.
Drag Audio onto the page.
Add items to the Tracks collection.
For each track, choose its Audio Source and optionally add Title, Artist, and Artwork.
Configure the Now Playing area and track list.
Choose which playback and volume controls visitors can use.
Preview the complete playlist in a browser.
The Tracks collection adds, removes, and reorders playlist entries. Each item contains:
Title and Artist — Optional text shown in the player.
Artwork — Optional image resource.
Audio Source — The audio resource played for that item.
Layout is Vertical by default and can be changed to Horizontal. Gap defaults to theme spacing 5 and Padding to 5 on every side.
Artwork controls Size, Shadow, and Radius. Size defaults to theme spacing 48, Shadow to None, and Radius to the theme default.
Title and Artist each have Color and Size controls. Both colours default to Text 600; Title uses Large and Artist uses Small.
Background defaults to Surface 100, Foreground to Surface 300, and Size to theme spacing 1.5.
Max Height defaults to theme spacing 72. Padding defaults to 0 and Gap to 2.
Set the track item Radius, artwork Size, Shadow and Radius, divider Color and Thickness, and Title and Artist text sizes.
Use State to style Normal and Hover track colours independently. Each state provides Background, background Opacity, Title colour, and Artist colour. Background opacity defaults to 100%.
Spacing between the main controls defaults to theme spacing 6.
Play and Pause provides normal Color, Hover colour, Size, and custom Play and Pause SVG resources.
Next and Previous is enabled by default. When enabled, set normal and hover colours, size, and custom Next and Previous SVGs.
Skip Back and Forward is off by default. Enabling it reveals the same colour, size, and SVG controls.
Initial Volume defaults to 100%.
Visitor Controls are off by default. When enabled, configure the volume bar Background, Foreground, Size, and Width, plus the mute button’s normal and hover colours, size, and Volume and Muted SVGs.
Provide meaningful track titles and artist names. Keep playback controls visible and high contrast, and do not start audio automatically.
Optimise audio files: Large files increase page load and bandwidth use.
Use consistent artwork: Matching dimensions keep the player stable between tracks.
Offer volume control: Enable visitor controls when audio level may vary between files.
— Plays YouTube, Vimeo, and MP4 video.
— Provides guidance on optimising artwork and alternative text.
Organise content into expandable and collapsible sections
The Accordion component organises content into sections that visitors can open and close. It is useful for FAQs, service details, feature explanations, and other pages where displaying everything at once would create unnecessary scrolling.
Each Accordion has separate Title and Content drop zones, so both areas can contain Text, Images, SVGs, or other suitable components.
You’ll find Accordion under Interactive in the Components list.
Drag Accordion onto the page.
Add components to its Title and Content drop zones.
Choose whether it starts Open or Closed.
Use Grouping when only one Accordion in a set should remain open.
Style the Summary and optional SVG icon for open and closed states.
Show Content in Edit is enabled by default. Disable it to preview the collapsed structure while editing.
Default State chooses Open or Closed and defaults to Closed.
Add one or more tag titles when the Accordion should be controlled by Filter or Filter Tags.
Enable filtering to make the Accordion a filterable item. Use Parent grouping or a Custom Group ID, then choose the Dim, Zoom Out, or Slide transition.
Group
None — The Accordion opens independently.
Parent — Groups Accordions inside the same parent. This is the default.
Custom — Groups Accordions that share a Group ID.
Group ID appears for Custom. Replace the default unique-group-id with the same value on every Accordion in the group.
Grouping ensures that opening one Accordion closes the others in the same group.
State switches the Inspector between Open and Closed styling. It defaults to Closed.
Each state has its own Background colour. Both default to None.
Padding applies to the clickable summary area and defaults to theme spacing 2 vertically and 3.5 horizontally.
Show Icon is enabled by default.
SVG — Selects the icon resource.
Alignment — Places the icon first or last. Last is the default.
Size — Accepts any valid CSS size and defaults to 24px.
Use concise, descriptive titles that explain the hidden content. Do not place essential information only in a closed section without making the title clear.
Group related items: Parent grouping is the simplest way to create a traditional one-at-a-time accordion.
Keep titles short: Visitors should be able to scan the complete set quickly.
Use a familiar icon: Chevrons and plus/minus symbols clearly communicate expansion.
— Switches between parallel content sections.
— Reveals a compact panel from a trigger.
— Can show and hide tagged Accordions.
Animate components as they enter or leave the viewport
The Reveal component animates its child content in response to scrolling. Choose a fade, slide, zoom, light-speed, or rotation effect, then control when and how the animation plays.
You’ll find Reveal under Animation in the Components list.
Drag Reveal onto the page.
Place the component you want to animate inside it.
Choose Smooth or Scrub mode.
Select the animation, direction, and trigger points.
Set timing values and preview the page while scrolling.
Mode
Smooth — Plays the animation after its trigger is reached. This is the default.
Scrub — Links animation progress to the page’s scroll position between Start and End.
Animation offers Fade, Slide, Zoom, Light Speed, or Rotate. Fade is the default.
Direction can be Up, Down, Left, or Right and defaults to Up.
Distance sets how far the content travels and defaults to 200px. Use any valid CSS length.
Degrees appears for Rotate and defaults to 90°.
Trigger
Play — When the animation runs. Once on Enter plays it the first time the content enters the viewport and never again; Always on Enter replays it each time the content scrolls into view from below; Enter and Exit (the default) also plays a matching exit animation when the content leaves, and replays on re-entry in either direction.
Start / End — Where the animation is triggered, measured against the top edge of the Reveal content: Entering Screen as it reaches the bottom of the viewport, Middle of Screen as it reaches the centre, and Exiting Screen as it reaches the top. Start defaults to Entering Screen; End defaults to Exiting Screen. In Scrub mode the animation progresses between the Start and End positions.
Timing
Easing — Offers Linear, Power0–Power4, Sine, Circ, Expo, Back, Elastic, or Bounce. The default is Power1.
Duration — Available in Smooth mode and defaults to 500 milliseconds.
Delay — Available in Smooth mode and defaults to 0 milliseconds.
Markers displays the Start and End trigger positions for debugging. It is off by default; disable it before publishing.
Set the Reveal component to act as a Grid Item or Flex Item when its parent layout needs explicit span, order, alignment, or sizing controls.
Keep movement subtle and never make the animation the only way to discover essential content. Check that the page remains understandable when the visitor prefers reduced motion.
A Reveal animation can temporarily extend beyond the viewport. Select the parent Container and set Layout → Overflow to Hidden so the animated content is clipped to the section.
Reveal is a block-level wrapper, so an Auto width fills the available width rather than shrinking to fit its content, and a fixed-width child sits at the wrapper’s left edge. Enable the child’s Spacing and set its left and right margins to Auto, or give the Reveal itself a Theme Spacing width matching the content plus Auto left and right margins.
— Creates hover and pointer-driven depth effects.
— Wraps and clips Reveal animations.
Create perspective, depth, rotation, and mouse-driven 3D effects
The 3D Transform component wraps other components and gives them depth, perspective, and three-dimensional movement. Use it for tilting cards, rotating artwork, creating hover interactions, or making content respond to the visitor’s pointer.
You’ll find 3D Transform under Interactive in the Components list.
Drag 3D Transform onto the page.
Place the component you want to transform inside its drop zone.
In 3D, choose Static, Hover, or Mouse.
Set the perspective and the starting transform values.
For Hover or Mouse, switch State to End and set the destination values.
Preview the page in a browser to test the interaction.
These are the standard two-dimensional transform controls applied before the 3D effect.
Type
None — Applies no transform. This is the default.
Static — Applies one fixed transform.
Hover — Animates between Start and End values when the selected element is hovered.
For Hover transforms, Over chooses the trigger: Self, Parent, Container, Grid, Flex, or Custom ID. When using Custom ID, enter the ID of the element that should trigger the effect.
Origin sets the pivot point. Scale defaults to 100%, Rotate to 0°, Translate to 0px, and both Skew values to 0°. Hover mode provides separate Start and End values.
Type
None — Disables 3D transforms. This is the default.
Static — Applies a fixed 3D transform.
Hover — Animates between Start and End values on hover.
For Hover and Mouse, Over selects Self, Parent, Container, Grid, Flex, or Custom ID as the trigger.
Perspective
Distance — Controls the strength of the perspective, from the most exaggerated to the most subtle: Dramatic (100px), Near (300px), Normal (500px), Midrange (800px), and Distant (1200px). Shorter distances exaggerate the 3D effect. None removes the perspective, flattening the result. The default is Normal.
Origin — Sets the viewpoint from Center or any edge or corner. The default is Center.
Backface
Enable Hide to prevent the reverse side of rotated content from showing. It is off by default.
Transform Values
X and Y rotate the content around the horizontal and vertical axes. Both default to 0°.
Scale Z controls depth scaling and defaults to 100%. It has no visible effect on its own — combine it with a Rotate X or Rotate Y value.
Depth moves the content towards or away from the viewer and defaults to 0px. Use any CSS length such as 10px
Hover and Mouse modes provide separate Start and End values.
Transitions control how quickly Hover and Mouse states change. Set the animated property, easing curve, duration, and delay in the standard Transitions controls.
Keep important content readable without the effect. Avoid large or rapid pointer-driven movement, and provide enough contrast when a transform changes the component’s appearance.
Start subtly: Small rotations and modest perspective usually feel more natural.
Test the backface: Enable Backface Hide when content looks mirrored during a rotation.
Preview in a browser: Mouse tracking and hover behaviour are best tested outside Edit mode.
— Animates content as it enters the viewport.
— Groups and styles the content placed inside a 3D Transform.
Let visitors attach files to a form submission
Attachment adds a drag-and-drop file field to a Form. It can accept one or several files, restrict file categories, enforce a per-file size limit, and show removable previews.
You’ll find Attachment under Forms in the Components list.
Place Attachment inside a Form.
Enter a short, unique Name.
Choose whether it accepts Multiple files.
Select the accepted file category and maximum size.
Edit the drop-zone and button text on the canvas.
Publish and test with files that should pass and fail.
Required is off by default.
Name identifies the uploaded field. It is blank by default. Use letters, numbers, hyphens, or underscores.
Multiple is off by default. Enable it to accept more than one file.
Accept is not responsive and defaults to All File Types. Options are:
All File Types
Images
Videos
Audio
Documents include common PDF, Word, Excel, and PowerPoint formats. Zip includes ZIP and 7z-compatible archive types.
Max File Size is measured in megabytes per file and defaults to 2.
Alignment offers Start, Centre, or End and defaults to Centre.
Gap defaults to theme spacing 4.
Button Color defaults to Brand 500.
Preview in Edit → Enabled is on by default and shows a sample preview while designing.
Preview styling defaults:
Thumbnail — Theme spacing 10.
Background — Surface 50.
Close — Red 500.
Set Border Width and Radius using their Theme Studio controls.
Keep the Select Files text descriptive, state accepted formats and maximum size near the field, and do not communicate upload errors through colour alone.
Check Accept and Max File Size. The browser supplies the file’s MIME type, which must match the selected category.
Enable Multiple and use Email delivery when every selected file must be sent.
— Configures delivery and validation.
— Displays form-level failure feedback.
— Provides the clickable submission control.
Reveal wrapped content through SVG, edge, linear, or radial masks
The Mask component clips its child content with an SVG or a configurable gradient. Use it to create shaped images, soft fades, or decorative edge treatments without editing the original content.
You’ll find Mask under Media in the Components list.
Drag Mask onto the page.
Place the content to be masked inside it.
Choose SVG, Edge, Linear, or Radial under Mask → Type.
Configure the controls shown for that mask type.
Preview the result at each breakpoint.
Type
None — Applies no mask. This is the default.
SVG — Uses an SVG resource as the mask.
Edge — Fades one or more edges.
SVG
SVG — Selects the mask resource.
Mode — Uses Alpha or Luminance. Alpha is the default.
Size — Offers Auto, Contain, Cover, or Custom. Contain is the default.
Opaque areas of the SVG reveal the wrapped content.
Edge
Choose Top, Right, Bottom, Left, Horizontal, or Vertical under Side. Bottom is the default. From and To set the fade range and default to 75% and 100%.
Linear
Angle defaults to 45°. From and To set the fade range and default to 10% and 90%.
Radial
Size offers Full, Closest Side, Closest Corner, Farthest Side, or Farthest Corner. Full is the default. Position defaults to Centre. From and To default to 70% and 100%.
Masking should be decorative. Do not hide text or controls that visitors need to understand or operate the page.
Use simple SVGs: Clear black or opaque shapes produce predictable masks.
Check responsive crops: Position and sizing may need different values at smaller breakpoints.
Keep controls visible: Avoid masking interactive content near its hit area.
— Includes a simpler SVG mask option for a single image.
— Displays and styles vector artwork directly.
Create a styled action or navigation control
The Button component creates a prominent clickable control for navigation or actions such as opening a Modal. It supports editable text, optional content drop zones, responsive sizing, and separate normal and hover styles.
You’ll find Button under Content in the Components list.
Drag Button onto the page.
Edit its label directly on the page.
Set the destination in Link → To.
Configure text, background, border, and hover styles.
Optionally enable a Left or Right drop zone for an SVG, Image, or other small component.
To sets the destination. Choose a page, resource, website, email address, phone number, anchor, or other supported link type.
Show displays the button label and is enabled by default.
Use State to style Normal and Hover text independently:
Color and Opacity — Default to Surface 50 at 100%.
Text Shadow — Defaults to None.
General controls include Align, Family, Size, Weight, Spacing, Line Height, Case, Italic, and Underline. Alignment defaults to Centre, font to Body, size to Base, weight to 400, spacing and line height to Normal, and other styles to off.
Dropzone
None — Uses text only. This is the default.
Left — Adds a drop zone before the label.
Right — Adds a drop zone after the label.
Spacing appears when a drop zone is enabled and defaults to theme spacing 2.
Choose None, Static, or Hover. Hover is the default and provides separate Start and End styles. Background Style can be Color, Image, or Gradient. Image controls include position, size, repeat, and fetch priority; Gradient controls include type, direction, interpolation, colour stops, opacity, and stop positions.
Use a Flex component when you want to control a group of buttons:
Add a Container.
Add a Flex inside the Container.
Add two or more Buttons inside the Flex.
Set Flex Direction to Row, Justify to Centre, and Align Items to Centre.
Use action-oriented labels that describe the result, such as “Download Guide” rather than “Click Here”. Keep visible hover and keyboard focus states, and do not place interactive components inside a linked Button.
— Aligns and spaces groups of Buttons.
— Can be opened from a Button.
— Adds a custom icon through the Button drop zone.
Collect text, email, numbers, passwords, telephone numbers, URLs, or multi-line content
Input creates a single form field. Its Type selects the appropriate browser input, validation, keyboard, and autofill behaviour.
You’ll find Input under Forms in the Components list.
Place Input inside a Form.
Choose the correct Type.
Enter a short, unique Name.
Add a whose For value exactly matches the Name.
Set Required and Placeholder as needed.
Style the text, border, background, and focus outline.
Type is not responsive and defaults to Text:
Text
Textarea
Number
Textarea reveals Rows, which defaults to 3.
Name is blank by default. If left blank, Elements generates a name. Use letters, numbers, hyphens, or underscores and do not reuse a Name within the Form.
Required is off by default.
Placeholder defaults to “Placeholder”.
Placeholder Color defaults to Text 400.
Input text Color defaults to Text 50.
Font defaults to Body and Size to Base.
Type defaults to None:
None — Adds no outline.
Static — Uses one outline style.
Focus — Provides Unfocused and Focused states.
Outline defaults are Solid style, Surface 500 colour, 100% opacity, width 1, and offset 0.
Keep a visible Focus state for keyboard users.
Input uses 100% Width and Auto Height.
Spacing is enabled with zero Margin and Padding 2 vertically and 3.5 horizontally.
The Border is Static by default with Solid style, Surface 900 colour, 100% opacity, Theme Default width, and no radius.
Use the most specific Type, add a visible Label, and do not use Placeholder as the only label. Explain required formats or password rules before the field.
— Connects descriptive text to the Input.
— Adds a calendar interface.
— Presents a fixed list of choices.
Present custom content in an autoplaying or visitor-controlled slider
The Content Slider component displays a collection of slides containing any Elements components. It is useful for testimonials, feature panels, announcements, or other content that visitors can move through with arrows or dots.
You’ll find Content Slider under Interactive in the Components list.
Drag Content Slider onto the page.
Add items to the Slides collection.
Select a slide in Active Slide to edit its drop zone.
Choose the transition and autoplay behaviour.
Style the arrows, dots, background, and borders.
Slides adds, removes, and reorders the slides. Each collection item creates a drop zone that can contain other components.
Active Slide chooses which numbered slide is displayed in Edit mode. It defaults to 1 and does not change the slide visitors initially see.
Effect controls the transition:
Slide — Moves horizontally between slides. This is the default.
Fade — Crossfades between slides.
Auto Play is enabled by default. When enabled, Interval controls the delay between slides: 3, 5, 7, 10, or 15 seconds. The default is 5 seconds.
Arrows
Show Arrows — Displays previous and next controls. Enabled by default.
Size — Sets the arrow button size. The default theme spacing value is 10.
Radius — Sets the corner radius. The default is Full.
Dots
Show Dots — Displays pagination dots. Enabled by default.
Size — Defaults to theme spacing 3.
Spacing — Defaults to theme spacing 2.
Each Slides collection item has a Title used to identify it in Elements. The default title is “Slide”.
Do not place essential information in only one automatically advancing slide. Make sure controls have sufficient contrast, and allow visitors enough time to read each slide.
Keep slide heights consistent: Similar content lengths prevent distracting layout shifts.
Use measured autoplay: Five to seven seconds is a comfortable starting interval for short content.
Check every slide: Use Active Slide in Edit mode to review the complete collection.
— A slider designed specifically for images.
— Lets visitors choose content directly without automatic playback.
Build expandable, multi-level navigation from your site pages
The Tree component builds hierarchical navigation from your site structure. It is ideal for documentation sidebars, large section menus, and any nested navigation where visitors need to expand and collapse page groups.
You’ll find Tree under Navigation in the Components list.
Drag Tree onto the page or into a sidebar.
Choose All, Active Page, or Selected Page as the source.
Set automatic or manual depth.
Select the submenu SVG and configure its placement.
Style top-level, second-level, and deeper menu items.
Preview submenus while editing, then test the complete tree in a browser.
Preview Sub Menus displays all nested items in Edit mode. It is off by default.
Use
All — Builds from the complete site hierarchy. This is the default.
Active Page — Builds from children of the active page.
Selected Page — Builds from children of the selected Page link.
Depth can be Auto or Manual. Auto is the default. Manual reveals Show, which defaults to 1 level.
Duration controls opening and closing in milliseconds and defaults to 200.
Icon selects the submenu indicator SVG.
Size defaults to theme spacing 4.
Placement positions the icon at Start or End and defaults to End.
Page Icon Display is off by default. When enabled, Size defaults to theme spacing 5 and Spacing to 2.
Layout controls include item Padding and Gap; the gap defaults to theme spacing 2.
Font controls include Font, Size, Weight, Letter Spacing, and Line Height. Font defaults to Body and Size to Base.
Radius defaults to 0. Use State to edit Normal and Hover Text, Background, and background Opacity independently.
Indent defaults to theme spacing 3 and Item Spacing to 2.
Border controls set Size, Color, and Opacity. The default border width is 0, colour is Surface 200, and opacity is 100%.
Set Padding, Font, Size, Weight, Letter Spacing, Line Height, and Radius. Use State to edit Normal and Hover Text, Background, and Opacity.
Normal background opacity defaults to 0%, keeping the background transparent.
Indent and Item Spacing both default to theme spacing 3. Border Size defaults to 0, Color to Surface 200, and Opacity to 100%.
These repeat the second-level item controls for deeper pages: Padding, typography, Radius, and separate Normal and Hover Text, Background, and Opacity.
Keep page names concise and make expanded, collapsed, active, hover, and keyboard focus states visually distinct. Use a familiar submenu icon and test every level with a keyboard.
Limit visible depth: Very deep trees can overwhelm visitors; show only the levels needed for the current section.
Use Preview for styling: Turn it on while working, then test real expansion in a browser.
Differentiate hierarchy: Use indentation, spacing, or text weight consistently between levels.
— Provides primary responsive site navigation.
— Shows the path to the current page.
— Displays a flat list of top-level pages or folder contents.
Turn a child Button or similar component into the form submission control
Submit provides the behaviour that validates and submits its parent Form. It is a wrapper with a drop zone; it does not draw a visible control of its own.
Submit does not work on its own. Add a Button, Image, or another visible and clearly clickable component inside its drop zone. Without a child component, visitors have nothing to click and the form will not submit.
You’ll find Submit under Forms in the Components list.
Place Submit inside a Form.
Drag a Button into Submit’s drop zone.
Edit the Button text—for example, “Send message”.
Leave the Button’s Link unset so it does not navigate away.
Add and content to the Form.
Publish and test validation, loading, success, and failure behaviour.
Button is the recommended child because it gives visitors familiar semantics, focus behaviour, and a clear click target. Another component can be used when it remains keyboard accessible and its purpose is obvious.
Submit has no component-specific Inspector settings. Its child component controls appearance, size, text, hover, focus, and accessibility.
Advanced Classes and ID are available on the Submit wrapper.
Clicking the child component asks the parent Form to:
Check browser validation and Required fields.
Display invalid-field styling when needed.
Collect field values and attachments.
Send the data to the configured Email or Webhook endpoint.
Use a Button with an action label such as “Send message”, “Create account”, or “Request quote”. Avoid vague labels such as “Click here”. Keep the control reachable and operable with a keyboard.
Confirm that:
A Button or similar clickable component is inside Submit.
Submit is inside Form.
The child Button does not have a Link destination.
Clear the child Button’s Link. Submit supplies the action; the Button does not need its own destination.
— Configures validation and delivery.
— Shows successful-submission content.
— Shows failure content.
Create headings, paragraphs, labels, and short text blocks
The Text component creates editable headings, paragraphs, taglines, labels, and other short text. It provides responsive typography, solid or gradient text colour, link states, decoration, effects, and semantic HTML tags.
You’ll find Text under Content in the Components list.
Drag Text onto the page.
Edit the text directly on the page.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.

Apply one-off utility styles carefully: For example, adding blur-sm under Advanced → CSS Classes blurs the Container and its contents. See the Tailwind blur utilities and Tailwind CSS documentation.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
State — Switches between Open and Closed icon styling.
Rotation — Defaults to 90° for Open and 180° for Closed.
Color — Sets the SVG colour for each state and defaults to Surface 900.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
The Transitions settings adjust the speed of the animation when using the transform, filter, and effects properties. They do not currently affect the duration of the accordion opening or closing.

Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
2remAdd responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Documents
Zip
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
In the current release, Attachment’s Required setting is not applied to the published file input. Do not rely on it to prevent an empty submission.
Webhook submissions send only the first attached file. Multiple attachments are supported with Email delivery.
Radial — Creates a circular or elliptical gradient mask.
100% 100%.Position — Anchors the mask to the centre, an edge, or a corner. Centre is the default.
Repeat — Offers No Repeat, Repeat, Horizontal, Vertical, Round, or Space. No Repeat is the default.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Buttons use Auto left and right margins by default. When a Flex or Grid should control alignment and gaps, set each Button’s margins to 0. Changing Button padding does not reset its margins.

Password
Search
Telephone
URL
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Name an Email input exactly email when the submitted address should become the email’s Reply-To address.
Background and Color — Set the button and icon colours for the selected state.
Color and Active Color — Set the colours for inactive and current-slide dots.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Show Success or Error content, or follow the configured redirect.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Choose the correct semantic Tag.
Set alignment, font, size, weight, spacing, line height, and colour.
Configure link or hover states where required.
Text size and many other controls can change by breakpoint.
Tag controls the rendered HTML and defaults to Paragraph. Options are Paragraph, Heading 1–6, Span, Div, or Custom. Custom reveals a Custom Tag field that defaults to div.
The tag affects semantics and SEO rather than visual appearance. Use one Heading 1 for the page’s main subject, then maintain a logical heading order.
Text Align offers Left, Centre, Right, or Justify and defaults to Left.
Font defaults to Body and Size to Base.
Weight ranges from Thin 100 to Black 900 and defaults to 400.
Spacing offers Tighter through Widest and defaults to Normal.
Line Height offers None, Tight, Snug, Normal, Relaxed, or Loose and defaults to Normal.
Italic is off and Text Shadow defaults to None.
Case offers None, Uppercase, Lowercase, Capitalise, or Small Caps and defaults to None.
Whitespace
None — Applies no extra whitespace class. This is the default.
Normal — Collapses spaces and allows wrapping.
Nowrap — Prevents wrapping.
Pre — Preserves spaces and line breaks without wrapping.
Pre Line — Collapses spaces but preserves line breaks.
Pre Wrap — Preserves spaces and line breaks while allowing wrapping.
Break Spaces — Preserves spaces and lets them become wrapping opportunities.
Underline offers No Underline, Underline, Overline, or Line Through. When enabled, Style offers Solid, Double, Dotted, Dashed, or Wavy. Underline also reveals Offset, which defaults to 1 pixel. Decoration Color defaults to Text 100 at 100% opacity.
Type can be Static or Hover and defaults to Static. Hover lets Self, Parent, Container, Grid, Flex, or a Custom ID trigger the colour change, then provides Start and End states.
Style can be Color, Image, or Gradient and defaults to Color.
Solid text defaults to Text 50 at 100% opacity. The hover End colour defaults to Text 200.
Gradient text can be Linear, Radial, or Conic. Set direction or position, interpolation, From and To colours, opacity, and stop positions. Add Via inserts an optional middle colour.
Image text uses a resource with Position, Size, Repeat, and Fetch Priority controls.
Use State to style Default, Hover, and Visited links independently.
Each state provides Color, Font Weight, and Underline. Default links use Brand 500; Hover and Visited use Brand 800. Weight defaults to 400.
Advanced classes can create one-off effects inside a Text component.
Examples from the video:
See the Tailwind CSS documentation for available utilities.
This does not securely protect published text; it only discourages casual selection.
Add a no-copy class to the Text component.
Add this CSS in Edit Page Code → CSS:
Optionally add this in Edit Page Code → JavaScript to disable the page’s context menu:
Choose semantic tags for meaning, preserve a logical heading hierarchy, and keep text readable when responsive sizes, gradients, effects, or whitespace settings are applied.
Typography — Styles long-form structured content.
Markdown — Writes formatted content using Markdown syntax.
Button — Creates a prominent linked action.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
blur-sm
hover:blur-sm transition
hover:line-through
inline-block rotate-[2deg]
underline decoration-wavy underline-offset-[10px].no-copy {
user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}document.addEventListener("contextmenu", e => e.preventDefault());Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.

Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.








Display and style scalable vector graphics
The SVG component displays scalable vector artwork such as icons, logos, and illustrations. SVGs remain sharp at every size and can often be recoloured directly from Elements.
By default, the component removes size, fill, stroke, and style attributes from the rendered SVG so its appearance can be controlled in the Inspector. The original resource stored in Elements is not changed.
The component accepts SVG resources. Use the Image component for JPG, PNG, and other bitmap images.
You’ll find SVG under Media in the Components list.
Drag SVG onto the page.
Drop an SVG from Finder or Resources into the SVG field.
Decide which embedded attributes Elements should remove.
Configure Fill, Stroke, Link, and Sizing.
Preview hover states in a browser.
SVG selects the resource.
Under Remove Attributes, each switch controls whether Elements strips that attribute while rendering:
Size — Removes embedded width and height. Enabled by default.
Fill — Removes embedded fill attributes. Enabled by default.
Stroke — Removes embedded stroke attributes. Enabled by default.
Disable a switch when the original SVG must retain that attribute.
Type can be None, Static, or Hover.
For Hover, Over chooses Self or Parent and State switches between Start and End.
Each visible state provides Color and Opacity. Both Start and End default to Surface 50 at 100% opacity.
Type can be None, Static, or Hover. Hover provides Start and End states and can be triggered by Self or Parent.
Each state provides Color, Opacity, and Width. Colours default to Surface 50, opacity to 100%, and width to 1.
Set To to make the SVG link to a page, resource, website, email address, phone number, anchor, or another supported destination.
Elements can remove common attributes at render time, but the SVG’s internal structure still determines whether fills and strokes respond correctly.
Remove fixed width and height values when the SVG does not resize as expected.
Use currentColor for fill or stroke when the artwork is designed to inherit a colour.
If
For a practical workflow, see . You can use with the .
For a deeper introduction to working with SVG, see .
Decorative SVGs should not duplicate nearby text. When an SVG conveys meaning, provide an accessible text label through the surrounding link, button, caption, or content structure.
Check for hard-coded fill, stroke, class, or style values inside the SVG. Enable the relevant Remove Attributes switches, or clean the file in an SVG editor.
Enable Remove Attributes → Size or remove fixed width and height attributes from the source SVG, then use the component’s Sizing controls.
— Displays bitmap images with responsive source and lightbox controls.
— Uses an SVG to reveal wrapped content.
Build responsive navigation automatically from your site pages
The Menu component creates responsive navigation from the pages and folders in your Elements project. It supports a logo or site title, styled desktop links, dropdown submenus, a mobile trigger, and a configurable mobile menu.
You’ll find Menu under Navigation in the Components list.
Drag Menu onto the page or a shared header.
Choose a Logo, site Title, or custom Dropzone.
Style the navigation items and their active states.
Choose when the mobile trigger appears.
Enable the mobile menu Preview while styling it.
Test desktop dropdowns and the mobile menu in a browser.
Width offers Auto, Full, Screen, Breakpoint, or Theme Spacing. Breakpoint is the default; Theme Spacing reveals a value defaulting to 36.
Height offers the same modes and defaults to Auto.
Gap controls space between the logo and navigation and defaults to theme spacing 2.
Link sets the logo or title destination. When unset, it links to the site homepage.
Type
Logo — Uses the site logo and shows Width, which defaults to 100.
Title — Displays the site title. This is the default.
Dropzone — Uses custom child content.
Title mode provides Color, Opacity, Font, Size, Text Shadow, Weight, Spacing, Italic, and Underline. Defaults include Text 50, 100% opacity, Body font, Extra Large size, and no shadow, italic, or underline.
Margin defaults to 0 on every side.
Alignment positions navigation labels at Start, Centre, or End and defaults to Centre.
Font defaults to Body and Size to Base. Use Weight, Spacing, and Italic for the general text style.
Use State to edit Default and Active text colours, opacity, text shadow, and underline independently.
The Background state controls can apply a colour to Default or Active items. Each state offers None or Color. Padding and Radius apply around the navigation item.
Display chooses when desktop navigation changes to the mobile trigger: on small screens, up to medium, up to large, up to extra large, or always. Up to Large is the default.
Position places the trigger first or last; Last is the default.
Type uses the built-in Hamburger or a custom Dropzone. Hamburger is the default and provides Default and Hover colours.
Close Icon controls its Top and Right offsets, both defaulting to theme spacing 8, plus separate Default and Hover colours.
Preview displays the mobile menu in Edit mode and is off by default.
Position Type
Uniform — Uses one Inset value on every side.
Individual — Uses separate Top, Right, Bottom, and Left values. This is the default.
Individual positioning defaults to 6 on Top, Right, and Left, with Bottom set to Auto.
Animation offers Slide Down, Slide Up, Slide Left, Slide Right, Fade, Zoom, or None. Slide Down is the default.
Set the panel Background, Opacity, Blur, Shadow, border Width, Color, and Radius. The Backdrop has separate Color, Opacity, and Blur controls.
Desktop Dropdown Padding defaults to theme spacing 2 on every side. Vertical Item Spacing also defaults to 2.
For a traditional sticky header:
Open Layout → Position.
Choose Sticky.
Set Type to Individual.
Sticky remains in the normal document flow until it reaches the specified position. If an ancestor clips overflow or does not provide enough scrollable space, use Fixed instead. Fixed removes the Menu from normal flow and keeps it at the viewport position throughout scrolling.
Use concise page titles, maintain visible active and focus states, and ensure the mobile trigger has sufficient contrast. Test every menu level with a keyboard and avoid placing essential links only inside hover interactions.
— Shows the current page’s position.
— Builds expandable multi-level navigation.
— Creates a simpler automatic list of pages.
Display, search, sort, and paginate structured data
The Table component presents structured data in rows and columns. Data can be entered manually, loaded from a CSV resource, or fetched from a CSV or Google Sheets URL. Tables can include headers, footers, sorting, search, pagination, striped rows, and custom cell content.
Pages containing the Table component must be published as PHP.
Remote CSV data must be publicly accessible to the published site.
Manual columns and rows
CSV files stored in Resources
Public CSV URLs
Published Google Sheets data
You’ll find Table under Content in the Components list.
Drag Table onto the page.
Choose Manual, CSV File, or CSV URL.
Add and configure the Columns collection.
Data Source
Manual — Uses editable cells and a Rows setting. This is the default.
CSV File — Loads a CSV resource.
CSV URL — Loads a public CSV or Google Sheets URL.
CSV File reveals CSV File. CSV URL reveals CSV URL.
For CSV sources, First Row is Header is enabled by default; the header row is displayed only when Show under Header Cells is also enabled. If First Row is Header is turned off, the first CSV row is treated as data and appears in the table body. The Columns collection maps to CSV columns by position.
For Manual data, Rows sets the number of body rows and defaults to 3.
Columns Collection
Each column provides:
Cell Mode — Text or Dropzone for Manual data. Text is the default.
Width — Defaults to Auto.
Alignment — Default, Left, Centre, or Right.
Sorting is enabled per column in the Columns collection.
Search is off by default. Enabling it reveals Placeholder, which defaults to “Search…”.
Pagination is off by default. Enabling it reveals Rows Per Page, which defaults to 10.
Show is enabled by default. Turning it off removes the header row — including your column titles — from the table and the editing canvas until it is re-enabled.
Padding defaults to theme spacing 2 on every side. Align offers Top, Middle, or Bottom and defaults to Top. Background defaults to Surface 50.
Borders provide Solid, Dashed, or Dotted Style, plus Width and Color. Style defaults to Solid and Color to Surface 200.
Set Alignment, Font, Color, Size, Weight, and Spacing. Defaults include Heading font, Text 50, Base size, and weight 600.
Padding defaults to theme spacing 2 and vertical Align to Top.
Background
Color — Sets the base row colour and defaults to Surface 50.
Striped — Enables alternating rows and is off by default.
Even — Appears for striped rows and defaults to Surface 100.
Hover is off by default. Enabling it reveals Hover Color, which defaults to Surface 200.
Body borders provide Style, Width, and Color. Style defaults to Solid and Color to Surface 200.
Set Alignment, Font, Color, Size, Weight, and Spacing. Defaults include Body font, Text 50, Base size, and weight 400.
Show is off by default. Enabling it adds a footer row with an editable cell per column (text or drop zone, following each column's Cell Mode) and reveals Padding, Align, Background, and border controls. Turning it off removes the footer row and anything placed in it from the page. Defaults include theme spacing 2, Top alignment, Surface 100 background, Solid borders, and Surface 200 border colour.
Footer Text provides Alignment, Font, Color, Size, Weight, and Spacing. Defaults include Body font, Text 50, Base size, and weight 600.
Set Padding, Margin Bottom, Font, Text Color, Size, Placeholder Color, Background, border Style, Width, Color, and Radius.
Defaults include padding 2 vertically and 3 horizontally, margin 4, Body font, Text 50, Base size, Text 300 placeholder, Surface 50 background, Solid border, Surface 200 border colour, and Medium radius.
Margin Top defaults to theme spacing 4.
Alignment offers Between, Centre, or End and defaults to Between.
Button controls set Font, Size, Text Color, and Disabled Color. Defaults are Body, Small, Text 50, and Text 300.
Use a header row for column names and keep labels concise. Do not hide information required to understand the data. Check search, sorting, pagination, and Dropzone controls with a keyboard.
Confirm that the page is PHP, the CSV URL is public, and the server can reach it. For Google Sheets, use a published CSV-compatible URL rather than an editor-only link.
Reorder the Columns collection so its first item maps to the first CSV column, the second item to the second column, and so on.
— Builds visual card layouts rather than semantic tabular data.
— Filters tagged components outside a Table.
Add YouTube, Vimeo, or MP4 video to a page
The Video component displays one YouTube, Vimeo, or MP4 video. It supports autoplay rules, start time, looping, player controls, a custom thumbnail, responsive framing, and an optional lightbox.
YouTube
Vimeo
MP4
Add a YouTube or Vimeo URL to Resources by dragging it from your browser. Add a local MP4 from Finder or import a remote URL.
You’ll find Video under Media in the Components list.
Add the video to Resources.
Drag Video onto the page.
Select the video under Video → Resource.
The Video component also has a drop zone for a custom play button, text, or graphic.
Autoplay
Immediately — Attempts to play when the page loads.
When in Viewport — Plays when the video enters the viewport.
Never — Waits for the visitor. This is the default.
Muted is enabled by default. Most browsers require muted audio for autoplay.
Controls shows or hides native player controls. Loop restarts the video when it finishes. These controls apply where supported by the selected video type.
Time (seconds) sets the playback start point and defaults to 0.
Enable opens the video in an overlay and is off by default.
When enabled, Color defaults to Black, Opacity to 50%, and Blur to 0 pixels.
Type can be Resource, Custom, or CMS. Resource is the default.
Mode switches between Light and Dark thumbnail sources. Custom uses a URL or path; CMS uses a field expression defaulting to {{item.image.src}}.
As with the component, the CMS field must be a Twig expression that outputs the image's URL, like the default {{item.image.src}} — a front matter key on its own won't work.
Custom and CMS thumbnails provide Alt text.
Overlay Color defaults to Surface 50 and Opacity to 50%.
Aspect Ratio offers Auto, Wide 16:9, Tall 4:5, or Custom. Auto is the default; Custom defaults to 7/5.
For a fixed ratio, Object Fit offers Fill, Contain, Cover, None, or Scale Down and defaults to Cover. Position sets the thumbnail focal point and defaults to Centre.
The aspect ratio controls the thumbnail frame rather than changing the source video’s dimensions.
Provide captions or a transcript for spoken content. Avoid unexpected audio, retain usable player controls, and describe custom thumbnails when they convey information.
Mute autoplay: It is required by most browsers and avoids surprising visitors.
Use an intentional thumbnail: A compressed JPG usually offers good quality and performance.
Avoid autoplay for essential content: Give visitors direct control over important videos.
— Shares thumbnail source and aspect-ratio controls.
— Combines several videos and images in one lightbox.
— Supports background video.
Arrange components in a responsive row or column with Flexbox
The Flex component is a one-dimensional layout tool based on CSS Flexbox. It arranges child components in a row or column and gives you responsive control over direction, wrapping, spacing, and alignment.
You’ll find Flex under Layout in the Components list.
Drag Flex onto the page.
Add components to its drop zone.
Choose a row or column direction.
Set wrapping, gaps, alignment, and justification.
Adjust settings at each breakpoint as required.
Add tags when this Flex should be controlled by a or component. Each collection item contains one tag title. Tags on their own do not make the Flex filterable — you must also switch on Filter → Enable and put the Flex in the same group as the Filter or Filter Tags component.
Enable filtering to make the Flex a filterable item. Use its parent as the group or provide a custom Group ID, then choose the Dim, Zoom Out, or Slide transition.
Direction controls the main axis. Choose Column (the default), Column Reverse, Row, or Row Reverse. A new Flex stacks its children vertically until you switch it to Row.
Wrap Items
No Wrap — Keeps all children on one line. This is the default.
Wrap — Moves items onto additional lines when space runs out.
Wrap Reverse — Wraps additional lines in the opposite cross-axis direction.
Gap
Horizontal and Vertical gaps independently control spacing between items. Both default to theme spacing 2.
Align
Content distributes the lines of a wrapped container along the cross axis. It only has an effect when Wrap Items is set to Wrap or Wrap Reverse and the items occupy more than one line. Defaults to Normal.
Normal — Lines keep their default position.
Start, End, Center — Packs the lines at the start, end, or centre of the cross axis.
Between, Around, Evenly — Spreads the spare space between, around, or evenly among the lines.
Items aligns each child within its line, on the cross axis. Defaults to Normal.
Normal — Children behave as if Stretch were set, unless they have a size of their own.
Start, End, Center — Aligns children at the start, end, or centre of the cross axis.
Stretch — Children fill the cross axis of the line.
Justify
Content distributes the children along the main axis — the axis set by Direction. Defaults to Normal.
Normal — Children keep their default position.
Start, End, Center — Packs the children at the start, end, or centre of the main axis.
Between, Around, Evenly — Spreads the spare space between, around, or evenly among the children.
Items maps to the CSS justify-items property, which sets the default inline-axis alignment of each child within its own area. It is honoured by grid layouts; in a Flex container the main-axis distribution comes from Justify Content instead. Use when you need per-item justification. Defaults to Normal. Options are Normal, Start, End, Center, and Stretch.
The Link group can make the whole Flex clickable. Avoid wrapping multiple interactive child controls inside one link. When a link destination is set, Flex renders as an <a> element. This replaces whatever is chosen under Advanced → HTML Tag — clear the link if you need a different wrapper tag.
Use Row for horizontal groups: It is ideal for buttons, badges, and navigation items.
Use Column for stacks: It gives vertical layouts consistent gap control.
Reset child auto margins: Auto margins on Buttons can override the Flex Gap and Justify settings.
— Creates two-dimensional row-and-column layouts.
— Groups content and can act as a Flex item.
Display responsive resource, custom, or CMS images
The Image component displays a project resource, custom URL, or CMS image. It supports separate light and dark images, responsive framing, lazy loading, fetch priority, an SVG mask, links, and an optional full-screen lightbox.
Use Image for bitmap resources such as JPG and PNG. Use the SVG component when the vector artwork itself needs fill or stroke styling.
You’ll find Image under Media in the Components list.
Drag Image onto the page.
Choose Resource, Custom, or CMS.
Select or enter both Light and Dark sources if needed.
Add alternative text or complete the image metadata in Resources.
Configure file sizing, loading, aspect ratio, and optional lightbox or mask.
Type
Resource — Uses an image stored in the project. This is the default.
Custom — Uses an absolute URL or site-relative path.
CMS — Uses a CMS field expression.
Mode switches between Light and Dark while choosing the source. Light is selected by default.
The dark image is shown automatically when the visitor’s browser or operating system is set to dark mode (prefers-color-scheme: dark). If no dark image is set, the light image is used everywhere.
Custom mode displays Source. CMS mode displays Field, which defaults to {{item.image.src}}. Both modes provide Alt text.
The Field value must be a Twig expression that outputs the image's URL, like the default {{item.image.src}}. Typing a front matter key on its own (for example image) won't work — wrap it as an expression, e.g. {{item.image}} if your front matter stores the URL directly.
For Custom and CMS sources, Width and Height define the intrinsic image size and default to 1280 × 720. Display size is controlled separately under Sizing.
For Resource images:
Original — Exports the original resource size. This is the default behaviour.
Custom — Exports a resized file. File Size defaults to 400 pixels.
Image Protection discourages simple right-click downloading and is off by default. It cannot prevent visitors from retrieving an image already delivered to their browser.
Lazy Loading adds the browser’s loading="lazy" attribute and is off by default. Avoid lazy loading a prominent image near the top of the page.
Fetch Priority offers Auto, High, or Low and defaults to Auto.
SVG selects the mask resource. Black or opaque areas reveal the image.
Size offers Contain, Cover, or Fill and defaults to Contain.
Enable opens the image full-screen when clicked and is off by default.
When enabled, Color defaults to Black, Opacity to 50%, and Blur to 0 pixels.
Set To to link the image. Avoid enabling both a Link and Lightbox because visitors need one clear click action.
Aspect Ratio
Auto — Uses the image’s natural ratio. This is the default.
Wide — Uses 16:9.
Tall — Uses 4:5.
When the ratio is not Auto, Object Fit offers Fill, Contain, Cover, None, or Scale Down and defaults to Cover, and Position chooses the focal point from the centre, edges, or corners and defaults to Centre.
Browsers must download images before displaying them, so no front-end setting can make an image impossible to retrieve. Image Protection only discourages casual saving. Watermark valuable images and export them at an appropriate web resolution.
Describe informative images with concise alternative text. Leave alt text empty only for purely decorative images, and avoid repeating an adjacent caption word for word.
— Displays a folder of media in a grid and lightbox.
— Displays and recolours vector artwork.
— Provides more advanced masking options for wrapped content.
currentColorComplex inline styles or multiple hard-coded fills may require editing in an SVG tool.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.


Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.

Optionally enable sorting, search, pagination, header, and footer.
Style cells, text, search, and pagination, then test the published PHP page.
Hidden — Hides the column and is off by default.
Classes and ID — Advanced values for the column.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
Configure the thumbnail, aspect ratio, and optional lightbox.
Preview playback in a browser.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
To use a video as a section background, choose Video in a Container background. Watch the background video tutorial.
YouTube resources automatically provide a default thumbnail. Add your own when you need consistent branding or a different crop.





Stretch — Lines grow to fill the cross axis.
Baseline — Aligns the lines on their first baseline.
Baseline — Aligns children on their text baseline, which is useful for mixed type sizes.
Stretch — Children grow to fill the main axis where they have no fixed size.
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
x/y value; the default is 7/5.Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Link to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
CMS images show a placeholder while editing. Preview or publish the page to see the resolved CMS image.
Custom-sized resources are exported at twice the entered width for Retina displays. A File Size of 400 pixels creates an 800-pixel export.
Optimised image dimensions and appropriate lazy loading can improve page performance without reducing visible quality.




Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.




Build forms that submit to email or a webhook
The Form component is the wrapper for fields, attachments, feedback, and submission controls. It validates its fields, then sends the submission through an SMTP email account or to a webhook.
Forms require a published server with PHP 8.1 or newer. They do not submit in the normal local preview.
You’ll find Form and its related components under Forms in the Components list.
Drag Form onto the page.
Add Input, Date Picker, Select, Checkbox, Radio, Attachment, and Label components inside the Form.
Add a Submit component inside the Form.
Drag a clickable component—normally a Button—into the Submit component’s drop zone.
Add Success and Error components, then place the feedback content you want to show inside them.
Choose Email or Webhook delivery and enter the required connection details.
Configure spam protection if needed.
Publish to a PHP-enabled server and test a complete submission.
All form controls must be inside the Form wrapper.
Before publishing:
Type is not responsive and defaults to Email.
Email — Sends through the configured SMTP account.
Webhook — Sends to the URL entered under Webhook URL.
Webhook reveals Webhook URL, which is blank until configured.
Email delivery reveals:
Host — SMTP hostname. The placeholder is smtp.example.com.
Port — Defaults to 587.
Encryption — None, TLS, or SSL. TLS is the default.
Replace every example value before publishing.
Email delivery is powered by .
From Name — Name shown as the sender.
From Address — Sender address. It should normally match the SMTP account and its domain.
Subject — Defaults to “New Form Submission”.
Use an authenticated address as From. Do not use the visitor’s address as From; use the email field for Reply-To.
Template Style defaults to Default. Options are Default, Table, Simple, and Modern.
Email Title defaults to “New Form Submission”.
Email Footer is blank by default.
Verify Peer — Enabled by default.
Verify Peer Name — Enabled by default.
Allow Self-Signed — Disabled by default.
Service is not responsive and defaults to None.
None
reCAPTCHA
Turnstile
Honey Pot adds hidden fields that help identify automated submissions and needs no external keys.
reCAPTCHA, Turnstile, and hCaptcha reveal:
Style — Visible or Invisible. Invisible is the default.
Site Key
Secret Key
Obtain the keys from the selected provider and make sure they are authorised for the published domain.
Invalid fields default to Red 500 Background and Border colours. Their validation message defaults to Red 50 text.
These colours style invalid controls. Add the when you also want a custom form-level error message.
On Success is not responsive and defaults to Success Content.
Success Content — Shows the content inside a Success component.
Redirect — Reveals Link and sends the visitor to that destination.
Reset is enabled by default and clears the form fields after a successful submission.
Name the visitor’s email Input exactly:
The name is case-sensitive. Keep the authenticated account in From Address; the submitted email value becomes Reply-To.
A webhook sends the submission to another service, such as a database, CRM, automation tool, or server endpoint. Services such as , , and can use it to:
Add leads to a database or spreadsheet.
Send follow-up email.
Notify a team.
Create tickets or tasks.
Webhook attachments are limited to the first attached file. Email delivery supports multiple files when Attachment has Multiple enabled.
Append ?apicheck to the published URL of a page containing the Form:
The page reports whether the Forms API is reachable and shows the server’s PHP version.
The normal Elements preview is not a PHP server. To test against a local server:
Install a local PHP environment such as .
Publish the Elements site to a local folder.
Point the local server at that folder.
Confirm that a Button or other clickable component is inside Submit, and that Submit itself is inside Form. The empty Submit wrapper cannot be clicked.
Publish to a PHP-enabled server, run the PHP Server Check, and confirm that the server supports outbound SMTP or can reach the webhook URL.
Check Host, Port, Encryption, Username, and Password with the email provider. Remove accidental spaces. Make sure From Address is permitted by the authenticated account and that the SMTP certificate matches the Host.
Providers such as Fastmail may require an app password. See .
If the settings look correct but delivery still fails, search the for advice about your email provider or hosting setup.
Make sure each field has a valid Name and that Checkbox, Radio, and Select options have non-empty values. Test the published form using the same path a visitor will follow.
The published Forms API stores logs inside its api/logs directory. Files use a form-specific name and date; check the newest file created after the failed test.
Use a visible Label for each field, preserve keyboard focus outlines, identify required fields in visible text, and make Error and Success messages understandable without relying on colour alone.
Compare Stacks and Elements before making the switch
Elements is an excellent alternative to Stacks from YourHead Software because it simplifies the web design process while giving you powerful, modern tools to create beautiful, responsive websites. Unlike Stacks, which relies on a collection of costly third-party addons to extend functionality, Elements is built from the ground up with a streamlined, all-in-one approach.
It’s perfect for those who want a modern, more cohesive design experience, especially with the added benefit of Tailwind CSS for precise, professional styling.
Elements is a modern, all-in-one app designed specifically for today’s macOS and web standards, with a focus on performance, reusability, and simplicity. While Stacks combined with Foundation and additional stacks can get the job done, it often involves a more complex setup with multiple third-party add-ons and extra costs.
Displays custom content when form submission fails.
Collects text, email, numbers, passwords, search terms, telephone numbers, URLs, or multi-line text.
Associates visible descriptive text with a field.
Lets visitors choose one option from a group.
Presents a drop-down list of options.
Turns a child Button or similar component into the form’s submission control.
Displays custom content after a successful submission.
Username — SMTP account username, commonly the full email address.
Password — SMTP account password or provider-specific app password.
To Address — Address that receives the submission.
Honey Pot
Add responsive margin and padding.
Control fonts, text spacing, decoration, colour, and semantic wrappers.
Apply colour, image, gradient, SVG, video, and hover backgrounds.
Choose what animates and set its timing curve, duration, and delay.
Apply shadows, opacity, and hover effects.
Apply blur, brightness, saturation, shadow, and backdrop effects.
Scale, rotate, move, and skew components.
Set border style, colour, opacity, width, radius, and hover states.
Add CSS classes and IDs, or change supported HTML tags.
Accepts one or more uploaded files.
Collects zero, one, or several choices.
Collects a date and optional time.
emailhttps://example.com/contact/?apicheckLink to a page, resource, anchor, email address, or website.
Control positioning, stacking, visibility, overflow, and isolation.
Set width, height, and responsive size constraints.
The Submit component does not display a button and cannot be clicked on its own. It supplies submission behaviour to its drop zone. Add a Button, Image, or another clearly clickable component inside Submit so visitors have something to click.
We recommend a webhook when you do not need direct SMTP delivery. Webhook services often provide clearer logs, retries, and integrations with databases, spreadsheets, CRMs, and automation tools.
Keep peer verification enabled and self-signed certificates disabled for production. Change these only when your hosting provider has confirmed that the SMTP server requires it and you understand the security trade-off.
WYSIWYG Editor
✅ What you see is what you get
❌ Switch between Edit and Preview
Customisable Workspace
✅ Fully customisable palette system
❌ Unsupported
Node Browser
✅ Editable Node tree
❌ Unsupported
In-App Project Backup
Elements includes everything you need out of the box: Forms, CMS, Animation, Gallery, and more with no extra purchases required. In contrast, building a similar setup with Stacks typically involves buying multiple third-party add-ons to match the same level of functionality.
Elements includes everything in one app for a single price. Pricing ranges from $99 to $250, with most users choosing the $149 Plus plan. Every plan includes the features listed in the comparison chart above.
RapidWeaver Elements: $99 - $249 Total Cost: $149
The Stacks App is not currently available for purchase or production use, so the pricing shown below reflects the typical setup using the current stable tools. Even with multiple third-party add-ons included, this setup still falls short of the all-in-one feature set that comes standard with Elements.
Stacks App: $49+ (Pricing not announced) Foundation Framework: $99.95 - $149.95 (CSS Framework) VideoWall stack: $59.95 (Video Gallery) Photo Pro stack: $79.95 (Photo Gallery) Audio Pro: $59.95 (Audio) TotalCMS : $99.95 (CMS, per site) FormSnap 4: $49.95 (Forms) Squeezebox: $39.95 (Accordions) Bento: $49.95 (Grids)
Total Cost: $588.60+
Elements is a modern, all-in-one website builder built exclusively for macOS, no plugins, no patchwork. Unlike Classic + Stacks + Foundation + Additional stacks, which can quickly become expensive and fragmented, Elements gives you everything you need in one beautifully integrated app. It’s faster, cleaner, and easier to use, while still giving you full control over your design and code. Plus, Elements gets weekly updates, built in the open with direct feedback from users like you.
In this video, we edit a very similar website using both Stacks with the Foundation Framework and RapidWeaver Elements. We walk through the editing experience in each. It’s a side-by-side comparison that really shows just how much cleaner, faster, and more enjoyable building with Elements is.
If you’ve been using Stacks and Foundation for a while, you’ll probably recognise the pain points. In Elements, everything’s more streamlined. Components are smart and reusable, editing is instant, and you can focus on design without constantly fighting the tool.
I used RapidWeaver Classic for years, invested a lot (!) of money in frameworks, cms solutions and 3rd party stacks which all had a different way to name or sort their settings. That already drove me nuts.
There’ll sure be some 3rd party additions to Elements, but even in its current state it can do more than I was able to do with RW Classic + Foundry + easyCMS + lots of 3rd party stacks or even Blocs. Yes, there’ll be a learning curve, but it’s worth it.
I could’ve stayed with Classic, but being forced into the terrible UI/UX from Stacks to create a website… no way. And even more so if you switch back from Elements (or blocs, where I now come from) to RW classic and stacks. I can’t imagine that for the life of it.
Give it a try. You won’t be disappointed, and the forums and especially the developers offer a ton of help if you get stuck. — Fynn via the Forums.
"I'm planning on writing up a report on building out this new site as it was a real revelation what you can accomplish with Elements. The quality of the sites is so much higher than when I was dealing with Stacks.
For one of the projects I was extracting a lot of content out of a Classic/Stacks project and it was amazing how painful it was after working with Elements for these last 9 months.
You should be really proud with what you are creating it is amazing." — Robin Muir
"I have been on the beta for some time and I must say that going back to RapidWeaver Classic and Stacks every now and then to do updates etc on sites developed there, seems as if one is going back in time somehow.
Elements is truly forming to be an incredible web design app and I am excited for what is still coming! Keep up the great work Team Realmac!" — Gunther Schenk
This is the web design tool I have been dreaming of for over 20 years! Finally it appears my dream is becoming a reality! I am currently building a large website for a client using Rapid Weaver classic and the stacks plug in and it is a daily struggle with these antiquated tools! Sometimes it is so incredibly frustrating when I am trying to accomplish what I thought was a simple task which becomes a three day ordeal just to try and get the stack to perform what I have envisioned. The constant back and forth between edit and preview is enough to make you want to pull your hair out! I am genuinely excited to leave Stacks behind and begin designing professional sites in Elements! — @RockNRollSoul69 via YouTube
If you've been using Stacks for many years, the following video will help you feel a little more at home and confident to start re-building your site in Elements.
Foundry from Elixir Graphics, Foundation from Weavers Space, and other stack-based frameworks were great in their time. They gave many people the tools to build websites without touching code. Today, however, most of those frameworks are outdated or haven’t received significant updates in years.
The big challenge is that these stacks rely on a fragile web of dependencies: Stacks itself, RapidWeaver Classic, and the individual stack libraries. If any one part breaks, you’re left without support, and without a clear path forward. That’s not ideal when you’re managing client sites or trying to future-proof your own projects.
That’s exactly why we built Elements. It gives you a better WYSIWYG visual building experience and with a modern engine underneath, powered by Tailwind CSS and Alpine.js. No more worrying about stacks, frameworks, or broken dependencies. Just clean, fast websites built with native Mac software that’s actively developed and supported.
If you’re still building with stacks-based frameworks, now’s a great time to start migrating. It’s easier than you might think, and the long-term benefits are massive 🚀
Making the switch can feel daunting, but the Power of Elements makes the transition both smoother and more rewarding than you might expect. Here are some tips to help you get started:
Audit your content: Go through your existing site (text, images, structure) and make a list of your key pages and features.
Note special functionality: Jot down things like forms, animations, custom menus, galleries, accordions, and any third-party stacks you’ve relied on.
No-code or Low-code: Elements is incredibly friendly for non-coders, offering drag-and-drop Components and visual design controls. Most things you did with Foundry or Foundation stacks can be recreated with built-in Components or included Templates, no need for custom code (unless you want to!).
Elements includes a Classic Project Importer that transfers your page structure and resources, helping you get started more quickly. You can then focus on redesigning the site.
Alternatively you can manually recreate pages section by section: set up your navigation, then build out hero sections, content, forms, galleries, etc., using Elements’ Components.
You’ll quickly notice the live, WYSIWYG design is a massive step up from the old Stacks preview system.
Elements comes with a variety of ready-made Components: forms, contact blocks, FAQ accordions, pricing tables, sliders, and more. Many additional expensive “stacks” are simply built-in now.
Explore the Theme Controls and design system in Elements, you get consistent styling across your whole site, easily controlled from one spot. No more separate styling for every “stack.”
Copy/paste your text content directly, and use Elements’ Resources Manager to add images and other assets.
For SEO, be sure to set up your Page Titles and Meta Descriptions in Elements’ page setting, these tools are more accessible and modern compared to old stacks setups.
Use the built-in components to add animation and interactivity. If you previously used custom stacks for tabs, toggles or reveal animations, Elements includes Alpine.js and Tailwind for more advanced work. You can go as deep as you want without having to write code.
Preview your site at different breakpoints right within Elements—no need for slow browser preview cycles. Modern output means your site just works beautifully everywhere.
The Elements Support Forum is thriving, with regular updates and responsive help.
Loads of video tutorials and live streams are available on the Realmac YouTube Channel.
Pro Tip: Many users find that their rebuilt Elements site is faster, easier to update, and simply looks better than their old Stacks Framework based project thanks to modern, semantic markup and a more integrated design workflow 🚀
If you have any specific component or layout you’re struggling to recreate, just ask on the forum. Share a screenshot or describe what you need and we'll guide you to the best solution in Elements. You’ll be amazed at how far the platform has come!
Welcome to the future of Mac web design, the Power of Elements is waiting for you!
✅ FTP and Elements Cloud
❌ Unsupported
Project Sharing
✅ One-click upload to Elements Cloud
❌ Unsupported
CSS Framework
✅ Tailwind CSS
❌ Requires a third-party stack, such as Foundation ($149)
Forms
✅ Powerful built-in Form components
❌ Requires a third-party stack
Modern Flex and Grid Layout
✅ WYSIWYG Flex and Grid layout
❌ Requires a third-party stack
Photo and Video Gallery
✅ Built-in Gallery with Lightbox
❌ Requires a third-party stack
Audio Player
✅ Built-in Audio Player with playlist
❌ Requires a third-party stack
Accordion
✅ Built-in with live filtering
❌ Requires a third-party stack
Modal
✅ Flexible built-in modals
❌ Requires a third-party stack
Editable Code Areas
✅ Built-in access to every code area
❌ Requires third-party stacks
Native SVG Support
✅ Full SVG support
❌ Requires third-party stacks
Markdown Editing
✅ Built-in editor and component
❌ Requires third-party stacks
CMS
✅ Built-in local Markdown CMS
❌ Requires a third-party stack, such as TotalCMS ($99 per site)
Pre-made Layouts
✅ Template layouts included
❌ None
Unified Theming System
✅ Theme Studio, used by all components
❌ Unsupported
Smart Publishing
✅ Publishes only changed files
❌ Uploads every file each time
Dark Mode Website Support
✅ Full native support
❌ Limited to showing or hiding stacks
Responsive Design
✅ Six visual breakpoints
❌ Unsupported
Web Icon Support
✅ iOS, Pinned Tab and favicon support
❌ Unsupported
SEO Sitemap Support
✅ Automatic sitemap generation
❌ Unsupported
Custom Components
✅ Built-in live code editor
⚠️ External editor required
Code Page Support
✅ Built-in editor for Markdown, text, HTML and other formats
❌ Unsupported
.htaccess and robots.txt
✅ Built-in editor support
❌ Requires a third-party stack
Publishing Destinations
✅ FTP, SFTP, FTPS and Amazon S3
⚠️ SFTP only
Local Export
✅ Export the site to Finder
✅ Export the site to Finder
Free Starter Projects
✅ Growing collection of built-in projects
❌ No built-in projects
Linked Content
✅ Globals provide shared variable content
⚠️ Limited partials
Weekly Software Updates
✅ Weekly releases
⚠️ Infrequent beta releases
Official Add-on Store
✅ Built in for installation, updates and backups
⚠️ Website operated by a third party
Elementris
👾 Hidden game!
☹️ No hidden game
Cost
$149
$588.60 — Detailed breakdown below…





