CMT Sites Documentation

Welcome to the CMT Sites technical documentation. This site serves as the single source of truth for all design specifications, component behaviors, and layout documentation across all CMT sites build with this repo.

Version Commit: ac130f8

Generated: 2026-01-21

1. Introduction

About This Project

CMT Sites is a Hugo-based monorepo that hosts multiple brand websites. The project emphasizes:

Documentation Structure

This documentation is organized into sections:

Components

Reusable UI elements like buttons, cards, forms, and navigation elements. Each component page includes:

Optional:

Layouts

Page templates used across the sites. Each layout page documents:

Flows

User journeys and admin workflows. Each flow page includes:

Version Control

All documentation is version-controlled in git alongside the codebase. Visual snapshots from Figma are exported and committed to ensure immutability. Each page displays its last modification date.

2. General

2.1 Theming

The frontend is designed to be repurposed by multiple brands. They share the same layouts and components, but each brand has a unique visual theme. The theme defines colors, typography, spacing, and shadows that align with the brand’s identity.

All theme and brand-specific values are implemented as CSS variables.

Colors

On surfaces (backgrounds):

  • --text-on-surface-primary - Primary text color
  • --text-on-surface-secondary - Secondary text color
  • --text-on-surface-tertiary - Tertiary text color
  • --text-on-surface-disabled - Disabled text color
  • --text-on-surface-inverted - Inverted text color

On media (images/videos):

  • --text-on-media-primary - Primary text on media
  • --text-on-media-secondary - Secondary text on media
  • --text-on-media-tertiary - Tertiary text on media
  • --text-on-media-disabled - Disabled text on media
  • --text-on-media-inverted - Inverted text on media

Base surfaces:

  • --surface-base - Base background color
  • --surface-base-inverted - Inverted base color

Elevated surfaces:

  • --surface-elevated-a - Elevated surface level A
  • --surface-elevated-max - Maximum elevation surface

On media surfaces:

  • --surface-on-media-elevated-a - Elevated surface on media
  • --surface-on-media-elevated-max - Maximum elevation on media

System surfaces:

  • --surface-system-disabled - Disabled state surface

  • --border-strong - Strong border color

  • --border-soft - Soft border color

  • --border-inverted - Inverted border color

  • --border-accented - Brand accent border (varies by brand)

Brand-specific (overridden per brand):

  • --color-accented-primary - Primary brand accent color
  • --color-accented-secondary - Secondary brand accent color
  • --color-on-accented-primary-surface - Text color on primary accent
  • --color-on-accented-secondary-surface - Text color on secondary accent
  • --surface-accented-primary-strong - Strong primary accent surface
  • --surface-accented-secondary-strong - Strong secondary accent surface

Typography

Google Fonts used: Oswald and Gabarito

  • --font-family-display - Display/hero text

  • --font-family-heading - Heading text

  • --font-family-title - Title text

  • --font-family-body - Body/paragraph text

  • --font-family-label - Label text

  • --font-family-supporting - Supporting/auxiliary text

  • --font-family-button - Button text

  • --font-weight-display - Display weight

  • --font-weight-heading - Heading weight

  • --font-weight-title - Title weight

  • --font-weight-body-regular - Body regular weight

  • --font-weight-label-regular - Label regular weight

  • --font-weight-label-medium - Label medium weight

  • --font-weight-label-heavy - Label heavy/semibold weight

  • --font-weight-supporting - Supporting regular weight

  • --font-weight-supporting-alt - Supporting alternate/medium weight

  • --font-weight-button - Button weight

Border Radius

  • --radius-zero - No radius (0px)
  • --radius-xs - Extra small (8px)
  • --radius-s - Small (10px)
  • --radius-l - Large (16px)
  • --radius-xl - Extra large (30px)
  • --radius-max - Maximum/pill-shaped (6000px)

Shadows

  • --shadow-sm - Small shadow
  • --shadow-md - Medium shadow
  • --shadow-lg - Large shadow
  • --shadow-xl - Extra large shadow
  • --shadow-xl-negative - Extra large negative shadow

2.2 Spacing and Sizing

The spacing and sizing system defines consistent space and dimensions across all components and layouts. It uses CSS variables that automatically scale from desktop to mobile, ensuring consistency and responsive behavior across all brands.

Soft Scale

Used for ~90% of spacing needs. Values decrease gradually (linearly) from desktop to mobile.

Primary use: Gaps, margins, paddings, and sizing for icons, badges, and small images.

DesktopMobile
128104
11288
9672
8064
7256
6448
4840
4032
3224
2420
2016
1612
1210
108
86
64
42
20

Hard Scale

Values decrease by half for more dramatic scaling. Used for main section DIVs and specific cases requiring sharper reduction.

Primary use: Section-level spacing and containers.

DesktopMobile
12864
11256
9648
8040
7236
6432
4824
4020
3216
2412
2010
168
126
105
84
63
42
21

Variable Scale

Custom scaling for contexts where flex direction changes and spacing needs may vary (increase, decrease, or stay the same).

Primary use: Gaps that transition from horizontal to vertical layouts.

24px variable values:

DesktopVariable Options
2416, 24, 32, 40, 48

16px variable values:

DesktopVariable Options
168, 16, 24

To Zero Scale

Desktop values reduce to zero on mobile to maximize space.

Primary use: Decorative paddings and offsets that can be removed on mobile.

DesktopMobile
1280
1120
960
800
640
480
400
320
240
200
160
120
80
40

From Zero Scale

Zero on desktop, scales up on mobile (inverse of To Zero Scale).

Primary use: Spacing that’s only needed on mobile devices.

DesktopMobile
0128
0112
096
080
064
048
040
032
024
020
016
012
08
04

Site-Specific Variables

Certain values are brand-specific (Collegium, Mondial) for grid and navigation spacing:

PropertyDesktopMobile
12-col13921392
Navi offset76113
Navi offset with announcement strip118150

Site-specific variables:

  • --navi-offset: Navigation offset (varies by breakpoint)
  • --navi-banner-offset: Navigation offset with announcement banner (varies by breakpoint)

2.3 Internationalization (i18n)

CMT sites styles allows for each site to be multilanguge. The frontent i18n is handled by Hugo, Decap handles CMS translations. Both content and template strings can be translated and edited. user selects the preferred language via a language switcher component. The default language is set in the site config file (hugo.toml).

3. Components

Each component page includes:

3.1 Header

The Header component provides site navigation and branding. Shows logo, main menu with dropdown navigation, language selector, and mobile hamburger menu.

Functional Documentation

RoleScenarioDescription
systemDisplay header contentShows site logo, horizontal navigation menu, language selector, and optional CTA button on desktop. Switches to mobile hamburger menu on smaller viewports.
systemDisplay mobile menuOn mobile, shows logo and hamburger icon. Clicking hamburger opens slide-out menu with navigation items.
systemSticky header behaviorHeader remains fixed to top of viewport while scrolling.
editorConfigure navigation itemsEach menu item requires label and URL. Supports nested submenu items. Menu items can be reordered.
editorConfigure language selectorLanguage options are configured based on available site languages.
userNavigate menuClick menu item to navigate. Hover shows dropdown submenu when present. On mobile, click hamburger to open/close menu.
userSwitch languageClick language selector to view available languages. Select language to switch site language.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

Segment (Variant)

ValueExample
Collegium
Mondial
Cooltura
BW

3.3 Button

The button component is the primary call-to-action element used throughout the site. It directs users to complete important actions such as form submissions, navigation to key pages, and confirmation of choices.

Properties

State (Variant)

ValueExample
Default
Hover
Active
Disabled

Has left icon (Boolean)

ValueExample
Yes
No

3.4 Anchor Cards

The Anchor Cards displays a grid of clickable feature cards with icons, titles, descriptions, and call-to-action buttons. Includes optional title with heading and body text. Cards display key benefits or selling points in a visually organized layout.

Functional Documentation

RoleScenarioDescription
systemDisplay section titleShows heading and body text when title is present. Title area does not display when not present.
systemDisplay card grid layoutCards display in 4-column horizontal grid on desktop, single-column stack on mobile.
systemDisplay card contentEach card shows circular icon with brand color background, bold title text, body text description, and outlined button with label and arrow icon.
editorAdd section title contentHeading (optional) and body text (optional, can include multiple paragraphs).
editorAdd and configure cardsCreate up to 4 cards. Each card requires icon selection from predefined set, title text, description text, and button with label and URL. Cards can be reordered.
userClick card buttonNavigates to destination URL. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

Icons background (Variant)

ValueExample
Yellow
Blue

3.6 Contact Form

The Contact Form component provides a form for visitors to submit inquiries or messages. Includes input fields for name, email, message, and optional additional fields with validation and submission handling.

Functional Documentation

RoleScenarioDescription
systemDisplay form fieldsShows input fields for name, email, subject, message, and optional additional fields. Displays labels and placeholder text.
systemValidate inputValidates required fields and email format before allowing submission. Shows error messages for invalid inputs.
systemHandle submissionDisplays loading state during submission. Shows success message on successful submission or error message on failure.
editorConfigure form fieldsSet which fields are required, add optional custom fields, configure recipient email address and success message.
userComplete and submit formFill in form fields and click submit button. Receives feedback on submission success or errors.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.7 Current Experiences and Events

The Current Experiences and Events component displays a curated list or grid of ongoing and upcoming experiences and events. Shows key information like dates, titles, and brief descriptions with links to detailed pages.

Functional Documentation

RoleScenarioDescription
systemDisplay events gridShows events in grid layout on desktop, stacked on mobile. Displays event image, date, title, and description for each item.
systemFilter by dateShows only current and upcoming events. Past events do not display.
editorConfigure event displaySet number of events to display and sorting order (date, featured, etc.).
userClick eventNavigates to event detail page. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.8 Current Experiences and Events Section B

Alternative variation of the Current Experiences and Events component with different layout or styling approach. Displays ongoing and upcoming experiences and events.

Functional Documentation

RoleScenarioDescription
systemDisplay events layoutShows events in alternative grid or list layout. Displays event information with different visual treatment than Section A.
systemFilter by dateShows only current and upcoming events. Past events do not display.
editorConfigure event displaySet number of events to display and sorting order.
userClick eventNavigates to event detail page. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.9 Experience Archive Categories

The Experience Archive Categories component displays category filters or navigation for browsing experiences. Shows category names with counts and links to filtered views.

Functional Documentation

RoleScenarioDescription
systemDisplay categoriesShows category list or grid with category names and optional item counts.
systemHighlight active categoryCurrently selected category displays with active state styling.
editorConfigure categoriesCategories are automatically generated from content taxonomy. Display order and visibility can be configured.
userFilter by categoryClick category to filter experiences. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.10 Frame 6616

Component placeholder for Figma frame 6616. This component requires identification and proper naming based on its function in the design system.

Functional Documentation

RoleScenarioDescription
systemDisplay componentComponent behavior and display to be documented after identification.
editorConfigure componentConfiguration options to be documented after identification.
userInteract with componentUser interaction patterns to be documented after identification.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.11 General FAQ

The General FAQ component displays frequently asked questions in an expandable accordion format. Shows list of questions that expand to reveal answers when clicked.

Functional Documentation

RoleScenarioDescription
systemDisplay FAQ listShows questions in accordion format. Only one answer expanded at a time or all collapsed by default.
systemDisplay question and answerQuestion displays with expand icon indicator. Answer text displays when expanded with smooth transition.
editorAdd FAQ itemsEach FAQ item requires question and answer text. Items can be reordered. Supports rich text formatting in answers.
userExpand answerClick question to expand/collapse answer. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.12 Graduation Experience Terms Archive

The Graduation Experience Terms Archive component displays available graduation experience dates or terms. Shows schedule information with booking availability and pricing details.

Functional Documentation

RoleScenarioDescription
systemDisplay terms listShows available graduation experience terms in list or grid format with dates, availability status, and pricing.
systemDisplay term detailsEach term shows date range, destination, availability status (available, limited, sold out), and price.
systemShow availability statusTerms display availability indicator. Sold out terms may be visually de-emphasized.
editorConfigure term displaySet sorting order and filtering options. Terms are automatically populated from booking system.
userSelect termClick term to view details or proceed to booking. Shows hover state on available terms.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.13 Guide List

The Guide List component displays a structured list or grid of guides, articles, or resources. Shows preview cards with title, excerpt, and link to full content.

Functional Documentation

RoleScenarioDescription
systemDisplay guides gridShows guides in grid layout on desktop, stacked on mobile. Each item displays image, title, excerpt, and read more link.
systemDisplay guide contentEach guide card shows thumbnail image, title, brief excerpt, and link to full guide.
editorConfigure guide displaySet number of guides to display, sorting order, and optional category filtering.
userClick guideNavigates to full guide page. Card shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.14 Icon Boxes

The Icon Boxes component displays a grid of icon-based feature cards. Each box contains an icon, heading, and description text.

Functional Documentation

RoleScenarioDescription
systemDisplay icon boxes gridShows boxes in grid layout. Number of columns adjusts based on viewport size.
systemDisplay box contentEach box shows icon at top, heading below, and description text.
editorAdd and configure boxesEach box requires icon selection, heading text, and description. Boxes can be reordered.
userClick boxWhen link URL is present, entire box is clickable and navigates to destination. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.15 Image and Text

The Image and Text component combines image content with structured text content. It displays optional kicker, headline, body paragraph, optional button and optional bulleted list with icons. Images can be static or animated sequences.

Functional Documentation

RoleScenarioDescription
systemDisplay image contentShows single static image or cycles through 3 images when multiple provided.
systemDisplay text contentShows kicker (when present), headline, body text, button (when present), and list (when present).
editorAdd text contentKicker (optional), headline, body text, and button (optional) with label and URL.
editorUpload imagesSingle static image or 3 images for animated sequence.
userView contentStatic images display without interaction. Animated images cycle automatically.
userClick buttonNavigates to destination URL. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

Layout (Variant)

ValueExample
Default
White BG + button
Image on right

3.16 Image Box Accordion Grid

The Image Box Accordion Grid displays a grid of partner or accreditation logos with expandable accordion items. Each item contains a logo image, title, truncated description, and expand button. The component includes an optional title, heading, and introductory text.

Functional Documentation

RoleScenarioDescription
systemDisplay section headerShows optional kicker, heading, and body text above grid when present.
systemDisplay grid layoutArranges accordion items in rows of 3 on desktop, single-column stack on mobile.
systemDisplay accordion itemEach item shows logo image, title, truncated single-line description with ellipsis, and expand button with down arrow icon.
editorAdd section header contentKicker (optional), heading (optional), and introductory body text (optional).
editorAdd and configure accordion itemsEach item requires logo image upload (square format), title text, and description text. Items can be reordered.
userClick expand buttonExpands accordion to show full description text. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.17 Image Cards

The Image Cards component displays a grid of image-based cards. Each card contains an image, title, optional description, and optional button or link.

Functional Documentation

RoleScenarioDescription
systemDisplay cards gridShows cards in grid layout. Number of columns adjusts based on viewport size.
systemDisplay card contentEach card shows image, title, optional description, and optional button or link.
editorAdd and configure cardsEach card requires image, title, optional description, and optional button with label and URL. Cards can be reordered.
userClick cardNavigates to destination URL. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

Background (Variant)

ValueExample
Yellow
Blue

3.18 Image Cards Hero

The Image Cards Hero component displays large image-based cards in a hero section. Features prominent images with overlaid text and call-to-action elements.

Functional Documentation

RoleScenarioDescription
systemDisplay hero cardsShows large image cards with text overlay containing heading and optional button.
systemDisplay card layoutArranges cards in horizontal layout on desktop, stacks on mobile.
editorAdd and configure hero cardsEach card requires background image, heading text, optional description, and optional button with label and URL. Cards can be reordered.
userClick card or buttonNavigates to destination URL. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.19 Image with Icon Box Grid

The Image with Icon Box Grid component combines a featured image with a grid of icon boxes. Shows large image on one side with icon-based feature boxes on the other side.

Functional Documentation

RoleScenarioDescription
systemDisplay split layoutShows featured image in one column and icon boxes grid in adjacent column on desktop. Stacks vertically on mobile.
systemDisplay icon boxesEach icon box shows icon, heading, and description in compact format within grid.
editorConfigure imageFeatured image required.
editorAdd and configure icon boxesEach box requires icon selection, heading, and description. Boxes can be reordered.
userView content

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.20 Logos

The Logos component displays a grid or row of partner, sponsor, or certification logos. Shows brand logos with optional links to partner websites.

Functional Documentation

RoleScenarioDescription
systemDisplay logos gridShows logos in evenly-spaced grid or horizontal row. Adjusts layout based on viewport size.
systemDisplay logo imagesEach logo displays at consistent size with proper aspect ratio maintained.
editorAdd and configure logosEach logo requires image upload and optional link URL. Logos can be reordered.
userClick logoNavigates to partner website when link is present. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.21 Main Navigation

The Main Navigation component provides the primary site navigation menu. Features hierarchical menu structure with dropdown submenus and mobile hamburger menu.

Functional Documentation

RoleScenarioDescription
systemDisplay navigation menuShows horizontal menu bar on desktop with dropdown submenus. Shows hamburger icon on mobile that opens slide-out menu.
systemHighlight active pageCurrent page menu item displays with active state styling.
editorConfigure menu structureAdd, remove, and reorder menu items. Each item requires label and URL. Supports nested submenu items.
userNavigate menuClick menu item to navigate to page. Hover shows dropdown submenu on desktop. Click hamburger icon on mobile to open/close menu.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.23 Product Additional Information

The Product Additional Information component displays supplementary details about a product or experience. Shows organized content sections with headings and descriptions for terms, policies, requirements, etc.

Functional Documentation

RoleScenarioDescription
systemDisplay information sectionsShows content organized into sections with headings and body text. Sections may be displayed as expandable accordions or standard content blocks.
systemDisplay section contentEach section shows heading and formatted body text with optional lists or links.
editorAdd information sectionsEach section requires heading and body text content. Supports rich text formatting including lists and links. Sections can be reordered.
userView informationRead content sections. If accordion format, click heading to expand/collapse section.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.24 Product Archive

The Product Archive component displays a filterable and sortable list or grid of products or experiences. Shows product cards with images, titles, key information, and links to detail pages.

Functional Documentation

RoleScenarioDescription
systemDisplay products gridShows products in grid layout. Number of columns adjusts based on viewport size.
systemDisplay filter controlsShows category filter buttons or dropdown and optional search input above product grid.
systemFilter and sort productsFilters products based on selected categories or search query.
editorConfigure display optionsSet number of products per page, default sorting order, and visible filter categories.
userFilter productsClick category filter to show only products in that category. Multiple filters can be applied.
userClick product cardNavigates to product detail page. Card shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.25 Product Booking Items Archive

The Product Booking Items Archive component displays a list or grid of available booking items for a product. Shows individual booking options with dates, availability, and selection controls.

Functional Documentation

RoleScenarioDescription
systemDisplay booking itemsShows available booking options in list or grid format with dates, availability status, and pricing.
systemDisplay item detailsEach item shows date range, availability indicator (available, limited, sold out), price, and selection button or checkbox.
systemShow availability statusItems display availability indicator. Sold out items may be disabled or visually de-emphasized.
editorConfigure item displayBooking items are automatically populated from booking system. Display format and sorting options can be configured.
userSelect booking itemClick or check item to select for booking. Proceeds to booking form or cart. Shows hover state on available items.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.26 Product Booking Offer

The Product Booking Offer component displays pricing and booking options for a product or experience. Shows package options with pricing, inclusions, and booking buttons.

Functional Documentation

RoleScenarioDescription
systemDisplay booking optionsShows available booking packages or pricing tiers with features and pricing information.
systemDisplay package detailsEach package shows name, price, inclusions list, and booking button.
editorConfigure booking packagesEach package requires name, price, inclusions list, and booking button URL. Packages can be reordered. Optional featured package highlighting.
userSelect packageClick booking button to proceed with selected package. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.27 Product Hero

The Product Hero component displays a hero section for product or experience detail pages. Features large image or image gallery with product title, key information, and booking call-to-action.

Functional Documentation

RoleScenarioDescription
systemDisplay hero contentShows product image or image gallery, product title, brief description, key details (dates, location, duration), and primary booking button.
systemDisplay image galleryWhen multiple images present, shows image gallery with navigation controls. Single image displays without gallery controls.
editorAdd hero contentProduct title, description, and primary image required. Additional images optional. Booking button label and URL required.
userNavigate image galleryClick navigation controls to view additional images when gallery present.
userClick booking buttonNavigates to booking page or form. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.28 Product Hero Slider

The Product Hero Slider displays a rotating carousel of hero images or content at the top of product pages. Features navigation controls and automatic progression through slides.

Functional Documentation

RoleScenarioDescription
systemDisplay slider contentShows hero slides with automatic rotation. Displays navigation dots and arrow controls.
systemAuto-advance slidesAutomatically progresses to next slide after set interval.
editorAdd and configure slidesEach slide requires image, optional heading, body text, and button with label and URL. Slides can be reordered.
userNavigate slidesClick navigation arrows or dots to view specific slide. Hover pauses auto-rotation.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

Type (Variant)

ValueExample
Collegium Experience
Mondial Destination

3.29 Product Overview

The Product Overview component displays key information and highlights about a product or experience. Shows structured content with icons, descriptions, and feature lists.

Functional Documentation

RoleScenarioDescription
systemDisplay overview contentShows product description, key features with icons, highlights, and supporting information in structured layout.
systemDisplay feature itemsEach feature displays icon, title, and description text.
editorAdd overview contentMain description text required. Add feature items with icon selection, title, and description. Features can be reordered.
userView overview

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.30 Product Program

The Product Program component displays detailed itinerary or schedule for an experience or trip. Shows day-by-day breakdown with activities, timings, and descriptions.

Functional Documentation

RoleScenarioDescription
systemDisplay program scheduleShows day-by-day itinerary with day number or date, title, and activity descriptions.
systemDisplay day contentEach day shows heading, list of activities with times (when present), and descriptions.
editorAdd program daysEach day requires day number or date, title, and activity list. Each activity has description and optional time. Days and activities can be reordered.
userView program

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.31 Product Template FAQ

The Product Template FAQ component displays frequently asked questions specific to a product or experience type. Shows accordion-style Q&A list with expandable answers.

Functional Documentation

RoleScenarioDescription
systemDisplay FAQ listShows questions in accordion format. Only one answer expanded at a time or all collapsed by default.
systemDisplay question and answerEach item shows question text with expand icon. Answer text displays when expanded.
editorAdd FAQ itemsEach FAQ item requires question and answer text. Items can be reordered. Supports rich text formatting in answers.
userExpand answerClick question to expand/collapse answer. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.32 Product Text Offer

The Product Text Offer component displays text-based promotional offer or special information for a product. Features highlighted text with optional icon or badge.

Functional Documentation

RoleScenarioDescription
systemDisplay offer messageShows promotional text with optional icon or badge in highlighted container.
systemDisplay offer stylingOffer displays with distinct background color or border to draw attention.
editorAdd offer contentOffer text required. Optional icon selection and link URL.
userClick offerNavigates to destination URL when link present. Shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.33 Social Media Cards

The Social Media Cards component displays embedded social media posts or links to social media profiles. Shows cards with social media platform branding, content previews, and links to full posts.

Functional Documentation

RoleScenarioDescription
systemDisplay social cardsShows social media cards in grid layout with platform icons and branding.
systemDisplay card contentEach card shows platform icon, content preview or description, and link to full post.
editorAdd social media linksEach card requires platform selection (Instagram, Facebook, etc.) and post URL or profile link.
userClick social cardOpens social media post or profile in new tab.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.34 Stats

The Stats component displays key statistics and metrics in a grid layout. Each stat contains a large number or value, label, and descriptive text. The component arranges stats in a horizontal row on desktop and stacks them vertically on mobile.

Functional Documentation

RoleScenarioDescription
systemDisplay stats layoutShows stats in horizontal row on desktop with vertical borders between items, stacks vertically on mobile with horizontal borders between items.
systemDisplay stat contentEach stat shows large number/value, title label, and descriptive text in centered layout.
editorAdd and configure statsEach stat requires numeric value or text, label/title, and description text. Stats can be reordered.
userView stats

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.35 Sticky CTA

The Sticky CTA component displays a fixed call-to-action button or bar that remains visible while scrolling. Provides persistent access to primary action like booking or contact.

Functional Documentation

RoleScenarioDescription
systemDisplay sticky CTAShows CTA button or bar fixed to viewport. Remains visible while user scrolls page.
systemShow on scrollCTA appears after user scrolls past hero section. Hides when user scrolls back to top.
editorConfigure CTAButton label, URL, and trigger scroll position required. Optional background color and positioning (top/bottom).
userClick CTANavigates to destination URL or triggers action. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.36 Sub Page Hero

The Sub Page Hero Section displays a hero banner at the top of subpages with breadcrumb navigation and large heading text. Features full-width background image with gradient overlay and centered text card with brand-colored bottom border.

Functional Documentation

RoleScenarioDescription
systemDisplay hero backgroundShows full-width background image with dark-to-transparent gradient overlay covering entire hero section.
systemDisplay text cardShows centered card with black background, brand-colored bottom border, breadcrumb navigation, and heading text.
editorAdd background imageUpload image that displays as full-width background.
editorAdd breadcrumb navigationConfigure breadcrumb items. Home link is included by default, followed by current page name.
editorAdd heading textText field for main hero heading matching page title.
userClick breadcrumb linkNavigates to linked page. Link shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.37 Tertiary Hero

The Tertiary Hero component displays a simplified hero section for tertiary or detail pages. Features minimal design with heading and optional breadcrumb navigation.

Functional Documentation

RoleScenarioDescription
systemDisplay hero contentShows heading text and optional breadcrumb navigation in minimal layout.
systemDisplay breadcrumbsShows breadcrumb trail when present with separator between items.
editorAdd hero contentHeading text required. Breadcrumb navigation optional.
userClick breadcrumb linkNavigates to parent page. Link shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

3.38 Text Columns

The Text Columns displays text content in a two-column layout on desktop and single-column layout on mobile. The left column contains a heading and body text, while the right column contains additional body text and an optional button.

Functional Documentation

RoleScenarioDescription
systemDisplay column layoutShows two-column layout side by side on desktop, stacks vertically on mobile.
systemDisplay left column contentShows heading and body text in left column.
systemDisplay right column contentShows body text and optional button with label and arrow icon in right column. Button does not display when not present.
editorAdd left column contentHeading text and optional body paragraph for left column.
editorAdd right column contentBody paragraph text and optional button with label and URL for right column.
userClick buttonNavigates to destination URL. Button shows hover state on hover.

Properties

Responsive (Variant)

ValueExample
Desktop
Mobile

4. Layouts

Each layout page includes:

4.1 Home

The home layout serves as the primary entry point for site visitors. It provides an overview of the brand, highlights key services or content, and guides users toward conversion actions.

Content Map

List of components used (TODO)

SEO/Meta Requirements

TODO

CMS Configuration (Decap)

TODO

Brand Variations

TODO

4.2 Default List

4.4 Contact

4.5 Event List

4.6 Event Single

4.7 Guides List

4.8 Help List

4.9 Inquiry

4.10 Occupancy List

4.11 Occupancy Single

4.12 Product List

4.13 Product Single