Waymark template

Instructions

How to change what moves, where the content lives and what carries the look. Everything below is edited in the Designer, without code.

Interactions
45, every one by name
Pages
16 and 3 collection pages
Collections
6: Trips, Regions, Articles, Guides, Days, Departures
Updated
12 October 2026
45 Interactions

Element map

Every animation in this template is a native Webflow Interaction, and Interactions run on GSAP. Open the Interactions panel in the Designer: the 45 below are listed there by these names. An element takes part by carrying the class named in its trigger.

01
Nav line draws underEvery page
HoverHover or focusThe logo, the Menu button, a checkbox or radio label, Navbar links, footer links, filter tabs, link buttons, the map’s nights, FAQ questions.The day rail’s links (Day 01…04) join it.A link of the contents rail.

Their .line_trace goes scaleX 0 → 1 from the left, 300 ms.

02
Station steps onEvery page
Hover

A .button with a station (primary, secondary, pagination, the form’s submit).

Its .route_dot fills the ring (scale 0 → 1) and the station steps 8px on towards where the button leads (Previous steps back), 300 ms.

03
Field line drawsHome A, Home B, Home C, Before you go, Enquire, 401, the trip pages
Hover

A form control (.form_field-line) or a date tile (.form_tile).

The 2px .line_trace.is-field along its bottom edge draws from the left, 300 ms.

04
Frame draws closerHome A, Home B, Home C, Trips, About, Journal, the articles, the region pages, the trip pages
Hover

A card_component that is a link.

The trip’s lit line sweeps in from the start to its filled finish station (the folded .route_reveal and its line move against each other, xPercent -100 → 0 and 100 → 0, 600 ms).

05
Night lights its stationHome A
Hover or focus

The N-th night of the map (.map_link).

The station of that night on the map (.route_stop.is-map-N) grows 1 → 1.8, 300 ms.

06
Row line draws underHome A, Home B, Home C, Before you go, the trip pages
HoverHover or focus

A trip row (card_component.is-row) or a departure_row.

A row of the departures table (div.departure_row, not the head.

The row’s .line_trace.is-row draws along its top hairline (400 ms), the link’s line (300 ms).

07
Answer opensBefore you go
Click

faq_question (the Dropdown toggle).

The answer rises 8px from 0 opacity (400 ms) and the ring beside the question fills (scale 0 → 1, 400 ms) each time its question is clicked.

08
Nav menu opensEvery page
Click

navbar_menu-button.

The links of the open panel come down 8px from 0 opacity in turn (300 ms, 40 ms apart), and the label of the button swaps Menu for Close menu (the swap is an instant Set, the second click puts Menu back).
09
Header rule draws inHome A, Home B, Home C, Regions, About, Before you go, Journal, Gallery, Enquire, 404, the articles, the trip pages
Scroll into view (top 85%), once

section-header_rule goes scaleX 0 → 1 from the left, 600 ms.

10
Route line drawsEvery page
Scroll into view (top 85%), once

route_figure: its .route_reveal mask and the .route_line inside it move against each other (xPercent -100 → 0 and 100 → 0, 800 ms, even speed).

In the Interactions panel the stations and labels appear 0.8 s apart in the order of the page, not as the front of the line reaches them.
11
Passport walks from start to finishHome A, About
Scroll into view (top 85%), once

passport_track: the start station lights (opacity 0 → 1, scale 0.6 → 1, 300 ms), the line draws from it (scaleX 0 → 1 from the left, 600 ms.

In the Interactions panel the stations come 0.9 s apart and the line starts at 0.3 s.
12
Row route sweepsHome A, Home C
Hover or focus

A route row (card_component.is-row.is-route).

A row of the route table (a.departure_row.is-route).

Its lit line, folded at the start (.route_reveal.is-folded and its .route_line, xPercent -100 and 100), sweeps to the filled finish station: mask and line against each other, 600 ms.

13
Day lights its stationHome A

Scroll, while section_days is on screen

A day_component #day-0N is being read from the moment its top reaches 60% of the window until the next day’s top does (the last day: until its foot has gone up under the rail).

Tied to the scroll through the day: the ring on the day’s rail label fills in the first 5% of the day and empties in the last 5%, and the station of that night fills in the last 5%.

14
Map route draws with scrollHome A
Scroll scrub (no smoothing)

The map’s route figure (.map_figure .route_figure.is-scrub), from the moment the start’s station (San Vidal.

The mask laid over the contours (.route_reveal.is-overlay) goes xPercent -100 → 0 and the route inside it 100 → 0 at an even speed. The station positions are fixed from the 1440 px layout.

15
Nights drop onto the mapHome A
The same timeline

Each night’s station and the finish’s (.route_stop.is-map-1…4 .route_station) drops 1.5rem onto the map (y -24 → 0, opacity 0 → 1.

The station positions are fixed from the 1440 px layout.
16
Days rail fills with scrollHome A
Scroll scrub

section_days, from its top at the top of the window to its foot at the foot of the window (the rail is stuck all that time).

The rail’s lit line (.route_reveal.is-folded and its .route_line) goes xPercent -100 → 0 and 100 → 0, even.

17
Day ascents rise from the baselineHome A

Scroll into view: the plot’s foot (.grade_plot) 8px before the foot of the window, so as the chart arrives whole on screen; plays once per arrival (reset when the chart has left below the window)

The four rises (.grade_rise) go scaleY 0 → 1 from the baseline, 500 ms each, 100 ms apart (800 ms in all).

The four rises grow from the baseline (scaleY 0 → 1, 500 ms each, 100 ms apart). The day values stay where they are, and the station of day 03 lights at 0.55 s.
18
Route notes ascents growAbout
Scroll into view (the ledger’s top at 85% of the window), once

The seven .about_bar of the notes sheet go scaleX 0 → 1 from the left, the same ease for all, 500 ms each, 80 ms apart (1,060 ms in all).

19
Step line drawsAbout
Scroll into view (the step’s top at 80% of the window), once

The station that opens a step lights (opacity 0 → 1, scale 0.6 → 1, 300 ms) and the rule leaves it (.about_step-rule scaleX 0 → 1 from the left, 600 ms).

In the Interactions panel the station and the rule start together at the step’s own top 80%, not 300 ms apart.
20
Contents rail follows the pageBefore you go
Scroll, the whole pageThe rail’s eight links (the sections #grades … #faq in the order of the page).
Exactly one is marked: the section whose top has passed 40% of the window and whose next section’s has not (#booking runs on through #cancelling). The progress line is tied to the scroll of the page content (scrub, 40% to 40%); with reduced motion it stays at zero.
21
Climbs run to the lineBefore you go
Scroll into view (top 85%), once

The worked example of the grade chart (.byg_chart): each climb’s rule (.byg_bar-rise) goes scaleX 0 → 1 from the baseline, 800 ms, 120 ms apart, power2.out.

22
Booking route drawsBefore you go
Scroll into view (top 85%), once

The two stops of booking (.byg_step-list): the line of the first stop (.passport_line, scaleX 0 → 1 from the left, 600 ms) runs to the second stop’s ring, which lights (opacity 0 → 1.

23
Photograph draws closerGallery
Hover or focus

A gallery figure (.gallery_item, .gallery_feature).

Its photograph (.image-cover) scales 1 → 1.03 (800 ms), the station before its caption fills (.route_dot scale 0 → 1.

24
Route name draws its lineGallery
Hover or focus

A route of the opening (.gallery_route, a link to its trip).

The line under its name (.line_trace) draws from the left, scaleX 0 → 1, 300 ms.

25
Next steps draw down the lineEnquire
Scroll into view (top 90%), once, so on load: the column is in the first screen

The steps’ route (.enquire_step-list): every ring fades in (opacity 0 → 1, scale 0.6 → 1, 0.4 s apart) and each line below a ring draws down to the next (.enquire_step-line scaleY 0 → 1 from the top, 400 ms).

26
Season stations step upHome B
Hover or focus

A route row (card_component.is-row.is-season).

The stations on its season line (.home-b-season_slot .route_station) grow 1 → 1.45 one after another in date order (300 ms each, 40 ms apart): the dates the route leaves, read left to right.

27
Season drops onto the bandHome B
Page load

The season band of the first screen (.home-b-band_season): its line draws from 26 June (scaleX 0 → 1 from the left, 800 ms.

28
Season lines draw in turnHome B
Scroll into view (the route list’s top at 80% of the window), once

Each row’s .home-b-season_line draws from 26 June (scaleX 0 → 1 from the left, 600 ms, even speed), rows 120 ms apart.

In the Interactions panel the stations step in over 0.8 s in the order of the page, not as each line reaches them.
29
Scale rungs light in turnHome B
Scroll into view (the scale’s top at 75% of the window), once

The scale’s line runs down from grade 1 to grade 5: each rung’s .home-b-scale_line grows from its top (scaleY 0 → 1, 200 ms, even speed, one after the other.

30
Steps walk to the start villageHome B
Scroll into view (the steps’ top at 80% of the window), once

Station 01 lights (opacity 0 → 1, scale 0.6 → 1, 300 ms), the stretch of line to the next station draws (.home-b-steps_seg: scaleX and scaleY 0 → 1 together, 250 ms, at every width).

31
Door sweeps its routesHome C
Hover or focus

A door of the first screen (.home-c-door).

Its frame’s .image-cover draws closer (scale 1 → 1.03, 800 ms), the line under the region’s name draws (.home-c-door_name .line_trace, scaleX 0 → 1, 300 ms).

32
Departures drop onto the seasonHome C
Scroll into view (the strip’s top at 80% of the window), once

Each region’s lit season (.home-c-season_line) draws from its first departure (scaleX 0 → 1 from the left.

In the Interactions panel the weeks drop over 0.8 s in the order of the page; on Home C the three tracks play one after another.
33
Reading line fillsJournal, the articles
Scroll scrub (no smoothing)

.article_read, from its top at 60% of the window to its foot at 60% of the window (the text is read whole before the page ends).

The Glacier line (.article_rail-fill) goes scaleY 0 → 1 from the first ring down, even speed.

34
Region lights its areaRegions
Hover or focus

A region in the key beside the heading (.regions_open-key .map_link), the N-th of three.

The station of that region on the map (.route_stop.is-regions-<id> .route_station) grows 1 → 1.8 and the two other areas (.regions_area) step back to 0.35, 300 ms.

35
Region row draws closerRegions
Hover or focusA row of the list (a.regions_row).

Its photograph scales 1 → 1.03 (800 ms), the line along the row’s top hairline draws (.line_trace.is-row, 400 ms).

36
Regions fill in on the mapRegions, the region pages
Scroll into view (top 85%), once

The three shaded areas (.route_figure.is-atlas .regions_area) come up 0 → 1 opacity one after another (600 ms, 200 ms apart), after the legs of the map have drawn.

37
Start rail drawsRegions, the region pages
Scroll into view (top 80%), once

The rail of a region’s page (.region_stop-list): the line through its stations goes scaleY 0 → 1 from the top (800 ms), and each station (.region_stop .route_station) lights (opacity 0 → 1.

In the Interactions panel the stations light in turn, not as the front of the line reaches them.
38
Scale line sweepsthe trip pages
Hover or focusA row of the other routes (a.trip-routes_row).

The route’s lit line on the shared scale, folded at its start (.route_reveal.is-folded and its .route_line, xPercent -100 and 100).

39
Night lights after its stripthe trip pages
Scroll into view (the row’s top at 85% of the window), once

A day row (.trip-day_row): its strip draws (“Route line draws”, 800 ms), and as the strip’s front reaches the day’s end the station of the night beside it (.trip-day_night .route_station.

40
Trip lines draw at one paceTrips
Scroll into view (the card’s ruler at 85% of the window), once

The card’s route line on the shared ruler (.card_body.is-measure .card_route): mask and line against each other, 800 ms, even.

41
Region tab redraws the linesTrips
Click

A region tab (.filter_link).

The lines of the cards in the pane it shows draw again from the start, the same 800 ms at the same pace, so the region’s routes are compared again side by side.
42
Gate closes across the line401
Scroll into view (top 85%), once

.utility_gate, the upright bar across the 401’s line: it closes (scaleY 0 → 1 from its middle, 300 ms) at the moment the front of the line reaches its x.

43
Current page and tab underlineEvery page
Page loadEvery tab link and Navbar link that Webflow marks as current (.filter_link, .navbar_link).
The current one gets the class .is-current, a 1px inset line along its foot in the colour of its text (instant).
44
Tab click marks currentTrips, Journal, Gallery, Home B
ClickA tab (.filter_link).
Every tab loses .is-current and the clicked one gets it, so the chosen tab keeps its line (instant).
45
Date tile is chosenHome A
ClickA date tile (.form_tile).
Every tile is set back to its own border and fill, and the clicked one is set to the text colour as its border and the surface colour as its fill, written straight on the tile (instant, the tile’s own 300 ms transition softens it).

Interactions animate only transform and opacity, for 0.3 to 0.8 seconds; the instant sets (the menu label, the Current line of a tab, the chosen date tile) say so in their rows. Every element is styled into its final place by its class, and the Interaction only changes how it arrives, so nothing waits hidden for an animation. A visitor who asks the system for reduced motion sees every element in that final state, except the progress line of the contents rail on Before you go, which stays at zero. Each hover Interaction plays its timeline on Hover in and reverses it on Hover out, as the Interactions panel names the two events.

Four values carry the motion

Customising key variables

Duration

Hovers last 0.3 seconds, a line that draws itself 0.6 to 0.8. A longer duration reads calmer; past 1 second a hover feels late. Set it in the action, for example Duration 0.3s.

Easing

State changes ease out, fast at the start and settling at the end: expo.out, close to the template's own curve cubic-bezier(0.16, 1, 0.3, 1). A line that draws across a drawing runs at an even speed, none, so its curve is never stretched. Keep one easing for one kind of motion.

Where a scroll animation starts

A scroll trigger names the point of the element and the point of the screen that meet: top 85% starts when the top of the element reaches 85 per cent down the screen. Lower the number to start later. Interactions marked once run to their end and stay there.

Scrub

A scrubbed Interaction is tied to the scroll bar and runs back when the visitor scrolls up: Map route draws with scroll, Days rail fills with scroll, Reading line fills. Switch scrub off and the action plays once at its own speed.

Nothing depends on them

Removing GSAP animations

From one element

Remove the class that the trigger names, or remove the element from the Interaction's targets. For a button with a station, deleting its .route_dot child removes the fill and the step and keeps the button.

One Interaction, everywhere

Delete it in the Interactions panel. The elements it moved stay where their classes place them.

All of them

Delete every Interaction in the panel except Nav menu opens, which opens the menu below 992px. The questions keep opening, since they are Webflow's own Dropdown. What changes: the underlines that draw on a link's hover stay hidden, the lines of the drawings stand whole from the first view, and nothing arrives by scroll.

Where the content lives

Pages and collections

Words that belong to one page are edited on that page in the Designer. Words that repeat, a route's numbers, a region's card, an article, are fields of a collection, edited in the CMS and shown wherever a Collection List binds them. The navbar and the footer are components: edit one, every page follows.

A collection page and its Collection Lists read the same fields, so a new walk is one new item in Trips, with its days in Days and its dates in Departures: fill the fields, publish, and its own page exists, with its days and its departures. The route cards on Home, Home C and Trips, the region rows on Regions and the departure tables on Home B are static elements: to show a new walk there, duplicate a card or a row and edit it.

Collections

6 in all
01
TripsCollection page: trip/<slug>
A walk: its page, with its days and its departures.366
02
RegionsCollection page: region/<slug>
A region: its page. Its card and filter tab on Regions and Trips are static.213
03
ArticlesCollection page: article/<slug>
A Journal article: its page and its card.155
04
GuidesNo page of its own
A guide: the portrait row on About and the guide's name on a trip.115
05
DaysNo page of its own
One day of a trip: its row in the day table.1829
06
DeparturesNo page of its own
One date of a trip: its row in every departures table.723

Pages

16 pages and 3 collection pages
01
Home A

index.html

02
Home B

home-b.html

03
Home C

home-c.html

04
Trips

trips.html

05
Regions

regions.html

06
About

about.html

07
Before you go

before-you-go.html

08
Journal

journal.html

09
Gallery

gallery.html

10
Enquire

enquire.html

11
404

404.html

12
401

401.html

13
Trip pages

trip/<slug>

14
Region pages

region/<slug>

15
Article pages

article/<slug>

16
Style Guide

template/style-guide.html

17
Licenses

template/licenses.html

18
Changelog

template/changelog.html

19
Instructions

template/instructions.html

The look is variables

Fonts, colours and drawings

Fonts

Two families

Source Serif 4 and Jost are uploaded as variable font files (Latin subsets), in the site's Fonts settings under Custom fonts. To change a face, change the variable Font Heading or Font Body in the Typography collection and every heading or text style follows.

Colours

Raw colours, then schemes

The raw colours are the variables of the first collection in the Variables panel: Spruce, Spruce Raised, Spruce Hairline, Ridge, Lichen, Lichen Deep, Snow, Fog, Fog Deep, Fog Hairline, Scree, Slate, Glacier, Glacier Deep. Pages use them only through the collection of colour schemes: its second mode is the light pause, and a section takes it by carrying the scheme's class, listed under Colour schemes in the Style Guide. The route line, its stations and the focus ring are the only places the glacier colours appear.

Type and space

Sizes step by mode

Every heading size is a variable (Size Display to Size H6) with its own value in each mode of the Typography collection: Tablet, Mobile Landscape and Mobile Portrait. Page padding and section spacing step the same way in the Layout collection. The root stays at 16px, so the site scales by breakpoint, never by the width of the window.

Drawings

SVG files, never code

Every drawing is an SVG file in the Assets panel, placed with an Image element. Replace the asset to change it on every page at once, or choose another file in the image's settings. The lines are drawn in the Glacier colours, #9FCFC6 on the dark ground and #2F6A61 on the light one: open the file in a text editor, replace the value and upload it again. A drawing has no letters in it; its numbers and names are live text laid over it in per cent of its box, so a station stays on its line at every width.