> For the complete documentation index, see [llms.txt](https://docs.integry.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.integry.ai/embedded-ui/render-modes-layouts-and-styling.md).

# Render modes, layouts and styling

The embedded UI can be shown in an in-line container, or popped out in a modal. In addition, it can be shown in a wide or narrow layout.

### `renderMode=IntegryJS.RenderModes.INLINE`

<figure><img src="https://78037505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQak2YXQSmpUf7kzA1VKk%2Fuploads%2Fi4LQ02NtuZG86UTzlKqn%2Fimage.png?alt=media&amp;token=7390da95-6521-441c-9575-63d2f4f39889" alt="" width="375"><figcaption></figcaption></figure>

```javascript
integry.showApps(
  IntegryJS.RenderModes.INLINE,
  "marketplace-container"
).then(() => {
  console.log("Marketplace rendered in-line.");
}).catch((error) => {
  console.error("Error rendering filtered marketplace:", error);
});
```

### `renderMode=IntegryJS.RenderModes.MODAL`

<figure><img src="https://78037505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQak2YXQSmpUf7kzA1VKk%2Fuploads%2FsGuul8XVy9ZK1urcAdHs%2Fimage.png?alt=media&amp;token=ce71f1ea-24dd-4b89-9717-19e9194bd6da" alt="" width="375"><figcaption></figcaption></figure>

```javascript
integry.showApps(
  IntegryJS.RenderModes.MODAL
).then(() => {
  console.log("Marketplace rendered in-line.");
}).catch((error) => {
  console.error("Error rendering filtered marketplace:", error);
});
```

### `layout=IntegryJS.Layouts.NARROW`

<figure><img src="https://78037505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQak2YXQSmpUf7kzA1VKk%2Fuploads%2FVUuYc5922wNCGGjpGwzc%2Fimage.png?alt=media&amp;token=1586d8a8-9606-4938-815f-3fde32e3d917" alt=""><figcaption></figcaption></figure>

```javascript
integry.showApps(
  IntegryJS.RenderModes.MODAL,
  "",
  IntegryJS.Layouts.NARROW
).then(() => {
  console.log("Marketplace rendered in-line.");
}).catch((error) => {
  console.error("Error rendering filtered marketplace:", error);
});
```

The SDK comes with some default styles which can be overridden on demand to customize different parts of the UI.

We use BEM naming to style internal components and scope the default CSS to the container used to instantiate that template via a dynamically generated class. This allows independent styling of different integration views using their respective container IDs.

### Using custom fonts <a href="#h_01j9q2xqdfnmk2py1h9x6stwqf" id="h_01j9q2xqdfnmk2py1h9x6stwqf"></a>

The views respect the `font-family` attribute and the font stack is set to the following generic one by default:

```javascript
#x-integry-container {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
    Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}
```

To update the font, override the `font-family` attribute.

### Customizing CSS <a href="#h_01j9q2j9hsh2v9zhxffty75bsf" id="h_01j9q2j9hsh2v9zhxffty75bsf"></a>

You can use this approach to override individual items with higher specificity. By specifying the ID of the container used to configure the SDK along with a custom class name, styles can be overridden for containers, controls and components.

```javascript
#my-integry-container .an_available_class {
  /* This will override styles */
}
```
