> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instantcampaign.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Blocks and layout

> Add, arrange and style content blocks, build multi-column layouts, reuse snippets and add your own CSS.

Every email in the builder is a stack of blocks: headings, text, images, buttons, columns and more. This page covers what each block does and how to arrange and style them.

## Add a block

There are three ways to add a block:

* **Click** a block in the left panel to add it at the end of the email.
* **Drag** a block from the left panel onto the canvas and drop it where you want it.
* **Use the + button** that appears between blocks on the canvas. It opens a picker where you can **Search blocks & snippets...** and insert the block at that spot.

The **Search blocks** box matches both names and descriptions, so typing "discount" finds **QR Code** and "gap" finds **Spacer**.

## Block types

<Tabs>
  <Tab title="Content">
    | Block         | Use it for                                |
    | ------------- | ----------------------------------------- |
    | **Heading**   | A title or section header                 |
    | **Text**      | A paragraph of plain copy                 |
    | **Rich Text** | Formatted copy with bold, links and lists |
    | **Button**    | A call to action people click             |
    | **Hyperlink** | A text link on its own line               |
  </Tab>

  <Tab title="Media">
    | Block             | Use it for                                  |
    | ----------------- | ------------------------------------------- |
    | **Image**         | A picture, logo or illustration             |
    | **Hero Banner**   | A full-width image with text over it        |
    | **Avatar**        | A small round photo, for a sender or author |
    | **YouTube Video** | A video thumbnail that opens YouTube        |
    | **Social Media**  | A row of icons linking to your profiles     |
  </Tab>

  <Tab title="Layout">
    | Block         | Use it for                                 |
    | ------------- | ------------------------------------------ |
    | **Columns**   | Side-by-side content that stacks on phones |
    | **Container** | A group of blocks with a shared background |
    | **Divider**   | A horizontal line between sections         |
    | **Spacer**    | Empty vertical space                       |
  </Tab>

  <Tab title="Advanced blocks">
    This group is collapsed until you open it (or search for one of its blocks).

    | Block           | Use it for                                                                                |
    | --------------- | ----------------------------------------------------------------------------------------- |
    | **HTML**        | Your own HTML, pasted or written here                                                     |
    | **Item List**   | Products from an order or cart, one per row                                               |
    | **Repeater**    | Repeats blocks once for each item in your data                                            |
    | **View Online** | A link to each recipient's own copy of the email in a browser (`{{view_in_browser_url}}`) |
    | **QR Code**     | A scannable code for a link or discount                                                   |

    **Item List** and **Repeater** are explained in [Dynamic lists](/guides/email-and-templates/dynamic-lists).
  </Tab>
</Tabs>

Two more groups appear only when they apply:

* **AMP Interactive**: shown when AMP is on for the template. See [AMP email](/guides/email-and-templates/amp-email).
* **Shopify**: **Product Grid** and **Product Card**, shown when your Shopify store is connected. Use **Import from Shopify** in the block's settings to pick products.

## Select, move and edit blocks

Click a block to select it. The **Inspect** tab on the right shows its settings. Next to the selected block you'll find controls to **Move up**, **Move down**, **Duplicate**, **Copy block**, **Save as snippet**, **Paste block below** and **Delete**. You can also drag a block by its handle to move it.

To edit text, double-click a Text, Heading, Button or Hyperlink block and type on the canvas. For Rich Text, double-clicking also turns on the **Formatting** controls in the Inspect panel (bold, lists, links, alignment, and font, size and color for the selected text).

### Designed rich-text blocks

Some templates, including many library templates, use Rich Text blocks that hold a designed layout such as an offer card, a stats row or a footer. Double-clicking these won't give you a text cursor. Instead, the Inspect panel shows two tabs:

* **Content**: every piece of text in the block as its own field. Changing a field changes only that text and keeps the layout as designed.
* **HTML**: the block's markup, for changing its structure or styles. The merge-tag picker is available here too.

## Whole-email settings

Click **Email Layout Settings** at the bottom of the left panel, or click an empty part of the canvas, to open the **Styles** tab. It controls the backdrop color, canvas color, canvas border, default font family and default text color.

The Styles tab also has:

* **Apply Brand Colors**: applies your workspace brand colors and font to the blocks.
* **Quick Check**: a checklist of common email problems. See [Previews and test sends](/guides/email-and-templates/testing-and-previews#quick-check).
* **Email stylesheet**: CSS for the whole email (see [Custom CSS](#custom-css) below).

## Columns

Add a **Columns** block, then set **Column Count** and **Column Layout** (for example 50/50 or 33/67), **Column Gap (px)** and **Content Alignment**. Drop blocks into each column.

**Stack columns on mobile** is on by default, so columns sit one above the other on a phone. Stacking works even in email apps that ignore stylesheets, such as the Gmail app on iOS.

## Snippets and layouts

Snippets are saved blocks you can reuse in any template. They're shared with your whole team.

* **Save a snippet:** select a block, click **Save as snippet**, give it a name and click **Save snippet**.
* **Insert a snippet:** click **Snippets Library** in the left panel, or search for it in the **+** picker. The library has **Pre-built** snippets, **My Snippets**, and ready-made column **Layouts**. Drag a snippet onto the canvas or click to insert it.

## Layers

The **Layers** tab shows every block as a tree. Use it to select a block that's hard to click on the canvas, such as one nested inside a column, or to move and delete blocks.

## Custom CSS

Every block except the compliance footer has an **Advanced** section at the bottom of its Inspect panel:

* **CSS class**: a class name you can target from the email stylesheet.
* **Style override**: inline CSS applied to a wrapper around the block.

The **Email stylesheet** in the Styles tab is for rules that must apply to the whole email, such as media queries and hover styles.

<Warning>
  Gmail's mobile apps remove stylesheets. Anything that must look right everywhere belongs in a block's own settings or its **Style override**, because inline styles work in every email client.
</Warning>

## The compliance footer

Every email ends with a footer showing your company name and address, a line explaining why the recipient got the email, and **Manage preferences** and **Unsubscribe** links. You can restyle this block but you can't edit its text or remove it. It's required for GDPR and CAN-SPAM compliance.

## Troubleshooting

<AccordionGroup>
  <Accordion title="I can't find a block in the palette">
    Type what the block does into **Search blocks**. Blocks under **Advanced blocks** are hidden until you open that group or search.
  </Accordion>

  <Accordion title="Double-clicking a block does nothing">
    It's probably a designed Rich Text block. Edit its text in the **Content** tab of the Inspect panel.
  </Accordion>

  <Accordion title="My CSS works in the preview but not in Gmail on a phone">
    Rules in the **Email stylesheet** are removed by Gmail's mobile apps. Move the style into the block's **Style override**.
  </Accordion>
</AccordionGroup>
